@grafloria/element 0.3.17 → 0.3.19
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/jest.config.ts +16 -0
- package/package.json +2 -2
- package/project.json +44 -0
- package/src/front-door-probe.spec.ts +173 -0
- package/src/index.d.ts +2 -1
- package/src/index.js +11 -2
- package/src/index.js.map +1 -1
- package/src/index.ts +804 -0
- package/src/lib/dashboard-kit/dashboard.js.map +1 -1
- package/src/lib/dashboard-kit/dashboard.spec.ts +821 -0
- package/src/lib/dashboard-kit/dashboard.ts +906 -0
- package/src/lib/dashboard-kit/grid-binder.js +16 -15
- package/src/lib/dashboard-kit/grid-binder.js.map +1 -1
- package/src/lib/dashboard-kit/grid-binder.ts +1976 -0
- package/src/lib/dashboard-kit/grid-mapping.js.map +1 -1
- package/src/lib/dashboard-kit/grid-mapping.spec.ts +308 -0
- package/src/lib/dashboard-kit/grid-mapping.ts +283 -0
- package/src/lib/dashboard-kit/index.js.map +1 -1
- package/src/lib/dashboard-kit/index.ts +56 -0
- package/src/lib/dashboard-kit/styles.js +9 -3
- package/src/lib/dashboard-kit/styles.js.map +1 -1
- package/src/lib/dashboard-kit/styles.ts +206 -0
- package/src/lib/dashboard-kit/widgets.js.map +1 -1
- package/src/lib/dashboard-kit/widgets.spec.ts +239 -0
- package/src/lib/dashboard-kit/widgets.ts +484 -0
- package/src/lib/diagram-kit/card.js.map +1 -1
- package/src/lib/diagram-kit/card.ts +219 -0
- package/src/lib/diagram-kit/diagram-kit.spec.ts +465 -0
- package/src/lib/diagram-kit/editing.js +45 -54
- package/src/lib/diagram-kit/editing.js.map +1 -1
- package/src/lib/diagram-kit/editing.spec.ts +172 -0
- package/src/lib/diagram-kit/editing.ts +493 -0
- package/src/lib/diagram-kit/er.js.map +1 -1
- package/src/lib/diagram-kit/er.ts +246 -0
- package/src/lib/diagram-kit/handles.js.map +1 -1
- package/src/lib/diagram-kit/handles.spec.ts +224 -0
- package/src/lib/diagram-kit/handles.ts +375 -0
- package/src/lib/diagram-kit/index.d.ts +1 -0
- package/src/lib/diagram-kit/index.js +11 -1
- package/src/lib/diagram-kit/index.js.map +1 -1
- package/src/lib/diagram-kit/index.ts +66 -0
- package/src/lib/diagram-kit/join-guidance.d.ts +116 -0
- package/src/lib/diagram-kit/join-guidance.js +331 -0
- package/src/lib/diagram-kit/join-guidance.js.map +1 -0
- package/src/lib/diagram-kit/join-guidance.spec.ts +241 -0
- package/src/lib/diagram-kit/join-guidance.ts +390 -0
- package/src/lib/diagram-kit/rows.js.map +1 -1
- package/src/lib/diagram-kit/rows.ts +174 -0
- package/src/lib/diagram-kit/styles.js.map +1 -1
- package/src/lib/diagram-kit/styles.ts +118 -0
- package/src/lib/diagram-kit/uml.js.map +1 -1
- package/src/lib/diagram-kit/uml.ts +213 -0
- package/src/lib/diagram-kit/update.js.map +1 -1
- package/src/lib/diagram-kit/update.spec.ts +208 -0
- package/src/lib/diagram-kit/update.ts +324 -0
- package/src/lib/grafloria-flow-element.js.map +1 -1
- package/src/lib/grafloria-flow-element.spec.ts +290 -0
- package/src/lib/grafloria-flow-element.ts +298 -0
- package/src/lib/grafloria.js.map +1 -1
- package/src/lib/grafloria.ts +151 -0
- package/src/lib/load.js.map +1 -1
- package/src/lib/load.spec.ts +565 -0
- package/src/lib/load.ts +359 -0
- package/src/lib/node-type-registry.js.map +1 -1
- package/src/lib/node-type-registry.ts +76 -0
- package/src/lib/stencil-kit/builders.js.map +1 -1
- package/src/lib/stencil-kit/builders.ts +58 -0
- package/src/lib/stencil-kit/card-builders.js.map +1 -1
- package/src/lib/stencil-kit/card-builders.ts +113 -0
- package/src/lib/stencil-kit/index.js.map +1 -1
- package/src/lib/stencil-kit/index.ts +17 -0
- package/src/lib/stencil-kit/palette.js +60 -6
- package/src/lib/stencil-kit/palette.js.map +1 -1
- package/src/lib/stencil-kit/palette.ts +482 -0
- 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/shape-data.js.map +1 -1
- package/src/lib/stencil-kit/shape-data.spec.ts +470 -0
- package/src/lib/stencil-kit/shape-data.ts +680 -0
- package/src/lib/stencil-kit/styles.js +15 -0
- package/src/lib/stencil-kit/styles.js.map +1 -1
- package/src/lib/stencil-kit/styles.ts +126 -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/index.js.map +1 -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/dashboard.js.map +1 -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-binder.js.map +1 -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/grid-mapping.js.map +1 -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/index.js.map +1 -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/styles.js.map +1 -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/dashboard-kit/widgets.js.map +1 -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/card.js.map +1 -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/editing.js.map +1 -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/er.js.map +1 -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/handles.js.map +1 -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/index.js.map +1 -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/join-guidance.js.map +1 -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/rows.js.map +1 -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/styles.js.map +1 -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/uml.js.map +1 -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/diagram-kit/update.js.map +1 -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-flow-element.js.map +1 -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/grafloria.js.map +1 -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/load.js.map +1 -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/node-type-registry.js.map +1 -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/builders.js.map +1 -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/card-builders.js.map +1 -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/index.js.map +1 -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/palette.js.map +1 -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/shape-data.js.map +1 -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/element/src/lib/stencil-kit/styles.js.map +1 -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/component-adapter.interface.js.map +1 -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/adapters/index.js.map +1 -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/ClipboardManager.js.map +1 -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/clipboard/index.js.map +1 -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/apply-op.js.map +1 -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/capture.js.map +1 -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/index.js.map +1 -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/integrity.js.map +1 -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/lww.js.map +1 -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-log.js.map +1 -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/op.js.map +1 -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/replica.js.map +1 -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/collab/undo.js.map +1 -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/Command.js.map +1 -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/CommandManager.js.map +1 -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/AddGroupCommand.js.map +1 -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/AddLinkCommand.js.map +1 -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/AddNodeCommand.js.map +1 -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/AddToGroupCommand.js.map +1 -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/AlignCommands.js.map +1 -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/CollapseGroupCommand.js.map +1 -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/CopyCommand.js.map +1 -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/CutCommand.js.map +1 -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/DeleteSelectionCommand.js.map +1 -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/DuplicateCommand.js.map +1 -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/ExpandGroupCommand.js.map +1 -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/MoveGroupCommand.js.map +1 -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/MoveNodeCommand.js.map +1 -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/NodeZOrderCommands.js.map +1 -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/PasteCommand.js.map +1 -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/PortCommands.js.map +1 -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/ReconnectLinkCommand.js.map +1 -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/RemoveFromGroupCommand.js.map +1 -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/RemoveGroupCommand.js.map +1 -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/RemoveLinkCommand.js.map +1 -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/RemoveNodeCommand.js.map +1 -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/ResizeNodeCommand.js.map +1 -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/RotateNodeCommand.js.map +1 -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/SetFlexItemCommand.js.map +1 -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/SetGridItemCommand.js.map +1 -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/SetLayoutCommand.js.map +1 -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/SetLinkDisplayLabelCommand.js.map +1 -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/SetLinkLabelCommand.js.map +1 -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/SetLinkLabelsCommand.js.map +1 -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/SetLinkPathTypeCommand.js.map +1 -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/SetLinkPointsCommand.js.map +1 -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/SetNodeDataCommand.js.map +1 -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/SetNodeLabelCommand.js.map +1 -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/SetNodeShapeConfigCommand.js.map +1 -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/SetNodeStyleCommand.js.map +1 -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/SetParentCommand.js.map +1 -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/SetStrokePointsCommand.js.map +1 -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/StrokeLifecycleCommands.js.map +1 -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/UpdateLinkStyleCommand.js.map +1 -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/index.js.map +1 -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/remapNodePortIds.js.map +1 -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/basic/resolveLinkNodeIds.js.map +1 -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/BatchCommand.js.map +1 -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/MacroCommand.js.map +1 -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/composite/index.js.map +1 -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/commands/index.js.map +1 -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/comment-store.js.map +1 -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/index.js.map +1 -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/mentions.js.map +1 -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/read-state.js.map +1 -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/comments/types.js.map +1 -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/InteractionConfig.js.map +1 -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/config/index.js.map +1 -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/DSL.js.map +1 -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/StyleParser.js.map +1 -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/TemplateParser.js.map +1 -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/advanced/index.js.map +1 -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/detector/LayoutDetector.js.map +1 -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/BPMNGenerator.js.map +1 -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/BPMNParser.js.map +1 -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/ERDGenerator.js.map +1 -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/ERDParser.js.map +1 -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/ERDTransformer.js.map +1 -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/UMLGenerator.js.map +1 -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/UMLParser.js.map +1 -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/extended/index.js.map +1 -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/DSLFormatter.js.map +1 -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/DSLGenerator.js.map +1 -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/generator/DiagramAnalyzer.js.map +1 -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/index.js.map +1 -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/lexer/Lexer.js.map +1 -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/MermaidClass.js.map +1 -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/MermaidER.js.map +1 -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/MermaidState.js.map +1 -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/index.js.map +1 -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/layout.js.map +1 -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/mermaid/lines.js.map +1 -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/parser/Parser.js.map +1 -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/BidirectionalSync.js.map +1 -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/IntegratedSyncManager.js.map +1 -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/LayoutApplicator.js.map +1 -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/SyncStateManager.js.map +1 -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/sync/index.js.map +1 -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/transformer/ASTTransformer.js.map +1 -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/ASTNode.js.map +1 -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/dsl/types/Token.js.map +1 -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/DiagramEngine.js.map +1 -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/DiagramMode.js.map +1 -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/DiagramModeTypes.js.map +1 -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/ModeManager.js.map +1 -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/engine/index.js.map +1 -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/EventBus.js.map +1 -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/events/index.js.map +1 -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/index.js.map +1 -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/GroupCollapseService.js.map +1 -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/GroupMembershipService.js.map +1 -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/SemanticMembershipService.js.map +1 -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/SwimlaneService.js.map +1 -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/interaction/index.js.map +1 -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/importDrawio.js.map +1 -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/index.js.map +1 -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/interop/drawio/xml.js.map +1 -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/CompoundLayoutService.js.map +1 -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/ILayoutAlgorithm.js.map +1 -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/LayoutManager.js.map +1 -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/SmartSpacingCalculator.js.map +1 -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/ViewportTransform.js.map +1 -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/ForceDirectedLayoutAlgorithm.js.map +1 -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/GridLayoutAlgorithm.js.map +1 -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/HierarchicalLayoutAlgorithm.js.map +1 -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/algorithms/HybridLayoutAlgorithm.js.map +1 -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/community-layout-adapter.js.map +1 -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/component-packing.js.map +1 -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/dagre-layout-adapter.js.map +1 -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/edge-bundling.interface.js.map +1 -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-layout-adapter.js.map +1 -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/elk-loader.js.map +1 -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/force-layout-adapter.js.map +1 -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/grid-pack/grid-pack-engine.js.map +1 -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/mental-map.js.map +1 -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/incremental-layout.interface.js.map +1 -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/index.js.map +1 -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-adapter.interface.js.map +1 -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-auto-select.js.map +1 -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-constraints.interface.js.map +1 -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-graph.js.map +1 -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-history.js.map +1 -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-host.js.map +1 -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-presets.js.map +1 -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-extended.js.map +1 -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-quality-metrics.js.map +1 -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-registry.js.map +1 -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/layout.service.js.map +1 -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/overlap-removal.js.map +1 -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-aware-layout.interface.js.map +1 -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/port-label-bridge.js.map +1 -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/portfolio-layouts.js.map +1 -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/rng.js.map +1 -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/spectral-layout-adapter.js.map +1 -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/steppable-layout.js.map +1 -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/subgraph-layout.interface.js.map +1 -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/layered-layout.js.map +1 -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/sugiyama/sugiyama.js.map +1 -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/tree-layout.js.map +1 -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/layout/types.js.map +1 -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/lib/performance/mobile-performance.service.js.map +1 -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/DiagramEntity.js.map +1 -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/DiagramModel.js.map +1 -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/GroupModel.js.map +1 -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/LinkModel.js.map +1 -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/NodeModel.js.map +1 -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/PortModel.js.map +1 -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/StrokeModel.js.map +1 -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/index.js.map +1 -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/models/readonly-lock.js.map +1 -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/LRUCache.js.map +1 -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/PerformanceMonitor.js.map +1 -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/SpatialIndex.js.map +1 -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/performance/index.js.map +1 -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/PluginManager.js.map +1 -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/plugins/index.js.map +1 -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/connection-rules.js.map +1 -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/dynamic-ports.js.map +1 -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/index.js.map +1 -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-groups.js.map +1 -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-type-registry.js.map +1 -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/ports/port-types.js.map +1 -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/HtmlTemplateRenderer.js.map +1 -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/LemonadeJSRenderer.js.map +1 -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/rendering/index.js.map +1 -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/LiveReroutingEngine.js.map +1 -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/ObstacleIndex.js.map +1 -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/ObstacleMap.js.map +1 -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/ObstacleMapBuilder.js.map +1 -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/PathSimplifier.js.map +1 -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/RoutingEngine.js.map +1 -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/AStarRouter.js.map +1 -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/DijkstraRouter.js.map +1 -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/ElkRouter.js.map +1 -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/ManhattanRouter.js.map +1 -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/OrthogonalRouter.js.map +1 -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/StraightRouter.js.map +1 -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/algorithms/VisibilityGraphRouter.js.map +1 -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/GlobalRouteSolver.js.map +1 -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/global/solver-host.js.map +1 -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/index.js.map +1 -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/routing/types.js.map +1 -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/SelectionManager.js.map +1 -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/selection/index.js.map +1 -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/DiagramMigrations.js.map +1 -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/DiagramValidator.js.map +1 -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/DocumentEnvelope.js.map +1 -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/Incremental.js.map +1 -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/Serializer.js.map +1 -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/Subgraph.js.map +1 -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/serialization/TextFormat.js.map +1 -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/ConnectionStateManager.js.map +1 -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/DiagramStore.js.map +1 -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/state/index.js.map +1 -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/awareness.js.map +1 -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/batcher.js.map +1 -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/causal-buffer.js.map +1 -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/index.js.map +1 -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/protocol.js.map +1 -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/sync-adapter.js.map +1 -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/transport.js.map +1 -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/broadcast-channel.js.map +1 -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/memory.js.map +1 -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/unreliable.js.map +1 -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/transports/websocket.js.map +1 -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/sync/version-vector.js.map +1 -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/common-templates.js.map +1 -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/data-viz-templates.js.map +1 -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/erd-templates.js.map +1 -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/index.js.map +1 -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/integration.js.map +1 -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/template-library/workflow-templates.js.map +1 -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/NodeFactory.js.map +1 -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/NodeTemplate.js.map +1 -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/TemplateLoader.js.map +1 -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/TemplateRegistry.js.map +1 -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-business-rule-task.template.js.map +1 -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-end-event.template.js.map +1 -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-error-event.template.js.map +1 -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-exclusive-gateway.template.js.map +1 -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-inclusive-gateway.template.js.map +1 -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-intermediate-event.template.js.map +1 -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-manual-task.template.js.map +1 -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-message-event.template.js.map +1 -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-parallel-gateway.template.js.map +1 -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-script-task.template.js.map +1 -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-service-task.template.js.map +1 -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-start-event.template.js.map +1 -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-task.template.js.map +1 -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-timer-event.template.js.map +1 -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/bpmn-user-task.template.js.map +1 -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/bpmn/index.js.map +1 -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-associative-entity.template.js.map +1 -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-attribute.template.js.map +1 -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-bridge-entity.template.js.map +1 -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-composite-attribute.template.js.map +1 -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-derived-attribute.template.js.map +1 -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-discriminator.template.js.map +1 -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-entity.template.js.map +1 -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-isa.template.js.map +1 -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-key-attribute.template.js.map +1 -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-multivalued-attribute.template.js.map +1 -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-optional-attribute.template.js.map +1 -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-partial-key.template.js.map +1 -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-relationship.template.js.map +1 -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-subtype.template.js.map +1 -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-supertype.template.js.map +1 -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-table.template.js.map +1 -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-view.template.js.map +1 -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-entity.template.js.map +1 -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/erd-weak-relationship.template.js.map +1 -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/erd/index.js.map +1 -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-connector.template.js.map +1 -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-data.template.js.map +1 -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-decision.template.js.map +1 -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-delay.template.js.map +1 -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-display.template.js.map +1 -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-document.template.js.map +1 -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-input.template.js.map +1 -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-manual-operation.template.js.map +1 -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-merge.template.js.map +1 -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-or.template.js.map +1 -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-predefined-process.template.js.map +1 -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-preparation.template.js.map +1 -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-process.template.js.map +1 -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-stored-data.template.js.map +1 -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-summing-junction.template.js.map +1 -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/flowchart-terminal.template.js.map +1 -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/flowchart/index.js.map +1 -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/index.js.map +1 -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/register.js.map +1 -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/index.js.map +1 -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-abstract-class.template.js.map +1 -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-activation.template.js.map +1 -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-partition.template.js.map +1 -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-activity.template.js.map +1 -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-actor.template.js.map +1 -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-class.template.js.map +1 -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-collaboration.template.js.map +1 -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-component.template.js.map +1 -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-datatype.template.js.map +1 -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-decision.template.js.map +1 -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-enum.template.js.map +1 -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-node.template.js.map +1 -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-final-state.template.js.map +1 -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-fork.template.js.map +1 -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-node.template.js.map +1 -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-initial-state.template.js.map +1 -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-interface.template.js.map +1 -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-join.template.js.map +1 -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-lifeline.template.js.map +1 -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-merge.template.js.map +1 -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-node.template.js.map +1 -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-note.template.js.map +1 -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-object.template.js.map +1 -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-package.template.js.map +1 -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-part.template.js.map +1 -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-port.template.js.map +1 -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-primitive-type.template.js.map +1 -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-signal.template.js.map +1 -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-state.template.js.map +1 -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/generated/uml/uml-use-case.template.js.map +1 -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/index.js.map +1 -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/templates/stencils.js.map +1 -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/bpmn.js.map +1 -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/erd.js.map +1 -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/flowchart.js.map +1 -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/index.js.map +1 -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/domain/uml.js.map +1 -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/event.types.js.map +1 -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/geometry.types.js.map +1 -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/index.js.map +1 -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/layout.types.js.map +1 -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/model.types.js.map +1 -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/performance.types.js.map +1 -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/types/plugin.types.js.map +1 -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/deep-clone.js.map +1 -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/geometry.js.map +1 -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/id.js.map +1 -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/index.js.map +1 -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/utils/transform.js.map +1 -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/ConnectionGroupValidator.js.map +1 -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/TypeRegistry.js.map +1 -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/ValidationEngine.js.map +1 -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/engine/src/validation/index.js.map +1 -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/diagram-outline.js.map +1 -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/focus-containment.js.map +1 -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/graph-topology.js.map +1 -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/index.js.map +1 -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/live-region.js.map +1 -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/outline-view.js.map +1 -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/reduced-motion.js.map +1 -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/a11y/semantics.js.map +1 -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-context.js.map +1 -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/canvas-renderer.js.map +1 -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/dirty-region.js.map +1 -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/index.js.map +1 -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/path-geometry.js.map +1 -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/render-backend.js.map +1 -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/style-resolution.js.map +1 -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/tier-policy.js.map +1 -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/canvas/vnode-painter.js.map +1 -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-overlay.js.map +1 -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-panel.js.map +1 -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/comment-pins.js.map +1 -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/comments/index.js.map +1 -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/assets.js.map +1 -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/batch.js.map +1 -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/bounds.js.map +1 -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/capture-host.js.map +1 -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/custom-nodes.js.map +1 -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/index.js.map +1 -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/node-raster.js.map +1 -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/pagination.js.map +1 -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/flate.js.map +1 -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/index.js.map +1 -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-export.js.map +1 -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-path.js.map +1 -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/pdf-primitives.js.map +1 -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/pdf/png.js.map +1 -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/raster.js.map +1 -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/round-trip.js.map +1 -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/scope.js.map +1 -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/style-flattener.js.map +1 -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/svg-export.js.map +1 -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/export/vnode-serializer.js.map +1 -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/capabilities.js.map +1 -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/capability-factory.js.map +1 -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/attach.js.map +1 -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/background.js.map +1 -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/controls.js.map +1 -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/components/minimap.js.map +1 -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/diagram-registry.js.map +1 -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/disposable.js.map +1 -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/extension-host.js.map +1 -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/index.js.map +1 -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/link-pipeline.js.map +1 -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/manifest.js.map +1 -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/node-component.js.map +1 -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/plugins-loader.js.map +1 -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/portal.js.map +1 -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/public-api.js.map +1 -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/registry-scope.js.map +1 -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/ext/tools.js.map +1 -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/index.js.map +1 -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/create-diagram.js.map +1 -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/diagram-instance.js.map +1 -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/dom-event-binder.js.map +1 -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/index.js.map +1 -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/layers.js.map +1 -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/model-input.js.map +1 -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/render-scheduler.js.map +1 -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/instance/wheel-scroll-yield.js.map +1 -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/ControlPointEditor.js.map +1 -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/WaypointEditor.js.map +1 -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/highlighters.js.map +1 -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/in-place-editor.js.map +1 -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/index.js.map +1 -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/ink-overlay.js.map +1 -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/interaction-controller.js.map +1 -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/keyboard-navigation.js.map +1 -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/selection-tools.js.map +1 -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/snapping.js.map +1 -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/touch-gestures.js.map +1 -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/interaction/whiteboard-tools.js.map +1 -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/host-culling.js.map +1 -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/index.js.map +1 -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/progressive-mounter.js.map +1 -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/types.js.map +1 -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/lazy/view-lifecycle.js.map +1 -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/index.js.map +1 -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/perf-hud.js.map +1 -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/perf/quality-governor.js.map +1 -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/index.js.map +1 -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/platform/platform.js.map +1 -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/bind-presence.js.map +1 -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/index.js.map +1 -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/presence/presence-overlay.js.map +1 -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/index.js.map +1 -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/presentation.js.map +1 -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/presentation/viewport-channel.js.map +1 -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-lifecycle.js.map +1 -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-performance.service.js.map +1 -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-sequencer.js.map +1 -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/animation.service.js.map +1 -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/services/custom-animation-registry.js.map +1 -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/index.js.map +1 -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/ssr/render-to-static.js.map +1 -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/ArrowRenderer.js.map +1 -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/JumpPointDetector.js.map +1 -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/JumpPointRenderer.js.map +1 -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/LabelRenderer.js.map +1 -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/auto-size.js.map +1 -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/channel-nudging.js.map +1 -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-optimizer.js.map +1 -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/edge-templates.js.map +1 -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/html-node.js.map +1 -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/index.js.map +1 -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-fanout.js.map +1 -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/link-hit-test.js.map +1 -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/motion-tracker.js.map +1 -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-sizing.js.map +1 -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/node-toolbar.js.map +1 -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/notation-shapes.js.map +1 -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/paint-servers.js.map +1 -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/panel.js.map +1 -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/path-outline.js.map +1 -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-glyph.js.map +1 -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-label.js.map +1 -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-layout.js.map +1 -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-positioning.js.map +1 -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/port-spots.js.map +1 -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-memo.js.map +1 -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/route-solver-bridge.js.map +1 -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/shape-registry.js.map +1 -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/stroke-layer.js.map +1 -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/svg-renderer.js.map +1 -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/svg/text-block.js.map +1 -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/color-mode.js.map +1 -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/contrast.js.map +1 -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-dark-theme.js.map +1 -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-light-theme.js.map +1 -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/default-theme-set.js.map +1 -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/high-contrast-theme.js.map +1 -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/index.js.map +1 -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-cascade.js.map +1 -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/style-registry.js.map +1 -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-a11y.js.map +1 -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-css.js.map +1 -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-ref.js.map +1 -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/theme-vars.js.map +1 -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/themes/token-bridge.js.map +1 -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/geometry.types.js.map +1 -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/index.js.map +1 -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/conditions.js.map +1 -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/editor-types.js.map +1 -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/groups.js.map +1 -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/index.js.map +1 -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/property-definition.js.map +1 -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/schema.js.map +1 -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/property-schema/validation.js.map +1 -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/renderer.interface.js.map +1 -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/theme.types.js.map +1 -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/types/vnode.types.js.map +1 -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-presets.js.map +1 -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-priority.js.map +1 -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/animation-utils.js.map +1 -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/utils/lru-cache.js.map +1 -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/index.js.map +1 -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/viewport/viewport-controller.js.map +1 -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/container-id-generator.js.map +1 -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/foreign-object.js.map +1 -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/index.js.map +1 -0
- package/src/libs/renderer/src/vnode/patch.d.ts +189 -0
- package/src/libs/renderer/src/vnode/patch.js +564 -0
- package/src/libs/renderer/src/vnode/patch.js.map +1 -0
- package/src/reachability.spec.ts +173 -0
- package/tsconfig.esm.json +9 -0
- package/tsconfig.json +24 -0
- package/tsconfig.lib.json +10 -0
- package/tsconfig.spec.json +14 -0
|
@@ -0,0 +1,1512 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// NodeModel - Represents a node in the diagram
|
|
3
|
+
// Layout item configuration storage added in Phase 1.7
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.NodeModel = void 0;
|
|
6
|
+
const DiagramEntity_1 = require("./DiagramEntity");
|
|
7
|
+
const readonly_lock_1 = require("./readonly-lock"); // Wave 9 — Card 7
|
|
8
|
+
const PortModel_1 = require("./PortModel");
|
|
9
|
+
const utils_1 = require("../utils");
|
|
10
|
+
const transform_1 = require("../utils/transform");
|
|
11
|
+
/**
|
|
12
|
+
* The keys of `NodeState` that describe a VIEWER rather than the DOCUMENT.
|
|
13
|
+
*
|
|
14
|
+
* The same list collab/capture.ts strips before an op goes on the wire, and the same list
|
|
15
|
+
* the convergence oracle exempts. It lives here too because `replaceState` has to put them
|
|
16
|
+
* BACK: a register value never carries them, so a wholesale replace would blank the
|
|
17
|
+
* receiving user's own selection.
|
|
18
|
+
*/
|
|
19
|
+
const VIEW_STATE_KEYS = ['selected', 'hovered', 'highlighted', 'focused'];
|
|
20
|
+
class NodeModel extends DiagramEntity_1.DiagramEntity {
|
|
21
|
+
/**
|
|
22
|
+
* Wave 9 — Card 7. Is a DOCUMENT write to this node forbidden right now?
|
|
23
|
+
* True only while the owning diagram is read-only and we are not inside a
|
|
24
|
+
* system write (auto-size / measurement). A detached node — one not yet added
|
|
25
|
+
* to any diagram — is freely mutable; `DiagramModel.addNode` is what refuses.
|
|
26
|
+
*/
|
|
27
|
+
writeBlocked() {
|
|
28
|
+
return (0, readonly_lock_1.writeBlocked)(this.diagram);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* D — is a DOCUMENT write to this node's GEOMETRY forbidden right now?
|
|
32
|
+
*
|
|
33
|
+
* `state.locked` used to be honoured by the input layers and by nothing else, so
|
|
34
|
+
* a "locked" node was moved without complaint by any command, script or importer
|
|
35
|
+
* that called `setPosition` — the same security-shaped lie the Wave-9 document
|
|
36
|
+
* lock was built to kill, one scope down.
|
|
37
|
+
*
|
|
38
|
+
* It draws exactly the Wave-9 distinction and for exactly the Wave-9 reason: a
|
|
39
|
+
* SYSTEM write (auto-size measuring text, a portal placing itself — anything
|
|
40
|
+
* inside `ReadonlyLock.runSystemWrite`) still passes, because refusing those
|
|
41
|
+
* renders a locked node at the wrong size and would have "worked" in a unit test
|
|
42
|
+
* while destroying the product.
|
|
43
|
+
*
|
|
44
|
+
* Scope is GEOMETRY only: position, size, rotation, scale. Style, data, classes,
|
|
45
|
+
* selection and `setState` itself stay open — you must be able to un-lock a
|
|
46
|
+
* locked node, and pinning a widget should not freeze its colour.
|
|
47
|
+
*
|
|
48
|
+
* A DETACHED node (no diagram back-reference) is freely mutable even with
|
|
49
|
+
* `locked` set: there is no document yet to protect, and you have to be able to
|
|
50
|
+
* BUILD a node before you can add it. Same tolerance `writeBlocked()` has.
|
|
51
|
+
*/
|
|
52
|
+
geometryWriteBlocked() {
|
|
53
|
+
if (this.writeBlocked())
|
|
54
|
+
return true;
|
|
55
|
+
if (this.state.locked !== true)
|
|
56
|
+
return false;
|
|
57
|
+
// Locked, and attached: refuse unless the engine is doing a system write.
|
|
58
|
+
return this.diagram !== undefined && !(0, readonly_lock_1.isSystemWrite)(this.diagram);
|
|
59
|
+
}
|
|
60
|
+
constructor(config) {
|
|
61
|
+
super(config.id);
|
|
62
|
+
this.rotation = 0;
|
|
63
|
+
this.scale = { x: 1, y: 1 };
|
|
64
|
+
this.positionMode = 'absolute'; // Phase 1.6a: Default to absolute for backward compatibility
|
|
65
|
+
this.transformOrigin = { x: 0.5, y: 0.5 }; // Phase 1.6a: Default to center (normalized 0-1)
|
|
66
|
+
this.children = new Set();
|
|
67
|
+
this.depth = 0;
|
|
68
|
+
// Ports
|
|
69
|
+
this.ports = new Map();
|
|
70
|
+
// State
|
|
71
|
+
this.state = {
|
|
72
|
+
visible: true,
|
|
73
|
+
locked: false,
|
|
74
|
+
selected: false,
|
|
75
|
+
hovered: false,
|
|
76
|
+
focused: false,
|
|
77
|
+
expanded: true,
|
|
78
|
+
enabled: true,
|
|
79
|
+
};
|
|
80
|
+
// Behavior
|
|
81
|
+
this.behavior = {
|
|
82
|
+
selectable: true,
|
|
83
|
+
draggable: true,
|
|
84
|
+
resizable: true,
|
|
85
|
+
rotatable: false,
|
|
86
|
+
deletable: true,
|
|
87
|
+
editable: true,
|
|
88
|
+
connectable: true,
|
|
89
|
+
groupable: true,
|
|
90
|
+
cloneable: true,
|
|
91
|
+
};
|
|
92
|
+
// Styling
|
|
93
|
+
this.style = {};
|
|
94
|
+
this.classes = new Set();
|
|
95
|
+
// User Data
|
|
96
|
+
this.data = {};
|
|
97
|
+
this.computed = new Map();
|
|
98
|
+
this.type = config.type;
|
|
99
|
+
this.systemType = config.systemType;
|
|
100
|
+
this.definitionId = config.definitionId;
|
|
101
|
+
this.position = Object.assign({}, config.position);
|
|
102
|
+
this.size = config.size || { width: 100, height: 50 };
|
|
103
|
+
// Define diagram property as non-enumerable to prevent circular reference issues (Phase 1.6a)
|
|
104
|
+
Object.defineProperty(this, 'diagram', {
|
|
105
|
+
value: undefined,
|
|
106
|
+
writable: true,
|
|
107
|
+
enumerable: false,
|
|
108
|
+
configurable: true
|
|
109
|
+
});
|
|
110
|
+
// Phase 0.5.1: Auto-create default ports (industry standard)
|
|
111
|
+
this.initializeDefaultPorts();
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Initialize default ports (Phase 0.5.1)
|
|
115
|
+
* Creates 4 bidirectional ports (top, right, bottom, left) automatically
|
|
116
|
+
* This matches industry standards (Draw.io, Lucidchart, mxGraph, yFiles)
|
|
117
|
+
*
|
|
118
|
+
* Ports can be accessed via:
|
|
119
|
+
* - node.getPortBySide('top')
|
|
120
|
+
* - node.getPortsBySide('right')
|
|
121
|
+
* - node.getPorts() // all ports
|
|
122
|
+
*/
|
|
123
|
+
initializeDefaultPorts() {
|
|
124
|
+
const defaultPorts = [
|
|
125
|
+
{ side: 'top', position: { x: 0.5, y: 0 } },
|
|
126
|
+
{ side: 'right', position: { x: 1, y: 0.5 } },
|
|
127
|
+
{ side: 'bottom', position: { x: 0.5, y: 1 } },
|
|
128
|
+
{ side: 'left', position: { x: 0, y: 0.5 } },
|
|
129
|
+
];
|
|
130
|
+
defaultPorts.forEach(({ side, position }) => {
|
|
131
|
+
const port = new PortModel_1.PortModel({
|
|
132
|
+
type: 'bi', // Bidirectional - can act as input or output
|
|
133
|
+
side,
|
|
134
|
+
position,
|
|
135
|
+
index: 0, // First (and only) port on this side
|
|
136
|
+
});
|
|
137
|
+
port.nodeId = this.id;
|
|
138
|
+
port.setMetadata('default', true); // Mark as auto-created
|
|
139
|
+
port.setMetadata('side', side); // Store side for easy querying
|
|
140
|
+
this.ports.set(port.id, port);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Set position
|
|
145
|
+
*/
|
|
146
|
+
setPosition(x, y, z) {
|
|
147
|
+
if (this.geometryWriteBlocked())
|
|
148
|
+
return;
|
|
149
|
+
const oldPosition = Object.assign({}, this.position);
|
|
150
|
+
this.position = { x, y, z };
|
|
151
|
+
this.trackChange('position', oldPosition, this.position);
|
|
152
|
+
// Emit transform propagation event (Phase 1.6a Part 4)
|
|
153
|
+
this.emitTransformPropagated('position', this.position);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Move by delta
|
|
157
|
+
*/
|
|
158
|
+
move(dx, dy, dz) {
|
|
159
|
+
if (this.geometryWriteBlocked())
|
|
160
|
+
return;
|
|
161
|
+
this.setPosition(this.position.x + dx, this.position.y + dy, this.position.z !== undefined && dz !== undefined
|
|
162
|
+
? this.position.z + dz
|
|
163
|
+
: this.position.z);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Set size.
|
|
167
|
+
*
|
|
168
|
+
* A — this used to be five lines that wrote a field and told NOBODY, while its
|
|
169
|
+
* sibling `setPosition` has propagated since Phase 1.6a. A node growing inside a
|
|
170
|
+
* flex/grid container is a layout-invalidating event: its siblings have to move.
|
|
171
|
+
*
|
|
172
|
+
* It notifies its LAYOUT CONTAINERS, and deliberately NOT the transform chain
|
|
173
|
+
* `setPosition` uses: a parent's size does not move a relative child (the child's
|
|
174
|
+
* offset is measured from the parent ORIGIN), so emitting `transform-propagated`
|
|
175
|
+
* here would be noise that says something untrue.
|
|
176
|
+
*/
|
|
177
|
+
setSize(width, height, depth) {
|
|
178
|
+
if (this.geometryWriteBlocked())
|
|
179
|
+
return;
|
|
180
|
+
const oldSize = Object.assign({}, this.size);
|
|
181
|
+
if (oldSize.width === width && oldSize.height === height && oldSize.depth === depth) {
|
|
182
|
+
return; // no-op: never wake a layout pass for a write that changed nothing
|
|
183
|
+
}
|
|
184
|
+
this.size = { width, height, depth };
|
|
185
|
+
this.trackChange('size', oldSize, this.size);
|
|
186
|
+
this.notifyLayoutContainers();
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* A — tell every layout container that owns this node that its geometry moved.
|
|
190
|
+
*
|
|
191
|
+
* The re-entrancy this obviously invites (container lays out → writes a child's
|
|
192
|
+
* size → child notifies the container → …) is closed on the container side by
|
|
193
|
+
* `GroupModel.applyLayout`'s in-flight guard: a push that arrives DURING a pass
|
|
194
|
+
* is dropped, because that pass is already computing the answer it would ask for.
|
|
195
|
+
*/
|
|
196
|
+
notifyLayoutContainers() {
|
|
197
|
+
const diagram = this.diagram;
|
|
198
|
+
// `setSize` is HOT — layout adapters write thousands of them per run on graphs
|
|
199
|
+
// that have no groups at all. Iterate the Map directly (no `getGroups()` array
|
|
200
|
+
// allocation) and bail on the empty case before touching anything.
|
|
201
|
+
const groups = diagram === null || diagram === void 0 ? void 0 : diagram.groups;
|
|
202
|
+
if (!groups || groups.size === 0)
|
|
203
|
+
return;
|
|
204
|
+
for (const group of groups.values()) {
|
|
205
|
+
if (group.members.has(this.id)) {
|
|
206
|
+
group.requestLayout(diagram);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Resize by delta
|
|
212
|
+
*/
|
|
213
|
+
resize(dw, dh, dd) {
|
|
214
|
+
if (this.geometryWriteBlocked())
|
|
215
|
+
return;
|
|
216
|
+
this.setSize(this.size.width + dw, this.size.height + dh, this.size.depth !== undefined && dd !== undefined
|
|
217
|
+
? this.size.depth + dd
|
|
218
|
+
: this.size.depth);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Set rotation
|
|
222
|
+
*/
|
|
223
|
+
setRotation(degrees) {
|
|
224
|
+
if (this.geometryWriteBlocked())
|
|
225
|
+
return;
|
|
226
|
+
const oldRotation = this.rotation;
|
|
227
|
+
this.rotation = degrees % 360;
|
|
228
|
+
this.trackChange('rotation', oldRotation, this.rotation);
|
|
229
|
+
// Emit transform propagation event (Phase 1.6a Part 4)
|
|
230
|
+
this.emitTransformPropagated('rotation', this.rotation);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Rotate by delta
|
|
234
|
+
*/
|
|
235
|
+
rotate(degrees) {
|
|
236
|
+
if (this.geometryWriteBlocked())
|
|
237
|
+
return;
|
|
238
|
+
this.setRotation(this.rotation + degrees);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Set scale
|
|
242
|
+
*/
|
|
243
|
+
setScale(x, y) {
|
|
244
|
+
if (this.geometryWriteBlocked())
|
|
245
|
+
return;
|
|
246
|
+
const oldScale = Object.assign({}, this.scale);
|
|
247
|
+
this.scale = { x, y };
|
|
248
|
+
this.trackChange('scale', oldScale, this.scale);
|
|
249
|
+
// Emit transform propagation event (Phase 1.6a Part 4)
|
|
250
|
+
this.emitTransformPropagated('scale', this.scale);
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Add port
|
|
254
|
+
*/
|
|
255
|
+
addPort(port) {
|
|
256
|
+
if (this.writeBlocked())
|
|
257
|
+
return;
|
|
258
|
+
if (this.ports.has(port.id)) {
|
|
259
|
+
throw new Error(`Port with id ${port.id} already exists`);
|
|
260
|
+
}
|
|
261
|
+
port.nodeId = this.id;
|
|
262
|
+
this.ports.set(port.id, port);
|
|
263
|
+
this.trackChange('ports', null, port);
|
|
264
|
+
this.emitter.emit('port:added', port);
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Remove port
|
|
268
|
+
*/
|
|
269
|
+
removePort(portId) {
|
|
270
|
+
if (this.writeBlocked())
|
|
271
|
+
return undefined;
|
|
272
|
+
const port = this.ports.get(portId);
|
|
273
|
+
if (port) {
|
|
274
|
+
this.ports.delete(portId);
|
|
275
|
+
this.trackChange('ports', port, null);
|
|
276
|
+
this.emitter.emit('port:removed', port);
|
|
277
|
+
}
|
|
278
|
+
return port;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Get port by ID
|
|
282
|
+
*/
|
|
283
|
+
getPort(portId) {
|
|
284
|
+
return this.ports.get(portId);
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Get all ports
|
|
288
|
+
*/
|
|
289
|
+
getPorts() {
|
|
290
|
+
return Array.from(this.ports.values());
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Links arriving at this node (resolved through the owning diagram; empty
|
|
294
|
+
* when the node isn't attached to a diagram yet)
|
|
295
|
+
*/
|
|
296
|
+
getIncomingLinks() {
|
|
297
|
+
const diagram = this.diagram;
|
|
298
|
+
if (!(diagram === null || diagram === void 0 ? void 0 : diagram.getLinks))
|
|
299
|
+
return [];
|
|
300
|
+
return diagram.getLinks().filter((link) => link.targetNodeId === this.id);
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Links leaving this node (resolved through the owning diagram)
|
|
304
|
+
*/
|
|
305
|
+
getOutgoingLinks() {
|
|
306
|
+
const diagram = this.diagram;
|
|
307
|
+
if (!(diagram === null || diagram === void 0 ? void 0 : diagram.getLinks))
|
|
308
|
+
return [];
|
|
309
|
+
return diagram.getLinks().filter((link) => link.sourceNodeId === this.id);
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Get ports by type
|
|
313
|
+
*/
|
|
314
|
+
getPortsByType(type) {
|
|
315
|
+
return this.getPorts().filter((p) => p.type === type);
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Get port by side (Phase 0.5.1)
|
|
319
|
+
* Returns the first port found on the specified side
|
|
320
|
+
*
|
|
321
|
+
* @param side - The side to search ('top', 'right', 'bottom', 'left')
|
|
322
|
+
* @returns The first port on that side, or undefined if none found
|
|
323
|
+
*/
|
|
324
|
+
getPortBySide(side) {
|
|
325
|
+
return Array.from(this.ports.values()).find((port) => port.side === side);
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Get all ports on a specific side (Phase 0.5.1)
|
|
329
|
+
* Useful for nodes with multiple ports per side
|
|
330
|
+
*
|
|
331
|
+
* @param side - The side to search ('top', 'right', 'bottom', 'left')
|
|
332
|
+
* @returns Array of ports on that side, sorted by index
|
|
333
|
+
*/
|
|
334
|
+
getPortsBySide(side) {
|
|
335
|
+
return Array.from(this.ports.values())
|
|
336
|
+
.filter((port) => port.side === side)
|
|
337
|
+
.sort((a, b) => a.index - b.index); // Sort by index for consistent ordering
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Get available ports that can accept connections (Phase 0.5.1)
|
|
341
|
+
*
|
|
342
|
+
* @param type - Optional filter by port type ('input', 'output', 'bi')
|
|
343
|
+
* @returns Array of ports that can accept more connections
|
|
344
|
+
*/
|
|
345
|
+
getAvailablePorts(type) {
|
|
346
|
+
let ports = Array.from(this.ports.values());
|
|
347
|
+
if (type) {
|
|
348
|
+
ports = ports.filter((port) => port.type === type || port.type === 'bi');
|
|
349
|
+
}
|
|
350
|
+
return ports.filter((port) => port.canConnect());
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Get ports that have active connections (Phase 0.5.1)
|
|
354
|
+
*
|
|
355
|
+
* @returns Array of ports with at least one connection
|
|
356
|
+
*/
|
|
357
|
+
getConnectedPorts() {
|
|
358
|
+
return Array.from(this.ports.values()).filter((port) => port.getConnectionCount() > 0);
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Set state property
|
|
362
|
+
*/
|
|
363
|
+
setState(state) {
|
|
364
|
+
// Wave 9 — Card 7. A read-only document still needs EPHEMERAL view state:
|
|
365
|
+
// selection, hover, highlight and a11y focus are how a viewer reads the
|
|
366
|
+
// diagram, and the Wave-6 screen-reader layer depends on them. So read-only
|
|
367
|
+
// filters setState to the view keys instead of refusing it — refusing
|
|
368
|
+
// outright would have made a presentation-mode diagram unnavigable and
|
|
369
|
+
// silently broken the roving-tabindex contract.
|
|
370
|
+
//
|
|
371
|
+
// Everything else on NodeState (locked, visible, expanded, enabled, error,
|
|
372
|
+
// warning, status) is DOCUMENT state and is dropped while locked. `visible`
|
|
373
|
+
// and `expanded` in particular are written by group collapse/expand, which
|
|
374
|
+
// is an edit.
|
|
375
|
+
let incoming = state;
|
|
376
|
+
if (this.writeBlocked()) {
|
|
377
|
+
const view = {};
|
|
378
|
+
if ('selected' in state)
|
|
379
|
+
view.selected = state.selected;
|
|
380
|
+
if ('hovered' in state)
|
|
381
|
+
view.hovered = state.hovered;
|
|
382
|
+
if ('highlighted' in state)
|
|
383
|
+
view.highlighted = state.highlighted;
|
|
384
|
+
if ('focused' in state)
|
|
385
|
+
view.focused = state.focused;
|
|
386
|
+
if (Object.keys(view).length === 0)
|
|
387
|
+
return;
|
|
388
|
+
incoming = view;
|
|
389
|
+
}
|
|
390
|
+
const oldState = Object.assign({}, this.state);
|
|
391
|
+
this.state = Object.assign(Object.assign({}, this.state), incoming);
|
|
392
|
+
this.trackChange('state', oldState, this.state);
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* REPLACE the DOCUMENT half of `state`, keeping THIS viewer's own view half.
|
|
396
|
+
*
|
|
397
|
+
* The write `setState` cannot express, and the collab reducer's write path.
|
|
398
|
+
*
|
|
399
|
+
* ## Why a merge was wrong
|
|
400
|
+
*
|
|
401
|
+
* `state` is a value register: the op carries the whole (projected) object the author
|
|
402
|
+
* now holds. Applying it with the merging `setState` meant a peer could GAIN a key and
|
|
403
|
+
* never LOSE one — `NodeState.error`, `warning`, `status` and `animateStatus` are all
|
|
404
|
+
* optional, so the author clears an error badge and every other peer keeps it FOREVER,
|
|
405
|
+
* with no later edit able to correct it. Node `style` had exactly this defect and was
|
|
406
|
+
* fixed with `replaceStyle`; this is the same fix for the register next to it.
|
|
407
|
+
*
|
|
408
|
+
* ## Why it is not a plain wholesale replace either
|
|
409
|
+
*
|
|
410
|
+
* `selected` / `hovered` / `highlighted` / `focused` are facts about a VIEWER, not about
|
|
411
|
+
* the document. Capture strips them (see collab/capture.ts — syncing them meant your
|
|
412
|
+
* cursor lit up my node and your click deselected it), so an incoming register value
|
|
413
|
+
* never carries them. Replacing wholesale would therefore BLANK the receiving user's own
|
|
414
|
+
* selection on every remote state edit — reintroducing the very bug through the back
|
|
415
|
+
* door. So: durable keys replaced wholesale, view keys taken from what this replica
|
|
416
|
+
* already had.
|
|
417
|
+
*
|
|
418
|
+
* ## The read-only posture, deliberately UNCHANGED
|
|
419
|
+
*
|
|
420
|
+
* This refuses outright while the document is locked, exactly like `setPosition`,
|
|
421
|
+
* `setStyle` and `replaceStyle`. It does NOT copy `setState`'s Wave-9 Card-7 filter,
|
|
422
|
+
* and that is not an oversight:
|
|
423
|
+
*
|
|
424
|
+
* • That filter exists so a LOCAL user can still select, hover and keyboard-navigate a
|
|
425
|
+
* presentation-mode diagram. It is about input, not about the wire.
|
|
426
|
+
* • It would be a no-op here anyway: capture strips the view keys, so an incoming
|
|
427
|
+
* `state` value contains none of the keys the filter admits — a locked replica
|
|
428
|
+
* already dropped remote state ops entirely, before this method existed. Behaviour
|
|
429
|
+
* is therefore identical, and `setState` is left untouched.
|
|
430
|
+
* • Making `state` the one register that DID reach a locked replica would be
|
|
431
|
+
* incoherent: a read-only replica currently applies no remote document write at all
|
|
432
|
+
* (verified — a locked peer ignores remote `position` and `style` too). That gap is
|
|
433
|
+
* real and systemic, and it belongs to the lock, not to this register.
|
|
434
|
+
*/
|
|
435
|
+
replaceState(state) {
|
|
436
|
+
if (this.writeBlocked())
|
|
437
|
+
return;
|
|
438
|
+
const oldState = Object.assign({}, this.state);
|
|
439
|
+
const next = Object.assign({}, state);
|
|
440
|
+
const prevView = oldState;
|
|
441
|
+
const nextView = next;
|
|
442
|
+
for (const key of VIEW_STATE_KEYS) {
|
|
443
|
+
if (key in prevView)
|
|
444
|
+
nextView[key] = prevView[key];
|
|
445
|
+
}
|
|
446
|
+
this.state = next;
|
|
447
|
+
this.trackChange('state', oldState, this.state);
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Set behavior property
|
|
451
|
+
*/
|
|
452
|
+
setBehavior(behavior) {
|
|
453
|
+
if (this.writeBlocked())
|
|
454
|
+
return;
|
|
455
|
+
const oldBehavior = Object.assign({}, this.behavior);
|
|
456
|
+
this.behavior = Object.assign(Object.assign({}, this.behavior), behavior);
|
|
457
|
+
this.trackChange('behavior', oldBehavior, this.behavior);
|
|
458
|
+
}
|
|
459
|
+
/**
|
|
460
|
+
* Check if node is selected
|
|
461
|
+
*/
|
|
462
|
+
isSelected() {
|
|
463
|
+
return this.state.selected;
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* Set selection state
|
|
467
|
+
* @param selected - Whether the node should be selected
|
|
468
|
+
* @emits node:selected when node becomes selected
|
|
469
|
+
* @emits node:deselected when node becomes deselected
|
|
470
|
+
*/
|
|
471
|
+
setSelected(selected) {
|
|
472
|
+
if (this.state.selected === selected) {
|
|
473
|
+
return; // No change
|
|
474
|
+
}
|
|
475
|
+
const oldState = Object.assign({}, this.state);
|
|
476
|
+
this.state.selected = selected;
|
|
477
|
+
this.trackChange('state', oldState, this.state);
|
|
478
|
+
// Emit specific selection events
|
|
479
|
+
this.emitter.emit(selected ? 'node:selected' : 'node:deselected', this);
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* Check if node is highlighted (attention state, independent of selection)
|
|
483
|
+
*/
|
|
484
|
+
isHighlighted() {
|
|
485
|
+
return this.state.highlighted === true;
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Set highlight state (attention emphasis without selecting the node)
|
|
489
|
+
* @param highlighted - Whether the node should be highlighted
|
|
490
|
+
* @emits node:highlighted when node becomes highlighted
|
|
491
|
+
* @emits node:unhighlighted when node stops being highlighted
|
|
492
|
+
*/
|
|
493
|
+
setHighlighted(highlighted) {
|
|
494
|
+
if (this.isHighlighted() === highlighted) {
|
|
495
|
+
return; // No change
|
|
496
|
+
}
|
|
497
|
+
const oldState = Object.assign({}, this.state);
|
|
498
|
+
this.state.highlighted = highlighted;
|
|
499
|
+
this.trackChange('state', oldState, this.state);
|
|
500
|
+
this.emitter.emit(highlighted ? 'node:highlighted' : 'node:unhighlighted', this);
|
|
501
|
+
}
|
|
502
|
+
/**
|
|
503
|
+
* Check if node is selectable (based on behavior)
|
|
504
|
+
* Note: Locked nodes are still selectable so users can unlock them
|
|
505
|
+
*/
|
|
506
|
+
isSelectable() {
|
|
507
|
+
return this.behavior.selectable;
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Check if node is draggable (based on behavior and state)
|
|
511
|
+
* Note: Locked nodes cannot be dragged
|
|
512
|
+
*/
|
|
513
|
+
isDraggable() {
|
|
514
|
+
return this.behavior.draggable && !this.state.locked;
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* Set style property
|
|
518
|
+
*/
|
|
519
|
+
setStyle(style) {
|
|
520
|
+
if (this.writeBlocked())
|
|
521
|
+
return;
|
|
522
|
+
const oldStyle = Object.assign({}, this.style);
|
|
523
|
+
this.style = Object.assign(Object.assign({}, this.style), style);
|
|
524
|
+
this.trackChange('style', oldStyle, this.style);
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* REPLACE the whole style object — the write `setStyle` cannot express.
|
|
528
|
+
*
|
|
529
|
+
* `setStyle` merges, so it can add a key and overwrite a key but can never REMOVE
|
|
530
|
+
* one. Restoring a snapshot therefore has to assign wholesale, and the obvious way to
|
|
531
|
+
* do that — `node.style = snapshot` — is a plain field write that never passes
|
|
532
|
+
* `trackChange()`. That funnel is what collab captures from, so the direct assignment
|
|
533
|
+
* reaches the renderer (via markDirty) and reaches no other peer at all. That is not
|
|
534
|
+
* hypothetical: it is exactly how an undone LINK style stayed applied on every peer
|
|
535
|
+
* but the one that pressed Ctrl+Z. See collab/style-undo.spec.ts.
|
|
536
|
+
*
|
|
537
|
+
* Undo paths must use this, not the field.
|
|
538
|
+
*/
|
|
539
|
+
replaceStyle(style) {
|
|
540
|
+
if (this.writeBlocked())
|
|
541
|
+
return;
|
|
542
|
+
const oldStyle = Object.assign({}, this.style);
|
|
543
|
+
this.style = Object.assign({}, style);
|
|
544
|
+
this.trackChange('style', oldStyle, this.style);
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Add CSS class
|
|
548
|
+
*/
|
|
549
|
+
addClass(className) {
|
|
550
|
+
if (this.writeBlocked())
|
|
551
|
+
return;
|
|
552
|
+
if (!this.classes.has(className)) {
|
|
553
|
+
const prev = [...this.classes];
|
|
554
|
+
this.classes.add(className);
|
|
555
|
+
// THE VALUE, NOT THE DELTA — see setClasses. This reported the class NAME, and a
|
|
556
|
+
// peer assigned that bare string over its Set: the peer's own next addClass() then
|
|
557
|
+
// threw "this.classes.has is not a function".
|
|
558
|
+
this.trackChange('classes', prev, [...this.classes]);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* Remove CSS class
|
|
563
|
+
*/
|
|
564
|
+
removeClass(className) {
|
|
565
|
+
if (this.writeBlocked())
|
|
566
|
+
return;
|
|
567
|
+
if (this.classes.has(className)) {
|
|
568
|
+
const prev = [...this.classes];
|
|
569
|
+
this.classes.delete(className);
|
|
570
|
+
// The VALUE. This reported `null`, which a peer assigned over its Set.
|
|
571
|
+
this.trackChange('classes', prev, [...this.classes]);
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* REPLACE the whole class collection.
|
|
576
|
+
*
|
|
577
|
+
* `classes` is a `Set`, so it needs the same treatment `members` and `ports` needed: a
|
|
578
|
+
* register whose in-memory form is a collection and whose wire form is an array must be
|
|
579
|
+
* REBUILT on the receiving side, never assigned. The collab reducer writes it through
|
|
580
|
+
* here.
|
|
581
|
+
*
|
|
582
|
+
* A non-array is REFUSED rather than read as "no classes" — logs persisted before the
|
|
583
|
+
* funnel fix carry a bare class name (the old addClass) or a bare `null` (the old
|
|
584
|
+
* removeClass), and assigning either is what corrupted the Set in the first place.
|
|
585
|
+
*/
|
|
586
|
+
setClasses(classNames) {
|
|
587
|
+
if (this.writeBlocked())
|
|
588
|
+
return;
|
|
589
|
+
if (!Array.isArray(classNames))
|
|
590
|
+
return;
|
|
591
|
+
const prev = [...this.classes];
|
|
592
|
+
const next = classNames.filter((c) => typeof c === 'string');
|
|
593
|
+
this.classes = new Set(next);
|
|
594
|
+
this.trackChange('classes', prev, [...this.classes]);
|
|
595
|
+
}
|
|
596
|
+
/**
|
|
597
|
+
* Set data property
|
|
598
|
+
*/
|
|
599
|
+
setData(key, value) {
|
|
600
|
+
if (this.writeBlocked())
|
|
601
|
+
return;
|
|
602
|
+
const oldValue = this.data[key];
|
|
603
|
+
this.data[key] = value;
|
|
604
|
+
this.trackChange(`data.${key}`, oldValue, value);
|
|
605
|
+
}
|
|
606
|
+
/**
|
|
607
|
+
* Get data property
|
|
608
|
+
*/
|
|
609
|
+
getData(key) {
|
|
610
|
+
return this.data[key];
|
|
611
|
+
}
|
|
612
|
+
/**
|
|
613
|
+
* Set computed property
|
|
614
|
+
*/
|
|
615
|
+
setComputed(key, value) {
|
|
616
|
+
this.computed.set(key, value);
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* Get computed property
|
|
620
|
+
*/
|
|
621
|
+
getComputed(key) {
|
|
622
|
+
return this.computed.get(key);
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* Get world position (absolute coordinates accounting for parent chain)
|
|
626
|
+
* For nodes without parents, this is the same as position
|
|
627
|
+
* For child nodes, this walks up the parent chain and accumulates offsets
|
|
628
|
+
*/
|
|
629
|
+
getWorldPosition() {
|
|
630
|
+
let worldX = this.position.x;
|
|
631
|
+
let worldY = this.position.y;
|
|
632
|
+
let worldZ = this.position.z || 0;
|
|
633
|
+
// Walk up the parent chain, honouring positionMode.
|
|
634
|
+
//
|
|
635
|
+
// wave13: fold in a parent's position only while the CURRENT node is RELATIVE to it —
|
|
636
|
+
// an absolute node's stored position IS world coordinates, so it ends the walk. This
|
|
637
|
+
// used to sum unconditionally, which double-counted an absolute-mode child that carried
|
|
638
|
+
// a parentId, disagreeing with getGlobalPosition/getGlobalBounds. It is safe now because
|
|
639
|
+
// setParent() finally declares its semantics (it flips a default-'absolute' child to
|
|
640
|
+
// 'relative'), and a schema migration re-labels legacy documents the same way — so every
|
|
641
|
+
// node that RELIED on the summation is 'relative' by the time this runs, and the walk
|
|
642
|
+
// produces byte-identical results for all of them. Only the genuinely inconsistent case
|
|
643
|
+
// (explicitly absolute + parentId) changes: it now means what it says.
|
|
644
|
+
//
|
|
645
|
+
// wave6/a11y — CYCLE GUARD, preserved. Without it a cyclic `parentId` (a→b→a) spins this
|
|
646
|
+
// loop forever, and `getBoundingBox()` calls this on every node on every frame — one
|
|
647
|
+
// corrupt parent link hangs the whole tab with no error. (`SetParentCommand`'s own cycle
|
|
648
|
+
// check walks this same chain via `getAncestors()`, so it would hang too.)
|
|
649
|
+
const seen = new Set([this.id]);
|
|
650
|
+
let current = this;
|
|
651
|
+
while (current.positionMode !== 'absolute' && current.parentId && this.diagram) {
|
|
652
|
+
if (seen.has(current.parentId))
|
|
653
|
+
break; // cycle — stop, do not spin
|
|
654
|
+
seen.add(current.parentId);
|
|
655
|
+
const parentNode = this.diagram.getNode(current.parentId);
|
|
656
|
+
if (!parentNode) {
|
|
657
|
+
// wave14/model — TOLERANT READER. An unresolvable parent resolves to its
|
|
658
|
+
// LAST-KNOWN ANCHOR (see DetachedParentAnchor): the anchor IS the missing
|
|
659
|
+
// parent's accumulated world position at removal time, so it terminates the
|
|
660
|
+
// walk. Children of a deleted parent FREEZE where they were instead of
|
|
661
|
+
// jumping to their raw offsets; the ref itself stays dangling so an undo
|
|
662
|
+
// re-resolves it through the live node again. A parentId the diagram never
|
|
663
|
+
// held (a document loaded with a dangle) has no anchor and keeps the old
|
|
664
|
+
// deterministic raw-offset fallback — DiagramValidator owns flagging that.
|
|
665
|
+
const anchor = this.diagram.getDetachedAnchor(current.parentId);
|
|
666
|
+
if (anchor) {
|
|
667
|
+
worldX += anchor.world.x;
|
|
668
|
+
worldY += anchor.world.y;
|
|
669
|
+
worldZ += anchor.world.z || 0;
|
|
670
|
+
}
|
|
671
|
+
break;
|
|
672
|
+
}
|
|
673
|
+
worldX += parentNode.position.x;
|
|
674
|
+
worldY += parentNode.position.y;
|
|
675
|
+
worldZ += parentNode.position.z || 0;
|
|
676
|
+
current = parentNode;
|
|
677
|
+
}
|
|
678
|
+
return { x: worldX, y: worldY, z: worldZ };
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Get bounding box in world coordinates
|
|
682
|
+
* For child nodes, this accounts for parent position
|
|
683
|
+
*/
|
|
684
|
+
getBoundingBox() {
|
|
685
|
+
const worldPos = this.getWorldPosition();
|
|
686
|
+
return (0, utils_1.createBoundingBox)(worldPos, this.size);
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* Get center point in world coordinates
|
|
690
|
+
*/
|
|
691
|
+
getCenter() {
|
|
692
|
+
const worldPos = this.getWorldPosition();
|
|
693
|
+
return {
|
|
694
|
+
x: worldPos.x + this.size.width / 2,
|
|
695
|
+
y: worldPos.y + this.size.height / 2,
|
|
696
|
+
z: worldPos.z,
|
|
697
|
+
};
|
|
698
|
+
}
|
|
699
|
+
/**
|
|
700
|
+
* Check if point is inside node
|
|
701
|
+
*/
|
|
702
|
+
containsPoint(point) {
|
|
703
|
+
const bounds = this.getBoundingBox();
|
|
704
|
+
return (point.x >= bounds.left &&
|
|
705
|
+
point.x <= bounds.right &&
|
|
706
|
+
point.y >= bounds.top &&
|
|
707
|
+
point.y <= bounds.bottom);
|
|
708
|
+
}
|
|
709
|
+
/**
|
|
710
|
+
* Check if intersects with bounding box
|
|
711
|
+
*/
|
|
712
|
+
intersectsBounds(bounds) {
|
|
713
|
+
const myBounds = this.getBoundingBox();
|
|
714
|
+
return !(myBounds.right < bounds.left ||
|
|
715
|
+
myBounds.left > bounds.right ||
|
|
716
|
+
myBounds.bottom < bounds.top ||
|
|
717
|
+
myBounds.top > bounds.bottom);
|
|
718
|
+
}
|
|
719
|
+
/**
|
|
720
|
+
* Set parent
|
|
721
|
+
*/
|
|
722
|
+
setParent(parentId) {
|
|
723
|
+
var _a, _b;
|
|
724
|
+
if (this.writeBlocked())
|
|
725
|
+
return;
|
|
726
|
+
const oldParent = this.parentId;
|
|
727
|
+
this.parentId = parentId;
|
|
728
|
+
this.trackChange('parentId', oldParent, parentId);
|
|
729
|
+
// The hierarchy has TWO writers — `parentId` here, the parent's `children`
|
|
730
|
+
// Set in addChild/removeChild — and this method maintained only its own,
|
|
731
|
+
// so getChildren() (Set-based) answered [] for a setParent() child and
|
|
732
|
+
// transform propagation never saw it: the drag-handle grip stayed painted
|
|
733
|
+
// at the old spot when its window moved. Keep both sides agreeing on every
|
|
734
|
+
// path through here.
|
|
735
|
+
if (this.diagram) {
|
|
736
|
+
if (oldParent && oldParent !== parentId) {
|
|
737
|
+
(_a = this.diagram.getNode(oldParent)) === null || _a === void 0 ? void 0 : _a.removeChild(this.id);
|
|
738
|
+
}
|
|
739
|
+
if (parentId) {
|
|
740
|
+
(_b = this.diagram.getNode(parentId)) === null || _b === void 0 ? void 0 : _b.addChild(this.id);
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
// wave13: gaining a parent through this API MEANS relative positioning — every consumer
|
|
744
|
+
// (ERD tables, nested nodes, the world-coordinates contract) treats the child's position
|
|
745
|
+
// as an offset from the parent, and getWorldPosition sums the chain on that assumption.
|
|
746
|
+
// The model just never SAID so: positionMode stayed at its 'absolute' default, which made
|
|
747
|
+
// it disagree with getGlobalPosition/getGlobalBounds (which honour positionMode) — an
|
|
748
|
+
// absolute-mode child with a parentId double-counted in one method and not the other.
|
|
749
|
+
// setLocalPosition/setGlobalPosition already set 'relative'; this was the odd one out.
|
|
750
|
+
// Clearing the parent leaves the mode alone: 'relative' with no parent behaves as
|
|
751
|
+
// absolute in every consumer, and flipping it back would lie about history.
|
|
752
|
+
if (parentId && this.positionMode === 'absolute') {
|
|
753
|
+
const oldMode = this.positionMode;
|
|
754
|
+
this.positionMode = 'relative';
|
|
755
|
+
this.trackChange('positionMode', oldMode, 'relative');
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
/**
|
|
759
|
+
* Add child
|
|
760
|
+
*/
|
|
761
|
+
addChild(childId) {
|
|
762
|
+
if (this.writeBlocked())
|
|
763
|
+
return;
|
|
764
|
+
if (!this.children.has(childId)) {
|
|
765
|
+
const prev = [...this.children];
|
|
766
|
+
this.children.add(childId);
|
|
767
|
+
// THE VALUE, NOT THE DELTA. This reported the child id, and `children` IS
|
|
768
|
+
// serialized (`Array.from(this.children)`) — so a peer that assigned the bare
|
|
769
|
+
// string 'beta' over its Set serialized it as ['b','e','t','a']: four child ids
|
|
770
|
+
// that exist nowhere. The exact `members` defect, on a second register.
|
|
771
|
+
this.trackChange('children', prev, [...this.children]);
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
/**
|
|
775
|
+
* Remove child
|
|
776
|
+
*/
|
|
777
|
+
removeChild(childId) {
|
|
778
|
+
if (this.writeBlocked())
|
|
779
|
+
return;
|
|
780
|
+
if (this.children.has(childId)) {
|
|
781
|
+
const prev = [...this.children];
|
|
782
|
+
this.children.delete(childId);
|
|
783
|
+
// The VALUE. This reported `null`, so a peer's `children` became null and
|
|
784
|
+
// `Array.from(null)` threw inside serialize().
|
|
785
|
+
this.trackChange('children', prev, [...this.children]);
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
/**
|
|
789
|
+
* REPLACE the whole child collection. The collab reducer's write path.
|
|
790
|
+
*
|
|
791
|
+
* Same contract as {@link setClasses}: a Set in memory, an array on the wire, rebuilt
|
|
792
|
+
* rather than assigned, and a non-array refused so a pre-fix log degrades instead of
|
|
793
|
+
* destroying the collection.
|
|
794
|
+
*
|
|
795
|
+
* This maintains only its own half of the hierarchy, exactly as `addChild`/`removeChild`
|
|
796
|
+
* do — the child's `parentId` is its own register with its own op.
|
|
797
|
+
*/
|
|
798
|
+
setChildren(childIds) {
|
|
799
|
+
if (this.writeBlocked())
|
|
800
|
+
return;
|
|
801
|
+
if (!Array.isArray(childIds))
|
|
802
|
+
return;
|
|
803
|
+
const prev = [...this.children];
|
|
804
|
+
const next = childIds.filter((c) => typeof c === 'string');
|
|
805
|
+
this.children = new Set(next);
|
|
806
|
+
this.trackChange('children', prev, [...this.children]);
|
|
807
|
+
}
|
|
808
|
+
/**
|
|
809
|
+
* Set transform origin (Phase 1.6a)
|
|
810
|
+
* @param x Normalized X coordinate (0-1)
|
|
811
|
+
* @param y Normalized Y coordinate (0-1)
|
|
812
|
+
*/
|
|
813
|
+
setTransformOrigin(x, y) {
|
|
814
|
+
const oldOrigin = Object.assign({}, this.transformOrigin);
|
|
815
|
+
this.transformOrigin = { x, y };
|
|
816
|
+
this.trackChange('transformOrigin', oldOrigin, this.transformOrigin);
|
|
817
|
+
// Emit transform propagation event (Phase 1.6a Part 4)
|
|
818
|
+
this.emitTransformPropagated('transformOrigin', this.transformOrigin);
|
|
819
|
+
}
|
|
820
|
+
/**
|
|
821
|
+
* Get absolute transform origin in pixels (Phase 1.6a)
|
|
822
|
+
*/
|
|
823
|
+
getAbsoluteTransformOrigin() {
|
|
824
|
+
return {
|
|
825
|
+
x: this.transformOrigin.x * this.size.width,
|
|
826
|
+
y: this.transformOrigin.y * this.size.height,
|
|
827
|
+
z: this.transformOrigin.z !== undefined && this.size.depth !== undefined
|
|
828
|
+
? this.transformOrigin.z * this.size.depth
|
|
829
|
+
: 0
|
|
830
|
+
};
|
|
831
|
+
}
|
|
832
|
+
/**
|
|
833
|
+
* Get local position (Phase 1.6a)
|
|
834
|
+
* Returns the position property as-is
|
|
835
|
+
*/
|
|
836
|
+
getLocalPosition() {
|
|
837
|
+
return Object.assign({}, this.position);
|
|
838
|
+
}
|
|
839
|
+
/**
|
|
840
|
+
* Get global position (Phase 1.6a)
|
|
841
|
+
* In absolute mode: returns position as-is
|
|
842
|
+
* In relative mode: transforms position by parent's hierarchy transform
|
|
843
|
+
*/
|
|
844
|
+
getGlobalPosition() {
|
|
845
|
+
var _a;
|
|
846
|
+
if (this.positionMode === 'absolute' || !this.parentId) {
|
|
847
|
+
return Object.assign({}, this.position);
|
|
848
|
+
}
|
|
849
|
+
// In relative mode with parent: apply parent's hierarchy transform
|
|
850
|
+
const parent = this.getParentNode();
|
|
851
|
+
if (!parent) {
|
|
852
|
+
// wave14/model — TOLERANT READER (see getWorldPosition): a removed parent's
|
|
853
|
+
// frozen frame keeps the transform-aware reading in agreement with the walk.
|
|
854
|
+
const anchor = (_a = this.diagram) === null || _a === void 0 ? void 0 : _a.getDetachedAnchor(this.parentId);
|
|
855
|
+
if (anchor) {
|
|
856
|
+
return this.composeGlobalFromParentFrame(anchor.global, anchor.rotation, anchor.scale);
|
|
857
|
+
}
|
|
858
|
+
return Object.assign({}, this.position);
|
|
859
|
+
}
|
|
860
|
+
return this.composeGlobalFromParentFrame(parent.getGlobalPosition(), parent.rotation, parent.scale);
|
|
861
|
+
}
|
|
862
|
+
/**
|
|
863
|
+
* Compose this node's global position from a parent FRAME (global position +
|
|
864
|
+
* local rotation/scale). For hierarchical positioning, apply:
|
|
865
|
+
* scale -> rotate -> translate (without transform origin offsets, which are
|
|
866
|
+
* for visual transforms). Shared by the live-parent path and the
|
|
867
|
+
* detached-anchor path of getGlobalPosition so the two can never disagree.
|
|
868
|
+
*/
|
|
869
|
+
composeGlobalFromParentFrame(parentGlobalPos, rotation, scale) {
|
|
870
|
+
var _a, _b;
|
|
871
|
+
// Scale child position by parent's scale
|
|
872
|
+
let x = this.position.x * scale.x;
|
|
873
|
+
let y = this.position.y * scale.y;
|
|
874
|
+
// Rotate scaled position by parent's rotation
|
|
875
|
+
if (rotation !== 0) {
|
|
876
|
+
const cos = Math.cos(rotation);
|
|
877
|
+
const sin = Math.sin(rotation);
|
|
878
|
+
const rotatedX = x * cos - y * sin;
|
|
879
|
+
const rotatedY = x * sin + y * cos;
|
|
880
|
+
x = rotatedX;
|
|
881
|
+
y = rotatedY;
|
|
882
|
+
}
|
|
883
|
+
// Add parent's global position
|
|
884
|
+
return {
|
|
885
|
+
x: parentGlobalPos.x + x,
|
|
886
|
+
y: parentGlobalPos.y + y,
|
|
887
|
+
z: ((_a = this.position.z) !== null && _a !== void 0 ? _a : 0) + ((_b = parentGlobalPos.z) !== null && _b !== void 0 ? _b : 0)
|
|
888
|
+
};
|
|
889
|
+
}
|
|
890
|
+
/**
|
|
891
|
+
* Set local position (Phase 1.6a)
|
|
892
|
+
* Sets position directly and switches to relative mode
|
|
893
|
+
*/
|
|
894
|
+
setLocalPosition(x, y, z) {
|
|
895
|
+
this.positionMode = 'relative';
|
|
896
|
+
this.setPosition(x, y, z);
|
|
897
|
+
}
|
|
898
|
+
/**
|
|
899
|
+
* Set global position (Phase 1.6a)
|
|
900
|
+
* Converts global coordinates to local if parent exists
|
|
901
|
+
*/
|
|
902
|
+
setGlobalPosition(x, y, z) {
|
|
903
|
+
var _a;
|
|
904
|
+
if (!this.parentId) {
|
|
905
|
+
this.setPosition(x, y, z);
|
|
906
|
+
return;
|
|
907
|
+
}
|
|
908
|
+
const parent = this.getParentNode();
|
|
909
|
+
if (!parent) {
|
|
910
|
+
// wave14/model — the WRITER must share the readers' frame, or dragging an
|
|
911
|
+
// orphaned child teleports it: convert through the removed parent's frozen
|
|
912
|
+
// frame when one exists (see DetachedParentAnchor).
|
|
913
|
+
const anchor = (_a = this.diagram) === null || _a === void 0 ? void 0 : _a.getDetachedAnchor(this.parentId);
|
|
914
|
+
if (anchor) {
|
|
915
|
+
this.positionMode = 'relative';
|
|
916
|
+
this.setPositionFromGlobalInParentFrame(anchor.global, anchor.rotation, anchor.scale, x, y, z);
|
|
917
|
+
return;
|
|
918
|
+
}
|
|
919
|
+
this.setPosition(x, y, z);
|
|
920
|
+
return;
|
|
921
|
+
}
|
|
922
|
+
// Convert global to local by inverting parent's hierarchy transform
|
|
923
|
+
this.positionMode = 'relative';
|
|
924
|
+
this.setPositionFromGlobalInParentFrame(parent.getGlobalPosition(), parent.rotation, parent.scale, x, y, z);
|
|
925
|
+
}
|
|
926
|
+
/**
|
|
927
|
+
* Inverse of {@link composeGlobalFromParentFrame}: write a GLOBAL point as a
|
|
928
|
+
* local offset against a parent frame. Shared by the live-parent path and the
|
|
929
|
+
* detached-anchor path of setGlobalPosition.
|
|
930
|
+
*/
|
|
931
|
+
setPositionFromGlobalInParentFrame(parentGlobalPos, rotation, scale, x, y, z) {
|
|
932
|
+
var _a;
|
|
933
|
+
// Subtract parent's global position
|
|
934
|
+
let localX = x - parentGlobalPos.x;
|
|
935
|
+
let localY = y - parentGlobalPos.y;
|
|
936
|
+
// Rotate by -parent.rotation
|
|
937
|
+
if (rotation !== 0) {
|
|
938
|
+
const cos = Math.cos(-rotation);
|
|
939
|
+
const sin = Math.sin(-rotation);
|
|
940
|
+
const rotatedX = localX * cos - localY * sin;
|
|
941
|
+
const rotatedY = localX * sin + localY * cos;
|
|
942
|
+
localX = rotatedX;
|
|
943
|
+
localY = rotatedY;
|
|
944
|
+
}
|
|
945
|
+
// Divide by parent's scale
|
|
946
|
+
localX /= scale.x;
|
|
947
|
+
localY /= scale.y;
|
|
948
|
+
this.setPosition(localX, localY, z !== undefined ? z - ((_a = parentGlobalPos.z) !== null && _a !== void 0 ? _a : 0) : undefined);
|
|
949
|
+
}
|
|
950
|
+
/**
|
|
951
|
+
* Get local transform matrix (Phase 1.6a)
|
|
952
|
+
* Composes translation, rotation, and scale relative to transform origin
|
|
953
|
+
*/
|
|
954
|
+
getLocalTransformMatrix() {
|
|
955
|
+
const origin = this.getAbsoluteTransformOrigin();
|
|
956
|
+
// Compose: translate to position, rotate around origin, scale around origin
|
|
957
|
+
// Order: translate-to-origin, scale, rotate, translate-back, translate-to-position
|
|
958
|
+
return (0, transform_1.composeMatrices)((0, transform_1.createTranslateMatrix)(this.position.x, this.position.y), (0, transform_1.createTranslateMatrix)(origin.x, origin.y), (0, transform_1.createRotateMatrix)(this.rotation), (0, transform_1.createScaleMatrix)(this.scale.x, this.scale.y), (0, transform_1.createTranslateMatrix)(-origin.x, -origin.y));
|
|
959
|
+
}
|
|
960
|
+
/**
|
|
961
|
+
* Get global transform matrix (Phase 1.6a)
|
|
962
|
+
* In absolute mode: returns local matrix
|
|
963
|
+
* In relative mode: composes parent's global matrix with local matrix
|
|
964
|
+
*/
|
|
965
|
+
getGlobalTransformMatrix() {
|
|
966
|
+
var _a;
|
|
967
|
+
const localMatrix = this.getLocalTransformMatrix();
|
|
968
|
+
if (this.positionMode === 'absolute' || !this.parentId) {
|
|
969
|
+
return localMatrix;
|
|
970
|
+
}
|
|
971
|
+
const parent = this.getParentNode();
|
|
972
|
+
if (!parent) {
|
|
973
|
+
// wave14/model — TOLERANT READER (see getWorldPosition): compose against the
|
|
974
|
+
// removed parent's frozen global matrix so getGlobalBounds does not jump.
|
|
975
|
+
const anchor = (_a = this.diagram) === null || _a === void 0 ? void 0 : _a.getDetachedAnchor(this.parentId);
|
|
976
|
+
if (anchor) {
|
|
977
|
+
return (0, transform_1.composeMatrices)(anchor.matrix, localMatrix);
|
|
978
|
+
}
|
|
979
|
+
return localMatrix;
|
|
980
|
+
}
|
|
981
|
+
const parentMatrix = parent.getGlobalTransformMatrix();
|
|
982
|
+
return (0, transform_1.composeMatrices)(parentMatrix, localMatrix);
|
|
983
|
+
}
|
|
984
|
+
/**
|
|
985
|
+
* Get global bounding box (Phase 1.6a)
|
|
986
|
+
* Calculates bounds by transforming all 4 corners through global matrix
|
|
987
|
+
*/
|
|
988
|
+
getGlobalBounds() {
|
|
989
|
+
const matrix = this.getGlobalTransformMatrix();
|
|
990
|
+
// Get 4 corners in local space
|
|
991
|
+
const corners = [
|
|
992
|
+
{ x: 0, y: 0 },
|
|
993
|
+
{ x: this.size.width, y: 0 },
|
|
994
|
+
{ x: this.size.width, y: this.size.height },
|
|
995
|
+
{ x: 0, y: this.size.height }
|
|
996
|
+
];
|
|
997
|
+
// Transform all corners
|
|
998
|
+
const transformedCorners = corners.map(corner => (0, transform_1.transformPoint)(corner, matrix));
|
|
999
|
+
// Find min/max to create axis-aligned bounding box
|
|
1000
|
+
const xs = transformedCorners.map(p => p.x);
|
|
1001
|
+
const ys = transformedCorners.map(p => p.y);
|
|
1002
|
+
const left = Math.min(...xs);
|
|
1003
|
+
const right = Math.max(...xs);
|
|
1004
|
+
const top = Math.min(...ys);
|
|
1005
|
+
const bottom = Math.max(...ys);
|
|
1006
|
+
return {
|
|
1007
|
+
left,
|
|
1008
|
+
top,
|
|
1009
|
+
right,
|
|
1010
|
+
bottom,
|
|
1011
|
+
width: right - left,
|
|
1012
|
+
height: bottom - top
|
|
1013
|
+
};
|
|
1014
|
+
}
|
|
1015
|
+
/**
|
|
1016
|
+
* Helper to get parent node (Phase 1.6a)
|
|
1017
|
+
* Uses diagram reference to look up parent by ID
|
|
1018
|
+
*/
|
|
1019
|
+
getParentNode() {
|
|
1020
|
+
if (!this.parentId || !this.diagram) {
|
|
1021
|
+
return undefined;
|
|
1022
|
+
}
|
|
1023
|
+
return this.diagram.getNode(this.parentId);
|
|
1024
|
+
}
|
|
1025
|
+
/**
|
|
1026
|
+
* Get direct children nodes (Phase 1.6a Part 3)
|
|
1027
|
+
*/
|
|
1028
|
+
getChildren() {
|
|
1029
|
+
if (!this.diagram) {
|
|
1030
|
+
return [];
|
|
1031
|
+
}
|
|
1032
|
+
const children = [];
|
|
1033
|
+
for (const childId of this.children) {
|
|
1034
|
+
const child = this.diagram.getNode(childId);
|
|
1035
|
+
if (child) {
|
|
1036
|
+
children.push(child);
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
return children;
|
|
1040
|
+
}
|
|
1041
|
+
/**
|
|
1042
|
+
* Get parent node (Phase 1.6a Part 3)
|
|
1043
|
+
* Public version of getParentNode
|
|
1044
|
+
*/
|
|
1045
|
+
getParent() {
|
|
1046
|
+
return this.getParentNode();
|
|
1047
|
+
}
|
|
1048
|
+
/**
|
|
1049
|
+
* Get all ancestor nodes up to root (Phase 1.6a Part 3)
|
|
1050
|
+
* Returns array with direct parent first, then grandparent, etc.
|
|
1051
|
+
*/
|
|
1052
|
+
getAncestors() {
|
|
1053
|
+
const ancestors = [];
|
|
1054
|
+
let current = this.getParent();
|
|
1055
|
+
// wave6/a11y — CYCLE GUARD, same bug as `getWorldPosition()`. This is the
|
|
1056
|
+
// walk `SetParentCommand` uses to REJECT a cycle, so leaving it unguarded
|
|
1057
|
+
// meant the cycle check hung the moment a cycle actually existed.
|
|
1058
|
+
const seen = new Set([this.id]);
|
|
1059
|
+
while (current && !seen.has(current.id)) {
|
|
1060
|
+
seen.add(current.id);
|
|
1061
|
+
ancestors.push(current);
|
|
1062
|
+
current = current.getParent();
|
|
1063
|
+
}
|
|
1064
|
+
return ancestors;
|
|
1065
|
+
}
|
|
1066
|
+
/**
|
|
1067
|
+
* Get all descendant nodes recursively (Phase 1.6a Part 3)
|
|
1068
|
+
*/
|
|
1069
|
+
getDescendants() {
|
|
1070
|
+
const descendants = [];
|
|
1071
|
+
const children = this.getChildren();
|
|
1072
|
+
for (const child of children) {
|
|
1073
|
+
descendants.push(child);
|
|
1074
|
+
descendants.push(...child.getDescendants());
|
|
1075
|
+
}
|
|
1076
|
+
return descendants;
|
|
1077
|
+
}
|
|
1078
|
+
/**
|
|
1079
|
+
* Get root node of hierarchy (Phase 1.6a Part 3)
|
|
1080
|
+
* Returns self if this is the root
|
|
1081
|
+
*/
|
|
1082
|
+
getRoot() {
|
|
1083
|
+
let current = this;
|
|
1084
|
+
let parent = current.getParent();
|
|
1085
|
+
while (parent) {
|
|
1086
|
+
current = parent;
|
|
1087
|
+
parent = current.getParent();
|
|
1088
|
+
}
|
|
1089
|
+
return current;
|
|
1090
|
+
}
|
|
1091
|
+
/**
|
|
1092
|
+
* Get sibling nodes (same parent, excluding self) (Phase 1.6a Part 3)
|
|
1093
|
+
*/
|
|
1094
|
+
getSiblings() {
|
|
1095
|
+
const parent = this.getParent();
|
|
1096
|
+
if (!parent) {
|
|
1097
|
+
return [];
|
|
1098
|
+
}
|
|
1099
|
+
return parent.getChildren().filter(child => child.id !== this.id);
|
|
1100
|
+
}
|
|
1101
|
+
/**
|
|
1102
|
+
* Check if this node is an ancestor of another node (Phase 1.6a Part 3)
|
|
1103
|
+
* @param nodeId ID of node to check
|
|
1104
|
+
* @returns true if this node is an ancestor of the given node
|
|
1105
|
+
*/
|
|
1106
|
+
isAncestorOf(nodeId) {
|
|
1107
|
+
if (nodeId === this.id) {
|
|
1108
|
+
return false; // Node is not ancestor of itself
|
|
1109
|
+
}
|
|
1110
|
+
if (!this.diagram) {
|
|
1111
|
+
return false;
|
|
1112
|
+
}
|
|
1113
|
+
const targetNode = this.diagram.getNode(nodeId);
|
|
1114
|
+
if (!targetNode) {
|
|
1115
|
+
return false;
|
|
1116
|
+
}
|
|
1117
|
+
const ancestors = targetNode.getAncestors();
|
|
1118
|
+
return ancestors.some(ancestor => ancestor.id === this.id);
|
|
1119
|
+
}
|
|
1120
|
+
/**
|
|
1121
|
+
* Get depth in hierarchy (Phase 1.6a Part 3)
|
|
1122
|
+
* Root nodes have depth 0, their children have depth 1, etc.
|
|
1123
|
+
* @returns depth level (0 = root)
|
|
1124
|
+
*/
|
|
1125
|
+
getDepth() {
|
|
1126
|
+
let depth = 0;
|
|
1127
|
+
let current = this.getParent();
|
|
1128
|
+
// wave6/a11y — CYCLE GUARD (the third unguarded parent walk in this class;
|
|
1129
|
+
// `validateHierarchy()` below has always had one, which is the irony: the
|
|
1130
|
+
// cycle DETECTOR was safe while every hot path that walks the same chain
|
|
1131
|
+
// was not).
|
|
1132
|
+
const seen = new Set([this.id]);
|
|
1133
|
+
while (current && !seen.has(current.id)) {
|
|
1134
|
+
seen.add(current.id);
|
|
1135
|
+
depth++;
|
|
1136
|
+
current = current.getParent();
|
|
1137
|
+
}
|
|
1138
|
+
return depth;
|
|
1139
|
+
}
|
|
1140
|
+
/**
|
|
1141
|
+
* Validate hierarchy for circular references (Phase 1.6a Part 3)
|
|
1142
|
+
* @returns true if hierarchy is valid (no cycles)
|
|
1143
|
+
*/
|
|
1144
|
+
validateHierarchy() {
|
|
1145
|
+
const visited = new Set();
|
|
1146
|
+
let current = this;
|
|
1147
|
+
while (current) {
|
|
1148
|
+
if (visited.has(current.id)) {
|
|
1149
|
+
// Found circular reference
|
|
1150
|
+
return false;
|
|
1151
|
+
}
|
|
1152
|
+
visited.add(current.id);
|
|
1153
|
+
current = current.getParent();
|
|
1154
|
+
}
|
|
1155
|
+
return true;
|
|
1156
|
+
}
|
|
1157
|
+
/**
|
|
1158
|
+
* Update depth for this node and all descendants (Phase 1.6a Part 3)
|
|
1159
|
+
* Recalculates depth values based on current hierarchy
|
|
1160
|
+
*/
|
|
1161
|
+
updateHierarchyDepth() {
|
|
1162
|
+
// Update own depth
|
|
1163
|
+
this.depth = this.getDepth();
|
|
1164
|
+
// Recursively update children
|
|
1165
|
+
const children = this.getChildren();
|
|
1166
|
+
for (const child of children) {
|
|
1167
|
+
child.updateHierarchyDepth();
|
|
1168
|
+
}
|
|
1169
|
+
}
|
|
1170
|
+
/**
|
|
1171
|
+
* Get all nodes affected by transform changes (Phase 1.6a Part 4)
|
|
1172
|
+
* Returns this node plus all descendants in relative positioning mode
|
|
1173
|
+
* @returns Array of nodes that would be affected by this node's transform
|
|
1174
|
+
*/
|
|
1175
|
+
getAffectedByTransform() {
|
|
1176
|
+
const affected = [this];
|
|
1177
|
+
const children = this.getChildren();
|
|
1178
|
+
for (const child of children) {
|
|
1179
|
+
// Only include children in relative mode (they inherit parent's transform)
|
|
1180
|
+
if (child.positionMode === 'relative') {
|
|
1181
|
+
affected.push(...child.getAffectedByTransform());
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1184
|
+
return affected;
|
|
1185
|
+
}
|
|
1186
|
+
/**
|
|
1187
|
+
* Emit transform propagation event (Phase 1.6a Part 4)
|
|
1188
|
+
* Called after transform changes to notify renderers
|
|
1189
|
+
*/
|
|
1190
|
+
emitTransformPropagated(type, value) {
|
|
1191
|
+
const affectedNodes = this.getAffectedByTransform();
|
|
1192
|
+
// Only emit if there are affected children (besides self)
|
|
1193
|
+
if (affectedNodes.length > 1) {
|
|
1194
|
+
this.emitter.emit('transform-propagated', {
|
|
1195
|
+
type,
|
|
1196
|
+
value,
|
|
1197
|
+
affectedNodes
|
|
1198
|
+
});
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
// ========================================
|
|
1202
|
+
// C — Z-order (mirrors GroupModel's Wave-5 API)
|
|
1203
|
+
// ========================================
|
|
1204
|
+
/**
|
|
1205
|
+
* The stacking index a renderer should paint by.
|
|
1206
|
+
*
|
|
1207
|
+
* Precedence is explicit-model-field → legacy `style.zIndex` → 0. That ordering
|
|
1208
|
+
* is the whole compatibility story: diagrams that restacked via style keep
|
|
1209
|
+
* working untouched, and the moment a node states a model z-index it wins — so
|
|
1210
|
+
* `setZIndex(1)` on a node styled `zIndex: 4` does what it says instead of
|
|
1211
|
+
* silently losing to a stylesheet.
|
|
1212
|
+
*/
|
|
1213
|
+
getEffectiveZIndex() {
|
|
1214
|
+
var _a, _b, _c;
|
|
1215
|
+
return (_c = (_a = this.zIndex) !== null && _a !== void 0 ? _a : (_b = this.style) === null || _b === void 0 ? void 0 : _b.zIndex) !== null && _c !== void 0 ? _c : 0;
|
|
1216
|
+
}
|
|
1217
|
+
/** Set the stacking index (lower renders further back). Tracked for undo/diff. */
|
|
1218
|
+
setZIndex(z) {
|
|
1219
|
+
if (this.writeBlocked())
|
|
1220
|
+
return;
|
|
1221
|
+
if (this.zIndex === z)
|
|
1222
|
+
return;
|
|
1223
|
+
const old = this.zIndex;
|
|
1224
|
+
this.zIndex = z;
|
|
1225
|
+
this.trackChange('zIndex', old, z);
|
|
1226
|
+
this.emitter.emit('zindex:changed', z);
|
|
1227
|
+
}
|
|
1228
|
+
/**
|
|
1229
|
+
* Bring this node in front of every other node in the diagram.
|
|
1230
|
+
* Falls back to a relative bump when the node is detached, exactly as
|
|
1231
|
+
* `GroupModel.bringToFront` does.
|
|
1232
|
+
*/
|
|
1233
|
+
bringToFront(diagram) {
|
|
1234
|
+
const dm = diagram !== null && diagram !== void 0 ? diagram : this.diagram;
|
|
1235
|
+
if (!dm) {
|
|
1236
|
+
this.setZIndex(this.getEffectiveZIndex() + 1);
|
|
1237
|
+
return;
|
|
1238
|
+
}
|
|
1239
|
+
const max = Math.max(0, ...dm.getNodes().map((n) => n.getEffectiveZIndex()));
|
|
1240
|
+
this.setZIndex(max + 1);
|
|
1241
|
+
}
|
|
1242
|
+
/** Send this node behind every other node in the diagram. */
|
|
1243
|
+
sendToBack(diagram) {
|
|
1244
|
+
const dm = diagram !== null && diagram !== void 0 ? diagram : this.diagram;
|
|
1245
|
+
if (!dm) {
|
|
1246
|
+
this.setZIndex(this.getEffectiveZIndex() - 1);
|
|
1247
|
+
return;
|
|
1248
|
+
}
|
|
1249
|
+
const min = Math.min(0, ...dm.getNodes().map((n) => n.getEffectiveZIndex()));
|
|
1250
|
+
this.setZIndex(min - 1);
|
|
1251
|
+
}
|
|
1252
|
+
/**
|
|
1253
|
+
* Set flexbox item configuration (Phase 1.7)
|
|
1254
|
+
*/
|
|
1255
|
+
setFlexItem(config) {
|
|
1256
|
+
const oldConfig = this.flexConfig;
|
|
1257
|
+
this.flexConfig = config;
|
|
1258
|
+
this.trackChange('flexConfig', oldConfig, config);
|
|
1259
|
+
this.emitter.emit('flex-item:changed', config);
|
|
1260
|
+
}
|
|
1261
|
+
/**
|
|
1262
|
+
* Clear flexbox item configuration (Phase 1.7)
|
|
1263
|
+
*/
|
|
1264
|
+
clearFlexItem() {
|
|
1265
|
+
const oldConfig = this.flexConfig;
|
|
1266
|
+
this.flexConfig = undefined;
|
|
1267
|
+
this.trackChange('flexConfig', oldConfig, undefined);
|
|
1268
|
+
this.emitter.emit('flex-item:cleared');
|
|
1269
|
+
}
|
|
1270
|
+
/**
|
|
1271
|
+
* Get flexbox item configuration (Phase 1.7)
|
|
1272
|
+
*/
|
|
1273
|
+
getFlexItem() {
|
|
1274
|
+
return this.flexConfig;
|
|
1275
|
+
}
|
|
1276
|
+
/**
|
|
1277
|
+
* Check if node has flex item configuration (Phase 1.7)
|
|
1278
|
+
*/
|
|
1279
|
+
hasFlexItem() {
|
|
1280
|
+
return this.flexConfig !== undefined;
|
|
1281
|
+
}
|
|
1282
|
+
/**
|
|
1283
|
+
* Set grid item configuration (Phase 1.7)
|
|
1284
|
+
*/
|
|
1285
|
+
setGridItem(config) {
|
|
1286
|
+
const oldConfig = this.gridConfig;
|
|
1287
|
+
this.gridConfig = config;
|
|
1288
|
+
this.trackChange('gridConfig', oldConfig, config);
|
|
1289
|
+
this.emitter.emit('grid-item:changed', config);
|
|
1290
|
+
}
|
|
1291
|
+
/**
|
|
1292
|
+
* Clear grid item configuration (Phase 1.7)
|
|
1293
|
+
*/
|
|
1294
|
+
clearGridItem() {
|
|
1295
|
+
const oldConfig = this.gridConfig;
|
|
1296
|
+
this.gridConfig = undefined;
|
|
1297
|
+
this.trackChange('gridConfig', oldConfig, undefined);
|
|
1298
|
+
this.emitter.emit('grid-item:cleared');
|
|
1299
|
+
}
|
|
1300
|
+
/**
|
|
1301
|
+
* Get grid item configuration (Phase 1.7)
|
|
1302
|
+
*/
|
|
1303
|
+
getGridItem() {
|
|
1304
|
+
return this.gridConfig;
|
|
1305
|
+
}
|
|
1306
|
+
/**
|
|
1307
|
+
* Check if node has grid item configuration (Phase 1.7)
|
|
1308
|
+
*/
|
|
1309
|
+
hasGridItem() {
|
|
1310
|
+
return this.gridConfig !== undefined;
|
|
1311
|
+
}
|
|
1312
|
+
// ========================================
|
|
1313
|
+
// Template Support Methods (Phase 2)
|
|
1314
|
+
// ========================================
|
|
1315
|
+
/**
|
|
1316
|
+
* Set port rendering configuration (Phase 2)
|
|
1317
|
+
*/
|
|
1318
|
+
setPortRenderingConfig(config) {
|
|
1319
|
+
const oldConfig = this.portRenderingConfig;
|
|
1320
|
+
this.portRenderingConfig = config;
|
|
1321
|
+
this.trackChange('portRenderingConfig', oldConfig, config);
|
|
1322
|
+
this.emitter.emit('port-rendering:changed', config);
|
|
1323
|
+
}
|
|
1324
|
+
/**
|
|
1325
|
+
* Get port rendering configuration (Phase 2)
|
|
1326
|
+
*/
|
|
1327
|
+
getPortRenderingConfig() {
|
|
1328
|
+
return this.portRenderingConfig;
|
|
1329
|
+
}
|
|
1330
|
+
/**
|
|
1331
|
+
* Get port rendering mode (Phase 2)
|
|
1332
|
+
* Auto-detects based on configuration and metadata
|
|
1333
|
+
*/
|
|
1334
|
+
getPortRenderingMode() {
|
|
1335
|
+
var _a;
|
|
1336
|
+
// Priority 1: Explicit metadata override
|
|
1337
|
+
const metadataMode = this.getMetadata('portRenderingMode');
|
|
1338
|
+
if (metadataMode) {
|
|
1339
|
+
return metadataMode;
|
|
1340
|
+
}
|
|
1341
|
+
// Priority 2: Port rendering config
|
|
1342
|
+
if ((_a = this.portRenderingConfig) === null || _a === void 0 ? void 0 : _a.mode) {
|
|
1343
|
+
return this.portRenderingConfig.mode;
|
|
1344
|
+
}
|
|
1345
|
+
// Priority 3: Auto-detect from HTML layer flag
|
|
1346
|
+
const useHTMLLayer = this.getMetadata('useHTMLLayer');
|
|
1347
|
+
if (useHTMLLayer === true) {
|
|
1348
|
+
return 'html';
|
|
1349
|
+
}
|
|
1350
|
+
// Default: SVG mode
|
|
1351
|
+
return 'svg';
|
|
1352
|
+
}
|
|
1353
|
+
/**
|
|
1354
|
+
* Set drag handler configuration (Phase 2)
|
|
1355
|
+
*/
|
|
1356
|
+
setDragHandlerConfig(config) {
|
|
1357
|
+
const oldConfig = this.dragHandlerConfig;
|
|
1358
|
+
this.dragHandlerConfig = config;
|
|
1359
|
+
this.trackChange('dragHandlerConfig', oldConfig, config);
|
|
1360
|
+
this.emitter.emit('drag-handler:changed', config);
|
|
1361
|
+
}
|
|
1362
|
+
/**
|
|
1363
|
+
* Get drag handler configuration (Phase 2)
|
|
1364
|
+
*/
|
|
1365
|
+
getDragHandlerConfig() {
|
|
1366
|
+
return this.dragHandlerConfig;
|
|
1367
|
+
}
|
|
1368
|
+
/**
|
|
1369
|
+
* Check if this node is a drag handler (Phase 2)
|
|
1370
|
+
*/
|
|
1371
|
+
isDragHandler() {
|
|
1372
|
+
var _a;
|
|
1373
|
+
return ((_a = this.dragHandlerConfig) === null || _a === void 0 ? void 0 : _a.isDragHandler) === true;
|
|
1374
|
+
}
|
|
1375
|
+
/**
|
|
1376
|
+
* Set connection group (Phase 2)
|
|
1377
|
+
*/
|
|
1378
|
+
setConnectionGroup(group) {
|
|
1379
|
+
const oldGroup = this.connectionGroup;
|
|
1380
|
+
this.connectionGroup = group;
|
|
1381
|
+
this.trackChange('connectionGroup', oldGroup, group);
|
|
1382
|
+
this.emitter.emit('connection-group:changed', { group });
|
|
1383
|
+
}
|
|
1384
|
+
/**
|
|
1385
|
+
* Get connection group (Phase 2)
|
|
1386
|
+
*/
|
|
1387
|
+
getConnectionGroup() {
|
|
1388
|
+
return this.connectionGroup;
|
|
1389
|
+
}
|
|
1390
|
+
/**
|
|
1391
|
+
* Serialize to JSON
|
|
1392
|
+
*/
|
|
1393
|
+
serialize() {
|
|
1394
|
+
const serialized = {
|
|
1395
|
+
id: this.id,
|
|
1396
|
+
uuid: this.uuid,
|
|
1397
|
+
type: this.type,
|
|
1398
|
+
version: this.version,
|
|
1399
|
+
metadata: Object.fromEntries(this.metadata),
|
|
1400
|
+
position: Object.assign({}, this.position),
|
|
1401
|
+
size: Object.assign({}, this.size),
|
|
1402
|
+
rotation: this.rotation,
|
|
1403
|
+
scale: Object.assign({}, this.scale),
|
|
1404
|
+
systemType: this.systemType,
|
|
1405
|
+
definitionId: this.definitionId,
|
|
1406
|
+
parentId: this.parentId,
|
|
1407
|
+
children: Array.from(this.children),
|
|
1408
|
+
ports: Array.from(this.ports.values()).map((p) => p.serialize()),
|
|
1409
|
+
state: Object.assign({}, this.state),
|
|
1410
|
+
behavior: Object.assign({}, this.behavior),
|
|
1411
|
+
style: Object.assign({}, this.style),
|
|
1412
|
+
data: Object.assign({}, this.data),
|
|
1413
|
+
positionMode: this.positionMode, // Phase 1.6a
|
|
1414
|
+
transformOrigin: Object.assign({}, this.transformOrigin), // Phase 1.6a
|
|
1415
|
+
};
|
|
1416
|
+
// C: only present when the node actually stated a z-index — see the field
|
|
1417
|
+
// comment. `0` is a real, serialized value; `undefined` writes no key at all.
|
|
1418
|
+
if (this.zIndex !== undefined) {
|
|
1419
|
+
serialized.zIndex = this.zIndex;
|
|
1420
|
+
}
|
|
1421
|
+
// Phase 1.7: Include layout configs if they exist
|
|
1422
|
+
if (this.flexConfig) {
|
|
1423
|
+
serialized.flexConfig = Object.assign({}, this.flexConfig);
|
|
1424
|
+
}
|
|
1425
|
+
if (this.gridConfig) {
|
|
1426
|
+
serialized.gridConfig = Object.assign({}, this.gridConfig);
|
|
1427
|
+
}
|
|
1428
|
+
// Phase 2: Include template properties if they exist
|
|
1429
|
+
if (this.portRenderingConfig) {
|
|
1430
|
+
serialized.portRenderingConfig = Object.assign({}, this.portRenderingConfig);
|
|
1431
|
+
}
|
|
1432
|
+
if (this.dragHandlerConfig) {
|
|
1433
|
+
serialized.dragHandlerConfig = Object.assign({}, this.dragHandlerConfig);
|
|
1434
|
+
}
|
|
1435
|
+
if (this.connectionGroup) {
|
|
1436
|
+
serialized.connectionGroup = this.connectionGroup;
|
|
1437
|
+
}
|
|
1438
|
+
return serialized;
|
|
1439
|
+
}
|
|
1440
|
+
/**
|
|
1441
|
+
* Deserialize from JSON
|
|
1442
|
+
*/
|
|
1443
|
+
static fromJSON(data) {
|
|
1444
|
+
const node = new NodeModel({
|
|
1445
|
+
id: data.id,
|
|
1446
|
+
type: data.type,
|
|
1447
|
+
position: data.position,
|
|
1448
|
+
size: data.size,
|
|
1449
|
+
systemType: data.systemType,
|
|
1450
|
+
definitionId: data.definitionId,
|
|
1451
|
+
});
|
|
1452
|
+
node.rotation = data.rotation;
|
|
1453
|
+
node.scale = data.scale;
|
|
1454
|
+
node.parentId = data.parentId;
|
|
1455
|
+
node.children = new Set(data.children);
|
|
1456
|
+
node.state = data.state;
|
|
1457
|
+
node.behavior = data.behavior;
|
|
1458
|
+
node.style = data.style;
|
|
1459
|
+
node.data = data.data;
|
|
1460
|
+
// Restore Phase 1.6a properties (with defaults for backward compatibility)
|
|
1461
|
+
node.positionMode = data.positionMode || 'absolute';
|
|
1462
|
+
node.transformOrigin = data.transformOrigin || { x: 0.5, y: 0.5 };
|
|
1463
|
+
// C: an absent key stays UNSET (not 0) so a legacy document keeps deferring to
|
|
1464
|
+
// whatever `style.zIndex` it was painted with.
|
|
1465
|
+
if (typeof data.zIndex === 'number') {
|
|
1466
|
+
node.zIndex = data.zIndex;
|
|
1467
|
+
}
|
|
1468
|
+
// Restore metadata
|
|
1469
|
+
for (const [key, value] of Object.entries(data.metadata)) {
|
|
1470
|
+
node.metadata.set(key, value);
|
|
1471
|
+
}
|
|
1472
|
+
// Restore ports. The SAVED port set is authoritative: the constructor
|
|
1473
|
+
// auto-creates default ports (Phase 0.5.1), and appending the serialized
|
|
1474
|
+
// ports on top of them made every save/load cycle GROW the set (4 defaults
|
|
1475
|
+
// + 4 restored = 8, then 12, …). Clear the auto-created defaults first so
|
|
1476
|
+
// a restored node has exactly the ports it was saved with — including
|
|
1477
|
+
// zero, if they were all removed. Legacy payloads with no `ports` field
|
|
1478
|
+
// keep the constructor defaults.
|
|
1479
|
+
if (Array.isArray(data.ports)) {
|
|
1480
|
+
node.ports.clear();
|
|
1481
|
+
for (const portData of data.ports) {
|
|
1482
|
+
const port = PortModel_1.PortModel.fromJSON(portData);
|
|
1483
|
+
node.ports.set(port.id, port);
|
|
1484
|
+
}
|
|
1485
|
+
}
|
|
1486
|
+
// (wave14/model — a legacy `behaviorOverrides` key, if present, is deliberately
|
|
1487
|
+
// IGNORED here: unknown-key tolerance. See the note on SerializedNode.)
|
|
1488
|
+
// Restore Phase 1.7 layout configs
|
|
1489
|
+
if (data.flexConfig) {
|
|
1490
|
+
node.flexConfig = data.flexConfig;
|
|
1491
|
+
}
|
|
1492
|
+
if (data.gridConfig) {
|
|
1493
|
+
node.gridConfig = data.gridConfig;
|
|
1494
|
+
}
|
|
1495
|
+
// Restore Phase 2 template properties (backward compatible)
|
|
1496
|
+
if (data.portRenderingConfig) {
|
|
1497
|
+
node.portRenderingConfig = data.portRenderingConfig;
|
|
1498
|
+
}
|
|
1499
|
+
if (data.dragHandlerConfig) {
|
|
1500
|
+
node.dragHandlerConfig = data.dragHandlerConfig;
|
|
1501
|
+
}
|
|
1502
|
+
if (data.connectionGroup) {
|
|
1503
|
+
node.connectionGroup = data.connectionGroup;
|
|
1504
|
+
}
|
|
1505
|
+
// Last: restore persisted identity (uuid) and mutation counter (version)
|
|
1506
|
+
// so a loaded node is indistinguishable from the one that was saved.
|
|
1507
|
+
node.restoreIdentity(data);
|
|
1508
|
+
return node;
|
|
1509
|
+
}
|
|
1510
|
+
}
|
|
1511
|
+
exports.NodeModel = NodeModel;
|
|
1512
|
+
//# sourceMappingURL=NodeModel.js.map
|