@diagrammo/dgmo 0.52.0 → 0.54.0

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 (339) hide show
  1. package/.cursorrules +59 -58
  2. package/.github/copilot-instructions.md +59 -58
  3. package/.windsurfrules +59 -58
  4. package/SKILL.md +59 -58
  5. package/dist/advanced.d.ts +101 -230
  6. package/dist/advanced.js +330 -658
  7. package/dist/analyzer-TDN5KJFP.js +15 -0
  8. package/dist/auto.css +14 -6
  9. package/dist/auto.js +163 -139
  10. package/dist/auto.mjs +1859 -885
  11. package/dist/block.css +14 -6
  12. package/dist/block.js +96 -81
  13. package/dist/calculator-VBIT6GQF.js +11 -0
  14. package/dist/chart-meta-CPNVUZ5J.d.ts +232 -0
  15. package/dist/chart-meta.d.ts +2 -0
  16. package/dist/chart-meta.js +108 -0
  17. package/dist/charts-d3-25E4VWXO.js +27 -0
  18. package/dist/chunk-2CW5ZTNH.js +58 -0
  19. package/dist/{chunk-BPY242XU.js → chunk-2NYXI35Z.js} +32 -14
  20. package/dist/{chunk-AUIM2NVH.js → chunk-2NZOHEP4.js} +7 -8
  21. package/dist/{chunk-HFMYN6N2.js → chunk-3B2GXZCX.js} +4 -3
  22. package/dist/chunk-3FRO35WW.js +1158 -0
  23. package/dist/{chunk-J7TLCB2Q.js → chunk-3IUHKMJI.js} +2 -2
  24. package/dist/{chunk-R3YSD62R.js → chunk-3KHJJP3J.js} +3 -3
  25. package/dist/{chunk-6LBQ7ELG.js → chunk-3SBHODJ4.js} +36 -17
  26. package/dist/{chunk-4UNQ6X24.js → chunk-3SEEP2JM.js} +4 -4
  27. package/dist/{chunk-7L4UJOY6.js → chunk-3TYUXC7D.js} +2 -2
  28. package/dist/{chunk-Y2ZE3MSG.js → chunk-43E26CDA.js} +2 -2
  29. package/dist/{chunk-CCNDLW7Z.js → chunk-47JNEKJA.js} +9 -9
  30. package/dist/{chunk-WCT3NYCV.js → chunk-4ASYQ347.js} +33 -8
  31. package/dist/{chunk-I5IGB56C.js → chunk-4QV26TEG.js} +41 -1
  32. package/dist/{chunk-INE5YJBZ.js → chunk-4T6OCSJ2.js} +8 -8
  33. package/dist/{chunk-CXK4DZH3.js → chunk-4W2PE66Q.js} +12 -2
  34. package/dist/{chunk-7KINELPI.js → chunk-4ZIKWVSQ.js} +17 -16
  35. package/dist/{chunk-JED6ZDEE.js → chunk-5HWPEYWB.js} +2 -2
  36. package/dist/{chunk-HWX6ZHF3.js → chunk-5VXU6MND.js} +6 -6
  37. package/dist/{chunk-44VCIPHF.js → chunk-5XSNLXU5.js} +23 -20
  38. package/dist/{chunk-4AQRFDXL.js → chunk-62Y27T4C.js} +2 -2
  39. package/dist/{chunk-QHXCAEMX.js → chunk-6KL7TFLS.js} +5 -5
  40. package/dist/{chunk-5BHJZH62.js → chunk-6OYDOQ2Q.js} +18 -6
  41. package/dist/{chunk-5HILBT7X.js → chunk-7JDTNFAK.js} +3 -3
  42. package/dist/{chunk-JRCOYRRH.js → chunk-7K6NDSXH.js} +9 -9
  43. package/dist/{chunk-5NGAO4QK.js → chunk-7SP4C6EV.js} +11 -11
  44. package/dist/{chunk-I46X5VUA.js → chunk-7TF3QOOD.js} +25 -1
  45. package/dist/{chunk-WRNFDFPU.js → chunk-7U4OR7CD.js} +2 -2
  46. package/dist/{chunk-5RP7JRVP.js → chunk-7UPFTBOW.js} +21 -17
  47. package/dist/{chunk-AAXZDUOV.js → chunk-A3BDLDYG.js} +17 -16
  48. package/dist/{chunk-GCYTI3DE.js → chunk-ADCHLNWT.js} +56 -10
  49. package/dist/{chunk-QBZYACOG.js → chunk-ADYKAKE3.js} +3 -3
  50. package/dist/{chunk-HHKO6SKY.js → chunk-AHTTKERF.js} +3 -3
  51. package/dist/{chunk-BKVOYV6I.js → chunk-AJFHNS67.js} +15 -15
  52. package/dist/{chunk-EMLPOL77.js → chunk-AQEYUVGJ.js} +124 -41
  53. package/dist/{chunk-3LK5DNED.js → chunk-B4XS2AF2.js} +3 -3
  54. package/dist/{chunk-REJAIQ5S.js → chunk-B7N5KYXQ.js} +16 -16
  55. package/dist/chunk-BEOAKGNA.js +484 -0
  56. package/dist/{chunk-SMRFPVLQ.js → chunk-BM7MG6HT.js} +4 -4
  57. package/dist/{chunk-P3NRSSUU.js → chunk-BULHGPHK.js} +3 -3
  58. package/dist/{chunk-QZX5S6R3.js → chunk-BWYFIVZF.js} +149 -89
  59. package/dist/{chunk-UBLHQTLV.js → chunk-BZJIITYM.js} +11 -10
  60. package/dist/{chunk-PRI2OD4E.js → chunk-C2UORMIA.js} +11 -6
  61. package/dist/{chunk-3YRPZ7ZZ.js → chunk-CCGWX6AO.js} +4 -4
  62. package/dist/{chunk-H7KENAZO.js → chunk-COJW2NEY.js} +73 -13
  63. package/dist/{chunk-WBRZJOEC.js → chunk-COVYNAKJ.js} +6 -6
  64. package/dist/{chunk-7QE3XMRK.js → chunk-CSHFU6LT.js} +13 -13
  65. package/dist/{chunk-6EJITS44.js → chunk-DLU643TF.js} +7 -7
  66. package/dist/{chunk-LBMS4AW6.js → chunk-DPGQ5UMO.js} +14 -14
  67. package/dist/{chunk-LTXOLDUZ.js → chunk-EAI6XJ7D.js} +12 -5
  68. package/dist/{chunk-FT3ZYWET.js → chunk-EPRF3ZRV.js} +11 -10
  69. package/dist/chunk-EQOMY4PY.js +404 -0
  70. package/dist/{chunk-USZW2HHU.js → chunk-EQW6HOP4.js} +4 -3
  71. package/dist/{chunk-HBPDFCQY.js → chunk-F7XM366V.js} +10 -9
  72. package/dist/{chunk-DYWQFQJP.js → chunk-FFVFZLRT.js} +57 -24
  73. package/dist/{chunk-77FGAVZC.js → chunk-FR6UFVSV.js} +19 -17
  74. package/dist/{chunk-MUE65OTD.js → chunk-FVMKCZHF.js} +8 -6
  75. package/dist/{chunk-3QD7VP3U.js → chunk-GK32ZFZY.js} +17 -10
  76. package/dist/{chunk-TJVLKNGR.js → chunk-GKYHWJXI.js} +5 -5
  77. package/dist/{chunk-FQMUHRVC.js → chunk-GQ5ECRP4.js} +13 -10
  78. package/dist/{chunk-5QKQSSPO.js → chunk-GRM2A4BG.js} +4 -4
  79. package/dist/{chunk-OTOHI4JO.js → chunk-H3HFC3SQ.js} +2 -2
  80. package/dist/{chunk-BPIZNB5O.js → chunk-HAA25PLC.js} +10 -10
  81. package/dist/{chunk-YIBAWQGJ.js → chunk-HFEOOQ46.js} +4 -4
  82. package/dist/{chunk-J76PIKAT.js → chunk-HO3RCNF6.js} +3 -3
  83. package/dist/{chunk-7DF4J4RL.js → chunk-I47VHSPS.js} +19 -13
  84. package/dist/{chunk-5SEVICBT.js → chunk-ICKXIMBA.js} +10 -9
  85. package/dist/{chunk-A44USUV7.js → chunk-ICZ7M6IZ.js} +23 -17
  86. package/dist/{chunk-SWSIKFEB.js → chunk-IOIMQHQ6.js} +4 -4
  87. package/dist/{chunk-6HQH6JZE.js → chunk-IYNKLCAZ.js} +7 -7
  88. package/dist/{chunk-YAA6IID3.js → chunk-J7HQPVYH.js} +2 -2
  89. package/dist/{chunk-WBM7ZNDI.js → chunk-JYDMBWRP.js} +35 -18
  90. package/dist/{chunk-ZJV7GYR4.js → chunk-KBVOVDYP.js} +8 -8
  91. package/dist/{chunk-ICPJPQ5C.js → chunk-KDK5EKUR.js} +3 -3
  92. package/dist/{chunk-FHGVORFO.js → chunk-KINOX74I.js} +12 -12
  93. package/dist/{chunk-XD6ZYURY.js → chunk-KQ3FNRGR.js} +7 -14
  94. package/dist/{chunk-3HGU63UY.js → chunk-KQYQECWQ.js} +17 -16
  95. package/dist/{chunk-MUVJ57EP.js → chunk-KS5ZSM5T.js} +20 -17
  96. package/dist/{chunk-FY5MSZAP.js → chunk-KV4HLIJE.js} +21 -6
  97. package/dist/{chunk-LGT3PZCJ.js → chunk-LPJ6H5X4.js} +17 -17
  98. package/dist/{chunk-ONU3U4GL.js → chunk-LRSW4JLE.js} +52 -16
  99. package/dist/{chunk-TPFKKXCB.js → chunk-M24VXUFG.js} +7 -7
  100. package/dist/{chunk-QJMKPUYK.js → chunk-M3H7ZE6C.js} +21 -14
  101. package/dist/{chunk-QVENJMNX.js → chunk-MEQYZZFR.js} +2 -2
  102. package/dist/{chunk-75G3Q4DK.js → chunk-MTZOXISJ.js} +9 -9
  103. package/dist/{chunk-J7KJR3R6.js → chunk-N7BSBAVP.js} +133 -696
  104. package/dist/{chunk-VQOCMUWI.js → chunk-NUTWTV6G.js} +13 -11
  105. package/dist/{chunk-7BIZCTAX.js → chunk-O576GYAP.js} +3 -3
  106. package/dist/{chunk-H6PI3KJT.js → chunk-ODUT5WMC.js} +2 -2
  107. package/dist/{chunk-AL672HNE.js → chunk-OJ435DQZ.js} +17 -7
  108. package/dist/{chunk-3HF5YEFJ.js → chunk-OR3R27CU.js} +4 -4
  109. package/dist/{chunk-QGATPIPX.js → chunk-OSXQKC3S.js} +35 -23
  110. package/dist/{chunk-FUPF2UYQ.js → chunk-PIXZTCKH.js} +51 -108
  111. package/dist/{chunk-QOOUC2J5.js → chunk-Q5IHQ4NW.js} +12 -2
  112. package/dist/{chunk-4IHAV6O7.js → chunk-QBYP2FBZ.js} +10 -478
  113. package/dist/{chunk-GU46PPT3.js → chunk-QXGACPS2.js} +5 -5
  114. package/dist/{chunk-FMDSF3OV.js → chunk-QZAW5SFH.js} +2 -2
  115. package/dist/{chunk-YTMTPUH4.js → chunk-R5BGGBFF.js} +4 -4
  116. package/dist/{chunk-KGVZ5VGH.js → chunk-RIEAN4D5.js} +16 -12
  117. package/dist/{chunk-5223KXFD.js → chunk-RJ5LBZ5U.js} +7 -7
  118. package/dist/{chunk-K4EOKJA6.js → chunk-RRGKMJYL.js} +45 -18
  119. package/dist/{chunk-TTIM6YTT.js → chunk-S7FOIURR.js} +14 -13
  120. package/dist/{chunk-IM6PDDCE.js → chunk-S7YFT3PO.js} +78 -23
  121. package/dist/{chunk-ZEF5M5MB.js → chunk-SBOAZ7YK.js} +82 -296
  122. package/dist/{chunk-6NYWYNBI.js → chunk-SSHS42QG.js} +6 -6
  123. package/dist/{chunk-NNS4E7CW.js → chunk-T3FAJAJT.js} +18 -9
  124. package/dist/{chunk-ROOE4R4Y.js → chunk-T7Y554OK.js} +146 -18
  125. package/dist/chunk-TGOMHUOV.js +218 -0
  126. package/dist/{chunk-K2I2XOZD.js → chunk-TJN2OIVG.js} +30 -15
  127. package/dist/{chunk-VILVLS7P.js → chunk-TLNVYWPA.js} +8 -4
  128. package/dist/{chunk-GJFAMOGK.js → chunk-U4IN6AHE.js} +7 -7
  129. package/dist/chunk-U7VO6JAA.js +566 -0
  130. package/dist/{chunk-MX2EY5Y7.js → chunk-UEU6IYKY.js} +2 -2
  131. package/dist/{chunk-J6QROYDA.js → chunk-UIT7E6UF.js} +26 -10
  132. package/dist/{chunk-Z72XRXD4.js → chunk-UJRTPOHH.js} +3 -3
  133. package/dist/{chunk-TYS6CSS5.js → chunk-UU6LUYUH.js} +2 -2
  134. package/dist/{chunk-VL2O2F3W.js → chunk-VHO3YBTB.js} +2 -2
  135. package/dist/{chunk-4YFKQ5WT.js → chunk-VMSBMIHW.js} +5 -5
  136. package/dist/{chunk-Z5QVYKR7.js → chunk-VQFDBNYF.js} +4 -4
  137. package/dist/{chunk-UNURMIQO.js → chunk-W6PCFRPL.js} +4 -4
  138. package/dist/{chunk-FFUN5D66.js → chunk-WF64MW5G.js} +2 -2
  139. package/dist/{chunk-T4A4TSTJ.js → chunk-WKNAJ4BR.js} +20 -18
  140. package/dist/{chunk-CIRFIL4M.js → chunk-WW4BQ744.js} +11 -11
  141. package/dist/{chunk-ARGMQ3H4.js → chunk-WWHECSYZ.js} +3 -3
  142. package/dist/{chunk-ZNWAYU6N.js → chunk-XWODFBHJ.js} +73 -18
  143. package/dist/{chunk-HQQNCY7W.js → chunk-YENNFS5F.js} +10 -10
  144. package/dist/{chunk-TLVIHFRO.js → chunk-ZKPPI6BF.js} +2 -2
  145. package/dist/cli.cjs +173 -157
  146. package/dist/clock.js +9 -1
  147. package/dist/completion-registry.d.ts +129 -0
  148. package/dist/completion-registry.js +1270 -0
  149. package/dist/{compute-G55RG53N.js → compute-JAP5E2E4.js} +2 -2
  150. package/dist/countdown.js +4 -3
  151. package/dist/dgmo-router-TGZWFIZO.js +88 -0
  152. package/dist/dimensions-L6BXQXXL.js +22 -0
  153. package/dist/editor.js +51 -5
  154. package/dist/element.js +163 -139
  155. package/dist/element.mjs +1859 -885
  156. package/dist/flowchart-parser-UKYOW3VM.js +21 -0
  157. package/dist/{flowchart-renderer-MNCDS7MV.js → flowchart-renderer-DCFKUDDR.js} +16 -16
  158. package/dist/highlight.js +55 -6
  159. package/dist/index.d.ts +4 -2
  160. package/dist/index.js +89 -81
  161. package/dist/layout-25Y3VDYF.js +19 -0
  162. package/dist/layout-4SPLI4HG.js +15 -0
  163. package/dist/layout-5XGYNYVT.js +9 -0
  164. package/dist/{layout-OAC4PEAC.js → layout-A6OIGZN2.js} +7 -7
  165. package/dist/layout-AZUPXWSK.js +15 -0
  166. package/dist/{layout-F4WO357A.js → layout-CAAKQX4W.js} +3 -3
  167. package/dist/{layout-A5UHRWVH.js → layout-CB3XWCOI.js} +3 -3
  168. package/dist/layout-CH4HFFRD.js +15 -0
  169. package/dist/layout-G2ABQJQZ.js +20 -0
  170. package/dist/{layout-7QXCNOVS.js → layout-HBWT2G23.js} +3 -3
  171. package/dist/{layout-2L3WMRYU.js → layout-ITLPDG6M.js} +9 -8
  172. package/dist/layout-NF4EWFLT.js +17 -0
  173. package/dist/layout-NY7MHJCL.js +15 -0
  174. package/dist/layout-QBNAMEOA.js +19 -0
  175. package/dist/layout-SP7HJWKA.js +17 -0
  176. package/dist/{layout-search-55FU6HD3.js → layout-search-LUI475P3.js} +56 -35
  177. package/dist/legend-constants-B77VKB3R.js +54 -0
  178. package/dist/{palettes-UDLZ2SA4.js → palettes-FGTNFARW.js} +4 -4
  179. package/dist/parser-2UWWNTFL.js +12 -0
  180. package/dist/parser-3RXYQSA7.js +18 -0
  181. package/dist/parser-5C3PEZK3.js +11 -0
  182. package/dist/parser-66RYGJRB.js +20 -0
  183. package/dist/parser-6GN5YJBJ.js +13 -0
  184. package/dist/parser-6MQM7WT3.js +15 -0
  185. package/dist/{parser-DQAFLUJB.js → parser-7UI6UQ7B.js} +7 -7
  186. package/dist/parser-B2A7XOAK.js +12 -0
  187. package/dist/parser-CCNJKDDA.js +16 -0
  188. package/dist/parser-ESHNUFME.js +13 -0
  189. package/dist/parser-F4FEU57T.js +11 -0
  190. package/dist/parser-FHRMFUNX.js +15 -0
  191. package/dist/parser-FPCWDYQV.js +13 -0
  192. package/dist/parser-FY3YFFBS.js +20 -0
  193. package/dist/parser-GML6V2KZ.js +14 -0
  194. package/dist/parser-HA3PF5FL.js +15 -0
  195. package/dist/parser-KTYF6WO5.js +11 -0
  196. package/dist/{parser-ZL5QUFVH.js → parser-LTA2BOZO.js} +5 -5
  197. package/dist/parser-LU7UAKNB.js +13 -0
  198. package/dist/parser-MHKYQPC2.js +11 -0
  199. package/dist/parser-MVSYFK63.js +17 -0
  200. package/dist/parser-O7YQYFEN.js +15 -0
  201. package/dist/parser-OPIXXUY4.js +21 -0
  202. package/dist/parser-S4EJPNVN.js +19 -0
  203. package/dist/parser-T3D7BV6O.js +11 -0
  204. package/dist/{parser-YKYMQG3B.js → parser-VVE4THG3.js} +6 -6
  205. package/dist/parser-WPPJGB4R.js +12 -0
  206. package/dist/parser-X5XLFY4Z.js +22 -0
  207. package/dist/parser-XCPMEB2Z.js +11 -0
  208. package/dist/parser-XRDUX2AR.js +14 -0
  209. package/dist/parser-YPWYT46P.js +16 -0
  210. package/dist/parser-YULS5MLD.js +13 -0
  211. package/dist/pert.d.ts +2 -0
  212. package/dist/registry-CaSw0PSH.d.ts +350 -0
  213. package/dist/renderer-2DME63VZ.js +16 -0
  214. package/dist/renderer-3VY3VXJE.js +37 -0
  215. package/dist/renderer-4A32DX5L.js +24 -0
  216. package/dist/renderer-4K5YYX5R.js +28 -0
  217. package/dist/renderer-6CFML5G3.js +22 -0
  218. package/dist/renderer-7HMZ5OCJ.js +16 -0
  219. package/dist/renderer-7ZNVOVFG.js +16 -0
  220. package/dist/{renderer-CQY6ATOS.js → renderer-B7Y6I7JX.js} +9 -8
  221. package/dist/renderer-C3RI4OPJ.js +33 -0
  222. package/dist/renderer-CJ56SUMF.js +26 -0
  223. package/dist/renderer-COJZZ4F6.js +25 -0
  224. package/dist/renderer-FXMGCSRP.js +26 -0
  225. package/dist/{renderer-HSHHVYWF.js → renderer-G4UOW3RH.js} +7 -7
  226. package/dist/renderer-HQ4JFZOV.js +27 -0
  227. package/dist/{renderer-NHO46CT2.js → renderer-K7XLVPH5.js} +6 -6
  228. package/dist/{renderer-ZWIH4WDW.js → renderer-LHVCKEWF.js} +13 -13
  229. package/dist/renderer-OZX5KGQM.js +21 -0
  230. package/dist/{renderer-3F7OS2AX.js → renderer-P3YQES7B.js} +16 -16
  231. package/dist/renderer-PLVIARM7.js +24 -0
  232. package/dist/renderer-RA4PTAMF.js +19 -0
  233. package/dist/renderer-RMAM2SOJ.js +28 -0
  234. package/dist/renderer-SES7QZYL.js +37 -0
  235. package/dist/renderer-TQ5QDZOE.js +22 -0
  236. package/dist/renderer-V5SNTPAM.js +27 -0
  237. package/dist/{renderer-5DAKMIU2.js → renderer-WCWI4I6A.js} +5 -5
  238. package/dist/renderer-WVD6G2TS.js +34 -0
  239. package/dist/{renderer-DT4XRFEP.js → renderer-X2LYSMLU.js} +7 -7
  240. package/dist/renderer-Y3NXZINM.js +24 -0
  241. package/dist/{renderer-KNFTTOBL.js → renderer-YEFOOULC.js} +14 -14
  242. package/dist/renderer-YP3P6UVT.js +24 -0
  243. package/dist/renderer-YVMETH6V.js +29 -0
  244. package/dist/renderer-Z4GNKNXO.js +24 -0
  245. package/dist/renderer-radial-VYBZAXXE.js +21 -0
  246. package/dist/{resolver-EMTGNR3D.js → resolver-WFKZYBJ2.js} +4 -4
  247. package/dist/state-parser-VIW2WNA5.js +19 -0
  248. package/dist/state-renderer-H22AQD3U.js +38 -0
  249. package/dist/{themes-32xj5ZTW.d.ts → themes-tbBkIVsn.d.ts} +2 -349
  250. package/docs/ai-integration.md +59 -58
  251. package/docs/language-reference.md +323 -286
  252. package/fonts/Inter-Bold.woff2 +0 -0
  253. package/fonts/Inter-Regular.woff2 +0 -0
  254. package/gallery/fixtures/boxes-and-lines-diverging.dgmo +1 -2
  255. package/gallery/fixtures/boxes-and-lines.dgmo +1 -1
  256. package/gallery/fixtures/clock.dgmo +1 -1
  257. package/gallery/fixtures/event-line.dgmo +1 -1
  258. package/gallery/fixtures/gantt-full.dgmo +1 -1
  259. package/gallery/fixtures/gantt-sprints.dgmo +9 -9
  260. package/gallery/fixtures/gantt.dgmo +1 -1
  261. package/gallery/fixtures/legacy-syntax-backcompat.dgmo +16 -0
  262. package/gallery/fixtures/state-tags.dgmo +40 -0
  263. package/gallery/fixtures/swimlane.dgmo +1 -1
  264. package/gallery/fixtures/timeline-intraday.dgmo +1 -1
  265. package/package.json +9 -1
  266. package/dist/analyzer-BJ54GIFB.js +0 -15
  267. package/dist/calculator-LDYQCDDY.js +0 -11
  268. package/dist/charts-d3-MXEP6BNP.js +0 -26
  269. package/dist/chunk-BRENJ2BQ.js +0 -714
  270. package/dist/chunk-FQ7HTV52.js +0 -364
  271. package/dist/dgmo-router-X7ZGAPIE.js +0 -86
  272. package/dist/dimensions-45H6JQEY.js +0 -22
  273. package/dist/flowchart-parser-UKELHBSB.js +0 -21
  274. package/dist/layout-46N4JJYK.js +0 -17
  275. package/dist/layout-A4XWNVID.js +0 -14
  276. package/dist/layout-AM2JWW3X.js +0 -15
  277. package/dist/layout-EE6GE46Y.js +0 -17
  278. package/dist/layout-G23F7LDH.js +0 -9
  279. package/dist/layout-GM4UGR7B.js +0 -19
  280. package/dist/layout-GQQJXNYH.js +0 -15
  281. package/dist/layout-IIE2S5FK.js +0 -20
  282. package/dist/layout-VMCRX66I.js +0 -14
  283. package/dist/layout-ZDOSXL5G.js +0 -19
  284. package/dist/parser-2ECN6JA2.js +0 -16
  285. package/dist/parser-4WTIHM5J.js +0 -11
  286. package/dist/parser-5H2BTSJQ.js +0 -11
  287. package/dist/parser-75KVXUNS.js +0 -16
  288. package/dist/parser-774AC53T.js +0 -13
  289. package/dist/parser-BE4YCSRU.js +0 -11
  290. package/dist/parser-CNGUQUQI.js +0 -11
  291. package/dist/parser-DEUUSQIN.js +0 -22
  292. package/dist/parser-EYCKNKQA.js +0 -21
  293. package/dist/parser-FXISIU6A.js +0 -14
  294. package/dist/parser-GTB4XC7P.js +0 -18
  295. package/dist/parser-GVEPAUSD.js +0 -12
  296. package/dist/parser-HSQGTY4G.js +0 -19
  297. package/dist/parser-HVKRINUS.js +0 -11
  298. package/dist/parser-J5MIEYO4.js +0 -15
  299. package/dist/parser-KMZIXLDZ.js +0 -13
  300. package/dist/parser-LJHXWSXU.js +0 -14
  301. package/dist/parser-PT3W72G5.js +0 -15
  302. package/dist/parser-SBJQDPHL.js +0 -15
  303. package/dist/parser-SUWWWCMX.js +0 -12
  304. package/dist/parser-SXDRNZOA.js +0 -13
  305. package/dist/parser-UMILOW3M.js +0 -14
  306. package/dist/parser-UP3AZ367.js +0 -13
  307. package/dist/parser-WHPRV3X5.js +0 -20
  308. package/dist/parser-WX3UODSJ.js +0 -12
  309. package/dist/parser-XCIEN3KN.js +0 -13
  310. package/dist/parser-XIRTUMVN.js +0 -18
  311. package/dist/parser-YKCGIG45.js +0 -11
  312. package/dist/parser-ZGM2OJ6Y.js +0 -22
  313. package/dist/renderer-4QB4K7Q3.js +0 -24
  314. package/dist/renderer-5H4SY7YY.js +0 -22
  315. package/dist/renderer-5PIQPFOX.js +0 -16
  316. package/dist/renderer-6MU37QF5.js +0 -19
  317. package/dist/renderer-AQVMWJ4M.js +0 -27
  318. package/dist/renderer-BDDW6K7N.js +0 -24
  319. package/dist/renderer-BNB3VIDY.js +0 -26
  320. package/dist/renderer-CVW75CXL.js +0 -37
  321. package/dist/renderer-ERHBSTQT.js +0 -25
  322. package/dist/renderer-IDPVUFNB.js +0 -28
  323. package/dist/renderer-ILX6BGKR.js +0 -21
  324. package/dist/renderer-JP663HKG.js +0 -22
  325. package/dist/renderer-MVUZBESR.js +0 -16
  326. package/dist/renderer-N4EBR2FV.js +0 -28
  327. package/dist/renderer-NO2QJ5LZ.js +0 -27
  328. package/dist/renderer-OGFV5RXX.js +0 -34
  329. package/dist/renderer-PDLESJMS.js +0 -37
  330. package/dist/renderer-T4MTNINC.js +0 -24
  331. package/dist/renderer-TOUGFGTM.js +0 -24
  332. package/dist/renderer-U3KPD43Y.js +0 -34
  333. package/dist/renderer-X334IJU2.js +0 -26
  334. package/dist/renderer-Y5OAMOCR.js +0 -23
  335. package/dist/renderer-YONAKAJU.js +0 -16
  336. package/dist/renderer-YWMI6Y2U.js +0 -29
  337. package/dist/renderer-radial-7CGZMVMS.js +0 -21
  338. package/dist/state-parser-BATWAID2.js +0 -18
  339. package/dist/state-renderer-3FKZJ3LP.js +0 -34
