@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
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  buildSwatches
3
- } from "./chunk-3LK5DNED.js";
3
+ } from "./chunk-B4XS2AF2.js";
4
+ import {
5
+ FONT_FAMILY
6
+ } from "./chunk-6KFWC4CO.js";
4
7
  import {
5
8
  fixedParts,
6
9
  formatTime,
@@ -10,17 +13,14 @@ import {
10
13
  workStatus,
11
14
  zoneParts
12
15
  } from "./chunk-APKUAJ2L.js";
13
- import {
14
- FONT_FAMILY
15
- } from "./chunk-6KFWC4CO.js";
16
16
  import {
17
17
  contrastText,
18
18
  mix,
19
19
  themeBaseBg
20
- } from "./chunk-WBM7ZNDI.js";
20
+ } from "./chunk-JYDMBWRP.js";
21
21
  import {
22
22
  resolveColor
23
- } from "./chunk-TLVIHFRO.js";
23
+ } from "./chunk-ZKPPI6BF.js";
24
24
 
25
25
  // src/clock/renderer.ts
26
26
  import * as d3Selection from "d3-selection";
@@ -558,4 +558,4 @@ export {
558
558
  renderClock,
559
559
  renderClockForExport
560
560
  };
561
- //# sourceMappingURL=chunk-5223KXFD.js.map
561
+ //# sourceMappingURL=chunk-RJ5LBZ5U.js.map
@@ -1,13 +1,16 @@
1
1
  import {
2
2
  formatLocalISODate
3
- } from "./chunk-7L4UJOY6.js";
3
+ } from "./chunk-3TYUXC7D.js";
4
4
  import {
5
5
  parseDuration
6
- } from "./chunk-USZW2HHU.js";
6
+ } from "./chunk-EQW6HOP4.js";
7
7
  import {
8
8
  parseDateToken,
9
9
  toInternal
10
10
  } from "./chunk-DAOFNU6J.js";
11
+ import {
12
+ normalizeName
13
+ } from "./chunk-NOTA6TEI.js";
11
14
  import {
12
15
  AUTO_TAG_COLOR_SENTINEL,
13
16
  finalizeAutoTagColors,
@@ -17,23 +20,21 @@ import {
17
20
  tagAttrKey,
18
21
  validateTagGroupNames,
19
22
  validateTagValues
20
- } from "./chunk-HHKO6SKY.js";
21
- import {
22
- normalizeName
23
- } from "./chunk-NOTA6TEI.js";
23
+ } from "./chunk-AHTTKERF.js";
24
24
  import {
25
25
  PERT_REGISTRY,
26
26
  extractColor,
27
27
  measureIndent,
28
+ peelTrailingCollapsedFlag,
28
29
  splitNameAndMeta,
29
30
  warnUnknownMetaKeys,
30
31
  withTagAliases
31
- } from "./chunk-BRENJ2BQ.js";
32
+ } from "./chunk-3FRO35WW.js";
32
33
  import {
33
34
  emit,
34
35
  makeDgmoError,
35
36
  suggest
36
- } from "./chunk-CXK4DZH3.js";
37
+ } from "./chunk-4W2PE66Q.js";
37
38
 
38
39
  // src/pert/diagnostics.ts
39
40
  var PERT_DX = {
@@ -129,7 +130,11 @@ var PERT_DIAGNOSTICS = Object.values(PERT_DX);
129
130
  var DIRECTIVE_KEYS = /* @__PURE__ */ new Set([
130
131
  "time-unit",
131
132
  "default-confidence",
133
+ // Canonical booleans (§1.9, last one wins); key+value `direction LR|TB`
134
+ // accepted legacy.
132
135
  "direction",
136
+ "direction-lr",
137
+ "direction-tb",
133
138
  "node-detail",
134
139
  "no-analysis",
135
140
  "trials",
@@ -138,6 +143,7 @@ var DIRECTIVE_KEYS = /* @__PURE__ */ new Set([
138
143
  "start-date",
139
144
  "end-date",
140
145
  "no-title",
146
+ "no-legend",
141
147
  "fill-tint",
142
148
  "fill-solid",
143
149
  "fill-outline",
@@ -175,7 +181,7 @@ var NEAR_DIRECTIVE_HINTS = [
175
181
  {
176
182
  stem: "time",
177
183
  canonical: "time-unit",
178
- matches: /^(d|w|m|q|y|h|min|bd|s)$/i
184
+ matches: /^(d|w|m|q|y|h|min|bd|sp|s)$/i
179
185
  }
180
186
  ];
181
187
  var GROUP_HEADER_RE = /^\[([^\]]+)\]\s*(.*)$/;
@@ -197,7 +203,8 @@ function parseEdgeLabel(label, defaultUnit) {
197
203
  if (numRaw) {
198
204
  const amount = parseFloat(numRaw);
199
205
  if (amount !== 0) {
200
- const unit = unitRaw ? unitRaw.toLowerCase() : defaultUnit;
206
+ const unitLow = unitRaw?.toLowerCase();
207
+ const unit = unitLow ? unitLow === "sp" ? "s" : unitLow : defaultUnit;
201
208
  if (!isValidDurationUnit(unit)) return null;
202
209
  lag = { amount, unit };
203
210
  }
@@ -219,7 +226,7 @@ function isValidDurationUnit(u) {
219
226
  return VALID_DURATION_UNITS.has(u);
220
227
  }
221
228
  var ALIAS_SUFFIX_RE = /\s+as\s+([A-Za-z][A-Za-z0-9_]{0,11})\s*$/;
222
- var ESTIMATE_TOKEN_RE = /^(\d+(?:\.\d+)?)(min|bd|d|w|m|q|y|h|s)?$/;
229
+ var ESTIMATE_TOKEN_RE = /^(\d+(?:\.\d+)?)(min|bd|sp|d|w|m|q|y|h|s)?$/;
223
230
  var DEFAULT_OPTIONS = {
224
231
  timeUnit: "d",
225
232
  direction: "LR",
@@ -324,7 +331,7 @@ function parseEstimateToken(token, defaultUnit) {
324
331
  if (!m) return null;
325
332
  const amount = parseFloat(m[1]);
326
333
  if (!Number.isFinite(amount)) return null;
327
- const unit = m[2] ?? defaultUnit;
334
+ const unit = (m[2] === "sp" ? "s" : m[2]) ?? defaultUnit;
328
335
  if (unit === "s") {
329
336
  return { amount, unit: defaultUnit };
330
337
  }
@@ -540,7 +547,13 @@ function parsePert(content, parseOpts = {}) {
540
547
  contentStarted = true;
541
548
  currentTagGroup = null;
542
549
  const name = groupMatch[1].trim();
543
- const tail = (groupMatch[2] ?? "").trim();
550
+ let tail = (groupMatch[2] ?? "").trim();
551
+ let bareCollapsed = false;
552
+ const barePeel = peelTrailingCollapsedFlag(tail);
553
+ if (barePeel.collapsed) {
554
+ bareCollapsed = true;
555
+ tail = barePeel.rest;
556
+ }
544
557
  const meta = tail ? parsePipeMetadata(tail, metaAliasMap) : {};
545
558
  const id = `[${normalizeName(name)}]`;
546
559
  const tags = {};
@@ -551,7 +564,7 @@ function parsePert(content, parseOpts = {}) {
551
564
  id,
552
565
  name,
553
566
  activityIds: [],
554
- collapsed: meta["collapsed"] === "true",
567
+ collapsed: bareCollapsed || meta["collapsed"] === "true",
555
568
  lineNumber,
556
569
  ...Object.keys(tags).length > 0 && { tags }
557
570
  });
@@ -955,6 +968,7 @@ function applyDirective(key, value, lineNumber, options, error, warn, dateCfg) {
955
968
  case "no-current-year":
956
969
  return;
957
970
  case "time-unit": {
971
+ const normalized = value === "sp" ? "s" : value;
958
972
  const valid = [
959
973
  "min",
960
974
  "h",
@@ -966,14 +980,15 @@ function applyDirective(key, value, lineNumber, options, error, warn, dateCfg) {
966
980
  "y",
967
981
  "s"
968
982
  ];
969
- if (!valid.includes(value)) {
983
+ if (!valid.includes(normalized)) {
984
+ const shown = valid.map((u) => u === "s" ? "sp" : u);
970
985
  error(
971
986
  lineNumber,
972
- `Unknown time-unit '${value}'. Expected one of ${valid.join(", ")}.`
987
+ `Unknown time-unit '${value}'. Expected one of ${shown.join(", ")}.`
973
988
  );
974
989
  return;
975
990
  }
976
- options.timeUnit = value;
991
+ options.timeUnit = normalized;
977
992
  return;
978
993
  }
979
994
  case "default-confidence": {
@@ -984,6 +999,10 @@ function applyDirective(key, value, lineNumber, options, error, warn, dateCfg) {
984
999
  options.noTitle = true;
985
1000
  return;
986
1001
  }
1002
+ case "no-legend": {
1003
+ options.noLegend = true;
1004
+ return;
1005
+ }
987
1006
  case "fill-solid": {
988
1007
  options.fillMode = "solid";
989
1008
  return;
@@ -1061,6 +1080,14 @@ function applyDirective(key, value, lineNumber, options, error, warn, dateCfg) {
1061
1080
  options.direction = upper;
1062
1081
  return;
1063
1082
  }
1083
+ case "direction-lr": {
1084
+ options.direction = "LR";
1085
+ return;
1086
+ }
1087
+ case "direction-tb": {
1088
+ options.direction = "TB";
1089
+ return;
1090
+ }
1064
1091
  case "node-detail": {
1065
1092
  if (value !== "compact" && value !== "full") {
1066
1093
  error(
@@ -1224,4 +1251,4 @@ export {
1224
1251
  extractPertSymbols,
1225
1252
  looksLikePert
1226
1253
  };
1227
- //# sourceMappingURL=chunk-K4EOKJA6.js.map
1254
+ //# sourceMappingURL=chunk-RRGKMJYL.js.map
@@ -9,10 +9,10 @@ import {
9
9
  } from "./chunk-YYVTBZZC.js";
10
10
  import {
11
11
  renderIntegratedLegend
12
- } from "./chunk-AUIM2NVH.js";
12
+ } from "./chunk-2NZOHEP4.js";
13
13
  import {
14
14
  getMaxLegendReservedHeight
15
- } from "./chunk-YAA6IID3.js";
15
+ } from "./chunk-J7HQPVYH.js";
16
16
  import {
17
17
  TITLE_FONT_SIZE,
18
18
  TITLE_FONT_WEIGHT
@@ -20,28 +20,29 @@ import {
20
20
  import {
21
21
  FONT_FAMILY
22
22
  } from "./chunk-6KFWC4CO.js";
23
+ import {
24
+ parseKanban
25
+ } from "./chunk-GK32ZFZY.js";
23
26
  import {
24
27
  LEGEND_HEIGHT,
25
28
  measureLegendText
26
- } from "./chunk-QOOUC2J5.js";
29
+ } from "./chunk-Q5IHQ4NW.js";
27
30
  import {
28
31
  measureText
29
- } from "./chunk-WCT3NYCV.js";
30
- import {
31
- parseKanban
32
- } from "./chunk-3QD7VP3U.js";
32
+ } from "./chunk-4ASYQ347.js";
33
33
  import {
34
34
  contrastText,
35
35
  mix,
36
36
  shapeFill,
37
37
  themeBaseBg
38
- } from "./chunk-WBM7ZNDI.js";
38
+ } from "./chunk-JYDMBWRP.js";
39
39
  import {
40
40
  tagAttrKey
41
- } from "./chunk-HHKO6SKY.js";
41
+ } from "./chunk-AHTTKERF.js";
42
42
  import {
43
- fillModeFromOptions
44
- } from "./chunk-BRENJ2BQ.js";
43
+ fillModeFromOptions,
44
+ legendSuppressed
45
+ } from "./chunk-3FRO35WW.js";
45
46
 
46
47
  // src/kanban/renderer.ts
47
48
  import * as d3Selection from "d3-selection";
@@ -357,7 +358,7 @@ function renderKanban(container, parsed, palette, isDark, options) {
357
358
  if (showTopTitle) {
358
359
  svg.append("text").attr("class", "chart-title").attr("data-line-number", parsed.titleLineNumber ?? 0).attr("x", sDiagramPadding).attr("y", sDiagramPadding + sTitleFontSize).attr("font-size", sTitleFontSize).attr("font-weight", TITLE_FONT_WEIGHT).attr("fill", palette.text).text(parsed.title);
359
360
  }
360
- if (parsed.tagGroups.length > 0) {
361
+ if (parsed.tagGroups.length > 0 && !legendSuppressed(parsed.options)) {
361
362
  const titleTextWidth = showTopTitle ? measureLegendText(parsed.title, sTitleFontSize) + 16 : 0;
362
363
  const legendX = sDiagramPadding + titleTextWidth;
363
364
  const legendConfig = {
@@ -892,4 +893,4 @@ export {
892
893
  renderKanban,
893
894
  renderKanbanForExport
894
895
  };
895
- //# sourceMappingURL=chunk-TTIM6YTT.js.map
896
+ //# sourceMappingURL=chunk-S7FOIURR.js.map
@@ -1,39 +1,37 @@
1
1
  import {
2
- INFRA_BEHAVIOR_KEY_SET,
3
- INFRA_EDGE_ONLY_KEY_SET,
4
- INFRA_TOP_LEVEL_OPTION_SET
5
- } from "./chunk-FQ7HTV52.js";
2
+ GRAPH_DX
3
+ } from "./chunk-7TF3QOOD.js";
6
4
  import {
7
5
  tryStripDescriptionKeyword
8
6
  } from "./chunk-IYULMRBE.js";
9
- import {
10
- matchTagBlockHeading,
11
- stripDefaultModifier,
12
- tagAttrKey,
13
- validateTagGroupNames
14
- } from "./chunk-HHKO6SKY.js";
15
- import {
16
- GRAPH_DX
17
- } from "./chunk-I46X5VUA.js";
18
7
  import {
19
8
  parseInArrowLabel
20
- } from "./chunk-FFUN5D66.js";
9
+ } from "./chunk-WF64MW5G.js";
21
10
  import {
22
11
  displayName,
23
12
  normalizeName
24
13
  } from "./chunk-NOTA6TEI.js";
25
14
  import {
15
+ matchTagBlockHeading,
16
+ stripDefaultModifier,
17
+ tagAttrKey,
18
+ validateTagGroupNames
19
+ } from "./chunk-AHTTKERF.js";
20
+ import {
21
+ INFRA_BEHAVIOR_KEY_SET,
22
+ INFRA_EDGE_ONLY_KEY_SET,
26
23
  INFRA_REGISTRY,
24
+ INFRA_TOP_LEVEL_OPTION_SET,
27
25
  OPTION_NOCOLON_RE,
28
26
  measureIndent,
29
27
  parseFirstLine,
30
28
  tryParseSharedOption,
31
29
  warnUnknownMetaKeys,
32
30
  withTagAliases
33
- } from "./chunk-BRENJ2BQ.js";
31
+ } from "./chunk-3FRO35WW.js";
34
32
  import {
35
33
  isRecognizedColorName
36
- } from "./chunk-TLVIHFRO.js";
34
+ } from "./chunk-ZKPPI6BF.js";
37
35
  import {
38
36
  NAME_DIAGNOSTIC_CODES,
39
37
  emit,
@@ -41,7 +39,7 @@ import {
41
39
  makeDgmoError,
42
40
  nameMergedMessage,
43
41
  suggest
44
- } from "./chunk-CXK4DZH3.js";
42
+ } from "./chunk-4W2PE66Q.js";
45
43
 
46
44
  // src/infra/types.ts
47
45
  var INFRA_BEHAVIOR_KEYS = INFRA_BEHAVIOR_KEY_SET;
@@ -53,7 +51,7 @@ var SIMPLE_CONNECTION_RE = /^->\s*(.+?)\s*$/;
53
51
  var ASYNC_CONNECTION_RE = /^~(?:([^~].*?))?~>\s*(.+?)\s*$/;
54
52
  var ASYNC_SIMPLE_CONNECTION_RE = /^~>\s*(.+?)\s*$/;
55
53
  var DEPRECATED_FANOUT_RE = /\bx(\d+)\s*$/;
56
- var GROUP_RE = /^\[([^\]]+)\]\s*(?:as\s+([A-Za-z][A-Za-z0-9_]{0,11})\s*)?((?:\|.*)|(?:[a-zA-Z_]\w*\s*:.*))?$/;
54
+ var GROUP_RE = /^\[([^\]]+)\]\s*(?:as\s+([A-Za-z][A-Za-z0-9_]{0,11})\s*)?(?:(collapsed)(?!\s*:)\s*)?((?:\|.*)|(?:[a-zA-Z_]\w*\s*:.*))?$/;
57
55
  var TAG_VALUE_RE = /^(\w[\w\s]+?)\s*$/;
58
56
  var COMPONENT_RE = /^(?:"(?<qname>[^"]+)"|(?<uname>[a-zA-Z_][\w -]*?))(?:\s+as\s+(?<alias>[A-Za-z][A-Za-z0-9_]{0,11}))?\s*(?<meta>(?:\|.*)|(?:[a-zA-Z_]\w*\s*:.*))?$/;
59
57
  var PIPE_META_RE = /[|,]\s*(\w+)\s*:\s*([^|,]+)/g;
@@ -269,8 +267,9 @@ function parseInfra(content) {
269
267
  continue;
270
268
  }
271
269
  }
272
- if (/^direction-tb$/i.test(trimmed)) {
273
- result.direction = "TB";
270
+ const dirBool = trimmed.match(/^direction-(lr|tb)$/i);
271
+ if (dirBool) {
272
+ result.direction = dirBool[1].toUpperCase();
274
273
  continue;
275
274
  }
276
275
  if (trimmed === "animate" || trimmed === "no-animate") {
@@ -309,8 +308,15 @@ function parseInfra(content) {
309
308
  const groupAlias = groupMatch[2];
310
309
  const gId = groupId(gLabel);
311
310
  if (groupAlias) nameAliasMap.set(groupAlias, gId);
312
- const groupMeta = groupMatch[3] ? extractPipeMetadata(groupMatch[3]).tags : void 0;
311
+ let groupCollapsed = groupMatch[3] !== void 0;
312
+ const groupMeta = groupMatch[4] ? extractPipeMetadata(groupMatch[4]).tags : void 0;
313
313
  if (groupMeta) {
314
+ if (groupMeta["collapsed"] !== void 0) {
315
+ if (groupMeta["collapsed"].toLowerCase() === "true") {
316
+ groupCollapsed = true;
317
+ }
318
+ delete groupMeta["collapsed"];
319
+ }
314
320
  warnUnknownMetaKeys(
315
321
  groupMeta,
316
322
  withTagAliases(INFRA_REGISTRY, tagAliasSet),
@@ -322,6 +328,7 @@ function parseInfra(content) {
322
328
  id: gId,
323
329
  label: gLabel,
324
330
  ...hasMeta && { metadata: groupMeta },
331
+ ...groupCollapsed && { collapsed: true },
325
332
  lineNumber
326
333
  };
327
334
  currentGroup = newGroup;
@@ -413,6 +420,25 @@ function parseInfra(content) {
413
420
  continue;
414
421
  }
415
422
  }
423
+ const spacePropMatch = trimmed.match(
424
+ /^(instances|collapsed)\s+(\S+)\s*$/
425
+ );
426
+ if (spacePropMatch) {
427
+ const key = spacePropMatch[1];
428
+ const val = spacePropMatch[2];
429
+ if (key === "instances" && RANGE_RE.test(val)) {
430
+ currentGroup.instances = val;
431
+ continue;
432
+ }
433
+ if (key === "instances" && /^\d+$/.test(val)) {
434
+ currentGroup.instances = parseInt(val, 10);
435
+ continue;
436
+ }
437
+ if (key === "collapsed" && /^(true|false)$/i.test(val)) {
438
+ currentGroup.collapsed = val.toLowerCase() === "true";
439
+ continue;
440
+ }
441
+ }
416
442
  const compMatch = trimmed.match(COMPONENT_RE);
417
443
  if (compMatch) {
418
444
  finishCurrentTagGroup();
@@ -773,8 +799,35 @@ function parseInfra(content) {
773
799
  }
774
800
  validateTagGroupNames(result.tagGroups, warn, setError);
775
801
  checkReachability(result);
802
+ checkSplitSums(result);
776
803
  return result;
777
804
  }
805
+ function checkSplitSums(result) {
806
+ const outbound = /* @__PURE__ */ new Map();
807
+ for (const edge of result.edges) {
808
+ if (edge.async) continue;
809
+ const list = outbound.get(edge.sourceId) ?? [];
810
+ list.push(edge);
811
+ outbound.set(edge.sourceId, list);
812
+ }
813
+ for (const [sourceId, edges] of outbound) {
814
+ if (edges.length <= 1) continue;
815
+ const declared = edges.filter((e) => e.split !== null);
816
+ if (declared.length === 0) continue;
817
+ const sum = declared.reduce((s, e) => s + (e.split ?? 0), 0);
818
+ const allDeclared = declared.length === edges.length;
819
+ if (allDeclared ? Math.abs(sum - 100) > 0.01 : sum > 100) {
820
+ const label = result.nodes.find((n) => n.id === sourceId)?.label ?? sourceId;
821
+ result.diagnostics.push(
822
+ // In-bounds: declared.length > 0 here.
823
+ emit(GRAPH_DX.INFRA_SPLIT_SUM, declared[0].lineNumber, {
824
+ label,
825
+ sum: String(Number(sum.toFixed(2)))
826
+ })
827
+ );
828
+ }
829
+ }
830
+ }
778
831
  function checkReachability(result) {
779
832
  if (result.nodes.length === 0) return;
780
833
  const entries = result.nodes.filter((n) => n.isEdge);
@@ -840,7 +893,9 @@ function extractSymbols(docText) {
840
893
  if (!indented) {
841
894
  const firstLine = parseFirstLine(line);
842
895
  if (firstLine) continue;
843
- if (/^(?:direction-tb|animate|no-animate|slo-|default-)/i.test(line))
896
+ if (/^(?:direction-tb|direction-lr|animate|no-animate|slo-|default-)/i.test(
897
+ line
898
+ ))
844
899
  continue;
845
900
  if (/^[a-z-]+\s*:/i.test(line)) continue;
846
901
  inMetadata = false;
@@ -890,4 +945,4 @@ export {
890
945
  parseInfra,
891
946
  extractSymbols
892
947
  };
893
- //# sourceMappingURL=chunk-IM6PDDCE.js.map
948
+ //# sourceMappingURL=chunk-S7YFT3PO.js.map