@grafloria/element 0.3.17 → 0.3.19

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 (1710) hide show
  1. package/jest.config.ts +16 -0
  2. package/package.json +2 -2
  3. package/project.json +44 -0
  4. package/src/front-door-probe.spec.ts +173 -0
  5. package/src/index.d.ts +2 -1
  6. package/src/index.js +11 -2
  7. package/src/index.js.map +1 -1
  8. package/src/index.ts +804 -0
  9. package/src/lib/dashboard-kit/dashboard.js.map +1 -1
  10. package/src/lib/dashboard-kit/dashboard.spec.ts +821 -0
  11. package/src/lib/dashboard-kit/dashboard.ts +906 -0
  12. package/src/lib/dashboard-kit/grid-binder.js +16 -15
  13. package/src/lib/dashboard-kit/grid-binder.js.map +1 -1
  14. package/src/lib/dashboard-kit/grid-binder.ts +1976 -0
  15. package/src/lib/dashboard-kit/grid-mapping.js.map +1 -1
  16. package/src/lib/dashboard-kit/grid-mapping.spec.ts +308 -0
  17. package/src/lib/dashboard-kit/grid-mapping.ts +283 -0
  18. package/src/lib/dashboard-kit/index.js.map +1 -1
  19. package/src/lib/dashboard-kit/index.ts +56 -0
  20. package/src/lib/dashboard-kit/styles.js +9 -3
  21. package/src/lib/dashboard-kit/styles.js.map +1 -1
  22. package/src/lib/dashboard-kit/styles.ts +206 -0
  23. package/src/lib/dashboard-kit/widgets.js.map +1 -1
  24. package/src/lib/dashboard-kit/widgets.spec.ts +239 -0
  25. package/src/lib/dashboard-kit/widgets.ts +484 -0
  26. package/src/lib/diagram-kit/card.js.map +1 -1
  27. package/src/lib/diagram-kit/card.ts +219 -0
  28. package/src/lib/diagram-kit/diagram-kit.spec.ts +465 -0
  29. package/src/lib/diagram-kit/editing.js +45 -54
  30. package/src/lib/diagram-kit/editing.js.map +1 -1
  31. package/src/lib/diagram-kit/editing.spec.ts +172 -0
  32. package/src/lib/diagram-kit/editing.ts +493 -0
  33. package/src/lib/diagram-kit/er.js.map +1 -1
  34. package/src/lib/diagram-kit/er.ts +246 -0
  35. package/src/lib/diagram-kit/handles.js.map +1 -1
  36. package/src/lib/diagram-kit/handles.spec.ts +224 -0
  37. package/src/lib/diagram-kit/handles.ts +375 -0
  38. package/src/lib/diagram-kit/index.d.ts +1 -0
  39. package/src/lib/diagram-kit/index.js +11 -1
  40. package/src/lib/diagram-kit/index.js.map +1 -1
  41. package/src/lib/diagram-kit/index.ts +66 -0
  42. package/src/lib/diagram-kit/join-guidance.d.ts +116 -0
  43. package/src/lib/diagram-kit/join-guidance.js +331 -0
  44. package/src/lib/diagram-kit/join-guidance.js.map +1 -0
  45. package/src/lib/diagram-kit/join-guidance.spec.ts +241 -0
  46. package/src/lib/diagram-kit/join-guidance.ts +390 -0
  47. package/src/lib/diagram-kit/rows.js.map +1 -1
  48. package/src/lib/diagram-kit/rows.ts +174 -0
  49. package/src/lib/diagram-kit/styles.js.map +1 -1
  50. package/src/lib/diagram-kit/styles.ts +118 -0
  51. package/src/lib/diagram-kit/uml.js.map +1 -1
  52. package/src/lib/diagram-kit/uml.ts +213 -0
  53. package/src/lib/diagram-kit/update.js.map +1 -1
  54. package/src/lib/diagram-kit/update.spec.ts +208 -0
  55. package/src/lib/diagram-kit/update.ts +324 -0
  56. package/src/lib/grafloria-flow-element.js.map +1 -1
  57. package/src/lib/grafloria-flow-element.spec.ts +290 -0
  58. package/src/lib/grafloria-flow-element.ts +298 -0
  59. package/src/lib/grafloria.js.map +1 -1
  60. package/src/lib/grafloria.ts +151 -0
  61. package/src/lib/load.js.map +1 -1
  62. package/src/lib/load.spec.ts +565 -0
  63. package/src/lib/load.ts +359 -0
  64. package/src/lib/node-type-registry.js.map +1 -1
  65. package/src/lib/node-type-registry.ts +76 -0
  66. package/src/lib/stencil-kit/builders.js.map +1 -1
  67. package/src/lib/stencil-kit/builders.ts +58 -0
  68. package/src/lib/stencil-kit/card-builders.js.map +1 -1
  69. package/src/lib/stencil-kit/card-builders.ts +113 -0
  70. package/src/lib/stencil-kit/index.js.map +1 -1
  71. package/src/lib/stencil-kit/index.ts +17 -0
  72. package/src/lib/stencil-kit/palette.js +60 -6
  73. package/src/lib/stencil-kit/palette.js.map +1 -1
  74. package/src/lib/stencil-kit/palette.ts +482 -0
  75. package/src/lib/stencil-kit/shape-data.d.ts +3 -2
  76. package/src/lib/stencil-kit/shape-data.js +323 -31
  77. package/src/lib/stencil-kit/shape-data.js.map +1 -1
  78. package/src/lib/stencil-kit/shape-data.spec.ts +470 -0
  79. package/src/lib/stencil-kit/shape-data.ts +680 -0
  80. package/src/lib/stencil-kit/styles.js +15 -0
  81. package/src/lib/stencil-kit/styles.js.map +1 -1
  82. package/src/lib/stencil-kit/styles.ts +126 -0
  83. package/src/libs/element/src/index.d.ts +92 -0
  84. package/src/libs/element/src/index.js +576 -0
  85. package/src/libs/element/src/index.js.map +1 -0
  86. package/src/libs/element/src/lib/dashboard-kit/dashboard.d.ts +345 -0
  87. package/src/libs/element/src/lib/dashboard-kit/dashboard.js +594 -0
  88. package/src/libs/element/src/lib/dashboard-kit/dashboard.js.map +1 -0
  89. package/src/libs/element/src/lib/dashboard-kit/grid-binder.d.ts +277 -0
  90. package/src/libs/element/src/lib/dashboard-kit/grid-binder.js +1636 -0
  91. package/src/libs/element/src/lib/dashboard-kit/grid-binder.js.map +1 -0
  92. package/src/libs/element/src/lib/dashboard-kit/grid-mapping.d.ts +141 -0
  93. package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js +176 -0
  94. package/src/libs/element/src/lib/dashboard-kit/grid-mapping.js.map +1 -0
  95. package/src/libs/element/src/lib/dashboard-kit/index.d.ts +5 -0
  96. package/src/libs/element/src/lib/dashboard-kit/index.js +33 -0
  97. package/src/libs/element/src/lib/dashboard-kit/index.js.map +1 -0
  98. package/src/libs/element/src/lib/dashboard-kit/styles.d.ts +25 -0
  99. package/src/libs/element/src/lib/dashboard-kit/styles.js +209 -0
  100. package/src/libs/element/src/lib/dashboard-kit/styles.js.map +1 -0
  101. package/src/libs/element/src/lib/dashboard-kit/widgets.d.ts +112 -0
  102. package/src/libs/element/src/lib/dashboard-kit/widgets.js +389 -0
  103. package/src/libs/element/src/lib/dashboard-kit/widgets.js.map +1 -0
  104. package/src/libs/element/src/lib/diagram-kit/card.d.ts +75 -0
  105. package/src/libs/element/src/lib/diagram-kit/card.js +209 -0
  106. package/src/libs/element/src/lib/diagram-kit/card.js.map +1 -0
  107. package/src/libs/element/src/lib/diagram-kit/editing.d.ts +58 -0
  108. package/src/libs/element/src/lib/diagram-kit/editing.js +453 -0
  109. package/src/libs/element/src/lib/diagram-kit/editing.js.map +1 -0
  110. package/src/libs/element/src/lib/diagram-kit/er.d.ts +73 -0
  111. package/src/libs/element/src/lib/diagram-kit/er.js +163 -0
  112. package/src/libs/element/src/lib/diagram-kit/er.js.map +1 -0
  113. package/src/libs/element/src/lib/diagram-kit/handles.d.ts +181 -0
  114. package/src/libs/element/src/lib/diagram-kit/handles.js +325 -0
  115. package/src/libs/element/src/lib/diagram-kit/handles.js.map +1 -0
  116. package/src/libs/element/src/lib/diagram-kit/index.d.ts +10 -0
  117. package/src/libs/element/src/lib/diagram-kit/index.js +55 -0
  118. package/src/libs/element/src/lib/diagram-kit/index.js.map +1 -0
  119. package/src/libs/element/src/lib/diagram-kit/join-guidance.d.ts +116 -0
  120. package/src/libs/element/src/lib/diagram-kit/join-guidance.js +331 -0
  121. package/src/libs/element/src/lib/diagram-kit/join-guidance.js.map +1 -0
  122. package/src/libs/element/src/lib/diagram-kit/rows.d.ts +53 -0
  123. package/src/libs/element/src/lib/diagram-kit/rows.js +147 -0
  124. package/src/libs/element/src/lib/diagram-kit/rows.js.map +1 -0
  125. package/src/libs/element/src/lib/diagram-kit/styles.d.ts +18 -0
  126. package/src/libs/element/src/lib/diagram-kit/styles.js +122 -0
  127. package/src/libs/element/src/lib/diagram-kit/styles.js.map +1 -0
  128. package/src/libs/element/src/lib/diagram-kit/uml.d.ts +59 -0
  129. package/src/libs/element/src/lib/diagram-kit/uml.js +138 -0
  130. package/src/libs/element/src/lib/diagram-kit/uml.js.map +1 -0
  131. package/src/libs/element/src/lib/diagram-kit/update.d.ts +133 -0
  132. package/src/libs/element/src/lib/diagram-kit/update.js +251 -0
  133. package/src/libs/element/src/lib/diagram-kit/update.js.map +1 -0
  134. package/src/libs/element/src/lib/grafloria-flow-element.d.ts +48 -0
  135. package/src/libs/element/src/lib/grafloria-flow-element.js +271 -0
  136. package/src/libs/element/src/lib/grafloria-flow-element.js.map +1 -0
  137. package/src/libs/element/src/lib/grafloria.d.ts +72 -0
  138. package/src/libs/element/src/lib/grafloria.js +74 -0
  139. package/src/libs/element/src/lib/grafloria.js.map +1 -0
  140. package/src/libs/element/src/lib/load.d.ts +72 -0
  141. package/src/libs/element/src/lib/load.js +255 -0
  142. package/src/libs/element/src/lib/load.js.map +1 -0
  143. package/src/libs/element/src/lib/node-type-registry.d.ts +39 -0
  144. package/src/libs/element/src/lib/node-type-registry.js +50 -0
  145. package/src/libs/element/src/lib/node-type-registry.js.map +1 -0
  146. package/src/libs/element/src/lib/stencil-kit/builders.d.ts +45 -0
  147. package/src/libs/element/src/lib/stencil-kit/builders.js +24 -0
  148. package/src/libs/element/src/lib/stencil-kit/builders.js.map +1 -0
  149. package/src/libs/element/src/lib/stencil-kit/card-builders.d.ts +2 -0
  150. package/src/libs/element/src/lib/stencil-kit/card-builders.js +108 -0
  151. package/src/libs/element/src/lib/stencil-kit/card-builders.js.map +1 -0
  152. package/src/libs/element/src/lib/stencil-kit/index.d.ts +7 -0
  153. package/src/libs/element/src/lib/stencil-kit/index.js +19 -0
  154. package/src/libs/element/src/lib/stencil-kit/index.js.map +1 -0
  155. package/src/libs/element/src/lib/stencil-kit/palette.d.ts +93 -0
  156. package/src/libs/element/src/lib/stencil-kit/palette.js +430 -0
  157. package/src/libs/element/src/lib/stencil-kit/palette.js.map +1 -0
  158. package/src/libs/element/src/lib/stencil-kit/shape-data.d.ts +28 -0
  159. package/src/libs/element/src/lib/stencil-kit/shape-data.js +540 -0
  160. package/src/libs/element/src/lib/stencil-kit/shape-data.js.map +1 -0
  161. package/src/libs/element/src/lib/stencil-kit/styles.d.ts +2 -0
  162. package/src/libs/element/src/lib/stencil-kit/styles.js +129 -0
  163. package/src/libs/element/src/lib/stencil-kit/styles.js.map +1 -0
  164. package/src/libs/engine/src/adapters/component-adapter.interface.d.ts +302 -0
  165. package/src/libs/engine/src/adapters/component-adapter.interface.js +84 -0
  166. package/src/libs/engine/src/adapters/component-adapter.interface.js.map +1 -0
  167. package/src/libs/engine/src/adapters/index.d.ts +7 -0
  168. package/src/libs/engine/src/adapters/index.js +11 -0
  169. package/src/libs/engine/src/adapters/index.js.map +1 -0
  170. package/src/libs/engine/src/clipboard/ClipboardManager.d.ts +81 -0
  171. package/src/libs/engine/src/clipboard/ClipboardManager.js +108 -0
  172. package/src/libs/engine/src/clipboard/ClipboardManager.js.map +1 -0
  173. package/src/libs/engine/src/clipboard/index.d.ts +1 -0
  174. package/src/libs/engine/src/clipboard/index.js +6 -0
  175. package/src/libs/engine/src/clipboard/index.js.map +1 -0
  176. package/src/libs/engine/src/collab/apply-op.d.ts +42 -0
  177. package/src/libs/engine/src/collab/apply-op.js +939 -0
  178. package/src/libs/engine/src/collab/apply-op.js.map +1 -0
  179. package/src/libs/engine/src/collab/capture.d.ts +147 -0
  180. package/src/libs/engine/src/collab/capture.js +510 -0
  181. package/src/libs/engine/src/collab/capture.js.map +1 -0
  182. package/src/libs/engine/src/collab/index.d.ts +12 -0
  183. package/src/libs/engine/src/collab/index.js +84 -0
  184. package/src/libs/engine/src/collab/index.js.map +1 -0
  185. package/src/libs/engine/src/collab/integrity.d.ts +178 -0
  186. package/src/libs/engine/src/collab/integrity.js +438 -0
  187. package/src/libs/engine/src/collab/integrity.js.map +1 -0
  188. package/src/libs/engine/src/collab/lww.d.ts +47 -0
  189. package/src/libs/engine/src/collab/lww.js +188 -0
  190. package/src/libs/engine/src/collab/lww.js.map +1 -0
  191. package/src/libs/engine/src/collab/op-log.d.ts +50 -0
  192. package/src/libs/engine/src/collab/op-log.js +167 -0
  193. package/src/libs/engine/src/collab/op-log.js.map +1 -0
  194. package/src/libs/engine/src/collab/op.d.ts +120 -0
  195. package/src/libs/engine/src/collab/op.js +118 -0
  196. package/src/libs/engine/src/collab/op.js.map +1 -0
  197. package/src/libs/engine/src/collab/replica.d.ts +188 -0
  198. package/src/libs/engine/src/collab/replica.js +526 -0
  199. package/src/libs/engine/src/collab/replica.js.map +1 -0
  200. package/src/libs/engine/src/collab/undo.d.ts +106 -0
  201. package/src/libs/engine/src/collab/undo.js +388 -0
  202. package/src/libs/engine/src/collab/undo.js.map +1 -0
  203. package/src/libs/engine/src/commands/Command.d.ts +66 -0
  204. package/src/libs/engine/src/commands/Command.js +64 -0
  205. package/src/libs/engine/src/commands/Command.js.map +1 -0
  206. package/src/libs/engine/src/commands/CommandManager.d.ts +161 -0
  207. package/src/libs/engine/src/commands/CommandManager.js +417 -0
  208. package/src/libs/engine/src/commands/CommandManager.js.map +1 -0
  209. package/src/libs/engine/src/commands/basic/AddGroupCommand.d.ts +13 -0
  210. package/src/libs/engine/src/commands/basic/AddGroupCommand.js +50 -0
  211. package/src/libs/engine/src/commands/basic/AddGroupCommand.js.map +1 -0
  212. package/src/libs/engine/src/commands/basic/AddLinkCommand.d.ts +13 -0
  213. package/src/libs/engine/src/commands/basic/AddLinkCommand.js +50 -0
  214. package/src/libs/engine/src/commands/basic/AddLinkCommand.js.map +1 -0
  215. package/src/libs/engine/src/commands/basic/AddNodeCommand.d.ts +13 -0
  216. package/src/libs/engine/src/commands/basic/AddNodeCommand.js +65 -0
  217. package/src/libs/engine/src/commands/basic/AddNodeCommand.js.map +1 -0
  218. package/src/libs/engine/src/commands/basic/AddToGroupCommand.d.ts +12 -0
  219. package/src/libs/engine/src/commands/basic/AddToGroupCommand.js +73 -0
  220. package/src/libs/engine/src/commands/basic/AddToGroupCommand.js.map +1 -0
  221. package/src/libs/engine/src/commands/basic/AlignCommands.d.ts +42 -0
  222. package/src/libs/engine/src/commands/basic/AlignCommands.js +138 -0
  223. package/src/libs/engine/src/commands/basic/AlignCommands.js.map +1 -0
  224. package/src/libs/engine/src/commands/basic/CollapseGroupCommand.d.ts +14 -0
  225. package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js +70 -0
  226. package/src/libs/engine/src/commands/basic/CollapseGroupCommand.js.map +1 -0
  227. package/src/libs/engine/src/commands/basic/CopyCommand.d.ts +29 -0
  228. package/src/libs/engine/src/commands/basic/CopyCommand.js +131 -0
  229. package/src/libs/engine/src/commands/basic/CopyCommand.js.map +1 -0
  230. package/src/libs/engine/src/commands/basic/CutCommand.d.ts +49 -0
  231. package/src/libs/engine/src/commands/basic/CutCommand.js +68 -0
  232. package/src/libs/engine/src/commands/basic/CutCommand.js.map +1 -0
  233. package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.d.ts +58 -0
  234. package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js +309 -0
  235. package/src/libs/engine/src/commands/basic/DeleteSelectionCommand.js.map +1 -0
  236. package/src/libs/engine/src/commands/basic/DuplicateCommand.d.ts +31 -0
  237. package/src/libs/engine/src/commands/basic/DuplicateCommand.js +232 -0
  238. package/src/libs/engine/src/commands/basic/DuplicateCommand.js.map +1 -0
  239. package/src/libs/engine/src/commands/basic/ExpandGroupCommand.d.ts +12 -0
  240. package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js +69 -0
  241. package/src/libs/engine/src/commands/basic/ExpandGroupCommand.js.map +1 -0
  242. package/src/libs/engine/src/commands/basic/MoveGroupCommand.d.ts +46 -0
  243. package/src/libs/engine/src/commands/basic/MoveGroupCommand.js +77 -0
  244. package/src/libs/engine/src/commands/basic/MoveGroupCommand.js.map +1 -0
  245. package/src/libs/engine/src/commands/basic/MoveNodeCommand.d.ts +30 -0
  246. package/src/libs/engine/src/commands/basic/MoveNodeCommand.js +87 -0
  247. package/src/libs/engine/src/commands/basic/MoveNodeCommand.js.map +1 -0
  248. package/src/libs/engine/src/commands/basic/NodeZOrderCommands.d.ts +39 -0
  249. package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js +120 -0
  250. package/src/libs/engine/src/commands/basic/NodeZOrderCommands.js.map +1 -0
  251. package/src/libs/engine/src/commands/basic/PasteCommand.d.ts +33 -0
  252. package/src/libs/engine/src/commands/basic/PasteCommand.js +228 -0
  253. package/src/libs/engine/src/commands/basic/PasteCommand.js.map +1 -0
  254. package/src/libs/engine/src/commands/basic/PortCommands.d.ts +22 -0
  255. package/src/libs/engine/src/commands/basic/PortCommands.js +85 -0
  256. package/src/libs/engine/src/commands/basic/PortCommands.js.map +1 -0
  257. package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.d.ts +15 -0
  258. package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js +59 -0
  259. package/src/libs/engine/src/commands/basic/ReconnectLinkCommand.js.map +1 -0
  260. package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.d.ts +12 -0
  261. package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js +64 -0
  262. package/src/libs/engine/src/commands/basic/RemoveFromGroupCommand.js.map +1 -0
  263. package/src/libs/engine/src/commands/basic/RemoveGroupCommand.d.ts +12 -0
  264. package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js +56 -0
  265. package/src/libs/engine/src/commands/basic/RemoveGroupCommand.js.map +1 -0
  266. package/src/libs/engine/src/commands/basic/RemoveLinkCommand.d.ts +12 -0
  267. package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js +57 -0
  268. package/src/libs/engine/src/commands/basic/RemoveLinkCommand.js.map +1 -0
  269. package/src/libs/engine/src/commands/basic/RemoveNodeCommand.d.ts +23 -0
  270. package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js +108 -0
  271. package/src/libs/engine/src/commands/basic/RemoveNodeCommand.js.map +1 -0
  272. package/src/libs/engine/src/commands/basic/ResizeNodeCommand.d.ts +16 -0
  273. package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js +81 -0
  274. package/src/libs/engine/src/commands/basic/ResizeNodeCommand.js.map +1 -0
  275. package/src/libs/engine/src/commands/basic/RotateNodeCommand.d.ts +37 -0
  276. package/src/libs/engine/src/commands/basic/RotateNodeCommand.js +88 -0
  277. package/src/libs/engine/src/commands/basic/RotateNodeCommand.js.map +1 -0
  278. package/src/libs/engine/src/commands/basic/SetFlexItemCommand.d.ts +14 -0
  279. package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js +74 -0
  280. package/src/libs/engine/src/commands/basic/SetFlexItemCommand.js.map +1 -0
  281. package/src/libs/engine/src/commands/basic/SetGridItemCommand.d.ts +14 -0
  282. package/src/libs/engine/src/commands/basic/SetGridItemCommand.js +74 -0
  283. package/src/libs/engine/src/commands/basic/SetGridItemCommand.js.map +1 -0
  284. package/src/libs/engine/src/commands/basic/SetLayoutCommand.d.ts +16 -0
  285. package/src/libs/engine/src/commands/basic/SetLayoutCommand.js +80 -0
  286. package/src/libs/engine/src/commands/basic/SetLayoutCommand.js.map +1 -0
  287. package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.d.ts +28 -0
  288. package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js +83 -0
  289. package/src/libs/engine/src/commands/basic/SetLinkDisplayLabelCommand.js.map +1 -0
  290. package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.d.ts +24 -0
  291. package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js +81 -0
  292. package/src/libs/engine/src/commands/basic/SetLinkLabelCommand.js.map +1 -0
  293. package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.d.ts +14 -0
  294. package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js +75 -0
  295. package/src/libs/engine/src/commands/basic/SetLinkLabelsCommand.js.map +1 -0
  296. package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.d.ts +14 -0
  297. package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js +77 -0
  298. package/src/libs/engine/src/commands/basic/SetLinkPathTypeCommand.js.map +1 -0
  299. package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.d.ts +32 -0
  300. package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js +87 -0
  301. package/src/libs/engine/src/commands/basic/SetLinkPointsCommand.js.map +1 -0
  302. package/src/libs/engine/src/commands/basic/SetNodeDataCommand.d.ts +14 -0
  303. package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js +93 -0
  304. package/src/libs/engine/src/commands/basic/SetNodeDataCommand.js.map +1 -0
  305. package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.d.ts +26 -0
  306. package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js +81 -0
  307. package/src/libs/engine/src/commands/basic/SetNodeLabelCommand.js.map +1 -0
  308. package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.d.ts +14 -0
  309. package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js +69 -0
  310. package/src/libs/engine/src/commands/basic/SetNodeShapeConfigCommand.js.map +1 -0
  311. package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.d.ts +15 -0
  312. package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js +88 -0
  313. package/src/libs/engine/src/commands/basic/SetNodeStyleCommand.js.map +1 -0
  314. package/src/libs/engine/src/commands/basic/SetParentCommand.d.ts +13 -0
  315. package/src/libs/engine/src/commands/basic/SetParentCommand.js +109 -0
  316. package/src/libs/engine/src/commands/basic/SetParentCommand.js.map +1 -0
  317. package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.d.ts +34 -0
  318. package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js +86 -0
  319. package/src/libs/engine/src/commands/basic/SetStrokePointsCommand.js.map +1 -0
  320. package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.d.ts +31 -0
  321. package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js +88 -0
  322. package/src/libs/engine/src/commands/basic/StrokeLifecycleCommands.js.map +1 -0
  323. package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.d.ts +15 -0
  324. package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js +72 -0
  325. package/src/libs/engine/src/commands/basic/UpdateLinkStyleCommand.js.map +1 -0
  326. package/src/libs/engine/src/commands/basic/index.d.ts +41 -0
  327. package/src/libs/engine/src/commands/basic/index.js +52 -0
  328. package/src/libs/engine/src/commands/basic/index.js.map +1 -0
  329. package/src/libs/engine/src/commands/basic/remapNodePortIds.d.ts +23 -0
  330. package/src/libs/engine/src/commands/basic/remapNodePortIds.js +46 -0
  331. package/src/libs/engine/src/commands/basic/remapNodePortIds.js.map +1 -0
  332. package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.d.ts +31 -0
  333. package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js +49 -0
  334. package/src/libs/engine/src/commands/basic/resolveLinkNodeIds.js.map +1 -0
  335. package/src/libs/engine/src/commands/composite/BatchCommand.d.ts +19 -0
  336. package/src/libs/engine/src/commands/composite/BatchCommand.js +61 -0
  337. package/src/libs/engine/src/commands/composite/BatchCommand.js.map +1 -0
  338. package/src/libs/engine/src/commands/composite/MacroCommand.d.ts +35 -0
  339. package/src/libs/engine/src/commands/composite/MacroCommand.js +87 -0
  340. package/src/libs/engine/src/commands/composite/MacroCommand.js.map +1 -0
  341. package/src/libs/engine/src/commands/composite/index.d.ts +2 -0
  342. package/src/libs/engine/src/commands/composite/index.js +7 -0
  343. package/src/libs/engine/src/commands/composite/index.js.map +1 -0
  344. package/src/libs/engine/src/commands/index.d.ts +4 -0
  345. package/src/libs/engine/src/commands/index.js +9 -0
  346. package/src/libs/engine/src/commands/index.js.map +1 -0
  347. package/src/libs/engine/src/comments/comment-store.d.ts +238 -0
  348. package/src/libs/engine/src/comments/comment-store.js +538 -0
  349. package/src/libs/engine/src/comments/comment-store.js.map +1 -0
  350. package/src/libs/engine/src/comments/index.d.ts +4 -0
  351. package/src/libs/engine/src/comments/index.js +31 -0
  352. package/src/libs/engine/src/comments/index.js.map +1 -0
  353. package/src/libs/engine/src/comments/mentions.d.ts +52 -0
  354. package/src/libs/engine/src/comments/mentions.js +94 -0
  355. package/src/libs/engine/src/comments/mentions.js.map +1 -0
  356. package/src/libs/engine/src/comments/read-state.d.ts +37 -0
  357. package/src/libs/engine/src/comments/read-state.js +105 -0
  358. package/src/libs/engine/src/comments/read-state.js.map +1 -0
  359. package/src/libs/engine/src/comments/types.d.ts +154 -0
  360. package/src/libs/engine/src/comments/types.js +107 -0
  361. package/src/libs/engine/src/comments/types.js.map +1 -0
  362. package/src/libs/engine/src/config/InteractionConfig.d.ts +330 -0
  363. package/src/libs/engine/src/config/InteractionConfig.js +154 -0
  364. package/src/libs/engine/src/config/InteractionConfig.js.map +1 -0
  365. package/src/libs/engine/src/config/index.d.ts +1 -0
  366. package/src/libs/engine/src/config/index.js +6 -0
  367. package/src/libs/engine/src/config/index.js.map +1 -0
  368. package/src/libs/engine/src/dsl/DSL.d.ts +197 -0
  369. package/src/libs/engine/src/dsl/DSL.js +564 -0
  370. package/src/libs/engine/src/dsl/DSL.js.map +1 -0
  371. package/src/libs/engine/src/dsl/advanced/StyleParser.d.ts +75 -0
  372. package/src/libs/engine/src/dsl/advanced/StyleParser.js +166 -0
  373. package/src/libs/engine/src/dsl/advanced/StyleParser.js.map +1 -0
  374. package/src/libs/engine/src/dsl/advanced/TemplateParser.d.ts +88 -0
  375. package/src/libs/engine/src/dsl/advanced/TemplateParser.js +226 -0
  376. package/src/libs/engine/src/dsl/advanced/TemplateParser.js.map +1 -0
  377. package/src/libs/engine/src/dsl/advanced/index.d.ts +9 -0
  378. package/src/libs/engine/src/dsl/advanced/index.js +13 -0
  379. package/src/libs/engine/src/dsl/advanced/index.js.map +1 -0
  380. package/src/libs/engine/src/dsl/detector/LayoutDetector.d.ts +80 -0
  381. package/src/libs/engine/src/dsl/detector/LayoutDetector.js +333 -0
  382. package/src/libs/engine/src/dsl/detector/LayoutDetector.js.map +1 -0
  383. package/src/libs/engine/src/dsl/extended/BPMNGenerator.d.ts +38 -0
  384. package/src/libs/engine/src/dsl/extended/BPMNGenerator.js +90 -0
  385. package/src/libs/engine/src/dsl/extended/BPMNGenerator.js.map +1 -0
  386. package/src/libs/engine/src/dsl/extended/BPMNParser.d.ts +83 -0
  387. package/src/libs/engine/src/dsl/extended/BPMNParser.js +198 -0
  388. package/src/libs/engine/src/dsl/extended/BPMNParser.js.map +1 -0
  389. package/src/libs/engine/src/dsl/extended/ERDGenerator.d.ts +38 -0
  390. package/src/libs/engine/src/dsl/extended/ERDGenerator.js +126 -0
  391. package/src/libs/engine/src/dsl/extended/ERDGenerator.js.map +1 -0
  392. package/src/libs/engine/src/dsl/extended/ERDParser.d.ts +81 -0
  393. package/src/libs/engine/src/dsl/extended/ERDParser.js +161 -0
  394. package/src/libs/engine/src/dsl/extended/ERDParser.js.map +1 -0
  395. package/src/libs/engine/src/dsl/extended/ERDTransformer.d.ts +43 -0
  396. package/src/libs/engine/src/dsl/extended/ERDTransformer.js +105 -0
  397. package/src/libs/engine/src/dsl/extended/ERDTransformer.js.map +1 -0
  398. package/src/libs/engine/src/dsl/extended/UMLGenerator.d.ts +42 -0
  399. package/src/libs/engine/src/dsl/extended/UMLGenerator.js +157 -0
  400. package/src/libs/engine/src/dsl/extended/UMLGenerator.js.map +1 -0
  401. package/src/libs/engine/src/dsl/extended/UMLParser.d.ts +99 -0
  402. package/src/libs/engine/src/dsl/extended/UMLParser.js +200 -0
  403. package/src/libs/engine/src/dsl/extended/UMLParser.js.map +1 -0
  404. package/src/libs/engine/src/dsl/extended/index.d.ts +13 -0
  405. package/src/libs/engine/src/dsl/extended/index.js +27 -0
  406. package/src/libs/engine/src/dsl/extended/index.js.map +1 -0
  407. package/src/libs/engine/src/dsl/generator/DSLFormatter.d.ts +87 -0
  408. package/src/libs/engine/src/dsl/generator/DSLFormatter.js +261 -0
  409. package/src/libs/engine/src/dsl/generator/DSLFormatter.js.map +1 -0
  410. package/src/libs/engine/src/dsl/generator/DSLGenerator.d.ts +96 -0
  411. package/src/libs/engine/src/dsl/generator/DSLGenerator.js +328 -0
  412. package/src/libs/engine/src/dsl/generator/DSLGenerator.js.map +1 -0
  413. package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.d.ts +111 -0
  414. package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js +361 -0
  415. package/src/libs/engine/src/dsl/generator/DiagramAnalyzer.js.map +1 -0
  416. package/src/libs/engine/src/dsl/index.d.ts +35 -0
  417. package/src/libs/engine/src/dsl/index.js +64 -0
  418. package/src/libs/engine/src/dsl/index.js.map +1 -0
  419. package/src/libs/engine/src/dsl/lexer/Lexer.d.ts +117 -0
  420. package/src/libs/engine/src/dsl/lexer/Lexer.js +521 -0
  421. package/src/libs/engine/src/dsl/lexer/Lexer.js.map +1 -0
  422. package/src/libs/engine/src/dsl/mermaid/MermaidClass.d.ts +136 -0
  423. package/src/libs/engine/src/dsl/mermaid/MermaidClass.js +429 -0
  424. package/src/libs/engine/src/dsl/mermaid/MermaidClass.js.map +1 -0
  425. package/src/libs/engine/src/dsl/mermaid/MermaidER.d.ts +118 -0
  426. package/src/libs/engine/src/dsl/mermaid/MermaidER.js +338 -0
  427. package/src/libs/engine/src/dsl/mermaid/MermaidER.js.map +1 -0
  428. package/src/libs/engine/src/dsl/mermaid/MermaidState.d.ts +89 -0
  429. package/src/libs/engine/src/dsl/mermaid/MermaidState.js +613 -0
  430. package/src/libs/engine/src/dsl/mermaid/MermaidState.js.map +1 -0
  431. package/src/libs/engine/src/dsl/mermaid/index.d.ts +10 -0
  432. package/src/libs/engine/src/dsl/mermaid/index.js +33 -0
  433. package/src/libs/engine/src/dsl/mermaid/index.js.map +1 -0
  434. package/src/libs/engine/src/dsl/mermaid/layout.d.ts +70 -0
  435. package/src/libs/engine/src/dsl/mermaid/layout.js +162 -0
  436. package/src/libs/engine/src/dsl/mermaid/layout.js.map +1 -0
  437. package/src/libs/engine/src/dsl/mermaid/lines.d.ts +25 -0
  438. package/src/libs/engine/src/dsl/mermaid/lines.js +74 -0
  439. package/src/libs/engine/src/dsl/mermaid/lines.js.map +1 -0
  440. package/src/libs/engine/src/dsl/parser/Parser.d.ts +131 -0
  441. package/src/libs/engine/src/dsl/parser/Parser.js +725 -0
  442. package/src/libs/engine/src/dsl/parser/Parser.js.map +1 -0
  443. package/src/libs/engine/src/dsl/sync/BidirectionalSync.d.ts +154 -0
  444. package/src/libs/engine/src/dsl/sync/BidirectionalSync.js +389 -0
  445. package/src/libs/engine/src/dsl/sync/BidirectionalSync.js.map +1 -0
  446. package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.d.ts +128 -0
  447. package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js +244 -0
  448. package/src/libs/engine/src/dsl/sync/IntegratedSyncManager.js.map +1 -0
  449. package/src/libs/engine/src/dsl/sync/LayoutApplicator.d.ts +140 -0
  450. package/src/libs/engine/src/dsl/sync/LayoutApplicator.js +271 -0
  451. package/src/libs/engine/src/dsl/sync/LayoutApplicator.js.map +1 -0
  452. package/src/libs/engine/src/dsl/sync/SyncStateManager.d.ts +145 -0
  453. package/src/libs/engine/src/dsl/sync/SyncStateManager.js +253 -0
  454. package/src/libs/engine/src/dsl/sync/SyncStateManager.js.map +1 -0
  455. package/src/libs/engine/src/dsl/sync/index.d.ts +13 -0
  456. package/src/libs/engine/src/dsl/sync/index.js +21 -0
  457. package/src/libs/engine/src/dsl/sync/index.js.map +1 -0
  458. package/src/libs/engine/src/dsl/transformer/ASTTransformer.d.ts +150 -0
  459. package/src/libs/engine/src/dsl/transformer/ASTTransformer.js +605 -0
  460. package/src/libs/engine/src/dsl/transformer/ASTTransformer.js.map +1 -0
  461. package/src/libs/engine/src/dsl/types/ASTNode.d.ts +159 -0
  462. package/src/libs/engine/src/dsl/types/ASTNode.js +31 -0
  463. package/src/libs/engine/src/dsl/types/ASTNode.js.map +1 -0
  464. package/src/libs/engine/src/dsl/types/Token.d.ts +79 -0
  465. package/src/libs/engine/src/dsl/types/Token.js +84 -0
  466. package/src/libs/engine/src/dsl/types/Token.js.map +1 -0
  467. package/src/libs/engine/src/engine/DiagramEngine.d.ts +917 -0
  468. package/src/libs/engine/src/engine/DiagramEngine.js +2190 -0
  469. package/src/libs/engine/src/engine/DiagramEngine.js.map +1 -0
  470. package/src/libs/engine/src/engine/DiagramMode.d.ts +51 -0
  471. package/src/libs/engine/src/engine/DiagramMode.js +53 -0
  472. package/src/libs/engine/src/engine/DiagramMode.js.map +1 -0
  473. package/src/libs/engine/src/engine/DiagramModeTypes.d.ts +73 -0
  474. package/src/libs/engine/src/engine/DiagramModeTypes.js +4 -0
  475. package/src/libs/engine/src/engine/DiagramModeTypes.js.map +1 -0
  476. package/src/libs/engine/src/engine/ModeManager.d.ts +155 -0
  477. package/src/libs/engine/src/engine/ModeManager.js +387 -0
  478. package/src/libs/engine/src/engine/ModeManager.js.map +1 -0
  479. package/src/libs/engine/src/engine/index.d.ts +2 -0
  480. package/src/libs/engine/src/engine/index.js +7 -0
  481. package/src/libs/engine/src/engine/index.js.map +1 -0
  482. package/src/libs/engine/src/events/EventBus.d.ts +106 -0
  483. package/src/libs/engine/src/events/EventBus.js +226 -0
  484. package/src/libs/engine/src/events/EventBus.js.map +1 -0
  485. package/src/libs/engine/src/events/index.d.ts +1 -0
  486. package/src/libs/engine/src/events/index.js +6 -0
  487. package/src/libs/engine/src/events/index.js.map +1 -0
  488. package/src/libs/engine/src/index.d.ts +43 -0
  489. package/src/libs/engine/src/index.js +142 -0
  490. package/src/libs/engine/src/index.js.map +1 -0
  491. package/src/libs/engine/src/interaction/GroupCollapseService.d.ts +53 -0
  492. package/src/libs/engine/src/interaction/GroupCollapseService.js +274 -0
  493. package/src/libs/engine/src/interaction/GroupCollapseService.js.map +1 -0
  494. package/src/libs/engine/src/interaction/GroupMembershipService.d.ts +107 -0
  495. package/src/libs/engine/src/interaction/GroupMembershipService.js +245 -0
  496. package/src/libs/engine/src/interaction/GroupMembershipService.js.map +1 -0
  497. package/src/libs/engine/src/interaction/SemanticMembershipService.d.ts +28 -0
  498. package/src/libs/engine/src/interaction/SemanticMembershipService.js +168 -0
  499. package/src/libs/engine/src/interaction/SemanticMembershipService.js.map +1 -0
  500. package/src/libs/engine/src/interaction/SwimlaneService.d.ts +62 -0
  501. package/src/libs/engine/src/interaction/SwimlaneService.js +180 -0
  502. package/src/libs/engine/src/interaction/SwimlaneService.js.map +1 -0
  503. package/src/libs/engine/src/interaction/index.d.ts +4 -0
  504. package/src/libs/engine/src/interaction/index.js +9 -0
  505. package/src/libs/engine/src/interaction/index.js.map +1 -0
  506. package/src/libs/engine/src/interop/drawio/importDrawio.d.ts +52 -0
  507. package/src/libs/engine/src/interop/drawio/importDrawio.js +940 -0
  508. package/src/libs/engine/src/interop/drawio/importDrawio.js.map +1 -0
  509. package/src/libs/engine/src/interop/drawio/index.d.ts +1 -0
  510. package/src/libs/engine/src/interop/drawio/index.js +12 -0
  511. package/src/libs/engine/src/interop/drawio/index.js.map +1 -0
  512. package/src/libs/engine/src/interop/drawio/xml.d.ts +26 -0
  513. package/src/libs/engine/src/interop/drawio/xml.js +213 -0
  514. package/src/libs/engine/src/interop/drawio/xml.js.map +1 -0
  515. package/src/libs/engine/src/layout/CompoundLayoutService.d.ts +121 -0
  516. package/src/libs/engine/src/layout/CompoundLayoutService.js +616 -0
  517. package/src/libs/engine/src/layout/CompoundLayoutService.js.map +1 -0
  518. package/src/libs/engine/src/layout/ILayoutAlgorithm.d.ts +120 -0
  519. package/src/libs/engine/src/layout/ILayoutAlgorithm.js +88 -0
  520. package/src/libs/engine/src/layout/ILayoutAlgorithm.js.map +1 -0
  521. package/src/libs/engine/src/layout/LayoutManager.d.ts +155 -0
  522. package/src/libs/engine/src/layout/LayoutManager.js +640 -0
  523. package/src/libs/engine/src/layout/LayoutManager.js.map +1 -0
  524. package/src/libs/engine/src/layout/SmartSpacingCalculator.d.ts +62 -0
  525. package/src/libs/engine/src/layout/SmartSpacingCalculator.js +134 -0
  526. package/src/libs/engine/src/layout/SmartSpacingCalculator.js.map +1 -0
  527. package/src/libs/engine/src/layout/ViewportTransform.d.ts +55 -0
  528. package/src/libs/engine/src/layout/ViewportTransform.js +118 -0
  529. package/src/libs/engine/src/layout/ViewportTransform.js.map +1 -0
  530. package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.d.ts +34 -0
  531. package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js +317 -0
  532. package/src/libs/engine/src/layout/algorithms/ForceDirectedLayoutAlgorithm.js.map +1 -0
  533. package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.d.ts +56 -0
  534. package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js +223 -0
  535. package/src/libs/engine/src/layout/algorithms/GridLayoutAlgorithm.js.map +1 -0
  536. package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.d.ts +60 -0
  537. package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js +307 -0
  538. package/src/libs/engine/src/layout/algorithms/HierarchicalLayoutAlgorithm.js.map +1 -0
  539. package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.d.ts +62 -0
  540. package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js +324 -0
  541. package/src/libs/engine/src/layout/algorithms/HybridLayoutAlgorithm.js.map +1 -0
  542. package/src/libs/engine/src/layout/community-layout-adapter.d.ts +107 -0
  543. package/src/libs/engine/src/layout/community-layout-adapter.js +486 -0
  544. package/src/libs/engine/src/layout/community-layout-adapter.js.map +1 -0
  545. package/src/libs/engine/src/layout/component-packing.d.ts +98 -0
  546. package/src/libs/engine/src/layout/component-packing.js +307 -0
  547. package/src/libs/engine/src/layout/component-packing.js.map +1 -0
  548. package/src/libs/engine/src/layout/dagre-layout-adapter.d.ts +122 -0
  549. package/src/libs/engine/src/layout/dagre-layout-adapter.js +697 -0
  550. package/src/libs/engine/src/layout/dagre-layout-adapter.js.map +1 -0
  551. package/src/libs/engine/src/layout/edge-bundling.interface.d.ts +159 -0
  552. package/src/libs/engine/src/layout/edge-bundling.interface.js +379 -0
  553. package/src/libs/engine/src/layout/edge-bundling.interface.js.map +1 -0
  554. package/src/libs/engine/src/layout/elk-layout-adapter.d.ts +121 -0
  555. package/src/libs/engine/src/layout/elk-layout-adapter.js +586 -0
  556. package/src/libs/engine/src/layout/elk-layout-adapter.js.map +1 -0
  557. package/src/libs/engine/src/layout/elk-loader.d.ts +1 -0
  558. package/src/libs/engine/src/layout/elk-loader.js +24 -0
  559. package/src/libs/engine/src/layout/elk-loader.js.map +1 -0
  560. package/src/libs/engine/src/layout/force-layout-adapter.d.ts +167 -0
  561. package/src/libs/engine/src/layout/force-layout-adapter.js +790 -0
  562. package/src/libs/engine/src/layout/force-layout-adapter.js.map +1 -0
  563. package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.d.ts +323 -0
  564. package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js +685 -0
  565. package/src/libs/engine/src/layout/grid-pack/grid-pack-engine.js.map +1 -0
  566. package/src/libs/engine/src/layout/incremental/mental-map.d.ts +98 -0
  567. package/src/libs/engine/src/layout/incremental/mental-map.js +221 -0
  568. package/src/libs/engine/src/layout/incremental/mental-map.js.map +1 -0
  569. package/src/libs/engine/src/layout/incremental-layout.interface.d.ts +145 -0
  570. package/src/libs/engine/src/layout/incremental-layout.interface.js +300 -0
  571. package/src/libs/engine/src/layout/incremental-layout.interface.js.map +1 -0
  572. package/src/libs/engine/src/layout/index.d.ts +83 -0
  573. package/src/libs/engine/src/layout/index.js +116 -0
  574. package/src/libs/engine/src/layout/index.js.map +1 -0
  575. package/src/libs/engine/src/layout/layout-adapter.interface.d.ts +185 -0
  576. package/src/libs/engine/src/layout/layout-adapter.interface.js +10 -0
  577. package/src/libs/engine/src/layout/layout-adapter.interface.js.map +1 -0
  578. package/src/libs/engine/src/layout/layout-auto-select.d.ts +160 -0
  579. package/src/libs/engine/src/layout/layout-auto-select.js +621 -0
  580. package/src/libs/engine/src/layout/layout-auto-select.js.map +1 -0
  581. package/src/libs/engine/src/layout/layout-constraints.interface.d.ts +117 -0
  582. package/src/libs/engine/src/layout/layout-constraints.interface.js +138 -0
  583. package/src/libs/engine/src/layout/layout-constraints.interface.js.map +1 -0
  584. package/src/libs/engine/src/layout/layout-graph.d.ts +70 -0
  585. package/src/libs/engine/src/layout/layout-graph.js +119 -0
  586. package/src/libs/engine/src/layout/layout-graph.js.map +1 -0
  587. package/src/libs/engine/src/layout/layout-history.d.ts +147 -0
  588. package/src/libs/engine/src/layout/layout-history.js +258 -0
  589. package/src/libs/engine/src/layout/layout-history.js.map +1 -0
  590. package/src/libs/engine/src/layout/layout-host.d.ts +172 -0
  591. package/src/libs/engine/src/layout/layout-host.js +523 -0
  592. package/src/libs/engine/src/layout/layout-host.js.map +1 -0
  593. package/src/libs/engine/src/layout/layout-presets.d.ts +91 -0
  594. package/src/libs/engine/src/layout/layout-presets.js +333 -0
  595. package/src/libs/engine/src/layout/layout-presets.js.map +1 -0
  596. package/src/libs/engine/src/layout/layout-quality-extended.d.ts +66 -0
  597. package/src/libs/engine/src/layout/layout-quality-extended.js +246 -0
  598. package/src/libs/engine/src/layout/layout-quality-extended.js.map +1 -0
  599. package/src/libs/engine/src/layout/layout-quality-metrics.d.ts +127 -0
  600. package/src/libs/engine/src/layout/layout-quality-metrics.js +466 -0
  601. package/src/libs/engine/src/layout/layout-quality-metrics.js.map +1 -0
  602. package/src/libs/engine/src/layout/layout-registry.d.ts +309 -0
  603. package/src/libs/engine/src/layout/layout-registry.js +414 -0
  604. package/src/libs/engine/src/layout/layout-registry.js.map +1 -0
  605. package/src/libs/engine/src/layout/layout.service.d.ts +100 -0
  606. package/src/libs/engine/src/layout/layout.service.js +216 -0
  607. package/src/libs/engine/src/layout/layout.service.js.map +1 -0
  608. package/src/libs/engine/src/layout/overlap-removal.d.ts +20 -0
  609. package/src/libs/engine/src/layout/overlap-removal.js +117 -0
  610. package/src/libs/engine/src/layout/overlap-removal.js.map +1 -0
  611. package/src/libs/engine/src/layout/port-aware-layout.interface.d.ts +232 -0
  612. package/src/libs/engine/src/layout/port-aware-layout.interface.js +413 -0
  613. package/src/libs/engine/src/layout/port-aware-layout.interface.js.map +1 -0
  614. package/src/libs/engine/src/layout/port-label-bridge.d.ts +77 -0
  615. package/src/libs/engine/src/layout/port-label-bridge.js +250 -0
  616. package/src/libs/engine/src/layout/port-label-bridge.js.map +1 -0
  617. package/src/libs/engine/src/layout/portfolio-layouts.d.ts +53 -0
  618. package/src/libs/engine/src/layout/portfolio-layouts.js +388 -0
  619. package/src/libs/engine/src/layout/portfolio-layouts.js.map +1 -0
  620. package/src/libs/engine/src/layout/rng.d.ts +34 -0
  621. package/src/libs/engine/src/layout/rng.js +71 -0
  622. package/src/libs/engine/src/layout/rng.js.map +1 -0
  623. package/src/libs/engine/src/layout/spectral-layout-adapter.d.ts +72 -0
  624. package/src/libs/engine/src/layout/spectral-layout-adapter.js +379 -0
  625. package/src/libs/engine/src/layout/spectral-layout-adapter.js.map +1 -0
  626. package/src/libs/engine/src/layout/steppable-layout.d.ts +40 -0
  627. package/src/libs/engine/src/layout/steppable-layout.js +34 -0
  628. package/src/libs/engine/src/layout/steppable-layout.js.map +1 -0
  629. package/src/libs/engine/src/layout/subgraph-layout.interface.d.ts +269 -0
  630. package/src/libs/engine/src/layout/subgraph-layout.interface.js +452 -0
  631. package/src/libs/engine/src/layout/subgraph-layout.interface.js.map +1 -0
  632. package/src/libs/engine/src/layout/sugiyama/layered-layout.d.ts +9 -0
  633. package/src/libs/engine/src/layout/sugiyama/layered-layout.js +83 -0
  634. package/src/libs/engine/src/layout/sugiyama/layered-layout.js.map +1 -0
  635. package/src/libs/engine/src/layout/sugiyama/sugiyama.d.ts +91 -0
  636. package/src/libs/engine/src/layout/sugiyama/sugiyama.js +797 -0
  637. package/src/libs/engine/src/layout/sugiyama/sugiyama.js.map +1 -0
  638. package/src/libs/engine/src/layout/tree-layout.d.ts +43 -0
  639. package/src/libs/engine/src/layout/tree-layout.js +426 -0
  640. package/src/libs/engine/src/layout/tree-layout.js.map +1 -0
  641. package/src/libs/engine/src/layout/types.d.ts +263 -0
  642. package/src/libs/engine/src/layout/types.js +6 -0
  643. package/src/libs/engine/src/layout/types.js.map +1 -0
  644. package/src/libs/engine/src/lib/performance/mobile-performance.service.d.ts +43 -0
  645. package/src/libs/engine/src/lib/performance/mobile-performance.service.js +95 -0
  646. package/src/libs/engine/src/lib/performance/mobile-performance.service.js.map +1 -0
  647. package/src/libs/engine/src/models/DiagramEntity.d.ts +174 -0
  648. package/src/libs/engine/src/models/DiagramEntity.js +366 -0
  649. package/src/libs/engine/src/models/DiagramEntity.js.map +1 -0
  650. package/src/libs/engine/src/models/DiagramModel.d.ts +960 -0
  651. package/src/libs/engine/src/models/DiagramModel.js +2416 -0
  652. package/src/libs/engine/src/models/DiagramModel.js.map +1 -0
  653. package/src/libs/engine/src/models/GroupModel.d.ts +573 -0
  654. package/src/libs/engine/src/models/GroupModel.js +1373 -0
  655. package/src/libs/engine/src/models/GroupModel.js.map +1 -0
  656. package/src/libs/engine/src/models/LinkModel.d.ts +395 -0
  657. package/src/libs/engine/src/models/LinkModel.js +1045 -0
  658. package/src/libs/engine/src/models/LinkModel.js.map +1 -0
  659. package/src/libs/engine/src/models/NodeModel.d.ts +666 -0
  660. package/src/libs/engine/src/models/NodeModel.js +1512 -0
  661. package/src/libs/engine/src/models/NodeModel.js.map +1 -0
  662. package/src/libs/engine/src/models/PortModel.d.ts +292 -0
  663. package/src/libs/engine/src/models/PortModel.js +637 -0
  664. package/src/libs/engine/src/models/PortModel.js.map +1 -0
  665. package/src/libs/engine/src/models/StrokeModel.d.ts +160 -0
  666. package/src/libs/engine/src/models/StrokeModel.js +387 -0
  667. package/src/libs/engine/src/models/StrokeModel.js.map +1 -0
  668. package/src/libs/engine/src/models/index.d.ts +7 -0
  669. package/src/libs/engine/src/models/index.js +12 -0
  670. package/src/libs/engine/src/models/index.js.map +1 -0
  671. package/src/libs/engine/src/models/readonly-lock.d.ts +108 -0
  672. package/src/libs/engine/src/models/readonly-lock.js +125 -0
  673. package/src/libs/engine/src/models/readonly-lock.js.map +1 -0
  674. package/src/libs/engine/src/performance/LRUCache.d.ts +78 -0
  675. package/src/libs/engine/src/performance/LRUCache.js +179 -0
  676. package/src/libs/engine/src/performance/LRUCache.js.map +1 -0
  677. package/src/libs/engine/src/performance/PerformanceMonitor.d.ts +47 -0
  678. package/src/libs/engine/src/performance/PerformanceMonitor.js +112 -0
  679. package/src/libs/engine/src/performance/PerformanceMonitor.js.map +1 -0
  680. package/src/libs/engine/src/performance/SpatialIndex.d.ts +157 -0
  681. package/src/libs/engine/src/performance/SpatialIndex.js +306 -0
  682. package/src/libs/engine/src/performance/SpatialIndex.js.map +1 -0
  683. package/src/libs/engine/src/performance/index.d.ts +2 -0
  684. package/src/libs/engine/src/performance/index.js +7 -0
  685. package/src/libs/engine/src/performance/index.js.map +1 -0
  686. package/src/libs/engine/src/plugins/PluginManager.d.ts +95 -0
  687. package/src/libs/engine/src/plugins/PluginManager.js +388 -0
  688. package/src/libs/engine/src/plugins/PluginManager.js.map +1 -0
  689. package/src/libs/engine/src/plugins/index.d.ts +1 -0
  690. package/src/libs/engine/src/plugins/index.js +6 -0
  691. package/src/libs/engine/src/plugins/index.js.map +1 -0
  692. package/src/libs/engine/src/ports/connection-rules.d.ts +32 -0
  693. package/src/libs/engine/src/ports/connection-rules.js +131 -0
  694. package/src/libs/engine/src/ports/connection-rules.js.map +1 -0
  695. package/src/libs/engine/src/ports/dynamic-ports.d.ts +27 -0
  696. package/src/libs/engine/src/ports/dynamic-ports.js +135 -0
  697. package/src/libs/engine/src/ports/dynamic-ports.js.map +1 -0
  698. package/src/libs/engine/src/ports/index.d.ts +5 -0
  699. package/src/libs/engine/src/ports/index.js +16 -0
  700. package/src/libs/engine/src/ports/index.js.map +1 -0
  701. package/src/libs/engine/src/ports/port-groups.d.ts +43 -0
  702. package/src/libs/engine/src/ports/port-groups.js +185 -0
  703. package/src/libs/engine/src/ports/port-groups.js.map +1 -0
  704. package/src/libs/engine/src/ports/port-type-registry.d.ts +34 -0
  705. package/src/libs/engine/src/ports/port-type-registry.js +87 -0
  706. package/src/libs/engine/src/ports/port-type-registry.js.map +1 -0
  707. package/src/libs/engine/src/ports/port-types.d.ts +266 -0
  708. package/src/libs/engine/src/ports/port-types.js +30 -0
  709. package/src/libs/engine/src/ports/port-types.js.map +1 -0
  710. package/src/libs/engine/src/rendering/HtmlTemplateRenderer.d.ts +136 -0
  711. package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js +292 -0
  712. package/src/libs/engine/src/rendering/HtmlTemplateRenderer.js.map +1 -0
  713. package/src/libs/engine/src/rendering/LemonadeJSRenderer.d.ts +160 -0
  714. package/src/libs/engine/src/rendering/LemonadeJSRenderer.js +362 -0
  715. package/src/libs/engine/src/rendering/LemonadeJSRenderer.js.map +1 -0
  716. package/src/libs/engine/src/rendering/index.d.ts +2 -0
  717. package/src/libs/engine/src/rendering/index.js +7 -0
  718. package/src/libs/engine/src/rendering/index.js.map +1 -0
  719. package/src/libs/engine/src/routing/LiveReroutingEngine.d.ts +75 -0
  720. package/src/libs/engine/src/routing/LiveReroutingEngine.js +173 -0
  721. package/src/libs/engine/src/routing/LiveReroutingEngine.js.map +1 -0
  722. package/src/libs/engine/src/routing/ObstacleIndex.d.ts +42 -0
  723. package/src/libs/engine/src/routing/ObstacleIndex.js +215 -0
  724. package/src/libs/engine/src/routing/ObstacleIndex.js.map +1 -0
  725. package/src/libs/engine/src/routing/ObstacleMap.d.ts +68 -0
  726. package/src/libs/engine/src/routing/ObstacleMap.js +312 -0
  727. package/src/libs/engine/src/routing/ObstacleMap.js.map +1 -0
  728. package/src/libs/engine/src/routing/ObstacleMapBuilder.d.ts +28 -0
  729. package/src/libs/engine/src/routing/ObstacleMapBuilder.js +76 -0
  730. package/src/libs/engine/src/routing/ObstacleMapBuilder.js.map +1 -0
  731. package/src/libs/engine/src/routing/PathSimplifier.d.ts +119 -0
  732. package/src/libs/engine/src/routing/PathSimplifier.js +224 -0
  733. package/src/libs/engine/src/routing/PathSimplifier.js.map +1 -0
  734. package/src/libs/engine/src/routing/RoutingEngine.d.ts +118 -0
  735. package/src/libs/engine/src/routing/RoutingEngine.js +546 -0
  736. package/src/libs/engine/src/routing/RoutingEngine.js.map +1 -0
  737. package/src/libs/engine/src/routing/algorithms/AStarRouter.d.ts +90 -0
  738. package/src/libs/engine/src/routing/algorithms/AStarRouter.js +331 -0
  739. package/src/libs/engine/src/routing/algorithms/AStarRouter.js.map +1 -0
  740. package/src/libs/engine/src/routing/algorithms/DijkstraRouter.d.ts +74 -0
  741. package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js +297 -0
  742. package/src/libs/engine/src/routing/algorithms/DijkstraRouter.js.map +1 -0
  743. package/src/libs/engine/src/routing/algorithms/ElkRouter.d.ts +34 -0
  744. package/src/libs/engine/src/routing/algorithms/ElkRouter.js +210 -0
  745. package/src/libs/engine/src/routing/algorithms/ElkRouter.js.map +1 -0
  746. package/src/libs/engine/src/routing/algorithms/ManhattanRouter.d.ts +18 -0
  747. package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js +224 -0
  748. package/src/libs/engine/src/routing/algorithms/ManhattanRouter.js.map +1 -0
  749. package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.d.ts +173 -0
  750. package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js +1092 -0
  751. package/src/libs/engine/src/routing/algorithms/OrthogonalRouter.js.map +1 -0
  752. package/src/libs/engine/src/routing/algorithms/StraightRouter.d.ts +8 -0
  753. package/src/libs/engine/src/routing/algorithms/StraightRouter.js +53 -0
  754. package/src/libs/engine/src/routing/algorithms/StraightRouter.js.map +1 -0
  755. package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.d.ts +59 -0
  756. package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js +258 -0
  757. package/src/libs/engine/src/routing/algorithms/VisibilityGraphRouter.js.map +1 -0
  758. package/src/libs/engine/src/routing/global/GlobalRouteSolver.d.ts +64 -0
  759. package/src/libs/engine/src/routing/global/GlobalRouteSolver.js +334 -0
  760. package/src/libs/engine/src/routing/global/GlobalRouteSolver.js.map +1 -0
  761. package/src/libs/engine/src/routing/global/solver-host.d.ts +65 -0
  762. package/src/libs/engine/src/routing/global/solver-host.js +87 -0
  763. package/src/libs/engine/src/routing/global/solver-host.js.map +1 -0
  764. package/src/libs/engine/src/routing/index.d.ts +15 -0
  765. package/src/libs/engine/src/routing/index.js +20 -0
  766. package/src/libs/engine/src/routing/index.js.map +1 -0
  767. package/src/libs/engine/src/routing/types.d.ts +161 -0
  768. package/src/libs/engine/src/routing/types.js +4 -0
  769. package/src/libs/engine/src/routing/types.js.map +1 -0
  770. package/src/libs/engine/src/selection/SelectionManager.d.ts +161 -0
  771. package/src/libs/engine/src/selection/SelectionManager.js +483 -0
  772. package/src/libs/engine/src/selection/SelectionManager.js.map +1 -0
  773. package/src/libs/engine/src/selection/index.d.ts +1 -0
  774. package/src/libs/engine/src/selection/index.js +6 -0
  775. package/src/libs/engine/src/selection/index.js.map +1 -0
  776. package/src/libs/engine/src/serialization/DiagramMigrations.d.ts +41 -0
  777. package/src/libs/engine/src/serialization/DiagramMigrations.js +124 -0
  778. package/src/libs/engine/src/serialization/DiagramMigrations.js.map +1 -0
  779. package/src/libs/engine/src/serialization/DiagramValidator.d.ts +20 -0
  780. package/src/libs/engine/src/serialization/DiagramValidator.js +136 -0
  781. package/src/libs/engine/src/serialization/DiagramValidator.js.map +1 -0
  782. package/src/libs/engine/src/serialization/DocumentEnvelope.d.ts +53 -0
  783. package/src/libs/engine/src/serialization/DocumentEnvelope.js +111 -0
  784. package/src/libs/engine/src/serialization/DocumentEnvelope.js.map +1 -0
  785. package/src/libs/engine/src/serialization/Incremental.d.ts +77 -0
  786. package/src/libs/engine/src/serialization/Incremental.js +227 -0
  787. package/src/libs/engine/src/serialization/Incremental.js.map +1 -0
  788. package/src/libs/engine/src/serialization/Serializer.d.ts +29 -0
  789. package/src/libs/engine/src/serialization/Serializer.js +45 -0
  790. package/src/libs/engine/src/serialization/Serializer.js.map +1 -0
  791. package/src/libs/engine/src/serialization/Subgraph.d.ts +51 -0
  792. package/src/libs/engine/src/serialization/Subgraph.js +172 -0
  793. package/src/libs/engine/src/serialization/Subgraph.js.map +1 -0
  794. package/src/libs/engine/src/serialization/TextFormat.d.ts +71 -0
  795. package/src/libs/engine/src/serialization/TextFormat.js +261 -0
  796. package/src/libs/engine/src/serialization/TextFormat.js.map +1 -0
  797. package/src/libs/engine/src/state/ConnectionStateManager.d.ts +178 -0
  798. package/src/libs/engine/src/state/ConnectionStateManager.js +319 -0
  799. package/src/libs/engine/src/state/ConnectionStateManager.js.map +1 -0
  800. package/src/libs/engine/src/state/DiagramStore.d.ts +134 -0
  801. package/src/libs/engine/src/state/DiagramStore.js +372 -0
  802. package/src/libs/engine/src/state/DiagramStore.js.map +1 -0
  803. package/src/libs/engine/src/state/index.d.ts +2 -0
  804. package/src/libs/engine/src/state/index.js +7 -0
  805. package/src/libs/engine/src/state/index.js.map +1 -0
  806. package/src/libs/engine/src/sync/awareness.d.ts +91 -0
  807. package/src/libs/engine/src/sync/awareness.js +221 -0
  808. package/src/libs/engine/src/sync/awareness.js.map +1 -0
  809. package/src/libs/engine/src/sync/batcher.d.ts +84 -0
  810. package/src/libs/engine/src/sync/batcher.js +0 -0
  811. package/src/libs/engine/src/sync/batcher.js.map +1 -0
  812. package/src/libs/engine/src/sync/causal-buffer.d.ts +81 -0
  813. package/src/libs/engine/src/sync/causal-buffer.js +199 -0
  814. package/src/libs/engine/src/sync/causal-buffer.js.map +1 -0
  815. package/src/libs/engine/src/sync/index.d.ts +20 -0
  816. package/src/libs/engine/src/sync/index.js +41 -0
  817. package/src/libs/engine/src/sync/index.js.map +1 -0
  818. package/src/libs/engine/src/sync/protocol.d.ts +74 -0
  819. package/src/libs/engine/src/sync/protocol.js +39 -0
  820. package/src/libs/engine/src/sync/protocol.js.map +1 -0
  821. package/src/libs/engine/src/sync/sync-adapter.d.ts +243 -0
  822. package/src/libs/engine/src/sync/sync-adapter.js +524 -0
  823. package/src/libs/engine/src/sync/sync-adapter.js.map +1 -0
  824. package/src/libs/engine/src/sync/transport.d.ts +30 -0
  825. package/src/libs/engine/src/sync/transport.js +28 -0
  826. package/src/libs/engine/src/sync/transport.js.map +1 -0
  827. package/src/libs/engine/src/sync/transports/broadcast-channel.d.ts +39 -0
  828. package/src/libs/engine/src/sync/transports/broadcast-channel.js +117 -0
  829. package/src/libs/engine/src/sync/transports/broadcast-channel.js.map +1 -0
  830. package/src/libs/engine/src/sync/transports/memory.d.ts +38 -0
  831. package/src/libs/engine/src/sync/transports/memory.js +111 -0
  832. package/src/libs/engine/src/sync/transports/memory.js.map +1 -0
  833. package/src/libs/engine/src/sync/transports/unreliable.d.ts +59 -0
  834. package/src/libs/engine/src/sync/transports/unreliable.js +153 -0
  835. package/src/libs/engine/src/sync/transports/unreliable.js.map +1 -0
  836. package/src/libs/engine/src/sync/transports/websocket.d.ts +60 -0
  837. package/src/libs/engine/src/sync/transports/websocket.js +210 -0
  838. package/src/libs/engine/src/sync/transports/websocket.js.map +1 -0
  839. package/src/libs/engine/src/sync/version-vector.d.ts +47 -0
  840. package/src/libs/engine/src/sync/version-vector.js +218 -0
  841. package/src/libs/engine/src/sync/version-vector.js.map +1 -0
  842. package/src/libs/engine/src/template-library/common-templates.d.ts +46 -0
  843. package/src/libs/engine/src/template-library/common-templates.js +395 -0
  844. package/src/libs/engine/src/template-library/common-templates.js.map +1 -0
  845. package/src/libs/engine/src/template-library/data-viz-templates.d.ts +52 -0
  846. package/src/libs/engine/src/template-library/data-viz-templates.js +471 -0
  847. package/src/libs/engine/src/template-library/data-viz-templates.js.map +1 -0
  848. package/src/libs/engine/src/template-library/erd-templates.d.ts +71 -0
  849. package/src/libs/engine/src/template-library/erd-templates.js +773 -0
  850. package/src/libs/engine/src/template-library/erd-templates.js.map +1 -0
  851. package/src/libs/engine/src/template-library/index.d.ts +141 -0
  852. package/src/libs/engine/src/template-library/index.js +271 -0
  853. package/src/libs/engine/src/template-library/index.js.map +1 -0
  854. package/src/libs/engine/src/template-library/integration.d.ts +80 -0
  855. package/src/libs/engine/src/template-library/integration.js +141 -0
  856. package/src/libs/engine/src/template-library/integration.js.map +1 -0
  857. package/src/libs/engine/src/template-library/workflow-templates.d.ts +52 -0
  858. package/src/libs/engine/src/template-library/workflow-templates.js +438 -0
  859. package/src/libs/engine/src/template-library/workflow-templates.js.map +1 -0
  860. package/src/libs/engine/src/templates/NodeFactory.d.ts +118 -0
  861. package/src/libs/engine/src/templates/NodeFactory.js +436 -0
  862. package/src/libs/engine/src/templates/NodeFactory.js.map +1 -0
  863. package/src/libs/engine/src/templates/NodeTemplate.d.ts +342 -0
  864. package/src/libs/engine/src/templates/NodeTemplate.js +13 -0
  865. package/src/libs/engine/src/templates/NodeTemplate.js.map +1 -0
  866. package/src/libs/engine/src/templates/TemplateLoader.d.ts +46 -0
  867. package/src/libs/engine/src/templates/TemplateLoader.js +114 -0
  868. package/src/libs/engine/src/templates/TemplateLoader.js.map +1 -0
  869. package/src/libs/engine/src/templates/TemplateRegistry.d.ts +70 -0
  870. package/src/libs/engine/src/templates/TemplateRegistry.js +128 -0
  871. package/src/libs/engine/src/templates/TemplateRegistry.js.map +1 -0
  872. package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.d.ts +11 -0
  873. package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js +123 -0
  874. package/src/libs/engine/src/templates/generated/bpmn/bpmn-business-rule-task.template.js.map +1 -0
  875. package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.d.ts +11 -0
  876. package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js +123 -0
  877. package/src/libs/engine/src/templates/generated/bpmn/bpmn-end-event.template.js.map +1 -0
  878. package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.d.ts +11 -0
  879. package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js +123 -0
  880. package/src/libs/engine/src/templates/generated/bpmn/bpmn-error-event.template.js.map +1 -0
  881. package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.d.ts +11 -0
  882. package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js +124 -0
  883. package/src/libs/engine/src/templates/generated/bpmn/bpmn-exclusive-gateway.template.js.map +1 -0
  884. package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.d.ts +11 -0
  885. package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js +123 -0
  886. package/src/libs/engine/src/templates/generated/bpmn/bpmn-inclusive-gateway.template.js.map +1 -0
  887. package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.d.ts +11 -0
  888. package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js +124 -0
  889. package/src/libs/engine/src/templates/generated/bpmn/bpmn-intermediate-event.template.js.map +1 -0
  890. package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.d.ts +11 -0
  891. package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js +123 -0
  892. package/src/libs/engine/src/templates/generated/bpmn/bpmn-manual-task.template.js.map +1 -0
  893. package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.d.ts +11 -0
  894. package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js +122 -0
  895. package/src/libs/engine/src/templates/generated/bpmn/bpmn-message-event.template.js.map +1 -0
  896. package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.d.ts +11 -0
  897. package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js +125 -0
  898. package/src/libs/engine/src/templates/generated/bpmn/bpmn-parallel-gateway.template.js.map +1 -0
  899. package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.d.ts +11 -0
  900. package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js +123 -0
  901. package/src/libs/engine/src/templates/generated/bpmn/bpmn-script-task.template.js.map +1 -0
  902. package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.d.ts +11 -0
  903. package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js +123 -0
  904. package/src/libs/engine/src/templates/generated/bpmn/bpmn-service-task.template.js.map +1 -0
  905. package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.d.ts +11 -0
  906. package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js +123 -0
  907. package/src/libs/engine/src/templates/generated/bpmn/bpmn-start-event.template.js.map +1 -0
  908. package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.d.ts +11 -0
  909. package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js +152 -0
  910. package/src/libs/engine/src/templates/generated/bpmn/bpmn-task.template.js.map +1 -0
  911. package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.d.ts +11 -0
  912. package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js +123 -0
  913. package/src/libs/engine/src/templates/generated/bpmn/bpmn-timer-event.template.js.map +1 -0
  914. package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.d.ts +11 -0
  915. package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js +123 -0
  916. package/src/libs/engine/src/templates/generated/bpmn/bpmn-user-task.template.js.map +1 -0
  917. package/src/libs/engine/src/templates/generated/bpmn/index.d.ts +15 -0
  918. package/src/libs/engine/src/templates/generated/bpmn/index.js +34 -0
  919. package/src/libs/engine/src/templates/generated/bpmn/index.js.map +1 -0
  920. package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.d.ts +11 -0
  921. package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js +152 -0
  922. package/src/libs/engine/src/templates/generated/erd/erd-associative-entity.template.js.map +1 -0
  923. package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.d.ts +11 -0
  924. package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js +122 -0
  925. package/src/libs/engine/src/templates/generated/erd/erd-attribute.template.js.map +1 -0
  926. package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.d.ts +11 -0
  927. package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js +151 -0
  928. package/src/libs/engine/src/templates/generated/erd/erd-bridge-entity.template.js.map +1 -0
  929. package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.d.ts +11 -0
  930. package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js +122 -0
  931. package/src/libs/engine/src/templates/generated/erd/erd-composite-attribute.template.js.map +1 -0
  932. package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.d.ts +11 -0
  933. package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js +122 -0
  934. package/src/libs/engine/src/templates/generated/erd/erd-derived-attribute.template.js.map +1 -0
  935. package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.d.ts +11 -0
  936. package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js +123 -0
  937. package/src/libs/engine/src/templates/generated/erd/erd-discriminator.template.js.map +1 -0
  938. package/src/libs/engine/src/templates/generated/erd/erd-entity.template.d.ts +11 -0
  939. package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js +149 -0
  940. package/src/libs/engine/src/templates/generated/erd/erd-entity.template.js.map +1 -0
  941. package/src/libs/engine/src/templates/generated/erd/erd-isa.template.d.ts +11 -0
  942. package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js +123 -0
  943. package/src/libs/engine/src/templates/generated/erd/erd-isa.template.js.map +1 -0
  944. package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.d.ts +11 -0
  945. package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js +122 -0
  946. package/src/libs/engine/src/templates/generated/erd/erd-key-attribute.template.js.map +1 -0
  947. package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.d.ts +11 -0
  948. package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js +122 -0
  949. package/src/libs/engine/src/templates/generated/erd/erd-multivalued-attribute.template.js.map +1 -0
  950. package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.d.ts +11 -0
  951. package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js +122 -0
  952. package/src/libs/engine/src/templates/generated/erd/erd-optional-attribute.template.js.map +1 -0
  953. package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.d.ts +11 -0
  954. package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js +123 -0
  955. package/src/libs/engine/src/templates/generated/erd/erd-partial-key.template.js.map +1 -0
  956. package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.d.ts +11 -0
  957. package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js +121 -0
  958. package/src/libs/engine/src/templates/generated/erd/erd-relationship.template.js.map +1 -0
  959. package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.d.ts +11 -0
  960. package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js +123 -0
  961. package/src/libs/engine/src/templates/generated/erd/erd-subtype.template.js.map +1 -0
  962. package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.d.ts +11 -0
  963. package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js +123 -0
  964. package/src/libs/engine/src/templates/generated/erd/erd-supertype.template.js.map +1 -0
  965. package/src/libs/engine/src/templates/generated/erd/erd-table.template.d.ts +11 -0
  966. package/src/libs/engine/src/templates/generated/erd/erd-table.template.js +123 -0
  967. package/src/libs/engine/src/templates/generated/erd/erd-table.template.js.map +1 -0
  968. package/src/libs/engine/src/templates/generated/erd/erd-view.template.d.ts +11 -0
  969. package/src/libs/engine/src/templates/generated/erd/erd-view.template.js +123 -0
  970. package/src/libs/engine/src/templates/generated/erd/erd-view.template.js.map +1 -0
  971. package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.d.ts +11 -0
  972. package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js +149 -0
  973. package/src/libs/engine/src/templates/generated/erd/erd-weak-entity.template.js.map +1 -0
  974. package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.d.ts +11 -0
  975. package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js +122 -0
  976. package/src/libs/engine/src/templates/generated/erd/erd-weak-relationship.template.js.map +1 -0
  977. package/src/libs/engine/src/templates/generated/erd/index.d.ts +19 -0
  978. package/src/libs/engine/src/templates/generated/erd/index.js +42 -0
  979. package/src/libs/engine/src/templates/generated/erd/index.js.map +1 -0
  980. package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.d.ts +11 -0
  981. package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js +123 -0
  982. package/src/libs/engine/src/templates/generated/flowchart/flowchart-connector.template.js.map +1 -0
  983. package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.d.ts +11 -0
  984. package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js +123 -0
  985. package/src/libs/engine/src/templates/generated/flowchart/flowchart-data.template.js.map +1 -0
  986. package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.d.ts +11 -0
  987. package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js +123 -0
  988. package/src/libs/engine/src/templates/generated/flowchart/flowchart-decision.template.js.map +1 -0
  989. package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.d.ts +11 -0
  990. package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js +124 -0
  991. package/src/libs/engine/src/templates/generated/flowchart/flowchart-delay.template.js.map +1 -0
  992. package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.d.ts +11 -0
  993. package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js +124 -0
  994. package/src/libs/engine/src/templates/generated/flowchart/flowchart-display.template.js.map +1 -0
  995. package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.d.ts +11 -0
  996. package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js +123 -0
  997. package/src/libs/engine/src/templates/generated/flowchart/flowchart-document.template.js.map +1 -0
  998. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.d.ts +11 -0
  999. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js +123 -0
  1000. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-input.template.js.map +1 -0
  1001. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.d.ts +11 -0
  1002. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js +122 -0
  1003. package/src/libs/engine/src/templates/generated/flowchart/flowchart-manual-operation.template.js.map +1 -0
  1004. package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.d.ts +11 -0
  1005. package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js +122 -0
  1006. package/src/libs/engine/src/templates/generated/flowchart/flowchart-merge.template.js.map +1 -0
  1007. package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.d.ts +11 -0
  1008. package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js +123 -0
  1009. package/src/libs/engine/src/templates/generated/flowchart/flowchart-or.template.js.map +1 -0
  1010. package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.d.ts +11 -0
  1011. package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js +123 -0
  1012. package/src/libs/engine/src/templates/generated/flowchart/flowchart-predefined-process.template.js.map +1 -0
  1013. package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.d.ts +11 -0
  1014. package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js +123 -0
  1015. package/src/libs/engine/src/templates/generated/flowchart/flowchart-preparation.template.js.map +1 -0
  1016. package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.d.ts +11 -0
  1017. package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js +122 -0
  1018. package/src/libs/engine/src/templates/generated/flowchart/flowchart-process.template.js.map +1 -0
  1019. package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.d.ts +11 -0
  1020. package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js +123 -0
  1021. package/src/libs/engine/src/templates/generated/flowchart/flowchart-stored-data.template.js.map +1 -0
  1022. package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.d.ts +11 -0
  1023. package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js +124 -0
  1024. package/src/libs/engine/src/templates/generated/flowchart/flowchart-summing-junction.template.js.map +1 -0
  1025. package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.d.ts +11 -0
  1026. package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js +124 -0
  1027. package/src/libs/engine/src/templates/generated/flowchart/flowchart-terminal.template.js.map +1 -0
  1028. package/src/libs/engine/src/templates/generated/flowchart/index.d.ts +16 -0
  1029. package/src/libs/engine/src/templates/generated/flowchart/index.js +36 -0
  1030. package/src/libs/engine/src/templates/generated/flowchart/index.js.map +1 -0
  1031. package/src/libs/engine/src/templates/generated/index.d.ts +9 -0
  1032. package/src/libs/engine/src/templates/generated/index.js +13 -0
  1033. package/src/libs/engine/src/templates/generated/index.js.map +1 -0
  1034. package/src/libs/engine/src/templates/generated/register.d.ts +23 -0
  1035. package/src/libs/engine/src/templates/generated/register.js +31 -0
  1036. package/src/libs/engine/src/templates/generated/register.js.map +1 -0
  1037. package/src/libs/engine/src/templates/generated/uml/index.d.ts +30 -0
  1038. package/src/libs/engine/src/templates/generated/uml/index.js +64 -0
  1039. package/src/libs/engine/src/templates/generated/uml/index.js.map +1 -0
  1040. package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.d.ts +11 -0
  1041. package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js +204 -0
  1042. package/src/libs/engine/src/templates/generated/uml/uml-abstract-class.template.js.map +1 -0
  1043. package/src/libs/engine/src/templates/generated/uml/uml-activation.template.d.ts +11 -0
  1044. package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js +124 -0
  1045. package/src/libs/engine/src/templates/generated/uml/uml-activation.template.js.map +1 -0
  1046. package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.d.ts +11 -0
  1047. package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js +124 -0
  1048. package/src/libs/engine/src/templates/generated/uml/uml-activity-partition.template.js.map +1 -0
  1049. package/src/libs/engine/src/templates/generated/uml/uml-activity.template.d.ts +11 -0
  1050. package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js +123 -0
  1051. package/src/libs/engine/src/templates/generated/uml/uml-activity.template.js.map +1 -0
  1052. package/src/libs/engine/src/templates/generated/uml/uml-actor.template.d.ts +11 -0
  1053. package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js +123 -0
  1054. package/src/libs/engine/src/templates/generated/uml/uml-actor.template.js.map +1 -0
  1055. package/src/libs/engine/src/templates/generated/uml/uml-class.template.d.ts +11 -0
  1056. package/src/libs/engine/src/templates/generated/uml/uml-class.template.js +204 -0
  1057. package/src/libs/engine/src/templates/generated/uml/uml-class.template.js.map +1 -0
  1058. package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.d.ts +11 -0
  1059. package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js +122 -0
  1060. package/src/libs/engine/src/templates/generated/uml/uml-collaboration.template.js.map +1 -0
  1061. package/src/libs/engine/src/templates/generated/uml/uml-component.template.d.ts +11 -0
  1062. package/src/libs/engine/src/templates/generated/uml/uml-component.template.js +122 -0
  1063. package/src/libs/engine/src/templates/generated/uml/uml-component.template.js.map +1 -0
  1064. package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.d.ts +11 -0
  1065. package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js +204 -0
  1066. package/src/libs/engine/src/templates/generated/uml/uml-datatype.template.js.map +1 -0
  1067. package/src/libs/engine/src/templates/generated/uml/uml-decision.template.d.ts +11 -0
  1068. package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js +124 -0
  1069. package/src/libs/engine/src/templates/generated/uml/uml-decision.template.js.map +1 -0
  1070. package/src/libs/engine/src/templates/generated/uml/uml-enum.template.d.ts +11 -0
  1071. package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js +204 -0
  1072. package/src/libs/engine/src/templates/generated/uml/uml-enum.template.js.map +1 -0
  1073. package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.d.ts +11 -0
  1074. package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js +124 -0
  1075. package/src/libs/engine/src/templates/generated/uml/uml-final-node.template.js.map +1 -0
  1076. package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.d.ts +11 -0
  1077. package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js +124 -0
  1078. package/src/libs/engine/src/templates/generated/uml/uml-final-state.template.js.map +1 -0
  1079. package/src/libs/engine/src/templates/generated/uml/uml-fork.template.d.ts +11 -0
  1080. package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js +125 -0
  1081. package/src/libs/engine/src/templates/generated/uml/uml-fork.template.js.map +1 -0
  1082. package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.d.ts +11 -0
  1083. package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js +123 -0
  1084. package/src/libs/engine/src/templates/generated/uml/uml-initial-node.template.js.map +1 -0
  1085. package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.d.ts +11 -0
  1086. package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js +123 -0
  1087. package/src/libs/engine/src/templates/generated/uml/uml-initial-state.template.js.map +1 -0
  1088. package/src/libs/engine/src/templates/generated/uml/uml-interface.template.d.ts +11 -0
  1089. package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js +204 -0
  1090. package/src/libs/engine/src/templates/generated/uml/uml-interface.template.js.map +1 -0
  1091. package/src/libs/engine/src/templates/generated/uml/uml-join.template.d.ts +11 -0
  1092. package/src/libs/engine/src/templates/generated/uml/uml-join.template.js +125 -0
  1093. package/src/libs/engine/src/templates/generated/uml/uml-join.template.js.map +1 -0
  1094. package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.d.ts +11 -0
  1095. package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js +123 -0
  1096. package/src/libs/engine/src/templates/generated/uml/uml-lifeline.template.js.map +1 -0
  1097. package/src/libs/engine/src/templates/generated/uml/uml-merge.template.d.ts +11 -0
  1098. package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js +122 -0
  1099. package/src/libs/engine/src/templates/generated/uml/uml-merge.template.js.map +1 -0
  1100. package/src/libs/engine/src/templates/generated/uml/uml-node.template.d.ts +11 -0
  1101. package/src/libs/engine/src/templates/generated/uml/uml-node.template.js +122 -0
  1102. package/src/libs/engine/src/templates/generated/uml/uml-node.template.js.map +1 -0
  1103. package/src/libs/engine/src/templates/generated/uml/uml-note.template.d.ts +11 -0
  1104. package/src/libs/engine/src/templates/generated/uml/uml-note.template.js +123 -0
  1105. package/src/libs/engine/src/templates/generated/uml/uml-note.template.js.map +1 -0
  1106. package/src/libs/engine/src/templates/generated/uml/uml-object.template.d.ts +11 -0
  1107. package/src/libs/engine/src/templates/generated/uml/uml-object.template.js +204 -0
  1108. package/src/libs/engine/src/templates/generated/uml/uml-object.template.js.map +1 -0
  1109. package/src/libs/engine/src/templates/generated/uml/uml-package.template.d.ts +11 -0
  1110. package/src/libs/engine/src/templates/generated/uml/uml-package.template.js +123 -0
  1111. package/src/libs/engine/src/templates/generated/uml/uml-package.template.js.map +1 -0
  1112. package/src/libs/engine/src/templates/generated/uml/uml-part.template.d.ts +11 -0
  1113. package/src/libs/engine/src/templates/generated/uml/uml-part.template.js +122 -0
  1114. package/src/libs/engine/src/templates/generated/uml/uml-part.template.js.map +1 -0
  1115. package/src/libs/engine/src/templates/generated/uml/uml-port.template.d.ts +11 -0
  1116. package/src/libs/engine/src/templates/generated/uml/uml-port.template.js +123 -0
  1117. package/src/libs/engine/src/templates/generated/uml/uml-port.template.js.map +1 -0
  1118. package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.d.ts +11 -0
  1119. package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js +204 -0
  1120. package/src/libs/engine/src/templates/generated/uml/uml-primitive-type.template.js.map +1 -0
  1121. package/src/libs/engine/src/templates/generated/uml/uml-signal.template.d.ts +11 -0
  1122. package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js +123 -0
  1123. package/src/libs/engine/src/templates/generated/uml/uml-signal.template.js.map +1 -0
  1124. package/src/libs/engine/src/templates/generated/uml/uml-state.template.d.ts +11 -0
  1125. package/src/libs/engine/src/templates/generated/uml/uml-state.template.js +123 -0
  1126. package/src/libs/engine/src/templates/generated/uml/uml-state.template.js.map +1 -0
  1127. package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.d.ts +11 -0
  1128. package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js +122 -0
  1129. package/src/libs/engine/src/templates/generated/uml/uml-use-case.template.js.map +1 -0
  1130. package/src/libs/engine/src/templates/index.d.ts +12 -0
  1131. package/src/libs/engine/src/templates/index.js +27 -0
  1132. package/src/libs/engine/src/templates/index.js.map +1 -0
  1133. package/src/libs/engine/src/templates/stencils.d.ts +45 -0
  1134. package/src/libs/engine/src/templates/stencils.js +85 -0
  1135. package/src/libs/engine/src/templates/stencils.js.map +1 -0
  1136. package/src/libs/engine/src/types/domain/bpmn.d.ts +25 -0
  1137. package/src/libs/engine/src/types/domain/bpmn.js +313 -0
  1138. package/src/libs/engine/src/types/domain/bpmn.js.map +1 -0
  1139. package/src/libs/engine/src/types/domain/erd.d.ts +29 -0
  1140. package/src/libs/engine/src/types/domain/erd.js +394 -0
  1141. package/src/libs/engine/src/types/domain/erd.js.map +1 -0
  1142. package/src/libs/engine/src/types/domain/flowchart.d.ts +26 -0
  1143. package/src/libs/engine/src/types/domain/flowchart.js +434 -0
  1144. package/src/libs/engine/src/types/domain/flowchart.js.map +1 -0
  1145. package/src/libs/engine/src/types/domain/index.d.ts +4 -0
  1146. package/src/libs/engine/src/types/domain/index.js +9 -0
  1147. package/src/libs/engine/src/types/domain/index.js.map +1 -0
  1148. package/src/libs/engine/src/types/domain/uml.d.ts +40 -0
  1149. package/src/libs/engine/src/types/domain/uml.js +758 -0
  1150. package/src/libs/engine/src/types/domain/uml.js.map +1 -0
  1151. package/src/libs/engine/src/types/event.types.d.ts +142 -0
  1152. package/src/libs/engine/src/types/event.types.js +96 -0
  1153. package/src/libs/engine/src/types/event.types.js.map +1 -0
  1154. package/src/libs/engine/src/types/geometry.types.d.ts +84 -0
  1155. package/src/libs/engine/src/types/geometry.types.js +16 -0
  1156. package/src/libs/engine/src/types/geometry.types.js.map +1 -0
  1157. package/src/libs/engine/src/types/index.d.ts +7 -0
  1158. package/src/libs/engine/src/types/index.js +14 -0
  1159. package/src/libs/engine/src/types/index.js.map +1 -0
  1160. package/src/libs/engine/src/types/layout.types.d.ts +148 -0
  1161. package/src/libs/engine/src/types/layout.types.js +28 -0
  1162. package/src/libs/engine/src/types/layout.types.js.map +1 -0
  1163. package/src/libs/engine/src/types/model.types.d.ts +378 -0
  1164. package/src/libs/engine/src/types/model.types.js +4 -0
  1165. package/src/libs/engine/src/types/model.types.js.map +1 -0
  1166. package/src/libs/engine/src/types/performance.types.d.ts +109 -0
  1167. package/src/libs/engine/src/types/performance.types.js +122 -0
  1168. package/src/libs/engine/src/types/performance.types.js.map +1 -0
  1169. package/src/libs/engine/src/types/plugin.types.d.ts +30 -0
  1170. package/src/libs/engine/src/types/plugin.types.js +4 -0
  1171. package/src/libs/engine/src/types/plugin.types.js.map +1 -0
  1172. package/src/libs/engine/src/utils/deep-clone.d.ts +9 -0
  1173. package/src/libs/engine/src/utils/deep-clone.js +123 -0
  1174. package/src/libs/engine/src/utils/deep-clone.js.map +1 -0
  1175. package/src/libs/engine/src/utils/geometry.d.ts +45 -0
  1176. package/src/libs/engine/src/utils/geometry.js +241 -0
  1177. package/src/libs/engine/src/utils/geometry.js.map +1 -0
  1178. package/src/libs/engine/src/utils/id.d.ts +22 -0
  1179. package/src/libs/engine/src/utils/id.js +44 -0
  1180. package/src/libs/engine/src/utils/id.js.map +1 -0
  1181. package/src/libs/engine/src/utils/index.d.ts +3 -0
  1182. package/src/libs/engine/src/utils/index.js +8 -0
  1183. package/src/libs/engine/src/utils/index.js.map +1 -0
  1184. package/src/libs/engine/src/utils/transform.d.ts +84 -0
  1185. package/src/libs/engine/src/utils/transform.js +200 -0
  1186. package/src/libs/engine/src/utils/transform.js.map +1 -0
  1187. package/src/libs/engine/src/validation/ConnectionGroupValidator.d.ts +22 -0
  1188. package/src/libs/engine/src/validation/ConnectionGroupValidator.js +56 -0
  1189. package/src/libs/engine/src/validation/ConnectionGroupValidator.js.map +1 -0
  1190. package/src/libs/engine/src/validation/TypeRegistry.d.ts +179 -0
  1191. package/src/libs/engine/src/validation/TypeRegistry.js +358 -0
  1192. package/src/libs/engine/src/validation/TypeRegistry.js.map +1 -0
  1193. package/src/libs/engine/src/validation/ValidationEngine.d.ts +79 -0
  1194. package/src/libs/engine/src/validation/ValidationEngine.js +1150 -0
  1195. package/src/libs/engine/src/validation/ValidationEngine.js.map +1 -0
  1196. package/src/libs/engine/src/validation/index.d.ts +3 -0
  1197. package/src/libs/engine/src/validation/index.js +8 -0
  1198. package/src/libs/engine/src/validation/index.js.map +1 -0
  1199. package/src/libs/renderer/src/a11y/diagram-outline.d.ts +93 -0
  1200. package/src/libs/renderer/src/a11y/diagram-outline.js +0 -0
  1201. package/src/libs/renderer/src/a11y/diagram-outline.js.map +1 -0
  1202. package/src/libs/renderer/src/a11y/focus-containment.d.ts +90 -0
  1203. package/src/libs/renderer/src/a11y/focus-containment.js +173 -0
  1204. package/src/libs/renderer/src/a11y/focus-containment.js.map +1 -0
  1205. package/src/libs/renderer/src/a11y/graph-topology.d.ts +70 -0
  1206. package/src/libs/renderer/src/a11y/graph-topology.js +0 -0
  1207. package/src/libs/renderer/src/a11y/graph-topology.js.map +1 -0
  1208. package/src/libs/renderer/src/a11y/index.d.ts +26 -0
  1209. package/src/libs/renderer/src/a11y/index.js +30 -0
  1210. package/src/libs/renderer/src/a11y/index.js.map +1 -0
  1211. package/src/libs/renderer/src/a11y/live-region.d.ts +83 -0
  1212. package/src/libs/renderer/src/a11y/live-region.js +170 -0
  1213. package/src/libs/renderer/src/a11y/live-region.js.map +1 -0
  1214. package/src/libs/renderer/src/a11y/outline-view.d.ts +62 -0
  1215. package/src/libs/renderer/src/a11y/outline-view.js +158 -0
  1216. package/src/libs/renderer/src/a11y/outline-view.js.map +1 -0
  1217. package/src/libs/renderer/src/a11y/reduced-motion.d.ts +48 -0
  1218. package/src/libs/renderer/src/a11y/reduced-motion.js +223 -0
  1219. package/src/libs/renderer/src/a11y/reduced-motion.js.map +1 -0
  1220. package/src/libs/renderer/src/a11y/semantics.d.ts +76 -0
  1221. package/src/libs/renderer/src/a11y/semantics.js +229 -0
  1222. package/src/libs/renderer/src/a11y/semantics.js.map +1 -0
  1223. package/src/libs/renderer/src/canvas/canvas-context.d.ts +167 -0
  1224. package/src/libs/renderer/src/canvas/canvas-context.js +267 -0
  1225. package/src/libs/renderer/src/canvas/canvas-context.js.map +1 -0
  1226. package/src/libs/renderer/src/canvas/canvas-renderer.d.ts +194 -0
  1227. package/src/libs/renderer/src/canvas/canvas-renderer.js +600 -0
  1228. package/src/libs/renderer/src/canvas/canvas-renderer.js.map +1 -0
  1229. package/src/libs/renderer/src/canvas/dirty-region.d.ts +56 -0
  1230. package/src/libs/renderer/src/canvas/dirty-region.js +171 -0
  1231. package/src/libs/renderer/src/canvas/dirty-region.js.map +1 -0
  1232. package/src/libs/renderer/src/canvas/index.d.ts +16 -0
  1233. package/src/libs/renderer/src/canvas/index.js +79 -0
  1234. package/src/libs/renderer/src/canvas/index.js.map +1 -0
  1235. package/src/libs/renderer/src/canvas/path-geometry.d.ts +112 -0
  1236. package/src/libs/renderer/src/canvas/path-geometry.js +673 -0
  1237. package/src/libs/renderer/src/canvas/path-geometry.js.map +1 -0
  1238. package/src/libs/renderer/src/canvas/render-backend.d.ts +133 -0
  1239. package/src/libs/renderer/src/canvas/render-backend.js +339 -0
  1240. package/src/libs/renderer/src/canvas/render-backend.js.map +1 -0
  1241. package/src/libs/renderer/src/canvas/style-resolution.d.ts +101 -0
  1242. package/src/libs/renderer/src/canvas/style-resolution.js +466 -0
  1243. package/src/libs/renderer/src/canvas/style-resolution.js.map +1 -0
  1244. package/src/libs/renderer/src/canvas/tier-policy.d.ts +33 -0
  1245. package/src/libs/renderer/src/canvas/tier-policy.js +89 -0
  1246. package/src/libs/renderer/src/canvas/tier-policy.js.map +1 -0
  1247. package/src/libs/renderer/src/canvas/vnode-painter.d.ts +154 -0
  1248. package/src/libs/renderer/src/canvas/vnode-painter.js +649 -0
  1249. package/src/libs/renderer/src/canvas/vnode-painter.js.map +1 -0
  1250. package/src/libs/renderer/src/comments/comment-overlay.d.ts +56 -0
  1251. package/src/libs/renderer/src/comments/comment-overlay.js +127 -0
  1252. package/src/libs/renderer/src/comments/comment-overlay.js.map +1 -0
  1253. package/src/libs/renderer/src/comments/comment-panel.d.ts +45 -0
  1254. package/src/libs/renderer/src/comments/comment-panel.js +287 -0
  1255. package/src/libs/renderer/src/comments/comment-panel.js.map +1 -0
  1256. package/src/libs/renderer/src/comments/comment-pins.d.ts +34 -0
  1257. package/src/libs/renderer/src/comments/comment-pins.js +227 -0
  1258. package/src/libs/renderer/src/comments/comment-pins.js.map +1 -0
  1259. package/src/libs/renderer/src/comments/index.d.ts +3 -0
  1260. package/src/libs/renderer/src/comments/index.js +17 -0
  1261. package/src/libs/renderer/src/comments/index.js.map +1 -0
  1262. package/src/libs/renderer/src/export/assets.d.ts +96 -0
  1263. package/src/libs/renderer/src/export/assets.js +350 -0
  1264. package/src/libs/renderer/src/export/assets.js.map +1 -0
  1265. package/src/libs/renderer/src/export/batch.d.ts +49 -0
  1266. package/src/libs/renderer/src/export/batch.js +95 -0
  1267. package/src/libs/renderer/src/export/batch.js.map +1 -0
  1268. package/src/libs/renderer/src/export/bounds.d.ts +81 -0
  1269. package/src/libs/renderer/src/export/bounds.js +367 -0
  1270. package/src/libs/renderer/src/export/bounds.js.map +1 -0
  1271. package/src/libs/renderer/src/export/capture-host.d.ts +39 -0
  1272. package/src/libs/renderer/src/export/capture-host.js +1259 -0
  1273. package/src/libs/renderer/src/export/capture-host.js.map +1 -0
  1274. package/src/libs/renderer/src/export/custom-nodes.d.ts +88 -0
  1275. package/src/libs/renderer/src/export/custom-nodes.js +237 -0
  1276. package/src/libs/renderer/src/export/custom-nodes.js.map +1 -0
  1277. package/src/libs/renderer/src/export/index.d.ts +14 -0
  1278. package/src/libs/renderer/src/export/index.js +30 -0
  1279. package/src/libs/renderer/src/export/index.js.map +1 -0
  1280. package/src/libs/renderer/src/export/node-raster.d.ts +60 -0
  1281. package/src/libs/renderer/src/export/node-raster.js +161 -0
  1282. package/src/libs/renderer/src/export/node-raster.js.map +1 -0
  1283. package/src/libs/renderer/src/export/pagination.d.ts +116 -0
  1284. package/src/libs/renderer/src/export/pagination.js +245 -0
  1285. package/src/libs/renderer/src/export/pagination.js.map +1 -0
  1286. package/src/libs/renderer/src/export/pdf/flate.d.ts +13 -0
  1287. package/src/libs/renderer/src/export/pdf/flate.js +287 -0
  1288. package/src/libs/renderer/src/export/pdf/flate.js.map +1 -0
  1289. package/src/libs/renderer/src/export/pdf/index.d.ts +4 -0
  1290. package/src/libs/renderer/src/export/pdf/index.js +15 -0
  1291. package/src/libs/renderer/src/export/pdf/index.js.map +1 -0
  1292. package/src/libs/renderer/src/export/pdf/pdf-export.d.ts +64 -0
  1293. package/src/libs/renderer/src/export/pdf/pdf-export.js +1076 -0
  1294. package/src/libs/renderer/src/export/pdf/pdf-export.js.map +1 -0
  1295. package/src/libs/renderer/src/export/pdf/pdf-path.d.ts +17 -0
  1296. package/src/libs/renderer/src/export/pdf/pdf-path.js +85 -0
  1297. package/src/libs/renderer/src/export/pdf/pdf-path.js.map +1 -0
  1298. package/src/libs/renderer/src/export/pdf/pdf-primitives.d.ts +115 -0
  1299. package/src/libs/renderer/src/export/pdf/pdf-primitives.js +338 -0
  1300. package/src/libs/renderer/src/export/pdf/pdf-primitives.js.map +1 -0
  1301. package/src/libs/renderer/src/export/pdf/png.d.ts +25 -0
  1302. package/src/libs/renderer/src/export/pdf/png.js +596 -0
  1303. package/src/libs/renderer/src/export/pdf/png.js.map +1 -0
  1304. package/src/libs/renderer/src/export/raster.d.ts +42 -0
  1305. package/src/libs/renderer/src/export/raster.js +126 -0
  1306. package/src/libs/renderer/src/export/raster.js.map +1 -0
  1307. package/src/libs/renderer/src/export/round-trip.d.ts +83 -0
  1308. package/src/libs/renderer/src/export/round-trip.js +432 -0
  1309. package/src/libs/renderer/src/export/round-trip.js.map +1 -0
  1310. package/src/libs/renderer/src/export/scope.d.ts +16 -0
  1311. package/src/libs/renderer/src/export/scope.js +69 -0
  1312. package/src/libs/renderer/src/export/scope.js.map +1 -0
  1313. package/src/libs/renderer/src/export/style-flattener.d.ts +23 -0
  1314. package/src/libs/renderer/src/export/style-flattener.js +144 -0
  1315. package/src/libs/renderer/src/export/style-flattener.js.map +1 -0
  1316. package/src/libs/renderer/src/export/svg-export.d.ts +123 -0
  1317. package/src/libs/renderer/src/export/svg-export.js +178 -0
  1318. package/src/libs/renderer/src/export/svg-export.js.map +1 -0
  1319. package/src/libs/renderer/src/export/vnode-serializer.d.ts +75 -0
  1320. package/src/libs/renderer/src/export/vnode-serializer.js +344 -0
  1321. package/src/libs/renderer/src/export/vnode-serializer.js.map +1 -0
  1322. package/src/libs/renderer/src/ext/capabilities.d.ts +178 -0
  1323. package/src/libs/renderer/src/ext/capabilities.js +22 -0
  1324. package/src/libs/renderer/src/ext/capabilities.js.map +1 -0
  1325. package/src/libs/renderer/src/ext/capability-factory.d.ts +44 -0
  1326. package/src/libs/renderer/src/ext/capability-factory.js +194 -0
  1327. package/src/libs/renderer/src/ext/capability-factory.js.map +1 -0
  1328. package/src/libs/renderer/src/ext/components/attach.d.ts +66 -0
  1329. package/src/libs/renderer/src/ext/components/attach.js +112 -0
  1330. package/src/libs/renderer/src/ext/components/attach.js.map +1 -0
  1331. package/src/libs/renderer/src/ext/components/background.d.ts +84 -0
  1332. package/src/libs/renderer/src/ext/components/background.js +202 -0
  1333. package/src/libs/renderer/src/ext/components/background.js.map +1 -0
  1334. package/src/libs/renderer/src/ext/components/controls.d.ts +49 -0
  1335. package/src/libs/renderer/src/ext/components/controls.js +144 -0
  1336. package/src/libs/renderer/src/ext/components/controls.js.map +1 -0
  1337. package/src/libs/renderer/src/ext/components/minimap.d.ts +78 -0
  1338. package/src/libs/renderer/src/ext/components/minimap.js +326 -0
  1339. package/src/libs/renderer/src/ext/components/minimap.js.map +1 -0
  1340. package/src/libs/renderer/src/ext/diagram-registry.d.ts +109 -0
  1341. package/src/libs/renderer/src/ext/diagram-registry.js +303 -0
  1342. package/src/libs/renderer/src/ext/diagram-registry.js.map +1 -0
  1343. package/src/libs/renderer/src/ext/disposable.d.ts +51 -0
  1344. package/src/libs/renderer/src/ext/disposable.js +104 -0
  1345. package/src/libs/renderer/src/ext/disposable.js.map +1 -0
  1346. package/src/libs/renderer/src/ext/extension-host.d.ts +144 -0
  1347. package/src/libs/renderer/src/ext/extension-host.js +272 -0
  1348. package/src/libs/renderer/src/ext/extension-host.js.map +1 -0
  1349. package/src/libs/renderer/src/ext/index.d.ts +62 -0
  1350. package/src/libs/renderer/src/ext/index.js +91 -0
  1351. package/src/libs/renderer/src/ext/index.js.map +1 -0
  1352. package/src/libs/renderer/src/ext/link-pipeline.d.ts +195 -0
  1353. package/src/libs/renderer/src/ext/link-pipeline.js +431 -0
  1354. package/src/libs/renderer/src/ext/link-pipeline.js.map +1 -0
  1355. package/src/libs/renderer/src/ext/manifest.d.ts +73 -0
  1356. package/src/libs/renderer/src/ext/manifest.js +149 -0
  1357. package/src/libs/renderer/src/ext/manifest.js.map +1 -0
  1358. package/src/libs/renderer/src/ext/node-component.d.ts +114 -0
  1359. package/src/libs/renderer/src/ext/node-component.js +290 -0
  1360. package/src/libs/renderer/src/ext/node-component.js.map +1 -0
  1361. package/src/libs/renderer/src/ext/plugins-loader.d.ts +1 -0
  1362. package/src/libs/renderer/src/ext/plugins-loader.js +18 -0
  1363. package/src/libs/renderer/src/ext/plugins-loader.js.map +1 -0
  1364. package/src/libs/renderer/src/ext/portal.d.ts +129 -0
  1365. package/src/libs/renderer/src/ext/portal.js +267 -0
  1366. package/src/libs/renderer/src/ext/portal.js.map +1 -0
  1367. package/src/libs/renderer/src/ext/public-api.d.ts +101 -0
  1368. package/src/libs/renderer/src/ext/public-api.js +201 -0
  1369. package/src/libs/renderer/src/ext/public-api.js.map +1 -0
  1370. package/src/libs/renderer/src/ext/registry-scope.d.ts +93 -0
  1371. package/src/libs/renderer/src/ext/registry-scope.js +142 -0
  1372. package/src/libs/renderer/src/ext/registry-scope.js.map +1 -0
  1373. package/src/libs/renderer/src/ext/tools.d.ts +164 -0
  1374. package/src/libs/renderer/src/ext/tools.js +170 -0
  1375. package/src/libs/renderer/src/ext/tools.js.map +1 -0
  1376. package/src/libs/renderer/src/index.d.ts +34 -0
  1377. package/src/libs/renderer/src/index.js +108 -0
  1378. package/src/libs/renderer/src/index.js.map +1 -0
  1379. package/src/libs/renderer/src/instance/create-diagram.d.ts +385 -0
  1380. package/src/libs/renderer/src/instance/create-diagram.js +1150 -0
  1381. package/src/libs/renderer/src/instance/create-diagram.js.map +1 -0
  1382. package/src/libs/renderer/src/instance/diagram-instance.d.ts +48 -0
  1383. package/src/libs/renderer/src/instance/diagram-instance.js +51 -0
  1384. package/src/libs/renderer/src/instance/diagram-instance.js.map +1 -0
  1385. package/src/libs/renderer/src/instance/dom-event-binder.d.ts +394 -0
  1386. package/src/libs/renderer/src/instance/dom-event-binder.js +2104 -0
  1387. package/src/libs/renderer/src/instance/dom-event-binder.js.map +1 -0
  1388. package/src/libs/renderer/src/instance/index.d.ts +5 -0
  1389. package/src/libs/renderer/src/instance/index.js +13 -0
  1390. package/src/libs/renderer/src/instance/index.js.map +1 -0
  1391. package/src/libs/renderer/src/instance/layers.d.ts +31 -0
  1392. package/src/libs/renderer/src/instance/layers.js +43 -0
  1393. package/src/libs/renderer/src/instance/layers.js.map +1 -0
  1394. package/src/libs/renderer/src/instance/model-input.d.ts +229 -0
  1395. package/src/libs/renderer/src/instance/model-input.js +325 -0
  1396. package/src/libs/renderer/src/instance/model-input.js.map +1 -0
  1397. package/src/libs/renderer/src/instance/render-scheduler.d.ts +79 -0
  1398. package/src/libs/renderer/src/instance/render-scheduler.js +96 -0
  1399. package/src/libs/renderer/src/instance/render-scheduler.js.map +1 -0
  1400. package/src/libs/renderer/src/instance/wheel-scroll-yield.d.ts +38 -0
  1401. package/src/libs/renderer/src/instance/wheel-scroll-yield.js +118 -0
  1402. package/src/libs/renderer/src/instance/wheel-scroll-yield.js.map +1 -0
  1403. package/src/libs/renderer/src/interaction/ControlPointEditor.d.ts +160 -0
  1404. package/src/libs/renderer/src/interaction/ControlPointEditor.js +360 -0
  1405. package/src/libs/renderer/src/interaction/ControlPointEditor.js.map +1 -0
  1406. package/src/libs/renderer/src/interaction/WaypointEditor.d.ts +133 -0
  1407. package/src/libs/renderer/src/interaction/WaypointEditor.js +263 -0
  1408. package/src/libs/renderer/src/interaction/WaypointEditor.js.map +1 -0
  1409. package/src/libs/renderer/src/interaction/highlighters.d.ts +88 -0
  1410. package/src/libs/renderer/src/interaction/highlighters.js +212 -0
  1411. package/src/libs/renderer/src/interaction/highlighters.js.map +1 -0
  1412. package/src/libs/renderer/src/interaction/in-place-editor.d.ts +63 -0
  1413. package/src/libs/renderer/src/interaction/in-place-editor.js +141 -0
  1414. package/src/libs/renderer/src/interaction/in-place-editor.js.map +1 -0
  1415. package/src/libs/renderer/src/interaction/index.d.ts +11 -0
  1416. package/src/libs/renderer/src/interaction/index.js +29 -0
  1417. package/src/libs/renderer/src/interaction/index.js.map +1 -0
  1418. package/src/libs/renderer/src/interaction/ink-overlay.d.ts +53 -0
  1419. package/src/libs/renderer/src/interaction/ink-overlay.js +154 -0
  1420. package/src/libs/renderer/src/interaction/ink-overlay.js.map +1 -0
  1421. package/src/libs/renderer/src/interaction/interaction-controller.d.ts +555 -0
  1422. package/src/libs/renderer/src/interaction/interaction-controller.js +1733 -0
  1423. package/src/libs/renderer/src/interaction/interaction-controller.js.map +1 -0
  1424. package/src/libs/renderer/src/interaction/keyboard-navigation.d.ts +223 -0
  1425. package/src/libs/renderer/src/interaction/keyboard-navigation.js +885 -0
  1426. package/src/libs/renderer/src/interaction/keyboard-navigation.js.map +1 -0
  1427. package/src/libs/renderer/src/interaction/selection-tools.d.ts +343 -0
  1428. package/src/libs/renderer/src/interaction/selection-tools.js +918 -0
  1429. package/src/libs/renderer/src/interaction/selection-tools.js.map +1 -0
  1430. package/src/libs/renderer/src/interaction/snapping.d.ts +210 -0
  1431. package/src/libs/renderer/src/interaction/snapping.js +569 -0
  1432. package/src/libs/renderer/src/interaction/snapping.js.map +1 -0
  1433. package/src/libs/renderer/src/interaction/touch-gestures.d.ts +160 -0
  1434. package/src/libs/renderer/src/interaction/touch-gestures.js +549 -0
  1435. package/src/libs/renderer/src/interaction/touch-gestures.js.map +1 -0
  1436. package/src/libs/renderer/src/interaction/whiteboard-tools.d.ts +171 -0
  1437. package/src/libs/renderer/src/interaction/whiteboard-tools.js +476 -0
  1438. package/src/libs/renderer/src/interaction/whiteboard-tools.js.map +1 -0
  1439. package/src/libs/renderer/src/lazy/host-culling.d.ts +116 -0
  1440. package/src/libs/renderer/src/lazy/host-culling.js +135 -0
  1441. package/src/libs/renderer/src/lazy/host-culling.js.map +1 -0
  1442. package/src/libs/renderer/src/lazy/index.d.ts +7 -0
  1443. package/src/libs/renderer/src/lazy/index.js +28 -0
  1444. package/src/libs/renderer/src/lazy/index.js.map +1 -0
  1445. package/src/libs/renderer/src/lazy/progressive-mounter.d.ts +80 -0
  1446. package/src/libs/renderer/src/lazy/progressive-mounter.js +264 -0
  1447. package/src/libs/renderer/src/lazy/progressive-mounter.js.map +1 -0
  1448. package/src/libs/renderer/src/lazy/types.d.ts +43 -0
  1449. package/src/libs/renderer/src/lazy/types.js +14 -0
  1450. package/src/libs/renderer/src/lazy/types.js.map +1 -0
  1451. package/src/libs/renderer/src/lazy/view-lifecycle.d.ts +97 -0
  1452. package/src/libs/renderer/src/lazy/view-lifecycle.js +221 -0
  1453. package/src/libs/renderer/src/lazy/view-lifecycle.js.map +1 -0
  1454. package/src/libs/renderer/src/perf/index.d.ts +2 -0
  1455. package/src/libs/renderer/src/perf/index.js +7 -0
  1456. package/src/libs/renderer/src/perf/index.js.map +1 -0
  1457. package/src/libs/renderer/src/perf/perf-hud.d.ts +46 -0
  1458. package/src/libs/renderer/src/perf/perf-hud.js +105 -0
  1459. package/src/libs/renderer/src/perf/perf-hud.js.map +1 -0
  1460. package/src/libs/renderer/src/perf/quality-governor.d.ts +77 -0
  1461. package/src/libs/renderer/src/perf/quality-governor.js +154 -0
  1462. package/src/libs/renderer/src/perf/quality-governor.js.map +1 -0
  1463. package/src/libs/renderer/src/platform/index.d.ts +1 -0
  1464. package/src/libs/renderer/src/platform/index.js +5 -0
  1465. package/src/libs/renderer/src/platform/index.js.map +1 -0
  1466. package/src/libs/renderer/src/platform/platform.d.ts +34 -0
  1467. package/src/libs/renderer/src/platform/platform.js +64 -0
  1468. package/src/libs/renderer/src/platform/platform.js.map +1 -0
  1469. package/src/libs/renderer/src/presence/bind-presence.d.ts +51 -0
  1470. package/src/libs/renderer/src/presence/bind-presence.js +144 -0
  1471. package/src/libs/renderer/src/presence/bind-presence.js.map +1 -0
  1472. package/src/libs/renderer/src/presence/index.d.ts +4 -0
  1473. package/src/libs/renderer/src/presence/index.js +18 -0
  1474. package/src/libs/renderer/src/presence/index.js.map +1 -0
  1475. package/src/libs/renderer/src/presence/presence-overlay.d.ts +121 -0
  1476. package/src/libs/renderer/src/presence/presence-overlay.js +465 -0
  1477. package/src/libs/renderer/src/presence/presence-overlay.js.map +1 -0
  1478. package/src/libs/renderer/src/presentation/index.d.ts +3 -0
  1479. package/src/libs/renderer/src/presentation/index.js +14 -0
  1480. package/src/libs/renderer/src/presentation/index.js.map +1 -0
  1481. package/src/libs/renderer/src/presentation/presentation.d.ts +94 -0
  1482. package/src/libs/renderer/src/presentation/presentation.js +158 -0
  1483. package/src/libs/renderer/src/presentation/presentation.js.map +1 -0
  1484. package/src/libs/renderer/src/presentation/viewport-channel.d.ts +78 -0
  1485. package/src/libs/renderer/src/presentation/viewport-channel.js +86 -0
  1486. package/src/libs/renderer/src/presentation/viewport-channel.js.map +1 -0
  1487. package/src/libs/renderer/src/services/animation-lifecycle.d.ts +153 -0
  1488. package/src/libs/renderer/src/services/animation-lifecycle.js +326 -0
  1489. package/src/libs/renderer/src/services/animation-lifecycle.js.map +1 -0
  1490. package/src/libs/renderer/src/services/animation-performance.service.d.ts +191 -0
  1491. package/src/libs/renderer/src/services/animation-performance.service.js +371 -0
  1492. package/src/libs/renderer/src/services/animation-performance.service.js.map +1 -0
  1493. package/src/libs/renderer/src/services/animation-sequencer.d.ts +226 -0
  1494. package/src/libs/renderer/src/services/animation-sequencer.js +379 -0
  1495. package/src/libs/renderer/src/services/animation-sequencer.js.map +1 -0
  1496. package/src/libs/renderer/src/services/animation.service.d.ts +182 -0
  1497. package/src/libs/renderer/src/services/animation.service.js +858 -0
  1498. package/src/libs/renderer/src/services/animation.service.js.map +1 -0
  1499. package/src/libs/renderer/src/services/custom-animation-registry.d.ts +182 -0
  1500. package/src/libs/renderer/src/services/custom-animation-registry.js +361 -0
  1501. package/src/libs/renderer/src/services/custom-animation-registry.js.map +1 -0
  1502. package/src/libs/renderer/src/ssr/index.d.ts +1 -0
  1503. package/src/libs/renderer/src/ssr/index.js +6 -0
  1504. package/src/libs/renderer/src/ssr/index.js.map +1 -0
  1505. package/src/libs/renderer/src/ssr/render-to-static.d.ts +91 -0
  1506. package/src/libs/renderer/src/ssr/render-to-static.js +81 -0
  1507. package/src/libs/renderer/src/ssr/render-to-static.js.map +1 -0
  1508. package/src/libs/renderer/src/svg/ArrowRenderer.d.ts +159 -0
  1509. package/src/libs/renderer/src/svg/ArrowRenderer.js +723 -0
  1510. package/src/libs/renderer/src/svg/ArrowRenderer.js.map +1 -0
  1511. package/src/libs/renderer/src/svg/JumpPointDetector.d.ts +79 -0
  1512. package/src/libs/renderer/src/svg/JumpPointDetector.js +176 -0
  1513. package/src/libs/renderer/src/svg/JumpPointDetector.js.map +1 -0
  1514. package/src/libs/renderer/src/svg/JumpPointRenderer.d.ts +59 -0
  1515. package/src/libs/renderer/src/svg/JumpPointRenderer.js +309 -0
  1516. package/src/libs/renderer/src/svg/JumpPointRenderer.js.map +1 -0
  1517. package/src/libs/renderer/src/svg/LabelRenderer.d.ts +76 -0
  1518. package/src/libs/renderer/src/svg/LabelRenderer.js +273 -0
  1519. package/src/libs/renderer/src/svg/LabelRenderer.js.map +1 -0
  1520. package/src/libs/renderer/src/svg/auto-size.d.ts +76 -0
  1521. package/src/libs/renderer/src/svg/auto-size.js +142 -0
  1522. package/src/libs/renderer/src/svg/auto-size.js.map +1 -0
  1523. package/src/libs/renderer/src/svg/channel-nudging.d.ts +34 -0
  1524. package/src/libs/renderer/src/svg/channel-nudging.js +226 -0
  1525. package/src/libs/renderer/src/svg/channel-nudging.js.map +1 -0
  1526. package/src/libs/renderer/src/svg/edge-optimizer.d.ts +228 -0
  1527. package/src/libs/renderer/src/svg/edge-optimizer.js +606 -0
  1528. package/src/libs/renderer/src/svg/edge-optimizer.js.map +1 -0
  1529. package/src/libs/renderer/src/svg/edge-templates.d.ts +152 -0
  1530. package/src/libs/renderer/src/svg/edge-templates.js +233 -0
  1531. package/src/libs/renderer/src/svg/edge-templates.js.map +1 -0
  1532. package/src/libs/renderer/src/svg/html-node.d.ts +50 -0
  1533. package/src/libs/renderer/src/svg/html-node.js +214 -0
  1534. package/src/libs/renderer/src/svg/html-node.js.map +1 -0
  1535. package/src/libs/renderer/src/svg/index.d.ts +25 -0
  1536. package/src/libs/renderer/src/svg/index.js +32 -0
  1537. package/src/libs/renderer/src/svg/index.js.map +1 -0
  1538. package/src/libs/renderer/src/svg/link-fanout.d.ts +127 -0
  1539. package/src/libs/renderer/src/svg/link-fanout.js +333 -0
  1540. package/src/libs/renderer/src/svg/link-fanout.js.map +1 -0
  1541. package/src/libs/renderer/src/svg/link-hit-test.d.ts +142 -0
  1542. package/src/libs/renderer/src/svg/link-hit-test.js +182 -0
  1543. package/src/libs/renderer/src/svg/link-hit-test.js.map +1 -0
  1544. package/src/libs/renderer/src/svg/motion-tracker.d.ts +18 -0
  1545. package/src/libs/renderer/src/svg/motion-tracker.js +71 -0
  1546. package/src/libs/renderer/src/svg/motion-tracker.js.map +1 -0
  1547. package/src/libs/renderer/src/svg/node-sizing.d.ts +51 -0
  1548. package/src/libs/renderer/src/svg/node-sizing.js +65 -0
  1549. package/src/libs/renderer/src/svg/node-sizing.js.map +1 -0
  1550. package/src/libs/renderer/src/svg/node-toolbar.d.ts +30 -0
  1551. package/src/libs/renderer/src/svg/node-toolbar.js +45 -0
  1552. package/src/libs/renderer/src/svg/node-toolbar.js.map +1 -0
  1553. package/src/libs/renderer/src/svg/notation-shapes.d.ts +2 -0
  1554. package/src/libs/renderer/src/svg/notation-shapes.js +126 -0
  1555. package/src/libs/renderer/src/svg/notation-shapes.js.map +1 -0
  1556. package/src/libs/renderer/src/svg/paint-servers.d.ts +49 -0
  1557. package/src/libs/renderer/src/svg/paint-servers.js +225 -0
  1558. package/src/libs/renderer/src/svg/paint-servers.js.map +1 -0
  1559. package/src/libs/renderer/src/svg/panel.d.ts +115 -0
  1560. package/src/libs/renderer/src/svg/panel.js +353 -0
  1561. package/src/libs/renderer/src/svg/panel.js.map +1 -0
  1562. package/src/libs/renderer/src/svg/path-outline.d.ts +35 -0
  1563. package/src/libs/renderer/src/svg/path-outline.js +134 -0
  1564. package/src/libs/renderer/src/svg/path-outline.js.map +1 -0
  1565. package/src/libs/renderer/src/svg/port-glyph.d.ts +27 -0
  1566. package/src/libs/renderer/src/svg/port-glyph.js +97 -0
  1567. package/src/libs/renderer/src/svg/port-glyph.js.map +1 -0
  1568. package/src/libs/renderer/src/svg/port-label.d.ts +74 -0
  1569. package/src/libs/renderer/src/svg/port-label.js +201 -0
  1570. package/src/libs/renderer/src/svg/port-label.js.map +1 -0
  1571. package/src/libs/renderer/src/svg/port-layout.d.ts +50 -0
  1572. package/src/libs/renderer/src/svg/port-layout.js +212 -0
  1573. package/src/libs/renderer/src/svg/port-layout.js.map +1 -0
  1574. package/src/libs/renderer/src/svg/port-positioning.d.ts +33 -0
  1575. package/src/libs/renderer/src/svg/port-positioning.js +101 -0
  1576. package/src/libs/renderer/src/svg/port-positioning.js.map +1 -0
  1577. package/src/libs/renderer/src/svg/port-spots.d.ts +69 -0
  1578. package/src/libs/renderer/src/svg/port-spots.js +154 -0
  1579. package/src/libs/renderer/src/svg/port-spots.js.map +1 -0
  1580. package/src/libs/renderer/src/svg/route-memo.d.ts +63 -0
  1581. package/src/libs/renderer/src/svg/route-memo.js +206 -0
  1582. package/src/libs/renderer/src/svg/route-memo.js.map +1 -0
  1583. package/src/libs/renderer/src/svg/route-solver-bridge.d.ts +48 -0
  1584. package/src/libs/renderer/src/svg/route-solver-bridge.js +151 -0
  1585. package/src/libs/renderer/src/svg/route-solver-bridge.js.map +1 -0
  1586. package/src/libs/renderer/src/svg/shape-registry.d.ts +189 -0
  1587. package/src/libs/renderer/src/svg/shape-registry.js +1104 -0
  1588. package/src/libs/renderer/src/svg/shape-registry.js.map +1 -0
  1589. package/src/libs/renderer/src/svg/stroke-layer.d.ts +36 -0
  1590. package/src/libs/renderer/src/svg/stroke-layer.js +183 -0
  1591. package/src/libs/renderer/src/svg/stroke-layer.js.map +1 -0
  1592. package/src/libs/renderer/src/svg/svg-renderer.d.ts +1737 -0
  1593. package/src/libs/renderer/src/svg/svg-renderer.js +7772 -0
  1594. package/src/libs/renderer/src/svg/svg-renderer.js.map +1 -0
  1595. package/src/libs/renderer/src/svg/text-block.d.ts +54 -0
  1596. package/src/libs/renderer/src/svg/text-block.js +171 -0
  1597. package/src/libs/renderer/src/svg/text-block.js.map +1 -0
  1598. package/src/libs/renderer/src/themes/color-mode.d.ts +81 -0
  1599. package/src/libs/renderer/src/themes/color-mode.js +158 -0
  1600. package/src/libs/renderer/src/themes/color-mode.js.map +1 -0
  1601. package/src/libs/renderer/src/themes/contrast.d.ts +67 -0
  1602. package/src/libs/renderer/src/themes/contrast.js +215 -0
  1603. package/src/libs/renderer/src/themes/contrast.js.map +1 -0
  1604. package/src/libs/renderer/src/themes/default-dark-theme.d.ts +6 -0
  1605. package/src/libs/renderer/src/themes/default-dark-theme.js +126 -0
  1606. package/src/libs/renderer/src/themes/default-dark-theme.js.map +1 -0
  1607. package/src/libs/renderer/src/themes/default-light-theme.d.ts +6 -0
  1608. package/src/libs/renderer/src/themes/default-light-theme.js +168 -0
  1609. package/src/libs/renderer/src/themes/default-light-theme.js.map +1 -0
  1610. package/src/libs/renderer/src/themes/default-theme-set.d.ts +10 -0
  1611. package/src/libs/renderer/src/themes/default-theme-set.js +25 -0
  1612. package/src/libs/renderer/src/themes/default-theme-set.js.map +1 -0
  1613. package/src/libs/renderer/src/themes/high-contrast-theme.d.ts +5 -0
  1614. package/src/libs/renderer/src/themes/high-contrast-theme.js +170 -0
  1615. package/src/libs/renderer/src/themes/high-contrast-theme.js.map +1 -0
  1616. package/src/libs/renderer/src/themes/index.d.ts +22 -0
  1617. package/src/libs/renderer/src/themes/index.js +93 -0
  1618. package/src/libs/renderer/src/themes/index.js.map +1 -0
  1619. package/src/libs/renderer/src/themes/style-cascade.d.ts +23 -0
  1620. package/src/libs/renderer/src/themes/style-cascade.js +194 -0
  1621. package/src/libs/renderer/src/themes/style-cascade.js.map +1 -0
  1622. package/src/libs/renderer/src/themes/style-registry.d.ts +40 -0
  1623. package/src/libs/renderer/src/themes/style-registry.js +129 -0
  1624. package/src/libs/renderer/src/themes/style-registry.js.map +1 -0
  1625. package/src/libs/renderer/src/themes/theme-a11y.d.ts +65 -0
  1626. package/src/libs/renderer/src/themes/theme-a11y.js +256 -0
  1627. package/src/libs/renderer/src/themes/theme-a11y.js.map +1 -0
  1628. package/src/libs/renderer/src/themes/theme-css.d.ts +30 -0
  1629. package/src/libs/renderer/src/themes/theme-css.js +304 -0
  1630. package/src/libs/renderer/src/themes/theme-css.js.map +1 -0
  1631. package/src/libs/renderer/src/themes/theme-ref.d.ts +63 -0
  1632. package/src/libs/renderer/src/themes/theme-ref.js +206 -0
  1633. package/src/libs/renderer/src/themes/theme-ref.js.map +1 -0
  1634. package/src/libs/renderer/src/themes/theme-vars.d.ts +49 -0
  1635. package/src/libs/renderer/src/themes/theme-vars.js +112 -0
  1636. package/src/libs/renderer/src/themes/theme-vars.js.map +1 -0
  1637. package/src/libs/renderer/src/themes/token-bridge.d.ts +62 -0
  1638. package/src/libs/renderer/src/themes/token-bridge.js +354 -0
  1639. package/src/libs/renderer/src/themes/token-bridge.js.map +1 -0
  1640. package/src/libs/renderer/src/types/geometry.types.d.ts +10 -0
  1641. package/src/libs/renderer/src/types/geometry.types.js +3 -0
  1642. package/src/libs/renderer/src/types/geometry.types.js.map +1 -0
  1643. package/src/libs/renderer/src/types/index.d.ts +5 -0
  1644. package/src/libs/renderer/src/types/index.js +14 -0
  1645. package/src/libs/renderer/src/types/index.js.map +1 -0
  1646. package/src/libs/renderer/src/types/property-schema/conditions.d.ts +96 -0
  1647. package/src/libs/renderer/src/types/property-schema/conditions.js +8 -0
  1648. package/src/libs/renderer/src/types/property-schema/conditions.js.map +1 -0
  1649. package/src/libs/renderer/src/types/property-schema/editor-types.d.ts +310 -0
  1650. package/src/libs/renderer/src/types/property-schema/editor-types.js +8 -0
  1651. package/src/libs/renderer/src/types/property-schema/editor-types.js.map +1 -0
  1652. package/src/libs/renderer/src/types/property-schema/groups.d.ts +58 -0
  1653. package/src/libs/renderer/src/types/property-schema/groups.js +8 -0
  1654. package/src/libs/renderer/src/types/property-schema/groups.js.map +1 -0
  1655. package/src/libs/renderer/src/types/property-schema/index.d.ts +101 -0
  1656. package/src/libs/renderer/src/types/property-schema/index.js +98 -0
  1657. package/src/libs/renderer/src/types/property-schema/index.js.map +1 -0
  1658. package/src/libs/renderer/src/types/property-schema/property-definition.d.ts +117 -0
  1659. package/src/libs/renderer/src/types/property-schema/property-definition.js +8 -0
  1660. package/src/libs/renderer/src/types/property-schema/property-definition.js.map +1 -0
  1661. package/src/libs/renderer/src/types/property-schema/schema.d.ts +108 -0
  1662. package/src/libs/renderer/src/types/property-schema/schema.js +8 -0
  1663. package/src/libs/renderer/src/types/property-schema/schema.js.map +1 -0
  1664. package/src/libs/renderer/src/types/property-schema/validation.d.ts +181 -0
  1665. package/src/libs/renderer/src/types/property-schema/validation.js +8 -0
  1666. package/src/libs/renderer/src/types/property-schema/validation.js.map +1 -0
  1667. package/src/libs/renderer/src/types/renderer.interface.d.ts +623 -0
  1668. package/src/libs/renderer/src/types/renderer.interface.js +3 -0
  1669. package/src/libs/renderer/src/types/renderer.interface.js.map +1 -0
  1670. package/src/libs/renderer/src/types/theme.types.d.ts +305 -0
  1671. package/src/libs/renderer/src/types/theme.types.js +3 -0
  1672. package/src/libs/renderer/src/types/theme.types.js.map +1 -0
  1673. package/src/libs/renderer/src/types/vnode.types.d.ts +139 -0
  1674. package/src/libs/renderer/src/types/vnode.types.js +3 -0
  1675. package/src/libs/renderer/src/types/vnode.types.js.map +1 -0
  1676. package/src/libs/renderer/src/utils/animation-presets.d.ts +310 -0
  1677. package/src/libs/renderer/src/utils/animation-presets.js +406 -0
  1678. package/src/libs/renderer/src/utils/animation-presets.js.map +1 -0
  1679. package/src/libs/renderer/src/utils/animation-priority.d.ts +118 -0
  1680. package/src/libs/renderer/src/utils/animation-priority.js +258 -0
  1681. package/src/libs/renderer/src/utils/animation-priority.js.map +1 -0
  1682. package/src/libs/renderer/src/utils/animation-utils.d.ts +159 -0
  1683. package/src/libs/renderer/src/utils/animation-utils.js +323 -0
  1684. package/src/libs/renderer/src/utils/animation-utils.js.map +1 -0
  1685. package/src/libs/renderer/src/utils/lru-cache.d.ts +34 -0
  1686. package/src/libs/renderer/src/utils/lru-cache.js +72 -0
  1687. package/src/libs/renderer/src/utils/lru-cache.js.map +1 -0
  1688. package/src/libs/renderer/src/viewport/index.d.ts +1 -0
  1689. package/src/libs/renderer/src/viewport/index.js +6 -0
  1690. package/src/libs/renderer/src/viewport/index.js.map +1 -0
  1691. package/src/libs/renderer/src/viewport/viewport-controller.d.ts +198 -0
  1692. package/src/libs/renderer/src/viewport/viewport-controller.js +315 -0
  1693. package/src/libs/renderer/src/viewport/viewport-controller.js.map +1 -0
  1694. package/src/libs/renderer/src/vnode/container-id-generator.d.ts +94 -0
  1695. package/src/libs/renderer/src/vnode/container-id-generator.js +110 -0
  1696. package/src/libs/renderer/src/vnode/container-id-generator.js.map +1 -0
  1697. package/src/libs/renderer/src/vnode/foreign-object.d.ts +157 -0
  1698. package/src/libs/renderer/src/vnode/foreign-object.js +167 -0
  1699. package/src/libs/renderer/src/vnode/foreign-object.js.map +1 -0
  1700. package/src/libs/renderer/src/vnode/index.d.ts +56 -0
  1701. package/src/libs/renderer/src/vnode/index.js +78 -0
  1702. package/src/libs/renderer/src/vnode/index.js.map +1 -0
  1703. package/src/libs/renderer/src/vnode/patch.d.ts +189 -0
  1704. package/src/libs/renderer/src/vnode/patch.js +564 -0
  1705. package/src/libs/renderer/src/vnode/patch.js.map +1 -0
  1706. package/src/reachability.spec.ts +173 -0
  1707. package/tsconfig.esm.json +9 -0
  1708. package/tsconfig.json +24 -0
  1709. package/tsconfig.lib.json +10 -0
  1710. package/tsconfig.spec.json +14 -0