@@ -4,10 +4,10 @@ import {
4
4
  renderNoteBadge,
5
5
  renderNoteBox,
6
6
  renderNoteConnector
7
- } from "./chunk-J7TLCB2Q.js";
7
+ } from "./chunk-3IUHKMJI.js";
8
8
  import {
9
9
  layoutERDiagram
10
- } from "./chunk-6NYWYNBI.js";
10
+ } from "./chunk-SSHS42QG.js";
11
11
  import {
12
12
  EDGE_STROKE_WIDTH,
13
13
  NODE_STROKE_WIDTH
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-YYVTBZZC.js";
18
18
  import {
19
19
  renderIntegratedLegend
20
- } from "./chunk-AUIM2NVH.js";
20
+ } from "./chunk-2NZOHEP4.js";
21
21
  import {
22
22
  TITLE_FONT_SIZE,
23
23
  TITLE_FONT_WEIGHT,
@@ -26,27 +26,28 @@ import {
26
26
  import {
27
27
  FONT_FAMILY
28
28
  } from "./chunk-6KFWC4CO.js";
29
+ import {
30
+ parseERDiagram
31
+ } from "./chunk-B7N5KYXQ.js";
29
32
  import {
30
33
  LEGEND_HEIGHT
31
- } from "./chunk-QOOUC2J5.js";
34
+ } from "./chunk-Q5IHQ4NW.js";
32
35
  import {
33
36
  measureText
34
- } from "./chunk-WCT3NYCV.js";
35
- import {
36
- parseERDiagram
37
- } from "./chunk-REJAIQ5S.js";
37
+ } from "./chunk-4ASYQ347.js";
38
38
  import {
39
39
  contrastText,
40
40
  getSeriesColors,
41
41
  shapeFill
42
- } from "./chunk-WBM7ZNDI.js";
42
+ } from "./chunk-JYDMBWRP.js";
43
43
  import {
44
44
  resolveTagColor,
45
45
  tagAttrKey
46
- } from "./chunk-HHKO6SKY.js";
46
+ } from "./chunk-AHTTKERF.js";
47
47
  import {
48
- fillModeFromOptions
49
- } from "./chunk-BRENJ2BQ.js";
48
+ fillModeFromOptions,
49
+ legendSuppressed
50
+ } from "./chunk-3FRO35WW.js";
50
51
 
