@diagrammo/dgmo 0.91.1 → 0.92.1

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 (281) hide show
  1. package/dist/advanced.d.ts +21 -12
  2. package/dist/advanced.js +123 -122
  3. package/dist/{analyzer-7ZGAZIE6.js → analyzer-G7PGOT3V.js} +2 -2
  4. package/dist/block.d.ts +10 -3
  5. package/dist/block.js +67 -66
  6. package/dist/{calculator-3LZUWOBK.js → calculator-BNH3GSJE.js} +4 -4
  7. package/dist/{chart-meta-B_WTMP0y.d.ts → chart-meta-BBqLnv5q.d.ts} +4 -3
  8. package/dist/chart-meta.d.ts +3 -3
  9. package/dist/chart-meta.js +22 -22
  10. package/dist/{chart-types-V2NcgN5O.d.ts → chart-types-CbXlZFLd.d.ts} +3 -2
  11. package/dist/charts-d3-QUUDVETP.js +31 -0
  12. package/dist/{chunk-634LDSN6.js → chunk-26BBJUBW.js} +2 -2
  13. package/dist/{chunk-ZJ4PYTCK.js → chunk-2BJW7FSF.js} +2 -2
  14. package/dist/{chunk-3YTAOMMN.js → chunk-2WQ3YZMN.js} +2 -2
  15. package/dist/{chunk-XLPJJ35N.js → chunk-2YAFDND3.js} +4 -4
  16. package/dist/{chunk-HLVGZXM5.js → chunk-2ZW4NBYX.js} +1 -1
  17. package/dist/{chunk-VGSSAMLA.js → chunk-3GUEYQGL.js} +8 -5
  18. package/dist/{chunk-HWXUQCDY.js → chunk-3KVUFHUJ.js} +2 -2
  19. package/dist/{chunk-2A4OFZ2Z.js → chunk-3PFMGNOM.js} +12 -9
  20. package/dist/{chunk-KSZHIAI2.js → chunk-3Y63RFJL.js} +1 -1
  21. package/dist/{chunk-CNUN5GO6.js → chunk-42UJ23H3.js} +1 -1
  22. package/dist/{chunk-TPEYEOXA.js → chunk-45QUTYPD.js} +15 -13
  23. package/dist/{chunk-HSGWR2FL.js → chunk-4QLGGQNO.js} +55 -23
  24. package/dist/{chunk-QKJ6MQXW.js → chunk-4SACN2C5.js} +2 -2
  25. package/dist/{chunk-D7PP35BA.js → chunk-4XYZJTFO.js} +2 -2
  26. package/dist/{chunk-5U6DXIMV.js → chunk-5EBYPETE.js} +2 -2
  27. package/dist/{chunk-K3BYD3WU.js → chunk-5KKZXA44.js} +3 -3
  28. package/dist/{chunk-UWJP4JSZ.js → chunk-5OTA2PUH.js} +2 -2
  29. package/dist/{chunk-CU2PZLZP.js → chunk-5SSTVFPX.js} +44 -9
  30. package/dist/{chunk-LKR4FACF.js → chunk-66JTY4AN.js} +2 -4
  31. package/dist/{chunk-AR4QVMWG.js → chunk-6BNNLVAR.js} +1 -1
  32. package/dist/{chunk-L24LESXF.js → chunk-6GXLAKUH.js} +1 -1
  33. package/dist/{chunk-XLAREWBK.js → chunk-6OIMUSDX.js} +9 -9
  34. package/dist/{chunk-RE27AX7O.js → chunk-6OSGENN5.js} +1 -1
  35. package/dist/{chunk-VMD2CYVP.js → chunk-6WVX4KNP.js} +44 -44
  36. package/dist/{chunk-IMHNZITR.js → chunk-6ZL2XYM7.js} +3 -3
  37. package/dist/{chunk-RMTOZALT.js → chunk-73EYNV4O.js} +3 -3
  38. package/dist/{chunk-4HG4PYHM.js → chunk-7ENDOHAA.js} +1 -1
  39. package/dist/{chunk-4YO7VJTP.js → chunk-7PJBJ2DU.js} +1 -1
  40. package/dist/{chunk-MI6SJJQU.js → chunk-A2A2I4Z4.js} +3 -3
  41. package/dist/{chunk-PSGSFRRE.js → chunk-A4PNWAUW.js} +3 -3
  42. package/dist/{chunk-7BBRSOKS.js → chunk-ADNIO3XY.js} +3 -3
  43. package/dist/{chunk-R7BSF7Z7.js → chunk-AQQUJEDN.js} +1 -1
  44. package/dist/{chunk-HYV6GSXM.js → chunk-AULZD45V.js} +2 -2
  45. package/dist/chunk-B5DHFFZP.js +15 -0
  46. package/dist/{chunk-ZB2Q67NO.js → chunk-B5PEKSRH.js} +2 -2
  47. package/dist/{chunk-EP7BT3HU.js → chunk-BEA4D7OS.js} +2 -2
  48. package/dist/{chunk-CVZBLHHW.js → chunk-BQMHJ6OW.js} +1 -1
  49. package/dist/{chunk-OYKNMFUY.js → chunk-BQO24BDM.js} +2 -2
  50. package/dist/{chunk-V3KHZQPK.js → chunk-BRGRIZQB.js} +2 -2
  51. package/dist/{chunk-IMKPFW67.js → chunk-BRSM6Z34.js} +10 -10
  52. package/dist/{chunk-PUZ63XZM.js → chunk-BZX7QCXJ.js} +21 -32
  53. package/dist/{chunk-37QQXKFV.js → chunk-CDM6XMOT.js} +3 -3
  54. package/dist/{chunk-53BJIOLF.js → chunk-CN4RDJDV.js} +3 -3
  55. package/dist/{chunk-OOCVGX4W.js → chunk-CYRB2JTN.js} +1 -1
  56. package/dist/{chunk-IHK3Y2HG.js → chunk-DEFBUZWV.js} +1 -1
  57. package/dist/{chunk-NTJ5HVV6.js → chunk-DGUGE67L.js} +3 -3
  58. package/dist/{chunk-3SLRZKLB.js → chunk-DRFGIOZ6.js} +4 -4
  59. package/dist/{chunk-EDPDAUBL.js → chunk-DUPZ2BBY.js} +17 -5
  60. package/dist/{chunk-HLE5QGZJ.js → chunk-EBIDNRSR.js} +2 -2
  61. package/dist/{chunk-N254IJM2.js → chunk-EBSFSOJC.js} +26 -10
  62. package/dist/{chunk-MKFQ5E7J.js → chunk-EBVVMUAA.js} +1 -1
  63. package/dist/{chunk-F2436VRR.js → chunk-FSJ3ZA6N.js} +5 -5
  64. package/dist/{chunk-Q3N7PI3B.js → chunk-FTUMRSGT.js} +115 -10
  65. package/dist/{chunk-57L2JPP2.js → chunk-GE7ICBX6.js} +6 -6
  66. package/dist/{chunk-ROCBGUJN.js → chunk-GI5R5B3S.js} +2 -2
  67. package/dist/{chunk-D7DXNQW5.js → chunk-H5UEVW6Q.js} +16 -10
  68. package/dist/{chunk-HFG7KQOY.js → chunk-H6BT45SN.js} +2 -2
  69. package/dist/{chunk-BDXC7MDK.js → chunk-H7AXCRO7.js} +1 -1
  70. package/dist/{chunk-GCDW3WAY.js → chunk-HIWHIYLD.js} +20 -11
  71. package/dist/{chunk-JJUDOR4I.js → chunk-HXULJZA2.js} +1 -1
  72. package/dist/{chunk-MJKQ5ZYY.js → chunk-IGKFOHBG.js} +5 -5
  73. package/dist/{chunk-WTE27AJT.js → chunk-J2E7EUER.js} +19 -10
  74. package/dist/{chunk-J2SQNZ6D.js → chunk-J7Q4AB23.js} +6 -3
  75. package/dist/{chunk-NS7L7YKH.js → chunk-JILEYZ2V.js} +2 -4
  76. package/dist/{chunk-5MDQMB6A.js → chunk-JKST4RTT.js} +3 -3
  77. package/dist/{chunk-RVTYIGWZ.js → chunk-JLU52ZDT.js} +9 -9
  78. package/dist/{chunk-KATED53P.js → chunk-JRWUHLRP.js} +1 -1
  79. package/dist/{chunk-IUBCDNT2.js → chunk-JXGSTBW6.js} +3 -3
  80. package/dist/{chunk-2ZVLI6GQ.js → chunk-KBDMEOLI.js} +2 -2
  81. package/dist/{chunk-TLPY4ZBI.js → chunk-KTGZDMDX.js} +38 -17
  82. package/dist/{chunk-II4XJETG.js → chunk-L5NW3PVL.js} +1 -1
  83. package/dist/{chunk-JJQWCI35.js → chunk-LKZCUFOW.js} +3 -3
  84. package/dist/{chunk-27KA4VV6.js → chunk-LRP5FXST.js} +7 -7
  85. package/dist/{chunk-JA2S7PHR.js → chunk-MDVJYRJT.js} +12 -16
  86. package/dist/{chunk-SWBHH2UW.js → chunk-MX4SZLSV.js} +4 -14
  87. package/dist/{chunk-5DIBB2QG.js → chunk-MXAP37W6.js} +2 -2
  88. package/dist/{chunk-273GB7WK.js → chunk-NBAAIRFP.js} +1 -3
  89. package/dist/{chunk-QVKTAU7P.js → chunk-NMS5XSLX.js} +4 -4
  90. package/dist/{chunk-BQVTV4LB.js → chunk-NO3UX6AP.js} +2 -2
  91. package/dist/{chunk-RHXIUUWB.js → chunk-NREU4JFE.js} +4 -4
  92. package/dist/{chunk-CXIPV2FY.js → chunk-NVZ7R4EK.js} +8 -8
  93. package/dist/{chunk-TCX5PMEY.js → chunk-NXU4N5WT.js} +1 -1
  94. package/dist/{chunk-FJCYK4K3.js → chunk-O5WUZGPV.js} +50 -17
  95. package/dist/{chunk-G22UV5AF.js → chunk-ONYO5WJW.js} +18 -15
  96. package/dist/{chunk-EWERNTOX.js → chunk-OQW4ETJX.js} +3 -6
  97. package/dist/{chunk-6QEXWMBP.js → chunk-PVWIBKV2.js} +4 -4
  98. package/dist/{chunk-YZG37S7L.js → chunk-Q2UFOKPB.js} +10 -10
  99. package/dist/{chunk-X6IZP2BD.js → chunk-Q6W2K33N.js} +4 -4
  100. package/dist/{chunk-WNTPJZU7.js → chunk-Q6ZQX2HX.js} +4 -4
  101. package/dist/{chunk-CPGKRI7H.js → chunk-QKY6W4NA.js} +17 -15
  102. package/dist/{chunk-IWTUXGHN.js → chunk-QQPNCXAO.js} +15 -13
  103. package/dist/{chunk-2AM6VA3A.js → chunk-QUGC7GWB.js} +10 -10
  104. package/dist/{chunk-IS6WFBX7.js → chunk-R6EGUTIV.js} +3 -3
  105. package/dist/{chunk-CDT33RHG.js → chunk-RBFJT23E.js} +3 -3
  106. package/dist/{chunk-G3EUQMV4.js → chunk-SOHZDW6N.js} +3 -3
  107. package/dist/{chunk-SPQVER4T.js → chunk-STFWGASB.js} +1 -1
  108. package/dist/{chunk-G2KHLANR.js → chunk-T7NWBVSC.js} +2 -2
  109. package/dist/{chunk-MPJQMMBZ.js → chunk-TIIZIAGS.js} +1 -1
  110. package/dist/{chunk-B6EUFLRP.js → chunk-TKAB3FTK.js} +11 -11
  111. package/dist/{chunk-SEKNYIMO.js → chunk-TOHTKLKE.js} +1 -1
  112. package/dist/{chunk-I6GGMCTV.js → chunk-UOCWYLYT.js} +1 -1
  113. package/dist/{chunk-6NO3MNBC.js → chunk-URQIWIKX.js} +3 -3
  114. package/dist/{chunk-I74AQRVD.js → chunk-V4D2ZQBE.js} +2 -2
  115. package/dist/{chunk-2UV627GG.js → chunk-VOR32OHN.js} +12 -12
  116. package/dist/{chunk-YRYKTYMQ.js → chunk-VSOZZYLK.js} +106 -12
  117. package/dist/{chunk-MNL547RV.js → chunk-WLLO3PZ3.js} +23 -9
  118. package/dist/{chunk-SKF7XLCM.js → chunk-WZBZXZ6T.js} +3 -6
  119. package/dist/{chunk-NWPMLX2V.js → chunk-X5BUX2GK.js} +79 -10
  120. package/dist/{chunk-XQTRGKQ3.js → chunk-XIUGSUE4.js} +2 -2
  121. package/dist/{chunk-KA5CSR44.js → chunk-Y2V5AEVG.js} +244 -181
  122. package/dist/{chunk-SMTWQ66K.js → chunk-Y3SIQN4J.js} +2 -2
  123. package/dist/{chunk-5VPWIC6T.js → chunk-YITHYQCL.js} +9 -9
  124. package/dist/{chunk-5WRI5ZAA.js → chunk-YLJ4XMA6.js} +5 -1
  125. package/dist/{chunk-PZVTFQI2.js → chunk-YO6AQU4A.js} +7 -7
  126. package/dist/{chunk-5NU7NII2.js → chunk-Z6QFHH4D.js} +3 -1
  127. package/dist/{chunk-F26ZPBSF.js → chunk-ZECJ7Q6C.js} +2 -2
  128. package/dist/{chunk-M6J25PAZ.js → chunk-ZJAK6C7Y.js} +1 -1
  129. package/dist/{chunk-DLX7MEN4.js → chunk-ZKP77MB3.js} +4 -4
  130. package/dist/cloud-reference.d.ts +5 -3
  131. package/dist/cloud-reference.js +2 -2
  132. package/dist/{collapse-SLINJQW6.js → collapse-BSPH3BFM.js} +1 -1
  133. package/dist/{collapse-ZWUFFCK2.js → collapse-TCVK3RPO.js} +1 -1
  134. package/dist/{collapse-JRGPUE67.js → collapse-VNYYXMUI.js} +1 -1
  135. package/dist/completion-registry.d.ts +2 -1
  136. package/dist/completion-registry.js +5 -5
  137. package/dist/{compute-2XWFVO7K.js → compute-II4G44IK.js} +1 -1
  138. package/dist/{d3-2S3PrXik.d.ts → d3-BThYBTQk.d.ts} +3 -2
  139. package/dist/dgmo-router-4UAPPIKN.js +94 -0
  140. package/dist/dimensions-SCNVYLRF.js +21 -0
  141. package/dist/{flowchart-parser-BLJ6RA53.js → flowchart-parser-NA75YQ77.js} +5 -5
  142. package/dist/{flowchart-renderer-FXRQKXAK.js → flowchart-renderer-6MGGX4RC.js} +14 -14
  143. package/dist/highlight.d.ts +2 -1
  144. package/dist/index.d.ts +9 -8
  145. package/dist/index.js +64 -64
  146. package/dist/{layout-ROAVGBUC.js → layout-2WESJYRE.js} +1 -1
  147. package/dist/{layout-RBLD5EGX.js → layout-5USEVQBY.js} +8 -5
  148. package/dist/{layout-YKGQRFDM.js → layout-BNLFQHSB.js} +5 -2
  149. package/dist/{layout-UPQGIT3N.js → layout-D4L44NRG.js} +1 -1
  150. package/dist/{layout-B7PQRAMB.js → layout-HF3PMI4H.js} +1 -1
  151. package/dist/{layout-VRJ5YFUE.js → layout-HFBK5UEG.js} +5 -5
  152. package/dist/{layout-RANVNAKI.js → layout-J3AGFZZ7.js} +1 -1
  153. package/dist/{layout-G42FDCF3.js → layout-JTIRCKAW.js} +7 -7
  154. package/dist/{layout-CCVCLZ6S.js → layout-KV27UW25.js} +2 -2
  155. package/dist/{layout-5HCEF7VO.js → layout-MBVBAMPA.js} +1 -1
  156. package/dist/layout-MXHR3P35.js +15 -0
  157. package/dist/layout-ND26WVX2.js +15 -0
  158. package/dist/{layout-CRUAP7JG.js → layout-RH3N46HP.js} +5 -5
  159. package/dist/{layout-JTNRSGOS.js → layout-S3RLVPH4.js} +8 -5
  160. package/dist/layout-WRG4APSJ.js +32 -0
  161. package/dist/{layout-search-L75YOBME.js → layout-search-PMYL3VWS.js} +8 -3
  162. package/dist/{legend-constants-HE7FVDJP.js → legend-constants-55MFBXYF.js} +4 -4
  163. package/dist/live-link-resolve.d.ts +2 -1
  164. package/dist/live-link-resolve.js +2 -2
  165. package/dist/{palettes-WQHELGVQ.js → palettes-IN7ZFRJM.js} +4 -4
  166. package/dist/{parser-YWZGIU3C.js → parser-2IKPQVKX.js} +6 -6
  167. package/dist/{parser-4QNRCGU5.js → parser-2NWH5JUS.js} +8 -8
  168. package/dist/parser-3LT3ZUUC.js +10 -0
  169. package/dist/{parser-6NSQLPTS.js → parser-3MK56JZC.js} +5 -5
  170. package/dist/parser-3QIFY5IN.js +10 -0
  171. package/dist/{parser-YVHO2NRM.js → parser-4TBSWULQ.js} +5 -5
  172. package/dist/parser-5LW5JDYG.js +12 -0
  173. package/dist/parser-5UZV32ZI.js +10 -0
  174. package/dist/{parser-XO5IAXMT.js → parser-6TDWUKM5.js} +5 -5
  175. package/dist/{parser-6LMB7BQQ.js → parser-BES6LV3G.js} +4 -4
  176. package/dist/{parser-H2DJEAPG.js → parser-BJ7RJNUM.js} +5 -5
  177. package/dist/parser-EAQPZX2B.js +13 -0
  178. package/dist/{parser-UEDPLM46.js → parser-EFF22GYO.js} +5 -5
  179. package/dist/{parser-QL4DEPVA.js → parser-FXDS4JDK.js} +5 -5
  180. package/dist/{parser-R6OETHWM.js → parser-GMQJISZ6.js} +5 -5
  181. package/dist/{parser-6X4GGH2R.js → parser-GX5YLRIP.js} +6 -6
  182. package/dist/parser-H5OODY5N.js +11 -0
  183. package/dist/parser-K2DI26SC.js +11 -0
  184. package/dist/parser-KKF6Y5MM.js +12 -0
  185. package/dist/parser-KLCSFQ3J.js +12 -0
  186. package/dist/{parser-MDSVVCJP.js → parser-L6RWDXQN.js} +6 -6
  187. package/dist/{parser-EYF4ZSZO.js → parser-LCJ76UXS.js} +5 -5
  188. package/dist/parser-LTRQASGB.js +11 -0
  189. package/dist/parser-PEZ7RN43.js +14 -0
  190. package/dist/{parser-ULSUK36C.js → parser-QYISOAGR.js} +6 -6
  191. package/dist/parser-RTWPFKXG.js +12 -0
  192. package/dist/{parser-Q3UAOLEZ.js → parser-SEUTXN6U.js} +5 -5
  193. package/dist/parser-SIKL4PLF.js +10 -0
  194. package/dist/parser-TUAEX6ML.js +12 -0
  195. package/dist/parser-VA7ZQQTA.js +10 -0
  196. package/dist/parser-X23GRTQJ.js +10 -0
  197. package/dist/{parser-AL6YL7KM.js → parser-XZUKNZPB.js} +4 -4
  198. package/dist/parser-YG625J5H.js +13 -0
  199. package/dist/{parser-UL6WN6W5.js → parser-YHDGKPZI.js} +5 -5
  200. package/dist/pert.d.ts +2 -1
  201. package/dist/renderer-2FVUPBGV.js +20 -0
  202. package/dist/{renderer-YDNWK6RI.js → renderer-36446HSH.js} +5 -5
  203. package/dist/{renderer-OPA4JJKX.js → renderer-3IHQI4A4.js} +12 -12
  204. package/dist/{renderer-43IVPARP.js → renderer-3JY6JAQJ.js} +9 -9
  205. package/dist/{renderer-SD4ZHHAR.js → renderer-3QAFDXEY.js} +11 -11
  206. package/dist/{renderer-7EAWN7MC.js → renderer-5TZVFQ7K.js} +11 -11
  207. package/dist/renderer-5VKPB4LL.js +28 -0
  208. package/dist/{renderer-B7B7BQM3.js → renderer-7ZZG5HR3.js} +12 -11
  209. package/dist/renderer-ALWVK3EJ.js +30 -0
  210. package/dist/{renderer-R7RK7FKI.js → renderer-DC7C5Q3G.js} +4 -4
  211. package/dist/renderer-DVNMCYHZ.js +40 -0
  212. package/dist/renderer-ISSDGK54.js +22 -0
  213. package/dist/{renderer-IPDCAACY.js → renderer-J5FKF423.js} +6 -6
  214. package/dist/{renderer-SE7Z5AOL.js → renderer-J666LZXJ.js} +11 -11
  215. package/dist/{renderer-I2LYSQBV.js → renderer-JEJT3YET.js} +7 -7
  216. package/dist/{renderer-TWKEZ3DD.js → renderer-LM4ICK6I.js} +11 -11
  217. package/dist/{renderer-3N64GVNM.js → renderer-LQP3AGEJ.js} +5 -5
  218. package/dist/{renderer-7SEXPBGM.js → renderer-MM27BSBO.js} +9 -9
  219. package/dist/{renderer-U5PD72G7.js → renderer-NDA2FFYB.js} +10 -10
  220. package/dist/{renderer-YQPZ7O2C.js → renderer-NHTR7IRR.js} +4 -4
  221. package/dist/{renderer-T2WUA7MC.js → renderer-O6DY46AV.js} +15 -15
  222. package/dist/{renderer-4MEZYGU6.js → renderer-OAR5VPH4.js} +6 -6
  223. package/dist/renderer-QGIHLZOJ.js +31 -0
  224. package/dist/{renderer-ZQ77CM6Y.js → renderer-RSK6QFWN.js} +12 -11
  225. package/dist/renderer-RUSFL7WU.js +27 -0
  226. package/dist/{renderer-S3NFBJCY.js → renderer-S3YCLJKL.js} +19 -19
  227. package/dist/renderer-TO2NVJP3.js +80 -0
  228. package/dist/{renderer-54GXA3UO.js → renderer-VPIELEE5.js} +12 -12
  229. package/dist/{renderer-R7OYCJEA.js → renderer-WIU5BJUK.js} +5 -5
  230. package/dist/{renderer-MRMFYYZT.js → renderer-XGG2UNXT.js} +5 -5
  231. package/dist/{renderer-QQNPJGAP.js → renderer-XO57LTU4.js} +10 -10
  232. package/dist/{renderer-RFP55AW7.js → renderer-ZGY7P4BM.js} +19 -19
  233. package/dist/{renderer-JUH6M3XF.js → renderer-ZHGHTSNG.js} +16 -16
  234. package/dist/{renderer-LWL3IJOF.js → renderer-ZZ6MWVB7.js} +10 -10
  235. package/dist/renderer-radial-WFUX3Z3C.js +20 -0
  236. package/dist/{resolver-6DJLZF6Y.js → resolver-33K6MBCT.js} +3 -3
  237. package/dist/{state-collapse-HCGD6IVJ.js → state-collapse-SE2G4K4I.js} +1 -1
  238. package/dist/{state-parser-NIIVOU2Y.js → state-parser-TIR2ORJY.js} +6 -6
  239. package/dist/{state-renderer-TVLEG32M.js → state-renderer-G6SUXU4J.js} +18 -18
  240. package/dist/{tag-groups-fgxWTyyB.d.ts → tag-groups-DsoVpAY-.d.ts} +2 -1
  241. package/dist/{themes-Cm2YBcT8.d.ts → themes-DRNjxX7Q.d.ts} +4 -3
  242. package/docs/language-reference.md +9 -3
  243. package/gallery/fixtures/map-undirected-edges.dgmo +5 -5
  244. package/package.json +5 -3
  245. package/dist/charts-d3-KSA5UKVJ.js +0 -31
  246. package/dist/dgmo-router-YHBMKTXY.js +0 -94
  247. package/dist/dimensions-QMGWJQTR.js +0 -21
  248. package/dist/layout-6PLSBB5X.js +0 -15
  249. package/dist/layout-IV4H2FLB.js +0 -15
  250. package/dist/layout-T2DQ4M77.js +0 -26
  251. package/dist/parser-2XCDVLSN.js +0 -11
  252. package/dist/parser-3MGA2MTM.js +0 -10
  253. package/dist/parser-4AR25MAS.js +0 -10
  254. package/dist/parser-D6YRVV75.js +0 -12
  255. package/dist/parser-EY3VJWBE.js +0 -12
  256. package/dist/parser-FDXUQ5TI.js +0 -11
  257. package/dist/parser-ILWAA3QJ.js +0 -14
  258. package/dist/parser-KMFMNZYI.js +0 -11
  259. package/dist/parser-OFTMA36M.js +0 -10
  260. package/dist/parser-UY3K4ROB.js +0 -10
  261. package/dist/parser-UYQNNQKT.js +0 -13
  262. package/dist/parser-VG747VR6.js +0 -12
  263. package/dist/parser-VK4PNDX4.js +0 -12
  264. package/dist/parser-WSONWDFN.js +0 -10
  265. package/dist/parser-X5FQ36KJ.js +0 -13
  266. package/dist/parser-ZFLSULFC.js +0 -12
  267. package/dist/parser-ZR7JAKSW.js +0 -10
  268. package/dist/renderer-J2LOMTBC.js +0 -20
  269. package/dist/renderer-KY6O5JTX.js +0 -80
  270. package/dist/renderer-LHTDI5RV.js +0 -28
  271. package/dist/renderer-NCIDGJ2R.js +0 -30
  272. package/dist/renderer-QMNC7TGN.js +0 -22
  273. package/dist/renderer-VCTKBUTR.js +0 -30
  274. package/dist/renderer-VNZTWATB.js +0 -27
  275. package/dist/renderer-YDOWBIUB.js +0 -40
  276. package/dist/renderer-radial-TNNEL3YN.js +0 -20
  277. /package/dist/{chunk-2M4IGSCY.js → chunk-3J7O3CU6.js} +0 -0
  278. /package/dist/{chunk-4QV26TEG.js → chunk-AXLF3KRE.js} +0 -0
  279. /package/dist/{chunk-EDXGEQW3.js → chunk-FOTH2WWP.js} +0 -0
  280. /package/dist/{chunk-DAOFNU6J.js → chunk-MKSTL6DR.js} +0 -0
  281. /package/dist/{chunk-ABP5BUD6.js → chunk-ZI6WC24V.js} +0 -0
