@diagrammo/dgmo 0.77.0 → 0.79.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 (280) hide show
  1. package/README.md +17 -13
  2. package/dist/advanced.d.ts +197 -23
  3. package/dist/advanced.js +161 -142
  4. package/dist/block.css +1 -1
  5. package/dist/block.d.ts +2 -2
  6. package/dist/block.js +62 -58
  7. package/dist/{calculator-CVQ54JNE.js → calculator-OHTCZSBW.js} +3 -3
  8. package/dist/{chart-meta-Cf_jkApJ.d.ts → chart-meta-B7lSmrzg.d.ts} +2 -2
  9. package/dist/chart-meta.d.ts +3 -3
  10. package/dist/chart-meta.js +45 -44
  11. package/dist/charts-d3-EST3Z5VG.js +31 -0
  12. package/dist/{chunk-U4DS2ODO.js → chunk-253E5ISJ.js} +9 -9
  13. package/dist/{chunk-7IATMZSA.js → chunk-26EVL454.js} +1 -25
  14. package/dist/{chunk-MG3DE3VO.js → chunk-2F7AG7LA.js} +4 -4
  15. package/dist/{chunk-OWVDD5EC.js → chunk-2R2M2C6V.js} +2 -2
  16. package/dist/{chunk-LYJ53DBK.js → chunk-2RAH6GVR.js} +56 -41
  17. package/dist/{chunk-Q74GP3GK.js → chunk-37NDM5NW.js} +3 -3
  18. package/dist/{chunk-N6MZSBOL.js → chunk-3BN3WCUD.js} +5 -2
  19. package/dist/chunk-3DPOIW3W.js +10 -0
  20. package/dist/{chunk-HDLRRY3N.js → chunk-3KFGPXHD.js} +195 -135
  21. package/dist/{chunk-NWNSXHA5.js → chunk-3KNA7OIO.js} +3 -3
  22. package/dist/{chunk-M5OOAP65.js → chunk-4CA7TJ44.js} +2 -1
  23. package/dist/{chunk-M5JT2AU7.js → chunk-4L43NPSQ.js} +10 -6
  24. package/dist/{chunk-4YER7UCV.js → chunk-4T6V7JJA.js} +3 -3
  25. package/dist/{chunk-3E4YB6TY.js → chunk-4YSWUQKZ.js} +12 -7
  26. package/dist/{chunk-6BVAW7KI.js → chunk-54JYWS7D.js} +50 -43
  27. package/dist/{chunk-7NSNE52V.js → chunk-55DMCFGM.js} +3 -3
  28. package/dist/{chunk-XPBJVSRY.js → chunk-5BV5MXLY.js} +38 -32
  29. package/dist/{chunk-5VMUVJO4.js → chunk-5DWF3N3V.js} +3 -3
  30. package/dist/{chunk-SSEAULA5.js → chunk-6775W3UW.js} +19 -15
  31. package/dist/{chunk-2QRIMMIH.js → chunk-6EMJRAEY.js} +3 -3
  32. package/dist/{chunk-OZOHREFQ.js → chunk-6FUIPWTS.js} +14 -15
  33. package/dist/{chunk-F4V67JXG.js → chunk-6JIMYPXR.js} +4 -4
  34. package/dist/{chunk-CHOK7NCJ.js → chunk-7AEMAUDF.js} +29 -25
  35. package/dist/{chunk-NVOU7N6C.js → chunk-7DCM3CB5.js} +2 -2
  36. package/dist/{chunk-UBDVAHGK.js → chunk-7EUTTKNU.js} +36 -31
  37. package/dist/{chunk-76NHL5UG.js → chunk-7I6NWTPE.js} +2 -2
  38. package/dist/{chunk-OKXWPKUC.js → chunk-7SHL2WME.js} +2 -2
  39. package/dist/{chunk-SWEKCK34.js → chunk-AFOHIR2O.js} +3 -3
  40. package/dist/{chunk-RWFMOVHG.js → chunk-AI7TZQ2R.js} +3 -3
  41. package/dist/{chunk-BWJLLNUX.js → chunk-ALVK3TBO.js} +3 -3
  42. package/dist/{chunk-GLREDNBA.js → chunk-AMQFJ7P7.js} +21 -2
  43. package/dist/{chunk-RGW26UAR.js → chunk-CCETDPLV.js} +11 -11
  44. package/dist/{chunk-5ZD4DDG7.js → chunk-CE654SL2.js} +17 -14
  45. package/dist/{chunk-TPN7RJOM.js → chunk-CFYTCBRH.js} +4 -4
  46. package/dist/{chunk-YT5ICQ4R.js → chunk-CKDYRVOC.js} +3 -3
  47. package/dist/{chunk-WQXD3IIN.js → chunk-CRBW2WS7.js} +11 -9
  48. package/dist/{chunk-J76YDS4V.js → chunk-CREALBZL.js} +3 -3
  49. package/dist/{chunk-MZEGUDTA.js → chunk-CSTYDCKB.js} +16 -16
  50. package/dist/{chunk-QBM5BURJ.js → chunk-DG5IQW74.js} +10 -10
  51. package/dist/{chunk-Y2CYNRL7.js → chunk-DN6K6QCF.js} +2 -2
  52. package/dist/{chunk-43AJKH2U.js → chunk-DQOCYWB6.js} +12 -10
  53. package/dist/{chunk-FTTB64OJ.js → chunk-EBEFYSVZ.js} +40 -40
  54. package/dist/{chunk-L65WI4HO.js → chunk-EDU2OCIQ.js} +2 -2
  55. package/dist/{chunk-SWUQJ5VR.js → chunk-EOG4QKKV.js} +108 -65
  56. package/dist/chunk-EPDBWATV.js +38 -0
  57. package/dist/{chunk-5GM6BZO7.js → chunk-F66R7CPY.js} +6 -3
  58. package/dist/{chunk-7BMX2M3F.js → chunk-FFDHZVEL.js} +2 -2
  59. package/dist/{chunk-WGC42WJU.js → chunk-FWNJDD4U.js} +6 -2
  60. package/dist/{chunk-SI3PYDL4.js → chunk-GWA6UGNX.js} +22 -22
  61. package/dist/{chunk-QMFIZQTB.js → chunk-HIOJSYDA.js} +7 -5
  62. package/dist/{chunk-NHQ7HUAS.js → chunk-HJ5DKZPO.js} +12 -10
  63. package/dist/{chunk-FPRMP6YA.js → chunk-HJZ4OET2.js} +32 -17
  64. package/dist/{chunk-N5NQIZ56.js → chunk-HLTVEXML.js} +25 -25
  65. package/dist/{chunk-6IN4F4RH.js → chunk-I6DFQQER.js} +42 -44
  66. package/dist/chunk-ICLB27PZ.js +11 -0
  67. package/dist/{chunk-R3XI2VC7.js → chunk-IDJGV6VM.js} +2 -1
  68. package/dist/{chunk-ZM27UI5O.js → chunk-IEK2FUWO.js} +19 -6
  69. package/dist/{chunk-FJ57274M.js → chunk-IIEI7VK5.js} +15 -1
  70. package/dist/{chunk-DY7KDZUF.js → chunk-IZK2H4KU.js} +3 -3
  71. package/dist/{chunk-CRLVJZWX.js → chunk-JOG6W3VS.js} +2 -2
  72. package/dist/{chunk-XFXJXLK7.js → chunk-JTLLQT34.js} +19 -19
  73. package/dist/{chunk-MS5574I7.js → chunk-K3K7JHZI.js} +2 -2
  74. package/dist/{chunk-GOW5VO6M.js → chunk-KHRZCKKG.js} +2 -2
  75. package/dist/{chunk-D3B6YEZK.js → chunk-KIF4UFD2.js} +20 -16
  76. package/dist/{chunk-EUVUOPRC.js → chunk-KYK6PMB5.js} +55 -34
  77. package/dist/{chunk-RU2HHHYA.js → chunk-LD2JSKU3.js} +12 -2
  78. package/dist/{chunk-CYMYZYLI.js → chunk-LJ7X6ZNV.js} +25 -28
  79. package/dist/{chunk-ICVIJLBA.js → chunk-LLYHYPYG.js} +4 -4
  80. package/dist/{chunk-VRPV6QXR.js → chunk-LLZVRWVS.js} +2 -2
  81. package/dist/{chunk-Z7KVOVE4.js → chunk-LXTMP3VT.js} +7 -4
  82. package/dist/{chunk-7CXW6EGX.js → chunk-MDUCF376.js} +28 -26
  83. package/dist/{chunk-KWSBNLSC.js → chunk-MQAD75AY.js} +2 -2
  84. package/dist/{chunk-XCFIAGT7.js → chunk-MUTZSF2A.js} +17 -16
  85. package/dist/{chunk-CF3I5SOG.js → chunk-NVI5G57O.js} +29 -27
  86. package/dist/{chunk-76LHNLGX.js → chunk-O2HU4AQN.js} +34 -5
  87. package/dist/{chunk-46KVXDUJ.js → chunk-O5QG5IFV.js} +12 -3
  88. package/dist/{chunk-V4NHFY22.js → chunk-OLRVGPJ3.js} +33 -20
  89. package/dist/{chunk-WHWUVDYK.js → chunk-OM6XZAKM.js} +7 -7
  90. package/dist/{chunk-DSXWJAOA.js → chunk-OMN4F42L.js} +17 -15
  91. package/dist/{chunk-LM3HY3VG.js → chunk-P4U5GST7.js} +3 -3
  92. package/dist/{chunk-BH3BQICT.js → chunk-PKW4TLJC.js} +88 -44
  93. package/dist/{chunk-GRN44Z6A.js → chunk-PQR7E3LY.js} +2 -2
  94. package/dist/{chunk-SH4PPRU7.js → chunk-Q5KGGW7Z.js} +2 -2
  95. package/dist/{chunk-RV5A3EGI.js → chunk-QDHOIBHZ.js} +21 -20
  96. package/dist/{chunk-UH5YTZN7.js → chunk-QDTFFVLT.js} +113 -23
  97. package/dist/chunk-QFIXL3OK.js +68 -0
  98. package/dist/{chunk-QXMHBIQG.js → chunk-QGXH64FT.js} +52 -49
  99. package/dist/{chunk-VS2M72PF.js → chunk-RLJKH4ZO.js} +4 -2
  100. package/dist/{chunk-6ZZKEYBS.js → chunk-RN3DOUOU.js} +17 -15
  101. package/dist/{chunk-VBJCGGNF.js → chunk-RPP3NHKV.js} +2 -2
  102. package/dist/{chunk-RTTZIX34.js → chunk-RVWWCQAB.js} +3 -3
  103. package/dist/{chunk-FR5EVD2X.js → chunk-RWF7TCGT.js} +68 -38
  104. package/dist/{chunk-LKS56RDT.js → chunk-S6GPBJWG.js} +2 -2
  105. package/dist/{chunk-UJBP57UJ.js → chunk-S7ZJEQPW.js} +4 -4
  106. package/dist/{chunk-3H4PDNP4.js → chunk-SEOM2BGQ.js} +3 -3
  107. package/dist/{chunk-5PFNUDXR.js → chunk-T3EW35M2.js} +3 -3
  108. package/dist/{chunk-3SP6G4LN.js → chunk-TPQ6Q7JP.js} +3 -3
  109. package/dist/{chunk-B52RL5VV.js → chunk-ULUZBEFO.js} +11 -11
  110. package/dist/{chunk-F4X5NVKY.js → chunk-UNYOWKEC.js} +13 -4
  111. package/dist/{chunk-DEW62ON3.js → chunk-VSPNH7LC.js} +2 -2
  112. package/dist/{chunk-C2WH3BMS.js → chunk-VTWUHX4H.js} +10 -7
  113. package/dist/{chunk-DJL5PO27.js → chunk-W4MC3KP6.js} +2 -2
  114. package/dist/{chunk-MU3CJPJF.js → chunk-W6DBWWPC.js} +3 -3
  115. package/dist/{chunk-JLODGGN2.js → chunk-WC72PTV4.js} +3 -3
  116. package/dist/{chunk-NCT22MOD.js → chunk-WMIKC5XO.js} +2 -2
  117. package/dist/{chunk-H7BYMIVK.js → chunk-WY4L675I.js} +70 -44
  118. package/dist/chunk-XBJJP2HN.js +37 -0
  119. package/dist/{chunk-KRTLS3G6.js → chunk-XDEEYDPQ.js} +4 -4
  120. package/dist/{chunk-S5P5Z5Y5.js → chunk-XNAMWOPJ.js} +3 -3
  121. package/dist/{chunk-2MTM4E6M.js → chunk-XND5JIJA.js} +68 -65
  122. package/dist/{chunk-S6OXNZBM.js → chunk-XWC4RQ7T.js} +4 -4
  123. package/dist/{chunk-UCZBRGJN.js → chunk-XXLAZQ5E.js} +2 -2
  124. package/dist/{chunk-LXXVHLTH.js → chunk-Y22BJKMK.js} +3 -3
  125. package/dist/{chunk-OO2L2LWV.js → chunk-Y2KFQX5K.js} +89 -66
  126. package/dist/{chunk-TI4YUUW6.js → chunk-Y3OLUMJH.js} +31 -30
  127. package/dist/{chunk-CIWFL2LM.js → chunk-Y3RYIGHZ.js} +17 -15
  128. package/dist/{chunk-MTGGOCND.js → chunk-YC6GVLTI.js} +61 -10
  129. package/dist/{chunk-TKIPK5P6.js → chunk-YD2HPT7W.js} +5 -7
  130. package/dist/{chunk-3O7ZYVJV.js → chunk-YPVP6I62.js} +19 -15
  131. package/dist/{chunk-FF7LRT5L.js → chunk-YQIZIKCK.js} +35 -27
  132. package/dist/{chunk-M526IKKH.js → chunk-Z4COUG7H.js} +2 -2
  133. package/dist/{chunk-LTTZX6RD.js → chunk-Z5ZCTCX4.js} +3 -3
  134. package/dist/{chunk-QOVM5VRC.js → chunk-ZASX45SU.js} +3 -3
  135. package/dist/{chunk-W7UBPARG.js → chunk-ZH3BWGTE.js} +3 -3
  136. package/dist/{chunk-TN754B3R.js → chunk-ZZZJVDIL.js} +2 -2
  137. package/dist/clock.js +11 -5
  138. package/dist/completion-registry.js +3 -3
  139. package/dist/countdown.js +26 -20
  140. package/dist/{d3-BiaJtaSw.d.ts → d3-Bje6Mla1.d.ts} +1 -1
  141. package/dist/dgmo-router-OXFV43XX.js +90 -0
  142. package/dist/{dgmo-router-BwXHZ_P3.d.ts → dgmo-router-zWf4Uxxg.d.ts} +1 -1
  143. package/dist/dimensions-AN34SPVX.js +22 -0
  144. package/dist/{flowchart-parser-NVBP3C5D.js → flowchart-parser-MRNAVG35.js} +4 -4
  145. package/dist/flowchart-renderer-IGSKJFMF.js +37 -0
  146. package/dist/index.d.ts +7 -7
  147. package/dist/index.js +75 -60
  148. package/dist/{layout-Y2V3LYV7.js → layout-5AYAYUJH.js} +2 -2
  149. package/dist/{layout-ZAGUFT2G.js → layout-6APS2RRG.js} +8 -7
  150. package/dist/{layout-B5GQVXXY.js → layout-6VUNAH6F.js} +8 -7
  151. package/dist/{layout-RV2T2YTT.js → layout-74HDWQYG.js} +6 -5
  152. package/dist/{layout-6SKHNQYO.js → layout-FCIYZV63.js} +4 -4
  153. package/dist/{layout-4LNMXLVK.js → layout-J2Z2SYH5.js} +3 -3
  154. package/dist/layout-LELNMRM5.js +16 -0
  155. package/dist/{layout-EM4DLMAX.js → layout-OPF6KTOH.js} +5 -5
  156. package/dist/layout-SUND6B7D.js +9 -0
  157. package/dist/layout-WASEHV3S.js +19 -0
  158. package/dist/{layout-SGYR6HBX.js → layout-XAJLQPI6.js} +3 -3
  159. package/dist/layout-XY45TFJ4.js +16 -0
  160. package/dist/layout-YPRXVCW5.js +19 -0
  161. package/dist/{layout-2OJ25STS.js → layout-ZJOWB27N.js} +9 -8
  162. package/dist/{layout-search-UOKEMER5.js → layout-search-3JKNSUTJ.js} +8 -7
  163. package/dist/{legend-constants-PLN2YHGM.js → legend-constants-RSWFR3L6.js} +4 -4
  164. package/dist/{palettes-54YSI3IX.js → palettes-IAF6WVL4.js} +5 -3
  165. package/dist/{parser-QOIZGW7I.js → parser-2Y7LWKNO.js} +4 -4
  166. package/dist/{parser-EQ4I3TSH.js → parser-4GUQUDAC.js} +5 -5
  167. package/dist/{parser-TA5TYZNL.js → parser-4OXANARZ.js} +5 -5
  168. package/dist/{parser-L7T7FY3H.js → parser-56UEMRXS.js} +4 -4
  169. package/dist/{parser-2GMHFSTS.js → parser-66QZQYGE.js} +4 -4
  170. package/dist/{parser-3AOMUX5D.js → parser-6SS7DKVW.js} +4 -4
  171. package/dist/{parser-QYAIFXLP.js → parser-AYURCBDZ.js} +4 -4
  172. package/dist/{parser-5XFGK5C5.js → parser-COPCQEHV.js} +6 -6
  173. package/dist/{parser-F4ZKDGUZ.js → parser-DEWJM5PX.js} +3 -3
  174. package/dist/{parser-ZXQZZK6W.js → parser-DQKZDA2J.js} +4 -3
  175. package/dist/{parser-WCFG3DZA.js → parser-EMPM3V35.js} +3 -3
  176. package/dist/{parser-6FUESG4N.js → parser-EP2JQJNV.js} +4 -4
  177. package/dist/{parser-ZYAFHXKQ.js → parser-FDDHTBRV.js} +4 -4
  178. package/dist/{parser-3KQONLXZ.js → parser-FDESUQ32.js} +3 -3
  179. package/dist/{parser-LV7PQBUG.js → parser-GK6CMK4P.js} +4 -4
  180. package/dist/{parser-WVE6SKB7.js → parser-H33OKBUB.js} +4 -4
  181. package/dist/{parser-ML3LVNDV.js → parser-HJBSWTDY.js} +4 -4
  182. package/dist/{parser-PR3OR3LO.js → parser-HRIKI5O3.js} +5 -5
  183. package/dist/{parser-H4ZUNLX4.js → parser-I77632XB.js} +3 -3
  184. package/dist/{parser-YWQCC33R.js → parser-JGMQE7FS.js} +4 -4
  185. package/dist/{parser-WMJEPZDC.js → parser-JIPG576H.js} +4 -4
  186. package/dist/{parser-E3OHNNTH.js → parser-JNJ2IFSO.js} +4 -4
  187. package/dist/{parser-CJNP7RKR.js → parser-LCUQTABE.js} +4 -4
  188. package/dist/{parser-4DLU4SNG.js → parser-LXU3MGG6.js} +3 -3
  189. package/dist/{parser-WWRRG2DV.js → parser-N4YB5EIZ.js} +4 -4
  190. package/dist/{parser-XVSDFO56.js → parser-NC36PRBR.js} +3 -3
  191. package/dist/{parser-RDBXEVI4.js → parser-O6WYAXTS.js} +4 -4
  192. package/dist/{parser-4KFJKLP2.js → parser-UHABNZBC.js} +3 -3
  193. package/dist/{parser-GCVSRQPY.js → parser-V6HULGXW.js} +4 -4
  194. package/dist/{parser-UTR5WE4O.js → parser-VVWZIMYS.js} +4 -4
  195. package/dist/{parser-B2XQNHZM.js → parser-YJGTPT7A.js} +3 -3
  196. package/dist/{parser-WQNT7T2P.js → parser-YQ5F7ATB.js} +3 -3
  197. package/dist/{parser-ZT3PU2HT.js → parser-ZUH2G7J2.js} +4 -4
  198. package/dist/renderer-2ZGZSSCV.js +39 -0
  199. package/dist/renderer-33AB7UAZ.js +35 -0
  200. package/dist/renderer-43KEDLTQ.js +23 -0
  201. package/dist/renderer-4E6NNPNU.js +29 -0
  202. package/dist/renderer-4HFT4HJG.js +39 -0
  203. package/dist/renderer-63MHARNI.js +20 -0
  204. package/dist/renderer-6HPV7BMG.js +23 -0
  205. package/dist/renderer-BVJ3NVRB.js +20 -0
  206. package/dist/renderer-DV44AS75.js +28 -0
  207. package/dist/renderer-FLLVGYUY.js +30 -0
  208. package/dist/renderer-FSV7MTW3.js +17 -0
  209. package/dist/renderer-H6XEVHKH.js +27 -0
  210. package/dist/renderer-HNEMQJXT.js +21 -0
  211. package/dist/{renderer-CVWQD442.js → renderer-IIN3RY4F.js} +6 -5
  212. package/dist/renderer-K2OWHNBV.js +25 -0
  213. package/dist/renderer-M6UIXQHH.js +27 -0
  214. package/dist/renderer-N5CRYFBI.js +31 -0
  215. package/dist/{renderer-VF7X66SL.js → renderer-O3O6A3RY.js} +16 -16
  216. package/dist/renderer-OVRX36WE.js +39 -0
  217. package/dist/renderer-PLKMHBAB.js +30 -0
  218. package/dist/{renderer-G2DPKJAN.js → renderer-REHVBQ57.js} +17 -16
  219. package/dist/{renderer-GHBF5PRH.js → renderer-RW446FGL.js} +6 -5
  220. package/dist/renderer-SJV75NUI.js +28 -0
  221. package/dist/renderer-TKWW45LZ.js +36 -0
  222. package/dist/{renderer-FTX67CYZ.js → renderer-UHLTPQTW.js} +7 -6
  223. package/dist/renderer-UNYFAMFE.js +16 -0
  224. package/dist/renderer-URXHBQOF.js +26 -0
  225. package/dist/renderer-VBAQQWDB.js +25 -0
  226. package/dist/renderer-VI72MVFW.js +77 -0
  227. package/dist/renderer-XGJIACBV.js +25 -0
  228. package/dist/renderer-XVTKGPYT.js +20 -0
  229. package/dist/{renderer-R5HIRN2M.js → renderer-YLIICO4R.js} +9 -9
  230. package/dist/renderer-ZG6GPWZF.js +27 -0
  231. package/dist/renderer-radial-7UHFYOOL.js +21 -0
  232. package/dist/{state-parser-TPA67IXM.js → state-parser-XT4ZPQAF.js} +5 -5
  233. package/dist/state-renderer-6TVII5ZJ.js +41 -0
  234. package/dist/{tag-groups-BAtkq0b_.d.ts → tag-groups-DIJV_50B.d.ts} +18 -9
  235. package/dist/{themes-DpsyRSO7.d.ts → themes-Bgkyh6gh.d.ts} +2 -2
  236. package/docs/architecture-report.md +3 -3
  237. package/docs/language-reference.md +128 -30
  238. package/docs/migration-sequence-color-to-tags.md +16 -8
  239. package/package.json +7 -6
  240. package/dist/charts-d3-HMEMHSSW.js +0 -29
  241. package/dist/chunk-53SEVJQM.js +0 -9
  242. package/dist/chunk-LP7EC4MI.js +0 -16
  243. package/dist/chunk-YM5RMLFO.js +0 -40
  244. package/dist/dgmo-router-A3LIHT6H.js +0 -89
  245. package/dist/dimensions-OFF4GRFL.js +0 -22
  246. package/dist/flowchart-renderer-BBJUPORB.js +0 -36
  247. package/dist/layout-5ILNODTP.js +0 -15
  248. package/dist/layout-IN53LAE6.js +0 -9
  249. package/dist/layout-KQUSB45X.js +0 -18
  250. package/dist/layout-ROORJQ4X.js +0 -18
  251. package/dist/layout-VUZ3MLOI.js +0 -15
  252. package/dist/renderer-2ANDPQWC.js +0 -16
  253. package/dist/renderer-2LDT4TUX.js +0 -25
  254. package/dist/renderer-2NYQDW37.js +0 -20
  255. package/dist/renderer-2RIIIO34.js +0 -39
  256. package/dist/renderer-3HFU3DTO.js +0 -25
  257. package/dist/renderer-4BF6ILP6.js +0 -27
  258. package/dist/renderer-5E2AH5TO.js +0 -38
  259. package/dist/renderer-62SLWRYF.js +0 -27
  260. package/dist/renderer-ANJUDBOS.js +0 -34
  261. package/dist/renderer-D6GJ6EVK.js +0 -30
  262. package/dist/renderer-DNFV2IQI.js +0 -36
  263. package/dist/renderer-EDVCGIQO.js +0 -76
  264. package/dist/renderer-EFQSMHID.js +0 -27
  265. package/dist/renderer-GZLRX764.js +0 -24
  266. package/dist/renderer-H2HYLFN3.js +0 -20
  267. package/dist/renderer-IR5655M7.js +0 -28
  268. package/dist/renderer-L237AOOZ.js +0 -16
  269. package/dist/renderer-LSJWYGOL.js +0 -39
  270. package/dist/renderer-LWXDMZOV.js +0 -28
  271. package/dist/renderer-MYSVPERC.js +0 -22
  272. package/dist/renderer-OL5QSZPC.js +0 -31
  273. package/dist/renderer-P26HH3NA.js +0 -30
  274. package/dist/renderer-RNFECJ5D.js +0 -21
  275. package/dist/renderer-RPZVNCTF.js +0 -26
  276. package/dist/renderer-SDNWZDUY.js +0 -23
  277. package/dist/renderer-UKHH4UWV.js +0 -25
  278. package/dist/renderer-Y3Y7PEUS.js +0 -20
  279. package/dist/renderer-radial-QNGCGKZP.js +0 -21
  280. package/dist/state-renderer-ELWDRXD6.js +0 -40
