@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,939 +0,0 @@
1
- "use strict";
2
- // Wave 9 — Card 0: applyOp(model, op).
3
- //
4
- // The reducer the old command stream never had. `Command.serialize()` exists on every
5
- // command in this codebase and NOTHING can deserialize it — the stream is write-only.
6
- // This file is the other half: given a model and an op, produce the next model state,
7
- // deterministically, with no reference to wall time, no random ids, and no dependence
8
- // on anything outside (model, op).
9
- //
10
- // THE CONTRACT, and every later card leans on it:
11
- //
12
- // Replaying the same ORDERED log from the same start state, on any peer, any
13
- // number of times, yields a BYTE-IDENTICAL diagram. (serialize() equality — not
14
- // "looks the same".)
15
- //
16
- // Two disciplines make that true, and both are easy to lose:
17
- //
18
- // 1. NO AMBIENT INPUT. An op carries everything it needs. If a reducer ever reaches
19
- // for Date.now(), Math.random() or a fresh uuid, replay stops being deterministic
20
- // and every downstream guarantee dies with it. (This engine has been bitten by
21
- // exactly that before: three layout adapters seeded from Math.random(), which
22
- // made layouts untestable and saved diagrams move on reload.)
23
- //
24
- // 2. APPLYING AN OP MUST NOT EMIT AN OP. The capture layer listens to the same model
25
- // mutations this reducer performs. Without a re-entrancy guard, applying a remote
26
- // op would capture it as a *local* op, re-broadcast it, and the two peers would
27
- // ping-pong forever. `applyOps` takes the guard; see OpCapture.
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.OpApplyError = void 0;
30
- exports.applyOp = applyOp;
31
- exports.applyEntitySet = applyEntitySet;
32
- exports.readProp = readProp;
33
- const tslib_1 = require("tslib");
34
- const NodeModel_1 = require("../models/NodeModel");
35
- const LinkModel_1 = require("../models/LinkModel");
36
- const GroupModel_1 = require("../models/GroupModel");
37
- const StrokeModel_1 = require("../models/StrokeModel");
38
- const PortModel_1 = require("../models/PortModel");
39
- const op_1 = require("./op");
40
- /** Thrown only for a MALFORMED op — never for a merely-losing one. */
41
- class OpApplyError extends Error {
42
- constructor(message, op) {
43
- super(message);
44
- this.op = op;
45
- this.name = 'OpApplyError';
46
- }
47
- }
48
- exports.OpApplyError = OpApplyError;
49
- /**
50
- * Write a dotted path into a plain object, creating intermediate objects.
51
- * `metadata.label` → obj.metadata.label.
52
- */
53
- function setPath(obj, path, value) {
54
- const parts = path.split('.');
55
- let cur = obj;
56
- for (let i = 0; i < parts.length - 1; i++) {
57
- const k = parts[i];
58
- const next = cur[k];
59
- if (typeof next !== 'object' || next === null || Array.isArray(next)) {
60
- cur[k] = {};
61
- }
62
- cur = cur[k];
63
- }
64
- cur[parts[parts.length - 1]] = value;
65
- }
66
- /**
67
- * Apply ONE op. Returns true if it changed anything.
68
- *
69
- * A NO-OP IS NOT AN ERROR, and this is load-bearing rather than lenient. In a
70
- * distributed log you will legitimately receive:
71
- * • a `set` on an entity a concurrent `remove` already deleted,
72
- * • a `remove` for something already removed (duplicate delivery, or two peers
73
- * deleting the same node),
74
- * • an `add` for an id that already exists (the same op delivered twice).
75
- * Every one of those is normal traffic, not corruption. Throwing on them would mean a
76
- * single duplicated packet takes down the session. So we IGNORE them and say so by
77
- * returning false — while still throwing loudly on an op that is genuinely malformed
78
- * (unknown kind, missing id), because that IS a bug and hiding it helps nobody.
79
- */
80
- function applyOp(diagram, op) {
81
- switch (op.op) {
82
- case 'add':
83
- return applyAdd(diagram, op.target, op.id, op.data);
84
- case 'remove':
85
- return applyRemove(diagram, op.target, op.id);
86
- case 'set':
87
- return applySet(diagram, op);
88
- default: {
89
- const bad = op;
90
- throw new OpApplyError(`unknown op kind: ${String(bad.op)}`, op);
91
- }
92
- }
93
- }
94
- function applyAdd(diagram, target, id, data) {
95
- if (!id)
96
- throw new OpApplyError('add op has no id', { op: 'add' });
97
- if (!data)
98
- throw new OpApplyError(`add op for ${target} ${id} has no data`, { op: 'add' });
99
- switch (target) {
100
- case 'node': {
101
- const existing = diagram.getNode(id);
102
- if (existing) {
103
- if (sameContent(existing.serialize(), data))
104
- return false; // duplicate delivery
105
- diagram.removeNode(id); // a NEW INCARNATION — see reincarnate() below
106
- }
107
- diagram.addNode(NodeModel_1.NodeModel.fromJSON(data));
108
- return true;
109
- }
110
- case 'link': {
111
- const existing = diagram.getLink(id);
112
- if (existing) {
113
- if (sameContent(existing.serialize(), data))
114
- return false;
115
- diagram.removeLink(id);
116
- }
117
- diagram.addLink(LinkModel_1.LinkModel.fromJSON(data));
118
- return true;
119
- }
120
- case 'group': {
121
- const existing = diagram.getGroup(id);
122
- if (existing) {
123
- if (sameContent(existing.serialize(), data))
124
- return false;
125
- diagram.removeGroup(id);
126
- }
127
- diagram.addGroup(GroupModel_1.GroupModel.fromJSON(data));
128
- return true;
129
- }
130
- case 'stroke': {
131
- // wave10/whiteboard: a stroke `add` is the whole ink, minted once at pointerup. It is
132
- // an INCARNATION like every other add — an already-present stroke is replaced, not
133
- // ignored — so the presence barrier (older writes void) is coherent for ink too.
134
- const existing = diagram.getStroke(id);
135
- if (existing) {
136
- if (sameContent(existing.serialize(), data))
137
- return false;
138
- diagram.removeStroke(id);
139
- }
140
- diagram.addStroke(StrokeModel_1.StrokeModel.fromJSON(data));
141
- return true;
142
- }
143
- }
144
- }
145
- /**
146
- * WHY AN `add` FOR AN ENTITY THAT ALREADY EXISTS REPLACES IT INSTEAD OF BEING IGNORED.
147
- *
148
- * The fuzz found this one and it is the subtlest bug in the wave. It needs a resurrection
149
- * and an out-of-order delivery, which is to say: a Tuesday.
150
- *
151
- * Alice deletes node C → remove C @X
152
- * Alice presses Ctrl-Z → add C @Y, carrying her SNAPSHOT of C
153
- * Bob receives the ADD before the REMOVE (partial delivery — entirely normal)
154
- *
155
- * Bob still has C. The old reducer said "already here: duplicate delivery" and returned
156
- * false, THROWING THE SNAPSHOT AWAY. The gate, meanwhile, had admitted the add and moved
157
- * C's presence stamp to Y — so the presence barrier then refused every write older than Y,
158
- * and Bob's C was frozen in whatever state Bob happened to have it in. When the remove @X
159
- * finally arrived it was refused as superseded, so Bob never rebuilt C either.
160
- *
161
- * Result: Alice's C is her snapshot, Bob's C is a state that exists nowhere else in the
162
- * system, both peers have seen every op, and nothing anywhere reports a problem.
163
- *
164
- * An `add` is not "create if absent". It ESTABLISHES AN INCARNATION: after it, the entity is
165
- * exactly `data`, and (by the presence barrier) every write older than it is void. That is
166
- * the only reading under which the barrier is coherent, and it is order-independent, which
167
- * is the property that actually matters.
168
- *
169
- * Identical content is still a no-op, because a duplicate delivery must not bump `version`
170
- * or fire a re-render — and `version` is precisely what must be ignored when comparing, since
171
- * it is a per-replica mutation counter and two peers legitimately disagree about it.
172
- */
173
- function sameContent(a, b) {
174
- return deepEqual(stripVersion(a), stripVersion(b));
175
- }
176
- function stripVersion(v) {
177
- if (Array.isArray(v))
178
- return v.map(stripVersion);
179
- if (v && typeof v === 'object') {
180
- return Object.fromEntries(Object.entries(v)
181
- .filter(([k]) => k !== 'version')
182
- .map(([k, val]) => [k, stripVersion(val)]));
183
- }
184
- return v;
185
- }
186
- function applyRemove(diagram, target, id) {
187
- switch (target) {
188
- case 'node':
189
- return diagram.removeNode(id) !== undefined;
190
- case 'link':
191
- return diagram.removeLink(id) !== undefined;
192
- case 'group':
193
- return diagram.removeGroup(id) !== undefined;
194
- case 'stroke':
195
- return diagram.removeStroke(id) !== undefined;
196
- }
197
- }
198
- function applySet(diagram, op) {
199
- const { target, id, path } = op;
200
- // Clears are normalised to `undefined` HERE, in one place: an explicit `clear: true`
201
- // (wave14) and an absent value key (every pre-wave14 log — JSON dropped the undefined)
202
- // apply identically. See setValueOf.
203
- const value = (0, op_1.setValueOf)(op);
204
- if (target === 'diagram') {
205
- // The redundant-write guard applies HERE TOO. It did not, and that was a bug: this
206
- // branch used to return before ever reaching the check below, which made the diagram
207
- // the one object in the system where re-applying an identical op still bumped the
208
- // version counter and fired a spurious repaint on every duplicate packet.
209
- if (deepEqual(readDiagramProp(diagram, path), value))
210
- return false;
211
- return setDiagramProp(diagram, path, value);
212
- }
213
- const entity = target === 'node'
214
- ? diagram.getNode(id)
215
- : target === 'link'
216
- ? diagram.getLink(id)
217
- : target === 'group'
218
- ? diagram.getGroup(id)
219
- : diagram.getStroke(id);
220
- // The entity is gone — a concurrent remove won, or this set arrived before its add.
221
- // Dropping the write is correct under remove-wins (see CONVERGENCE in op-log.ts):
222
- // resurrecting an entity from a stray property write would be far worse than losing
223
- // one property write on a node that no longer exists.
224
- //
225
- // Card 4 note: "dropped" is right for a REMOVED entity and WRONG for one that has
226
- // merely not arrived yet, or that referential integrity is holding in quarantine. Those
227
- // two cases are caught ABOVE this function, by the Replica — see integrity.ts. applyOp
228
- // itself stays a pure function of (model, op) and keeps no memory of its own.
229
- if (!entity)
230
- return false;
231
- return applyEntitySet(entity, path, value);
232
- }
233
- /**
234
- * Write one property register of an entity that is ALREADY RESOLVED.
235
- *
236
- * Split out of applySet so that referential integrity can drive the identical write into
237
- * an entity it is holding OUTSIDE the diagram (a link quarantined because its endpoint
238
- * node is gone, see integrity.ts). Same mutators, same idempotence guard, same everything —
239
- * a quarantined entity that took a DIFFERENT write path would drift from a live one, and
240
- * that drift would only surface on resurrection, long after the cause.
241
- */
242
- function applyEntitySet(entity, path, value) {
243
- // A WRITE THAT CHANGES NOTHING MUST DO NOTHING. This is not an optimisation, it is
244
- // what makes applyOp IDEMPOTENT, and idempotence is not optional here: redundant sets
245
- // are ROUTINE traffic (a duplicate delivery, a reconnect replaying the log, a peer
246
- // catching up from a snapshot that already contains the op).
247
- //
248
- // Without this guard, re-applying an identical op still calls setPosition(), which
249
- // bumps `version`, marks the entity dirty and fires a change event — because
250
- // trackChange() compares with `===`, and {x:50,y:120} is never `===` to another
251
- // {x:50,y:120}. So replaying a log twice drifts every version number (caught by the
252
- // byte-identical replay test, which is the entire reason it demands BYTES and not
253
- // "looks the same"), and every duplicate packet would trigger a spurious re-render
254
- // forever.
255
- if (deepEqual(readEntityProp(entity, path), value))
256
- return false;
257
- return setEntityProp(entity, path, value);
258
- }
259
- /** Read the register an op path names. Exported for undo, which needs the value a
260
- * register held before an op overwrote it. */
261
- function readProp(entity, path) {
262
- return readEntityProp(entity, path);
263
- }
264
- /** Read the register an op path names, so we can tell a real write from a redundant one. */
265
- function readEntityProp(entity, path) {
266
- if (path.startsWith('metadata.')) {
267
- return entity.getMetadata(path.slice('metadata.'.length));
268
- }
269
- // A PER-PORT register (wave14): `ports.<portId>` holds one serialized port, minus
270
- // `version` — which is a per-replica mutation counter, excluded from the wire value at
271
- // capture for the same reason the convergence oracle exempts it. Strip it here too, or
272
- // the idempotence guard would compare a local counter against a remote one and never
273
- // fire. An absent port reads as undefined: the register is empty.
274
- if (path.startsWith('ports.') && entity instanceof NodeModel_1.NodeModel) {
275
- const port = entity.getPort(path.slice('ports.'.length));
276
- if (!port)
277
- return undefined;
278
- const _a = port.serialize(), { version: _version } = _a, data = tslib_1.__rest(_a, ["version"]);
279
- return data;
280
- }
281
- // LEGACY: the whole-collection `ports` register. Held as a Map but travels as a
282
- // serialized array — compare like with like, or the idempotence guard never fires and
283
- // every duplicate delivery rebuilds the collection and bumps `version`, which the
284
- // byte-identical replay oracle would then catch.
285
- if (path === 'ports' && entity instanceof NodeModel_1.NodeModel) {
286
- return entity.getPorts().map((p) => p.serialize());
287
- }
288
- // A group's `members` is a Set held in memory and an ARRAY on the wire (serialize()
289
- // writes Array.from(members)) — compare like with like, exactly as `ports` above. Read
290
- // raw, this returns the live Set, and deepEqual(Set, ['n1']) is false for every value
291
- // any op could ever carry: the idempotence guard would never fire, so every duplicate
292
- // delivery would rebuild the collection and bump `version`.
293
- if (path === 'members' && entity instanceof GroupModel_1.GroupModel) {
294
- return [...entity.members];
295
- }
296
- let cur = entity;
297
- for (const part of path.split('.')) {
298
- if (cur === null || typeof cur !== 'object')
299
- return undefined;
300
- cur = cur[part];
301
- }
302
- return cur;
303
- }
304
- /**
305
- * Structural equality over JSON-shaped values.
306
- *
307
- * `undefined` and `null` are NOT the same thing here, and the old `a == b` on the line
308
- * below said they were. `undefined` means THE REGISTER IS EMPTY (a cleared metadata
309
- * key, an absent port); `null` is a VALUE a user can store. Conflating them made the
310
- * idempotence guard drop a peer's `set(metadata.note, null)` as "redundant" against an
311
- * empty register — the value never landed, and only on the RECEIVING side, the one
312
- * place a single-process test never looks. Storing null and clearing must stay
313
- * distinguishable end to end (op.ts's clear is explicit for the same reason).
314
- */
315
- function deepEqual(a, b) {
316
- if (a === b)
317
- return true;
318
- if (a === undefined || b === undefined || a === null || b === null)
319
- return false;
320
- if (typeof a !== 'object' || typeof b !== 'object')
321
- return false;
322
- if (Array.isArray(a) !== Array.isArray(b))
323
- return false;
324
- if (Array.isArray(a) && Array.isArray(b)) {
325
- if (a.length !== b.length)
326
- return false;
327
- return a.every((v, i) => deepEqual(v, b[i]));
328
- }
329
- const ao = a;
330
- const bo = b;
331
- const ak = Object.keys(ao);
332
- const bk = Object.keys(bo);
333
- if (ak.length !== bk.length)
334
- return false;
335
- return ak.every((k) => Object.prototype.hasOwnProperty.call(bo, k) && deepEqual(ao[k], bo[k]));
336
- }
337
- /**
338
- * Property writes go through the model's REAL mutators wherever one exists, and only
339
- * fall back to a generic path write otherwise.
340
- *
341
- * That is deliberate and it matters: setPosition() does not merely assign x/y — it
342
- * updates the spatial index, bumps the version, marks the entity dirty and fires
343
- * change events. A reducer that reached in and assigned `node.position.x = 4` would
344
- * produce a model that *looks* right, serializes right, and is invisible to culling,
345
- * routing and the renderer. It would pass every test in this file and be broken on
346
- * screen.
347
- */
348
- function setEntityProp(entity, path, value) {
349
- // A CLEAR (value normalised to undefined — explicit `clear: true`, or the absent value
350
- // key every old log encodes). The register is EMPTIED, not set to a value: the
351
- // metadata KEY is deleted (a Map that keeps the key with an undefined value only looks
352
- // identical until someone calls `has()` — the receiving side used to diverge exactly
353
- // there), and a cleared port register means the port is REMOVED, through the real
354
- // mutator.
355
- if (value === undefined)
356
- return clearEntityProp(entity, path);
357
- // METADATA IS A Map, NOT AN OBJECT. This is the trap in this file. A generic
358
- // `entity.metadata = {...}` assignment produces a model that serializes correctly,
359
- // passes every replay test, and is quietly broken everywhere else — every
360
- // getMetadata() call in the engine would hit a plain object and return undefined.
361
- // The model's own funnel already speaks this exact vocabulary (setMetadata emits
362
- // trackChange(`metadata.${key}`)), so the op path and the mutator line up 1:1.
363
- if (path.startsWith('metadata.')) {
364
- entity.setMetadata(path.slice('metadata.'.length), structuredClone(value));
365
- return true;
366
- }
367
- // A PER-PORT register (wave14): add if absent, update IN PLACE if present.
368
- //
369
- // THROUGH THE REAL MUTATORS, never a raw field write — node.ports is a Map and the
370
- // original whole-collection bug replaced it with a plain object, after which
371
- // getPorts() returned nothing and serialize() threw. addPort/removePort also emit
372
- // port:added/port:removed, which is what keeps DiagramModel's portIndex current on
373
- // the receiving peer.
374
- //
375
- // IN PLACE matters for a reason that is easy to miss: serialize() writes ports in Map
376
- // insertion order, and order is part of the document. The AUTHOR of a port edit
377
- // mutated the port where it stood; a receiver that did remove+add would move it to
378
- // the end and the two would save byte-different files. (It would also drop the port's
379
- // live connection state, which a rebuilt instance does not carry.)
380
- if (path.startsWith('ports.') && entity instanceof NodeModel_1.NodeModel) {
381
- const portId = path.slice('ports.'.length);
382
- const data = value;
383
- const existing = entity.getPort(portId);
384
- if (!existing) {
385
- // addPort() stamps fresh.nodeId with the owning node's id, and that stamp STANDS —
386
- // see the nodeId note in updatePortInPlace for why apply never writes this field
387
- // from the wire (the fuzz found both wrong answers: seeds 1062 and 33).
388
- entity.addPort(PortModel_1.PortModel.fromJSON(structuredClone(data)));
389
- return true;
390
- }
391
- return updatePortInPlace(existing, data);
392
- }
393
- // A GROUP'S `members` IS A Set — the third collection in this file, and the one that was
394
- // missed. Everything the `metadata` and `ports` comments above warn about happened here,
395
- // in production traffic, on the most ordinary edit a group has:
396
- //
397
- // • `addMember('node-1')` reached writeGeneric, which found no setMembers() and
398
- // ASSIGNED THE RAW WIRE VALUE. The peer's `members` became the STRING 'node-1', and
399
- // serialize()'s Array.from() split it per character: six phantom members
400
- // ['n','o','d','e','-','1'], every one of them a node id that does not exist.
401
- // • `removeMember()` travelled as `null`, so the peer's `members` became null and
402
- // Array.from(null) THREW — the receiving peer could no longer serialize the document
403
- // at all. Save, autosave and every further op broke, on the one peer that made no
404
- // edit.
405
- //
406
- // Both were invisible to the author (their own Set is fine) and to every single-process
407
- // test, which is exactly the shape of bug this file exists to prevent.
408
- //
409
- // THROUGH THE REAL MUTATORS — addMember/removeMember — never a raw Set write. They
410
- // maintain the `parentGroupId` back-pointer that IS the nesting tree (a receiver that
411
- // wrote the Set directly would hold the right membership and the wrong containment
412
- // graph), they emit member:added/member:removed, and they reflow a layout container.
413
- // The one thing they do that a raw write would not is consult `memberValidation` — a
414
- // deliberately non-serialized LOCAL predicate; a peer that installed one has asked for
415
- // candidates to be gated, and gating a remote membership is the same answer it gives a
416
- // local one.
417
- if (entity instanceof GroupModel_1.GroupModel && path === 'members') {
418
- // A non-array is REFUSED rather than read as "no members" — same reasoning as `ports`.
419
- // This also makes the fix safe against LOGS PERSISTED BEFORE IT: a pre-fix op carries
420
- // the bare member id ('node-1') or null, and refusing both leaves the collection alone
421
- // instead of corrupting it, so replaying an old log degrades rather than explodes.
422
- if (!Array.isArray(value))
423
- return false;
424
- const wanted = new Set(value.filter((m) => typeof m === 'string'));
425
- let changed = false;
426
- for (const m of [...entity.members]) {
427
- if (!wanted.has(m)) {
428
- entity.removeMember(m);
429
- changed = true;
430
- }
431
- }
432
- for (const m of wanted) {
433
- if (!entity.members.has(m)) {
434
- entity.addMember(m);
435
- changed = true;
436
- }
437
- }
438
- // Same SET, possibly a different ORDER — and order is in serialize()
439
- // (Array.from(members)), so two peers that converged on the same membership by
440
- // different routes would otherwise save byte-different files. Align with the incoming
441
- // collection, which every peer has. Direct Set surgery, exactly as the `ports` branch
442
- // reorders its Map: this reorders nothing the model considers a change.
443
- //
444
- // Guarded by size: the removal loop leaves members ⊆ wanted and the add loop only adds
445
- // from wanted, so equal sizes here means the two sets are EQUAL — and an addMember the
446
- // group refused (capacity, a cycle, memberValidation) shows up as a size mismatch and
447
- // correctly leaves the order alone.
448
- if (entity.members.size === wanted.size) {
449
- entity.members.clear();
450
- for (const m of wanted)
451
- entity.members.add(m);
452
- }
453
- return changed;
454
- }
455
- if (entity instanceof NodeModel_1.NodeModel) {
456
- switch (path) {
457
- case 'ports': {
458
- // PORTS ARE A Map, exactly like metadata, and exactly as dangerous. There is no
459
- // setPorts() mutator, so writeGeneric would fall through to a direct assignment and
460
- // REPLACE THE Map WITH A PLAIN OBJECT — after which getPorts() returns nothing and
461
- // serialize() throws on ports.values(). Rebuild it the way fromJSON does.
462
- //
463
- // A non-array is REFUSED rather than read as "no ports". `ports` always serializes as
464
- // an array, so a missing value means a bug upstream, and the cost of guessing is a
465
- // node stripped of every port it has and every link into it orphaned — which is
466
- // exactly what an undo of the first port-add used to do.
467
- if (!Array.isArray(value))
468
- return false;
469
- const incoming = value;
470
- const wanted = new Map(incoming.map((p) => [p.id, p]));
471
- // THROUGH THE REAL MUTATORS — addPort/removePort — and NOT by rewriting the Map.
472
- //
473
- // This file's own header says property writes must go through the model's mutators,
474
- // and the first version of this branch broke that rule and paid for it. Rewriting
475
- // `entity.ports` directly produces a node that serializes perfectly and is invisible
476
- // to trackChange — which is to say invisible to CAPTURE. So a peer UNDOING its own
477
- // port-add reverted its screen and BROADCAST NOTHING: every other peer kept the port
478
- // forever. Two documents, identical logs, no error. The fuzz found it as a node with
479
- // seven ports on one peer and six on the other.
480
- //
481
- // Live PortModels are kept where the id already exists: a port carries connection
482
- // state and identity that a rebuilt instance would drop on the floor.
483
- let changed = false;
484
- for (const p of entity.getPorts()) {
485
- if (!wanted.has(p.id)) {
486
- entity.removePort(p.id);
487
- changed = true;
488
- }
489
- }
490
- for (const p of incoming) {
491
- if (!entity.ports.has(p.id)) {
492
- entity.addPort(PortModel_1.PortModel.fromJSON(p));
493
- changed = true;
494
- }
495
- }
496
- // Same SET, possibly a different ORDER — and order is in serialize(). Align it with
497
- // the incoming collection, which every peer has. No mutator, and none wanted: this
498
- // reorders nothing the model considers a change.
499
- if (entity.ports.size === incoming.length) {
500
- const reordered = incoming
501
- .map((p) => entity.ports.get(p.id))
502
- .filter((p) => p !== undefined);
503
- if (reordered.length === incoming.length) {
504
- entity.ports.clear();
505
- for (const p of reordered)
506
- entity.ports.set(p.id, p);
507
- }
508
- }
509
- return changed;
510
- }
511
- case 'position': {
512
- const p = value;
513
- entity.setPosition(p.x, p.y, p.z);
514
- return true;
515
- }
516
- case 'size': {
517
- const s = value;
518
- entity.setSize(s.width, s.height, s.depth);
519
- return true;
520
- }
521
- case 'state':
522
- // REPLACE the durable half, KEEP this viewer's own view half — never merge.
523
- //
524
- // `setState` MERGES, and `state` is a value register: the op carries the whole
525
- // projected object the author now holds. So a peer could gain a key and never
526
- // lose one — `error`, `warning`, `status` and `animateStatus` are optional, so
527
- // the author clears an error badge and every OTHER peer keeps it forever, with
528
- // no later edit able to correct it. Exactly the `style` defect, on the register
529
- // next to it.
530
- //
531
- // It is not a bare wholesale replace either: capture strips the per-viewer keys
532
- // (selected/hovered/highlighted/focused), so the incoming value never carries
533
- // them and replacing wholesale would blank the RECEIVING user's own selection on
534
- // every remote state edit. replaceState() draws exactly that line — including
535
- // why it deliberately does NOT copy setState's read-only filter.
536
- entity.replaceState(structuredClone(value));
537
- return true;
538
- case 'style':
539
- // REPLACE, not merge. `style` is a value register: the op carries the whole
540
- // object the author now holds, so applying it with the merging `setStyle` means
541
- // a peer can gain a key but can NEVER LOSE ONE. Undo a fill and the author goes
542
- // back to plain while every peer keeps the fill — the register is write-only in
543
- // one direction. (Links never had this: they fall through to the generic writer,
544
- // which assigns wholesale. Only the NodeModel branch merged.)
545
- entity.replaceStyle(structuredClone(value));
546
- return true;
547
- }
548
- }
549
- if (entity instanceof LinkModel_1.LinkModel && path === 'points') {
550
- entity.setPoints(structuredClone(value));
551
- return true;
552
- }
553
- // A LINK'S `labels` IS AN ARRAY held behind tracked mutators, and it was the third
554
- // collection to repeat the `members` mistake: addLabel/updateLabel reported the ONE
555
- // label that moved and removeLabel reported `null`, so a peer assigned a bare object
556
- // (or null) over its array and `serialize()` threw — the receiving peer could no longer
557
- // save the document at all. setLabels() is the wholesale tracked write, and it refuses
558
- // the non-array shapes a pre-fix log carries.
559
- if (entity instanceof LinkModel_1.LinkModel && path === 'labels') {
560
- if (!Array.isArray(value))
561
- return false;
562
- entity.setLabels(structuredClone(value));
563
- return true;
564
- }
565
- // A NODE'S `children` AND `classes` ARE Sets — rebuilt through their real mutators, never
566
- // assigned. `children` is serialized, so the bare-string write this replaced turned one
567
- // child id into one phantom child PER CHARACTER.
568
- if (entity instanceof NodeModel_1.NodeModel && (path === 'children' || path === 'classes')) {
569
- if (!Array.isArray(value))
570
- return false;
571
- const ids = structuredClone(value);
572
- if (path === 'children')
573
- entity.setChildren(ids);
574
- else
575
- entity.setClasses(ids);
576
- return true;
577
- }
578
- // A STROKE'S `style`: REPLACE, not merge — setStyle() merges, so a cleared key would
579
- // never clear on a peer. replaceStyle() also keeps the bounds invalidation a plain
580
- // assignment would skip.
581
- if (entity instanceof StrokeModel_1.StrokeModel && path === 'style') {
582
- entity.replaceStyle(structuredClone(value));
583
- return true;
584
- }
585
- return writeGeneric(entity, path, value);
586
- }
587
- /**
588
- * EMPTY a register — the apply half of an explicit clear (and of every old log's
589
- * clear-by-omission).
590
- */
591
- function clearEntityProp(entity, path) {
592
- // The KEY is deleted. setMetadata(key, undefined) — which is what the old
593
- // missing-as-undefined accident amounted to — leaves the key in the Map holding
594
- // undefined: serialize() happens to drop it (JSON), so every byte oracle stayed green,
595
- // but `metadata.has(key)` answered true on the receiver and false on the author.
596
- if (path.startsWith('metadata.')) {
597
- entity.deleteMetadata(path.slice('metadata.'.length));
598
- return true;
599
- }
600
- // A cleared per-port register is the port's REMOVAL — through the real mutator, which
601
- // fires port:removed and keeps the diagram's portIndex honest.
602
- if (path.startsWith('ports.') && entity instanceof NodeModel_1.NodeModel) {
603
- return entity.removePort(path.slice('ports.'.length)) !== undefined;
604
- }
605
- // The legacy whole-collection register is never cleared — no version of capture ever
606
- // emitted that — so a clear here is malformed traffic; refuse it rather than strip a
607
- // node of every port it has on a guess.
608
- if (path === 'ports' && entity instanceof NodeModel_1.NodeModel)
609
- return false;
610
- // Nor is `members`: an emptied group travels as `[]` — a value, not a clear. Refuse a
611
- // clear rather than strip a group of every member it has on a guess. (The pre-fix
612
- // `removeMember` put a literal `null` on the wire, which is a VALUE and is refused one
613
- // level up by the non-array guard in setEntityProp; this is the same refusal for the
614
- // explicit-clear shape.)
615
- if (path === 'members' && entity instanceof GroupModel_1.GroupModel)
616
- return false;
617
- // Generic: empty the slot the way the author's clear did (clearFlexItem assigns
618
- // undefined and fires trackChange; there is no removeFlexConfig mutator to prefer).
619
- //
620
- // AND REPORT IT THROUGH THE FUNNEL — for exactly the reason writeGeneric does. A raw
621
- // `holder[head] = undefined` does not pass trackChange, so an UNDO whose inverse is a
622
- // clear (setFlexItem then undo → clear flexConfig) minted no op and reached no peer:
623
- // measured flexConfig execute → 1 op, undo → 0 ops. clearFlexItem itself fires
624
- // trackChange, but the reducer never calls it — it assigns — so the clear has to report
625
- // on its own.
626
- const [head, ...rest] = path.split('.');
627
- const holder = entity;
628
- if (rest.length === 0) {
629
- const before = holder[head];
630
- holder[head] = undefined;
631
- entity.reportRegisterWrite(path, before, undefined);
632
- return true;
633
- }
634
- const current = holder[head];
635
- const next = typeof current === 'object' && current !== null && !Array.isArray(current)
636
- ? structuredClone(current)
637
- : {};
638
- const before = readEntityProp(entity, path);
639
- setPath(next, rest.join('.'), undefined);
640
- holder[head] = next;
641
- entity.reportRegisterWrite(path, before, undefined);
642
- return true;
643
- }
644
- /**
645
- * Update a LIVE port from its register value, in place.
646
- *
647
- * The live instance is KEPT — it carries connection state and its position in the
648
- * node's ports Map (which is serialize() order, i.e. part of the document) — and its
649
- * fields are brought to the register value. Geometry goes through the port's REAL
650
- * mutators (setPosition/setAlignment/setOffset fire trackChange, which is what lets a
651
- * peer's capture re-emit when this runs under a LIVE capture — the undo path — and what
652
- * keeps renderers listening on the port informed). Registry-backed fields go through
653
- * their mutators for the same reason. The remaining declarative config is plain data
654
- * with no mutator to prefer; it is assigned, cloned, exactly as fromJSON does.
655
- *
656
- * `version` is deliberately untouched: it is a per-replica counter, excluded from the
657
- * wire value at capture, and the mutators below advance it as a real mutation should.
658
- */
659
- function updatePortInPlace(port, data) {
660
- var _a, _b, _c, _d, _e;
661
- let changed = false;
662
- if (!deepEqual(Object.assign({}, port.position), data.position)) {
663
- port.setPosition(structuredClone(data.position));
664
- changed = true;
665
- }
666
- if (!deepEqual(Object.assign({}, port.alignment), data.alignment)) {
667
- port.setAlignment(structuredClone(data.alignment));
668
- changed = true;
669
- }
670
- if (!deepEqual(Object.assign({}, port.offset), data.offset)) {
671
- port.setOffset(structuredClone(data.offset));
672
- changed = true;
673
- }
674
- // AFTER setAlignment, which forces explicitSide=true — the register value decides.
675
- if (port.explicitSide !== (data.explicitSide === true)) {
676
- port.explicitSide = data.explicitSide === true;
677
- changed = true;
678
- }
679
- // allowedTypes is a Set; its mutators are the funnel (and they trackChange).
680
- const wantTypes = new Set((_a = data.allowedTypes) !== null && _a !== void 0 ? _a : []);
681
- for (const t of [...port.allowedTypes]) {
682
- if (!wantTypes.has(t)) {
683
- port.removeAllowedType(t);
684
- changed = true;
685
- }
686
- }
687
- for (const t of wantTypes) {
688
- if (!port.allowedTypes.has(t)) {
689
- port.addAllowedType(t);
690
- changed = true;
691
- }
692
- }
693
- // metadata is a Map — same discipline as every other Map in this file.
694
- const wantMeta = ((_b = data.metadata) !== null && _b !== void 0 ? _b : {});
695
- for (const k of [...port.metadata.keys()]) {
696
- if (!(k in wantMeta)) {
697
- port.deleteMetadata(k);
698
- changed = true;
699
- }
700
- }
701
- for (const [k, v] of Object.entries(wantMeta)) {
702
- if (!deepEqual(port.getMetadata(k), v)) {
703
- port.setMetadata(k, structuredClone(v));
704
- changed = true;
705
- }
706
- }
707
- if (!deepEqual(port.renderingConfig, data.renderingConfig)) {
708
- port.setRenderingConfig(structuredClone(data.renderingConfig));
709
- changed = true;
710
- }
711
- // The serialize() sentinel: null means unlimited (Infinity is not JSON-representable).
712
- const wantMax = data.maxConnections === null || data.maxConnections === undefined
713
- ? Infinity
714
- : data.maxConnections;
715
- if (port.maxConnections !== wantMax) {
716
- port.maxConnections = wantMax;
717
- changed = true;
718
- }
719
- // Declarative config: plain values, assigned as fromJSON assigns them. `undefined`
720
- // incoming means the author UNSET the field, and unset must travel too.
721
- const assign = (key, want) => {
722
- if (deepEqual(port[key], want))
723
- return;
724
- port[key] = typeof want === 'object' && want !== null ? structuredClone(want) : want;
725
- changed = true;
726
- };
727
- // `nodeId` is deliberately NOT written from the wire. It is STRUCTURAL — the engine's
728
- // own invariant is that a port's nodeId is its owning node's id (addPort stamps it,
729
- // initializeDefaultPorts stamps it), and the register path already names the owner.
730
- // The fuzz proved both wrong answers: taking the wire value while the add path let
731
- // addPort stamp the owner diverged the update-path peers from the add-path peers
732
- // (seed 1062), and forcing the wire value onto the add path diverged the UNDO AUTHOR
733
- // from everyone — capture serializes the op inside addPort's trackChange, i.e. AFTER
734
- // the stamp, so the wire said "owner" while the author's model had been reset to the
735
- // wire's stale value (seed 33). The stamp is deterministic on every path; let it stand.
736
- assign('type', data.type);
737
- assign('systemType', data.systemType);
738
- assign('index', (_c = data.index) !== null && _c !== void 0 ? _c : 0);
739
- assign('visible', data.visible);
740
- assign('style', ((_d = data.style) !== null && _d !== void 0 ? _d : {}));
741
- assign('data', ((_e = data.data) !== null && _e !== void 0 ? _e : {}));
742
- assign('group', data.group);
743
- assign('shape', data.shape);
744
- assign('label', data.label);
745
- assign('layout', data.layout);
746
- assign('fromSpot', data.fromSpot);
747
- assign('toSpot', data.toSpot);
748
- assign('spread', data.spread);
749
- assign('dataType', data.dataType);
750
- assign('isConnectableStart', data.isConnectableStart);
751
- assign('isConnectableEnd', data.isConnectableEnd);
752
- assign('fromMaxLinks', data.fromMaxLinks);
753
- assign('toMaxLinks', data.toMaxLinks);
754
- assign('allowSelfLink', data.allowSelfLink);
755
- assign('allowDuplicateLinks', data.allowDuplicateLinks);
756
- assign('dynamic', data.dynamic);
757
- return changed;
758
- }
759
- /**
760
- * Registers whose write MUST go through a named model mutator, and only those.
761
- *
762
- * ---------------------------------------------------------------------------
763
- * WHY THIS IS A LIST AND NOT A NAME LOOKUP
764
- * ---------------------------------------------------------------------------
765
- *
766
- * This used to be `entity['set' + Prop]` — call whatever method the register's name
767
- * happens to spell. That is a GUESS, and it silently assumed every such method is a
768
- * single-argument whole-value writer. Three in this engine are not, and each produced a
769
- * different corruption on the receiving peer and nowhere else:
770
- *
771
- * setData(key, value) called as setData({color:'red'}) → the peer stored a key
772
- * literally named "[object Object]" and NEVER received
773
- * `data` at all. Every setData edit was lost on every peer.
774
- * setScale(x, y) called with the point → peer got {x:{x:2,y:3}}.
775
- * setTransformOrigin(x, y) → peer got {x:{x:0.25,y:0.75}}.
776
- *
777
- * And arity is not the whole test, because a one-argument setter can still be the WRONG
778
- * KIND of write: `setBehavior` and `StrokeModel.setStyle` both MERGE, so applying a value
779
- * register with them let a peer gain a key and never lose one. A guess cannot tell those
780
- * apart from `setRotation`. An explicit list can, and it makes each decision reviewable
781
- * instead of emergent — the same reason the read-only lock keeps its bypass greppable.
782
- *
783
- * The rule for admission: the method takes the register's value as its ONE argument and
784
- * writes it WHOLESALE. Everything else falls through to the tracked assignment below,
785
- * which is wholesale by construction.
786
- */
787
- const REGISTER_MUTATORS = {
788
- // NodeModel — position/size/state/style/ports/metadata are handled upstream.
789
- node: new Set([
790
- 'rotation', // setRotation(degrees)
791
- 'zIndex', // setZIndex(z)
792
- 'portRenderingConfig', // setPortRenderingConfig(config)
793
- 'dragHandlerConfig', // setDragHandlerConfig(config)
794
- 'connectionGroup', // setConnectionGroup(group)
795
- ]),
796
- // LinkModel — points/labels/style handled upstream (style has no mutator: wholesale).
797
- link: new Set([
798
- 'pathType', // setPathType(t)
799
- 'router', // setRouter(name)
800
- 'connector', // setConnector(name)
801
- ]),
802
- // GroupModel — members handled upstream.
803
- group: new Set([
804
- 'capacity', // setCapacity(n)
805
- 'collapsedState', // setCollapsedState(state)
806
- 'zIndex', // setZIndex(z)
807
- ]),
808
- // StrokeModel — style handled upstream (it merges).
809
- stroke: new Set([
810
- 'points', // setPoints(points)
811
- 'label', // setLabel(label)
812
- ]),
813
- };
814
- function mutatorKind(entity) {
815
- if (entity instanceof NodeModel_1.NodeModel)
816
- return 'node';
817
- if (entity instanceof LinkModel_1.LinkModel)
818
- return 'link';
819
- if (entity instanceof GroupModel_1.GroupModel)
820
- return 'group';
821
- return 'stroke';
822
- }
823
- /**
824
- * Anything without a dedicated mutator: a link's `style`, `flexConfig`, `parentId`,
825
- * `isCollapsed`, `layoutConfig`, `bounds`, an author's own field.
826
- *
827
- * Uses a real mutator ONLY where {@link REGISTER_MUTATORS} says one exists, because a
828
- * mutator does more than assign — it updates the spatial index, bumps the version, marks
829
- * dirty and emits change events.
830
- *
831
- * ---------------------------------------------------------------------------
832
- * THE ASSIGNMENT FALLBACK REPORTS THROUGH THE FUNNEL, AND THAT IS LOAD-BEARING
833
- * ---------------------------------------------------------------------------
834
- *
835
- * A plain `holder[head] = value` does not pass `trackChange()`. That looked harmless — the
836
- * model is correct afterwards, it serializes correctly, every replay test is green — and
837
- * it silently broke UNDO for every register on this path.
838
- *
839
- * `UndoStack.undo()` applies the inverse THROUGH THE MODEL WITH CAPTURE LIVE and then
840
- * reads back whatever capture minted. No trackChange, no op, and the undo reaches NOBODY:
841
- *
842
- * link style execute → 1 op undo → 0 ops Bob stayed red forever
843
- * flexConfig execute → 1 op undo → 0 ops
844
- * isCollapsed execute → 1 op undo → 0 ops
845
- * position execute → 1 op undo → 1 op ← a real mutator: always worked
846
- *
847
- * That is the `UpdateLinkStyleCommand` defect (style-undo.spec.ts) one layer down, hitting
848
- * every mutator-less register at once, and invisible to the author every time. So the
849
- * assignment path reports what it wrote. `reportRegisterWrite` is DiagramEntity's seam
850
- * onto the one funnel — not a second source of truth.
851
- *
852
- * structuredClone stays, so two entities can never end up aliasing one mutable object — a
853
- * bug that only appears under concurrency and is then almost impossible to find.
854
- */
855
- function writeGeneric(entity, path, value) {
856
- var _a;
857
- const [head, ...rest] = path.split('.');
858
- const holder = entity;
859
- const cloned = structuredClone(value);
860
- const viaMutator = ((_a = REGISTER_MUTATORS[mutatorKind(entity)]) === null || _a === void 0 ? void 0 : _a.has(head)) === true;
861
- if (rest.length === 0) {
862
- if (viaMutator) {
863
- holder[`set${head[0].toUpperCase()}${head.slice(1)}`].call(entity, cloned);
864
- return true;
865
- }
866
- const before = holder[head];
867
- holder[head] = cloned;
868
- entity.reportRegisterWrite(path, before, cloned);
869
- return true;
870
- }
871
- // A DOTTED path (`data.color`): the register is the LEAF, but the field that holds it is
872
- // the head, so the whole holder is rebuilt with the leaf replaced. The change is reported
873
- // under the FULL path — that is the vocabulary capture emitted it with, so an undo of a
874
- // `data.color` edit mints a `data.color` op and not a whole-`data` one.
875
- const current = holder[head];
876
- const next = typeof current === 'object' && current !== null && !Array.isArray(current)
877
- ? structuredClone(current)
878
- : {};
879
- setPath(next, rest.join('.'), cloned);
880
- const before = readEntityProp(entity, path);
881
- holder[head] = next;
882
- entity.reportRegisterWrite(path, before, cloned);
883
- return true;
884
- }
885
- /** Read a diagram-level register, so a redundant write can be recognised as one. */
886
- function readDiagramProp(diagram, path) {
887
- if (path.startsWith('metadata.')) {
888
- return diagram.getMetadata(path.slice('metadata.'.length));
889
- }
890
- let cur = diagram;
891
- for (const part of path.split('.')) {
892
- if (cur === null || typeof cur !== 'object')
893
- return undefined;
894
- cur = cur[part];
895
- }
896
- return cur;
897
- }
898
- function setDiagramProp(diagram, path, value) {
899
- // THE DIAGRAM'S metadata IS A Map TOO — and I wrote the comment above warning about
900
- // exactly this, fixed it for entities, and left the identical bug six lines away. The
901
- // generic branch below would replace the Map with a plain object: getMetadata() returns
902
- // undefined forever after, and serialize()'s Object.fromEntries(this.metadata) breaks.
903
- // Silent, permanent, and it only bites the peer RECEIVING the edit — the one place a
904
- // single-process test can never look.
905
- if (path.startsWith('metadata.')) {
906
- // A clear DELETES the key (see clearEntityProp — the Map must not keep a key
907
- // holding undefined); a value is stored through the mutator.
908
- if (value === undefined)
909
- diagram.deleteMetadata(path.slice('metadata.'.length));
910
- else
911
- diagram.setMetadata(path.slice('metadata.'.length), structuredClone(value));
912
- return true;
913
- }
914
- switch (path) {
915
- case 'name':
916
- // A name is never cleared — no capture path emits that — so a clear here is
917
- // malformed traffic; refuse it rather than store the string "undefined".
918
- if (value === undefined)
919
- return false;
920
- diagram.name = String(value);
921
- return true;
922
- default: {
923
- const holder = diagram;
924
- const [head, ...rest] = path.split('.');
925
- if (rest.length === 0) {
926
- holder[head] = structuredClone(value);
927
- return true;
928
- }
929
- const current = holder[head];
930
- const next = typeof current === 'object' && current !== null && !Array.isArray(current)
931
- ? structuredClone(current)
932
- : {};
933
- setPath(next, rest.join('.'), structuredClone(value));
934
- holder[head] = next;
935
- return true;
936
- }
937
- }
938
- }
939
- //# sourceMappingURL=apply-op.js.map