@diagrammo/dgmo 0.95.0 → 0.97.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 (279) hide show
  1. package/README.md +1 -1
  2. package/dist/advanced.d.ts +190 -568
  3. package/dist/advanced.js +259 -470
  4. package/dist/block.d.ts +8 -0
  5. package/dist/block.js +144 -73
  6. package/dist/{calculator-BNH3GSJE.js → calculator-CIGGTURF.js} +2 -2
  7. package/dist/{chart-meta-BbjsRY7o.d.ts → chart-meta-B7niEd52.d.ts} +3 -1
  8. package/dist/chart-meta.d.ts +2 -2
  9. package/dist/chart-meta.js +19 -19
  10. package/dist/{chart-types-Cppnp31G.d.ts → chart-types-Dxtv4XSz.d.ts} +4 -5
  11. package/dist/{charts-d3-SZV2SFTM.js → charts-d3-INWEGMSD.js} +14 -14
  12. package/dist/{chunk-P5XA627W.js → chunk-2FMOLWX4.js} +73 -65
  13. package/dist/{chunk-MLY5ALOV.js → chunk-2SZILMQT.js} +57 -15
  14. package/dist/chunk-35A3J4Z5.js +14 -0
  15. package/dist/{chunk-UXNA2H2V.js → chunk-3C4OXVZJ.js} +2 -2
  16. package/dist/{chunk-IZHGT5HD.js → chunk-3HL6NSSQ.js} +63 -18
  17. package/dist/{chunk-2WQ3YZMN.js → chunk-3IUMSK72.js} +2 -2
  18. package/dist/{chunk-LAXMUSGW.js → chunk-44RLIAYC.js} +17 -10
  19. package/dist/{chunk-H7AXCRO7.js → chunk-453IWXZ3.js} +0 -11
  20. package/dist/{chunk-2I4UQG7W.js → chunk-47INRTZ6.js} +2 -2
  21. package/dist/{chunk-IN7XI6NO.js → chunk-4NMRS6HW.js} +1 -1
  22. package/dist/{chunk-KLBTJEIK.js → chunk-4TK26YHH.js} +2 -2
  23. package/dist/{chunk-CN4RDJDV.js → chunk-5TGZBHEJ.js} +1 -1
  24. package/dist/{chunk-IXHWS2HI.js → chunk-5WZYJC2P.js} +2 -2
  25. package/dist/{chunk-KBDMEOLI.js → chunk-65JFUANT.js} +1 -1
  26. package/dist/{chunk-D3K4U3ZM.js → chunk-6K2W3FH7.js} +8 -5
  27. package/dist/{chunk-NXU4N5WT.js → chunk-6OUMYNAJ.js} +1 -1
  28. package/dist/{chunk-KRPLP5LP.js → chunk-6PUBFB6D.js} +24 -3
  29. package/dist/{chunk-EXHXTMVR.js → chunk-6S2H6EKN.js} +3 -3
  30. package/dist/{chunk-KSZB7TIY.js → chunk-6SDEXSJY.js} +42 -22
  31. package/dist/{chunk-IQN2NGEU.js → chunk-6YBZFOTA.js} +13 -13
  32. package/dist/{chunk-IHN6WDEY.js → chunk-74XR7Z3I.js} +13 -13
  33. package/dist/{chunk-2J2CWWWK.js → chunk-7ASVGFW3.js} +1 -1
  34. package/dist/{chunk-BH2SF4TT.js → chunk-7QKWU7FX.js} +3 -3
  35. package/dist/{chunk-A6YINTY6.js → chunk-7RACGVUY.js} +1 -1
  36. package/dist/{chunk-VB4VMB2I.js → chunk-7TEAFIEJ.js} +9 -5
  37. package/dist/{chunk-UNCCZ3NU.js → chunk-A3V72YIL.js} +14 -1
  38. package/dist/{chunk-BCV2VJTM.js → chunk-A5LFM62B.js} +3 -3
  39. package/dist/{chunk-U6VS3T2M.js → chunk-AULFF7L2.js} +4 -4
  40. package/dist/{chunk-LKZCUFOW.js → chunk-B7ZH5EQ2.js} +2 -2
  41. package/dist/{chunk-VGAMBOOC.js → chunk-C6ME2L4T.js} +2 -2
  42. package/dist/{chunk-3PP746YM.js → chunk-CGP7RGLJ.js} +1 -1
  43. package/dist/{chunk-67N26CER.js → chunk-CLW45YKE.js} +2 -1
  44. package/dist/{chunk-VTESGA5F.js → chunk-CUOMNKYW.js} +4 -4
  45. package/dist/{chunk-CDM6XMOT.js → chunk-CUTEHGXO.js} +2 -2
  46. package/dist/{chunk-NERQSSYD.js → chunk-D67YE4LR.js} +1 -1
  47. package/dist/{chunk-XOMIYMQ3.js → chunk-D7KZE2XJ.js} +39 -17
  48. package/dist/{chunk-NMS5XSLX.js → chunk-DFEVFLEG.js} +3 -3
  49. package/dist/{chunk-EBVVMUAA.js → chunk-DKMZ4VMV.js} +1 -1
  50. package/dist/{chunk-V5D6GDNK.js → chunk-DRY4W4W6.js} +36 -15
  51. package/dist/{chunk-XJQ6Z3FO.js → chunk-E6GHXMH2.js} +8 -8
  52. package/dist/{chunk-KBEWVCK3.js → chunk-EBJLT7PH.js} +1 -1
  53. package/dist/{chunk-TASRGDYP.js → chunk-EEIGHOJR.js} +92 -23
  54. package/dist/{chunk-AQQUJEDN.js → chunk-EUPUVYWO.js} +1 -1
  55. package/dist/{chunk-7IALGIOI.js → chunk-F2OAZHOX.js} +10 -5
  56. package/dist/{chunk-JXGSTBW6.js → chunk-FK6HZYGK.js} +4 -14
  57. package/dist/{chunk-OSSTOSXU.js → chunk-FTW2E2YH.js} +7 -10
  58. package/dist/{chunk-5P2L5QXE.js → chunk-FZVCS2XY.js} +4 -2
  59. package/dist/chunk-G24NSISJ.js +69 -0
  60. package/dist/{chunk-EBIDNRSR.js → chunk-GFQFLLP3.js} +2 -2
  61. package/dist/{chunk-RQTDUZUH.js → chunk-GLLYHYGT.js} +27 -17
  62. package/dist/{chunk-VLC6WNRD.js → chunk-GULGSH2Z.js} +4 -0
  63. package/dist/{chunk-H5NVCOEJ.js → chunk-GXBH7WNN.js} +2 -2
  64. package/dist/{chunk-C6G36F5S.js → chunk-H242TVAE.js} +9 -9
  65. package/dist/{chunk-5XBYLYYI.js → chunk-H7DZYHQF.js} +3 -3
  66. package/dist/{chunk-GLCMUTO5.js → chunk-HQNZJMNS.js} +1 -1
  67. package/dist/{chunk-IY62DXT2.js → chunk-IAM3IDL4.js} +2 -2
  68. package/dist/{chunk-IGJEKO2P.js → chunk-II6D6NWX.js} +8 -8
  69. package/dist/{chunk-AULZD45V.js → chunk-IUFTAFGN.js} +2 -2
  70. package/dist/{chunk-FWVE373X.js → chunk-IZEKHIV6.js} +3 -3
  71. package/dist/{chunk-BQMHJ6OW.js → chunk-J3YM6RA5.js} +22 -14
  72. package/dist/{chunk-R6EGUTIV.js → chunk-J467QBZF.js} +23 -3
  73. package/dist/{chunk-JJ7RGTAU.js → chunk-J7JF4QKA.js} +40 -30
  74. package/dist/{chunk-E7F76M3U.js → chunk-JULBDTNU.js} +61 -9
  75. package/dist/{chunk-EPDBWATV.js → chunk-K7RRXZHS.js} +4 -2
  76. package/dist/{chunk-ZECJ7Q6C.js → chunk-KMB754DO.js} +33 -6
  77. package/dist/chunk-KNKZGRRB.js +439 -0
  78. package/dist/{chunk-XIUGSUE4.js → chunk-KTGJQJB3.js} +6 -2
  79. package/dist/{chunk-4SACN2C5.js → chunk-KW3CC7SB.js} +1 -1
  80. package/dist/{chunk-3GUEYQGL.js → chunk-L3K5O3Z5.js} +3 -3
  81. package/dist/chunk-LRTSTDJ6.js +126 -0
  82. package/dist/{chunk-NBAAIRFP.js → chunk-LZATSXAA.js} +5 -2
  83. package/dist/{chunk-USE6HIOZ.js → chunk-MJ725XHD.js} +1156 -330
  84. package/dist/{chunk-3KVUFHUJ.js → chunk-NBISN6FH.js} +2 -2
  85. package/dist/{chunk-RITTLIDJ.js → chunk-NN5RUHXV.js} +84 -16
  86. package/dist/{chunk-62GLKE6Q.js → chunk-NOZMRPXI.js} +112 -157
  87. package/dist/{chunk-4XYZJTFO.js → chunk-NQFZ7LXC.js} +14 -6
  88. package/dist/chunk-NTDWVTEY.js +12 -0
  89. package/dist/{chunk-BQO24BDM.js → chunk-O3HRF25Z.js} +1 -1
  90. package/dist/{chunk-ZD3QCNB7.js → chunk-OSSA5UWA.js} +3 -3
  91. package/dist/{chunk-UOCWYLYT.js → chunk-OZXKW5NA.js} +1 -1
  92. package/dist/{chunk-NPDVWFAQ.js → chunk-PLQZJZ2K.js} +1 -1
  93. package/dist/chunk-PRG7NIUU.js +272 -0
  94. package/dist/{chunk-S4SJ4LLY.js → chunk-PSNRB75I.js} +3 -3
  95. package/dist/{chunk-QPQWY5RU.js → chunk-PT5VFY3B.js} +38 -14
  96. package/dist/{chunk-KAO7JL4I.js → chunk-PU5X3P3T.js} +6 -5
  97. package/dist/{chunk-J7Q4AB23.js → chunk-PZ5LAAO3.js} +2 -2
  98. package/dist/{chunk-TOHTKLKE.js → chunk-Q5Q5JLRT.js} +1 -1
  99. package/dist/{chunk-Y3SIQN4J.js → chunk-Q6V342WS.js} +17 -5
  100. package/dist/{chunk-RBVFNUAL.js → chunk-QDPTOIG7.js} +5 -5
  101. package/dist/{chunk-ERT7XDQW.js → chunk-QIITSGI5.js} +1 -1
  102. package/dist/{chunk-NM5V5EKY.js → chunk-QLIZ7SB7.js} +1 -1
  103. package/dist/chunk-QLNLRZ37.js +181 -0
  104. package/dist/{chunk-HHVIE45A.js → chunk-QOLRTPGH.js} +6 -6
  105. package/dist/{chunk-2ZW4NBYX.js → chunk-R4SXMBGF.js} +1 -1
  106. package/dist/chunk-R4U7IIRX.js +178 -0
  107. package/dist/{chunk-BRGRIZQB.js → chunk-RC6PISCK.js} +4 -2
  108. package/dist/{chunk-UIEKW4SG.js → chunk-REKLKGR6.js} +3 -4
  109. package/dist/{chunk-TIIZIAGS.js → chunk-RFGQDIOI.js} +843 -233
  110. package/dist/{chunk-FVTYJUXR.js → chunk-ROFSIFSY.js} +4 -4
  111. package/dist/{chunk-VSAKEMDD.js → chunk-ROH4LYBL.js} +71 -21
  112. package/dist/{chunk-4UVCTLRH.js → chunk-SNDCXT5R.js} +9 -7
  113. package/dist/{chunk-R46N5KR4.js → chunk-SQBCNEJB.js} +2 -1
  114. package/dist/{chunk-66JTY4AN.js → chunk-TDUBTDXS.js} +1 -1
  115. package/dist/{chunk-PGSGJLUR.js → chunk-TMB4YY3J.js} +34 -4
  116. package/dist/{chunk-UZ7EZW3B.js → chunk-TO53KK2P.js} +6 -1
  117. package/dist/{chunk-5KKZXA44.js → chunk-V3ICBS2O.js} +7 -5
  118. package/dist/{chunk-GWQRTA5W.js → chunk-V65EDV6S.js} +3 -3
  119. package/dist/{chunk-VF7IKIRS.js → chunk-VKT3BVRO.js} +35 -11
  120. package/dist/{chunk-L5S32VZJ.js → chunk-VOO65FKC.js} +12 -12
  121. package/dist/{chunk-PVWIBKV2.js → chunk-VQWLASDC.js} +2 -2
  122. package/dist/{chunk-JILEYZ2V.js → chunk-VVL2KKG4.js} +1 -1
  123. package/dist/{chunk-GI5R5B3S.js → chunk-VVZDBUHA.js} +2 -2
  124. package/dist/{chunk-PGBTUGDB.js → chunk-W46OMHOK.js} +23 -27
  125. package/dist/{chunk-XCKNFFKM.js → chunk-WH6E6SHC.js} +2 -4
  126. package/dist/{chunk-H6BT45SN.js → chunk-WPYJAHRP.js} +1 -1
  127. package/dist/{chunk-LJGE43SG.js → chunk-WXGFB2O2.js} +3 -3
  128. package/dist/{chunk-YQMIKX54.js → chunk-XCYGOCMS.js} +102 -52
  129. package/dist/{chunk-BTP2BMWN.js → chunk-XEMCNQQW.js} +15 -15
  130. package/dist/{chunk-NVZ7R4EK.js → chunk-XMUFXJI2.js} +6 -6
  131. package/dist/{chunk-AM42TLSZ.js → chunk-XZGXVN4T.js} +5 -5
  132. package/dist/{chunk-5OTA2PUH.js → chunk-YCIBBVI2.js} +2 -2
  133. package/dist/{chunk-V2NQV7VL.js → chunk-YFIDR7JH.js} +2 -2
  134. package/dist/{chunk-USZLHYEQ.js → chunk-YFWIFKRQ.js} +3 -3
  135. package/dist/{chunk-6XLMTAEX.js → chunk-YIHRLY55.js} +33 -6
  136. package/dist/{chunk-CYRB2JTN.js → chunk-YLKPRT6U.js} +1 -1
  137. package/dist/{chunk-KMU65FYM.js → chunk-YSDSFXQD.js} +1 -1
  138. package/dist/{chunk-ZI6WC24V.js → chunk-ZBJV4KNU.js} +1 -1
  139. package/dist/{chunk-4EX4OKGZ.js → chunk-ZCKVTZHD.js} +41 -19
  140. package/dist/{chunk-7PJBJ2DU.js → chunk-ZMVMGZAJ.js} +1 -1
  141. package/dist/{chunk-6EFCOES2.js → chunk-ZRW4B4KF.js} +48 -14
  142. package/dist/{chunk-A2A2I4Z4.js → chunk-ZTKO2RD4.js} +5 -5
  143. package/dist/collapse-6IGH2B24.js +31 -0
  144. package/dist/{collapse-BSPH3BFM.js → collapse-6X5S2S3G.js} +2 -1
  145. package/dist/collapse-GOWNCVHZ.js +7 -0
  146. package/dist/collapse-HNTPLB2Q.js +11 -0
  147. package/dist/collapse-NUM7DPJA.js +10 -0
  148. package/dist/completion-registry.js +28 -39
  149. package/dist/countdown.js +1 -1
  150. package/dist/dgmo-router-RSYWR5IS.js +101 -0
  151. package/dist/dimensions-KXAI7U2B.js +21 -0
  152. package/dist/editor.js +884 -222
  153. package/dist/{flowchart-parser-J3VWIFWB.js → flowchart-parser-UI5VZNGJ.js} +5 -5
  154. package/dist/{flowchart-renderer-FECH5KK5.js → flowchart-renderer-IYWPKPCF.js} +18 -18
  155. package/dist/fold-at-line-DmSAa1eU.d.ts +11 -0
  156. package/dist/highlight.js +886 -224
  157. package/dist/index.d.ts +89 -6
  158. package/dist/index.js +91 -70
  159. package/dist/{layout-TIBRMWHL.js → layout-6VY3DHYD.js} +6 -6
  160. package/dist/{layout-5SZ5A64I.js → layout-7C2QZCEZ.js} +10 -10
  161. package/dist/{layout-2WESJYRE.js → layout-7E7BNOGO.js} +3 -2
  162. package/dist/layout-BSK374N6.js +11 -0
  163. package/dist/{layout-RH3N46HP.js → layout-FJDBY3WG.js} +6 -5
  164. package/dist/{layout-YBMT74MG.js → layout-G3RVKEC4.js} +10 -10
  165. package/dist/{layout-KV27UW25.js → layout-GC5XX2RH.js} +2 -2
  166. package/dist/{layout-JTIRCKAW.js → layout-R6ULGQJK.js} +6 -6
  167. package/dist/{layout-HFBK5UEG.js → layout-ROI5KVSO.js} +3 -3
  168. package/dist/{layout-3TSVAGWH.js → layout-SPPS225I.js} +3 -3
  169. package/dist/{layout-HF3PMI4H.js → layout-VTGOYGRC.js} +2 -2
  170. package/dist/{layout-EWXHEXNS.js → layout-WBH5IHYK.js} +10 -10
  171. package/dist/layout-WTHBGTH2.js +15 -0
  172. package/dist/layout-ZCCABSV7.js +15 -0
  173. package/dist/{layout-search-AWPJWBKT.js → layout-search-DSIDKKQO.js} +8 -8
  174. package/dist/{legend-constants-55MFBXYF.js → legend-constants-KF3MKWL2.js} +2 -2
  175. package/dist/{parser-NUU3DVW4.js → parser-3PMYAVFL.js} +2 -2
  176. package/dist/{parser-KJPPUN4D.js → parser-5KVFS4RN.js} +2 -2
  177. package/dist/{parser-6TDWUKM5.js → parser-BA43YPIQ.js} +3 -3
  178. package/dist/{parser-EFF22GYO.js → parser-CFAYEWLF.js} +3 -3
  179. package/dist/{parser-A3AN76RQ.js → parser-DRFEX6OX.js} +3 -3
  180. package/dist/{parser-H5OODY5N.js → parser-DWVBRBB2.js} +3 -3
  181. package/dist/{parser-BJ7RJNUM.js → parser-E4B7HJT2.js} +3 -3
  182. package/dist/{parser-5UZV32ZI.js → parser-FWQY3HJX.js} +2 -2
  183. package/dist/{parser-RTWPFKXG.js → parser-GMCXCJSP.js} +3 -3
  184. package/dist/{parser-NL73FSFI.js → parser-IHFHPFL7.js} +3 -3
  185. package/dist/{parser-BTSTKY5G.js → parser-IU6425JW.js} +6 -6
  186. package/dist/{parser-ZRIZFDZY.js → parser-IZYIXDJX.js} +6 -6
  187. package/dist/{parser-4TBSWULQ.js → parser-JQGUTDSX.js} +3 -3
  188. package/dist/{parser-TUAEX6ML.js → parser-JRKPOO2Z.js} +3 -3
  189. package/dist/{parser-KMKVFET2.js → parser-KI2XYB2R.js} +2 -2
  190. package/dist/parser-LDVVBP7S.js +12 -0
  191. package/dist/{parser-YG625J5H.js → parser-MAGFK6OK.js} +4 -4
  192. package/dist/{parser-AR2GON37.js → parser-MH5BDN7X.js} +4 -4
  193. package/dist/{parser-EAQPZX2B.js → parser-MUHFEM4G.js} +3 -3
  194. package/dist/{parser-RCIEKN7Y.js → parser-P375HO7Q.js} +2 -2
  195. package/dist/{parser-GMQJISZ6.js → parser-PYY5BRLQ.js} +2 -2
  196. package/dist/parser-QEMFMVF5.js +12 -0
  197. package/dist/{parser-GDLKUBTO.js → parser-QIPDBT5M.js} +2 -2
  198. package/dist/{parser-BT4NI6JY.js → parser-RNBDDEGL.js} +3 -3
  199. package/dist/{parser-MA7L3XND.js → parser-RSWZGQA7.js} +6 -6
  200. package/dist/{parser-K2DI26SC.js → parser-SGX2PVR5.js} +2 -2
  201. package/dist/{parser-KKF6Y5MM.js → parser-SJUEFKNM.js} +4 -3
  202. package/dist/{parser-3QIFY5IN.js → parser-UMNBPXG2.js} +2 -2
  203. package/dist/{parser-F7NDRPMA.js → parser-WE4VSBBY.js} +3 -3
  204. package/dist/{parser-4Y6PODW6.js → parser-WKEYS7N3.js} +3 -3
  205. package/dist/{parser-KLCSFQ3J.js → parser-WPXUUNA2.js} +3 -3
  206. package/dist/{parser-LTRQASGB.js → parser-XP3RCOTN.js} +3 -3
  207. package/dist/{parser-2IKPQVKX.js → parser-YV4RBHG7.js} +3 -3
  208. package/dist/{parser-3LT3ZUUC.js → parser-YZ3J542U.js} +2 -2
  209. package/dist/{redraw-AHW7EUUF.js → redraw-BZ4GI6IC.js} +6 -4
  210. package/dist/{redraw-STZ4WJAI.js → redraw-LEOXS7C6.js} +3 -3
  211. package/dist/{renderer-IGSHD3OT.js → renderer-2V5NVI3V.js} +16 -16
  212. package/dist/renderer-4PKYVOYL.js +39 -0
  213. package/dist/{renderer-IVHD7ENY.js → renderer-66SCERH7.js} +14 -12
  214. package/dist/renderer-6IAXRZLK.js +85 -0
  215. package/dist/{renderer-XCLARXCK.js → renderer-6O5SV5YE.js} +10 -10
  216. package/dist/{renderer-IXBOT6DU.js → renderer-7OXMSF4R.js} +4 -4
  217. package/dist/{renderer-AM7P4LN7.js → renderer-A36NL2SS.js} +8 -8
  218. package/dist/{renderer-ACQQ2JXA.js → renderer-ASPBBACI.js} +13 -11
  219. package/dist/{renderer-W4MUMXJE.js → renderer-BXVTYE27.js} +7 -6
  220. package/dist/renderer-CC6O6GQK.js +18 -0
  221. package/dist/{renderer-Y47EM337.js → renderer-CNDB4JTZ.js} +17 -17
  222. package/dist/renderer-COV2DXTM.js +41 -0
  223. package/dist/renderer-DXCATVLO.js +30 -0
  224. package/dist/{renderer-JYHA6R2D.js → renderer-E5E3OJ42.js} +12 -11
  225. package/dist/{renderer-DAZWHNLI.js → renderer-E7LC7HCU.js} +5 -5
  226. package/dist/{renderer-RUSQJFFC.js → renderer-F3JYZERE.js} +4 -4
  227. package/dist/{renderer-7OGGV327.js → renderer-FAFSRFGR.js} +9 -9
  228. package/dist/renderer-HIB6LZWZ.js +26 -0
  229. package/dist/renderer-HLDRRFZB.js +28 -0
  230. package/dist/renderer-INQMQPNN.js +22 -0
  231. package/dist/renderer-ITJ67HXO.js +27 -0
  232. package/dist/{renderer-UTEEJDGB.js → renderer-JLOKFKOZ.js} +14 -13
  233. package/dist/{renderer-2LYX6NHN.js → renderer-KOPJ76GS.js} +10 -10
  234. package/dist/{renderer-MWZC7TMD.js → renderer-M2467III.js} +14 -13
  235. package/dist/{renderer-HX6ICPDX.js → renderer-MYKL6VG6.js} +6 -6
  236. package/dist/{renderer-BXD5KVSR.js → renderer-S6L3JR6C.js} +11 -11
  237. package/dist/{renderer-NOYLNVTI.js → renderer-SYWVZ4CY.js} +3 -3
  238. package/dist/renderer-TCTZZ5Y6.js +32 -0
  239. package/dist/{renderer-QTPWRRJ7.js → renderer-UIHCYXBY.js} +12 -12
  240. package/dist/{renderer-36446HSH.js → renderer-WIBVOPRC.js} +6 -4
  241. package/dist/{renderer-2QPHDBZY.js → renderer-XMJ6XZGL.js} +12 -11
  242. package/dist/{renderer-TINHO2IO.js → renderer-ZTHXOBXW.js} +8 -8
  243. package/dist/{renderer-radial-WFUX3Z3C.js → renderer-radial-FC25BDCZ.js} +8 -8
  244. package/dist/{state-parser-PMNHLHLE.js → state-parser-2PQRH5JE.js} +6 -6
  245. package/dist/state-renderer-YP6HWLJR.js +43 -0
  246. package/dist/{themes-DzIH3Hjv.d.ts → themes-DoLdhUXV.d.ts} +1 -1
  247. package/docs/ai-integration.md +4 -4
  248. package/docs/language-reference.md +154 -104
  249. package/gallery/fixtures/swot-relabel.dgmo +19 -0
  250. package/gallery/fixtures/swot-tags.dgmo +16 -0
  251. package/gallery/fixtures/swot.dgmo +13 -0
  252. package/gallery/fixtures/whiteboard.dgmo +1 -0
  253. package/package.json +1 -1
  254. package/dist/chunk-6BQSDF77.js +0 -734
  255. package/dist/chunk-NWSPPGIE.js +0 -60
  256. package/dist/chunk-R2K5L4UA.js +0 -49
  257. package/dist/chunk-VBMRZCMQ.js +0 -1465
  258. package/dist/chunk-WZBZXZ6T.js +0 -636
  259. package/dist/collapse-TCVK3RPO.js +0 -8
  260. package/dist/dgmo-router-6YLKM6WU.js +0 -101
  261. package/dist/dimensions-DS6FWLRY.js +0 -21
  262. package/dist/layout-D4L44NRG.js +0 -11
  263. package/dist/layout-MXHR3P35.js +0 -15
  264. package/dist/layout-ND26WVX2.js +0 -15
  265. package/dist/layout-VDCJOZSH.js +0 -11
  266. package/dist/parser-PEZ7RN43.js +0 -14
  267. package/dist/parser-YHDGKPZI.js +0 -14
  268. package/dist/renderer-4VGO27EE.js +0 -41
  269. package/dist/renderer-6BDK47V6.js +0 -30
  270. package/dist/renderer-ISQJ2ELA.js +0 -25
  271. package/dist/renderer-KJ3V5BYP.js +0 -26
  272. package/dist/renderer-O6RP52CQ.js +0 -22
  273. package/dist/renderer-P3WR7TKD.js +0 -39
  274. package/dist/renderer-UGW4N2W5.js +0 -28
  275. package/dist/renderer-WPN2SXGT.js +0 -29
  276. package/dist/renderer-XDX6S7OV.js +0 -30
  277. package/dist/renderer-ZV6KCLCL.js +0 -85
  278. package/dist/state-renderer-JQ5DS66J.js +0 -42
  279. package/gallery/fixtures/sketch.dgmo +0 -22
