refactor(dashboard): replace ELK with custom spine layout #235
Reference in New Issue
Block a user
Delete Branch "refactor/dashboard-custom-spine-layout"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Replace ELK layout engine with a hand-written spine layout for workflow graph visualization.
Why
ELK's layered algorithm spreads the graph too wide when handling feedback (back) edges, causing fitView to shrink nodes until text is unreadable. Our workflow graphs are predominantly linear pipelines with feedback loops — a custom layout handles this topology much better.
Changes
isFeedback/isSelfLoopfieldselkLabelX/Y→labelX/Y, addisFeedbackandisSelfLoopto ConditionEdgeDataelkjsand@dagrejs/dagredependenciesRef
Follows PR #232 (ELK) and #233 (review feedback). This replaces both.
Clean refactor. Replacing async ELK with synchronous spine layout is a good simplification for this topology. Code follows conventions: named exports, functional style,
T | nullover optionals, no console.log. Type changes in ConditionEdgeData are well-structured. Minor: indentation onlabelX/labelYin the edge data literal (use-layout.ts) is off by 2 spaces — cosmetic only.