The cross-root boundary check in createElkEdges() was too aggressive, skipping all edges where source and target have different ELK roots. Compound nodes are their own ELK roots, so valid continuation edges from the last child inside a compound to the next sibling were lost. Now allows edges when nodes share a common grandparent or when one node exits/enters a compound boundary. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>