@@ -1,16 +1,16 @@
1
1
  import { D as DgmoError, T as TagGroup, d as TagEntry } from './tag-groups-DydewK3D.js';
2
2
  export { b as DgmoSeverity, g as autoTagColorCycle, f as formatDgmoError, m as makeDgmoError, r as resolveActiveTagGroup, h as resolveTagColor, i as resolveTagValue, t as tagAttrKey } from './tag-groups-DydewK3D.js';
3
- import { P as PaletteConfig, c as PaletteColors, C as CompactViewState } from './chart-types-Cppnp31G.js';
4
- export { a as ChartTypeId, b as ChartTypeMeta, D as DecodedDiagramUrl, E as EncodeDiagramUrlOptions, e as EncodeDiagramUrlResult, d as chartTypes, f as decodeDiagramUrl, h as decodeViewState, i as encodeDiagramUrl, j as encodeViewState, k as getAvailablePalettes, g as getPalette, l as isValidHex, m as registerPalette } from './chart-types-Cppnp31G.js';
3
+ import { P as PaletteConfig, c as PaletteColors, C as CompactViewState } from './chart-types-Dxtv4XSz.js';
4
+ export { a as ChartTypeId, b as ChartTypeMeta, D as DecodedDiagramUrl, E as EncodeDiagramUrlOptions, e as EncodeDiagramUrlResult, d as chartTypes, f as decodeDiagramUrl, h as decodeViewState, i as encodeDiagramUrl, j as encodeViewState, k as getAvailablePalettes, g as getPalette, l as isValidHex, m as registerPalette } from './chart-types-Dxtv4XSz.js';
5
5
  import { d as RenderForExportOptions, b as MapData, P as ParsedMap, e as ResolvedMap, f as MapLayoutLegend, g as GeoExtent } from './export-context-Ceh3wr0E.js';