@@ -6,7 +6,7 @@ import {
6
6
  layoutC4Containers,
7
7
  layoutC4Context,
8
8
  layoutC4Deployment
9
- } from "./chunk-K3BYD3WU.js";
9
+ } from "./chunk-5KKZXA44.js";
10
10
  import {
11
11
  appendArrowheadMarkers,
12
12
  appendReverseArrowheadMarkers
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-S7W75MIM.js";
17
17
  import {
18
18
  renderIntegratedLegend
19
- } from "./chunk-QVKTAU7P.js";
19
+ } from "./chunk-NMS5XSLX.js";
20
20
  import {
21
21
  ARROWHEAD_HEIGHT,
22
22
  ARROWHEAD_WIDTH,
@@ -33,7 +33,7 @@ import {
33
33
  } from "./chunk-XCKNFFKM.js";
34
34
  import {
35
35
  serializeSvg
36
- } from "./chunk-OOCVGX4W.js";
36
+ } from "./chunk-CYRB2JTN.js";
37
37
  import {
38
38
  TITLE_FONT_SIZE,
39
39
  TITLE_FONT_WEIGHT
@@ -43,20 +43,20 @@ import {
43
43
  } from "./chunk-ICLB27PZ.js";
44
44
  import {
45
45
  parseC4
46
- } from "./chunk-EP7BT3HU.js";
46
+ } from "./chunk-BEA4D7OS.js";
47
47
  import {
48
48
  preprocessDescriptionLine
49
49
  } from "./chunk-IYULMRBE.js";
