Component hierarchy
Data flow
- User interacts with the canvas (drag node, create edge, edit data)
- Canvas store updates immediately for responsive UI
- Debounced API sync sends changes to the server
- Dirty tracking marks unsaved state and syncs on save
Custom node types
Each node type renders differently based on itsnodeType field. All nodes share the same data model (title, structured data, position, size) but display different structured data fields.
Edge management
Edges are created by dragging from a node handle. The handle position (top, bottom, left, right) determines where the connection visually attaches. Edge type labels describe the relationship (dependency, composition, data flow).Asset management
Nodes can hold attached assets organized into folders. TheAssetLightbox component provides preview for images and design files. Figma links open in an embedded viewer.