@grafloria/element 0.3.20 → 0.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/libs/element/src/index.d.ts +0 -92
- package/src/libs/element/src/index.js +0 -576
- package/src/libs/element/src/lib/dashboard-kit/dashboard.d.ts +0 -345
- package/src/libs/element/src/lib/dashboard-kit/dashboard.js +0 -594
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.d.ts +0 -277
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.js +0 -1636
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.d.ts +0 -141
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js +0 -176
- package/src/libs/element/src/lib/dashboard-kit/index.d.ts +0 -5
- package/src/libs/element/src/lib/dashboard-kit/index.js +0 -33
- package/src/libs/element/src/lib/dashboard-kit/styles.d.ts +0 -25
- package/src/libs/element/src/lib/dashboard-kit/styles.js +0 -209
- package/src/libs/element/src/lib/dashboard-kit/widgets.d.ts +0 -112
- package/src/libs/element/src/lib/dashboard-kit/widgets.js +0 -389
- package/src/libs/element/src/lib/diagram-kit/card.d.ts +0 -75
- package/src/libs/element/src/lib/diagram-kit/card.js +0 -209
- package/src/libs/element/src/lib/diagram-kit/editing.d.ts +0 -58
- package/src/libs/element/src/lib/diagram-kit/editing.js +0 -453
- package/src/libs/element/src/lib/diagram-kit/er.d.ts +0 -73
- package/src/libs/element/src/lib/diagram-kit/er.js +0 -163
- package/src/libs/element/src/lib/diagram-kit/handles.d.ts +0 -181
- package/src/libs/element/src/lib/diagram-kit/handles.js +0 -325
- package/src/libs/element/src/lib/diagram-kit/index.d.ts +0 -10
- package/src/libs/element/src/lib/diagram-kit/index.js +0 -55
- package/src/libs/element/src/lib/diagram-kit/join-guidance.d.ts +0 -116
- package/src/libs/element/src/lib/diagram-kit/join-guidance.js +0 -331
- package/src/libs/element/src/lib/diagram-kit/rows.d.ts +0 -53
- package/src/libs/element/src/lib/diagram-kit/rows.js +0 -147
- package/src/libs/element/src/lib/diagram-kit/styles.d.ts +0 -18
- package/src/libs/element/src/lib/diagram-kit/styles.js +0 -122
- package/src/libs/element/src/lib/diagram-kit/uml.d.ts +0 -59
- package/src/libs/element/src/lib/diagram-kit/uml.js +0 -138
- package/src/libs/element/src/lib/diagram-kit/update.d.ts +0 -133
- package/src/libs/element/src/lib/diagram-kit/update.js +0 -251
- package/src/libs/element/src/lib/grafloria-flow-element.d.ts +0 -48
- package/src/libs/element/src/lib/grafloria-flow-element.js +0 -271
- package/src/libs/element/src/lib/grafloria.d.ts +0 -72
- package/src/libs/element/src/lib/grafloria.js +0 -74
- package/src/libs/element/src/lib/load.d.ts +0 -72
- package/src/libs/element/src/lib/load.js +0 -255
- package/src/libs/element/src/lib/node-type-registry.d.ts +0 -39
- package/src/libs/element/src/lib/node-type-registry.js +0 -50
- package/src/libs/element/src/lib/stencil-kit/builders.d.ts +0 -45
- package/src/libs/element/src/lib/stencil-kit/builders.js +0 -24
- package/src/libs/element/src/lib/stencil-kit/card-builders.d.ts +0 -2
- package/src/libs/element/src/lib/stencil-kit/card-builders.js +0 -108
- package/src/libs/element/src/lib/stencil-kit/index.d.ts +0 -7
- package/src/libs/element/src/lib/stencil-kit/index.js +0 -19
- package/src/libs/element/src/lib/stencil-kit/palette.d.ts +0 -93
- package/src/libs/element/src/lib/stencil-kit/palette.js +0 -430
- package/src/libs/element/src/lib/stencil-kit/shape-data.d.ts +0 -28
- package/src/libs/element/src/lib/stencil-kit/shape-data.js +0 -540
- package/src/libs/element/src/lib/stencil-kit/styles.d.ts +0 -2
- package/src/libs/element/src/lib/stencil-kit/styles.js +0 -129
- package/src/libs/engine/src/adapters/component-adapter.interface.d.ts +0 -302
- package/src/libs/engine/src/adapters/component-adapter.interface.js +0 -84
- package/src/libs/engine/src/adapters/index.d.ts +0 -7
- package/src/libs/engine/src/adapters/index.js +0 -11
- package/src/libs/engine/src/clipboard/ClipboardManager.d.ts +0 -81
- package/src/libs/engine/src/clipboard/ClipboardManager.js +0 -108
- package/src/libs/engine/src/clipboard/index.d.ts +0 -1
- package/src/libs/engine/src/clipboard/index.js +0 -6
- package/src/libs/engine/src/collab/apply-op.d.ts +0 -42
- package/src/libs/engine/src/collab/apply-op.js +0 -939
- package/src/libs/engine/src/collab/capture.d.ts +0 -147
- package/src/libs/engine/src/collab/capture.js +0 -510
- package/src/libs/engine/src/collab/index.d.ts +0 -12
- package/src/libs/engine/src/collab/index.js +0 -84
- package/src/libs/engine/src/collab/integrity.d.ts +0 -178
- package/src/libs/engine/src/collab/integrity.js +0 -438
- package/src/libs/engine/src/collab/lww.d.ts +0 -47
- package/src/libs/engine/src/collab/lww.js +0 -188
- package/src/libs/engine/src/collab/op-log.d.ts +0 -50
- package/src/libs/engine/src/collab/op-log.js +0 -167
- package/src/libs/engine/src/collab/op.d.ts +0 -120
- package/src/libs/engine/src/collab/op.js +0 -118
- package/src/libs/engine/src/collab/replica.d.ts +0 -188
- package/src/libs/engine/src/collab/replica.js +0 -526
- package/src/libs/engine/src/collab/undo.d.ts +0 -106
- package/src/libs/engine/src/collab/undo.js +0 -388
- package/src/libs/engine/src/commands/Command.d.ts +0 -66
- package/src/libs/engine/src/commands/Command.js +0 -64
- package/src/libs/engine/src/commands/CommandManager.d.ts +0 -161
- package/src/libs/engine/src/commands/CommandManager.js +0 -417
- package/src/libs/engine/src/commands/basic/AddGroupCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/AddGroupCommand.js +0 -50
- package/src/libs/engine/src/commands/basic/AddLinkCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/AddLinkCommand.js +0 -50
- package/src/libs/engine/src/commands/basic/AddNodeCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/AddNodeCommand.js +0 -65
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.js +0 -73
- package/src/libs/engine/src/commands/basic/AlignCommands.d.ts +0 -42
- package/src/libs/engine/src/commands/basic/AlignCommands.js +0 -138
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js +0 -70
- package/src/libs/engine/src/commands/basic/CopyCommand.d.ts +0 -29
- package/src/libs/engine/src/commands/basic/CopyCommand.js +0 -131
- package/src/libs/engine/src/commands/basic/CutCommand.d.ts +0 -49
- package/src/libs/engine/src/commands/basic/CutCommand.js +0 -68
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.d.ts +0 -58
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js +0 -309
- package/src/libs/engine/src/commands/basic/DuplicateCommand.d.ts +0 -31
- package/src/libs/engine/src/commands/basic/DuplicateCommand.js +0 -232
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js +0 -69
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.d.ts +0 -46
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.js +0 -77
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.d.ts +0 -30
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.js +0 -87
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.d.ts +0 -39
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js +0 -120
- package/src/libs/engine/src/commands/basic/PasteCommand.d.ts +0 -33
- package/src/libs/engine/src/commands/basic/PasteCommand.js +0 -228
- package/src/libs/engine/src/commands/basic/PortCommands.d.ts +0 -22
- package/src/libs/engine/src/commands/basic/PortCommands.js +0 -85
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.d.ts +0 -15
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js +0 -59
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js +0 -64
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js +0 -56
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js +0 -57
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.d.ts +0 -23
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js +0 -108
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.d.ts +0 -16
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js +0 -81
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.d.ts +0 -37
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.js +0 -88
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js +0 -74
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.js +0 -74
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.d.ts +0 -16
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.js +0 -80
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.d.ts +0 -28
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js +0 -83
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.d.ts +0 -24
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js +0 -81
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js +0 -75
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js +0 -77
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.d.ts +0 -32
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js +0 -87
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js +0 -93
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.d.ts +0 -26
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js +0 -81
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js +0 -69
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.d.ts +0 -15
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js +0 -88
- package/src/libs/engine/src/commands/basic/SetParentCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/SetParentCommand.js +0 -109
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.d.ts +0 -34
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js +0 -86
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.d.ts +0 -31
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js +0 -88
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.d.ts +0 -15
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js +0 -72
- package/src/libs/engine/src/commands/basic/index.d.ts +0 -41
- package/src/libs/engine/src/commands/basic/index.js +0 -52
- package/src/libs/engine/src/commands/basic/remapNodePortIds.d.ts +0 -23
- package/src/libs/engine/src/commands/basic/remapNodePortIds.js +0 -46
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.d.ts +0 -31
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js +0 -49
- package/src/libs/engine/src/commands/composite/BatchCommand.d.ts +0 -19
- package/src/libs/engine/src/commands/composite/BatchCommand.js +0 -61
- package/src/libs/engine/src/commands/composite/MacroCommand.d.ts +0 -35
- package/src/libs/engine/src/commands/composite/MacroCommand.js +0 -87
- package/src/libs/engine/src/commands/composite/index.d.ts +0 -2
- package/src/libs/engine/src/commands/composite/index.js +0 -7
- package/src/libs/engine/src/commands/index.d.ts +0 -4
- package/src/libs/engine/src/commands/index.js +0 -9
- package/src/libs/engine/src/comments/comment-store.d.ts +0 -238
- package/src/libs/engine/src/comments/comment-store.js +0 -538
- package/src/libs/engine/src/comments/index.d.ts +0 -4
- package/src/libs/engine/src/comments/index.js +0 -31
- package/src/libs/engine/src/comments/mentions.d.ts +0 -52
- package/src/libs/engine/src/comments/mentions.js +0 -94
- package/src/libs/engine/src/comments/read-state.d.ts +0 -37
- package/src/libs/engine/src/comments/read-state.js +0 -105
- package/src/libs/engine/src/comments/types.d.ts +0 -154
- package/src/libs/engine/src/comments/types.js +0 -107
- package/src/libs/engine/src/config/InteractionConfig.d.ts +0 -330
- package/src/libs/engine/src/config/InteractionConfig.js +0 -154
- package/src/libs/engine/src/config/index.d.ts +0 -1
- package/src/libs/engine/src/config/index.js +0 -6
- package/src/libs/engine/src/dsl/DSL.d.ts +0 -197
- package/src/libs/engine/src/dsl/DSL.js +0 -564
- package/src/libs/engine/src/dsl/advanced/StyleParser.d.ts +0 -75
- package/src/libs/engine/src/dsl/advanced/StyleParser.js +0 -166
- package/src/libs/engine/src/dsl/advanced/TemplateParser.d.ts +0 -88
- package/src/libs/engine/src/dsl/advanced/TemplateParser.js +0 -226
- package/src/libs/engine/src/dsl/advanced/index.d.ts +0 -9
- package/src/libs/engine/src/dsl/advanced/index.js +0 -13
- package/src/libs/engine/src/dsl/detector/LayoutDetector.d.ts +0 -80
- package/src/libs/engine/src/dsl/detector/LayoutDetector.js +0 -333
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.d.ts +0 -38
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.js +0 -90
- package/src/libs/engine/src/dsl/extended/BPMNParser.d.ts +0 -83
- package/src/libs/engine/src/dsl/extended/BPMNParser.js +0 -198
- package/src/libs/engine/src/dsl/extended/ERDGenerator.d.ts +0 -38
- package/src/libs/engine/src/dsl/extended/ERDGenerator.js +0 -126
- package/src/libs/engine/src/dsl/extended/ERDParser.d.ts +0 -81
- package/src/libs/engine/src/dsl/extended/ERDParser.js +0 -161
- package/src/libs/engine/src/dsl/extended/ERDTransformer.d.ts +0 -43
- package/src/libs/engine/src/dsl/extended/ERDTransformer.js +0 -105
- package/src/libs/engine/src/dsl/extended/UMLGenerator.d.ts +0 -42
- package/src/libs/engine/src/dsl/extended/UMLGenerator.js +0 -157
- package/src/libs/engine/src/dsl/extended/UMLParser.d.ts +0 -99
- package/src/libs/engine/src/dsl/extended/UMLParser.js +0 -200
- package/src/libs/engine/src/dsl/extended/index.d.ts +0 -13
- package/src/libs/engine/src/dsl/extended/index.js +0 -27
- package/src/libs/engine/src/dsl/generator/DSLFormatter.d.ts +0 -87
- package/src/libs/engine/src/dsl/generator/DSLFormatter.js +0 -261
- package/src/libs/engine/src/dsl/generator/DSLGenerator.d.ts +0 -96
- package/src/libs/engine/src/dsl/generator/DSLGenerator.js +0 -328
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.d.ts +0 -111
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js +0 -361
- package/src/libs/engine/src/dsl/index.d.ts +0 -35
- package/src/libs/engine/src/dsl/index.js +0 -64
- package/src/libs/engine/src/dsl/lexer/Lexer.d.ts +0 -117
- package/src/libs/engine/src/dsl/lexer/Lexer.js +0 -521
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.d.ts +0 -136
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.js +0 -429
- package/src/libs/engine/src/dsl/mermaid/MermaidER.d.ts +0 -118
- package/src/libs/engine/src/dsl/mermaid/MermaidER.js +0 -338
- package/src/libs/engine/src/dsl/mermaid/MermaidState.d.ts +0 -89
- package/src/libs/engine/src/dsl/mermaid/MermaidState.js +0 -613
- package/src/libs/engine/src/dsl/mermaid/index.d.ts +0 -10
- package/src/libs/engine/src/dsl/mermaid/index.js +0 -33
- package/src/libs/engine/src/dsl/mermaid/layout.d.ts +0 -70
- package/src/libs/engine/src/dsl/mermaid/layout.js +0 -162
- package/src/libs/engine/src/dsl/mermaid/lines.d.ts +0 -25
- package/src/libs/engine/src/dsl/mermaid/lines.js +0 -74
- package/src/libs/engine/src/dsl/parser/Parser.d.ts +0 -131
- package/src/libs/engine/src/dsl/parser/Parser.js +0 -725
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.d.ts +0 -154
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.js +0 -389
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.d.ts +0 -128
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js +0 -244
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.d.ts +0 -140
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.js +0 -271
- package/src/libs/engine/src/dsl/sync/SyncStateManager.d.ts +0 -145
- package/src/libs/engine/src/dsl/sync/SyncStateManager.js +0 -253
- package/src/libs/engine/src/dsl/sync/index.d.ts +0 -13
- package/src/libs/engine/src/dsl/sync/index.js +0 -21
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.d.ts +0 -150
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.js +0 -605
- package/src/libs/engine/src/dsl/types/ASTNode.d.ts +0 -159
- package/src/libs/engine/src/dsl/types/ASTNode.js +0 -31
- package/src/libs/engine/src/dsl/types/Token.d.ts +0 -79
- package/src/libs/engine/src/dsl/types/Token.js +0 -84
- package/src/libs/engine/src/engine/DiagramEngine.d.ts +0 -917
- package/src/libs/engine/src/engine/DiagramEngine.js +0 -2190
- package/src/libs/engine/src/engine/DiagramMode.d.ts +0 -51
- package/src/libs/engine/src/engine/DiagramMode.js +0 -53
- package/src/libs/engine/src/engine/DiagramModeTypes.d.ts +0 -73
- package/src/libs/engine/src/engine/DiagramModeTypes.js +0 -4
- package/src/libs/engine/src/engine/ModeManager.d.ts +0 -155
- package/src/libs/engine/src/engine/ModeManager.js +0 -387
- package/src/libs/engine/src/engine/index.d.ts +0 -2
- package/src/libs/engine/src/engine/index.js +0 -7
- package/src/libs/engine/src/events/EventBus.d.ts +0 -106
- package/src/libs/engine/src/events/EventBus.js +0 -226
- package/src/libs/engine/src/events/index.d.ts +0 -1
- package/src/libs/engine/src/events/index.js +0 -6
- package/src/libs/engine/src/index.d.ts +0 -43
- package/src/libs/engine/src/index.js +0 -142
- package/src/libs/engine/src/interaction/GroupCollapseService.d.ts +0 -53
- package/src/libs/engine/src/interaction/GroupCollapseService.js +0 -274
- package/src/libs/engine/src/interaction/GroupMembershipService.d.ts +0 -107
- package/src/libs/engine/src/interaction/GroupMembershipService.js +0 -245
- package/src/libs/engine/src/interaction/SemanticMembershipService.d.ts +0 -28
- package/src/libs/engine/src/interaction/SemanticMembershipService.js +0 -168
- package/src/libs/engine/src/interaction/SwimlaneService.d.ts +0 -62
- package/src/libs/engine/src/interaction/SwimlaneService.js +0 -180
- package/src/libs/engine/src/interaction/index.d.ts +0 -4
- package/src/libs/engine/src/interaction/index.js +0 -9
- package/src/libs/engine/src/interop/drawio/importDrawio.d.ts +0 -52
- package/src/libs/engine/src/interop/drawio/importDrawio.js +0 -940
- package/src/libs/engine/src/interop/drawio/index.d.ts +0 -1
- package/src/libs/engine/src/interop/drawio/index.js +0 -12
- package/src/libs/engine/src/interop/drawio/xml.d.ts +0 -26
- package/src/libs/engine/src/interop/drawio/xml.js +0 -213
- package/src/libs/engine/src/layout/CompoundLayoutService.d.ts +0 -121
- package/src/libs/engine/src/layout/CompoundLayoutService.js +0 -616
- package/src/libs/engine/src/layout/ILayoutAlgorithm.d.ts +0 -120
- package/src/libs/engine/src/layout/ILayoutAlgorithm.js +0 -88
- package/src/libs/engine/src/layout/LayoutManager.d.ts +0 -155
- package/src/libs/engine/src/layout/LayoutManager.js +0 -640
- package/src/libs/engine/src/layout/SmartSpacingCalculator.d.ts +0 -62
- package/src/libs/engine/src/layout/SmartSpacingCalculator.js +0 -134
- package/src/libs/engine/src/layout/ViewportTransform.d.ts +0 -55
- package/src/libs/engine/src/layout/ViewportTransform.js +0 -118
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.d.ts +0 -34
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js +0 -317
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.d.ts +0 -56
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js +0 -223
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.d.ts +0 -60
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js +0 -307
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.d.ts +0 -62
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js +0 -324
- package/src/libs/engine/src/layout/community-layout-adapter.d.ts +0 -107
- package/src/libs/engine/src/layout/community-layout-adapter.js +0 -486
- package/src/libs/engine/src/layout/component-packing.d.ts +0 -98
- package/src/libs/engine/src/layout/component-packing.js +0 -307
- package/src/libs/engine/src/layout/dagre-layout-adapter.d.ts +0 -122
- package/src/libs/engine/src/layout/dagre-layout-adapter.js +0 -697
- package/src/libs/engine/src/layout/edge-bundling.interface.d.ts +0 -159
- package/src/libs/engine/src/layout/edge-bundling.interface.js +0 -379
- package/src/libs/engine/src/layout/elk-layout-adapter.d.ts +0 -121
- package/src/libs/engine/src/layout/elk-layout-adapter.js +0 -586
- package/src/libs/engine/src/layout/elk-loader.d.ts +0 -1
- package/src/libs/engine/src/layout/elk-loader.js +0 -24
- package/src/libs/engine/src/layout/force-layout-adapter.d.ts +0 -167
- package/src/libs/engine/src/layout/force-layout-adapter.js +0 -790
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.d.ts +0 -323
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js +0 -685
- package/src/libs/engine/src/layout/incremental/mental-map.d.ts +0 -98
- package/src/libs/engine/src/layout/incremental/mental-map.js +0 -221
- package/src/libs/engine/src/layout/incremental-layout.interface.d.ts +0 -145
- package/src/libs/engine/src/layout/incremental-layout.interface.js +0 -300
- package/src/libs/engine/src/layout/index.d.ts +0 -83
- package/src/libs/engine/src/layout/index.js +0 -116
- package/src/libs/engine/src/layout/layout-adapter.interface.d.ts +0 -185
- package/src/libs/engine/src/layout/layout-adapter.interface.js +0 -10
- package/src/libs/engine/src/layout/layout-auto-select.d.ts +0 -160
- package/src/libs/engine/src/layout/layout-auto-select.js +0 -621
- package/src/libs/engine/src/layout/layout-constraints.interface.d.ts +0 -117
- package/src/libs/engine/src/layout/layout-constraints.interface.js +0 -138
- package/src/libs/engine/src/layout/layout-graph.d.ts +0 -70
- package/src/libs/engine/src/layout/layout-graph.js +0 -119
- package/src/libs/engine/src/layout/layout-history.d.ts +0 -147
- package/src/libs/engine/src/layout/layout-history.js +0 -258
- package/src/libs/engine/src/layout/layout-host.d.ts +0 -172
- package/src/libs/engine/src/layout/layout-host.js +0 -523
- package/src/libs/engine/src/layout/layout-presets.d.ts +0 -91
- package/src/libs/engine/src/layout/layout-presets.js +0 -333
- package/src/libs/engine/src/layout/layout-quality-extended.d.ts +0 -66
- package/src/libs/engine/src/layout/layout-quality-extended.js +0 -246
- package/src/libs/engine/src/layout/layout-quality-metrics.d.ts +0 -127
- package/src/libs/engine/src/layout/layout-quality-metrics.js +0 -466
- package/src/libs/engine/src/layout/layout-registry.d.ts +0 -309
- package/src/libs/engine/src/layout/layout-registry.js +0 -414
- package/src/libs/engine/src/layout/layout.service.d.ts +0 -100
- package/src/libs/engine/src/layout/layout.service.js +0 -216
- package/src/libs/engine/src/layout/overlap-removal.d.ts +0 -20
- package/src/libs/engine/src/layout/overlap-removal.js +0 -117
- package/src/libs/engine/src/layout/port-aware-layout.interface.d.ts +0 -232
- package/src/libs/engine/src/layout/port-aware-layout.interface.js +0 -413
- package/src/libs/engine/src/layout/port-label-bridge.d.ts +0 -77
- package/src/libs/engine/src/layout/port-label-bridge.js +0 -250
- package/src/libs/engine/src/layout/portfolio-layouts.d.ts +0 -53
- package/src/libs/engine/src/layout/portfolio-layouts.js +0 -388
- package/src/libs/engine/src/layout/rng.d.ts +0 -34
- package/src/libs/engine/src/layout/rng.js +0 -71
- package/src/libs/engine/src/layout/spectral-layout-adapter.d.ts +0 -72
- package/src/libs/engine/src/layout/spectral-layout-adapter.js +0 -379
- package/src/libs/engine/src/layout/steppable-layout.d.ts +0 -40
- package/src/libs/engine/src/layout/steppable-layout.js +0 -34
- package/src/libs/engine/src/layout/subgraph-layout.interface.d.ts +0 -269
- package/src/libs/engine/src/layout/subgraph-layout.interface.js +0 -452
- package/src/libs/engine/src/layout/sugiyama/layered-layout.d.ts +0 -9
- package/src/libs/engine/src/layout/sugiyama/layered-layout.js +0 -83
- package/src/libs/engine/src/layout/sugiyama/sugiyama.d.ts +0 -91
- package/src/libs/engine/src/layout/sugiyama/sugiyama.js +0 -797
- package/src/libs/engine/src/layout/tree-layout.d.ts +0 -43
- package/src/libs/engine/src/layout/tree-layout.js +0 -426
- package/src/libs/engine/src/layout/types.d.ts +0 -263
- package/src/libs/engine/src/layout/types.js +0 -6
- package/src/libs/engine/src/lib/performance/mobile-performance.service.d.ts +0 -43
- package/src/libs/engine/src/lib/performance/mobile-performance.service.js +0 -95
- package/src/libs/engine/src/models/DiagramEntity.d.ts +0 -174
- package/src/libs/engine/src/models/DiagramEntity.js +0 -366
- package/src/libs/engine/src/models/DiagramModel.d.ts +0 -960
- package/src/libs/engine/src/models/DiagramModel.js +0 -2416
- package/src/libs/engine/src/models/GroupModel.d.ts +0 -573
- package/src/libs/engine/src/models/GroupModel.js +0 -1373
- package/src/libs/engine/src/models/LinkModel.d.ts +0 -395
- package/src/libs/engine/src/models/LinkModel.js +0 -1045
- package/src/libs/engine/src/models/NodeModel.d.ts +0 -666
- package/src/libs/engine/src/models/NodeModel.js +0 -1512
- package/src/libs/engine/src/models/PortModel.d.ts +0 -292
- package/src/libs/engine/src/models/PortModel.js +0 -637
- package/src/libs/engine/src/models/StrokeModel.d.ts +0 -160
- package/src/libs/engine/src/models/StrokeModel.js +0 -387
- package/src/libs/engine/src/models/index.d.ts +0 -7
- package/src/libs/engine/src/models/index.js +0 -12
- package/src/libs/engine/src/models/readonly-lock.d.ts +0 -108
- package/src/libs/engine/src/models/readonly-lock.js +0 -125
- package/src/libs/engine/src/performance/LRUCache.d.ts +0 -78
- package/src/libs/engine/src/performance/LRUCache.js +0 -179
- package/src/libs/engine/src/performance/PerformanceMonitor.d.ts +0 -47
- package/src/libs/engine/src/performance/PerformanceMonitor.js +0 -112
- package/src/libs/engine/src/performance/SpatialIndex.d.ts +0 -157
- package/src/libs/engine/src/performance/SpatialIndex.js +0 -306
- package/src/libs/engine/src/performance/index.d.ts +0 -2
- package/src/libs/engine/src/performance/index.js +0 -7
- package/src/libs/engine/src/plugins/PluginManager.d.ts +0 -95
- package/src/libs/engine/src/plugins/PluginManager.js +0 -388
- package/src/libs/engine/src/plugins/index.d.ts +0 -1
- package/src/libs/engine/src/plugins/index.js +0 -6
- package/src/libs/engine/src/ports/connection-rules.d.ts +0 -32
- package/src/libs/engine/src/ports/connection-rules.js +0 -131
- package/src/libs/engine/src/ports/dynamic-ports.d.ts +0 -27
- package/src/libs/engine/src/ports/dynamic-ports.js +0 -135
- package/src/libs/engine/src/ports/index.d.ts +0 -5
- package/src/libs/engine/src/ports/index.js +0 -16
- package/src/libs/engine/src/ports/port-groups.d.ts +0 -43
- package/src/libs/engine/src/ports/port-groups.js +0 -185
- package/src/libs/engine/src/ports/port-type-registry.d.ts +0 -34
- package/src/libs/engine/src/ports/port-type-registry.js +0 -87
- package/src/libs/engine/src/ports/port-types.d.ts +0 -266
- package/src/libs/engine/src/ports/port-types.js +0 -30
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.d.ts +0 -136
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js +0 -292
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.d.ts +0 -160
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.js +0 -362
- package/src/libs/engine/src/rendering/index.d.ts +0 -2
- package/src/libs/engine/src/rendering/index.js +0 -7
- package/src/libs/engine/src/routing/LiveReroutingEngine.d.ts +0 -75
- package/src/libs/engine/src/routing/LiveReroutingEngine.js +0 -173
- package/src/libs/engine/src/routing/ObstacleIndex.d.ts +0 -42
- package/src/libs/engine/src/routing/ObstacleIndex.js +0 -215
- package/src/libs/engine/src/routing/ObstacleMap.d.ts +0 -68
- package/src/libs/engine/src/routing/ObstacleMap.js +0 -312
- package/src/libs/engine/src/routing/ObstacleMapBuilder.d.ts +0 -28
- package/src/libs/engine/src/routing/ObstacleMapBuilder.js +0 -76
- package/src/libs/engine/src/routing/PathSimplifier.d.ts +0 -119
- package/src/libs/engine/src/routing/PathSimplifier.js +0 -224
- package/src/libs/engine/src/routing/RoutingEngine.d.ts +0 -118
- package/src/libs/engine/src/routing/RoutingEngine.js +0 -546
- package/src/libs/engine/src/routing/algorithms/AStarRouter.d.ts +0 -90
- package/src/libs/engine/src/routing/algorithms/AStarRouter.js +0 -331
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.d.ts +0 -74
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js +0 -297
- package/src/libs/engine/src/routing/algorithms/ElkRouter.d.ts +0 -34
- package/src/libs/engine/src/routing/algorithms/ElkRouter.js +0 -210
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.d.ts +0 -18
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js +0 -224
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.d.ts +0 -173
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js +0 -1092
- package/src/libs/engine/src/routing/algorithms/StraightRouter.d.ts +0 -8
- package/src/libs/engine/src/routing/algorithms/StraightRouter.js +0 -53
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.d.ts +0 -59
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js +0 -258
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.d.ts +0 -64
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.js +0 -334
- package/src/libs/engine/src/routing/global/solver-host.d.ts +0 -65
- package/src/libs/engine/src/routing/global/solver-host.js +0 -87
- package/src/libs/engine/src/routing/index.d.ts +0 -15
- package/src/libs/engine/src/routing/index.js +0 -20
- package/src/libs/engine/src/routing/types.d.ts +0 -161
- package/src/libs/engine/src/routing/types.js +0 -4
- package/src/libs/engine/src/selection/SelectionManager.d.ts +0 -161
- package/src/libs/engine/src/selection/SelectionManager.js +0 -483
- package/src/libs/engine/src/selection/index.d.ts +0 -1
- package/src/libs/engine/src/selection/index.js +0 -6
- package/src/libs/engine/src/serialization/DiagramMigrations.d.ts +0 -41
- package/src/libs/engine/src/serialization/DiagramMigrations.js +0 -124
- package/src/libs/engine/src/serialization/DiagramValidator.d.ts +0 -20
- package/src/libs/engine/src/serialization/DiagramValidator.js +0 -136
- package/src/libs/engine/src/serialization/DocumentEnvelope.d.ts +0 -53
- package/src/libs/engine/src/serialization/DocumentEnvelope.js +0 -111
- package/src/libs/engine/src/serialization/Incremental.d.ts +0 -77
- package/src/libs/engine/src/serialization/Incremental.js +0 -227
- package/src/libs/engine/src/serialization/Serializer.d.ts +0 -29
- package/src/libs/engine/src/serialization/Serializer.js +0 -45
- package/src/libs/engine/src/serialization/Subgraph.d.ts +0 -51
- package/src/libs/engine/src/serialization/Subgraph.js +0 -172
- package/src/libs/engine/src/serialization/TextFormat.d.ts +0 -71
- package/src/libs/engine/src/serialization/TextFormat.js +0 -261
- package/src/libs/engine/src/state/ConnectionStateManager.d.ts +0 -178
- package/src/libs/engine/src/state/ConnectionStateManager.js +0 -319
- package/src/libs/engine/src/state/DiagramStore.d.ts +0 -134
- package/src/libs/engine/src/state/DiagramStore.js +0 -372
- package/src/libs/engine/src/state/index.d.ts +0 -2
- package/src/libs/engine/src/state/index.js +0 -7
- package/src/libs/engine/src/sync/awareness.d.ts +0 -91
- package/src/libs/engine/src/sync/awareness.js +0 -221
- package/src/libs/engine/src/sync/batcher.d.ts +0 -84
- package/src/libs/engine/src/sync/batcher.js +0 -0
- package/src/libs/engine/src/sync/causal-buffer.d.ts +0 -81
- package/src/libs/engine/src/sync/causal-buffer.js +0 -199
- package/src/libs/engine/src/sync/index.d.ts +0 -20
- package/src/libs/engine/src/sync/index.js +0 -41
- package/src/libs/engine/src/sync/protocol.d.ts +0 -74
- package/src/libs/engine/src/sync/protocol.js +0 -39
- package/src/libs/engine/src/sync/sync-adapter.d.ts +0 -243
- package/src/libs/engine/src/sync/sync-adapter.js +0 -524
- package/src/libs/engine/src/sync/transport.d.ts +0 -30
- package/src/libs/engine/src/sync/transport.js +0 -28
- package/src/libs/engine/src/sync/transports/broadcast-channel.d.ts +0 -39
- package/src/libs/engine/src/sync/transports/broadcast-channel.js +0 -117
- package/src/libs/engine/src/sync/transports/memory.d.ts +0 -38
- package/src/libs/engine/src/sync/transports/memory.js +0 -111
- package/src/libs/engine/src/sync/transports/unreliable.d.ts +0 -59
- package/src/libs/engine/src/sync/transports/unreliable.js +0 -153
- package/src/libs/engine/src/sync/transports/websocket.d.ts +0 -60
- package/src/libs/engine/src/sync/transports/websocket.js +0 -210
- package/src/libs/engine/src/sync/version-vector.d.ts +0 -47
- package/src/libs/engine/src/sync/version-vector.js +0 -218
- package/src/libs/engine/src/template-library/common-templates.d.ts +0 -46
- package/src/libs/engine/src/template-library/common-templates.js +0 -395
- package/src/libs/engine/src/template-library/data-viz-templates.d.ts +0 -52
- package/src/libs/engine/src/template-library/data-viz-templates.js +0 -471
- package/src/libs/engine/src/template-library/erd-templates.d.ts +0 -71
- package/src/libs/engine/src/template-library/erd-templates.js +0 -773
- package/src/libs/engine/src/template-library/index.d.ts +0 -141
- package/src/libs/engine/src/template-library/index.js +0 -271
- package/src/libs/engine/src/template-library/integration.d.ts +0 -80
- package/src/libs/engine/src/template-library/integration.js +0 -141
- package/src/libs/engine/src/template-library/workflow-templates.d.ts +0 -52
- package/src/libs/engine/src/template-library/workflow-templates.js +0 -438
- package/src/libs/engine/src/templates/NodeFactory.d.ts +0 -118
- package/src/libs/engine/src/templates/NodeFactory.js +0 -436
- package/src/libs/engine/src/templates/NodeTemplate.d.ts +0 -342
- package/src/libs/engine/src/templates/NodeTemplate.js +0 -13
- package/src/libs/engine/src/templates/TemplateLoader.d.ts +0 -46
- package/src/libs/engine/src/templates/TemplateLoader.js +0 -114
- package/src/libs/engine/src/templates/TemplateRegistry.d.ts +0 -70
- package/src/libs/engine/src/templates/TemplateRegistry.js +0 -128
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js +0 -124
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js +0 -124
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js +0 -122
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js +0 -125
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js +0 -152
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/index.d.ts +0 -15
- package/src/libs/engine/src/templates/generated/bpmn/index.js +0 -34
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js +0 -152
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js +0 -151
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js +0 -149
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js +0 -121
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js +0 -149
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/index.d.ts +0 -19
- package/src/libs/engine/src/templates/generated/erd/index.js +0 -42
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js +0 -122
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js +0 -122
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js +0 -122
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/index.d.ts +0 -16
- package/src/libs/engine/src/templates/generated/flowchart/index.js +0 -36
- package/src/libs/engine/src/templates/generated/index.d.ts +0 -9
- package/src/libs/engine/src/templates/generated/index.js +0 -13
- package/src/libs/engine/src/templates/generated/register.d.ts +0 -23
- package/src/libs/engine/src/templates/generated/register.js +0 -31
- package/src/libs/engine/src/templates/generated/uml/index.d.ts +0 -30
- package/src/libs/engine/src/templates/generated/uml/index.js +0 -64
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js +0 -125
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.js +0 -125
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js +0 -122
- package/src/libs/engine/src/templates/index.d.ts +0 -12
- package/src/libs/engine/src/templates/index.js +0 -27
- package/src/libs/engine/src/templates/stencils.d.ts +0 -45
- package/src/libs/engine/src/templates/stencils.js +0 -85
- package/src/libs/engine/src/types/domain/bpmn.d.ts +0 -25
- package/src/libs/engine/src/types/domain/bpmn.js +0 -313
- package/src/libs/engine/src/types/domain/erd.d.ts +0 -29
- package/src/libs/engine/src/types/domain/erd.js +0 -394
- package/src/libs/engine/src/types/domain/flowchart.d.ts +0 -26
- package/src/libs/engine/src/types/domain/flowchart.js +0 -434
- package/src/libs/engine/src/types/domain/index.d.ts +0 -4
- package/src/libs/engine/src/types/domain/index.js +0 -9
- package/src/libs/engine/src/types/domain/uml.d.ts +0 -40
- package/src/libs/engine/src/types/domain/uml.js +0 -758
- package/src/libs/engine/src/types/event.types.d.ts +0 -142
- package/src/libs/engine/src/types/event.types.js +0 -96
- package/src/libs/engine/src/types/geometry.types.d.ts +0 -84
- package/src/libs/engine/src/types/geometry.types.js +0 -16
- package/src/libs/engine/src/types/index.d.ts +0 -7
- package/src/libs/engine/src/types/index.js +0 -14
- package/src/libs/engine/src/types/layout.types.d.ts +0 -148
- package/src/libs/engine/src/types/layout.types.js +0 -28
- package/src/libs/engine/src/types/model.types.d.ts +0 -378
- package/src/libs/engine/src/types/model.types.js +0 -4
- package/src/libs/engine/src/types/performance.types.d.ts +0 -109
- package/src/libs/engine/src/types/performance.types.js +0 -122
- package/src/libs/engine/src/types/plugin.types.d.ts +0 -30
- package/src/libs/engine/src/types/plugin.types.js +0 -4
- package/src/libs/engine/src/utils/deep-clone.d.ts +0 -9
- package/src/libs/engine/src/utils/deep-clone.js +0 -123
- package/src/libs/engine/src/utils/geometry.d.ts +0 -45
- package/src/libs/engine/src/utils/geometry.js +0 -241
- package/src/libs/engine/src/utils/id.d.ts +0 -22
- package/src/libs/engine/src/utils/id.js +0 -44
- package/src/libs/engine/src/utils/index.d.ts +0 -3
- package/src/libs/engine/src/utils/index.js +0 -8
- package/src/libs/engine/src/utils/transform.d.ts +0 -84
- package/src/libs/engine/src/utils/transform.js +0 -200
- package/src/libs/engine/src/validation/ConnectionGroupValidator.d.ts +0 -22
- package/src/libs/engine/src/validation/ConnectionGroupValidator.js +0 -56
- package/src/libs/engine/src/validation/TypeRegistry.d.ts +0 -179
- package/src/libs/engine/src/validation/TypeRegistry.js +0 -358
- package/src/libs/engine/src/validation/ValidationEngine.d.ts +0 -79
- package/src/libs/engine/src/validation/ValidationEngine.js +0 -1150
- package/src/libs/engine/src/validation/index.d.ts +0 -3
- package/src/libs/engine/src/validation/index.js +0 -8
- package/src/libs/renderer/src/a11y/diagram-outline.d.ts +0 -93
- package/src/libs/renderer/src/a11y/diagram-outline.js +0 -0
- package/src/libs/renderer/src/a11y/focus-containment.d.ts +0 -90
- package/src/libs/renderer/src/a11y/focus-containment.js +0 -173
- package/src/libs/renderer/src/a11y/graph-topology.d.ts +0 -70
- package/src/libs/renderer/src/a11y/graph-topology.js +0 -0
- package/src/libs/renderer/src/a11y/index.d.ts +0 -26
- package/src/libs/renderer/src/a11y/index.js +0 -30
- package/src/libs/renderer/src/a11y/live-region.d.ts +0 -83
- package/src/libs/renderer/src/a11y/live-region.js +0 -170
- package/src/libs/renderer/src/a11y/outline-view.d.ts +0 -62
- package/src/libs/renderer/src/a11y/outline-view.js +0 -158
- package/src/libs/renderer/src/a11y/reduced-motion.d.ts +0 -48
- package/src/libs/renderer/src/a11y/reduced-motion.js +0 -223
- package/src/libs/renderer/src/a11y/semantics.d.ts +0 -76
- package/src/libs/renderer/src/a11y/semantics.js +0 -229
- package/src/libs/renderer/src/canvas/canvas-context.d.ts +0 -167
- package/src/libs/renderer/src/canvas/canvas-context.js +0 -267
- package/src/libs/renderer/src/canvas/canvas-renderer.d.ts +0 -194
- package/src/libs/renderer/src/canvas/canvas-renderer.js +0 -600
- package/src/libs/renderer/src/canvas/dirty-region.d.ts +0 -56
- package/src/libs/renderer/src/canvas/dirty-region.js +0 -171
- package/src/libs/renderer/src/canvas/index.d.ts +0 -16
- package/src/libs/renderer/src/canvas/index.js +0 -79
- package/src/libs/renderer/src/canvas/path-geometry.d.ts +0 -112
- package/src/libs/renderer/src/canvas/path-geometry.js +0 -673
- package/src/libs/renderer/src/canvas/render-backend.d.ts +0 -133
- package/src/libs/renderer/src/canvas/render-backend.js +0 -339
- package/src/libs/renderer/src/canvas/style-resolution.d.ts +0 -101
- package/src/libs/renderer/src/canvas/style-resolution.js +0 -466
- package/src/libs/renderer/src/canvas/tier-policy.d.ts +0 -33
- package/src/libs/renderer/src/canvas/tier-policy.js +0 -89
- package/src/libs/renderer/src/canvas/vnode-painter.d.ts +0 -154
- package/src/libs/renderer/src/canvas/vnode-painter.js +0 -649
- package/src/libs/renderer/src/comments/comment-overlay.d.ts +0 -56
- package/src/libs/renderer/src/comments/comment-overlay.js +0 -127
- package/src/libs/renderer/src/comments/comment-panel.d.ts +0 -45
- package/src/libs/renderer/src/comments/comment-panel.js +0 -287
- package/src/libs/renderer/src/comments/comment-pins.d.ts +0 -34
- package/src/libs/renderer/src/comments/comment-pins.js +0 -227
- package/src/libs/renderer/src/comments/index.d.ts +0 -3
- package/src/libs/renderer/src/comments/index.js +0 -17
- package/src/libs/renderer/src/export/assets.d.ts +0 -96
- package/src/libs/renderer/src/export/assets.js +0 -350
- package/src/libs/renderer/src/export/batch.d.ts +0 -49
- package/src/libs/renderer/src/export/batch.js +0 -95
- package/src/libs/renderer/src/export/bounds.d.ts +0 -81
- package/src/libs/renderer/src/export/bounds.js +0 -367
- package/src/libs/renderer/src/export/capture-host.d.ts +0 -39
- package/src/libs/renderer/src/export/capture-host.js +0 -1259
- package/src/libs/renderer/src/export/custom-nodes.d.ts +0 -88
- package/src/libs/renderer/src/export/custom-nodes.js +0 -237
- package/src/libs/renderer/src/export/index.d.ts +0 -14
- package/src/libs/renderer/src/export/index.js +0 -30
- package/src/libs/renderer/src/export/node-raster.d.ts +0 -60
- package/src/libs/renderer/src/export/node-raster.js +0 -161
- package/src/libs/renderer/src/export/pagination.d.ts +0 -116
- package/src/libs/renderer/src/export/pagination.js +0 -245
- package/src/libs/renderer/src/export/pdf/flate.d.ts +0 -13
- package/src/libs/renderer/src/export/pdf/flate.js +0 -287
- package/src/libs/renderer/src/export/pdf/index.d.ts +0 -4
- package/src/libs/renderer/src/export/pdf/index.js +0 -15
- package/src/libs/renderer/src/export/pdf/pdf-export.d.ts +0 -64
- package/src/libs/renderer/src/export/pdf/pdf-export.js +0 -1076
- package/src/libs/renderer/src/export/pdf/pdf-path.d.ts +0 -17
- package/src/libs/renderer/src/export/pdf/pdf-path.js +0 -85
- package/src/libs/renderer/src/export/pdf/pdf-primitives.d.ts +0 -115
- package/src/libs/renderer/src/export/pdf/pdf-primitives.js +0 -338
- package/src/libs/renderer/src/export/pdf/png.d.ts +0 -25
- package/src/libs/renderer/src/export/pdf/png.js +0 -596
- package/src/libs/renderer/src/export/raster.d.ts +0 -42
- package/src/libs/renderer/src/export/raster.js +0 -126
- package/src/libs/renderer/src/export/round-trip.d.ts +0 -83
- package/src/libs/renderer/src/export/round-trip.js +0 -432
- package/src/libs/renderer/src/export/scope.d.ts +0 -16
- package/src/libs/renderer/src/export/scope.js +0 -69
- package/src/libs/renderer/src/export/style-flattener.d.ts +0 -23
- package/src/libs/renderer/src/export/style-flattener.js +0 -144
- package/src/libs/renderer/src/export/svg-export.d.ts +0 -123
- package/src/libs/renderer/src/export/svg-export.js +0 -178
- package/src/libs/renderer/src/export/vnode-serializer.d.ts +0 -75
- package/src/libs/renderer/src/export/vnode-serializer.js +0 -344
- package/src/libs/renderer/src/ext/capabilities.d.ts +0 -178
- package/src/libs/renderer/src/ext/capabilities.js +0 -22
- package/src/libs/renderer/src/ext/capability-factory.d.ts +0 -44
- package/src/libs/renderer/src/ext/capability-factory.js +0 -194
- package/src/libs/renderer/src/ext/components/attach.d.ts +0 -66
- package/src/libs/renderer/src/ext/components/attach.js +0 -112
- package/src/libs/renderer/src/ext/components/background.d.ts +0 -84
- package/src/libs/renderer/src/ext/components/background.js +0 -202
- package/src/libs/renderer/src/ext/components/controls.d.ts +0 -49
- package/src/libs/renderer/src/ext/components/controls.js +0 -144
- package/src/libs/renderer/src/ext/components/minimap.d.ts +0 -78
- package/src/libs/renderer/src/ext/components/minimap.js +0 -326
- package/src/libs/renderer/src/ext/diagram-registry.d.ts +0 -109
- package/src/libs/renderer/src/ext/diagram-registry.js +0 -303
- package/src/libs/renderer/src/ext/disposable.d.ts +0 -51
- package/src/libs/renderer/src/ext/disposable.js +0 -104
- package/src/libs/renderer/src/ext/extension-host.d.ts +0 -144
- package/src/libs/renderer/src/ext/extension-host.js +0 -272
- package/src/libs/renderer/src/ext/index.d.ts +0 -62
- package/src/libs/renderer/src/ext/index.js +0 -91
- package/src/libs/renderer/src/ext/link-pipeline.d.ts +0 -195
- package/src/libs/renderer/src/ext/link-pipeline.js +0 -431
- package/src/libs/renderer/src/ext/manifest.d.ts +0 -73
- package/src/libs/renderer/src/ext/manifest.js +0 -149
- package/src/libs/renderer/src/ext/node-component.d.ts +0 -114
- package/src/libs/renderer/src/ext/node-component.js +0 -290
- package/src/libs/renderer/src/ext/plugins-loader.d.ts +0 -1
- package/src/libs/renderer/src/ext/plugins-loader.js +0 -18
- package/src/libs/renderer/src/ext/portal.d.ts +0 -129
- package/src/libs/renderer/src/ext/portal.js +0 -267
- package/src/libs/renderer/src/ext/public-api.d.ts +0 -101
- package/src/libs/renderer/src/ext/public-api.js +0 -201
- package/src/libs/renderer/src/ext/registry-scope.d.ts +0 -93
- package/src/libs/renderer/src/ext/registry-scope.js +0 -142
- package/src/libs/renderer/src/ext/tools.d.ts +0 -164
- package/src/libs/renderer/src/ext/tools.js +0 -170
- package/src/libs/renderer/src/index.d.ts +0 -34
- package/src/libs/renderer/src/index.js +0 -108
- package/src/libs/renderer/src/instance/create-diagram.d.ts +0 -385
- package/src/libs/renderer/src/instance/create-diagram.js +0 -1150
- package/src/libs/renderer/src/instance/diagram-instance.d.ts +0 -48
- package/src/libs/renderer/src/instance/diagram-instance.js +0 -51
- package/src/libs/renderer/src/instance/dom-event-binder.d.ts +0 -394
- package/src/libs/renderer/src/instance/dom-event-binder.js +0 -2104
- package/src/libs/renderer/src/instance/index.d.ts +0 -5
- package/src/libs/renderer/src/instance/index.js +0 -13
- package/src/libs/renderer/src/instance/layers.d.ts +0 -31
- package/src/libs/renderer/src/instance/layers.js +0 -43
- package/src/libs/renderer/src/instance/model-input.d.ts +0 -229
- package/src/libs/renderer/src/instance/model-input.js +0 -325
- package/src/libs/renderer/src/instance/render-scheduler.d.ts +0 -79
- package/src/libs/renderer/src/instance/render-scheduler.js +0 -96
- package/src/libs/renderer/src/instance/wheel-scroll-yield.d.ts +0 -38
- package/src/libs/renderer/src/instance/wheel-scroll-yield.js +0 -118
- package/src/libs/renderer/src/interaction/ControlPointEditor.d.ts +0 -160
- package/src/libs/renderer/src/interaction/ControlPointEditor.js +0 -360
- package/src/libs/renderer/src/interaction/WaypointEditor.d.ts +0 -133
- package/src/libs/renderer/src/interaction/WaypointEditor.js +0 -263
- package/src/libs/renderer/src/interaction/highlighters.d.ts +0 -88
- package/src/libs/renderer/src/interaction/highlighters.js +0 -212
- package/src/libs/renderer/src/interaction/in-place-editor.d.ts +0 -63
- package/src/libs/renderer/src/interaction/in-place-editor.js +0 -141
- package/src/libs/renderer/src/interaction/index.d.ts +0 -11
- package/src/libs/renderer/src/interaction/index.js +0 -29
- package/src/libs/renderer/src/interaction/ink-overlay.d.ts +0 -53
- package/src/libs/renderer/src/interaction/ink-overlay.js +0 -154
- package/src/libs/renderer/src/interaction/interaction-controller.d.ts +0 -555
- package/src/libs/renderer/src/interaction/interaction-controller.js +0 -1733
- package/src/libs/renderer/src/interaction/keyboard-navigation.d.ts +0 -223
- package/src/libs/renderer/src/interaction/keyboard-navigation.js +0 -885
- package/src/libs/renderer/src/interaction/selection-tools.d.ts +0 -343
- package/src/libs/renderer/src/interaction/selection-tools.js +0 -918
- package/src/libs/renderer/src/interaction/snapping.d.ts +0 -210
- package/src/libs/renderer/src/interaction/snapping.js +0 -569
- package/src/libs/renderer/src/interaction/touch-gestures.d.ts +0 -160
- package/src/libs/renderer/src/interaction/touch-gestures.js +0 -549
- package/src/libs/renderer/src/interaction/whiteboard-tools.d.ts +0 -171
- package/src/libs/renderer/src/interaction/whiteboard-tools.js +0 -476
- package/src/libs/renderer/src/lazy/host-culling.d.ts +0 -116
- package/src/libs/renderer/src/lazy/host-culling.js +0 -135
- package/src/libs/renderer/src/lazy/index.d.ts +0 -7
- package/src/libs/renderer/src/lazy/index.js +0 -28
- package/src/libs/renderer/src/lazy/progressive-mounter.d.ts +0 -80
- package/src/libs/renderer/src/lazy/progressive-mounter.js +0 -264
- package/src/libs/renderer/src/lazy/types.d.ts +0 -43
- package/src/libs/renderer/src/lazy/types.js +0 -14
- package/src/libs/renderer/src/lazy/view-lifecycle.d.ts +0 -97
- package/src/libs/renderer/src/lazy/view-lifecycle.js +0 -221
- package/src/libs/renderer/src/perf/index.d.ts +0 -2
- package/src/libs/renderer/src/perf/index.js +0 -7
- package/src/libs/renderer/src/perf/perf-hud.d.ts +0 -46
- package/src/libs/renderer/src/perf/perf-hud.js +0 -105
- package/src/libs/renderer/src/perf/quality-governor.d.ts +0 -77
- package/src/libs/renderer/src/perf/quality-governor.js +0 -154
- package/src/libs/renderer/src/platform/index.d.ts +0 -1
- package/src/libs/renderer/src/platform/index.js +0 -5
- package/src/libs/renderer/src/platform/platform.d.ts +0 -34
- package/src/libs/renderer/src/platform/platform.js +0 -64
- package/src/libs/renderer/src/presence/bind-presence.d.ts +0 -51
- package/src/libs/renderer/src/presence/bind-presence.js +0 -144
- package/src/libs/renderer/src/presence/index.d.ts +0 -4
- package/src/libs/renderer/src/presence/index.js +0 -18
- package/src/libs/renderer/src/presence/presence-overlay.d.ts +0 -121
- package/src/libs/renderer/src/presence/presence-overlay.js +0 -465
- package/src/libs/renderer/src/presentation/index.d.ts +0 -3
- package/src/libs/renderer/src/presentation/index.js +0 -14
- package/src/libs/renderer/src/presentation/presentation.d.ts +0 -94
- package/src/libs/renderer/src/presentation/presentation.js +0 -158
- package/src/libs/renderer/src/presentation/viewport-channel.d.ts +0 -78
- package/src/libs/renderer/src/presentation/viewport-channel.js +0 -86
- package/src/libs/renderer/src/services/animation-lifecycle.d.ts +0 -153
- package/src/libs/renderer/src/services/animation-lifecycle.js +0 -326
- package/src/libs/renderer/src/services/animation-performance.service.d.ts +0 -191
- package/src/libs/renderer/src/services/animation-performance.service.js +0 -371
- package/src/libs/renderer/src/services/animation-sequencer.d.ts +0 -226
- package/src/libs/renderer/src/services/animation-sequencer.js +0 -379
- package/src/libs/renderer/src/services/animation.service.d.ts +0 -182
- package/src/libs/renderer/src/services/animation.service.js +0 -858
- package/src/libs/renderer/src/services/custom-animation-registry.d.ts +0 -182
- package/src/libs/renderer/src/services/custom-animation-registry.js +0 -361
- package/src/libs/renderer/src/ssr/index.d.ts +0 -1
- package/src/libs/renderer/src/ssr/index.js +0 -6
- package/src/libs/renderer/src/ssr/render-to-static.d.ts +0 -91
- package/src/libs/renderer/src/ssr/render-to-static.js +0 -81
- package/src/libs/renderer/src/svg/ArrowRenderer.d.ts +0 -159
- package/src/libs/renderer/src/svg/ArrowRenderer.js +0 -723
- package/src/libs/renderer/src/svg/JumpPointDetector.d.ts +0 -79
- package/src/libs/renderer/src/svg/JumpPointDetector.js +0 -176
- package/src/libs/renderer/src/svg/JumpPointRenderer.d.ts +0 -59
- package/src/libs/renderer/src/svg/JumpPointRenderer.js +0 -309
- package/src/libs/renderer/src/svg/LabelRenderer.d.ts +0 -76
- package/src/libs/renderer/src/svg/LabelRenderer.js +0 -273
- package/src/libs/renderer/src/svg/auto-size.d.ts +0 -76
- package/src/libs/renderer/src/svg/auto-size.js +0 -142
- package/src/libs/renderer/src/svg/channel-nudging.d.ts +0 -34
- package/src/libs/renderer/src/svg/channel-nudging.js +0 -226
- package/src/libs/renderer/src/svg/edge-optimizer.d.ts +0 -228
- package/src/libs/renderer/src/svg/edge-optimizer.js +0 -606
- package/src/libs/renderer/src/svg/edge-templates.d.ts +0 -152
- package/src/libs/renderer/src/svg/edge-templates.js +0 -233
- package/src/libs/renderer/src/svg/html-node.d.ts +0 -50
- package/src/libs/renderer/src/svg/html-node.js +0 -214
- package/src/libs/renderer/src/svg/index.d.ts +0 -25
- package/src/libs/renderer/src/svg/index.js +0 -32
- package/src/libs/renderer/src/svg/link-fanout.d.ts +0 -127
- package/src/libs/renderer/src/svg/link-fanout.js +0 -333
- package/src/libs/renderer/src/svg/link-hit-test.d.ts +0 -142
- package/src/libs/renderer/src/svg/link-hit-test.js +0 -182
- package/src/libs/renderer/src/svg/motion-tracker.d.ts +0 -18
- package/src/libs/renderer/src/svg/motion-tracker.js +0 -71
- package/src/libs/renderer/src/svg/node-sizing.d.ts +0 -51
- package/src/libs/renderer/src/svg/node-sizing.js +0 -65
- package/src/libs/renderer/src/svg/node-toolbar.d.ts +0 -30
- package/src/libs/renderer/src/svg/node-toolbar.js +0 -45
- package/src/libs/renderer/src/svg/notation-shapes.d.ts +0 -2
- package/src/libs/renderer/src/svg/notation-shapes.js +0 -126
- package/src/libs/renderer/src/svg/paint-servers.d.ts +0 -49
- package/src/libs/renderer/src/svg/paint-servers.js +0 -225
- package/src/libs/renderer/src/svg/panel.d.ts +0 -115
- package/src/libs/renderer/src/svg/panel.js +0 -353
- package/src/libs/renderer/src/svg/path-outline.d.ts +0 -35
- package/src/libs/renderer/src/svg/path-outline.js +0 -134
- package/src/libs/renderer/src/svg/port-glyph.d.ts +0 -27
- package/src/libs/renderer/src/svg/port-glyph.js +0 -97
- package/src/libs/renderer/src/svg/port-label.d.ts +0 -74
- package/src/libs/renderer/src/svg/port-label.js +0 -201
- package/src/libs/renderer/src/svg/port-layout.d.ts +0 -50
- package/src/libs/renderer/src/svg/port-layout.js +0 -212
- package/src/libs/renderer/src/svg/port-positioning.d.ts +0 -33
- package/src/libs/renderer/src/svg/port-positioning.js +0 -101
- package/src/libs/renderer/src/svg/port-spots.d.ts +0 -69
- package/src/libs/renderer/src/svg/port-spots.js +0 -154
- package/src/libs/renderer/src/svg/route-memo.d.ts +0 -63
- package/src/libs/renderer/src/svg/route-memo.js +0 -206
- package/src/libs/renderer/src/svg/route-solver-bridge.d.ts +0 -48
- package/src/libs/renderer/src/svg/route-solver-bridge.js +0 -151
- package/src/libs/renderer/src/svg/shape-registry.d.ts +0 -189
- package/src/libs/renderer/src/svg/shape-registry.js +0 -1104
- package/src/libs/renderer/src/svg/stroke-layer.d.ts +0 -36
- package/src/libs/renderer/src/svg/stroke-layer.js +0 -183
- package/src/libs/renderer/src/svg/svg-renderer.d.ts +0 -1737
- package/src/libs/renderer/src/svg/svg-renderer.js +0 -7772
- package/src/libs/renderer/src/svg/text-block.d.ts +0 -54
- package/src/libs/renderer/src/svg/text-block.js +0 -171
- package/src/libs/renderer/src/themes/color-mode.d.ts +0 -81
- package/src/libs/renderer/src/themes/color-mode.js +0 -158
- package/src/libs/renderer/src/themes/contrast.d.ts +0 -67
- package/src/libs/renderer/src/themes/contrast.js +0 -215
- package/src/libs/renderer/src/themes/default-dark-theme.d.ts +0 -6
- package/src/libs/renderer/src/themes/default-dark-theme.js +0 -126
- package/src/libs/renderer/src/themes/default-light-theme.d.ts +0 -6
- package/src/libs/renderer/src/themes/default-light-theme.js +0 -168
- package/src/libs/renderer/src/themes/default-theme-set.d.ts +0 -10
- package/src/libs/renderer/src/themes/default-theme-set.js +0 -25
- package/src/libs/renderer/src/themes/high-contrast-theme.d.ts +0 -5
- package/src/libs/renderer/src/themes/high-contrast-theme.js +0 -170
- package/src/libs/renderer/src/themes/index.d.ts +0 -22
- package/src/libs/renderer/src/themes/index.js +0 -93
- package/src/libs/renderer/src/themes/style-cascade.d.ts +0 -23
- package/src/libs/renderer/src/themes/style-cascade.js +0 -194
- package/src/libs/renderer/src/themes/style-registry.d.ts +0 -40
- package/src/libs/renderer/src/themes/style-registry.js +0 -129
- package/src/libs/renderer/src/themes/theme-a11y.d.ts +0 -65
- package/src/libs/renderer/src/themes/theme-a11y.js +0 -256
- package/src/libs/renderer/src/themes/theme-css.d.ts +0 -30
- package/src/libs/renderer/src/themes/theme-css.js +0 -304
- package/src/libs/renderer/src/themes/theme-ref.d.ts +0 -63
- package/src/libs/renderer/src/themes/theme-ref.js +0 -206
- package/src/libs/renderer/src/themes/theme-vars.d.ts +0 -49
- package/src/libs/renderer/src/themes/theme-vars.js +0 -112
- package/src/libs/renderer/src/themes/token-bridge.d.ts +0 -62
- package/src/libs/renderer/src/themes/token-bridge.js +0 -354
- package/src/libs/renderer/src/types/geometry.types.d.ts +0 -10
- package/src/libs/renderer/src/types/geometry.types.js +0 -3
- package/src/libs/renderer/src/types/index.d.ts +0 -5
- package/src/libs/renderer/src/types/index.js +0 -14
- package/src/libs/renderer/src/types/property-schema/conditions.d.ts +0 -96
- package/src/libs/renderer/src/types/property-schema/conditions.js +0 -8
- package/src/libs/renderer/src/types/property-schema/editor-types.d.ts +0 -310
- package/src/libs/renderer/src/types/property-schema/editor-types.js +0 -8
- package/src/libs/renderer/src/types/property-schema/groups.d.ts +0 -58
- package/src/libs/renderer/src/types/property-schema/groups.js +0 -8
- package/src/libs/renderer/src/types/property-schema/index.d.ts +0 -101
- package/src/libs/renderer/src/types/property-schema/index.js +0 -98
- package/src/libs/renderer/src/types/property-schema/property-definition.d.ts +0 -117
- package/src/libs/renderer/src/types/property-schema/property-definition.js +0 -8
- package/src/libs/renderer/src/types/property-schema/schema.d.ts +0 -108
- package/src/libs/renderer/src/types/property-schema/schema.js +0 -8
- package/src/libs/renderer/src/types/property-schema/validation.d.ts +0 -181
- package/src/libs/renderer/src/types/property-schema/validation.js +0 -8
- package/src/libs/renderer/src/types/renderer.interface.d.ts +0 -623
- package/src/libs/renderer/src/types/renderer.interface.js +0 -3
- package/src/libs/renderer/src/types/theme.types.d.ts +0 -305
- package/src/libs/renderer/src/types/theme.types.js +0 -3
- package/src/libs/renderer/src/types/vnode.types.d.ts +0 -139
- package/src/libs/renderer/src/types/vnode.types.js +0 -3
- package/src/libs/renderer/src/utils/animation-presets.d.ts +0 -310
- package/src/libs/renderer/src/utils/animation-presets.js +0 -406
- package/src/libs/renderer/src/utils/animation-priority.d.ts +0 -118
- package/src/libs/renderer/src/utils/animation-priority.js +0 -258
- package/src/libs/renderer/src/utils/animation-utils.d.ts +0 -159
- package/src/libs/renderer/src/utils/animation-utils.js +0 -323
- package/src/libs/renderer/src/utils/lru-cache.d.ts +0 -34
- package/src/libs/renderer/src/utils/lru-cache.js +0 -72
- package/src/libs/renderer/src/viewport/index.d.ts +0 -1
- package/src/libs/renderer/src/viewport/index.js +0 -6
- package/src/libs/renderer/src/viewport/viewport-controller.d.ts +0 -198
- package/src/libs/renderer/src/viewport/viewport-controller.js +0 -315
- package/src/libs/renderer/src/vnode/container-id-generator.d.ts +0 -94
- package/src/libs/renderer/src/vnode/container-id-generator.js +0 -110
- package/src/libs/renderer/src/vnode/foreign-object.d.ts +0 -157
- package/src/libs/renderer/src/vnode/foreign-object.js +0 -167
- package/src/libs/renderer/src/vnode/index.d.ts +0 -56
- package/src/libs/renderer/src/vnode/index.js +0 -78
- package/src/libs/renderer/src/vnode/patch.d.ts +0 -189
- package/src/libs/renderer/src/vnode/patch.js +0 -564
|
@@ -1,797 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Wave 7 (Auto-layout) — Card 1: the zero-config layered (Sugiyama) default.
|
|
3
|
-
//
|
|
4
|
-
// ---------------------------------------------------------------------------
|
|
5
|
-
// WHY WE OWN THIS INSTEAD OF WRAPPING DAGRE
|
|
6
|
-
// ---------------------------------------------------------------------------
|
|
7
|
-
//
|
|
8
|
-
// Card 1 asks for a clean layered DAG with no configuration, and says "wrap the
|
|
9
|
-
// real dagre and ELK 'layered' engines behind it". We do keep those — dagre is
|
|
10
|
-
// still registered and still the fastest path for a plain graph. But the DEFAULT
|
|
11
|
-
// is this implementation, for one reason that Card 5 makes unavoidable:
|
|
12
|
-
//
|
|
13
|
-
// SEMANTIC CONSTRAINTS CANNOT BE BOLTED ON FROM OUTSIDE.
|
|
14
|
-
//
|
|
15
|
-
// Today's constraint system (`ConstraintManager.applyConstraints`) takes a node id
|
|
16
|
-
// and an ALREADY-COMPUTED position and clamps it. That is not a constraint system;
|
|
17
|
-
// it is a post-hoc correction. A pinned node has no influence whatsoever on where
|
|
18
|
-
// anything else goes — the layout runs as if it were free, and then the pin snaps
|
|
19
|
-
// it back on top of whatever landed there. "Same rank as B", "left of C", "keep
|
|
20
|
-
// this cluster together" cannot even be expressed that way: they are decisions
|
|
21
|
-
// taken DURING ranking and ordering, and by the time you have coordinates the
|
|
22
|
-
// information needed to honour them is gone.
|
|
23
|
-
//
|
|
24
|
-
// So the layered pipeline is ours, and constraints enter at the phase where they
|
|
25
|
-
// belong. Everything here is pure, deterministic, and free of DOM/time/randomness.
|
|
26
|
-
//
|
|
27
|
-
// ---------------------------------------------------------------------------
|
|
28
|
-
// THE PIPELINE (Sugiyama's four phases, plus the two everyone forgets)
|
|
29
|
-
// ---------------------------------------------------------------------------
|
|
30
|
-
//
|
|
31
|
-
// 1. CYCLE BREAKING DFS; reverse back-edges, remember them, restore at the end.
|
|
32
|
-
// 2. RANK ASSIGNMENT longest-path ranking, then tightened; same-rank constraints
|
|
33
|
-
// are applied by contracting the graph BEFORE ranking (union-
|
|
34
|
-
// find), which is the only way "A and B share a rank" can be
|
|
35
|
-
// honoured rather than approximated.
|
|
36
|
-
// 3. NORMALISATION insert dummy nodes so every edge spans exactly one rank.
|
|
37
|
-
// (The phase people skip — without it, crossing minimisation
|
|
38
|
-
// cannot see long edges and coordinate assignment has no way
|
|
39
|
-
// to bend them.)
|
|
40
|
-
// 4. ORDERING median heuristic sweeps + adjacent-transpose, keeping the
|
|
41
|
-
// best crossing count seen. Relative-order constraints are
|
|
42
|
-
// re-imposed after every sweep, so they survive the heuristic.
|
|
43
|
-
// 5. COORDINATES priority/median method: dummy chains are straightened first
|
|
44
|
-
// (they are the long edges — a bent long edge is the ugliest
|
|
45
|
-
// thing in a layered drawing), then real nodes pulled toward
|
|
46
|
-
// the median of their neighbours, all within non-overlap.
|
|
47
|
-
// 6. ORIENTATION computed in TB space, then transformed for LR/BT/RL — one
|
|
48
|
-
// algorithm, four directions, no duplicated maths.
|
|
49
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.sugiyama = sugiyama;
|
|
51
|
-
exports.inferDirection = inferDirection;
|
|
52
|
-
const DEFAULTS = {
|
|
53
|
-
direction: 'TB',
|
|
54
|
-
nodeSpacing: 50,
|
|
55
|
-
rankSpacing: 80,
|
|
56
|
-
iterations: 8,
|
|
57
|
-
};
|
|
58
|
-
function buildGraph(nodes, edges) {
|
|
59
|
-
const g = { nodes: new Map(), out: new Map(), in: new Map() };
|
|
60
|
-
// Sorted insert: the whole pipeline must be order-independent (Card 0's lesson —
|
|
61
|
-
// a seeded RNG does nothing if the graph is consumed in insertion order).
|
|
62
|
-
for (const n of [...nodes].sort((a, b) => (a.id < b.id ? -1 : 1))) {
|
|
63
|
-
g.nodes.set(n.id, n);
|
|
64
|
-
g.out.set(n.id, []);
|
|
65
|
-
g.in.set(n.id, []);
|
|
66
|
-
}
|
|
67
|
-
for (const e of [...edges].sort((a, b) => (a.id < b.id ? -1 : 1))) {
|
|
68
|
-
if (!g.nodes.has(e.source) || !g.nodes.has(e.target))
|
|
69
|
-
continue;
|
|
70
|
-
if (e.source === e.target)
|
|
71
|
-
continue; // self-loops do not participate in layering
|
|
72
|
-
g.out.get(e.source).push(e.target);
|
|
73
|
-
g.in.get(e.target).push(e.source);
|
|
74
|
-
}
|
|
75
|
-
return g;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Phase 1 — cycle breaking.
|
|
79
|
-
*
|
|
80
|
-
* DFS; any edge back to a node on the current stack is a back-edge. Reverse it,
|
|
81
|
-
* remember it, restore the direction at the end. (Reversing rather than deleting
|
|
82
|
-
* matters: the edge still constrains the layout, it just constrains it the other
|
|
83
|
-
* way, which is what makes a cyclic graph layer sensibly instead of losing edges.)
|
|
84
|
-
*/
|
|
85
|
-
function breakCycles(g) {
|
|
86
|
-
var _a;
|
|
87
|
-
const reversed = new Set();
|
|
88
|
-
const state = new Map(); // 0 unseen, 1 on stack, 2 done
|
|
89
|
-
const visit = (v) => {
|
|
90
|
-
var _a;
|
|
91
|
-
state.set(v, 1);
|
|
92
|
-
for (const w of [...g.out.get(v)]) {
|
|
93
|
-
const s = (_a = state.get(w)) !== null && _a !== void 0 ? _a : 0;
|
|
94
|
-
if (s === 1) {
|
|
95
|
-
// back-edge: reverse it
|
|
96
|
-
reversed.add(`${v}->${w}`);
|
|
97
|
-
g.out.set(v, g.out.get(v).filter((x) => x !== w));
|
|
98
|
-
g.in.set(w, g.in.get(w).filter((x) => x !== v));
|
|
99
|
-
g.out.get(w).push(v);
|
|
100
|
-
g.in.get(v).push(w);
|
|
101
|
-
}
|
|
102
|
-
else if (s === 0) {
|
|
103
|
-
visit(w);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
state.set(v, 2);
|
|
107
|
-
};
|
|
108
|
-
for (const id of g.nodes.keys())
|
|
109
|
-
if (((_a = state.get(id)) !== null && _a !== void 0 ? _a : 0) === 0)
|
|
110
|
-
visit(id);
|
|
111
|
-
return reversed;
|
|
112
|
-
}
|
|
113
|
-
/** Union-find, for same-rank contraction. */
|
|
114
|
-
class UnionFind {
|
|
115
|
-
constructor() {
|
|
116
|
-
this.parent = new Map();
|
|
117
|
-
}
|
|
118
|
-
find(x) {
|
|
119
|
-
const p = this.parent.get(x);
|
|
120
|
-
if (p === undefined || p === x) {
|
|
121
|
-
this.parent.set(x, x);
|
|
122
|
-
return x;
|
|
123
|
-
}
|
|
124
|
-
const root = this.find(p);
|
|
125
|
-
this.parent.set(x, root);
|
|
126
|
-
return root;
|
|
127
|
-
}
|
|
128
|
-
union(a, b) {
|
|
129
|
-
const ra = this.find(a);
|
|
130
|
-
const rb = this.find(b);
|
|
131
|
-
if (ra !== rb)
|
|
132
|
-
this.parent.set(ra, rb);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Phase 2 — rank assignment, with same-rank constraints honoured by CONTRACTION.
|
|
137
|
-
*
|
|
138
|
-
* This is the part a post-hoc clamp can never do. "A and B are on the same rank"
|
|
139
|
-
* is a statement about the ranking, so the graph is contracted (A and B become one
|
|
140
|
-
* super-node), the quotient graph is ranked, and every member of a class inherits
|
|
141
|
-
* its class's rank. Rank them separately and then "correct" it afterwards and you
|
|
142
|
-
* either break edge monotonicity or shove nodes on top of each other.
|
|
143
|
-
*
|
|
144
|
-
* Ranking itself is longest-path (every node sits one below its deepest
|
|
145
|
-
* predecessor), which is O(V+E), always valid, and — unlike network simplex —
|
|
146
|
-
* short enough to be obviously correct. It can leave slack on some edges; the
|
|
147
|
-
* tightening pass below pulls sources down toward their consumers, which removes
|
|
148
|
-
* most of the ugly ones.
|
|
149
|
-
*/
|
|
150
|
-
function assignRanks(g, constraints) {
|
|
151
|
-
var _a, _b, _c;
|
|
152
|
-
const uf = new UnionFind();
|
|
153
|
-
for (const id of g.nodes.keys())
|
|
154
|
-
uf.find(id);
|
|
155
|
-
for (const group of (_a = constraints === null || constraints === void 0 ? void 0 : constraints.sameRank) !== null && _a !== void 0 ? _a : []) {
|
|
156
|
-
for (let i = 1; i < group.length; i++) {
|
|
157
|
-
if (g.nodes.has(group[0]) && g.nodes.has(group[i]))
|
|
158
|
-
uf.union(group[0], group[i]);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
// quotient graph
|
|
162
|
-
const classOf = (id) => uf.find(id);
|
|
163
|
-
const classes = new Set([...g.nodes.keys()].map(classOf));
|
|
164
|
-
const qOut = new Map();
|
|
165
|
-
const qIn = new Map();
|
|
166
|
-
for (const c of classes) {
|
|
167
|
-
qOut.set(c, new Set());
|
|
168
|
-
qIn.set(c, new Set());
|
|
169
|
-
}
|
|
170
|
-
for (const [v, targets] of g.out) {
|
|
171
|
-
for (const w of targets) {
|
|
172
|
-
const cv = classOf(v);
|
|
173
|
-
const cw = classOf(w);
|
|
174
|
-
if (cv === cw)
|
|
175
|
-
continue; // an edge inside a same-rank class cannot constrain rank
|
|
176
|
-
qOut.get(cv).add(cw);
|
|
177
|
-
qIn.get(cw).add(cv);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
// longest-path ranking over the quotient DAG (it IS a DAG: cycles were broken,
|
|
181
|
-
// and contraction of a DAG can only create cycles between classes if the user
|
|
182
|
-
// asked for something impossible — guarded below).
|
|
183
|
-
const rank = new Map();
|
|
184
|
-
const sorted = topoSort(classes, qOut, qIn);
|
|
185
|
-
for (const c of sorted) {
|
|
186
|
-
let r = 0;
|
|
187
|
-
for (const p of qIn.get(c))
|
|
188
|
-
r = Math.max(r, ((_b = rank.get(p)) !== null && _b !== void 0 ? _b : 0) + 1);
|
|
189
|
-
rank.set(c, r);
|
|
190
|
-
}
|
|
191
|
-
// Tightening: pull each node down to just above its tightest successor, so a
|
|
192
|
-
// source with one far-away consumer does not float at rank 0 for no reason.
|
|
193
|
-
for (const c of [...sorted].reverse()) {
|
|
194
|
-
const succ = [...qOut.get(c)];
|
|
195
|
-
if (succ.length === 0)
|
|
196
|
-
continue;
|
|
197
|
-
const minSucc = Math.min(...succ.map((s) => rank.get(s)));
|
|
198
|
-
if (minSucc - 1 > rank.get(c)) {
|
|
199
|
-
const preds = [...qIn.get(c)];
|
|
200
|
-
const maxPred = preds.length ? Math.max(...preds.map((p) => rank.get(p))) : -1;
|
|
201
|
-
rank.set(c, Math.max(maxPred + 1, minSucc - 1));
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
const out = new Map();
|
|
205
|
-
for (const id of g.nodes.keys())
|
|
206
|
-
out.set(id, (_c = rank.get(classOf(id))) !== null && _c !== void 0 ? _c : 0);
|
|
207
|
-
return out;
|
|
208
|
-
}
|
|
209
|
-
function topoSort(nodes, out, inn) {
|
|
210
|
-
const indeg = new Map();
|
|
211
|
-
for (const n of nodes)
|
|
212
|
-
indeg.set(n, inn.get(n).size);
|
|
213
|
-
// deterministic queue: always take the smallest id available
|
|
214
|
-
const ready = [...nodes].filter((n) => indeg.get(n) === 0).sort();
|
|
215
|
-
const order = [];
|
|
216
|
-
while (ready.length) {
|
|
217
|
-
const v = ready.shift();
|
|
218
|
-
order.push(v);
|
|
219
|
-
for (const w of [...out.get(v)].sort()) {
|
|
220
|
-
indeg.set(w, indeg.get(w) - 1);
|
|
221
|
-
if (indeg.get(w) === 0) {
|
|
222
|
-
ready.push(w);
|
|
223
|
-
ready.sort();
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
// A contracted cycle (the user demanded same-rank for nodes with a path between
|
|
228
|
-
// them) leaves nodes unranked. Rather than hang or silently drop them, append
|
|
229
|
-
// them in id order: the constraint is unsatisfiable and the layout degrades
|
|
230
|
-
// predictably instead of mysteriously.
|
|
231
|
-
for (const n of [...nodes].sort())
|
|
232
|
-
if (!order.includes(n))
|
|
233
|
-
order.push(n);
|
|
234
|
-
return order;
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Phase 3 — normalisation: no edge may span more than one rank.
|
|
238
|
-
*
|
|
239
|
-
* The phase most naive implementations skip, and the reason their long edges cut
|
|
240
|
-
* through nodes: crossing minimisation only sees edges BETWEEN ADJACENT layers, so
|
|
241
|
-
* an unsplit rank-0-to-rank-4 edge is invisible to it, and coordinate assignment
|
|
242
|
-
* has nowhere to bend it.
|
|
243
|
-
*/
|
|
244
|
-
function normalise(g, ranks, edges) {
|
|
245
|
-
const maxRank = Math.max(0, ...ranks.values());
|
|
246
|
-
const layers = Array.from({ length: maxRank + 1 }, () => []);
|
|
247
|
-
for (const [id, node] of g.nodes) {
|
|
248
|
-
layers[ranks.get(id)].push({ id, width: node.width, height: node.height, isDummy: false });
|
|
249
|
-
}
|
|
250
|
-
const chains = new Map();
|
|
251
|
-
let dummySeq = 0;
|
|
252
|
-
for (const e of [...edges].sort((a, b) => (a.id < b.id ? -1 : 1))) {
|
|
253
|
-
if (!g.nodes.has(e.source) || !g.nodes.has(e.target) || e.source === e.target)
|
|
254
|
-
continue;
|
|
255
|
-
const r1 = ranks.get(e.source);
|
|
256
|
-
const r2 = ranks.get(e.target);
|
|
257
|
-
const lo = Math.min(r1, r2);
|
|
258
|
-
const hi = Math.max(r1, r2);
|
|
259
|
-
if (hi - lo <= 1)
|
|
260
|
-
continue;
|
|
261
|
-
const chain = [];
|
|
262
|
-
for (let r = lo + 1; r < hi; r++) {
|
|
263
|
-
const did = `__dummy_${dummySeq++}`;
|
|
264
|
-
layers[r].push({ id: did, edgeId: e.id, width: 1, height: 1, isDummy: true });
|
|
265
|
-
chain.push(did);
|
|
266
|
-
}
|
|
267
|
-
chains.set(e.id, chain);
|
|
268
|
-
}
|
|
269
|
-
for (const layer of layers)
|
|
270
|
-
layer.sort((a, b) => (a.id < b.id ? -1 : 1));
|
|
271
|
-
return { layers, chains };
|
|
272
|
-
}
|
|
273
|
-
/** Adjacency between consecutive layers, including through dummy chains. */
|
|
274
|
-
function layerAdjacency(g, ranks, edges, chains) {
|
|
275
|
-
var _a;
|
|
276
|
-
const adj = new Map();
|
|
277
|
-
const push = (a, b) => {
|
|
278
|
-
if (!adj.has(a))
|
|
279
|
-
adj.set(a, []);
|
|
280
|
-
if (!adj.has(b))
|
|
281
|
-
adj.set(b, []);
|
|
282
|
-
adj.get(a).push(b);
|
|
283
|
-
adj.get(b).push(a);
|
|
284
|
-
};
|
|
285
|
-
for (const e of [...edges].sort((a, b) => (a.id < b.id ? -1 : 1))) {
|
|
286
|
-
if (!g.nodes.has(e.source) || !g.nodes.has(e.target) || e.source === e.target)
|
|
287
|
-
continue;
|
|
288
|
-
const r1 = ranks.get(e.source);
|
|
289
|
-
const r2 = ranks.get(e.target);
|
|
290
|
-
const [top, bottom] = r1 <= r2 ? [e.source, e.target] : [e.target, e.source];
|
|
291
|
-
const chain = (_a = chains.get(e.id)) !== null && _a !== void 0 ? _a : [];
|
|
292
|
-
if (chain.length === 0) {
|
|
293
|
-
push(top, bottom);
|
|
294
|
-
}
|
|
295
|
-
else {
|
|
296
|
-
push(top, chain[0]);
|
|
297
|
-
for (let i = 1; i < chain.length; i++)
|
|
298
|
-
push(chain[i - 1], chain[i]);
|
|
299
|
-
push(chain[chain.length - 1], bottom);
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
return adj;
|
|
303
|
-
}
|
|
304
|
-
/**
|
|
305
|
-
* Crossings between two adjacent layers, given their orders.
|
|
306
|
-
*
|
|
307
|
-
* Inversion counting via a Fenwick tree — O(k log w) for k inter-layer edge
|
|
308
|
-
* endpoints. The obvious O(k²) double loop is exactly what melted down on the
|
|
309
|
-
* sparse-DAG benchmark: ~1000-wide layers put thousands of endpoints between a
|
|
310
|
-
* single pair of layers, and this function used to be called from inside the
|
|
311
|
-
* per-swap loop of transpose. The count is exact and identical to the naive one.
|
|
312
|
-
*/
|
|
313
|
-
function countCrossings(upper, lower, adj, stats) {
|
|
314
|
-
var _a;
|
|
315
|
-
const posLower = new Map(lower.map((n, i) => [n.id, i]));
|
|
316
|
-
const pairs = [];
|
|
317
|
-
for (const u of upper) {
|
|
318
|
-
const targets = ((_a = adj.get(u.id)) !== null && _a !== void 0 ? _a : [])
|
|
319
|
-
.filter((t) => posLower.has(t))
|
|
320
|
-
.map((t) => posLower.get(t))
|
|
321
|
-
.sort((a, b) => a - b);
|
|
322
|
-
pairs.push(...targets);
|
|
323
|
-
}
|
|
324
|
-
if (stats)
|
|
325
|
-
stats.crossingCountOps += pairs.length;
|
|
326
|
-
// count inversions: for each element, how many already-seen elements exceed it
|
|
327
|
-
const size = lower.length + 1;
|
|
328
|
-
const bit = new Array(size + 1).fill(0);
|
|
329
|
-
let crossings = 0;
|
|
330
|
-
let seen = 0;
|
|
331
|
-
for (const p of pairs) {
|
|
332
|
-
let leq = 0;
|
|
333
|
-
for (let idx = p + 1; idx > 0; idx -= idx & -idx)
|
|
334
|
-
leq += bit[idx];
|
|
335
|
-
crossings += seen - leq;
|
|
336
|
-
seen++;
|
|
337
|
-
for (let idx = p + 1; idx <= size; idx += idx & -idx)
|
|
338
|
-
bit[idx]++;
|
|
339
|
-
}
|
|
340
|
-
return crossings;
|
|
341
|
-
}
|
|
342
|
-
function totalCrossings(layers, adj, stats) {
|
|
343
|
-
let total = 0;
|
|
344
|
-
for (let i = 0; i + 1 < layers.length; i++)
|
|
345
|
-
total += countCrossings(layers[i], layers[i + 1], adj, stats);
|
|
346
|
-
return total;
|
|
347
|
-
}
|
|
348
|
-
/**
|
|
349
|
-
* Phase 4 — ordering: median heuristic with adjacent transpose.
|
|
350
|
-
*
|
|
351
|
-
* Card 5's ORDER and KEEP-TOGETHER constraints are re-imposed after every sweep.
|
|
352
|
-
* That is deliberate: the heuristic is free to explore, but it never gets to
|
|
353
|
-
* publish an ordering that violates what the user asked for. (Imposing them only
|
|
354
|
-
* once at the start would let the first sweep undo them.)
|
|
355
|
-
*/
|
|
356
|
-
function orderLayers(layers, adj, constraints, iterations, stats) {
|
|
357
|
-
let best = layers.map((l) => [...l]);
|
|
358
|
-
enforceOrdering(best, constraints);
|
|
359
|
-
let bestCount = totalCrossings(best, adj, stats);
|
|
360
|
-
let current = best.map((l) => [...l]);
|
|
361
|
-
for (let iter = 0; iter < iterations; iter++) {
|
|
362
|
-
const downward = iter % 2 === 0;
|
|
363
|
-
const range = downward
|
|
364
|
-
? [...Array(current.length).keys()].slice(1)
|
|
365
|
-
: [...Array(current.length).keys()].slice(0, -1).reverse();
|
|
366
|
-
for (const i of range) {
|
|
367
|
-
const fixed = downward ? current[i - 1] : current[i + 1];
|
|
368
|
-
const pos = new Map(fixed.map((n, idx) => [n.id, idx]));
|
|
369
|
-
const median = (n) => {
|
|
370
|
-
var _a;
|
|
371
|
-
const ns = ((_a = adj.get(n.id)) !== null && _a !== void 0 ? _a : []).filter((x) => pos.has(x)).map((x) => pos.get(x));
|
|
372
|
-
if (ns.length === 0)
|
|
373
|
-
return -1; // keep un-connected nodes where they are
|
|
374
|
-
ns.sort((a, b) => a - b);
|
|
375
|
-
const m = ns.length >> 1;
|
|
376
|
-
return ns.length % 2 ? ns[m] : (ns[m - 1] + ns[m]) / 2;
|
|
377
|
-
};
|
|
378
|
-
const keyed = current[i].map((n, idx) => ({ n, m: median(n), idx }));
|
|
379
|
-
keyed.sort((a, b) => {
|
|
380
|
-
if (a.m === -1 && b.m === -1)
|
|
381
|
-
return a.idx - b.idx;
|
|
382
|
-
if (a.m === -1)
|
|
383
|
-
return -1;
|
|
384
|
-
if (b.m === -1)
|
|
385
|
-
return 1;
|
|
386
|
-
return a.m - b.m || a.idx - b.idx; // stable: index breaks ties deterministically
|
|
387
|
-
});
|
|
388
|
-
current[i] = keyed.map((k) => k.n);
|
|
389
|
-
}
|
|
390
|
-
transpose(current, adj, stats);
|
|
391
|
-
enforceOrdering(current, constraints);
|
|
392
|
-
const count = totalCrossings(current, adj, stats);
|
|
393
|
-
if (count < bestCount) {
|
|
394
|
-
bestCount = count;
|
|
395
|
-
best = current.map((l) => [...l]);
|
|
396
|
-
}
|
|
397
|
-
current = best.map((l) => [...l]); // restart from the best, not from a worse local
|
|
398
|
-
}
|
|
399
|
-
return { layers: best, crossings: bestCount };
|
|
400
|
-
}
|
|
401
|
-
/**
|
|
402
|
-
* Swap adjacent pairs while it reduces crossings — the cheap local fix the median misses.
|
|
403
|
-
*
|
|
404
|
-
* The decision for each candidate swap is INCREMENTAL, and that is the fix that
|
|
405
|
-
* took the sparse-DAG benchmark from killed-at-25s to tens of milliseconds:
|
|
406
|
-
* swapping adjacent u,v within a layer changes no pair of edges except those
|
|
407
|
-
* between u's and v's own neighbours in the fixed lower layer, so
|
|
408
|
-
*
|
|
409
|
-
* after - before = cross(v,u) - cross(u,v)
|
|
410
|
-
*
|
|
411
|
-
* where cross(a,b) = |{(p,q) : p ∈ pos(adj a), q ∈ pos(adj b), p > q}|. The old
|
|
412
|
-
* code recounted EVERY crossing between the two layers twice per candidate
|
|
413
|
-
* (O(E²) each, with E in the thousands on 1000-wide dummy-filled layers); this
|
|
414
|
-
* computes the same accept/reject decision from the two nodes' sorted neighbour
|
|
415
|
-
* positions in O(deg u + deg v). Same swaps, same final ordering, bounded work.
|
|
416
|
-
*/
|
|
417
|
-
function transpose(layers, adj, stats) {
|
|
418
|
-
var _a;
|
|
419
|
-
let improved = true;
|
|
420
|
-
let guard = 0;
|
|
421
|
-
while (improved && guard++ < 8) {
|
|
422
|
-
improved = false;
|
|
423
|
-
stats.transposePasses++;
|
|
424
|
-
for (let i = 0; i + 1 < layers.length; i++) {
|
|
425
|
-
const upper = layers[i];
|
|
426
|
-
if (upper.length < 2)
|
|
427
|
-
continue;
|
|
428
|
-
const lower = layers[i + 1];
|
|
429
|
-
const posLower = new Map(lower.map((n, idx) => [n.id, idx]));
|
|
430
|
-
// Sorted lower-layer positions per upper node. Computed once per pass over
|
|
431
|
-
// this pair: the lower layer does not move while the upper one is being
|
|
432
|
-
// transposed, and swapping within `upper` cannot change them.
|
|
433
|
-
const down = new Map();
|
|
434
|
-
for (const u of upper) {
|
|
435
|
-
down.set(u.id, ((_a = adj.get(u.id)) !== null && _a !== void 0 ? _a : [])
|
|
436
|
-
.filter((t) => posLower.has(t))
|
|
437
|
-
.map((t) => posLower.get(t))
|
|
438
|
-
.sort((a, b) => a - b));
|
|
439
|
-
}
|
|
440
|
-
for (let j = 0; j + 1 < upper.length; j++) {
|
|
441
|
-
stats.transposeSwapsEvaluated++;
|
|
442
|
-
const pu = down.get(upper[j].id);
|
|
443
|
-
const pv = down.get(upper[j + 1].id);
|
|
444
|
-
if (pu.length === 0 || pv.length === 0)
|
|
445
|
-
continue; // swap cannot change crossings
|
|
446
|
-
// uv = crossings these two contribute with u left of v; vu = swapped.
|
|
447
|
-
// Two-pointer merge over the sorted position lists; ties (a shared
|
|
448
|
-
// neighbour) cross in neither order, exactly as in a full recount.
|
|
449
|
-
let uv = 0;
|
|
450
|
-
let vu = 0;
|
|
451
|
-
let below = 0; // pu entries strictly below the current q
|
|
452
|
-
let belowOrEq = 0; // pu entries at or below the current q
|
|
453
|
-
for (const q of pv) {
|
|
454
|
-
while (below < pu.length && pu[below] < q)
|
|
455
|
-
below++;
|
|
456
|
-
while (belowOrEq < pu.length && pu[belowOrEq] <= q)
|
|
457
|
-
belowOrEq++;
|
|
458
|
-
vu += below;
|
|
459
|
-
uv += pu.length - belowOrEq;
|
|
460
|
-
}
|
|
461
|
-
if (vu < uv) {
|
|
462
|
-
[upper[j], upper[j + 1]] = [upper[j + 1], upper[j]];
|
|
463
|
-
improved = true;
|
|
464
|
-
stats.transposeSwapsApplied++;
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
/**
|
|
471
|
-
* Card 5: re-impose relative order and keep-together, in place.
|
|
472
|
-
*
|
|
473
|
-
* Order constraints: a topological pass within each layer (a must precede b).
|
|
474
|
-
* Keep-together: members of a cluster are gathered to the position of their
|
|
475
|
-
* earliest member, preserving their relative order — the sweeps may reorder a
|
|
476
|
-
* cluster internally, but may not split it.
|
|
477
|
-
*/
|
|
478
|
-
function enforceOrdering(layers, constraints) {
|
|
479
|
-
var _a, _b;
|
|
480
|
-
if (!constraints)
|
|
481
|
-
return;
|
|
482
|
-
for (const layer of layers) {
|
|
483
|
-
const index = new Map(layer.map((n, i) => [n.id, i]));
|
|
484
|
-
// keep-together: pull cluster members adjacent to their earliest member
|
|
485
|
-
for (const cluster of (_a = constraints.keepTogether) !== null && _a !== void 0 ? _a : []) {
|
|
486
|
-
const present = cluster.filter((id) => index.has(id));
|
|
487
|
-
if (present.length < 2)
|
|
488
|
-
continue;
|
|
489
|
-
const anchor = Math.min(...present.map((id) => index.get(id)));
|
|
490
|
-
const members = present
|
|
491
|
-
.map((id) => layer[index.get(id)])
|
|
492
|
-
.sort((a, b) => index.get(a.id) - index.get(b.id));
|
|
493
|
-
const rest = layer.filter((n) => !present.includes(n.id));
|
|
494
|
-
const head = rest.slice(0, anchor);
|
|
495
|
-
const tail = rest.slice(anchor);
|
|
496
|
-
layer.length = 0;
|
|
497
|
-
layer.push(...head, ...members, ...tail);
|
|
498
|
-
index.clear();
|
|
499
|
-
layer.forEach((n, i) => index.set(n.id, i));
|
|
500
|
-
}
|
|
501
|
-
// relative order: bubble until every (a before b) holds. Bounded — an
|
|
502
|
-
// unsatisfiable cycle of constraints degrades rather than hangs.
|
|
503
|
-
const pairs = ((_b = constraints.order) !== null && _b !== void 0 ? _b : []).filter(([a, b]) => index.has(a) && index.has(b));
|
|
504
|
-
for (let guard = 0; guard < pairs.length * layer.length + 1; guard++) {
|
|
505
|
-
let violated = false;
|
|
506
|
-
for (const [a, b] of pairs) {
|
|
507
|
-
const ia = layer.findIndex((n) => n.id === a);
|
|
508
|
-
const ib = layer.findIndex((n) => n.id === b);
|
|
509
|
-
if (ia > ib) {
|
|
510
|
-
const [moved] = layer.splice(ia, 1);
|
|
511
|
-
layer.splice(ib, 0, moved);
|
|
512
|
-
violated = true;
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
if (!violated)
|
|
516
|
-
break;
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
}
|
|
520
|
-
/**
|
|
521
|
-
* Phase 5 — coordinate assignment (priority / median method).
|
|
522
|
-
*
|
|
523
|
-
* Dummy chains get the HIGHEST priority, and that is the single most important
|
|
524
|
-
* decision in this function: a dummy chain IS a long edge, and a long edge that
|
|
525
|
-
* zig-zags is the ugliest artefact a layered drawing can have. Straighten those
|
|
526
|
-
* first, then let real nodes drift toward the median of their neighbours in
|
|
527
|
-
* whatever room is left.
|
|
528
|
-
*
|
|
529
|
-
* Card 5's ANCHORS enter here with priority above everything: an anchored node
|
|
530
|
-
* does not move, and — crucially, unlike the old clamp — everything else is laid
|
|
531
|
-
* out AROUND it, because the non-overlap pass sees the anchor as an immovable
|
|
532
|
-
* obstacle rather than discovering it afterwards.
|
|
533
|
-
*/
|
|
534
|
-
function assignCoordinates(layers, adj, nodeSpacing, constraints, iterations) {
|
|
535
|
-
var _a, _b;
|
|
536
|
-
const x = new Map();
|
|
537
|
-
// initial packing, left to right
|
|
538
|
-
for (const layer of layers) {
|
|
539
|
-
let cx = 0;
|
|
540
|
-
for (const n of layer) {
|
|
541
|
-
x.set(n.id, cx + n.width / 2);
|
|
542
|
-
cx += n.width + nodeSpacing;
|
|
543
|
-
}
|
|
544
|
-
}
|
|
545
|
-
const anchors = (_a = constraints === null || constraints === void 0 ? void 0 : constraints.anchors) !== null && _a !== void 0 ? _a : {};
|
|
546
|
-
const isAnchored = (id) => { var _a; return ((_a = anchors[id]) === null || _a === void 0 ? void 0 : _a.x) !== undefined; };
|
|
547
|
-
for (const [id, a] of Object.entries(anchors)) {
|
|
548
|
-
if (a.x !== undefined)
|
|
549
|
-
x.set(id, a.x);
|
|
550
|
-
}
|
|
551
|
-
const priority = (n) => {
|
|
552
|
-
var _a;
|
|
553
|
-
if (isAnchored(n.id))
|
|
554
|
-
return 1e9; // immovable
|
|
555
|
-
if (n.isDummy)
|
|
556
|
-
return 1e6; // straighten long edges before anything else
|
|
557
|
-
return ((_a = adj.get(n.id)) !== null && _a !== void 0 ? _a : []).length; // then by degree
|
|
558
|
-
};
|
|
559
|
-
// Layer ORDER is frozen in this phase (only x moves), so membership sets,
|
|
560
|
-
// in-layer indices and the priority order are computed once, not per sweep —
|
|
561
|
-
// the `some()`/`findIndex()` scans they replace were O(width²) per layer per
|
|
562
|
-
// iteration, which a 1000-wide dummy-filled layer turns into real seconds.
|
|
563
|
-
const idSet = layers.map((l) => new Set(l.map((n) => n.id)));
|
|
564
|
-
const indexIn = layers.map((l) => new Map(l.map((n, i) => [n.id, i])));
|
|
565
|
-
const byPriorityIn = layers.map((l) => [...l].sort((a, b) => priority(b) - priority(a) || (a.id < b.id ? -1 : 1)));
|
|
566
|
-
for (let iter = 0; iter < iterations; iter++) {
|
|
567
|
-
const downward = iter % 2 === 0;
|
|
568
|
-
const order = downward
|
|
569
|
-
? [...Array(layers.length).keys()]
|
|
570
|
-
: [...Array(layers.length).keys()].reverse();
|
|
571
|
-
for (const li of order) {
|
|
572
|
-
const layer = layers[li];
|
|
573
|
-
const ni = downward ? li - 1 : li + 1;
|
|
574
|
-
const neighbourLayer = layers[ni];
|
|
575
|
-
if (!neighbourLayer)
|
|
576
|
-
continue;
|
|
577
|
-
const neighbourIds = idSet[ni];
|
|
578
|
-
const desired = new Map();
|
|
579
|
-
for (const n of layer) {
|
|
580
|
-
const ns = ((_b = adj.get(n.id)) !== null && _b !== void 0 ? _b : []).filter((m) => neighbourIds.has(m));
|
|
581
|
-
if (ns.length === 0)
|
|
582
|
-
continue;
|
|
583
|
-
const xs = ns.map((m) => x.get(m)).sort((a, b) => a - b);
|
|
584
|
-
const mid = xs.length >> 1;
|
|
585
|
-
desired.set(n.id, xs.length % 2 ? xs[mid] : (xs[mid - 1] + xs[mid]) / 2);
|
|
586
|
-
}
|
|
587
|
-
// Move nodes toward their desired x in priority order, never violating
|
|
588
|
-
// non-overlap with already-placed (higher-priority) neighbours.
|
|
589
|
-
const byPriority = byPriorityIn[li];
|
|
590
|
-
const placed = new Set();
|
|
591
|
-
for (const n of byPriority) {
|
|
592
|
-
placed.add(n.id);
|
|
593
|
-
if (isAnchored(n.id))
|
|
594
|
-
continue;
|
|
595
|
-
const want = desired.get(n.id);
|
|
596
|
-
if (want === undefined)
|
|
597
|
-
continue;
|
|
598
|
-
const idx = indexIn[li].get(n.id);
|
|
599
|
-
// left bound: the nearest placed node to the left
|
|
600
|
-
let lo = -Infinity;
|
|
601
|
-
for (let k = idx - 1; k >= 0; k--) {
|
|
602
|
-
if (placed.has(layer[k].id)) {
|
|
603
|
-
lo = x.get(layer[k].id) + layer[k].width / 2 + nodeSpacing + n.width / 2;
|
|
604
|
-
break;
|
|
605
|
-
}
|
|
606
|
-
}
|
|
607
|
-
let hi = Infinity;
|
|
608
|
-
for (let k = idx + 1; k < layer.length; k++) {
|
|
609
|
-
if (placed.has(layer[k].id)) {
|
|
610
|
-
hi = x.get(layer[k].id) - layer[k].width / 2 - nodeSpacing - n.width / 2;
|
|
611
|
-
break;
|
|
612
|
-
}
|
|
613
|
-
}
|
|
614
|
-
x.set(n.id, Math.max(lo, Math.min(hi, want)));
|
|
615
|
-
}
|
|
616
|
-
// A final left-to-right sweep guarantees non-overlap even where the bounds
|
|
617
|
-
// above were both infinite (a layer whose nodes all wanted the same spot).
|
|
618
|
-
for (let k = 1; k < layer.length; k++) {
|
|
619
|
-
const prev = layer[k - 1];
|
|
620
|
-
const cur = layer[k];
|
|
621
|
-
const minX = x.get(prev.id) + prev.width / 2 + nodeSpacing + cur.width / 2;
|
|
622
|
-
if (x.get(cur.id) < minX && !isAnchored(cur.id))
|
|
623
|
-
x.set(cur.id, minX);
|
|
624
|
-
}
|
|
625
|
-
}
|
|
626
|
-
}
|
|
627
|
-
return x;
|
|
628
|
-
}
|
|
629
|
-
// ---------------------------------------------------------------------------
|
|
630
|
-
/**
|
|
631
|
-
* Lay out a graph in layers. Pure, deterministic, no DOM, no time, no randomness.
|
|
632
|
-
*/
|
|
633
|
-
function sugiyama(nodes, edges, options = {}) {
|
|
634
|
-
var _a, _b, _c, _d, _e, _f;
|
|
635
|
-
const direction = (_a = options.direction) !== null && _a !== void 0 ? _a : DEFAULTS.direction;
|
|
636
|
-
const nodeSpacing = (_b = options.nodeSpacing) !== null && _b !== void 0 ? _b : DEFAULTS.nodeSpacing;
|
|
637
|
-
const rankSpacing = (_c = options.rankSpacing) !== null && _c !== void 0 ? _c : DEFAULTS.rankSpacing;
|
|
638
|
-
const iterations = (_d = options.iterations) !== null && _d !== void 0 ? _d : DEFAULTS.iterations;
|
|
639
|
-
const constraints = options.constraints;
|
|
640
|
-
const stats = {
|
|
641
|
-
dummyCount: 0,
|
|
642
|
-
layerCount: 0,
|
|
643
|
-
maxLayerWidth: 0,
|
|
644
|
-
transposePasses: 0,
|
|
645
|
-
transposeSwapsEvaluated: 0,
|
|
646
|
-
transposeSwapsApplied: 0,
|
|
647
|
-
crossingCountOps: 0,
|
|
648
|
-
};
|
|
649
|
-
if (nodes.length === 0) {
|
|
650
|
-
return { positions: new Map(), ranks: new Map(), bends: new Map(), crossings: 0, stats };
|
|
651
|
-
}
|
|
652
|
-
// In LR/RL the roles of the axes swap. Rather than write the algorithm twice,
|
|
653
|
-
// lay out in TB space using the node's CROSS-AXIS extent as its "width", then
|
|
654
|
-
// transform at the end.
|
|
655
|
-
const vertical = direction === 'TB' || direction === 'BT';
|
|
656
|
-
const measured = nodes.map((n) => ({
|
|
657
|
-
id: n.id,
|
|
658
|
-
width: vertical ? n.width : n.height,
|
|
659
|
-
height: vertical ? n.height : n.width,
|
|
660
|
-
}));
|
|
661
|
-
// ANCHORS LIVE IN WORLD SPACE; the pipeline runs in TB space.
|
|
662
|
-
//
|
|
663
|
-
// The algorithm has exactly one free axis — the IN-LAYER coordinate — because the
|
|
664
|
-
// other one IS the rank, and rank comes from the graph, not from the caller. In TB
|
|
665
|
-
// the in-layer axis is world-x; in LR it is world-y. Handing `anchor.x` straight to
|
|
666
|
-
// the coordinate pass therefore pins the wrong axis the moment direction inference
|
|
667
|
-
// picks LR — and it does that for exactly the graphs (long chains) where a user is
|
|
668
|
-
// most likely to be nudging nodes around. Caught by the region test: the x anchors
|
|
669
|
-
// held perfectly and every node still slid 385px down the page.
|
|
670
|
-
const tbConstraints = constraints
|
|
671
|
-
? Object.assign(Object.assign({}, constraints), { anchors: Object.fromEntries(Object.entries((_e = constraints.anchors) !== null && _e !== void 0 ? _e : {}).map(([id, a]) => [
|
|
672
|
-
id,
|
|
673
|
-
vertical ? { x: a.x, y: a.y } : { x: a.y, y: a.x },
|
|
674
|
-
])) }) : undefined;
|
|
675
|
-
const g = buildGraph(measured, edges);
|
|
676
|
-
const reversed = breakCycles(g);
|
|
677
|
-
const ranks = assignRanks(g, tbConstraints);
|
|
678
|
-
const { layers, chains } = normalise(g, ranks, edges);
|
|
679
|
-
const adj = layerAdjacency(g, ranks, edges, chains);
|
|
680
|
-
stats.dummyCount = [...chains.values()].reduce((s, c) => s + c.length, 0);
|
|
681
|
-
stats.layerCount = layers.length;
|
|
682
|
-
stats.maxLayerWidth = Math.max(0, ...layers.map((l) => l.length));
|
|
683
|
-
const { layers: ordered, crossings } = orderLayers(layers, adj, tbConstraints, iterations, stats);
|
|
684
|
-
const xs = assignCoordinates(ordered, adj, nodeSpacing, tbConstraints, iterations);
|
|
685
|
-
// rank -> y (TB space).
|
|
686
|
-
//
|
|
687
|
-
// Normally a layer is stacked below the previous one by its tallest node plus the
|
|
688
|
-
// rank spacing. But an ANCHORED node also pins the RANK axis, and honouring that
|
|
689
|
-
// is what makes "pin these nodes" exact rather than approximate:
|
|
690
|
-
//
|
|
691
|
-
// The in-layer axis is the only one coordinate assignment is free to choose —
|
|
692
|
-
// the other one IS the rank, derived from the graph. So without this, a pinned
|
|
693
|
-
// node keeps its in-layer coordinate and still slides along the rank axis
|
|
694
|
-
// whenever the layer heights or the rank spacing differ by a pixel — which they
|
|
695
|
-
// always do the moment a different engine produced the previous layout. The
|
|
696
|
-
// nodes were "pinned" and moved anyway, which reads as the pins not working.
|
|
697
|
-
//
|
|
698
|
-
// So: if a layer contains anchored nodes, the LAYER sits where they say it does
|
|
699
|
-
// (their median rank-axis coordinate). Monotonicity and non-overlap between layers
|
|
700
|
-
// are then re-imposed, because an anchor may not reorder the ranks — rank is the
|
|
701
|
-
// graph's decision, not the caller's.
|
|
702
|
-
const anchorY = (_f = tbConstraints === null || tbConstraints === void 0 ? void 0 : tbConstraints.anchors) !== null && _f !== void 0 ? _f : {};
|
|
703
|
-
const rawLayerY = ordered.map((layer) => {
|
|
704
|
-
const pinned = layer
|
|
705
|
-
.map((n) => { var _a; return (_a = anchorY[n.id]) === null || _a === void 0 ? void 0 : _a.y; })
|
|
706
|
-
.filter((v) => typeof v === 'number');
|
|
707
|
-
if (pinned.length === 0)
|
|
708
|
-
return undefined;
|
|
709
|
-
pinned.sort((a, b) => a - b);
|
|
710
|
-
return pinned[pinned.length >> 1];
|
|
711
|
-
});
|
|
712
|
-
const layerY = [];
|
|
713
|
-
let y = 0;
|
|
714
|
-
ordered.forEach((layer, i) => {
|
|
715
|
-
const h = Math.max(0, ...layer.map((n) => n.height));
|
|
716
|
-
const pinnedY = rawLayerY[i];
|
|
717
|
-
const stacked = y + h / 2;
|
|
718
|
-
// A pinned layer sits where its anchors say — but never above the layer before
|
|
719
|
-
// it, because that would invert the ranking the graph demands.
|
|
720
|
-
const chosen = pinnedY !== undefined ? Math.max(pinnedY, stacked) : stacked;
|
|
721
|
-
layerY.push(chosen);
|
|
722
|
-
y = chosen + h / 2 + rankSpacing;
|
|
723
|
-
});
|
|
724
|
-
const totalHeight = Math.max(0, y - rankSpacing);
|
|
725
|
-
const positions = new Map();
|
|
726
|
-
const bends = new Map();
|
|
727
|
-
const place = (id, tx, ty) => {
|
|
728
|
-
// Transform TB-space (tx, ty) into the requested direction.
|
|
729
|
-
switch (direction) {
|
|
730
|
-
case 'TB':
|
|
731
|
-
return { x: tx, y: ty };
|
|
732
|
-
case 'BT':
|
|
733
|
-
return { x: tx, y: totalHeight - ty };
|
|
734
|
-
case 'LR':
|
|
735
|
-
return { x: ty, y: tx };
|
|
736
|
-
case 'RL':
|
|
737
|
-
return { x: totalHeight - ty, y: tx };
|
|
738
|
-
}
|
|
739
|
-
};
|
|
740
|
-
// first-match maps, mirroring the .find() semantics they replace
|
|
741
|
-
const nodeById = new Map();
|
|
742
|
-
for (const n of nodes)
|
|
743
|
-
if (!nodeById.has(n.id))
|
|
744
|
-
nodeById.set(n.id, n);
|
|
745
|
-
ordered.forEach((layer, li) => {
|
|
746
|
-
var _a;
|
|
747
|
-
for (const n of layer) {
|
|
748
|
-
const p = place(n.id, xs.get(n.id), layerY[li]);
|
|
749
|
-
if (n.isDummy) {
|
|
750
|
-
const list = (_a = bends.get(n.edgeId)) !== null && _a !== void 0 ? _a : [];
|
|
751
|
-
list.push(p);
|
|
752
|
-
bends.set(n.edgeId, list);
|
|
753
|
-
}
|
|
754
|
-
else {
|
|
755
|
-
const original = nodeById.get(n.id);
|
|
756
|
-
// positions are TOP-LEFT (the model's convention), not centres
|
|
757
|
-
positions.set(n.id, { x: p.x - original.width / 2, y: p.y - original.height / 2 });
|
|
758
|
-
}
|
|
759
|
-
}
|
|
760
|
-
});
|
|
761
|
-
// Restore the edges we reversed for cycle-breaking, so bend chains read in the
|
|
762
|
-
// author's direction rather than the algorithm's.
|
|
763
|
-
const edgeById = new Map();
|
|
764
|
-
for (const e of edges)
|
|
765
|
-
if (!edgeById.has(e.id))
|
|
766
|
-
edgeById.set(e.id, e);
|
|
767
|
-
for (const [edgeId, list] of bends) {
|
|
768
|
-
const e = edgeById.get(edgeId);
|
|
769
|
-
if (e && reversed.has(`${e.target}->${e.source}`))
|
|
770
|
-
bends.set(edgeId, [...list].reverse());
|
|
771
|
-
}
|
|
772
|
-
return { positions, ranks, bends, crossings, stats };
|
|
773
|
-
}
|
|
774
|
-
/**
|
|
775
|
-
* Card 1: DIRECTION INFERENCE — "TB for trees, LR for pipelines".
|
|
776
|
-
*
|
|
777
|
-
* The heuristic, stated so it can be argued with: a graph that is deep and narrow
|
|
778
|
-
* reads better across the page (a pipeline: A → B → C → D as a row, not a column),
|
|
779
|
-
* and a graph that is wide and shallow reads better down it (a tree fans out).
|
|
780
|
-
* The threshold is the aspect of the LAYER structure, not of the node count.
|
|
781
|
-
*/
|
|
782
|
-
function inferDirection(nodes, edges) {
|
|
783
|
-
var _a;
|
|
784
|
-
if (nodes.length === 0)
|
|
785
|
-
return 'TB';
|
|
786
|
-
const g = buildGraph(nodes, edges);
|
|
787
|
-
breakCycles(g);
|
|
788
|
-
const ranks = assignRanks(g, undefined);
|
|
789
|
-
const depth = Math.max(0, ...ranks.values()) + 1;
|
|
790
|
-
const widths = new Map();
|
|
791
|
-
for (const r of ranks.values())
|
|
792
|
-
widths.set(r, ((_a = widths.get(r)) !== null && _a !== void 0 ? _a : 0) + 1);
|
|
793
|
-
const maxWidth = Math.max(1, ...widths.values());
|
|
794
|
-
// Deep and narrow => a chain/pipeline => lay it out left-to-right.
|
|
795
|
-
return depth >= 4 && maxWidth <= 2 ? 'LR' : 'TB';
|
|
796
|
-
}
|
|
797
|
-
//# sourceMappingURL=sugiyama.js.map
|