50
50
  import {
51
51
  resolveGroupTagColor,
52
52
  tagAttrKey
53
- } from "./chunk-QKJ6MQXW.js";
53
+ } from "./chunk-4SACN2C5.js";
54
54
  import {
55
55
  fillModeFromOptions
56
- } from "./chunk-MPJQMMBZ.js";
56
+ } from "./chunk-TIIZIAGS.js";
57
57
  import {
58
58
  LEGEND_HEIGHT
59
- } from "./chunk-I6GGMCTV.js";
59
+ } from "./chunk-UOCWYLYT.js";
60
60
  import {
61
61
  measureText,
62
62
  wrapTextToWidth
@@ -66,7 +66,7 @@ import {
66
66
  groupFill,
67
67
  mix,
68
68
  shapeFill
69
- } from "./chunk-L24LESXF.js";
69
+ } from "./chunk-6GXLAKUH.js";
70
70
 
71
71
  // src/c4/renderer.ts
72
72
  import * as d3Selection from "d3-selection";
@@ -229,13 +229,16 @@ function renderC4Context(container, parsed, layout, palette, isDark, onClickItem
229
229
  const tagKey = tagAttrKey(activeTagGroup);
230
230
  const tagValue = node.metadata[tagKey];
231
231
  if (tagValue) {
232
- nodeG.attr(`data-tag-${tagKey}`, tagValue.toLowerCase());
232
+ nodeG.attr(`data-tag-${tagAttrKey(tagKey)}`, tagValue.toLowerCase());
233
233
  } else {
234
234
  const tagGroup = parsed.tagGroups.find(
235
235
  (g) => tagAttrKey(g.name) === tagKey || g.alias?.toLowerCase() === tagKey
236
236
  );
237
237
  if (tagGroup?.defaultValue) {
238
- nodeG.attr(`data-tag-${tagKey}`, tagGroup.defaultValue.toLowerCase());
238
+ nodeG.attr(
239
+ `data-tag-${tagAttrKey(tagKey)}`,
240
+ tagGroup.defaultValue.toLowerCase()
241
+ );
239
242
  }
240
243
  }
241
244
  }
@@ -268,12 +271,7 @@ function renderC4Context(container, parsed, layout, palette, isDark, onClickItem
268
271
  const totalWidth = PERSON_ICON_W + gap + textWidth;
269
272
  const iconCx = -totalWidth / 2 + PERSON_ICON_W / 2;
270
273
  const textX = iconCx + PERSON_ICON_W / 2 + gap;
271
- drawPersonIcon(
272
- nodeG,
273
- iconCx,
274
- yPos + LABEL_FONT_SIZE / 2 - 2,
275
- stroke
276
- );
274
+ drawPersonIcon(nodeG, iconCx, yPos + LABEL_FONT_SIZE / 2 - 2, stroke);
277
275
  nodeG.append("text").attr("x", textX).attr("y", yPos + LABEL_FONT_SIZE / 2).attr("text-anchor", "start").attr("dominant-baseline", "central").attr("fill", onFillText).attr("font-size", LABEL_FONT_SIZE).attr("font-weight", "bold").text(node.name);
278
276
  } else {
279
277
  nodeG.append("text").attr("x", 0).attr("y", yPos + LABEL_FONT_SIZE / 2).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", onFillText).attr("font-size", LABEL_FONT_SIZE).attr("font-weight", "bold").text(node.name);
@@ -860,13 +858,16 @@ function renderC4Containers(container, parsed, layout, palette, isDark, onClickI
860
858
  const tagKey = tagAttrKey(activeTagGroup);
861
859
  const tagValue = node.metadata[tagKey];
862
860
  if (tagValue) {
863
- nodeG.attr(`data-tag-${tagKey}`, tagValue.toLowerCase());
861
+ nodeG.attr(`data-tag-${tagAttrKey(tagKey)}`, tagValue.toLowerCase());
864
862
  } else {
865
863
  const tagGroup = parsed.tagGroups.find(
866
864
  (g) => tagAttrKey(g.name) === tagKey || g.alias?.toLowerCase() === tagKey
867
865
  );
868
866
  if (tagGroup?.defaultValue) {
869
- nodeG.attr(`data-tag-${tagKey}`, tagGroup.defaultValue.toLowerCase());
867
+ nodeG.attr(
868
+ `data-tag-${tagAttrKey(tagKey)}`,
869
+ tagGroup.defaultValue.toLowerCase()
870
+ );
870
871
  }
871
872
  }
872
873
  }
@@ -894,14 +895,7 @@ function renderC4Containers(container, parsed, layout, palette, isDark, onClickI
894
895
  const shape = node.shape ?? "default";
895
896
  const isExternalShape = shape === "external";
896
897
  if (shape === "database" || shape === "cache") {
897
- drawCylinderCard(
898
- nodeG,
899
- w,
900
- h,
901
- fill,
902
- stroke,
903
- shape === "cache"
904
- );
898
+ drawCylinderCard(nodeG, w, h, fill, stroke, shape === "cache");
905
899
  } else if (shape === "cloud") {
906
900
  drawCloudCard(nodeG, w, h, fill, stroke);
907
901
  } else if (shape === "queue") {
@@ -927,12 +921,7 @@ function renderC4Containers(container, parsed, layout, palette, isDark, onClickI
927
921
  const totalWidth = PERSON_ICON_W + gap + textWidth;
928
922
  const iconCx = -totalWidth / 2 + PERSON_ICON_W / 2;
929
923
  const textX = iconCx + PERSON_ICON_W / 2 + gap;
930
- drawPersonIcon(
931
- nodeG,
932
- iconCx,
933
- yPos + LABEL_FONT_SIZE / 2 - 2,
934
- stroke
935
- );
924
+ drawPersonIcon(nodeG, iconCx, yPos + LABEL_FONT_SIZE / 2 - 2, stroke);
936
925
  nodeG.append("text").attr("x", textX).attr("y", yPos + LABEL_FONT_SIZE / 2).attr("text-anchor", "start").attr("dominant-baseline", "central").attr("fill", onFillText).attr("font-size", LABEL_FONT_SIZE).attr("font-weight", "bold").text(node.name);
937
926
  } else {
938
927
  nodeG.append("text").attr("x", 0).attr("y", yPos + LABEL_FONT_SIZE / 2).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", onFillText).attr("font-size", LABEL_FONT_SIZE).attr("font-weight", "bold").text(node.name);
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  parseDateToken,
9
9
  toInternal
10
- } from "./chunk-DAOFNU6J.js";
10
+ } from "./chunk-MKSTL6DR.js";
11
11
  import {
12
12
  normalizeName
13
13
  } from "./chunk-NOTA6TEI.js";
@@ -21,7 +21,7 @@ import {
21
21
  tagAttrKey,
22
22
  validateTagGroupNames,
23
23
  validateTagValues
24
- } from "./chunk-QKJ6MQXW.js";
24
+ } from "./chunk-4SACN2C5.js";
25
25
  import {
26
26
  PERT_REGISTRY,
27
27
  extractColor,
@@ -31,7 +31,7 @@ import {
31
31
  splitNameAndMeta,
32
32
  warnUnknownMetaKeys,
33
33
  withTagAliases
34
- } from "./chunk-MPJQMMBZ.js";
34
+ } from "./chunk-TIIZIAGS.js";
35
35
  import {
36
36
  emit,
37
37
  makeDgmoError,
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  resolveTagColor,
3
3
  tagAttrKey
4
- } from "./chunk-QKJ6MQXW.js";
4
+ } from "./chunk-4SACN2C5.js";
5
5
  import {
6
6
  mix
7
- } from "./chunk-L24LESXF.js";
7
+ } from "./chunk-6GXLAKUH.js";
8
8
  import {
9
9
  resolveColor
10
- } from "./chunk-2M4IGSCY.js";
10
+ } from "./chunk-3J7O3CU6.js";
11
11
 
