@cristianormazabal/triton-core 0.1.0 → 0.1.2

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 (627) hide show
  1. package/dist/contracts/anchors.js +20 -0
  2. package/dist/contracts/anchors.js.map +1 -0
  3. package/dist/contracts/animations.d.ts +5 -0
  4. package/dist/contracts/animations.d.ts.map +1 -0
  5. package/dist/contracts/animations.js +15 -0
  6. package/dist/contracts/animations.js.map +1 -0
  7. package/dist/contracts/crosslink.d.ts +21 -41
  8. package/dist/contracts/crosslink.d.ts.map +1 -1
  9. package/dist/contracts/crosslink.js +17 -0
  10. package/dist/contracts/crosslink.js.map +1 -0
  11. package/dist/contracts/diagram.js +24 -0
  12. package/dist/contracts/diagram.js.map +1 -0
  13. package/dist/contracts/index.d.ts +6 -3
  14. package/dist/contracts/index.d.ts.map +1 -1
  15. package/dist/contracts/index.js +21 -0
  16. package/dist/contracts/index.js.map +1 -0
  17. package/dist/contracts/overlay.js +22 -0
  18. package/dist/contracts/overlay.js.map +1 -0
  19. package/dist/contracts/primitives.js +13 -0
  20. package/dist/contracts/primitives.js.map +1 -0
  21. package/dist/contracts/renderer.js +15 -0
  22. package/dist/contracts/renderer.js.map +1 -0
  23. package/dist/contracts/result.js +26 -0
  24. package/dist/contracts/result.js.map +1 -0
  25. package/dist/contracts/routing.d.ts +4 -0
  26. package/dist/contracts/routing.d.ts.map +1 -1
  27. package/dist/contracts/routing.js +14 -0
  28. package/dist/contracts/routing.js.map +1 -0
  29. package/dist/contracts/scene.d.ts +5 -1
  30. package/dist/contracts/scene.d.ts.map +1 -1
  31. package/dist/contracts/scene.js +18 -0
  32. package/dist/contracts/scene.js.map +1 -0
  33. package/dist/contracts/theme.js +18 -0
  34. package/dist/contracts/theme.js.map +1 -0
  35. package/dist/crosslink/connectors.d.ts +66 -0
  36. package/dist/crosslink/connectors.d.ts.map +1 -0
  37. package/dist/crosslink/connectors.js +130 -0
  38. package/dist/crosslink/connectors.js.map +1 -0
  39. package/dist/crosslink/engine2.d.ts +2 -2
  40. package/dist/crosslink/engine2.d.ts.map +1 -1
  41. package/dist/crosslink/engine2.js +783 -0
  42. package/dist/crosslink/engine2.js.map +1 -0
  43. package/dist/crosslink/engine3.d.ts +2 -2
  44. package/dist/crosslink/engine3.d.ts.map +1 -1
  45. package/dist/crosslink/engine3.js +968 -0
  46. package/dist/crosslink/engine3.js.map +1 -0
  47. package/dist/crosslink/index.d.ts +2 -0
  48. package/dist/crosslink/index.d.ts.map +1 -1
  49. package/dist/crosslink/index.js +4 -0
  50. package/dist/crosslink/index.js.map +1 -0
  51. package/dist/crosslink/render.d.ts +2 -2
  52. package/dist/crosslink/render.d.ts.map +1 -1
  53. package/dist/crosslink/render.js +997 -0
  54. package/dist/crosslink/render.js.map +1 -0
  55. package/dist/crosslink/resolve.js +331 -0
  56. package/dist/crosslink/resolve.js.map +1 -0
  57. package/dist/diagrams/{c4 → mermaid/c4}/index.d.ts +1 -1
  58. package/dist/diagrams/mermaid/c4/index.d.ts.map +1 -0
  59. package/dist/diagrams/mermaid/c4/index.js +14 -0
  60. package/dist/diagrams/mermaid/c4/index.js.map +1 -0
  61. package/dist/diagrams/{c4 → mermaid/c4}/ir.d.ts +1 -1
  62. package/dist/diagrams/mermaid/c4/ir.d.ts.map +1 -0
  63. package/dist/diagrams/mermaid/c4/ir.js +2 -0
  64. package/dist/diagrams/mermaid/c4/ir.js.map +1 -0
  65. package/dist/diagrams/{c4 → mermaid/c4}/layout.d.ts +2 -2
  66. package/dist/diagrams/mermaid/c4/layout.d.ts.map +1 -0
  67. package/dist/diagrams/mermaid/c4/layout.js +110 -0
  68. package/dist/diagrams/mermaid/c4/layout.js.map +1 -0
  69. package/dist/diagrams/{class → mermaid/class}/index.d.ts +1 -1
  70. package/dist/diagrams/mermaid/class/index.d.ts.map +1 -0
  71. package/dist/diagrams/mermaid/class/index.js +14 -0
  72. package/dist/diagrams/mermaid/class/index.js.map +1 -0
  73. package/dist/diagrams/{class → mermaid/class}/ir.d.ts +1 -1
  74. package/dist/diagrams/mermaid/class/ir.d.ts.map +1 -0
  75. package/dist/diagrams/mermaid/class/ir.js +2 -0
  76. package/dist/diagrams/mermaid/class/ir.js.map +1 -0
  77. package/dist/diagrams/{class → mermaid/class}/layout.d.ts +2 -2
  78. package/dist/diagrams/mermaid/class/layout.d.ts.map +1 -0
  79. package/dist/diagrams/mermaid/class/layout.js +877 -0
  80. package/dist/diagrams/mermaid/class/layout.js.map +1 -0
  81. package/dist/diagrams/{er → mermaid/er}/index.d.ts +1 -1
  82. package/dist/diagrams/mermaid/er/index.d.ts.map +1 -0
  83. package/dist/diagrams/mermaid/er/index.js +14 -0
  84. package/dist/diagrams/mermaid/er/index.js.map +1 -0
  85. package/dist/diagrams/{er → mermaid/er}/ir.d.ts +1 -1
  86. package/dist/diagrams/mermaid/er/ir.d.ts.map +1 -0
  87. package/dist/diagrams/mermaid/er/ir.js +2 -0
  88. package/dist/diagrams/mermaid/er/ir.js.map +1 -0
  89. package/dist/diagrams/{er → mermaid/er}/layout.d.ts +2 -2
  90. package/dist/diagrams/mermaid/er/layout.d.ts.map +1 -0
  91. package/dist/diagrams/mermaid/er/layout.js +116 -0
  92. package/dist/diagrams/mermaid/er/layout.js.map +1 -0
  93. package/dist/diagrams/{flowchart → mermaid/flowchart}/index.d.ts +1 -1
  94. package/dist/diagrams/mermaid/flowchart/index.d.ts.map +1 -0
  95. package/dist/diagrams/mermaid/flowchart/index.js +24 -0
  96. package/dist/diagrams/mermaid/flowchart/index.js.map +1 -0
  97. package/dist/diagrams/{flowchart → mermaid/flowchart}/ir.d.ts +7 -1
  98. package/dist/diagrams/mermaid/flowchart/ir.d.ts.map +1 -0
  99. package/dist/diagrams/mermaid/flowchart/ir.js +2 -0
  100. package/dist/diagrams/mermaid/flowchart/ir.js.map +1 -0
  101. package/dist/diagrams/mermaid/flowchart/layout.d.ts +5 -0
  102. package/dist/diagrams/mermaid/flowchart/layout.d.ts.map +1 -0
  103. package/dist/diagrams/mermaid/flowchart/layout.js +652 -0
  104. package/dist/diagrams/mermaid/flowchart/layout.js.map +1 -0
  105. package/dist/diagrams/{gantt → mermaid/gantt}/index.d.ts +1 -1
  106. package/dist/diagrams/mermaid/gantt/index.d.ts.map +1 -0
  107. package/dist/diagrams/mermaid/gantt/index.js +89 -0
  108. package/dist/diagrams/mermaid/gantt/index.js.map +1 -0
  109. package/dist/diagrams/{gantt → mermaid/gantt}/ir.d.ts +1 -1
  110. package/dist/diagrams/mermaid/gantt/ir.d.ts.map +1 -0
  111. package/dist/diagrams/mermaid/gantt/ir.js +2 -0
  112. package/dist/diagrams/mermaid/gantt/ir.js.map +1 -0
  113. package/dist/diagrams/{gantt → mermaid/gantt}/layout.d.ts +2 -2
  114. package/dist/diagrams/mermaid/gantt/layout.d.ts.map +1 -0
  115. package/dist/diagrams/mermaid/gantt/layout.js +95 -0
  116. package/dist/diagrams/mermaid/gantt/layout.js.map +1 -0
  117. package/dist/diagrams/{gitgraph → mermaid/gitgraph}/index.d.ts +1 -1
  118. package/dist/diagrams/mermaid/gitgraph/index.d.ts.map +1 -0
  119. package/dist/diagrams/mermaid/gitgraph/index.js +58 -0
  120. package/dist/diagrams/mermaid/gitgraph/index.js.map +1 -0
  121. package/dist/diagrams/{gitgraph → mermaid/gitgraph}/ir.d.ts +1 -1
  122. package/dist/diagrams/mermaid/gitgraph/ir.d.ts.map +1 -0
  123. package/dist/diagrams/mermaid/gitgraph/ir.js +2 -0
  124. package/dist/diagrams/mermaid/gitgraph/ir.js.map +1 -0
  125. package/dist/diagrams/{gitgraph → mermaid/gitgraph}/layout.d.ts +2 -2
  126. package/dist/diagrams/mermaid/gitgraph/layout.d.ts.map +1 -0
  127. package/dist/diagrams/mermaid/gitgraph/layout.js +89 -0
  128. package/dist/diagrams/mermaid/gitgraph/layout.js.map +1 -0
  129. package/dist/diagrams/{journey → mermaid/journey}/index.d.ts +1 -1
  130. package/dist/diagrams/mermaid/journey/index.d.ts.map +1 -0
  131. package/dist/diagrams/mermaid/journey/index.js +14 -0
  132. package/dist/diagrams/mermaid/journey/index.js.map +1 -0
  133. package/dist/diagrams/{journey → mermaid/journey}/ir.d.ts +1 -1
  134. package/dist/diagrams/mermaid/journey/ir.d.ts.map +1 -0
  135. package/dist/diagrams/mermaid/journey/ir.js +2 -0
  136. package/dist/diagrams/mermaid/journey/ir.js.map +1 -0
  137. package/dist/diagrams/{journey → mermaid/journey}/layout.d.ts +2 -2
  138. package/dist/diagrams/mermaid/journey/layout.d.ts.map +1 -0
  139. package/dist/diagrams/mermaid/journey/layout.js +92 -0
  140. package/dist/diagrams/mermaid/journey/layout.js.map +1 -0
  141. package/dist/diagrams/{kanban → mermaid/kanban}/index.d.ts +1 -1
  142. package/dist/diagrams/mermaid/kanban/index.d.ts.map +1 -0
  143. package/dist/diagrams/mermaid/kanban/index.js +14 -0
  144. package/dist/diagrams/mermaid/kanban/index.js.map +1 -0
  145. package/dist/diagrams/{kanban → mermaid/kanban}/ir.d.ts +1 -1
  146. package/dist/diagrams/mermaid/kanban/ir.d.ts.map +1 -0
  147. package/dist/diagrams/mermaid/kanban/ir.js +2 -0
  148. package/dist/diagrams/mermaid/kanban/ir.js.map +1 -0
  149. package/dist/diagrams/{kanban → mermaid/kanban}/layout.d.ts +2 -2
  150. package/dist/diagrams/mermaid/kanban/layout.d.ts.map +1 -0
  151. package/dist/diagrams/mermaid/kanban/layout.js +68 -0
  152. package/dist/diagrams/mermaid/kanban/layout.js.map +1 -0
  153. package/dist/diagrams/{mindmap → mermaid/mindmap}/index.d.ts +1 -1
  154. package/dist/diagrams/mermaid/mindmap/index.d.ts.map +1 -0
  155. package/dist/diagrams/mermaid/mindmap/index.js +52 -0
  156. package/dist/diagrams/mermaid/mindmap/index.js.map +1 -0
  157. package/dist/diagrams/{mindmap → mermaid/mindmap}/ir.d.ts +1 -1
  158. package/dist/diagrams/mermaid/mindmap/ir.d.ts.map +1 -0
  159. package/dist/diagrams/mermaid/mindmap/ir.js +2 -0
  160. package/dist/diagrams/mermaid/mindmap/ir.js.map +1 -0
  161. package/dist/diagrams/{mindmap → mermaid/mindmap}/layout.d.ts +2 -2
  162. package/dist/diagrams/mermaid/mindmap/layout.d.ts.map +1 -0
  163. package/dist/diagrams/mermaid/mindmap/layout.js +100 -0
  164. package/dist/diagrams/mermaid/mindmap/layout.js.map +1 -0
  165. package/dist/diagrams/{pie → mermaid/pie}/index.d.ts +1 -1
  166. package/dist/diagrams/mermaid/pie/index.d.ts.map +1 -0
  167. package/dist/diagrams/mermaid/pie/index.js +14 -0
  168. package/dist/diagrams/mermaid/pie/index.js.map +1 -0
  169. package/dist/diagrams/{pie → mermaid/pie}/ir.d.ts +1 -1
  170. package/dist/diagrams/mermaid/pie/ir.d.ts.map +1 -0
  171. package/dist/diagrams/mermaid/pie/ir.js +2 -0
  172. package/dist/diagrams/mermaid/pie/ir.js.map +1 -0
  173. package/dist/diagrams/{pie → mermaid/pie}/layout.d.ts +2 -2
  174. package/dist/diagrams/mermaid/pie/layout.d.ts.map +1 -0
  175. package/dist/diagrams/mermaid/pie/layout.js +84 -0
  176. package/dist/diagrams/mermaid/pie/layout.js.map +1 -0
  177. package/dist/diagrams/{quadrant → mermaid/quadrant}/index.d.ts +1 -1
  178. package/dist/diagrams/mermaid/quadrant/index.d.ts.map +1 -0
  179. package/dist/diagrams/mermaid/quadrant/index.js +14 -0
  180. package/dist/diagrams/mermaid/quadrant/index.js.map +1 -0
  181. package/dist/diagrams/{quadrant → mermaid/quadrant}/ir.d.ts +1 -1
  182. package/dist/diagrams/mermaid/quadrant/ir.d.ts.map +1 -0
  183. package/dist/diagrams/mermaid/quadrant/ir.js +2 -0
  184. package/dist/diagrams/mermaid/quadrant/ir.js.map +1 -0
  185. package/dist/diagrams/{quadrant → mermaid/quadrant}/layout.d.ts +2 -2
  186. package/dist/diagrams/mermaid/quadrant/layout.d.ts.map +1 -0
  187. package/dist/diagrams/mermaid/quadrant/layout.js +83 -0
  188. package/dist/diagrams/mermaid/quadrant/layout.js.map +1 -0
  189. package/dist/diagrams/{radar → mermaid/radar}/index.d.ts +1 -1
  190. package/dist/diagrams/mermaid/radar/index.d.ts.map +1 -0
  191. package/dist/diagrams/mermaid/radar/index.js +14 -0
  192. package/dist/diagrams/mermaid/radar/index.js.map +1 -0
  193. package/dist/diagrams/{radar → mermaid/radar}/ir.d.ts +1 -1
  194. package/dist/diagrams/mermaid/radar/ir.d.ts.map +1 -0
  195. package/dist/diagrams/mermaid/radar/ir.js +2 -0
  196. package/dist/diagrams/mermaid/radar/ir.js.map +1 -0
  197. package/dist/diagrams/{radar → mermaid/radar}/layout.d.ts +2 -2
  198. package/dist/diagrams/mermaid/radar/layout.d.ts.map +1 -0
  199. package/dist/diagrams/mermaid/radar/layout.js +91 -0
  200. package/dist/diagrams/mermaid/radar/layout.js.map +1 -0
  201. package/dist/diagrams/{requirement → mermaid/requirement}/index.d.ts +1 -1
  202. package/dist/diagrams/mermaid/requirement/index.d.ts.map +1 -0
  203. package/dist/diagrams/mermaid/requirement/index.js +14 -0
  204. package/dist/diagrams/mermaid/requirement/index.js.map +1 -0
  205. package/dist/diagrams/{requirement → mermaid/requirement}/ir.d.ts +1 -1
  206. package/dist/diagrams/mermaid/requirement/ir.d.ts.map +1 -0
  207. package/dist/diagrams/mermaid/requirement/ir.js +2 -0
  208. package/dist/diagrams/mermaid/requirement/ir.js.map +1 -0
  209. package/dist/diagrams/{requirement → mermaid/requirement}/layout.d.ts +2 -2
  210. package/dist/diagrams/mermaid/requirement/layout.d.ts.map +1 -0
  211. package/dist/diagrams/mermaid/requirement/layout.js +79 -0
  212. package/dist/diagrams/mermaid/requirement/layout.js.map +1 -0
  213. package/dist/diagrams/{sankey → mermaid/sankey}/index.d.ts +1 -1
  214. package/dist/diagrams/mermaid/sankey/index.d.ts.map +1 -0
  215. package/dist/diagrams/mermaid/sankey/index.js +14 -0
  216. package/dist/diagrams/mermaid/sankey/index.js.map +1 -0
  217. package/dist/diagrams/{sankey → mermaid/sankey}/ir.d.ts +1 -1
  218. package/dist/diagrams/mermaid/sankey/ir.d.ts.map +1 -0
  219. package/dist/diagrams/mermaid/sankey/ir.js +2 -0
  220. package/dist/diagrams/mermaid/sankey/ir.js.map +1 -0
  221. package/dist/diagrams/{sankey → mermaid/sankey}/layout.d.ts +2 -2
  222. package/dist/diagrams/mermaid/sankey/layout.d.ts.map +1 -0
  223. package/dist/diagrams/mermaid/sankey/layout.js +124 -0
  224. package/dist/diagrams/mermaid/sankey/layout.js.map +1 -0
  225. package/dist/diagrams/{sequence → mermaid/sequence}/index.d.ts +1 -1
  226. package/dist/diagrams/mermaid/sequence/index.d.ts.map +1 -0
  227. package/dist/diagrams/mermaid/sequence/index.js +14 -0
  228. package/dist/diagrams/mermaid/sequence/index.js.map +1 -0
  229. package/dist/diagrams/{sequence → mermaid/sequence}/ir.d.ts +1 -1
  230. package/dist/diagrams/mermaid/sequence/ir.d.ts.map +1 -0
  231. package/dist/diagrams/mermaid/sequence/ir.js +2 -0
  232. package/dist/diagrams/mermaid/sequence/ir.js.map +1 -0
  233. package/dist/diagrams/{sequence → mermaid/sequence}/layout.d.ts +2 -2
  234. package/dist/diagrams/mermaid/sequence/layout.d.ts.map +1 -0
  235. package/dist/diagrams/mermaid/sequence/layout.js +168 -0
  236. package/dist/diagrams/mermaid/sequence/layout.js.map +1 -0
  237. package/dist/diagrams/{state → mermaid/state}/index.d.ts +1 -1
  238. package/dist/diagrams/mermaid/state/index.d.ts.map +1 -0
  239. package/dist/diagrams/mermaid/state/index.js +14 -0
  240. package/dist/diagrams/mermaid/state/index.js.map +1 -0
  241. package/dist/diagrams/{state → mermaid/state}/ir.d.ts +1 -1
  242. package/dist/diagrams/mermaid/state/ir.d.ts.map +1 -0
  243. package/dist/diagrams/mermaid/state/ir.js +2 -0
  244. package/dist/diagrams/mermaid/state/ir.js.map +1 -0
  245. package/dist/diagrams/{state → mermaid/state}/layout.d.ts +2 -2
  246. package/dist/diagrams/mermaid/state/layout.d.ts.map +1 -0
  247. package/dist/diagrams/mermaid/state/layout.js +172 -0
  248. package/dist/diagrams/mermaid/state/layout.js.map +1 -0
  249. package/dist/diagrams/{timeline → mermaid/timeline}/index.d.ts +1 -1
  250. package/dist/diagrams/mermaid/timeline/index.d.ts.map +1 -0
  251. package/dist/diagrams/mermaid/timeline/index.js +23 -0
  252. package/dist/diagrams/mermaid/timeline/index.js.map +1 -0
  253. package/dist/diagrams/{timeline → mermaid/timeline}/ir.d.ts +1 -1
  254. package/dist/diagrams/mermaid/timeline/ir.d.ts.map +1 -0
  255. package/dist/diagrams/mermaid/timeline/ir.js +2 -0
  256. package/dist/diagrams/mermaid/timeline/ir.js.map +1 -0
  257. package/dist/diagrams/mermaid/timeline/layout.d.ts +5 -0
  258. package/dist/diagrams/mermaid/timeline/layout.d.ts.map +1 -0
  259. package/dist/diagrams/mermaid/timeline/layout.js +228 -0
  260. package/dist/diagrams/mermaid/timeline/layout.js.map +1 -0
  261. package/dist/diagrams/{timeline → mermaid/timeline}/numbered.d.ts +2 -2
  262. package/dist/diagrams/mermaid/timeline/numbered.d.ts.map +1 -0
  263. package/dist/diagrams/mermaid/timeline/numbered.js +112 -0
  264. package/dist/diagrams/mermaid/timeline/numbered.js.map +1 -0
  265. package/dist/diagrams/{timeline → mermaid/timeline}/roadmap.d.ts +2 -2
  266. package/dist/diagrams/mermaid/timeline/roadmap.d.ts.map +1 -0
  267. package/dist/diagrams/mermaid/timeline/roadmap.js +125 -0
  268. package/dist/diagrams/mermaid/timeline/roadmap.js.map +1 -0
  269. package/dist/diagrams/{timeline → mermaid/timeline}/serpentine.d.ts +2 -2
  270. package/dist/diagrams/mermaid/timeline/serpentine.d.ts.map +1 -0
  271. package/dist/diagrams/mermaid/timeline/serpentine.js +152 -0
  272. package/dist/diagrams/mermaid/timeline/serpentine.js.map +1 -0
  273. package/dist/diagrams/{timeline → mermaid/timeline}/shared.d.ts +1 -1
  274. package/dist/diagrams/mermaid/timeline/shared.d.ts.map +1 -0
  275. package/dist/diagrams/mermaid/timeline/shared.js +47 -0
  276. package/dist/diagrams/mermaid/timeline/shared.js.map +1 -0
  277. package/dist/diagrams/{timeline → mermaid/timeline}/timeline-columns.d.ts +2 -2
  278. package/dist/diagrams/mermaid/timeline/timeline-columns.d.ts.map +1 -0
  279. package/dist/diagrams/mermaid/timeline/timeline-columns.js +136 -0
  280. package/dist/diagrams/mermaid/timeline/timeline-columns.js.map +1 -0
  281. package/dist/diagrams/{timeline → mermaid/timeline}/vertical-spine.d.ts +2 -2
  282. package/dist/diagrams/mermaid/timeline/vertical-spine.d.ts.map +1 -0
  283. package/dist/diagrams/mermaid/timeline/vertical-spine.js +136 -0
  284. package/dist/diagrams/mermaid/timeline/vertical-spine.js.map +1 -0
  285. package/dist/diagrams/{xychart → mermaid/xychart}/index.d.ts +1 -1
  286. package/dist/diagrams/mermaid/xychart/index.d.ts.map +1 -0
  287. package/dist/diagrams/mermaid/xychart/index.js +14 -0
  288. package/dist/diagrams/mermaid/xychart/index.js.map +1 -0
  289. package/dist/diagrams/{xychart → mermaid/xychart}/ir.d.ts +1 -1
  290. package/dist/diagrams/mermaid/xychart/ir.d.ts.map +1 -0
  291. package/dist/diagrams/mermaid/xychart/ir.js +2 -0
  292. package/dist/diagrams/mermaid/xychart/ir.js.map +1 -0
  293. package/dist/diagrams/{xychart → mermaid/xychart}/layout.d.ts +2 -2
  294. package/dist/diagrams/mermaid/xychart/layout.d.ts.map +1 -0
  295. package/dist/diagrams/mermaid/xychart/layout.js +120 -0
  296. package/dist/diagrams/mermaid/xychart/layout.js.map +1 -0
  297. package/dist/diagrams/{architecture → triton/architecture}/index.d.ts +1 -1
  298. package/dist/diagrams/triton/architecture/index.d.ts.map +1 -0
  299. package/dist/diagrams/triton/architecture/index.js +14 -0
  300. package/dist/diagrams/triton/architecture/index.js.map +1 -0
  301. package/dist/diagrams/{architecture → triton/architecture}/ir.d.ts +1 -1
  302. package/dist/diagrams/triton/architecture/ir.d.ts.map +1 -0
  303. package/dist/diagrams/triton/architecture/ir.js +2 -0
  304. package/dist/diagrams/triton/architecture/ir.js.map +1 -0
  305. package/dist/diagrams/{architecture → triton/architecture}/layout.d.ts +2 -2
  306. package/dist/diagrams/triton/architecture/layout.d.ts.map +1 -0
  307. package/dist/diagrams/triton/architecture/layout.js +124 -0
  308. package/dist/diagrams/triton/architecture/layout.js.map +1 -0
  309. package/dist/diagrams/{block → triton/block}/index.d.ts +1 -1
  310. package/dist/diagrams/triton/block/index.d.ts.map +1 -0
  311. package/dist/diagrams/triton/block/index.js +14 -0
  312. package/dist/diagrams/triton/block/index.js.map +1 -0
  313. package/dist/diagrams/{block → triton/block}/ir.d.ts +1 -1
  314. package/dist/diagrams/triton/block/ir.d.ts.map +1 -0
  315. package/dist/diagrams/triton/block/ir.js +2 -0
  316. package/dist/diagrams/triton/block/ir.js.map +1 -0
  317. package/dist/diagrams/{block → triton/block}/layout.d.ts +2 -2
  318. package/dist/diagrams/triton/block/layout.d.ts.map +1 -0
  319. package/dist/diagrams/triton/block/layout.js +73 -0
  320. package/dist/diagrams/triton/block/layout.js.map +1 -0
  321. package/dist/diagrams/{ds → triton/ds}/graph/graph.d.ts +1 -1
  322. package/dist/diagrams/triton/ds/graph/graph.d.ts.map +1 -0
  323. package/dist/diagrams/triton/ds/graph/graph.js +140 -0
  324. package/dist/diagrams/triton/ds/graph/graph.js.map +1 -0
  325. package/dist/diagrams/{ds → triton/ds}/hashmap/hashmap.d.ts +1 -1
  326. package/dist/diagrams/triton/ds/hashmap/hashmap.d.ts.map +1 -0
  327. package/dist/diagrams/triton/ds/hashmap/hashmap.js +131 -0
  328. package/dist/diagrams/triton/ds/hashmap/hashmap.js.map +1 -0
  329. package/dist/diagrams/{ds → triton/ds}/matrix/matrix.d.ts +1 -1
  330. package/dist/diagrams/triton/ds/matrix/matrix.d.ts.map +1 -0
  331. package/dist/diagrams/triton/ds/matrix/matrix.js +113 -0
  332. package/dist/diagrams/triton/ds/matrix/matrix.js.map +1 -0
  333. package/dist/diagrams/{ds → triton/ds}/queue/cqueue.d.ts +5 -3
  334. package/dist/diagrams/triton/ds/queue/cqueue.d.ts.map +1 -0
  335. package/dist/diagrams/triton/ds/queue/cqueue.js +195 -0
  336. package/dist/diagrams/triton/ds/queue/cqueue.js.map +1 -0
  337. package/dist/diagrams/{ds → triton/ds}/queue/deque.d.ts +3 -1
  338. package/dist/diagrams/triton/ds/queue/deque.d.ts.map +1 -0
  339. package/dist/diagrams/triton/ds/queue/deque.js +118 -0
  340. package/dist/diagrams/triton/ds/queue/deque.js.map +1 -0
  341. package/dist/diagrams/{ds → triton/ds}/queue/pqueue.d.ts +5 -3
  342. package/dist/diagrams/triton/ds/queue/pqueue.d.ts.map +1 -0
  343. package/dist/diagrams/triton/ds/queue/pqueue.js +129 -0
  344. package/dist/diagrams/triton/ds/queue/pqueue.js.map +1 -0
  345. package/dist/diagrams/{ds → triton/ds}/queue/queue.d.ts +3 -1
  346. package/dist/diagrams/triton/ds/queue/queue.d.ts.map +1 -0
  347. package/dist/diagrams/triton/ds/queue/queue.js +128 -0
  348. package/dist/diagrams/triton/ds/queue/queue.js.map +1 -0
  349. package/dist/diagrams/{ds → triton/ds}/queue/shared.d.ts +18 -2
  350. package/dist/diagrams/triton/ds/queue/shared.d.ts.map +1 -0
  351. package/dist/diagrams/triton/ds/queue/shared.js +186 -0
  352. package/dist/diagrams/triton/ds/queue/shared.js.map +1 -0
  353. package/dist/diagrams/{ds → triton/ds}/stack/stack.d.ts +3 -1
  354. package/dist/diagrams/triton/ds/stack/stack.d.ts.map +1 -0
  355. package/dist/diagrams/triton/ds/stack/stack.js +119 -0
  356. package/dist/diagrams/triton/ds/stack/stack.js.map +1 -0
  357. package/dist/diagrams/triton/ds/struct/array.d.ts +52 -0
  358. package/dist/diagrams/triton/ds/struct/array.d.ts.map +1 -0
  359. package/dist/diagrams/triton/ds/struct/array.js +491 -0
  360. package/dist/diagrams/triton/ds/struct/array.js.map +1 -0
  361. package/dist/diagrams/{ds → triton/ds}/struct/linkedlist.d.ts +1 -1
  362. package/dist/diagrams/triton/ds/struct/linkedlist.d.ts.map +1 -0
  363. package/dist/diagrams/triton/ds/struct/linkedlist.js +99 -0
  364. package/dist/diagrams/triton/ds/struct/linkedlist.js.map +1 -0
  365. package/dist/diagrams/{ds → triton/ds}/struct/memory.d.ts +1 -1
  366. package/dist/diagrams/triton/ds/struct/memory.d.ts.map +1 -0
  367. package/dist/diagrams/triton/ds/struct/memory.js +172 -0
  368. package/dist/diagrams/triton/ds/struct/memory.js.map +1 -0
  369. package/dist/diagrams/{ds → triton/ds}/struct/page.d.ts +1 -1
  370. package/dist/diagrams/triton/ds/struct/page.d.ts.map +1 -0
  371. package/dist/diagrams/triton/ds/struct/page.js +137 -0
  372. package/dist/diagrams/triton/ds/struct/page.js.map +1 -0
  373. package/dist/diagrams/triton/ds/struct/shared.d.ts +17 -0
  374. package/dist/diagrams/triton/ds/struct/shared.d.ts.map +1 -0
  375. package/dist/diagrams/triton/ds/struct/shared.js +60 -0
  376. package/dist/diagrams/triton/ds/struct/shared.js.map +1 -0
  377. package/dist/diagrams/{ds → triton/ds}/tree/avl.d.ts +1 -1
  378. package/dist/diagrams/triton/ds/tree/avl.d.ts.map +1 -0
  379. package/dist/diagrams/triton/ds/tree/avl.js +87 -0
  380. package/dist/diagrams/triton/ds/tree/avl.js.map +1 -0
  381. package/dist/diagrams/{ds → triton/ds}/tree/btree.d.ts +1 -1
  382. package/dist/diagrams/triton/ds/tree/btree.d.ts.map +1 -0
  383. package/dist/diagrams/triton/ds/tree/btree.js +76 -0
  384. package/dist/diagrams/triton/ds/tree/btree.js.map +1 -0
  385. package/dist/diagrams/triton/ds/tree/build.d.ts.map +1 -0
  386. package/dist/diagrams/triton/ds/tree/build.js +51 -0
  387. package/dist/diagrams/triton/ds/tree/build.js.map +1 -0
  388. package/dist/diagrams/{ds → triton/ds}/tree/heap.d.ts +1 -1
  389. package/dist/diagrams/triton/ds/tree/heap.d.ts.map +1 -0
  390. package/dist/diagrams/triton/ds/tree/heap.js +48 -0
  391. package/dist/diagrams/triton/ds/tree/heap.js.map +1 -0
  392. package/dist/diagrams/{ds → triton/ds}/tree/index.d.ts +1 -1
  393. package/dist/diagrams/triton/ds/tree/index.d.ts.map +1 -0
  394. package/dist/diagrams/triton/ds/tree/index.js +20 -0
  395. package/dist/diagrams/triton/ds/tree/index.js.map +1 -0
  396. package/dist/diagrams/{ds → triton/ds}/tree/ir.d.ts +1 -1
  397. package/dist/diagrams/triton/ds/tree/ir.d.ts.map +1 -0
  398. package/dist/diagrams/triton/ds/tree/ir.js +10 -0
  399. package/dist/diagrams/triton/ds/tree/ir.js.map +1 -0
  400. package/dist/diagrams/{ds → triton/ds}/tree/layout.d.ts +1 -1
  401. package/dist/diagrams/triton/ds/tree/layout.d.ts.map +1 -0
  402. package/dist/diagrams/triton/ds/tree/layout.js +281 -0
  403. package/dist/diagrams/triton/ds/tree/layout.js.map +1 -0
  404. package/dist/diagrams/{ds → triton/ds}/tree/plan.d.ts +1 -1
  405. package/dist/diagrams/triton/ds/tree/plan.d.ts.map +1 -0
  406. package/dist/diagrams/triton/ds/tree/plan.js +48 -0
  407. package/dist/diagrams/triton/ds/tree/plan.js.map +1 -0
  408. package/dist/diagrams/{ds → triton/ds}/tree/radix.d.ts +1 -1
  409. package/dist/diagrams/triton/ds/tree/radix.d.ts.map +1 -0
  410. package/dist/diagrams/triton/ds/tree/radix.js +88 -0
  411. package/dist/diagrams/triton/ds/tree/radix.js.map +1 -0
  412. package/dist/diagrams/{ds → triton/ds}/tree/rbtree.d.ts +1 -1
  413. package/dist/diagrams/triton/ds/tree/rbtree.d.ts.map +1 -0
  414. package/dist/diagrams/triton/ds/tree/rbtree.js +78 -0
  415. package/dist/diagrams/triton/ds/tree/rbtree.js.map +1 -0
  416. package/dist/diagrams/{ds → triton/ds}/tree/segtree.d.ts +1 -1
  417. package/dist/diagrams/triton/ds/tree/segtree.d.ts.map +1 -0
  418. package/dist/diagrams/triton/ds/tree/segtree.js +51 -0
  419. package/dist/diagrams/triton/ds/tree/segtree.js.map +1 -0
  420. package/dist/diagrams/{ds → triton/ds}/trie/trie.d.ts +1 -1
  421. package/dist/diagrams/triton/ds/trie/trie.d.ts.map +1 -0
  422. package/dist/diagrams/triton/ds/trie/trie.js +58 -0
  423. package/dist/diagrams/triton/ds/trie/trie.js.map +1 -0
  424. package/dist/diagrams/{ds → triton/ds}/unionfind/unionfind.d.ts +1 -1
  425. package/dist/diagrams/triton/ds/unionfind/unionfind.d.ts.map +1 -0
  426. package/dist/diagrams/triton/ds/unionfind/unionfind.js +110 -0
  427. package/dist/diagrams/triton/ds/unionfind/unionfind.js.map +1 -0
  428. package/dist/diagrams/{packet → triton/packet}/index.d.ts +1 -1
  429. package/dist/diagrams/triton/packet/index.d.ts.map +1 -0
  430. package/dist/diagrams/triton/packet/index.js +14 -0
  431. package/dist/diagrams/triton/packet/index.js.map +1 -0
  432. package/dist/diagrams/{packet → triton/packet}/ir.d.ts +1 -1
  433. package/dist/diagrams/triton/packet/ir.d.ts.map +1 -0
  434. package/dist/diagrams/triton/packet/ir.js +2 -0
  435. package/dist/diagrams/triton/packet/ir.js.map +1 -0
  436. package/dist/diagrams/{packet → triton/packet}/layout.d.ts +2 -2
  437. package/dist/diagrams/triton/packet/layout.d.ts.map +1 -0
  438. package/dist/diagrams/triton/packet/layout.js +69 -0
  439. package/dist/diagrams/triton/packet/layout.js.map +1 -0
  440. package/dist/diagrams/{poster → triton/poster}/index.d.ts +1 -1
  441. package/dist/diagrams/triton/poster/index.d.ts.map +1 -0
  442. package/dist/diagrams/triton/poster/index.js +127 -0
  443. package/dist/diagrams/triton/poster/index.js.map +1 -0
  444. package/dist/diagrams/{poster → triton/poster}/ir.d.ts +1 -3
  445. package/dist/diagrams/{poster → triton/poster}/ir.d.ts.map +1 -1
  446. package/dist/diagrams/triton/poster/ir.js +2 -0
  447. package/dist/diagrams/triton/poster/ir.js.map +1 -0
  448. package/dist/diagrams/{poster → triton/poster}/layout.d.ts +2 -2
  449. package/dist/diagrams/triton/poster/layout.d.ts.map +1 -0
  450. package/dist/diagrams/triton/poster/layout.js +517 -0
  451. package/dist/diagrams/triton/poster/layout.js.map +1 -0
  452. package/dist/diagrams/{topology → triton/topology}/topology.d.ts +2 -2
  453. package/dist/diagrams/triton/topology/topology.d.ts.map +1 -0
  454. package/dist/diagrams/triton/topology/topology.js +198 -0
  455. package/dist/diagrams/triton/topology/topology.js.map +1 -0
  456. package/dist/frontend/detect.js +94 -0
  457. package/dist/frontend/detect.js.map +1 -0
  458. package/dist/frontend/index.d.ts +4 -4
  459. package/dist/frontend/index.d.ts.map +1 -1
  460. package/dist/frontend/index.js +196 -0
  461. package/dist/frontend/index.js.map +1 -0
  462. package/dist/frontend/preprocess.d.ts +28 -0
  463. package/dist/frontend/preprocess.d.ts.map +1 -0
  464. package/dist/frontend/preprocess.js +60 -0
  465. package/dist/frontend/preprocess.js.map +1 -0
  466. package/dist/frontend/registry.js +25 -0
  467. package/dist/frontend/registry.js.map +1 -0
  468. package/dist/graph/connect.js +44 -0
  469. package/dist/graph/connect.js.map +1 -0
  470. package/dist/graph/layered.d.ts +65 -5
  471. package/dist/graph/layered.d.ts.map +1 -1
  472. package/dist/graph/layered.js +936 -0
  473. package/dist/graph/layered.js.map +1 -0
  474. package/dist/graph/tree.js +107 -0
  475. package/dist/graph/tree.js.map +1 -0
  476. package/dist/index.js +4691 -2735
  477. package/dist/index.js.map +4 -4
  478. package/dist/overlay/apply.js +22 -0
  479. package/dist/overlay/apply.js.map +1 -0
  480. package/dist/overlay/compiler.js +48 -0
  481. package/dist/overlay/compiler.js.map +1 -0
  482. package/dist/overlay/layout.js +242 -0
  483. package/dist/overlay/layout.js.map +1 -0
  484. package/dist/palette/categorical.js +21 -0
  485. package/dist/palette/categorical.js.map +1 -0
  486. package/dist/render/registry.js +22 -0
  487. package/dist/render/registry.js.map +1 -0
  488. package/dist/render/svg.d.ts.map +1 -1
  489. package/dist/render/svg.js +287 -0
  490. package/dist/render/svg.js.map +1 -0
  491. package/dist/routing/d3-curves.d.ts +31 -0
  492. package/dist/routing/d3-curves.d.ts.map +1 -0
  493. package/dist/routing/d3-curves.js +58 -0
  494. package/dist/routing/d3-curves.js.map +1 -0
  495. package/dist/routing/registry.js +22 -0
  496. package/dist/routing/registry.js.map +1 -0
  497. package/dist/routing/router.d.ts +3 -0
  498. package/dist/routing/router.d.ts.map +1 -1
  499. package/dist/routing/router.js +849 -0
  500. package/dist/routing/router.js.map +1 -0
  501. package/dist/scene/build.d.ts +3 -1
  502. package/dist/scene/build.d.ts.map +1 -1
  503. package/dist/scene/build.js +57 -0
  504. package/dist/scene/build.js.map +1 -0
  505. package/dist/scene/strip.js +46 -0
  506. package/dist/scene/strip.js.map +1 -0
  507. package/dist/style/cost.js +39 -0
  508. package/dist/style/cost.js.map +1 -0
  509. package/dist/text/metrics.js +62 -0
  510. package/dist/text/metrics.js.map +1 -0
  511. package/dist/text/wrap.js +84 -0
  512. package/dist/text/wrap.js.map +1 -0
  513. package/dist/theme/preset.d.ts +2 -0
  514. package/dist/theme/preset.d.ts.map +1 -1
  515. package/dist/theme/preset.js +295 -0
  516. package/dist/theme/preset.js.map +1 -0
  517. package/dist/theme/resolver.js +15 -0
  518. package/dist/theme/resolver.js.map +1 -0
  519. package/dist/time/dates.js +301 -0
  520. package/dist/time/dates.js.map +1 -0
  521. package/dist/util/round.js +17 -0
  522. package/dist/util/round.js.map +1 -0
  523. package/package.json +1 -1
  524. package/dist/diagrams/architecture/index.d.ts.map +0 -1
  525. package/dist/diagrams/architecture/ir.d.ts.map +0 -1
  526. package/dist/diagrams/architecture/layout.d.ts.map +0 -1
  527. package/dist/diagrams/block/index.d.ts.map +0 -1
  528. package/dist/diagrams/block/ir.d.ts.map +0 -1
  529. package/dist/diagrams/block/layout.d.ts.map +0 -1
  530. package/dist/diagrams/c4/index.d.ts.map +0 -1
  531. package/dist/diagrams/c4/ir.d.ts.map +0 -1
  532. package/dist/diagrams/c4/layout.d.ts.map +0 -1
  533. package/dist/diagrams/class/index.d.ts.map +0 -1
  534. package/dist/diagrams/class/ir.d.ts.map +0 -1
  535. package/dist/diagrams/class/layout.d.ts.map +0 -1
  536. package/dist/diagrams/ds/graph/graph.d.ts.map +0 -1
  537. package/dist/diagrams/ds/hashmap/hashmap.d.ts.map +0 -1
  538. package/dist/diagrams/ds/matrix/matrix.d.ts.map +0 -1
  539. package/dist/diagrams/ds/queue/cqueue.d.ts.map +0 -1
  540. package/dist/diagrams/ds/queue/deque.d.ts.map +0 -1
  541. package/dist/diagrams/ds/queue/pqueue.d.ts.map +0 -1
  542. package/dist/diagrams/ds/queue/queue.d.ts.map +0 -1
  543. package/dist/diagrams/ds/queue/shared.d.ts.map +0 -1
  544. package/dist/diagrams/ds/stack/stack.d.ts.map +0 -1
  545. package/dist/diagrams/ds/struct/array.d.ts +0 -28
  546. package/dist/diagrams/ds/struct/array.d.ts.map +0 -1
  547. package/dist/diagrams/ds/struct/linkedlist.d.ts.map +0 -1
  548. package/dist/diagrams/ds/struct/memory.d.ts.map +0 -1
  549. package/dist/diagrams/ds/struct/page.d.ts.map +0 -1
  550. package/dist/diagrams/ds/struct/shared.d.ts +0 -9
  551. package/dist/diagrams/ds/struct/shared.d.ts.map +0 -1
  552. package/dist/diagrams/ds/tree/avl.d.ts.map +0 -1
  553. package/dist/diagrams/ds/tree/btree.d.ts.map +0 -1
  554. package/dist/diagrams/ds/tree/build.d.ts.map +0 -1
  555. package/dist/diagrams/ds/tree/heap.d.ts.map +0 -1
  556. package/dist/diagrams/ds/tree/index.d.ts.map +0 -1
  557. package/dist/diagrams/ds/tree/ir.d.ts.map +0 -1
  558. package/dist/diagrams/ds/tree/layout.d.ts.map +0 -1
  559. package/dist/diagrams/ds/tree/plan.d.ts.map +0 -1
  560. package/dist/diagrams/ds/tree/radix.d.ts.map +0 -1
  561. package/dist/diagrams/ds/tree/rbtree.d.ts.map +0 -1
  562. package/dist/diagrams/ds/tree/segtree.d.ts.map +0 -1
  563. package/dist/diagrams/ds/trie/trie.d.ts.map +0 -1
  564. package/dist/diagrams/ds/unionfind/unionfind.d.ts.map +0 -1
  565. package/dist/diagrams/er/index.d.ts.map +0 -1
  566. package/dist/diagrams/er/ir.d.ts.map +0 -1
  567. package/dist/diagrams/er/layout.d.ts.map +0 -1
  568. package/dist/diagrams/flowchart/index.d.ts.map +0 -1
  569. package/dist/diagrams/flowchart/ir.d.ts.map +0 -1
  570. package/dist/diagrams/flowchart/layout.d.ts +0 -5
  571. package/dist/diagrams/flowchart/layout.d.ts.map +0 -1
  572. package/dist/diagrams/gantt/index.d.ts.map +0 -1
  573. package/dist/diagrams/gantt/ir.d.ts.map +0 -1
  574. package/dist/diagrams/gantt/layout.d.ts.map +0 -1
  575. package/dist/diagrams/gitgraph/index.d.ts.map +0 -1
  576. package/dist/diagrams/gitgraph/ir.d.ts.map +0 -1
  577. package/dist/diagrams/gitgraph/layout.d.ts.map +0 -1
  578. package/dist/diagrams/journey/index.d.ts.map +0 -1
  579. package/dist/diagrams/journey/ir.d.ts.map +0 -1
  580. package/dist/diagrams/journey/layout.d.ts.map +0 -1
  581. package/dist/diagrams/kanban/index.d.ts.map +0 -1
  582. package/dist/diagrams/kanban/ir.d.ts.map +0 -1
  583. package/dist/diagrams/kanban/layout.d.ts.map +0 -1
  584. package/dist/diagrams/mindmap/index.d.ts.map +0 -1
  585. package/dist/diagrams/mindmap/ir.d.ts.map +0 -1
  586. package/dist/diagrams/mindmap/layout.d.ts.map +0 -1
  587. package/dist/diagrams/packet/index.d.ts.map +0 -1
  588. package/dist/diagrams/packet/ir.d.ts.map +0 -1
  589. package/dist/diagrams/packet/layout.d.ts.map +0 -1
  590. package/dist/diagrams/pie/index.d.ts.map +0 -1
  591. package/dist/diagrams/pie/ir.d.ts.map +0 -1
  592. package/dist/diagrams/pie/layout.d.ts.map +0 -1
  593. package/dist/diagrams/poster/index.d.ts.map +0 -1
  594. package/dist/diagrams/poster/layout.d.ts.map +0 -1
  595. package/dist/diagrams/quadrant/index.d.ts.map +0 -1
  596. package/dist/diagrams/quadrant/ir.d.ts.map +0 -1
  597. package/dist/diagrams/quadrant/layout.d.ts.map +0 -1
  598. package/dist/diagrams/radar/index.d.ts.map +0 -1
  599. package/dist/diagrams/radar/ir.d.ts.map +0 -1
  600. package/dist/diagrams/radar/layout.d.ts.map +0 -1
  601. package/dist/diagrams/requirement/index.d.ts.map +0 -1
  602. package/dist/diagrams/requirement/ir.d.ts.map +0 -1
  603. package/dist/diagrams/requirement/layout.d.ts.map +0 -1
  604. package/dist/diagrams/sankey/index.d.ts.map +0 -1
  605. package/dist/diagrams/sankey/ir.d.ts.map +0 -1
  606. package/dist/diagrams/sankey/layout.d.ts.map +0 -1
  607. package/dist/diagrams/sequence/index.d.ts.map +0 -1
  608. package/dist/diagrams/sequence/ir.d.ts.map +0 -1
  609. package/dist/diagrams/sequence/layout.d.ts.map +0 -1
  610. package/dist/diagrams/state/index.d.ts.map +0 -1
  611. package/dist/diagrams/state/ir.d.ts.map +0 -1
  612. package/dist/diagrams/state/layout.d.ts.map +0 -1
  613. package/dist/diagrams/timeline/index.d.ts.map +0 -1
  614. package/dist/diagrams/timeline/ir.d.ts.map +0 -1
  615. package/dist/diagrams/timeline/layout.d.ts +0 -5
  616. package/dist/diagrams/timeline/layout.d.ts.map +0 -1
  617. package/dist/diagrams/timeline/numbered.d.ts.map +0 -1
  618. package/dist/diagrams/timeline/roadmap.d.ts.map +0 -1
  619. package/dist/diagrams/timeline/serpentine.d.ts.map +0 -1
  620. package/dist/diagrams/timeline/shared.d.ts.map +0 -1
  621. package/dist/diagrams/timeline/timeline-columns.d.ts.map +0 -1
  622. package/dist/diagrams/timeline/vertical-spine.d.ts.map +0 -1
  623. package/dist/diagrams/topology/topology.d.ts.map +0 -1
  624. package/dist/diagrams/xychart/index.d.ts.map +0 -1
  625. package/dist/diagrams/xychart/ir.d.ts.map +0 -1
  626. package/dist/diagrams/xychart/layout.d.ts.map +0 -1
  627. /package/dist/diagrams/{ds → triton/ds}/tree/build.d.ts +0 -0