51
52
  // src/er/renderer.ts
52
53
  import * as d3Selection from "d3-selection";
@@ -253,8 +254,9 @@ function renderERDiagram(container, parsed, layout, palette, isDark, onClickItem
253
254
  d3Selection.select(container).selectAll(":not([data-d3-tooltip])").remove();
254
255
  const useSemanticColors = parsed.tagGroups.length === 0 && layout.nodes.every((n) => !n.color);
255
256
  const LEGEND_FIXED_GAP = 8;
256
- const hasTagLegend = parsed.tagGroups.length > 0;
257
- const legendReserveH = useSemanticColors ? LEGEND_HEIGHT + LEGEND_FIXED_GAP : hasTagLegend ? LEGEND_HEIGHT + LEGEND_FIXED_GAP : 0;
257
+ const noLegend = legendSuppressed(parsed.options);
258
+ const hasTagLegend = parsed.tagGroups.length > 0 && !noLegend;
259
+ const legendReserveH = !noLegend && (useSemanticColors || hasTagLegend) ? LEGEND_HEIGHT + LEGEND_FIXED_GAP : 0;
258
260
  const showTitle = !!parsed.title && parsed.options["no-title"] !== "on";
259
261
  const titleHeight = showTitle ? 40 : 0;
260
262
  const diagramW = layout.width;
@@ -458,7 +460,7 @@ function renderERDiagram(container, parsed, layout, palette, isDark, onClickItem
458
460
  }
459
461
  }