12
12
  // src/treemap/treemap-shared.ts
13
13
  import { scaleLinear } from "d3-scale";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  LEGEND_PILL_TOGGLE_CLASS
3
- } from "./chunk-I6GGMCTV.js";
3
+ } from "./chunk-UOCWYLYT.js";
4
4
 
5
5
  // src/utils/svg-serialize.ts
6
6
  var BARE_AMPERSAND = /&(?![a-zA-Z][a-zA-Z0-9]*;|#\d+;|#[xX][0-9a-fA-F]+;)/g;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  parseFirstLine,
3
3
  recognizeGlobalBoolean
4
- } from "./chunk-MPJQMMBZ.js";
4
+ } from "./chunk-TIIZIAGS.js";
5
5
  import {
6
6
  makeDgmoError,
7
7
  makeFail,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildSwatches
3
- } from "./chunk-G2KHLANR.js";
3
+ } from "./chunk-T7NWBVSC.js";
4
4
  import {
5
5
  now
6
6
  } from "./chunk-3DPOIW3W.js";
@@ -21,10 +21,10 @@ import {
21
21
  contrastText,
22
22
  mix,
23
23
  themeBaseBg
24
- } from "./chunk-L24LESXF.js";
24
+ } from "./chunk-6GXLAKUH.js";
25
25
  import {
26
26
  resolveColor
27
- } from "./chunk-2M4IGSCY.js";
27
+ } from "./chunk-3J7O3CU6.js";
28
28
 