@@ -2,7 +2,7 @@ import {
2
2
  CHAR_WIDTH_RATIO,
3
3
  measureText,
4
4
  truncateText
5
- } from "./chunk-MTGGOCND.js";
5
+ } from "./chunk-YC6GVLTI.js";
6
6
 
7
7
  // src/infra/layout.ts
8
8
  import dagre from "@dagrejs/dagre";
@@ -491,6 +491,7 @@ function layoutInfra(computed, expandedNodeIds, collapsedNodes) {
491
491
  width: MIN_NODE_WIDTH,
492
492
  height: NODE_HEADER_HEIGHT + NODE_PAD_BOTTOM,
493
493
  ...group.instances !== void 0 && { instances: group.instances },
494
+ ...group.metadata && { metadata: group.metadata },
494
495
  lineNumber: group.lineNumber
495
496
  };
496
497
  }
@@ -513,6 +514,7 @@ function layoutInfra(computed, expandedNodeIds, collapsedNodes) {
513
514
  width: maxX2 - minX2 + GROUP_PADDING * 2,
514
515
  height: maxY2 - minY2 + GROUP_PADDING * 2 + GROUP_HEADER_HEIGHT,
515
516
  ...group.instances !== void 0 && { instances: group.instances },
517
+ ...group.metadata && { metadata: group.metadata },
516
518
  lineNumber: group.lineNumber
517
519
  };
