Skip to content

feat(flow): SGCR is now the default engine for ungrouped graphs (Phase 4/6) - #291

Merged
ivanmkc merged 1 commit into
masterfrom
feat/sgcr-phase4
Jul 27, 2026
Merged

feat(flow): SGCR is now the default engine for ungrouped graphs (Phase 4/6)#291
ivanmkc merged 1 commit into
masterfrom
feat/sgcr-phase4

Conversation

@ivanmkc

@ivanmkc ivanmkc commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Flip the gate: spec.engine !== "dagre" && !grouped. Ungrouped flows now render through SgcrFlowInner (provable layout, viewport-aware spacing, orthogonal edges). engine:"dagre" opts out. Grouped flows still use FlowInner but with SGCR intra-zone layout (Phase 3). 728 tests, tsc clean.

Flip the engine gate: ungrouped flows now render through SgcrFlowInner
(provable orthogonal-polyline edges, content-sized nodes, viewport-aware
spacing) instead of FlowInner (dagre smoothstep). `engine:"dagre"` opts out.

Grouped graphs still use FlowInner (zone containers + parentId + smoothstep
are dagre-path infrastructure) but their INTRA-zone layout is already SGCR
from Phase 3.

This means the 3 ungrouped live boards (pr676-warning-signal, escape-room,
chest-anim) immediately get SGCR's tight, overlap-free layout with no spec
changes. New pushes without an explicit `engine` field also get SGCR.

728 viewer tests pass. tsc strict clean.
@ivanmkc
ivanmkc merged commit 96533e5 into master Jul 27, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants