@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,1104 +0,0 @@
1
- "use strict";
2
- // Shape registry + geometry contract (Nodes & shapes foundation)
3
- //
4
- // Historically the five built-in node shapes (rect, circle, ellipse, diamond,
5
- // hexagon) were hardcoded across FIVE parallel switch statements:
6
- // - SVGRenderer.renderNodeShape (node body)
7
- // - SVGRenderer.renderSelectionHighlight
8
- // - SVGRenderer.renderShadow
9
- // - SVGRenderer.shapeEdgePoint (smart-connection boundary)
10
- // - getPortPositionForShape (port-positioning.ts)
11
- // Adding a shape meant editing every switch in lock-step.
12
- //
13
- // This module introduces ONE `ShapeDefinition` geometry contract and a
14
- // registry so every shape lives in a single place. The five render sites now
15
- // consult the registry instead of switching on `shapeConfig.type`.
16
- //
17
- // GEOMETRY CONTRACT — each shape exposes just three geometry primitives:
18
- // 1. outline(w, h, transform) — the shape's outline as an SVG element +
19
- // geometry props. A single `transform` (grow outward by `grow` px,
20
- // translate by dx/dy, optional corner radius) drives ALL THREE render
21
- // sites: the node body (identity transform), the selection highlight
22
- // (grow = padding) and the drop shadow (dx = dy = offset). This is why
23
- // "selection + shadow reuse outline".
24
- // 2. boundaryPoint(rect, side, cross) — the point on the outline used by
25
- // smart connection points; returns null to fall back to the bbox edge.
26
- // 3. portAnchor(w, h, side, rank, count) — the local-space port position.
27
- //
28
- // The exact rendered output of the five built-ins is preserved bit-for-bit;
29
- // this is a structural refactor, not a visual change.
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.registerShape = registerShape;
32
- exports.registerPathShape = registerPathShape;
33
- exports.buildPathShapeDefinition = buildPathShapeDefinition;
34
- exports.getShape = getShape;
35
- exports.hasShape = hasShape;
36
- exports.listShapes = listShapes;
37
- exports.unregisterShape = unregisterShape;
38
- exports.getShapeDefinition = getShapeDefinition;
39
- exports.getShapeRegistryVersion = getShapeRegistryVersion;
40
- exports.onShapeRegistryChange = onShapeRegistryChange;
41
- exports.notifyShapeRegistered = notifyShapeRegistered;
42
- exports.getInnerRect = getInnerRect;
43
- exports.defaultInnerRect = defaultInnerRect;
44
- exports.buildShapeBody = buildShapeBody;
45
- exports.buildShapeSelection = buildShapeSelection;
46
- exports.buildShapeShadow = buildShapeShadow;
47
- const tslib_1 = require("tslib");
48
- const path_outline_1 = require("./path-outline");
49
- const path_geometry_1 = require("../canvas/path-geometry");
50
- const registry_scope_1 = require("../ext/registry-scope");
51
- // ---------------------------------------------------------------------------
52
- // Shared geometry helpers (extracted verbatim from the original switch sites)
53
- // ---------------------------------------------------------------------------
54
- function fmt(verts) {
55
- return verts.map((v) => `${v.x},${v.y}`).join(' ');
56
- }
57
- /** Even fraction along an edge: 1 port → 1/2; 2 ports → 1/3, 2/3; … */
58
- function edgeFraction(rank, count) {
59
- return (rank + 1) / (count + 1);
60
- }
61
- /** Base perimeter angle for each side (radians) — circle/ellipse anchors. */
62
- const SIDE_ANGLES = {
63
- top: -Math.PI / 2,
64
- right: 0,
65
- bottom: Math.PI / 2,
66
- left: Math.PI,
67
- };
68
- /**
69
- * Symmetric angular fan around the side's base angle: a single port sits on
70
- * the base angle; additional ports spread ±15° steps, centered.
71
- */
72
- function fanAngle(side, rank, count) {
73
- const spacing = Math.PI / 12; // 15 degrees between adjacent ports
74
- return SIDE_ANGLES[side] + (rank - (count - 1) / 2) * spacing;
75
- }
76
- /**
77
- * Analytic projection onto an ellipse/circle outline for a smart attachment.
78
- * Mirrors the original shapeEdgePoint ellipse/circle branch exactly.
79
- */
80
- function ellipseBoundaryPoint(rect, side, cross, rx, ry) {
81
- const cx = rect.x + rect.w / 2;
82
- const cy = rect.y + rect.h / 2;
83
- const vertical = side === 'top' || side === 'bottom';
84
- const clampv = (v, lo, hi) => Math.max(lo, Math.min(hi, v));
85
- if (vertical) {
86
- const x = clampv(cross, cx - rx * 0.9, cx + rx * 0.9);
87
- const dy = ry * Math.sqrt(Math.max(0, 1 - Math.pow(((x - cx) / rx), 2)));
88
- return { x, y: side === 'top' ? cy - dy : cy + dy };
89
- }
90
- const y = clampv(cross, cy - ry * 0.9, cy + ry * 0.9);
91
- const dx = rx * Math.sqrt(Math.max(0, 1 - Math.pow(((y - cy) / ry), 2)));
92
- return { x: side === 'left' ? cx - dx : cx + dx, y };
93
- }
94
- /**
95
- * Intersect the outline polygon with the axis line at `cross`, keeping the
96
- * intersection that belongs to the requested side. Mirrors the original
97
- * shapeEdgePoint hexagon/diamond branch exactly (returns null at a degenerate
98
- * vertex tangent so the caller falls through to the box edge).
99
- */
100
- function polygonBoundaryPoint(verts, side, cross) {
101
- const vertical = side === 'top' || side === 'bottom';
102
- let best = null;
103
- for (let i = 0; i < verts.length; i++) {
104
- const a = verts[i];
105
- const b = verts[(i + 1) % verts.length];
106
- if (vertical) {
107
- const lo = Math.min(a.x, b.x);
108
- const hi = Math.max(a.x, b.x);
109
- if (cross < lo || cross > hi || lo === hi)
110
- continue;
111
- const y = a.y + ((cross - a.x) / (b.x - a.x)) * (b.y - a.y);
112
- if (best === null || (side === 'top' ? y < best : y > best))
113
- best = y;
114
- }
115
- else {
116
- const lo = Math.min(a.y, b.y);
117
- const hi = Math.max(a.y, b.y);
118
- if (cross < lo || cross > hi || lo === hi)
119
- continue;
120
- const x = a.x + ((cross - a.y) / (b.y - a.y)) * (b.x - a.x);
121
- if (best === null || (side === 'left' ? x < best : x > best))
122
- best = x;
123
- }
124
- }
125
- if (best !== null) {
126
- return vertical ? { x: cross, y: best } : { x: best, y: cross };
127
- }
128
- return null;
129
- }
130
- // ---------------------------------------------------------------------------
131
- // Built-in shape definitions (existing geometry — extracted, not invented)
132
- // ---------------------------------------------------------------------------
133
- const RectShape = {
134
- type: 'rect',
135
- styleMode: 'inline',
136
- bodyDeferGeomKeys: ['rx', 'ry'],
137
- outline(width, height, t = {}) {
138
- var _a, _b, _c;
139
- const grow = (_a = t.grow) !== null && _a !== void 0 ? _a : 0;
140
- const dx = (_b = t.dx) !== null && _b !== void 0 ? _b : 0;
141
- const dy = (_c = t.dy) !== null && _c !== void 0 ? _c : 0;
142
- const geom = {
143
- x: -grow + dx,
144
- y: -grow + dy,
145
- width: width + 2 * grow,
146
- height: height + 2 * grow,
147
- };
148
- if (t.radius !== undefined && (t.radiusAlways || t.radius)) {
149
- geom['rx'] = t.radius;
150
- if (t.radiusY)
151
- geom['ry'] = t.radius;
152
- }
153
- return { el: 'rect', geom };
154
- },
155
- boundaryPoint() {
156
- // Rects use the bounding-box edge — handled by the caller's fallback.
157
- return null;
158
- },
159
- portAnchor(width, height, side, rank, count) {
160
- const f = edgeFraction(rank, count);
161
- switch (side) {
162
- case 'left':
163
- return { x: 0, y: height * f };
164
- case 'right':
165
- return { x: width, y: height * f };
166
- case 'top':
167
- return { x: width * f, y: 0 };
168
- case 'bottom':
169
- return { x: width * f, y: height };
170
- default:
171
- return { x: 0, y: 0 };
172
- }
173
- },
174
- };
175
- const CircleShape = {
176
- type: 'circle',
177
- styleMode: 'inline',
178
- // rx/ry are rect corner-radius styles — meaningless (and confusing) on a circle
179
- bodyStripKeys: ['rx', 'ry'],
180
- outline(width, height, t = {}) {
181
- var _a, _b, _c;
182
- const grow = (_a = t.grow) !== null && _a !== void 0 ? _a : 0;
183
- const dx = (_b = t.dx) !== null && _b !== void 0 ? _b : 0;
184
- const dy = (_c = t.dy) !== null && _c !== void 0 ? _c : 0;
185
- const radius = Math.min(width, height) / 2 + grow;
186
- return {
187
- el: 'circle',
188
- geom: { cx: width / 2 + dx, cy: height / 2 + dy, r: radius },
189
- };
190
- },
191
- boundaryPoint(rect, side, cross) {
192
- const r = Math.min(rect.w, rect.h) / 2;
193
- return ellipseBoundaryPoint(rect, side, cross, r, r);
194
- },
195
- portAnchor(width, height, side, rank, count) {
196
- const radius = Math.min(width, height) / 2;
197
- const cx = width / 2;
198
- const cy = height / 2;
199
- const angle = fanAngle(side, rank, count);
200
- return { x: cx + radius * Math.cos(angle), y: cy + radius * Math.sin(angle) };
201
- },
202
- // A square inscribed in the circle: side = 2r/√2 ≈ 0.707·(2r). Use 0.6·min
203
- // as a conservative label box so text never bleeds past the curve.
204
- innerRect(width, height) {
205
- const d = Math.min(width, height);
206
- return { x: (width - 0.6 * d) / 2, y: (height - 0.6 * d) / 2, w: 0.6 * d, h: 0.6 * d };
207
- },
208
- };
209
- const EllipseShape = {
210
- type: 'ellipse',
211
- // Ellipse spreads node styles directly; geometry is merged AFTER so a rect
212
- // corner-radius `rx` (borderRadius) in the styles never wins over rx = w/2.
213
- styleMode: 'spread',
214
- outline(width, height, t = {}) {
215
- var _a, _b, _c;
216
- const grow = (_a = t.grow) !== null && _a !== void 0 ? _a : 0;
217
- const dx = (_b = t.dx) !== null && _b !== void 0 ? _b : 0;
218
- const dy = (_c = t.dy) !== null && _c !== void 0 ? _c : 0;
219
- return {
220
- el: 'ellipse',
221
- geom: {
222
- cx: width / 2 + dx,
223
- cy: height / 2 + dy,
224
- rx: width / 2 + grow,
225
- ry: height / 2 + grow,
226
- },
227
- };
228
- },
229
- boundaryPoint(rect, side, cross) {
230
- return ellipseBoundaryPoint(rect, side, cross, rect.w / 2, rect.h / 2);
231
- },
232
- portAnchor(width, height, side, rank, count) {
233
- const rx = width / 2;
234
- const ry = height / 2;
235
- const cx = width / 2;
236
- const cy = height / 2;
237
- const angle = fanAngle(side, rank, count);
238
- return { x: cx + rx * Math.cos(angle), y: cy + ry * Math.sin(angle) };
239
- },
240
- // ~0.6·w × ~0.6·h centered box (inscribed-rectangle approximation).
241
- innerRect(width, height) {
242
- return { x: 0.2 * width, y: 0.2 * height, w: 0.6 * width, h: 0.6 * height };
243
- },
244
- };
245
- function diamondVerts(width, height, t) {
246
- var _a, _b, _c;
247
- // Diamond of the reference box expanded by `grow` on every side, translated
248
- // by (dx, dy). Center is invariant under grow, so vertices push outward.
249
- const grow = (_a = t.grow) !== null && _a !== void 0 ? _a : 0;
250
- const dx = (_b = t.dx) !== null && _b !== void 0 ? _b : 0;
251
- const dy = (_c = t.dy) !== null && _c !== void 0 ? _c : 0;
252
- const x0 = -grow + dx;
253
- const y0 = -grow + dy;
254
- const w = width + 2 * grow;
255
- const h = height + 2 * grow;
256
- const cx = x0 + w / 2;
257
- const cy = y0 + h / 2;
258
- return [
259
- { x: cx, y: y0 }, // top
260
- { x: x0 + w, y: cy }, // right
261
- { x: cx, y: y0 + h }, // bottom
262
- { x: x0, y: cy }, // left
263
- ];
264
- }
265
- const DiamondShape = {
266
- type: 'diamond',
267
- styleMode: 'inline',
268
- outline(width, height, t = {}) {
269
- const verts = diamondVerts(width, height, t);
270
- return { el: 'polygon', geom: { points: fmt(verts) }, verts };
271
- },
272
- boundaryPoint(rect, side, cross) {
273
- const local = diamondVerts(rect.w, rect.h, {});
274
- const world = local.map((v) => ({ x: v.x + rect.x, y: v.y + rect.y }));
275
- return polygonBoundaryPoint(world, side, cross);
276
- },
277
- portAnchor(width, height, side) {
278
- const cx = width / 2;
279
- const cy = height / 2;
280
- const vertices = {
281
- top: { x: cx, y: 0 },
282
- right: { x: width, y: cy },
283
- bottom: { x: cx, y: height },
284
- left: { x: 0, y: cy },
285
- };
286
- return vertices[side];
287
- },
288
- // The largest axis-aligned rectangle inside a diamond is half its span; use
289
- // ~0.5 so text clears the sloped edges (documented approximation).
290
- innerRect(width, height) {
291
- return { x: 0.25 * width, y: 0.25 * height, w: 0.5 * width, h: 0.5 * height };
292
- },
293
- };
294
- function hexagonVerts(width, height, t) {
295
- var _a, _b, _c;
296
- // Flat-top hexagon. The horizontal 25% offset stays keyed to the ORIGINAL
297
- // width; `grow` pushes each vertex outward and (dx, dy) translates. This
298
- // matches the original renderHexagonShape / selection / shadow geometry.
299
- const grow = (_a = t.grow) !== null && _a !== void 0 ? _a : 0;
300
- const dx = (_b = t.dx) !== null && _b !== void 0 ? _b : 0;
301
- const dy = (_c = t.dy) !== null && _c !== void 0 ? _c : 0;
302
- const ox = width * 0.25;
303
- const cy = height / 2;
304
- return [
305
- { x: ox - grow + dx, y: -grow + dy }, // top-left
306
- { x: width - ox + grow + dx, y: -grow + dy }, // top-right
307
- { x: width + grow + dx, y: cy + dy }, // right
308
- { x: width - ox + grow + dx, y: height + grow + dy }, // bottom-right
309
- { x: ox - grow + dx, y: height + grow + dy }, // bottom-left
310
- { x: -grow + dx, y: cy + dy }, // left
311
- ];
312
- }
313
- const HexagonShape = {
314
- type: 'hexagon',
315
- // Hexagon spreads node styles directly (historical parity with ellipse).
316
- styleMode: 'spread',
317
- outline(width, height, t = {}) {
318
- const verts = hexagonVerts(width, height, t);
319
- return { el: 'polygon', geom: { points: fmt(verts) }, verts };
320
- },
321
- boundaryPoint(rect, side, cross) {
322
- const local = hexagonVerts(rect.w, rect.h, {});
323
- const world = local.map((v) => ({ x: v.x + rect.x, y: v.y + rect.y }));
324
- return polygonBoundaryPoint(world, side, cross);
325
- },
326
- portAnchor(width, height, side, rank, count) {
327
- const cy = height / 2;
328
- const edgeStart = width * 0.25;
329
- const edgeSpan = width * 0.5;
330
- switch (side) {
331
- case 'top':
332
- return { x: edgeStart + edgeSpan * edgeFraction(rank, count), y: 0 };
333
- case 'bottom':
334
- return { x: edgeStart + edgeSpan * edgeFraction(rank, count), y: height };
335
- case 'right':
336
- return { x: width, y: cy };
337
- case 'left':
338
- default:
339
- return { x: 0, y: cy };
340
- }
341
- },
342
- };
343
- function boxOf(width, height, t) {
344
- var _a, _b, _c;
345
- const grow = (_a = t.grow) !== null && _a !== void 0 ? _a : 0;
346
- return { x0: -grow + ((_b = t.dx) !== null && _b !== void 0 ? _b : 0), y0: -grow + ((_c = t.dy) !== null && _c !== void 0 ? _c : 0), w: width + 2 * grow, h: height + 2 * grow };
347
- }
348
- /** Round to 3dp so path/point strings stay compact and diff-stable. */
349
- function r3(n) {
350
- return Math.round(n * 1000) / 1000;
351
- }
352
- /** Clamp a scalar into [lo, hi]. */
353
- function clampN(v, lo, hi) {
354
- return Math.max(lo, Math.min(hi, v));
355
- }
356
- /**
357
- * Port anchor on a polygon's REAL edge: intersect the outline with the center
358
- * line at the even edge-fraction; fall back to the box edge at a vertex tangent.
359
- */
360
- function polygonPortAnchor(verts, width, height, side, rank, count) {
361
- const f = edgeFraction(rank, count);
362
- const cross = side === 'top' || side === 'bottom' ? width * f : height * f;
363
- const p = polygonBoundaryPoint(verts, side, cross);
364
- if (p)
365
- return p;
366
- return side === 'left'
367
- ? { x: 0, y: cross }
368
- : side === 'right'
369
- ? { x: width, y: cross }
370
- : side === 'top'
371
- ? { x: cross, y: 0 }
372
- : { x: cross, y: height };
373
- }
374
- /** Rect-style box-edge port anchor (used by the ~rectangular path shapes). */
375
- function boxPortAnchor(width, height, side, rank, count) {
376
- const f = edgeFraction(rank, count);
377
- switch (side) {
378
- case 'left':
379
- return { x: 0, y: height * f };
380
- case 'right':
381
- return { x: width, y: height * f };
382
- case 'top':
383
- return { x: width * f, y: 0 };
384
- default:
385
- return { x: width * f, y: height };
386
- }
387
- }
388
- /** Build a straight-edged (polygon) shape from a box-parameterized vertex list. */
389
- function polygonShape(type, vertsFn, opts = {}) {
390
- var _a;
391
- return {
392
- type,
393
- styleMode: (_a = opts.styleMode) !== null && _a !== void 0 ? _a : 'inline',
394
- outline(width, height, t = {}) {
395
- const verts = vertsFn(boxOf(width, height, t));
396
- return { el: 'polygon', geom: { points: fmt(verts) }, verts };
397
- },
398
- boundaryPoint(rect, side, cross) {
399
- const local = vertsFn({ x0: 0, y0: 0, w: rect.w, h: rect.h });
400
- const world = local.map((v) => ({ x: v.x + rect.x, y: v.y + rect.y }));
401
- return polygonBoundaryPoint(world, side, cross);
402
- },
403
- portAnchor(width, height, side, rank, count) {
404
- if (opts.portAnchor)
405
- return opts.portAnchor(width, height, side, rank, count);
406
- const verts = vertsFn({ x0: 0, y0: 0, w: width, h: height });
407
- return polygonPortAnchor(verts, width, height, side, rank, count);
408
- },
409
- innerRect: opts.innerRect,
410
- };
411
- }
412
- /** Build a curved / compound shape emitted as a single <path> (`d` from box). */
413
- function pathShape(type, dFn, opts = {}) {
414
- var _a, _b;
415
- return {
416
- type,
417
- styleMode: 'inline',
418
- outline(width, height, t = {}) {
419
- return { el: 'path', geom: { d: dFn(boxOf(width, height, t)) } };
420
- },
421
- // ~rectangular footprint → the bounding-box edge is a good attachment.
422
- boundaryPoint: (_a = opts.boundaryPoint) !== null && _a !== void 0 ? _a : (() => null),
423
- portAnchor: (_b = opts.portAnchor) !== null && _b !== void 0 ? _b : boxPortAnchor,
424
- innerRect: opts.innerRect,
425
- };
426
- }
427
- // ── Vertex builders (skew = horizontal shear used by parallelogram/trapezoid) ─
428
- const SKEW = 0.25; // fraction of width sheared off — the classic flowchart lean
429
- function parallelogramVerts(b, lean) {
430
- const s = b.w * SKEW;
431
- // lean = 1 → top edge shifted right (data / I-O); lean = -1 → shifted left.
432
- return lean === 1
433
- ? [
434
- { x: r3(b.x0 + s), y: b.y0 },
435
- { x: r3(b.x0 + b.w), y: b.y0 },
436
- { x: r3(b.x0 + b.w - s), y: r3(b.y0 + b.h) },
437
- { x: b.x0, y: r3(b.y0 + b.h) },
438
- ]
439
- : [
440
- { x: b.x0, y: b.y0 },
441
- { x: r3(b.x0 + b.w - s), y: b.y0 },
442
- { x: r3(b.x0 + b.w), y: r3(b.y0 + b.h) },
443
- { x: r3(b.x0 + s), y: r3(b.y0 + b.h) },
444
- ];
445
- }
446
- function trapezoidVerts(b, narrow) {
447
- const s = b.w * SKEW;
448
- return narrow === 'top'
449
- ? [
450
- { x: r3(b.x0 + s), y: b.y0 },
451
- { x: r3(b.x0 + b.w - s), y: b.y0 },
452
- { x: r3(b.x0 + b.w), y: r3(b.y0 + b.h) },
453
- { x: b.x0, y: r3(b.y0 + b.h) },
454
- ]
455
- : [
456
- { x: b.x0, y: b.y0 },
457
- { x: r3(b.x0 + b.w), y: b.y0 },
458
- { x: r3(b.x0 + b.w - s), y: r3(b.y0 + b.h) },
459
- { x: r3(b.x0 + s), y: r3(b.y0 + b.h) },
460
- ];
461
- }
462
- function triangleVerts(b, dir) {
463
- const cx = r3(b.x0 + b.w / 2);
464
- return dir === 'up'
465
- ? [
466
- { x: cx, y: b.y0 },
467
- { x: r3(b.x0 + b.w), y: r3(b.y0 + b.h) },
468
- { x: b.x0, y: r3(b.y0 + b.h) },
469
- ]
470
- : [
471
- { x: b.x0, y: b.y0 },
472
- { x: r3(b.x0 + b.w), y: b.y0 },
473
- { x: cx, y: r3(b.y0 + b.h) },
474
- ];
475
- }
476
- /** UML package (folder): a tab on the top-left plus the body — a 7-vertex poly. */
477
- function packageVerts(b) {
478
- const tabW = b.w * 0.4;
479
- const tabH = b.h * 0.2;
480
- return [
481
- { x: b.x0, y: r3(b.y0 + tabH) },
482
- { x: b.x0, y: b.y0 },
483
- { x: r3(b.x0 + tabW), y: b.y0 },
484
- { x: r3(b.x0 + tabW), y: r3(b.y0 + tabH) },
485
- { x: r3(b.x0 + b.w), y: r3(b.y0 + tabH) },
486
- { x: r3(b.x0 + b.w), y: r3(b.y0 + b.h) },
487
- { x: b.x0, y: r3(b.y0 + b.h) },
488
- ];
489
- }
490
- /** Isometric cube outer silhouette (a 6-vertex hexagon; edges drawn by cubePath). */
491
- function cubeSilhouetteVerts(b) {
492
- const d = Math.min(b.w, b.h) * 0.22;
493
- return [
494
- { x: b.x0, y: r3(b.y0 + d) },
495
- { x: r3(b.x0 + d), y: b.y0 },
496
- { x: r3(b.x0 + b.w), y: b.y0 },
497
- { x: r3(b.x0 + b.w), y: r3(b.y0 + b.h - d) },
498
- { x: r3(b.x0 + b.w - d), y: r3(b.y0 + b.h) },
499
- { x: b.x0, y: r3(b.y0 + b.h) },
500
- ];
501
- }
502
- /** Note silhouette (folded top-right corner) — a 6-vertex poly; fold by notePath. */
503
- function noteVerts(b) {
504
- const f = Math.min(b.w, b.h) * 0.25;
505
- return [
506
- { x: b.x0, y: b.y0 },
507
- { x: r3(b.x0 + b.w - f), y: b.y0 },
508
- { x: r3(b.x0 + b.w), y: r3(b.y0 + f) },
509
- { x: r3(b.x0 + b.w), y: r3(b.y0 + b.h) },
510
- { x: b.x0, y: r3(b.y0 + b.h) },
511
- ];
512
- }
513
- // ── Straight-edged shapes ──────────────────────────────────────────────────
514
- const ParallelogramShape = polygonShape('parallelogram', (b) => parallelogramVerts(b, 1));
515
- const ParallelogramTopShape = polygonShape('parallelogram-top', (b) => parallelogramVerts(b, -1));
516
- const TrapezoidShape = polygonShape('trapezoid', (b) => trapezoidVerts(b, 'top'));
517
- const TrapezoidBottomShape = polygonShape('trapezoid-bottom', (b) => trapezoidVerts(b, 'bottom'));
518
- const TriangleShape = polygonShape('triangle', (b) => triangleVerts(b, 'up'), {
519
- // apex/base custom anchors read better than generic edge intersections
520
- portAnchor(width, height, side, rank, count) {
521
- if (side === 'top')
522
- return { x: width / 2, y: 0 };
523
- if (side === 'bottom')
524
- return { x: width * edgeFraction(rank, count), y: height };
525
- if (side === 'left')
526
- return { x: width * 0.25, y: height / 2 };
527
- return { x: width * 0.75, y: height / 2 };
528
- },
529
- innerRect: (w, h) => ({ x: 0.25 * w, y: 0.45 * h, w: 0.5 * w, h: 0.5 * h }),
530
- });
531
- const TriangleDownShape = polygonShape('triangle-down', (b) => triangleVerts(b, 'down'), {
532
- innerRect: (w, h) => ({ x: 0.25 * w, y: 0.05 * h, w: 0.5 * w, h: 0.5 * h }),
533
- });
534
- const PackageShape = polygonShape('package', packageVerts, {
535
- innerRect: (w, h) => ({ x: 0.08 * w, y: 0.28 * h, w: 0.84 * w, h: 0.64 * h }),
536
- });
537
- const CubeShape = Object.assign(Object.assign({}, polygonShape('cube', cubeSilhouetteVerts, {
538
- innerRect: (w, h) => ({ x: 0.06 * w, y: 0.32 * h, w: 0.62 * w, h: 0.6 * h }),
539
- })), {
540
- // Override the outline to draw the two interior 3D edges as extra subpaths.
541
- outline(width, height, t = {}) {
542
- const b = boxOf(width, height, t);
543
- const d = Math.min(b.w, b.h) * 0.22;
544
- const { x0, y0 } = b;
545
- const w = b.w;
546
- const h = b.h;
547
- const front = `M ${r3(x0)},${r3(y0 + d)} L ${r3(x0)},${r3(y0 + h)} L ${r3(x0 + w - d)},${r3(y0 + h)} L ${r3(x0 + w - d)},${r3(y0 + d)} Z`;
548
- const top = `M ${r3(x0)},${r3(y0 + d)} L ${r3(x0 + d)},${r3(y0)} L ${r3(x0 + w)},${r3(y0)} L ${r3(x0 + w - d)},${r3(y0 + d)}`;
549
- const rightEdge = `M ${r3(x0 + w - d)},${r3(y0 + d)} L ${r3(x0 + w)},${r3(y0)} L ${r3(x0 + w)},${r3(y0 + h - d)} L ${r3(x0 + w - d)},${r3(y0 + h)}`;
550
- return { el: 'path', geom: { d: `${front} ${top} ${rightEdge}` } };
551
- } });
552
- // ── Curved / compound (path) shapes ────────────────────────────────────────
553
- const DocumentShape = pathShape('document', (b) => {
554
- const wave = b.h * 0.12;
555
- const { x0, y0, w, h } = b;
556
- // rect top + sides, then a double Q-curve wavy bottom
557
- return (`M ${r3(x0)},${r3(y0)} L ${r3(x0 + w)},${r3(y0)} L ${r3(x0 + w)},${r3(y0 + h - wave)} ` +
558
- `Q ${r3(x0 + 0.75 * w)},${r3(y0 + h - 2 * wave)} ${r3(x0 + 0.5 * w)},${r3(y0 + h - wave)} ` +
559
- `Q ${r3(x0 + 0.25 * w)},${r3(y0 + h)} ${r3(x0)},${r3(y0 + h - wave)} Z`);
560
- }, { innerRect: (w, h) => ({ x: 0.08 * w, y: 0.08 * h, w: 0.84 * w, h: 0.72 * h }) });
561
- /** Classic DB-cylinder rim radius (must match the outline generator exactly). */
562
- function cylinderRy(w, h) {
563
- return Math.min(h / 2, w / 2 / (2.5 + w / h));
564
- }
565
- const CylinderShape = Object.assign(Object.assign({}, pathShape('cylinder', (b) => {
566
- const { x0, y0, w, h } = b;
567
- const rx = w / 2;
568
- const ry = cylinderRy(w, h); // classic DB rim curvature
569
- const body = h - 2 * ry;
570
- // full top ellipse (two arcs) + body sides + front bottom arc
571
- return (`M ${r3(x0)},${r3(y0 + ry)} ` +
572
- `a ${r3(rx)},${r3(ry)} 0 0 0 ${r3(w)} 0 ` +
573
- `a ${r3(rx)},${r3(ry)} 0 0 0 ${r3(-w)} 0 ` +
574
- `l 0 ${r3(body)} ` +
575
- `a ${r3(rx)},${r3(ry)} 0 0 0 ${r3(w)} 0 ` +
576
- `l 0 ${r3(-body)}`);
577
- }, { innerRect: (w, h) => ({ x: 0.1 * w, y: 0.28 * h, w: 0.8 * w, h: 0.5 * h }) })), {
578
- // Card 7 — geometry-true anchors. Ports ride the cylinder's real geometry: the
579
- // top port sits on the FRONT RIM SEAM (the visible top edge of the body, at
580
- // y = 2·ry), the bottom on the front base arc, and the sides on the vertical
581
- // body seam — not the bounding box.
582
- portAnchor(width, height, side, rank, count) {
583
- const ry = cylinderRy(width, height);
584
- const rx = width / 2;
585
- const cx = width / 2;
586
- const f = edgeFraction(rank, count);
587
- if (side === 'left' || side === 'right') {
588
- return { x: side === 'left' ? 0 : width, y: ry + (height - 2 * ry) * f };
589
- }
590
- const x = Math.max(0, Math.min(width, cx + (f - 0.5) * rx * 1.6));
591
- const dx = rx > 0 ? (x - cx) / rx : 0;
592
- const off = ry * Math.sqrt(Math.max(0, 1 - dx * dx));
593
- // front rim seam (top) / front base arc (bottom)
594
- return side === 'top' ? { x, y: ry + off } : { x, y: height - ry + off };
595
- },
596
- // Smart-connection boundary: project onto the SILHOUETTE — the top/bottom rim
597
- // curves and the vertical sides — instead of the bounding box.
598
- boundaryPoint(rect, side, cross) {
599
- const ry = cylinderRy(rect.w, rect.h);
600
- const rx = rect.w / 2;
601
- const cx = rect.x + rect.w / 2;
602
- if (side === 'left')
603
- return { x: rect.x, y: clampN(cross, rect.y + ry, rect.y + rect.h - ry) };
604
- if (side === 'right')
605
- return { x: rect.x + rect.w, y: clampN(cross, rect.y + ry, rect.y + rect.h - ry) };
606
- const px = clampN(cross, rect.x, rect.x + rect.w);
607
- const dx = rx > 0 ? (px - cx) / rx : 0;
608
- const off = ry * Math.sqrt(Math.max(0, 1 - dx * dx));
609
- return side === 'top'
610
- ? { x: px, y: rect.y + ry - off } // upper half of the top rim
611
- : { x: px, y: rect.y + rect.h - ry + off }; // lower half of the base
612
- } });
613
- const CloudShape = pathShape('cloud', (b) => {
614
- // Five bump arcs around the box — a recognizable cloud silhouette scaled
615
- // to (w, h). Bumps are cubic beziers so grow/dx-dy just move the box.
616
- const { x0, y0, w, h } = b;
617
- const X = (fx) => r3(x0 + fx * w);
618
- const Y = (fy) => r3(y0 + fy * h);
619
- return (`M ${X(0.25)},${Y(0.85)} ` +
620
- `C ${X(0.05)},${Y(0.85)} ${X(0.05)},${Y(0.55)} ${X(0.2)},${Y(0.5)} ` +
621
- `C ${X(0.15)},${Y(0.2)} ${X(0.45)},${Y(0.1)} ${X(0.55)},${Y(0.3)} ` +
622
- `C ${X(0.65)},${Y(0.08)} ${X(0.95)},${Y(0.15)} ${X(0.85)},${Y(0.45)} ` +
623
- `C ${X(1.02)},${Y(0.5)} ${X(0.98)},${Y(0.82)} ${X(0.78)},${Y(0.85)} ` +
624
- `Z`);
625
- }, { innerRect: (w, h) => ({ x: 0.2 * w, y: 0.35 * h, w: 0.6 * w, h: 0.45 * h }) });
626
- // Predefined process / subroutine: rect + a vertical bar inset on each side.
627
- const PredefinedProcessShape = pathShape('predefined-process', (b) => {
628
- const { x0, y0, w, h } = b;
629
- const bar = w * 0.1;
630
- const rect = `M ${r3(x0)},${r3(y0)} L ${r3(x0 + w)},${r3(y0)} L ${r3(x0 + w)},${r3(y0 + h)} L ${r3(x0)},${r3(y0 + h)} Z`;
631
- const left = `M ${r3(x0 + bar)},${r3(y0)} L ${r3(x0 + bar)},${r3(y0 + h)}`;
632
- const right = `M ${r3(x0 + w - bar)},${r3(y0)} L ${r3(x0 + w - bar)},${r3(y0 + h)}`;
633
- return `${rect} ${left} ${right}`;
634
- }, { innerRect: (w, h) => ({ x: 0.12 * w, y: 0.12 * h, w: 0.76 * w, h: 0.76 * h }) });
635
- // UML component: body rect + two small tabs protruding on the left edge.
636
- const ComponentShape = pathShape('component', (b) => {
637
- const { x0, y0, w, h } = b;
638
- const tw = w * 0.14;
639
- const th = h * 0.16;
640
- const bodyX = x0 + tw / 2;
641
- const bodyW = w - tw / 2;
642
- const y1 = y0 + h * 0.2;
643
- const y2 = y0 + h * 0.55;
644
- const body = `M ${r3(bodyX)},${r3(y0)} L ${r3(x0 + bodyW)},${r3(y0)} L ${r3(x0 + bodyW)},${r3(y0 + h)} L ${r3(bodyX)},${r3(y0 + h)} Z`;
645
- const tab = (ty) => `M ${r3(x0)},${r3(ty)} L ${r3(x0 + tw)},${r3(ty)} L ${r3(x0 + tw)},${r3(ty + th)} L ${r3(x0)},${r3(ty + th)} Z`;
646
- return `${body} ${tab(y1)} ${tab(y2)}`;
647
- }, { innerRect: (w, h) => ({ x: 0.16 * w, y: 0.1 * h, w: 0.76 * w, h: 0.8 * h }) });
648
- // Note: folded top-right corner rect + the little fold triangle.
649
- const NoteShape = Object.assign(Object.assign({}, pathShape('note', () => '', {
650
- innerRect: (w, h) => ({ x: 0.08 * w, y: 0.08 * h, w: 0.84 * w, h: 0.84 * h }),
651
- })), { outline(width, height, t = {}) {
652
- const b = boxOf(width, height, t);
653
- const f = Math.min(b.w, b.h) * 0.25;
654
- const { x0, y0, w, h } = b;
655
- const body = `M ${r3(x0)},${r3(y0)} L ${r3(x0 + w - f)},${r3(y0)} L ${r3(x0 + w)},${r3(y0 + f)} L ${r3(x0 + w)},${r3(y0 + h)} L ${r3(x0)},${r3(y0 + h)} Z`;
656
- const fold = `M ${r3(x0 + w - f)},${r3(y0)} L ${r3(x0 + w - f)},${r3(y0 + f)} L ${r3(x0 + w)},${r3(y0 + f)}`;
657
- return { el: 'path', geom: { d: `${body} ${fold}` } };
658
- },
659
- boundaryPoint(rect, side, cross) {
660
- const local = noteVerts({ x0: 0, y0: 0, w: rect.w, h: rect.h });
661
- const world = local.map((v) => ({ x: v.x + rect.x, y: v.y + rect.y }));
662
- return polygonBoundaryPoint(world, side, cross);
663
- } });
664
- // Terminal / stadium / pill: a fully rounded rectangle (rx = ry = height/2).
665
- const TerminalShape = {
666
- type: 'terminal',
667
- styleMode: 'inline',
668
- bodyStripKeys: ['rx', 'ry'], // never let a themed borderRadius fight rx = h/2
669
- outline(width, height, t = {}) {
670
- const b = boxOf(width, height, t);
671
- const rad = b.h / 2;
672
- return { el: 'rect', geom: { x: r3(b.x0), y: r3(b.y0), width: r3(b.w), height: r3(b.h), rx: r3(rad), ry: r3(rad) } };
673
- },
674
- boundaryPoint() {
675
- return null; // straight top/bottom + semicircle ends → bbox edge is fine
676
- },
677
- portAnchor: boxPortAnchor,
678
- innerRect: (w, h) => ({ x: h * 0.5, y: 0.15 * h, w: Math.max(0, w - h), h: 0.7 * h }),
679
- };
680
- // Actor (UML use-case): stick figure — head circle + torso/arms/legs strokes.
681
- const ActorShape = {
682
- type: 'actor',
683
- styleMode: 'inline',
684
- outline(width, height, t = {}) {
685
- const b = boxOf(width, height, t);
686
- const { x0, y0, w, h } = b;
687
- const cx = x0 + w / 2;
688
- const rHead = Math.min(w * 0.22, h * 0.16);
689
- const headCy = y0 + rHead;
690
- const neck = headCy + rHead;
691
- const hip = y0 + h * 0.62;
692
- const arms = y0 + h * 0.4;
693
- // head as two arcs (full circle), then torso, arms, and two legs
694
- const head = `M ${r3(cx - rHead)},${r3(headCy)} a ${r3(rHead)},${r3(rHead)} 0 1 0 ${r3(2 * rHead)} 0 a ${r3(rHead)},${r3(rHead)} 0 1 0 ${r3(-2 * rHead)} 0`;
695
- const torso = `M ${r3(cx)},${r3(neck)} L ${r3(cx)},${r3(hip)}`;
696
- const armLine = `M ${r3(x0 + w * 0.18)},${r3(arms)} L ${r3(x0 + w * 0.82)},${r3(arms)}`;
697
- const legs = `M ${r3(x0 + w * 0.2)},${r3(y0 + h)} L ${r3(cx)},${r3(hip)} L ${r3(x0 + w * 0.8)},${r3(y0 + h)}`;
698
- return { el: 'path', geom: { d: `${head} ${torso} ${armLine} ${legs}` } };
699
- },
700
- boundaryPoint() {
701
- return null;
702
- },
703
- // Card 7 — geometry-true anchors: the side ports attach to the actor's HANDS
704
- // (the ends of the arm line at 40% height), the top to the head crown, and the
705
- // bottom between the feet. Multiple ports on a side fan slightly so they don't
706
- // stack on the same hand.
707
- portAnchor(width, height, side, rank, count) {
708
- const armY = height * 0.4;
709
- const spread = (rank - (count - 1) / 2) * height * 0.12;
710
- switch (side) {
711
- case 'left':
712
- return { x: width * 0.18, y: clampN(armY + spread, 0, height) };
713
- case 'right':
714
- return { x: width * 0.82, y: clampN(armY + spread, 0, height) };
715
- case 'top':
716
- return { x: width / 2, y: 0 };
717
- case 'bottom':
718
- default:
719
- return { x: width * (0.2 + 0.6 * edgeFraction(rank, count)), y: height };
720
- }
721
- },
722
- };
723
- // ---------------------------------------------------------------------------
724
- // Registry
725
- // ---------------------------------------------------------------------------
726
- const registry = new Map();
727
- /**
728
- * Register (or replace) a shape definition. This is the payoff: a new shape is
729
- * added in ONE place and immediately works across body/selection/shadow,
730
- * smart-connection boundaries and port positioning — no switch edits.
731
- */
732
- function registerShape(type, def) {
733
- registry.set(type, Object.assign(Object.assign({}, def), { type }));
734
- // Wave 6: participate in the version/notify protocol (see `unregisterShape`
735
- // below) so cached renders invalidate and ExtensionHost disposers are exact.
736
- notifyShapeRegistered();
737
- }
738
- /**
739
- * Register an arbitrary SVG-path shape (Card 2). This is the payoff of the
740
- * geometry contract: a userland caller adds a brand-new silhouette in ONE call
741
- * and it works everywhere the built-ins do — node body, selection highlight,
742
- * drop shadow, smart-connection boundary and geometry-true port anchors — with
743
- * NO core-team switch edits.
744
- *
745
- * ```ts
746
- * // Parametric — a 5-point star that fills any box.
747
- * registerPathShape('star', (w, h) => starPath(w, h));
748
- * // Static — a chevron authored in a 24×24 art box.
749
- * registerPathShape('chevron', 'M2,4 L14,4 L22,12 L14,20 L2,20 L10,12 Z',
750
- * { viewBox: { x: 0, y: 0, w: 24, h: 24 } });
751
- * ```
752
- */
753
- function registerPathShape(type, path, opts = {}) {
754
- registry.set(type, buildPathShapeDefinition(type, path, opts));
755
- // Wave 6: path shapes bypass `registerShape` (they build the definition here),
756
- // so they must bump the version themselves or an extension that contributes a
757
- // path shape would be invisible to cache invalidation and to its own disposer.
758
- notifyShapeRegistered();
759
- }
760
- /**
761
- * BUILD a path shape's definition without storing it anywhere.
762
- *
763
- * Extracted from {@link registerPathShape} so a PER-DIAGRAM registry can offer
764
- * `registerPathShape` too. Everything expensive and everything subtle — path
765
- * parsing, the one-slot outline sample memo, the derived boundary and port
766
- * anchors — lives here, so the global and scoped paths cannot drift into
767
- * producing different geometry for the same path.
768
- */
769
- function buildPathShapeDefinition(type, path, opts = {}) {
770
- var _a, _b;
771
- const steps = (_a = opts.sampleSteps) !== null && _a !== void 0 ? _a : 24;
772
- const viewBox = (_b = opts.viewBox) !== null && _b !== void 0 ? _b : { x: 0, y: 0, w: 1, h: 1 };
773
- // Commands for a natural (origin-anchored) `width × height` box. Static strings
774
- // are parsed ONCE and rescaled per size; generators re-parse their output.
775
- const staticCmds = typeof path === 'string' ? (0, path_geometry_1.parsePath)(path) : null;
776
- const cmdsForSize = (width, height) => staticCmds
777
- ? (0, path_outline_1.fitCmdsToBox)(staticCmds, viewBox, width, height)
778
- : (0, path_geometry_1.parsePath)(path(width, height));
779
- // One-slot memo for the sampled outline — port positions are recomputed every
780
- // frame per port, so re-flattening the path each call would be wasteful.
781
- let sampleKey = '';
782
- let sampleCache = [];
783
- const outlinePoints = (width, height) => {
784
- const key = `${width}x${height}`;
785
- if (key !== sampleKey) {
786
- sampleKey = key;
787
- sampleCache = (0, path_outline_1.sampleOutlinePoints)(cmdsForSize(width, height), steps);
788
- }
789
- return sampleCache;
790
- };
791
- return {
792
- type,
793
- styleMode: 'inline',
794
- outline(width, height, t = {}) {
795
- const box = boxOf(width, height, t);
796
- // Draw at the (grown) box size, then translate to the box origin so grow
797
- // (selection padding) and dx/dy (shadow offset) compose exactly as they do
798
- // for every other shape.
799
- const cmds = (0, path_outline_1.translateCmds)(cmdsForSize(box.w, box.h), box.x0, box.y0);
800
- return { el: 'path', geom: { d: (0, path_outline_1.serializePathCmds)(cmds) } };
801
- },
802
- boundaryPoint(rect, side, cross) {
803
- if (opts.boundaryPoint)
804
- return opts.boundaryPoint(rect, side, cross);
805
- const local = outlinePoints(rect.w, rect.h);
806
- if (local.length < 3)
807
- return null; // degenerate → caller uses bbox edge
808
- const world = local.map((v) => ({ x: v.x + rect.x, y: v.y + rect.y }));
809
- return polygonBoundaryPoint(world, side, cross);
810
- },
811
- portAnchor(width, height, side, rank, count) {
812
- if (opts.portAnchor)
813
- return opts.portAnchor(width, height, side, rank, count);
814
- const verts = outlinePoints(width, height);
815
- if (verts.length < 3)
816
- return boxPortAnchor(width, height, side, rank, count);
817
- return polygonPortAnchor(verts, width, height, side, rank, count);
818
- },
819
- innerRect: opts.innerRect,
820
- };
821
- }
822
- /**
823
- * The rect shape is the default fallback for unknown / unset shape types.
824
- *
825
- * Resolution order is DIAGRAM-FIRST, then process-global. A diagram that
826
- * contributed its own `badge` sees its own; every other diagram — and this one,
827
- * for every name it did not claim — still sees the global registry. See
828
- * `ext/registry-scope.ts` for why the lookup is ambient rather than threaded.
829
- */
830
- function getShape(type) {
831
- var _a, _b, _c;
832
- if (!type)
833
- return RectShape;
834
- return (_c = (_b = (_a = (0, registry_scope_1.scopedTable)(registry_scope_1.SHAPES)) === null || _a === void 0 ? void 0 : _a.get(type)) !== null && _b !== void 0 ? _b : registry.get(type)) !== null && _c !== void 0 ? _c : RectShape;
835
- }
836
- /** Whether a shape type is registered (excludes the implicit rect fallback). */
837
- function hasShape(type) {
838
- var _a;
839
- return ((_a = (0, registry_scope_1.scopedTable)(registry_scope_1.SHAPES)) === null || _a === void 0 ? void 0 : _a.has(type)) === true || registry.has(type);
840
- }
841
- /** All registered shape type names (built-ins + extended library + aliases). */
842
- function listShapes() {
843
- const scoped = (0, registry_scope_1.scopedTable)(registry_scope_1.SHAPES);
844
- if (!scoped || scoped.size === 0)
845
- return [...registry.keys()];
846
- // Union, global order first, so an override renames nothing and adds nothing twice.
847
- return [...new Set([...registry.keys(), ...scoped.keys()])];
848
- }
849
- // ---------------------------------------------------------------------------
850
- // Wave 6 — Card 0: removal + invalidation.
851
- //
852
- // The registry previously had NO removal path and NO change signal, which made
853
- // a leak-free `ExtensionHost` disposer impossible to synthesize: an extension
854
- // could add a shape but never take it back, so tearing an extension down left
855
- // its shapes live forever. These are PURELY ADDITIVE — `registerShape` and the
856
- // lookup path above are untouched — and they are what `shapes.register()` on the
857
- // ExtensionHost returns its disposer against.
858
- //
859
- // The version counter mirrors the one edge-templates and the style registry
860
- // already expose, so a renderer can invalidate a cached VNode when the shape
861
- // catalogue changes underneath it.
862
- // ---------------------------------------------------------------------------
863
- let shapeVersion = 0;
864
- const shapeListeners = new Set();
865
- function bumpShapes() {
866
- shapeVersion++;
867
- for (const listener of [...shapeListeners])
868
- listener();
869
- }
870
- /** Remove a registered shape. Returns false when the type was not registered. */
871
- function unregisterShape(type) {
872
- const existed = registry.delete(type);
873
- if (existed)
874
- bumpShapes();
875
- return existed;
876
- }
877
- /**
878
- * Snapshot the current catalogue, so a caller can restore it later. Used by the
879
- * ExtensionHost to give a scoped extension an exact "undo" even when it OVERWROTE
880
- * an existing shape rather than adding a new one.
881
- */
882
- function getShapeDefinition(type) {
883
- var _a, _b;
884
- return (_b = (_a = (0, registry_scope_1.scopedTable)(registry_scope_1.SHAPES)) === null || _a === void 0 ? void 0 : _a.get(type)) !== null && _b !== void 0 ? _b : registry.get(type);
885
- }
886
- /**
887
- * Monotonic counter, incremented on every add/remove. Cheap cache key.
888
- * NOTE: `registerShape` itself bumps it — see the wrapper installed below.
889
- */
890
- function getShapeRegistryVersion() {
891
- return shapeVersion;
892
- }
893
- /** Subscribe to catalogue changes. Returns a disposer. */
894
- function onShapeRegistryChange(listener) {
895
- shapeListeners.add(listener);
896
- return () => shapeListeners.delete(listener);
897
- }
898
- /** Internal: let `registerShape` participate in the version/notify protocol. */
899
- function notifyShapeRegistered() {
900
- bumpShapes();
901
- }
902
- /**
903
- * The label box for a shape in local coords. Falls back to a padded bounding
904
- * box when the shape doesn't override `innerRect`.
905
- */
906
- function getInnerRect(def, width, height) {
907
- return def.innerRect ? def.innerRect(width, height) : defaultInnerRect(width, height);
908
- }
909
- /** Padded-bbox label box: inset by up to 8px, clamped so it never inverts. */
910
- function defaultInnerRect(width, height) {
911
- const pad = Math.max(0, Math.min(8, width / 2 - 1, height / 2 - 1));
912
- return { x: pad, y: pad, w: width - 2 * pad, h: height - 2 * pad };
913
- }
914
- // Register the five built-ins.
915
- for (const def of [RectShape, CircleShape, EllipseShape, DiamondShape, HexagonShape]) {
916
- registry.set(def.type, def);
917
- }
918
- // Register the extended flowchart / BPMN / UML / ERD figure library. Each is a
919
- // full ShapeDefinition, so it works everywhere the built-ins do — no switch
920
- // edits at any of the five render sites.
921
- for (const def of [
922
- ParallelogramShape,
923
- ParallelogramTopShape,
924
- TrapezoidShape,
925
- TrapezoidBottomShape,
926
- TriangleShape,
927
- TriangleDownShape,
928
- PackageShape,
929
- CubeShape,
930
- DocumentShape,
931
- CylinderShape,
932
- CloudShape,
933
- PredefinedProcessShape,
934
- ComponentShape,
935
- NoteShape,
936
- TerminalShape,
937
- ActorShape,
938
- ]) {
939
- registry.set(def.type, def);
940
- }
941
- // Common aliases (draw.io / mermaid / BPMN vocabulary) → the same definitions.
942
- const SHAPE_ALIASES = {
943
- data: ParallelogramShape, // flowchart I/O
944
- 'input-output': ParallelogramShape,
945
- database: CylinderShape,
946
- cylinder3d: CylinderShape,
947
- subroutine: PredefinedProcessShape,
948
- 'predefined-process-alt': PredefinedProcessShape,
949
- stadium: TerminalShape,
950
- pill: TerminalShape,
951
- terminator: TerminalShape,
952
- 'manual-operation': TrapezoidShape, // narrow-bottom in some dialects; near enough
953
- folder: PackageShape,
954
- comment: NoteShape,
955
- 'use-case-actor': ActorShape,
956
- };
957
- for (const [alias, def] of Object.entries(SHAPE_ALIASES)) {
958
- registry.set(alias, def);
959
- }
960
- // ---------------------------------------------------------------------------
961
- // VNode builders — turn a ShapeDefinition + styles into the exact VNodes the
962
- // three render sites used to build inline. Kept here so all shape geometry and
963
- // its style-composition rules live together.
964
- // ---------------------------------------------------------------------------
965
- /**
966
- * Node body VNode. Reproduces the historical per-shape style composition:
967
- * - 'inline' shapes (rect/circle/diamond) hoist fill/stroke/strokeWidth into
968
- * an inline `style` string (highest CSS specificity) and pass the rest
969
- * through; circle strips the meaningless rect rx/ry.
970
- * - 'spread' shapes (ellipse/hexagon) spread node styles as presentation
971
- * attributes with geometry merged last.
972
- */
973
- /** CSS property name for each paint key that may carry a `var()` reference. */
974
- const CSS_PAINT_PROPS = {
975
- fill: 'fill',
976
- stroke: 'stroke',
977
- strokeWidth: 'stroke-width',
978
- };
979
- /**
980
- * Pull any paint whose value is a `var(--…)` reference out of the attribute bag
981
- * and into an inline CSS style string (where variables are legal).
982
- *
983
- * `hoisted` is `''` when nothing needed moving — the overwhelmingly common case,
984
- * and the caller then emits the original props untouched.
985
- */
986
- function hoistCssVarPaints(styles) {
987
- const rest = Object.assign({}, styles);
988
- const decls = [];
989
- for (const [key, cssProp] of Object.entries(CSS_PAINT_PROPS)) {
990
- const value = rest[key];
991
- if (typeof value === 'string' && value.includes('var(')) {
992
- decls.push(`${cssProp}: ${value}`);
993
- delete rest[key];
994
- }
995
- }
996
- if (decls.length === 0)
997
- return { hoisted: '', rest };
998
- // Preserve an existing style string, with the hoisted paints appended so they
999
- // still win over anything the caller had already put there.
1000
- const existing = typeof rest['style'] === 'string' ? rest['style'] : '';
1001
- delete rest['style'];
1002
- return { hoisted: [existing, decls.join('; ')].filter(Boolean).join('; '), rest };
1003
- }
1004
- function buildShapeBody(def, width, height, cornerRadius,
1005
- // `any` (not Record<string, any>) so the inline `style` string below is
1006
- // accepted — matches the original render helpers' loosely-typed styles arg.
1007
- styles) {
1008
- var _a, _b;
1009
- const spec = def.outline(width, height, { radius: cornerRadius, radiusY: true });
1010
- if (def.styleMode === 'spread') {
1011
- // TWO bugs met on this line, found independently by the export and the theming
1012
- // work. Both are the same root cause — a 'spread' shape paints through
1013
- // PRESENTATION ATTRIBUTES — and the fix for one subsumes the other:
1014
- //
1015
- // 1. A presentation attribute LOSES to any author stylesheet rule. So
1016
- // `[data-grafloria-instance] .diagram-node { fill: var(--grafloria-node-fill) }`
1017
- // beat `fill="#e8f5e9"`, and in CSS mode an ellipse/hexagon (and every
1018
- // 'spread' figure) silently rendered the THEME fill instead of its own.
1019
- // 'inline' shapes never had this, because they hoist the same values into
1020
- // an inline `style`, which DOES beat the stylesheet — the two style modes
1021
- // simply disagreed about the cascade.
1022
- // 2. An attribute cannot hold a CSS variable: `fill="var(--grafloria-…)"` is
1023
- // invalid, the attribute is dropped, and the shape paints BLACK. Wave 4
1024
- // made that reachable, because a theme-bound property (`themeRef(...)`)
1025
- // emits exactly such a var() reference.
1026
- //
1027
- // Hoisting EVERY paint into the inline style fixes both: inline style outranks
1028
- // the stylesheet (1) and is the one place var() is legal (2). The presentation
1029
- // attributes are KEPT, because Canvas/programmatic consumers and existing tests
1030
- // read props.fill — and where the value is a var(), the inline style is what
1031
- // actually paints.
1032
- const inlineStyle = composeInlineStyle(styles);
1033
- // Literal paints KEEP their presentation attribute (Canvas + programmatic
1034
- // consumers and the existing tests read props.fill). A var() paint DROPS it:
1035
- // the attribute is invalid, so it is not merely outranked — it is garbage that
1036
- // every downstream consumer would have to special-case (the headless exporter
1037
- // would write `fill="var(--…)"` into a standalone file, where nothing resolves
1038
- // it and the shape paints BLACK).
1039
- const { rest } = hoistCssVarPaints(styles);
1040
- return {
1041
- type: spec.el,
1042
- props: Object.assign(Object.assign(Object.assign({}, rest), (inlineStyle ? { style: mergeInlineStyle(styles.style, inlineStyle) } : {})), spec.geom),
1043
- };
1044
- }
1045
- // Split geometry into pre/post so deferred keys (rect rx/ry) win over any
1046
- // same-named key arriving via the pass-through styles.
1047
- const deferKeys = (_a = def.bodyDeferGeomKeys) !== null && _a !== void 0 ? _a : [];
1048
- const pre = {};
1049
- const post = {};
1050
- for (const [k, v] of Object.entries(spec.geom)) {
1051
- (deferKeys.includes(k) ? post : pre)[k] = v;
1052
- }
1053
- const { fill, stroke, strokeWidth, className } = styles, rest = tslib_1.__rest(styles, ["fill", "stroke", "strokeWidth", "className"]);
1054
- for (const k of (_b = def.bodyStripKeys) !== null && _b !== void 0 ? _b : [])
1055
- delete rest[k];
1056
- const inlineStyle = composeInlineStyle({ fill, stroke, strokeWidth });
1057
- return {
1058
- type: spec.el,
1059
- props: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, pre), (className ? { className } : {})), (inlineStyle ? { style: inlineStyle } : {})), rest), post),
1060
- };
1061
- }
1062
- /**
1063
- * The paint values a node body must carry as an INLINE style, so they beat the
1064
- * themed `.diagram-node` stylesheet rule (a presentation attribute would not).
1065
- * Returns '' when no layer above the theme set anything — which is what lets an
1066
- * untouched node still fall back to the theme.
1067
- */
1068
- function composeInlineStyle(styles) {
1069
- return [
1070
- styles.fill ? `fill: ${styles.fill}` : '',
1071
- styles.stroke ? `stroke: ${styles.stroke}` : '',
1072
- styles.strokeWidth !== undefined ? `stroke-width: ${styles.strokeWidth}` : '',
1073
- ]
1074
- .filter(Boolean)
1075
- .join('; ');
1076
- }
1077
- /** Append the hoisted paint to a style the caller already had (string or object form). */
1078
- function mergeInlineStyle(existing, hoisted) {
1079
- if (existing === null || existing === undefined || existing === '')
1080
- return hoisted;
1081
- if (typeof existing === 'string')
1082
- return `${existing}; ${hoisted}`;
1083
- const parts = Object.entries(existing)
1084
- .filter(([, v]) => v !== null && v !== undefined)
1085
- .map(([k, v]) => `${k.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase()}: ${v}`);
1086
- return [...parts, hoisted].join('; ');
1087
- }
1088
- /** Selection-highlight VNode: the outline grown by `padding`, plus baseProps. */
1089
- function buildShapeSelection(def, width, height, padding, baseProps) {
1090
- const spec = def.outline(width, height, { grow: padding, radius: 6, radiusY: true });
1091
- return { type: spec.el, props: Object.assign(Object.assign({}, spec.geom), baseProps) };
1092
- }
1093
- /** Drop-shadow VNode: the outline offset by (offset, offset), plus baseProps. */
1094
- function buildShapeShadow(def, width, height, offset, borderRadius, baseProps) {
1095
- const spec = def.outline(width, height, {
1096
- dx: offset,
1097
- dy: offset,
1098
- radius: borderRadius,
1099
- radiusAlways: true,
1100
- radiusY: false,
1101
- });
1102
- return { type: spec.el, props: Object.assign(Object.assign({}, spec.geom), baseProps) };
1103
- }
1104
- //# sourceMappingURL=shape-registry.js.map