518
520
  }
@@ -587,4 +589,4 @@ export {
587
589
  fixEdgeWaypoints,
588
590
  layoutInfra
589
591
  };
590
- //# sourceMappingURL=chunk-VS2M72PF.js.map
592
+ //# sourceMappingURL=chunk-RLJKH4ZO.js.map
@@ -4,6 +4,7 @@ import {
4
4
  } from "./chunk-IVKC4GID.js";
5
5
  import {
6
6
  CARD_RADIUS,
7
+ EDGE_DASH,
7
8
  EDGE_STROKE_WIDTH,
8
9
  HEADER_HEIGHT,
9
10
  LABEL_FONT_SIZE,
@@ -11,49 +12,50 @@ import {
11
12
  META_LINE_HEIGHT,
12
13
  NODE_STROKE_WIDTH,
13
14
  SEPARATOR_GAP
14
- } from "./chunk-FJ57274M.js";
15
+ } from "./chunk-IIEI7VK5.js";
15
16
  import {
16
17
  layoutInlineHeader
17
- } from "./chunk-MG3DE3VO.js";
18
+ } from "./chunk-2F7AG7LA.js";
18
19
  import {
19
20
  TITLE_FONT_SIZE,
20
21
  TITLE_FONT_WEIGHT,
21
22
  TITLE_Y
22
- } from "./chunk-DEW62ON3.js";
23
+ } from "./chunk-VSPNH7LC.js";
23
24
  import {
24
25
  renderIntegratedLegend
25
- } from "./chunk-U4DS2ODO.js";
26
+ } from "./chunk-253E5ISJ.js";
26
27
  import {
27
28
  getLegendExtent,
28
29
  getMaxLegendReservedHeight
29
- } from "./chunk-VRPV6QXR.js";
30
+ } from "./chunk-LLZVRWVS.js";
30
31
  import {
31
32
  FONT_FAMILY
32
- } from "./chunk-53SEVJQM.js";
33
+ } from "./chunk-ICLB27PZ.js";
33
34
  import {
34
35
  LEGEND_GROUP_GAP
35
- } from "./chunk-YT5ICQ4R.js";
36
+ } from "./chunk-CKDYRVOC.js";
36
37
  import {
37
38
  measureText
38
- } from "./chunk-MTGGOCND.js";
39
+ } from "./chunk-YC6GVLTI.js";
39
40
  import {
40
41
  EMPHASIS_DIM_OPACITY
41
42
  } from "./chunk-2CW5ZTNH.js";
