Review follow-up (Sara/QA): the empty graph (fresh /stammbaum before data loads) exercised the positions.size===0 viewBox fallback and the roots.length===0 early return, both previously untested. Assert no NaN in the viewBox and MIN dimensions, plus a single isolated node placed once at rank 0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>