29
29
  // src/clock/renderer.ts
30
30
  import * as d3Selection from "d3-selection";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  tryCollectNote
3
- } from "./chunk-KSZHIAI2.js";
3
+ } from "./chunk-3Y63RFJL.js";
4
4
  import {
5
5
  resolveNotes
6
6
  } from "./chunk-O753JUEZ.js";
@@ -20,7 +20,7 @@ import {
20
20
  tagAttrKey,
21
21
  validateTagGroupNames,
22
22
  validateTagValues
23
- } from "./chunk-QKJ6MQXW.js";
23
+ } from "./chunk-4SACN2C5.js";
24
24
  import {
25
25
  AliasRegistry,
26
26
  ER_REGISTRY,
@@ -34,10 +34,10 @@ import {
34
34
  tryParseSharedOption,
35
35
  warnUnknownMetaKeys,
36
36
  withTagAliases
37
- } from "./chunk-MPJQMMBZ.js";
37
+ } from "./chunk-TIIZIAGS.js";
38
38
  import {
39
39
  resolveColorWithDiagnostic
40
- } from "./chunk-2M4IGSCY.js";
40
+ } from "./chunk-3J7O3CU6.js";
41
41
  import {
42
42
  NAME_DIAGNOSTIC_CODES,
43
43
  formatDgmoError,
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  drawCylinderCard,
3
3
  drawQueueCard
4
- } from "./chunk-PUZ63XZM.js";
4
+ } from "./chunk-BZX7QCXJ.js";
5
5
  import {
6
6
  CYLINDER_RY,
7
7
  QUEUE_CAP
8
- } from "./chunk-K3BYD3WU.js";
8
+ } from "./chunk-5KKZXA44.js";
9
9
  import {
10
10
  renderChartTitle
11
- } from "./chunk-X6IZP2BD.js";
11
+ } from "./chunk-Q6W2K33N.js";
12
12
  import {
13
13
  TITLE_FONT_SIZE
14
14
  } from "./chunk-VLC6WNRD.js";
@@ -24,7 +24,7 @@ import {
24
24
  mix,
25
25
  shapeFill,
26
26
  themeBaseBg
27
- } from "./chunk-L24LESXF.js";
27
+ } from "./chunk-6GXLAKUH.js";
28
28
 
29
29
  // src/whiteboard/renderer.ts
30
30
  import * as d3 from "d3-selection";
@@ -787,7 +787,19 @@ function renderWhiteboard(container, parsed, palette, isDark, options = {}) {
787
787
  }
788
788
  }
789
789
  };
790
- for (const el of elements) drawElement(el);
790
+ for (const el of inDrawOrder(elements)) drawElement(el);
791
+ }
792
+ var DRAW_BAND = {
793
+ image: 0,
794
+ shape: 1,
795
+ note: 2,
796
+ arrow: 3,
797
+ line: 3,
798
+ text: 4,
799
+ ink: 5
800
+ };
801
+ function inDrawOrder(elements) {
802
+ return elements.map((el, i) => ({ el, i })).sort((a, b) => DRAW_BAND[a.el.kind] - DRAW_BAND[b.el.kind] || a.i - b.i).map(({ el }) => el);
791
803
  }
792
804
  function appendLines(t, lines, x, firstY, lh) {
793
805
  lines.forEach((ln, i) => {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  fillModeFromOptions
3
- } from "./chunk-MPJQMMBZ.js";
3
+ } from "./chunk-TIIZIAGS.js";
4
4
  import {
5
5
  measureText,
6
6
  wrapTextToWidth
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  mix,
10
10
  shapeFill
11
- } from "./chunk-L24LESXF.js";
11
+ } from "./chunk-6GXLAKUH.js";
12
12
 
13
13
  // src/journey-map/layout.ts
14
14
  var PADDING = 24;
@@ -1,3 +1,8 @@
1
+ import {
2
+ FULL_TEXT_ATTR,
3
+ fullNodeText,
4
+ isCutShort
5
+ } from "./chunk-B5DHFFZP.js";
1
6
  import {
2
7
  appendArrowheadMarkers,
3
8
  appendReverseArrowheadMarkers
@@ -8,7 +13,7 @@ import {
8
13
  renderNoteBadge,
9
14
  renderNoteBox,
10
15
  renderNoteConnector
11
- } from "./chunk-KATED53P.js";
16
+ } from "./chunk-JRWUHLRP.js";
12
17
  import {
13
18
  wrapDescriptionLines
14
19
  } from "./chunk-NPWVOFB3.js";
@@ -21,7 +26,7 @@ import {
21
26
  } from "./chunk-24YPR5EH.js";
