@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,1092 +0,0 @@
1
- "use strict";
2
- // OrthogonalRouter - Right-angle routing with obstacle avoidance
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.OrthogonalRouter = void 0;
5
- const ObstacleIndex_1 = require("../ObstacleIndex");
6
- /**
7
- * Wave 8 — Card 6. Below this many obstacles a linear scan beats a hash lookup,
8
- * and building an index would cost more than it saves. Above it, the scan is
9
- * what made a one-node drag take 5.5 seconds.
10
- */
11
- const INDEX_THRESHOLD = 24;
12
- /**
13
- * OrthogonalRouter creates paths with only 90-degree angles
14
- * Supports obstacle avoidance using A* on a grid
15
- */
16
- class OrthogonalRouter {
17
- /**
18
- * The index for this obstacle set: the caller's if it prepared one (the
19
- * engine does), otherwise ours. Returns null for a set small enough that
20
- * scanning it is genuinely cheaper.
21
- */
22
- static indexFor(obstacles, provided) {
23
- if (provided)
24
- return provided;
25
- if (obstacles.length < INDEX_THRESHOLD)
26
- return null;
27
- let idx = OrthogonalRouter.indexCache.get(obstacles);
28
- if (!idx) {
29
- idx = new ObstacleIndex_1.ObstacleIndex(obstacles);
30
- OrthogonalRouter.indexCache.set(obstacles, idx);
31
- }
32
- return idx;
33
- }
34
- getName() {
35
- return 'orthogonal';
36
- }
37
- route(request) {
38
- var _a, _b;
39
- const { start, end, obstacles = [], options = {}, sourceDirection, targetDirection } = request;
40
- const index = OrthogonalRouter.indexFor(obstacles, request.obstacleIndex);
41
- // Handle same start and end point
42
- if (start.x === end.x && start.y === end.y) {
43
- return {
44
- points: [{ x: start.x, y: start.y }],
45
- totalLength: 0,
46
- bendCount: 0,
47
- cost: 0,
48
- segments: [],
49
- };
50
- }
51
- const bendCost = (_b = (_a = options.costs) === null || _a === void 0 ? void 0 : _a.bends) !== null && _b !== void 0 ? _b : 10;
52
- // Card 1: an explicit jetty upgrades the stub contract from best-effort to
53
- // GUARANTEED — and lets floating (direction-less) anchors derive exit sides
54
- // from the geometry instead of taking the stub-less midline fallback.
55
- const jetty = options.jetty;
56
- let srcDir = sourceDirection;
57
- let tgtDir = targetDirection;
58
- if (jetty !== undefined) {
59
- if (!srcDir)
60
- srcDir = OrthogonalRouter.deriveExitSide(start, end);
61
- if (!tgtDir)
62
- tgtDir = OrthogonalRouter.deriveExitSide(end, start);
63
- }
64
- // The jetty guarantee holds on WHICHEVER branch produced the route: simple,
65
- // A*-avoidance, or the collision fallback.
66
- const withJetty = (path) => jetty !== undefined ? this.enforceJetty(path, start, end, srcDir, tgtDir, jetty, bendCost) : path;
67
- // SMART ROUTING: Always calculate a simple orthogonal path first
68
- const simplePath = this.simpleOrthogonalRoute(start, end, options.gridSize, bendCost, srcDir, tgtDir, jetty);
69
- // If no obstacles provided, return the simple path
70
- if (obstacles.length === 0) {
71
- return withJetty(simplePath);
72
- }
73
- // Check if the simple path intersects any obstacles
74
- const hasCollision = this.pathIntersectsObstacles(simplePath.points, obstacles, index);
75
- if (!hasCollision) {
76
- // Path is clear, use the simple routing
77
- return withJetty(simplePath);
78
- }
79
- // Path has collisions - use A* pathfinding for obstacle avoidance
80
- if (options.avoidObstacles) {
81
- const avoidancePath = this.avoidObstaclesRoute(start, end, obstacles, options, srcDir, tgtDir, index);
82
- if (avoidancePath) {
83
- return withJetty(avoidancePath);
84
- }
85
- }
86
- // Fallback: return simple path even with collisions
87
- // (visual indicator that routing needs manual waypoints)
88
- return withJetty(simplePath);
89
- }
90
- /**
91
- * Card 1: the exit side a FLOATING anchor should use, derived from where the
92
- * other endpoint is — dominant axis first, ties break horizontal (matching
93
- * the midline fallback's own axis choice, so the derived route agrees with
94
- * what the undirected route would have preferred).
95
- */
96
- static deriveExitSide(from, toward) {
97
- const dx = toward.x - from.x;
98
- const dy = toward.y - from.y;
99
- if (Math.abs(dx) >= Math.abs(dy))
100
- return dx >= 0 ? 'right' : 'left';
101
- return dy >= 0 ? 'bottom' : 'top';
102
- }
103
- /**
104
- * Card 1: guarantee the route leaves/enters PERPENDICULAR to the port side
105
- * for at least `jetty` px before the first/after the last bend.
106
- *
107
- * The simple route's gap logic shrinks stubs on short links (its gapOffset
108
- * clamp), and the A* grid can snap the first elbow closer than the stub — so
109
- * the guarantee is enforced as a post-pass: if the first segment along the
110
- * port direction is shorter than the jetty (or points the wrong way), a stub
111
- * point is inserted at start + dir·jetty and the joint is re-orthogonalised
112
- * by routing the old interior through the stub's far ordinate. Same for the
113
- * target end, mirrored.
114
- */
115
- enforceJetty(path, start, end, sourceDirection, targetDirection, jetty, bendCost) {
116
- if (jetty <= 0 || path.points.length < 2)
117
- return path;
118
- const fixEnd = (pts, anchor, dir) => {
119
- if (!dir || pts.length < 2)
120
- return pts;
121
- const v = dir === 'left' ? { x: -1, y: 0 }
122
- : dir === 'right' ? { x: 1, y: 0 }
123
- : dir === 'top' ? { x: 0, y: -1 }
124
- : { x: 0, y: 1 };
125
- const stub = { x: anchor.x + v.x * jetty, y: anchor.y + v.y * jetty };
126
- const first = pts[0];
127
- const second = pts[1];
128
- // Does the existing first segment already satisfy the contract?
129
- const seg = { x: second.x - first.x, y: second.y - first.y };
130
- const along = seg.x * v.x + seg.y * v.y; // signed length along the port normal
131
- const perpendicular = v.x !== 0 ? seg.y === 0 : seg.x === 0;
132
- if (perpendicular && along >= jetty)
133
- return pts;
134
- // Insert the stub, then re-orthogonalise the joint. Points of the old
135
- // route lying ON the anchor→stub segment are SUBSUMED by the stub, not
136
- // detoured around — otherwise a collinear-but-short stub would rebuild as
137
- // an out-and-back run on the same line, which the collinear merge then
138
- // collapses straight back to the too-short original (the exact failure
139
- // mode the obstacle-avoidance test caught: A* grid-snaps its last elbow
140
- // inside the jetty window).
141
- let rest = pts.slice(1);
142
- const onStubSegment = (q) => {
143
- if (v.x !== 0) {
144
- if (q.y !== anchor.y)
145
- return false;
146
- const t = (q.x - anchor.x) * v.x; // signed distance along the stub
147
- return t >= 0 && t <= jetty;
148
- }
149
- if (q.x !== anchor.x)
150
- return false;
151
- const t = (q.y - anchor.y) * v.y;
152
- return t >= 0 && t <= jetty;
153
- };
154
- // never subsume the far anchor itself — a fully-collinear straight link
155
- // must keep its endpoint.
156
- while (rest.length > 1 && onStubSegment(rest[0]))
157
- rest = rest.slice(1);
158
- const joint = v.x !== 0
159
- ? { x: stub.x, y: rest[0].y } // horizontal stub: drop vertically to the old route
160
- : { x: rest[0].x, y: stub.y }; // vertical stub: run horizontally to the old route
161
- const rebuilt = [first, stub, joint, ...rest];
162
- // Collapse duplicates/collinear runs the insertion may have created.
163
- return this.mergeCollinearPoints(this.removeDuplicatePoints(rebuilt));
164
- };
165
- let pts = fixEnd(path.points.map((p) => (Object.assign({}, p))), start, sourceDirection);
166
- pts = fixEnd(pts.slice().reverse(), end, targetDirection).reverse();
167
- const totalLength = this.calculatePathLength(pts);
168
- const bendCount = Math.max(0, pts.length - 2);
169
- return {
170
- points: pts,
171
- totalLength,
172
- bendCount,
173
- cost: totalLength + bendCount * bendCost,
174
- segments: this.calculateSegments(pts),
175
- };
176
- }
177
- /**
178
- * Simple orthogonal route - exact implementation of React Flow's getSmoothStepPath
179
- * Based on React Flow's smoothstep-edge.ts getPoints() function
180
- * Handles all edge cases: opposite ports, same ports, mixed ports
181
- *
182
- * CRITICAL: The offset determines how far the line moves away from the port
183
- * before making turns. A larger offset creates more spacing from nodes.
184
- */
185
- simpleOrthogonalRoute(start, end, gridSize, bendCost = 10, sourceDirection, targetDirection, jetty) {
186
- // No port directions at all: route through the midline (classic HVH/VHV,
187
- // the React Flow default for undirected points). The gap-point logic below
188
- // assumes port directions and emits stub artifacts without them.
189
- if (!sourceDirection && !targetDirection) {
190
- let pts;
191
- if (start.x === end.x || start.y === end.y) {
192
- pts = [Object.assign({}, start), Object.assign({}, end)];
193
- }
194
- else if (Math.abs(end.x - start.x) >= Math.abs(end.y - start.y)) {
195
- const midX = (start.x + end.x) / 2;
196
- pts = [Object.assign({}, start), { x: midX, y: start.y }, { x: midX, y: end.y }, Object.assign({}, end)];
197
- }
198
- else {
199
- const midY = (start.y + end.y) / 2;
200
- pts = [Object.assign({}, start), { x: start.x, y: midY }, { x: end.x, y: midY }, Object.assign({}, end)];
201
- }
202
- if (gridSize && gridSize > 1) {
203
- // Interior points share one snapped ordinate, so segments stay orthogonal
204
- for (let i = 1; i < pts.length - 1; i++) {
205
- pts[i] = {
206
- x: Math.round(pts[i].x / gridSize) * gridSize,
207
- y: Math.round(pts[i].y / gridSize) * gridSize,
208
- };
209
- }
210
- }
211
- const merged = this.mergeCollinearPoints(this.removeDuplicatePoints(pts));
212
- const totalLength = this.calculatePathLength(merged);
213
- const bendCount = Math.max(0, merged.length - 2);
214
- return {
215
- points: merged,
216
- totalLength,
217
- bendCount,
218
- cost: totalLength + bendCount * bendCost,
219
- segments: this.calculateSegments(merged),
220
- };
221
- }
222
- // CRITICAL OFFSET: This determines the "breathing room" around nodes
223
- // Match React Flow's exact offset value for visual consistency.
224
- // Card 1: an explicit jetty replaces it (enforceJetty then GUARANTEES it).
225
- const offset = jetty !== null && jetty !== void 0 ? jetty : 20;
226
- // Get direction vectors for source and target
227
- const sourceDir = this.getDirectionVector(sourceDirection);
228
- const targetDir = this.getDirectionVector(targetDirection);
229
- // Calculate gapped points (moved away from port in port direction)
230
- const sourceGapped = {
231
- x: start.x + sourceDir.x * offset,
232
- y: start.y + sourceDir.y * offset
233
- };
234
- const targetGapped = {
235
- x: end.x + targetDir.x * offset,
236
- y: end.y + targetDir.y * offset
237
- };
238
- // Determine primary routing direction (React Flow line 86-92)
239
- const dir = this.getRoutingDirection(sourceGapped, sourceDirection, targetGapped);
240
- const dirAccessor = dir.x !== 0 ? 'x' : 'y';
241
- const currDir = dir[dirAccessor];
242
- let points = [];
243
- const sourceGapOffset = { x: 0, y: 0 };
244
- const targetGapOffset = { x: 0, y: 0 };
245
- // React Flow line 107: Check if handles are opposite
246
- if (sourceDir[dirAccessor] * targetDir[dirAccessor] === -1) {
247
- // CASE 1: Opposite handle positions (e.g., Left -> Right, Top -> Bottom)
248
- // Use Z-shape routing with center point
249
- //
250
- // SMART ROUTING: When ports are opposite, we create a "bent" path that routes
251
- // around potential node collisions. The bend happens at the midpoint, creating
252
- // a visual "elbow" that clearly shows the connection path.
253
- let centerX, centerY;
254
- if (dirAccessor === 'x') {
255
- // Horizontal routing (e.g., Left -> Right, Right -> Left)
256
- // CRITICAL FIX: Detect overshoot scenario
257
- // When routing right-to-left but sourceGapped is already to the right of targetGapped,
258
- // using the midpoint would cause the path to overshoot and penetrate the target node.
259
- // Instead, clamp the bend to the source edge to route around the side.
260
- const isOvershooting = (sourceDir.x > 0 && sourceGapped.x > targetGapped.x) ||
261
- (sourceDir.x < 0 && sourceGapped.x < targetGapped.x);
262
- if (isOvershooting) {
263
- // Overshoot detected: Place bend at source edge, not midpoint
264
- // This makes the path exit the source, turn immediately, and route around the side
265
- centerX = sourceGapped.x;
266
- }
267
- else {
268
- // Normal case: Use midpoint
269
- centerX = (sourceGapped.x + targetGapped.x) / 2;
270
- }
271
- // For horizontal routing, we keep Y at source/target levels to create clear steps
272
- centerY = (sourceGapped.y + targetGapped.y) / 2;
273
- }
274
- else {
275
- // Vertical routing (e.g., Top -> Bottom, Bottom -> Top)
276
- // CRITICAL FIX: Detect overshoot scenario for vertical routing
277
- const isOvershooting = (sourceDir.y > 0 && sourceGapped.y > targetGapped.y) ||
278
- (sourceDir.y < 0 && sourceGapped.y < targetGapped.y);
279
- if (isOvershooting) {
280
- // Overshoot detected: Place bend at source edge
281
- centerY = sourceGapped.y;
282
- }
283
- else {
284
- // Normal case: Use midpoint
285
- centerY = (sourceGapped.y + targetGapped.y) / 2;
286
- }
287
- // For vertical routing, we keep X at source/target levels to create clear steps
288
- centerX = (sourceGapped.x + targetGapped.x) / 2;
289
- }
290
- // React Flow lines 123-140: Choose between vertical and horizontal split
291
- // This creates the characteristic "step" pattern
292
- const verticalSplit = [
293
- { x: centerX, y: sourceGapped.y },
294
- { x: centerX, y: targetGapped.y },
295
- ];
296
- const horizontalSplit = [
297
- { x: sourceGapped.x, y: centerY },
298
- { x: targetGapped.x, y: centerY },
299
- ];
300
- if (sourceDir[dirAccessor] === currDir) {
301
- points = dirAccessor === 'x' ? verticalSplit : horizontalSplit;
302
- }
303
- else {
304
- points = dirAccessor === 'x' ? horizontalSplit : verticalSplit;
305
- }
306
- }
307
- else {
308
- // CASE 2: Same or perpendicular handle positions
309
- // Use L-shape routing
310
- // React Flow lines 144-145: Define the two L-shape options
311
- const sourceTarget = [{ x: sourceGapped.x, y: targetGapped.y }];
312
- const targetSource = [{ x: targetGapped.x, y: sourceGapped.y }];
313
- // React Flow lines 147-151: Choose L-shape direction
314
- if (dirAccessor === 'x') {
315
- points = sourceDir.x === currDir ? targetSource : sourceTarget;
316
- }
317
- else {
318
- points = sourceDir.y === currDir ? sourceTarget : targetSource;
319
- }
320
- // React Flow lines 153-165: Handle same position ports that are too close
321
- if (sourceDirection === targetDirection) {
322
- const diff = Math.abs(start[dirAccessor] - end[dirAccessor]);
323
- if (diff <= offset) {
324
- const gapOffset = Math.min(offset - 1, offset - diff);
325
- if (sourceDir[dirAccessor] === currDir) {
326
- sourceGapOffset[dirAccessor] = (sourceGapped[dirAccessor] > start[dirAccessor] ? -1 : 1) * gapOffset;
327
- }
328
- else {
329
- targetGapOffset[dirAccessor] = (targetGapped[dirAccessor] > end[dirAccessor] ? -1 : 1) * gapOffset;
330
- }
331
- }
332
- }
333
- // React Flow lines 168-180: Handle mixed handle positions (e.g., Right -> Bottom)
334
- if (sourceDirection !== targetDirection) {
335
- const dirAccessorOpposite = dirAccessor === 'x' ? 'y' : 'x';
336
- const isSameDir = sourceDir[dirAccessor] === targetDir[dirAccessorOpposite];
337
- const sourceGtTargetOppo = sourceGapped[dirAccessorOpposite] > targetGapped[dirAccessorOpposite];
338
- const sourceLtTargetOppo = sourceGapped[dirAccessorOpposite] < targetGapped[dirAccessorOpposite];
339
- const flipSourceTarget = (sourceDir[dirAccessor] === 1 && ((!isSameDir && sourceGtTargetOppo) || (isSameDir && sourceLtTargetOppo))) ||
340
- (sourceDir[dirAccessor] !== 1 && ((!isSameDir && sourceLtTargetOppo) || (isSameDir && sourceGtTargetOppo)));
341
- if (flipSourceTarget) {
342
- points = dirAccessor === 'x' ? sourceTarget : targetSource;
343
- }
344
- }
345
- }
346
- // Build path points
347
- const sourceGapPoint = { x: sourceGapped.x + sourceGapOffset.x, y: sourceGapped.y + sourceGapOffset.y };
348
- const targetGapPoint = { x: targetGapped.x + targetGapOffset.x, y: targetGapped.y + targetGapOffset.y };
349
- // CRITICAL FIX: Ensure first and last segments are orthogonal
350
- // Check if start->sourceGapPoint creates a diagonal (non-orthogonal) segment
351
- const firstSegmentIsOrthogonal = (start.x === sourceGapPoint.x) || (start.y === sourceGapPoint.y);
352
- const lastSegmentIsOrthogonal = (end.x === targetGapPoint.x) || (end.y === targetGapPoint.y);
353
- // Build path: only include start/end if they create orthogonal segments
354
- const pathPoints = [];
355
- if (firstSegmentIsOrthogonal) {
356
- pathPoints.push(start);
357
- }
358
- pathPoints.push(sourceGapPoint);
359
- pathPoints.push(...points);
360
- pathPoints.push(targetGapPoint);
361
- if (lastSegmentIsOrthogonal) {
362
- pathPoints.push(end);
363
- }
364
- // Snap to grid if specified
365
- // CRITICAL FIX: Do NOT snap the first and last points (port positions)
366
- // Only snap intermediate waypoints to prevent mismatch with port positions
367
- if (gridSize && gridSize > 1) {
368
- pathPoints.forEach((p, index) => {
369
- // Skip first and last points - they must stay at exact port positions
370
- if (index === 0 || index === pathPoints.length - 1) {
371
- return;
372
- }
373
- p.x = Math.round(p.x / gridSize) * gridSize;
374
- p.y = Math.round(p.y / gridSize) * gridSize;
375
- });
376
- // CRITICAL FIX: After grid snapping, ensure first and last segments remain orthogonal
377
- // Grid snapping intermediate points can create diagonal segments with unsnapped endpoints
378
- if (pathPoints.length >= 2) {
379
- // Fix first segment: ensure point[1] is orthogonal to point[0] (start)
380
- const start = pathPoints[0];
381
- const firstIntermediate = pathPoints[1];
382
- const firstIsHorizontal = start.y === firstIntermediate.y;
383
- const firstIsVertical = start.x === firstIntermediate.x;
384
- if (!firstIsHorizontal && !firstIsVertical) {
385
- // Determine which direction to align based on source direction or infer from geometry
386
- let alignedHorizontally = false;
387
- let alignedVertically = false;
388
- if (sourceDirection === 'left' || sourceDirection === 'right') {
389
- // Horizontal port - make first segment horizontal
390
- firstIntermediate.y = start.y;
391
- alignedHorizontally = true;
392
- }
393
- else if (sourceDirection === 'top' || sourceDirection === 'bottom') {
394
- // Vertical port - make first segment vertical
395
- firstIntermediate.x = start.x;
396
- alignedVertically = true;
397
- }
398
- else {
399
- // Direction unknown - infer from start/end relative positions
400
- const deltaX = Math.abs(end.x - start.x);
401
- const deltaY = Math.abs(end.y - start.y);
402
- if (deltaX > deltaY) {
403
- firstIntermediate.y = start.y;
404
- alignedHorizontally = true;
405
- }
406
- else {
407
- firstIntermediate.x = start.x;
408
- alignedVertically = true;
409
- }
410
- }
411
- // CRITICAL FIX: Propagate alignment to all intermediate points (not just first one)
412
- // This fixes the issue where point 2, 3, etc. still have wrong coordinates after grid snap
413
- if (pathPoints.length > 3) {
414
- for (let i = 2; i < pathPoints.length - 1; i++) {
415
- if (alignedHorizontally && pathPoints[i].y !== start.y) {
416
- pathPoints[i].y = start.y;
417
- }
418
- else if (alignedVertically && pathPoints[i].x !== start.x) {
419
- pathPoints[i].x = start.x;
420
- }
421
- }
422
- }
423
- }
424
- // Fix last segment: ensure point[n-2] is orthogonal to point[n-1] (end)
425
- if (pathPoints.length >= 3) {
426
- const end = pathPoints[pathPoints.length - 1];
427
- const lastIntermediate = pathPoints[pathPoints.length - 2];
428
- const lastIsHorizontal = lastIntermediate.y === end.y;
429
- const lastIsVertical = lastIntermediate.x === end.x;
430
- if (!lastIsHorizontal && !lastIsVertical) {
431
- // Determine which direction to align based on target direction or infer from geometry
432
- if (targetDirection === 'left' || targetDirection === 'right') {
433
- // Horizontal port - make last segment horizontal
434
- lastIntermediate.y = end.y;
435
- }
436
- else if (targetDirection === 'top' || targetDirection === 'bottom') {
437
- // Vertical port - make last segment vertical
438
- lastIntermediate.x = end.x;
439
- }
440
- else {
441
- // Direction unknown - infer from start/end relative positions
442
- const deltaX = Math.abs(end.x - start.x);
443
- const deltaY = Math.abs(end.y - start.y);
444
- if (deltaX > deltaY) {
445
- // Endpoints are more horizontally separated - likely horizontal port
446
- lastIntermediate.y = end.y;
447
- }
448
- else {
449
- // Endpoints are more vertically separated - likely vertical port
450
- lastIntermediate.x = end.x;
451
- }
452
- }
453
- }
454
- }
455
- }
456
- }
457
- // Remove duplicate consecutive points, then merge collinear runs — the
458
- // gap-point construction can emit out-and-back stubs (A→B→A) and split
459
- // straight lines into multiple segments
460
- const uniquePoints = this.mergeCollinearPoints(this.removeDuplicatePoints(pathPoints));
461
- const totalLength = this.calculatePathLength(uniquePoints);
462
- const bendCount = uniquePoints.length - 2;
463
- return {
464
- points: uniquePoints,
465
- totalLength,
466
- bendCount: Math.max(0, bendCount),
467
- cost: totalLength + bendCount * bendCost,
468
- segments: this.calculateSegments(uniquePoints),
469
- };
470
- }
471
- /**
472
- * Merge collinear consecutive points. Because the kept path lies on the
473
- * same line the removed points did, this also collapses out-and-back
474
- * excursions (backtracking stubs) without changing route coverage.
475
- */
476
- mergeCollinearPoints(points) {
477
- if (points.length <= 2)
478
- return points;
479
- const out = [points[0]];
480
- for (let i = 1; i < points.length; i++) {
481
- const q = points[i];
482
- while (out.length >= 2) {
483
- const a = out[out.length - 2];
484
- const b = out[out.length - 1];
485
- const cross = (b.x - a.x) * (q.y - b.y) - (b.y - a.y) * (q.x - b.x);
486
- if (Math.abs(cross) < 1e-6)
487
- out.pop();
488
- else
489
- break;
490
- }
491
- const tail = out[out.length - 1];
492
- if (Math.abs(q.x - tail.x) > 1e-9 || Math.abs(q.y - tail.y) > 1e-9) {
493
- out.push(q);
494
- }
495
- }
496
- return out;
497
- }
498
- /**
499
- * Check if we can use a direct straight line between ports
500
- * This happens when ports are aligned and facing each other directly
501
- */
502
- canUseDirectLine(start, end, sourceDirection, targetDirection, _sourceOffset, _targetOffset) {
503
- if (!sourceDirection || !targetDirection)
504
- return false;
505
- const tolerance = 2; // pixels
506
- // Check if horizontally aligned (same Y)
507
- const horizontallyAligned = Math.abs(start.y - end.y) < tolerance;
508
- // Check if vertically aligned (same X)
509
- const verticallyAligned = Math.abs(start.x - end.x) < tolerance;
510
- // For horizontal alignment, ports should face left/right
511
- if (horizontallyAligned) {
512
- const horizontalPorts = ((sourceDirection === 'left' || sourceDirection === 'right') &&
513
- (targetDirection === 'left' || targetDirection === 'right'));
514
- // Check if they face each other
515
- const facingEachOther = ((sourceDirection === 'right' && targetDirection === 'left' && start.x < end.x) ||
516
- (sourceDirection === 'left' && targetDirection === 'right' && start.x > end.x));
517
- return horizontalPorts && facingEachOther;
518
- }
519
- // For vertical alignment, ports should face top/bottom
520
- if (verticallyAligned) {
521
- const verticalPorts = ((sourceDirection === 'top' || sourceDirection === 'bottom') &&
522
- (targetDirection === 'top' || targetDirection === 'bottom'));
523
- // Check if they face each other
524
- const facingEachOther = ((sourceDirection === 'bottom' && targetDirection === 'top' && start.y < end.y) ||
525
- (sourceDirection === 'top' && targetDirection === 'bottom' && start.y > end.y));
526
- return verticalPorts && facingEachOther;
527
- }
528
- return false;
529
- }
530
- /**
531
- * Simplify orthogonal path by removing redundant collinear points
532
- * ONLY removes points that are on the same straight line (horizontal or vertical)
533
- * This preserves proper orthogonal (right-angle) routing
534
- */
535
- simplifyOrthogonalPath(points) {
536
- if (points.length <= 2)
537
- return points;
538
- const simplified = [points[0]];
539
- const tolerance = 0.1; // Very tight tolerance for orthogonal alignment
540
- for (let i = 1; i < points.length - 1; i++) {
541
- const prev = simplified[simplified.length - 1]; // Use last point in simplified array
542
- const curr = points[i];
543
- const next = points[i + 1];
544
- // Check if prev, curr, next are collinear (on same horizontal or vertical line)
545
- const isHorizontalLine = Math.abs(prev.y - curr.y) < tolerance &&
546
- Math.abs(curr.y - next.y) < tolerance;
547
- const isVerticalLine = Math.abs(prev.x - curr.x) < tolerance &&
548
- Math.abs(curr.x - next.x) < tolerance;
549
- // Only skip this point if it's truly collinear (on same straight line)
550
- // This removes redundant intermediate points but keeps all bends
551
- if (!isHorizontalLine && !isVerticalLine) {
552
- simplified.push(curr);
553
- }
554
- }
555
- simplified.push(points[points.length - 1]);
556
- return simplified;
557
- }
558
- /**
559
- * Apply gap offset in the direction the port points
560
- */
561
- applyGapOffset(point, direction, offset) {
562
- if (!direction)
563
- return point;
564
- switch (direction) {
565
- case 'left':
566
- return { x: point.x - offset, y: point.y };
567
- case 'right':
568
- return { x: point.x + offset, y: point.y };
569
- case 'top':
570
- return { x: point.x, y: point.y - offset };
571
- case 'bottom':
572
- return { x: point.x, y: point.y + offset };
573
- }
574
- }
575
- /**
576
- * Get direction vector for a port direction (React Flow style)
577
- */
578
- getDirectionVector(direction) {
579
- if (!direction)
580
- return { x: 0, y: 0 };
581
- switch (direction) {
582
- case 'left':
583
- return { x: -1, y: 0 };
584
- case 'right':
585
- return { x: 1, y: 0 };
586
- case 'top':
587
- return { x: 0, y: -1 };
588
- case 'bottom':
589
- return { x: 0, y: 1 };
590
- }
591
- }
592
- /**
593
- * Determine routing direction based on source/target positions (React Flow logic)
594
- */
595
- getRoutingDirection(source, sourcePosition, target) {
596
- if (!sourcePosition)
597
- return { x: 1, y: 0 };
598
- // For horizontal ports (left/right), determine X direction
599
- if (sourcePosition === 'left' || sourcePosition === 'right') {
600
- return source.x < target.x ? { x: 1, y: 0 } : { x: -1, y: 0 };
601
- }
602
- // For vertical ports (top/bottom), determine Y direction
603
- return source.y < target.y ? { x: 0, y: 1 } : { x: 0, y: -1 };
604
- }
605
- /**
606
- * Determine if we need Z-shape routing (vs L-shape)
607
- * Z-shape is needed when ports point toward each other or in same direction
608
- */
609
- needsZShape(sourceDir, targetDir, sourceOffset, targetOffset) {
610
- if (!sourceDir || !targetDir)
611
- return false;
612
- // Ports pointing opposite directions (toward each other)
613
- const oppositeDirections = ((sourceDir === 'left' && targetDir === 'right') ||
614
- (sourceDir === 'right' && targetDir === 'left') ||
615
- (sourceDir === 'top' && targetDir === 'bottom') ||
616
- (sourceDir === 'bottom' && targetDir === 'top'));
617
- // Ports pointing same direction
618
- const sameDirection = sourceDir === targetDir;
619
- return oppositeDirections || sameDirection;
620
- }
621
- /**
622
- * Calculate L-shape midpoint (one bend)
623
- */
624
- calculateLShapeMidpoint(sourceOffset, targetOffset, sourceDir, targetDir) {
625
- // For L-shape, decide whether to go horizontal-then-vertical or vertical-then-horizontal
626
- // Based on which port direction is dominant
627
- const isSourceHorizontal = sourceDir === 'left' || sourceDir === 'right';
628
- const isTargetHorizontal = targetDir === 'left' || targetDir === 'right';
629
- if (isSourceHorizontal && !isTargetHorizontal) {
630
- // Source is horizontal, target is vertical: horizontal first
631
- return { x: targetOffset.x, y: sourceOffset.y };
632
- }
633
- else if (!isSourceHorizontal && isTargetHorizontal) {
634
- // Source is vertical, target is horizontal: vertical first
635
- return { x: sourceOffset.x, y: targetOffset.y };
636
- }
637
- else {
638
- // Both same orientation - choose based on distance
639
- const dx = Math.abs(targetOffset.x - sourceOffset.x);
640
- const dy = Math.abs(targetOffset.y - sourceOffset.y);
641
- if (dx > dy) {
642
- return { x: targetOffset.x, y: sourceOffset.y };
643
- }
644
- else {
645
- return { x: sourceOffset.x, y: targetOffset.y };
646
- }
647
- }
648
- }
649
- /**
650
- * Calculate Z-shape midpoints (two bends)
651
- */
652
- calculateZShapeMidpoints(sourceOffset, targetOffset, sourceDir, targetDir) {
653
- const isSourceHorizontal = sourceDir === 'left' || sourceDir === 'right';
654
- if (isSourceHorizontal) {
655
- // Horizontal source: H-V-H routing
656
- const midX = (sourceOffset.x + targetOffset.x) / 2;
657
- return [
658
- { x: midX, y: sourceOffset.y },
659
- { x: midX, y: targetOffset.y }
660
- ];
661
- }
662
- else {
663
- // Vertical source: V-H-V routing
664
- const midY = (sourceOffset.y + targetOffset.y) / 2;
665
- return [
666
- { x: sourceOffset.x, y: midY },
667
- { x: targetOffset.x, y: midY }
668
- ];
669
- }
670
- }
671
- /**
672
- * Orthogonal routing with obstacle avoidance using A*
673
- */
674
- avoidObstaclesRoute(start, end, obstacles, options, sourceDirection, targetDirection, index) {
675
- var _a, _b, _c, _d, _e, _f, _g;
676
- const gridSize = (_a = options.gridSize) !== null && _a !== void 0 ? _a : 10;
677
- const margin = (_b = options.obstacleMargin) !== null && _b !== void 0 ? _b : 20; // Margin around obstacles
678
- const maxIterations = (_c = options.maxIterations) !== null && _c !== void 0 ? _c : 10000;
679
- const gapOffset = 30; // Distance to move away from port (must be > margin to clear obstacle boundary)
680
- // Apply gap offset to move away from ports before pathfinding
681
- // This ensures paths don't start/end directly on node borders
682
- const sourceOffset = this.applyGapOffset(start, sourceDirection, gapOffset);
683
- const targetOffset = this.applyGapOffset(end, targetDirection, gapOffset);
684
- // Snap offset points to grid for A* pathfinding
685
- let gridStart = this.snapToGrid(sourceOffset, gridSize);
686
- let gridEnd = this.snapToGrid(targetOffset, gridSize);
687
- // CRITICAL FIX: Validate start/end points are not inside obstacles
688
- // If grid snapping moved them into an obstacle, adjust outward
689
- if (this.collidesWithObstacles(gridStart, obstacles, margin, index)) {
690
- console.debug(`⚠️ Grid start point inside obstacle, adjusting...`);
691
- gridStart = this.findNearestValidPoint(gridStart, sourceDirection, obstacles, margin, gridSize, index);
692
- }
693
- if (this.collidesWithObstacles(gridEnd, obstacles, margin, index)) {
694
- console.debug(`⚠️ Grid end point inside obstacle, adjusting...`);
695
- gridEnd = this.findNearestValidPoint(gridEnd, targetDirection, obstacles, margin, gridSize, index);
696
- }
697
- // Use A* to find path between offset points
698
- const path = this.aStarPathfinding(gridStart, gridEnd, obstacles, gridSize, margin, maxIterations, index);
699
- if (!path || path.length === 0) {
700
- // IMPROVED: Log why pathfinding failed and what we're doing
701
- console.debug(`⚠️ A* pathfinding failed for link routing:`, {
702
- start: gridStart,
703
- end: gridEnd,
704
- obstacleCount: obstacles.length,
705
- gridSize,
706
- margin
707
- });
708
- console.debug(` Falling back to simple orthogonal route (no obstacle avoidance)`);
709
- // Fallback to simple route if pathfinding fails
710
- return this.simpleOrthogonalRoute(start, end, gridSize, (_e = (_d = options.costs) === null || _d === void 0 ? void 0 : _d.bends) !== null && _e !== void 0 ? _e : 10, sourceDirection, targetDirection);
711
- }
712
- // Prepend actual start point and append actual end point
713
- // This ensures the path connects to the exact port positions
714
- const fullPath = [
715
- { x: start.x, y: start.y },
716
- ...path,
717
- { x: end.x, y: end.y }
718
- ];
719
- // Remove duplicate consecutive points
720
- const uniquePath = this.mergeCollinearPoints(this.removeDuplicatePoints(fullPath));
721
- const totalLength = this.calculatePathLength(uniquePath);
722
- const bendCount = this.countBends(uniquePath);
723
- const bendCost = (_g = (_f = options.costs) === null || _f === void 0 ? void 0 : _f.bends) !== null && _g !== void 0 ? _g : 10;
724
- return {
725
- points: uniquePath,
726
- totalLength,
727
- bendCount,
728
- cost: totalLength + bendCount * bendCost,
729
- segments: this.calculateSegments(uniquePath),
730
- };
731
- }
732
- /**
733
- * A* pathfinding on a grid with improved obstacle avoidance
734
- */
735
- aStarPathfinding(start, end, obstacles, gridSize, margin, maxIterations, index) {
736
- var _a, _b, _c;
737
- const openSet = new Set();
738
- const closedSet = new Set();
739
- const cameFrom = new Map();
740
- const gScore = new Map();
741
- const fScore = new Map();
742
- const startKey = this.pointToKey(start);
743
- const endKey = this.pointToKey(end);
744
- openSet.add(startKey);
745
- gScore.set(startKey, 0);
746
- fScore.set(startKey, this.heuristic(start, end));
747
- let iterations = 0;
748
- while (openSet.size > 0 && iterations < maxIterations) {
749
- iterations++;
750
- // Find node with lowest fScore
751
- let currentKey = '';
752
- let lowestF = Infinity;
753
- for (const key of openSet) {
754
- const f = (_a = fScore.get(key)) !== null && _a !== void 0 ? _a : Infinity;
755
- if (f < lowestF) {
756
- lowestF = f;
757
- currentKey = key;
758
- }
759
- }
760
- if (!currentKey)
761
- break;
762
- const current = this.keyToPoint(currentKey);
763
- // Reached goal
764
- if (currentKey === endKey) {
765
- const path = this.reconstructPath(cameFrom, current);
766
- // Simplify the A* path to remove unnecessary waypoints
767
- return this.simplifyOrthogonalPath(path);
768
- }
769
- openSet.delete(currentKey);
770
- closedSet.add(currentKey);
771
- // Check neighbors (4-directional: up, down, left, right)
772
- const neighbors = this.getOrthogonalNeighbors(current, gridSize);
773
- for (const neighbor of neighbors) {
774
- const neighborKey = this.pointToKey(neighbor);
775
- if (closedSet.has(neighborKey))
776
- continue;
777
- // Check if neighbor collides with obstacle
778
- if (this.collidesWithObstacles(neighbor, obstacles, margin, index)) {
779
- closedSet.add(neighborKey);
780
- continue;
781
- }
782
- // Calculate movement cost with penalty for direction changes
783
- let movementCost = gridSize;
784
- // Add bend penalty if direction changed from previous segment
785
- const parent = cameFrom.get(currentKey);
786
- if (parent) {
787
- const prevDir = this.getDirection(parent, current);
788
- const nextDir = this.getDirection(current, neighbor);
789
- if (prevDir !== nextDir) {
790
- movementCost += gridSize * 0.5; // Penalty for bends to favor straighter paths
791
- }
792
- }
793
- const tentativeG = ((_b = gScore.get(currentKey)) !== null && _b !== void 0 ? _b : Infinity) + movementCost;
794
- if (!openSet.has(neighborKey)) {
795
- openSet.add(neighborKey);
796
- }
797
- else if (tentativeG >= ((_c = gScore.get(neighborKey)) !== null && _c !== void 0 ? _c : Infinity)) {
798
- continue;
799
- }
800
- cameFrom.set(neighborKey, current);
801
- gScore.set(neighborKey, tentativeG);
802
- fScore.set(neighborKey, tentativeG + this.heuristic(neighbor, end));
803
- }
804
- }
805
- // No path found
806
- return null;
807
- }
808
- /**
809
- * Reconstruct path from A* came-from map
810
- */
811
- reconstructPath(cameFrom, current) {
812
- const path = [current];
813
- let currentKey = this.pointToKey(current);
814
- while (cameFrom.has(currentKey)) {
815
- const point = cameFrom.get(currentKey);
816
- path.unshift(point);
817
- currentKey = this.pointToKey(point);
818
- }
819
- return path;
820
- }
821
- /**
822
- * Manhattan distance heuristic
823
- */
824
- heuristic(a, b) {
825
- return Math.abs(a.x - b.x) + Math.abs(a.y - b.y);
826
- }
827
- /**
828
- * Get 4-directional orthogonal neighbors
829
- */
830
- getOrthogonalNeighbors(point, gridSize) {
831
- return [
832
- { x: point.x + gridSize, y: point.y }, // Right
833
- { x: point.x - gridSize, y: point.y }, // Left
834
- { x: point.x, y: point.y + gridSize }, // Down
835
- { x: point.x, y: point.y - gridSize }, // Up
836
- ];
837
- }
838
- /**
839
- * Check if point collides with any obstacle
840
- * FIXED: Use inclusive bounds to prevent paths grazing obstacle edges
841
- */
842
- collidesWithObstacles(point, obstacles, margin, index) {
843
- // Wave 8 — Card 6: THE hot path. A* asks this once per neighbour of every
844
- // cell it expands, and the linear scan below made that O(scene) — 1.87
845
- // BILLION aabb tests in one measured 5k-node drag frame. The index answers
846
- // with the identical predicate, looking only at obstacles near the point.
847
- if (index)
848
- return index.collides(point.x, point.y, margin);
849
- for (const obstacle of obstacles) {
850
- // Expand obstacle boundaries by margin to create safe zone around obstacles
851
- const minX = obstacle.x - margin;
852
- const maxX = obstacle.x + obstacle.width + margin;
853
- const minY = obstacle.y - margin;
854
- const maxY = obstacle.y + obstacle.height + margin;
855
- // FIXED: Use >= and <= (inclusive) instead of > and < (exclusive)
856
- // This ensures points ON the boundary are also considered colliding
857
- if (point.x >= minX &&
858
- point.x <= maxX &&
859
- point.y >= minY &&
860
- point.y <= maxY) {
861
- return true;
862
- }
863
- }
864
- return false;
865
- }
866
- /**
867
- * Check if any segment of the path intersects with obstacles
868
- * This determines if we need to use A* pathfinding
869
- */
870
- pathIntersectsObstacles(points, obstacles, index) {
871
- if (obstacles.length === 0)
872
- return false;
873
- // Check each line segment of the path
874
- for (let i = 1; i < points.length; i++) {
875
- const p1 = points[i - 1];
876
- const p2 = points[i];
877
- // Wave 8 — Card 6: only obstacles whose rect can reach this segment's
878
- // bounding box are candidates; the exact test below is unchanged, so the
879
- // answer is unchanged. (A segment can only meet a rect inside the
880
- // segment's own bbox, so the narrowing loses nothing.)
881
- const candidates = index
882
- ? index.queryBox(Math.min(p1.x, p2.x), Math.min(p1.y, p2.y), Math.max(p1.x, p2.x), Math.max(p1.y, p2.y))
883
- : obstacles;
884
- // Check if this segment intersects any obstacle
885
- for (const obstacle of candidates) {
886
- const rect = {
887
- x: obstacle.x,
888
- y: obstacle.y,
889
- width: obstacle.width,
890
- height: obstacle.height
891
- };
892
- if (this.lineIntersectsRectangle(p1, p2, rect)) {
893
- return true;
894
- }
895
- }
896
- }
897
- return false;
898
- }
899
- /**
900
- * Check if a line segment intersects with a rectangle
901
- */
902
- lineIntersectsRectangle(p1, p2, rect) {
903
- const left = rect.x;
904
- const right = rect.x + rect.width;
905
- const top = rect.y;
906
- const bottom = rect.y + rect.height;
907
- // Check if either endpoint is inside the rectangle
908
- if (this.pointInRectangle(p1, rect) || this.pointInRectangle(p2, rect)) {
909
- return true;
910
- }
911
- // Check intersection with each edge of the rectangle
912
- const edges = [
913
- { x1: left, y1: top, x2: right, y2: top }, // top edge
914
- { x1: right, y1: top, x2: right, y2: bottom }, // right edge
915
- { x1: left, y1: bottom, x2: right, y2: bottom }, // bottom edge
916
- { x1: left, y1: top, x2: left, y2: bottom }, // left edge
917
- ];
918
- for (const edge of edges) {
919
- if (this.lineSegmentsIntersect(p1, p2, { x: edge.x1, y: edge.y1 }, { x: edge.x2, y: edge.y2 })) {
920
- return true;
921
- }
922
- }
923
- return false;
924
- }
925
- /**
926
- * Check if a point is inside a rectangle
927
- */
928
- pointInRectangle(p, rect) {
929
- return (p.x >= rect.x &&
930
- p.x <= rect.x + rect.width &&
931
- p.y >= rect.y &&
932
- p.y <= rect.y + rect.height);
933
- }
934
- /**
935
- * Check if two line segments intersect
936
- * Using the cross product method
937
- */
938
- lineSegmentsIntersect(p1, p2, p3, p4) {
939
- const ccw = (a, b, c) => {
940
- return (c.y - a.y) * (b.x - a.x) > (b.y - a.y) * (c.x - a.x);
941
- };
942
- return ccw(p1, p3, p4) !== ccw(p2, p3, p4) && ccw(p1, p2, p3) !== ccw(p1, p2, p4);
943
- }
944
- /**
945
- * Snap point to grid
946
- */
947
- snapToGrid(point, gridSize) {
948
- return {
949
- x: Math.round(point.x / gridSize) * gridSize,
950
- y: Math.round(point.y / gridSize) * gridSize,
951
- };
952
- }
953
- /**
954
- * Find nearest valid point outside obstacles
955
- * Searches outward from point in the given direction until finding a valid position
956
- */
957
- findNearestValidPoint(point, direction, obstacles, margin, gridSize, index) {
958
- // Try moving outward in the port direction to find a valid point
959
- const maxAttempts = 10;
960
- let current = Object.assign({}, point);
961
- for (let i = 1; i <= maxAttempts; i++) {
962
- // Move one grid step in the port direction
963
- switch (direction) {
964
- case 'left':
965
- current.x -= gridSize;
966
- break;
967
- case 'right':
968
- current.x += gridSize;
969
- break;
970
- case 'top':
971
- current.y -= gridSize;
972
- break;
973
- case 'bottom':
974
- current.y += gridSize;
975
- break;
976
- default:
977
- // No direction specified, try moving in all directions
978
- const candidates = [
979
- { x: point.x + i * gridSize, y: point.y },
980
- { x: point.x - i * gridSize, y: point.y },
981
- { x: point.x, y: point.y + i * gridSize },
982
- { x: point.x, y: point.y - i * gridSize },
983
- ];
984
- for (const candidate of candidates) {
985
- if (!this.collidesWithObstacles(candidate, obstacles, margin, index)) {
986
- return candidate;
987
- }
988
- }
989
- continue;
990
- }
991
- // Check if this position is valid
992
- if (!this.collidesWithObstacles(current, obstacles, margin, index)) {
993
- return current;
994
- }
995
- }
996
- // If all attempts failed, return original point (pathfinding will fail, but at least we tried)
997
- console.debug(` ✗ Could not find valid point after ${maxAttempts} attempts, using original`);
998
- return point;
999
- }
1000
- /**
1001
- * Convert point to map key
1002
- */
1003
- pointToKey(point) {
1004
- return `${point.x},${point.y}`;
1005
- }
1006
- /**
1007
- * Convert map key to point
1008
- */
1009
- keyToPoint(key) {
1010
- const [x, y] = key.split(',').map(Number);
1011
- return { x, y };
1012
- }
1013
- /**
1014
- * Calculate total path length
1015
- */
1016
- calculatePathLength(points) {
1017
- let length = 0;
1018
- for (let i = 0; i < points.length - 1; i++) {
1019
- const dx = points[i + 1].x - points[i].x;
1020
- const dy = points[i + 1].y - points[i].y;
1021
- length += Math.sqrt(dx * dx + dy * dy);
1022
- }
1023
- return length;
1024
- }
1025
- /**
1026
- * Count bends in path
1027
- */
1028
- countBends(points) {
1029
- if (points.length < 3)
1030
- return 0;
1031
- let bends = 0;
1032
- for (let i = 1; i < points.length - 1; i++) {
1033
- const prev = points[i - 1];
1034
- const curr = points[i];
1035
- const next = points[i + 1];
1036
- // Check if direction changed
1037
- const dir1 = this.getDirection(prev, curr);
1038
- const dir2 = this.getDirection(curr, next);
1039
- if (dir1 !== dir2) {
1040
- bends++;
1041
- }
1042
- }
1043
- return bends;
1044
- }
1045
- /**
1046
- * Get direction between two points ('h' or 'v')
1047
- */
1048
- getDirection(a, b) {
1049
- return Math.abs(b.x - a.x) > Math.abs(b.y - a.y) ? 'h' : 'v';
1050
- }
1051
- /**
1052
- * Remove duplicate consecutive points
1053
- */
1054
- removeDuplicatePoints(points) {
1055
- const result = [];
1056
- for (let i = 0; i < points.length; i++) {
1057
- if (i === 0 || points[i].x !== points[i - 1].x || points[i].y !== points[i - 1].y) {
1058
- result.push(Object.assign({}, points[i]));
1059
- }
1060
- }
1061
- return result;
1062
- }
1063
- /**
1064
- * Calculate segments from points
1065
- */
1066
- calculateSegments(points) {
1067
- const segments = [];
1068
- for (let i = 0; i < points.length - 1; i++) {
1069
- const start = points[i];
1070
- const end = points[i + 1];
1071
- const dx = end.x - start.x;
1072
- const dy = end.y - start.y;
1073
- const length = Math.sqrt(dx * dx + dy * dy);
1074
- const angle = (Math.atan2(dy, dx) * 180) / Math.PI;
1075
- segments.push({
1076
- start: Object.assign({}, start),
1077
- end: Object.assign({}, end),
1078
- length,
1079
- angle,
1080
- });
1081
- }
1082
- return segments;
1083
- }
1084
- }
1085
- exports.OrthogonalRouter = OrthogonalRouter;
1086
- /**
1087
- * Wave 8 — Card 6: indexes memoised on the obstacle ARRAY's identity, so the
1088
- * whole frame's links share one index instead of rebuilding it per link.
1089
- * Weak, so an obstacle set dies with the frame that made it.
1090
- */
1091
- OrthogonalRouter.indexCache = new WeakMap();
1092
- //# sourceMappingURL=OrthogonalRouter.js.map