@@ -0,0 +1,1737 @@
1
+ import type { DiagramEngine, LODLevel } from '@grafloria/engine';
2
+ import { type GovernorState } from '../perf/quality-governor';
3
+ import { type RouteSolverStats } from './route-solver-bridge';
4
+ import type { IRenderer, PerformanceMetrics, SVGRendererConfig, VNode, Theme, Rectangle, RendererCapabilities, ExportFormat, ExportOptions } from '../types';
5
+ import { type SvgExportResult } from '../export/svg-export';
6
+ import { type PdfExportResult } from '../export/pdf/pdf-export';
7
+ import { type Page, type PaginationOptions } from '../export/pagination';
8
+ /** One paginated tile: its grid position, its world window, and the SVG for it. */
9
+ export interface PagedSvgResult {
10
+ pages: Array<Page & {
11
+ svg: string;
12
+ }>;
13
+ columns: number;
14
+ rows: number;
15
+ warnings: string[];
16
+ }
17
+ import { type ColorMode, type ThemeSet, type TokenBridge } from '../themes';
18
+ import type { ViewLifecycle } from '../lazy/view-lifecycle';
19
+ import type { CommentSource } from '../comments/comment-overlay';
20
+ import type { EntityKind as LazyEntityKind } from '../lazy/types';
21
+ import { DiagramRegistry } from '../ext/diagram-registry';
22
+ import { AnimationService } from '../services/animation.service';
23
+ /**
24
+ * Id of the SHARED stylesheet: the theme-independent, `var(--grafloria-*)`-based
25
+ * rules. Identical for every renderer on the page, so it is injected once and
26
+ * deduped by this id — instances only own their tiny variable block.
27
+ */
28
+ export declare const GRAFLORIA_BASE_STYLE_ID = "grafloria-renderer-styles";
29
+ /** Prefix of a renderer's own `<style>` element id (one per instance). */
30
+ export declare const GRAFLORIA_INSTANCE_STYLE_PREFIX = "grafloria-renderer-theme-";
31
+ /**
32
+ * Prefix of a renderer's OVERRIDE `<style>` element — the design-token bridge and
33
+ * the accessibility media queries (Wave 4, Card "token bridge + a11y theming").
34
+ *
35
+ * A SEPARATE element from the theme block, and always inserted after it, because
36
+ * the cascade inside the variables is the whole mechanism:
37
+ * theme values < host design tokens < prefers-contrast < forced-colors
38
+ * Same selector, same specificity — so only SOURCE ORDER decides, and source
39
+ * order is only guaranteed if we own it.
40
+ */
41
+ export declare const GRAFLORIA_INSTANCE_OVERRIDE_PREFIX = "grafloria-renderer-overrides-";
42
+ export declare function fitFontSize(text: string, maxWidth: number, base: number): number;
43
+ export declare class SVGRenderer implements IRenderer {
44
+ private engine;
45
+ readonly mode: "svg";
46
+ /**
47
+ * What this renderer can actually do — so callers can ask instead of assuming.
48
+ * `supportsExport` is now TRUE (see `export()` below); hit-testing and text
49
+ * measurement still are not implemented here, and saying so is the point.
50
+ */
51
+ readonly capabilities: RendererCapabilities;
52
+ /**
53
+ * This renderer's scope. Stamped on the root `<svg>` as
54
+ * `data-grafloria-instance` and used to scope BOTH the injected variable block
55
+ * and this instance's `<style>` element id — so two diagrams with different
56
+ * themes on one page no longer clobber each other's stylesheet.
57
+ */
58
+ private readonly instanceId;
59
+ /** Unsubscribe from the named-style registry (see the constructor). */
60
+ private unsubscribeStyleRegistry?;
61
+ /**
62
+ * World-space margin added around the viewport when querying the engine's link
63
+ * SpatialIndex (see expandForLinkCulling). Covers routed detours that have not
64
+ * been written back into `link.points` yet — an orthogonal detour around a node
65
+ * stays well inside this, and the cost of an over-wide query is only a few
66
+ * extra VNodes.
67
+ */
68
+ private static readonly LINK_CULL_MARGIN;
69
+ private theme;
70
+ private config;
71
+ private vnodeCache;
72
+ private styleElement?;
73
+ private disposed;
74
+ /** Watches the OS media queries. Only created when `colorMode` is configured. */
75
+ private colorModeController?;
76
+ /** The host design system's tokens, mapped onto ours. */
77
+ private tokenBridge?;
78
+ /** `<style>` holding the bridge + the a11y media queries (after the theme block). */
79
+ private overrideElement?;
80
+ /**
81
+ * Entities whose LAST rendered VNode froze a theme value into itself, and which
82
+ * therefore cannot be re-themed by rewriting a CSS variable.
83
+ *
84
+ * This is the ledger that makes the hot-swap honest. In CSS mode most of the
85
+ * theme is painted by the stylesheet through `var(--grafloria-*)`, so rebinding the
86
+ * variables re-themes those elements with no VNode work at all. But three
87
+ * things are still resolved to LITERALS in the emitted VNode:
88
+ *
89
+ * - the STATE layer (a selected node carries the theme's selection colours),
90
+ * - `theme.nodes[type]` / `theme.links[type]` type-defaults,
91
+ * - a `themeRef` on a property that is emitted as an SVG PRESENTATION
92
+ * ATTRIBUTE (arrowheads, `rx`, node `opacity`) — attributes cannot hold
93
+ * `var()`, so those must be baked.
94
+ *
95
+ * Rather than guess, the style computation RECORDS which entities that happened
96
+ * to. A theme swap then dirties exactly those and nothing else: a diagram with
97
+ * nothing selected and no bound attributes re-themes with zero restyled VNodes,
98
+ * and the ones that do need it are found, not assumed.
99
+ */
100
+ private themeBoundNodes;
101
+ private themeBoundLinks;
102
+ private containerIds;
103
+ private foreignObjectNodes;
104
+ private arrowRenderer;
105
+ private labelRenderer;
106
+ private jumpPointDetector;
107
+ private jumpPointRenderer;
108
+ private waypointEditor;
109
+ private controlPointEditor;
110
+ private animationService;
111
+ private a11yFocus;
112
+ /**
113
+ * wave9/comments (card 6): where the comment pins come from, or null for a canvas with
114
+ * no comment system attached — in which case NO layer is built and NO query is made, so
115
+ * an idle 10k-node frame is exactly as cheap as it was before this card existed.
116
+ */
117
+ private commentSource;
118
+ /** The root VNode of the last frame we actually built (null ⇒ nothing to reuse). */
119
+ private lastFrameRoot;
120
+ /** View + interaction signature of that frame (null ⇒ that frame was not cacheable). */
121
+ private lastFrameSig;
122
+ /** Mutation epoch AFTER that frame was built (render() itself dirties links). */
123
+ private lastFrameEpoch;
124
+ /** Set by anything whose effect on the picture the epoch cannot see. */
125
+ private frameInvalidated;
126
+ /** Monotone count of invalidateFrame() calls — a HOST's idle-skip keys on this. */
127
+ private invalidationEpoch;
128
+ /**
129
+ * Did the frame being built move any link's FINAL geometry? If so it has not
130
+ * reached a fixed point and must not arm the gate.
131
+ *
132
+ * `render()` is not quite a pure function, and this is the one place it shows.
133
+ * The link cull query (`getVisibleLinks`) runs BEFORE the routing pre-pass, so
134
+ * a frame that re-routes a link writes its new geometry into the spatial index
135
+ * only AFTER that frame has already decided what to draw. The next frame
136
+ * therefore culls against a different index and can legitimately produce a
137
+ * different picture from identical model + view — which is precisely the
138
+ * two-frame settle the culling suite documents ("the link's cull box is the
139
+ * union of its LIVE endpoints and its last routed points, so for ONE frame it
140
+ * still spans the old route").
141
+ *
142
+ * Skipping that second frame leaves a link that should have been culled in the
143
+ * tree forever. So the gate closes only on a frame that changed nothing — a
144
+ * genuine fixed point — and geometry settles in the same two frames it always
145
+ * did.
146
+ *
147
+ * Set ONLY by markLinksWhoseFrameChanged, which is the only pass that sees a
148
+ * link's final geometry (three separate writers rewrite it during a frame; an
149
+ * intermediate difference is not a change). See the note there.
150
+ */
151
+ private frameChangedGeometry;
152
+ /** Frames served straight from `lastFrameRoot`. A quiet canvas should be all of them. */
153
+ private framesSkipped;
154
+ /** Frames actually built. */
155
+ private framesBuilt;
156
+ private frameRoutes;
157
+ /** The gate between "culling says it is on screen" and "build its view". */
158
+ private viewLifecycle;
159
+ /** What the gate held back on the last frame — the progressive mounter's work queue. */
160
+ private deferredThisFrame;
161
+ private frameObstacleCache;
162
+ private routeMemo;
163
+ /** Set true to force the next frame to re-route everything (first frame, config changes). */
164
+ private routeMemoDirty;
165
+ /**
166
+ * resize-ux: the tool-layer geometry for the PAINTED resize handles. Same
167
+ * class and same resize-only configuration as the DomEventBinder's controller
168
+ * (halo/rotate/remove/link tools off — those belong to richer host
169
+ * renderers), so the corner dots and edge lines this renderer draws are the
170
+ * exact geometry the binder's press ladder hit-tests. Before this the default
171
+ * renderer hit-tested eight handles it never painted (live audit,
172
+ * nodes/node-resize-gesture.html).
173
+ */
174
+ private readonly resizeTools;
175
+ private motionTracker;
176
+ /**
177
+ * Links whose route THIS frame was computed under motion suppression. Volatile:
178
+ * never stored in the route memo — the settle frame has the same endpoints,
179
+ * hence the same route key, and a cached suppressed chord would be served
180
+ * straight back instead of the real detour. Cleared per frame.
181
+ */
182
+ private frameVolatileRoutes;
183
+ /** One pending settle-epoch bump at a time (see the end of render()). */
184
+ private motionSettleQueued;
185
+ /** Per-frame static/moving obstacle partition, keyed on the frame's node-array identity. */
186
+ private frameMotionPartition;
187
+ /**
188
+ * Wave 8 — Card 7. Watches frame time and biases the LOD tier down when this
189
+ * machine cannot afford what the zoom asked for. `null` when disabled, in which
190
+ * case the tier is exactly what the zoom says and rendering is deterministic —
191
+ * which is what screenshot tests and print need.
192
+ */
193
+ private governor;
194
+ private solverBridge;
195
+ /**
196
+ * Monotonic id of "the world the obstacles describe". Bumped whenever a node
197
+ * rect or the group state changes. This is what lets an ASYNC solver answer be
198
+ * matched to the world it was computed for — and discarded if that world is
199
+ * gone. Without it, a solve that lands one frame late paints links through
200
+ * nodes that have since moved.
201
+ */
202
+ private worldVersion;
203
+ private frameSpreadLanes;
204
+ private edgeOptimizer;
205
+ private pathSimplifier;
206
+ private frameJumps;
207
+ private frameLabelOffsets;
208
+ private frameSeparation;
209
+ private frameLinkSigs;
210
+ /** Unsubscribe from the edge-template registry (Card 5). */
211
+ private unsubscribeEdgeTemplates?;
212
+ /** Wave 6 — Card 2/0: cache invalidation for the link pipeline + shape registry. */
213
+ private unsubscribeLinkPipeline?;
214
+ private unsubscribeShapeRegistry?;
215
+ private frameDefs;
216
+ private frameLod;
217
+ private frameZoom;
218
+ private lodCache;
219
+ private lodCacheTier;
220
+ private lastRenderTime;
221
+ private lastNodeCount;
222
+ private lastLinkCount;
223
+ private renderTimestamp;
224
+ private frameCount;
225
+ private fps;
226
+ /** Handle of the 1 Hz FPS sampler — cleared in dispose() (see startFPSTracking). */
227
+ private fpsInterval?;
228
+ /**
229
+ * THIS DIAGRAM'S contribution tables — shapes, named styles, link/label
230
+ * templates, markers, and the link pipeline it registered for itself.
231
+ *
232
+ * Empty until something contributes, and an empty scope is treated as no scope
233
+ * at all, so a renderer nobody extended costs exactly what it always did.
234
+ */
235
+ private readonly registryScope;
236
+ private readonly registryFacade;
237
+ /**
238
+ * Register shapes / styles / markers / link-pipeline stages for THIS renderer
239
+ * alone. The module-level `registerShape()` & friends remain the process-wide
240
+ * registry, and this one shadows it — see `ext/diagram-registry.ts`.
241
+ */
242
+ getRegistry(): DiagramRegistry;
243
+ constructor(engine: DiagramEngine, config?: SVGRendererConfig, theme?: Theme);
244
+ /**
245
+ * Render diagram to VNode tree.
246
+ *
247
+ * THE REGISTRY SCOPE IS ACTIVATED HERE, around the whole pass, and this is the
248
+ * only place it needs to be for the picture to be right. Every contribution
249
+ * registry the frame consults — shapes, named styles, link/label templates,
250
+ * markers, anchors, connection points, connectors — resolves this diagram's
251
+ * own table first and the process-global one second, including from the read
252
+ * sites that are pure free functions three frames down (`shapeStrategy` in
253
+ * port-layout, `resolveNodeStyle` in the style cascade) and could not have been
254
+ * handed an instance without rewriting their signatures. See
255
+ * `ext/registry-scope.ts`.
256
+ *
257
+ * A diagram that contributed nothing activates nothing, so the single-diagram
258
+ * path is byte-identical to what it was.
259
+ */
260
+ render(viewport: Rectangle, zoom: number): VNode;
261
+ private renderInScope;
262
+ /**
263
+ * The tier actually rendered last frame, and the governor's reasoning for it.
264
+ *
265
+ * Exposed because an invisible governor is indistinguishable from a bug: if the
266
+ * picture silently simplifies, the only honest thing to do is be able to say WHY.
267
+ * The perf HUD reads this; so can an application that wants to tell the user "this
268
+ * diagram is being drawn at reduced detail to stay responsive".
269
+ */
270
+ getQualityState(): {
271
+ tier: LODLevel;
272
+ governor?: GovernorState;
273
+ };
274
+ /**
275
+ * Tier names richest → poorest, which is the order the governor's bias walks.
276
+ *
277
+ * Derived from the diagram's LIVE config rather than a hard-coded triple, because
278
+ * `registerLODTier`/`setLODConfig` are public API — a governor that walked a
279
+ * stale list would step a custom tier into one that no longer exists.
280
+ */
281
+ private lodTierNames;
282
+ /**
283
+ * wave8/dirty — everything a frame depends on that is NOT model state.
284
+ *
285
+ * Returns `null` for a frame that must never be reused: a live connection or
286
+ * reconnection drag paints a preview out of INTERACTION state, which no dirty
287
+ * flag and no epoch tracks. Rather than try to hash a drag (and get it subtly
288
+ * wrong once, which is a stuck ghost line on screen), we simply declare those
289
+ * frames uncacheable. They are, by definition, frames in which the user is
290
+ * moving the mouse — there was nothing to skip anyway.
291
+ */
292
+ private frameSignature;
293
+ /**
294
+ * Drop the cached frame. Call from anything whose effect on the picture the
295
+ * mutation epoch cannot see — a topology event, a style/theme invalidation, a
296
+ * registry swap. Cheap and idempotent: the cost of calling it when you did not
297
+ * need to is one rebuilt frame; the cost of NOT calling it when you did is a
298
+ * stale picture, so when in doubt, call it.
299
+ */
300
+ invalidateFrame(): void;
301
+ /**
302
+ * How many times this renderer has been told "the picture you have is no longer
303
+ * the picture you would draw".
304
+ *
305
+ * A HOST'S idle-skip must consult this, not just the model's mutation epoch.
306
+ * The two are not the same, and the gap between them is a real bug: when the
307
+ * off-thread route solver answers, the MODEL has not changed — the epoch does
308
+ * not move — but the renderer's own answer about it has improved. A scheduler
309
+ * keyed only on the model would drop that repaint before `render()` was ever
310
+ * called, and the refined routes would never reach the screen. The renderer's
311
+ * internal gate cannot save you there; it never gets asked.
312
+ *
313
+ * So: model epoch says "did the world change", this says "did MY picture of it
314
+ * change". Skip a frame only when both say no.
315
+ */
316
+ getInvalidationEpoch(): number;
317
+ /**
318
+ * wave8/dirty — the incrementality is only real if these move. `framesSkipped`
319
+ * counts frames served from the previous root (zero DOM work); `framesBuilt`
320
+ * counts frames actually walked. An idle canvas should build ONE.
321
+ */
322
+ getFrameStats(): {
323
+ built: number;
324
+ skipped: number;
325
+ };
326
+ /**
327
+ * Get current theme
328
+ */
329
+ getTheme(): Theme;
330
+ /**
331
+ * Set theme and update rendering
332
+ */
333
+ setTheme(theme: Theme): void;
334
+ /**
335
+ * THE HOT-SWAP. Re-theme by rewriting this instance's `--grafloria-*` variables.
336
+ *
337
+ * In CSS mode every value the built-in stylesheet paints resolves through those
338
+ * variables, and every `themeRef`-bound property that lands in an inline CSS
339
+ * style string is emitted as `var(--grafloria-…)`. So for all of them, *this one
340
+ * string write IS the re-theme*: no VNode is rebuilt, no element is touched,
341
+ * the browser simply recomputes.
342
+ *
343
+ * What it cannot cover, it does not pretend to: the entities recorded in
344
+ * `themeBoundNodes` / `themeBoundLinks` (see the field docs) baked a theme
345
+ * literal into their VNode, so they — and only they — are marked dirty and
346
+ * re-resolve on the next frame. An idle diagram re-themes with zero restyles;
347
+ * a diagram with three selected nodes restyles three nodes.
348
+ *
349
+ * Programmatic (Canvas) mode has no stylesheet at all, so there is nothing to
350
+ * rebind and the full invalidation is the only correct answer.
351
+ */
352
+ applyThemeVariables(theme: Theme): void;
353
+ /** The colorMode in force, or undefined when the host never asked for one. */
354
+ getColorMode(): ColorMode | undefined;
355
+ /**
356
+ * Switch colour mode at runtime. `'system'` starts following the OS; the other
357
+ * two pin it. Creates the media-query subscription on first use, so a host can
358
+ * opt in after construction.
359
+ */
360
+ setColorMode(mode: ColorMode, themes?: ThemeSet): void;
361
+ /**
362
+ * Point this diagram's variables at the host design system's tokens
363
+ * (`shadcnBridge()`, `muiBridge()`, `tailwindBridge()`, or a hand-written map).
364
+ * `null` removes the bridge.
365
+ *
366
+ * Pure CSS: the values are the host's own `var(--…)` expressions, so when the
367
+ * host app flips ITS theme, this diagram follows with no code at all — and no
368
+ * VNode is rebuilt here either, for exactly the reason the hot-swap works.
369
+ */
370
+ setTokenBridge(bridge: TokenBridge | null | undefined): void;
371
+ /** The bridge currently applied, if any. */
372
+ getTokenBridge(): TokenBridge | undefined;
373
+ /**
374
+ * This renderer's instance id (`grafloria-3`). It is the value of the
375
+ * `data-grafloria-instance` attribute on the root `<svg>`, the scope of this
376
+ * diagram's CSS variables, and the suffix of its `<style>` element id.
377
+ */
378
+ getInstanceId(): string;
379
+ /** Id of the `<style>` element holding THIS renderer's theme variables. */
380
+ getStyleElementId(): string;
381
+ /** Id of the `<style>` element holding THIS renderer's bridge + a11y overrides. */
382
+ getOverrideElementId(): string;
383
+ /**
384
+ * The complete stylesheet this renderer would inject into `<head>`: the shared
385
+ * theme-independent rules, the animation rules, and THIS instance's
386
+ * `--grafloria-*` variable block.
387
+ *
388
+ * Needed by the SSR path (Card 6). In CSS mode the theme lives entirely in CSS
389
+ * variables, so the emitted SVG is theme-INDEPENDENT — which is exactly what
390
+ * makes hydration cheap, but it also means a server-rendered diagram is
391
+ * unstyled until some stylesheet arrives. `renderToStaticSVG()` returns this
392
+ * string so the server can ship it in a `<style>` tag; the client renderer then
393
+ * re-injects byte-identical content under the same ids, so hydration is still a
394
+ * no-op visually.
395
+ */
396
+ getStyleSheet(): string;
397
+ /**
398
+ * Put this diagram's scope on a host element.
399
+ *
400
+ * The root `<svg>` carries it automatically, and `foreignObject` content
401
+ * inherits from it (it lives inside the SVG). Nodes rendered on an HTML LAYER
402
+ * (`metadata.useHTMLLayer`) do NOT — they are siblings of the SVG. Call this
403
+ * with the element that wraps BOTH layers (the canvas host) so those nodes
404
+ * inherit the `--grafloria-*` variables and match the scoped rules too.
405
+ */
406
+ applyInstanceScope(element: Element | null | undefined): void;
407
+ /**
408
+ * The instance-scope prop for a root VNode. Emitted in CSS mode only:
409
+ * programmatic mode injects no stylesheet, so scoping it would make its
410
+ * elements match ANOTHER instance's shared rules with no variables defined.
411
+ */
412
+ private instanceScopeProps;
413
+ /**
414
+ * Drop cached VNodes and mark every entity dirty. Anything that changes how a
415
+ * style RESOLVES (theme swap, named-style (re)definition) must call this,
416
+ * because the cascade is resolved into the emitted VNode.
417
+ */
418
+ private invalidateStyles;
419
+ /**
420
+ * The SURGICAL counterpart of `invalidateStyles`, used by the colorMode
421
+ * hot-swap: dirty ONLY the entities that baked a theme literal into their last
422
+ * VNode. Everything else re-themes through the rebound CSS variables, untouched.
423
+ *
424
+ * Cache entries are dropped by id rather than by clearing the whole cache, so a
425
+ * clean node's VNode survives — that is the point; a cleared cache would mean
426
+ * rebuilding the very frames we set out not to rebuild.
427
+ */
428
+ private invalidateThemeBoundStyles;
429
+ /** Cache keys are `<kind>-<id>-<lod>`; an entity owns one entry per LOD tier. */
430
+ private dropCacheEntries;
431
+ /**
432
+ * Install the freeze / lazy-mount gate.
433
+ *
434
+ * With no lifecycle installed the renderer behaves exactly as it always has —
435
+ * every entity culling admits gets a view, on the frame it is admitted. That is
436
+ * the default, and it stays the default: laziness is something a host asks for.
437
+ */
438
+ setViewLifecycle(lifecycle: ViewLifecycle | null): void;
439
+ getViewLifecycle(): ViewLifecycle | null;
440
+ /**
441
+ * What culling admitted on the last frame and the gate held back.
442
+ *
443
+ * This is the progressive mounter's work queue, and it comes from the renderer
444
+ * rather than being recomputed by the mounter because the viewport→viewBox→cull
445
+ * maths (zoom, link margin) lives here and must not be reimplemented anywhere it
446
+ * could drift.
447
+ */
448
+ getDeferredEntities(): ReadonlyArray<readonly [LazyEntityKind, string]>;
449
+ /**
450
+ * Subtract from what culling admitted: frozen entities, and — during a
451
+ * progressive mount — everything the mount has not reached yet.
452
+ */
453
+ private applyMountGate;
454
+ /**
455
+ * How many entities the NEXT theme swap would have to restyle. Zero means the
456
+ * swap is a pure variable rebind. Exposed because "no restyle of every VNode"
457
+ * is a claim that should be measurable, not taken on trust — the tests assert
458
+ * on it, and so can a host.
459
+ */
460
+ getThemeBoundEntityCount(): number;
461
+ /** Node properties this renderer emits through an inline CSS `style` string. */
462
+ private static readonly NODE_VAR_SAFE;
463
+ /** Link properties this renderer emits through an inline CSS `style` string. */
464
+ private static readonly LINK_VAR_SAFE;
465
+ /**
466
+ * Replace every `themeRef(...)` in a resolved style with something the DOM can
467
+ * paint, and report whether doing so froze a theme literal into the VNode.
468
+ *
469
+ * TWO emissions, and the difference is not cosmetic:
470
+ *
471
+ * `var(--grafloria-…, literal)` — when the property's value ends up inside an
472
+ * inline CSS `style` string. Re-theming is then just rebinding the
473
+ * variable, so the element never needs to be rebuilt.
474
+ *
475
+ * the LITERAL — everywhere else. SVG PRESENTATION ATTRIBUTES cannot hold
476
+ * `var()` (`fill="var(--x)"` is simply invalid and the shape paints
477
+ * black), and programmatic/Canvas mode has no CSS at all. The entity is
478
+ * recorded as theme-bound so the next theme swap re-resolves it.
479
+ *
480
+ * `varSafe` is therefore not a preference — it is the exact set of properties
481
+ * this renderer is known to emit through a style string. Adding a property to
482
+ * it without also routing its emission through `style` would paint black.
483
+ */
484
+ private materializeThemeRefs;
485
+ /**
486
+ * A paint value safe to put in an SVG PRESENTATION ATTRIBUTE.
487
+ *
488
+ * `var(--x)` is not: the attribute is invalid, the browser ignores it, and the
489
+ * element falls back to whatever the stylesheet says (or black). Everything
490
+ * else — a literal, a `url(#gradient)` paint-server reference — is fine.
491
+ */
492
+ private attributeSafePaint;
493
+ /** Did a theme LAYER (state / type-default) contribute a literal to this node? */
494
+ private drawsThemeLiteral;
495
+ private linkDrawsThemeLiteral;
496
+ /** `theme.nodes[type]` / `theme.links[type]` — `default` is the BASE layer, not a type. */
497
+ private hasTypeDefaults;
498
+ /**
499
+ * A link's stroke and stroke-width as LITERALS — never a `var()` string.
500
+ *
501
+ * Needed by the two consumers that cannot take a CSS variable:
502
+ * - the ARROWHEAD, which paints through presentation attributes;
503
+ * - the hit-area width, which does ARITHMETIC on the stroke width
504
+ * (`Number('var(--x)') + 8` is NaN, and a NaN-wide hit area is unclickable).
505
+ */
506
+ private linkPaintLiterals;
507
+ /**
508
+ * Get performance metrics
509
+ */
510
+ getPerformanceMetrics(): PerformanceMetrics;
511
+ /**
512
+ * Export the diagram.
513
+ *
514
+ * - `'svg'` → a STANDALONE, styles-inlined SVG document. Pure, deterministic,
515
+ * and DOM-free: it runs in plain Node (an SSR pass, a thumbnail worker).
516
+ * - `'png' | 'jpeg' | 'webp'` → a `data:` URL. Needs an SVG rasterizer: a
517
+ * canvas one is used automatically in a browser/worker; in bare Node you must
518
+ * pass `options.rasterBackend` (and you get a clear error if you don't).
519
+ *
520
+ * Defaults to the whole diagram (content bounds + 20px), not the current
521
+ * viewport — a thumbnail of the visible slice is rarely what anyone means.
522
+ */
523
+ export(format?: ExportFormat, options?: ExportOptions): Promise<string>;
524
+ /**
525
+ * The document envelope to embed — the ENGINE's own, so the artifact carries exactly
526
+ * the format the engine already round-trips losslessly and checksums.
527
+ *
528
+ * `createdAt` is the one field that would otherwise make an export non-deterministic,
529
+ * so a caller who needs byte-identical output passes it in.
530
+ */
531
+ private modelEnvelope;
532
+ /**
533
+ * The synchronous, fully headless SVG path — what `export('svg')` returns, plus
534
+ * the fidelity `warnings` (foreignObject, unresolved theme vars) that the
535
+ * string-only `IRenderer.export` signature has nowhere to put.
536
+ */
537
+ exportSvgString(options?: ExportOptions): SvgExportResult;
538
+ /**
539
+ * A TRUE VECTOR PDF: paths stay paths and text stays text, so it is selectable,
540
+ * searchable and scales without pixelation.
541
+ *
542
+ * Painted straight from the VNode tree — the same tree the screen gets — so there is no
543
+ * SVG→DOM→PDF round trip and no second rendering path. See `export/pdf/` for the
544
+ * dependency decision (we do NOT use svg2pdf.js + jsPDF, and why) and for the honest
545
+ * list of what a base-14-font PDF cannot do.
546
+ */
547
+ exportPdf(options?: ExportOptions): PdfExportResult;
548
+ /**
549
+ * Slice the diagram into pages (Card 5).
550
+ *
551
+ * Returns one standalone SVG per page — a tile grid you can print, or lay out as a poster.
552
+ * Breaks are snapped so they do not cut a node in half; see `export/pagination.ts`.
553
+ */
554
+ exportPages(pagination: PaginationOptions, options?: ExportOptions): PagedSvgResult;
555
+ /**
556
+ * A multi-page PDF of a diagram too big for one sheet.
557
+ *
558
+ * The paginator supplies the page grid; the PDF writer honours each page's `clip`, so a
559
+ * break pulled back to spare a node leaves white space rather than half a box.
560
+ */
561
+ exportPaginatedPdf(pagination: PaginationOptions, options?: ExportOptions): PdfExportResult;
562
+ /**
563
+ * Every EXTERNAL image URL the exported tree will reference — a panel node's
564
+ * avatar/logo/icon (`<image href="https://…">` painted by the renderer itself), or
565
+ * any registered shape that emits one. Widget (HTML-layer) captures are NOT in this
566
+ * tree; their URLs are collected from the captures by the instance layer.
567
+ *
568
+ * This is the LOOK-BEFORE-YOU-EXPORT half of the async image pass: `await export(…)`
569
+ * calls this first, fetches the URLs through the tiers, and hands the resolved map
570
+ * back down as {@link ExportOptions.resolvedAssets} for the pure sync substitution.
571
+ * The tree is enumerated from the SAME `render()` the export will serialize (VNode
572
+ * caching makes the second call cheap), so what is collected and what is substituted
573
+ * cannot drift. Synchronous and network-free.
574
+ */
575
+ collectExportImageUrls(options?: ExportOptions): string[];
576
+ /**
577
+ * The ids currently selected — what `scope: 'selection'` exports.
578
+ *
579
+ * Selection is MODEL state (`node.state.selected`, `link.state === 'selected'`),
580
+ * which is the same place the renderer reads it from to paint the selection
581
+ * colours. There is no separate selection registry to consult.
582
+ */
583
+ private selectedIds;
584
+ /**
585
+ * The world rectangle that contains the whole diagram, padded.
586
+ *
587
+ * Nodes' bounding boxes plus any routed link points (a link can bulge outside
588
+ * its endpoints' union). An empty diagram exports a small, still-valid square
589
+ * rather than a zero-area document a rasterizer would reject.
590
+ */
591
+ private contentViewport;
592
+ /**
593
+ * Dispose renderer and clean up resources
594
+ */
595
+ /**
596
+ * Wave 8 — Card 6: how many links this frame actually had to route, and how
597
+ * many were served from the previous frame.
598
+ *
599
+ * Public because a cache that silently stops hitting is indistinguishable from
600
+ * no cache at all — it just gets slow again, and nothing says so. Tests assert
601
+ * on this; the benchmark harness prints it.
602
+ */
603
+ getRoutingStats(): {
604
+ routed: number;
605
+ reused: number;
606
+ cached: number;
607
+ };
608
+ dispose(): void;
609
+ /**
610
+ * Render links layer
611
+ * FIXED: Sort links so selected/highlighted links render on top
612
+ */
613
+ private renderLinksLayer;
614
+ /**
615
+ * Everything that determines a link's route, as a string.
616
+ *
617
+ * If two frames produce the same key then `computeAutoRoute` — a pure function
618
+ * of these inputs and the obstacle set — would produce the same polyline, so we
619
+ * serve the old one. Which means: anything computeAutoRoute reads MUST be in
620
+ * here, or the cache serves a stale route. The obstacle set is the single input
621
+ * deliberately left out (it is the whole diagram); it is handled instead by
622
+ * invalidateStaleRoutes(), which evicts on obstacle MOTION.
623
+ *
624
+ * Endpoints are quantised to 1/100 unit. They are derived from node positions
625
+ * and port layouts in floating point, and an endpoint that is unchanged in
626
+ * every way that matters can still differ in the last mantissa bit; keying on
627
+ * the raw float would miss forever and quietly hand back the O(scene)
628
+ * behaviour this card exists to delete — a cache that never hits looks exactly
629
+ * like no cache at all, and says nothing while it does it.
630
+ */
631
+ private routeKey;
632
+ /** The source node's box — the extra input a self-loop's route depends on. */
633
+ private selfLoopBoxKey;
634
+ /**
635
+ * Forget the routes that the world just invalidated — and ONLY those.
636
+ *
637
+ * A link needs re-routing if one of its endpoint nodes moved (the route key
638
+ * catches that by itself, because the endpoints ARE the key) OR if some OTHER
639
+ * node moved into or out of the corridor it runs through. The second case is
640
+ * the one that matters and the one that is easy to miss: the link did not
641
+ * change, its own nodes did not change, and yet a wall just appeared across
642
+ * its path. "Re-route the links whose endpoints moved" is fast and wrong.
643
+ *
644
+ * So: diff the node rects against last frame; every node that moved, resized,
645
+ * appeared or vanished contributes both the rect it VACATED and the rect it now
646
+ * OCCUPIES; ask the engine's link spatial index — which is keyed on each link's
647
+ * routed bounding box, because syncLinkPoints refreshes it — which links run
648
+ * through those regions once the routing clearance is added; evict exactly them.
649
+ */
650
+ private invalidateStaleRoutes;
651
+ /**
652
+ * Wave 8 — Card 6: drive the global penalty-field solver, and adopt its answer
653
+ * when (and only when) it describes the world we are actually drawing.
654
+ *
655
+ * Order of events across frames, which is the whole design:
656
+ *
657
+ * frame N — the sync router paints correct routes; we hand the solver this
658
+ * world (edges + obstacles + version) and carry on. Nothing waits.
659
+ * frame N+k — the solve lands. If the world is still version N, its routes are
660
+ * adopted and `onRoutesRefined` asks the host for a re-render. If
661
+ * the world has MOVED, the answer is dropped on the floor: it was
662
+ * computed against obstacles that are not there any more, and
663
+ * painting it would run links through nodes.
664
+ *
665
+ * So a link's geometry is always either "correct, one-at-a-time" or "correct,
666
+ * globally optimised" — never "optimised for a diagram that no longer exists".
667
+ */
668
+ private applyGlobalSolver;
669
+ /** Wave 8 — Card 6: what the off-thread solver has been doing. */
670
+ getRouteSolverStats(): RouteSolverStats | null;
671
+ /**
672
+ * A fingerprint of the obstacle facts that are NOT node rectangles: which
673
+ * groups are collapsed, and where their blocks sit. Node motion is tracked
674
+ * precisely; this only has to notice that GROUP state moved.
675
+ */
676
+ private obstacleEpoch;
677
+ /**
678
+ * Wave 5 — Card 4: separate corridor-sharing segments of DIFFERENT links onto
679
+ * parallel lanes. Only orthogonal-geometry links participate (a diagonal
680
+ * smooth line has no corridor to share); only interior segments move; a
681
+ * member whose slide would shrink or reverse an adjacent segment pins its
682
+ * lane, and an unsatisfiable corridor is skipped whole.
683
+ */
684
+ private applyChannelNudging;
685
+ /**
686
+ * Group every link in the diagram by the (unordered) node pair it connects and
687
+ * hand each member of a multi-link group its lane offset.
688
+ *
689
+ * UNORDERED pairs: A→B and B→A are one visual bundle. Ordering them separately
690
+ * would give each a group of one, an offset of 0, and put both back on the same
691
+ * centre line — which is the bug this card exists to kill.
692
+ *
693
+ * A pair with exactly ONE link gets offset 0 and is therefore untouched, which
694
+ * is what keeps every existing diagram pixel-identical.
695
+ */
696
+ private computeParallelSeparation;
697
+ /**
698
+ * The unit normal a link's bundle fans along.
699
+ *
700
+ * Derived from the bundle's CANONICAL node order (lower id → higher id), NOT
701
+ * from this link's own source → target. Otherwise the two halves of a
702
+ * bidirectional pair compute opposite normals, their opposite lane offsets
703
+ * cancel, and both links land back on top of each other.
704
+ */
705
+ private bundleNormalFor;
706
+ /**
707
+ * Route a self-loop (source node === target node) as a loop away from the node.
708
+ *
709
+ * Never goes near the routing engine: the routers exclude a link's own nodes
710
+ * from their obstacle set, so a "route" from a node back to itself came out as
711
+ * a degenerate stub buried in the node body. The loop is built geometrically
712
+ * instead, as a polyline, which the existing path emitters then draw in the
713
+ * link's own idiom (rounded rectangle for `orthogonal`, a spline for `smooth`,
714
+ * a hard polygon for `direct`).
715
+ */
716
+ private computeSelfLoopRoute;
717
+ /**
718
+ * Which self-loop this is on its node (0 = the first). Stable across frames
719
+ * because it reads the diagram's own link order.
720
+ */
721
+ private selfLoopIndex;
722
+ /**
723
+ * Feed the whole diagram to the edge optimizer and cache what it decided for
724
+ * this frame.
725
+ *
726
+ * ALL links go in, not just the visible ones: a link scrolled off the left edge
727
+ * still crosses the one you can see, and its label still occupies space. Only
728
+ * VISIBLE links have been re-routed this frame — the rest carry the points they
729
+ * last had, exactly as the old per-link scan read them.
730
+ */
731
+ private runEdgeOptimizer;
732
+ /**
733
+ * The jump config for a link, or undefined when it draws no jumps.
734
+ *
735
+ * Same gate the per-link scan applied: enabled, non-zero size, at least two
736
+ * points, and NOT a 2-point curve (a chord-based jump would both misplace the
737
+ * arc and destroy the bezier).
738
+ */
739
+ private jumpConfigFor;
740
+ /** The link's labels, described for the optimizer (anchor, box, path normal). */
741
+ private optimizerLabelsFor;
742
+ /**
743
+ * Mark a link dirty when anything OUTSIDE the link changed the way it renders.
744
+ *
745
+ * `renderLink` serves a cached VNode for any link that is not dirty — but a
746
+ * link's drawing depends on its routed points (which change when a NODE moves),
747
+ * on the crossings other links make with it, and on where the optimizer put its
748
+ * labels. None of those mark the link dirty. Comparing a per-frame signature
749
+ * closes that hole; it also fixes the pre-existing version of this bug, where a
750
+ * cached link kept drawing yesterday's jump arcs.
751
+ */
752
+ private markLinksWhoseFrameChanged;
753
+ /**
754
+ * Card 7 — auto-size every opted-in node before culling/rendering. Uses the
755
+ * theme's label font size for measurement so the reserved box matches the text
756
+ * the label engine will actually lay out, and feeds each node its composite
757
+ * panel reserve (Card 5 header band / image / badge row) so the shape grows to
758
+ * fit the WHOLE body, not just the label.
759
+ */
760
+ private autoSizeNodes;
761
+ /**
762
+ * The extra content space a node's composite panel (Card 5) reserves around
763
+ * its label, so auto-sizing (Card 7) grows the shape to fit the WHOLE body.
764
+ * Returns undefined for a plain (label-only) node.
765
+ */
766
+ private panelReserve;
767
+ /**
768
+ * Card 5 — the composite panel overlay for a node (header band, image/icon
769
+ * slots, badges, ERD/UML rows). Built through the framework-agnostic `panel`
770
+ * module and themed from the active theme; text goes out via `textContent`
771
+ * and image hrefs are sanitized (see panel.ts). Empty for a plain node.
772
+ */
773
+ private renderPanelOverlay;
774
+ /**
775
+ * Card 4 — the HTML / foreignObject body for a node (sanitized rich content
776
+ * sized to node.size). Empty for a non-HTML node. The FO is keyed by a content
777
+ * hash so a data change replaces the opaque subtree while hover/selection
778
+ * leaves it intact (see html-node.ts).
779
+ */
780
+ private renderHtmlBody;
781
+ /**
782
+ * Render nodes layer
783
+ */
784
+ private renderNodesLayer;
785
+ /**
786
+ * Phase 2: Render connection preview layer
787
+ */
788
+ private renderConnectionPreviewLayer;
789
+ /**
790
+ * Phase 2: Render connection preview line
791
+ */
792
+ private renderConnectionPreview;
793
+ /**
794
+ * Wave 2 (Edges & links): render the endpoint-reconnection ghost link.
795
+ *
796
+ * Draws a dashed preview from the STATIONARY endpoint of the link (the one
797
+ * not being dragged) to the cursor, using the same RoutingEngine the real
798
+ * connection preview uses so the ghost matches the link's routing algorithm.
799
+ * Colour reflects drop validity (success vs default link colour).
800
+ */
801
+ /**
802
+ * wave15/helper-lines: the live snap guides a node drag publishes
803
+ * (engine.getSnapGuides) as dashed overlay lines; spacing segments carry
804
+ * their gap label at the midpoint. Null (no layer at all) when idle, so a
805
+ * diagram that never snaps pays nothing.
806
+ */
807
+ private renderSnapGuidesLayer;
808
+ /**
809
+ * The proximity-connect proposal wire: a dashed line between the two port
810
+ * anchors a drop would link. Port anchors resolve through the SAME helpers
811
+ * the port glyphs render with (getPortPositionForShape + getWorldPosition),
812
+ * so the wire lands exactly on the highlighted glyphs.
813
+ */
814
+ private renderProximityPreview;
815
+ private renderReconnectionPreview;
816
+ /**
817
+ * Phase 2: Generate connection preview path
818
+ * Supports straight, bezier, step (orthogonal) routing
819
+ */
820
+ private generateConnectionPreviewPath;
821
+ /**
822
+ * Render single node
823
+ */
824
+ /**
825
+ * wave2/rendering: single LOD feature gate. Reads the active diagram's
826
+ * declarative LODConfig (`diagram.shouldRender`) instead of hardcoding
827
+ * `lod === 'high'` / `lod !== 'low'` here, so custom tiers Just Work.
828
+ * Returns false when there is no diagram (nothing to render anyway).
829
+ */
830
+ private lodAllows;
831
+ /**
832
+ * The node group's transform.
833
+ *
834
+ * wave4/interaction BUGFIX: `node.rotation` was DEAD in the renderer. The model
835
+ * had it (`setRotation`, `rotate`, it is serialized, and the hierarchy maths in
836
+ * `NodeModel.getGlobalPosition` factors it in), the canvas even branched on it
837
+ * (`hasTransformsInHierarchy`), but the SVG output only ever emitted
838
+ * `translate(x, y)` — so a rotated node rendered unrotated and the rotate tool
839
+ * would have had nothing to show. Rotation is about the box CENTRE, which is
840
+ * the convention `applyResizeToNode` (selection-tools) inverts when it resizes
841
+ * a rotated node.
842
+ */
843
+ private nodeTransform;
844
+ /** Accessible name of a node: its label, else "<type> node". */
845
+ private nodeAccessibleName;
846
+ /**
847
+ * The ARIA props for a node group.
848
+ *
849
+ * FIXED HERE (a real, shipped WCAG 4.1.2 / axe `aria-allowed-attr` violation):
850
+ * every node used to emit `role="group" aria-selected="…"`. `aria-selected` is
851
+ * only valid on gridcell/option/row/tab/columnheader/rowheader/treeitem — NOT
852
+ * on `group`. So every node in every diagram carried an invalid ARIA attribute,
853
+ * and axe flags it on sight. The node is a graphic, so it takes the W3C Graphics
854
+ * role; selection now rides in the accessible NAME (which is what a screen
855
+ * reader actually reads out) and in `data-selected` for tooling. The place
856
+ * `aria-selected` is genuinely valid — `role="treeitem"` — is the outline
857
+ * mirror, and that is exactly where the outline view puts it.
858
+ */
859
+ private nodeAriaProps;
860
+ /**
861
+ * The ARIA props for a link group.
862
+ *
863
+ * THE headline gap of this wave: before it, `renderLink` emitted NO ARIA at
864
+ * all. Every edge in every diagram was invisible to a screen reader, so the
865
+ * graph read as a bag of disconnected shapes — the one thing a diagram exists
866
+ * to communicate (what connects to what) was the one thing AT users could not
867
+ * get.
868
+ */
869
+ private linkAriaProps;
870
+ /**
871
+ * ROVING TABINDEX (card 1). The canvas is ONE tab stop; arrow keys — not Tab —
872
+ * move within it. So exactly one element in the whole diagram carries
873
+ * `tabindex=0` at any moment (the focused one), and every other focusable
874
+ * element carries `-1`. Tab therefore enters the diagram once and leaves it
875
+ * once, which is what a composite widget is supposed to do; without this, a
876
+ * 200-node diagram is a 200-stop tab trap.
877
+ */
878
+ private rovingTabIndexProps;
879
+ /**
880
+ * Tell the renderer which entity the keyboard controller has focused, so the
881
+ * next frame emits `tabindex=0` on it (and `-1` on everything else).
882
+ *
883
+ * Marks only the OLD and NEW focus targets dirty — moving focus must not
884
+ * invalidate the whole diagram.
885
+ */
886
+ setAccessibleFocus(target: {
887
+ type: 'node' | 'link' | 'comment';
888
+ id: string;
889
+ } | null): void;
890
+ getAccessibleFocus(): {
891
+ type: 'node' | 'link' | 'comment';
892
+ id: string;
893
+ } | null;
894
+ /**
895
+ * wave9/comments (Card 6): attach (or detach) the source of comment pins.
896
+ *
897
+ * Installing a source CHANGES THE PICTURE while moving nothing the frame gate watches —
898
+ * not the model epoch, not the viewport. Without the explicit invalidation the gate would
899
+ * keep serving back the last frame, which has no pins in it, forever. This is the trap
900
+ * this wave was warned about, and it is one line.
901
+ */
902
+ setCommentSource(source: CommentSource | null): void;
903
+ getCommentSource(): CommentSource | null;
904
+ /**
905
+ * The comment pin layer for this frame, or null when nothing is attached.
906
+ *
907
+ * Culled against the same world rect the nodes are, so a diagram with 4,000 comments
908
+ * costs what the ones ON SCREEN cost. Drawn in WORLD coordinates inside the viewBox, so
909
+ * pan and zoom carry the pins with the diagram without a line of code.
910
+ */
911
+ private renderCommentsLayer;
912
+ /**
913
+ * wave12/group-visuals — the group FRAMES.
914
+ *
915
+ * One frame per group: a rounded `<rect>` at the group's outer bounds, a label
916
+ * band carrying its `name`, and — when collapsed — a visibly distinct treatment
917
+ * (dashed, opaque, marked `data-collapsed`). Returns null when the diagram has
918
+ * no groups, so a group-free canvas pays a single array read and the children[]
919
+ * positional contract is untouched (see the children assembly in `render`).
920
+ *
921
+ * PURE / READ-ONLY. It only reads group geometry (`getOuterBounds`) — it never
922
+ * mutates the model, so it cannot dirty an idle frame and disarm the frame gate.
923
+ *
924
+ * PAINT ORDER. Groups are sorted parent-behind-child (nesting depth first, then
925
+ * `zIndex`, then insertion order) so a nested sub-group draws ON TOP of the
926
+ * parent that contains it — otherwise the parent's fill would bury the child.
927
+ *
928
+ * CULLING. A linear intersect against the visible rect, matching how strokes are
929
+ * culled: groups number in the tens, so a spatial index would be theatre.
930
+ */
931
+ private renderGroupsLayer;
932
+ /** One group's frame + label band, themed and accessible. */
933
+ private renderGroupFrame;
934
+ /** The canvas's own semantics. */
935
+ private rootAriaProps;
936
+ /**
937
+ * NON-COLOUR STATUS ENCODING — WCAG 1.4.1 (Use of Colour).
938
+ *
939
+ * The audit question, answered honestly: our states WERE largely colour-only.
940
+ * - `selected` already had a dashed outline → a genuine shape cue. Fine.
941
+ * - `highlighted` was a fill/stroke SWAP and nothing else. Colour-only.
942
+ * - `error` was a fill/stroke SWAP and nothing else. Colour-only.
943
+ *
944
+ * A user with deuteranopia, or anyone on a monochrome display, could not tell
945
+ * an errored node from a highlighted one from a normal one. This is the exact
946
+ * failure most diagram engines quietly ship.
947
+ *
948
+ * So both now carry a REDUNDANT, non-colour cue:
949
+ * - error → a corner badge with a "!" glyph, plus a dense dashed ring;
950
+ * - highlighted → a distinct dashed emphasis ring (a different dash rhythm
951
+ * from selection's, so the two never read as the same thing).
952
+ *
953
+ * The badges are `aria-hidden` — the state is already in the accessible name,
954
+ * and announcing it twice is its own accessibility bug.
955
+ */
956
+ private renderStateAffordances;
957
+ /**
958
+ * The same 1.4.1 fix for LINKS, which were worse: a selected link and a
959
+ * highlighted link differed from a default one by stroke COLOUR and nothing
960
+ * else — no dash, no width, no shape. On a greyscale display all three edges
961
+ * are identical.
962
+ *
963
+ * The cue is a "casing" — a wider, semi-transparent halo drawn UNDER the real
964
+ * path. It reads as a shape change (the edge visibly thickens) at any colour
965
+ * perception, and because it is an additive sibling it does not perturb the
966
+ * path geometry that the routing/label/toolbar code all depend on.
967
+ */
968
+ private renderLinkStateAffordances;
969
+ private renderNode;
970
+ /**
971
+ * Every VNode-cache key an entity currently occupies — one per LOD tier it
972
+ * has been rendered at since its last change.
973
+ *
974
+ * A SINGLE dirty flag guards a PER-LOD cache: rebuilding one tier's entry
975
+ * and calling markClean() left every OTHER tier's cached entry stale, so a
976
+ * layout that moved geometry resurfaced its PRE-layout picture on the next
977
+ * zoom/fitView LOD flip (live report: "click force then dagre — the diagram
978
+ * is destroyed"; the painted edges were the previous layout's routes).
979
+ * Evicting the entity's whole key set on the dirty rebuild is what makes
980
+ * markClean() safe again — and it tracks keys rather than hard-coding the
981
+ * tier vocabulary, so custom governor tiers stay covered.
982
+ */
983
+ private entityCacheKeys;
984
+ private cacheEntityVNode;
985
+ /**
986
+ * Check if a node should use foreignObject rendering
987
+ * Nodes can indicate they want foreignObject by setting metadata.useForeignObject = true
988
+ */
989
+ private shouldUseForeignObject;
990
+ /**
991
+ * Render a node using foreignObject for component embedding
992
+ */
993
+ private renderNodeWithForeignObject;
994
+ /**
995
+ * Get container ID for a node (if it uses foreignObject)
996
+ */
997
+ getContainerId(nodeId: string): string | undefined;
998
+ /**
999
+ * Check if a node uses foreignObject rendering
1000
+ */
1001
+ isUsingForeignObject(nodeId: string): boolean;
1002
+ /**
1003
+ * Phase 2: Render ports for a node
1004
+ *
1005
+ * Wave 6 (Card 1): also resolves LABEL COLLISIONS, which is why the labels
1006
+ * cannot be built inside `renderPort` — nudging a crowded label needs to see
1007
+ * its neighbours, and a single port can't.
1008
+ */
1009
+ private renderPorts;
1010
+ /**
1011
+ * Wave 6 (Card 1): the port labels for one node, with collision-aware nudging.
1012
+ *
1013
+ * Labels are resolved per SIDE, because that is the axis they actually crowd
1014
+ * on: a column of inputs down the left edge whose labels overlap vertically.
1015
+ * Ports with no label cost nothing — a node with no labelled ports returns an
1016
+ * empty array and emits not a single extra VNode.
1017
+ */
1018
+ private renderPortLabels;
1019
+ /**
1020
+ * Phase 3: Render single port
1021
+ * Updated to support template system port rendering configuration
1022
+ * CRITICAL FIX: Added pointer-events and proper z-index to ensure ports are clickable
1023
+ */
1024
+ private renderPort;
1025
+ /**
1026
+ * Wave 6 (Card 6): this port's role in the CURRENT connection drag.
1027
+ *
1028
+ * Reads the drag state's `invalidTargetPorts` — the map the connection manager
1029
+ * now populates with a REASON per rejected port. Before wave 6 there was no
1030
+ * such map, `validTargetPorts` was never filled either, and the renderer had
1031
+ * literally no way to tell a legal target from an illegal one.
1032
+ */
1033
+ private portDragState;
1034
+ /**
1035
+ * Get port position relative to node's local coordinate system
1036
+ * Used for rendering ports inside node groups that are already transformed
1037
+ */
1038
+ private getPortRelativePosition;
1039
+ /**
1040
+ * Phase 3: Determine if port should be rendered based on visibility strategy
1041
+ * Updated to support template system configuration
1042
+ * CRITICAL FIX: Added comprehensive debugging and proper string comparison
1043
+ */
1044
+ private shouldRenderPort;
1045
+ private shouldRenderPortByMode;
1046
+ /**
1047
+ * Phase 2: Get port color based on type
1048
+ *
1049
+ * Wave 6 (Card 7): a port that declares a `dataType` wears THAT type's colour,
1050
+ * if one was registered. Colour-by-type is the affordance that makes a typed
1051
+ * graph readable at a glance — you can see that a `number` output will not
1052
+ * mate with a `string` input before you even start the drag. Falls straight
1053
+ * back to the direction colours, so an untyped port is unchanged.
1054
+ */
1055
+ private getPortColor;
1056
+ /**
1057
+ * Phase 3.1: Render node shape based on shape configuration
1058
+ * Supports: rect, circle, ellipse, diamond, hexagon
1059
+ */
1060
+ /**
1061
+ * Node label engine: render the node's label as a shape-fitted text block.
1062
+ *
1063
+ * - maxWidth = the shape's inner-rect width (getInnerRect); the diamond /
1064
+ * ellipse / triangle … inset it so text stays inside the silhouette.
1065
+ * - maxLines = floor(innerHeight / lineHeight); overflow collapses to '…'.
1066
+ * - a per-node <clipPath> sized to the exact inner rect is the hard backstop
1067
+ * that guarantees glyphs never escape the shape even if the width estimate
1068
+ * is off (it uses the naive length*fontSize*0.6 heuristic — see text-block).
1069
+ *
1070
+ * Returns [clipPath, text]; both are children of the node's translated <g>,
1071
+ * so the clip rect and the text share the node-local coordinate space.
1072
+ */
1073
+ private renderNodeLabel;
1074
+ /** Gap between a silhouette's bottom edge and its below-label (px). */
1075
+ private static readonly BELOW_LABEL_GAP;
1076
+ /**
1077
+ * Paint a node's caption BELOW its silhouette (`metadata.labelPlacement:
1078
+ * 'below'`). The label is centred under the node, wraps at a width a little
1079
+ * wider than the shape (a 36px event circle should not force one-character
1080
+ * lines), is NEVER clipped and NEVER shrunk below the theme size — outside
1081
+ * the silhouette there is room, so legibility wins. The text block's top edge
1082
+ * sits {@link BELOW_LABEL_GAP} px under the node's height, so it can never
1083
+ * straddle the silhouette edge.
1084
+ */
1085
+ private renderNodeLabelBelow;
1086
+ private renderNodeShape;
1087
+ /**
1088
+ * Phase 3.1: Render selection highlight matching node shape
1089
+ */
1090
+ private renderSelectionHighlight;
1091
+ /**
1092
+ * resize-ux: the PAINTED resize affordances — React Flow NodeResizer parity.
1093
+ *
1094
+ * When exactly one resizable, unlocked node is selected (the same conditions
1095
+ * under which SelectionToolsController emits resize handles — this method
1096
+ * paints whatever that controller computes, nothing of its own), draw:
1097
+ *
1098
+ * - 4 EDGE LINES along the node's border (the side handles' bands: grab the
1099
+ * border anywhere and that edge follows), each with its axis cursor;
1100
+ * - 4 CORNER DOTS (white squares, primary border) with their diagonal
1101
+ * cursors, drawn AFTER the lines so a dot wins its own pixels — the same
1102
+ * priority the hit ladder gives it.
1103
+ *
1104
+ * All sizes are divided by zoom, so the affordances hold a constant SCREEN
1105
+ * size at any zoom (RF's autoScale). That is also why this layer is rebuilt
1106
+ * every frame and never enters the vnode cache: a cached node group would
1107
+ * keep the sizing of whatever zoom it was built at.
1108
+ *
1109
+ * Painted as a ROOT overlay (not inside the node group) so it renders above
1110
+ * the node's ports, and rotation comes from the layer's own geometry —
1111
+ * `computeLayer` rotates every handle with the node.
1112
+ */
1113
+ private renderResizeToolsLayer;
1114
+ /**
1115
+ * Phase 3.1: Render shadow matching node shape
1116
+ */
1117
+ private renderShadow;
1118
+ /**
1119
+ * Get link endpoints (source and target port positions in world coordinates)
1120
+ * CRITICAL FIX: Use the same getPortPositionForShape() as port rendering to ensure alignment
1121
+ */
1122
+ private getLinkEndpoints;
1123
+ /**
1124
+ * Wave 6 (ports, Card 5): resolve where `link` attaches to `port`, and which way
1125
+ * it travels there.
1126
+ *
1127
+ * Two effects compose:
1128
+ * * the port's `fromSpot`/`toSpot` moves the attachment onto a named point of
1129
+ * the GLYPH (its corner, its far edge) and can aim the link somewhere other
1130
+ * than the port's outward normal;
1131
+ * * `spread` fans the links SHARING this port along the port's edge, so five
1132
+ * links into one input arrive as five strokes instead of one overdrawn pile.
1133
+ *
1134
+ * With neither configured this returns the port's plain anchor point and its
1135
+ * side — the exact pre-wave-6 endpoint, to the bit. A port with a single link
1136
+ * never moves even WITH spread enabled (a one-lane spread has offset 0).
1137
+ */
1138
+ private portAttachment;
1139
+ /**
1140
+ * The lane offset of every link sharing `port`, memoised for the frame.
1141
+ *
1142
+ * Lanes are keyed on the OTHER endpoint's port id so the fan is stable: adding
1143
+ * an unrelated link, or reloading the diagram, must not reshuffle the strokes
1144
+ * a user is already looking at.
1145
+ */
1146
+ private portSpreadLanes;
1147
+ /**
1148
+ * Map LinkModel pathType to RoutingAlgorithm
1149
+ */
1150
+ private mapPathTypeToAlgorithm;
1151
+ /**
1152
+ * Wave 5 (Edge routing) — Card 0. The routing algorithm for a link: its
1153
+ * explicit `router` when set, else the legacy pathType derivation. This is
1154
+ * the seam that finally makes the registered obstacle routers REACHABLE —
1155
+ * mapPathTypeToAlgorithm could only ever produce straight/orthogonal, so
1156
+ * a-star/dijkstra/visibility-graph were registered but unaddressable.
1157
+ */
1158
+ private routerForLink;
1159
+ /**
1160
+ * Wave 6: validate a router NAME against the live RoutingEngine registry.
1161
+ * Unknown names — and the async-only 'elk' — degrade to 'orthogonal' instead
1162
+ * of throwing out of the render loop. A diagram with one bad router name must
1163
+ * still draw; it must not blank the canvas.
1164
+ */
1165
+ private resolveRouterName;
1166
+ /**
1167
+ * Card 0: does this link's ROUTER produce orthogonal (axis-aligned) geometry?
1168
+ * The waypoint editor, arrow-angle maths and parallel-lane fan-out all branch
1169
+ * on "is this an elbow route" — which is a property of the router, not of the
1170
+ * pathType shorthand (an explicit manhattan/avoid router routes in elbows even
1171
+ * when the legacy pathType says 'smooth').
1172
+ */
1173
+ private isOrthogonalRouting;
1174
+ /**
1175
+ * Wave 6 — Card 2. If this link names a REGISTERED connector, let it draw the
1176
+ * whole path; otherwise return null and the built-in branches run untouched.
1177
+ *
1178
+ * ONE implementation, called from BOTH places a link's `d` is produced (the
1179
+ * auto-routed branch via `convertRoutedPathToSVG`, and the manual-waypoint
1180
+ * branch via `generatePathData`) — so a custom connector cannot work on one
1181
+ * kind of link and silently not the other.
1182
+ *
1183
+ * The four BUILT-IN connector names never reach the registry: they are the
1184
+ * renderer's own branches and stay exactly as they were.
1185
+ */
1186
+ private customConnectorPath;
1187
+ /**
1188
+ * Card 0: the CONNECTOR expressed in the renderer's legacy vocabulary, so the
1189
+ * existing rendering branches (which all read a pathType-shaped string) apply
1190
+ * unchanged: 'rounded' rides the orthogonal branch (that IS the rounded-corner
1191
+ * code path), 'straight' rides direct. A link with no explicit connector
1192
+ * renders byte-identically to before.
1193
+ */
1194
+ private renderPathType;
1195
+ /**
1196
+ * wave8/culling — Card 4. The path type to EMIT at this tier.
1197
+ *
1198
+ * Below the `link-detail` tier a curve is drawn as its polyline. A cubic needs
1199
+ * control points computed per segment and emits a `C` command per bend; at a
1200
+ * zoom where the whole edge is a few dozen pixels the curve and its chord are
1201
+ * the same handful of pixels, so the arithmetic buys nothing.
1202
+ *
1203
+ * Orthogonal stays orthogonal — its right angles are its MEANING (a flowchart
1204
+ * that goes diagonal at low zoom has changed what it says, not how finely it
1205
+ * says it), and the orthogonal emitter is a cheap `L` walk anyway.
1206
+ */
1207
+ private pathTypeForLOD;
1208
+ /**
1209
+ * wave8/culling — Card 4. The polyline to DRAW at this tier.
1210
+ *
1211
+ * Below the `link-detail` tier the path is run through the engine's
1212
+ * `PathSimplifier` (Douglas–Peucker) with a tolerance of one SCREEN pixel —
1213
+ * `1 / zoom` world units, so the tolerance tightens as you zoom in and the
1214
+ * simplification silently retires itself. A bend the user cannot resolve is a
1215
+ * `L` command, a VNode diff and a DOM attribute for nothing.
1216
+ *
1217
+ * The DRAWN path only. `link.points` keeps the true geometry (see the call
1218
+ * site) — hit-testing, link bounds and the spatial index must not be told a
1219
+ * simplification is the truth.
1220
+ *
1221
+ * A route that is already 2 points (which is what `computeCoarseRoute` emits,
1222
+ * so: the common far-zoom case) short-circuits without allocating.
1223
+ */
1224
+ private pathForLOD;
1225
+ /**
1226
+ * Calculate distance between two points
1227
+ */
1228
+ private distance;
1229
+ /**
1230
+ * Generate SVG path segment with rounded bend
1231
+ * Based on React Flow's getBend function from smoothstep-edge.ts
1232
+ */
1233
+ private getBend;
1234
+ /**
1235
+ * Convert orthogonal path to SVG with rounded corners
1236
+ * Implements React Flow's smoothstep edge rendering
1237
+ */
1238
+ private convertOrthogonalPathWithBends;
1239
+ /** Built-in bend radius per path type (React Flow's smoothstep default = 5). */
1240
+ private defaultCornerRadius;
1241
+ /**
1242
+ * The bend radius a link asks for. Unset (or non-finite/negative) → the
1243
+ * built-in default for its path type, so untouched links render byte-identical
1244
+ * to before this knob existed. `getBend` clamps every corner to half the
1245
+ * shorter adjacent segment, so any radius is geometrically safe.
1246
+ */
1247
+ private resolveCornerRadius;
1248
+ /**
1249
+ * Smooth/bezier control-point offset, honouring `style.curvature` (a
1250
+ * multiplier of the endpoint distance; default 0.5 = the legacy factor).
1251
+ * The historical 100px cap scales with the multiplier so curvature 0.5 is
1252
+ * exactly the old `Math.min(distance / 2, 100)`.
1253
+ */
1254
+ private controlDistanceFor;
1255
+ /** The 2-point smooth/bezier control arms — one implementation for the drawn
1256
+ * path AND the hit polyline. */
1257
+ private smoothControlPoints;
1258
+ /**
1259
+ * The polyline the INTERACTION layer should measure — the PAINTED geometry,
1260
+ * flattened.
1261
+ *
1262
+ * `link.points` used to hold the ROUTE (for a 2-point smooth link: the bare
1263
+ * chord) while the drawn path is a direction-aware cubic that bows up to
1264
+ * ~25 world units away from it. Every consumer of `link.points` — the body
1265
+ * hit test, hover, label anchors, waypoint-insertion t, the edge toolbar's
1266
+ * midpoint — was measuring a line the user cannot see: on dagre-tree's
1267
+ * fan-out edges only ~12-20% of the painted length accepted a click, with
1268
+ * a dead band at the apex wider than the stroke itself (live report:
1269
+ * "not always so easy to select the line on all its points"; investigator-
1270
+ * quantified). Flattening at 16 steps per cubic mirrors the Canvas
1271
+ * backend's own pick flattening (path-geometry.flattenPath), which already
1272
+ * measured the painted commands — the two backends now agree by
1273
+ * construction.
1274
+ */
1275
+ /**
1276
+ * Sync `link.points` from a ROUTE via the painted geometry, not the raw
1277
+ * polyline. Every sync site must go through here: the routing pre-pass
1278
+ * re-syncs every routed link EVERY frame, so a flatten done only in
1279
+ * renderLink is overwritten right back to the chord on the next frame —
1280
+ * which is exactly the bug this exists to prevent (smooth 2-point links
1281
+ * bow ~25px off their chord; hit-testing, hover, labels, toolbars and
1282
+ * bounds all measure link.points).
1283
+ */
1284
+ private syncPaintedLinkPoints;
1285
+ private paintedHitPolyline;
1286
+ /**
1287
+ * Convert RoutedPath to SVG path string
1288
+ *
1289
+ * Wave 3: `style` carries the link's per-link path-shape knobs (cornerRadius,
1290
+ * curvature). Omitted by the connection/reconnection previews, which have no
1291
+ * link style yet — they keep the built-in defaults.
1292
+ */
1293
+ private convertRoutedPathToSVG;
1294
+ /**
1295
+ * Render single link (Option 2: Enhanced with arrows and labels)
1296
+ */
1297
+ private renderLink;
1298
+ /**
1299
+ * Wave 4 (Edges & links) — Card 5: run this link's registered template, if it
1300
+ * named one. Returns null when the link has no template, when the name is not
1301
+ * registered, or when the template opted out by returning null — in every one
1302
+ * of those cases the link falls back to the built-in rendering rather than
1303
+ * vanishing.
1304
+ */
1305
+ private renderLinkTemplate;
1306
+ /**
1307
+ * Assemble the per-frame `<defs>` VNode from the registered paint servers.
1308
+ * Empty (`<defs/>`) when nothing needed a paint server this frame.
1309
+ */
1310
+ private buildDefsNode;
1311
+ /**
1312
+ * Resolve a fill/stroke value to something an SVG `fill`/`stroke` accepts.
1313
+ * A colour string passes through unchanged; a gradient/pattern SPEC OBJECT is
1314
+ * registered as a deduped `<defs>` entry and returned as `url(#grafloria-def-…)`.
1315
+ */
1316
+ private resolvePaint;
1317
+ private resolveFill;
1318
+ private resolveStroke;
1319
+ /**
1320
+ * Resolve a `style.shadow` value to a `filter` attribute. The legacy boolean
1321
+ * is ignored here (its always-on drop-shadow VNode is unchanged); a Shadow
1322
+ * SPEC OBJECT registers a deduped `<filter>` and returns `url(#grafloria-def-…)`.
1323
+ */
1324
+ private resolveShadowFilter;
1325
+ /**
1326
+ * A node/link whose RESOLVED style references a paint server must NOT be
1327
+ * served from (or written to) the vnode cache: the cached VNode carries the
1328
+ * url(#…) reference, but the matching `<defs>` entry is only registered while
1329
+ * the style is (re)computed — a cache hit would skip that and orphan the ref.
1330
+ *
1331
+ * RESOLVED, not raw: a gradient/pattern/shadow can now also arrive from a
1332
+ * named style or a theme type-default, not just from the entity's own style.
1333
+ */
1334
+ private nodeUsesPaintServer;
1335
+ private linkUsesPaintServer;
1336
+ /**
1337
+ * wave8/culling — Card 4. Whether THIS frame emits paint servers at all.
1338
+ *
1339
+ * THE INVARIANT: when this is false, NOTHING registers a `<defs>` entry —
1340
+ * `resolvePaint` returns a flat colour and `resolveShadowFilter` returns
1341
+ * undefined. They are the only two producers. So no VNode built this frame can
1342
+ * hold a `url(#…)`, and the cache-bypass that exists purely to keep such a ref
1343
+ * from being orphaned has nothing left to protect — which is precisely what
1344
+ * lets a gradient-heavy scene use the VNode cache at far zoom instead of
1345
+ * rebuilding every gradient node from scratch on every frame.
1346
+ *
1347
+ * Both producers must stay gated on THIS predicate. Gate one and not the other
1348
+ * and you get the original bug back: a cached VNode pointing at a def that was
1349
+ * never emitted.
1350
+ */
1351
+ private paintServersActive;
1352
+ /**
1353
+ * The cascade's answer for a node, with every `themeRef` turned into something
1354
+ * paintable and the entity's theme-boundness recorded.
1355
+ *
1356
+ * A node is theme-BOUND (i.e. a theme swap must restyle it) when it froze a
1357
+ * theme literal into its VNode. Three sources, all detected here rather than
1358
+ * assumed:
1359
+ * - `theme.nodes[type]` supplied a type-default,
1360
+ * - the STATE layer painted it (selected/highlighted/hovered/disabled/error),
1361
+ * - a `themeRef` had to be baked to a literal (see materializeThemeRefs).
1362
+ */
1363
+ private resolvedNodeStyle;
1364
+ private resolvedLinkStyle;
1365
+ /**
1366
+ * Compute node styles for CSS mode
1367
+ */
1368
+ private computeNodeStylesCSS;
1369
+ /**
1370
+ * Compute node styles for programmatic mode
1371
+ */
1372
+ private computeNodeStylesProgrammatic;
1373
+ /**
1374
+ * Compute link styles for CSS mode
1375
+ */
1376
+ private computeLinkStylesCSS;
1377
+ /**
1378
+ * Compute link styles for programmatic mode
1379
+ */
1380
+ private computeLinkStylesProgrammatic;
1381
+ /**
1382
+ * Generate SVG path data from points and segments
1383
+ * Supports both straight lines and bezier curves
1384
+ *
1385
+ * Wave 3: takes the link's `style` so a MANUAL-WAYPOINT path honours the same
1386
+ * per-link cornerRadius as an auto-routed one (the two path-emitting branches
1387
+ * of renderLink must not disagree about a link's corners).
1388
+ */
1389
+ private generatePathData;
1390
+ /**
1391
+ * Grow the viewport before asking the engine which links intersect it.
1392
+ *
1393
+ * The link SpatialIndex is indexed on the link's straight-line endpoints plus
1394
+ * whatever route was last written back to `link.points`. A link that has never
1395
+ * been drawn (or that was re-routed around a new obstacle this very frame) can
1396
+ * bulge OUTSIDE that box: the detour lives in this renderer's per-frame
1397
+ * `frameRoutes` map and only lands in `link.points` once the link renders.
1398
+ *
1399
+ * Padding the query region by a margin makes the query a superset, so a link
1400
+ * whose detour swings into view is never culled a frame too early. Culling a
1401
+ * little too little costs a handful of VNodes; culling too much makes edges
1402
+ * blink out of existence.
1403
+ */
1404
+ private expandForLinkCulling;
1405
+ /**
1406
+ * Create empty diagram VNode
1407
+ */
1408
+ private createEmptyDiagram;
1409
+ /**
1410
+ * Inject this renderer's CSS.
1411
+ *
1412
+ * TWO stylesheets, deliberately:
1413
+ * 1. the SHARED rules (`generateBaseStyleSheet()` + the animation CSS) —
1414
+ * theme-INDEPENDENT, written in `var(--grafloria-*)`, injected once per
1415
+ * document and deduped by `GRAFLORIA_BASE_STYLE_ID`;
1416
+ * 2. this instance's VARIABLE BLOCK — `[data-grafloria-instance="grafloria-3"] { … }`
1417
+ * in a `<style>` element whose id carries the instance id.
1418
+ *
1419
+ * That split is the fix: the old scheme keyed the element by THEME NAME and
1420
+ * re-emitted every rule with hex literals, so a second diagram with a second
1421
+ * theme repainted the first one, and disposing either renderer could remove
1422
+ * the other's stylesheet.
1423
+ */
1424
+ private injectThemeCSS;
1425
+ /**
1426
+ * This instance's OVERRIDE block: the host's design tokens, then the
1427
+ * accessibility media queries. Always present in CSS mode — even with no
1428
+ * bridge, because `prefers-contrast` and `forced-colors` are the FLOOR every
1429
+ * diagram gets, not an opt-in.
1430
+ */
1431
+ private injectOverrideCSS;
1432
+ /**
1433
+ * Inject the shared, theme-independent rules once per document. Every
1434
+ * renderer feeds the same rules from its own variable block.
1435
+ */
1436
+ private ensureBaseStyleSheet;
1437
+ /** Drop the shared rules once the LAST instance's variable block is gone. */
1438
+ private releaseBaseStyleSheet;
1439
+ /**
1440
+ * This renderer's theme CSS: the VARIABLE BLOCK, and nothing else.
1441
+ *
1442
+ * The rules that consume these variables are theme-independent and live in
1443
+ * the shared stylesheet (theme-css.ts). This block is the ONLY place a
1444
+ * theme's values are written, and it is scoped to this diagram's root — which
1445
+ * is what lets two diagrams with different themes coexist on one page.
1446
+ */
1447
+ private generateThemeCSS;
1448
+ /**
1449
+ * The animation service — global animation enable/speed, reduced-motion and
1450
+ * battery-saver policy. Public because these are HOST decisions: the service
1451
+ * existed with a full config surface and no accessor, so nothing outside
1452
+ * this class could e.g. opt out of the battery auto-toggle
1453
+ * (`respectBatteryStatus: false`) — a laptop under 20% silently killed every
1454
+ * edge animation with no way back.
1455
+ */
1456
+ getAnimationService(): AnimationService;
1457
+ /**
1458
+ * Generate animation CSS
1459
+ * Phase 1: Includes edge animations, node border animations, and status animations
1460
+ */
1461
+ private generateAnimationCSS;
1462
+ /**
1463
+ * Subscribe to engine events
1464
+ */
1465
+ private subscribeToEngineEvents;
1466
+ /**
1467
+ * Start FPS tracking
1468
+ */
1469
+ private startFPSTracking;
1470
+ /**
1471
+ * Estimate memory usage
1472
+ */
1473
+ private estimateMemoryUsage;
1474
+ /**
1475
+ * Calculate intersection point between a line segment and a rectangle
1476
+ * Used to position arrows at node boundaries instead of port centers
1477
+ */
1478
+ private calculateLineRectIntersection;
1479
+ /**
1480
+ * Calculate the tangent angle at the end of a bezier curve
1481
+ * For a cubic bezier curve, the tangent at t=1 (endpoint) is determined by
1482
+ * the direction from the second control point (cp2) to the endpoint
1483
+ *
1484
+ * @param cp2 Second control point of the bezier curve
1485
+ * @param endpoint End point of the bezier curve
1486
+ * @returns Angle in degrees
1487
+ */
1488
+ private calculateBezierEndTangent;
1489
+ /**
1490
+ * Get perpendicular angle from port side
1491
+ * Used for orthogonal routing to ensure arrows are perpendicular to node edges
1492
+ *
1493
+ * @param portSide Port side ('left' | 'right' | 'top' | 'bottom')
1494
+ * @returns Angle in degrees pointing away from the node
1495
+ */
1496
+ private getPerpendicularAngleFromPortSide;
1497
+ /**
1498
+ * Calculate arrow direction based on routing algorithm and path geometry
1499
+ * Implements research-based best practices for each algorithm type
1500
+ *
1501
+ * @param algorithm Routing algorithm used
1502
+ * @param pathType Path type (bezier, smooth, straight, etc.)
1503
+ * @param points Path points
1504
+ * @param portSide Port side for orthogonal routing (optional)
1505
+ * @returns Angle in degrees
1506
+ */
1507
+ private calculateArrowDirection;
1508
+ /**
1509
+ * Calculate arrow position and angle for a link endpoint
1510
+ * Handles both source and target ends with algorithm-aware direction calculation
1511
+ *
1512
+ * @param link Link model
1513
+ * @param points Path points
1514
+ * @param isTarget True for target end, false for source end
1515
+ * @param arrowLength Length of arrow in pixels
1516
+ * @returns Object with position and angle
1517
+ */
1518
+ private calculateArrowPositionAndAngle;
1519
+ /**
1520
+ * HIGH-PERFORMANCE: Create simple orthogonal segment between two points
1521
+ * Uses 3-point path: start -> corner -> end
1522
+ * Much faster than calling routing engine
1523
+ */
1524
+ private createOrthogonalSegment;
1525
+ /**
1526
+ * Wave 3 (Edges & links) — "jumps win over an oversized corner radius".
1527
+ *
1528
+ * buildPathWithJumps derives each segment's legal cut window from the corner
1529
+ * bends: `lo = bendPrev + 1`, `hi = segLen - bendNext - 1`. A big per-link
1530
+ * cornerRadius eats that window from both ends, so a jump-carrying segment
1531
+ * could silently lose its jump (`hi - lo < 3`).
1532
+ *
1533
+ * So: on segments that actually host a crossing, cap the radius at the value
1534
+ * that still leaves a full `size`-wide window —
1535
+ * bendPrev + bendNext <= 2R ⇒ R <= (segLen - 2 - reserves - size) / 2
1536
+ * — and NEVER tighten below the built-in default. Consequences:
1537
+ * • a link at (or below) the default radius is bit-for-bit unchanged;
1538
+ * • a large radius degrades toward the default only as far as the jumps
1539
+ * need, instead of dropping arcs;
1540
+ * • a segment too short for any jump at the DEFAULT radius keeps today's
1541
+ * behaviour (the `hi - lo < 3` guard drops that one cut).
1542
+ */
1543
+ private cornerRadiusForJumps;
1544
+ /**
1545
+ * Build the link path from its polyline with jump geometry inserted.
1546
+ *
1547
+ * Works on the SAME point array the detector indexed (never re-parses the
1548
+ * rendered path string, whose rounded corners would shift segment indices).
1549
+ * Cuts ±size/2 around each crossing so the rendered jump is exactly `size`
1550
+ * wide, merges overlapping cuts, keeps cuts clear of corner bends, and uses
1551
+ * a constant sweep so every arc on a link bulges to the same side of travel.
1552
+ */
1553
+ private buildPathWithJumps;
1554
+ /**
1555
+ * Manual waypoints are an explicit editor action (flagged via metadata by the
1556
+ * interaction layer), never inferred from point count — auto-routed
1557
+ * orthogonal paths also have >2 points.
1558
+ */
1559
+ private linkHasManualWaypoints;
1560
+ /**
1561
+ * Keep link.points in sync with the rendered route on every frame so hit
1562
+ * testing and jump-point detection see current geometry. Direct assignment
1563
+ * (no setPoints) to avoid emitting link:changed and re-render loops.
1564
+ *
1565
+ * That silence is also why we re-index the link by hand: the diagram's link
1566
+ * SpatialIndex — which now drives viewport culling — only hears about geometry
1567
+ * through events, so without this its grid cells would still describe the route
1568
+ * the link had when it was added, and a detoured link could be culled.
1569
+ */
1570
+ private syncLinkPoints;
1571
+ /**
1572
+ * Compute the auto route for a link.
1573
+ *
1574
+ * pathType determines the base routing algorithm ('orthogonal' → orthogonal
1575
+ * router; direct/smooth/bezier → straight router). If a straight route would
1576
+ * cross the link's own nodes (inverted geometry) or any obstacle, it falls
1577
+ * back to the orthogonal router, which respects port directions and A*
1578
+ * obstacle avoidance — links must never run through node bodies.
1579
+ */
1580
+ /**
1581
+ * Wave 5 — Card 6: the group facts a route needs. Pure derivation from the
1582
+ * diagram's group state; feature-tolerant (a diagram with no groups pays one
1583
+ * empty array read).
1584
+ */
1585
+ private collectGroupRouting;
1586
+ /**
1587
+ * Wave 8 — Card 6: the frame's obstacle arrays, built ONCE.
1588
+ *
1589
+ * `computeAutoRoute` used to rebuild these per link: `getNodes()`, a filter, a
1590
+ * map — O(nodes) allocations for every link it routed, every frame. On the 10k
1591
+ * benchmark that is 10,000 objects × ~700 visible links = 7 million throwaway
1592
+ * rects per frame, before any routing happened at all.
1593
+ *
1594
+ * Two arrays, because the router needs two different sets:
1595
+ * `routing` — what a link routes AGAINST (minus collapsed-away members);
1596
+ * `all` — every node, used by the own-node penetration fallback.
1597
+ *
1598
+ * The ARRAY IDENTITY matters as much as the contents: `RoutingEngine` memoises
1599
+ * its merged obstacle set and spatial index on it, so handing every link the
1600
+ * same array is what collapses N index builds into one.
1601
+ *
1602
+ * NOTE ON THE SOURCE/TARGET EXCLUSION — read before "fixing" this. The old
1603
+ * per-link build filtered the link's own two nodes out of the obstacle array.
1604
+ * That filter never did anything: `RoutingEngine.route()` unions the request's
1605
+ * obstacles with its GLOBAL obstacle map, and `DiagramEngine` registers every
1606
+ * node in that map, so both endpoint nodes came straight back in. Dropping the
1607
+ * filter is therefore behaviour-preserving (the union is identical), which is
1608
+ * why the 225-assertion line harness does not move.
1609
+ *
1610
+ * It is also a LATENT BUG, and a big one: because a link's own endpoints are
1611
+ * obstacles, the straight port-to-port path "collides" for essentially every
1612
+ * link, so essentially every link falls through to A* obstacle avoidance —
1613
+ * measured at 72/72 links on the benchmark scene. Making the exclusion real
1614
+ * would move routes across the whole product and is a routing-semantics
1615
+ * decision, not a performance one. Left as found, and now documented.
1616
+ */
1617
+ private frameObstacles;
1618
+ /**
1619
+ * The obstacle array this link routes against — the frame's shared array in
1620
+ * the overwhelming majority of cases.
1621
+ *
1622
+ * The one link that cannot use it is a PROXY LINK whose endpoint IS a collapsed
1623
+ * group: that link must not treat its own group block as a wall. Rare enough
1624
+ * to pay for a private array, and the group-block exclusion (unlike the node
1625
+ * one above) is worth preserving because a block is not necessarily in the
1626
+ * engine's global map.
1627
+ */
1628
+ private obstaclesForLink;
1629
+ /**
1630
+ * Card 4. The route for this link AT THIS TIER: the real one when the tier
1631
+ * renders `routing`, a direct polyline when it does not.
1632
+ *
1633
+ * The single door both the pre-pass and `renderLink`'s fallback go through, so
1634
+ * the two can never disagree about which geometry a frame is drawing. Note that
1635
+ * the pre-pass memoises AROUND this call and keys on `routingAllowed` — see
1636
+ * `routeKey`: the two routers are indistinguishable by their inputs alone.
1637
+ */
1638
+ private routeForLOD;
1639
+ /**
1640
+ * The far-zoom route: a straight line from port to port. O(1).
1641
+ *
1642
+ * `computeAutoRoute` builds an obstacle rectangle for EVERY node in the diagram
1643
+ * for EVERY link, then searches against them — O(nodes) per edge, O(nodes x
1644
+ * edges) per frame. Measured on the Wave-8 benchmark that is 96% of a 1k frame
1645
+ * and 99% of a 5k one, and it is the whole of the 63-second 10k zoom-out.
1646
+ *
1647
+ * What it buys is a route that dodges node bodies. At the tiers this runs at,
1648
+ * a node body is a smudge and the dodge is sub-pixel — so we do not buy it.
1649
+ *
1650
+ * SELF-LOOPS still loop. `computeSelfLoopRoute` never touches the routing
1651
+ * engine (it is pure geometry, O(1) in the obstacle count), and a self-loop
1652
+ * flattened to a straight line degenerates into a stub inside its own node —
1653
+ * i.e. it would visually DISAPPEAR, which is a correctness loss, not a
1654
+ * fidelity one. Cheap work that keeps an edge visible is work worth doing.
1655
+ */
1656
+ private computeCoarseRoute;
1657
+ private computeAutoRoute;
1658
+ /**
1659
+ * Shortest way OUT of whatever node bodies cover the point (used when a
1660
+ * port is buried inside the peer node because the two bodies overlap).
1661
+ * Marches the four axis rays and returns the nearest point that is outside
1662
+ * every covering body, with a small clearance.
1663
+ */
1664
+ private shortestEscape;
1665
+ private frameSmartSides;
1666
+ /**
1667
+ * Point on the node's VISIBLE outline for a floating smart attachment:
1668
+ * the given side at the given cross-axis coordinate (world). Rects use the
1669
+ * bounding-box edge; ellipse/circle project analytically and hexagon/diamond
1670
+ * intersect the outline polygon, so the line never hovers off the drawn shape.
1671
+ */
1672
+ private shapeEdgePoint;
1673
+ /**
1674
+ * The VISIBLE port on the given side closest to the ideal attachment point,
1675
+ * or null when the node shows no ports there (visibility resolves through
1676
+ * port config → node metadata → the global interaction strategy; only
1677
+ * 'always' counts — hover-revealed ports must not flip attachment mid-drag).
1678
+ */
1679
+ private nearestVisiblePort;
1680
+ /**
1681
+ * The nearest port on a side regardless of visibility — the 'port-facing'
1682
+ * strategy's anchor source. Visibility must not steer ATTACHMENT: ports are
1683
+ * the node's connection anatomy whether or not their glyphs are drawn, and an
1684
+ * endpoint that jumps when a hover reveals them is worse than either state.
1685
+ */
1686
+ private nearestPortOnSide;
1687
+ /**
1688
+ * The link's own endpoint nodes (resolved via cached ids or port search).
1689
+ */
1690
+ private linkOwnNodes;
1691
+ /**
1692
+ * Smooth cubic spline (Catmull-Rom) through every route point — used so a
1693
+ * smooth/bezier link keeps its curved identity on multi-point detours
1694
+ * instead of visually turning into an orthogonal link.
1695
+ */
1696
+ private catmullRomPath;
1697
+ /**
1698
+ * Sample the Catmull-Rom spline into a polyline (for penetration checks —
1699
+ * the spline can overshoot corners beyond the route's own points).
1700
+ */
1701
+ private sampleCatmullRom;
1702
+ /**
1703
+ * Total length of the polyline that lies inside the given node bodies
1704
+ * (rects inset by 1px so port-touch on the border doesn't count).
1705
+ */
1706
+ private penetrationLength;
1707
+ /**
1708
+ * Make an "orthogonal" route strictly orthogonal:
1709
+ * 1. absorb near-miss elbows into the exact endpoint axes (grid-snapped
1710
+ * elbows sit up to gridSize/2 off the port, producing slanted stubs),
1711
+ * 2. split any remaining diagonal segment with a corner point,
1712
+ * 3. merge collinear runs, which also removes out-and-back retraces.
1713
+ */
1714
+ private rectifyOrthogonalRoute;
1715
+ /**
1716
+ * True if any polyline segment passes through a node body. Node rects are
1717
+ * inset by 1px so a path legitimately touching the border at a port doesn't
1718
+ * count as a crossing.
1719
+ */
1720
+ /**
1721
+ * Motion-stable routing: split the frame's obstacle nodes into the ones at
1722
+ * rest and the ones mid-animation. Memoised on the node ARRAY's identity —
1723
+ * `frameObstacles` hands every link the same array within a frame, so the
1724
+ * partition is computed once per frame, not once per link.
1725
+ */
1726
+ private motionPartition;
1727
+ private routeCrossesNodes;
1728
+ /**
1729
+ * Segment/rect intersection via Liang-Barsky clipping.
1730
+ */
1731
+ private segmentIntersectsRect;
1732
+ /**
1733
+ * Liang-Barsky segment/rect clip — returns the parametric interval of the
1734
+ * segment that lies inside the rect, or null if it misses entirely.
1735
+ */
1736
+ private segmentRectClip;
1737
+ }