460
462
  }
461
- if (parsed.tagGroups.length > 0) {
463
+ if (hasTagLegend) {
462
464
  const legendY = sDiagramPadding + titleHeight;
463
465
  const legendG = svg.append("g").attr("class", "er-tag-legend").attr("transform", `translate(0,${legendY})`);
464
466
  renderIntegratedLegend(legendG, {
@@ -471,7 +473,7 @@ function renderERDiagram(container, parsed, layout, palette, isDark, onClickItem
471
473
  });
472
474
  legendG.selectAll("[data-legend-group]").classed("er-legend-group", true);
473
475
  }
474
- if (semanticRoles) {
476
+ if (semanticRoles && !noLegend) {
475
477
  const presentRoles = ROLE_ORDER.filter((role) => {
476
478
  for (const r of semanticRoles.values()) {
477
479
  if (r === role) return true;
@@ -548,4 +550,4 @@ export {
548
550
  renderERDiagram,
549
551
  renderERDiagramForExport
550
552
  };
551
- //# sourceMappingURL=chunk-77FGAVZC.js.map
553
+ //# sourceMappingURL=chunk-FR6UFVSV.js.map
@@ -2,18 +2,20 @@ import {
2
2
  extractColor,
3
3
  fillModeFromOptions,
4
4
  measureIndent,
5
+ normalizeNumericToken,
5
6
  parseFirstLine,
6
7
  tryParseSharedOption
7
- } from "./chunk-BRENJ2BQ.js";
8
+ } from "./chunk-3FRO35WW.js";
8
9
  import {
9
10
  makeDgmoError,
10
11
  makeFail
11
- } from "./chunk-CXK4DZH3.js";
12
+ } from "./chunk-4W2PE66Q.js";
12
13
 
13
14
  // src/goal/parser.ts
14
15
  function parseGoalNumber(token) {
15
- if (token.includes(",")) return null;
16
- const n = parseFloat(token.replace(/_/g, ""));
16
+ const normalized = normalizeNumericToken(token);
17
+ if (normalized === null && /[,_]/.test(token)) return null;
18
+ const n = parseFloat(normalized ?? token);
17
19
  return Number.isFinite(n) ? n : null;
18
20
  }
19
21
  function parseGoal(content, palette) {
@@ -109,7 +111,7 @@ function parseGoal(content, palette) {
109
111
  options.noAutoColor = true;
110
112
  continue;
111
113
  }
112
- if (lower === "no-note") {
114
+ if (lower === "no-notes" || lower === "no-note") {
113
115
  options.noNote = true;
114
116
  continue;
115
117
  }
@@ -156,4 +158,4 @@ function parseGoal(content, palette) {
156
158
  export {
157
159
  parseGoal
158
160
  };
159
- //# sourceMappingURL=chunk-MUE65OTD.js.map
161
+ //# sourceMappingURL=chunk-FVMKCZHF.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ normalizeName
3
+ } from "./chunk-NOTA6TEI.js";
1
4
  import {
2
5
  AUTO_TAG_COLOR_SENTINEL,
3
6
  finalizeAutoTagColors,
@@ -5,29 +8,27 @@ import {
5
8
  stripDefaultModifier,
6
9
  tagAttrKey,
7
10
  validateTagGroupNames
8
- } from "./chunk-HHKO6SKY.js";
9
- import {
10
- normalizeName
11
- } from "./chunk-NOTA6TEI.js";
11
+ } from "./chunk-AHTTKERF.js";
12
12
  import {
13
13
  KANBAN_REGISTRY,
14
14
  OPTION_NOCOLON_RE,
15
15
  extractColor,
16
16
  measureIndent,
17
17
  parseFirstLine,
18
+ peelTrailingCollapsedFlag,
18
19
  splitNameAndMeta,
19
20
  warnUnknownMetaKeys,
20
21
  withTagAliases
21
- } from "./chunk-BRENJ2BQ.js";
22
+ } from "./chunk-3FRO35WW.js";
22
23
  import {
23
24
  resolveColorWithDiagnostic
24
- } from "./chunk-TLVIHFRO.js";
25
+ } from "./chunk-ZKPPI6BF.js";
25
26
  import {
26
27
  formatDgmoError,
27
28
  makeDgmoError,
28
29
  makeFail,
29
30
  suggest
30
- } from "./chunk-CXK4DZH3.js";
31
+ } from "./chunk-4W2PE66Q.js";
31
32
 
32
33
  // src/kanban/parser.ts
33
34
  var COLUMN_RE = /^\[(.+?)\]\s*(.*)$/;
@@ -38,7 +39,8 @@ var KNOWN_BOOLEANS = /* @__PURE__ */ new Set([
38
39
  "fill-tint",
39
40
  "fill-solid",
40
41
  "fill-outline",
41
- "no-title"
42
+ "no-title",
43
+ "no-legend"
42
44
  ]);
43
45
  var REMOVED_BOOLEANS = {
44
46
  "no-auto-color": '"no-auto-color" was removed \u2014 colors are always auto-assigned from the palette; delete this line.'
@@ -190,6 +192,12 @@ function parseKanban(content, palette) {
190
192
  columnCounter++;
191
193
  const colName = columnMatch[1].trim();
192
194
  let tail = (columnMatch[2] ?? "").trim();
195
+ let colCollapsed = false;
196
+ const barePeel = peelTrailingCollapsedFlag(tail);
197
+ if (barePeel.collapsed) {
198
+ colCollapsed = true;
199
+ tail = barePeel.rest;
200
+ }
193
201
  let colColor;
194
202
  const colorMatch = tail.match(PALETTE_COLOR_WORD_RE);
195
203
  if (colorMatch) {
@@ -234,7 +242,6 @@ function parseKanban(content, palette) {
234
242
  const wipVal = parseInt(columnMetadata["wip"], 10);
235
243
  if (!isNaN(wipVal)) wipLimit = wipVal;
236
244
  }
237
- let colCollapsed = false;
238
245
  if (columnMetadata["collapsed"]?.toLowerCase() === "true") {
239
246
  colCollapsed = true;
240
247
  delete columnMetadata["collapsed"];
@@ -377,4 +384,4 @@ function parseCardLine(trimmed, lineNumber, counter, metaAliasMap, _palette, dia
377
384
  export {
378
385
  parseKanban
379
386
  };
380
- //# sourceMappingURL=chunk-3QD7VP3U.js.map
387
+ //# sourceMappingURL=chunk-GK32ZFZY.js.map
@@ -13,18 +13,18 @@ import {
13
13
  contrastText,
14
14
  mix,
15
15
  themeBaseBg
16
- } from "./chunk-WBM7ZNDI.js";
16
+ } from "./chunk-JYDMBWRP.js";
17
17
  import {
18
18
  resolveTagColor,
19
19
  tagAttrKey
20
- } from "./chunk-HHKO6SKY.js";
20
+ } from "./chunk-AHTTKERF.js";
21
21
  import {
22
22
  fillModeFromOptions
23
- } from "./chunk-BRENJ2BQ.js";
23
+ } from "./chunk-3FRO35WW.js";
24
24
  import {
25
25
  CATEGORICAL_COLOR_ORDER,
26
26
  resolveColor
27
- } from "./chunk-TLVIHFRO.js";
27
+ } from "./chunk-ZKPPI6BF.js";
28
28
 
29
29
  // src/swimlane/renderer.ts
30
30
  import * as d3Selection from "d3-selection";
@@ -401,4 +401,4 @@ function drawCenteredLabel(g, label, cx, cy, fill, fontSize, tight = false, halo
401
401
  export {
402
402
  renderSwimlaneForExport
403
403
  };
404
- //# sourceMappingURL=chunk-TJVLKNGR.js.map
404
+ //# sourceMappingURL=chunk-GKYHWJXI.js.map
@@ -4,10 +4,6 @@ import {
4
4
  import {
5
5
  ScaleContext
6
6
  } from "./chunk-YYVTBZZC.js";
7
- import {
8
- VARIANTS,
9
- allTasks
10
- } from "./chunk-4IHAV6O7.js";
11
7
  import {
12
8
  TITLE_FONT_SIZE,
13
9
  TITLE_FONT_WEIGHT,
@@ -16,19 +12,26 @@ import {
16
12
  import {
17
13
  FONT_FAMILY
18
14
  } from "./chunk-6KFWC4CO.js";
15
+ import {
16
+ allTasks
17
+ } from "./chunk-QBYP2FBZ.js";
18
+ import {
19
+ VARIANTS
20
+ } from "./chunk-BEOAKGNA.js";
19
21
  import {
20
22
  measureText,
21
23
  truncateText,
22
24
  wrapTextToWidth
23
- } from "./chunk-WCT3NYCV.js";
25
+ } from "./chunk-4ASYQ347.js";
24
26
  import {
25
27
  contrastText,
26
28
  mix,
27
29
  themeBaseBg
28
- } from "./chunk-WBM7ZNDI.js";
30
+ } from "./chunk-JYDMBWRP.js";
29
31
  import {
30
- fillModeFromOptions
31
- } from "./chunk-BRENJ2BQ.js";
32
+ fillModeFromOptions,
33
+ legendSuppressed
34
+ } from "./chunk-3FRO35WW.js";
32
35
 
33
36
  // src/raci/renderer.ts
34
37
  import * as d3Selection from "d3-selection";
@@ -152,7 +155,7 @@ function renderRaci(container, parsed, palette, isDark, handlers, exportDims) {
152
155
  const opts = typeof handlers === "function" ? { onClickLine: handlers } : handlers ?? {};
153
156
  const onClickLine = opts.onClickLine;
154
157
  const onMarkerDragStart = opts.onMarkerDragStart;
155
- const hideLegend = opts.hideLegend ?? false;
158
+ const hideLegend = (opts.hideLegend ?? false) || legendSuppressed(parsed.options);
156
159
  const collapsedPhases = opts.collapsedPhases ?? /* @__PURE__ */ new Set();
157
160
  const hideTitle = (opts.hideTitle ?? false) || parsed.options["no-title"] === "on";
158
161
  d3Selection.select(container).selectAll(":not([data-d3-tooltip])").remove();
@@ -786,4 +789,4 @@ export {
786
789
  renderRaci,
787
790
  renderRaciForExport
788
791
  };
789
- //# sourceMappingURL=chunk-FQMUHRVC.js.map
792
+ //# sourceMappingURL=chunk-GQ5ECRP4.js.map
@@ -8,13 +8,13 @@ import {
8
8
  META_LINE_HEIGHT,
9
9
  SEPARATOR_GAP
10
10
  } from "./chunk-3CIOJ5YJ.js";
11
- import {
12
- measureText
13
- } from "./chunk-WCT3NYCV.js";
14
11
  import {
15
12
  buildCoupleQuotient,
16
13
  rankClasses
17
14
  } from "./chunk-QQJUTGQH.js";
15
+ import {
16
+ measureText
17
+ } from "./chunk-4ASYQ347.js";
18
18
 
19
19
  // src/family/layout.ts
20
20
  var MARGIN = 30;
@@ -489,4 +489,4 @@ export {
489
489
  focusFamily,
490
490
  layoutFamily
491
491
  };
492
- //# sourceMappingURL=chunk-5QKQSSPO.js.map
492
+ //# sourceMappingURL=chunk-GRM2A4BG.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  measureText
3
- } from "./chunk-WCT3NYCV.js";
3
+ } from "./chunk-4ASYQ347.js";
4
4
 
5
5
  // src/utils/card.ts
6
6
  function renderNodeCard(container, opts) {
@@ -44,4 +44,4 @@ export {
44
44
  renderNodeCard,
45
45
  renderCollapseBar
46
46
  };
47
- //# sourceMappingURL=chunk-OTOHI4JO.js.map
47
+ //# sourceMappingURL=chunk-H3HFC3SQ.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  renderIntegratedLegend
3
- } from "./chunk-AUIM2NVH.js";
3
+ } from "./chunk-2NZOHEP4.js";
4
4
  import {
5
5
  getMaxLegendReservedHeight
6
- } from "./chunk-YAA6IID3.js";
6
+ } from "./chunk-J7HQPVYH.js";
7
7
  import {
8
8
  TITLE_FONT_SIZE,
9
9
  TITLE_FONT_WEIGHT,
@@ -12,23 +12,23 @@ import {
12
12
  import {
13
13
  FONT_FAMILY
14
14
  } from "./chunk-6KFWC4CO.js";
15
+ import {
16
+ isBlockNode
17
+ } from "./chunk-NR5HCAUD.js";
15
18
  import {
16
19
  LEGEND_GROUP_GAP
17
- } from "./chunk-QOOUC2J5.js";
20
+ } from "./chunk-Q5IHQ4NW.js";
18
21
  import {
19
22
  measureText
20
- } from "./chunk-WCT3NYCV.js";
21
- import {
22
- isBlockNode
23
- } from "./chunk-NR5HCAUD.js";
23
+ } from "./chunk-4ASYQ347.js";
24
24
  import {
25
25
  mix,
26
26
  themeBaseBg
27
- } from "./chunk-WBM7ZNDI.js";
27
+ } from "./chunk-JYDMBWRP.js";
28
28
  import {
29
29
  resolveTagColor,
30
30
  tagAttrKey
31
- } from "./chunk-HHKO6SKY.js";
31
+ } from "./chunk-AHTTKERF.js";
32
32
 
33
33
  // src/block/renderer.ts
34
34
  import * as d3Selection from "d3-selection";
@@ -361,4 +361,4 @@ export {
361
361
  renderBlock,
362
362
  authoredCollapsedIds
363
363
  };
364
- //# sourceMappingURL=chunk-BPIZNB5O.js.map
364
+ //# sourceMappingURL=chunk-HAA25PLC.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  measureText,
3
3
  wrapTextToWidth
4
- } from "./chunk-WCT3NYCV.js";
4
+ } from "./chunk-4ASYQ347.js";
5
5
  import {
6
6
  mix,
7
7
  shapeFill
8
- } from "./chunk-WBM7ZNDI.js";
8
+ } from "./chunk-JYDMBWRP.js";
9
9
  import {
10
10
  fillModeFromOptions
11
- } from "./chunk-BRENJ2BQ.js";
11
+ } from "./chunk-3FRO35WW.js";
12
12
 
