@diagrammo/dgmo 0.89.0 → 0.91.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 (233) hide show
  1. package/README.md +1 -1
  2. package/dist/advanced.d.ts +589 -15
  3. package/dist/advanced.js +813 -211
  4. package/dist/block.d.ts +11 -2
  5. package/dist/block.js +94 -64
  6. package/dist/{calculator-35YVW4QO.js → calculator-3LZUWOBK.js} +2 -2
  7. package/dist/{chart-meta-Bev5Ebjr.d.ts → chart-meta-B_WTMP0y.d.ts} +1 -1
  8. package/dist/chart-meta.d.ts +2 -2
  9. package/dist/chart-meta.js +18 -17
  10. package/dist/{chart-types-Bf8C5QQW.d.ts → chart-types-V2NcgN5O.d.ts} +4 -0
  11. package/dist/{charts-d3-KEQSUWKP.js → charts-d3-YXD6VGZQ.js} +8 -7
  12. package/dist/{chunk-PMNITNPR.js → chunk-273GB7WK.js} +6 -5
  13. package/dist/{chunk-HAMF4F3P.js → chunk-2A4OFZ2Z.js} +5 -5
  14. package/dist/{chunk-K5XT7NHD.js → chunk-2AM6VA3A.js} +10 -10
  15. package/dist/{chunk-XJ2TBXHA.js → chunk-2UV627GG.js} +9 -9
  16. package/dist/{chunk-7WGCQE2E.js → chunk-2ZVLI6GQ.js} +1 -1
  17. package/dist/{chunk-JVZ7KFAX.js → chunk-37QQXKFV.js} +9 -10
  18. package/dist/{chunk-M2BCY7H3.js → chunk-3LINSNJT.js} +199 -146
  19. package/dist/{chunk-WPL5PFXE.js → chunk-3SLRZKLB.js} +6 -6
  20. package/dist/chunk-3UR4F7FE.js +14 -0
  21. package/dist/{chunk-ZUCXFXLD.js → chunk-3YTAOMMN.js} +2 -2
  22. package/dist/{chunk-NIUO2TNR.js → chunk-4HG4PYHM.js} +197 -203
  23. package/dist/{chunk-BOO24UMJ.js → chunk-4YO7VJTP.js} +1 -1
  24. package/dist/{chunk-HUNDJTTH.js → chunk-53BJIOLF.js} +1 -1
  25. package/dist/{chunk-LR6RRDWN.js → chunk-57L2JPP2.js} +10 -6
  26. package/dist/{chunk-IIOLFAGJ.js → chunk-5DIBB2QG.js} +51 -32
  27. package/dist/{chunk-S2WE7TVK.js → chunk-5MDQMB6A.js} +1 -1
  28. package/dist/{chunk-7Z2VFRP5.js → chunk-5U6DXIMV.js} +47 -24
  29. package/dist/{chunk-QIOYTQDZ.js → chunk-5VPWIC6T.js} +9 -9
  30. package/dist/{chunk-JRUEIRJB.js → chunk-634LDSN6.js} +3 -3
  31. package/dist/{chunk-VEPIAUSK.js → chunk-6BQSDF77.js} +1 -5
  32. package/dist/{chunk-LPYYZCSI.js → chunk-6NO3MNBC.js} +3 -3
  33. package/dist/{chunk-ITSBBQTH.js → chunk-6QEXWMBP.js} +13 -17
  34. package/dist/{chunk-DDPGEGHB.js → chunk-7BBRSOKS.js} +3 -3
  35. package/dist/{chunk-WQ6G6FFM.js → chunk-AR4QVMWG.js} +5 -2
  36. package/dist/{chunk-BB6QKWHZ.js → chunk-B6EUFLRP.js} +10 -10
  37. package/dist/{chunk-C4FRGZGX.js → chunk-CDT33RHG.js} +1 -1
  38. package/dist/{chunk-WP22MHH6.js → chunk-CPGKRI7H.js} +10 -13
  39. package/dist/{chunk-ZNNVI5SR.js → chunk-CU2PZLZP.js} +53 -31
  40. package/dist/{chunk-CUYHST3B.js → chunk-CVZBLHHW.js} +1 -1
  41. package/dist/{chunk-Y7PSAHAY.js → chunk-CXIPV2FY.js} +3 -3
  42. package/dist/{chunk-NRPELUB6.js → chunk-D7DXNQW5.js} +2 -2
  43. package/dist/{chunk-YMFQLWZ2.js → chunk-D7PP35BA.js} +1 -1
  44. package/dist/{chunk-RGWYZR3S.js → chunk-DLX7MEN4.js} +2 -2
  45. package/dist/chunk-EDPDAUBL.js +825 -0
  46. package/dist/{chunk-GSYZZFI5.js → chunk-EP7BT3HU.js} +2 -2
  47. package/dist/{chunk-ICZ7M6IZ.js → chunk-EQJ3U5EW.js} +1 -1
  48. package/dist/{chunk-3C2FWS2J.js → chunk-EWERNTOX.js} +1 -1
  49. package/dist/{chunk-XUCQVKLQ.js → chunk-F2436VRR.js} +4 -4
  50. package/dist/{chunk-UG2XG57E.js → chunk-F26ZPBSF.js} +3 -3
  51. package/dist/{chunk-UWKRPQZO.js → chunk-FJCYK4K3.js} +25 -22
  52. package/dist/{chunk-FKLE6QA3.js → chunk-G22UV5AF.js} +12 -12
  53. package/dist/{chunk-GUTZCRBT.js → chunk-G3EUQMV4.js} +4 -4
  54. package/dist/{chunk-SOPM5PLO.js → chunk-GCDW3WAY.js} +14 -14
  55. package/dist/{chunk-7UDAIP6W.js → chunk-HFG7KQOY.js} +13 -15
  56. package/dist/{chunk-ID2K3IHI.js → chunk-HLE5QGZJ.js} +1 -1
  57. package/dist/{chunk-QFHWYWQL.js → chunk-HLVGZXM5.js} +2 -2
  58. package/dist/{chunk-7C2RAGPT.js → chunk-HSGWR2FL.js} +16 -16
  59. package/dist/{chunk-P3SKSKJI.js → chunk-HWXUQCDY.js} +3 -3
  60. package/dist/{chunk-HTWH2XQL.js → chunk-HYV6GSXM.js} +6 -3
  61. package/dist/{chunk-3RYBTEF5.js → chunk-I74AQRVD.js} +6 -12
  62. package/dist/chunk-IHK3Y2HG.js +781 -0
  63. package/dist/{chunk-7KPHRTND.js → chunk-II4XJETG.js} +1 -1
  64. package/dist/{chunk-RXIKESRI.js → chunk-IMHNZITR.js} +2 -2
  65. package/dist/{chunk-TAP2NZEU.js → chunk-IMKPFW67.js} +13 -13
  66. package/dist/{chunk-FKZ2Y3Q5.js → chunk-IS6WFBX7.js} +3 -3
  67. package/dist/{chunk-47E5UTXE.js → chunk-IUBCDNT2.js} +2 -2
  68. package/dist/{chunk-EXKCRXPO.js → chunk-IWTUXGHN.js} +12 -12
  69. package/dist/{chunk-C7QRRTAW.js → chunk-J2SQNZ6D.js} +2 -2
  70. package/dist/{chunk-DZPHN2WN.js → chunk-JA2S7PHR.js} +14 -14
  71. package/dist/{chunk-DPSMX4EY.js → chunk-JJQWCI35.js} +4 -4
  72. package/dist/chunk-JJUDOR4I.js +110 -0
  73. package/dist/{chunk-LYLNMN77.js → chunk-K3BYD3WU.js} +8 -3
  74. package/dist/{chunk-3AQJNY65.js → chunk-KFXY5IW2.js} +149 -43
  75. package/dist/{chunk-J64NZ6NF.js → chunk-KSZHIAI2.js} +1 -1
  76. package/dist/{chunk-LCJURK7L.js → chunk-LKR4FACF.js} +2 -4
  77. package/dist/{chunk-PIXJL77H.js → chunk-M6J25PAZ.js} +1 -1
  78. package/dist/{chunk-IJ27L3R4.js → chunk-MA42PIGJ.js} +1 -1
  79. package/dist/{chunk-IQ6P3HDE.js → chunk-MI6SJJQU.js} +2 -2
  80. package/dist/{chunk-N4BBSDWI.js → chunk-MJKQ5ZYY.js} +140 -151
  81. package/dist/{chunk-6K7RODXG.js → chunk-MKFQ5E7J.js} +1 -1
  82. package/dist/{chunk-AZ24RI5L.js → chunk-MNL547RV.js} +6 -6
  83. package/dist/{chunk-44GP7PD5.js → chunk-MPJQMMBZ.js} +12 -0
  84. package/dist/{chunk-ECMA6XE2.js → chunk-N254IJM2.js} +13 -13
  85. package/dist/{layout-search-YKUL4VBV.js → chunk-NWPMLX2V.js} +27 -30
  86. package/dist/{chunk-DV2VEJCC.js → chunk-NWSPPGIE.js} +6 -6
  87. package/dist/{chunk-GDJW64XE.js → chunk-OYKNMFUY.js} +1 -1
  88. package/dist/{chunk-B3S76BZO.js → chunk-PSGSFRRE.js} +4 -4
  89. package/dist/{chunk-4AJKOUBO.js → chunk-PUZ63XZM.js} +13 -11
  90. package/dist/{chunk-UQLHKLF4.js → chunk-PZVTFQI2.js} +8 -8
  91. package/dist/{chunk-W7QN5BC5.js → chunk-Q3N7PI3B.js} +180 -7
  92. package/dist/{chunk-L5AFONQU.js → chunk-QKJ6MQXW.js} +2 -4
  93. package/dist/{chunk-7SX4IY6T.js → chunk-QVKTAU7P.js} +1 -1
  94. package/dist/{chunk-SLQT3JP3.js → chunk-R7BSF7Z7.js} +1 -1
  95. package/dist/{chunk-4R6OMKXB.js → chunk-RHXIUUWB.js} +5 -5
  96. package/dist/{chunk-MHAYUS65.js → chunk-RMTOZALT.js} +8 -5
  97. package/dist/{chunk-HSRQDWV7.js → chunk-ROCBGUJN.js} +8 -17
  98. package/dist/{chunk-44FTCIRI.js → chunk-RVTYIGWZ.js} +9 -9
  99. package/dist/{chunk-RU725VCJ.js → chunk-SKF7XLCM.js} +10 -35
  100. package/dist/{chunk-RPKBWJBB.js → chunk-SMTWQ66K.js} +6 -6
  101. package/dist/{chunk-3AX6MCI6.js → chunk-SPQVER4T.js} +2 -2
  102. package/dist/{chunk-CX6OH5WP.js → chunk-SWBHH2UW.js} +4 -4
  103. package/dist/{chunk-WP2RLGDI.js → chunk-TCX5PMEY.js} +1 -1
  104. package/dist/{chunk-7TF3QOOD.js → chunk-TIVMAITN.js} +14 -0
  105. package/dist/{chunk-NSR2CGV6.js → chunk-TLPY4ZBI.js} +611 -437
  106. package/dist/{chunk-WRCAH3UO.js → chunk-TPEYEOXA.js} +15 -15
  107. package/dist/{chunk-FJNXXGTR.js → chunk-UWJP4JSZ.js} +3 -3
  108. package/dist/{chunk-MY6GUH26.js → chunk-V3KHZQPK.js} +3 -3
  109. package/dist/{chunk-66YFDTT6.js → chunk-VGSSAMLA.js} +4 -4
  110. package/dist/{chunk-Q6SQISHT.js → chunk-VMD2CYVP.js} +311 -74
  111. package/dist/{chunk-MFW6P7WH.js → chunk-WNTPJZU7.js} +3 -3
  112. package/dist/{chunk-7W4XLIVH.js → chunk-WTE27AJT.js} +14 -14
  113. package/dist/{chunk-UKJLPA7R.js → chunk-X6IZP2BD.js} +1 -1
  114. package/dist/{chunk-2GM7N5TV.js → chunk-XLAREWBK.js} +9 -9
  115. package/dist/{chunk-AYOVY75O.js → chunk-XLPJJ35N.js} +4 -4
  116. package/dist/{chunk-NGC3IZRY.js → chunk-XQTRGKQ3.js} +4 -4
  117. package/dist/{chunk-WEF6MXFG.js → chunk-YZG37S7L.js} +9 -9
  118. package/dist/{chunk-LFKSHDVI.js → chunk-ZB2Q67NO.js} +14 -13
  119. package/dist/{chunk-JQ57AWDL.js → chunk-ZJ4PYTCK.js} +1 -1
  120. package/dist/completion-registry.d.ts +6 -0
  121. package/dist/completion-registry.js +62 -6
  122. package/dist/{compute-JAP5E2E4.js → compute-2XWFVO7K.js} +1 -1
  123. package/dist/{d3-B6524aaP.d.ts → d3-2S3PrXik.d.ts} +11 -0
  124. package/dist/dgmo-router-YHBMKTXY.js +94 -0
  125. package/dist/{dimensions-7MF7VSGS.js → dimensions-QMGWJQTR.js} +5 -5
  126. package/dist/editor.js +12 -0
  127. package/dist/{flowchart-parser-GG7XBLQH.js → flowchart-parser-BLJ6RA53.js} +4 -4
  128. package/dist/{flowchart-renderer-DZQZRL2F.js → flowchart-renderer-FXRQKXAK.js} +12 -8
  129. package/dist/highlight.js +12 -0
  130. package/dist/index.d.ts +26 -5
  131. package/dist/index.js +84 -57
  132. package/dist/{layout-5VSMZPMG.js → layout-5HCEF7VO.js} +1 -1
  133. package/dist/{layout-6L3BIFEZ.js → layout-6PLSBB5X.js} +3 -3
  134. package/dist/{layout-UIV56NUA.js → layout-B7PQRAMB.js} +1 -1
  135. package/dist/{layout-IGAVGDME.js → layout-CCVCLZ6S.js} +1 -1
  136. package/dist/{layout-PP36LUTA.js → layout-CRUAP7JG.js} +3 -3
  137. package/dist/{layout-Q3RYSODA.js → layout-G42FDCF3.js} +3 -3
  138. package/dist/{layout-EFEZ533S.js → layout-IV4H2FLB.js} +3 -3
  139. package/dist/{layout-4RRC7XU7.js → layout-JTNRSGOS.js} +6 -3
  140. package/dist/{layout-H4K54IW3.js → layout-RBLD5EGX.js} +6 -3
  141. package/dist/{layout-SW3XWYKC.js → layout-ROAVGBUC.js} +1 -1
  142. package/dist/{layout-XUW444O5.js → layout-T2DQ4M77.js} +8 -4
  143. package/dist/{layout-MSSHF45T.js → layout-UPQGIT3N.js} +2 -2
  144. package/dist/{layout-DXVAYF6W.js → layout-VRJ5YFUE.js} +2 -2
  145. package/dist/{layout-ZP7XYVXF.js → layout-YKGQRFDM.js} +2 -4
  146. package/dist/layout-search-L75YOBME.js +42 -0
  147. package/dist/{palettes-WZAIQTEG.js → palettes-WQHELGVQ.js} +2 -1
  148. package/dist/{parser-ZLKYDFI5.js → parser-2XCDVLSN.js} +3 -3
  149. package/dist/{parser-GZ3LVF72.js → parser-3MGA2MTM.js} +2 -2
  150. package/dist/{parser-NOANDFJ4.js → parser-4AR25MAS.js} +2 -2
  151. package/dist/{parser-GCCWMBTU.js → parser-4QNRCGU5.js} +5 -4
  152. package/dist/{parser-LANGKWRG.js → parser-6LMB7BQQ.js} +2 -2
  153. package/dist/{parser-WEVTMBJ5.js → parser-6NSQLPTS.js} +3 -3
  154. package/dist/{parser-KYPP2DX6.js → parser-6X4GGH2R.js} +4 -4
  155. package/dist/parser-AL6YL7KM.js +12 -0
  156. package/dist/{parser-5655XSOR.js → parser-D6YRVV75.js} +3 -3
  157. package/dist/{parser-NGHQQGD2.js → parser-EY3VJWBE.js} +3 -3
  158. package/dist/{parser-TL3JA4RI.js → parser-EYF4ZSZO.js} +3 -3
  159. package/dist/{parser-256EIWB2.js → parser-FDXUQ5TI.js} +2 -2
  160. package/dist/{parser-JOOAVBJI.js → parser-H2DJEAPG.js} +3 -3
  161. package/dist/{parser-AKBVJHMK.js → parser-ILWAA3QJ.js} +3 -3
  162. package/dist/{parser-AN3MGHRL.js → parser-KMFMNZYI.js} +3 -3
  163. package/dist/{parser-IMM2JJX3.js → parser-MDSVVCJP.js} +4 -4
  164. package/dist/{parser-OVQTTTUJ.js → parser-OFTMA36M.js} +2 -2
  165. package/dist/{parser-LGS65QPN.js → parser-Q3UAOLEZ.js} +2 -2
  166. package/dist/{parser-DGF3ZEO6.js → parser-QL4DEPVA.js} +4 -4
  167. package/dist/{parser-XYY5NHP4.js → parser-R6OETHWM.js} +2 -2
  168. package/dist/{parser-GEKPWSSK.js → parser-UEDPLM46.js} +3 -3
  169. package/dist/{parser-KZMALSB2.js → parser-UL6WN6W5.js} +4 -4
  170. package/dist/{parser-J4DVNL4W.js → parser-ULSUK36C.js} +4 -4
  171. package/dist/{parser-KZMJNKDW.js → parser-UY3K4ROB.js} +2 -2
  172. package/dist/{parser-KFYRTGTC.js → parser-UYQNNQKT.js} +4 -4
  173. package/dist/{parser-DHSFIUPU.js → parser-VG747VR6.js} +3 -3
  174. package/dist/{parser-UTXFJG4X.js → parser-VK4PNDX4.js} +3 -3
  175. package/dist/{parser-SA3RAJFS.js → parser-WSONWDFN.js} +2 -2
  176. package/dist/{parser-NPXPJHWN.js → parser-X5FQ36KJ.js} +3 -3
  177. package/dist/{parser-OKB64MMN.js → parser-XO5IAXMT.js} +3 -3
  178. package/dist/{parser-HCGXNHHL.js → parser-YVHO2NRM.js} +3 -3
  179. package/dist/{parser-P4TOQYNN.js → parser-YWZGIU3C.js} +3 -3
  180. package/dist/{parser-337TACHB.js → parser-ZFLSULFC.js} +3 -3
  181. package/dist/{parser-7OEE7QT6.js → parser-ZR7JAKSW.js} +2 -2
  182. package/dist/{renderer-CHQZES6G.js → renderer-3N64GVNM.js} +2 -2
  183. package/dist/{renderer-JR2XNZAH.js → renderer-43IVPARP.js} +5 -5
  184. package/dist/{renderer-J4OS77PK.js → renderer-4MEZYGU6.js} +3 -3
  185. package/dist/{renderer-IR5GGAPB.js → renderer-54GXA3UO.js} +11 -7
  186. package/dist/{renderer-7VQOKAII.js → renderer-7EAWN7MC.js} +6 -6
  187. package/dist/{renderer-QQHQY3GT.js → renderer-7SEXPBGM.js} +5 -5
  188. package/dist/{renderer-P4XCRNCY.js → renderer-B7B7BQM3.js} +9 -9
  189. package/dist/{renderer-7HOSI6JJ.js → renderer-I2LYSQBV.js} +4 -4
  190. package/dist/{renderer-6OQM32X3.js → renderer-IPDCAACY.js} +3 -3
  191. package/dist/{renderer-JRVY7HAD.js → renderer-J2LOMTBC.js} +4 -4
  192. package/dist/renderer-JUH6M3XF.js +46 -0
  193. package/dist/renderer-KY6O5JTX.js +80 -0
  194. package/dist/{renderer-FCXRDYSJ.js → renderer-LHTDI5RV.js} +7 -7
  195. package/dist/{renderer-XHEMXBQM.js → renderer-LWL3IJOF.js} +5 -5
  196. package/dist/{renderer-BLHN3RCY.js → renderer-MRMFYYZT.js} +2 -2
  197. package/dist/{renderer-DBNDLKPE.js → renderer-NCIDGJ2R.js} +7 -7
  198. package/dist/{renderer-3AD4NDF5.js → renderer-OPA4JJKX.js} +6 -6
  199. package/dist/{renderer-XFEZ5UBE.js → renderer-QMNC7TGN.js} +6 -6
  200. package/dist/{renderer-5GZNGZU5.js → renderer-QQNPJGAP.js} +9 -7
  201. package/dist/{renderer-CEIX5JPA.js → renderer-R7OYCJEA.js} +2 -2
  202. package/dist/{renderer-WQ654YT5.js → renderer-R7RK7FKI.js} +1 -1
  203. package/dist/{renderer-4JE5ORRO.js → renderer-RFP55AW7.js} +13 -10
  204. package/dist/{renderer-NAA7D33G.js → renderer-S3NFBJCY.js} +15 -11
  205. package/dist/{renderer-43ESBXVY.js → renderer-SD4ZHHAR.js} +8 -6
  206. package/dist/{renderer-WB75JME5.js → renderer-SE7Z5AOL.js} +6 -6
  207. package/dist/{renderer-YTEZK3GC.js → renderer-T2WUA7MC.js} +7 -7
  208. package/dist/{renderer-VYWCMRWA.js → renderer-TWKEZ3DD.js} +5 -5
  209. package/dist/{renderer-DCJ4AQ3N.js → renderer-U5PD72G7.js} +5 -5
  210. package/dist/{renderer-EAORWLVK.js → renderer-VCTKBUTR.js} +7 -7
  211. package/dist/{renderer-7L7J4DHO.js → renderer-VNZTWATB.js} +7 -6
  212. package/dist/{renderer-2ZQ6DPVD.js → renderer-YDNWK6RI.js} +2 -2
  213. package/dist/{renderer-VGQMJC5K.js → renderer-YDOWBIUB.js} +11 -10
  214. package/dist/{renderer-7MCC6GKH.js → renderer-YQPZ7O2C.js} +2 -2
  215. package/dist/{renderer-ZXQXRNDR.js → renderer-ZQ77CM6Y.js} +6 -6
  216. package/dist/{renderer-radial-NA5DVBG4.js → renderer-radial-TNNEL3YN.js} +5 -5
  217. package/dist/{resolver-XSXE2TRX.js → resolver-6DJLZF6Y.js} +1 -1
  218. package/dist/{state-parser-FE3RF6XY.js → state-parser-NIIVOU2Y.js} +4 -4
  219. package/dist/{state-renderer-4S2C2CHB.js → state-renderer-TVLEG32M.js} +14 -10
  220. package/dist/{themes-CzuBdx1T.d.ts → themes-Cm2YBcT8.d.ts} +38 -2
  221. package/docs/ai-integration.md +4 -3
  222. package/docs/language-reference.md +162 -12
  223. package/gallery/fixtures/sketch.dgmo +2 -2
  224. package/gallery/fixtures/whiteboard.dgmo +18 -0
  225. package/package.json +2 -1
  226. package/dist/chunk-6EK55ART.js +0 -116
  227. package/dist/chunk-HTNLLT34.js +0 -72
  228. package/dist/dgmo-router-7WANZOBD.js +0 -92
  229. package/dist/renderer-TJJGFQGT.js +0 -78
  230. package/dist/{chunk-3FCSOYN4.js → chunk-5P2L5QXE.js} +0 -0
  231. package/dist/{chunk-HJRP6PXL.js → chunk-BQVTV4LB.js} +0 -0
  232. package/dist/{chunk-LYRDIVSY.js → chunk-GLCMUTO5.js} +0 -0
  233. package/dist/{chunk-5LE2CTLS.js → chunk-NTJ5HVV6.js} +3 -3
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildMapProjection
3
- } from "./chunk-LR6RRDWN.js";
3
+ } from "./chunk-57L2JPP2.js";
4
4
  import {
5
5
  TITLE_FONT_SIZE,
6
6
  TITLE_Y
@@ -14,14 +14,14 @@ import {
14
14
  } from "./chunk-ICLB27PZ.js";
15
15
  import {
16
16
  allTasks
17
- } from "./chunk-3RYBTEF5.js";
17
+ } from "./chunk-I74AQRVD.js";
18
18
  import {
19
19
  VARIANTS
20
20
  } from "./chunk-4WW3SGMH.js";
21
21
  import {
22
22
  fillModeFromOptions,
23
23
  legendSuppressed
24
- } from "./chunk-44GP7PD5.js";
24
+ } from "./chunk-MPJQMMBZ.js";
25
25
  import {
26
26
  measureText,
27
27
  truncateText,
@@ -4,37 +4,37 @@ import {
4
4
  import {
5
5
  ScaleContext
6
6
  } from "./chunk-24YPR5EH.js";
7
+ import {
8
+ keepSwimlaneToggleFocus,
9
+ renderIntegratedLegend,
10
+ wireSwimlaneToggle
11
+ } from "./chunk-QVKTAU7P.js";
7
12
  import {
8
13
  CARD_RADIUS
9
14
  } from "./chunk-XCKNFFKM.js";
10
15
  import {
11
16
  serializeSvg
12
17
  } from "./chunk-OOCVGX4W.js";
18
+ import {
19
+ getMaxLegendReservedHeight
20
+ } from "./chunk-NS7L7YKH.js";
13
21
  import {
14
22
  TITLE_FONT_SIZE,
15
23
  TITLE_FONT_WEIGHT
16
24
  } from "./chunk-VLC6WNRD.js";
17
- import {
18
- keepSwimlaneToggleFocus,
19
- renderIntegratedLegend,
20
- wireSwimlaneToggle
21
- } from "./chunk-7SX4IY6T.js";
22
- import {
23
- getMaxLegendReservedHeight
24
- } from "./chunk-NS7L7YKH.js";
25
25
  import {
26
26
  FONT_FAMILY
27
27
  } from "./chunk-ICLB27PZ.js";
28
28
  import {
29
29
  parseKanban
30
- } from "./chunk-DPSMX4EY.js";
30
+ } from "./chunk-JJQWCI35.js";
31
31
  import {
32
32
  tagAttrKey
33
- } from "./chunk-L5AFONQU.js";
33
+ } from "./chunk-QKJ6MQXW.js";
34
34
  import {
35
35
  fillModeFromOptions,
36
36
  legendSuppressed
37
- } from "./chunk-44GP7PD5.js";
37
+ } from "./chunk-MPJQMMBZ.js";
38
38
  import {
39
39
  LEGEND_HEIGHT,
40
40
  measureLegendText
@@ -670,7 +670,7 @@ function drawKanban(container, parsed, palette, isDark, options) {
670
670
  const tagKey = tagAttrKey(activeTagGroup);
671
671
  const tagValue = card.tags[tagKey];
672
672
  const group = parsed.tagGroups.find(
673
- (tg) => tg.name.toLowerCase() === tagKey
673
+ (tg) => tagAttrKey(tg.name) === tagKey
674
674
  );
675
675
  const value = tagValue ?? group?.defaultValue;
676
676
  if (value) {
@@ -1137,7 +1137,7 @@ function renderSwimlaneCard(parent, cardLayout, tagGroups, activeTagGroup, palet
1137
1137
  const cg = parent.append("g").attr("class", "kanban-card").attr("data-card-id", card.id).attr("data-line-number", card.lineNumber);
1138
1138
  if (activeTagGroup) {
1139
1139
  const tagKey = tagAttrKey(activeTagGroup);
1140
- const group = tagGroups.find((tg) => tg.name.toLowerCase() === tagKey);
1140
+ const group = tagGroups.find((tg) => tagAttrKey(tg.name) === tagKey);
1141
1141
  const value = card.tags[tagKey] ?? group?.defaultValue;
1142
1142
  if (value) {
1143
1143
  cg.attr(`data-tag-${tagKey}`, value.toLowerCase());
@@ -11,7 +11,7 @@ import {
11
11
  matchTagBlockHeading,
12
12
  stripDefaultModifier,
13
13
  tagAttrKey
14
- } from "./chunk-L5AFONQU.js";
14
+ } from "./chunk-QKJ6MQXW.js";
15
15
  import {
16
16
  FAMILY_PERSON_REGISTRY,
17
17
  FAMILY_UNION_REGISTRY,
@@ -26,7 +26,7 @@ import {
26
26
  tokenizeQuoteAware,
27
27
  tryParseSharedOption,
28
28
  withTagAliases
29
- } from "./chunk-44GP7PD5.js";
29
+ } from "./chunk-MPJQMMBZ.js";
30
30
  import {
31
31
  nord,
32
32
  resolveColor
@@ -334,7 +334,7 @@ function parseFamily(content, palette) {
334
334
  const re = peelTrailingColorName(cleanName);
335
335
  if (re.colorName !== void 0) {
336
336
  cleanName = re.label;
337
- if (color === void 0) color = re.colorName;
337
+ color ??= re.colorName;
338
338
  }
339
339
  }
340
340
  }
@@ -9,13 +9,13 @@ import {
9
9
  matchTagBlockHeading,
10
10
  stripDefaultModifier,
11
11
  tagAttrKey
12
- } from "./chunk-L5AFONQU.js";
12
+ } from "./chunk-QKJ6MQXW.js";
13
13
  import {
14
14
  extractColor,
15
15
  fillModeFromToken,
16
16
  measureIndent,
17
17
  parseFirstLine
18
- } from "./chunk-44GP7PD5.js";
18
+ } from "./chunk-MPJQMMBZ.js";
19
19
  import {
20
20
  emit
21
21
  } from "./chunk-BYU54C3S.js";
@@ -1,15 +1,18 @@
1
1
  import {
2
2
  wrapDescriptionLines
3
3
  } from "./chunk-NPWVOFB3.js";
4
- import {
5
- renderNodeCard
6
- } from "./chunk-R2K5L4UA.js";
7
4
  import {
8
5
  renderInlineText
9
6
  } from "./chunk-S7W75MIM.js";
7
+ import {
8
+ renderNodeCard
9
+ } from "./chunk-R2K5L4UA.js";
10
10
  import {
11
11
  formatDateLabel
12
- } from "./chunk-UWKRPQZO.js";
12
+ } from "./chunk-FJCYK4K3.js";
13
+ import {
14
+ renderIntegratedLegend
15
+ } from "./chunk-QVKTAU7P.js";
13
16
  import {
14
17
  CARD_RADIUS,
15
18
  HAIRLINE_DASH,
@@ -21,28 +24,25 @@ import {
21
24
  import {
22
25
  layoutInlineHeader
23
26
  } from "./chunk-CNUN5GO6.js";
27
+ import {
28
+ getLegendExtent
29
+ } from "./chunk-NS7L7YKH.js";
24
30
  import {
25
31
  TITLE_FONT_SIZE,
26
32
  TITLE_FONT_WEIGHT,
27
33
  TITLE_Y
28
34
  } from "./chunk-VLC6WNRD.js";
29
- import {
30
- renderIntegratedLegend
31
- } from "./chunk-7SX4IY6T.js";
32
- import {
33
- getLegendExtent
34
- } from "./chunk-NS7L7YKH.js";
35
35
  import {
36
36
  FONT_FAMILY
37
37
  } from "./chunk-ICLB27PZ.js";
38
38
  import {
39
39
  parseTimelineDate
40
- } from "./chunk-GDJW64XE.js";
40
+ } from "./chunk-OYKNMFUY.js";
41
41
  import {
42
42
  UNTAGGED_TAG_COLOR,
43
43
  resolveActiveTagGroup,
44
44
  resolveTagColor
45
- } from "./chunk-L5AFONQU.js";
45
+ } from "./chunk-QKJ6MQXW.js";
46
46
  import {
47
47
  CHAR_WIDTH_RATIO,
48
48
  wrapTextToWidth
@@ -4,13 +4,13 @@ import {
4
4
  matchTagBlockHeading,
5
5
  stripDefaultModifier,
6
6
  tagAttrKey
7
- } from "./chunk-L5AFONQU.js";
7
+ } from "./chunk-QKJ6MQXW.js";
8
8
  import {
9
9
  FILL_FAMILY_TOKENS,
10
10
  extractColor,
11
11
  measureIndent,
12
12
  parseFirstLine
13
- } from "./chunk-44GP7PD5.js";
13
+ } from "./chunk-MPJQMMBZ.js";
14
14
  import {
15
15
  emit
16
16
  } from "./chunk-BYU54C3S.js";
@@ -4,7 +4,10 @@ import {
4
4
  } from "./chunk-26EVL454.js";
5
5
  import {
6
6
  layoutGraph
7
- } from "./chunk-ZNNVI5SR.js";
7
+ } from "./chunk-CU2PZLZP.js";
8
+ import {
9
+ appendArrowheadMarkers
10
+ } from "./chunk-XBJJP2HN.js";
8
11
  import {
9
12
  NOTE_BADGE_RADIUS,
10
13
  noteConnectorPoints,
@@ -12,15 +15,15 @@ import {
12
15
  renderNoteBox,
13
16
  renderNoteConnector
14
17
  } from "./chunk-KATED53P.js";
15
- import {
16
- appendArrowheadMarkers
17
- } from "./chunk-XBJJP2HN.js";
18
18
  import {
19
19
  fitDiagramToCanvas
20
20
  } from "./chunk-EPDBWATV.js";
21
21
  import {
22
22
  ScaleContext
23
23
  } from "./chunk-24YPR5EH.js";
24
+ import {
25
+ renderIntegratedLegend
26
+ } from "./chunk-QVKTAU7P.js";
24
27
  import {
25
28
  ARROWHEAD_HEIGHT,
26
29
  ARROWHEAD_WIDTH,
@@ -34,35 +37,32 @@ import {
34
37
  import {
35
38
  serializeSvg
36
39
  } from "./chunk-OOCVGX4W.js";
40
+ import {
41
+ getLegendExtent,
42
+ getMaxLegendReservedHeight
43
+ } from "./chunk-NS7L7YKH.js";
37
44
  import {
38
45
  TITLE_FONT_SIZE,
39
46
  TITLE_FONT_WEIGHT,
40
47
  TITLE_Y
41
48
  } from "./chunk-VLC6WNRD.js";
42
- import {
43
- renderIntegratedLegend
44
- } from "./chunk-7SX4IY6T.js";
45
- import {
46
- getLegendExtent,
47
- getMaxLegendReservedHeight
48
- } from "./chunk-NS7L7YKH.js";
49
49
  import {
50
50
  FONT_FAMILY
51
51
  } from "./chunk-ICLB27PZ.js";
52
52
  import {
53
53
  parseState
54
- } from "./chunk-AYOVY75O.js";
54
+ } from "./chunk-XLPJJ35N.js";
55
55
  import {
56
56
  resolveActiveTagGroup,
57
57
  resolveGroupTagColor,
58
58
  resolveTagColor,
59
59
  tagAttrKey
60
- } from "./chunk-L5AFONQU.js";
60
+ } from "./chunk-QKJ6MQXW.js";
61
61
  import {
62
62
  fillModeFromOptions,
63
63
  legendInlineRequested,
64
64
  legendSuppressed
65
- } from "./chunk-44GP7PD5.js";
65
+ } from "./chunk-MPJQMMBZ.js";
66
66
  import {
67
67
  measureText
68
68
  } from "./chunk-KAO7JL4I.js";
@@ -9,7 +9,7 @@ import {
9
9
  stripDefaultModifier,
10
10
  tagAttrKey,
11
11
  validateTagGroupNames
12
- } from "./chunk-L5AFONQU.js";
12
+ } from "./chunk-QKJ6MQXW.js";
13
13
  import {
14
14
  AliasRegistry,
15
15
  KANBAN_REGISTRY,
@@ -22,7 +22,7 @@ import {
22
22
  splitNameAndMeta,
23
23
  warnUnknownMetaKeys,
24
24
  withTagAliases
25
- } from "./chunk-44GP7PD5.js";
25
+ } from "./chunk-MPJQMMBZ.js";
26
26
  import {
27
27
  resolveColorWithDiagnostic
28
28
  } from "./chunk-2M4IGSCY.js";
@@ -332,7 +332,7 @@ function parseKanban(content, palette) {
332
332
  const groupKey = metaAliasMap.get(tagKey.toLowerCase()) ?? tagKey.toLowerCase();
333
333
  const validValues = tagValueSets.get(groupKey);
334
334
  if (validValues && !validValues.has(tagValue.toLowerCase())) {
335
- const entries = result.tagGroups.find((g) => g.name.toLowerCase() === groupKey)?.entries.map((e) => e.value);
335
+ const entries = result.tagGroups.find((g) => tagAttrKey(g.name) === groupKey)?.entries.map((e) => e.value);
336
336
  let msg = `Unknown tag value "${tagValue}" for group "${groupKey}"`;
337
337
  if (entries) {
338
338
  const hint = suggest(tagValue, entries);
@@ -353,7 +353,7 @@ function parseKanban(content, palette) {
353
353
  validateTagGroupNames(result.tagGroups, warn, (line, msg) => {
354
354
  const diag = makeDgmoError(line, msg);
355
355
  result.diagnostics.push(diag);
356
- if (!result.error) result.error = formatDgmoError(diag);
356
+ result.error ??= formatDgmoError(diag);
357
357
  });
358
358
  const activeTagWarning = activeTagNoMatchMessage(
359
359
  options["active-tag"],
@@ -0,0 +1,110 @@
1
+ import {
2
+ countEdgeNodePierces,
3
+ countEdgeOverlaps,
4
+ countSplineCrossings,
5
+ deroutePierces,
6
+ searchBudget
7
+ } from "./chunk-NWPMLX2V.js";
8
+
9
+ // src/utils/placement-search.ts
10
+ var SEARCH_RANKERS = ["tight-tree", "longest-path"];
11
+ var SEARCH_SEEDS = 6;
12
+ function seeded(s) {
13
+ return () => {
14
+ s = s + 1831565813 | 0;
15
+ let t = Math.imul(s ^ s >>> 15, 1 | s);
16
+ t = t + Math.imul(t ^ t >>> 7, 61 | t) ^ t;
17
+ return ((t ^ t >>> 14) >>> 0) / 4294967296;
18
+ };
19
+ }
20
+ function shuffler(seed) {
21
+ const r = seeded(seed + 1);
22
+ return (a) => {
23
+ const out = a.slice();
24
+ for (let i = out.length - 1; i > 0; i--) {
25
+ const j = Math.floor(r() * (i + 1));
26
+ [out[i], out[j]] = [out[j], out[i]];
27
+ }
28
+ return out;
29
+ };
30
+ }
31
+ function searchPlacement(direction, place, score) {
32
+ const asScored = (g) => {
33
+ const s = score(g);
34
+ return {
35
+ nodes: s.nodes.map((n) => ({ ...n, label: n.id })),
36
+ edges: s.edges,
37
+ groups: [],
38
+ width: 0,
39
+ height: 0
40
+ };
41
+ };
42
+ const rest = (lay) => countEdgeOverlaps(lay) + countEdgeNodePierces(lay);
43
+ const along = direction === "LR" ? "x" : "y";
44
+ const backward = (lay) => {
45
+ const at = new Map(lay.nodes.map((n) => [n.label, n[along]]));
46
+ const out = /* @__PURE__ */ new Set();
47
+ lay.edges.forEach((e, i) => {
48
+ if (e.source === e.target) return;
49
+ if (at.get(e.target) < at.get(e.source) - 1) out.add(i);
50
+ });
51
+ return out;
52
+ };
53
+ let best = place("network-simplex");
54
+ let bestLay = asScored(best);
55
+ const plainX = countSplineCrossings(bestLay);
56
+ let bestBad = plainX + rest(bestLay);
57
+ if (bestBad === 0) return { g: best };
58
+ const plainBack = backward(bestLay);
59
+ const budget = searchBudget(bestLay.nodes.length, bestLay.edges.length);
60
+ const configs = [
61
+ ...SEARCH_RANKERS.map((ranker) => ({ ranker })),
62
+ ...Array.from(
63
+ { length: Math.min(budget.seeds, SEARCH_SEEDS) },
64
+ (_, seed) => ({
65
+ ranker: "network-simplex",
66
+ seed
67
+ })
68
+ )
69
+ ];
70
+ let attempts = 1;
71
+ for (const cfg of configs) {
72
+ if (bestBad === 0 || attempts >= budget.maxCandidates) break;
73
+ attempts++;
74
+ let g;
75
+ try {
76
+ g = place(
77
+ cfg.ranker,
78
+ cfg.seed === void 0 ? void 0 : shuffler(cfg.seed)
79
+ );
80
+ } catch {
81
+ continue;
82
+ }
83
+ const lay = asScored(g);
84
+ if ([...backward(lay)].some((i) => !plainBack.has(i))) continue;
85
+ const floor = Math.min(plainX, bestBad - 1);
86
+ const x = countSplineCrossings(lay, floor);
87
+ if (x > floor) continue;
88
+ const bad = x + rest(lay);
89
+ if (bad < bestBad) {
90
+ best = g;
91
+ bestLay = lay;
92
+ bestBad = bad;
93
+ }
94
+ }
95
+ const bent = deroutePierces(bestLay);
96
+ if (bent !== bestLay) {
97
+ const floor = Math.min(plainX, bestBad - 1);
98
+ const x = countSplineCrossings(bent, floor);
99
+ if (x <= floor && x + rest(bent) < bestBad)
100
+ return {
101
+ g: best,
102
+ edgePoints: bent.edges.map((e) => e.points)
103
+ };
104
+ }
105
+ return { g: best };
106
+ }
107
+
108
+ export {
109
+ searchPlacement
110
+ };
@@ -5,10 +5,10 @@ import {
5
5
  import {
6
6
  UNTAGGED_TAG_COLOR,
7
7
  tagAttrKey
8
- } from "./chunk-L5AFONQU.js";
8
+ } from "./chunk-QKJ6MQXW.js";
9
9
  import {
10
10
  legendSuppressed
11
- } from "./chunk-44GP7PD5.js";
11
+ } from "./chunk-MPJQMMBZ.js";
12
12
  import {
13
13
  LEGEND_CAPSULE_PAD,
14
14
  LEGEND_DOT_R,
@@ -25,6 +25,10 @@ import {
25
25
  wrapTextToWidth
26
26
  } from "./chunk-KAO7JL4I.js";
27
27
 
28
+ // src/shape-caps.ts
29
+ var CYLINDER_RY = 8;
30
+ var QUEUE_CAP = 16;
31
+
28
32
  // src/c4/layout.ts
29
33
  import dagre from "@dagrejs/dagre";
30
34
  var gNode = (g, name) => g.node(name);
@@ -402,7 +406,6 @@ function collectCardMetadata(metadata) {
402
406
  return entries;
403
407
  }
404
408
  var CLOUD_BUMP = 7;
405
- var QUEUE_CAP = 16;
406
409
  function computeC4NodeDimensions(el, options) {
407
410
  const nameWidth = measureText(el.name, NAME_FONT_SIZE) + CARD_H_PAD * 2;
408
411
  let width = Math.max(MIN_NODE_WIDTH, Math.min(MAX_NODE_WIDTH, nameWidth));
@@ -1732,6 +1735,8 @@ function layoutC4Deployment(parsed, activeTagGroup) {
1732
1735
  }
1733
1736
 
1734
1737
  export {
1738
+ CYLINDER_RY,
1739
+ QUEUE_CAP,
1735
1740
  rollUpContextRelationships,
1736
1741
  collectCardMetadata,
1737
1742
  computeC4NodeDimensions,