22
27
  import {
23
28
  renderIntegratedLegend
24
- } from "./chunk-QVKTAU7P.js";
29
+ } from "./chunk-NMS5XSLX.js";
25
30
  import {
26
31
  ARROWHEAD_HEIGHT,
27
32
  ARROWHEAD_WIDTH,
@@ -34,11 +39,11 @@ import {
34
39
  } from "./chunk-XCKNFFKM.js";
35
40
  import {
36
41
  layoutInlineHeader
37
- } from "./chunk-CNUN5GO6.js";
42
+ } from "./chunk-42UJ23H3.js";
38
43
  import {
39
44
  getLegendExtent,
40
45
  getMaxLegendReservedHeight
41
- } from "./chunk-NS7L7YKH.js";
46
+ } from "./chunk-JILEYZ2V.js";
42
47
  import {
43
48
  TITLE_FONT_SIZE,
44
49
  TITLE_FONT_WEIGHT,
@@ -49,13 +54,14 @@ import {
49
54
  } from "./chunk-ICLB27PZ.js";
50
55
  import {
51
56
  resolveGroupTagColor,
52
- resolveTagColor
53
- } from "./chunk-QKJ6MQXW.js";
57
+ resolveTagColor,
58
+ tagAttrKey
59
+ } from "./chunk-4SACN2C5.js";
54
60
  import {
55
61
  fillModeFromOptions,
56
62
  legendInlineRequested,
57
63
  legendSuppressed
58
- } from "./chunk-MPJQMMBZ.js";
64
+ } from "./chunk-TIIZIAGS.js";
59
65
  import {
60
66
  CHAR_WIDTH_RATIO,
61
67
  measureText,
@@ -70,10 +76,10 @@ import {
70
76
  shapeFill,
71
77
  themeBaseBg,
72
78
  valueRampColor
73
- } from "./chunk-L24LESXF.js";
79
+ } from "./chunk-6GXLAKUH.js";
74
80
  import {
75
81
  resolveColor
76
- } from "./chunk-2M4IGSCY.js";
82
+ } from "./chunk-3J7O3CU6.js";
77
83
 
78
84
  // src/boxes-and-lines/renderer.ts
79
85
  import * as d3Selection from "d3-selection";
@@ -568,7 +574,7 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
568
574
  const dividerStroke = fillMode === "solid" ? colors.text : colors.stroke;
569
575
  const nodeG = diagramG.append("g").attr("class", "bl-node").attr("transform", `translate(${ln.x},${ln.y})`).attr("data-line-number", node.lineNumber).attr("data-node-id", node.label).style("cursor", onClickItem ? "pointer" : "default").style("--bl-node-stroke", colors.stroke);
570
576
  for (const [key, val] of Object.entries(node.metadata)) {
571
- nodeG.attr(`data-tag-${key.toLowerCase()}`, val.toLowerCase());
577
+ nodeG.attr(`data-tag-${tagAttrKey(key)}`, val.toLowerCase());
572
578
  }
573
579
  if (node.value !== void 0) {
574
580
  nodeG.attr("data-value", node.value);
@@ -584,10 +590,14 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
584
590
  const y = -ln.height / 2;
585
591
  nodeG.append("rect").attr("x", x).attr("y", y).attr("width", ln.width).attr("height", ln.height).attr("rx", NODE_RX).attr("ry", NODE_RX).attr("fill", colors.fill).attr("stroke", colors.stroke).attr("stroke-width", sNodeStrokeWidth);
586
592
  const desc = node.description;
593
+ let textCut;
594
+ let drawnDesc = [];
587
595
  if (desc && desc.length > 0 && !hideDescriptions) {
588
596
  const MAX_LABEL_LINES = 3;
589
597
  const fitted = fitLabelToHeader(node.label, ln.width, MAX_LABEL_LINES);
590
598
  const labelLines = fitted.lines;
599
+ textCut = isCutShort(labelLines, [node.label]);
600
+ drawnDesc = desc;
591
601
  const labelLineH = fitted.fontSize * 1.3;
592
602
  const labelTotalH = labelLines.length * labelLineH;
593
603
  const headerH = labelTotalH + 12;
@@ -641,6 +651,7 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
641
651
  renderInlineText(textEl, lineText, palette, sDescFontSize);
642
652
  }
643
653
  if (truncated) {
654
+ textCut = true;
644
655
  const fullText = desc.join(" ");
645
656
  const tooltipText = fullText.length > 200 ? fullText.slice(0, 199) + "\u2026" : fullText;
646
657
  nodeG.append("title").text(tooltipText);
@@ -654,6 +665,7 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
654
665
  const headerH = ln.height / 2;
655
666
  const sepY = -ln.height / 2 + headerH;
656
667
  const fitted = fitLabelToHeader(node.label, ln.width, 2);
668
+ textCut = isCutShort(fitted.lines, [node.label]);
657
669
  const labelLineH = fitted.fontSize * 1.3;
658
670
  const labelTotalH = fitted.lines.length * labelLineH;
659
671
  const headerCenterY = -ln.height / 2 + headerH / 2;
@@ -671,12 +683,16 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
671
683
  Math.floor((ln.height - 16) / (sMinNodeFontSize * 1.3))
672
684
  );
673
685
  const fitted = fitLabelToHeader(node.label, ln.width, maxLabelLines);
686
+ textCut = isCutShort(fitted.lines, [node.label]);
674
687
  const lineH = fitted.fontSize * 1.3;
675
688
  const totalH = fitted.lines.length * lineH;
676
689
  for (let li = 0; li < fitted.lines.length; li++) {
677
690
  nodeG.append("text").attr("x", 0).attr("y", -totalH / 2 + lineH / 2 + li * lineH).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-size", fitted.fontSize).attr("font-weight", "bold").attr("fill", colors.text).text(fitted.lines[li]);
678
691
  }
679
692
  }
693
+ if (textCut) {
694
+ nodeG.attr(FULL_TEXT_ATTR, fullNodeText(node.label, drawnDesc));
695
+ }
680
696
  if (ln.note) {
681
697
  if (ln.note.collapsed) {
682
698
  renderNoteBadge(
@@ -5,7 +5,7 @@ import {
5
5
  parseFirstLine,
6
6
  splitNameAndMeta,
7
7
  warnUnknownMetaKeys
8
- } from "./chunk-MPJQMMBZ.js";
8
+ } from "./chunk-TIIZIAGS.js";
9
9
  import {
10
10
  makeDgmoError,
11
11
  makeFail,
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-24YPR5EH.js";
10
10
  import {
11
11
  renderIntegratedLegend
12
- } from "./chunk-QVKTAU7P.js";
12
+ } from "./chunk-NMS5XSLX.js";
13
13
  import {
14
14
  ARROWHEAD_HEIGHT,
15
15
  ARROWHEAD_WIDTH
@@ -24,10 +24,10 @@ import {
24
24
  } from "./chunk-ICLB27PZ.js";
25
25
  import {
26
26
  fillModeFromOptions
27
- } from "./chunk-MPJQMMBZ.js";
27
+ } from "./chunk-TIIZIAGS.js";
28
28
  import {
29
29
  LEGEND_HEIGHT
30
- } from "./chunk-I6GGMCTV.js";
30
+ } from "./chunk-UOCWYLYT.js";
31
31
  import {
32
32
  measureText,
33
33
  wrapTextToWidth
@@ -35,10 +35,10 @@ import {
35
35
  import {
36
36
  contrastText,
37
37
  shapeFill
38
- } from "./chunk-L24LESXF.js";
38
+ } from "./chunk-6GXLAKUH.js";
39
39
  import {
40
40
  resolveColor
41
- } from "./chunk-2M4IGSCY.js";
41
+ } from "./chunk-3J7O3CU6.js";
42
42
 
43
43
  // src/cycle/renderer.ts
44
44
  import * as d3Selection from "d3-selection";
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  noteBoxSize
3
3
  } from "./chunk-RJNZHFNG.js";