13
13
  // src/journey-map/layout.ts
14
14
  var PADDING = 24;
@@ -290,4 +290,4 @@ export {
290
290
  scoreToCurveY,
291
291
  layoutJourneyMap
292
292
  };
293
- //# sourceMappingURL=chunk-YIBAWQGJ.js.map
293
+ //# sourceMappingURL=chunk-HFEOOQ46.js.map
@@ -3,10 +3,10 @@ import {
3
3
  addCalendarDays,
4
4
  resolveConfidence,
5
5
  unitToDays
6
- } from "./chunk-7L4UJOY6.js";
6
+ } from "./chunk-3TYUXC7D.js";
7
7
  import {
8
8
  makeDgmoError
9
- } from "./chunk-CXK4DZH3.js";
9
+ } from "./chunk-4W2PE66Q.js";
10
10
 
11
11
  // src/pert/monte-carlo.ts
12
12
  function lagDays(lag) {
@@ -1059,4 +1059,4 @@ export {
1059
1059
  buildSummary,
1060
1060
  buildProjectSubtitle
1061
1061
  };
1062
- //# sourceMappingURL=chunk-J76PIKAT.js.map
1062
+ //# sourceMappingURL=chunk-HO3RCNF6.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  buildPlacedNotes
3
- } from "./chunk-JED6ZDEE.js";
3
+ } from "./chunk-5HWPEYWB.js";
4
4
  import {
5
5
  noteCanvasShift
6
6
  } from "./chunk-6EK55ART.js";
