@grafloria/element 0.3.18 → 0.3.20
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/esm/src/index.js +295 -0
- package/esm/src/lib/dashboard-kit/dashboard.js +590 -0
- package/esm/src/lib/dashboard-kit/grid-binder.js +1633 -0
- package/esm/src/lib/dashboard-kit/grid-mapping.js +164 -0
- package/esm/src/lib/dashboard-kit/index.js +8 -0
- package/esm/src/lib/dashboard-kit/styles.js +205 -0
- package/esm/src/lib/dashboard-kit/widgets.js +379 -0
- package/esm/src/lib/diagram-kit/card.js +199 -0
- package/esm/src/lib/diagram-kit/editing.js +448 -0
- package/esm/src/lib/diagram-kit/er.js +160 -0
- package/esm/src/lib/diagram-kit/handles.js +312 -0
- package/esm/src/lib/diagram-kit/index.js +15 -0
- package/esm/src/lib/diagram-kit/join-guidance.js +322 -0
- package/esm/src/lib/diagram-kit/rows.js +144 -0
- package/esm/src/lib/diagram-kit/styles.js +118 -0
- package/esm/src/lib/diagram-kit/uml.js +135 -0
- package/esm/src/lib/diagram-kit/update.js +244 -0
- package/esm/src/lib/grafloria-flow-element.js +266 -0
- package/esm/src/lib/grafloria.js +69 -0
- package/esm/src/lib/load.js +252 -0
- package/esm/src/lib/node-type-registry.js +42 -0
- package/esm/src/lib/stencil-kit/builders.js +18 -0
- package/esm/src/lib/stencil-kit/card-builders.js +105 -0
- package/esm/src/lib/stencil-kit/index.js +9 -0
- package/esm/src/lib/stencil-kit/palette.js +427 -0
- package/esm/src/lib/stencil-kit/shape-data.js +537 -0
- package/esm/src/lib/stencil-kit/styles.js +126 -0
- package/package.json +13 -4
- package/src/index.d.ts +2 -1
- package/src/index.js +11 -2
- package/src/lib/dashboard-kit/grid-binder.js +16 -15
- package/src/lib/dashboard-kit/styles.js +9 -3
- package/src/lib/diagram-kit/index.d.ts +1 -0
- package/src/lib/diagram-kit/index.js +11 -1
- package/src/lib/diagram-kit/join-guidance.d.ts +116 -0
- package/src/lib/diagram-kit/join-guidance.js +331 -0
- package/src/lib/stencil-kit/palette.js +60 -6
- package/src/lib/stencil-kit/shape-data.d.ts +3 -2
- package/src/lib/stencil-kit/shape-data.js +323 -31
- package/src/lib/stencil-kit/styles.js +15 -0
- package/src/libs/element/src/index.d.ts +92 -0
- package/src/libs/element/src/index.js +576 -0
- package/src/libs/element/src/lib/dashboard-kit/dashboard.d.ts +345 -0
- package/src/libs/element/src/lib/dashboard-kit/dashboard.js +594 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.d.ts +277 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.js +1636 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.d.ts +141 -0
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js +176 -0
- package/src/libs/element/src/lib/dashboard-kit/index.d.ts +5 -0
- package/src/libs/element/src/lib/dashboard-kit/index.js +33 -0
- package/src/libs/element/src/lib/dashboard-kit/styles.d.ts +25 -0
- package/src/libs/element/src/lib/dashboard-kit/styles.js +209 -0
- package/src/libs/element/src/lib/dashboard-kit/widgets.d.ts +112 -0
- package/src/libs/element/src/lib/dashboard-kit/widgets.js +389 -0
- package/src/libs/element/src/lib/diagram-kit/card.d.ts +75 -0
- package/src/libs/element/src/lib/diagram-kit/card.js +209 -0
- package/src/libs/element/src/lib/diagram-kit/editing.d.ts +58 -0
- package/src/libs/element/src/lib/diagram-kit/editing.js +453 -0
- package/src/libs/element/src/lib/diagram-kit/er.d.ts +73 -0
- package/src/libs/element/src/lib/diagram-kit/er.js +163 -0
- package/src/libs/element/src/lib/diagram-kit/handles.d.ts +181 -0
- package/src/libs/element/src/lib/diagram-kit/handles.js +325 -0
- package/src/libs/element/src/lib/diagram-kit/index.d.ts +10 -0
- package/src/libs/element/src/lib/diagram-kit/index.js +55 -0
- package/src/libs/element/src/lib/diagram-kit/join-guidance.d.ts +116 -0
- package/src/libs/element/src/lib/diagram-kit/join-guidance.js +331 -0
- package/src/libs/element/src/lib/diagram-kit/rows.d.ts +53 -0
- package/src/libs/element/src/lib/diagram-kit/rows.js +147 -0
- package/src/libs/element/src/lib/diagram-kit/styles.d.ts +18 -0
- package/src/libs/element/src/lib/diagram-kit/styles.js +122 -0
- package/src/libs/element/src/lib/diagram-kit/uml.d.ts +59 -0
- package/src/libs/element/src/lib/diagram-kit/uml.js +138 -0
- package/src/libs/element/src/lib/diagram-kit/update.d.ts +133 -0
- package/src/libs/element/src/lib/diagram-kit/update.js +251 -0
- package/src/libs/element/src/lib/grafloria-flow-element.d.ts +48 -0
- package/src/libs/element/src/lib/grafloria-flow-element.js +271 -0
- package/src/libs/element/src/lib/grafloria.d.ts +72 -0
- package/src/libs/element/src/lib/grafloria.js +74 -0
- package/src/libs/element/src/lib/load.d.ts +72 -0
- package/src/libs/element/src/lib/load.js +255 -0
- package/src/libs/element/src/lib/node-type-registry.d.ts +39 -0
- package/src/libs/element/src/lib/node-type-registry.js +50 -0
- package/src/libs/element/src/lib/stencil-kit/builders.d.ts +45 -0
- package/src/libs/element/src/lib/stencil-kit/builders.js +24 -0
- package/src/libs/element/src/lib/stencil-kit/card-builders.d.ts +2 -0
- package/src/libs/element/src/lib/stencil-kit/card-builders.js +108 -0
- package/src/libs/element/src/lib/stencil-kit/index.d.ts +7 -0
- package/src/libs/element/src/lib/stencil-kit/index.js +19 -0
- package/src/libs/element/src/lib/stencil-kit/palette.d.ts +93 -0
- package/src/libs/element/src/lib/stencil-kit/palette.js +430 -0
- package/src/libs/element/src/lib/stencil-kit/shape-data.d.ts +28 -0
- package/src/libs/element/src/lib/stencil-kit/shape-data.js +540 -0
- package/src/libs/element/src/lib/stencil-kit/styles.d.ts +2 -0
- package/src/libs/element/src/lib/stencil-kit/styles.js +129 -0
- package/src/libs/engine/src/adapters/component-adapter.interface.d.ts +302 -0
- package/src/libs/engine/src/adapters/component-adapter.interface.js +84 -0
- package/src/libs/engine/src/adapters/index.d.ts +7 -0
- package/src/libs/engine/src/adapters/index.js +11 -0
- package/src/libs/engine/src/clipboard/ClipboardManager.d.ts +81 -0
- package/src/libs/engine/src/clipboard/ClipboardManager.js +108 -0
- package/src/libs/engine/src/clipboard/index.d.ts +1 -0
- package/src/libs/engine/src/clipboard/index.js +6 -0
- package/src/libs/engine/src/collab/apply-op.d.ts +42 -0
- package/src/libs/engine/src/collab/apply-op.js +939 -0
- package/src/libs/engine/src/collab/capture.d.ts +147 -0
- package/src/libs/engine/src/collab/capture.js +510 -0
- package/src/libs/engine/src/collab/index.d.ts +12 -0
- package/src/libs/engine/src/collab/index.js +84 -0
- package/src/libs/engine/src/collab/integrity.d.ts +178 -0
- package/src/libs/engine/src/collab/integrity.js +438 -0
- package/src/libs/engine/src/collab/lww.d.ts +47 -0
- package/src/libs/engine/src/collab/lww.js +188 -0
- package/src/libs/engine/src/collab/op-log.d.ts +50 -0
- package/src/libs/engine/src/collab/op-log.js +167 -0
- package/src/libs/engine/src/collab/op.d.ts +120 -0
- package/src/libs/engine/src/collab/op.js +118 -0
- package/src/libs/engine/src/collab/replica.d.ts +188 -0
- package/src/libs/engine/src/collab/replica.js +526 -0
- package/src/libs/engine/src/collab/undo.d.ts +106 -0
- package/src/libs/engine/src/collab/undo.js +388 -0
- package/src/libs/engine/src/commands/Command.d.ts +66 -0
- package/src/libs/engine/src/commands/Command.js +64 -0
- package/src/libs/engine/src/commands/CommandManager.d.ts +161 -0
- package/src/libs/engine/src/commands/CommandManager.js +417 -0
- package/src/libs/engine/src/commands/basic/AddGroupCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/AddGroupCommand.js +50 -0
- package/src/libs/engine/src/commands/basic/AddLinkCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/AddLinkCommand.js +50 -0
- package/src/libs/engine/src/commands/basic/AddNodeCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/AddNodeCommand.js +65 -0
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.js +73 -0
- package/src/libs/engine/src/commands/basic/AlignCommands.d.ts +42 -0
- package/src/libs/engine/src/commands/basic/AlignCommands.js +138 -0
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js +70 -0
- package/src/libs/engine/src/commands/basic/CopyCommand.d.ts +29 -0
- package/src/libs/engine/src/commands/basic/CopyCommand.js +131 -0
- package/src/libs/engine/src/commands/basic/CutCommand.d.ts +49 -0
- package/src/libs/engine/src/commands/basic/CutCommand.js +68 -0
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.d.ts +58 -0
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js +309 -0
- package/src/libs/engine/src/commands/basic/DuplicateCommand.d.ts +31 -0
- package/src/libs/engine/src/commands/basic/DuplicateCommand.js +232 -0
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js +69 -0
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.d.ts +46 -0
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.js +77 -0
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.d.ts +30 -0
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.js +87 -0
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.d.ts +39 -0
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js +120 -0
- package/src/libs/engine/src/commands/basic/PasteCommand.d.ts +33 -0
- package/src/libs/engine/src/commands/basic/PasteCommand.js +228 -0
- package/src/libs/engine/src/commands/basic/PortCommands.d.ts +22 -0
- package/src/libs/engine/src/commands/basic/PortCommands.js +85 -0
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.d.ts +15 -0
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js +59 -0
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js +64 -0
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js +56 -0
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.d.ts +12 -0
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js +57 -0
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.d.ts +23 -0
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js +108 -0
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.d.ts +16 -0
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js +81 -0
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.d.ts +37 -0
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.js +88 -0
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js +74 -0
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.js +74 -0
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.d.ts +16 -0
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.js +80 -0
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.d.ts +28 -0
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js +83 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.d.ts +24 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js +81 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js +75 -0
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js +77 -0
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.d.ts +32 -0
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js +87 -0
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js +93 -0
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.d.ts +26 -0
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js +81 -0
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.d.ts +14 -0
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js +69 -0
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.d.ts +15 -0
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js +88 -0
- package/src/libs/engine/src/commands/basic/SetParentCommand.d.ts +13 -0
- package/src/libs/engine/src/commands/basic/SetParentCommand.js +109 -0
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.d.ts +34 -0
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js +86 -0
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.d.ts +31 -0
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js +88 -0
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.d.ts +15 -0
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js +72 -0
- package/src/libs/engine/src/commands/basic/index.d.ts +41 -0
- package/src/libs/engine/src/commands/basic/index.js +52 -0
- package/src/libs/engine/src/commands/basic/remapNodePortIds.d.ts +23 -0
- package/src/libs/engine/src/commands/basic/remapNodePortIds.js +46 -0
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.d.ts +31 -0
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js +49 -0
- package/src/libs/engine/src/commands/composite/BatchCommand.d.ts +19 -0
- package/src/libs/engine/src/commands/composite/BatchCommand.js +61 -0
- package/src/libs/engine/src/commands/composite/MacroCommand.d.ts +35 -0
- package/src/libs/engine/src/commands/composite/MacroCommand.js +87 -0
- package/src/libs/engine/src/commands/composite/index.d.ts +2 -0
- package/src/libs/engine/src/commands/composite/index.js +7 -0
- package/src/libs/engine/src/commands/index.d.ts +4 -0
- package/src/libs/engine/src/commands/index.js +9 -0
- package/src/libs/engine/src/comments/comment-store.d.ts +238 -0
- package/src/libs/engine/src/comments/comment-store.js +538 -0
- package/src/libs/engine/src/comments/index.d.ts +4 -0
- package/src/libs/engine/src/comments/index.js +31 -0
- package/src/libs/engine/src/comments/mentions.d.ts +52 -0
- package/src/libs/engine/src/comments/mentions.js +94 -0
- package/src/libs/engine/src/comments/read-state.d.ts +37 -0
- package/src/libs/engine/src/comments/read-state.js +105 -0
- package/src/libs/engine/src/comments/types.d.ts +154 -0
- package/src/libs/engine/src/comments/types.js +107 -0
- package/src/libs/engine/src/config/InteractionConfig.d.ts +330 -0
- package/src/libs/engine/src/config/InteractionConfig.js +154 -0
- package/src/libs/engine/src/config/index.d.ts +1 -0
- package/src/libs/engine/src/config/index.js +6 -0
- package/src/libs/engine/src/dsl/DSL.d.ts +197 -0
- package/src/libs/engine/src/dsl/DSL.js +564 -0
- package/src/libs/engine/src/dsl/advanced/StyleParser.d.ts +75 -0
- package/src/libs/engine/src/dsl/advanced/StyleParser.js +166 -0
- package/src/libs/engine/src/dsl/advanced/TemplateParser.d.ts +88 -0
- package/src/libs/engine/src/dsl/advanced/TemplateParser.js +226 -0
- package/src/libs/engine/src/dsl/advanced/index.d.ts +9 -0
- package/src/libs/engine/src/dsl/advanced/index.js +13 -0
- package/src/libs/engine/src/dsl/detector/LayoutDetector.d.ts +80 -0
- package/src/libs/engine/src/dsl/detector/LayoutDetector.js +333 -0
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.d.ts +38 -0
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.js +90 -0
- package/src/libs/engine/src/dsl/extended/BPMNParser.d.ts +83 -0
- package/src/libs/engine/src/dsl/extended/BPMNParser.js +198 -0
- package/src/libs/engine/src/dsl/extended/ERDGenerator.d.ts +38 -0
- package/src/libs/engine/src/dsl/extended/ERDGenerator.js +126 -0
- package/src/libs/engine/src/dsl/extended/ERDParser.d.ts +81 -0
- package/src/libs/engine/src/dsl/extended/ERDParser.js +161 -0
- package/src/libs/engine/src/dsl/extended/ERDTransformer.d.ts +43 -0
- package/src/libs/engine/src/dsl/extended/ERDTransformer.js +105 -0
- package/src/libs/engine/src/dsl/extended/UMLGenerator.d.ts +42 -0
- package/src/libs/engine/src/dsl/extended/UMLGenerator.js +157 -0
- package/src/libs/engine/src/dsl/extended/UMLParser.d.ts +99 -0
- package/src/libs/engine/src/dsl/extended/UMLParser.js +200 -0
- package/src/libs/engine/src/dsl/extended/index.d.ts +13 -0
- package/src/libs/engine/src/dsl/extended/index.js +27 -0
- package/src/libs/engine/src/dsl/generator/DSLFormatter.d.ts +87 -0
- package/src/libs/engine/src/dsl/generator/DSLFormatter.js +261 -0
- package/src/libs/engine/src/dsl/generator/DSLGenerator.d.ts +96 -0
- package/src/libs/engine/src/dsl/generator/DSLGenerator.js +328 -0
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.d.ts +111 -0
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js +361 -0
- package/src/libs/engine/src/dsl/index.d.ts +35 -0
- package/src/libs/engine/src/dsl/index.js +64 -0
- package/src/libs/engine/src/dsl/lexer/Lexer.d.ts +117 -0
- package/src/libs/engine/src/dsl/lexer/Lexer.js +521 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.d.ts +136 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.js +429 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidER.d.ts +118 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidER.js +338 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidState.d.ts +89 -0
- package/src/libs/engine/src/dsl/mermaid/MermaidState.js +613 -0
- package/src/libs/engine/src/dsl/mermaid/index.d.ts +10 -0
- package/src/libs/engine/src/dsl/mermaid/index.js +33 -0
- package/src/libs/engine/src/dsl/mermaid/layout.d.ts +70 -0
- package/src/libs/engine/src/dsl/mermaid/layout.js +162 -0
- package/src/libs/engine/src/dsl/mermaid/lines.d.ts +25 -0
- package/src/libs/engine/src/dsl/mermaid/lines.js +74 -0
- package/src/libs/engine/src/dsl/parser/Parser.d.ts +131 -0
- package/src/libs/engine/src/dsl/parser/Parser.js +725 -0
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.d.ts +154 -0
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.js +389 -0
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.d.ts +128 -0
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js +244 -0
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.d.ts +140 -0
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.js +271 -0
- package/src/libs/engine/src/dsl/sync/SyncStateManager.d.ts +145 -0
- package/src/libs/engine/src/dsl/sync/SyncStateManager.js +253 -0
- package/src/libs/engine/src/dsl/sync/index.d.ts +13 -0
- package/src/libs/engine/src/dsl/sync/index.js +21 -0
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.d.ts +150 -0
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.js +605 -0
- package/src/libs/engine/src/dsl/types/ASTNode.d.ts +159 -0
- package/src/libs/engine/src/dsl/types/ASTNode.js +31 -0
- package/src/libs/engine/src/dsl/types/Token.d.ts +79 -0
- package/src/libs/engine/src/dsl/types/Token.js +84 -0
- package/src/libs/engine/src/engine/DiagramEngine.d.ts +917 -0
- package/src/libs/engine/src/engine/DiagramEngine.js +2190 -0
- package/src/libs/engine/src/engine/DiagramMode.d.ts +51 -0
- package/src/libs/engine/src/engine/DiagramMode.js +53 -0
- package/src/libs/engine/src/engine/DiagramModeTypes.d.ts +73 -0
- package/src/libs/engine/src/engine/DiagramModeTypes.js +4 -0
- package/src/libs/engine/src/engine/ModeManager.d.ts +155 -0
- package/src/libs/engine/src/engine/ModeManager.js +387 -0
- package/src/libs/engine/src/engine/index.d.ts +2 -0
- package/src/libs/engine/src/engine/index.js +7 -0
- package/src/libs/engine/src/events/EventBus.d.ts +106 -0
- package/src/libs/engine/src/events/EventBus.js +226 -0
- package/src/libs/engine/src/events/index.d.ts +1 -0
- package/src/libs/engine/src/events/index.js +6 -0
- package/src/libs/engine/src/index.d.ts +43 -0
- package/src/libs/engine/src/index.js +142 -0
- package/src/libs/engine/src/interaction/GroupCollapseService.d.ts +53 -0
- package/src/libs/engine/src/interaction/GroupCollapseService.js +274 -0
- package/src/libs/engine/src/interaction/GroupMembershipService.d.ts +107 -0
- package/src/libs/engine/src/interaction/GroupMembershipService.js +245 -0
- package/src/libs/engine/src/interaction/SemanticMembershipService.d.ts +28 -0
- package/src/libs/engine/src/interaction/SemanticMembershipService.js +168 -0
- package/src/libs/engine/src/interaction/SwimlaneService.d.ts +62 -0
- package/src/libs/engine/src/interaction/SwimlaneService.js +180 -0
- package/src/libs/engine/src/interaction/index.d.ts +4 -0
- package/src/libs/engine/src/interaction/index.js +9 -0
- package/src/libs/engine/src/interop/drawio/importDrawio.d.ts +52 -0
- package/src/libs/engine/src/interop/drawio/importDrawio.js +940 -0
- package/src/libs/engine/src/interop/drawio/index.d.ts +1 -0
- package/src/libs/engine/src/interop/drawio/index.js +12 -0
- package/src/libs/engine/src/interop/drawio/xml.d.ts +26 -0
- package/src/libs/engine/src/interop/drawio/xml.js +213 -0
- package/src/libs/engine/src/layout/CompoundLayoutService.d.ts +121 -0
- package/src/libs/engine/src/layout/CompoundLayoutService.js +616 -0
- package/src/libs/engine/src/layout/ILayoutAlgorithm.d.ts +120 -0
- package/src/libs/engine/src/layout/ILayoutAlgorithm.js +88 -0
- package/src/libs/engine/src/layout/LayoutManager.d.ts +155 -0
- package/src/libs/engine/src/layout/LayoutManager.js +640 -0
- package/src/libs/engine/src/layout/SmartSpacingCalculator.d.ts +62 -0
- package/src/libs/engine/src/layout/SmartSpacingCalculator.js +134 -0
- package/src/libs/engine/src/layout/ViewportTransform.d.ts +55 -0
- package/src/libs/engine/src/layout/ViewportTransform.js +118 -0
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.d.ts +34 -0
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js +317 -0
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.d.ts +56 -0
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js +223 -0
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.d.ts +60 -0
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js +307 -0
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.d.ts +62 -0
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js +324 -0
- package/src/libs/engine/src/layout/community-layout-adapter.d.ts +107 -0
- package/src/libs/engine/src/layout/community-layout-adapter.js +486 -0
- package/src/libs/engine/src/layout/component-packing.d.ts +98 -0
- package/src/libs/engine/src/layout/component-packing.js +307 -0
- package/src/libs/engine/src/layout/dagre-layout-adapter.d.ts +122 -0
- package/src/libs/engine/src/layout/dagre-layout-adapter.js +697 -0
- package/src/libs/engine/src/layout/edge-bundling.interface.d.ts +159 -0
- package/src/libs/engine/src/layout/edge-bundling.interface.js +379 -0
- package/src/libs/engine/src/layout/elk-layout-adapter.d.ts +121 -0
- package/src/libs/engine/src/layout/elk-layout-adapter.js +586 -0
- package/src/libs/engine/src/layout/elk-loader.d.ts +1 -0
- package/src/libs/engine/src/layout/elk-loader.js +24 -0
- package/src/libs/engine/src/layout/force-layout-adapter.d.ts +167 -0
- package/src/libs/engine/src/layout/force-layout-adapter.js +790 -0
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.d.ts +323 -0
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js +685 -0
- package/src/libs/engine/src/layout/incremental/mental-map.d.ts +98 -0
- package/src/libs/engine/src/layout/incremental/mental-map.js +221 -0
- package/src/libs/engine/src/layout/incremental-layout.interface.d.ts +145 -0
- package/src/libs/engine/src/layout/incremental-layout.interface.js +300 -0
- package/src/libs/engine/src/layout/index.d.ts +83 -0
- package/src/libs/engine/src/layout/index.js +116 -0
- package/src/libs/engine/src/layout/layout-adapter.interface.d.ts +185 -0
- package/src/libs/engine/src/layout/layout-adapter.interface.js +10 -0
- package/src/libs/engine/src/layout/layout-auto-select.d.ts +160 -0
- package/src/libs/engine/src/layout/layout-auto-select.js +621 -0
- package/src/libs/engine/src/layout/layout-constraints.interface.d.ts +117 -0
- package/src/libs/engine/src/layout/layout-constraints.interface.js +138 -0
- package/src/libs/engine/src/layout/layout-graph.d.ts +70 -0
- package/src/libs/engine/src/layout/layout-graph.js +119 -0
- package/src/libs/engine/src/layout/layout-history.d.ts +147 -0
- package/src/libs/engine/src/layout/layout-history.js +258 -0
- package/src/libs/engine/src/layout/layout-host.d.ts +172 -0
- package/src/libs/engine/src/layout/layout-host.js +523 -0
- package/src/libs/engine/src/layout/layout-presets.d.ts +91 -0
- package/src/libs/engine/src/layout/layout-presets.js +333 -0
- package/src/libs/engine/src/layout/layout-quality-extended.d.ts +66 -0
- package/src/libs/engine/src/layout/layout-quality-extended.js +246 -0
- package/src/libs/engine/src/layout/layout-quality-metrics.d.ts +127 -0
- package/src/libs/engine/src/layout/layout-quality-metrics.js +466 -0
- package/src/libs/engine/src/layout/layout-registry.d.ts +309 -0
- package/src/libs/engine/src/layout/layout-registry.js +414 -0
- package/src/libs/engine/src/layout/layout.service.d.ts +100 -0
- package/src/libs/engine/src/layout/layout.service.js +216 -0
- package/src/libs/engine/src/layout/overlap-removal.d.ts +20 -0
- package/src/libs/engine/src/layout/overlap-removal.js +117 -0
- package/src/libs/engine/src/layout/port-aware-layout.interface.d.ts +232 -0
- package/src/libs/engine/src/layout/port-aware-layout.interface.js +413 -0
- package/src/libs/engine/src/layout/port-label-bridge.d.ts +77 -0
- package/src/libs/engine/src/layout/port-label-bridge.js +250 -0
- package/src/libs/engine/src/layout/portfolio-layouts.d.ts +53 -0
- package/src/libs/engine/src/layout/portfolio-layouts.js +388 -0
- package/src/libs/engine/src/layout/rng.d.ts +34 -0
- package/src/libs/engine/src/layout/rng.js +71 -0
- package/src/libs/engine/src/layout/spectral-layout-adapter.d.ts +72 -0
- package/src/libs/engine/src/layout/spectral-layout-adapter.js +379 -0
- package/src/libs/engine/src/layout/steppable-layout.d.ts +40 -0
- package/src/libs/engine/src/layout/steppable-layout.js +34 -0
- package/src/libs/engine/src/layout/subgraph-layout.interface.d.ts +269 -0
- package/src/libs/engine/src/layout/subgraph-layout.interface.js +452 -0
- package/src/libs/engine/src/layout/sugiyama/layered-layout.d.ts +9 -0
- package/src/libs/engine/src/layout/sugiyama/layered-layout.js +83 -0
- package/src/libs/engine/src/layout/sugiyama/sugiyama.d.ts +91 -0
- package/src/libs/engine/src/layout/sugiyama/sugiyama.js +797 -0
- package/src/libs/engine/src/layout/tree-layout.d.ts +43 -0
- package/src/libs/engine/src/layout/tree-layout.js +426 -0
- package/src/libs/engine/src/layout/types.d.ts +263 -0
- package/src/libs/engine/src/layout/types.js +6 -0
- package/src/libs/engine/src/lib/performance/mobile-performance.service.d.ts +43 -0
- package/src/libs/engine/src/lib/performance/mobile-performance.service.js +95 -0
- package/src/libs/engine/src/models/DiagramEntity.d.ts +174 -0
- package/src/libs/engine/src/models/DiagramEntity.js +366 -0
- package/src/libs/engine/src/models/DiagramModel.d.ts +960 -0
- package/src/libs/engine/src/models/DiagramModel.js +2416 -0
- package/src/libs/engine/src/models/GroupModel.d.ts +573 -0
- package/src/libs/engine/src/models/GroupModel.js +1373 -0
- package/src/libs/engine/src/models/LinkModel.d.ts +395 -0
- package/src/libs/engine/src/models/LinkModel.js +1045 -0
- package/src/libs/engine/src/models/NodeModel.d.ts +666 -0
- package/src/libs/engine/src/models/NodeModel.js +1512 -0
- package/src/libs/engine/src/models/PortModel.d.ts +292 -0
- package/src/libs/engine/src/models/PortModel.js +637 -0
- package/src/libs/engine/src/models/StrokeModel.d.ts +160 -0
- package/src/libs/engine/src/models/StrokeModel.js +387 -0
- package/src/libs/engine/src/models/index.d.ts +7 -0
- package/src/libs/engine/src/models/index.js +12 -0
- package/src/libs/engine/src/models/readonly-lock.d.ts +108 -0
- package/src/libs/engine/src/models/readonly-lock.js +125 -0
- package/src/libs/engine/src/performance/LRUCache.d.ts +78 -0
- package/src/libs/engine/src/performance/LRUCache.js +179 -0
- package/src/libs/engine/src/performance/PerformanceMonitor.d.ts +47 -0
- package/src/libs/engine/src/performance/PerformanceMonitor.js +112 -0
- package/src/libs/engine/src/performance/SpatialIndex.d.ts +157 -0
- package/src/libs/engine/src/performance/SpatialIndex.js +306 -0
- package/src/libs/engine/src/performance/index.d.ts +2 -0
- package/src/libs/engine/src/performance/index.js +7 -0
- package/src/libs/engine/src/plugins/PluginManager.d.ts +95 -0
- package/src/libs/engine/src/plugins/PluginManager.js +388 -0
- package/src/libs/engine/src/plugins/index.d.ts +1 -0
- package/src/libs/engine/src/plugins/index.js +6 -0
- package/src/libs/engine/src/ports/connection-rules.d.ts +32 -0
- package/src/libs/engine/src/ports/connection-rules.js +131 -0
- package/src/libs/engine/src/ports/dynamic-ports.d.ts +27 -0
- package/src/libs/engine/src/ports/dynamic-ports.js +135 -0
- package/src/libs/engine/src/ports/index.d.ts +5 -0
- package/src/libs/engine/src/ports/index.js +16 -0
- package/src/libs/engine/src/ports/port-groups.d.ts +43 -0
- package/src/libs/engine/src/ports/port-groups.js +185 -0
- package/src/libs/engine/src/ports/port-type-registry.d.ts +34 -0
- package/src/libs/engine/src/ports/port-type-registry.js +87 -0
- package/src/libs/engine/src/ports/port-types.d.ts +266 -0
- package/src/libs/engine/src/ports/port-types.js +30 -0
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.d.ts +136 -0
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js +292 -0
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.d.ts +160 -0
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.js +362 -0
- package/src/libs/engine/src/rendering/index.d.ts +2 -0
- package/src/libs/engine/src/rendering/index.js +7 -0
- package/src/libs/engine/src/routing/LiveReroutingEngine.d.ts +75 -0
- package/src/libs/engine/src/routing/LiveReroutingEngine.js +173 -0
- package/src/libs/engine/src/routing/ObstacleIndex.d.ts +42 -0
- package/src/libs/engine/src/routing/ObstacleIndex.js +215 -0
- package/src/libs/engine/src/routing/ObstacleMap.d.ts +68 -0
- package/src/libs/engine/src/routing/ObstacleMap.js +312 -0
- package/src/libs/engine/src/routing/ObstacleMapBuilder.d.ts +28 -0
- package/src/libs/engine/src/routing/ObstacleMapBuilder.js +76 -0
- package/src/libs/engine/src/routing/PathSimplifier.d.ts +119 -0
- package/src/libs/engine/src/routing/PathSimplifier.js +224 -0
- package/src/libs/engine/src/routing/RoutingEngine.d.ts +118 -0
- package/src/libs/engine/src/routing/RoutingEngine.js +546 -0
- package/src/libs/engine/src/routing/algorithms/AStarRouter.d.ts +90 -0
- package/src/libs/engine/src/routing/algorithms/AStarRouter.js +331 -0
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.d.ts +74 -0
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js +297 -0
- package/src/libs/engine/src/routing/algorithms/ElkRouter.d.ts +34 -0
- package/src/libs/engine/src/routing/algorithms/ElkRouter.js +210 -0
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.d.ts +18 -0
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js +224 -0
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.d.ts +173 -0
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js +1092 -0
- package/src/libs/engine/src/routing/algorithms/StraightRouter.d.ts +8 -0
- package/src/libs/engine/src/routing/algorithms/StraightRouter.js +53 -0
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.d.ts +59 -0
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js +258 -0
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.d.ts +64 -0
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.js +334 -0
- package/src/libs/engine/src/routing/global/solver-host.d.ts +65 -0
- package/src/libs/engine/src/routing/global/solver-host.js +87 -0
- package/src/libs/engine/src/routing/index.d.ts +15 -0
- package/src/libs/engine/src/routing/index.js +20 -0
- package/src/libs/engine/src/routing/types.d.ts +161 -0
- package/src/libs/engine/src/routing/types.js +4 -0
- package/src/libs/engine/src/selection/SelectionManager.d.ts +161 -0
- package/src/libs/engine/src/selection/SelectionManager.js +483 -0
- package/src/libs/engine/src/selection/index.d.ts +1 -0
- package/src/libs/engine/src/selection/index.js +6 -0
- package/src/libs/engine/src/serialization/DiagramMigrations.d.ts +41 -0
- package/src/libs/engine/src/serialization/DiagramMigrations.js +124 -0
- package/src/libs/engine/src/serialization/DiagramValidator.d.ts +20 -0
- package/src/libs/engine/src/serialization/DiagramValidator.js +136 -0
- package/src/libs/engine/src/serialization/DocumentEnvelope.d.ts +53 -0
- package/src/libs/engine/src/serialization/DocumentEnvelope.js +111 -0
- package/src/libs/engine/src/serialization/Incremental.d.ts +77 -0
- package/src/libs/engine/src/serialization/Incremental.js +227 -0
- package/src/libs/engine/src/serialization/Serializer.d.ts +29 -0
- package/src/libs/engine/src/serialization/Serializer.js +45 -0
- package/src/libs/engine/src/serialization/Subgraph.d.ts +51 -0
- package/src/libs/engine/src/serialization/Subgraph.js +172 -0
- package/src/libs/engine/src/serialization/TextFormat.d.ts +71 -0
- package/src/libs/engine/src/serialization/TextFormat.js +261 -0
- package/src/libs/engine/src/state/ConnectionStateManager.d.ts +178 -0
- package/src/libs/engine/src/state/ConnectionStateManager.js +319 -0
- package/src/libs/engine/src/state/DiagramStore.d.ts +134 -0
- package/src/libs/engine/src/state/DiagramStore.js +372 -0
- package/src/libs/engine/src/state/index.d.ts +2 -0
- package/src/libs/engine/src/state/index.js +7 -0
- package/src/libs/engine/src/sync/awareness.d.ts +91 -0
- package/src/libs/engine/src/sync/awareness.js +221 -0
- package/src/libs/engine/src/sync/batcher.d.ts +84 -0
- package/src/libs/engine/src/sync/batcher.js +0 -0
- package/src/libs/engine/src/sync/causal-buffer.d.ts +81 -0
- package/src/libs/engine/src/sync/causal-buffer.js +199 -0
- package/src/libs/engine/src/sync/index.d.ts +20 -0
- package/src/libs/engine/src/sync/index.js +41 -0
- package/src/libs/engine/src/sync/protocol.d.ts +74 -0
- package/src/libs/engine/src/sync/protocol.js +39 -0
- package/src/libs/engine/src/sync/sync-adapter.d.ts +243 -0
- package/src/libs/engine/src/sync/sync-adapter.js +524 -0
- package/src/libs/engine/src/sync/transport.d.ts +30 -0
- package/src/libs/engine/src/sync/transport.js +28 -0
- package/src/libs/engine/src/sync/transports/broadcast-channel.d.ts +39 -0
- package/src/libs/engine/src/sync/transports/broadcast-channel.js +117 -0
- package/src/libs/engine/src/sync/transports/memory.d.ts +38 -0
- package/src/libs/engine/src/sync/transports/memory.js +111 -0
- package/src/libs/engine/src/sync/transports/unreliable.d.ts +59 -0
- package/src/libs/engine/src/sync/transports/unreliable.js +153 -0
- package/src/libs/engine/src/sync/transports/websocket.d.ts +60 -0
- package/src/libs/engine/src/sync/transports/websocket.js +210 -0
- package/src/libs/engine/src/sync/version-vector.d.ts +47 -0
- package/src/libs/engine/src/sync/version-vector.js +218 -0
- package/src/libs/engine/src/template-library/common-templates.d.ts +46 -0
- package/src/libs/engine/src/template-library/common-templates.js +395 -0
- package/src/libs/engine/src/template-library/data-viz-templates.d.ts +52 -0
- package/src/libs/engine/src/template-library/data-viz-templates.js +471 -0
- package/src/libs/engine/src/template-library/erd-templates.d.ts +71 -0
- package/src/libs/engine/src/template-library/erd-templates.js +773 -0
- package/src/libs/engine/src/template-library/index.d.ts +141 -0
- package/src/libs/engine/src/template-library/index.js +271 -0
- package/src/libs/engine/src/template-library/integration.d.ts +80 -0
- package/src/libs/engine/src/template-library/integration.js +141 -0
- package/src/libs/engine/src/template-library/workflow-templates.d.ts +52 -0
- package/src/libs/engine/src/template-library/workflow-templates.js +438 -0
- package/src/libs/engine/src/templates/NodeFactory.d.ts +118 -0
- package/src/libs/engine/src/templates/NodeFactory.js +436 -0
- package/src/libs/engine/src/templates/NodeTemplate.d.ts +342 -0
- package/src/libs/engine/src/templates/NodeTemplate.js +13 -0
- package/src/libs/engine/src/templates/TemplateLoader.d.ts +46 -0
- package/src/libs/engine/src/templates/TemplateLoader.js +114 -0
- package/src/libs/engine/src/templates/TemplateRegistry.d.ts +70 -0
- package/src/libs/engine/src/templates/TemplateRegistry.js +128 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js +124 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js +124 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js +122 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js +125 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js +152 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js +123 -0
- package/src/libs/engine/src/templates/generated/bpmn/index.d.ts +15 -0
- package/src/libs/engine/src/templates/generated/bpmn/index.js +34 -0
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js +152 -0
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js +151 -0
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js +149 -0
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js +121 -0
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.js +123 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js +149 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js +122 -0
- package/src/libs/engine/src/templates/generated/erd/index.d.ts +19 -0
- package/src/libs/engine/src/templates/generated/erd/index.js +42 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js +122 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js +122 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js +122 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js +123 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js +124 -0
- package/src/libs/engine/src/templates/generated/flowchart/index.d.ts +16 -0
- package/src/libs/engine/src/templates/generated/flowchart/index.js +36 -0
- package/src/libs/engine/src/templates/generated/index.d.ts +9 -0
- package/src/libs/engine/src/templates/generated/index.js +13 -0
- package/src/libs/engine/src/templates/generated/register.d.ts +23 -0
- package/src/libs/engine/src/templates/generated/register.js +31 -0
- package/src/libs/engine/src/templates/generated/uml/index.d.ts +30 -0
- package/src/libs/engine/src/templates/generated/uml/index.js +64 -0
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js +124 -0
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js +125 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.js +125 -0
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.js +122 -0
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js +204 -0
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.js +123 -0
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.d.ts +11 -0
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js +122 -0
- package/src/libs/engine/src/templates/index.d.ts +12 -0
- package/src/libs/engine/src/templates/index.js +27 -0
- package/src/libs/engine/src/templates/stencils.d.ts +45 -0
- package/src/libs/engine/src/templates/stencils.js +85 -0
- package/src/libs/engine/src/types/domain/bpmn.d.ts +25 -0
- package/src/libs/engine/src/types/domain/bpmn.js +313 -0
- package/src/libs/engine/src/types/domain/erd.d.ts +29 -0
- package/src/libs/engine/src/types/domain/erd.js +394 -0
- package/src/libs/engine/src/types/domain/flowchart.d.ts +26 -0
- package/src/libs/engine/src/types/domain/flowchart.js +434 -0
- package/src/libs/engine/src/types/domain/index.d.ts +4 -0
- package/src/libs/engine/src/types/domain/index.js +9 -0
- package/src/libs/engine/src/types/domain/uml.d.ts +40 -0
- package/src/libs/engine/src/types/domain/uml.js +758 -0
- package/src/libs/engine/src/types/event.types.d.ts +142 -0
- package/src/libs/engine/src/types/event.types.js +96 -0
- package/src/libs/engine/src/types/geometry.types.d.ts +84 -0
- package/src/libs/engine/src/types/geometry.types.js +16 -0
- package/src/libs/engine/src/types/index.d.ts +7 -0
- package/src/libs/engine/src/types/index.js +14 -0
- package/src/libs/engine/src/types/layout.types.d.ts +148 -0
- package/src/libs/engine/src/types/layout.types.js +28 -0
- package/src/libs/engine/src/types/model.types.d.ts +378 -0
- package/src/libs/engine/src/types/model.types.js +4 -0
- package/src/libs/engine/src/types/performance.types.d.ts +109 -0
- package/src/libs/engine/src/types/performance.types.js +122 -0
- package/src/libs/engine/src/types/plugin.types.d.ts +30 -0
- package/src/libs/engine/src/types/plugin.types.js +4 -0
- package/src/libs/engine/src/utils/deep-clone.d.ts +9 -0
- package/src/libs/engine/src/utils/deep-clone.js +123 -0
- package/src/libs/engine/src/utils/geometry.d.ts +45 -0
- package/src/libs/engine/src/utils/geometry.js +241 -0
- package/src/libs/engine/src/utils/id.d.ts +22 -0
- package/src/libs/engine/src/utils/id.js +44 -0
- package/src/libs/engine/src/utils/index.d.ts +3 -0
- package/src/libs/engine/src/utils/index.js +8 -0
- package/src/libs/engine/src/utils/transform.d.ts +84 -0
- package/src/libs/engine/src/utils/transform.js +200 -0
- package/src/libs/engine/src/validation/ConnectionGroupValidator.d.ts +22 -0
- package/src/libs/engine/src/validation/ConnectionGroupValidator.js +56 -0
- package/src/libs/engine/src/validation/TypeRegistry.d.ts +179 -0
- package/src/libs/engine/src/validation/TypeRegistry.js +358 -0
- package/src/libs/engine/src/validation/ValidationEngine.d.ts +79 -0
- package/src/libs/engine/src/validation/ValidationEngine.js +1150 -0
- package/src/libs/engine/src/validation/index.d.ts +3 -0
- package/src/libs/engine/src/validation/index.js +8 -0
- package/src/libs/renderer/src/a11y/diagram-outline.d.ts +93 -0
- package/src/libs/renderer/src/a11y/diagram-outline.js +0 -0
- package/src/libs/renderer/src/a11y/focus-containment.d.ts +90 -0
- package/src/libs/renderer/src/a11y/focus-containment.js +173 -0
- package/src/libs/renderer/src/a11y/graph-topology.d.ts +70 -0
- package/src/libs/renderer/src/a11y/graph-topology.js +0 -0
- package/src/libs/renderer/src/a11y/index.d.ts +26 -0
- package/src/libs/renderer/src/a11y/index.js +30 -0
- package/src/libs/renderer/src/a11y/live-region.d.ts +83 -0
- package/src/libs/renderer/src/a11y/live-region.js +170 -0
- package/src/libs/renderer/src/a11y/outline-view.d.ts +62 -0
- package/src/libs/renderer/src/a11y/outline-view.js +158 -0
- package/src/libs/renderer/src/a11y/reduced-motion.d.ts +48 -0
- package/src/libs/renderer/src/a11y/reduced-motion.js +223 -0
- package/src/libs/renderer/src/a11y/semantics.d.ts +76 -0
- package/src/libs/renderer/src/a11y/semantics.js +229 -0
- package/src/libs/renderer/src/canvas/canvas-context.d.ts +167 -0
- package/src/libs/renderer/src/canvas/canvas-context.js +267 -0
- package/src/libs/renderer/src/canvas/canvas-renderer.d.ts +194 -0
- package/src/libs/renderer/src/canvas/canvas-renderer.js +600 -0
- package/src/libs/renderer/src/canvas/dirty-region.d.ts +56 -0
- package/src/libs/renderer/src/canvas/dirty-region.js +171 -0
- package/src/libs/renderer/src/canvas/index.d.ts +16 -0
- package/src/libs/renderer/src/canvas/index.js +79 -0
- package/src/libs/renderer/src/canvas/path-geometry.d.ts +112 -0
- package/src/libs/renderer/src/canvas/path-geometry.js +673 -0
- package/src/libs/renderer/src/canvas/render-backend.d.ts +133 -0
- package/src/libs/renderer/src/canvas/render-backend.js +339 -0
- package/src/libs/renderer/src/canvas/style-resolution.d.ts +101 -0
- package/src/libs/renderer/src/canvas/style-resolution.js +466 -0
- package/src/libs/renderer/src/canvas/tier-policy.d.ts +33 -0
- package/src/libs/renderer/src/canvas/tier-policy.js +89 -0
- package/src/libs/renderer/src/canvas/vnode-painter.d.ts +154 -0
- package/src/libs/renderer/src/canvas/vnode-painter.js +649 -0
- package/src/libs/renderer/src/comments/comment-overlay.d.ts +56 -0
- package/src/libs/renderer/src/comments/comment-overlay.js +127 -0
- package/src/libs/renderer/src/comments/comment-panel.d.ts +45 -0
- package/src/libs/renderer/src/comments/comment-panel.js +287 -0
- package/src/libs/renderer/src/comments/comment-pins.d.ts +34 -0
- package/src/libs/renderer/src/comments/comment-pins.js +227 -0
- package/src/libs/renderer/src/comments/index.d.ts +3 -0
- package/src/libs/renderer/src/comments/index.js +17 -0
- package/src/libs/renderer/src/export/assets.d.ts +96 -0
- package/src/libs/renderer/src/export/assets.js +350 -0
- package/src/libs/renderer/src/export/batch.d.ts +49 -0
- package/src/libs/renderer/src/export/batch.js +95 -0
- package/src/libs/renderer/src/export/bounds.d.ts +81 -0
- package/src/libs/renderer/src/export/bounds.js +367 -0
- package/src/libs/renderer/src/export/capture-host.d.ts +39 -0
- package/src/libs/renderer/src/export/capture-host.js +1259 -0
- package/src/libs/renderer/src/export/custom-nodes.d.ts +88 -0
- package/src/libs/renderer/src/export/custom-nodes.js +237 -0
- package/src/libs/renderer/src/export/index.d.ts +14 -0
- package/src/libs/renderer/src/export/index.js +30 -0
- package/src/libs/renderer/src/export/node-raster.d.ts +60 -0
- package/src/libs/renderer/src/export/node-raster.js +161 -0
- package/src/libs/renderer/src/export/pagination.d.ts +116 -0
- package/src/libs/renderer/src/export/pagination.js +245 -0
- package/src/libs/renderer/src/export/pdf/flate.d.ts +13 -0
- package/src/libs/renderer/src/export/pdf/flate.js +287 -0
- package/src/libs/renderer/src/export/pdf/index.d.ts +4 -0
- package/src/libs/renderer/src/export/pdf/index.js +15 -0
- package/src/libs/renderer/src/export/pdf/pdf-export.d.ts +64 -0
- package/src/libs/renderer/src/export/pdf/pdf-export.js +1076 -0
- package/src/libs/renderer/src/export/pdf/pdf-path.d.ts +17 -0
- package/src/libs/renderer/src/export/pdf/pdf-path.js +85 -0
- package/src/libs/renderer/src/export/pdf/pdf-primitives.d.ts +115 -0
- package/src/libs/renderer/src/export/pdf/pdf-primitives.js +338 -0
- package/src/libs/renderer/src/export/pdf/png.d.ts +25 -0
- package/src/libs/renderer/src/export/pdf/png.js +596 -0
- package/src/libs/renderer/src/export/raster.d.ts +42 -0
- package/src/libs/renderer/src/export/raster.js +126 -0
- package/src/libs/renderer/src/export/round-trip.d.ts +83 -0
- package/src/libs/renderer/src/export/round-trip.js +432 -0
- package/src/libs/renderer/src/export/scope.d.ts +16 -0
- package/src/libs/renderer/src/export/scope.js +69 -0
- package/src/libs/renderer/src/export/style-flattener.d.ts +23 -0
- package/src/libs/renderer/src/export/style-flattener.js +144 -0
- package/src/libs/renderer/src/export/svg-export.d.ts +123 -0
- package/src/libs/renderer/src/export/svg-export.js +178 -0
- package/src/libs/renderer/src/export/vnode-serializer.d.ts +75 -0
- package/src/libs/renderer/src/export/vnode-serializer.js +344 -0
- package/src/libs/renderer/src/ext/capabilities.d.ts +178 -0
- package/src/libs/renderer/src/ext/capabilities.js +22 -0
- package/src/libs/renderer/src/ext/capability-factory.d.ts +44 -0
- package/src/libs/renderer/src/ext/capability-factory.js +194 -0
- package/src/libs/renderer/src/ext/components/attach.d.ts +66 -0
- package/src/libs/renderer/src/ext/components/attach.js +112 -0
- package/src/libs/renderer/src/ext/components/background.d.ts +84 -0
- package/src/libs/renderer/src/ext/components/background.js +202 -0
- package/src/libs/renderer/src/ext/components/controls.d.ts +49 -0
- package/src/libs/renderer/src/ext/components/controls.js +144 -0
- package/src/libs/renderer/src/ext/components/minimap.d.ts +78 -0
- package/src/libs/renderer/src/ext/components/minimap.js +326 -0
- package/src/libs/renderer/src/ext/diagram-registry.d.ts +109 -0
- package/src/libs/renderer/src/ext/diagram-registry.js +303 -0
- package/src/libs/renderer/src/ext/disposable.d.ts +51 -0
- package/src/libs/renderer/src/ext/disposable.js +104 -0
- package/src/libs/renderer/src/ext/extension-host.d.ts +144 -0
- package/src/libs/renderer/src/ext/extension-host.js +272 -0
- package/src/libs/renderer/src/ext/index.d.ts +62 -0
- package/src/libs/renderer/src/ext/index.js +91 -0
- package/src/libs/renderer/src/ext/link-pipeline.d.ts +195 -0
- package/src/libs/renderer/src/ext/link-pipeline.js +431 -0
- package/src/libs/renderer/src/ext/manifest.d.ts +73 -0
- package/src/libs/renderer/src/ext/manifest.js +149 -0
- package/src/libs/renderer/src/ext/node-component.d.ts +114 -0
- package/src/libs/renderer/src/ext/node-component.js +290 -0
- package/src/libs/renderer/src/ext/plugins-loader.d.ts +1 -0
- package/src/libs/renderer/src/ext/plugins-loader.js +18 -0
- package/src/libs/renderer/src/ext/portal.d.ts +129 -0
- package/src/libs/renderer/src/ext/portal.js +267 -0
- package/src/libs/renderer/src/ext/public-api.d.ts +101 -0
- package/src/libs/renderer/src/ext/public-api.js +201 -0
- package/src/libs/renderer/src/ext/registry-scope.d.ts +93 -0
- package/src/libs/renderer/src/ext/registry-scope.js +142 -0
- package/src/libs/renderer/src/ext/tools.d.ts +164 -0
- package/src/libs/renderer/src/ext/tools.js +170 -0
- package/src/libs/renderer/src/index.d.ts +34 -0
- package/src/libs/renderer/src/index.js +108 -0
- package/src/libs/renderer/src/instance/create-diagram.d.ts +385 -0
- package/src/libs/renderer/src/instance/create-diagram.js +1150 -0
- package/src/libs/renderer/src/instance/diagram-instance.d.ts +48 -0
- package/src/libs/renderer/src/instance/diagram-instance.js +51 -0
- package/src/libs/renderer/src/instance/dom-event-binder.d.ts +394 -0
- package/src/libs/renderer/src/instance/dom-event-binder.js +2104 -0
- package/src/libs/renderer/src/instance/index.d.ts +5 -0
- package/src/libs/renderer/src/instance/index.js +13 -0
- package/src/libs/renderer/src/instance/layers.d.ts +31 -0
- package/src/libs/renderer/src/instance/layers.js +43 -0
- package/src/libs/renderer/src/instance/model-input.d.ts +229 -0
- package/src/libs/renderer/src/instance/model-input.js +325 -0
- package/src/libs/renderer/src/instance/render-scheduler.d.ts +79 -0
- package/src/libs/renderer/src/instance/render-scheduler.js +96 -0
- package/src/libs/renderer/src/instance/wheel-scroll-yield.d.ts +38 -0
- package/src/libs/renderer/src/instance/wheel-scroll-yield.js +118 -0
- package/src/libs/renderer/src/interaction/ControlPointEditor.d.ts +160 -0
- package/src/libs/renderer/src/interaction/ControlPointEditor.js +360 -0
- package/src/libs/renderer/src/interaction/WaypointEditor.d.ts +133 -0
- package/src/libs/renderer/src/interaction/WaypointEditor.js +263 -0
- package/src/libs/renderer/src/interaction/highlighters.d.ts +88 -0
- package/src/libs/renderer/src/interaction/highlighters.js +212 -0
- package/src/libs/renderer/src/interaction/in-place-editor.d.ts +63 -0
- package/src/libs/renderer/src/interaction/in-place-editor.js +141 -0
- package/src/libs/renderer/src/interaction/index.d.ts +11 -0
- package/src/libs/renderer/src/interaction/index.js +29 -0
- package/src/libs/renderer/src/interaction/ink-overlay.d.ts +53 -0
- package/src/libs/renderer/src/interaction/ink-overlay.js +154 -0
- package/src/libs/renderer/src/interaction/interaction-controller.d.ts +555 -0
- package/src/libs/renderer/src/interaction/interaction-controller.js +1733 -0
- package/src/libs/renderer/src/interaction/keyboard-navigation.d.ts +223 -0
- package/src/libs/renderer/src/interaction/keyboard-navigation.js +885 -0
- package/src/libs/renderer/src/interaction/selection-tools.d.ts +343 -0
- package/src/libs/renderer/src/interaction/selection-tools.js +918 -0
- package/src/libs/renderer/src/interaction/snapping.d.ts +210 -0
- package/src/libs/renderer/src/interaction/snapping.js +569 -0
- package/src/libs/renderer/src/interaction/touch-gestures.d.ts +160 -0
- package/src/libs/renderer/src/interaction/touch-gestures.js +549 -0
- package/src/libs/renderer/src/interaction/whiteboard-tools.d.ts +171 -0
- package/src/libs/renderer/src/interaction/whiteboard-tools.js +476 -0
- package/src/libs/renderer/src/lazy/host-culling.d.ts +116 -0
- package/src/libs/renderer/src/lazy/host-culling.js +135 -0
- package/src/libs/renderer/src/lazy/index.d.ts +7 -0
- package/src/libs/renderer/src/lazy/index.js +28 -0
- package/src/libs/renderer/src/lazy/progressive-mounter.d.ts +80 -0
- package/src/libs/renderer/src/lazy/progressive-mounter.js +264 -0
- package/src/libs/renderer/src/lazy/types.d.ts +43 -0
- package/src/libs/renderer/src/lazy/types.js +14 -0
- package/src/libs/renderer/src/lazy/view-lifecycle.d.ts +97 -0
- package/src/libs/renderer/src/lazy/view-lifecycle.js +221 -0
- package/src/libs/renderer/src/perf/index.d.ts +2 -0
- package/src/libs/renderer/src/perf/index.js +7 -0
- package/src/libs/renderer/src/perf/perf-hud.d.ts +46 -0
- package/src/libs/renderer/src/perf/perf-hud.js +105 -0
- package/src/libs/renderer/src/perf/quality-governor.d.ts +77 -0
- package/src/libs/renderer/src/perf/quality-governor.js +154 -0
- package/src/libs/renderer/src/platform/index.d.ts +1 -0
- package/src/libs/renderer/src/platform/index.js +5 -0
- package/src/libs/renderer/src/platform/platform.d.ts +34 -0
- package/src/libs/renderer/src/platform/platform.js +64 -0
- package/src/libs/renderer/src/presence/bind-presence.d.ts +51 -0
- package/src/libs/renderer/src/presence/bind-presence.js +144 -0
- package/src/libs/renderer/src/presence/index.d.ts +4 -0
- package/src/libs/renderer/src/presence/index.js +18 -0
- package/src/libs/renderer/src/presence/presence-overlay.d.ts +121 -0
- package/src/libs/renderer/src/presence/presence-overlay.js +465 -0
- package/src/libs/renderer/src/presentation/index.d.ts +3 -0
- package/src/libs/renderer/src/presentation/index.js +14 -0
- package/src/libs/renderer/src/presentation/presentation.d.ts +94 -0
- package/src/libs/renderer/src/presentation/presentation.js +158 -0
- package/src/libs/renderer/src/presentation/viewport-channel.d.ts +78 -0
- package/src/libs/renderer/src/presentation/viewport-channel.js +86 -0
- package/src/libs/renderer/src/services/animation-lifecycle.d.ts +153 -0
- package/src/libs/renderer/src/services/animation-lifecycle.js +326 -0
- package/src/libs/renderer/src/services/animation-performance.service.d.ts +191 -0
- package/src/libs/renderer/src/services/animation-performance.service.js +371 -0
- package/src/libs/renderer/src/services/animation-sequencer.d.ts +226 -0
- package/src/libs/renderer/src/services/animation-sequencer.js +379 -0
- package/src/libs/renderer/src/services/animation.service.d.ts +182 -0
- package/src/libs/renderer/src/services/animation.service.js +858 -0
- package/src/libs/renderer/src/services/custom-animation-registry.d.ts +182 -0
- package/src/libs/renderer/src/services/custom-animation-registry.js +361 -0
- package/src/libs/renderer/src/ssr/index.d.ts +1 -0
- package/src/libs/renderer/src/ssr/index.js +6 -0
- package/src/libs/renderer/src/ssr/render-to-static.d.ts +91 -0
- package/src/libs/renderer/src/ssr/render-to-static.js +81 -0
- package/src/libs/renderer/src/svg/ArrowRenderer.d.ts +159 -0
- package/src/libs/renderer/src/svg/ArrowRenderer.js +723 -0
- package/src/libs/renderer/src/svg/JumpPointDetector.d.ts +79 -0
- package/src/libs/renderer/src/svg/JumpPointDetector.js +176 -0
- package/src/libs/renderer/src/svg/JumpPointRenderer.d.ts +59 -0
- package/src/libs/renderer/src/svg/JumpPointRenderer.js +309 -0
- package/src/libs/renderer/src/svg/LabelRenderer.d.ts +76 -0
- package/src/libs/renderer/src/svg/LabelRenderer.js +273 -0
- package/src/libs/renderer/src/svg/auto-size.d.ts +76 -0
- package/src/libs/renderer/src/svg/auto-size.js +142 -0
- package/src/libs/renderer/src/svg/channel-nudging.d.ts +34 -0
- package/src/libs/renderer/src/svg/channel-nudging.js +226 -0
- package/src/libs/renderer/src/svg/edge-optimizer.d.ts +228 -0
- package/src/libs/renderer/src/svg/edge-optimizer.js +606 -0
- package/src/libs/renderer/src/svg/edge-templates.d.ts +152 -0
- package/src/libs/renderer/src/svg/edge-templates.js +233 -0
- package/src/libs/renderer/src/svg/html-node.d.ts +50 -0
- package/src/libs/renderer/src/svg/html-node.js +214 -0
- package/src/libs/renderer/src/svg/index.d.ts +25 -0
- package/src/libs/renderer/src/svg/index.js +32 -0
- package/src/libs/renderer/src/svg/link-fanout.d.ts +127 -0
- package/src/libs/renderer/src/svg/link-fanout.js +333 -0
- package/src/libs/renderer/src/svg/link-hit-test.d.ts +142 -0
- package/src/libs/renderer/src/svg/link-hit-test.js +182 -0
- package/src/libs/renderer/src/svg/motion-tracker.d.ts +18 -0
- package/src/libs/renderer/src/svg/motion-tracker.js +71 -0
- package/src/libs/renderer/src/svg/node-sizing.d.ts +51 -0
- package/src/libs/renderer/src/svg/node-sizing.js +65 -0
- package/src/libs/renderer/src/svg/node-toolbar.d.ts +30 -0
- package/src/libs/renderer/src/svg/node-toolbar.js +45 -0
- package/src/libs/renderer/src/svg/notation-shapes.d.ts +2 -0
- package/src/libs/renderer/src/svg/notation-shapes.js +126 -0
- package/src/libs/renderer/src/svg/paint-servers.d.ts +49 -0
- package/src/libs/renderer/src/svg/paint-servers.js +225 -0
- package/src/libs/renderer/src/svg/panel.d.ts +115 -0
- package/src/libs/renderer/src/svg/panel.js +353 -0
- package/src/libs/renderer/src/svg/path-outline.d.ts +35 -0
- package/src/libs/renderer/src/svg/path-outline.js +134 -0
- package/src/libs/renderer/src/svg/port-glyph.d.ts +27 -0
- package/src/libs/renderer/src/svg/port-glyph.js +97 -0
- package/src/libs/renderer/src/svg/port-label.d.ts +74 -0
- package/src/libs/renderer/src/svg/port-label.js +201 -0
- package/src/libs/renderer/src/svg/port-layout.d.ts +50 -0
- package/src/libs/renderer/src/svg/port-layout.js +212 -0
- package/src/libs/renderer/src/svg/port-positioning.d.ts +33 -0
- package/src/libs/renderer/src/svg/port-positioning.js +101 -0
- package/src/libs/renderer/src/svg/port-spots.d.ts +69 -0
- package/src/libs/renderer/src/svg/port-spots.js +154 -0
- package/src/libs/renderer/src/svg/route-memo.d.ts +63 -0
- package/src/libs/renderer/src/svg/route-memo.js +206 -0
- package/src/libs/renderer/src/svg/route-solver-bridge.d.ts +48 -0
- package/src/libs/renderer/src/svg/route-solver-bridge.js +151 -0
- package/src/libs/renderer/src/svg/shape-registry.d.ts +189 -0
- package/src/libs/renderer/src/svg/shape-registry.js +1104 -0
- package/src/libs/renderer/src/svg/stroke-layer.d.ts +36 -0
- package/src/libs/renderer/src/svg/stroke-layer.js +183 -0
- package/src/libs/renderer/src/svg/svg-renderer.d.ts +1737 -0
- package/src/libs/renderer/src/svg/svg-renderer.js +7772 -0
- package/src/libs/renderer/src/svg/text-block.d.ts +54 -0
- package/src/libs/renderer/src/svg/text-block.js +171 -0
- package/src/libs/renderer/src/themes/color-mode.d.ts +81 -0
- package/src/libs/renderer/src/themes/color-mode.js +158 -0
- package/src/libs/renderer/src/themes/contrast.d.ts +67 -0
- package/src/libs/renderer/src/themes/contrast.js +215 -0
- package/src/libs/renderer/src/themes/default-dark-theme.d.ts +6 -0
- package/src/libs/renderer/src/themes/default-dark-theme.js +126 -0
- package/src/libs/renderer/src/themes/default-light-theme.d.ts +6 -0
- package/src/libs/renderer/src/themes/default-light-theme.js +168 -0
- package/src/libs/renderer/src/themes/default-theme-set.d.ts +10 -0
- package/src/libs/renderer/src/themes/default-theme-set.js +25 -0
- package/src/libs/renderer/src/themes/high-contrast-theme.d.ts +5 -0
- package/src/libs/renderer/src/themes/high-contrast-theme.js +170 -0
- package/src/libs/renderer/src/themes/index.d.ts +22 -0
- package/src/libs/renderer/src/themes/index.js +93 -0
- package/src/libs/renderer/src/themes/style-cascade.d.ts +23 -0
- package/src/libs/renderer/src/themes/style-cascade.js +194 -0
- package/src/libs/renderer/src/themes/style-registry.d.ts +40 -0
- package/src/libs/renderer/src/themes/style-registry.js +129 -0
- package/src/libs/renderer/src/themes/theme-a11y.d.ts +65 -0
- package/src/libs/renderer/src/themes/theme-a11y.js +256 -0
- package/src/libs/renderer/src/themes/theme-css.d.ts +30 -0
- package/src/libs/renderer/src/themes/theme-css.js +304 -0
- package/src/libs/renderer/src/themes/theme-ref.d.ts +63 -0
- package/src/libs/renderer/src/themes/theme-ref.js +206 -0
- package/src/libs/renderer/src/themes/theme-vars.d.ts +49 -0
- package/src/libs/renderer/src/themes/theme-vars.js +112 -0
- package/src/libs/renderer/src/themes/token-bridge.d.ts +62 -0
- package/src/libs/renderer/src/themes/token-bridge.js +354 -0
- package/src/libs/renderer/src/types/geometry.types.d.ts +10 -0
- package/src/libs/renderer/src/types/geometry.types.js +3 -0
- package/src/libs/renderer/src/types/index.d.ts +5 -0
- package/src/libs/renderer/src/types/index.js +14 -0
- package/src/libs/renderer/src/types/property-schema/conditions.d.ts +96 -0
- package/src/libs/renderer/src/types/property-schema/conditions.js +8 -0
- package/src/libs/renderer/src/types/property-schema/editor-types.d.ts +310 -0
- package/src/libs/renderer/src/types/property-schema/editor-types.js +8 -0
- package/src/libs/renderer/src/types/property-schema/groups.d.ts +58 -0
- package/src/libs/renderer/src/types/property-schema/groups.js +8 -0
- package/src/libs/renderer/src/types/property-schema/index.d.ts +101 -0
- package/src/libs/renderer/src/types/property-schema/index.js +98 -0
- package/src/libs/renderer/src/types/property-schema/property-definition.d.ts +117 -0
- package/src/libs/renderer/src/types/property-schema/property-definition.js +8 -0
- package/src/libs/renderer/src/types/property-schema/schema.d.ts +108 -0
- package/src/libs/renderer/src/types/property-schema/schema.js +8 -0
- package/src/libs/renderer/src/types/property-schema/validation.d.ts +181 -0
- package/src/libs/renderer/src/types/property-schema/validation.js +8 -0
- package/src/libs/renderer/src/types/renderer.interface.d.ts +623 -0
- package/src/libs/renderer/src/types/renderer.interface.js +3 -0
- package/src/libs/renderer/src/types/theme.types.d.ts +305 -0
- package/src/libs/renderer/src/types/theme.types.js +3 -0
- package/src/libs/renderer/src/types/vnode.types.d.ts +139 -0
- package/src/libs/renderer/src/types/vnode.types.js +3 -0
- package/src/libs/renderer/src/utils/animation-presets.d.ts +310 -0
- package/src/libs/renderer/src/utils/animation-presets.js +406 -0
- package/src/libs/renderer/src/utils/animation-priority.d.ts +118 -0
- package/src/libs/renderer/src/utils/animation-priority.js +258 -0
- package/src/libs/renderer/src/utils/animation-utils.d.ts +159 -0
- package/src/libs/renderer/src/utils/animation-utils.js +323 -0
- package/src/libs/renderer/src/utils/lru-cache.d.ts +34 -0
- package/src/libs/renderer/src/utils/lru-cache.js +72 -0
- package/src/libs/renderer/src/viewport/index.d.ts +1 -0
- package/src/libs/renderer/src/viewport/index.js +6 -0
- package/src/libs/renderer/src/viewport/viewport-controller.d.ts +198 -0
- package/src/libs/renderer/src/viewport/viewport-controller.js +315 -0
- package/src/libs/renderer/src/vnode/container-id-generator.d.ts +94 -0
- package/src/libs/renderer/src/vnode/container-id-generator.js +110 -0
- package/src/libs/renderer/src/vnode/foreign-object.d.ts +157 -0
- package/src/libs/renderer/src/vnode/foreign-object.js +167 -0
- package/src/libs/renderer/src/vnode/index.d.ts +56 -0
- package/src/libs/renderer/src/vnode/index.js +78 -0
- package/src/libs/renderer/src/vnode/patch.d.ts +189 -0
- package/src/libs/renderer/src/vnode/patch.js +564 -0
- package/src/index.js.map +0 -1
- package/src/lib/dashboard-kit/dashboard.js.map +0 -1
- package/src/lib/dashboard-kit/grid-binder.js.map +0 -1
- package/src/lib/dashboard-kit/grid-mapping.js.map +0 -1
- package/src/lib/dashboard-kit/index.js.map +0 -1
- package/src/lib/dashboard-kit/styles.js.map +0 -1
- package/src/lib/dashboard-kit/widgets.js.map +0 -1
- package/src/lib/diagram-kit/card.js.map +0 -1
- package/src/lib/diagram-kit/editing.js.map +0 -1
- package/src/lib/diagram-kit/er.js.map +0 -1
- package/src/lib/diagram-kit/handles.js.map +0 -1
- package/src/lib/diagram-kit/index.js.map +0 -1
- package/src/lib/diagram-kit/rows.js.map +0 -1
- package/src/lib/diagram-kit/styles.js.map +0 -1
- package/src/lib/diagram-kit/uml.js.map +0 -1
- package/src/lib/diagram-kit/update.js.map +0 -1
- package/src/lib/grafloria-flow-element.js.map +0 -1
- package/src/lib/grafloria.js.map +0 -1
- package/src/lib/load.js.map +0 -1
- package/src/lib/node-type-registry.js.map +0 -1
- package/src/lib/stencil-kit/builders.js.map +0 -1
- package/src/lib/stencil-kit/card-builders.js.map +0 -1
- package/src/lib/stencil-kit/index.js.map +0 -1
- package/src/lib/stencil-kit/palette.js.map +0 -1
- package/src/lib/stencil-kit/shape-data.js.map +0 -1
- package/src/lib/stencil-kit/styles.js.map +0 -1
|
@@ -0,0 +1,960 @@
|
|
|
1
|
+
import { DiagramEntity } from './DiagramEntity';
|
|
2
|
+
import { NodeModel, SerializedNode, type DetachedParentAnchor } from './NodeModel';
|
|
3
|
+
import { LinkModel, SerializedLink } from './LinkModel';
|
|
4
|
+
import { PortModel } from './PortModel';
|
|
5
|
+
import { GroupModel, SerializedGroup } from './GroupModel';
|
|
6
|
+
import { StrokeModel, SerializedStroke } from './StrokeModel';
|
|
7
|
+
import type { SerializedEntity, Point } from '../types';
|
|
8
|
+
import type { Rectangle } from '../types/geometry.types';
|
|
9
|
+
import type { LODLevel, EntityWithLOD, LODConfig, LODTier, LODFeature } from '../types/performance.types';
|
|
10
|
+
import { LayoutManager } from '../layout/LayoutManager';
|
|
11
|
+
import type { LayoutAlgorithmType, LayoutConfiguration } from '../layout/types';
|
|
12
|
+
import { type DiagramIncremental } from '../serialization/Incremental';
|
|
13
|
+
import type { CommentRegisterTree } from '../comments/types';
|
|
14
|
+
/**
|
|
15
|
+
* How near a port must be to a point for {@link DiagramModel.findNearestPort} to
|
|
16
|
+
* consider it, in world units. Roughly a fingertip at 100% zoom.
|
|
17
|
+
*/
|
|
18
|
+
export declare const DEFAULT_PORT_SNAP_RADIUS = 24;
|
|
19
|
+
/** Options for {@link DiagramModel.findNearestPort}. */
|
|
20
|
+
export interface NearestPortOptions {
|
|
21
|
+
/** Maximum distance, in world units (default {@link DEFAULT_PORT_SNAP_RADIUS}). */
|
|
22
|
+
radius?: number;
|
|
23
|
+
/** Consider only the ports this accepts (e.g. valid targets for the dragged link). */
|
|
24
|
+
filter?: (port: PortModel, node: NodeModel) => boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Where a port actually IS. Defaults to the bounding-box edge midpoint. Callers
|
|
27
|
+
* inside a renderer must pass the SHAPE-AWARE resolver (`portWorldPosition`) —
|
|
28
|
+
* see the note on `findNearestPort`.
|
|
29
|
+
*/
|
|
30
|
+
portPosition?: (port: PortModel, node: NodeModel) => Point;
|
|
31
|
+
}
|
|
32
|
+
/** What {@link DiagramModel.findNearestPort} found. */
|
|
33
|
+
export interface NearestPortHit {
|
|
34
|
+
port: PortModel;
|
|
35
|
+
node: NodeModel;
|
|
36
|
+
/** Distance from the query point to the port, in world units. */
|
|
37
|
+
distance: number;
|
|
38
|
+
}
|
|
39
|
+
export interface SerializedDiagram extends SerializedEntity {
|
|
40
|
+
/**
|
|
41
|
+
* Document schema version (shape of THIS payload), distinct from the
|
|
42
|
+
* per-entity mutation counter `version`. Absent on pre-versioning
|
|
43
|
+
* documents, which are treated as schemaVersion 1 and migrated on load.
|
|
44
|
+
*/
|
|
45
|
+
schemaVersion?: number;
|
|
46
|
+
name: string;
|
|
47
|
+
nodes: SerializedNode[];
|
|
48
|
+
links: SerializedLink[];
|
|
49
|
+
groups: SerializedGroup[];
|
|
50
|
+
/**
|
|
51
|
+
* wave10/whiteboard: freehand ink.
|
|
52
|
+
*
|
|
53
|
+
* OMITTED when there is none — the same rule (and for the same load-bearing reason)
|
|
54
|
+
* as `comments` below. A diagram with no ink serializes to EXACTLY the bytes it did
|
|
55
|
+
* before this wave: no churn in any existing document, snapshot or golden file, and
|
|
56
|
+
* the op log's byte-identical replay oracle keeps comparing the same bytes it always
|
|
57
|
+
* compared. An always-present `strokes: []` would have quietly rewritten every
|
|
58
|
+
* serialized diagram in the world to say nothing.
|
|
59
|
+
*/
|
|
60
|
+
strokes?: SerializedStroke[];
|
|
61
|
+
viewport: {
|
|
62
|
+
x: number;
|
|
63
|
+
y: number;
|
|
64
|
+
width: number;
|
|
65
|
+
height: number;
|
|
66
|
+
zoom: number;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* wave9/comments (Card 6): anchored comment threads. Document data, saved with the
|
|
70
|
+
* document — a comment that does not survive a save is a comment that does not exist.
|
|
71
|
+
*
|
|
72
|
+
* OMITTED when there are none, rather than written as `{}`. Two reasons, one of them
|
|
73
|
+
* load-bearing: a diagram with no comments serializes to EXACTLY the bytes it did
|
|
74
|
+
* before this card (no churn in any existing document, snapshot or golden file), and
|
|
75
|
+
* the op log's byte-identical replay oracle keeps comparing the same bytes it always
|
|
76
|
+
* compared. An always-present empty object would have quietly rewritten every
|
|
77
|
+
* serialized diagram in the world to say nothing.
|
|
78
|
+
*/
|
|
79
|
+
comments?: CommentRegisterTree;
|
|
80
|
+
}
|
|
81
|
+
export interface DiagramLoadOptions {
|
|
82
|
+
/**
|
|
83
|
+
* Structural integrity policy for the incoming document:
|
|
84
|
+
* - 'off' (default) skip validation
|
|
85
|
+
* - 'warn' validate and console.warn a one-line summary with the report
|
|
86
|
+
* - 'strict' validate and throw DiagramValidationError on any error
|
|
87
|
+
*/
|
|
88
|
+
validate?: 'off' | 'warn' | 'strict';
|
|
89
|
+
}
|
|
90
|
+
export declare class DiagramModel extends DiagramEntity {
|
|
91
|
+
name: string;
|
|
92
|
+
nodes: Map<string, NodeModel>;
|
|
93
|
+
links: Map<string, LinkModel>;
|
|
94
|
+
groups: Map<string, GroupModel>;
|
|
95
|
+
/** wave10/whiteboard: freehand ink strokes. See StrokeModel for why these are not nodes. */
|
|
96
|
+
strokes: Map<string, StrokeModel>;
|
|
97
|
+
/**
|
|
98
|
+
* Wave 9 — Card 7. The read-only lock. THE enforcement point for
|
|
99
|
+
* `DiagramMode.VIEW` / `PRESENTATION`, which before this wave were advisory flags
|
|
100
|
+
* that gated nothing at all (see ./readonly-lock.ts).
|
|
101
|
+
*
|
|
102
|
+
* Kept on the model rather than the engine because the model is what the mutators
|
|
103
|
+
* live on, and a lock the mutator cannot see is not a lock. `NodeModel` reaches it
|
|
104
|
+
* via its `diagram` back-reference; `LinkModel` via the one this wave added
|
|
105
|
+
* (`installLink`), without which every waypoint / label / reconnect edit — all of
|
|
106
|
+
* which are `LinkModel` methods — would have been an unguardable hole.
|
|
107
|
+
*/
|
|
108
|
+
private readonlyLock;
|
|
109
|
+
private portIndex;
|
|
110
|
+
/**
|
|
111
|
+
* wave14/model — LAST-KNOWN ANCHORS of removed nodes. The tolerant-reader half of the
|
|
112
|
+
* soft-reference (quarantine) design; see {@link DetachedParentAnchor} for the shape and
|
|
113
|
+
* {@link removeNode} for the design argument.
|
|
114
|
+
*
|
|
115
|
+
* DERIVED, SESSION-LOCAL STATE — never serialized, never on the wire. In collab, each
|
|
116
|
+
* peer records the anchor when IT applies the removal; since the parent's registers are
|
|
117
|
+
* LWW-converged before either peer applies the remove, peers freeze orphans at the same
|
|
118
|
+
* spot. (The one divergence window: a move-parent op racing the delete-parent op can be
|
|
119
|
+
* applied on one peer and refused-as-late on another, so their anchors — a reading taken
|
|
120
|
+
* at apply time — can differ until the parent is restored. The DOCUMENT still converges;
|
|
121
|
+
* only the derived freeze can briefly disagree, the same tier of divergence as any other
|
|
122
|
+
* derived presentation state.)
|
|
123
|
+
*
|
|
124
|
+
* Lifecycle: written by removeNode (every removal path funnels through it — Delete key,
|
|
125
|
+
* setNodes diffs, collab remove ops, patches), erased by installNode the moment the id
|
|
126
|
+
* comes back (undo, redo, remote resurrect), cleared wholesale by clearNodes/dispose.
|
|
127
|
+
* Bounded by the number of distinct ids removed-and-not-restored in a session.
|
|
128
|
+
*/
|
|
129
|
+
private detachedAnchors;
|
|
130
|
+
/**
|
|
131
|
+
* Wave 10 — who owns the invariant "a link whose node is gone is not a link"?
|
|
132
|
+
*
|
|
133
|
+
* `'model'` (the default): {@link removeNode} CASCADES — it removes the links attached
|
|
134
|
+
* to the node it removes. This is the right answer for an ordinary single-user document,
|
|
135
|
+
* and its absence was a real bug: deleting a node left its edges in `getLinks()` and on
|
|
136
|
+
* the screen, through every removal path there is.
|
|
137
|
+
*
|
|
138
|
+
* `'external'`: something with a BETTER answer owns it, and the cascade must keep its
|
|
139
|
+
* hands off. Specifically {@link ReferentialIntegrity} (wave 9, collab), which derives
|
|
140
|
+
* liveness from the presence registers and QUARANTINES an orphaned link instead of
|
|
141
|
+
* destroying it — so undoing the node delete, or a peer resurrecting the node, brings the
|
|
142
|
+
* links back too, including links this peer never saw. A hard cascade there would be
|
|
143
|
+
* irreversible (a `remove link` op puts "removed" in the register for good), chatty (N
|
|
144
|
+
* derived ops on the wire), and still wrong in the only case that matters — the
|
|
145
|
+
* concurrent one, where it cannot see the link a colleague is drawing right now.
|
|
146
|
+
*
|
|
147
|
+
* The Replica sets this when it attaches. Nothing else should touch it.
|
|
148
|
+
*/
|
|
149
|
+
linkIntegrityOwner: 'model' | 'external';
|
|
150
|
+
private _comments;
|
|
151
|
+
/** The comment register tree. Read-only in spirit: write through writeCommentRegister. */
|
|
152
|
+
get comments(): CommentRegisterTree;
|
|
153
|
+
/**
|
|
154
|
+
* The landing pad for `applyOp`'s whole-tree write (remote ops, replay, load).
|
|
155
|
+
*
|
|
156
|
+
* Coarse ON PURPOSE at this level: applyOp hands us the rebuilt tree, and all we owe
|
|
157
|
+
* the world is "the comments changed". The FINE-grained registers — the thing that
|
|
158
|
+
* decides whether two concurrent replies both survive — are cut in the OPS, not here
|
|
159
|
+
* (see writeCommentRegister and comments/types.ts).
|
|
160
|
+
*/
|
|
161
|
+
set comments(next: CommentRegisterTree);
|
|
162
|
+
/**
|
|
163
|
+
* Write ONE comment register — `t1.status`, `t1.messages.m3` — and nothing else.
|
|
164
|
+
*
|
|
165
|
+
* This is the LOCAL authoring path, and the granularity here becomes the granularity
|
|
166
|
+
* of the emitted op (OpCapture turns `trackChange('comments.t1.messages.m3')` into
|
|
167
|
+
* `set(diagram, path='comments.t1.messages.m3')`), which becomes the granularity of
|
|
168
|
+
* the LWW register, which is what decides whether your colleague's simultaneous reply
|
|
169
|
+
* survives. The dotted path is not a convenience. It is the concurrency semantics.
|
|
170
|
+
*
|
|
171
|
+
* Returns false when the write changes nothing — so a redundant resolve is not an op,
|
|
172
|
+
* not a broadcast, and not a frame.
|
|
173
|
+
*/
|
|
174
|
+
writeCommentRegister(path: string, value: unknown): boolean;
|
|
175
|
+
/** Read one register. Returns undefined for any missing segment — never throws. */
|
|
176
|
+
readCommentRegister(path: string): unknown;
|
|
177
|
+
viewport: {
|
|
178
|
+
x: number;
|
|
179
|
+
y: number;
|
|
180
|
+
width: number;
|
|
181
|
+
height: number;
|
|
182
|
+
zoom: number;
|
|
183
|
+
};
|
|
184
|
+
private nodeSpatialIndex;
|
|
185
|
+
private linkSpatialIndex;
|
|
186
|
+
private _layoutManager;
|
|
187
|
+
private _autoLayoutEnabled;
|
|
188
|
+
private _pendingEvents;
|
|
189
|
+
private _lodConfig;
|
|
190
|
+
private _lodTiersDesc;
|
|
191
|
+
constructor(name?: string, options?: {
|
|
192
|
+
lodConfig?: LODConfig;
|
|
193
|
+
id?: string;
|
|
194
|
+
uuid?: string;
|
|
195
|
+
});
|
|
196
|
+
/**
|
|
197
|
+
* Bounding box of a link, for viewport culling (`getVisibleLinks`).
|
|
198
|
+
*
|
|
199
|
+
* It is the union of TWO things, and it needs both:
|
|
200
|
+
*
|
|
201
|
+
* - `link.points` — the routed path (including orthogonal detours). Renderers
|
|
202
|
+
* write this back per frame, so for anything that has been drawn it is the
|
|
203
|
+
* real geometry.
|
|
204
|
+
* - the LIVE endpoints, resolved O(1) through the port index. Points alone are
|
|
205
|
+
* not trustworthy: a link built with `new LinkModel()` + `addLink()` has NO
|
|
206
|
+
* points until something routes it (it would otherwise be indexed as a
|
|
207
|
+
* zero-size box at the world origin and get culled everywhere except there),
|
|
208
|
+
* and points go stale the moment a node moves without a reroute. The drawn
|
|
209
|
+
* path always runs between the live ports, so folding them in keeps the box
|
|
210
|
+
* a correct SUPERSET of what will actually be painted.
|
|
211
|
+
*
|
|
212
|
+
* Being a superset is the safe direction: culling too little costs a few
|
|
213
|
+
* VNodes, culling too much makes edges vanish off-screen.
|
|
214
|
+
*/
|
|
215
|
+
private computeLinkBounds;
|
|
216
|
+
/**
|
|
217
|
+
* Re-index a link after its geometry changed WITHOUT a `change:points` event.
|
|
218
|
+
*
|
|
219
|
+
* Renderers route links per frame and assign `link.points` directly (using
|
|
220
|
+
* `setPoints()` would emit `change` → `link:changed` → another render, i.e. a
|
|
221
|
+
* render loop). The spatial index therefore never hears about the routed path,
|
|
222
|
+
* and its grid cells would keep pointing at the geometry the link had when it
|
|
223
|
+
* was added. Call this after writing points directly.
|
|
224
|
+
*/
|
|
225
|
+
refreshLinkBounds(link: LinkModel): void;
|
|
226
|
+
/**
|
|
227
|
+
* Add node to diagram
|
|
228
|
+
*/
|
|
229
|
+
/** Is this document locked against edits? */
|
|
230
|
+
isReadonly(): boolean;
|
|
231
|
+
/**
|
|
232
|
+
* Lock / unlock the document. Normally driven by `DiagramEngine.setMode()` —
|
|
233
|
+
* VIEW and PRESENTATION lock, DESIGNER unlocks — so `DiagramMode` finally means
|
|
234
|
+
* something. Can also be set directly for a host that has no mode concept.
|
|
235
|
+
*/
|
|
236
|
+
setReadonly(value: boolean): void;
|
|
237
|
+
/** True when a document mutation must be refused right now. */
|
|
238
|
+
blocksDocumentWrite(): boolean;
|
|
239
|
+
/**
|
|
240
|
+
* True while a SYSTEM write is in flight. Read by the PER-NODE geometry lock
|
|
241
|
+
* (`NodeState.locked`) so it exempts measured writes exactly as the document
|
|
242
|
+
* lock does — see readonly-lock.ts.
|
|
243
|
+
*/
|
|
244
|
+
inSystemWrite(): boolean;
|
|
245
|
+
/**
|
|
246
|
+
* Run a SYSTEM write — a derived/measured value (auto-size, portal placement)
|
|
247
|
+
* the engine needs in order to render the document as it already is. Permitted
|
|
248
|
+
* even while locked. NOT reachable from user input; see readonly-lock.ts.
|
|
249
|
+
*/
|
|
250
|
+
runSystemWrite<T>(fn: () => T): T;
|
|
251
|
+
addNode(node: NodeModel): void;
|
|
252
|
+
/**
|
|
253
|
+
* THE single per-node install path — every route a node takes into the
|
|
254
|
+
* diagram (interactive addNode, undo restoreNode, document fromJSON) runs
|
|
255
|
+
* through here, so a restored node is wired IDENTICALLY to an authored one:
|
|
256
|
+
* diagram back-reference, change tracking, events, port index, spatial
|
|
257
|
+
* index, and change-forwarding listeners.
|
|
258
|
+
*/
|
|
259
|
+
private installNode;
|
|
260
|
+
/**
|
|
261
|
+
* Remove node from diagram — AND every link attached to it.
|
|
262
|
+
*
|
|
263
|
+
* Wave 10 BUG FIX. This used to delete the node and nothing else, so every link that
|
|
264
|
+
* touched it survived: still in `getLinks()`, still in the spatial index, and still
|
|
265
|
+
* PAINTED — two edges hanging off a node that no longer existed. `deleteSelected()`
|
|
266
|
+
* carried the comment "this will also trigger link cleanup via events"; nothing
|
|
267
|
+
* listened to `node:removed` for cleanup, so that cleanup never happened, anywhere.
|
|
268
|
+
*
|
|
269
|
+
* It matters because EVERY removal path funnels through here:
|
|
270
|
+
* - `deleteSelected()` — what the Delete key calls;
|
|
271
|
+
* - `applyNodes()` — what `setNodes()` calls, so dropping a node from a React-shaped
|
|
272
|
+
* spec left the dangling links behind;
|
|
273
|
+
* - `RemoveNodeCommand`.
|
|
274
|
+
*
|
|
275
|
+
* A link's endpoints are the invariant that makes it a link; a link to nowhere is not
|
|
276
|
+
* a link. So the cascade belongs at the choke point, not at each of the three call
|
|
277
|
+
* sites that would each have to remember it.
|
|
278
|
+
*
|
|
279
|
+
* UNLESS someone better owns that invariant — see {@link linkIntegrityOwner}.
|
|
280
|
+
*/
|
|
281
|
+
removeNode(nodeId: string): NodeModel | undefined;
|
|
282
|
+
/**
|
|
283
|
+
* Every link with an endpoint on `nodeId` (either end, including a self-loop).
|
|
284
|
+
*
|
|
285
|
+
* Resolved through the port index rather than the cached `sourceNodeId`/`targetNodeId`,
|
|
286
|
+
* because those are a backfill that can be absent on a link built by hand.
|
|
287
|
+
*/
|
|
288
|
+
getLinksForNode(nodeId: string): LinkModel[];
|
|
289
|
+
/**
|
|
290
|
+
* Restore node from serialized data (Phase 1.8)
|
|
291
|
+
*/
|
|
292
|
+
restoreNode(data: any): NodeModel | undefined;
|
|
293
|
+
/**
|
|
294
|
+
* Get node by ID
|
|
295
|
+
*/
|
|
296
|
+
getNode(nodeId: string): NodeModel | undefined;
|
|
297
|
+
/**
|
|
298
|
+
* Get all nodes
|
|
299
|
+
*/
|
|
300
|
+
getNodes(): NodeModel[];
|
|
301
|
+
/**
|
|
302
|
+
* Phase 3: Get node that owns a specific port
|
|
303
|
+
* Used for connection group validation and other port-based queries.
|
|
304
|
+
* O(1) via the portIndex (was an O(nodes×ports) linear scan).
|
|
305
|
+
*/
|
|
306
|
+
getNodeByPortId(portId: string): NodeModel | undefined;
|
|
307
|
+
/**
|
|
308
|
+
* Get the port model for a port id, O(1) via the portIndex.
|
|
309
|
+
* Companion to getNodeByPortId for callers that need the port itself.
|
|
310
|
+
*/
|
|
311
|
+
getPortById(portId: string): PortModel | undefined;
|
|
312
|
+
/**
|
|
313
|
+
* wave14/model — the last-known anchor of a REMOVED node, or undefined if the id is
|
|
314
|
+
* live, was never here, or the anchor was wholesale-cleared. The tolerant readers in
|
|
315
|
+
* NodeModel (getWorldPosition / getGlobalPosition / getGlobalTransformMatrix /
|
|
316
|
+
* setGlobalPosition) resolve an unresolvable parent through this so orphaned relative
|
|
317
|
+
* children freeze in place instead of jumping to their raw offsets. See
|
|
318
|
+
* {@link detachedAnchors} and the design argument on {@link removeNode}.
|
|
319
|
+
*/
|
|
320
|
+
getDetachedAnchor(nodeId: string): DetachedParentAnchor | undefined;
|
|
321
|
+
/**
|
|
322
|
+
* Index every current port of a node and keep the index current as ports are
|
|
323
|
+
* added/removed on that node. Called from addNode/restoreNode/fromJSON.
|
|
324
|
+
* Listeners are guarded so a removed node can never re-pollute the index.
|
|
325
|
+
*/
|
|
326
|
+
private indexNodePorts;
|
|
327
|
+
/**
|
|
328
|
+
* Drop a node's ports from the index (called on removeNode).
|
|
329
|
+
*/
|
|
330
|
+
private unindexNodePorts;
|
|
331
|
+
/**
|
|
332
|
+
* Clear all nodes
|
|
333
|
+
*/
|
|
334
|
+
clearNodes(): void;
|
|
335
|
+
/**
|
|
336
|
+
* Add link to diagram
|
|
337
|
+
*/
|
|
338
|
+
addLink(link: LinkModel): void;
|
|
339
|
+
/**
|
|
340
|
+
* THE single per-link install path (see installNode) — interactive add,
|
|
341
|
+
* undo restore, and document load all wire links identically, including
|
|
342
|
+
* the owning-node-id backfill renderers resolve port sides through.
|
|
343
|
+
*/
|
|
344
|
+
private installLink;
|
|
345
|
+
/**
|
|
346
|
+
* Remove link from diagram
|
|
347
|
+
*/
|
|
348
|
+
removeLink(linkId: string): LinkModel | undefined;
|
|
349
|
+
/**
|
|
350
|
+
* Restore link from serialized data (Phase 1.8)
|
|
351
|
+
*/
|
|
352
|
+
restoreLink(data: any): LinkModel | undefined;
|
|
353
|
+
/**
|
|
354
|
+
* Get link by ID
|
|
355
|
+
*/
|
|
356
|
+
getLink(linkId: string): LinkModel | undefined;
|
|
357
|
+
/**
|
|
358
|
+
* Get all links
|
|
359
|
+
*/
|
|
360
|
+
getLinks(): LinkModel[];
|
|
361
|
+
/**
|
|
362
|
+
* Phase 0.2: Get all links connected to a specific port
|
|
363
|
+
*/
|
|
364
|
+
getLinksForPort(portId: string): LinkModel[];
|
|
365
|
+
/**
|
|
366
|
+
* Clear all links
|
|
367
|
+
*/
|
|
368
|
+
clearLinks(): void;
|
|
369
|
+
/**
|
|
370
|
+
* Phase 0.5.3: Create a smart link with automatic port selection
|
|
371
|
+
*
|
|
372
|
+
* This high-level API simplifies link creation by:
|
|
373
|
+
* - Automatically selecting optimal ports based on node geometry
|
|
374
|
+
* - Creating the link with proper port connections
|
|
375
|
+
* - Registering connections in port models
|
|
376
|
+
* - Generating the initial path
|
|
377
|
+
*
|
|
378
|
+
* @param sourceNode - The source node
|
|
379
|
+
* @param targetNode - The target node
|
|
380
|
+
* @param pathType - Path rendering type (default: 'smooth')
|
|
381
|
+
* @returns The created link, or undefined if port selection failed
|
|
382
|
+
*
|
|
383
|
+
* @example
|
|
384
|
+
* ```typescript
|
|
385
|
+
* const link = diagram.createSmartLink(node1, node2, 'smooth');
|
|
386
|
+
* if (link) {
|
|
387
|
+
* console.log('Connected with optimal ports!');
|
|
388
|
+
* }
|
|
389
|
+
* ```
|
|
390
|
+
*/
|
|
391
|
+
createSmartLink(sourceNode: NodeModel, targetNode: NodeModel, pathType?: 'direct' | 'orthogonal' | 'smooth' | 'bezier'): LinkModel | undefined;
|
|
392
|
+
/**
|
|
393
|
+
* Phase 0.5.3: High-level API to connect two nodes
|
|
394
|
+
*
|
|
395
|
+
* Convenience method that creates a smart link and returns success status.
|
|
396
|
+
* This is the simplest way to connect nodes.
|
|
397
|
+
*
|
|
398
|
+
* @param sourceNode - The source node
|
|
399
|
+
* @param targetNode - The target node
|
|
400
|
+
* @param pathType - Path rendering type (default: 'smooth')
|
|
401
|
+
* @returns true if connection was successful, false otherwise
|
|
402
|
+
*
|
|
403
|
+
* @example
|
|
404
|
+
* ```typescript
|
|
405
|
+
* if (diagram.connectNodes(node1, node2)) {
|
|
406
|
+
* console.log('Nodes connected successfully!');
|
|
407
|
+
* }
|
|
408
|
+
* ```
|
|
409
|
+
*/
|
|
410
|
+
connectNodes(sourceNode: NodeModel, targetNode: NodeModel, pathType?: 'direct' | 'orthogonal' | 'smooth' | 'bezier'): boolean;
|
|
411
|
+
/**
|
|
412
|
+
* Phase 0.5.3: Get all connections for a node
|
|
413
|
+
*
|
|
414
|
+
* Returns all links where the node is either source or target.
|
|
415
|
+
* Useful for querying node connectivity.
|
|
416
|
+
*
|
|
417
|
+
* @param node - The node to query
|
|
418
|
+
* @returns Object containing incoming and outgoing links
|
|
419
|
+
*
|
|
420
|
+
* @example
|
|
421
|
+
* ```typescript
|
|
422
|
+
* const connections = diagram.getNodeConnections(node);
|
|
423
|
+
* console.log(`Incoming: ${connections.incoming.length}`);
|
|
424
|
+
* console.log(`Outgoing: ${connections.outgoing.length}`);
|
|
425
|
+
* console.log(`Total: ${connections.all.length}`);
|
|
426
|
+
* ```
|
|
427
|
+
*/
|
|
428
|
+
getNodeConnections(node: NodeModel): {
|
|
429
|
+
incoming: LinkModel[];
|
|
430
|
+
outgoing: LinkModel[];
|
|
431
|
+
all: LinkModel[];
|
|
432
|
+
};
|
|
433
|
+
/**
|
|
434
|
+
* Phase 0.5.3: Disconnect two nodes
|
|
435
|
+
*
|
|
436
|
+
* Removes all links between the specified nodes.
|
|
437
|
+
* Handles cleanup of port connections.
|
|
438
|
+
*
|
|
439
|
+
* @param sourceNode - The source node
|
|
440
|
+
* @param targetNode - The target node
|
|
441
|
+
* @returns Number of links removed
|
|
442
|
+
*
|
|
443
|
+
* @example
|
|
444
|
+
* ```typescript
|
|
445
|
+
* const removed = diagram.disconnectNodes(node1, node2);
|
|
446
|
+
* console.log(`Removed ${removed} connections`);
|
|
447
|
+
* ```
|
|
448
|
+
*/
|
|
449
|
+
disconnectNodes(sourceNode: NodeModel, targetNode: NodeModel): number;
|
|
450
|
+
/**
|
|
451
|
+
* Add group (Phase 1.6c)
|
|
452
|
+
*/
|
|
453
|
+
addGroup(group: GroupModel): void;
|
|
454
|
+
/**
|
|
455
|
+
* THE single per-group install path (see installNode). The diagram
|
|
456
|
+
* back-reference is RUNTIME wiring: GroupModel.serialize() deliberately
|
|
457
|
+
* excludes it from payloads, and this re-stashes it on every install so a
|
|
458
|
+
* loaded group can resolve its diagram exactly like an authored one.
|
|
459
|
+
*/
|
|
460
|
+
private installGroup;
|
|
461
|
+
/**
|
|
462
|
+
* Remove group (Phase 1.6c)
|
|
463
|
+
*/
|
|
464
|
+
removeGroup(groupId: string): GroupModel | undefined;
|
|
465
|
+
/**
|
|
466
|
+
* Restore group from serialized data (Phase 1.8)
|
|
467
|
+
*/
|
|
468
|
+
restoreGroup(data: any): GroupModel | undefined;
|
|
469
|
+
/**
|
|
470
|
+
* Get group by ID (Phase 1.6c)
|
|
471
|
+
*/
|
|
472
|
+
getGroup(groupId: string): GroupModel | undefined;
|
|
473
|
+
/**
|
|
474
|
+
* Get all groups (Phase 1.6c)
|
|
475
|
+
*/
|
|
476
|
+
getGroups(): GroupModel[];
|
|
477
|
+
/**
|
|
478
|
+
* Wave-5 Card 3: groups in deterministic back-to-front stacking order —
|
|
479
|
+
* ascending `zIndex`, ties broken by Map insertion order (a STABLE sort keeps
|
|
480
|
+
* it). This is the model-level z-order story that replaces "stacking == Map
|
|
481
|
+
* insertion order" as the only determinant; a renderer paints groups in this
|
|
482
|
+
* order (behind their members) instead of relying on iteration order.
|
|
483
|
+
*/
|
|
484
|
+
getGroupsInRenderOrder(): GroupModel[];
|
|
485
|
+
/**
|
|
486
|
+
* Wave-5 Card 4: the placeholder "group-as-node" for a collapsed group, if
|
|
487
|
+
* present. Placeholder nodes are ordinary NodeModels tagged with the group id
|
|
488
|
+
* so callers can filter them out of exports / counts.
|
|
489
|
+
*/
|
|
490
|
+
getProxyNodeForGroup(groupId: string): NodeModel | undefined;
|
|
491
|
+
/** Wave-5 Card 4: is this node a collapsed-group placeholder? */
|
|
492
|
+
isProxyNode(node: NodeModel): boolean;
|
|
493
|
+
/**
|
|
494
|
+
* Clear all groups (Phase 1.6c)
|
|
495
|
+
*/
|
|
496
|
+
clearGroups(): void;
|
|
497
|
+
addStroke(stroke: StrokeModel): void;
|
|
498
|
+
/** THE single per-stroke install path (see installNode) — authored, restored, or replayed. */
|
|
499
|
+
private installStroke;
|
|
500
|
+
removeStroke(strokeId: string): StrokeModel | undefined;
|
|
501
|
+
restoreStroke(data: SerializedStroke): StrokeModel | undefined;
|
|
502
|
+
getStroke(strokeId: string): StrokeModel | undefined;
|
|
503
|
+
getStrokes(): StrokeModel[];
|
|
504
|
+
clearStrokes(): void;
|
|
505
|
+
/** Strokes whose bounds overlap `viewport`. The ink layer's culling query. */
|
|
506
|
+
getVisibleStrokes(viewport: Rectangle): StrokeModel[];
|
|
507
|
+
/**
|
|
508
|
+
* Every stroke the pointer swept across travelling `a`→`b`. THE ERASER'S QUERY.
|
|
509
|
+
*
|
|
510
|
+
* Segment-based, not point-based: a fast flick puts 80px between two pointermove
|
|
511
|
+
* samples, and an eraser that only tested the samples would jump clean over a stroke
|
|
512
|
+
* it visibly wiped through. Ask what the pointer TRAVELLED THROUGH, not where it
|
|
513
|
+
* happened to land.
|
|
514
|
+
*/
|
|
515
|
+
getStrokesAlongSegment(a: Point, b: Point, tolerance?: number): StrokeModel[];
|
|
516
|
+
/**
|
|
517
|
+
* Compound-graph containment (Wave-2)
|
|
518
|
+
*
|
|
519
|
+
* These derive the nesting tree from each GroupModel.parentGroupId pointer,
|
|
520
|
+
* which addMember/removeMember/setParent keep authoritative. Coordinates stay
|
|
521
|
+
* ABSOLUTE across the codebase; nesting is purely a logical containment tree.
|
|
522
|
+
*/
|
|
523
|
+
/**
|
|
524
|
+
* Get a group's ancestor chain (nearest parent first), walking parentGroupId
|
|
525
|
+
* upward. Robust against malformed self/looping pointers.
|
|
526
|
+
*/
|
|
527
|
+
getAncestors(groupId: string): GroupModel[];
|
|
528
|
+
/**
|
|
529
|
+
* Get every group nested (directly or transitively) inside `groupId`.
|
|
530
|
+
* Breadth-first over the parentGroupId back-pointers.
|
|
531
|
+
*/
|
|
532
|
+
getDescendants(groupId: string): GroupModel[];
|
|
533
|
+
/**
|
|
534
|
+
* Nesting depth of a group: number of ancestors (0 for a top-level group).
|
|
535
|
+
*/
|
|
536
|
+
getDepth(groupId: string): number;
|
|
537
|
+
/**
|
|
538
|
+
* Selection Management
|
|
539
|
+
*/
|
|
540
|
+
/**
|
|
541
|
+
* Get all selected nodes
|
|
542
|
+
*/
|
|
543
|
+
getSelectedNodes(): NodeModel[];
|
|
544
|
+
/**
|
|
545
|
+
* Select a single node (clears previous selection)
|
|
546
|
+
* @param node - Node to select
|
|
547
|
+
*/
|
|
548
|
+
selectNode(node: NodeModel): void;
|
|
549
|
+
/**
|
|
550
|
+
* Add node to selection (multi-select)
|
|
551
|
+
* @param node - Node to add to selection
|
|
552
|
+
*/
|
|
553
|
+
addToSelection(node: NodeModel): void;
|
|
554
|
+
/**
|
|
555
|
+
* Remove node from selection
|
|
556
|
+
* @param node - Node to remove from selection
|
|
557
|
+
*/
|
|
558
|
+
removeFromSelection(node: NodeModel): void;
|
|
559
|
+
/**
|
|
560
|
+
* Toggle node selection (add if not selected, remove if selected)
|
|
561
|
+
* @param node - Node to toggle
|
|
562
|
+
*/
|
|
563
|
+
toggleNodeSelection(node: NodeModel): void;
|
|
564
|
+
/**
|
|
565
|
+
* Clear all selections
|
|
566
|
+
*/
|
|
567
|
+
clearSelection(): void;
|
|
568
|
+
/**
|
|
569
|
+
* Select all nodes
|
|
570
|
+
*/
|
|
571
|
+
selectAll(): void;
|
|
572
|
+
/**
|
|
573
|
+
* Delete all selected nodes and their connected links
|
|
574
|
+
* @returns Number of nodes deleted
|
|
575
|
+
*/
|
|
576
|
+
deleteSelected(): number;
|
|
577
|
+
/**
|
|
578
|
+
* Get node at position (for click detection)
|
|
579
|
+
* Returns the topmost node at the given position
|
|
580
|
+
* @param x - X coordinate
|
|
581
|
+
* @param y - Y coordinate
|
|
582
|
+
* @returns Node at position, or undefined if none found
|
|
583
|
+
* Phase 3.3: Uses shape-aware hit detection
|
|
584
|
+
*/
|
|
585
|
+
getNodeAtPosition(x: number, y: number): NodeModel | undefined;
|
|
586
|
+
/**
|
|
587
|
+
* Is (x, y) inside any node ABOVE `nodeId` in z-order?
|
|
588
|
+
*
|
|
589
|
+
* Same z contract as {@link getNodeAtPosition} (array order, topmost last),
|
|
590
|
+
* same shape-aware containment. This is the occlusion oracle for PORTS: a
|
|
591
|
+
* port whose anchor a higher node covers must neither paint nor accept
|
|
592
|
+
* input — pre-fix, an overlapped node's port glyphs floated on top of the
|
|
593
|
+
* covering node's body, and its hidden ports still won the hover/press race
|
|
594
|
+
* through it (live report from stacked pasted nodes).
|
|
595
|
+
*/
|
|
596
|
+
isPointCoveredAbove(x: number, y: number, nodeId: string): boolean;
|
|
597
|
+
/** Is `ancestorId` anywhere up `node`'s parent chain? Cycle-guarded. */
|
|
598
|
+
private hasAncestor;
|
|
599
|
+
/**
|
|
600
|
+
* Option 3: Lock/pin selected nodes
|
|
601
|
+
* Locked nodes will not move during layout operations
|
|
602
|
+
*/
|
|
603
|
+
lockSelected(): number;
|
|
604
|
+
/**
|
|
605
|
+
* Option 3: Unlock selected nodes
|
|
606
|
+
*/
|
|
607
|
+
unlockSelected(): number;
|
|
608
|
+
/**
|
|
609
|
+
* Option 3: Get locked nodes
|
|
610
|
+
*/
|
|
611
|
+
getLockedNodes(): NodeModel[];
|
|
612
|
+
/**
|
|
613
|
+
* Option 3: Unlock all nodes
|
|
614
|
+
*/
|
|
615
|
+
unlockAll(): number;
|
|
616
|
+
/**
|
|
617
|
+
* Set viewport (Phase 0.5 - Viewport-Aware Layout)
|
|
618
|
+
*/
|
|
619
|
+
setViewport(x: number, y: number, width: number, height: number, zoom?: number): void;
|
|
620
|
+
/**
|
|
621
|
+
* Get current viewport
|
|
622
|
+
*/
|
|
623
|
+
getViewport(): {
|
|
624
|
+
x: number;
|
|
625
|
+
y: number;
|
|
626
|
+
width: number;
|
|
627
|
+
height: number;
|
|
628
|
+
zoom: number;
|
|
629
|
+
};
|
|
630
|
+
/**
|
|
631
|
+
* Pan viewport
|
|
632
|
+
*/
|
|
633
|
+
pan(dx: number, dy: number): void;
|
|
634
|
+
/**
|
|
635
|
+
* Zoom viewport (relative adjustment)
|
|
636
|
+
*/
|
|
637
|
+
zoom(delta: number, center?: Point): void;
|
|
638
|
+
/**
|
|
639
|
+
* Set absolute zoom level
|
|
640
|
+
* Phase 0.5 - Option B: Pan/Zoom controls
|
|
641
|
+
* @param level - Zoom level (0.1 to 10.0)
|
|
642
|
+
* @param center - Optional center point for zoom (defaults to viewport center)
|
|
643
|
+
*/
|
|
644
|
+
setZoom(level: number, center?: Point): void;
|
|
645
|
+
/**
|
|
646
|
+
* Fit viewport to show all nodes (without changing zoom level)
|
|
647
|
+
* Phase 0.5 - Option B: Pan/Zoom controls
|
|
648
|
+
* @param padding - Padding around content (default 100)
|
|
649
|
+
*/
|
|
650
|
+
fitToView(padding?: number): void;
|
|
651
|
+
/**
|
|
652
|
+
* Fit viewport to show all nodes AND adjust zoom to fit screen
|
|
653
|
+
* Phase 0.5 - Option B: Pan/Zoom controls
|
|
654
|
+
* @param targetWidth - Target viewport width (e.g. screen width)
|
|
655
|
+
* @param targetHeight - Target viewport height (e.g. screen height)
|
|
656
|
+
* @param padding - Padding around content (default 100)
|
|
657
|
+
*/
|
|
658
|
+
zoomToFit(targetWidth: number, targetHeight: number, padding?: number): void;
|
|
659
|
+
/**
|
|
660
|
+
* Clear all nodes, links, and groups (Phase 1.6c)
|
|
661
|
+
*/
|
|
662
|
+
clear(): void;
|
|
663
|
+
/**
|
|
664
|
+
* Get nodes visible in viewport (Phase 5.1)
|
|
665
|
+
* This enables viewport virtualization - only render visible nodes
|
|
666
|
+
*
|
|
667
|
+
* @param viewport - Rectangular viewport region in world coordinates
|
|
668
|
+
* @returns Array of nodes that intersect with the viewport
|
|
669
|
+
*
|
|
670
|
+
* @example
|
|
671
|
+
* ```typescript
|
|
672
|
+
* const viewport = {
|
|
673
|
+
* x: camera.x,
|
|
674
|
+
* y: camera.y,
|
|
675
|
+
* width: canvas.width / camera.zoom,
|
|
676
|
+
* height: canvas.height / camera.zoom,
|
|
677
|
+
* };
|
|
678
|
+
* const visibleNodes = diagram.getVisibleNodes(viewport);
|
|
679
|
+
* // Only render visibleNodes instead of all nodes
|
|
680
|
+
* ```
|
|
681
|
+
*/
|
|
682
|
+
getVisibleNodes(viewport: Rectangle): NodeModel[];
|
|
683
|
+
/**
|
|
684
|
+
* Get links visible in viewport (Phase 5.1)
|
|
685
|
+
* This enables viewport virtualization - only render visible links
|
|
686
|
+
*
|
|
687
|
+
* @param viewport - Rectangular viewport region in world coordinates
|
|
688
|
+
* @returns Array of links that intersect with the viewport
|
|
689
|
+
*/
|
|
690
|
+
getVisibleLinks(viewport: Rectangle): LinkModel[];
|
|
691
|
+
/**
|
|
692
|
+
* The nearest port to a world point, served BY THE SPATIAL INDEX.
|
|
693
|
+
*
|
|
694
|
+
* wave8/culling — Card 2. This is the query a link drag makes on every
|
|
695
|
+
* pointermove, so it is the one query that must never be a scan: the existing
|
|
696
|
+
* answer (`PortModel.findNearestPort`) could only search ONE node — the one the
|
|
697
|
+
* pointer happened to be over — because searching more would have meant walking
|
|
698
|
+
* every node in the diagram. The index turns "which port am I near" into a
|
|
699
|
+
* bounded region query, so a drag can snap to a port it is merely NEAR, not one
|
|
700
|
+
* it is already on top of, without paying O(nodes) sixty times a second.
|
|
701
|
+
*
|
|
702
|
+
* `portPosition` is injectable because THE ENGINE DOES NOT KNOW WHERE PORTS ARE.
|
|
703
|
+
* Its default (`getAbsolutePosition`) walks the bounding box — edge midpoints,
|
|
704
|
+
* blind to the silhouette and to how many ports share a side — while the
|
|
705
|
+
* renderer draws them shape-aware (`portWorldPosition`). Wave 6 fixed exactly
|
|
706
|
+
* this divergence for the port hit-test and the magnet, and it is why callers
|
|
707
|
+
* inside the renderer MUST pass the shape-aware resolver: otherwise you snap to
|
|
708
|
+
* a point several pixels from the circle you can see.
|
|
709
|
+
*
|
|
710
|
+
* @param point World-space point (usually the drag position).
|
|
711
|
+
* @param options radius (default 24 world units), an optional port filter, and
|
|
712
|
+
* the port-position resolver described above.
|
|
713
|
+
*/
|
|
714
|
+
findNearestPort(point: Point, options?: NearestPortOptions): NearestPortHit | null;
|
|
715
|
+
/**
|
|
716
|
+
* Get bounding box of all visible entities (Phase 5.1)
|
|
717
|
+
* Useful for "fit to viewport" operations
|
|
718
|
+
*
|
|
719
|
+
* @param viewport - Rectangular viewport region
|
|
720
|
+
* @returns Bounding rectangle of visible entities, or null if none visible
|
|
721
|
+
*/
|
|
722
|
+
getVisibleBounds(viewport: Rectangle): Rectangle | null;
|
|
723
|
+
/**
|
|
724
|
+
* Get all dirty nodes (Phase 5.2)
|
|
725
|
+
* Returns nodes that need re-rendering
|
|
726
|
+
*/
|
|
727
|
+
getDirtyNodes(): NodeModel[];
|
|
728
|
+
/**
|
|
729
|
+
* Get all dirty links (Phase 5.2)
|
|
730
|
+
* Returns links that need re-rendering
|
|
731
|
+
*/
|
|
732
|
+
getDirtyLinks(): LinkModel[];
|
|
733
|
+
/**
|
|
734
|
+
* Get all dirty groups (Phase 5.2)
|
|
735
|
+
* Returns groups that need re-rendering
|
|
736
|
+
*/
|
|
737
|
+
getDirtyGroups(): GroupModel[];
|
|
738
|
+
/**
|
|
739
|
+
* Mark all entities as clean (Phase 5.2)
|
|
740
|
+
* Call this after rendering to reset dirty flags
|
|
741
|
+
*/
|
|
742
|
+
markAllClean(): void;
|
|
743
|
+
/**
|
|
744
|
+
* Get total count of dirty entities (Phase 5.2)
|
|
745
|
+
* Useful for monitoring render performance
|
|
746
|
+
*/
|
|
747
|
+
getDirtyCount(): number;
|
|
748
|
+
/**
|
|
749
|
+
* Get visible dirty nodes (Phase 5.2)
|
|
750
|
+
* Combines viewport virtualization with dirty marking
|
|
751
|
+
* Only returns nodes that are both visible AND need re-rendering
|
|
752
|
+
*
|
|
753
|
+
* @param viewport - Rectangular viewport region
|
|
754
|
+
* @returns Array of nodes that are visible and dirty
|
|
755
|
+
*
|
|
756
|
+
* @example
|
|
757
|
+
* ```typescript
|
|
758
|
+
* const viewport = { x: 0, y: 0, width: 800, height: 600 };
|
|
759
|
+
* const dirtyVisible = diagram.getVisibleDirtyNodes(viewport);
|
|
760
|
+
* // Only re-render these nodes - maximum efficiency!
|
|
761
|
+
* ```
|
|
762
|
+
*/
|
|
763
|
+
getVisibleDirtyNodes(viewport: Rectangle): NodeModel[];
|
|
764
|
+
/**
|
|
765
|
+
* Get visible dirty links (Phase 5.2)
|
|
766
|
+
* Combines viewport virtualization with dirty marking
|
|
767
|
+
* Only returns links that are both visible AND need re-rendering
|
|
768
|
+
*
|
|
769
|
+
* @param viewport - Rectangular viewport region
|
|
770
|
+
* @returns Array of links that are visible and dirty
|
|
771
|
+
*/
|
|
772
|
+
getVisibleDirtyLinks(viewport: Rectangle): LinkModel[];
|
|
773
|
+
/**
|
|
774
|
+
* Get LOD level based on zoom (Phase 5.3)
|
|
775
|
+
*
|
|
776
|
+
* wave2/rendering: driven by the declarative {@link LODConfig}. Picks the
|
|
777
|
+
* tier whose `minZoom` the zoom crosses — tiers are pre-sorted highest-first,
|
|
778
|
+
* so the first match wins. With the default config this is exactly:
|
|
779
|
+
* zoom >= 1.0 -> 'high'
|
|
780
|
+
* 0.5 <= zoom < 1.0 -> 'medium'
|
|
781
|
+
* zoom < 0.5 -> 'low'
|
|
782
|
+
*
|
|
783
|
+
* (wave8/culling moved the medium/low breakpoint 0.2 → 0.5 — see
|
|
784
|
+
* {@link createDefaultLODConfig} for why.)
|
|
785
|
+
*
|
|
786
|
+
* @param zoom - Current zoom level
|
|
787
|
+
* @returns Tier name (default policy: 'high' | 'medium' | 'low')
|
|
788
|
+
*/
|
|
789
|
+
getLODLevel(zoom: number): LODLevel;
|
|
790
|
+
/**
|
|
791
|
+
* wave2/rendering: single feature gate that reads the active LOD tier's
|
|
792
|
+
* feature set. Renderers call this instead of hardcoding `lod === 'high'`
|
|
793
|
+
* checks, so custom tiers work automatically.
|
|
794
|
+
*
|
|
795
|
+
* @param feature - Visual feature being considered
|
|
796
|
+
* @param lod - Current tier name (from {@link getLODLevel})
|
|
797
|
+
* @returns true if the tier renders that feature
|
|
798
|
+
*/
|
|
799
|
+
shouldRender(feature: LODFeature, lod: LODLevel): boolean;
|
|
800
|
+
/** Get the current Level-of-Detail policy. */
|
|
801
|
+
getLODConfig(): LODConfig;
|
|
802
|
+
/**
|
|
803
|
+
* Replace the Level-of-Detail policy wholesale. Apps use this to define
|
|
804
|
+
* their own tiers (names, breakpoints and feature sets).
|
|
805
|
+
*/
|
|
806
|
+
setLODConfig(config: LODConfig): void;
|
|
807
|
+
/**
|
|
808
|
+
* Register (or replace, by name) a single LOD tier. Lets apps extend the
|
|
809
|
+
* default policy with an extra tier without rebuilding the whole config.
|
|
810
|
+
*/
|
|
811
|
+
registerLODTier(tier: LODTier): void;
|
|
812
|
+
/** Keep the highest-minZoom-first tier cache in sync with _lodConfig. */
|
|
813
|
+
private _resortLODTiers;
|
|
814
|
+
/**
|
|
815
|
+
* Get visible nodes with LOD information (Phase 5.3)
|
|
816
|
+
* Combines viewport virtualization with Level of Detail
|
|
817
|
+
*
|
|
818
|
+
* @param viewport - Rectangular viewport region
|
|
819
|
+
* @param zoom - Current zoom level
|
|
820
|
+
* @returns Array of nodes with LOD level
|
|
821
|
+
*/
|
|
822
|
+
getNodesWithLOD(viewport: Rectangle, zoom: number): EntityWithLOD<NodeModel>[];
|
|
823
|
+
/**
|
|
824
|
+
* Get visible links with LOD information (Phase 5.3)
|
|
825
|
+
* Combines viewport virtualization with Level of Detail
|
|
826
|
+
*
|
|
827
|
+
* @param viewport - Rectangular viewport region
|
|
828
|
+
* @param zoom - Current zoom level
|
|
829
|
+
* @returns Array of links with LOD level
|
|
830
|
+
*/
|
|
831
|
+
getLinksWithLOD(viewport: Rectangle, zoom: number): EntityWithLOD<LinkModel>[];
|
|
832
|
+
/**
|
|
833
|
+
* Check if labels should be rendered at this LOD level (Phase 5.3)
|
|
834
|
+
* wave2/rendering: now reads the LOD tier's feature set.
|
|
835
|
+
*/
|
|
836
|
+
shouldRenderLabels(lod: LODLevel): boolean;
|
|
837
|
+
/**
|
|
838
|
+
* Check if icons should be rendered at this LOD level (Phase 5.3)
|
|
839
|
+
* wave2/rendering: now reads the LOD tier's feature set.
|
|
840
|
+
*/
|
|
841
|
+
shouldRenderIcons(lod: LODLevel): boolean;
|
|
842
|
+
/**
|
|
843
|
+
* Check if borders should be rendered at this LOD level (Phase 5.3)
|
|
844
|
+
* wave2/rendering: now reads the LOD tier's feature set.
|
|
845
|
+
*/
|
|
846
|
+
shouldRenderBorders(lod: LODLevel): boolean;
|
|
847
|
+
/**
|
|
848
|
+
* Check if shadows should be rendered at this LOD level (Phase 5.3)
|
|
849
|
+
* wave2/rendering: now reads the LOD tier's feature set.
|
|
850
|
+
*/
|
|
851
|
+
shouldRenderShadows(lod: LODLevel): boolean;
|
|
852
|
+
/**
|
|
853
|
+
* Get the layout manager for this diagram
|
|
854
|
+
*/
|
|
855
|
+
getLayoutManager(): LayoutManager;
|
|
856
|
+
/**
|
|
857
|
+
* Set layout algorithm
|
|
858
|
+
* @param type - Algorithm type ('grid', 'force-directed', 'hierarchical', 'hybrid')
|
|
859
|
+
* @param config - Optional configuration
|
|
860
|
+
*/
|
|
861
|
+
setLayoutAlgorithm(type: LayoutAlgorithmType, config?: LayoutConfiguration): void;
|
|
862
|
+
/**
|
|
863
|
+
* Get current layout algorithm type
|
|
864
|
+
*/
|
|
865
|
+
getLayoutAlgorithm(): LayoutAlgorithmType;
|
|
866
|
+
/**
|
|
867
|
+
* Configure current layout algorithm
|
|
868
|
+
*/
|
|
869
|
+
configureLayout(config: LayoutConfiguration): void;
|
|
870
|
+
/**
|
|
871
|
+
* Get layout configuration
|
|
872
|
+
*/
|
|
873
|
+
getLayoutConfiguration(): LayoutConfiguration;
|
|
874
|
+
/**
|
|
875
|
+
* Enable or disable automatic layout for new nodes
|
|
876
|
+
* When enabled, newly added nodes will be automatically positioned using the current layout algorithm
|
|
877
|
+
*/
|
|
878
|
+
setAutoLayout(enabled: boolean): void;
|
|
879
|
+
/**
|
|
880
|
+
* Check if auto-layout is enabled
|
|
881
|
+
*/
|
|
882
|
+
isAutoLayoutEnabled(): boolean;
|
|
883
|
+
/**
|
|
884
|
+
* Re-layout all nodes using current algorithm
|
|
885
|
+
* This will recalculate positions for all nodes in the diagram
|
|
886
|
+
*/
|
|
887
|
+
reLayout(config?: LayoutConfiguration): Promise<void>;
|
|
888
|
+
/**
|
|
889
|
+
* Override: End batch update mode
|
|
890
|
+
* Fires accumulated events when all batches complete
|
|
891
|
+
*/
|
|
892
|
+
endBatch(): void;
|
|
893
|
+
/**
|
|
894
|
+
* Emit event, respecting batch mode
|
|
895
|
+
* During batch mode, events are queued instead of fired immediately
|
|
896
|
+
*/
|
|
897
|
+
private emitOrQueue;
|
|
898
|
+
/**
|
|
899
|
+
* Serialize to JSON
|
|
900
|
+
*/
|
|
901
|
+
serialize(): SerializedDiagram;
|
|
902
|
+
/**
|
|
903
|
+
* Rebuild the derived port-connection registries from the diagram's links.
|
|
904
|
+
*
|
|
905
|
+
* `PortModel.currentConnections` is DERIVED state (which links touch this
|
|
906
|
+
* port). It is never serialized; instead it is reconstructed
|
|
907
|
+
* deterministically here so `canConnect()` / `maxConnections` enforcement
|
|
908
|
+
* survive save/load. Runs inside fromJSON, and is safe to re-run at any
|
|
909
|
+
* time — existing registries are reset first, so the result is always
|
|
910
|
+
* exactly the current links.
|
|
911
|
+
*
|
|
912
|
+
* A self-loop (source === target port) registers once — the Set dedupes —
|
|
913
|
+
* so it counts as ONE connection on that port.
|
|
914
|
+
*
|
|
915
|
+
* @returns endpoints that resolve to no known port (corrupt/dangling links),
|
|
916
|
+
* for callers that want to surface them.
|
|
917
|
+
*/
|
|
918
|
+
reconcilePortConnections(): Array<{
|
|
919
|
+
linkId: string;
|
|
920
|
+
portId: string;
|
|
921
|
+
end: 'source' | 'target';
|
|
922
|
+
}>;
|
|
923
|
+
/**
|
|
924
|
+
* Apply an incremental patch (see serialization/Incremental.ts) — the
|
|
925
|
+
* receive side of toIncremental/apply. Added entities are installed through
|
|
926
|
+
* the SAME unified restore path as document load (fully wired); modified
|
|
927
|
+
* entities are updated IN PLACE so object identity is preserved for
|
|
928
|
+
* renderers holding references; normal change events fire (an applied
|
|
929
|
+
* patch IS a mutation, unlike a document load).
|
|
930
|
+
*/
|
|
931
|
+
applyIncremental(patch: DiagramIncremental): void;
|
|
932
|
+
/** In-place node update from serialized data (identity preserved). */
|
|
933
|
+
private applySerializedNode;
|
|
934
|
+
/** In-place link update from serialized data (identity preserved). */
|
|
935
|
+
private applySerializedLink;
|
|
936
|
+
/** In-place group update from serialized data (identity preserved). */
|
|
937
|
+
private applySerializedGroup;
|
|
938
|
+
/**
|
|
939
|
+
* Deserialize from JSON — THE document load path.
|
|
940
|
+
*
|
|
941
|
+
* Contract: a loaded diagram behaves identically to an authored one.
|
|
942
|
+
* Every entity is installed through the same install* wiring as
|
|
943
|
+
* interactive creation (diagram back-refs, spatial indices, port index,
|
|
944
|
+
* change-forwarding listeners), port registries are reconciled, and the
|
|
945
|
+
* document is migrated to the current schema first. The load itself is
|
|
946
|
+
* NOT a user mutation: per-entity events queued during the restore are
|
|
947
|
+
* dropped, the change log ends empty, and `version` reports the SAVED
|
|
948
|
+
* counter — then a single 'diagram:loaded' event fires.
|
|
949
|
+
*/
|
|
950
|
+
static fromJSON(data: SerializedDiagram, options?: DiagramLoadOptions): DiagramModel;
|
|
951
|
+
/**
|
|
952
|
+
* Dispose diagram and all child entities (Phase 5.4)
|
|
953
|
+
* Prevents memory leaks by:
|
|
954
|
+
* - Disposing all nodes, links, and groups
|
|
955
|
+
* - Breaking circular references
|
|
956
|
+
* - Clearing spatial indices
|
|
957
|
+
* - Calling parent dispose()
|
|
958
|
+
*/
|
|
959
|
+
dispose(): void;
|
|
960
|
+
}
|