@grafloria/element 0.3.20 → 0.3.21

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