@diagrammo/dgmo 0.88.0 → 0.90.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 (230) hide show
  1. package/README.md +5 -3
  2. package/dist/advanced.d.ts +472 -22
  3. package/dist/advanced.js +401 -240
  4. package/dist/{analyzer-R5UBTRO2.js → analyzer-7ZGAZIE6.js} +2 -2
  5. package/dist/block.d.ts +1 -1
  6. package/dist/block.js +95 -72
  7. package/dist/{calculator-35YVW4QO.js → calculator-PX3JHKAS.js} +2 -2
  8. package/dist/{chart-meta-PbgpGwYo.d.ts → chart-meta-B_WTMP0y.d.ts} +1 -1
  9. package/dist/chart-meta.d.ts +2 -2
  10. package/dist/chart-meta.js +22 -21
  11. package/dist/{chart-types-Db_EGf1o.d.ts → chart-types-V2NcgN5O.d.ts} +5 -1
  12. package/dist/{charts-d3-3BZRSZV6.js → charts-d3-QW4ERNUE.js} +13 -12
  13. package/dist/{chunk-O6MMQQLF.js → chunk-2EDJPHXQ.js} +17 -17
  14. package/dist/{chunk-7WGCQE2E.js → chunk-2ZVLI6GQ.js} +1 -1
  15. package/dist/{chunk-JLETTWUJ.js → chunk-3BQCSQQJ.js} +57 -28
  16. package/dist/{chunk-MVCPO6LI.js → chunk-3HBR3YAN.js} +37 -27
  17. package/dist/chunk-3UR4F7FE.js +14 -0
  18. package/dist/{chunk-IDJGV6VM.js → chunk-4HG4PYHM.js} +209 -1
  19. package/dist/{chunk-YMG7JDEY.js → chunk-4IYJOXGS.js} +78 -31
  20. package/dist/{chunk-BOO24UMJ.js → chunk-4YO7VJTP.js} +1 -1
  21. package/dist/{chunk-AAMCXQPP.js → chunk-54YUDXGP.js} +6 -6
  22. package/dist/{chunk-UG2XG57E.js → chunk-5M52RPAS.js} +2 -2
  23. package/dist/{chunk-UNAP6O26.js → chunk-5M6PMV5Z.js} +14 -14
  24. package/dist/{chunk-BMUWF77V.js → chunk-5MDQMB6A.js} +4 -4
  25. package/dist/{chunk-WPL5PFXE.js → chunk-5TZPIKNV.js} +5 -5
  26. package/dist/{chunk-VPASQOR3.js → chunk-62VWZ3SE.js} +6 -5
  27. package/dist/{chunk-N4XHXBDQ.js → chunk-64KSPLU2.js} +6 -5
  28. package/dist/{chunk-VEPIAUSK.js → chunk-6BQSDF77.js} +1 -5
  29. package/dist/{chunk-LNO3ASX5.js → chunk-A5EE66RQ.js} +2 -2
  30. package/dist/{chunk-5KGM44TG.js → chunk-A5PUOHIS.js} +4 -4
  31. package/dist/{chunk-UNNJCSSQ.js → chunk-AAC3XQWV.js} +3 -3
  32. package/dist/{chunk-VJ2KROJ5.js → chunk-AHWA36O7.js} +1 -1
  33. package/dist/{chunk-FKZ2Y3Q5.js → chunk-C4W62JZO.js} +2 -2
  34. package/dist/{chunk-6I5UN4FD.js → chunk-CDT33RHG.js} +4 -4
  35. package/dist/{chunk-3DOQOXXI.js → chunk-CNUN5GO6.js} +1 -1
  36. package/dist/{chunk-NF5YKFRH.js → chunk-COPSI54O.js} +3 -3
  37. package/dist/{chunk-GUTZCRBT.js → chunk-CUY56BK4.js} +2 -2
  38. package/dist/{chunk-HSRQDWV7.js → chunk-CYF2X3CG.js} +2 -11
  39. package/dist/{chunk-NGC3IZRY.js → chunk-DNMICILX.js} +2 -2
  40. package/dist/{chunk-CFBY77QJ.js → chunk-DXPT2HPH.js} +145 -156
  41. package/dist/{chunk-J7Q4VPBJ.js → chunk-EB7AEM2H.js} +28 -22
  42. package/dist/{chunk-MGBV4JEI.js → chunk-EDXGEQW3.js} +1 -1
  43. package/dist/{chunk-H2GEIFUF.js → chunk-EEYQFJVK.js} +154 -48
  44. package/dist/{chunk-FPXMCGS5.js → chunk-EK7JYFCL.js} +2 -2
  45. package/dist/{chunk-3C2FWS2J.js → chunk-EWERNTOX.js} +1 -1
  46. package/dist/{chunk-WZ23JJ7U.js → chunk-FDRHBQUG.js} +26 -24
  47. package/dist/{chunk-FJNXXGTR.js → chunk-FS2LZBHG.js} +2 -2
  48. package/dist/{chunk-ERNCPKD4.js → chunk-G2KHLANR.js} +1 -1
  49. package/dist/{chunk-XVSJYAK7.js → chunk-G5BGW4BX.js} +2 -2
  50. package/dist/{chunk-33FQ6HNV.js → chunk-GQVXYRPC.js} +9 -9
  51. package/dist/{chunk-MHAYUS65.js → chunk-GXP344YZ.js} +3 -3
  52. package/dist/{chunk-NJIGYGZS.js → chunk-GYBKG4Z6.js} +15 -10
  53. package/dist/{chunk-MSXRNVHB.js → chunk-HIVJBESO.js} +311 -72
  54. package/dist/{chunk-UY6TEJJH.js → chunk-HJRP6PXL.js} +1 -1
  55. package/dist/{chunk-DOXBS7F5.js → chunk-HLE5QGZJ.js} +4 -4
  56. package/dist/{chunk-L5AFONQU.js → chunk-HX2KJEPD.js} +1 -1
  57. package/dist/{chunk-LL6D3MES.js → chunk-I6FWHICD.js} +19 -19
  58. package/dist/{chunk-RH2PROYG.js → chunk-I6GGMCTV.js} +4 -2
  59. package/dist/{chunk-3RYBTEF5.js → chunk-I74AQRVD.js} +6 -12
  60. package/dist/{chunk-PLE2432T.js → chunk-ICYPGWOV.js} +3 -3
  61. package/dist/chunk-IHK3Y2HG.js +781 -0
  62. package/dist/{chunk-JD4RHBNX.js → chunk-IMHNZITR.js} +9 -9
  63. package/dist/{chunk-GUYVKGFN.js → chunk-IRVQT4GR.js} +3 -3
  64. package/dist/{chunk-XUDGZJTJ.js → chunk-J3ODKAWN.js} +8 -8
  65. package/dist/{chunk-UMRZPRAN.js → chunk-JRQ4LBQI.js} +20 -20
  66. package/dist/{chunk-MY6GUH26.js → chunk-JX4RCC6B.js} +2 -2
  67. package/dist/{chunk-DSG6GBUQ.js → chunk-K4GUO7FV.js} +8 -8
  68. package/dist/{chunk-HAH5X345.js → chunk-KATED53P.js} +1 -1
  69. package/dist/{chunk-J64NZ6NF.js → chunk-KSZHIAI2.js} +1 -1
  70. package/dist/{chunk-7HWY4QAJ.js → chunk-L24LESXF.js} +1 -0
  71. package/dist/{chunk-UIUXIDBX.js → chunk-LBRHDWEA.js} +5 -5
  72. package/dist/{chunk-GSYZZFI5.js → chunk-LC5LY5V2.js} +2 -2
  73. package/dist/{chunk-P5V63L35.js → chunk-LNQDICFJ.js} +22 -22
  74. package/dist/{chunk-PIXJL77H.js → chunk-M6J25PAZ.js} +1 -1
  75. package/dist/{chunk-RGI64U3A.js → chunk-MIVSVEK4.js} +14 -14
  76. package/dist/{chunk-6K7RODXG.js → chunk-MKFQ5E7J.js} +1 -1
  77. package/dist/{chunk-44GP7PD5.js → chunk-MPJQMMBZ.js} +12 -0
  78. package/dist/{chunk-WQ6G6FFM.js → chunk-NFWRIC2V.js} +1 -1
  79. package/dist/{chunk-LHL6HDUL.js → chunk-NJYA4QSN.js} +84 -12
  80. package/dist/{chunk-RU725VCJ.js → chunk-NMKLX57Y.js} +10 -35
  81. package/dist/{chunk-PPH6ILHL.js → chunk-NP2SE6MQ.js} +4 -4
  82. package/dist/{chunk-FM3WAVB6.js → chunk-NS7L7YKH.js} +1 -1
  83. package/dist/{chunk-HEYGGSNQ.js → chunk-NTJ5HVV6.js} +5 -5
  84. package/dist/{chunk-BAZT6CIF.js → chunk-NUYWNKHH.js} +9 -9
  85. package/dist/{chunk-DV2VEJCC.js → chunk-NWSPPGIE.js} +6 -6
  86. package/dist/{chunk-AYOVY75O.js → chunk-NY56FM55.js} +3 -3
  87. package/dist/{chunk-LD2JSKU3.js → chunk-OOCVGX4W.js} +15 -0
  88. package/dist/{chunk-A4XPI4YN.js → chunk-OSIUWQ3N.js} +29 -2
  89. package/dist/{chunk-LJFXC3IP.js → chunk-OWJVSJLA.js} +17 -17
  90. package/dist/{chunk-GDJW64XE.js → chunk-OYKNMFUY.js} +1 -1
  91. package/dist/{chunk-YK4N6TBN.js → chunk-PIHAUVA4.js} +10 -10
  92. package/dist/{chunk-C7QRRTAW.js → chunk-PNCKZFPE.js} +2 -2
  93. package/dist/{chunk-D4M25W6R.js → chunk-POBNN5DP.js} +6 -6
  94. package/dist/{chunk-N7XRBWXA.js → chunk-PQ5NW3QZ.js} +15 -15
  95. package/dist/{chunk-HTPZDZKQ.js → chunk-PXEUQ7EG.js} +22 -22
  96. package/dist/{chunk-XWYR5T52.js → chunk-QOZ4RVQY.js} +19 -19
  97. package/dist/{chunk-BV6PKJUS.js → chunk-QRIW46LR.js} +8 -8
  98. package/dist/{chunk-LSQGJN5H.js → chunk-R2PTZ6QM.js} +21 -21
  99. package/dist/{chunk-VW52W5F6.js → chunk-RCBHL2B5.js} +229 -159
  100. package/dist/{chunk-66YFDTT6.js → chunk-RJYFHEP4.js} +3 -3
  101. package/dist/{chunk-P3SKSKJI.js → chunk-RNXX2GOQ.js} +2 -2
  102. package/dist/{chunk-BT2WH2XT.js → chunk-RRBV4HIM.js} +3 -3
  103. package/dist/{chunk-WXPBP4IT.js → chunk-RY5RRKYN.js} +14 -14
  104. package/dist/{chunk-NZCSVD4M.js → chunk-S4LLHDGK.js} +8 -8
  105. package/dist/chunk-S7C32S2T.js +825 -0
  106. package/dist/{chunk-QFIXL3OK.js → chunk-SEKNYIMO.js} +1 -1
  107. package/dist/{chunk-JRUEIRJB.js → chunk-SLO22FPS.js} +2 -2
  108. package/dist/{chunk-47E5UTXE.js → chunk-SMEVBJJJ.js} +2 -2
  109. package/dist/{chunk-QFHWYWQL.js → chunk-SVQDLYX7.js} +1 -1
  110. package/dist/{chunk-WP2RLGDI.js → chunk-TCX5PMEY.js} +1 -1
  111. package/dist/{chunk-5LD7SHXO.js → chunk-TQ644YGV.js} +18 -18
  112. package/dist/{chunk-PUVTFUNH.js → chunk-U762HK4D.js} +28 -28
  113. package/dist/{chunk-DAX42XVH.js → chunk-VCHYS3RD.js} +14 -9
  114. package/dist/{chunk-XIFK423U.js → chunk-W7QN5BC5.js} +4 -4
  115. package/dist/{chunk-7UDAIP6W.js → chunk-WHRIN7N3.js} +1 -1
  116. package/dist/{chunk-ZUCXFXLD.js → chunk-X3WYJ5T7.js} +2 -2
  117. package/dist/{chunk-RE6TVIAV.js → chunk-X6IZP2BD.js} +4 -4
  118. package/dist/{chunk-LCJURK7L.js → chunk-Y6GQQ4Y2.js} +1 -1
  119. package/dist/{chunk-HTWH2XQL.js → chunk-YE7D2S75.js} +2 -2
  120. package/dist/{chunk-B7CU2HW5.js → chunk-YKGUSW6D.js} +17 -17
  121. package/dist/{chunk-AQIBKTPG.js → chunk-YWRZG6GN.js} +10 -10
  122. package/dist/{chunk-JQ57AWDL.js → chunk-ZJ4PYTCK.js} +1 -1
  123. package/dist/completion-registry.d.ts +7 -1
  124. package/dist/completion-registry.js +64 -20
  125. package/dist/countdown.js +1 -1
  126. package/dist/{d3-B6524aaP.d.ts → d3-2S3PrXik.d.ts} +11 -0
  127. package/dist/dgmo-router-BJBXSZMV.js +94 -0
  128. package/dist/{dimensions-6QAWEGIR.js → dimensions-AMA2S7RO.js} +7 -7
  129. package/dist/editor.js +12 -0
  130. package/dist/{flowchart-parser-GG7XBLQH.js → flowchart-parser-ADZIFVCH.js} +3 -3
  131. package/dist/{flowchart-renderer-THC6Y7EH.js → flowchart-renderer-CAG6ZNJ6.js} +10 -9
  132. package/dist/highlight.js +12 -0
  133. package/dist/index.d.ts +26 -5
  134. package/dist/index.js +94 -67
  135. package/dist/{layout-P6DTD4RT.js → layout-4RRC7XU7.js} +2 -2
  136. package/dist/{layout-LUQKAGGT.js → layout-6OSF2UGP.js} +5 -5
  137. package/dist/{layout-AM57TGN5.js → layout-C6MKMOBI.js} +3 -3
  138. package/dist/{layout-EHTYSMV4.js → layout-H4K54IW3.js} +2 -2
  139. package/dist/{layout-XUW444O5.js → layout-QS2SESBU.js} +3 -3
  140. package/dist/{layout-5NPBHV5F.js → layout-T2PGKQUQ.js} +4 -4
  141. package/dist/{layout-CUFA7XJD.js → layout-UFB2O4AO.js} +5 -5
  142. package/dist/{layout-MSSHF45T.js → layout-UPQGIT3N.js} +2 -2
  143. package/dist/{layout-QX5T6ZNE.js → layout-VQ2USZJ3.js} +5 -5
  144. package/dist/{layout-SOPAVXIH.js → layout-VRJ5YFUE.js} +3 -3
  145. package/dist/{layout-BOVTLAOT.js → layout-ZP7XYVXF.js} +2 -2
  146. package/dist/{layout-search-VKSBUCDM.js → layout-search-YKUL4VBV.js} +105 -6
  147. package/dist/{legend-constants-ZVO4FLAK.js → legend-constants-HE7FVDJP.js} +4 -2
  148. package/dist/{palettes-BIV54XLS.js → palettes-WQHELGVQ.js} +7 -4
  149. package/dist/{parser-KYPP2DX6.js → parser-223VOHSB.js} +4 -4
  150. package/dist/{parser-JOOAVBJI.js → parser-2PNV7UI3.js} +3 -3
  151. package/dist/{parser-GZ3LVF72.js → parser-3MGA2MTM.js} +2 -2
  152. package/dist/{parser-NOANDFJ4.js → parser-4AR25MAS.js} +2 -2
  153. package/dist/{parser-ACW6C6OY.js → parser-4B2PIXHI.js} +3 -3
  154. package/dist/{parser-KZMJNKDW.js → parser-57YQEEMC.js} +2 -2
  155. package/dist/{parser-J4DVNL4W.js → parser-5ZD2NKGU.js} +4 -4
  156. package/dist/{parser-LANGKWRG.js → parser-6LMB7BQQ.js} +2 -2
  157. package/dist/parser-AL6YL7KM.js +12 -0
  158. package/dist/{parser-5655XSOR.js → parser-B2FWP7ZO.js} +3 -3
  159. package/dist/{parser-GEKPWSSK.js → parser-BJDQX4KV.js} +3 -3
  160. package/dist/{parser-C327BBE3.js → parser-CA5WC5HF.js} +3 -3
  161. package/dist/{parser-KZMALSB2.js → parser-E5HFYL7B.js} +4 -4
  162. package/dist/{parser-WUK6CP5X.js → parser-ESZ5J5IJ.js} +6 -5
  163. package/dist/{parser-256EIWB2.js → parser-FDXUQ5TI.js} +2 -2
  164. package/dist/{parser-AN3MGHRL.js → parser-FV6RGALQ.js} +3 -3
  165. package/dist/{parser-DGF3ZEO6.js → parser-HPR7G7F6.js} +3 -3
  166. package/dist/{parser-OKB64MMN.js → parser-I4HZVIHX.js} +3 -3
  167. package/dist/{parser-JXS4426S.js → parser-J3BM2AP2.js} +4 -4
  168. package/dist/{parser-NPXPJHWN.js → parser-JFNDS5E5.js} +3 -3
  169. package/dist/{parser-PVIWHVGY.js → parser-KFIK3EOO.js} +3 -3
  170. package/dist/{parser-GPW4ZHPQ.js → parser-LGUT7KKH.js} +4 -3
  171. package/dist/{parser-KFYRTGTC.js → parser-MYRGCK7Q.js} +4 -4
  172. package/dist/{parser-ZLKYDFI5.js → parser-NAUUUCI3.js} +3 -3
  173. package/dist/{parser-DHSFIUPU.js → parser-NJ5VEZA3.js} +3 -3
  174. package/dist/{parser-OVQTTTUJ.js → parser-OFTMA36M.js} +2 -2
  175. package/dist/{parser-AKBVJHMK.js → parser-OV2WDSEV.js} +3 -3
  176. package/dist/{parser-LGS65QPN.js → parser-Q3UAOLEZ.js} +2 -2
  177. package/dist/{parser-XYY5NHP4.js → parser-R6OETHWM.js} +2 -2
  178. package/dist/{parser-7OEE7QT6.js → parser-RARXAHC7.js} +2 -2
  179. package/dist/{parser-NGHQQGD2.js → parser-T2RVIRDG.js} +3 -3
  180. package/dist/{parser-WEVTMBJ5.js → parser-W2DWCCLO.js} +3 -3
  181. package/dist/{parser-HCGXNHHL.js → parser-WFY4ZJUW.js} +3 -3
  182. package/dist/{parser-SA3RAJFS.js → parser-WSONWDFN.js} +2 -2
  183. package/dist/{renderer-2OOPQ4CH.js → renderer-3N64GVNM.js} +3 -3
  184. package/dist/{renderer-4BIMRO4X.js → renderer-3QM2DK7I.js} +7 -7
  185. package/dist/{renderer-4NZZ5J2F.js → renderer-3W5T3IU6.js} +8 -8
  186. package/dist/{renderer-RWJ45DWH.js → renderer-4Z7FRQ2A.js} +3 -3
  187. package/dist/{renderer-LODEVN3V.js → renderer-52CHSV6S.js} +13 -13
  188. package/dist/{renderer-X5A5VIRD.js → renderer-6OOJNEQE.js} +10 -10
  189. package/dist/{renderer-YDAVCRTP.js → renderer-A3PMPUO6.js} +15 -11
  190. package/dist/{renderer-NHPKNNBD.js → renderer-AM4VZSBQ.js} +11 -11
  191. package/dist/{renderer-SDUSBCJI.js → renderer-B3CPMS5R.js} +10 -10
  192. package/dist/{renderer-TPOZOAXR.js → renderer-B4KE3NM4.js} +17 -16
  193. package/dist/renderer-COSJM7UG.js +80 -0
  194. package/dist/{renderer-R34GJL7U.js → renderer-FXCVH2M5.js} +16 -15
  195. package/dist/{renderer-QM23SWAM.js → renderer-GWH5ACJ5.js} +4 -4
  196. package/dist/{renderer-222OTVQV.js → renderer-IG72UJHW.js} +5 -5
  197. package/dist/{renderer-A6ACVK4X.js → renderer-IO3D5E4E.js} +7 -7
  198. package/dist/{renderer-RMGN3Q7D.js → renderer-IPDCAACY.js} +5 -5
  199. package/dist/{renderer-XUPLAO4B.js → renderer-KK5BU5K2.js} +8 -8
  200. package/dist/{renderer-DCFQDBGJ.js → renderer-LD2H7WGP.js} +3 -3
  201. package/dist/{renderer-KVAQE7PQ.js → renderer-MK47ESCB.js} +8 -8
  202. package/dist/{renderer-4BHOELCE.js → renderer-MRMFYYZT.js} +3 -3
  203. package/dist/{renderer-6BUUTWVS.js → renderer-O5RQHGK2.js} +9 -9
  204. package/dist/{renderer-2KVQGGTT.js → renderer-OA5D3ZKB.js} +10 -10
  205. package/dist/{renderer-RENDISO5.js → renderer-ON4PTUHJ.js} +14 -14
  206. package/dist/{renderer-JKV2DBYP.js → renderer-OPDSKCQS.js} +7 -7
  207. package/dist/{renderer-XRALFCIN.js → renderer-PLRMST57.js} +10 -10
  208. package/dist/{renderer-WH2HWE5Z.js → renderer-PSMRAL72.js} +11 -11
  209. package/dist/{renderer-RNCYODNF.js → renderer-PXGCR7N4.js} +11 -10
  210. package/dist/{renderer-PQYO2HCE.js → renderer-R7OYCJEA.js} +4 -4
  211. package/dist/{renderer-36JH4OMC.js → renderer-SBXCPA3S.js} +12 -12
  212. package/dist/{renderer-A4LMOBZL.js → renderer-TMQNTUQS.js} +15 -15
  213. package/dist/renderer-TTKTBB4C.js +46 -0
  214. package/dist/{renderer-RAATRF6W.js → renderer-UVFGW2O6.js} +12 -10
  215. package/dist/{renderer-3FF4QVGW.js → renderer-W22GX72R.js} +10 -10
  216. package/dist/{renderer-BICLPGAH.js → renderer-WQ654YT5.js} +2 -2
  217. package/dist/{renderer-radial-XZ5TKUT4.js → renderer-radial-42LVSG74.js} +8 -8
  218. package/dist/{state-parser-FE3RF6XY.js → state-parser-ROKY5KSI.js} +4 -4
  219. package/dist/{state-renderer-5IQ4OJUI.js → state-renderer-MMG23G4W.js} +14 -14
  220. package/dist/{themes-CzuBdx1T.d.ts → themes-Cm2YBcT8.d.ts} +38 -2
  221. package/docs/ai-integration.md +8 -5
  222. package/docs/language-reference.md +163 -13
  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/dgmo-router-F2DSURTR.js +0 -92
  227. package/dist/renderer-YIZ7G4HU.js +0 -78
  228. package/dist/{chunk-3TYUXC7D.js → chunk-2SKMEL7V.js} +0 -0
  229. package/dist/{chunk-CLQIXD2C.js → chunk-7Z2VFRP5.js} +3 -3
  230. package/dist/{chunk-2A4DQAXG.js → chunk-IIOLFAGJ.js} +3 -3