42
43
  import {
44
+ UNTAGGED_TAG_COLOR,
43
45
  resolveTagColor,
44
46
  tagAttrKey
45
- } from "./chunk-76LHNLGX.js";
47
+ } from "./chunk-O2HU4AQN.js";
46
48
  import {
47
49
  fillModeFromOptions,
48
50
  legendInlineRequested,
49
51
  legendSuppressed
50
- } from "./chunk-M5OOAP65.js";
52
+ } from "./chunk-4CA7TJ44.js";
51
53
  import {
52
54
  contrastText,
53
55
  mix,
54
56
  shapeFill,
55
57
  themeBaseBg
56
- } from "./chunk-GLREDNBA.js";
58
+ } from "./chunk-AMQFJ7P7.js";
57
59
  import {
58
60
  resolveColor
59
61
  } from "./chunk-XOGQY4EC.js";
@@ -93,7 +95,7 @@ function baseColor(node, parsed, palette, activeTagGroup) {
93
95
  [...parsed.tagGroups],
94
96
  activeTagGroup
95
97
  );
96
- if (c && c !== "#999999") return c;
98
+ if (c && c !== UNTAGGED_TAG_COLOR) return c;
97
99
  }
98
100
  return palette.primary;
99
101
  }
@@ -205,7 +207,7 @@ function renderFamilyForExport(container, parsed, layout, palette, isDark, opts
205
207
  const edgeG = root.append("g").attr("class", "family-edges");
206
208
  const pathD = (pts) => pts.map((p, i) => `${i ? "L" : "M"}${p.x} ${p.y}`).join(" ");
207
209
  const line = (pts, dashed, dimmed) => {
208
- edgeG.append("path").attr("d", pathD(pts)).attr("fill", "none").attr("stroke", palette.textMuted).attr("stroke-width", EDGE_STROKE_WIDTH).attr("stroke-dasharray", dashed ? "6 3" : null).attr("stroke-opacity", dimmed ? DIM_OPACITY : null);
210
+ edgeG.append("path").attr("d", pathD(pts)).attr("fill", "none").attr("stroke", palette.textMuted).attr("stroke-width", EDGE_STROKE_WIDTH).attr("stroke-dasharray", dashed ? EDGE_DASH : null).attr("stroke-opacity", dimmed ? DIM_OPACITY : null);
209
211
  };
210
212
  const byUnion = /* @__PURE__ */ new Map();
211
213
  for (const e of layout.edges) {
@@ -234,7 +236,7 @@ function renderFamilyForExport(container, parsed, layout, palette, isDark, opts
234
236
  for (const bar of layout.bars) {
235
237
  const bg = barG.append("g");
236
238
  if (bar.dimmed) bg.attr("opacity", DIM_OPACITY);
237
- bg.append("line").attr("x1", bar.x1).attr("y1", bar.y).attr("x2", bar.x2).attr("y2", bar.y).attr("stroke", palette.textMuted).attr("stroke-width", EDGE_STROKE_WIDTH).attr("stroke-dasharray", bar.divorced ? "6 3" : null).attr("class", "family-marriage-bar").attr("data-line-number", String(bar.lineNumber));
239
+ bg.append("line").attr("x1", bar.x1).attr("y1", bar.y).attr("x2", bar.x2).attr("y2", bar.y).attr("stroke", palette.textMuted).attr("stroke-width", EDGE_STROKE_WIDTH).attr("stroke-dasharray", bar.divorced ? EDGE_DASH : null).attr("class", "family-marriage-bar").attr("data-line-number", String(bar.lineNumber));
238
240
  bg.append("circle").attr("cx", bar.midX).attr("cy", bar.y).attr("r", BAR_DOT_R).attr("fill", palette.textMuted);
239
241
  if (bar.year) {
240
242
  bg.append("text").attr("x", bar.labelX).attr("y", bar.y - BAR_DOT_R - 3).attr("text-anchor", "middle").attr("font-size", META_FONT_SIZE).attr("fill", palette.textMuted).attr("stroke", baseBg).attr("stroke-width", 3).attr("stroke-linejoin", "round").attr("paint-order", "stroke").text(`m. ${bar.year}`);
@@ -317,4 +319,4 @@ export {
317
319
  renderFamilyForExport,
318
320
  renderFamily
319
321
  };
320
- //# sourceMappingURL=chunk-6ZZKEYBS.js.map
322
+ //# sourceMappingURL=chunk-RN3DOUOU.js.map
@@ -5,7 +5,7 @@ import {
5
5
  parseFirstLine,
6
6
  splitNameAndMeta,
7
7
  warnUnknownMetaKeys
8
- } from "./chunk-M5OOAP65.js";
8
+ } from "./chunk-4CA7TJ44.js";
9
9
  import {
10
10
  makeDgmoError,
11
11
  makeFail,
@@ -338,4 +338,4 @@ function assignGlobalNumbers(result) {
338
338
  export {
339
339
  parseTechRadar
340
340
  };
341
- //# sourceMappingURL=chunk-VBJCGGNF.js.map
341
+ //# sourceMappingURL=chunk-RPP3NHKV.js.map
@@ -7,10 +7,10 @@ import {
7
7
  META_FONT_SIZE,
8
8
  META_LINE_HEIGHT,
9
9
  SEPARATOR_GAP
10
- } from "./chunk-FJ57274M.js";
10
+ } from "./chunk-IIEI7VK5.js";
11
11
  import {
12
12
  measureText
13
- } from "./chunk-MTGGOCND.js";
13
+ } from "./chunk-YC6GVLTI.js";
14
14
  import {
15
15
  buildCoupleQuotient,
16
16
  rankClasses
@@ -489,4 +489,4 @@ export {
489
489
  focusFamily,
490
490
  layoutFamily
491
491
  };
492
- //# sourceMappingURL=chunk-RTTZIX34.js.map
492
+ //# sourceMappingURL=chunk-RVWWCQAB.js.map
@@ -95,22 +95,28 @@ function unitRect(c, r) {
95
95
  return { c, r, w: SKETCH_SEP, h: SKETCH_SEP };
96
96
  }
97
97
  var childBoxAt = /* @__PURE__ */ new Map();
98
+ function firstFreeOnRing(base, occupied, d) {
99
+ for (let quadrant = 0; quadrant < 4; quadrant++) {
100
+ for (let dr = -d; dr <= d; dr++) {
101
+ const r = base.r + dr;
102
+ const spread = d - Math.abs(dr);
103
+ for (const c of spread === 0 ? [base.c] : [base.c - spread, base.c + spread]) {
104
+ const cost = (r < base.r ? 2 : 0) + (c < base.c ? 1 : 0);
105
+ if (cost !== quadrant) continue;
106
+ if (!occupied.hits({ ...base, c, r })) return { c, r };
107
+ }
108
+ }
109
+ }
110
+ return null;
111
+ }
98
112
  function nearestFreeRect(base, occupied) {
99
113
  if (!occupied.hits(base)) return { c: base.c, r: base.r };
100
- for (let d = 1; d <= 200; d++) {
101
- const candidates = [];
102
- for (let dc = -d; dc <= d; dc++) {
103
- const dr = d - Math.abs(dc);
104
- candidates.push({ c: base.c + dc, r: base.r + dr });
105
- if (dr !== 0) candidates.push({ c: base.c + dc, r: base.r - dr });
106
- }
107
- candidates.sort((a, b) => {
108
- const costA = (a.r < base.r ? 2 : 0) + (a.c < base.c ? 1 : 0);
109
- const costB = (b.r < base.r ? 2 : 0) + (b.c < base.c ? 1 : 0);
110
- return costA - costB || a.r - b.r || a.c - b.c;
111
- });
112
- for (const cand of candidates) {
113
- if (!occupied.hits({ ...base, c: cand.c, r: cand.r })) return cand;
114
+ const key = `${base.c},${base.r},${base.w},${base.h}`;
115
+ for (let d = occupied.ringStart.get(key) ?? 1; d <= 200; d++) {
116
+ const found = firstFreeOnRing(base, occupied, d);
117
+ if (found) {
118
+ occupied.ringStart.set(key, d);
119
+ return found;
114
120
  }
115
121
  }
116
122
  return { c: base.c, r: base.r };
@@ -136,6 +142,17 @@ var Occupancy = class {
136
142
  oversized = [];
137
143
  /** Every rect, in insertion order — the extent and flow-origin maths want it. */
138
144
  rects = [];
145
+ /**
146
+ * The ring a search from a given base last had to reach, keyed by that base.
147
+ *
148
+ * Slots are only ever taken here, never given back, so a ring that was full
149
+ * once is full for the rest of the layout. The next unit authored at the
150
+ * same slot can therefore start where the last one finished instead of
151
+ * re-walking every ring inside it — which is what made a stack of shapes on
152
+ * one coordinate cost more than linear even with the collision index in
153
+ * place (#484). Skipping proven-full rings cannot change where a unit lands.
154
+ */
155
+ ringStart = /* @__PURE__ */ new Map();
139
156
  add(rect) {
140
157
  this.rects.push(rect);
141
158
  const range = cellRange(rect);
@@ -173,22 +190,12 @@ var Occupancy = class {
173
190
  };
174
191
  function nearestFree(base, occupied) {
175
192
  if (!occupied.hits(base)) return { c: base.c, r: base.r };
176
- for (let d = 1; d <= 200; d++) {
177
- const candidates = [];
178
- for (let dc = -d; dc <= d; dc++) {
179
- const dr = d - Math.abs(dc);
180
- candidates.push({ c: base.c + dc, r: base.r + dr });
181
- if (dr !== 0) candidates.push({ c: base.c + dc, r: base.r - dr });
182
- }
183
- candidates.sort((a, b) => {
184
- const costA = (a.r < base.r ? 2 : 0) + (a.c < base.c ? 1 : 0);
185
- const costB = (b.r < base.r ? 2 : 0) + (b.c < base.c ? 1 : 0);
186
- return costA - costB || a.r - b.r || a.c - b.c;
187
- });
188
- for (const cand of candidates) {
189
- if (!occupied.hits({ ...base, c: cand.c, r: cand.r })) {
190
- return cand;
191
- }
193
+ const key = `${base.c},${base.r},${base.w},${base.h}`;
194
+ for (let d = occupied.ringStart.get(key) ?? 1; d <= 200; d++) {
195
+ const found = firstFreeOnRing(base, occupied, d);
196
+ if (found) {
197
+ occupied.ringStart.set(key, d);
198
+ return found;
192
199
  }
193
200
  }
194
201
  return { c: base.c, r: base.r };
@@ -249,14 +256,20 @@ function layoutChildren(box, nodesById, warn, flags, childBoxRects = /* @__PURE_
249
256
  }
250
257
  }
251
258
  }
259
+ const footWs = SKETCH_FOOT_W / SKETCH_HALF_SLOT_X;
260
+ const footHs = SKETCH_FOOT_H / SKETCH_HALF_SLOT_Y;
261
+ const drawn = [
262
+ ...children.map((k) => ({ c: k.c, r: k.r, w: footWs, h: footHs })),
263
+ ...localBoxes.map((b) => ({ c: b.c, r: b.r, w: b.rect.w, h: b.rect.h }))
264
+ ];
252
265
  let extent;
253
- if (occupied.rects.length === 0) {
254
- extent = { c: 0, r: 0, w: SKETCH_SEP, h: SKETCH_SEP };
266
+ if (drawn.length === 0) {
267
+ extent = { c: 0, r: 0, w: footWs, h: footHs };
255
268
  } else {
256
- const cMin = Math.min(...occupied.rects.map((o) => o.c));
257
- const rMin = Math.min(...occupied.rects.map((o) => o.r));
258
- const cMax = Math.max(...occupied.rects.map((o) => o.c + o.w));
259
- const rMax = Math.max(...occupied.rects.map((o) => o.r + o.h));
269
+ const cMin = Math.min(...drawn.map((o) => o.c));
270
+ const rMin = Math.min(...drawn.map((o) => o.r));
271
+ const cMax = Math.max(...drawn.map((o) => o.c + o.w));
272
+ const rMax = Math.max(...drawn.map((o) => o.r + o.h));
260
273
  extent = { c: cMin, r: rMin, w: cMax - cMin, h: rMax - rMin };
261
274
  }
262
275
  return { children, boxes: localBoxes, extent };
@@ -543,7 +556,24 @@ function layoutSketch(parsed, options = {}) {
543
556
  ...gc.node.description && { description: gc.node.description },
544
557
  boxLabel: innerBox.label,
545
558
  lineNumber: gc.node.lineNumber,
546
- slot: { c: spot.c + inner.c, r: spot.r + inner.r },
559
+ // 🔴 The child's OWN offset, or every child of an inner box
560
+ // reports its box's corner and they all read as one stack.
561
+ // `x`/`y` two lines down have always added `gc`; the slot did not,
562
+ // so two shapes 192px apart on screen both answered `5,-9` — and
563
+ // anything reading slots rather than pixels (the desktop canvas
564
+ // does, to adopt resolved positions on load) drew them on top of
565
+ // each other, then wrote that stack back to the file. The frame
566
+ // margins are the sub-unit difference between this and `gx`; the
567
+ // lattice owns the answer, so they round away, exactly as the
568
+ // depth-1 path above already assumes (#597).
569
+ slot: {
570
+ c: Math.round(
571
+ spot.c + inner.c + padHsX - innerLocal.extent.c + gc.c
572
+ ),
573
+ r: Math.round(
574
+ spot.r + inner.r + bandHs - innerLocal.extent.r + gc.r
575
+ )
576
+ },
547
577
  x: gx,
548
578
  y: gy,
549
579
  w: SKETCH_FOOT_W,
@@ -706,4 +736,4 @@ export {
706
736
  SKETCH_AUTO_LAYOUT_DEFAULTS,
707
737
  layoutSketch
708
738
  };
709
- //# sourceMappingURL=chunk-FR5EVD2X.js.map
739
+ //# sourceMappingURL=chunk-RWF7TCGT.js.map
@@ -5,7 +5,7 @@ import {
5
5
  splitNameAndMeta,
6
6
  tryParseSharedOption,
7
7
  warnUnknownMetaKeys
8
- } from "./chunk-M5OOAP65.js";
8
+ } from "./chunk-4CA7TJ44.js";
9
9
  import {
10
10
  makeDgmoError,
11
11
  makeFail
@@ -127,4 +127,4 @@ function parsePyramid(content) {
127
127
  export {
128
128
  parsePyramid
129
129
  };
130
- //# sourceMappingURL=chunk-LKS56RDT.js.map
130
+ //# sourceMappingURL=chunk-S6GPBJWG.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  extractDatePrefix,
3
3
  parseTimelineDate
4
- } from "./chunk-UCZBRGJN.js";
4
+ } from "./chunk-XXLAZQ5E.js";
5
5
  import {
6
6
  makeYearContext,
7
7
  parseDateToken,
@@ -16,7 +16,7 @@ import {
16
16
  tagAttrKey,
17
17
  validateTagGroupNames,
18
18
  validateTagValues
19
- } from "./chunk-76LHNLGX.js";
19
+ } from "./chunk-O2HU4AQN.js";
20
20
  import {
21
21
  EVENT_LINE_REGISTRY,
22
22
  extractColor,
@@ -27,7 +27,7 @@ import {
27
27
  tryParseSharedOption,
28
28
  warnUnknownMetaKeys,
29
29
  withTagAliases
30
- } from "./chunk-M5OOAP65.js";
30
+ } from "./chunk-4CA7TJ44.js";
31
31
  import {
32
32
  emit,
33
33
  formatDgmoError,
@@ -703,4 +703,4 @@ export {
703
703
  EVENT_LINE_DIAGNOSTICS,
704
704
  parseEventLine
705
705
  };
706
- //# sourceMappingURL=chunk-UJBP57UJ.js.map
706
+ //# sourceMappingURL=chunk-S7ZJEQPW.js.map
@@ -9,13 +9,13 @@ import {
9
9
  tagAttrKey,
10
10
  validateTagGroupNames,
11
11
  validateTagValues
12
- } from "./chunk-76LHNLGX.js";
12
+ } from "./chunk-O2HU4AQN.js";
13
13
  import {
14
14
  extractColor,
15
15
  fillModeFromToken,
16
16
  measureIndent,
17
17
  parseFirstLine
18
- } from "./chunk-M5OOAP65.js";
18
+ } from "./chunk-4CA7TJ44.js";
19
19
  import {
20
20
  formatDgmoError,
21
21
  makeDgmoError,
@@ -342,4 +342,4 @@ function parseBlockTail(tail, aliasMap) {
342
342
  export {
343
343
  parseBlock
344
344
  };
345
- //# sourceMappingURL=chunk-3H4PDNP4.js.map
345
+ //# sourceMappingURL=chunk-SEOM2BGQ.js.map
@@ -8,14 +8,14 @@ import {
8
8
  resolveActiveTagGroup,
9
9
  stripDefaultModifier,
10
10
  tagAttrKey
11
- } from "./chunk-76LHNLGX.js";
11
+ } from "./chunk-O2HU4AQN.js";
12
12
  import {
13
13
  extractColor,
14
14
  fillModeFromToken,
15
15
  measureIndent,
16
16
  parseFirstLine,
17
17
  splitNameAndMeta
18
- } from "./chunk-M5OOAP65.js";
18
+ } from "./chunk-4CA7TJ44.js";
19
19
  import {
20
20
  makeDgmoError,
21
21
  makeFail
@@ -392,4 +392,4 @@ function parseBracket(content, palette) {
392
392
  export {
393
393
  parseBracket
394
394
  };
395
- //# sourceMappingURL=chunk-5PFNUDXR.js.map
395
+ //# sourceMappingURL=chunk-T3EW35M2.js.map
@@ -9,7 +9,7 @@ import {
9
9
  stripDefaultModifier,
10
10
  tagAttrKey,
11
11
  validateTagGroupNames
12
- } from "./chunk-76LHNLGX.js";
12
+ } from "./chunk-O2HU4AQN.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-M5OOAP65.js";
25
+ } from "./chunk-4CA7TJ44.js";
26
26
  import {
27
27
  resolveColorWithDiagnostic
28
28
  } from "./chunk-XOGQY4EC.js";
@@ -400,4 +400,4 @@ function parseCardLine(trimmed, lineNumber, counter, metaAliasMap, _palette, dia
400
400
  export {
401
401
  parseKanban
402
402
  };
403
- //# sourceMappingURL=chunk-3SP6G4LN.js.map
403
+ //# sourceMappingURL=chunk-TPQ6Q7JP.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  wrapDescriptionLines
3
- } from "./chunk-NCT22MOD.js";
3
+ } from "./chunk-WMIKC5XO.js";
4
4
  import {
5
5
  renderInlineText
6
- } from "./chunk-WGC42WJU.js";
6
+ } from "./chunk-FWNJDD4U.js";
7
7
  import {
8
8
  ScaleContext
9
9
  } from "./chunk-24YPR5EH.js";
@@ -11,22 +11,22 @@ import {
11
11
  TITLE_FONT_SIZE,
12
12
  TITLE_FONT_WEIGHT,
13
13
  TITLE_Y
14
- } from "./chunk-DEW62ON3.js";
14
+ } from "./chunk-VSPNH7LC.js";
15
15
  import {
16
16
  FONT_FAMILY
17
- } from "./chunk-53SEVJQM.js";
17
+ } from "./chunk-ICLB27PZ.js";
18
18
  import {
19
19
  CHAR_WIDTH_RATIO,
20
20
  measureText
21
- } from "./chunk-MTGGOCND.js";
21
+ } from "./chunk-YC6GVLTI.js";
22
22
  import {
23
23
  fillModeFromOptions
24
- } from "./chunk-M5OOAP65.js";
24
+ } from "./chunk-4CA7TJ44.js";
25
25
  import {
26
26
  contrastText,
27
27
  getSeriesColors,
28
28
  shapeFill
29
- } from "./chunk-GLREDNBA.js";
29
+ } from "./chunk-AMQFJ7P7.js";
30
30
  import {
31
31
  resolveColor
32
32
  } from "./chunk-XOGQY4EC.js";
@@ -144,7 +144,7 @@ function renderRing(container, parsed, palette, isDark, onClickItem, exportDims)
144
144
  );
145
145
  const labelG = labelsG.append("g").attr("class", "ring-label-group").attr("data-line-number", layer.lineNumber);
146
146
  if (isInnermost) {
147
- const label = labelG.append("text").attr("class", "ring-label").attr("x", cx).attr("y", cy).attr("dy", "0.35em").attr("text-anchor", "middle").attr("fill", textColor).attr("font-family", FONT_FAMILY).attr("font-size", labelFont).attr("font-weight", 600).style("pointer-events", "none");
147
+ const label = labelG.append("text").attr("class", "ring-label").attr("x", cx).attr("y", cy).attr("dy", "0.35em").attr("text-anchor", "middle").attr("fill", textColor).attr("font-family", FONT_FAMILY).attr("font-size", labelFont).attr("font-weight", "bold").style("pointer-events", "none");
148
148
  renderInlineText(label, layer.label, palette, labelFont);
149
149
  continue;
150
150
  }
@@ -199,7 +199,7 @@ function drawRingCurvedLabel(labelG, defs, pathId, text, cx, cy, rMid, labelFont
199
199
  const p1y = cy - Math.cos(halfAngle) * rPath;
200
200
  const d = `M ${p0x.toFixed(2)} ${p0y.toFixed(2)} A ${rPath.toFixed(2)} ${rPath.toFixed(2)} 0 ${largeArc} 1 ${p1x.toFixed(2)} ${p1y.toFixed(2)}`;
201
201
  defs.append("path").attr("id", pathId).attr("d", d);
202
- const label = labelG.append("text").attr("class", "ring-label").attr("fill", textColor).attr("font-family", FONT_FAMILY).attr("font-size", fs).attr("font-weight", 600).style("pointer-events", "none");
202
+ const label = labelG.append("text").attr("class", "ring-label").attr("fill", textColor).attr("font-family", FONT_FAMILY).attr("font-size", fs).attr("font-weight", "bold").style("pointer-events", "none");
203
203
  const textPath = label.append("textPath").attr("href", `#${pathId}`).attr("startOffset", "50%").attr("text-anchor", "middle");
204
204
  renderInlineText(
205
205
  textPath,
@@ -262,7 +262,7 @@ function renderSideDescriptions(args) {
262
262
  blockG.style("cursor", "pointer").on("click", () => onClickItem(ln));
263
263
  }
264
264
  blockG.append("rect").attr("x", accentX).attr("y", cursorY).attr("width", DESC_ACCENT_WIDTH).attr("height", blockH).attr("rx", DESC_ACCENT_WIDTH / 2).attr("fill", colors[i]);
265
- const labelEl = blockG.append("text").attr("x", textX).attr("y", cursorY + Math.round(labelRowH * 0.7)).attr("text-anchor", "start").attr("fill", palette.text).attr("font-family", FONT_FAMILY).attr("font-size", descFont).attr("font-weight", 600);
265
+ const labelEl = blockG.append("text").attr("x", textX).attr("y", cursorY + Math.round(labelRowH * 0.7)).attr("text-anchor", "start").attr("fill", palette.text).attr("font-family", FONT_FAMILY).attr("font-size", descFont).attr("font-weight", "bold");
266
266
  renderInlineText(labelEl, layer.label, palette, descFont);
267
267
  let lineY = cursorY + labelRowH + Math.round(descLineHeight * 0.4);
268
268
  for (const line of lines) {
@@ -296,4 +296,4 @@ export {
296
296
  renderRing,
297
297
  renderRingForExport
298
298
  };
299
- //# sourceMappingURL=chunk-B52RL5VV.js.map
299
+ //# sourceMappingURL=chunk-ULUZBEFO.js.map
@@ -16,18 +16,19 @@ import {
16
16
  tagAttrKey,
17
17
  validateTagGroupNames,
18
18
  validateTagValues
19
- } from "./chunk-76LHNLGX.js";
19
+ } from "./chunk-O2HU4AQN.js";
20
20
  import {
21
21
  SKETCH_REGISTRY,
22
22
  extractColor,
23
23
  fillModeFromToken,
24
24
  measureIndent,
25
25
  parseFirstLine,
26
+ recognizeGlobalBoolean,
26
27
  splitNameAndMeta,
27
28
  stripQuotes,
28
29
  warnUnknownMetaKeys,
29
30
  withTagAliases
30
- } from "./chunk-M5OOAP65.js";
31
+ } from "./chunk-4CA7TJ44.js";
31
32
  import {
32
33
  NAME_DIAGNOSTIC_CODES,
33
34
  formatDgmoError,
@@ -77,7 +78,8 @@ function parseSketch(content, palette) {
77
78
  noLegend: false,
78
79
  legendInline: false,
79
80
  fillMode: void 0,
80
- noDescriptions: false
81
+ noDescriptions: false,
82
+ noTitle: false
81
83
  };
82
84
  const result = {
83
85
  type: "sketch",
@@ -484,6 +486,13 @@ function parseSketch(content, palette) {
484
486
  options.noDescriptions = true;
485
487
  continue;
486
488
  }
489
+ if (indent === 0) {
490
+ const shared = recognizeGlobalBoolean(trimmed);
491
+ if (shared !== null) {
492
+ if (shared === "no-title") options.noTitle = true;
493
+ continue;
494
+ }
495
+ }
487
496
  contentStarted = true;
488
497
  if (trimmed.startsWith(">")) {
489
498
  const descLine = trimmed.slice(1).replace(/^ /, "");
@@ -653,4 +662,4 @@ export {
653
662
  isSketchShapeKind,
654
663
  parseSketch
655
664
  };
656
- //# sourceMappingURL=chunk-F4X5NVKY.js.map
665
+ //# sourceMappingURL=chunk-UNYOWKEC.js.map
@@ -1,6 +1,6 @@
1
1
  // src/utils/title-constants.ts
2
2
  var TITLE_FONT_SIZE = 20;
3
- var TITLE_FONT_WEIGHT = "700";
3
+ var TITLE_FONT_WEIGHT = "bold";
4
4
  var TITLE_Y = 30;
5
5
  var TITLE_OFFSET = 40;
6
6
  var CAPTION_FONT_SIZE = 13;
@@ -20,4 +20,4 @@ export {
20
20
  CAPTION_BOX_PADDING_X,
21
21
  CAPTION_BOX_PADDING_Y
22
22
  };
23
- //# sourceMappingURL=chunk-DEW62ON3.js.map
23
+ //# sourceMappingURL=chunk-VSPNH7LC.js.map
@@ -1,17 +1,19 @@
1
1
  import {
2
2
  resolveTagColor,
3
3
  tagAttrKey
4
- } from "./chunk-76LHNLGX.js";
4
+ } from "./chunk-O2HU4AQN.js";
5
5
  import {
6
6
  mix
7
- } from "./chunk-GLREDNBA.js";
7
+ } from "./chunk-AMQFJ7P7.js";
8
8
  import {
9
9
  resolveColor
10
10
  } from "./chunk-XOGQY4EC.js";
11
11
 
12
12
  // src/treemap/treemap-shared.ts
13
13
  import { scaleLinear } from "d3-scale";
14
- var MUTED_FILL = "#cbd5e1";
14
+ function mutedFill(palette) {
15
+ return mix(palette.colors.gray, palette.bg, 35);
16
+ }
15
17
  function depthTint(hue, depth, bg) {
16
18
  if (depth <= 1) return hue;
17
19
  const keepPct = Math.max(55, 100 - (depth - 1) * 18);
@@ -38,15 +40,15 @@ function activeTagGroupOf(parsed) {
38
40
  }
39
41
  function resolveCellColor(cell, ctx) {
40
42
  if (ctx.mode === "heat") {
41
- return cell.heat !== void 0 && ctx.heat ? ctx.heat.scale(cell.heat) : MUTED_FILL;
43
+ return cell.heat !== void 0 && ctx.heat ? ctx.heat.scale(cell.heat) : ctx.muted;
42
44
  }
43
45
  if (ctx.mode === "tag") {
44
- if (!cell.node) return MUTED_FILL;
46
+ if (!cell.node) return ctx.muted;
45
47
  return resolveTagColor(
46
48
  cell.node.metadata,
47
49
  ctx.tagGroups,
48
50
  ctx.activeGroup
49
- ) ?? MUTED_FILL;
51
+ ) ?? ctx.muted;
50
52
  }
51
53
  const topLabel = cell.path[0] ?? cell.label;
52
54
  const idx = (ctx.rootIndexByLabel.get(topLabel) ?? cell.topIndex) + ctx.colorOffset;
@@ -168,6 +170,7 @@ function buildLegend(activeMode, parsed, heat, seriesColors, colorOffset) {
168
170
  }
169
171
 
170
172
  export {
173
+ mutedFill,
171
174
  resolveColorMode,
172
175
  activeTagGroupOf,
173
176
  resolveCellColor,
@@ -176,4 +179,4 @@ export {
176
179
  formatPct,
177
180
  buildLegend
178
181
  };
179
- //# sourceMappingURL=chunk-C2WH3BMS.js.map
182
+ //# sourceMappingURL=chunk-VTWUHX4H.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  isTagBlockHeading,
6
6
  matchTagBlockHeading
7
- } from "./chunk-76LHNLGX.js";
7
+ } from "./chunk-O2HU4AQN.js";
8
8
  import {
9
9
  makeDgmoError
10
10
  } from "./chunk-5SI6T5A5.js";
@@ -456,4 +456,4 @@ export {
456
456
  normalizePertSourceForShare,
457
457
  resolveOrgImports
458
458
  };
459
- //# sourceMappingURL=chunk-DJL5PO27.js.map
459
+ //# sourceMappingURL=chunk-W4MC3KP6.js.map
@@ -9,10 +9,10 @@ import {
9
9
  } from "./chunk-5DH3KYFH.js";
10
10
  import {
11
11
  wrapDescriptionLines
12
- } from "./chunk-NCT22MOD.js";
12
+ } from "./chunk-WMIKC5XO.js";
13
13
  import {
14
14
  measureText
15
- } from "./chunk-MTGGOCND.js";
15
+ } from "./chunk-YC6GVLTI.js";
16
16
 
17
17
  // src/utils/note-box/metrics.ts
18
18
  function normalizeBulletLine(line) {
@@ -49,4 +49,4 @@ export {
49
49
  wrapNoteBody,
50
50
  noteBoxSize
51
51
  };
52
- //# sourceMappingURL=chunk-MU3CJPJF.js.map
52
+ //# sourceMappingURL=chunk-W6DBWWPC.js.map