4
+ import {
5
+ noteConnectorPoints
6
+ } from "./chunk-JRWUHLRP.js";
4
7
  import {
5
8
  NOTE_GAP
6
9
  } from "./chunk-5DH3KYFH.js";
@@ -21,7 +24,31 @@ import {
21
24
  // src/utils/notes/place.ts
22
25
  var NOTE_CLEAR = 14;
23
26
  var intersects = (a, b, pad) => !(a.right + pad <= b.left || b.right + pad <= a.left || a.bottom + pad <= b.top || b.bottom + pad <= a.top);
24
- function placeNotes(obstacles, requests, direction) {
27
+ var CONNECTOR_CLEAR = 4;
28
+ var EDGE_CLEAR = 6;
29
+ var SLIDE_STEP = 10;
30
+ var SEARCH_REACH = 480;
31
+ var segmentCrosses = (x1, y1, x2, y2, r) => {
32
+ const dx = x2 - x1;
33
+ const dy = y2 - y1;
34
+ const p = [-dx, dx, -dy, dy];
35
+ const q = [x1 - r.left, r.right - x1, y1 - r.top, r.bottom - y1];
36
+ let t0 = 0;
37
+ let t1 = 1;
38
+ for (let i = 0; i < 4; i++) {
39
+ const pi = p[i];
40
+ const qi = q[i];
41
+ if (pi === 0) {
42
+ if (qi <= 0) return false;
43
+ continue;
44
+ }
45
+ const t = qi / pi;
46
+ if (pi < 0) t0 = Math.max(t0, t);
47
+ else t1 = Math.min(t1, t);
48
+ }
49
+ return t0 < t1;
50
+ };
51
+ function placeNotes(obstacles, requests, direction, edges = []) {
25
52
  const placements = /* @__PURE__ */ new Map();
26
53
  const occupied = obstacles.map((p) => ({
27
54
  left: p.x - p.width / 2,
@@ -72,15 +99,93 @@ function placeNotes(obstacles, requests, direction) {
72
99
  }
73
100
  }
74
101
  };
75
- const order = direction === "LR" ? ["below", "above"] : ["right", "left"];
76
- let chosen = null;
77
- for (const side of order) {
78
- const rect = rectFor(side);
79
- if (!occupied.some((o) => intersects(rect, o, NOTE_CLEAR))) {
80
- chosen = { rect, side };
81
- break;
102
+ const order = direction === "LR" ? ["below", "above", "right", "left"] : ["right", "left", "below", "above"];
103
+ const anchor = {
104
+ left: nodeLeft,
105
+ top: nodeTop,
106
+ right: nodeRight,
107
+ bottom: nodeBottom
108
+ };
109
+ const isAnchor = (o) => o.left === anchor.left && o.top === anchor.top && o.right === anchor.right && o.bottom === anchor.bottom;
110
+ const connector = (rect, side) => {
111
+ const [x1, y1, x2, y2] = noteConnectorPoints(p, {
112
+ x: rect.left - cx,
113
+ y: rect.top - cy,
114
+ width: noteW,
115
+ height: noteH,
116
+ side
117
+ });
118
+ return [cx + x1, cy + y1, cx + x2, cy + y2];
119
+ };
120
+ const onEdge = (rect) => {
121
+ const padded = {
122
+ left: rect.left - EDGE_CLEAR,
123
+ top: rect.top - EDGE_CLEAR,
124
+ right: rect.right + EDGE_CLEAR,
125
+ bottom: rect.bottom + EDGE_CLEAR
126
+ };
127
+ return edges.some(
128
+ (path) => path.some(
129
+ (pt, i) => i > 0 && segmentCrosses(path[i - 1].x, path[i - 1].y, pt.x, pt.y, padded)
130
+ )
131
+ );
132
+ };
133
+ const isClear = (rect, side, avoidEdges) => {
134
+ if (occupied.some((o) => intersects(rect, o, NOTE_CLEAR))) return false;
135
+ if (avoidEdges && onEdge(rect)) return false;
136
+ const [x1, y1, x2, y2] = connector(rect, side);
137
+ return !occupied.some(
138
+ (o) => !isAnchor(o) && segmentCrosses(x1, y1, x2, y2, {
139
+ left: o.left - CONNECTOR_CLEAR,
140
+ top: o.top - CONNECTOR_CLEAR,
141
+ right: o.right + CONNECTOR_CLEAR,
142
+ bottom: o.bottom + CONNECTOR_CLEAR
143
+ })
144
+ );
145
+ };
146
+ const search = (avoidEdges) => {
147
+ let chosen2 = null;
148
+ for (const side of order.slice(0, 2)) {
149
+ const rect = rectFor(side);
150
+ if (isClear(rect, side, avoidEdges)) {
151
+ chosen2 = { rect, side };
152
+ break;
153
+ }
82
154
  }
83
- }
155
+ if (chosen2) return chosen2;
156
+ let bestLen = Infinity;
157
+ for (const side of order) {
158
+ const axisIsY = side === "above" || side === "below";
159
+ const outward = side === "below" || side === "right" ? 1 : -1;
160
+ const reach = axisIsY ? noteW / 2 : SEARCH_REACH;
161
+ const slides = [0];
162
+ for (let s = SLIDE_STEP; s <= reach; s += SLIDE_STEP) {
163
+ slides.push(s, -s);
164
+ }
165
+ const base = rectFor(side);
166
+ for (let out = 0; out <= SEARCH_REACH; out += NOTE_CLEAR) {
167
+ for (const slide of slides) {
168
+ const dx = axisIsY ? slide : out * outward;
169
+ const dy = axisIsY ? out * outward : slide;
170
+ const rect = {
171
+ left: base.left + dx,
172
+ top: base.top + dy,
173
+ right: base.right + dx,
174
+ bottom: base.bottom + dy
175
+ };
176
+ if (!isClear(rect, side, avoidEdges)) continue;
177
+ const [x1, y1, x2, y2] = connector(rect, side);
178
+ const len = Math.hypot(x2 - x1, y2 - y1);
179
+ if (len < bestLen) {
180
+ bestLen = len;
181
+ chosen2 = { rect, side };
182
+ }
183
+ }
184
+ }
185
+ }
186
+ return chosen2;
187
+ };
188
+ let chosen = search(true) ?? search(false);
84
189
  if (!chosen) {
85
190
  const side = order[0];
86
191
  let rect = rectFor(side);
@@ -277,7 +382,7 @@ function computeNodeSize(node, reserveValueRow) {
277
382
  return { width: w, height: Math.max(NODE_HEIGHT, totalHeight) };
278
383
  }
279
384
  async function layoutBoxesAndLines(parsed, collapseInfo, layoutOptions) {
280
- const { layoutBoxesAndLinesSearch } = await import("./layout-search-L75YOBME.js");
385
+ const { layoutBoxesAndLinesSearch } = await import("./layout-search-PMYL3VWS.js");
281
386
  const searchOpts = {
282
387
  ...layoutOptions?.hideDescriptions !== void 0 && {
283
388
  hideDescriptions: layoutOptions.hideDescriptions