package/dist/index.js CHANGED
@@ -14,113 +14,122 @@ import {
14
14
  } from "./chunk-Z6DXWULM.js";
15
15
  import {
16
16
  render
17
- } from "./chunk-VW52W5F6.js";
17
+ } from "./chunk-RCBHL2B5.js";
18
18
  import "./chunk-ABP5BUD6.js";
19
19
  import {
20
20
  renderErrorCard
21
- } from "./chunk-D4M25W6R.js";
21
+ } from "./chunk-POBNN5DP.js";
22
22
  import {
23
+ choosePalette,
24
+ extractPaletteDirective,
23
25
  getDiagnosticSpec,
24
26
  listDiagnosticCodes,
25
27
  parseDgmo
26
- } from "./chunk-MSXRNVHB.js";
28
+ } from "./chunk-HIVJBESO.js";
27
29
  import "./chunk-EOYPX6SF.js";
28
- import "./chunk-WP2RLGDI.js";
30
+ import "./chunk-ZJ4PYTCK.js";
31
+ import "./chunk-WFA6IULY.js";
32
+ import "./chunk-3DPOIW3W.js";
33
+ import "./chunk-TCX5PMEY.js";
29
34
  import "./chunk-A2RUBBVT.js";
30
- import "./chunk-ZUCXFXLD.js";
31
- import "./chunk-47E5UTXE.js";
35
+ import "./chunk-X3WYJ5T7.js";
36
+ import "./chunk-SMEVBJJJ.js";
37
+ import "./chunk-BDXC7MDK.js";
32
38
  import {
33
39
  D3_DATA_CHART_TYPES,
34
40
  renderDataChartD3,
35
41
  supportsD3DataChart
36
- } from "./chunk-H2GEIFUF.js";
42
+ } from "./chunk-EEYQFJVK.js";
37
43
  import "./chunk-KMU65FYM.js";
38
44
  import "./chunk-EPDBWATV.js";
39
- import "./chunk-7UDAIP6W.js";
45
+ import "./chunk-WHRIN7N3.js";
40
46
  import "./chunk-2CW5ZTNH.js";
41
- import "./chunk-JLETTWUJ.js";
47
+ import "./chunk-3BQCSQQJ.js";
42
48
  import "./chunk-YRYKTYMQ.js";
43
49
  import "./chunk-24YPR5EH.js";
50
+ import "./chunk-NJYA4QSN.js";
44
51
  import {
45
52
  GRID_DASH
46
53
  } from "./chunk-XCKNFFKM.js";
47
- import "./chunk-RE6TVIAV.js";
48
- import "./chunk-QFIXL3OK.js";
49
- import "./chunk-3DOQOXXI.js";
50
- import "./chunk-LD2JSKU3.js";
54
+ import "./chunk-X6IZP2BD.js";
55
+ import "./chunk-SEKNYIMO.js";
56
+ import "./chunk-CNUN5GO6.js";
57
+ import "./chunk-OOCVGX4W.js";
58
+ import "./chunk-NS7L7YKH.js";
51
59
  import "./chunk-VLC6WNRD.js";
52
- import "./chunk-BDXC7MDK.js";
53
- import "./chunk-LHL6HDUL.js";
54
- import "./chunk-FM3WAVB6.js";
55
60
  import "./chunk-ICLB27PZ.js";
56
- import "./chunk-WQ6G6FFM.js";
57
- import "./chunk-NF5YKFRH.js";
58
- import "./chunk-PIXJL77H.js";
59
- import "./chunk-3C2FWS2J.js";
60
- import "./chunk-P3SKSKJI.js";
61
- import "./chunk-MY6GUH26.js";
61
+ import "./chunk-MKFQ5E7J.js";
62
+ import "./chunk-NFWRIC2V.js";
63
+ import "./chunk-COPSI54O.js";
64
+ import "./chunk-M6J25PAZ.js";
65
+ import "./chunk-EWERNTOX.js";
66
+ import "./chunk-RNXX2GOQ.js";
67
+ import "./chunk-JX4RCC6B.js";
62
68
  import "./chunk-XSVWUOUZ.js";
63
- import "./chunk-BOO24UMJ.js";
64
- import "./chunk-JQ57AWDL.js";
65
- import "./chunk-WFA6IULY.js";
66
- import "./chunk-3DPOIW3W.js";
67
- import "./chunk-HTWH2XQL.js";
68
- import "./chunk-MHAYUS65.js";
69
- import "./chunk-RU725VCJ.js";
70
- import "./chunk-DV2VEJCC.js";
71
- import "./chunk-C7QRRTAW.js";
72
- import "./chunk-FKZ2Y3Q5.js";
69
+ import "./chunk-4YO7VJTP.js";
70
+ import "./chunk-YE7D2S75.js";
71
+ import "./chunk-GXP344YZ.js";
72
+ import "./chunk-NMKLX57Y.js";
73
+ import "./chunk-NWSPPGIE.js";
74
+ import {
75
+ INK_DEFAULT_TOLERANCE,
76
+ INK_PRESSURE_LEVELS,
77
+ decodeInk,
78
+ encodeInk
79
+ } from "./chunk-IHK3Y2HG.js";
80
+ import "./chunk-PNCKZFPE.js";
81
+ import "./chunk-C4W62JZO.js";
73
82
  import "./chunk-QQJUTGQH.js";
74
- import "./chunk-NGC3IZRY.js";
75
- import "./chunk-6K7RODXG.js";
76
- import "./chunk-66YFDTT6.js";
77
- import "./chunk-GDJW64XE.js";
78
- import "./chunk-QFHWYWQL.js";
79
- import "./chunk-GUYVKGFN.js";
80
- import "./chunk-GSYZZFI5.js";
81
- import "./chunk-GUTZCRBT.js";
82
- import "./chunk-BAZT6CIF.js";
83
- import "./chunk-RH2PROYG.js";
84
- import "./chunk-KAO7JL4I.js";
83
+ import "./chunk-DNMICILX.js";
84
+ import "./chunk-RJYFHEP4.js";
85
+ import "./chunk-OYKNMFUY.js";
86
+ import "./chunk-SVQDLYX7.js";
87
+ import "./chunk-IRVQT4GR.js";
88
+ import "./chunk-LC5LY5V2.js";
89
+ import "./chunk-CUY56BK4.js";
90
+ import "./chunk-NUYWNKHH.js";
85
91
  import {
86
92
  decodeDiagramUrl,
87
93
  encodeDiagramUrl
88
94
  } from "./chunk-RE27AX7O.js";
89
- import "./chunk-AQIBKTPG.js";
90
- import "./chunk-3RYBTEF5.js";
91
- import "./chunk-UNNJCSSQ.js";
92
- import "./chunk-3TYUXC7D.js";
93
- import "./chunk-7WGCQE2E.js";
95
+ import "./chunk-YWRZG6GN.js";
96
+ import "./chunk-I74AQRVD.js";
97
+ import "./chunk-AAC3XQWV.js";
98
+ import "./chunk-2SKMEL7V.js";
99
+ import "./chunk-2ZVLI6GQ.js";
94
100
  import "./chunk-EQW6HOP4.js";
95
101
  import "./chunk-DAOFNU6J.js";
96
- import "./chunk-VPASQOR3.js";
102
+ import {
103
+ getPalette,
104
+ palettes,
105
+ resolvePaletteOrFallback
106
+ } from "./chunk-4HG4PYHM.js";
107
+ import "./chunk-62VWZ3SE.js";
97
108
  import "./chunk-C3Z4DX3V.js";
98
- import "./chunk-JRUEIRJB.js";
109
+ import "./chunk-SLO22FPS.js";
99
110
  import "./chunk-7TF3QOOD.js";
100
- import "./chunk-AYOVY75O.js";
111
+ import "./chunk-NY56FM55.js";
101
112
  import "./chunk-NXMESY4J.js";
102
- import "./chunk-A4XPI4YN.js";
103
- import "./chunk-WPL5PFXE.js";
104
- import "./chunk-J64NZ6NF.js";
113
+ import "./chunk-OSIUWQ3N.js";
114
+ import "./chunk-5TZPIKNV.js";
115
+ import "./chunk-KSZHIAI2.js";
105
116
  import "./chunk-O753JUEZ.js";
106
117
  import "./chunk-N7VMGZCU.js";
107
- import "./chunk-FJNXXGTR.js";
108
- import "./chunk-UG2XG57E.js";
118
+ import "./chunk-FS2LZBHG.js";
119
+ import "./chunk-5M52RPAS.js";
109
120
  import "./chunk-IYULMRBE.js";
110
121
  import "./chunk-NOTA6TEI.js";
111
- import "./chunk-HSRQDWV7.js";
122
+ import "./chunk-CYF2X3CG.js";
112
123
  import "./chunk-4WW3SGMH.js";
113
- import "./chunk-L5AFONQU.js";
124
+ import "./chunk-3UR4F7FE.js";
125
+ import "./chunk-HX2KJEPD.js";
114
126
  import {
115
127
  chartTypes
116
- } from "./chunk-44GP7PD5.js";
128
+ } from "./chunk-MPJQMMBZ.js";
117
129
  import "./chunk-5NU7NII2.js";
118
- import {
119
- getPalette,
120
- palettes,
121
- resolvePaletteOrFallback
122
- } from "./chunk-IDJGV6VM.js";
123
- import "./chunk-7HWY4QAJ.js";
130
+ import "./chunk-I6GGMCTV.js";
131
+ import "./chunk-KAO7JL4I.js";
132
+ import "./chunk-L24LESXF.js";
124
133
  import "./chunk-2M4IGSCY.js";
125
134
  import {
126
135
  emit,
@@ -751,14 +760,22 @@ function mountD3DataChart(container, content, opts = {}) {
751
760
  // src/index.ts
752
761
  async function render2(text, options) {
753
762
  const palette = typeof options?.palette === "string" ? getPalette(options.palette) : options?.palette ?? palettes.slate;
763
+ const override = typeof options?.paletteOverride === "string" ? getPalette(options.paletteOverride) : options?.paletteOverride;
754
764
  const onError = options?.onError ?? "svg";
755
765
  const result = await render(text, {
756
766
  ...options?.theme !== void 0 && { theme: options.theme },
757
767
  palette: palette.id,
768
+ ...override !== void 0 && { paletteOverride: override.id },
758
769
  ...options?.viewState !== void 0 && { viewState: options.viewState },
759
770
  ...options?.width !== void 0 && { width: options.width },
760
771
  ...options?.height !== void 0 && { height: options.height },
761
- ...options?.mapData !== void 0 && { mapData: options.mapData }
772
+ ...options?.mapData !== void 0 && { mapData: options.mapData },
773
+ ...options?.resolveImage !== void 0 && {
774
+ resolveImage: options.resolveImage
775
+ },
776
+ ...options?.showNotes !== void 0 && {
777
+ showNotes: options.showNotes
778
+ }
762
779
  });
763
780
  const errors = result.diagnostics.filter((d) => d.severity === "error");
764
781
  if (errors.length === 0) {
@@ -772,8 +789,14 @@ async function render2(text, options) {
772
789
  if (onError === "silent") {
773
790
  return result;
774
791
  }
792
+ const chosen = choosePalette(extractPaletteDirective(text), {
793
+ palette: palette.id,
794
+ ...override !== void 0 && { paletteOverride: override.id },
795
+ ...options?.theme !== void 0 && { theme: options.theme }
796
+ });
797
+ const cardPalette = override ?? chosen.palette ?? (chosen.paletteId === palette.id ? palette : getPalette(chosen.paletteId));
775
798
  return {
776
- svg: renderErrorCard(errors, text, palette, options?.theme),
799
+ svg: renderErrorCard(errors, text, cardPalette, chosen.theme),
777
800
  diagnostics: result.diagnostics
778
801
  };
779
802
  }
@@ -800,14 +823,18 @@ function decodeDiagramUrl2(url) {
800
823
  }
801
824
  export {
802
825
  D3_DATA_CHART_TYPES,
826
+ INK_DEFAULT_TOLERANCE,
827
+ INK_PRESSURE_LEVELS,
803
828
  attachDataChartInteractions,
804
829
  chartTypes,
805
830
  completeMapPlaces,
806
831
  completeMapRegions,
807
832
  decodeDiagramUrl2 as decodeDiagramUrl,
833
+ decodeInk,
808
834
  defaultEmbedBackground,
809
835
  emit,
810
836
  encodeDiagramUrl2 as encodeDiagramUrl,
837
+ encodeInk,
811
838
  formatDgmoError,
812
839
  getDiagnosticSpec,
813
840
  getEmbedSvgViewBox,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  layoutClassDiagram
3
- } from "./chunk-CLQIXD2C.js";
3
+ } from "./chunk-7Z2VFRP5.js";
4
4
  import "./chunk-HTNLLT34.js";
5
5
  import "./chunk-6EK55ART.js";
6
6
  import "./chunk-RJNZHFNG.js";
@@ -9,9 +9,9 @@ import "./chunk-NPWVOFB3.js";
9
9
  import "./chunk-S7W75MIM.js";
10
10
  import "./chunk-Z6DXWULM.js";
11
11
  import "./chunk-ICLB27PZ.js";
12
- import "./chunk-KAO7JL4I.js";
13
12
  import "./chunk-O753JUEZ.js";
14
13
  import "./chunk-NOTA6TEI.js";
14
+ import "./chunk-KAO7JL4I.js";
15
15
  import "./chunk-BYU54C3S.js";
16
16
  import "./chunk-5WRI5ZAA.js";
17
17
  export {
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  layoutSitemap
3
- } from "./chunk-AAMCXQPP.js";
3
+ } from "./chunk-54YUDXGP.js";
4
4
  import "./chunk-XCKNFFKM.js";
5
- import "./chunk-RH2PROYG.js";
5
+ import "./chunk-HX2KJEPD.js";
6
+ import "./chunk-MPJQMMBZ.js";
7
+ import "./chunk-I6GGMCTV.js";
6
8
  import "./chunk-KAO7JL4I.js";
7
- import "./chunk-L5AFONQU.js";
8
- import "./chunk-44GP7PD5.js";
9
- import "./chunk-7HWY4QAJ.js";
9
+ import "./chunk-L24LESXF.js";
10
10
  import "./chunk-2M4IGSCY.js";
11
11
  import "./chunk-BYU54C3S.js";
12
12
  import "./chunk-5WRI5ZAA.js";
@@ -2,10 +2,10 @@ import {
2
2
  computeNodeSizing,
3
3
  layoutPert,
4
4
  relayoutPert
5
- } from "./chunk-N4XHXBDQ.js";
6
- import "./chunk-KAO7JL4I.js";
7
- import "./chunk-3TYUXC7D.js";
5
+ } from "./chunk-64KSPLU2.js";
6
+ import "./chunk-2SKMEL7V.js";
8
7
  import "./chunk-EQW6HOP4.js";
8
+ import "./chunk-KAO7JL4I.js";
9
9
  import "./chunk-5WRI5ZAA.js";
10
10
  export {
11
11
  computeNodeSizing,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  layoutERDiagram
3
- } from "./chunk-2A4DQAXG.js";
3
+ } from "./chunk-IIOLFAGJ.js";
4
4
  import "./chunk-HTNLLT34.js";
5
5
  import "./chunk-6EK55ART.js";
6
6
  import "./chunk-RJNZHFNG.js";
@@ -9,9 +9,9 @@ import "./chunk-NPWVOFB3.js";
9
9
  import "./chunk-S7W75MIM.js";
10
10
  import "./chunk-Z6DXWULM.js";
11
11
  import "./chunk-ICLB27PZ.js";
12
- import "./chunk-KAO7JL4I.js";
13
12
  import "./chunk-O753JUEZ.js";
14
13
  import "./chunk-NOTA6TEI.js";
14
+ import "./chunk-KAO7JL4I.js";
15
15
  import "./chunk-BYU54C3S.js";
16
16
  import "./chunk-5WRI5ZAA.js";
17
17
  export {
@@ -8,12 +8,12 @@ import "./chunk-NPWVOFB3.js";
8
8
  import "./chunk-S7W75MIM.js";
9
9
  import "./chunk-Z6DXWULM.js";
10
10
  import "./chunk-ICLB27PZ.js";
11
- import "./chunk-KAO7JL4I.js";
12
11
  import "./chunk-NXMESY4J.js";
13
- import "./chunk-J64NZ6NF.js";
12
+ import "./chunk-KSZHIAI2.js";
14
13
  import "./chunk-O753JUEZ.js";
15
14
  import "./chunk-NOTA6TEI.js";
16
- import "./chunk-44GP7PD5.js";
15
+ import "./chunk-MPJQMMBZ.js";
16
+ import "./chunk-KAO7JL4I.js";
17
17
  import "./chunk-2M4IGSCY.js";
18
18
  import "./chunk-BYU54C3S.js";
19
19
  import "./chunk-5WRI5ZAA.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  layoutMindmap
3
- } from "./chunk-UIUXIDBX.js";
3
+ } from "./chunk-LBRHDWEA.js";
4
4
  import "./chunk-24YPR5EH.js";
5
5
  import "./chunk-XCKNFFKM.js";
6
- import "./chunk-KAO7JL4I.js";
7
6
  import "./chunk-IYULMRBE.js";
8
- import "./chunk-L5AFONQU.js";
9
- import "./chunk-44GP7PD5.js";
7
+ import "./chunk-HX2KJEPD.js";
8
+ import "./chunk-MPJQMMBZ.js";
9
+ import "./chunk-KAO7JL4I.js";
10
10
  import "./chunk-2M4IGSCY.js";
11
11
  import "./chunk-BYU54C3S.js";
12
12
  import "./chunk-5WRI5ZAA.js";
@@ -6,13 +6,13 @@ import {
6
6
  layoutC4Context,
7
7
  layoutC4Deployment,
8
8
  rollUpContextRelationships
9
- } from "./chunk-DAX42XVH.js";
9
+ } from "./chunk-VCHYS3RD.js";
10
10
  import "./chunk-XCKNFFKM.js";
11
- import "./chunk-RH2PROYG.js";
11
+ import "./chunk-HX2KJEPD.js";
12
+ import "./chunk-MPJQMMBZ.js";
13
+ import "./chunk-I6GGMCTV.js";
12
14
  import "./chunk-KAO7JL4I.js";