6
6
  import { MapDataSource } from './block.js';
7
7
  export { A as AirportData, B as BoundaryTopology, G as Gazetteer, a as GazetteerEntry, h as MapDirectives, i as MapEdge, j as MapPoi, k as MapRegion, l as MapRoute, m as PoiPos, n as ProjectionFamily, R as RegionName, c as RegionNames, o as ResolvedEdge, p as ResolvedPoi, q as ResolvedRegion, r as ResolvedRoute } from './export-context-Ceh3wr0E.js';
8
8
  import { InkPoint } from './index.js';
9
- export { C as CHART_TYPE_DESCRIPTIONS, M as MapCompletionOptions, d as MapLocationMatch, e as MapPlaceCompletion, f as MapRegionCompletion, R as RenderCategory, T as Theme, l as chartTypeParsers, g as completeMapPlaces, h as completeMapRegions, m as getAllChartTypes, n as getRenderCategory, o as isExtendedChartType, q as knownChartTypeIds, p as palettes, k as parseDgmo, s as searchMapLocations, t as themes, k as validate } from './themes-DzIH3Hjv.js';
9
+ export { C as CHART_TYPE_DESCRIPTIONS, M as MapCompletionOptions, d as MapLocationMatch, e as MapPlaceCompletion, f as MapRegionCompletion, R as RenderCategory, T as Theme, l as chartTypeParsers, g as completeMapPlaces, h as completeMapRegions, m as getAllChartTypes, n as getRenderCategory, o as isExtendedChartType, q as knownChartTypeIds, p as palettes, k as parseDgmo, s as searchMapLocations, t as themes, k as validate } from './themes-DoLdhUXV.js';
10
10
  import { Selection } from 'd3-selection';
11
11
  import * as d3Scale from 'd3-scale';
12
- import { P as ParsedOrg, F as FillMode, R as RaciMarker, a as ParsedRaci, b as RaciVariant, c as RaciTask } from './chart-meta-BbjsRY7o.js';
13
- export { A as ALL_CHART_TYPES, I as ImportSource, O as OrgNode, d as RaciPhase, e as RaciRoleAssignment, f as ReadFileFn, g as ResolveImportsResult, h as contrastText, i as findOrgNodeIdByName, j as getSeriesColors, k as hexToHSL, l as hexToHSLString, m as hslToHex, n as mix, o as normalizePertSourceForShare, p as parseDgmoChartType, q as parseFirstLine, r as parseOrg, s as parseRaci, t as resolveOrgImports, u as shade, v as shapeFill, w as tint } from './chart-meta-BbjsRY7o.js';
12
+ import { P as ParsedOrg, F as FillMode, R as RaciMarker, a as ParsedRaci, b as RaciVariant, c as RaciTask } from './chart-meta-B7niEd52.js';
13
+ export { A as ALL_CHART_TYPES, I as ImportSource, O as OrgNode, d as RaciPhase, e as RaciRoleAssignment, f as ReadFileFn, g as ResolveImportsResult, h as contrastText, i as findOrgNodeIdByName, j as getSeriesColors, k as hexToHSL, l as hexToHSLString, m as hslToHex, n as mix, o as normalizePertSourceForShare, p as parseDgmoChartType, q as parseFirstLine, r as parseOrg, s as parseRaci, t as resolveOrgImports, u as shade, v as shapeFill, w as tint } from './chart-meta-B7niEd52.js';
14
14
  import { GeoProjection } from 'd3-geo';
15
15
 
16
16
  /**
@@ -138,6 +138,8 @@ interface TimelineGroup {
138
138
  color: string | null;
139
139
  metadata: Record<string, string>;
140
140
  lineNumber: number;
141
+ /** Source `collapsed` marker on the `[Lane]` header line (#1741). */
142
+ collapsed?: boolean;
141
143
  }