@@ -0,0 +1,517 @@
1
+ import { getModule } from '../../../frontend/registry.js';
2
+ import { getThemePreset } from '../../../theme/preset.js';
3
+ import { crossLinksToConnectorSpecs, routeConnectors } from '../../../crosslink/connectors.js';
4
+ import { measureText } from '../../../text/metrics.js';
5
+ import { resolveArrayElementAnchorId } from '../ds/struct/array.js';
6
+ // ─── Public Entry ─────────────────────────────────────────────────────────────
7
+ export function layoutPoster(ir, theme) {
8
+ const { spacing, palette, typography } = theme;
9
+ const { grid, cells } = ir;
10
+ const unit = spacing.unit;
11
+ const gap = spacing.nodeGap / 2;
12
+ const padding = spacing.diagramMargin;
13
+ const headerH = ir.metadata.title ? typography.titleFontSize + unit * 2 : 0;
14
+ const MIN_CELL_W = unit * 20;
15
+ const MIN_CELL_H = unit * 15;
16
+ const MAX_CELL_W = unit * 42;
17
+ const MIN_EMBED_SCALE = 0.65; // minimum scale — cells expand to ensure readability
18
+ // ── Assign row/col to cells that don't specify them ───────────────────────
19
+ const positioned = assignPositions(cells, grid.columns);
20
+ // ── Layout each child into a LayoutResult (per-cell theme) ─────────────────
21
+ // Child layouts are synchronous (every Triton layout engine is), so a plain
22
+ // map suffices — no Promise.all needed.
23
+ const cellResults = positioned.map(cell => {
24
+ const cellTheme = cell.theme ? getThemePreset(cell.theme) : theme;
25
+ return { cell, cellTheme, result: layoutCellContent(cell.content, cellTheme) };
26
+ });
27
+ const cellResultById = new Map(cellResults.map(({ cell, result }) => [cell.id ?? '', { cell, result }]));
28
+ const numRows = grid.rows ??
29
+ Math.max(...positioned.map(c => (c.row ?? 0) + (c.rowSpan ?? 1)));
30
+ // Column widths: ensure child content is readable at MIN_EMBED_SCALE
31
+ // Readability takes priority over MAX_CELL_W
32
+ const colWidths = new Array(grid.columns).fill(MIN_CELL_W);
33
+ for (const { cell, result } of cellResults) {
34
+ if ((cell.colSpan ?? 1) === 1) {
35
+ const col = cell.col ?? 0;
36
+ const inset = unit / 2;
37
+ // Cell must be wide enough that child fits at MIN_EMBED_SCALE
38
+ const needed = result.scene.viewBox.width * MIN_EMBED_SCALE + inset * 2;
39
+ colWidths[col] = Math.max(colWidths[col], needed);
40
+ }
41
+ }
42
+ // Row heights: proportional to column width, respecting MIN_EMBED_SCALE
43
+ const rowHeights = new Array(numRows).fill(MIN_CELL_H);
44
+ for (const { cell, cellTheme, result } of cellResults) {
45
+ if ((cell.rowSpan ?? 1) === 1) {
46
+ const row = cell.row ?? 0;
47
+ const col = cell.col ?? 0;
48
+ const cellTitleH = cell.title ? reservedTitleHeight(cellTheme) : 0;
49
+ const inset = unit / 2;
50
+ const colW = colWidths[col] ?? MIN_CELL_W;
51
+ const contentW = colW - inset * 2;
52
+ const scale = Math.min(contentW / Math.max(result.scene.viewBox.width, 1), 1);
53
+ // If scale < MIN_EMBED_SCALE, the column already expanded; recompute
54
+ const effectiveScale = Math.max(scale, MIN_EMBED_SCALE);
55
+ const neededH = result.scene.viewBox.height * effectiveScale + cellTitleH + inset * 2;
56
+ rowHeights[row] = Math.max(rowHeights[row], neededH);
57
+ }
58
+ }
59
+ // ── Build elements ────────────────────────────────────────────────────────
60
+ // Layers assembled in painter's order (back→front):
61
+ // headerElements — poster title text
62
+ // cellBg — cell chrome rects
63
+ // linkPaths — cross-link routes (behind node content so routes that
64
+ // pass through a cell render behind its nodes)
65
+ // cellContent — cell titles + embedded node scenes
66
+ // linkLabels — cross-link label text (topmost, always readable)
67
+ const headerElements = [];
68
+ const cellBg = [];
69
+ const cellContent = [];
70
+ // Track text bounding rects so cross-link labels can avoid them
71
+ const textOccupied = [];
72
+ // Track cell border edges as thin obstacles so connectors don't run along cell walls
73
+ const cellBorders = [];
74
+ // Full cell bounding boxes keyed by cell ID — used by the cross-link router
75
+ // to treat intermediate cells as blocked zones (routes must use corridors).
76
+ const cellRects = new Map();
77
+ // Occupied ports from all child diagram layout passes (intra-diagram edges).
78
+ const allOccupiedPorts = [];
79
+ if (ir.metadata.title) {
80
+ headerElements.push({ type: 'text', content: ir.metadata.title, position: { x: padding, y: padding + typography.titleFontSize }, fontSize: typography.titleFontSize + 2, fontFamily: typography.fontFamily, fontWeight: 'bold', fill: palette.text });
81
+ // Estimate title bounding rect
82
+ const titleW = ir.metadata.title.length * (typography.titleFontSize + 2) * 0.6;
83
+ const titleH = typography.titleFontSize + 2;
84
+ textOccupied.push({ x: padding, y: padding, width: titleW, height: titleH + 4 });
85
+ }
86
+ // ── Build anchor registry (hierarchical, path-prefixed) ───────────────────
87
+ const mergedAnchors = {};
88
+ for (const { cell, cellTheme, result } of cellResults) {
89
+ const cellPalette = cellTheme.palette;
90
+ const col = cell.col ?? 0;
91
+ const row = cell.row ?? 0;
92
+ const colSpan = cell.colSpan ?? 1;
93
+ const rowSpan = cell.rowSpan ?? 1;
94
+ const cellId = cell.id ?? cellAddressFromPosition(row, col);
95
+ const cellX = padding + sumWithGaps(colWidths, 0, col, gap);
96
+ const cellY = padding + headerH + sumWithGaps(rowHeights, 0, row, gap);
97
+ const cellW = sumWithGaps(colWidths, col, col + colSpan, gap) - gap;
98
+ const cellH = sumWithGaps(rowHeights, row, row + rowSpan, gap) - gap;
99
+ // Cell chrome — background layer (connectors route behind this).
100
+ // Uses the CELL's theme so a dark-themed cell shows a dark panel.
101
+ cellBg.push({ type: 'rect', bounds: { x: cellX, y: cellY, width: cellW, height: cellH }, fill: cellPalette.background, stroke: cellPalette.border, strokeWidth: 1, rx: 6 });
102
+ // Record cell edges as thin obstacles (4px) so connectors avoid running along borders
103
+ const borderThick = 4;
104
+ cellBorders.push({ x: cellX, y: cellY - borderThick / 2, width: cellW, height: borderThick }, // top edge
105
+ { x: cellX, y: cellY + cellH - borderThick / 2, width: cellW, height: borderThick }, // bottom edge
106
+ { x: cellX - borderThick / 2, y: cellY, width: borderThick, height: cellH }, // left edge
107
+ { x: cellX + cellW - borderThick / 2, y: cellY, width: borderThick, height: cellH });
108
+ // Record the full cell bounding box for corridor-based cross-link routing.
109
+ cellRects.set(cellId, { x: cellX, y: cellY, width: cellW, height: cellH });
110
+ const reservedTop = cell.title ? reservedTitleHeight(cellTheme) : 0;
111
+ if (cell.title) {
112
+ const t = buildCellTitle(cell.title, cellX, cellY, cellW, cellTheme);
113
+ cellContent.push(...t.elements);
114
+ textOccupied.push(t.occupied);
115
+ }
116
+ // Embed child scene — content layer (above cross-link paths)
117
+ const inset = unit / 2;
118
+ const contentRect = { x: cellX + inset, y: cellY + reservedTop + inset, width: cellW - inset * 2, height: cellH - reservedTop - inset * 2 };
119
+ cellContent.push(embedScene(result.scene, contentRect));
120
+ // Transform child anchors to poster coordinates and merge
121
+ const scaleX = contentRect.width / Math.max(result.scene.viewBox.width, 1);
122
+ const scaleY = contentRect.height / Math.max(result.scene.viewBox.height, 1);
123
+ const scale = Math.min(scaleX, scaleY, 1);
124
+ const offsetX = contentRect.x + (contentRect.width - result.scene.viewBox.width * scale) / 2;
125
+ const offsetY = contentRect.y + (contentRect.height - result.scene.viewBox.height * scale) / 2;
126
+ for (const [nodeId, anchor] of Object.entries(result.anchors)) {
127
+ const prefixedId = `${cellId}.${nodeId}`;
128
+ const transformed = {
129
+ bounds: {
130
+ x: anchor.bounds.x * scale + offsetX,
131
+ y: anchor.bounds.y * scale + offsetY,
132
+ width: anchor.bounds.width * scale,
133
+ height: anchor.bounds.height * scale,
134
+ },
135
+ ...(anchor.ports ? {
136
+ ports: Object.fromEntries(Object.entries(anchor.ports).map(([side, pt]) => [
137
+ side,
138
+ { x: pt.x * scale + offsetX, y: pt.y * scale + offsetY },
139
+ ])),
140
+ } : {}),
141
+ };
142
+ mergedAnchors[prefixedId] = transformed;
143
+ }
144
+ // Collect occupied ports from child layout (t values are coordinate-invariant).
145
+ for (const op of (result.occupiedPorts ?? [])) {
146
+ allOccupiedPorts.push({ ...op, nodeKey: `${cellId}.${op.nodeKey}` });
147
+ }
148
+ }
149
+ const totalW = padding * 2 + sumWithGaps(colWidths, 0, grid.columns, gap) - gap;
150
+ const totalH = padding * 2 + headerH + sumWithGaps(rowHeights, 0, numRows, gap) - gap;
151
+ // Collect defs from all child scenes (e.g. arrow markers)
152
+ const allDefs = [];
153
+ const seenDefs = new Set();
154
+ for (const { result } of cellResults) {
155
+ if (result.scene.defs) {
156
+ for (const def of result.scene.defs) {
157
+ if (!seenDefs.has(def)) {
158
+ seenDefs.add(def);
159
+ allDefs.push(def);
160
+ }
161
+ }
162
+ }
163
+ }
164
+ // ─── Cross-Link Resolution & Rendering ──────────────────────────────────
165
+ const links = normalizeElementIndexLinks(ir.links ?? [], cellResultById);
166
+ // Start with the grid dimensions; cross-link rendering may expand these.
167
+ let finalW = totalW;
168
+ let finalH = totalH;
169
+ if (links.length > 0) {
170
+ const connectorSpecs = crossLinksToConnectorSpecs(links.map(link => {
171
+ const explicitCurve = link.curveStyle ?? (typeof link.props?.curveStyle === 'string' ? link.props.curveStyle : undefined);
172
+ return explicitCurve ? link : { ...link, curveStyle: 'cardinal' };
173
+ }));
174
+ const connectorResult = routeConnectors({
175
+ anchors: mergedAnchors,
176
+ connectors: connectorSpecs,
177
+ theme,
178
+ occupiedPorts: allOccupiedPorts,
179
+ occupiedTextRects: textOccupied,
180
+ routingObstacles: cellBorders,
181
+ containerObstacles: cellRects,
182
+ });
183
+ const linkDefs = connectorResult.defs;
184
+ const linkElements = connectorResult.elements;
185
+ // Add link defs
186
+ for (const def of linkDefs) {
187
+ if (!seenDefs.has(def)) {
188
+ seenDefs.add(def);
189
+ allDefs.push(def);
190
+ }
191
+ }
192
+ // Split link elements: paths go behind cell content, labels go on top.
193
+ const linkPaths = linkElements.filter(e => e.type !== 'text');
194
+ const linkLabels = linkElements.filter(e => e.type === 'text');
195
+ // Expand the viewBox to include all cross-link route and label extents.
196
+ const ext = connectorResult.extents;
197
+ if (ext.maxX > finalW)
198
+ finalW = ext.maxX + padding;
199
+ if (ext.maxY > finalH)
200
+ finalH = ext.maxY + padding;
201
+ // Assemble in painter's order (back → front):
202
+ // header → cell backgrounds → link routes → cell content → link labels
203
+ const elements = [
204
+ ...headerElements,
205
+ ...cellBg,
206
+ ...linkPaths,
207
+ ...cellContent,
208
+ ...linkLabels,
209
+ ];
210
+ return {
211
+ scene: {
212
+ viewBox: { x: 0, y: 0, width: finalW, height: finalH },
213
+ background: palette.background,
214
+ elements,
215
+ ...(allDefs.length > 0 ? { defs: allDefs } : {}),
216
+ },
217
+ anchors: mergedAnchors,
218
+ };
219
+ }
220
+ // No cross-links (or none resolved): flat assembly without link layers.
221
+ const elements = [...headerElements, ...cellBg, ...cellContent];
222
+ return {
223
+ scene: {
224
+ viewBox: { x: 0, y: 0, width: finalW, height: finalH },
225
+ background: palette.background,
226
+ elements,
227
+ ...(allDefs.length > 0 ? { defs: allDefs } : {}),
228
+ },
229
+ anchors: mergedAnchors,
230
+ };
231
+ }
232
+ function normalizeElementIndexLinks(links, cellResultById) {
233
+ return links.map(link => ({
234
+ ...link,
235
+ from: normalizeElementIndexAddress(link.from, cellResultById),
236
+ to: normalizeElementIndexAddress(link.to, cellResultById),
237
+ }));
238
+ }
239
+ function normalizeElementIndexAddress(address, cellResultById) {
240
+ if (address.elementIndex === undefined)
241
+ return address;
242
+ const cellId = address.cellPath.join('.');
243
+ const cellResult = cellResultById.get(cellId);
244
+ const content = cellResult?.cell.content;
245
+ const arrayNodeId = content?.kind === 'diagram' && content.diagramKind === 'array'
246
+ ? resolveArrayElementAnchorId(content.doc, address.elementIndex)
247
+ : fallbackElementAnchorId(cellResult?.result.anchors ?? {}, address.elementIndex);
248
+ return {
249
+ ...address,
250
+ nodeId: arrayNodeId ?? `__missing_element_${address.elementIndex}`,
251
+ };
252
+ }
253
+ function fallbackElementAnchorId(anchors, elementIndex) {
254
+ if (elementIndex < 0) {
255
+ if (elementIndex === -1 && anchors.clast)
256
+ return 'clast';
257
+ return undefined;
258
+ }
259
+ return anchors[`c${elementIndex}`] ? `c${elementIndex}` : undefined;
260
+ }
261
+ /**
262
+ * Compute the rightmost and bottommost extents across all cross-link
263
+ * scene elements (paths and text labels).
264
+ *
265
+ * For paths: extract all numeric coordinates from the SVG path `d` string.
266
+ * Taking the max of all numbers over-approximates bezier control-point
267
+ * extents, but that is safe (never under-estimates) and keeps the logic
268
+ * simple without a full bezier bounding-box solver.
269
+ *
270
+ * For text: use the anchor position plus an estimated character-width.
271
+ */
272
+ function crossLinkExtents(elements) {
273
+ let maxX = 0;
274
+ let maxY = 0;
275
+ for (const el of elements) {
276
+ if (el.type === 'path') {
277
+ // Extract all numbers from the path d string in adjacent x,y pairs.
278
+ // This works exactly for M/L commands and safely over-approximates C.
279
+ const nums = [];
280
+ for (const m of el.d.matchAll(/[-\d.]+/g)) {
281
+ const n = parseFloat(m[0]);
282
+ if (!isNaN(n))
283
+ nums.push(n);
284
+ }
285
+ for (let i = 0; i + 1 < nums.length; i += 2) {
286
+ maxX = Math.max(maxX, nums[i]);
287
+ maxY = Math.max(maxY, nums[i + 1]);
288
+ }
289
+ }
290
+ else if (el.type === 'text') {
291
+ const approxW = el.content.length * (el.fontSize ?? 12) * 0.65;
292
+ const right = el.anchor === 'middle'
293
+ ? el.position.x + approxW / 2
294
+ : el.position.x + approxW;
295
+ maxX = Math.max(maxX, right);
296
+ maxY = Math.max(maxY, el.position.y + (el.fontSize ?? 12));
297
+ }
298
+ }
299
+ return { maxX, maxY };
300
+ }
301
+ // ─── Cell Content Dispatch ────────────────────────────────────────────────────
302
+ function layoutCellContent(content, theme) {
303
+ const { palette, typography, spacing } = theme;
304
+ const unit = spacing.unit;
305
+ const pad = spacing.nodePadding;
306
+ switch (content.kind) {
307
+ case 'diagram': {
308
+ const module = getModule(content.diagramKind);
309
+ if (!module) {
310
+ const w = unit * 20;
311
+ const h = typography.baseFontSize + pad * 2;
312
+ return {
313
+ scene: {
314
+ viewBox: { x: 0, y: 0, width: w, height: h },
315
+ elements: [{ type: 'text', content: `[${content.diagramKind}]`, position: { x: pad, y: pad + typography.baseFontSize * 0.8 }, fontSize: typography.baseFontSize, fontFamily: typography.fontFamily, fill: palette.textMuted }],
316
+ },
317
+ anchors: {},
318
+ };
319
+ }
320
+ return module.layout(content.doc, theme);
321
+ }
322
+ case 'text': {
323
+ // Approximate width: ~8px per character at baseFontSize, with min/max
324
+ const estCharW = typography.baseFontSize * 0.6;
325
+ const textW = Math.max(unit * 10, Math.min(unit * 30, content.text.length * estCharW + pad * 2));
326
+ const textH = typography.baseFontSize * typography.lineHeight + pad * 2;
327
+ return {
328
+ scene: {
329
+ viewBox: { x: 0, y: 0, width: textW, height: textH },
330
+ elements: [{ type: 'text', content: content.text, position: { x: pad, y: pad + typography.baseFontSize * 0.8 }, fontSize: typography.baseFontSize, fontFamily: typography.fontFamily, fill: palette.text }],
331
+ },
332
+ anchors: {},
333
+ };
334
+ }
335
+ case 'stat': {
336
+ const valueFontSize = typography.titleFontSize * 1.5;
337
+ const cellW = Math.max(unit * 10, valueFontSize * 3);
338
+ const centerX = cellW / 2;
339
+ const valueY = pad + valueFontSize * 0.8;
340
+ const labelGap = unit;
341
+ const labelY = valueY + labelGap + typography.smallFontSize * 0.8;
342
+ const cellH = content.label
343
+ ? valueY + labelGap + typography.smallFontSize + pad
344
+ : valueY + pad;
345
+ const els = [
346
+ { type: 'text', content: content.value, position: { x: centerX, y: valueY }, fontSize: valueFontSize, fontFamily: typography.fontFamily, fontWeight: 'bold', fill: palette.primary, anchor: 'middle' },
347
+ ];
348
+ if (content.label) {
349
+ els.push({ type: 'text', content: content.label, position: { x: centerX, y: labelY }, fontSize: typography.smallFontSize, fontFamily: typography.fontFamily, fill: palette.textMuted, anchor: 'middle' });
350
+ }
351
+ return {
352
+ scene: { viewBox: { x: 0, y: 0, width: cellW, height: cellH }, elements: els },
353
+ anchors: {},
354
+ };
355
+ }
356
+ }
357
+ }
358
+ // ─── Scene Embedding ─────────────────────────────────────────────────────────
359
+ function embedScene(scene, into) {
360
+ const scaleX = into.width / Math.max(scene.viewBox.width, 1);
361
+ const scaleY = into.height / Math.max(scene.viewBox.height, 1);
362
+ const scale = Math.min(scaleX, scaleY, 1);
363
+ // Centre within the cell
364
+ const offsetX = into.x + (into.width - scene.viewBox.width * scale) / 2;
365
+ const offsetY = into.y + (into.height - scene.viewBox.height * scale) / 2;
366
+ return {
367
+ type: 'group',
368
+ transform: `translate(${offsetX}, ${offsetY}) scale(${scale})`,
369
+ children: scene.elements,
370
+ };
371
+ }
372
+ // ─── Cell Title (theme.panel) ─────────────────────────────────────────────────
373
+ /**
374
+ * Interior height a cell must reserve at its top for the title, given the
375
+ * theme's panel placement. 'above' titles live outside the frame (0 reserved);
376
+ * 'on-border' titles straddle the edge (half reserved); 'inside' titles sit
377
+ * fully within the frame (full reserved).
378
+ */
379
+ function reservedTitleHeight(theme) {
380
+ const { typography, spacing, panel } = theme;
381
+ const fs = typography.baseFontSize;
382
+ const boxH = titleBoxHeight(theme);
383
+ switch (panel.titlePosition) {
384
+ case 'above': return 0;
385
+ case 'on-border': return boxH / 2 + spacing.unit * 0.5;
386
+ case 'inside':
387
+ default: return fs + spacing.unit;
388
+ }
389
+ }
390
+ function titleBoxHeight(theme) {
391
+ const fs = theme.typography.baseFontSize;
392
+ const padY = theme.panel.titleChrome === 'none' ? 0 : theme.spacing.unit * 0.4;
393
+ return fs + padY * 2;
394
+ }
395
+ /**
396
+ * Build the SceneElements for a cell title (optional chrome rect + text),
397
+ * honouring the theme's panel alignment / vertical position / chrome. Returns
398
+ * the elements plus an occupied rect used for cross-link label de-collision.
399
+ */
400
+ function buildCellTitle(title, cellX, cellY, cellW, theme) {
401
+ const { palette, typography, panel, spacing } = theme;
402
+ const unit = spacing.unit;
403
+ const fs = typography.baseFontSize;
404
+ const padX = panel.titleChrome === 'none' ? 0 : unit * 0.75;
405
+ const padY = panel.titleChrome === 'none' ? 0 : unit * 0.4;
406
+ const tw = measureText(title, fs).width;
407
+ const boxW = tw + padX * 2;
408
+ const boxH = fs + padY * 2;
409
+ const wall = unit; // inset of the title from the left/right wall
410
+ // Horizontal: box origin + text anchor point.
411
+ let boxX;
412
+ let anchorX;
413
+ let anchor;
414
+ if (panel.titleAlign === 'center') {
415
+ boxX = cellX + cellW / 2 - boxW / 2;
416
+ anchorX = cellX + cellW / 2;
417
+ anchor = 'middle';
418
+ }
419
+ else if (panel.titleAlign === 'right') {
420
+ boxX = cellX + cellW - wall - boxW;
421
+ anchorX = boxX + boxW - padX;
422
+ anchor = 'end';
423
+ }
424
+ else {
425
+ boxX = cellX + wall;
426
+ anchorX = boxX + padX;
427
+ anchor = 'start';
428
+ }
429
+ // Vertical: top of the chrome box relative to the cell's top edge.
430
+ let boxTop;
431
+ if (panel.titlePosition === 'on-border') {
432
+ boxTop = cellY - boxH / 2;
433
+ }
434
+ else if (panel.titlePosition === 'above') {
435
+ boxTop = cellY - boxH - unit * 0.25;
436
+ }
437
+ else {
438
+ boxTop = cellY + unit * 0.5;
439
+ }
440
+ const baselineY = boxTop + padY + fs * 0.8;
441
+ const elements = [];
442
+ if (panel.titleChrome !== 'none') {
443
+ const rx = panel.titleChrome === 'pill' ? boxH / 2 : Math.min(6, boxH / 3);
444
+ elements.push({ type: 'rect', bounds: { x: boxX, y: boxTop, width: boxW, height: boxH }, fill: palette.surface, stroke: palette.border, strokeWidth: 1, rx });
445
+ }
446
+ elements.push({ type: 'text', content: title, position: { x: anchorX, y: baselineY }, fontSize: fs, fontFamily: typography.fontFamily, fontWeight: 'bold', fill: palette.text, anchor });
447
+ return { elements, occupied: { x: boxX, y: boxTop, width: boxW, height: boxH } };
448
+ }
449
+ // ─── Grid Helpers ─────────────────────────────────────────────────────────────
450
+ /** Grid placement: assigns row/col to each cell, reserving spanned cells so
451
+ * later cells skip slots already covered by a colSpan/rowSpan. Exported for tests. */
452
+ export function assignPositions(cells, columns) {
453
+ const occupied = new Set();
454
+ const key = (r, c) => `${r},${c}`;
455
+ const mark = (r, c, rs, cs) => {
456
+ for (let rr = r; rr < r + rs; rr++)
457
+ for (let cc = c; cc < c + cs; cc++)
458
+ occupied.add(key(rr, cc));
459
+ };
460
+ const fits = (r, c, rs, cs) => {
461
+ if (c + cs > columns)
462
+ return false;
463
+ for (let rr = r; rr < r + rs; rr++)
464
+ for (let cc = c; cc < c + cs; cc++)
465
+ if (occupied.has(key(rr, cc)))
466
+ return false;
467
+ return true;
468
+ };
469
+ let row = 0, col = 0;
470
+ return cells.map(cell => {
471
+ const cs = Math.min(cell.colSpan ?? 1, columns);
472
+ const rs = cell.rowSpan ?? 1;
473
+ // Explicitly placed cells are honoured as-is, but still reserve their footprint.
474
+ if (cell.row !== undefined && cell.col !== undefined) {
475
+ mark(cell.row, cell.col, rs, cs);
476
+ return cell;
477
+ }
478
+ // Scan row-major for the first free slot whose full span fits.
479
+ while (!fits(row, col, rs, cs)) {
480
+ col++;
481
+ if (col >= columns) {
482
+ col = 0;
483
+ row++;
484
+ }
485
+ }
486
+ const assigned = { ...cell, row, col };
487
+ mark(row, col, rs, cs);
488
+ col += cs;
489
+ if (col >= columns) {
490
+ col = 0;
491
+ row++;
492
+ }
493
+ return assigned;
494
+ });
495
+ }
496
+ /** Sum widths/heights from index `start` (inclusive) to `end` (exclusive) with gaps. */
497
+ function sumWithGaps(sizes, start, end, gap) {
498
+ let total = 0;
499
+ for (let i = start; i < end; i++)
500
+ total += (sizes[i] ?? 0) + gap;
501
+ return total;
502
+ }
503
+ /**
504
+ * Generate an Excel-style cell address from row/col indices.
505
+ * col 0 → "A", col 1 → "B", ..., col 25 → "Z", col 26 → "AA"
506
+ * Row is 1-indexed in the output: row 0 → "1".
507
+ */
508
+ function cellAddressFromPosition(row, col) {
509
+ let addr = '';
510
+ let c = col;
511
+ do {
512
+ addr = String.fromCharCode(65 + (c % 26)) + addr;
513
+ c = Math.floor(c / 26) - 1;
514
+ } while (c >= 0);
515
+ return `${addr}${row + 1}`;
516
+ }
517
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/poster/layout.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,8 @@
14
14
  * Edges are coloured/dashed by the tier their weight falls into; a legend is
15
15
  * rendered from the `costs` block. Demonstrates style/cost end to end.
16
16
  */
17
- import type { DiagramModule, ResolvedTheme, LayoutResult } from '../../contracts/index.js';
18
- import { type CostScale } from '../../style/cost.js';
17
+ import type { DiagramModule, ResolvedTheme, LayoutResult } from '../../../contracts/index.js';
18
+ import { type CostScale } from '../../../style/cost.js';
19
19
  interface TopoNode {
20
20
  id: string;
21
21
  label: string;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topology.d.ts","sourceRoot":"","sources":["../../../../../../src/diagrams/triton/topology/topology.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACV,aAAa,EAAE,aAAa,EAAE,YAAY,EAC3C,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAA6B,KAAK,SAAS,EAAiB,MAAM,wBAAwB,CAAC;AAGlG,UAAU,QAAQ;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAAE;AAC/E,UAAU,SAAS;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;CAAE;AAClD,UAAU,QAAQ;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAAE;AAC/D,UAAU,WAAW;IAAG,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;CAAE;AAmDtH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,GAAG,YAAY,CAiHnF;AAED,eAAO,MAAM,QAAQ,EAAE,aAAa,CAAC,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAUxG,CAAC"}