13
- import "./chunk-L5AFONQU.js";
14
- import "./chunk-44GP7PD5.js";
15
- import "./chunk-7HWY4QAJ.js";
15
+ import "./chunk-L24LESXF.js";
16
16
  import "./chunk-2M4IGSCY.js";
17
17
  import "./chunk-BYU54C3S.js";
18
18
  import "./chunk-5WRI5ZAA.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  SKETCH_AUTO_LAYOUT_DEFAULTS,
3
3
  layoutSketch
4
- } from "./chunk-VEPIAUSK.js";
5
- import "./chunk-DV2VEJCC.js";
4
+ } from "./chunk-6BQSDF77.js";
5
+ import "./chunk-NWSPPGIE.js";
6
6
  import "./chunk-BYU54C3S.js";
7
7
  import "./chunk-5WRI5ZAA.js";
8
8
  export {
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  layoutOrg
3
- } from "./chunk-33FQ6HNV.js";
3
+ } from "./chunk-GQVXYRPC.js";
4
4
  import "./chunk-XCKNFFKM.js";
5
- import "./chunk-RH2PROYG.js";
5
+ import "./chunk-HX2KJEPD.js";
6
+ import "./chunk-MPJQMMBZ.js";
7
+ import "./chunk-I6GGMCTV.js";
6
8
  import "./chunk-KAO7JL4I.js";
7
- import "./chunk-L5AFONQU.js";
8
- import "./chunk-44GP7PD5.js";
9
- import "./chunk-7HWY4QAJ.js";
9
+ import "./chunk-L24LESXF.js";
10
10
  import "./chunk-2M4IGSCY.js";
11
11
  import "./chunk-BYU54C3S.js";
12
12
  import "./chunk-5WRI5ZAA.js";
@@ -3,10 +3,10 @@ import {
3
3
  layoutJourneyMap,
4
4
  scoreToColor,
5
5
  scoreToCurveY
6
- } from "./chunk-DOXBS7F5.js";
6
+ } from "./chunk-HLE5QGZJ.js";
7
+ import "./chunk-MPJQMMBZ.js";
7
8
  import "./chunk-KAO7JL4I.js";
8
- import "./chunk-44GP7PD5.js";
9
- import "./chunk-7HWY4QAJ.js";
9
+ import "./chunk-L24LESXF.js";
10
10
  import "./chunk-2M4IGSCY.js";
11
11
  import "./chunk-BYU54C3S.js";
12
12
  import "./chunk-5WRI5ZAA.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  computeNodeSize,
3
3
  layoutBoxesAndLines
4
- } from "./chunk-XIFK423U.js";
4
+ } from "./chunk-W7QN5BC5.js";
5
5
  import "./chunk-QT3KDDXK.js";
6
6
  import "./chunk-HTNLLT34.js";
7
7
  import "./chunk-6EK55ART.js";
@@ -11,9 +11,9 @@ import "./chunk-NPWVOFB3.js";
11
11
  import "./chunk-S7W75MIM.js";
12
12
  import "./chunk-Z6DXWULM.js";
13
13
  import "./chunk-ICLB27PZ.js";
14
- import "./chunk-KAO7JL4I.js";
15
14
  import "./chunk-O753JUEZ.js";
16
15
  import "./chunk-NOTA6TEI.js";
16
+ import "./chunk-KAO7JL4I.js";
17
17
  import "./chunk-BYU54C3S.js";
18
18
  import "./chunk-5WRI5ZAA.js";
19
19
  export {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  computeNodeSize
3
- } from "./chunk-XIFK423U.js";
3
+ } from "./chunk-W7QN5BC5.js";
4
4
  import {
5
5
  clipEndpointsToNodes,
6
6
  groupedTierCandidates
@@ -19,9 +19,9 @@ import "./chunk-NPWVOFB3.js";
19
19
  import "./chunk-S7W75MIM.js";
20
20
  import "./chunk-Z6DXWULM.js";
21
21
  import "./chunk-ICLB27PZ.js";
22
- import "./chunk-KAO7JL4I.js";
23
22
  import "./chunk-O753JUEZ.js";
24
23
  import "./chunk-NOTA6TEI.js";
24
+ import "./chunk-KAO7JL4I.js";
25
25
  import "./chunk-BYU54C3S.js";
26
26
  import "./chunk-5WRI5ZAA.js";
27
27
 
@@ -833,6 +833,42 @@ function shuffle(a, r) {
833
833
  }
834
834
  return x;
835
835
  }
836
+ var SIFT_MAX_SWEEPS = 4;
837
+ function siftId(v, nd, real) {
838
+ if (real.has(v)) return v;
839
+ if ((nd.dummy === "edge" || nd.dummy === "edge-label") && nd.edgeObj) {
840
+ const name = nd.edgeLabel?.forwardName ?? nd.edgeObj.name ?? "";
841
+ return `${nd.edgeObj.v}${nd.edgeObj.w}${name}${nd.rank}`;
842
+ }
843
+ return null;
844
+ }
845
+ function applyOrderPlan(lg, real, forced, captured) {
846
+ const runs = /* @__PURE__ */ new Map();
847
+ for (const v of lg.nodes()) {
848
+ const nd = lg.node(v);
849
+ if (nd.rank === void 0) continue;
850
+ const id = siftId(v, nd, real);
851
+ if (id === null) continue;
852
+ const parent = lg.isCompound() ? lg.parent(v) : void 0;
853
+ const key = `${nd.rank}\0${parent ?? ""}`;
854
+ let run = runs.get(key);
855
+ if (!run) runs.set(key, run = []);
856
+ run.push({ v, id });
857
+ }
858
+ for (const run of runs.values()) {
859
+ if (run.length < 2) continue;
860
+ run.sort((a, b) => lg.node(a.v).order - lg.node(b.v).order);
861
+ const ids = run.map((e) => e.id);
862
+ const key = [...ids].sort().join("\0");
863
+ const want = forced?.get(key);
864
+ if (want) {
865
+ const slots = run.map((e) => lg.node(e.v).order);
866
+ const byId = new Map(run.map((e) => [e.id, e.v]));
867
+ want.forEach((id, i) => lg.node(byId.get(id)).order = slots[i]);
868
+ }
869
+ captured.set(key, want ? [...want] : ids);
870
+ }
871
+ }
836
872
  var splineGen = d3line().x((d) => d.x).y((d) => d.y).curve(curveBasis);
837
873
  var PATH_TOKEN_RE = /[MLQC]|-?\d*\.?\d+(?:e-?\d+)?/gi;