142
144
  interface TimelineEra {
143
145
  startDate: string;
@@ -420,6 +422,15 @@ declare function render(source: string, options?: {
420
422
  * app renders its live preview through direct renderer calls (not this
421
423
  * entry), so it keeps its JS emphasis; pass `false` to opt out. */
422
424
  bakeHover?: boolean;
425
+ /**
426
+ * Whether a fold toggle in this SVG answers a click (#1741). Default ON.
427
+ * Pass `false` for a host that shows the SVG without fold handling, such
428
+ * as a docs site that did not opt in to folding: the SVG then has no
429
+ * pointer cursor, hover cue or bar preview on a toggle, and no
430
+ * `role="button"` / `aria-expanded` / `tabindex`. The collapse bar on a
431
+ * folded thing, `data-line-number` and the `data-*-toggle` attributes stay.
432
+ */
433
+ interactiveFolds?: boolean;
423
434
  /**
424
435
  * Canvas to draw onto, in px. Defaults to the 1200x800 export sheet.
425
436
  *
@@ -1089,6 +1100,11 @@ interface SequenceSection {
1089
1100
  readonly kind: 'section';
1090
1101
  readonly label: string;
1091
1102
  readonly lineNumber: number;
1103
+ /**
1104
+ * Folded by source — the bare trailing `collapsed` flag or `collapsed: true`
1105
+ * after the divider (`== Phase == collapsed`, #1741). Absent = no marker.
1106
+ */
1107
+ readonly collapsed?: boolean;
1092
1108
  }
1093
1109
  /**
1094
1110
  * An annotation attached to a message, rendered as a folded-corner box.
@@ -1100,6 +1116,12 @@ interface SequenceNote {
1100
1116
  readonly participantId: ParticipantId;
1101
1117
  readonly lineNumber: number;
1102
1118
  readonly endLineNumber: number;
1119
+ /**
1120
+ * Authored collapse marker (#1741) on a multi-line note's opening line:
1121
+ * the bare trailing `collapsed` flag or `collapsed: true`. Never set on a
1122
+ * single-line note — its text is prose (see {@link peelNoteHeadMarker}).
1123
+ */
1124
+ readonly collapsed?: boolean;
1103
1125
  }
1104
1126
  type SequenceElement = SequenceMessage | SequenceBlock | SequenceSection | SequenceNote;
1105
1127
  declare function isSequenceBlock(el: SequenceElement): el is SequenceBlock;
@@ -1611,6 +1633,8 @@ declare function renderERDiagram(container: HTMLDivElement, parsed: ParsedERDiag
1611
1633
  semanticColorsActive?: boolean, exportMode?: boolean): void;
1612
1634
  declare function renderERDiagramForExport(content: string, theme: 'light' | 'dark' | 'transparent', palette: PaletteColors): string;
1613
1635
 
1636
+ /** Lift the matched group, or dim everything else. Default `lift` (ADR-5). */
1637
+ type HoverEmphasis = 'lift' | 'dim';
1614
1638
  /**
1615
1639
  * How far a mark the hover does not name recedes.
1616
1640
  *
@@ -1623,6 +1647,32 @@ declare function renderERDiagramForExport(content: string, theme: 'light' | 'dar
1623
1647
  * of drift the colour resolver is exported to prevent.
1624
1648
  */
1625
1649
  declare const DEFAULT_DIM_OPACITY = 0.4;
1650
+ /**
1651
+ * Bake pure-CSS hover into a rendered SVG string. No-op (returns the input
1652
+ * unchanged) when the gate is off, the chart has no registry row, or there is
1653
+ * nothing to emit. Otherwise splices a single `<style>` immediately after the
1654
+ * opening `<svg …>` tag — the rest of the markup is byte-for-byte untouched, so
1655
+ * a render snapshot diff is purely the added style block.
1656
+ */
1657
+ /**
1658
+ * The hover CSS a rendered chart would get baked in, without the SVG around
1659
+ * it — for a host that draws into a live DOM node (the app's preview) and so
1660
+ * never goes through `render()`'s `injectHoverStyles`. Empty when the chart
1661
+ * type has no hover spec or nothing to pair.
1662
+ */
1663
+ declare function hoverCssFor(svg: string, chartType: string | null | undefined, emphasis?: HoverEmphasis): string;
1664
+
1665
+ /**
1666
+ * The fold cue every static host gets baked in (#1741, decided 2026-11-07):
1667
+ * a pointer cursor on every toggle; on hover the toggle's card (its first
1668
+ * `rect`/`path` child) brightens a step and an expanded thing's bar preview
1669
+ * fades in at its bottom edge; a focus ring for hosts that add `tabindex`.
1670
+ * Nothing is drawn at rest. Light themes darken a step (the app's own
1671
+ * `brightness(0.95)`), dark themes lighten one, so the step reads on both. A
1672
+ * transparent hit rect as the first child takes a faint tint instead, since a
1673
+ * filter on a transparent fill shows nothing.
1674
+ */
1675
+ declare function toggleCueCss(theme?: string): string;
1626
1676
 
1627
1677
  interface InlineSpan {
1628
1678
  text: string;
@@ -2115,6 +2165,8 @@ interface BLGroup {
2115
2165
  readonly children: readonly string[];
2116
2166
  readonly lineNumber: number;
2117
2167
  readonly metadata: Readonly<Record<string, string>>;
2168
+ /** Source `collapsed` fold marker on the `[Group]` header line (#1741). */
2169
+ readonly collapsed?: boolean;
2118
2170
  readonly parentGroup?: string;
2119
2171
  }
2120
2172
  interface ParsedBoxesAndLines {
@@ -2279,395 +2331,12 @@ interface BLCollapseResult {
2279
2331
  * - Collapsed groups removed from groups[] (layout handles as nodes)
2280
2332
  */
2281
2333
  declare function collapseBoxesAndLines(parsed: ParsedBoxesAndLines, collapsedGroups: Set<string>): BLCollapseResult;
2282
-
2283
- /** Half-slot lattice position (spec §31.3). Box children are box-relative. */
2284
- interface SketchAt {
2285
- readonly c: number;
2286
- readonly r: number;
2287
- }
2288
- interface SketchNode {
2289
- /** Synthetic stable id (parse-order); use alias/label indexes to resolve. */
2290
- readonly id: string;
2291
- readonly label: string;
2292
- readonly alias?: string;
2293
- /** null → flow auto-place at layout */
2294
- readonly at: SketchAt | null;
2295
- /** tag metadata only (at/alias are lifted out) */
2296
- readonly metadata: Record<string, string>;
2297
- /** Free-text markdown description (indented `>` lines under the shape).
2298
- * Newline-joined; a small markdown subset renders in the card body. */
2299
- readonly description?: string;
2300
- /** owning box label (undefined = root) */
2301
- readonly boxLabel?: string;
2302
- readonly lineNumber: number;
2303
- }
2304
- type SketchEdgeHeads = 'one' | 'both' | 'none';
2305
- interface SketchEdge {
2306
- readonly sourceId: string;
2307
- readonly targetId: string;
2308
- readonly label?: string;
2309
- readonly heads: SketchEdgeHeads;
2310
- /** dashed = "secondary", NOT async (spec §31.4 divergence note) */
2311
- readonly dashed: boolean;
2312
- readonly metadata: Record<string, string>;
2313
- readonly lineNumber: number;
2314
- }
2315
- interface SketchBox {
2316
- /** `[<normalized label>]` — the infra group-id scheme */
2317
- readonly id: string;
2318
- readonly label: string;
2319
- readonly alias?: string;
2320
- readonly at: SketchAt | null;
2321
- readonly metadata: Record<string, string>;
2322
- readonly collapsed: boolean;
2323
- /** child node ids, declaration order */
2324
- readonly children: readonly string[];
2325
- /**
2326
- * Child BOX ids, declaration order (decision #58 — sketch nests to depth 2,
2327
- * matching boxes-and-lines §14). Empty on an inner box: depth 2 is the bound.
2328
- */
2329
- readonly childBoxes: readonly string[];
2330
- /**
2331
- * The box this box sits inside, or null at the top level. Membership lives on
2332
- * the CHILD, the same shape `boxes-and-lines` uses (`parentGroup`) and the one
2333
- * the sketch rebuild's canvas model arrived at independently — a tree cannot
2334
- * express double membership, so this cannot either.
2335
- */
2336
- readonly parentBoxId: string | null;
2337
- readonly lineNumber: number;
2338
- }
2339
- interface SketchOptions {
2340
- readonly noLegend: boolean;
2341
- /** §1.9 `legend-inline` — title left, legend flushed right on one row. */
2342
- readonly legendInline?: boolean;
2343
- /** §1.9 fill family; undefined ⇒ canonical 25% tint. */
2344
- readonly fillMode: 'solid' | 'outline' | undefined;
2345
- /** `no-descriptions` directive (mindmap `hd` standard): hide the card
2346
- * metadata rows so each card is just its name. */
2347
- readonly noDescriptions: boolean;
2348
- /**
2349
- * §1.9 `no-title` — keep the title in the source, do not draw it.
2350
- *
2351
- * ⚠️ NOT the same state as clearing the title on the canvas, which deletes
2352
- * the text and emits a bare `sketch`. This one keeps `sketch Ship` in the
2353
- * file and only suppresses the drawing, which is why it is not a second
2354
- * spelling of the rename gesture (#607).
2355
- */
2356
- readonly noTitle: boolean;
2357
- }
2358
- interface ParsedSketch {
2359
- readonly type: 'sketch';
2360
- readonly title: string | null;
2361
- readonly titleLineNumber: number | null;
2362
- readonly nodes: readonly SketchNode[];
2363
- readonly edges: readonly SketchEdge[];
2364
- readonly boxes: readonly SketchBox[];
2365
- readonly tagGroups: readonly TagGroup[];
2366
- readonly options: SketchOptions;
2367
- readonly diagnostics: readonly DgmoError[];
2368
- readonly error: string | null;
2369
- }
2370
-
2371
- declare function parseSketch(content: string, palette?: PaletteColors): ParsedSketch;
2372
-
2373
2334
  /**
2374
- * Emit DGMO source for a parsed sketch.
2375
- *
2376
- * The output re-parses to an equivalent scene (`sameSketch`) and raises no
2377
- * diagnostics. It is not pretty-printed: this is the correctness emitter, whose
2378
- * only reader is the parser. Presentation — stable aliases, ordering,
2379
- * whitespace — is a separate job.
2335
+ * Group labels whose `[Group]` header carries the source `collapsed` marker
2336
+ * (#1741). The app seeds its runtime collapsed set from this; the static
2337
+ * export unions it with `viewState.cg` via {@link unionCollapsedBLGroups}.
2380
2338
  */
2381
- declare function emitSketch(parsed: ParsedSketch): string;
2382
- interface CanonicalScene {
2383
- title: string | null;
2384
- options: string;
2385
- tags: string;
2386
- nodes: string[];
2387
- boxes: string[];
2388
- edges: string[];
2389
- }
2390
- /**
2391
- * A scene reduced to what the PICTURE says, so two scenes that draw the same
2392
- * thing compare equal. Ids and line numbers are dropped (they are parse
2393
- * artifacts), sets are sorted (declaration order is not meaning), and edges are
2394
- * keyed by resolved endpoint names rather than ids.
2395
- */
2396
- declare function canonicalSketch(parsed: ParsedSketch): CanonicalScene;
2397
- /** True when two parses describe the same picture. */
2398
- declare function sameSketch(a: ParsedSketch, b: ParsedSketch): boolean;
2399
-
2400
- interface SketchLayoutNode {
2401
- readonly id: string;
2402
- readonly label: string;
2403
- readonly metadata: Record<string, string>;
2404
- readonly description?: string;
2405
- readonly boxLabel?: string;
2406
- readonly lineNumber: number;
2407
- /** resolved ABSOLUTE half-slot origin */
2408
- readonly slot: {
2409
- c: number;
2410
- r: number;
2411
- };
2412
- readonly x: number;
2413
- readonly y: number;
2414
- readonly w: number;
2415
- readonly h: number;
2416
- /** set when this card is a folded box (draws the collapse-bar) */
2417
- readonly isCollapsedBox?: boolean;
2418
- readonly childCount?: number;
2419
- }
2420
- interface SketchLayoutBox {
2421
- readonly id: string;
2422
- readonly label: string;
2423
- readonly metadata: Record<string, string>;
2424
- readonly lineNumber: number;
2425
- readonly x: number;
2426
- readonly y: number;
2427
- readonly w: number;
2428
- readonly h: number;
2429
- readonly bandH: number;
2430
- }
2431
- interface SketchLayout {
2432
- readonly nodes: readonly SketchLayoutNode[];
2433
- readonly boxes: readonly SketchLayoutBox[];
2434
- readonly edges: readonly SketchEdge[];
2435
- readonly width: number;
2436
- readonly height: number;
2437
- /** layout-time warnings (overlap auto-resolution) */
2438
- readonly diagnostics: readonly DgmoError[];
2439
- /**
2440
- * Half-slot origin actually subtracted to map slots → px. With
2441
- * `normalizeOrigin` on this is the live min corner; with it off (frozen
2442
- * origin) callers capture this on first layout and feed it back as
2443
- * `frozenOrigin` so later edits don't re-shift the whole diagram.
2444
- */
2445
- readonly origin: {
2446
- c: number;
2447
- r: number;
2448
- };
2449
- }
2450
- interface SketchLayoutOptions {
2451
- /** Box labels to fold; defaults to the authored `collapsed` flags. */
2452
- readonly collapsedBoxes?: ReadonlySet<string>;
2453
- /**
2454
- * Auto-layout stage switches. Every flag defaults to `true` (current
2455
- * behavior) when omitted — turning one off makes the authored `at:`
2456
- * coordinate more authoritative. Wired to the app's dev "Auto-layout"
2457
- * drawer so a drag can be observed with each stage on or off.
2458
- */
2459
- readonly autoLayout?: SketchAutoLayoutFlags;
2460
- /**
2461
- * Stable origin (half-slots) to subtract when `normalizeOrigin` is off.
2462
- * Never lets content go negative: the effective origin is
2463
- * `min(frozenOrigin, liveMin)`, so a node dragged left of the frozen corner
2464
- * simply expands it rather than escaping the viewport. Ignored when
2465
- * `normalizeOrigin` is on. See `SketchLayout.origin`.
2466
- */
2467
- readonly frozenOrigin?: {
2468
- c: number;
2469
- r: number;
2470
- };
2471
- }
2472
- interface SketchAutoLayoutFlags {
2473
- /**
2474
- * M1 — re-anchor the whole diagram to the min corner every render.
2475
- * Off (the default) is the WYSIWYG frozen-origin behaviour; without a
2476
- * `frozenOrigin` it still anchors to the live min, so stateless callers
2477
- * render identically either way.
2478
- */
2479
- readonly normalizeOrigin?: boolean;
2480
- /**
2481
- * M2 — order root placement by declaration line. Off (the default) is
2482
- * geometry-stable: authored-`at` units place in coordinate order
2483
- * (row-major), flow units in reading order after them.
2484
- */
2485
- readonly sortRootsBySource?: boolean;
2486
- /** M3 — bump a colliding authored slot to the nearest free slot. */
2487
- readonly resolveOverlap?: boolean;
2488
- /** M3 — treat a group as one collision rectangle (else its origin cell). */
2489
- readonly groupCollisionAsRect?: boolean;
2490
- /** Flow-place nodes that have no `at:` (root + box children). */
2491
- readonly flowPlaceUnpositioned?: boolean;
2492
- /**
2493
- * M5 — nudge a FLOW-PLACED shape off any non-incident edge it crosses.
2494
- * Authored-`at` shapes are always exempt: authored position wins over edge
2495
- * aesthetics.
2496
- */
2497
- readonly avoidEdges?: boolean;
2498
- }
2499
- /**
2500
- * The one set of defaults every caller shares — the WYSIWYG behaviour the
2501
- * editor ships (frozen origin, geometry-stable root order). The app's dev
2502
- * drawer reads this rather than keeping its own copy, so the two cannot
2503
- * drift apart again (issue #174).
2504
- */
2505
- declare const SKETCH_AUTO_LAYOUT_DEFAULTS: Required<SketchAutoLayoutFlags>;
2506
- declare function layoutSketch(parsed: Pick<ParsedSketch, 'nodes' | 'edges' | 'boxes'>, options?: SketchLayoutOptions): SketchLayout;
2507
-
2508
- interface SketchRenderOptions {
2509
- exportDims?: {
2510
- width?: number;
2511
- height?: number;
2512
- };
2513
- activeTagGroup?: string | null;
2514
- exportMode?: boolean;
2515
- onClickItem?: (lineNumber: number) => void;
2516
- /** View-state `hd` (hide descriptions): drop each card's description so it
2517
- * is just its header/name — the standard mindmap toggle, shelf-driven. */
2518
- hideDescriptions?: boolean;
2519
- /** Render these cards with the header + empty-body split even without a
2520
- * description — the app's selected-card state, so the description area is
2521
- * visible to type into. */
2522
- splitCardIds?: readonly string[];
2523
- }
2524
- /** Largest font in [minFont, maxFont] whose word-wrap of `label` fits `maxWidth`
2525
- * in ≤ maxLines lines. Wraps (multi-line) before it shrinks, so a long label
2526
- * reads at a comfortable size across several lines rather than collapsing to a
2527
- * tiny one-liner. If even minFont can't fit within maxLines, the last shown
2528
- * line is middle-ellipsized so the block stays bounded. */
2529
- declare function renderSketch(container: HTMLDivElement, parsed: ParsedSketch, layout: SketchLayout, palette: PaletteColors, isDark: boolean, options?: SketchRenderOptions): void;
2530
- interface SketchEdgeGeometry {
2531
- sourceId: string;
2532
- targetId: string;
2533
- /** Pure cubic path — parsed as one cubic by label/bounds/hit-test consumers. */
2534
- d: string;
2535
- mid: {
2536
- x: number;
2537
- y: number;
2538
- };
2539
- /** Visible stroke path WITH crossing-hops, when this edge hops another. The
2540
- * renderer draws this if present; everything else still uses `d`. */
2541
- dRender?: string;
2542
- /**
2543
- * Every point on THIS line where a hop is drawn — by this line over another,
2544
- * or by another over this one. Absent when there are none. A label must not
2545
- * sit on one (#1217); `sketchLabelSpot` is the shared rule.
2546
- */
2547
- hops?: {
2548
- x: number;
2549
- y: number;
2550
- }[];
2551
- /**
2552
- * The same cubic as four points — start, its handle, the end's handle, end.
2553
- *
2554
- * 🔴 Handed over rather than left to be re-parsed out of `d`. A consumer that
2555
- * needs a TANGENT (an arrowhead), a POINT AT A DISTANCE (a control seated in
2556
- * from an end) or an arc LENGTH has to have these, and the app`s canvas needs
2557
- * all three — so the alternative was a cubic parser in the app, which is a
2558
- * second reading of this module`s own output and drifts the first time the
2559
- * path gains a segment.
2560
- */
2561
- p0: {
2562
- x: number;
2563
- y: number;
2564
- };
2565
- h0: {
2566
- x: number;
2567
- y: number;
2568
- };
2569
- h1: {
2570
- x: number;
2571
- y: number;
2572
- };
2573
- p1: {
2574
- x: number;
2575
- y: number;
2576
- };
2577
- }
2578
- /**
2579
- * The subset of a laid-out sketch that edge routing actually reads.
2580
- *
2581
- * 🔴 A `SketchLayout` satisfies this structurally, so every caller inside this
2582
- * module is unchanged — the point of stating it is the OTHER caller. The app`s
2583
- * canvas draws a sketch by hand from the rects it has already placed (a live
2584
- * drag moves them a frame at a time), and asking it for a full `SketchLayout`
2585
- * would mean fabricating a `lineNumber`, a `shape` and a resolved `slot` per
2586
- * node purely to satisfy a type that routing never looks at. This says what is
2587
- * load-bearing, which is also the list to check before reading a new field in
2588
- * here.
2589
- *
2590
- * A node`s `boxLabel` is matched against a box`s `label`, exactly as the
2591
- * renderer does it — port snapping included, and the same-label merge that goes
2592
- * with it (diagrammo/diagrammo#616).
2593
- */
2594
- interface SketchEdgeBoard {
2595
- readonly nodes: readonly {
2596
- readonly id: string;
2597
- readonly label: string;
2598
- readonly boxLabel?: string;
2599
- readonly x: number;
2600
- readonly y: number;
2601
- readonly w: number;
2602
- readonly h: number;
2603
- }[];
2604
- readonly boxes: readonly {
2605
- readonly id: string;
2606
- readonly label: string;
2607
- readonly x: number;
2608
- readonly y: number;
2609
- readonly w: number;
2610
- readonly h: number;
2611
- }[];
2612
- readonly edges: readonly {
2613
- readonly sourceId: string;
2614
- readonly targetId: string;
2615
- }[];
2616
- }
2617
- /**
2618
- * The full edge-routing pipeline (side assignment + curved paths + group-port
2619
- * snapping) as a pure function, so the renderer AND the app`s live-drag preview
2620
- * draw edges with IDENTICAL geometry. `offsets` shifts individual nodes/boxes
2621
- * by live pixel deltas (a dragged shape and its box children) — pass none for
2622
- * the committed layout.
2623
- */
2624
- declare function sketchEdgeGeometry(layout: SketchEdgeBoard, offsets?: ReadonlyMap<string, {
2625
- dx: number;
2626
- dy: number;
2627
- }>): Array<SketchEdgeGeometry | null>;
2628
- /**
2629
- * Where a line's label goes: the point on the line nearest its midpoint whose
2630
- * label box, `halfW` by `halfH` either side, clears every hop on the line.
2631
- * Returns `mid` when the line has no hops or nothing nearby is clear.
2632
- *
2633
- * 🔴 For the app's canvas, which puts a label at `mid` and sizes it itself.
2634
- * dgmo's own renderer needs no call: its declutter keeps a label off every
2635
- * other line, and a hop is always where another line crosses. Recomputing the
2636
- * hops in the app would drift the first time the clearance changed (#1217).
2637
- */
2638
- declare function sketchLabelSpot(g: Pick<SketchEdgeGeometry, 'mid' | 'hops' | 'p0' | 'h0' | 'h1' | 'p1'>, halfW: number, halfH: number): {
2639
- x: number;
2640
- y: number;
2641
- };
2642
- /** Export wrapper — the b&l precedent (thin spread). */
2643
- declare function renderSketchForExport(container: HTMLDivElement, parsed: ParsedSketch, layout: SketchLayout, palette: PaletteColors, isDark: boolean, options?: {
2644
- exportDims?: {
2645
- width: number;
2646
- height: number;
2647
- };
2648
- activeTagGroup?: string | null;
2649
- exportMode?: boolean;
2650
- hideDescriptions?: boolean;
2651
- }): void;
2652
-
2653
- interface SketchCollapseResult {
2654
- /** Visible shapes (collapsed boxes' children removed). */
2655
- readonly nodes: readonly SketchNode[];
2656
- /** Boxes still rendered as frames (the expanded ones). */
2657
- readonly boxes: readonly SketchBox[];
2658
- /** Collapsed boxes — each renders as one virtual node card. */
2659
- readonly virtualBoxes: readonly SketchBox[];
2660
- /** Edges with endpoints re-targeted to virtual boxes; deduped. */
2661
- readonly edges: readonly SketchEdge[];
2662
- /** box label → immediate child count (for the collapse-bar affordance). */
2663
- readonly collapsedChildCounts: ReadonlyMap<string, number>;
2664
- }
2665
- /**
2666
- * @param collapsedLabels box LABELS to fold. Defaults to the authored
2667
- * `collapsed` flags; the app/viewState passes an explicit set instead
2668
- * (interactive-vs-export split — options win when supplied).
2669
- */
2670
- declare function collapseSketch(parsed: Pick<ParsedSketch, 'nodes' | 'edges' | 'boxes'>, collapsedLabels?: ReadonlySet<string>): SketchCollapseResult;
2339
+ declare function collapsedBLGroupsFromSource(parsed: ParsedBoxesAndLines): Set<string>;
2671
2340
 
2672
2341
  /**
2673
2342
  * Colour NAMES — never values. `ink` is the palette's text colour, so it flips
@@ -2678,10 +2347,10 @@ declare function collapseSketch(parsed: Pick<ParsedSketch, 'nodes' | 'edges' | '
2678
2347
  declare const WHITEBOARD_COLORS: readonly ["ink", "red", "green", "blue", "teal", "purple", "orange", "yellow", "cyan", "gray"];
2679
2348
  type WhiteboardColor = (typeof WHITEBOARD_COLORS)[number];
2680
2349
  /** Boxed shapes — position + size + optional centred label. */
2681
- declare const WHITEBOARD_SHAPE_KINDS: readonly ["rectangle", "ellipse", "database", "queue"];
2350
+ declare const WHITEBOARD_SHAPE_KINDS: readonly ["rectangle", "ellipse", "database", "queue", "file"];
2682
2351
  type WhiteboardShapeKind = (typeof WHITEBOARD_SHAPE_KINDS)[number];
2683
2352
  /** Every line-leading element keyword, in spec order. */
2684
- declare const WHITEBOARD_ELEMENT_KEYWORDS: readonly ["rectangle", "ellipse", "database", "queue", "note", "arrow", "line", "text", "image", "ink"];
2353
+ declare const WHITEBOARD_ELEMENT_KEYWORDS: readonly ["rectangle", "ellipse", "database", "queue", "file", "note", "arrow", "line", "text", "image", "ink"];
2685
2354
  /**
2686
2355
  * Stroke styles for arrows and lines. `solid` is the default and never
2687
2356
  * written; `style:` in source accepts only the other values.
@@ -2892,6 +2561,19 @@ interface WhiteboardConnectorAttachments {
2892
2561
  readonly from: number;
2893
2562
  readonly to: number;
2894
2563
  }
2564
+ /** Depth of a file's wavy bottom: `FILE_WAVE`, at most a quarter of `h`. */
2565
+ declare function whiteboardFileWave(h: number): number;
2566
+ /**
2567
+ * Points along a file's wavy bottom, right to left: the cubic the renderer
2568
+ * draws (`whiteboardFilePath`), sampled in `steps` steps. It dips below the
2569
+ * straight bottom on the right and rises above it on the left.
2570
+ */
2571
+ declare function whiteboardFileWavePoints(x: number, y: number, w: number, h: number, steps?: number): WhiteboardPoint[];
2572
+ /**
2573
+ * A file's outline as an SVG path: a page whose bottom edge is one wave, as
2574
+ * the flowchart document symbol is drawn.
2575
+ */
2576
+ declare function whiteboardFilePath(x: number, y: number, w: number, h: number): string;
2895
2577
  /** Whether `point` lies inside (or on) the shape's or note's drawn outline. */
2896
2578
  declare function whiteboardShapeContains(shape: WhiteboardAttachable, point: WhiteboardPoint): boolean;
2897
2579
  /**
@@ -3040,7 +2722,8 @@ declare function whiteboardLabelShift(box: WhiteboardLabelBox): number;
3040
2722
  /** What the fit needs: a label box plus its height. */
3041
2723
  type WhiteboardFitBox = WhiteboardLabelBox & Pick<WhiteboardShape, 'height'>;
3042
2724
  /** Height a label fits inside `box`, px — the box less its padding, an
3043
- * ellipse's curve and a database's two caps. Never below zero. */
2725
+ * ellipse's curve, a database's two caps and a file's wavy bottom. Never
2726
+ * below zero. */
3044
2727
  declare function whiteboardLabelHeight(box: WhiteboardFitBox): number;
3045
2728
  /**
3046
2729
  * The lines a shape label or a sticky note's text is drawn as: each written
@@ -3125,81 +2808,11 @@ declare const CYLINDER_RY = 8;
3125
2808
  * override.
3126
2809
  */
3127
2810
  declare const QUEUE_CAP = 16;
3128
-
3129
- declare const SKETCH_GEOMETRY: {
3130
- /** px per grid cell (the dot-grid pitch) */
3131
- readonly cellPx: 16;
3132
- /** universal footprint width, in grid cells */
3133
- readonly footprintCellsW: 8;
3134
- /**
3135
- * Legacy — the gap is now a derived half-unit (footprint/2 per axis), not
3136
- * these cell counts. Kept only so the shape of SKETCH_GEOMETRY is stable.
3137
- */
3138
- readonly gapCellsX: 4;
3139
- readonly gapCellsY: 4;
3140
- /** box reserved top band, px (spec decision 12) */
3141
- readonly bandPx: 28;
3142
- /** box frame padding around the children bbox, px */
3143
- readonly boxPadPx: 16;
3144
- /** edge-ring (connect hook) width as a fraction of footprint height */
3145
- readonly ringFrac: 0.22;
3146
- };
3147
- /** Footprint width, px — 128 at the default cell (`cellPx` 16 x `footprintCellsW` 8). */
3148
- declare const SKETCH_FOOT_W: number;
3149
- /**
3150
- * Footprint height, px — the ONE universal size (spec §31.2). Every shape is a
3151
- * golden-ratio landscape box: height ≈ width / φ, forced EVEN so half the
3152
- * height is a whole pixel (the vertical half-unit). At the default cell,
3153
- * 128/φ = 79.1 → 80 (ratio 1.6). Uniform: every shape draws to exactly
3154
- * SKETCH_FOOT_W × SKETCH_FOOT_H. The org-card body (header + rule + ~4 rows)
3155
- * fits within it.
3156
- *
3157
- * ⚠️ The figures here follow `cellPx`, so they are pinned by
3158
- * `tests/sketch-geometry-constants.test.ts` rather than trusted — this docblock
3159
- * described a 208 × 128 footprint until 2026-08-29, long after the cell
3160
- * changed, and that stale figure was copied into the app and the tech spec.
3161
- */
3162
- declare const SKETCH_FOOT_H: number;
3163
2811
  /**
3164
- * Horizontal half-unit pitch, px: HALF a footprint (64 at the default cell).
3165
- * This is the dot grid, and it is what ONE AUTHORED `at:` UNIT IS WORTH here —
3166
- * `sketchSlotToPx` and `layout.ts` both multiply by it. A footprint is 2 of
3167
- * these wide, so its left/right edges both land on dots.
3168
- *
3169
- * 🔴 The desktop canvas agrees, as of 2026-08-30 (#571). It read one unit as
3170
- * half a SLOT (96) for four days, so the same `at:` value meant different
3171
- * pixels in the two and a canvas-authored file laid out here with
3172
- * `W_SKETCH_OVERLAP_RESOLVED` — invisibly, because the resolver's "nearest free
3173
- * slot" happens to land where the canvas intended on a plain row. Its
3174
- * `AT_UNIT_X` is this constant now, and its `slotToPx` calls `sketchSlotToPx`
3175
- * rather than restating the multiplication, so a future divergence is a change
3176
- * to this file that both sides compile against.
3177
- */
3178
- declare const SKETCH_HALF_SLOT_X: number;
3179
- /** Vertical half-unit pitch, px: half a footprint (40 at the default cell). */
3180
- declare const SKETCH_HALF_SLOT_Y: number;
3181
- /**
3182
- * Minimum origin separation in half-units. A footprint spans 2 half-units and
3183
- * the mandatory gap adds 1 more, so each shape claims a SEP×SEP (3×3) collision
3184
- * block (unitRect in layout.ts); two shapes collide when their blocks overlap.
3185
- * At exactly SEP apart the gap between footprints == one half-unit.
3186
- */
3187
- declare const SKETCH_SEP = 3;
3188
- /**
3189
- * Full-slot pitch, px: footprint + gap (== SKETCH_SEP half-units). The
3190
- * origin-to-origin distance between two edge-adjacent shapes — 192 × 120 at
3191
- * the default cell, leaving 64 × 40 of clear air between two footprints.
3192
- *
3193
- * That clear air is what `JOIN_REACH` in the canvas is (#560), which is why it
3194
- * is a lattice quantity rather than a tuned number.
2812
+ * Depth of a whiteboard file's wavy bottom edge, before clamping to a quarter
2813
+ * of its height — the flowchart document symbol's `DOC_WAVE_HEIGHT`.
3195
2814
  */
3196
- declare const SKETCH_SLOT_X: number;
3197
- declare const SKETCH_SLOT_Y: number;
3198
- /** Slot → px (origin of the footprint), before any canvas padding. */
3199
- declare function sketchSlotToPx(c: number, r: number): {
3200
- x: number;
3201
- y: number;
3202
- };
2815
+ declare const FILE_WAVE = 10;
3203
2816
 
3204
2817
  interface FocusTarget {
3205
2818
  readonly kind: 'box' | 'group';
@@ -3554,6 +3167,12 @@ interface SitemapNode {
3554
3167
  readonly isContainer: boolean;
3555
3168
  readonly lineNumber: number;
3556
3169
  readonly color?: string;
3170
+ /**
3171
+ * Folded by source — the bare trailing `collapsed` flag or `collapsed: true`
3172
+ * (same-line or indented) on the page/container. `false` = explicit
3173
+ * `collapsed: false`; absent = no marker.
3174
+ */
3175
+ readonly collapsed?: boolean;
3557
3176
  }
3558
3177
  interface SitemapEdge {
3559
3178
  readonly sourceId: string;
@@ -3670,6 +3289,14 @@ interface CollapsedSitemapResult {
3670
3289
  /** nodeId → count of hidden descendants */
3671
3290
  hiddenCounts: Map<string, number>;
3672
3291
  }
3292
+ /**
3293
+ * The ids of every page and container the SOURCE marks collapsed (bare
3294
+ * `collapsed` flag or `collapsed: true`), optionally unioned with an
3295
+ * interactive set (share link `viewState.cg`, or the app's runtime set).
3296
+ * Sitemap analogue of `unionCollapsedOrgNodes`. The static export calls it;
3297
+ * the app seeds its runtime set from `unionCollapsedSitemapNodes(parsed)`.
3298
+ */
3299
+ declare function unionCollapsedSitemapNodes(parsed: ParsedSitemap, interactive?: readonly string[]): Set<string>;
3673
3300
  declare function collapseSitemapTree(original: ParsedSitemap, collapsedIds: Set<string>): CollapsedSitemapResult;
3674
3301
 
3675
3302
  /** Namespaced behavior property keys recognized by the parser. */
@@ -4695,6 +4322,12 @@ declare function analyzePert(parsed: ParsedPert): ResolvedPert;
4695
4322
  declare function layoutPert(resolved: ResolvedPert): LayoutResult;
4696
4323
  declare function relayoutPert(resolved: ResolvedPert, overrides: LayoutOverrides, collapsedGroupIds?: ReadonlySet<string>): LayoutResult;
4697
4324
 
4325
+ /**
4326
+ * Group ids whose `[Group]` header carries the source `collapsed` marker
4327
+ * (#1741). The app seeds its runtime collapsed set from this.
4328
+ */
4329
+ declare function collapsedPertGroupIdsFromSource(parsed: ParsedPert): Set<string>;
4330
+
4698
4331
  /**
4699
4332
  * mulberry32: 32-bit seedable PRNG. Portable, deterministic, ~10 lines.
4700
4333
  * Returns a function that yields [0, 1).
@@ -5315,6 +4948,8 @@ interface JourneyMapPhase {
5315
4948
  readonly name: string;
5316
4949
  readonly steps: readonly JourneyMapStep[];
5317
4950
  readonly lineNumber: number;
4951
+ /** Source `collapsed` marker on the `[Phase]` header line (#1741). */
4952
+ readonly collapsed?: boolean;
5318
4953
  }
5319
4954
  interface JourneyMapPersona {
5320
4955
  readonly name: string;
@@ -5385,6 +5020,14 @@ declare function layoutJourneyMap(parsed: ParsedJourneyMap, palette: PaletteColo
5385
5020
  isDark?: boolean;
5386
5021
  }): JourneyMapLayout;
5387
5022
 
5023
+ /**
5024
+ * Names of every phase the SOURCE marks collapsed (`[Phase] collapsed`),
5025
+ * unioned with an optional runtime set (share link `viewState.cg`, the app).
5026
+ * The static export folds from this; the app seeds its own `collapsedPhases`
5027
+ * state from it so a click can still expand.
5028
+ */
5029
+ declare function collapsedJourneyPhasesFromSource(parsed: ParsedJourneyMap, interactive?: Iterable<string>): Set<string>;
5030
+
5388
5031
  interface JourneyMapInteractiveOptions {
5389
5032
  onNavigateToLine?: (line: number) => void;
5390
5033
  exportDims?: {
@@ -5459,6 +5102,45 @@ declare function renderPyramid(container: HTMLDivElement, parsed: ParsedPyramid,
5459
5102
  */
5460
5103
  declare function renderPyramidForExport(container: HTMLDivElement, parsed: ParsedPyramid, palette: PaletteColors, isDark: boolean, exportDims?: D3ExportDimensions): void;
5461
5104
 
5105
+ type SwotSectionKey = 'strengths' | 'weaknesses' | 'opportunities' | 'threats';
5106
+ interface SwotItem {
5107
+ readonly id: string;
5108
+ readonly title: string;
5109
+ readonly tags: Readonly<Record<string, string>>;
5110
+ readonly details: readonly string[];
5111
+ readonly lineNumber: number;
5112
+ readonly endLineNumber: number;
5113
+ }
5114
+ interface SwotSection {
5115
+ readonly key: SwotSectionKey;
5116
+ readonly label: string;
5117
+ readonly color: string;
5118
+ readonly items: readonly SwotItem[];
5119
+ /** 0 when the source never wrote this section; its panel is still drawn. */
5120
+ readonly lineNumber: number;
5121
+ }
5122
+ interface ParsedSwot {
5123
+ readonly type: 'swot';
5124
+ readonly title?: string;
5125
+ readonly titleLineNumber?: number;
5126
+ /** Always all four, in S W O T order, whatever the source order. */
5127
+ readonly sections: readonly SwotSection[];
5128
+ readonly tagGroups: readonly TagGroup[];
5129
+ readonly options: Readonly<Record<string, string>>;
5130
+ readonly xLabels: readonly [string, string];
5131
+ readonly yLabels: readonly [string, string];
5132
+ readonly diagnostics: readonly DgmoError[];
5133
+ readonly error: string | null;
5134
+ }
5135
+
5136
+ declare function parseSwot(content: string, palette?: PaletteColors): ParsedSwot;
5137
+
5138
+ interface SwotRenderOptions {
5139
+ activeTagGroup?: string | null;
5140
+ exportMode?: boolean;
5141
+ }
5142
+ declare function renderSwot(container: HTMLElement, parsed: ParsedSwot, palette: PaletteColors, isDark: boolean, options?: SwotRenderOptions): void;
5143
+
5462
5144
  interface EventLineEvent {
5463
5145
  readonly label: string;
5464
5146
  readonly lineNumber: number;
@@ -7287,7 +6969,16 @@ interface RaciInteractionHandlers {
7287
6969
  * Layout is computed once and laid out as SVG; no animation.
7288
6970
  */
7289
6971
  declare function renderRaci(container: HTMLDivElement, parsed: ParsedRaci, palette: PaletteColors, isDark: boolean, handlers?: RaciInteractionHandlers | ((lineNumber: number) => void), exportDims?: D3ExportDimensions): void;
7290
- declare function renderRaciForExport(container: HTMLDivElement, parsed: ParsedRaci, palette: PaletteColors, isDark: boolean, exportDims?: D3ExportDimensions): void;
6972
+ declare function renderRaciForExport(container: HTMLDivElement, parsed: ParsedRaci, palette: PaletteColors, isDark: boolean, exportDims?: D3ExportDimensions, interactiveCollapsedLines?: readonly number[]): void;
6973
+
6974
+ /**
6975
+ * Ids of every phase the SOURCE marks collapsed (`[Phase] collapsed`),
6976
+ * unioned with optional runtime phases given as header LINE NUMBERS — the
6977
+ * form a share link carries them in (`viewState.cs`). The static export folds
6978
+ * from this; the app seeds its own `collapsedPhases` state from it (no second
6979
+ * argument) so a click can still expand.
6980
+ */
6981
+ declare function collapsedRaciPhasesFromSource(parsed: ParsedRaci, interactiveLines?: Iterable<number>): Set<string>;
7291
6982
 
7292
6983
  /**
7293
6984
  * Set the markers on a cell to exactly `[marker]`, replacing whatever
@@ -7410,103 +7101,6 @@ declare function renderLegendSvgFromConfig(config: LegendConfig, state: LegendSt
7410
7101
  isDark: boolean;
7411
7102
  }, containerWidth: number): LegendRenderResult;
7412
7103
 
7413
- declare const SKETCH_VISUALS: {
7414
- /** Air round the whole diagram. */
7415
- readonly diagramPadding: 20;
7416
- readonly titleY: 30;
7417
- readonly titleFontSize: 20;
7418
- readonly titleFontWeight: number;
7419
- readonly nodeStrokeWidth: 1.5;
7420
- readonly edgeStrokeWidth: 1.5;
7421
- readonly arrowheadW: 10;
7422
- readonly arrowheadH: 7;
7423
- readonly dash: "6 3";
7424
- /** A card's name. Shared, and it fits DOWN to `nodeLabelFontSizeMin` before
7425
- * it wraps — it used to be allowed up to 30 on a card with no rows, which is
7426
- * more than twice what any other chart type prints. */
7427
- readonly nodeLabelFontSize: 13;
7428
- readonly nodeLabelFontSizeMin: 11;
7429
- /** A card's description rows. */
7430
- readonly cardMetaFontSize: 11;
7431
- /** A card's header band. */
7432
- readonly cardHeaderHeight: 28;
7433
- readonly bandLabelFontSize: 13;
7434
- readonly bandLabelFontWeight: number;
7435
- readonly bandLabelOpacity: 1;
7436
- /** 11 — what boxes-and-lines prints. It was 12, the only edge label in the
7437
- * product at that size. */
7438
- readonly edgeLabelFontSize: 11;
7439
- /** The `palette.bg` halo painted under an edge label so the connector cannot
7440
- * cross its glyphs. Stroke, with `paint-order: stroke`. */
7441
- readonly edgeLabelHaloWidth: 3;
7442
- readonly cardRadius: 6;
7443
- readonly containerRadius: 8;
7444
- };
7445
-
7446
- interface SketchNodeColors {
7447
- readonly fill: string;
7448
- readonly stroke: string;
7449
- readonly text: string;
7450
- }
7451
- /** How a sketch fills its shapes — the `fill-mode` option, verbatim. */
7452
- type SketchFillMode = 'solid' | 'outline' | undefined;
7453
- /**
7454
- * 🔴 Containers are painted at this, over an opaque node fill. dgmo's own
7455
- * number (`renderer.ts`), here so the app cannot pick a different one — it had
7456
- * 0.12 against this 0.4, which is most of why a group read as a wash rather
7457
- * than a frame.
7458
- */
7459
- declare const CONTAINER_FILL_OPACITY = 1;
7460
- /** A container's outline, which is far softer than a node's — `boxes-and-lines`
7461
- * gives the same object exactly this. */
7462
- declare const CONTAINER_STROKE_OPACITY = 0.35;
7463
- /** And its stroke width: a plain 1, not a node's. */
7464
- declare const CONTAINER_STROKE_WIDTH = 1;
7465
- /**
7466
- * An UNTAGGED container's surface — the library's neutral group fill.
7467
- *
7468
- * 🔴 It is `groupFill` with no colour, delegated rather than restated, because
7469
- * the two were the same expression written twice and the whole point of #619 is
7470
- * that sketch stopped having its own answer here.
7471
- *
7472
- * ⚠️ The name is now narrower than it reads: a container that CARRIES a value
7473
- * does not come through here at all — see the container branch of
7474
- * `sketchColors`. This stays exported for the app's live canvas, which asks for
7475
- * the neutral fill directly when it is drawing a frame nothing has classified.
7476
- *
7477
- * The history is worth keeping, because it is why sketch was the last chart
7478
- * type left out. Sketch used to paint a whole group in its own tag at 0.4, so a
7479
- * tagged group was a wash with everything inside it swimming in that wash, and
7480
- * a sketch beside a `boxes-and-lines` chart of the same content did not read as
7481
- * the same product (reported 2026-08-27). The fix was to make a container
7482
- * neutral *whatever it carried* — which overshot: the group-frame sweep for
7483
- * diagrammo/diagrammo#585 gave five other chart types a **tenth**, not a
7484
- * fortieth, and a coloured stroke to carry the meaning. That is what the frame
7485
- * wears now, and the wash cannot come back at 10%.
7486
- */
7487
- declare function sketchContainerFill(palette: PaletteColors, isDark: boolean): string;
7488
- /**
7489
- * Untagged shapes still read as filled cards, not empty outlines: a slight gray
7490
- * tint (muted mixed into the bg) — subtle on light, a touch lighter than the bg
7491
- * on dark.
7492
- */
7493
- declare function sketchNeutralFill(palette: PaletteColors, isDark: boolean, fillMode: SketchFillMode): string;
7494
- /**
7495
- * The colours one thing on a sketch wears, given what it carries.
7496
- *
7497
- * Returns a function rather than a value because every node on a board asks the
7498
- * same question against the same active group, and resolving that group once is
7499
- * the whole point.
7500
- */
7501
- declare function sketchColors(opts: {
7502
- readonly palette: PaletteColors;
7503
- readonly isDark: boolean;
7504
- readonly tagGroups: readonly TagGroup[];
7505
- /** The group the legend says is active, or undefined to let dgmo choose. */
7506
- readonly activeTagGroup?: string | null | undefined;
7507
- readonly fillMode: SketchFillMode;
7508
- }): (metadata: Record<string, string>, isContainer?: boolean) => SketchNodeColors;
7509
-
7510
7104
  declare const FONT_FAMILY = "Inter, system-ui, Avenir, Helvetica, Arial, sans-serif";
7511
7105
  declare const DEFAULT_FONT_NAME = "Inter";
7512
7106
 
@@ -7650,6 +7244,28 @@ interface CollapsedView {
7650
7244
  * @returns A new CollapsedView with remapped participants, messages, elements, and groups
7651
7245
  */
7652
7246
  declare function applyCollapseProjection(parsed: ParsedSequenceDgmo, requestedGroups: Set<number>): CollapsedView;
7247
+ /**
7248
+ * A note folds only when it has something to hide: a body of more than one
7249
+ * line. Folded, it shows its first line plus the collapse bar (#1741).
7250
+ */
7251
+ declare function isFoldableSequenceNote(note: SequenceNote): boolean;
7252
+ /**
7253
+ * The opening lines of the foldable notes whose source carries the
7254
+ * `collapsed` marker (#1741). The app seeds its runtime note set from this;
7255
+ * the static render folds these when no runtime set is supplied.
7256
+ */
7257
+ declare function collapsedSequenceNoteLinesFromSource(parsed: ParsedSequenceDgmo): Set<number>;
7258
+ /**
7259
+ * The note lines a static export folds: source markers ∪ runtime lines
7260
+ * (mirrors org's `unionCollapsedOrgNodes`). A runtime line that is not a
7261
+ * foldable note's opening line is ignored.
7262
+ */
7263
+ declare function unionCollapsedSequenceNotes(parsed: ParsedSequenceDgmo, runtime: Iterable<number> | undefined): Set<number>;
7264
+ /**
7265
+ * The section divider lines whose source carries the `collapsed` marker
7266
+ * (#1741). The static render folds these together with a share link's `cs`.
7267
+ */
7268
+ declare function collapsedSequenceSectionLinesFromSource(parsed: ParsedSequenceDgmo): Set<number>;
7653
7269
 
7654
7270
  interface SectionMessageGroup {
7655
7271
  section: SequenceSection;
@@ -7658,6 +7274,12 @@ interface SectionMessageGroup {
7658
7274
  interface SequenceRenderOptions {
7659
7275
  collapsedSections?: Set<number>;
7660
7276
  collapsedGroups?: Set<number>;
7277
+ /**
7278
+ * Folded notes, keyed by the note's opening line. AUTHORITATIVE when
7279
+ * supplied (the app's runtime set, seeded from
7280
+ * `collapsedSequenceNoteLinesFromSource`); absent, the source markers fold.
7281
+ */
7282
+ collapsedNotes?: Set<number>;
7661
7283
  exportWidth?: number;
7662
7284
  activeTagGroup?: string | null;
7663
7285
  }
@@ -7988,5 +7610,5 @@ declare function getSpaceDiagram(target: CloudSpaceTarget, which: {
7988
7610
  /** Every diagram in the space, sorted by folder path then title. */
7989
7611
  declare function listSpaceDiagrams(target: CloudSpaceTarget): Promise<SpaceDiagramSummary[]>;
7990
7612
 
7991
- export { ARROW_DIAGNOSTIC_CODES, CLOUD_API, CONTAINER_FILL_OPACITY, CONTAINER_STROKE_OPACITY, CONTAINER_STROKE_WIDTH, CYLINDER_RY, CloudSpaceError, CompactViewState, DEFAULT_FONT_NAME, DgmoError, EXAMPLES_SHOWN, FLOWCHART_STRUCTURE_CODE, FONT_FAMILY, GeoExtent, DEFAULT_DIM_OPACITY as HOVER_DIM_OPACITY, IMAGE_NOT_UPLOADED, INFRA_BEHAVIOR_KEYS, INVALID_COLOR_CODE, INVALID_CSS_COLOR_HEX, LEGEND_CAPSULE_PAD, LEGEND_DOT_R, LEGEND_ENTRY_DOT_GAP, LEGEND_ENTRY_FONT_SIZE, LEGEND_ENTRY_TRAIL, LEGEND_GEAR_PILL_W, LEGEND_GROUP_GAP, LEGEND_HEIGHT, LEGEND_MAX_ENTRY_ROWS, LEGEND_PILL_FONT_SIZE, LEGEND_PILL_PAD, MapData, MapLayoutLegend, PaletteColors, PaletteConfig, ParsedMap, ParsedOrg, ParsedRaci, QUEUE_CAP, RACI_ERROR_CODES, VARIANTS as RACI_VARIANTS, RACI_WARNING_CODES, RECOGNIZED_COLOR_NAMES, RULE_COUNT, RaciMarker, RaciTask, RaciVariant, ResolvedMap, SKETCH_AUTO_LAYOUT_DEFAULTS, SKETCH_FOOT_H, SKETCH_FOOT_W, SKETCH_GEOMETRY, SKETCH_HALF_SLOT_X, SKETCH_HALF_SLOT_Y, SKETCH_SEP, SKETCH_SLOT_X, SKETCH_SLOT_Y, SKETCH_VISUALS, ScaleContext, TagEntry, TagGroup, WHITEBOARD_COLORS, WHITEBOARD_CONTAINER_FONT, WHITEBOARD_CONTAINER_WEIGHT, WHITEBOARD_ELEMENT_KEYWORDS, WHITEBOARD_FILLS, WHITEBOARD_HEADS, WHITEBOARD_LABEL_MIN_FONT, WHITEBOARD_LABEL_POSITIONS, WHITEBOARD_NOTE_COLOR, WHITEBOARD_NOTE_FONT, WHITEBOARD_NOTE_HEIGHT, WHITEBOARD_NOTE_WIDTH, WHITEBOARD_SHAPE_KINDS, WHITEBOARD_STROKE_STYLES, addDurationToDate, albersSkewFallback, analyzePert, applyCollapseProjection, applyGroupOrdering, applyPositionOverrides, atlasPalette, authoredCollapsedIds, blueprintPalette, breakAtoms, buildNoteMessageMap, buildRenderSequence, buildSimulationContext, buildTagLaneRowList, calculateSchedule, canonicalSketch, catppuccinPalette, choosePalette, clearEventLineMuted, clipWhiteboardConnector, collapseBoxesAndLines, collapseMindmapTree, collapseOrgTree, collapseSitemapTree, collapseSketch, collapseStateGroups, collectDiagramRoles, collectTasks, colorNames, computeActivations, computeCardArchive, computeCardMove, computeCycleLayout, computeInfra, computeInfraLegendGroups, computeLegendLayout, computeRadarLayout, computeTimeTicks, controlsGroupCapsuleWidth, createMapGeoQuery, createMapGeoQueryForLayout, displayName, emitSketch, emitWhiteboard, emitWhiteboardElement, extractCategorizeRule, extractSymbols$2 as extractClassSymbols, extractColorRule, extractSymbols$1 as extractErSymbols, extractSymbols$3 as extractFlowchartSymbols, extractSymbols as extractInfraSymbols, extractPaletteDirective, extractPertSymbols, extractSection, extractTitleRule, fitWhiteboardLabel, fitWrapped, focusBoxesAndLines, focusEventLine, focusOrgTree, fontPortabilityWarning, formatChartTypeList, formatDateLabel, formatDiagramValidation, formatExamples, formatOffsetLabel, getExtendedChartLegendGroups, getLegendReservedHeight, getOrCreateName, getRadarGeometry, getSimpleChartLegendGroups, getSpaceDiagram, groupMessagesBySection, inferParticipantType, inferRoles, inkOutlinePath, invalidColorDiagnostic, isArchiveColumn, isExampleFor, isInvalidColorToken, isRecognizedColorName, isSequenceBlock, isSequenceNote, isWhiteboardColor, isWhiteboardImageRef, isWhiteboardShapeKind, layoutBlock, layoutBoxesAndLines, layoutBracket, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutFamily, layoutGraph, layoutInfra, layoutJourneyMap, layoutMap, layoutMindmap, layoutOrg, layoutPert, layoutSitemap, layoutSketch, layoutSwimlane, layoutTreemap, layoutTreemapRadial, layoutWireframe, legendEntryWidth, listSpaceDiagrams, loadMapData, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeMap, looksLikePert, looksLikeSequence, looksLikeSitemap, looksLikeState, mapBackgroundColor, mapContentAspect, mapExportDimensions, mapNeutralLandColor, measurePertAnalysisBlock, measureText, mulberry32, nearestNamedColor, nord, nordPalette, normalizeName, normalizePlace, orderArcNodes, parseAndLayoutInfra, parseBlock, parseBody, parseBoxesAndLines, parseBracket, parseC4, parseChart, parseClassDiagram, parseClock, parseCountdown, parseCycle, parseDataRowValues, parseERDiagram, parseEventLine, parseExtendedChart, parseFamily, parseFixedOffset, parseFlowchart, parseGantt, parseGoal, parseInArrowLabel, parseInfra, parseInlineMarkdown, parseJourneyMap, parseKanban, parseLiveLink, parseMap, parseMindmap, parsePert, parsePyramid, parseRing, parseSequenceDgmo, parseSequenceDgmo as parseSequenceDiagram, parseSitemap, parseSketch, parseState, parseSwimlane, parseTechRadar, parseTimelineDate, parseTreemap, parseTypeAliases, parseVersionControl, parseVisualization, parseWhiteboard, parseWireframe, putSpaceDiagram, cellAppendMarker as raciCellAppendMarker, cellCycle as raciCellCycle, cellRemove as raciCellRemove, cellReplace as raciCellReplace, rebuildMapProjection, referenceForChartType, relayoutPert, render, renderArcDiagram, renderBlock, renderBlockForExport, renderBody, renderBodyForExport, renderBoxesAndLines, renderBoxesAndLinesForExport, renderBracket, renderBracketForExport, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderClock, renderClockForExport, renderCountdown, renderCountdownForExport, renderCycle, renderCycleForExport, renderERDiagram, renderERDiagramForExport, renderEventLine, renderEventLineForExport, renderFamily, renderFamilyForExport, renderFlowchart, renderFlowchartForExport, renderForExport, renderGantt, renderGoal, renderGoalForExport, renderInfra, renderJourneyMap, renderJourneyMapForExport, renderKanban, renderKanbanForExport, renderLegendD3, renderLegendSvg, renderLegendSvgFromConfig, renderLiveLinkCard, renderMap, renderMapForExport, renderMapLayout, renderMindmap, renderMindmapForExport, renderOrg, renderOrgForExport, renderPert, renderPertAnalysisBlock, renderPertForExport, renderPyramid, renderPyramidForExport, renderQuadrant, renderQuadrantFocus, renderQuadrantFocusForExport, renderRaci, renderRaciForExport, renderRing, renderRingForExport, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSketch, renderSketchForExport, renderSlopeChart, renderState, renderStateForExport, renderSwimlaneForExport, renderTechRadar, renderTechRadarForExport, renderTimeline, renderTreemap, renderTreemapForExport, renderTreemapRadial, renderTreemapRadialForExport, renderVenn, renderVersionControl, renderVersionControlForExport, renderWhiteboard, renderWireframe, renderWordCloud, resolveColor, resolveColorWithDiagnostic, resolveMap, resolvePlace, resolveTaskName, rollUpContextRelationships, sameSketch, sameWhiteboard, sampleBetaPert, searchZones, seriesColors, simulateCanonical, simulateFast, sketchColors, sketchContainerFill, sketchEdgeGeometry, sketchLabelSpot, sketchNeutralFill, sketchSlotToPx, slatePalette, startClocks, startCountdowns, targetToMs, textFromSvg, tickClocks, tickCountdowns, tidewaterPalette, tokyoNightPalette, truncateBareUrl, truncateText, uncoveredCharacters, validateComputed, validateDiagram, validateFlowchartStructure, validateInfra, validateLabelCharacters, validateThemeFile, visibleWhiteboardElements, visibleWhiteboardIndices, whiteboardBendFor, whiteboardBendHandle, whiteboardBounds, whiteboardConnectorAttachments, whiteboardConnectorPaint, whiteboardDrawBand, whiteboardDrawOrder, whiteboardLabelCentreY, whiteboardLabelHeight, whiteboardLabelPosition, whiteboardLabelShift, whiteboardLabelWidth, whiteboardNoteFold, whiteboardSegmentMidpoint, whiteboardShapeAt, whiteboardShapeContains, whiteboardShapeLabel, wrapTextToWidth, wrapWhiteboardLabel };
7992
- export type { Activation, AncestorInfo, ArcLink, ArcNodeGroup, BLCollapseResult, BLEdge, BLGroup, BLLayoutEdge, BLLayoutGroup, BLLayoutNode, BLLayoutResult, BLNode, BlipTrend, BlockCell, BlockGrid, BlockLayoutItem, BlockLayoutResult, BlockNode, BlockOptions, BodyFigure, BodyOptions, BodyPart, BracketMode, BracketSide, C4ArrowType, C4DeploymentNode, C4Element, C4ElementType, C4Group, C4LayoutBoundary, C4LayoutEdge, C4LayoutNode, C4LayoutResult, C4LegendEntry, C4LegendGroup, C4Relationship, C4Shape, C4TagEntry, C4TagGroup, ChartDataPoint, ChartEra, ChartType$1 as ChartType, ClassLayoutEdge, ClassLayoutNode, ClassLayoutResult, ClassMember, ClassModifier, ClassNode, ClassRelationship, ClockEntry, ClockFace, ClockZoneKind, CloudSpaceTarget, CodepointRange, CollapsedMindmapResult, CollapsedOrgResult, CollapsedSitemapResult, CollapsedView, ComputedInfraEdge, ComputedInfraModel, ComputedInfraNode, ContextRelationship, CountUnits, CreateMapGeoQueryOptions, CycleEdge, CycleLayoutEdge, CycleLayoutNode, CycleLayoutResult, CycleNode, CycleRenderOptions, D3ExportDimensions, DiagramSymbols, DiagramValidation, Duration, DurationUnit, ERCardinality, ERColumn, ERConstraint, ERLayoutEdge, ERLayoutNode, ERLayoutResult, ERRelationship, ERTable, ElseIfBranch, EventLineEra, EventLineEvent, EventLineFocus, EventLineOptions, ExpandedActivity, ExtendedChartType, FamilyChild, FamilyChildEdge, FamilyLayoutNode, FamilyLayoutResult, FamilyMarriageBar, FamilyPerson, FamilySex, FamilyUnion, FocusOrgResult, FocusResult, FocusTarget, FontCoverage, GanttDependency, GanttEra, GanttGroup, GroupRow as GanttGroupRow, GanttHolidays, GanttInteractiveOptions, LaneHeaderRow as GanttLaneHeaderRow, GanttMarker, GanttNode, GanttOptions, Row as GanttRow, GanttTask, TaskRow as GanttTaskRow, GetOrCreateNameResult, GoalMode, GoalOptions, GraphDirection, GraphEdge, GraphGroup, GraphNode, GraphShape, InfraAvailabilityPercentiles, InfraBehaviorKey, InfraCbState, InfraComputeParams, InfraDiagnostic, InfraEdge, InfraGroup, InfraLatencyPercentiles, InfraLayoutEdge, InfraLayoutGroup, InfraLayoutNode, InfraLayoutResult, InfraLegendGroup, InfraNode, InfraPlaybackState, InfraProperty, InfraRole, InfraTagGroup, InlineSpan, JourneyMapAnnotation, JourneyMapInteractiveOptions, JourneyMapLayout, JourneyMapPersona, JourneyMapPhase, JourneyMapStep, KanbanCard, KanbanColumn, KanbanTagEntry, KanbanTagGroup, LayoutEdge, LayoutGroup, LayoutNode, LayoutOptions$1 as LayoutOptions, LayoutResult$1 as LayoutResult, LegendCallbacks, LegendConfig, LegendControl, LegendGroupData, LegendHandle, LegendLayout, LegendMode, LegendPalette, LegendPosition, LegendState, MapExportDimensions, MapGeoQuery, MapLayout, MapLayoutInset, MapLayoutLeg, MapLayoutPoi, MapLayoutRegion, MapLayoutStretch, MapProjectionKind, MapProjectionParams, MapProjectionSpec, MemberVisibility, MindmapLayoutEdge, MindmapLayoutNode, MindmapLayoutResult, MindmapNode, MonteCarloResult, NameEntry, NearestCity, NodeDetail, OrgContainerBounds, OrgLayoutEdge, OrgLayoutNode, OrgLayoutResult, PaletteDirective, ParseInArrowLabelResult, ParsedBlock, ParsedBody, ParsedBoxesAndLines, ParsedBracket, ParsedC4, ParsedChart, ParsedClassDiagram, ParsedClock, ParsedCountdown, ParsedCycle, ParsedERDiagram, ParsedEventLine, ParsedExtendedChart, ParsedFamily, ParsedGantt, ParsedGoal, ParsedGraph, ParsedInfra, ParsedJourneyMap, ParsedKanban, ParsedLiveLink, ParsedMindmap, ParsedPert, ParsedPyramid, ParsedRing, ParsedSequenceDgmo, ParsedSitemap, ParsedSketch, ParsedSwimlane, ParsedTechRadar, ParsedTreemap, ParsedVersionControl, ParsedVisualization, ParsedWhiteboard, ParsedWireframe, ParticipantType, PertActivity, Anchor as PertAnchor, PertDirection, PertEdge, PertGroup, PertLayoutEdge, PertLayoutGroup, PertLayoutNode, LayoutOverrides as PertLayoutOverrides, LayoutResult as PertLayoutResult, PertMilestone, PertOptions, PertRenderOptions, PlaceResolution, PlacedLabel, ProjectedCity, PyramidLayer, QuadrantPosition, RaciDragSource, RaciInteractionHandlers, RadialCell, RadialLayoutResult, RawMatch, RawSeed, RecurRule, RegionToken, RelationshipType, RenderStep, ResolvedActivity, ResolvedGroup$1 as ResolvedGroup, ResolvedPert, ResolvedGroup as ResolvedPertGroup, ResolvedSchedule, ResolvedTask, ResultCard, ResultTokens, RingLayer, RoundMode, SectionMessageGroup, SequenceBlock, SequenceElement, SequenceGroup, SequenceMessage, SequenceNote, SequenceParticipant, SequenceRenderOptions, SequenceSection, SimulateOptions, SitemapContainerBounds, SitemapDirection, SitemapEdge, SitemapLayoutEdge, SitemapLayoutNode, SitemapLayoutResult, SitemapLegendEntry, SitemapLegendGroup, SitemapNode, SketchAt, SketchAutoLayoutFlags, SketchBox, SketchCollapseResult, SketchEdge, SketchEdgeBoard, SketchEdgeGeometry, SketchEdgeHeads, SketchFillMode, SketchLayout, SketchLayoutBox, SketchLayoutNode, SketchLayoutOptions, SketchNode, SketchNodeColors, SketchOptions, SketchRenderOptions, SpaceDiagram, SpaceDiagramSummary, SpacePutResult, StateCollapseResult, SwimEdge, SwimEvent, SwimLane, SwimNode, SwimPhase, SwimShape, LayoutBand as SwimlaneLayoutBand, SwimlaneLayoutResult, TechRadarBlip, TechRadarLayoutPoint, TechRadarQuadrant, TechRadarRing, ThemeFileResult, TreemapCell, TreemapColorMode, TreemapLayoutResult, TreemapNode, TreemapOptions, UncoveredRun, VCBranch, VCNode, VCNote, VCOptions, VCRef, ValidateDiagramOptions, VisualizationType, WhiteboardArrow, WhiteboardAttachable, WhiteboardColor, WhiteboardConnectorAttachments, WhiteboardConnectorPaint, WhiteboardElement, WhiteboardFill, WhiteboardFitBox, WhiteboardHeads, WhiteboardImage, WhiteboardInk, WhiteboardLabelBox, WhiteboardLabelPosition, WhiteboardLine, WhiteboardNote, WhiteboardOptions, WhiteboardPoint, WhiteboardRenderOptions, WhiteboardSegment, WhiteboardShape, WhiteboardShapeKind, WhiteboardShapeLabel, WhiteboardStrokeStyle, WhiteboardText, WireframeElement, WireframeElementType, WireframeFormFactor, WireframeLayout, WireframeLayoutNode, WorkWindow, ZoneSuggestion };
7613
+ export { ARROW_DIAGNOSTIC_CODES, CLOUD_API, CYLINDER_RY, CloudSpaceError, CompactViewState, DEFAULT_FONT_NAME, DgmoError, EXAMPLES_SHOWN, FILE_WAVE, FLOWCHART_STRUCTURE_CODE, FONT_FAMILY, GeoExtent, DEFAULT_DIM_OPACITY as HOVER_DIM_OPACITY, IMAGE_NOT_UPLOADED, INFRA_BEHAVIOR_KEYS, INVALID_COLOR_CODE, INVALID_CSS_COLOR_HEX, LEGEND_CAPSULE_PAD, LEGEND_DOT_R, LEGEND_ENTRY_DOT_GAP, LEGEND_ENTRY_FONT_SIZE, LEGEND_ENTRY_TRAIL, LEGEND_GEAR_PILL_W, LEGEND_GROUP_GAP, LEGEND_HEIGHT, LEGEND_MAX_ENTRY_ROWS, LEGEND_PILL_FONT_SIZE, LEGEND_PILL_PAD, MapData, MapLayoutLegend, PaletteColors, PaletteConfig, ParsedMap, ParsedOrg, ParsedRaci, QUEUE_CAP, RACI_ERROR_CODES, VARIANTS as RACI_VARIANTS, RACI_WARNING_CODES, RECOGNIZED_COLOR_NAMES, RULE_COUNT, RaciMarker, RaciTask, RaciVariant, ResolvedMap, ScaleContext, TagEntry, TagGroup, WHITEBOARD_COLORS, WHITEBOARD_CONTAINER_FONT, WHITEBOARD_CONTAINER_WEIGHT, WHITEBOARD_ELEMENT_KEYWORDS, WHITEBOARD_FILLS, WHITEBOARD_HEADS, WHITEBOARD_LABEL_MIN_FONT, WHITEBOARD_LABEL_POSITIONS, WHITEBOARD_NOTE_COLOR, WHITEBOARD_NOTE_FONT, WHITEBOARD_NOTE_HEIGHT, WHITEBOARD_NOTE_WIDTH, WHITEBOARD_SHAPE_KINDS, WHITEBOARD_STROKE_STYLES, addDurationToDate, albersSkewFallback, analyzePert, applyCollapseProjection, applyGroupOrdering, applyPositionOverrides, atlasPalette, authoredCollapsedIds, blueprintPalette, breakAtoms, buildNoteMessageMap, buildRenderSequence, buildSimulationContext, buildTagLaneRowList, calculateSchedule, catppuccinPalette, choosePalette, clearEventLineMuted, clipWhiteboardConnector, collapseBoxesAndLines, collapseMindmapTree, collapseOrgTree, collapseSitemapTree, collapseStateGroups, collapsedBLGroupsFromSource, collapsedJourneyPhasesFromSource, collapsedPertGroupIdsFromSource, collapsedRaciPhasesFromSource, collapsedSequenceNoteLinesFromSource, collapsedSequenceSectionLinesFromSource, collectDiagramRoles, collectTasks, colorNames, computeActivations, computeCardArchive, computeCardMove, computeCycleLayout, computeInfra, computeInfraLegendGroups, computeLegendLayout, computeRadarLayout, computeTimeTicks, controlsGroupCapsuleWidth, createMapGeoQuery, createMapGeoQueryForLayout, displayName, emitWhiteboard, emitWhiteboardElement, extractCategorizeRule, extractSymbols$2 as extractClassSymbols, extractColorRule, extractSymbols$1 as extractErSymbols, extractSymbols$3 as extractFlowchartSymbols, extractSymbols as extractInfraSymbols, extractPaletteDirective, extractPertSymbols, extractSection, extractTitleRule, fitWhiteboardLabel, fitWrapped, focusBoxesAndLines, focusEventLine, focusOrgTree, fontPortabilityWarning, formatChartTypeList, formatDateLabel, formatDiagramValidation, formatExamples, formatOffsetLabel, getExtendedChartLegendGroups, getLegendReservedHeight, getOrCreateName, getRadarGeometry, getSimpleChartLegendGroups, getSpaceDiagram, groupMessagesBySection, hoverCssFor, inferParticipantType, inferRoles, inkOutlinePath, invalidColorDiagnostic, isArchiveColumn, isExampleFor, isFoldableSequenceNote, isInvalidColorToken, isRecognizedColorName, isSequenceBlock, isSequenceNote, isWhiteboardColor, isWhiteboardImageRef, isWhiteboardShapeKind, layoutBlock, layoutBoxesAndLines, layoutBracket, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutFamily, layoutGraph, layoutInfra, layoutJourneyMap, layoutMap, layoutMindmap, layoutOrg, layoutPert, layoutSitemap, layoutSwimlane, layoutTreemap, layoutTreemapRadial, layoutWireframe, legendEntryWidth, listSpaceDiagrams, loadMapData, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeMap, looksLikePert, looksLikeSequence, looksLikeSitemap, looksLikeState, mapBackgroundColor, mapContentAspect, mapExportDimensions, mapNeutralLandColor, measurePertAnalysisBlock, measureText, mulberry32, nearestNamedColor, nord, nordPalette, normalizeName, normalizePlace, orderArcNodes, parseAndLayoutInfra, parseBlock, parseBody, parseBoxesAndLines, parseBracket, parseC4, parseChart, parseClassDiagram, parseClock, parseCountdown, parseCycle, parseDataRowValues, parseERDiagram, parseEventLine, parseExtendedChart, parseFamily, parseFixedOffset, parseFlowchart, parseGantt, parseGoal, parseInArrowLabel, parseInfra, parseInlineMarkdown, parseJourneyMap, parseKanban, parseLiveLink, parseMap, parseMindmap, parsePert, parsePyramid, parseRing, parseSequenceDgmo, parseSequenceDgmo as parseSequenceDiagram, parseSitemap, parseState, parseSwimlane, parseSwot, parseTechRadar, parseTimelineDate, parseTreemap, parseTypeAliases, parseVersionControl, parseVisualization, parseWhiteboard, parseWireframe, putSpaceDiagram, cellAppendMarker as raciCellAppendMarker, cellCycle as raciCellCycle, cellRemove as raciCellRemove, cellReplace as raciCellReplace, rebuildMapProjection, referenceForChartType, relayoutPert, render, renderArcDiagram, renderBlock, renderBlockForExport, renderBody, renderBodyForExport, renderBoxesAndLines, renderBoxesAndLinesForExport, renderBracket, renderBracketForExport, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderClock, renderClockForExport, renderCountdown, renderCountdownForExport, renderCycle, renderCycleForExport, renderERDiagram, renderERDiagramForExport, renderEventLine, renderEventLineForExport, renderFamily, renderFamilyForExport, renderFlowchart, renderFlowchartForExport, renderForExport, renderGantt, renderGoal, renderGoalForExport, renderInfra, renderJourneyMap, renderJourneyMapForExport, renderKanban, renderKanbanForExport, renderLegendD3, renderLegendSvg, renderLegendSvgFromConfig, renderLiveLinkCard, renderMap, renderMapForExport, renderMapLayout, renderMindmap, renderMindmapForExport, renderOrg, renderOrgForExport, renderPert, renderPertAnalysisBlock, renderPertForExport, renderPyramid, renderPyramidForExport, renderQuadrant, renderQuadrantFocus, renderQuadrantFocusForExport, renderRaci, renderRaciForExport, renderRing, renderRingForExport, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSlopeChart, renderState, renderStateForExport, renderSwimlaneForExport, renderSwot, renderTechRadar, renderTechRadarForExport, renderTimeline, renderTreemap, renderTreemapForExport, renderTreemapRadial, renderTreemapRadialForExport, renderVenn, renderVersionControl, renderVersionControlForExport, renderWhiteboard, renderWireframe, renderWordCloud, resolveColor, resolveColorWithDiagnostic, resolveMap, resolvePlace, resolveTaskName, rollUpContextRelationships, sameWhiteboard, sampleBetaPert, searchZones, seriesColors, simulateCanonical, simulateFast, slatePalette, startClocks, startCountdowns, targetToMs, textFromSvg, tickClocks, tickCountdowns, tidewaterPalette, toggleCueCss, tokyoNightPalette, truncateBareUrl, truncateText, uncoveredCharacters, unionCollapsedSequenceNotes, unionCollapsedSitemapNodes, validateComputed, validateDiagram, validateFlowchartStructure, validateInfra, validateLabelCharacters, validateThemeFile, visibleWhiteboardElements, visibleWhiteboardIndices, whiteboardBendFor, whiteboardBendHandle, whiteboardBounds, whiteboardConnectorAttachments, whiteboardConnectorPaint, whiteboardDrawBand, whiteboardDrawOrder, whiteboardFilePath, whiteboardFileWave, whiteboardFileWavePoints, whiteboardLabelCentreY, whiteboardLabelHeight, whiteboardLabelPosition, whiteboardLabelShift, whiteboardLabelWidth, whiteboardNoteFold, whiteboardSegmentMidpoint, whiteboardShapeAt, whiteboardShapeContains, whiteboardShapeLabel, wrapTextToWidth, wrapWhiteboardLabel };
7614
+ export type { Activation, AncestorInfo, ArcLink, ArcNodeGroup, BLCollapseResult, BLEdge, BLGroup, BLLayoutEdge, BLLayoutGroup, BLLayoutNode, BLLayoutResult, BLNode, BlipTrend, BlockCell, BlockGrid, BlockLayoutItem, BlockLayoutResult, BlockNode, BlockOptions, BodyFigure, BodyOptions, BodyPart, BracketMode, BracketSide, C4ArrowType, C4DeploymentNode, C4Element, C4ElementType, C4Group, C4LayoutBoundary, C4LayoutEdge, C4LayoutNode, C4LayoutResult, C4LegendEntry, C4LegendGroup, C4Relationship, C4Shape, C4TagEntry, C4TagGroup, ChartDataPoint, ChartEra, ChartType$1 as ChartType, ClassLayoutEdge, ClassLayoutNode, ClassLayoutResult, ClassMember, ClassModifier, ClassNode, ClassRelationship, ClockEntry, ClockFace, ClockZoneKind, CloudSpaceTarget, CodepointRange, CollapsedMindmapResult, CollapsedOrgResult, CollapsedSitemapResult, CollapsedView, ComputedInfraEdge, ComputedInfraModel, ComputedInfraNode, ContextRelationship, CountUnits, CreateMapGeoQueryOptions, CycleEdge, CycleLayoutEdge, CycleLayoutNode, CycleLayoutResult, CycleNode, CycleRenderOptions, D3ExportDimensions, DiagramSymbols, DiagramValidation, Duration, DurationUnit, ERCardinality, ERColumn, ERConstraint, ERLayoutEdge, ERLayoutNode, ERLayoutResult, ERRelationship, ERTable, ElseIfBranch, EventLineEra, EventLineEvent, EventLineFocus, EventLineOptions, ExpandedActivity, ExtendedChartType, FamilyChild, FamilyChildEdge, FamilyLayoutNode, FamilyLayoutResult, FamilyMarriageBar, FamilyPerson, FamilySex, FamilyUnion, FocusOrgResult, FocusResult, FocusTarget, FontCoverage, GanttDependency, GanttEra, GanttGroup, GroupRow as GanttGroupRow, GanttHolidays, GanttInteractiveOptions, LaneHeaderRow as GanttLaneHeaderRow, GanttMarker, GanttNode, GanttOptions, Row as GanttRow, GanttTask, TaskRow as GanttTaskRow, GetOrCreateNameResult, GoalMode, GoalOptions, GraphDirection, GraphEdge, GraphGroup, GraphNode, GraphShape, InfraAvailabilityPercentiles, InfraBehaviorKey, InfraCbState, InfraComputeParams, InfraDiagnostic, InfraEdge, InfraGroup, InfraLatencyPercentiles, InfraLayoutEdge, InfraLayoutGroup, InfraLayoutNode, InfraLayoutResult, InfraLegendGroup, InfraNode, InfraPlaybackState, InfraProperty, InfraRole, InfraTagGroup, InlineSpan, JourneyMapAnnotation, JourneyMapInteractiveOptions, JourneyMapLayout, JourneyMapPersona, JourneyMapPhase, JourneyMapStep, KanbanCard, KanbanColumn, KanbanTagEntry, KanbanTagGroup, LayoutEdge, LayoutGroup, LayoutNode, LayoutOptions$1 as LayoutOptions, LayoutResult$1 as LayoutResult, LegendCallbacks, LegendConfig, LegendControl, LegendGroupData, LegendHandle, LegendLayout, LegendMode, LegendPalette, LegendPosition, LegendState, MapExportDimensions, MapGeoQuery, MapLayout, MapLayoutInset, MapLayoutLeg, MapLayoutPoi, MapLayoutRegion, MapLayoutStretch, MapProjectionKind, MapProjectionParams, MapProjectionSpec, MemberVisibility, MindmapLayoutEdge, MindmapLayoutNode, MindmapLayoutResult, MindmapNode, MonteCarloResult, NameEntry, NearestCity, NodeDetail, OrgContainerBounds, OrgLayoutEdge, OrgLayoutNode, OrgLayoutResult, PaletteDirective, ParseInArrowLabelResult, ParsedBlock, ParsedBody, ParsedBoxesAndLines, ParsedBracket, ParsedC4, ParsedChart, ParsedClassDiagram, ParsedClock, ParsedCountdown, ParsedCycle, ParsedERDiagram, ParsedEventLine, ParsedExtendedChart, ParsedFamily, ParsedGantt, ParsedGoal, ParsedGraph, ParsedInfra, ParsedJourneyMap, ParsedKanban, ParsedLiveLink, ParsedMindmap, ParsedPert, ParsedPyramid, ParsedRing, ParsedSequenceDgmo, ParsedSitemap, ParsedSwimlane, ParsedSwot, ParsedTechRadar, ParsedTreemap, ParsedVersionControl, ParsedVisualization, ParsedWhiteboard, ParsedWireframe, ParticipantType, PertActivity, Anchor as PertAnchor, PertDirection, PertEdge, PertGroup, PertLayoutEdge, PertLayoutGroup, PertLayoutNode, LayoutOverrides as PertLayoutOverrides, LayoutResult as PertLayoutResult, PertMilestone, PertOptions, PertRenderOptions, PlaceResolution, PlacedLabel, ProjectedCity, PyramidLayer, QuadrantPosition, RaciDragSource, RaciInteractionHandlers, RadialCell, RadialLayoutResult, RawMatch, RawSeed, RecurRule, RegionToken, RelationshipType, RenderStep, ResolvedActivity, ResolvedGroup$1 as ResolvedGroup, ResolvedPert, ResolvedGroup as ResolvedPertGroup, ResolvedSchedule, ResolvedTask, ResultCard, ResultTokens, RingLayer, RoundMode, SectionMessageGroup, SequenceBlock, SequenceElement, SequenceGroup, SequenceMessage, SequenceNote, SequenceParticipant, SequenceRenderOptions, SequenceSection, SimulateOptions, SitemapContainerBounds, SitemapDirection, SitemapEdge, SitemapLayoutEdge, SitemapLayoutNode, SitemapLayoutResult, SitemapLegendEntry, SitemapLegendGroup, SitemapNode, SpaceDiagram, SpaceDiagramSummary, SpacePutResult, StateCollapseResult, SwimEdge, SwimEvent, SwimLane, SwimNode, SwimPhase, SwimShape, LayoutBand as SwimlaneLayoutBand, SwimlaneLayoutResult, SwotItem, SwotRenderOptions, SwotSection, SwotSectionKey, TechRadarBlip, TechRadarLayoutPoint, TechRadarQuadrant, TechRadarRing, ThemeFileResult, TreemapCell, TreemapColorMode, TreemapLayoutResult, TreemapNode, TreemapOptions, UncoveredRun, VCBranch, VCNode, VCNote, VCOptions, VCRef, ValidateDiagramOptions, VisualizationType, WhiteboardArrow, WhiteboardAttachable, WhiteboardColor, WhiteboardConnectorAttachments, WhiteboardConnectorPaint, WhiteboardElement, WhiteboardFill, WhiteboardFitBox, WhiteboardHeads, WhiteboardImage, WhiteboardInk, WhiteboardLabelBox, WhiteboardLabelPosition, WhiteboardLine, WhiteboardNote, WhiteboardOptions, WhiteboardPoint, WhiteboardRenderOptions, WhiteboardSegment, WhiteboardShape, WhiteboardShapeKind, WhiteboardShapeLabel, WhiteboardStrokeStyle, WhiteboardText, WireframeElement, WireframeElementType, WireframeFormFactor, WireframeLayout, WireframeLayoutNode, WorkWindow, ZoneSuggestion };