@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,1150 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createDiagram = createDiagram;
4
- exports.contentBounds = contentBounds;
5
- const tslib_1 = require("tslib");
6
- const engine_1 = require("@grafloria/engine");
7
- const comment_overlay_1 = require("../comments/comment-overlay");
8
- const capture_host_1 = require("../export/capture-host");
9
- const assets_1 = require("../export/assets");
10
- const svg_renderer_1 = require("../svg/svg-renderer");
11
- const patch_1 = require("../vnode/patch");
12
- const interaction_controller_1 = require("../interaction/interaction-controller");
13
- const viewport_controller_1 = require("../viewport/viewport-controller");
14
- const render_scheduler_1 = require("./render-scheduler");
15
- const dom_event_binder_1 = require("./dom-event-binder");
16
- const model_input_1 = require("./model-input");
17
- const layers_1 = require("./layers");
18
- const platform_1 = require("../platform");
19
- const host_culling_1 = require("../lazy/host-culling");
20
- function createDiagram(container, options = {}) {
21
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v;
22
- if (!(0, platform_1.isBrowser)()) {
23
- // A clear failure beats a mysterious `document is not defined` five frames
24
- // deep. The server path is `renderToStaticSVG()`; the client then hydrates.
25
- throw new Error('createDiagram() requires a browser DOM. On the server call renderToStaticSVG() ' +
26
- 'and hydrate with createDiagram(el, { hydrate: snapshot }) in an effect.');
27
- }
28
- const hydration = options.hydrate;
29
- const doc = container.ownerDocument;
30
- // -- engine + model ---------------------------------------------------------
31
- const engine = (_a = options.engine) !== null && _a !== void 0 ? _a : new engine_1.DiagramEngine(options.interaction ? { interaction: options.interaction } : {});
32
- const model = (_b = engine.getDiagram()) !== null && _b !== void 0 ? _b : engine.createDiagram('grafloria');
33
- // Wave 6 BUG FIX. This used to be `applyNodes(model, options.nodes ?? [])`.
34
- //
35
- // `applyNodes`/`applyEdges` are full RECONCILERS — anything not in the list is
36
- // REMOVED. So passing no `nodes` reconciled against the EMPTY list and silently
37
- // deleted every node already on the diagram. That made the documented
38
- // "attach to an existing engine" path (`createDiagram(el, { engine })`) wipe
39
- // the very diagram it was attaching to.
40
- //
41
- // Absent means "I am not managing this" — NOT "make it empty". A host that
42
- // really wants to clear the diagram passes `nodes: []` explicitly, which still
43
- // works.
44
- if (options.nodes)
45
- (0, model_input_1.applyNodes)(model, options.nodes);
46
- if (options.edges)
47
- (0, model_input_1.applyEdges)(model, options.edges);
48
- // -- camera -----------------------------------------------------------------
49
- const rect0 = container.getBoundingClientRect();
50
- const viewport = new viewport_controller_1.ViewportController({
51
- viewport: {
52
- x: (_e = (_c = hydration === null || hydration === void 0 ? void 0 : hydration.viewport.x) !== null && _c !== void 0 ? _c : (_d = options.viewport) === null || _d === void 0 ? void 0 : _d.x) !== null && _e !== void 0 ? _e : 0,
53
- y: (_h = (_f = hydration === null || hydration === void 0 ? void 0 : hydration.viewport.y) !== null && _f !== void 0 ? _f : (_g = options.viewport) === null || _g === void 0 ? void 0 : _g.y) !== null && _h !== void 0 ? _h : 0,
54
- // Hydration MUST reuse the server's canvas size or the viewBox differs and
55
- // the very first client frame would re-lay-out the picture.
56
- width: (_k = (_j = hydration === null || hydration === void 0 ? void 0 : hydration.width) !== null && _j !== void 0 ? _j : rect0.width) !== null && _k !== void 0 ? _k : 800,
57
- height: (_m = (_l = hydration === null || hydration === void 0 ? void 0 : hydration.height) !== null && _l !== void 0 ? _l : rect0.height) !== null && _m !== void 0 ? _m : 600,
58
- },
59
- zoom: (_p = (_o = hydration === null || hydration === void 0 ? void 0 : hydration.zoom) !== null && _o !== void 0 ? _o : options.zoom) !== null && _p !== void 0 ? _p : 1,
60
- minZoom: options.minZoom,
61
- maxZoom: options.maxZoom,
62
- zoomSensitivity: options.zoomSensitivity,
63
- });
64
- // -- layers -----------------------------------------------------------------
65
- const layers = ensureLayers(container, doc, hydration);
66
- // -- renderer + patcher -----------------------------------------------------
67
- // Wave 10 BUG FIX. This used to forward `instanceId` and NOTHING ELSE.
68
- //
69
- // `SVGRendererConfig` has carried `colorMode`, `themes` and `tokenBridge` for
70
- // two waves. `createDiagram()` is the ONLY way a host builds a renderer — so
71
- // dropping them here made all three unreachable, and with them:
72
- //
73
- // - `colorMode: 'system'`, i.e. following the OS colour scheme at all, and
74
- // the a11y upgrade where `prefers-contrast: more` / forced-colors promotes
75
- // you to the high-contrast theme instead of flashing light at the user.
76
- // The themes existed. The controller existed. Nothing could switch them on.
77
- // - the shadcn / MUI / Tailwind design-token bridge — the whole point of
78
- // which is that a HOST re-points Grafloria's variables at its own tokens.
79
- //
80
- // Three features, fully built and fully tested, lost in a five-line literal.
81
- const renderer = new svg_renderer_1.SVGRenderer(engine, Object.assign(Object.assign({}, ((_q = options.renderer) !== null && _q !== void 0 ? _q : {})), { instanceId: (_r = hydration === null || hydration === void 0 ? void 0 : hydration.instanceId) !== null && _r !== void 0 ? _r : options.instanceId, colorMode: (_s = options.colorMode) !== null && _s !== void 0 ? _s : (_t = options.renderer) === null || _t === void 0 ? void 0 : _t.colorMode, themes: options.themes, tokenBridge: options.tokenBridge,
82
- // "My picture improved with no model change — repaint me." Fired by the
83
- // async route solver's refinements and by motion-stable routing's settle
84
- // frame (a tween's provisional routes re-deciding once motion stops).
85
- // Neither has a model event to ride, so without this wire both improved
86
- // pictures were unreachable from a real instance: the renderer bumped its
87
- // invalidation epoch and nobody ever asked the scheduler for a frame.
88
- // Late-bound on purpose — `scheduler` is constructed below and this
89
- // callback only ever fires asynchronously, after mount. The host's own
90
- // callback (if any) is chained, not replaced.
91
- onRoutesRefined: () => {
92
- var _a, _b;
93
- (_b = (_a = options.renderer) === null || _a === void 0 ? void 0 : _a.onRoutesRefined) === null || _b === void 0 ? void 0 : _b.call(_a);
94
- scheduler.schedule();
95
- } }), options.theme);
96
- renderer.applyInstanceScope(layers.root);
97
- // The lazy subsystem (freeze / autoFreeze / progressive mount) has existed since wave 8
98
- // and was reachable only by building an `SVGRenderer` yourself — i.e. not from the
99
- // factory that every host actually uses. Absent leaves the renderer ungated, which is
100
- // exactly what it did before this line existed.
101
- if (options.viewLifecycle)
102
- renderer.setViewLifecycle(options.viewLifecycle);
103
- const patcher = new patch_1.VNodePatcher({ document: doc });
104
- // -- events -----------------------------------------------------------------
105
- const listeners = new Map();
106
- const emit = (event, payload) => {
107
- const set = listeners.get(event);
108
- if (!set)
109
- return;
110
- // Copy: a handler is allowed to unsubscribe itself.
111
- for (const listener of [...set])
112
- listener(payload);
113
- };
114
- // -- comments ---------------------------------------------------------------
115
- // The overlay hooks the renderer's comment source, so pins render inside the
116
- // VNode tree (they survive export and pan/zoom for free).
117
- let commentStore = null;
118
- let commentOverlay = null;
119
- if (options.comments) {
120
- commentStore =
121
- options.comments === true
122
- ? new engine_1.CommentStore(model, { viewer: (_u = options.commentsViewer) !== null && _u !== void 0 ? _u : 'local' })
123
- : options.comments;
124
- commentOverlay = new comment_overlay_1.CommentOverlayController(commentStore, renderer);
125
- }
126
- // -- interaction ------------------------------------------------------------
127
- const interaction = new interaction_controller_1.InteractionController();
128
- interaction.syncWithEngineConfig(engine);
129
- // The link grab distance derives from the renderer's interaction-stroke
130
- // width; a host override must reach BOTH sides or the painted hit-area and
131
- // the accepted press drift apart again.
132
- if (((_v = options.renderer) === null || _v === void 0 ? void 0 : _v.linkHitAreaWidth) !== undefined) {
133
- interaction.setLinkHitAreaWidth(options.renderer.linkHitAreaWidth);
134
- }
135
- const getRect = () => container.getBoundingClientRect();
136
- const scheduler = new render_scheduler_1.RenderScheduler({
137
- onFrame: () => paint(),
138
- shouldSkip: () => canSkipFrame(),
139
- });
140
- const binder = new dom_event_binder_1.DomEventBinder(container, {
141
- getEngine: () => engine,
142
- viewport,
143
- interaction,
144
- getRect,
145
- requestRender: () => scheduler.schedule(),
146
- emit,
147
- }, options);
148
- // -- custom (HTML-layer) nodes ---------------------------------------------
149
- //
150
- // `nodeHosts` is the record of every host this instance OWNS — not of what is in the
151
- // document. In `'detach'` cull mode a culled host stays in this map with its element
152
- // parked off-document, which is what keeps the two teardown paths below (model removal,
153
- // and `dispose()`) correct without either of them learning that culling exists: a node
154
- // that is culled and then deleted still fires `removeCustomNode` exactly once, because
155
- // it never left the map.
156
- const nodeHosts = new Map();
157
- const culler = options.cullCustomNodes
158
- ? new host_culling_1.HtmlHostCuller(options.cullCustomNodes === true ? {} : options.cullCustomNodes, renderer.getViewLifecycle())
159
- : null;
160
- /**
161
- * Nodes a live gesture owns, which must never be culled out from under it.
162
- *
163
- * Built only when culling is on — a host that never opted in pays not even the Set.
164
- */
165
- const gestureHeld = () => {
166
- const ids = new Set(binder.getDraggingNodeIds());
167
- // Resize / rotate / vertex. `SelectionToolsController` keeps the gesture's node
168
- // private and these gestures are single-selection by construction, so the selection
169
- // is the available answer — and being a superset is the safe direction to be wrong in.
170
- if (binder.hasActiveGesture()) {
171
- for (const node of model.getSelectedNodes())
172
- ids.add(node.id);
173
- }
174
- return ids;
175
- };
176
- /** The lifecycle the culler consults, read once so the export can consult it too. */
177
- const lifecycle = renderer.getViewLifecycle();
178
- /**
179
- * THE PAINT LEDGER — what an ASYNC `renderCustomNode` told us about itself.
180
- *
181
- * `pendingPaints` holds one entry per widget whose painter returned a promise that has
182
- * not settled; the entry deletes itself when it does. `paintFailures` remembers the ones
183
- * that rejected, so an export can say "its painter rejected: …" instead of the useless
184
- * "its host was empty".
185
- *
186
- * Both are keyed by node id and both are written ONLY on a first mount, because
187
- * `renderCustomNode` runs exactly once per host — so there is exactly one promise per
188
- * widget, ever, and re-attaching a culled host neither re-runs nor re-awaits anything.
189
- */
190
- const pendingPaints = new Map();
191
- const paintFailures = new Map();
192
- const isThenable = (value) => value !== null &&
193
- (typeof value === 'object' || typeof value === 'function') &&
194
- typeof value.then === 'function';
195
- /**
196
- * Record what a painter returned.
197
- *
198
- * The `.then` here is also what keeps a rejecting painter from surfacing as an unhandled
199
- * rejection in the host's console — we are the ones who asked for the promise, so we are
200
- * the ones who must handle it, whether or not an export ever happens.
201
- */
202
- const trackPaint = (id, result) => {
203
- if (!isThenable(result))
204
- return;
205
- try {
206
- const settled = Promise.resolve(result).then(() => undefined, (error) => {
207
- paintFailures.set(id, error instanceof Error ? error.message : String(error));
208
- });
209
- const entry = settled.then(() => {
210
- // Identity-checked: a 'destroy'-mode remount replaces the entry, and a stale
211
- // promise settling afterwards must not delete its successor.
212
- if (pendingPaints.get(id) === entry)
213
- pendingPaints.delete(id);
214
- });
215
- pendingPaints.set(id, entry);
216
- }
217
- catch (_a) {
218
- // A broken thenable is not worth taking a frame down for. It simply is not tracked,
219
- // and its widget degrades exactly as an unreadable host already does.
220
- }
221
- };
222
- /** World bounds of a custom node — the rect both the culler and the capture work in. */
223
- const nodeBounds = (node) => {
224
- var _a, _b, _c, _d;
225
- return ({
226
- x: node.position.x,
227
- y: node.position.y,
228
- width: (_b = (_a = node.size) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 0,
229
- height: (_d = (_c = node.size) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : 0,
230
- });
231
- };
232
- /**
233
- * Create-or-re-attach one custom node's host and place it.
234
- *
235
- * Shared by the frame loop and the export boundary deliberately: the two must agree
236
- * byte for byte on what a host is (the class, the `data-node-id`, the style, and above
237
- * all the mount-once rule that `renderCustomNode` fires only when the element is
238
- * created). Two copies of this would drift, and the drift would be silent.
239
- *
240
- * The element is put in `nodeHosts` and in the document BEFORE the painter runs, which
241
- * is what lets the export boundary undo a mount whose painter threw.
242
- */
243
- const mountHost = (node) => {
244
- var _a;
245
- let host = nodeHosts.get(node.id);
246
- if (!host) {
247
- host = doc.createElement('div');
248
- host.setAttribute('data-node-id', node.id);
249
- host.className = 'grafloria-node-host';
250
- layers.html.appendChild(host);
251
- nodeHosts.set(node.id, host);
252
- // A fresh paint supersedes whatever the last one ended in — only reachable in
253
- // 'destroy' cull mode, which is the one mode that re-runs a painter.
254
- pendingPaints.delete(node.id);
255
- paintFailures.delete(node.id);
256
- // The RETURN VALUE is the whole async contract: a painter that is not finished says
257
- // so by handing back a promise. Sync painters return undefined and cost nothing.
258
- trackPaint(node.id, (_a = options.renderCustomNode) === null || _a === void 0 ? void 0 : _a.call(options, node, host));
259
- }
260
- else if (!host.parentNode) {
261
- // Re-entry after a detach cull: the SAME element goes back, with its subtree, its
262
- // scroll offset, its canvas bitmap and its event listeners intact. `renderCustomNode`
263
- // is NOT called again — "a custom node mounts exactly once" is a promise neither the
264
- // cull nor the export is allowed to break.
265
- layers.html.appendChild(host);
266
- }
267
- host.setAttribute('style', (0, layers_1.nodeHostStyle)(node.position.x, node.position.y, node.size.width, node.size.height));
268
- };
269
- /**
270
- * Hosts an in-flight ASYNC capture is holding open, which no frame may cull.
271
- *
272
- * Only an async export can populate this, and only for as long as it is waiting. The
273
- * synchronous capture materializes, reads and restores inside one tick with no
274
- * suspension point, so nothing can run in the middle of it and it needs no pin.
275
- *
276
- * Without this, waiting for a painter would be self-defeating: real frames run WHILE we
277
- * wait (that is what "async" means here), and one of them culling the very host we are
278
- * waiting on would hand the capture a detached element — no layout box, every rect zero,
279
- * a blank widget. An animated pan during an export would silently empty it. In 'destroy'
280
- * mode it is worse than blank: the frame fires `removeCustomNode` and drops the host, so
281
- * the export's own teardown would fire a SECOND time on an element the embedder has
282
- * already disposed.
283
- */
284
- const pinnedHosts = new Set();
285
- const syncCustomNodes = () => {
286
- var _a, _b;
287
- const wanted = new Set();
288
- // The viewBox, not `getViewport()`: the two diverge at any zoom != 1 and culling
289
- // against the camera rect drops hosts that are on screen whenever the board is zoomed
290
- // out — which fitView() always does.
291
- if (culler)
292
- culler.beginFrame(viewport.getViewBox(), viewport.getZoom(), gestureHeld());
293
- for (const node of model.getNodes()) {
294
- if (!node.getMetadata('useHTMLLayer'))
295
- continue;
296
- wanted.add(node.id);
297
- const existing = nodeHosts.get(node.id);
298
- if (culler && !pinnedHosts.has(node.id)) {
299
- // `existing?.parentNode` — the DOM's own answer to "is this mounted", rather than a
300
- // bookkeeping set that can drift from it. Feeding the CURRENT state back in is what
301
- // makes the hysteresis band work: which of the two rects applies depends on where
302
- // the host already is.
303
- if (!culler.admits(node.id, nodeBounds(node), !!(existing === null || existing === void 0 ? void 0 : existing.parentNode))) {
304
- if (existing) {
305
- if (culler.getMode() === 'destroy') {
306
- (_a = options.removeCustomNode) === null || _a === void 0 ? void 0 : _a.call(options, node.id, existing);
307
- existing.remove();
308
- nodeHosts.delete(node.id);
309
- }
310
- else if (existing.parentNode) {
311
- // DETACH ONLY. No `removeCustomNode` — the component was not unmounted, it
312
- // is parked. Firing the teardown hook here would be a lie the host would act
313
- // on (disposing a chart it is about to be handed back).
314
- existing.remove();
315
- }
316
- }
317
- // …and no style write. That is most of the saving: a 400-widget board stops
318
- // paying 400 `setAttribute` calls per frame to position elements nobody sees.
319
- continue;
320
- }
321
- }
322
- mountHost(node);
323
- }
324
- for (const [id, host] of [...nodeHosts]) {
325
- if (wanted.has(id))
326
- continue;
327
- (_b = options.removeCustomNode) === null || _b === void 0 ? void 0 : _b.call(options, id, host);
328
- host.remove();
329
- nodeHosts.delete(id);
330
- }
331
- };
332
- /**
333
- * The custom nodes an export with this scope will contain — the one definition of
334
- * "in scope", shared by everything that has to agree on it (what gets materialized,
335
- * what gets pinned, what gets waited for).
336
- *
337
- * WHAT IT WILL NOT INCLUDE. An explicit {@link ViewLifecycle} freeze is skipped, and
338
- * that is not timidity: `SVGRenderer.render` gates every entity on
339
- * `ViewLifecycle.admits`, so the render pass of this very export omits a frozen node.
340
- * Capturing its widget would put content in the file with no node beneath it, and
341
- * stretch the fitted viewBox to reach a node the same file does not draw.
342
- */
343
- const exportableCustomNodes = (needed) => model
344
- .getNodes()
345
- .filter((node) => !!node.getMetadata('useHTMLLayer') &&
346
- needed(node) &&
347
- !(lifecycle === null || lifecycle === void 0 ? void 0 : lifecycle.isExplicitlyFrozen('node', node.id)));
348
- /**
349
- * FORCE-MATERIALIZE the hosts an export is about to read, and hand back the undo.
350
- *
351
- * THE GAP THIS CLOSES. Culling means a widget the camera has never reached has never
352
- * been painted, so there is nothing in the document to capture; a widget culling
353
- * detached has an element with no layout box, which every `getBoundingClientRect()`
354
- * reports as zero. Either way the export used to emit an empty box, and the option's
355
- * own documentation told the caller to "pan or fitView() first". That is not a
356
- * workaround anyone can apply from a headless print job, a thumbnailer or a server —
357
- * and it made `cullCustomNodes`, a PERFORMANCE knob, silently change what comes out of
358
- * a file. A performance knob that loses data is not a performance knob.
359
- *
360
- * So the rule is now: **an export contains the same widgets whether culling is on or
361
- * off.** The capture mounts what it needs, reads it, and puts the document back.
362
- *
363
- * PUTS IT BACK, precisely — because an export that permanently mounted a 300-widget
364
- * board would just be a different bug:
365
- *
366
- * was 'attached' nothing to do, nothing to undo. Already live, already correct.
367
- * was 'detached' re-attached to be read, then detached again. `renderCustomNode`
368
- * never re-runs, so mount-once is untouched.
369
- * was 'absent' created and painted — a legitimate FIRST mount, not a second one.
370
- * Then re-culled to whatever the configured mode means:
371
- * • 'detach' — parked off-document, retained. Identical to what a
372
- * pan across the board and back leaves behind, and it keeps the
373
- * promise that this widget's painter runs exactly once, ever.
374
- * • 'destroy' — torn down for real (`removeCustomNode` fires). That
375
- * mode exists to BOUND THE HEAP, so leaving hosts retained would
376
- * defeat it outright; the balanced mount/unmount an export
377
- * performs is the same lifecycle a pan already produces, and a
378
- * 'destroy' embedder has accepted that its painter re-runs.
379
- * • no culler at all — left mounted. There is no culled state to
380
- * restore to, and the documented default is that every custom
381
- * host is permanently in the document, so this is the state the
382
- * next frame would have produced anyway. (Reachable by exporting
383
- * between `setNodes()` and the frame it schedules — which used to
384
- * export blank widgets, and no longer does.)
385
- *
386
- * WHAT IT WILL NOT OVERRULE is decided by `exportableCustomNodes` above — an explicit
387
- * {@link ViewLifecycle} freeze is skipped, and it says why.
388
- *
389
- * WHAT IT CANNOT DO ON ITS OWN. `renderCustomNode` is called here and read on the next
390
- * line, because `exportSvgString()` is synchronous by contract. A painter that defers
391
- * its paint has not drawn anything by the time we look. That is what the async path
392
- * below exists for; the synchronous one still reports it rather than exporting a
393
- * silent blank.
394
- */
395
- const materializeCustomNodes = (needed) => {
396
- var _a;
397
- const undo = [];
398
- for (const node of exportableCustomNodes(needed)) {
399
- if ((_a = nodeHosts.get(node.id)) === null || _a === void 0 ? void 0 : _a.parentNode)
400
- continue; // already live — leave it alone
401
- const was = nodeHosts.has(node.id) ? 'detached' : 'absent';
402
- try {
403
- mountHost(node);
404
- }
405
- catch (_b) {
406
- // A FIRST-MOUNT PAINTER THAT THROWS must not take the export with it. This is the
407
- // only place a widget's painter runs outside a frame, so letting it propagate
408
- // would abort the whole export AND strand every host materialized before it.
409
- // `mountHost` registers the element before it calls the painter, so the undo below
410
- // is still knowable, and the capture degrades to the marked box and warning that
411
- // every unreadable host already gets.
412
- }
413
- const host = nodeHosts.get(node.id);
414
- if (!host)
415
- continue;
416
- if (was === 'detached' || !culler) {
417
- if (was === 'detached')
418
- undo.push(() => host.remove());
419
- }
420
- else if (culler.getMode() === 'destroy') {
421
- undo.push(() => {
422
- var _a;
423
- // IDENTITY-CHECKED, because the async path can suspend between the mount and
424
- // this undo. If the node left the model while we waited, the frame's own
425
- // teardown loop has already fired `removeCustomNode` and dropped the host —
426
- // firing again would dispose an embedder's component twice. In the synchronous
427
- // path nothing can run in between, so this is always true and changes nothing.
428
- if (nodeHosts.get(node.id) !== host)
429
- return;
430
- (_a = options.removeCustomNode) === null || _a === void 0 ? void 0 : _a.call(options, node.id, host);
431
- host.remove();
432
- nodeHosts.delete(node.id);
433
- });
434
- }
435
- else {
436
- undo.push(() => host.remove());
437
- }
438
- }
439
- return () => {
440
- for (const restore of undo)
441
- restore();
442
- };
443
- };
444
- /**
445
- * Why this widget's capture may be short, in the words a developer can act on.
446
- *
447
- * `waited` distinguishes the two ways an unfinished painter reaches an export, because
448
- * they have different fixes: the synchronous entry points CANNOT wait and the caller
449
- * should move to `await export(…)`; the asynchronous one waited and gave up, and the
450
- * caller should raise the deadline or find out why the painter never settles.
451
- */
452
- const paintWarning = (id, waited, timeoutMs) => {
453
- const failure = paintFailures.get(id);
454
- if (failure !== undefined) {
455
- return (`custom node "${id}" — its renderCustomNode promise REJECTED (${failure}), so whatever ` +
456
- 'it had not drawn by then is missing from this export.');
457
- }
458
- if (!pendingPaints.has(id))
459
- return undefined;
460
- if (waited) {
461
- return (`custom node "${id}" did not finish painting within ${timeoutMs}ms — captured as it ` +
462
- 'stood at the deadline, which may be partial or blank. Raise ' +
463
- 'ExportOptions.customNodeTimeout, or check why its renderCustomNode promise never settles.');
464
- }
465
- return (`custom node "${id}" is STILL PAINTING asynchronously (its renderCustomNode returned a ` +
466
- 'promise that has not settled). exportSvgString() / exportPdf() are synchronous by ' +
467
- "contract and cannot wait — use `await diagram.export('svg' | 'pdf' | 'png', …)`, which does.");
468
- };
469
- /**
470
- * THE EXPORT BOUNDARY for HTML-layer nodes.
471
- *
472
- * A custom node paints into a raw host that is a SIBLING of the SVG, so the VNode
473
- * tree the exporter serializes contains an empty `<g>` for it and nothing else. That
474
- * is why an exported dashboard used to be a set of blank rectangles: the content was
475
- * never in the tree to begin with.
476
- *
477
- * THIS is the only place that can fix it, because this is the only place that holds
478
- * the hosts. So the DOM read happens HERE, once, and produces plain data —
479
- * `exportSvg` stays pure, DOM-free and deterministic, which is a property worth
480
- * strictly more than the convenience of reaching into the document from inside it.
481
- *
482
- * A caller's own `customNodes` always wins (including `[]`, which means "export the
483
- * diagram without its widgets").
484
- */
485
- const captureCustomNodes = (needed) => {
486
- const restore = materializeCustomNodes(needed);
487
- try {
488
- return readHosts(false, 0);
489
- }
490
- finally {
491
- // `finally`: a capture that threw must not leave a board's worth of hosts mounted.
492
- // (`captureCustomNodeHost` is documented never to throw, but the restore is the one
493
- // thing here whose failure would be permanent, so it does not depend on that.)
494
- restore();
495
- }
496
- };
497
- /** The DOM read, shared by both capture paths so they cannot disagree about a host. */
498
- const readHosts = (waited, timeoutMs) => {
499
- const captures = [];
500
- // Model order, not Map order: an export must not depend on mount sequence, or two
501
- // runs of the same board would differ in byte order.
502
- for (const node of model.getNodes()) {
503
- const host = nodeHosts.get(node.id);
504
- if (!host)
505
- continue;
506
- const capture = (0, capture_host_1.captureCustomNodeHost)(node.id, nodeBounds(node), host);
507
- // A still-painting caveat is the CAUSE and leads; the capture's own fidelity caveats
508
- // (an image that PDF cannot draw, an inset shadow that was skipped) follow it. Merging
509
- // rather than overwriting keeps both — a widget can be both async AND hold an image.
510
- const paint = paintWarning(node.id, waited, timeoutMs);
511
- const warning = [paint, capture.warning].filter(Boolean).join(' ');
512
- captures.push(warning ? Object.assign(Object.assign({}, capture), { warning }) : capture);
513
- }
514
- return captures;
515
- };
516
- /**
517
- * THE ASYNC CAPTURE — the same boundary, allowed to wait for a painter that said it
518
- * was not finished.
519
- *
520
- * THE SIGNAL IS THE PROMISE, and nothing else. A fixed sleep would be both slow (every
521
- * export pays for the slowest imaginable widget) and wrong (the slowest widget is always
522
- * slower than the guess, on someone's machine). `renderCustomNode` returning a promise
523
- * is a contract the painter's author owns, can type, and is never wrong about — so this
524
- * waits for exactly those, and returns the instant the last one settles.
525
- *
526
- * THE BOUND. `customNodeTimeout` (default 5s) is a safety net, never the mechanism: a
527
- * painter that never settles must not hang a print job. On expiry the export takes the
528
- * host as it stands — partial, or blank — and every widget it did not get to wait out is
529
- * WARNED about by id. Degraded, reported, never silent.
530
- *
531
- * WHY THE SYNC PATH IS REUSED VERBATIM WHEN NOTHING IS PENDING. If no painter in scope
532
- * has an unsettled promise, this runs materialize → read → restore with no suspension
533
- * point at all, i.e. the identical sequence `exportSvgString()` performs. That makes "an
534
- * all-sync board exports the same bytes through both paths" structurally true rather
535
- * than merely tested — there is no second code path for it to drift into.
536
- */
537
- const captureCustomNodesAsync = (needed, timeoutMs) => tslib_1.__awaiter(this, void 0, void 0, function* () {
538
- const scope = exportableCustomNodes(needed).map((node) => node.id);
539
- for (const id of scope)
540
- pinnedHosts.add(id);
541
- const restore = materializeCustomNodes(needed);
542
- try {
543
- // Only NOW is the pending set knowable: materializing runs first mounts, and a
544
- // first mount is exactly where a painter announces that it is async.
545
- const waits = scope
546
- .map((id) => pendingPaints.get(id))
547
- .filter((p) => p !== undefined);
548
- if (waits.length === 0)
549
- return readHosts(false, timeoutMs); // ← atomic, as above
550
- yield settle(waits, timeoutMs);
551
- return readHosts(true, timeoutMs);
552
- }
553
- finally {
554
- restore();
555
- for (const id of scope)
556
- pinnedHosts.delete(id);
557
- }
558
- });
559
- /** Wait for every tracked paint, or for the deadline — whichever comes first. */
560
- const settle = (waits, timeoutMs) => tslib_1.__awaiter(this, void 0, void 0, function* () {
561
- if (!(timeoutMs > 0))
562
- return; // 0 (or nonsense) means "do not wait"; still reported
563
- let timer;
564
- const deadline = new Promise((resolve) => {
565
- timer = setTimeout(resolve, timeoutMs);
566
- });
567
- try {
568
- // The tracked promises are wrapped never to reject, so this races two resolutions
569
- // and cannot itself throw. A rejecting painter is recorded, not propagated.
570
- yield Promise.race([Promise.all(waits), deadline]);
571
- }
572
- finally {
573
- // Without this a fast export still holds the event loop open for the full deadline,
574
- // which in Node keeps a process alive after the work is done.
575
- if (timer !== undefined)
576
- clearTimeout(timer);
577
- }
578
- });
579
- /**
580
- * ONE async capture at a time.
581
- *
582
- * Two exports in flight would otherwise interleave their materialize/restore pairs —
583
- * the first's restore tearing down a host the second is still waiting to read, which is
584
- * a blank widget in a file that asked for nothing unusual. Serializing is also the
585
- * cheaper answer: the second export finds the first's painters already settled.
586
- */
587
- let captureQueue = Promise.resolve();
588
- const serializeCapture = (run) => {
589
- const result = captureQueue.then(run, run);
590
- captureQueue = result.then(() => undefined, () => undefined);
591
- return result;
592
- };
593
- /**
594
- * Which nodes this export will actually contain.
595
- *
596
- * Materializing is the expensive half — it runs a painter — so it is bounded by the
597
- * export's own scope rather than mounting a 300-widget board to capture the three
598
- * widgets `includeIds` asked for. The predicates mirror what the renderer resolves
599
- * `ids` to (`SVGRenderer.selectedIds` reads exactly this `state.selected`), so what is
600
- * mounted and what survives `filterCaptures` are the same set.
601
- */
602
- const exportNeeds = (exportOptions) => {
603
- if ((exportOptions === null || exportOptions === void 0 ? void 0 : exportOptions.scope) === 'selection')
604
- return (node) => { var _a; return ((_a = node.state) === null || _a === void 0 ? void 0 : _a.selected) === true; };
605
- if ((exportOptions === null || exportOptions === void 0 ? void 0 : exportOptions.includeIds) === undefined)
606
- return () => true;
607
- const ids = new Set(exportOptions.includeIds);
608
- return (node) => ids.has(node.id);
609
- };
610
- const withCustomNodes = (exportOptions) => {
611
- if ((exportOptions === null || exportOptions === void 0 ? void 0 : exportOptions.customNodes) !== undefined)
612
- return exportOptions;
613
- const customNodes = captureCustomNodes(exportNeeds(exportOptions));
614
- if (customNodes.length === 0)
615
- return exportOptions !== null && exportOptions !== void 0 ? exportOptions : {};
616
- return Object.assign(Object.assign({}, exportOptions), { customNodes });
617
- };
618
- /** Default bound on waiting for an async painter. See ExportOptions.customNodeTimeout. */
619
- const DEFAULT_CUSTOM_NODE_TIMEOUT = 5000;
620
- const withCustomNodesAsync = (exportOptions) => tslib_1.__awaiter(this, void 0, void 0, function* () {
621
- // The caller's own captures win, and short-circuit the wait entirely — `customNodes:
622
- // []` means "export the diagram without its widgets", which must not sit out a
623
- // deadline for painters whose output was never going in the file.
624
- if ((exportOptions === null || exportOptions === void 0 ? void 0 : exportOptions.customNodes) !== undefined)
625
- return exportOptions;
626
- const customNodes = yield serializeCapture(() => {
627
- var _a;
628
- return captureCustomNodesAsync(exportNeeds(exportOptions), (_a = exportOptions === null || exportOptions === void 0 ? void 0 : exportOptions.customNodeTimeout) !== null && _a !== void 0 ? _a : DEFAULT_CUSTOM_NODE_TIMEOUT);
629
- });
630
- if (customNodes.length === 0)
631
- return exportOptions !== null && exportOptions !== void 0 ? exportOptions : {};
632
- return Object.assign(Object.assign({}, exportOptions), { customNodes });
633
- });
634
- /**
635
- * EXTERNAL-URL IMAGES → embedded bytes, for the async export only.
636
- *
637
- * A widget's `<img src="https://…">` captures as `<image href="https://…">`, which an
638
- * SVG renders online and a PDF cannot draw at all. This library is client-side: the
639
- * export RUNS IN A BROWSER, and the browser can usually fetch that URL itself. So the
640
- * awaited path fetches every external reference and swaps it for the `data:` URI the
641
- * PDF writer already embeds as an XObject (b2854b0a1) — three tiers, see
642
- * `fetchAssetsTiered`: environment fetch (same-origin / CORS-allowed), then
643
- * `ExportOptions.assetFetcher` (the app's proxy), then the accurate warning.
644
- *
645
- * TWO KINDS OF IMAGE, ONE PASS. Widget captures hold their images as captured VNodes
646
- * and are substituted here directly. But a PANEL-type diagram node (an ERD avatar, a
647
- * logo — `metadata.panel.image/icon.href`) is painted by the RENDERER'S OWN tree,
648
- * which is built inside the synchronous export — this layer never holds it. So the
649
- * renderer enumerates that tree's URLs up front (`collectExportImageUrls` — the same
650
- * `render()` the export serializes, so no drift), the fetch covers the UNION of both
651
- * kinds (one fetch per URL, however many widgets and panels share it), and the
652
- * resolved map rides down `ExportOptions.resolvedAssets` for the sync path's pure
653
- * `inlineAssets` substitution. A URL the caller pre-resolved is trusted, never fetched.
654
- *
655
- * THE WARNING LEDGER IS RECONCILED, both ways. A capture whose external images were
656
- * all embedded has its capture-time "EXTERNAL URL" caveat STRIPPED — after the fetch
657
- * it asserts a problem that no longer exists. A URL every tier failed on keeps the
658
- * reference (broken-but-visible beats silently blanked, the `inlineAssets` rule) and
659
- * gains a warning naming the URL, the reason, and the escape hatches — a tree image's
660
- * failure reaches `onWarnings` the same way a widget image's reaches the capture.
661
- *
662
- * `exportSvgString()` / `exportPdf()` stay synchronous and network-free: they fetch
663
- * nothing, and honour only a `resolvedAssets` map the caller supplies.
664
- */
665
- const withInlinedImages = (exportOptions) => tslib_1.__awaiter(this, void 0, void 0, function* () {
666
- var _a;
667
- const captures = (_a = exportOptions.customNodes) !== null && _a !== void 0 ? _a : [];
668
- // Collect the union — widget-capture URLs first, then the renderer's tree — each
669
- // deduplicated in a STABLE order (model order, then first appearance) for
670
- // determinism. One URL, one fetch, no matter which kinds reference it.
671
- const roots = new Map();
672
- const urls = [];
673
- const seen = new Set();
674
- const add = (found) => {
675
- for (const url of found) {
676
- if (!seen.has(url)) {
677
- seen.add(url);
678
- urls.push(url);
679
- }
680
- }
681
- };
682
- for (const capture of captures) {
683
- if (!capture.content || capture.content.length === 0)
684
- continue;
685
- const root = { type: 'g', props: {}, children: [...capture.content] };
686
- const found = (0, assets_1.collectAssetUrls)(root);
687
- if (found.length === 0)
688
- continue;
689
- roots.set(capture, root);
690
- add(found);
691
- }
692
- const treeUrls = renderer.collectExportImageUrls(exportOptions);
693
- add(treeUrls);
694
- if (urls.length === 0)
695
- return exportOptions; // nothing external — identical options out
696
- // A URL the caller already resolved is bytes we hold — fetching it again would be
697
- // both wasteful and a trust inversion (their bytes are the ones they want in the file).
698
- const preResolved = exportOptions.resolvedAssets;
699
- const toFetch = preResolved ? urls.filter((url) => !preResolved.has(url)) : urls;
700
- const { byUrl, failures } = toFetch.length > 0
701
- ? yield (0, assets_1.fetchAssetsTiered)(toFetch, {
702
- fetcher: exportOptions.assetFetcher,
703
- maxBytes: exportOptions.assetMaxBytes,
704
- timeoutMs: exportOptions.assetTimeout,
705
- })
706
- : { byUrl: new Map(), failures: new Map() };
707
- if (preResolved) {
708
- for (const [url, uri] of preResolved)
709
- byUrl.set(url, uri);
710
- }
711
- const customNodes = captures.map((capture) => {
712
- var _a;
713
- const root = roots.get(capture);
714
- if (!root)
715
- return capture;
716
- const inlined = (0, assets_1.inlineAssets)(root, byUrl);
717
- const remaining = (0, assets_1.collectAssetUrls)(inlined);
718
- let warning = capture.warning;
719
- if (remaining.length === 0) {
720
- // Every external image is now bytes in the file — the capture-time caveat
721
- // (written for the sync paths, which cannot fetch) is no longer true here.
722
- warning = (0, capture_host_1.stripResolvedImageWarnings)(warning);
723
- }
724
- else {
725
- const residue = remaining
726
- .map((url) => {
727
- var _a;
728
- return `widget image "${url}" could not be embedded: ${(_a = failures.get(url)) !== null && _a !== void 0 ? _a : 'unknown failure'}. ` +
729
- 'The reference is left in the file (an SVG still renders it online); it will be ' +
730
- 'MISSING from a PDF export.';
731
- })
732
- .join(' ');
733
- warning = [warning, residue].filter(Boolean).join(' ');
734
- }
735
- return Object.assign(Object.assign({}, capture), { content: (_a = inlined.children) !== null && _a !== void 0 ? _a : [], warning });
736
- });
737
- const out = Object.assign({}, exportOptions);
738
- if (exportOptions.customNodes !== undefined)
739
- out.customNodes = customNodes;
740
- // The resolved map rides DOWN the same options object: the sync export applies it
741
- // to the renderer's tree with the pure `inlineAssets` — which is how a panel image
742
- // becomes bytes without the sync path ever fetching.
743
- if (byUrl.size > 0)
744
- out.resolvedAssets = byUrl;
745
- // A TREE image's failure has no capture to carry its warning, so it goes to the
746
- // export's own fidelity channel. Same honesty rule as the widget residue: name the
747
- // URL, the reason, and (via the tier-3 text) both escape hatches.
748
- const treeResidue = treeUrls
749
- .filter((url) => !byUrl.has(url))
750
- .map((url) => {
751
- var _a;
752
- return `diagram image "${url}" could not be embedded: ${(_a = failures.get(url)) !== null && _a !== void 0 ? _a : 'unknown failure'}. ` +
753
- 'The reference is left in the file (an SVG still renders it online); it will be ' +
754
- 'MISSING from a PDF export.';
755
- });
756
- if (treeResidue.length > 0) {
757
- const original = exportOptions.onWarnings;
758
- out.onWarnings = (warnings) => original === null || original === void 0 ? void 0 : original([...warnings, ...treeResidue]);
759
- }
760
- return out;
761
- });
762
- // -- the frame --------------------------------------------------------------
763
- let lastViewportKey = '';
764
- let lastFrameHadPreview = false;
765
- /** Mutation epoch as of the end of the last painted frame. See canSkipFrame(). */
766
- let lastFrameEpoch = -1;
767
- /** Renderer invalidation epoch as of the end of the last painted frame. */
768
- let lastRendererEpoch = -1;
769
- let ready = false;
770
- let disposed = false;
771
- /**
772
- * `ready` fires on a microtask, not inline in the mount paint. The first paint
773
- * happens INSIDE `createDiagram()`, so a caller doing
774
- * `const d = createDiagram(...); d.on('ready', …)` could never have observed an
775
- * inline emit — the handler is registered one statement too late.
776
- */
777
- const signalReady = () => {
778
- if (ready)
779
- return;
780
- ready = true;
781
- queueMicrotask(() => {
782
- if (!disposed)
783
- emit('ready', undefined);
784
- });
785
- };
786
- const viewportKey = () => {
787
- const v = viewport.getViewport();
788
- return `${v.x},${v.y},${v.width},${v.height}@${viewport.getZoom()}`;
789
- };
790
- const isConnectionPreviewActive = () => {
791
- try {
792
- return engine.getConnectionStateManager().getState().isConnecting === true;
793
- }
794
- catch (_a) {
795
- return false;
796
- }
797
- };
798
- /**
799
- * Idle-skip: drop a queued frame only when nothing visible could have changed.
800
- * The connection preview lives in interaction state, not in entity dirty flags,
801
- * so we never skip while it is — or was, last frame — active, otherwise its
802
- * removal would not repaint.
803
- *
804
- * wave8/dirty — BUG FIXED HERE. This used to sum `getDirtyNodes/Links/Groups`
805
- * and skip only when the total was zero. On any diagram bigger than the
806
- * viewport that total is NEVER zero, so the idle-skip never once fired:
807
- *
808
- * the renderer marks an entity clean when it RENDERS it, and it renders only
809
- * what is visible. Open a 10,000-node diagram with 56 nodes on screen and the
810
- * other 9,944 stay dirty for the life of the canvas — they are never drawn,
811
- * so they are never cleaned. `dirty > 0` forever. `return false` forever.
812
- *
813
- * So the one guard whose entire job was "don't repaint an idle canvas" was
814
- * dead exactly where idleness costs the most, and it charged three O(n) array
815
- * scans per queued frame for the privilege of always saying no.
816
- *
817
- * The mutation epoch answers the real question — *has anything changed since
818
- * the frame on screen?* — in O(1) and without caring whether the change was on
819
- * screen. (Off-screen changes matter: an off-screen node is an obstacle the
820
- * edge optimizer routes around, and its edge may well cross the viewport.)
821
- */
822
- const canSkipFrame = () => {
823
- if (!engine.getDiagram())
824
- return false;
825
- if ((0, engine_1.getMutationEpoch)() !== lastFrameEpoch)
826
- return false;
827
- // …and the RENDERER's own picture must not have gone stale either. The model
828
- // epoch answers "did the world change"; this answers "did my picture of it
829
- // change". They are not the same question, and the gap is a real bug: when
830
- // the off-thread route solver answers, the model has not changed — the epoch
831
- // does not move — but the routes have improved. Keyed only on the model, this
832
- // would drop that repaint before render() was ever called, and the refined
833
- // routes we paid a worker for would never reach the screen.
834
- if (renderer.getInvalidationEpoch() !== lastRendererEpoch)
835
- return false;
836
- if (viewportKey() !== lastViewportKey)
837
- return false;
838
- if (isConnectionPreviewActive() || lastFrameHadPreview)
839
- return false;
840
- return true;
841
- };
842
- /**
843
- * THE FRAME — in three strictly ordered phases (wave8/dirty, Card 1).
844
- *
845
- * READ every DOM measurement, before any write.
846
- * COMPUTE pure VNode construction: no DOM in, no DOM out.
847
- * WRITE every DOM mutation, with no read between them.
848
- *
849
- * The order is the whole point. A read after a write forces the browser to
850
- * flush layout synchronously to answer it; do that inside a loop over N nodes
851
- * and you have N forced layouts — layout thrash, and the classic way a canvas
852
- * that is fast at 50 nodes dies at 500. Keeping the phases apart makes it
853
- * structurally impossible rather than merely absent today. (`node-component.ts`
854
- * had exactly this bug in its refresh loop; it now batches the same way.)
855
- */
856
- const paint = () => {
857
- // -- READ ------------------------------------------------------------------
858
- const renderViewport = viewport.getRenderViewport();
859
- const zoom = viewport.getZoom();
860
- const htmlTransform = viewport.getHtmlLayerTransform();
861
- // -- COMPUTE ---------------------------------------------------------------
862
- const vnode = renderer.render(renderViewport, zoom);
863
- // -- WRITE -----------------------------------------------------------------
864
- layers.html.setAttribute('style', (0, layers_1.htmlLayerStyle)(htmlTransform));
865
- patcher.reconcile(layers.svg, vnode);
866
- syncCustomNodes();
867
- lastViewportKey = viewportKey();
868
- lastFrameHadPreview = isConnectionPreviewActive();
869
- // AFTER the frame, not before: rendering legitimately dirties model entities
870
- // (routed geometry, auto-sizing), and stamping on entry would record an epoch
871
- // the frame itself then invalidates — the skip would never fire again.
872
- lastFrameEpoch = (0, engine_1.getMutationEpoch)();
873
- lastRendererEpoch = renderer.getInvalidationEpoch();
874
- signalReady();
875
- };
876
- /**
877
- * The HYDRATION frame: render the VNode tree, then ADOPT the server's DOM
878
- * instead of building it. Zero DOM writes ⇒ no flash and no re-layout.
879
- */
880
- const hydratePaint = () => {
881
- const vnode = renderer.render(viewport.getRenderViewport(), viewport.getZoom());
882
- patcher.hydrate(layers.svg, vnode);
883
- syncCustomNodes();
884
- lastViewportKey = viewportKey();
885
- lastFrameHadPreview = isConnectionPreviewActive();
886
- lastFrameEpoch = (0, engine_1.getMutationEpoch)();
887
- lastRendererEpoch = renderer.getInvalidationEpoch();
888
- signalReady();
889
- };
890
- // -- model → repaint --------------------------------------------------------
891
- const unsubs = [];
892
- const onModel = (event, handler) => {
893
- unsubs.push(model.on(event, handler));
894
- };
895
- onModel('node:added', () => {
896
- scheduler.schedule();
897
- emit('nodes:change', { nodes: model.getNodes() });
898
- });
899
- onModel('node:removed', () => {
900
- scheduler.schedule();
901
- emit('nodes:change', { nodes: model.getNodes() });
902
- });
903
- onModel('node:changed', () => scheduler.schedule());
904
- onModel('link:added', ((link) => {
905
- scheduler.schedule();
906
- emit('edges:change', { edges: model.getLinks() });
907
- // The engine creates the link ASYNCHRONOUSLY from `connection:complete`, so
908
- // this — not the mouseup — is where a user-drawn connection is observable.
909
- if (link)
910
- emit('connect', { link });
911
- }));
912
- onModel('link:removed', () => {
913
- scheduler.schedule();
914
- emit('edges:change', { edges: model.getLinks() });
915
- });
916
- onModel('link:changed', () => scheduler.schedule());
917
- // Groups paint too (frames, lanes, collapse proxies) — leaving these out made
918
- // fitToContents() invisible until an unrelated event happened to render.
919
- onModel('group:added', () => scheduler.schedule());
920
- onModel('group:removed', () => scheduler.schedule());
921
- onModel('group:changed', () => scheduler.schedule());
922
- onModel('selection:changed', () => {
923
- scheduler.schedule();
924
- emit('selection:change', {
925
- nodes: model.getSelectedNodes(),
926
- edges: model.getLinks().filter((l) => l.state === 'selected'),
927
- });
928
- });
929
- unsubs.push(viewport.onChange((state) => {
930
- scheduler.schedule();
931
- emit('viewport:change', state);
932
- }));
933
- // -- resize -----------------------------------------------------------------
934
- let resizeObserver;
935
- if (typeof ResizeObserver !== 'undefined') {
936
- resizeObserver = new ResizeObserver(() => {
937
- const r = getRect();
938
- if (r.width > 0 && r.height > 0)
939
- viewport.syncCanvasSize(r);
940
- });
941
- resizeObserver.observe(container);
942
- }
943
- // -- mount ------------------------------------------------------------------
944
- binder.attach();
945
- if (hydration) {
946
- hydratePaint();
947
- }
948
- else {
949
- if (options.fitView)
950
- fitView(40);
951
- // Synchronous first paint: a host that measures right after createDiagram()
952
- // must not see an empty container.
953
- scheduler.flush();
954
- }
955
- function fitView(padding = 40) {
956
- const bounds = contentBounds(model);
957
- // maxZoom 1: fitting means "show me everything", never "magnify a small
958
- // graph until it fills the wall". Zooming out to fit is still unbounded
959
- // (down to the controller's minZoom). Hosts wanting magnification can call
960
- // viewport.fitToBounds directly.
961
- if (bounds)
962
- viewport.fitToBounds(bounds, padding, { maxZoom: 1 });
963
- }
964
- const instance = {
965
- setNodes(nodes) {
966
- if ((0, model_input_1.applyNodes)(model, nodes))
967
- scheduler.schedule();
968
- },
969
- setEdges(edges) {
970
- if ((0, model_input_1.applyEdges)(model, edges))
971
- scheduler.schedule();
972
- },
973
- getModel: () => model,
974
- getEngine: () => engine,
975
- getCommentStore: () => commentStore,
976
- on(event, handler) {
977
- let set = listeners.get(event);
978
- if (!set) {
979
- set = new Set();
980
- listeners.set(event, set);
981
- }
982
- set.add(handler);
983
- return () => set === null || set === void 0 ? void 0 : set.delete(handler);
984
- },
985
- off(event, handler) {
986
- var _a;
987
- (_a = listeners.get(event)) === null || _a === void 0 ? void 0 : _a.delete(handler);
988
- },
989
- viewport,
990
- interaction,
991
- setTheme(theme) {
992
- renderer.setTheme(theme);
993
- scheduler.schedule();
994
- },
995
- // Wave 10: the renderer could already do all of this. The instance — the only
996
- // handle a host is given — exposed none of it, and did not expose the renderer
997
- // either, so `SVGRenderer.export()` was unreachable from an embed. The library
998
- // shipped PNG, JPEG, WebP, a real vector PDF and a deterministic zero-DOM SVG
999
- // serializer that an embedder had no way to call.
1000
- setColorMode(mode, themes) {
1001
- renderer.setColorMode(mode, themes);
1002
- scheduler.schedule();
1003
- },
1004
- getColorMode: () => renderer.getColorMode(),
1005
- setTokenBridge(bridge) {
1006
- renderer.setTokenBridge(bridge);
1007
- scheduler.schedule();
1008
- },
1009
- // THE ONLY ASYNC EXPORT ENTRY POINT — and it always was one. `IRenderer.export`
1010
- // has returned a Promise since the seam existed, so an ASYNC custom-node painter
1011
- // needs no new public method: this is where waiting for one belongs. The two
1012
- // synchronous entry points below keep their contract exactly, and report an
1013
- // unfinished painter rather than pretending to have read it.
1014
- export: (format, exportOptions) => tslib_1.__awaiter(this, void 0, void 0, function* () { return renderer.export(format, yield withInlinedImages(yield withCustomNodesAsync(exportOptions))); }),
1015
- exportSvgString: (exportOptions) => renderer.exportSvgString(withCustomNodes(exportOptions)),
1016
- exportPdf: (exportOptions) => renderer.exportPdf(withCustomNodes(exportOptions)),
1017
- exportText: (textOptions) => (0, engine_1.exportDiagramText)(model, textOptions),
1018
- loadText: (text, textOptions) => {
1019
- const result = (0, engine_1.importDiagramText)(text, textOptions);
1020
- // Reconcile INTO the live model (never swap it): applyNodes/applyEdges
1021
- // are full reconcilers, so removals happen and every listener, plugin,
1022
- // and renderer binding stays attached to the same DiagramModel.
1023
- (0, model_input_1.applyNodes)(model, result.diagram.getNodes().map((n) => (0, model_input_1.toNodeSpec)(n)));
1024
- (0, model_input_1.applyEdges)(model, result.diagram.getLinks().map((l) => (0, model_input_1.toEdgeSpec)(l)));
1025
- return result;
1026
- },
1027
- /** The LOD tier actually rendered, and the governor's last verdict. */
1028
- getQualityState: () => renderer.getQualityState(),
1029
- /** Animation policy (global toggle, speed, reduced-motion, battery-saver opt-out). */
1030
- animations: renderer.getAnimationService(),
1031
- fitView,
1032
- render: () => scheduler.schedule(),
1033
- renderNow: () => scheduler.flush(),
1034
- batchUpdate(mutate) {
1035
- model.beginBatch();
1036
- try {
1037
- mutate(model);
1038
- }
1039
- finally {
1040
- // `finally`: a throwing mutator must not leave the model batching
1041
- // forever — every subsequent change would be silently swallowed, and the
1042
- // canvas would simply stop updating with no error to explain it.
1043
- model.endBatch();
1044
- }
1045
- // endBatch() replays the queued events, and each of those already calls
1046
- // schedule(). This is for the batch that changed something the model does
1047
- // not emit for (or nothing at all): schedule() is idempotent within a tick,
1048
- // so an extra call costs one `coalesced` counter, never an extra frame.
1049
- scheduler.schedule();
1050
- },
1051
- getDraggingNodeIds: () => binder.getDraggingNodeIds(),
1052
- beginLabelEdit: (target, opts) => binder.beginLabelEdit(target, opts),
1053
- registry: renderer.getRegistry(),
1054
- dispose() {
1055
- var _a;
1056
- if (disposed)
1057
- return;
1058
- disposed = true;
1059
- commentOverlay === null || commentOverlay === void 0 ? void 0 : commentOverlay.dispose();
1060
- commentOverlay = null;
1061
- binder.detach();
1062
- scheduler.dispose();
1063
- resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.disconnect();
1064
- for (const unsub of unsubs)
1065
- unsub();
1066
- unsubs.length = 0;
1067
- listeners.clear();
1068
- for (const [id, host] of [...nodeHosts]) {
1069
- (_a = options.removeCustomNode) === null || _a === void 0 ? void 0 : _a.call(options, id, host);
1070
- host.remove();
1071
- }
1072
- nodeHosts.clear();
1073
- interaction.dispose();
1074
- viewport.dispose();
1075
- renderer.dispose();
1076
- patcher.unmount(layers.svg);
1077
- // Only tear down the DOM we created. An engine handed in by the caller is
1078
- // theirs to destroy.
1079
- layers.root.remove();
1080
- if (!options.engine)
1081
- engine.destroy();
1082
- },
1083
- container,
1084
- scheduler,
1085
- patcher,
1086
- };
1087
- return instance;
1088
- }
1089
- /** World bounding box of every visible node, or null when there is nothing to fit. */
1090
- function contentBounds(model) {
1091
- var _a, _b, _c, _d, _e;
1092
- const nodes = model.getNodes().filter((n) => { var _a; return ((_a = n.state) === null || _a === void 0 ? void 0 : _a.visible) !== false; });
1093
- if (nodes.length === 0)
1094
- return null;
1095
- let left = Infinity;
1096
- let top = Infinity;
1097
- let right = -Infinity;
1098
- let bottom = -Infinity;
1099
- for (const node of nodes) {
1100
- left = Math.min(left, node.position.x);
1101
- top = Math.min(top, node.position.y);
1102
- right = Math.max(right, node.position.x + ((_b = (_a = node.size) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 0));
1103
- bottom = Math.max(bottom, node.position.y + ((_d = (_c = node.size) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : 0));
1104
- }
1105
- // Routed edges arc OUTSIDE the node bbox (a detour around an obstacle, a
1106
- // self-loop, a floating attachment's curve). Fitting to nodes alone left
1107
- // those arcs sliced off at the viewport edge — nodes "contained", picture
1108
- // clipped. Union in every routed waypoint the links carry.
1109
- for (const link of model.getLinks()) {
1110
- for (const p of (_e = link.points) !== null && _e !== void 0 ? _e : []) {
1111
- left = Math.min(left, p.x);
1112
- top = Math.min(top, p.y);
1113
- right = Math.max(right, p.x);
1114
- bottom = Math.max(bottom, p.y);
1115
- }
1116
- }
1117
- if (!isFinite(left) || !isFinite(top))
1118
- return null;
1119
- return { x: left, y: top, width: right - left, height: bottom - top };
1120
- }
1121
- /**
1122
- * Build the layer skeleton — or ADOPT the server's when hydrating. The adopted
1123
- * path must not write to the DOM at all: that is what "no flash, no re-layout"
1124
- * means in practice.
1125
- */
1126
- function ensureLayers(container, doc, hydration) {
1127
- if (hydration) {
1128
- const root = container.querySelector(`.${layers_1.ROOT_CLASS}`);
1129
- const svg = root === null || root === void 0 ? void 0 : root.querySelector(`.${layers_1.SVG_LAYER_CLASS}`);
1130
- const html = root === null || root === void 0 ? void 0 : root.querySelector(`.${layers_1.HTML_LAYER_CLASS}`);
1131
- if (root && svg && html)
1132
- return { root, svg, html };
1133
- // Server markup missing → fall through and mount fresh (correct, if not
1134
- // flash-free). Silently rebuilding beats rendering nothing.
1135
- }
1136
- const root = doc.createElement('div');
1137
- root.className = layers_1.ROOT_CLASS;
1138
- root.setAttribute('style', layers_1.ROOT_STYLE);
1139
- const svg = doc.createElement('div');
1140
- svg.className = layers_1.SVG_LAYER_CLASS;
1141
- svg.setAttribute('style', layers_1.SVG_LAYER_STYLE);
1142
- const html = doc.createElement('div');
1143
- html.className = layers_1.HTML_LAYER_CLASS;
1144
- html.setAttribute('style', (0, layers_1.htmlLayerStyle)('translate(0px, 0px) scale(1)'));
1145
- root.appendChild(svg);
1146
- root.appendChild(html);
1147
- container.appendChild(root);
1148
- return { root, svg, html };
1149
- }
1150
- //# sourceMappingURL=create-diagram.js.map