@grafloria/element 0.3.20 → 0.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/libs/element/src/index.d.ts +0 -92
- package/src/libs/element/src/index.js +0 -576
- package/src/libs/element/src/lib/dashboard-kit/dashboard.d.ts +0 -345
- package/src/libs/element/src/lib/dashboard-kit/dashboard.js +0 -594
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.d.ts +0 -277
- package/src/libs/element/src/lib/dashboard-kit/grid-binder.js +0 -1636
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.d.ts +0 -141
- package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js +0 -176
- package/src/libs/element/src/lib/dashboard-kit/index.d.ts +0 -5
- package/src/libs/element/src/lib/dashboard-kit/index.js +0 -33
- package/src/libs/element/src/lib/dashboard-kit/styles.d.ts +0 -25
- package/src/libs/element/src/lib/dashboard-kit/styles.js +0 -209
- package/src/libs/element/src/lib/dashboard-kit/widgets.d.ts +0 -112
- package/src/libs/element/src/lib/dashboard-kit/widgets.js +0 -389
- package/src/libs/element/src/lib/diagram-kit/card.d.ts +0 -75
- package/src/libs/element/src/lib/diagram-kit/card.js +0 -209
- package/src/libs/element/src/lib/diagram-kit/editing.d.ts +0 -58
- package/src/libs/element/src/lib/diagram-kit/editing.js +0 -453
- package/src/libs/element/src/lib/diagram-kit/er.d.ts +0 -73
- package/src/libs/element/src/lib/diagram-kit/er.js +0 -163
- package/src/libs/element/src/lib/diagram-kit/handles.d.ts +0 -181
- package/src/libs/element/src/lib/diagram-kit/handles.js +0 -325
- package/src/libs/element/src/lib/diagram-kit/index.d.ts +0 -10
- package/src/libs/element/src/lib/diagram-kit/index.js +0 -55
- package/src/libs/element/src/lib/diagram-kit/join-guidance.d.ts +0 -116
- package/src/libs/element/src/lib/diagram-kit/join-guidance.js +0 -331
- package/src/libs/element/src/lib/diagram-kit/rows.d.ts +0 -53
- package/src/libs/element/src/lib/diagram-kit/rows.js +0 -147
- package/src/libs/element/src/lib/diagram-kit/styles.d.ts +0 -18
- package/src/libs/element/src/lib/diagram-kit/styles.js +0 -122
- package/src/libs/element/src/lib/diagram-kit/uml.d.ts +0 -59
- package/src/libs/element/src/lib/diagram-kit/uml.js +0 -138
- package/src/libs/element/src/lib/diagram-kit/update.d.ts +0 -133
- package/src/libs/element/src/lib/diagram-kit/update.js +0 -251
- package/src/libs/element/src/lib/grafloria-flow-element.d.ts +0 -48
- package/src/libs/element/src/lib/grafloria-flow-element.js +0 -271
- package/src/libs/element/src/lib/grafloria.d.ts +0 -72
- package/src/libs/element/src/lib/grafloria.js +0 -74
- package/src/libs/element/src/lib/load.d.ts +0 -72
- package/src/libs/element/src/lib/load.js +0 -255
- package/src/libs/element/src/lib/node-type-registry.d.ts +0 -39
- package/src/libs/element/src/lib/node-type-registry.js +0 -50
- package/src/libs/element/src/lib/stencil-kit/builders.d.ts +0 -45
- package/src/libs/element/src/lib/stencil-kit/builders.js +0 -24
- package/src/libs/element/src/lib/stencil-kit/card-builders.d.ts +0 -2
- package/src/libs/element/src/lib/stencil-kit/card-builders.js +0 -108
- package/src/libs/element/src/lib/stencil-kit/index.d.ts +0 -7
- package/src/libs/element/src/lib/stencil-kit/index.js +0 -19
- package/src/libs/element/src/lib/stencil-kit/palette.d.ts +0 -93
- package/src/libs/element/src/lib/stencil-kit/palette.js +0 -430
- package/src/libs/element/src/lib/stencil-kit/shape-data.d.ts +0 -28
- package/src/libs/element/src/lib/stencil-kit/shape-data.js +0 -540
- package/src/libs/element/src/lib/stencil-kit/styles.d.ts +0 -2
- package/src/libs/element/src/lib/stencil-kit/styles.js +0 -129
- package/src/libs/engine/src/adapters/component-adapter.interface.d.ts +0 -302
- package/src/libs/engine/src/adapters/component-adapter.interface.js +0 -84
- package/src/libs/engine/src/adapters/index.d.ts +0 -7
- package/src/libs/engine/src/adapters/index.js +0 -11
- package/src/libs/engine/src/clipboard/ClipboardManager.d.ts +0 -81
- package/src/libs/engine/src/clipboard/ClipboardManager.js +0 -108
- package/src/libs/engine/src/clipboard/index.d.ts +0 -1
- package/src/libs/engine/src/clipboard/index.js +0 -6
- package/src/libs/engine/src/collab/apply-op.d.ts +0 -42
- package/src/libs/engine/src/collab/apply-op.js +0 -939
- package/src/libs/engine/src/collab/capture.d.ts +0 -147
- package/src/libs/engine/src/collab/capture.js +0 -510
- package/src/libs/engine/src/collab/index.d.ts +0 -12
- package/src/libs/engine/src/collab/index.js +0 -84
- package/src/libs/engine/src/collab/integrity.d.ts +0 -178
- package/src/libs/engine/src/collab/integrity.js +0 -438
- package/src/libs/engine/src/collab/lww.d.ts +0 -47
- package/src/libs/engine/src/collab/lww.js +0 -188
- package/src/libs/engine/src/collab/op-log.d.ts +0 -50
- package/src/libs/engine/src/collab/op-log.js +0 -167
- package/src/libs/engine/src/collab/op.d.ts +0 -120
- package/src/libs/engine/src/collab/op.js +0 -118
- package/src/libs/engine/src/collab/replica.d.ts +0 -188
- package/src/libs/engine/src/collab/replica.js +0 -526
- package/src/libs/engine/src/collab/undo.d.ts +0 -106
- package/src/libs/engine/src/collab/undo.js +0 -388
- package/src/libs/engine/src/commands/Command.d.ts +0 -66
- package/src/libs/engine/src/commands/Command.js +0 -64
- package/src/libs/engine/src/commands/CommandManager.d.ts +0 -161
- package/src/libs/engine/src/commands/CommandManager.js +0 -417
- package/src/libs/engine/src/commands/basic/AddGroupCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/AddGroupCommand.js +0 -50
- package/src/libs/engine/src/commands/basic/AddLinkCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/AddLinkCommand.js +0 -50
- package/src/libs/engine/src/commands/basic/AddNodeCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/AddNodeCommand.js +0 -65
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/AddToGroupCommand.js +0 -73
- package/src/libs/engine/src/commands/basic/AlignCommands.d.ts +0 -42
- package/src/libs/engine/src/commands/basic/AlignCommands.js +0 -138
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js +0 -70
- package/src/libs/engine/src/commands/basic/CopyCommand.d.ts +0 -29
- package/src/libs/engine/src/commands/basic/CopyCommand.js +0 -131
- package/src/libs/engine/src/commands/basic/CutCommand.d.ts +0 -49
- package/src/libs/engine/src/commands/basic/CutCommand.js +0 -68
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.d.ts +0 -58
- package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js +0 -309
- package/src/libs/engine/src/commands/basic/DuplicateCommand.d.ts +0 -31
- package/src/libs/engine/src/commands/basic/DuplicateCommand.js +0 -232
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js +0 -69
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.d.ts +0 -46
- package/src/libs/engine/src/commands/basic/MoveGroupCommand.js +0 -77
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.d.ts +0 -30
- package/src/libs/engine/src/commands/basic/MoveNodeCommand.js +0 -87
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.d.ts +0 -39
- package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js +0 -120
- package/src/libs/engine/src/commands/basic/PasteCommand.d.ts +0 -33
- package/src/libs/engine/src/commands/basic/PasteCommand.js +0 -228
- package/src/libs/engine/src/commands/basic/PortCommands.d.ts +0 -22
- package/src/libs/engine/src/commands/basic/PortCommands.js +0 -85
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.d.ts +0 -15
- package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js +0 -59
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js +0 -64
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js +0 -56
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.d.ts +0 -12
- package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js +0 -57
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.d.ts +0 -23
- package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js +0 -108
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.d.ts +0 -16
- package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js +0 -81
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.d.ts +0 -37
- package/src/libs/engine/src/commands/basic/RotateNodeCommand.js +0 -88
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js +0 -74
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetGridItemCommand.js +0 -74
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.d.ts +0 -16
- package/src/libs/engine/src/commands/basic/SetLayoutCommand.js +0 -80
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.d.ts +0 -28
- package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js +0 -83
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.d.ts +0 -24
- package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js +0 -81
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js +0 -75
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js +0 -77
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.d.ts +0 -32
- package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js +0 -87
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js +0 -93
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.d.ts +0 -26
- package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js +0 -81
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.d.ts +0 -14
- package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js +0 -69
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.d.ts +0 -15
- package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js +0 -88
- package/src/libs/engine/src/commands/basic/SetParentCommand.d.ts +0 -13
- package/src/libs/engine/src/commands/basic/SetParentCommand.js +0 -109
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.d.ts +0 -34
- package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js +0 -86
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.d.ts +0 -31
- package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js +0 -88
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.d.ts +0 -15
- package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js +0 -72
- package/src/libs/engine/src/commands/basic/index.d.ts +0 -41
- package/src/libs/engine/src/commands/basic/index.js +0 -52
- package/src/libs/engine/src/commands/basic/remapNodePortIds.d.ts +0 -23
- package/src/libs/engine/src/commands/basic/remapNodePortIds.js +0 -46
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.d.ts +0 -31
- package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js +0 -49
- package/src/libs/engine/src/commands/composite/BatchCommand.d.ts +0 -19
- package/src/libs/engine/src/commands/composite/BatchCommand.js +0 -61
- package/src/libs/engine/src/commands/composite/MacroCommand.d.ts +0 -35
- package/src/libs/engine/src/commands/composite/MacroCommand.js +0 -87
- package/src/libs/engine/src/commands/composite/index.d.ts +0 -2
- package/src/libs/engine/src/commands/composite/index.js +0 -7
- package/src/libs/engine/src/commands/index.d.ts +0 -4
- package/src/libs/engine/src/commands/index.js +0 -9
- package/src/libs/engine/src/comments/comment-store.d.ts +0 -238
- package/src/libs/engine/src/comments/comment-store.js +0 -538
- package/src/libs/engine/src/comments/index.d.ts +0 -4
- package/src/libs/engine/src/comments/index.js +0 -31
- package/src/libs/engine/src/comments/mentions.d.ts +0 -52
- package/src/libs/engine/src/comments/mentions.js +0 -94
- package/src/libs/engine/src/comments/read-state.d.ts +0 -37
- package/src/libs/engine/src/comments/read-state.js +0 -105
- package/src/libs/engine/src/comments/types.d.ts +0 -154
- package/src/libs/engine/src/comments/types.js +0 -107
- package/src/libs/engine/src/config/InteractionConfig.d.ts +0 -330
- package/src/libs/engine/src/config/InteractionConfig.js +0 -154
- package/src/libs/engine/src/config/index.d.ts +0 -1
- package/src/libs/engine/src/config/index.js +0 -6
- package/src/libs/engine/src/dsl/DSL.d.ts +0 -197
- package/src/libs/engine/src/dsl/DSL.js +0 -564
- package/src/libs/engine/src/dsl/advanced/StyleParser.d.ts +0 -75
- package/src/libs/engine/src/dsl/advanced/StyleParser.js +0 -166
- package/src/libs/engine/src/dsl/advanced/TemplateParser.d.ts +0 -88
- package/src/libs/engine/src/dsl/advanced/TemplateParser.js +0 -226
- package/src/libs/engine/src/dsl/advanced/index.d.ts +0 -9
- package/src/libs/engine/src/dsl/advanced/index.js +0 -13
- package/src/libs/engine/src/dsl/detector/LayoutDetector.d.ts +0 -80
- package/src/libs/engine/src/dsl/detector/LayoutDetector.js +0 -333
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.d.ts +0 -38
- package/src/libs/engine/src/dsl/extended/BPMNGenerator.js +0 -90
- package/src/libs/engine/src/dsl/extended/BPMNParser.d.ts +0 -83
- package/src/libs/engine/src/dsl/extended/BPMNParser.js +0 -198
- package/src/libs/engine/src/dsl/extended/ERDGenerator.d.ts +0 -38
- package/src/libs/engine/src/dsl/extended/ERDGenerator.js +0 -126
- package/src/libs/engine/src/dsl/extended/ERDParser.d.ts +0 -81
- package/src/libs/engine/src/dsl/extended/ERDParser.js +0 -161
- package/src/libs/engine/src/dsl/extended/ERDTransformer.d.ts +0 -43
- package/src/libs/engine/src/dsl/extended/ERDTransformer.js +0 -105
- package/src/libs/engine/src/dsl/extended/UMLGenerator.d.ts +0 -42
- package/src/libs/engine/src/dsl/extended/UMLGenerator.js +0 -157
- package/src/libs/engine/src/dsl/extended/UMLParser.d.ts +0 -99
- package/src/libs/engine/src/dsl/extended/UMLParser.js +0 -200
- package/src/libs/engine/src/dsl/extended/index.d.ts +0 -13
- package/src/libs/engine/src/dsl/extended/index.js +0 -27
- package/src/libs/engine/src/dsl/generator/DSLFormatter.d.ts +0 -87
- package/src/libs/engine/src/dsl/generator/DSLFormatter.js +0 -261
- package/src/libs/engine/src/dsl/generator/DSLGenerator.d.ts +0 -96
- package/src/libs/engine/src/dsl/generator/DSLGenerator.js +0 -328
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.d.ts +0 -111
- package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js +0 -361
- package/src/libs/engine/src/dsl/index.d.ts +0 -35
- package/src/libs/engine/src/dsl/index.js +0 -64
- package/src/libs/engine/src/dsl/lexer/Lexer.d.ts +0 -117
- package/src/libs/engine/src/dsl/lexer/Lexer.js +0 -521
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.d.ts +0 -136
- package/src/libs/engine/src/dsl/mermaid/MermaidClass.js +0 -429
- package/src/libs/engine/src/dsl/mermaid/MermaidER.d.ts +0 -118
- package/src/libs/engine/src/dsl/mermaid/MermaidER.js +0 -338
- package/src/libs/engine/src/dsl/mermaid/MermaidState.d.ts +0 -89
- package/src/libs/engine/src/dsl/mermaid/MermaidState.js +0 -613
- package/src/libs/engine/src/dsl/mermaid/index.d.ts +0 -10
- package/src/libs/engine/src/dsl/mermaid/index.js +0 -33
- package/src/libs/engine/src/dsl/mermaid/layout.d.ts +0 -70
- package/src/libs/engine/src/dsl/mermaid/layout.js +0 -162
- package/src/libs/engine/src/dsl/mermaid/lines.d.ts +0 -25
- package/src/libs/engine/src/dsl/mermaid/lines.js +0 -74
- package/src/libs/engine/src/dsl/parser/Parser.d.ts +0 -131
- package/src/libs/engine/src/dsl/parser/Parser.js +0 -725
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.d.ts +0 -154
- package/src/libs/engine/src/dsl/sync/BidirectionalSync.js +0 -389
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.d.ts +0 -128
- package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js +0 -244
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.d.ts +0 -140
- package/src/libs/engine/src/dsl/sync/LayoutApplicator.js +0 -271
- package/src/libs/engine/src/dsl/sync/SyncStateManager.d.ts +0 -145
- package/src/libs/engine/src/dsl/sync/SyncStateManager.js +0 -253
- package/src/libs/engine/src/dsl/sync/index.d.ts +0 -13
- package/src/libs/engine/src/dsl/sync/index.js +0 -21
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.d.ts +0 -150
- package/src/libs/engine/src/dsl/transformer/ASTTransformer.js +0 -605
- package/src/libs/engine/src/dsl/types/ASTNode.d.ts +0 -159
- package/src/libs/engine/src/dsl/types/ASTNode.js +0 -31
- package/src/libs/engine/src/dsl/types/Token.d.ts +0 -79
- package/src/libs/engine/src/dsl/types/Token.js +0 -84
- package/src/libs/engine/src/engine/DiagramEngine.d.ts +0 -917
- package/src/libs/engine/src/engine/DiagramEngine.js +0 -2190
- package/src/libs/engine/src/engine/DiagramMode.d.ts +0 -51
- package/src/libs/engine/src/engine/DiagramMode.js +0 -53
- package/src/libs/engine/src/engine/DiagramModeTypes.d.ts +0 -73
- package/src/libs/engine/src/engine/DiagramModeTypes.js +0 -4
- package/src/libs/engine/src/engine/ModeManager.d.ts +0 -155
- package/src/libs/engine/src/engine/ModeManager.js +0 -387
- package/src/libs/engine/src/engine/index.d.ts +0 -2
- package/src/libs/engine/src/engine/index.js +0 -7
- package/src/libs/engine/src/events/EventBus.d.ts +0 -106
- package/src/libs/engine/src/events/EventBus.js +0 -226
- package/src/libs/engine/src/events/index.d.ts +0 -1
- package/src/libs/engine/src/events/index.js +0 -6
- package/src/libs/engine/src/index.d.ts +0 -43
- package/src/libs/engine/src/index.js +0 -142
- package/src/libs/engine/src/interaction/GroupCollapseService.d.ts +0 -53
- package/src/libs/engine/src/interaction/GroupCollapseService.js +0 -274
- package/src/libs/engine/src/interaction/GroupMembershipService.d.ts +0 -107
- package/src/libs/engine/src/interaction/GroupMembershipService.js +0 -245
- package/src/libs/engine/src/interaction/SemanticMembershipService.d.ts +0 -28
- package/src/libs/engine/src/interaction/SemanticMembershipService.js +0 -168
- package/src/libs/engine/src/interaction/SwimlaneService.d.ts +0 -62
- package/src/libs/engine/src/interaction/SwimlaneService.js +0 -180
- package/src/libs/engine/src/interaction/index.d.ts +0 -4
- package/src/libs/engine/src/interaction/index.js +0 -9
- package/src/libs/engine/src/interop/drawio/importDrawio.d.ts +0 -52
- package/src/libs/engine/src/interop/drawio/importDrawio.js +0 -940
- package/src/libs/engine/src/interop/drawio/index.d.ts +0 -1
- package/src/libs/engine/src/interop/drawio/index.js +0 -12
- package/src/libs/engine/src/interop/drawio/xml.d.ts +0 -26
- package/src/libs/engine/src/interop/drawio/xml.js +0 -213
- package/src/libs/engine/src/layout/CompoundLayoutService.d.ts +0 -121
- package/src/libs/engine/src/layout/CompoundLayoutService.js +0 -616
- package/src/libs/engine/src/layout/ILayoutAlgorithm.d.ts +0 -120
- package/src/libs/engine/src/layout/ILayoutAlgorithm.js +0 -88
- package/src/libs/engine/src/layout/LayoutManager.d.ts +0 -155
- package/src/libs/engine/src/layout/LayoutManager.js +0 -640
- package/src/libs/engine/src/layout/SmartSpacingCalculator.d.ts +0 -62
- package/src/libs/engine/src/layout/SmartSpacingCalculator.js +0 -134
- package/src/libs/engine/src/layout/ViewportTransform.d.ts +0 -55
- package/src/libs/engine/src/layout/ViewportTransform.js +0 -118
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.d.ts +0 -34
- package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js +0 -317
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.d.ts +0 -56
- package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js +0 -223
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.d.ts +0 -60
- package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js +0 -307
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.d.ts +0 -62
- package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js +0 -324
- package/src/libs/engine/src/layout/community-layout-adapter.d.ts +0 -107
- package/src/libs/engine/src/layout/community-layout-adapter.js +0 -486
- package/src/libs/engine/src/layout/component-packing.d.ts +0 -98
- package/src/libs/engine/src/layout/component-packing.js +0 -307
- package/src/libs/engine/src/layout/dagre-layout-adapter.d.ts +0 -122
- package/src/libs/engine/src/layout/dagre-layout-adapter.js +0 -697
- package/src/libs/engine/src/layout/edge-bundling.interface.d.ts +0 -159
- package/src/libs/engine/src/layout/edge-bundling.interface.js +0 -379
- package/src/libs/engine/src/layout/elk-layout-adapter.d.ts +0 -121
- package/src/libs/engine/src/layout/elk-layout-adapter.js +0 -586
- package/src/libs/engine/src/layout/elk-loader.d.ts +0 -1
- package/src/libs/engine/src/layout/elk-loader.js +0 -24
- package/src/libs/engine/src/layout/force-layout-adapter.d.ts +0 -167
- package/src/libs/engine/src/layout/force-layout-adapter.js +0 -790
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.d.ts +0 -323
- package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js +0 -685
- package/src/libs/engine/src/layout/incremental/mental-map.d.ts +0 -98
- package/src/libs/engine/src/layout/incremental/mental-map.js +0 -221
- package/src/libs/engine/src/layout/incremental-layout.interface.d.ts +0 -145
- package/src/libs/engine/src/layout/incremental-layout.interface.js +0 -300
- package/src/libs/engine/src/layout/index.d.ts +0 -83
- package/src/libs/engine/src/layout/index.js +0 -116
- package/src/libs/engine/src/layout/layout-adapter.interface.d.ts +0 -185
- package/src/libs/engine/src/layout/layout-adapter.interface.js +0 -10
- package/src/libs/engine/src/layout/layout-auto-select.d.ts +0 -160
- package/src/libs/engine/src/layout/layout-auto-select.js +0 -621
- package/src/libs/engine/src/layout/layout-constraints.interface.d.ts +0 -117
- package/src/libs/engine/src/layout/layout-constraints.interface.js +0 -138
- package/src/libs/engine/src/layout/layout-graph.d.ts +0 -70
- package/src/libs/engine/src/layout/layout-graph.js +0 -119
- package/src/libs/engine/src/layout/layout-history.d.ts +0 -147
- package/src/libs/engine/src/layout/layout-history.js +0 -258
- package/src/libs/engine/src/layout/layout-host.d.ts +0 -172
- package/src/libs/engine/src/layout/layout-host.js +0 -523
- package/src/libs/engine/src/layout/layout-presets.d.ts +0 -91
- package/src/libs/engine/src/layout/layout-presets.js +0 -333
- package/src/libs/engine/src/layout/layout-quality-extended.d.ts +0 -66
- package/src/libs/engine/src/layout/layout-quality-extended.js +0 -246
- package/src/libs/engine/src/layout/layout-quality-metrics.d.ts +0 -127
- package/src/libs/engine/src/layout/layout-quality-metrics.js +0 -466
- package/src/libs/engine/src/layout/layout-registry.d.ts +0 -309
- package/src/libs/engine/src/layout/layout-registry.js +0 -414
- package/src/libs/engine/src/layout/layout.service.d.ts +0 -100
- package/src/libs/engine/src/layout/layout.service.js +0 -216
- package/src/libs/engine/src/layout/overlap-removal.d.ts +0 -20
- package/src/libs/engine/src/layout/overlap-removal.js +0 -117
- package/src/libs/engine/src/layout/port-aware-layout.interface.d.ts +0 -232
- package/src/libs/engine/src/layout/port-aware-layout.interface.js +0 -413
- package/src/libs/engine/src/layout/port-label-bridge.d.ts +0 -77
- package/src/libs/engine/src/layout/port-label-bridge.js +0 -250
- package/src/libs/engine/src/layout/portfolio-layouts.d.ts +0 -53
- package/src/libs/engine/src/layout/portfolio-layouts.js +0 -388
- package/src/libs/engine/src/layout/rng.d.ts +0 -34
- package/src/libs/engine/src/layout/rng.js +0 -71
- package/src/libs/engine/src/layout/spectral-layout-adapter.d.ts +0 -72
- package/src/libs/engine/src/layout/spectral-layout-adapter.js +0 -379
- package/src/libs/engine/src/layout/steppable-layout.d.ts +0 -40
- package/src/libs/engine/src/layout/steppable-layout.js +0 -34
- package/src/libs/engine/src/layout/subgraph-layout.interface.d.ts +0 -269
- package/src/libs/engine/src/layout/subgraph-layout.interface.js +0 -452
- package/src/libs/engine/src/layout/sugiyama/layered-layout.d.ts +0 -9
- package/src/libs/engine/src/layout/sugiyama/layered-layout.js +0 -83
- package/src/libs/engine/src/layout/sugiyama/sugiyama.d.ts +0 -91
- package/src/libs/engine/src/layout/sugiyama/sugiyama.js +0 -797
- package/src/libs/engine/src/layout/tree-layout.d.ts +0 -43
- package/src/libs/engine/src/layout/tree-layout.js +0 -426
- package/src/libs/engine/src/layout/types.d.ts +0 -263
- package/src/libs/engine/src/layout/types.js +0 -6
- package/src/libs/engine/src/lib/performance/mobile-performance.service.d.ts +0 -43
- package/src/libs/engine/src/lib/performance/mobile-performance.service.js +0 -95
- package/src/libs/engine/src/models/DiagramEntity.d.ts +0 -174
- package/src/libs/engine/src/models/DiagramEntity.js +0 -366
- package/src/libs/engine/src/models/DiagramModel.d.ts +0 -960
- package/src/libs/engine/src/models/DiagramModel.js +0 -2416
- package/src/libs/engine/src/models/GroupModel.d.ts +0 -573
- package/src/libs/engine/src/models/GroupModel.js +0 -1373
- package/src/libs/engine/src/models/LinkModel.d.ts +0 -395
- package/src/libs/engine/src/models/LinkModel.js +0 -1045
- package/src/libs/engine/src/models/NodeModel.d.ts +0 -666
- package/src/libs/engine/src/models/NodeModel.js +0 -1512
- package/src/libs/engine/src/models/PortModel.d.ts +0 -292
- package/src/libs/engine/src/models/PortModel.js +0 -637
- package/src/libs/engine/src/models/StrokeModel.d.ts +0 -160
- package/src/libs/engine/src/models/StrokeModel.js +0 -387
- package/src/libs/engine/src/models/index.d.ts +0 -7
- package/src/libs/engine/src/models/index.js +0 -12
- package/src/libs/engine/src/models/readonly-lock.d.ts +0 -108
- package/src/libs/engine/src/models/readonly-lock.js +0 -125
- package/src/libs/engine/src/performance/LRUCache.d.ts +0 -78
- package/src/libs/engine/src/performance/LRUCache.js +0 -179
- package/src/libs/engine/src/performance/PerformanceMonitor.d.ts +0 -47
- package/src/libs/engine/src/performance/PerformanceMonitor.js +0 -112
- package/src/libs/engine/src/performance/SpatialIndex.d.ts +0 -157
- package/src/libs/engine/src/performance/SpatialIndex.js +0 -306
- package/src/libs/engine/src/performance/index.d.ts +0 -2
- package/src/libs/engine/src/performance/index.js +0 -7
- package/src/libs/engine/src/plugins/PluginManager.d.ts +0 -95
- package/src/libs/engine/src/plugins/PluginManager.js +0 -388
- package/src/libs/engine/src/plugins/index.d.ts +0 -1
- package/src/libs/engine/src/plugins/index.js +0 -6
- package/src/libs/engine/src/ports/connection-rules.d.ts +0 -32
- package/src/libs/engine/src/ports/connection-rules.js +0 -131
- package/src/libs/engine/src/ports/dynamic-ports.d.ts +0 -27
- package/src/libs/engine/src/ports/dynamic-ports.js +0 -135
- package/src/libs/engine/src/ports/index.d.ts +0 -5
- package/src/libs/engine/src/ports/index.js +0 -16
- package/src/libs/engine/src/ports/port-groups.d.ts +0 -43
- package/src/libs/engine/src/ports/port-groups.js +0 -185
- package/src/libs/engine/src/ports/port-type-registry.d.ts +0 -34
- package/src/libs/engine/src/ports/port-type-registry.js +0 -87
- package/src/libs/engine/src/ports/port-types.d.ts +0 -266
- package/src/libs/engine/src/ports/port-types.js +0 -30
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.d.ts +0 -136
- package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js +0 -292
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.d.ts +0 -160
- package/src/libs/engine/src/rendering/LemonadeJSRenderer.js +0 -362
- package/src/libs/engine/src/rendering/index.d.ts +0 -2
- package/src/libs/engine/src/rendering/index.js +0 -7
- package/src/libs/engine/src/routing/LiveReroutingEngine.d.ts +0 -75
- package/src/libs/engine/src/routing/LiveReroutingEngine.js +0 -173
- package/src/libs/engine/src/routing/ObstacleIndex.d.ts +0 -42
- package/src/libs/engine/src/routing/ObstacleIndex.js +0 -215
- package/src/libs/engine/src/routing/ObstacleMap.d.ts +0 -68
- package/src/libs/engine/src/routing/ObstacleMap.js +0 -312
- package/src/libs/engine/src/routing/ObstacleMapBuilder.d.ts +0 -28
- package/src/libs/engine/src/routing/ObstacleMapBuilder.js +0 -76
- package/src/libs/engine/src/routing/PathSimplifier.d.ts +0 -119
- package/src/libs/engine/src/routing/PathSimplifier.js +0 -224
- package/src/libs/engine/src/routing/RoutingEngine.d.ts +0 -118
- package/src/libs/engine/src/routing/RoutingEngine.js +0 -546
- package/src/libs/engine/src/routing/algorithms/AStarRouter.d.ts +0 -90
- package/src/libs/engine/src/routing/algorithms/AStarRouter.js +0 -331
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.d.ts +0 -74
- package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js +0 -297
- package/src/libs/engine/src/routing/algorithms/ElkRouter.d.ts +0 -34
- package/src/libs/engine/src/routing/algorithms/ElkRouter.js +0 -210
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.d.ts +0 -18
- package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js +0 -224
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.d.ts +0 -173
- package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js +0 -1092
- package/src/libs/engine/src/routing/algorithms/StraightRouter.d.ts +0 -8
- package/src/libs/engine/src/routing/algorithms/StraightRouter.js +0 -53
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.d.ts +0 -59
- package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js +0 -258
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.d.ts +0 -64
- package/src/libs/engine/src/routing/global/GlobalRouteSolver.js +0 -334
- package/src/libs/engine/src/routing/global/solver-host.d.ts +0 -65
- package/src/libs/engine/src/routing/global/solver-host.js +0 -87
- package/src/libs/engine/src/routing/index.d.ts +0 -15
- package/src/libs/engine/src/routing/index.js +0 -20
- package/src/libs/engine/src/routing/types.d.ts +0 -161
- package/src/libs/engine/src/routing/types.js +0 -4
- package/src/libs/engine/src/selection/SelectionManager.d.ts +0 -161
- package/src/libs/engine/src/selection/SelectionManager.js +0 -483
- package/src/libs/engine/src/selection/index.d.ts +0 -1
- package/src/libs/engine/src/selection/index.js +0 -6
- package/src/libs/engine/src/serialization/DiagramMigrations.d.ts +0 -41
- package/src/libs/engine/src/serialization/DiagramMigrations.js +0 -124
- package/src/libs/engine/src/serialization/DiagramValidator.d.ts +0 -20
- package/src/libs/engine/src/serialization/DiagramValidator.js +0 -136
- package/src/libs/engine/src/serialization/DocumentEnvelope.d.ts +0 -53
- package/src/libs/engine/src/serialization/DocumentEnvelope.js +0 -111
- package/src/libs/engine/src/serialization/Incremental.d.ts +0 -77
- package/src/libs/engine/src/serialization/Incremental.js +0 -227
- package/src/libs/engine/src/serialization/Serializer.d.ts +0 -29
- package/src/libs/engine/src/serialization/Serializer.js +0 -45
- package/src/libs/engine/src/serialization/Subgraph.d.ts +0 -51
- package/src/libs/engine/src/serialization/Subgraph.js +0 -172
- package/src/libs/engine/src/serialization/TextFormat.d.ts +0 -71
- package/src/libs/engine/src/serialization/TextFormat.js +0 -261
- package/src/libs/engine/src/state/ConnectionStateManager.d.ts +0 -178
- package/src/libs/engine/src/state/ConnectionStateManager.js +0 -319
- package/src/libs/engine/src/state/DiagramStore.d.ts +0 -134
- package/src/libs/engine/src/state/DiagramStore.js +0 -372
- package/src/libs/engine/src/state/index.d.ts +0 -2
- package/src/libs/engine/src/state/index.js +0 -7
- package/src/libs/engine/src/sync/awareness.d.ts +0 -91
- package/src/libs/engine/src/sync/awareness.js +0 -221
- package/src/libs/engine/src/sync/batcher.d.ts +0 -84
- package/src/libs/engine/src/sync/batcher.js +0 -0
- package/src/libs/engine/src/sync/causal-buffer.d.ts +0 -81
- package/src/libs/engine/src/sync/causal-buffer.js +0 -199
- package/src/libs/engine/src/sync/index.d.ts +0 -20
- package/src/libs/engine/src/sync/index.js +0 -41
- package/src/libs/engine/src/sync/protocol.d.ts +0 -74
- package/src/libs/engine/src/sync/protocol.js +0 -39
- package/src/libs/engine/src/sync/sync-adapter.d.ts +0 -243
- package/src/libs/engine/src/sync/sync-adapter.js +0 -524
- package/src/libs/engine/src/sync/transport.d.ts +0 -30
- package/src/libs/engine/src/sync/transport.js +0 -28
- package/src/libs/engine/src/sync/transports/broadcast-channel.d.ts +0 -39
- package/src/libs/engine/src/sync/transports/broadcast-channel.js +0 -117
- package/src/libs/engine/src/sync/transports/memory.d.ts +0 -38
- package/src/libs/engine/src/sync/transports/memory.js +0 -111
- package/src/libs/engine/src/sync/transports/unreliable.d.ts +0 -59
- package/src/libs/engine/src/sync/transports/unreliable.js +0 -153
- package/src/libs/engine/src/sync/transports/websocket.d.ts +0 -60
- package/src/libs/engine/src/sync/transports/websocket.js +0 -210
- package/src/libs/engine/src/sync/version-vector.d.ts +0 -47
- package/src/libs/engine/src/sync/version-vector.js +0 -218
- package/src/libs/engine/src/template-library/common-templates.d.ts +0 -46
- package/src/libs/engine/src/template-library/common-templates.js +0 -395
- package/src/libs/engine/src/template-library/data-viz-templates.d.ts +0 -52
- package/src/libs/engine/src/template-library/data-viz-templates.js +0 -471
- package/src/libs/engine/src/template-library/erd-templates.d.ts +0 -71
- package/src/libs/engine/src/template-library/erd-templates.js +0 -773
- package/src/libs/engine/src/template-library/index.d.ts +0 -141
- package/src/libs/engine/src/template-library/index.js +0 -271
- package/src/libs/engine/src/template-library/integration.d.ts +0 -80
- package/src/libs/engine/src/template-library/integration.js +0 -141
- package/src/libs/engine/src/template-library/workflow-templates.d.ts +0 -52
- package/src/libs/engine/src/template-library/workflow-templates.js +0 -438
- package/src/libs/engine/src/templates/NodeFactory.d.ts +0 -118
- package/src/libs/engine/src/templates/NodeFactory.js +0 -436
- package/src/libs/engine/src/templates/NodeTemplate.d.ts +0 -342
- package/src/libs/engine/src/templates/NodeTemplate.js +0 -13
- package/src/libs/engine/src/templates/TemplateLoader.d.ts +0 -46
- package/src/libs/engine/src/templates/TemplateLoader.js +0 -114
- package/src/libs/engine/src/templates/TemplateRegistry.d.ts +0 -70
- package/src/libs/engine/src/templates/TemplateRegistry.js +0 -128
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js +0 -124
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js +0 -124
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js +0 -122
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js +0 -125
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js +0 -152
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js +0 -123
- package/src/libs/engine/src/templates/generated/bpmn/index.d.ts +0 -15
- package/src/libs/engine/src/templates/generated/bpmn/index.js +0 -34
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js +0 -152
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js +0 -151
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js +0 -149
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js +0 -121
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-table.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-view.template.js +0 -123
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js +0 -149
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js +0 -122
- package/src/libs/engine/src/templates/generated/erd/index.d.ts +0 -19
- package/src/libs/engine/src/templates/generated/erd/index.js +0 -42
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js +0 -122
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js +0 -122
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js +0 -122
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js +0 -123
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js +0 -124
- package/src/libs/engine/src/templates/generated/flowchart/index.d.ts +0 -16
- package/src/libs/engine/src/templates/generated/flowchart/index.js +0 -36
- package/src/libs/engine/src/templates/generated/index.d.ts +0 -9
- package/src/libs/engine/src/templates/generated/index.js +0 -13
- package/src/libs/engine/src/templates/generated/register.d.ts +0 -23
- package/src/libs/engine/src/templates/generated/register.js +0 -31
- package/src/libs/engine/src/templates/generated/uml/index.d.ts +0 -30
- package/src/libs/engine/src/templates/generated/uml/index.js +0 -64
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-class.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-component.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js +0 -124
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js +0 -125
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-join.template.js +0 -125
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-node.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-note.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-object.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-package.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-part.template.js +0 -122
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-port.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js +0 -204
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-state.template.js +0 -123
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.d.ts +0 -11
- package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js +0 -122
- package/src/libs/engine/src/templates/index.d.ts +0 -12
- package/src/libs/engine/src/templates/index.js +0 -27
- package/src/libs/engine/src/templates/stencils.d.ts +0 -45
- package/src/libs/engine/src/templates/stencils.js +0 -85
- package/src/libs/engine/src/types/domain/bpmn.d.ts +0 -25
- package/src/libs/engine/src/types/domain/bpmn.js +0 -313
- package/src/libs/engine/src/types/domain/erd.d.ts +0 -29
- package/src/libs/engine/src/types/domain/erd.js +0 -394
- package/src/libs/engine/src/types/domain/flowchart.d.ts +0 -26
- package/src/libs/engine/src/types/domain/flowchart.js +0 -434
- package/src/libs/engine/src/types/domain/index.d.ts +0 -4
- package/src/libs/engine/src/types/domain/index.js +0 -9
- package/src/libs/engine/src/types/domain/uml.d.ts +0 -40
- package/src/libs/engine/src/types/domain/uml.js +0 -758
- package/src/libs/engine/src/types/event.types.d.ts +0 -142
- package/src/libs/engine/src/types/event.types.js +0 -96
- package/src/libs/engine/src/types/geometry.types.d.ts +0 -84
- package/src/libs/engine/src/types/geometry.types.js +0 -16
- package/src/libs/engine/src/types/index.d.ts +0 -7
- package/src/libs/engine/src/types/index.js +0 -14
- package/src/libs/engine/src/types/layout.types.d.ts +0 -148
- package/src/libs/engine/src/types/layout.types.js +0 -28
- package/src/libs/engine/src/types/model.types.d.ts +0 -378
- package/src/libs/engine/src/types/model.types.js +0 -4
- package/src/libs/engine/src/types/performance.types.d.ts +0 -109
- package/src/libs/engine/src/types/performance.types.js +0 -122
- package/src/libs/engine/src/types/plugin.types.d.ts +0 -30
- package/src/libs/engine/src/types/plugin.types.js +0 -4
- package/src/libs/engine/src/utils/deep-clone.d.ts +0 -9
- package/src/libs/engine/src/utils/deep-clone.js +0 -123
- package/src/libs/engine/src/utils/geometry.d.ts +0 -45
- package/src/libs/engine/src/utils/geometry.js +0 -241
- package/src/libs/engine/src/utils/id.d.ts +0 -22
- package/src/libs/engine/src/utils/id.js +0 -44
- package/src/libs/engine/src/utils/index.d.ts +0 -3
- package/src/libs/engine/src/utils/index.js +0 -8
- package/src/libs/engine/src/utils/transform.d.ts +0 -84
- package/src/libs/engine/src/utils/transform.js +0 -200
- package/src/libs/engine/src/validation/ConnectionGroupValidator.d.ts +0 -22
- package/src/libs/engine/src/validation/ConnectionGroupValidator.js +0 -56
- package/src/libs/engine/src/validation/TypeRegistry.d.ts +0 -179
- package/src/libs/engine/src/validation/TypeRegistry.js +0 -358
- package/src/libs/engine/src/validation/ValidationEngine.d.ts +0 -79
- package/src/libs/engine/src/validation/ValidationEngine.js +0 -1150
- package/src/libs/engine/src/validation/index.d.ts +0 -3
- package/src/libs/engine/src/validation/index.js +0 -8
- package/src/libs/renderer/src/a11y/diagram-outline.d.ts +0 -93
- package/src/libs/renderer/src/a11y/diagram-outline.js +0 -0
- package/src/libs/renderer/src/a11y/focus-containment.d.ts +0 -90
- package/src/libs/renderer/src/a11y/focus-containment.js +0 -173
- package/src/libs/renderer/src/a11y/graph-topology.d.ts +0 -70
- package/src/libs/renderer/src/a11y/graph-topology.js +0 -0
- package/src/libs/renderer/src/a11y/index.d.ts +0 -26
- package/src/libs/renderer/src/a11y/index.js +0 -30
- package/src/libs/renderer/src/a11y/live-region.d.ts +0 -83
- package/src/libs/renderer/src/a11y/live-region.js +0 -170
- package/src/libs/renderer/src/a11y/outline-view.d.ts +0 -62
- package/src/libs/renderer/src/a11y/outline-view.js +0 -158
- package/src/libs/renderer/src/a11y/reduced-motion.d.ts +0 -48
- package/src/libs/renderer/src/a11y/reduced-motion.js +0 -223
- package/src/libs/renderer/src/a11y/semantics.d.ts +0 -76
- package/src/libs/renderer/src/a11y/semantics.js +0 -229
- package/src/libs/renderer/src/canvas/canvas-context.d.ts +0 -167
- package/src/libs/renderer/src/canvas/canvas-context.js +0 -267
- package/src/libs/renderer/src/canvas/canvas-renderer.d.ts +0 -194
- package/src/libs/renderer/src/canvas/canvas-renderer.js +0 -600
- package/src/libs/renderer/src/canvas/dirty-region.d.ts +0 -56
- package/src/libs/renderer/src/canvas/dirty-region.js +0 -171
- package/src/libs/renderer/src/canvas/index.d.ts +0 -16
- package/src/libs/renderer/src/canvas/index.js +0 -79
- package/src/libs/renderer/src/canvas/path-geometry.d.ts +0 -112
- package/src/libs/renderer/src/canvas/path-geometry.js +0 -673
- package/src/libs/renderer/src/canvas/render-backend.d.ts +0 -133
- package/src/libs/renderer/src/canvas/render-backend.js +0 -339
- package/src/libs/renderer/src/canvas/style-resolution.d.ts +0 -101
- package/src/libs/renderer/src/canvas/style-resolution.js +0 -466
- package/src/libs/renderer/src/canvas/tier-policy.d.ts +0 -33
- package/src/libs/renderer/src/canvas/tier-policy.js +0 -89
- package/src/libs/renderer/src/canvas/vnode-painter.d.ts +0 -154
- package/src/libs/renderer/src/canvas/vnode-painter.js +0 -649
- package/src/libs/renderer/src/comments/comment-overlay.d.ts +0 -56
- package/src/libs/renderer/src/comments/comment-overlay.js +0 -127
- package/src/libs/renderer/src/comments/comment-panel.d.ts +0 -45
- package/src/libs/renderer/src/comments/comment-panel.js +0 -287
- package/src/libs/renderer/src/comments/comment-pins.d.ts +0 -34
- package/src/libs/renderer/src/comments/comment-pins.js +0 -227
- package/src/libs/renderer/src/comments/index.d.ts +0 -3
- package/src/libs/renderer/src/comments/index.js +0 -17
- package/src/libs/renderer/src/export/assets.d.ts +0 -96
- package/src/libs/renderer/src/export/assets.js +0 -350
- package/src/libs/renderer/src/export/batch.d.ts +0 -49
- package/src/libs/renderer/src/export/batch.js +0 -95
- package/src/libs/renderer/src/export/bounds.d.ts +0 -81
- package/src/libs/renderer/src/export/bounds.js +0 -367
- package/src/libs/renderer/src/export/capture-host.d.ts +0 -39
- package/src/libs/renderer/src/export/capture-host.js +0 -1259
- package/src/libs/renderer/src/export/custom-nodes.d.ts +0 -88
- package/src/libs/renderer/src/export/custom-nodes.js +0 -237
- package/src/libs/renderer/src/export/index.d.ts +0 -14
- package/src/libs/renderer/src/export/index.js +0 -30
- package/src/libs/renderer/src/export/node-raster.d.ts +0 -60
- package/src/libs/renderer/src/export/node-raster.js +0 -161
- package/src/libs/renderer/src/export/pagination.d.ts +0 -116
- package/src/libs/renderer/src/export/pagination.js +0 -245
- package/src/libs/renderer/src/export/pdf/flate.d.ts +0 -13
- package/src/libs/renderer/src/export/pdf/flate.js +0 -287
- package/src/libs/renderer/src/export/pdf/index.d.ts +0 -4
- package/src/libs/renderer/src/export/pdf/index.js +0 -15
- package/src/libs/renderer/src/export/pdf/pdf-export.d.ts +0 -64
- package/src/libs/renderer/src/export/pdf/pdf-export.js +0 -1076
- package/src/libs/renderer/src/export/pdf/pdf-path.d.ts +0 -17
- package/src/libs/renderer/src/export/pdf/pdf-path.js +0 -85
- package/src/libs/renderer/src/export/pdf/pdf-primitives.d.ts +0 -115
- package/src/libs/renderer/src/export/pdf/pdf-primitives.js +0 -338
- package/src/libs/renderer/src/export/pdf/png.d.ts +0 -25
- package/src/libs/renderer/src/export/pdf/png.js +0 -596
- package/src/libs/renderer/src/export/raster.d.ts +0 -42
- package/src/libs/renderer/src/export/raster.js +0 -126
- package/src/libs/renderer/src/export/round-trip.d.ts +0 -83
- package/src/libs/renderer/src/export/round-trip.js +0 -432
- package/src/libs/renderer/src/export/scope.d.ts +0 -16
- package/src/libs/renderer/src/export/scope.js +0 -69
- package/src/libs/renderer/src/export/style-flattener.d.ts +0 -23
- package/src/libs/renderer/src/export/style-flattener.js +0 -144
- package/src/libs/renderer/src/export/svg-export.d.ts +0 -123
- package/src/libs/renderer/src/export/svg-export.js +0 -178
- package/src/libs/renderer/src/export/vnode-serializer.d.ts +0 -75
- package/src/libs/renderer/src/export/vnode-serializer.js +0 -344
- package/src/libs/renderer/src/ext/capabilities.d.ts +0 -178
- package/src/libs/renderer/src/ext/capabilities.js +0 -22
- package/src/libs/renderer/src/ext/capability-factory.d.ts +0 -44
- package/src/libs/renderer/src/ext/capability-factory.js +0 -194
- package/src/libs/renderer/src/ext/components/attach.d.ts +0 -66
- package/src/libs/renderer/src/ext/components/attach.js +0 -112
- package/src/libs/renderer/src/ext/components/background.d.ts +0 -84
- package/src/libs/renderer/src/ext/components/background.js +0 -202
- package/src/libs/renderer/src/ext/components/controls.d.ts +0 -49
- package/src/libs/renderer/src/ext/components/controls.js +0 -144
- package/src/libs/renderer/src/ext/components/minimap.d.ts +0 -78
- package/src/libs/renderer/src/ext/components/minimap.js +0 -326
- package/src/libs/renderer/src/ext/diagram-registry.d.ts +0 -109
- package/src/libs/renderer/src/ext/diagram-registry.js +0 -303
- package/src/libs/renderer/src/ext/disposable.d.ts +0 -51
- package/src/libs/renderer/src/ext/disposable.js +0 -104
- package/src/libs/renderer/src/ext/extension-host.d.ts +0 -144
- package/src/libs/renderer/src/ext/extension-host.js +0 -272
- package/src/libs/renderer/src/ext/index.d.ts +0 -62
- package/src/libs/renderer/src/ext/index.js +0 -91
- package/src/libs/renderer/src/ext/link-pipeline.d.ts +0 -195
- package/src/libs/renderer/src/ext/link-pipeline.js +0 -431
- package/src/libs/renderer/src/ext/manifest.d.ts +0 -73
- package/src/libs/renderer/src/ext/manifest.js +0 -149
- package/src/libs/renderer/src/ext/node-component.d.ts +0 -114
- package/src/libs/renderer/src/ext/node-component.js +0 -290
- package/src/libs/renderer/src/ext/plugins-loader.d.ts +0 -1
- package/src/libs/renderer/src/ext/plugins-loader.js +0 -18
- package/src/libs/renderer/src/ext/portal.d.ts +0 -129
- package/src/libs/renderer/src/ext/portal.js +0 -267
- package/src/libs/renderer/src/ext/public-api.d.ts +0 -101
- package/src/libs/renderer/src/ext/public-api.js +0 -201
- package/src/libs/renderer/src/ext/registry-scope.d.ts +0 -93
- package/src/libs/renderer/src/ext/registry-scope.js +0 -142
- package/src/libs/renderer/src/ext/tools.d.ts +0 -164
- package/src/libs/renderer/src/ext/tools.js +0 -170
- package/src/libs/renderer/src/index.d.ts +0 -34
- package/src/libs/renderer/src/index.js +0 -108
- package/src/libs/renderer/src/instance/create-diagram.d.ts +0 -385
- package/src/libs/renderer/src/instance/create-diagram.js +0 -1150
- package/src/libs/renderer/src/instance/diagram-instance.d.ts +0 -48
- package/src/libs/renderer/src/instance/diagram-instance.js +0 -51
- package/src/libs/renderer/src/instance/dom-event-binder.d.ts +0 -394
- package/src/libs/renderer/src/instance/dom-event-binder.js +0 -2104
- package/src/libs/renderer/src/instance/index.d.ts +0 -5
- package/src/libs/renderer/src/instance/index.js +0 -13
- package/src/libs/renderer/src/instance/layers.d.ts +0 -31
- package/src/libs/renderer/src/instance/layers.js +0 -43
- package/src/libs/renderer/src/instance/model-input.d.ts +0 -229
- package/src/libs/renderer/src/instance/model-input.js +0 -325
- package/src/libs/renderer/src/instance/render-scheduler.d.ts +0 -79
- package/src/libs/renderer/src/instance/render-scheduler.js +0 -96
- package/src/libs/renderer/src/instance/wheel-scroll-yield.d.ts +0 -38
- package/src/libs/renderer/src/instance/wheel-scroll-yield.js +0 -118
- package/src/libs/renderer/src/interaction/ControlPointEditor.d.ts +0 -160
- package/src/libs/renderer/src/interaction/ControlPointEditor.js +0 -360
- package/src/libs/renderer/src/interaction/WaypointEditor.d.ts +0 -133
- package/src/libs/renderer/src/interaction/WaypointEditor.js +0 -263
- package/src/libs/renderer/src/interaction/highlighters.d.ts +0 -88
- package/src/libs/renderer/src/interaction/highlighters.js +0 -212
- package/src/libs/renderer/src/interaction/in-place-editor.d.ts +0 -63
- package/src/libs/renderer/src/interaction/in-place-editor.js +0 -141
- package/src/libs/renderer/src/interaction/index.d.ts +0 -11
- package/src/libs/renderer/src/interaction/index.js +0 -29
- package/src/libs/renderer/src/interaction/ink-overlay.d.ts +0 -53
- package/src/libs/renderer/src/interaction/ink-overlay.js +0 -154
- package/src/libs/renderer/src/interaction/interaction-controller.d.ts +0 -555
- package/src/libs/renderer/src/interaction/interaction-controller.js +0 -1733
- package/src/libs/renderer/src/interaction/keyboard-navigation.d.ts +0 -223
- package/src/libs/renderer/src/interaction/keyboard-navigation.js +0 -885
- package/src/libs/renderer/src/interaction/selection-tools.d.ts +0 -343
- package/src/libs/renderer/src/interaction/selection-tools.js +0 -918
- package/src/libs/renderer/src/interaction/snapping.d.ts +0 -210
- package/src/libs/renderer/src/interaction/snapping.js +0 -569
- package/src/libs/renderer/src/interaction/touch-gestures.d.ts +0 -160
- package/src/libs/renderer/src/interaction/touch-gestures.js +0 -549
- package/src/libs/renderer/src/interaction/whiteboard-tools.d.ts +0 -171
- package/src/libs/renderer/src/interaction/whiteboard-tools.js +0 -476
- package/src/libs/renderer/src/lazy/host-culling.d.ts +0 -116
- package/src/libs/renderer/src/lazy/host-culling.js +0 -135
- package/src/libs/renderer/src/lazy/index.d.ts +0 -7
- package/src/libs/renderer/src/lazy/index.js +0 -28
- package/src/libs/renderer/src/lazy/progressive-mounter.d.ts +0 -80
- package/src/libs/renderer/src/lazy/progressive-mounter.js +0 -264
- package/src/libs/renderer/src/lazy/types.d.ts +0 -43
- package/src/libs/renderer/src/lazy/types.js +0 -14
- package/src/libs/renderer/src/lazy/view-lifecycle.d.ts +0 -97
- package/src/libs/renderer/src/lazy/view-lifecycle.js +0 -221
- package/src/libs/renderer/src/perf/index.d.ts +0 -2
- package/src/libs/renderer/src/perf/index.js +0 -7
- package/src/libs/renderer/src/perf/perf-hud.d.ts +0 -46
- package/src/libs/renderer/src/perf/perf-hud.js +0 -105
- package/src/libs/renderer/src/perf/quality-governor.d.ts +0 -77
- package/src/libs/renderer/src/perf/quality-governor.js +0 -154
- package/src/libs/renderer/src/platform/index.d.ts +0 -1
- package/src/libs/renderer/src/platform/index.js +0 -5
- package/src/libs/renderer/src/platform/platform.d.ts +0 -34
- package/src/libs/renderer/src/platform/platform.js +0 -64
- package/src/libs/renderer/src/presence/bind-presence.d.ts +0 -51
- package/src/libs/renderer/src/presence/bind-presence.js +0 -144
- package/src/libs/renderer/src/presence/index.d.ts +0 -4
- package/src/libs/renderer/src/presence/index.js +0 -18
- package/src/libs/renderer/src/presence/presence-overlay.d.ts +0 -121
- package/src/libs/renderer/src/presence/presence-overlay.js +0 -465
- package/src/libs/renderer/src/presentation/index.d.ts +0 -3
- package/src/libs/renderer/src/presentation/index.js +0 -14
- package/src/libs/renderer/src/presentation/presentation.d.ts +0 -94
- package/src/libs/renderer/src/presentation/presentation.js +0 -158
- package/src/libs/renderer/src/presentation/viewport-channel.d.ts +0 -78
- package/src/libs/renderer/src/presentation/viewport-channel.js +0 -86
- package/src/libs/renderer/src/services/animation-lifecycle.d.ts +0 -153
- package/src/libs/renderer/src/services/animation-lifecycle.js +0 -326
- package/src/libs/renderer/src/services/animation-performance.service.d.ts +0 -191
- package/src/libs/renderer/src/services/animation-performance.service.js +0 -371
- package/src/libs/renderer/src/services/animation-sequencer.d.ts +0 -226
- package/src/libs/renderer/src/services/animation-sequencer.js +0 -379
- package/src/libs/renderer/src/services/animation.service.d.ts +0 -182
- package/src/libs/renderer/src/services/animation.service.js +0 -858
- package/src/libs/renderer/src/services/custom-animation-registry.d.ts +0 -182
- package/src/libs/renderer/src/services/custom-animation-registry.js +0 -361
- package/src/libs/renderer/src/ssr/index.d.ts +0 -1
- package/src/libs/renderer/src/ssr/index.js +0 -6
- package/src/libs/renderer/src/ssr/render-to-static.d.ts +0 -91
- package/src/libs/renderer/src/ssr/render-to-static.js +0 -81
- package/src/libs/renderer/src/svg/ArrowRenderer.d.ts +0 -159
- package/src/libs/renderer/src/svg/ArrowRenderer.js +0 -723
- package/src/libs/renderer/src/svg/JumpPointDetector.d.ts +0 -79
- package/src/libs/renderer/src/svg/JumpPointDetector.js +0 -176
- package/src/libs/renderer/src/svg/JumpPointRenderer.d.ts +0 -59
- package/src/libs/renderer/src/svg/JumpPointRenderer.js +0 -309
- package/src/libs/renderer/src/svg/LabelRenderer.d.ts +0 -76
- package/src/libs/renderer/src/svg/LabelRenderer.js +0 -273
- package/src/libs/renderer/src/svg/auto-size.d.ts +0 -76
- package/src/libs/renderer/src/svg/auto-size.js +0 -142
- package/src/libs/renderer/src/svg/channel-nudging.d.ts +0 -34
- package/src/libs/renderer/src/svg/channel-nudging.js +0 -226
- package/src/libs/renderer/src/svg/edge-optimizer.d.ts +0 -228
- package/src/libs/renderer/src/svg/edge-optimizer.js +0 -606
- package/src/libs/renderer/src/svg/edge-templates.d.ts +0 -152
- package/src/libs/renderer/src/svg/edge-templates.js +0 -233
- package/src/libs/renderer/src/svg/html-node.d.ts +0 -50
- package/src/libs/renderer/src/svg/html-node.js +0 -214
- package/src/libs/renderer/src/svg/index.d.ts +0 -25
- package/src/libs/renderer/src/svg/index.js +0 -32
- package/src/libs/renderer/src/svg/link-fanout.d.ts +0 -127
- package/src/libs/renderer/src/svg/link-fanout.js +0 -333
- package/src/libs/renderer/src/svg/link-hit-test.d.ts +0 -142
- package/src/libs/renderer/src/svg/link-hit-test.js +0 -182
- package/src/libs/renderer/src/svg/motion-tracker.d.ts +0 -18
- package/src/libs/renderer/src/svg/motion-tracker.js +0 -71
- package/src/libs/renderer/src/svg/node-sizing.d.ts +0 -51
- package/src/libs/renderer/src/svg/node-sizing.js +0 -65
- package/src/libs/renderer/src/svg/node-toolbar.d.ts +0 -30
- package/src/libs/renderer/src/svg/node-toolbar.js +0 -45
- package/src/libs/renderer/src/svg/notation-shapes.d.ts +0 -2
- package/src/libs/renderer/src/svg/notation-shapes.js +0 -126
- package/src/libs/renderer/src/svg/paint-servers.d.ts +0 -49
- package/src/libs/renderer/src/svg/paint-servers.js +0 -225
- package/src/libs/renderer/src/svg/panel.d.ts +0 -115
- package/src/libs/renderer/src/svg/panel.js +0 -353
- package/src/libs/renderer/src/svg/path-outline.d.ts +0 -35
- package/src/libs/renderer/src/svg/path-outline.js +0 -134
- package/src/libs/renderer/src/svg/port-glyph.d.ts +0 -27
- package/src/libs/renderer/src/svg/port-glyph.js +0 -97
- package/src/libs/renderer/src/svg/port-label.d.ts +0 -74
- package/src/libs/renderer/src/svg/port-label.js +0 -201
- package/src/libs/renderer/src/svg/port-layout.d.ts +0 -50
- package/src/libs/renderer/src/svg/port-layout.js +0 -212
- package/src/libs/renderer/src/svg/port-positioning.d.ts +0 -33
- package/src/libs/renderer/src/svg/port-positioning.js +0 -101
- package/src/libs/renderer/src/svg/port-spots.d.ts +0 -69
- package/src/libs/renderer/src/svg/port-spots.js +0 -154
- package/src/libs/renderer/src/svg/route-memo.d.ts +0 -63
- package/src/libs/renderer/src/svg/route-memo.js +0 -206
- package/src/libs/renderer/src/svg/route-solver-bridge.d.ts +0 -48
- package/src/libs/renderer/src/svg/route-solver-bridge.js +0 -151
- package/src/libs/renderer/src/svg/shape-registry.d.ts +0 -189
- package/src/libs/renderer/src/svg/shape-registry.js +0 -1104
- package/src/libs/renderer/src/svg/stroke-layer.d.ts +0 -36
- package/src/libs/renderer/src/svg/stroke-layer.js +0 -183
- package/src/libs/renderer/src/svg/svg-renderer.d.ts +0 -1737
- package/src/libs/renderer/src/svg/svg-renderer.js +0 -7772
- package/src/libs/renderer/src/svg/text-block.d.ts +0 -54
- package/src/libs/renderer/src/svg/text-block.js +0 -171
- package/src/libs/renderer/src/themes/color-mode.d.ts +0 -81
- package/src/libs/renderer/src/themes/color-mode.js +0 -158
- package/src/libs/renderer/src/themes/contrast.d.ts +0 -67
- package/src/libs/renderer/src/themes/contrast.js +0 -215
- package/src/libs/renderer/src/themes/default-dark-theme.d.ts +0 -6
- package/src/libs/renderer/src/themes/default-dark-theme.js +0 -126
- package/src/libs/renderer/src/themes/default-light-theme.d.ts +0 -6
- package/src/libs/renderer/src/themes/default-light-theme.js +0 -168
- package/src/libs/renderer/src/themes/default-theme-set.d.ts +0 -10
- package/src/libs/renderer/src/themes/default-theme-set.js +0 -25
- package/src/libs/renderer/src/themes/high-contrast-theme.d.ts +0 -5
- package/src/libs/renderer/src/themes/high-contrast-theme.js +0 -170
- package/src/libs/renderer/src/themes/index.d.ts +0 -22
- package/src/libs/renderer/src/themes/index.js +0 -93
- package/src/libs/renderer/src/themes/style-cascade.d.ts +0 -23
- package/src/libs/renderer/src/themes/style-cascade.js +0 -194
- package/src/libs/renderer/src/themes/style-registry.d.ts +0 -40
- package/src/libs/renderer/src/themes/style-registry.js +0 -129
- package/src/libs/renderer/src/themes/theme-a11y.d.ts +0 -65
- package/src/libs/renderer/src/themes/theme-a11y.js +0 -256
- package/src/libs/renderer/src/themes/theme-css.d.ts +0 -30
- package/src/libs/renderer/src/themes/theme-css.js +0 -304
- package/src/libs/renderer/src/themes/theme-ref.d.ts +0 -63
- package/src/libs/renderer/src/themes/theme-ref.js +0 -206
- package/src/libs/renderer/src/themes/theme-vars.d.ts +0 -49
- package/src/libs/renderer/src/themes/theme-vars.js +0 -112
- package/src/libs/renderer/src/themes/token-bridge.d.ts +0 -62
- package/src/libs/renderer/src/themes/token-bridge.js +0 -354
- package/src/libs/renderer/src/types/geometry.types.d.ts +0 -10
- package/src/libs/renderer/src/types/geometry.types.js +0 -3
- package/src/libs/renderer/src/types/index.d.ts +0 -5
- package/src/libs/renderer/src/types/index.js +0 -14
- package/src/libs/renderer/src/types/property-schema/conditions.d.ts +0 -96
- package/src/libs/renderer/src/types/property-schema/conditions.js +0 -8
- package/src/libs/renderer/src/types/property-schema/editor-types.d.ts +0 -310
- package/src/libs/renderer/src/types/property-schema/editor-types.js +0 -8
- package/src/libs/renderer/src/types/property-schema/groups.d.ts +0 -58
- package/src/libs/renderer/src/types/property-schema/groups.js +0 -8
- package/src/libs/renderer/src/types/property-schema/index.d.ts +0 -101
- package/src/libs/renderer/src/types/property-schema/index.js +0 -98
- package/src/libs/renderer/src/types/property-schema/property-definition.d.ts +0 -117
- package/src/libs/renderer/src/types/property-schema/property-definition.js +0 -8
- package/src/libs/renderer/src/types/property-schema/schema.d.ts +0 -108
- package/src/libs/renderer/src/types/property-schema/schema.js +0 -8
- package/src/libs/renderer/src/types/property-schema/validation.d.ts +0 -181
- package/src/libs/renderer/src/types/property-schema/validation.js +0 -8
- package/src/libs/renderer/src/types/renderer.interface.d.ts +0 -623
- package/src/libs/renderer/src/types/renderer.interface.js +0 -3
- package/src/libs/renderer/src/types/theme.types.d.ts +0 -305
- package/src/libs/renderer/src/types/theme.types.js +0 -3
- package/src/libs/renderer/src/types/vnode.types.d.ts +0 -139
- package/src/libs/renderer/src/types/vnode.types.js +0 -3
- package/src/libs/renderer/src/utils/animation-presets.d.ts +0 -310
- package/src/libs/renderer/src/utils/animation-presets.js +0 -406
- package/src/libs/renderer/src/utils/animation-priority.d.ts +0 -118
- package/src/libs/renderer/src/utils/animation-priority.js +0 -258
- package/src/libs/renderer/src/utils/animation-utils.d.ts +0 -159
- package/src/libs/renderer/src/utils/animation-utils.js +0 -323
- package/src/libs/renderer/src/utils/lru-cache.d.ts +0 -34
- package/src/libs/renderer/src/utils/lru-cache.js +0 -72
- package/src/libs/renderer/src/viewport/index.d.ts +0 -1
- package/src/libs/renderer/src/viewport/index.js +0 -6
- package/src/libs/renderer/src/viewport/viewport-controller.d.ts +0 -198
- package/src/libs/renderer/src/viewport/viewport-controller.js +0 -315
- package/src/libs/renderer/src/vnode/container-id-generator.d.ts +0 -94
- package/src/libs/renderer/src/vnode/container-id-generator.js +0 -110
- package/src/libs/renderer/src/vnode/foreign-object.d.ts +0 -157
- package/src/libs/renderer/src/vnode/foreign-object.js +0 -167
- package/src/libs/renderer/src/vnode/index.d.ts +0 -56
- package/src/libs/renderer/src/vnode/index.js +0 -78
- package/src/libs/renderer/src/vnode/patch.d.ts +0 -189
- package/src/libs/renderer/src/vnode/patch.js +0 -564
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { DiagramModel } from '../models/DiagramModel';
|
|
2
|
-
import { type Op } from './op';
|
|
3
|
-
/**
|
|
4
|
-
* An append-only, totally-ordered, de-duplicating op log.
|
|
5
|
-
*
|
|
6
|
-
* Kept SORTED rather than merely appended, because "the order ops arrived in" is a
|
|
7
|
-
* property of the network and "the order ops apply in" must not be.
|
|
8
|
-
*/
|
|
9
|
-
export declare class OpLog {
|
|
10
|
-
private readonly ops;
|
|
11
|
-
private readonly seen;
|
|
12
|
-
/**
|
|
13
|
-
* Add an op. Returns false if it was already present.
|
|
14
|
-
*
|
|
15
|
-
* Idempotence is not a nicety here: every real transport redelivers (a WebSocket
|
|
16
|
-
* reconnect replays, a peer re-sends on timeout, two peers relay the same op to each
|
|
17
|
-
* other). An op log that applied a duplicate `add` twice, or double-counted a move,
|
|
18
|
-
* would diverge on nothing more exotic than a flaky wifi connection.
|
|
19
|
-
*/
|
|
20
|
-
append(op: Op): boolean;
|
|
21
|
-
appendAll(ops: Iterable<Op>): Op[];
|
|
22
|
-
has(op: Op): boolean;
|
|
23
|
-
/** The ops, in total order. */
|
|
24
|
-
toArray(): readonly Op[];
|
|
25
|
-
get size(): number;
|
|
26
|
-
/** Ops strictly after `clock` — the tail a peer needs to catch up. */
|
|
27
|
-
since(clock: number): Op[];
|
|
28
|
-
/** The highest clock in the log — what a peer should observe on catch-up. */
|
|
29
|
-
maxClock(): number;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Replay an ordered log into a diagram.
|
|
33
|
-
*
|
|
34
|
-
* Sorts defensively rather than trusting the caller: replay determinism is the property
|
|
35
|
-
* every later card stands on, and it would be silly to lose it because someone handed us
|
|
36
|
-
* an array in arrival order.
|
|
37
|
-
*
|
|
38
|
-
* Card 4: and it ENFORCES THE INVARIANT at the end, because a peer that joins by replaying
|
|
39
|
-
* a log must arrive exactly where a peer that was in the room the whole time already is. If
|
|
40
|
-
* integrity only ran in `Replica.receive()`, a log containing "delete a node that had links"
|
|
41
|
-
* would replay into a document with a dangling link, and the newcomer would be the only one
|
|
42
|
-
* holding it. One sweep, once, over the final state — the invariant is a function of that
|
|
43
|
-
* state and of nothing on the way to it.
|
|
44
|
-
*
|
|
45
|
-
* NOTE this is the DOCUMENT, not a live peer: the quarantine it builds is discarded with the
|
|
46
|
-
* temporary registry. A peer that intends to go on editing should be seeded through
|
|
47
|
-
* `Replica.receive(history)`, which keeps it — and can therefore still bring an orphaned
|
|
48
|
-
* link back if someone undoes the delete.
|
|
49
|
-
*/
|
|
50
|
-
export declare function replay(diagram: DiagramModel, ops: readonly Op[]): number;
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Wave 9 — Card 0: the log itself, and deterministic replay.
|
|
3
|
-
//
|
|
4
|
-
// ---------------------------------------------------------------------------
|
|
5
|
-
// CONVERGENCE, AND WHAT THIS FILE DOES *NOT* CLAIM
|
|
6
|
-
// ---------------------------------------------------------------------------
|
|
7
|
-
//
|
|
8
|
-
// Card 0 is the substrate: a totally-ordered, replayable log. The merge SEMANTICS
|
|
9
|
-
// (Card 4) build on it. It is worth being exact about what is already guaranteed here,
|
|
10
|
-
// because "we have an op log" is the kind of sentence that quietly gets read as "we
|
|
11
|
-
// have collaboration", and the gap between those is where the silent data loss lives.
|
|
12
|
-
//
|
|
13
|
-
// WHAT IS GUARANTEED HERE:
|
|
14
|
-
// • A TOTAL ORDER on ops — (lamport clock, actor id) — identical on every peer.
|
|
15
|
-
// • DETERMINISTIC REPLAY: same start state + same ordered log ⇒ byte-identical
|
|
16
|
-
// diagram, on any peer, any number of times.
|
|
17
|
-
// • IDEMPOTENCE: the same op delivered twice is applied once (opId dedupe), because
|
|
18
|
-
// any real transport will duplicate.
|
|
19
|
-
//
|
|
20
|
-
// WHAT THAT ALREADY BUYS YOU, WITHOUT ANY CRDT MACHINERY: because every peer sorts the
|
|
21
|
-
// same ops into the same sequence and the reducer is deterministic, two peers that have
|
|
22
|
-
// seen the SAME SET of ops hold the SAME diagram — regardless of the order those ops
|
|
23
|
-
// ARRIVED in. That is convergence for the property-register case, and it falls out of
|
|
24
|
-
// the total order rather than being bolted on.
|
|
25
|
-
//
|
|
26
|
-
// The reason it works is the design decision in op.ts: ops are PER-PROPERTY. `set(n1,
|
|
27
|
-
// position)` and `set(n1, metadata.label)` are different registers, so a concurrent
|
|
28
|
-
// move and rename BOTH survive. The engine's existing DiagramIncremental could never do
|
|
29
|
-
// this — it reports `modified: [<the whole node>]`, so whole-entity last-writer-wins
|
|
30
|
-
// silently throws one of the two edits away.
|
|
31
|
-
//
|
|
32
|
-
// WHAT IS *NOT* SETTLED HERE, and belongs to Card 4:
|
|
33
|
-
// • ADD/REMOVE RACES. Right now presence is decided by the last op on that id in the
|
|
34
|
-
// total order, which makes it last-writer-wins: a `remove` that sorts after an `add`
|
|
35
|
-
// wins, and vice versa. That is convergent (every peer agrees) but it is not
|
|
36
|
-
// necessarily what a USER wants — the literature prefers an observed-remove set,
|
|
37
|
-
// where a remove only cancels the adds it actually SAW, so a concurrent add
|
|
38
|
-
// survives a delete it never knew about. Choosing between "remove wins" and
|
|
39
|
-
// "add wins" is a product decision with real consequences (delete a node while a
|
|
40
|
-
// colleague is attaching a link to it — what should happen to the link?), and it is
|
|
41
|
-
// Card 4's to make. It is called out here rather than left as an accident.
|
|
42
|
-
// • CAUSAL READINESS. An op for an entity that has not arrived yet is currently
|
|
43
|
-
// DROPPED (applyOp returns false). Under a reliable, ordered transport that cannot
|
|
44
|
-
// happen; under an unreliable one it can, and the op must be BUFFERED until its
|
|
45
|
-
// dependency lands. Also Card 4/5.
|
|
46
|
-
//
|
|
47
|
-
// Saying this out loud costs nothing and prevents the next person from believing the
|
|
48
|
-
// log is a merge engine.
|
|
49
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.OpLog = void 0;
|
|
51
|
-
exports.replay = replay;
|
|
52
|
-
const apply_op_1 = require("./apply-op");
|
|
53
|
-
const integrity_1 = require("./integrity");
|
|
54
|
-
const lww_1 = require("./lww");
|
|
55
|
-
const op_1 = require("./op");
|
|
56
|
-
/**
|
|
57
|
-
* An append-only, totally-ordered, de-duplicating op log.
|
|
58
|
-
*
|
|
59
|
-
* Kept SORTED rather than merely appended, because "the order ops arrived in" is a
|
|
60
|
-
* property of the network and "the order ops apply in" must not be.
|
|
61
|
-
*/
|
|
62
|
-
class OpLog {
|
|
63
|
-
constructor() {
|
|
64
|
-
this.ops = [];
|
|
65
|
-
this.seen = new Set();
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Add an op. Returns false if it was already present.
|
|
69
|
-
*
|
|
70
|
-
* Idempotence is not a nicety here: every real transport redelivers (a WebSocket
|
|
71
|
-
* reconnect replays, a peer re-sends on timeout, two peers relay the same op to each
|
|
72
|
-
* other). An op log that applied a duplicate `add` twice, or double-counted a move,
|
|
73
|
-
* would diverge on nothing more exotic than a flaky wifi connection.
|
|
74
|
-
*/
|
|
75
|
-
append(op) {
|
|
76
|
-
const id = (0, op_1.opId)(op);
|
|
77
|
-
if (this.seen.has(id))
|
|
78
|
-
return false;
|
|
79
|
-
this.seen.add(id);
|
|
80
|
-
// Insert in order. Ops usually arrive nearly-sorted (clocks advance), so a linear
|
|
81
|
-
// scan from the end is O(1) amortised in the common case and correct in the worst.
|
|
82
|
-
let i = this.ops.length;
|
|
83
|
-
while (i > 0 && (0, op_1.compareOps)(this.ops[i - 1], op) > 0)
|
|
84
|
-
i--;
|
|
85
|
-
this.ops.splice(i, 0, op);
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
appendAll(ops) {
|
|
89
|
-
const added = [];
|
|
90
|
-
for (const op of ops)
|
|
91
|
-
if (this.append(op))
|
|
92
|
-
added.push(op);
|
|
93
|
-
return added;
|
|
94
|
-
}
|
|
95
|
-
has(op) {
|
|
96
|
-
return this.seen.has((0, op_1.opId)(op));
|
|
97
|
-
}
|
|
98
|
-
/** The ops, in total order. */
|
|
99
|
-
toArray() {
|
|
100
|
-
return this.ops;
|
|
101
|
-
}
|
|
102
|
-
get size() {
|
|
103
|
-
return this.ops.length;
|
|
104
|
-
}
|
|
105
|
-
/** Ops strictly after `clock` — the tail a peer needs to catch up. */
|
|
106
|
-
since(clock) {
|
|
107
|
-
return this.ops.filter((o) => o.clock > clock);
|
|
108
|
-
}
|
|
109
|
-
/** The highest clock in the log — what a peer should observe on catch-up. */
|
|
110
|
-
maxClock() {
|
|
111
|
-
let max = 0;
|
|
112
|
-
for (const o of this.ops)
|
|
113
|
-
if (o.clock > max)
|
|
114
|
-
max = o.clock;
|
|
115
|
-
return max;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
exports.OpLog = OpLog;
|
|
119
|
-
/**
|
|
120
|
-
* Replay an ordered log into a diagram.
|
|
121
|
-
*
|
|
122
|
-
* Sorts defensively rather than trusting the caller: replay determinism is the property
|
|
123
|
-
* every later card stands on, and it would be silly to lose it because someone handed us
|
|
124
|
-
* an array in arrival order.
|
|
125
|
-
*
|
|
126
|
-
* Card 4: and it ENFORCES THE INVARIANT at the end, because a peer that joins by replaying
|
|
127
|
-
* a log must arrive exactly where a peer that was in the room the whole time already is. If
|
|
128
|
-
* integrity only ran in `Replica.receive()`, a log containing "delete a node that had links"
|
|
129
|
-
* would replay into a document with a dangling link, and the newcomer would be the only one
|
|
130
|
-
* holding it. One sweep, once, over the final state — the invariant is a function of that
|
|
131
|
-
* state and of nothing on the way to it.
|
|
132
|
-
*
|
|
133
|
-
* NOTE this is the DOCUMENT, not a live peer: the quarantine it builds is discarded with the
|
|
134
|
-
* temporary registry. A peer that intends to go on editing should be seeded through
|
|
135
|
-
* `Replica.receive(history)`, which keeps it — and can therefore still bring an orphaned
|
|
136
|
-
* link back if someone undoes the delete.
|
|
137
|
-
*/
|
|
138
|
-
function replay(diagram, ops) {
|
|
139
|
-
const lww = new lww_1.LwwRegistry();
|
|
140
|
-
const integrity = new integrity_1.ReferentialIntegrity(diagram, lww);
|
|
141
|
-
let applied = 0;
|
|
142
|
-
// A REMOTE OP IS NOT A LOCAL USER'S WRITE — it is the document already meaning something
|
|
143
|
-
// new, mirrored from a peer — so the read-only lock (which exists to refuse THIS user's
|
|
144
|
-
// intent) must not block it. Replaying a log into a LOCKED document is exactly how a
|
|
145
|
-
// viewer who joins an already-read-only session catches up; honour the lock here and that
|
|
146
|
-
// viewer receives an empty document and diverges forever. The bypass is scoped to this
|
|
147
|
-
// apply loop only (runSystemWrite is a synchronous try/finally depth counter, and applyOp
|
|
148
|
-
// is fully synchronous) — it never reaches a local edit. See models/readonly-lock.ts and
|
|
149
|
-
// the two remote-apply call sites (here and Replica.receive), the entire allowlist.
|
|
150
|
-
diagram.runSystemWrite(() => {
|
|
151
|
-
for (const op of [...ops].sort(op_1.compareOps)) {
|
|
152
|
-
// The gate's ANSWER is ignored — in TOTAL ORDER it can never refuse anything, because
|
|
153
|
-
// every register is written oldest-first by construction. What we want is its
|
|
154
|
-
// book-keeping: the presence stamps, which are what the canonical entity ORDER is
|
|
155
|
-
// derived from. Without them reconcile() has nothing to sort by and a replayed document
|
|
156
|
-
// would keep the arbitrary order its ops happened to build, while a live peer holds the
|
|
157
|
-
// canonical one. replay() stays the dumb, honest primitive it is documented to be.
|
|
158
|
-
lww.admit(op);
|
|
159
|
-
if ((0, apply_op_1.applyOp)(diagram, op))
|
|
160
|
-
applied++;
|
|
161
|
-
integrity.note(op);
|
|
162
|
-
}
|
|
163
|
-
integrity.reconcile();
|
|
164
|
-
});
|
|
165
|
-
return applied;
|
|
166
|
-
}
|
|
167
|
-
//# sourceMappingURL=op-log.js.map
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import type { SerializedNode } from '../models/NodeModel';
|
|
2
|
-
import type { SerializedLink } from '../models/LinkModel';
|
|
3
|
-
import type { SerializedGroup } from '../models/GroupModel';
|
|
4
|
-
import type { SerializedStroke } from '../models/StrokeModel';
|
|
5
|
-
/** Who made the edit. Stable for the lifetime of a session; distinct per peer. */
|
|
6
|
-
export type ActorId = string;
|
|
7
|
-
/**
|
|
8
|
-
* The entity kinds a diagram is made of, plus the diagram itself.
|
|
9
|
-
*
|
|
10
|
-
* wave10/whiteboard: `stroke` joins the list. Ink is DOCUMENT CONTENT — two people drawing
|
|
11
|
-
* on the same board must converge — so a stroke is a first-class op target, not annotation
|
|
12
|
-
* smuggled through a diagram-level `set`. (It very nearly WAS: `trackChange('strokes', …)`
|
|
13
|
-
* is a diagram-level change event, and without `stroke` in this union the capture layer's
|
|
14
|
-
* fall-through emitted `set(diagram, strokes, <live StrokeModel>)` — a class instance on the
|
|
15
|
-
* wire, claiming the whole collection. See capture.ts / apply-op.ts.)
|
|
16
|
-
*/
|
|
17
|
-
export type OpTarget = 'node' | 'link' | 'group' | 'stroke' | 'diagram';
|
|
18
|
-
/**
|
|
19
|
-
* A property path. Dot-separated for nested registers: 'position', 'size',
|
|
20
|
-
* 'metadata.label', 'state.locked'.
|
|
21
|
-
*
|
|
22
|
-
* THE PATH IS THE REGISTER KEY. Two concurrent writes to the SAME path conflict and
|
|
23
|
-
* are resolved by last-writer-wins; two writes to DIFFERENT paths of the same entity
|
|
24
|
-
* do not conflict at all and both survive. This is the whole point (see the header).
|
|
25
|
-
*/
|
|
26
|
-
export type OpPath = string;
|
|
27
|
-
/** JSON-safe value. Ops must survive a network hop and a disk round-trip. */
|
|
28
|
-
export type OpValue = null | boolean | number | string | OpValue[] | {
|
|
29
|
-
[k: string]: OpValue;
|
|
30
|
-
};
|
|
31
|
-
interface OpBase {
|
|
32
|
-
/**
|
|
33
|
-
* Lamport clock. Causality, NOT wall time. Advances past every clock this actor
|
|
34
|
-
* has observed, so `caused-by` always implies a strictly greater clock.
|
|
35
|
-
*/
|
|
36
|
-
clock: number;
|
|
37
|
-
/** Who. Also the deterministic tiebreak when two ops share a clock. */
|
|
38
|
-
actor: ActorId;
|
|
39
|
-
}
|
|
40
|
-
/** Create an entity. Carries the full serialized form — an add has no prior state to diff against. */
|
|
41
|
-
export interface AddOp extends OpBase {
|
|
42
|
-
op: 'add';
|
|
43
|
-
target: Exclude<OpTarget, 'diagram'>;
|
|
44
|
-
id: string;
|
|
45
|
-
data: SerializedNode | SerializedLink | SerializedGroup | SerializedStroke;
|
|
46
|
-
}
|
|
47
|
-
/** Remove an entity. */
|
|
48
|
-
export interface RemoveOp extends OpBase {
|
|
49
|
-
op: 'remove';
|
|
50
|
-
target: Exclude<OpTarget, 'diagram'>;
|
|
51
|
-
id: string;
|
|
52
|
-
}
|
|
53
|
-
/** Write one property register. The unit of concurrency. */
|
|
54
|
-
export interface SetOp extends OpBase {
|
|
55
|
-
op: 'set';
|
|
56
|
-
target: OpTarget;
|
|
57
|
-
/** '' for the diagram itself, which is a singleton. */
|
|
58
|
-
id: string;
|
|
59
|
-
path: OpPath;
|
|
60
|
-
/**
|
|
61
|
-
* The value the register now holds. ABSENT when the op is a clear.
|
|
62
|
-
*
|
|
63
|
-
* wave14: this used to be required, and clearing a register (deleteMetadata,
|
|
64
|
-
* clearFlexItem) emitted `value: undefined` — which this type forbids and which only
|
|
65
|
-
* crossed the wire because JSON.stringify silently DROPS an undefined key and the
|
|
66
|
-
* peer's apply happened to read missing-as-undefined. A load-bearing accident. Clears
|
|
67
|
-
* are now EXPLICIT (`clear: true`), and `undefined` never appears in an emitted op.
|
|
68
|
-
*/
|
|
69
|
-
value?: OpValue;
|
|
70
|
-
/**
|
|
71
|
-
* Explicitly empty the register: the key is deleted, not set to anything. NOT null —
|
|
72
|
-
* null is a legitimate STORED value (a peer that stores null and a peer that cleared
|
|
73
|
-
* must not converge on the same document), so it cannot double as the clear sentinel.
|
|
74
|
-
*/
|
|
75
|
-
clear?: true;
|
|
76
|
-
}
|
|
77
|
-
export type Op = AddOp | RemoveOp | SetOp;
|
|
78
|
-
/**
|
|
79
|
-
* The value a `set` op writes, with clears normalised to `undefined`.
|
|
80
|
-
*
|
|
81
|
-
* BACK-COMPAT lives here and nowhere else: every log persisted before wave14 encodes a
|
|
82
|
-
* clear as an ABSENT value key (JSON dropped the `undefined`), so `value === undefined`
|
|
83
|
-
* must read as a clear forever — alongside the explicit `clear: true` new ops carry.
|
|
84
|
-
*/
|
|
85
|
-
export declare function setValueOf(op: SetOp): OpValue | undefined;
|
|
86
|
-
/**
|
|
87
|
-
* TOTAL ORDER over ops. Every peer must sort the same log into the same sequence, or
|
|
88
|
-
* "replay converges" is meaningless.
|
|
89
|
-
*
|
|
90
|
-
* (clock, actor) is a total order because clocks are integers and actor ids are
|
|
91
|
-
* distinct strings. The actor tiebreak is arbitrary — it does NOT mean the
|
|
92
|
-
* lexicographically-larger actor is "righter" — but it is the same arbitrary answer
|
|
93
|
-
* on every peer, which is the only thing required.
|
|
94
|
-
*/
|
|
95
|
-
export declare function compareOps(a: Op, b: Op): number;
|
|
96
|
-
/** Identity of an op, for idempotent delivery: the same op received twice is one op. */
|
|
97
|
-
export declare function opId(op: Op): string;
|
|
98
|
-
/**
|
|
99
|
-
* A Lamport clock.
|
|
100
|
-
*
|
|
101
|
-
* `tick()` for a local event. `observe(remoteClock)` on receipt, which jumps this
|
|
102
|
-
* clock past anything the remote had seen — that is what makes the resulting order
|
|
103
|
-
* respect causality across peers rather than merely within one.
|
|
104
|
-
*/
|
|
105
|
-
export declare class LamportClock {
|
|
106
|
-
private readonly actor;
|
|
107
|
-
private value;
|
|
108
|
-
constructor(actor: ActorId, start?: number);
|
|
109
|
-
/** The next clock value for a local event. */
|
|
110
|
-
tick(): number;
|
|
111
|
-
/**
|
|
112
|
-
* Fold in a clock we have just seen. After this, our next tick() is guaranteed to
|
|
113
|
-
* be greater than `seen` — so any op we issue AFTER observing theirs sorts AFTER it,
|
|
114
|
-
* which is exactly the causality guarantee.
|
|
115
|
-
*/
|
|
116
|
-
observe(seen: number): void;
|
|
117
|
-
peek(): number;
|
|
118
|
-
get actorId(): ActorId;
|
|
119
|
-
}
|
|
120
|
-
export {};
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Wave 9 (Collaboration) — Card 0: the operation format.
|
|
3
|
-
//
|
|
4
|
-
// ---------------------------------------------------------------------------
|
|
5
|
-
// WHY THIS IS NOT "PROMOTING THE EXISTING COMMAND STREAM", WHICH IS WHAT THE
|
|
6
|
-
// ROADMAP CARD ASKED FOR
|
|
7
|
-
// ---------------------------------------------------------------------------
|
|
8
|
-
//
|
|
9
|
-
// The card says: promote the existing SerializedCommand/CommandManager stream into
|
|
10
|
-
// a semantic op format. Two things are wrong with that premise, and both change the
|
|
11
|
-
// design:
|
|
12
|
-
//
|
|
13
|
-
// 1. THE COMMAND STREAM IS WRITE-ONLY. Every Command implements serialize(), and
|
|
14
|
-
// there is NO deserializer anywhere in the codebase — not one. You can emit the
|
|
15
|
-
// bytes and nothing on earth can consume them. (The same defect this project has
|
|
16
|
-
// found in every single wave: machinery wired to nothing.)
|
|
17
|
-
//
|
|
18
|
-
// 2. COMMANDS AND THE INCREMENTAL DIFF ARE BOTH WHOLE-ENTITY. AddLinkCommand stores
|
|
19
|
-
// `link.serialize()`; DiagramIncremental reports `modified: [<the whole node>]`.
|
|
20
|
-
// Whole-entity granularity is FATAL for merge, and quietly so: if you drag a node
|
|
21
|
-
// while I rename it, whole-entity last-writer-wins throws one of us away. No
|
|
22
|
-
// error, no conflict — just silently lost work, which is the worst possible
|
|
23
|
-
// failure mode for a collaboration engine.
|
|
24
|
-
//
|
|
25
|
-
// So an op is PER-PROPERTY. `set(node n1, position, {x,y})` and `set(node n1,
|
|
26
|
-
// metadata.label, "Foo")` are different registers and both survive. That single
|
|
27
|
-
// decision is what makes convergence possible at all, and it is why this is a build
|
|
28
|
-
// rather than a promotion.
|
|
29
|
-
//
|
|
30
|
-
// ---------------------------------------------------------------------------
|
|
31
|
-
// TIME
|
|
32
|
-
// ---------------------------------------------------------------------------
|
|
33
|
-
//
|
|
34
|
-
// Command.timestamp is `Date.now()`. A wall clock is useless here and actively
|
|
35
|
-
// dangerous: two peers' clocks disagree, clocks run backwards (NTP, DST, a VM
|
|
36
|
-
// resuming), and "later" in wall time says nothing about causality. We use a LAMPORT
|
|
37
|
-
// clock — a counter that advances past anything it has seen — so `a → b` (a caused b)
|
|
38
|
-
// always implies `clock(a) < clock(b)`.
|
|
39
|
-
//
|
|
40
|
-
// Lamport gives a PARTIAL order; concurrent ops can share a clock value. We need a
|
|
41
|
-
// TOTAL order (so every peer sorts the log identically), so ties break on actor id.
|
|
42
|
-
// That is arbitrary but it is *stable and identical everywhere*, which is the only
|
|
43
|
-
// property that matters.
|
|
44
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
-
exports.LamportClock = void 0;
|
|
46
|
-
exports.setValueOf = setValueOf;
|
|
47
|
-
exports.compareOps = compareOps;
|
|
48
|
-
exports.opId = opId;
|
|
49
|
-
/**
|
|
50
|
-
* The value a `set` op writes, with clears normalised to `undefined`.
|
|
51
|
-
*
|
|
52
|
-
* BACK-COMPAT lives here and nowhere else: every log persisted before wave14 encodes a
|
|
53
|
-
* clear as an ABSENT value key (JSON dropped the `undefined`), so `value === undefined`
|
|
54
|
-
* must read as a clear forever — alongside the explicit `clear: true` new ops carry.
|
|
55
|
-
*/
|
|
56
|
-
function setValueOf(op) {
|
|
57
|
-
return op.clear === true ? undefined : op.value;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* TOTAL ORDER over ops. Every peer must sort the same log into the same sequence, or
|
|
61
|
-
* "replay converges" is meaningless.
|
|
62
|
-
*
|
|
63
|
-
* (clock, actor) is a total order because clocks are integers and actor ids are
|
|
64
|
-
* distinct strings. The actor tiebreak is arbitrary — it does NOT mean the
|
|
65
|
-
* lexicographically-larger actor is "righter" — but it is the same arbitrary answer
|
|
66
|
-
* on every peer, which is the only thing required.
|
|
67
|
-
*/
|
|
68
|
-
function compareOps(a, b) {
|
|
69
|
-
if (a.clock !== b.clock)
|
|
70
|
-
return a.clock - b.clock;
|
|
71
|
-
if (a.actor !== b.actor)
|
|
72
|
-
return a.actor < b.actor ? -1 : 1;
|
|
73
|
-
// Same clock AND same actor: an actor never issues two ops at one clock value
|
|
74
|
-
// (nextClock() increments), so this is unreachable for well-formed logs. Return 0
|
|
75
|
-
// rather than throwing — a corrupt log should degrade, not explode, and the dedupe
|
|
76
|
-
// in OpLog will collapse true duplicates anyway.
|
|
77
|
-
return 0;
|
|
78
|
-
}
|
|
79
|
-
/** Identity of an op, for idempotent delivery: the same op received twice is one op. */
|
|
80
|
-
function opId(op) {
|
|
81
|
-
return `${op.clock}@${op.actor}`;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* A Lamport clock.
|
|
85
|
-
*
|
|
86
|
-
* `tick()` for a local event. `observe(remoteClock)` on receipt, which jumps this
|
|
87
|
-
* clock past anything the remote had seen — that is what makes the resulting order
|
|
88
|
-
* respect causality across peers rather than merely within one.
|
|
89
|
-
*/
|
|
90
|
-
class LamportClock {
|
|
91
|
-
constructor(actor, start = 0) {
|
|
92
|
-
this.actor = actor;
|
|
93
|
-
if (!actor)
|
|
94
|
-
throw new Error('LamportClock requires a non-empty actor id');
|
|
95
|
-
this.value = start;
|
|
96
|
-
}
|
|
97
|
-
/** The next clock value for a local event. */
|
|
98
|
-
tick() {
|
|
99
|
-
return ++this.value;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Fold in a clock we have just seen. After this, our next tick() is guaranteed to
|
|
103
|
-
* be greater than `seen` — so any op we issue AFTER observing theirs sorts AFTER it,
|
|
104
|
-
* which is exactly the causality guarantee.
|
|
105
|
-
*/
|
|
106
|
-
observe(seen) {
|
|
107
|
-
if (seen > this.value)
|
|
108
|
-
this.value = seen;
|
|
109
|
-
}
|
|
110
|
-
peek() {
|
|
111
|
-
return this.value;
|
|
112
|
-
}
|
|
113
|
-
get actorId() {
|
|
114
|
-
return this.actor;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
exports.LamportClock = LamportClock;
|
|
118
|
-
//# sourceMappingURL=op.js.map
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
import { DiagramModel } from '../models/DiagramModel';
|
|
2
|
-
import { OpLog } from './op-log';
|
|
3
|
-
import { type ActorId, type Op } from './op';
|
|
4
|
-
export interface ReplicaOptions {
|
|
5
|
-
/** This peer's identity. MUST be unique across peers — the total order depends on it. */
|
|
6
|
-
actor: ActorId;
|
|
7
|
-
/** Called with each op this peer produces locally. Hand it to a transport (Card 5). */
|
|
8
|
-
onLocalOp?: (op: Op) => void;
|
|
9
|
-
/** Resume the Lamport clock from a persisted tail. */
|
|
10
|
-
startClock?: number;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* One peer.
|
|
14
|
-
*
|
|
15
|
-
* Local edits to `diagram` are captured, appended to `log`, and handed to `onLocalOp`.
|
|
16
|
-
* Remote ops arrive at `receive()`, are de-duplicated, applied, and NOT echoed back.
|
|
17
|
-
*/
|
|
18
|
-
export declare class Replica {
|
|
19
|
-
readonly diagram: DiagramModel;
|
|
20
|
-
private readonly options;
|
|
21
|
-
readonly log: OpLog;
|
|
22
|
-
/**
|
|
23
|
-
* Which write owns each register. THE piece that makes arrival-order application equal
|
|
24
|
-
* to total-order replay — see lww.ts, and the fuzz test that proved it is not optional.
|
|
25
|
-
*/
|
|
26
|
-
private readonly lww;
|
|
27
|
-
private readonly capture;
|
|
28
|
-
private readonly integrity;
|
|
29
|
-
private readonly undoStack;
|
|
30
|
-
/**
|
|
31
|
-
* Per entity, the highest clock of any `set` the log holds for it.
|
|
32
|
-
*
|
|
33
|
-
* The O(1) question "could an `add` that just landed have clobbered a write NEWER than
|
|
34
|
-
* itself?" — see repair(). Without it the answer costs a scan of the whole log on every
|
|
35
|
-
* single `add`, which is a per-node cost paid for a case that almost never arises.
|
|
36
|
-
*/
|
|
37
|
-
private readonly newestSet;
|
|
38
|
-
/**
|
|
39
|
-
* nodeId → the port ids each node had BEFORE the log's first op — i.e. at the moment
|
|
40
|
-
* this replica attached (a snapshot load, or the live document collaboration started
|
|
41
|
-
* on).
|
|
42
|
-
*
|
|
43
|
-
* canonicalizePortOrder() needs it to tell a port ADD from a port UPDATE in the log: a
|
|
44
|
-
* `ports.<id>` value-write is an add only if the port was not already present, and
|
|
45
|
-
* presence has to be simulated from somewhere. For a node whose `add` op is in the log,
|
|
46
|
-
* the op's data is that starting point; for a node that predates the log, this is.
|
|
47
|
-
* Peers that join from the same snapshot record the same sets, so the derivation stays
|
|
48
|
-
* identical everywhere — which is the one property canonical order actually needs.
|
|
49
|
-
*/
|
|
50
|
-
private readonly basePorts;
|
|
51
|
-
constructor(diagram: DiagramModel, options: ReplicaOptions);
|
|
52
|
-
get actor(): ActorId;
|
|
53
|
-
/** The clock to resume from, and the watermark a peer asks us to catch up past. */
|
|
54
|
-
get clock(): number;
|
|
55
|
-
/** Links held out of the document because an endpoint node is missing. See integrity.ts. */
|
|
56
|
-
get quarantinedLinks(): string[];
|
|
57
|
-
get canUndo(): boolean;
|
|
58
|
-
get canRedo(): boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Take ops from a peer.
|
|
61
|
-
*
|
|
62
|
-
* Returns the ops that were actually NEW to us — which is what you forward to other
|
|
63
|
-
* peers in a mesh, and which is exactly nothing when the same batch arrives twice.
|
|
64
|
-
*/
|
|
65
|
-
receive(ops: readonly Op[]): Op[];
|
|
66
|
-
/**
|
|
67
|
-
* UNDO MY LAST EDIT — not the last edit.
|
|
68
|
-
*
|
|
69
|
-
* The per-actor property is structural: capture only ever sees LOCAL mutations (remote
|
|
70
|
-
* ops are applied with capture suppressed), so nothing another peer did can be on this
|
|
71
|
-
* stack to begin with. See undo.ts for what happens when my edit has already been
|
|
72
|
-
* superseded by someone else's — the short version is that it does nothing, on purpose.
|
|
73
|
-
*/
|
|
74
|
-
undo(): Op[];
|
|
75
|
-
redo(): Op[];
|
|
76
|
-
/**
|
|
77
|
-
* Group everything `fn` does into ONE undo step.
|
|
78
|
-
*
|
|
79
|
-
* Deleting a node with three links is four ops and, without this, four presses of Ctrl-Z.
|
|
80
|
-
* Grouping is a LOCAL concern — it changes what one keypress takes back, never what goes
|
|
81
|
-
* on the wire — so two peers may group differently and still converge.
|
|
82
|
-
*/
|
|
83
|
-
transact<T>(fn: () => T): T;
|
|
84
|
-
/** Everything we know, in total order — the catch-up payload for a joining peer. */
|
|
85
|
-
history(): readonly Op[];
|
|
86
|
-
/**
|
|
87
|
-
* Card 1: adopt a persisted op-log tail whose EFFECTS ARE ALREADY IN THE MODEL.
|
|
88
|
-
*
|
|
89
|
-
* This is `receive()`'s quiet twin, and the difference is the whole point. `receive()` is
|
|
90
|
-
* for ops the model has not seen: it applies them. `adopt()` is for reopening a saved
|
|
91
|
-
* document, where the snapshot ALREADY CONTAINS everything the ops did — so it seeds the
|
|
92
|
-
* log (so a duplicate re-delivery is recognised), the LWW stamps (so a straggling older
|
|
93
|
-
* write is still refused after a reload) and the repair index, and applies NOTHING.
|
|
94
|
-
*
|
|
95
|
-
* Re-applying them would be harmless for content — the reducer's redundant-write guard
|
|
96
|
-
* would drop every one — but it would bump every version counter and fire a full repaint
|
|
97
|
-
* for a document that has not changed. Worse, it would make opening a file look like an
|
|
98
|
-
* edit to anyone watching the model's change events.
|
|
99
|
-
*/
|
|
100
|
-
adopt(ops: readonly Op[]): void;
|
|
101
|
-
dispose(): void;
|
|
102
|
-
/** Track the newest `set` the log holds per entity. See repair(). */
|
|
103
|
-
private note;
|
|
104
|
-
/** A local edit: gate it, log it, remember it for undo, broadcast it. */
|
|
105
|
-
private onLocalOp;
|
|
106
|
-
/**
|
|
107
|
-
* Apply an undo's inverse through the model, with capture LIVE — so the op that reaches
|
|
108
|
-
* the log and the wire is minted by the ordinary local-edit path, with a fresh clock.
|
|
109
|
-
*
|
|
110
|
-
* The one thing the undo stack cannot know: the link it is about to act on may be in
|
|
111
|
-
* QUARANTINE, i.e. not in the document at all. `removeLink()` on a link that is not there
|
|
112
|
-
* mutates nothing, so capture mints nothing, so the link's presence register still says
|
|
113
|
-
* "present" — and resurrecting its node would bring back a link the user explicitly took
|
|
114
|
-
* back. Putting it in the document first makes the removal real. reconcile() re-quarantines
|
|
115
|
-
* it afterwards if it is still orphaned.
|
|
116
|
-
*/
|
|
117
|
-
private applyLocalInverse;
|
|
118
|
-
/** A remote op: buffer it, gate it, apply it, repair what it displaced. */
|
|
119
|
-
private applyRemote;
|
|
120
|
-
/**
|
|
121
|
-
* REBUILD AN ENTITY'S REGISTERS FROM THE LOG.
|
|
122
|
-
*
|
|
123
|
-
* An entity's state is not "whatever we applied in the order it arrived". It is:
|
|
124
|
-
*
|
|
125
|
-
* the data of the newest `add` (its current INCARNATION)
|
|
126
|
-
* + every `set` on it that is NEWER than that add
|
|
127
|
-
*
|
|
128
|
-
* Applied in total order that is the same on every peer, whatever the network did — which
|
|
129
|
-
* is the entire claim being made. Applying ops AS THEY ARRIVE computes it correctly only if
|
|
130
|
-
* nothing was lost on the way, and an `add` that lands LATE loses things:
|
|
131
|
-
*
|
|
132
|
-
* Bob holds node C and has been editing it: ports@14, size@15, position@16.
|
|
133
|
-
* Alice, elsewhere, deleted C and pressed Ctrl-Z — remove@10, then add@11 carrying her
|
|
134
|
-
* snapshot of it.
|
|
135
|
-
* Those two reach Bob together, LONG after his own edits.
|
|
136
|
-
*
|
|
137
|
-
* Sorted, Bob applies remove@10 (C goes) then add@11 (C returns, as Alice's snapshot). His
|
|
138
|
-
* own writes at 14, 15, 16 are NEWER than the incarnation — they are not superseded, they
|
|
139
|
-
* are the truth — but they were applied to a C that no longer exists, and their registers
|
|
140
|
-
* are already CLAIMED, so re-delivering them changes nothing. Bob is left holding a C that
|
|
141
|
-
* exists nowhere else in the system, with a log identical to Alice's, and nothing anywhere
|
|
142
|
-
* reports a problem.
|
|
143
|
-
*
|
|
144
|
-
* So after an `add`, the entity is REBUILT: its data, plus every write in the log that is
|
|
145
|
-
* newer than it, in total order. Both peers then compute the same thing from the same log,
|
|
146
|
-
* which is what "converges" was supposed to mean all along.
|
|
147
|
-
*
|
|
148
|
-
* (My first attempt at this only repaired when the add REPLACED a live entity. The fuzz
|
|
149
|
-
* kept failing: in the trace above the remove is applied first, so by the time the add
|
|
150
|
-
* lands there is nothing to replace, and the condition never fired. The question is not
|
|
151
|
-
* "did I overwrite something" — it is "does the log contain writes newer than this
|
|
152
|
-
* incarnation".)
|
|
153
|
-
*
|
|
154
|
-
* Bounded, not blanket: `newestSet` answers that in O(1), so an `add` for something
|
|
155
|
-
* genuinely new — every add, essentially always — costs one map lookup.
|
|
156
|
-
*/
|
|
157
|
-
private repair;
|
|
158
|
-
/**
|
|
159
|
-
* Re-apply the per-port writes a LEGACY whole-collection `ports` op just clobbered.
|
|
160
|
-
*
|
|
161
|
-
* The whole-collection op asserts every port at its own stamp, but a per-port register
|
|
162
|
-
* NEWER than it still owns its port. Applying the log's `ports.*` writes newer than the
|
|
163
|
-
* collection op, in total order, restores exactly those — an add comes back, a newer
|
|
164
|
-
* removal stays removed, a newer edit re-lands. Both delivery orders then compute the
|
|
165
|
-
* same collection, which is what the mixed-history spec drives.
|
|
166
|
-
*/
|
|
167
|
-
private repairPorts;
|
|
168
|
-
/**
|
|
169
|
-
* CANONICAL PORT ORDER — integrity.order()'s argument, one level down.
|
|
170
|
-
*
|
|
171
|
-
* serialize() writes a node's ports in Map insertion order, and order is part of the
|
|
172
|
-
* document (the byte oracle sees it; multi-port sides render by it). With per-port
|
|
173
|
-
* registers, insertion order is a function of ARRIVAL order: two peers that applied
|
|
174
|
-
* concurrent port adds in a different order hold the same ports in a different
|
|
175
|
-
* sequence — same content, byte-different files. So the order is DERIVED from the
|
|
176
|
-
* converged log instead: a port ranks by the stamp of the write that ESTABLISHED its
|
|
177
|
-
* current incarnation (the first surviving value-write after the last clear), which is
|
|
178
|
-
* identical on every peer. Ports that predate the log (the node's add op, a snapshot)
|
|
179
|
-
* have no rank and keep their existing relative order, first — the stable-sort trick
|
|
180
|
-
* integrity uses for the same problem.
|
|
181
|
-
*
|
|
182
|
-
* In the ordinary case — adds with ever-increasing clocks — this reproduces insertion
|
|
183
|
-
* order exactly and rewrites nothing.
|
|
184
|
-
*/
|
|
185
|
-
private canonicalizePortOrder;
|
|
186
|
-
/** An entity of the document, or one integrity is holding aside. */
|
|
187
|
-
private find;
|
|
188
|
-
}
|