7
+ import {
8
+ resolveNotes
9
+ } from "./chunk-QZAW5SFH.js";
7
10
  import {
8
11
  measureText,
9
12
  truncateText,
10
13
  wrapTextToWidth
11
- } from "./chunk-WCT3NYCV.js";
12
- import {
13
- resolveNotes
14
- } from "./chunk-FMDSF3OV.js";
14
+ } from "./chunk-4ASYQ347.js";
15
15
 
16
16
  // src/boxes-and-lines/label-placement.ts
17
17
  var EDGE_LABEL_FONT_SIZE = 11;
@@ -311,7 +311,7 @@ function computeNodeSize(node, reserveValueRow) {
311
311
  return { width: w, height: Math.max(NODE_HEIGHT, totalHeight) };
312
312
  }
313
313
  async function layoutBoxesAndLines(parsed, collapseInfo, layoutOptions) {
314
- const { layoutBoxesAndLinesSearch } = await import("./layout-search-55FU6HD3.js");
314
+ const { layoutBoxesAndLinesSearch } = await import("./layout-search-LUI475P3.js");
315
315
  const searchOpts = {
316
316
  ...layoutOptions?.hideDescriptions !== void 0 && {
317
317
  hideDescriptions: layoutOptions.hideDescriptions
@@ -323,16 +323,22 @@ async function layoutBoxesAndLines(parsed, collapseInfo, layoutOptions) {
323
323
  onProgress: layoutOptions.onProgress
324
324
  }
325
325
  };
326
- const searched = await layoutBoxesAndLinesSearch(
327
- parsed,
328
- collapseInfo,
329
- searchOpts
330
- );
326
+ let topConfigs;
327
+ const searched = await layoutBoxesAndLinesSearch(parsed, collapseInfo, {
328
+ ...searchOpts,
329
+ onTopConfigs: (cfgs) => {
330
+ topConfigs = cfgs;
331
+ }
332
+ });
331
333
  let placed = placeEdgeLabels(applyParallelEdgeOffsets(searched));
332
334
  if (placed.unresolved.length > 0) {
333
335
  const relaid = await layoutBoxesAndLinesSearch(parsed, collapseInfo, {
334
336
  ...searchOpts,
335
- reserveEdgeLabels: true
337
+ reserveEdgeLabels: true,
338
+ // Only the label reservation changed — re-laying-out the top candidates
339
+ // from the first search is enough. Falls back to the full pool when the
340
+ // first search surfaced no dagre candidates.
341
+ ...topConfigs !== void 0 && topConfigs.length > 0 && { configs: topConfigs }
336
342
  });
337
343
  const relaidPlaced = placeEdgeLabels(applyParallelEdgeOffsets(relaid));
338
344
  if (relaidPlaced.unresolved.length < placed.unresolved.length)
@@ -460,4 +466,4 @@ export {
460
466
  computeNodeSize,
461
467
  layoutBoxesAndLines
462
468
  };
463
- //# sourceMappingURL=chunk-7DF4J4RL.js.map
469
+ //# sourceMappingURL=chunk-I47VHSPS.js.map
@@ -1,26 +1,27 @@
1
1
  import {
2
+ activeTagGroupOf,
2
3
  buildHeatScale,
3
4
  buildLegend,
4
5
  compactNumber,
5
6
  formatPct,
6
7
  resolveCellColor,
7
8
  resolveColorMode
8
- } from "./chunk-5BHJZH62.js";
9
+ } from "./chunk-6OYDOQ2Q.js";
9
10
  import {
10
11
  renderIntegratedLegend
11
- } from "./chunk-AUIM2NVH.js";
12
+ } from "./chunk-2NZOHEP4.js";
12
13
  import {
13
14
  getMaxLegendReservedHeight
14
- } from "./chunk-YAA6IID3.js";
15
+ } from "./chunk-J7HQPVYH.js";
15
16
  import {
16
17
  FONT_FAMILY
17
18
  } from "./chunk-6KFWC4CO.js";