838
874
  function flatten(d) {
@@ -1557,7 +1593,8 @@ async function layoutBoxesAndLinesSearch(parsed, collapseInfo, opts) {
1557
1593
  return { x: rect.x + dx * s, y: rect.y + dy * s };
1558
1594
  };
1559
1595
  const isInsideRect = (p, rect) => Math.abs(p.x - rect.x) <= rect.w / 2 && Math.abs(p.y - rect.y) <= rect.h / 2;
1560
- function place(cfg, reserve = reserveEdgeLabels) {
1596
+ const realBoxes = new Set(parsed.nodes.map((n2) => n2.label));
1597
+ function place(cfg, reserve = reserveEdgeLabels, plan) {
1561
1598
  const r = cfg.seed === void 0 ? null : rng2(cfg.seed + 1);
1562
1599
  const ord = (a) => r ? shuffle(a, r) : a.slice();
1563
1600
  const g = new dagre.graphlib.Graph({ compound: true, multigraph: true });
@@ -1604,7 +1641,19 @@ async function layoutBoxesAndLinesSearch(parsed, collapseInfo, opts) {
1604
1641
  g.setEdge(s, t, edgeLabel, edgeKey(e));
1605
1642
  }
1606
1643
  }
1607
- dagre.layout(g);
1644
+ if (plan)
1645
+ dagre.layout(g, {
1646
+ customOrder: (lg, order) => {
1647
+ order(lg, {});
1648
+ applyOrderPlan(
1649
+ lg,
1650
+ realBoxes,
1651
+ plan.forced,
1652
+ plan.captured
1653
+ );
1654
+ }
1655
+ });
1656
+ else dagre.layout(g);
1608
1657
  const nodes = parsed.nodes.map((n2) => {
1609
1658
  const p = g.node(n2.label);
1610
1659
  return {
@@ -1740,9 +1789,9 @@ async function layoutBoxesAndLinesSearch(parsed, collapseInfo, opts) {
1740
1789
  const objective = (lay, viol) => viol * 1e6 + edgeLength(lay) + lambda * meanDrift(lay, prev) * 10;
1741
1790
  const progressTotal = configs.length + Math.min(opts?.refineK ?? 6, configs.length);
1742
1791
  let progressDone = 0;
1743
- const step = async (phase) => {
1792
+ const step = async (phase, advance = true) => {
1744
1793
  if (!onProgress) return;
1745
- onProgress(++progressDone, progressTotal, phase);
1794
+ onProgress(advance ? ++progressDone : progressDone, progressTotal, phase);
1746
1795
  const now = performance.now();
1747
1796
  if (now - searchStart > YIELD_AFTER_MS && now - lastYield > YIELD_EVERY_MS) {
1748
1797
  lastYield = now;
@@ -1882,6 +1931,56 @@ async function layoutBoxesAndLinesSearch(parsed, collapseInfo, opts) {
1882
1931
  }
1883
1932
  }
1884
1933
  }
1934
+ const winnerCfg = cfgOf.get(best);
1935
+ if (opts?.sift !== false && bestBad > 0 && Number.isFinite(bestBad) && winnerCfg) {
1936
+ let current;
1937
+ try {
1938
+ const captured = /* @__PURE__ */ new Map();
1939
+ attempts++;
1940
+ place(winnerCfg, reserveEdgeLabels, { captured });
1941
+ current = captured;
1942
+ } catch {
1943
+ }
1944
+ for (let sweep = 0; current && sweep < SIFT_MAX_SWEEPS && attempts < maxCandidates; sweep++) {
1945
+ let improved = false;
1946
+ for (const key of [...current.keys()].sort()) {
1947
+ for (const entry of [...current.get(key)]) {
1948
+ const run = current.get(key);
1949
+ const from = run.indexOf(entry);
1950
+ let bestRun = null;
1951
+ for (let to = 0; to < run.length; to++) {
1952
+ if (to === from || attempts >= maxCandidates) continue;
1953
+ const tried = run.filter((v) => v !== entry);
1954
+ tried.splice(to, 0, entry);
1955
+ const forced = new Map(current);
1956
+ forced.set(key, tried);
1957
+ attempts++;
1958
+ let lay;
1959
+ try {
1960
+ lay = place(winnerCfg, reserveEdgeLabels, {
1961
+ forced,
1962
+ captured: /* @__PURE__ */ new Map()
1963
+ });
1964
+ } catch {
1965
+ continue;
1966
+ }
1967
+ const bad = badness(lay, bestBad - 1);
1968
+ if (bad < bestBad) {
1969
+ bestBad = bad;
1970
+ best = lay;
1971
+ bestRun = tried;
1972
+ }
1973
+ }
1974
+ if (bestRun) {
1975
+ current.set(key, bestRun);
1976
+ improved = true;
1977
+ }
1978
+ await step("Sifting layout", false);
1979
+ }
1980
+ }
1981
+ if (!improved) break;
1982
+ }
1983
+ }
1885
1984
  if (bestBad > 0) {
1886
1985
  const rerouted = deroutePierces(best);
1887
1986
  if (rerouted !== best && badness(rerouted, bestBad - 1) < bestBad)
@@ -16,14 +16,15 @@ import {
16
16
  LEGEND_MAX_ENTRY_ROWS,
17
17
  LEGEND_PILL_FONT_SIZE,
18
18
  LEGEND_PILL_PAD,
19
+ LEGEND_PILL_TOGGLE_CLASS,
19
20
  LEGEND_TOGGLE_DOT_R,
20
21
  LEGEND_TOGGLE_OFF_OPACITY,
21
22
  legendChromeColors,
22
23
  measureLegendText,
23
24
  truncateLegendText
24
- } from "./chunk-RH2PROYG.js";
25
+ } from "./chunk-I6GGMCTV.js";
25
26
  import "./chunk-KAO7JL4I.js";
26
- import "./chunk-7HWY4QAJ.js";
27
+ import "./chunk-L24LESXF.js";
27
28
  import "./chunk-2M4IGSCY.js";
28
29
  import "./chunk-BYU54C3S.js";
29
30
  import "./chunk-5WRI5ZAA.js";
@@ -45,6 +46,7 @@ export {
45
46
  LEGEND_MAX_ENTRY_ROWS,
46
47
  LEGEND_PILL_FONT_SIZE,
47
48
  LEGEND_PILL_PAD,
49
+ LEGEND_PILL_TOGGLE_CLASS,
48
50
  LEGEND_TOGGLE_DOT_R,
49
51
  LEGEND_TOGGLE_OFF_OPACITY,
50
52
  legendChromeColors,
@@ -12,8 +12,10 @@ import {
12
12
  resolvePaletteOrFallback,
13
13
  slatePalette,
14
14
  tidewaterPalette,
15
- tokyoNightPalette
16
- } from "./chunk-IDJGV6VM.js";
15
+ tokyoNightPalette,
16
+ validateThemeFile
17
+ } from "./chunk-4HG4PYHM.js";
18
+ import "./chunk-3UR4F7FE.js";
17
19
  import {
18
20
  contrastText,
19
21
  getSegmentColors,
@@ -25,7 +27,7 @@ import {
25
27
  shapeFill,
26
28
  themeBaseBg,
27
29
  tint
28
- } from "./chunk-7HWY4QAJ.js";
30
+ } from "./chunk-L24LESXF.js";
29
31
  import "./chunk-2M4IGSCY.js";
30
32
  import "./chunk-BYU54C3S.js";
31
33
  import "./chunk-5WRI5ZAA.js";
@@ -53,5 +55,6 @@ export {
53
55
  themeBaseBg,
54
56
  tidewaterPalette,
55
57
  tint,
56
- tokyoNightPalette
58
+ tokyoNightPalette,
59
+ validateThemeFile
57
60
  };