18
19
  import {
19
20
  LEGEND_GROUP_GAP
20
- } from "./chunk-QOOUC2J5.js";
21
+ } from "./chunk-Q5IHQ4NW.js";
21
22
  import {
22
23
  measureText
23
- } from "./chunk-WCT3NYCV.js";
24
+ } from "./chunk-4ASYQ347.js";
24
25
  import {
25
26
  contrastRatio,
26
27
  contrastText,
@@ -28,10 +29,10 @@ import {
28
29
  hexToHSL,
29
30
  hslToHex,
30
31
  relativeLuminance
31
- } from "./chunk-WBM7ZNDI.js";
32
+ } from "./chunk-JYDMBWRP.js";
32
33
  import {
33
34
  tagAttrKey
34
- } from "./chunk-HHKO6SKY.js";
35
+ } from "./chunk-AHTTKERF.js";
35
36
 
36
37
  // src/treemap/renderer-radial.ts
37
38
  import * as d3Selection from "d3-selection";
@@ -191,7 +192,7 @@ function renderTreemapRadial(container, parsed, palette, isDark, exportDims, opt
191
192
  const defs = svg.append("defs");
192
193
  svg.append("rect").attr("width", width).attr("height", height).attr("fill", palette.bg);
193
194
  const plot = svg.append("g").attr("class", "dgmo-treemap-cells").attr("transform", `translate(${cx},${cy})`);
194
- const activeGroup = parsed.tagGroups.length > 0 ? parsed.tagGroups[0].name : null;
195
+ const activeGroup = activeTagGroupOf(parsed)?.name ?? null;
195
196
  const rootIndexByLabel = new Map(parsed.roots.map((r, i) => [r.label, i]));
196
197
  const colorCtx = {
197
198
  mode,
@@ -421,4 +422,4 @@ export {
421
422
  renderTreemapRadialForExport,
422
423
  renderTreemapRadial
423
424
  };
424
- //# sourceMappingURL=chunk-5SEVICBT.js.map
425
+ //# sourceMappingURL=chunk-ICKXIMBA.js.map
@@ -387,6 +387,19 @@ function collapseGroups(parsed, collapsedIds, defaultLatencyMs = 0, defaultUptim
387
387
  }
388
388
  function resolveSplits(outbound, diagnostics) {
389
389
  if (outbound.length === 0) return [];
390
+ const async = outbound.filter((e) => e.async);
391
+ if (async.length > 0) {
392
+ const sync = outbound.filter((e) => !e.async);
393
+ const asyncResolved = async.map((e) => ({
394
+ edge: e,
395
+ split: e.split ?? 100
396
+ }));
397
+ const syncResolved = resolveSplits(sync, diagnostics);
398
+ const byEdge = /* @__PURE__ */ new Map();
399
+ for (const r of [...asyncResolved, ...syncResolved])
400
+ byEdge.set(r.edge, r.split);
401
+ return outbound.filter((e) => byEdge.has(e)).map((e) => ({ edge: e, split: byEdge.get(e) }));
402
+ }
390
403
  if (outbound.length === 1) {
391
404
  return [{ edge: outbound[0], split: 100 }];
392
405
  }
@@ -494,8 +507,9 @@ function computeInfra(parsed, params = {}) {
494
507
  const computedLatency = /* @__PURE__ */ new Map();
495
508
  const computedUptime = /* @__PURE__ */ new Map();
496
509
  const localAvailability = /* @__PURE__ */ new Map();
510
+ const defaultRps = parseFloat(parsed.options["default-rps"] ?? "") || 0;
497
511
  const edgeNode = effectiveParsed.nodes.find((n) => n.isEdge);
498
- const baseRps = params.rps ?? (edgeNode ? getNumProp(edgeNode, "rps", 0) : 0);
512
+ const baseRps = params.rps ?? (edgeNode ? getNumProp(edgeNode, "rps", defaultRps) : 0);
499
513
  if (edgeNode) {
500
514
  computedRps.set(edgeNode.id, baseRps);
501
515
  computedLatency.set(edgeNode.id, 0);
@@ -540,13 +554,14 @@ function computeInfra(parsed, params = {}) {
540
554
  } else {
541
555
  targetIds = [edge.targetId];
542
556
  }
557
+ const edgeDownstreamLatency = edge.async ? 0 : downstreamLatency;
543
558
  for (const targetId of targetIds) {
544
559
  const perTarget = fanoutedRps / targetIds.length;
545
560
  const existing = computedRps.get(targetId) ?? 0;
546
561
  computedRps.set(targetId, existing + perTarget);
547
562
  const prevLatency = computedLatency.get(targetId) ?? 0;
548
- if (downstreamLatency > prevLatency) {
549
- computedLatency.set(targetId, downstreamLatency);
563
+ if (edgeDownstreamLatency > prevLatency) {
564
+ computedLatency.set(targetId, edgeDownstreamLatency);
550
565
  }
551
566
  const prevUptime = computedUptime.get(targetId) ?? 1;
552
567
  if (cumulativeUptime < prevUptime) {
@@ -630,7 +645,8 @@ function computeInfra(parsed, params = {}) {
630
645
  const coldStartMs = isServerless(node) ? getNumProp(node, "cold-start-ms", 0) : 0;
631
646
  const coldLatency = nodeLatency + coldStartMs;
632
647
  const outbound = outboundMap.get(nodeId) ?? [];
633
- if (outbound.length === 0) {
648
+ const syncOutbound = outbound.filter((e) => !e.async);
649
+ if (syncOutbound.length === 0) {
634
650
  const rps = computedRps.get(nodeId) ?? 0;
635
651
  let result;
636
652
  if (rps <= 0) {
@@ -663,7 +679,7 @@ function computeInfra(parsed, params = {}) {
663
679
  nodeLeafCache.set(nodeId, result);
664
680
  return result;
665
681
  }
666
- const resolved = resolveSplits(outbound, []);
682
+ const resolved = resolveSplits(outbound, []).filter((r) => !r.edge.async);
667
683
  const paths = [];
668
684
  for (const { edge, split } of resolved) {
669
685
  const fanout = edge.fanout != null && edge.fanout >= 1 ? edge.fanout : 1;
@@ -879,17 +895,7 @@ function computeInfra(parsed, params = {}) {
879
895
  const edgeKey = `${edge.sourceId}->${edge.targetId}`;
880
896
  const rps = computedEdgeRps.get(edgeKey) ?? 0;
881
897
  const outbound = outboundMap.get(edge.sourceId) ?? [];
882
- let resolvedSplit = edge.split ?? 100;
883
- if (outbound.length > 1 && edge.split === null) {
884
- const declared = outbound.filter((e) => e.split !== null);
885
- if (declared.length === 0) {
886
- resolvedSplit = 100 / outbound.length;
887
- } else {
888
- const declaredSum = declared.reduce((s, e) => s + (e.split ?? 0), 0);
889
- const undeclared = outbound.filter((e) => e.split === null);
890
- resolvedSplit = undeclared.length > 0 ? (100 - declaredSum) / undeclared.length : 0;
891
- }
892
- }
898
+ const resolvedSplit = resolveSplits(outbound, []).find((r) => r.edge === edge)?.split ?? edge.split ?? 100;
893
899
  return {
894
900
  sourceId: edge.sourceId,
895
901
  targetId: edge.targetId,
@@ -920,4 +926,4 @@ function computeInfra(parsed, params = {}) {
920
926
  export {
921
927
  computeInfra
922
928
  };
923
- //# sourceMappingURL=chunk-A44USUV7.js.map
929
+ //# sourceMappingURL=chunk-ICZ7M6IZ.js.map
@@ -11,15 +11,15 @@ import {
11
11
  LEGEND_PILL_FONT_SIZE,
12
12
  LEGEND_PILL_PAD,
13
13
  measureLegendText
14
- } from "./chunk-QOOUC2J5.js";
14
+ } from "./chunk-Q5IHQ4NW.js";
15
15
  import {
16
16
  measureText
17
- } from "./chunk-WCT3NYCV.js";
17
+ } from "./chunk-4ASYQ347.js";
18
18
  import {
19
19
  injectDefaultTagMetadata,
20
20
  resolveTagColor,
21
21
  tagAttrKey
22
- } from "./chunk-HHKO6SKY.js";
22
+ } from "./chunk-AHTTKERF.js";
23
23
 
24
24
  // src/sitemap/layout.ts
25
25
  import dagre from "@dagrejs/dagre";
@@ -617,4 +617,4 @@ function layoutSitemap(parsed, hiddenCounts, activeTagGroup, hiddenAttributes, e
617
617
  export {
618
618
  layoutSitemap
619
619
  };
620
- //# sourceMappingURL=chunk-SWSIKFEB.js.map
620
+ //# sourceMappingURL=chunk-IOIMQHQ6.js.map