@diagrammo/dgmo 0.89.0 → 0.91.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/README.md +1 -1
  2. package/dist/advanced.d.ts +589 -15
  3. package/dist/advanced.js +813 -211
  4. package/dist/block.d.ts +11 -2
  5. package/dist/block.js +94 -64
  6. package/dist/{calculator-35YVW4QO.js → calculator-3LZUWOBK.js} +2 -2
  7. package/dist/{chart-meta-Bev5Ebjr.d.ts → chart-meta-B_WTMP0y.d.ts} +1 -1
  8. package/dist/chart-meta.d.ts +2 -2
  9. package/dist/chart-meta.js +18 -17
  10. package/dist/{chart-types-Bf8C5QQW.d.ts → chart-types-V2NcgN5O.d.ts} +4 -0
  11. package/dist/{charts-d3-KEQSUWKP.js → charts-d3-YXD6VGZQ.js} +8 -7
  12. package/dist/{chunk-PMNITNPR.js → chunk-273GB7WK.js} +6 -5
  13. package/dist/{chunk-HAMF4F3P.js → chunk-2A4OFZ2Z.js} +5 -5
  14. package/dist/{chunk-K5XT7NHD.js → chunk-2AM6VA3A.js} +10 -10
  15. package/dist/{chunk-XJ2TBXHA.js → chunk-2UV627GG.js} +9 -9
  16. package/dist/{chunk-7WGCQE2E.js → chunk-2ZVLI6GQ.js} +1 -1
  17. package/dist/{chunk-JVZ7KFAX.js → chunk-37QQXKFV.js} +9 -10
  18. package/dist/{chunk-M2BCY7H3.js → chunk-3LINSNJT.js} +199 -146
  19. package/dist/{chunk-WPL5PFXE.js → chunk-3SLRZKLB.js} +6 -6
  20. package/dist/chunk-3UR4F7FE.js +14 -0
  21. package/dist/{chunk-ZUCXFXLD.js → chunk-3YTAOMMN.js} +2 -2
  22. package/dist/{chunk-NIUO2TNR.js → chunk-4HG4PYHM.js} +197 -203
  23. package/dist/{chunk-BOO24UMJ.js → chunk-4YO7VJTP.js} +1 -1
  24. package/dist/{chunk-HUNDJTTH.js → chunk-53BJIOLF.js} +1 -1
  25. package/dist/{chunk-LR6RRDWN.js → chunk-57L2JPP2.js} +10 -6
  26. package/dist/{chunk-IIOLFAGJ.js → chunk-5DIBB2QG.js} +51 -32
  27. package/dist/{chunk-S2WE7TVK.js → chunk-5MDQMB6A.js} +1 -1
  28. package/dist/{chunk-7Z2VFRP5.js → chunk-5U6DXIMV.js} +47 -24
  29. package/dist/{chunk-QIOYTQDZ.js → chunk-5VPWIC6T.js} +9 -9
  30. package/dist/{chunk-JRUEIRJB.js → chunk-634LDSN6.js} +3 -3
  31. package/dist/{chunk-VEPIAUSK.js → chunk-6BQSDF77.js} +1 -5
  32. package/dist/{chunk-LPYYZCSI.js → chunk-6NO3MNBC.js} +3 -3
  33. package/dist/{chunk-ITSBBQTH.js → chunk-6QEXWMBP.js} +13 -17
  34. package/dist/{chunk-DDPGEGHB.js → chunk-7BBRSOKS.js} +3 -3
  35. package/dist/{chunk-WQ6G6FFM.js → chunk-AR4QVMWG.js} +5 -2
  36. package/dist/{chunk-BB6QKWHZ.js → chunk-B6EUFLRP.js} +10 -10
  37. package/dist/{chunk-C4FRGZGX.js → chunk-CDT33RHG.js} +1 -1
  38. package/dist/{chunk-WP22MHH6.js → chunk-CPGKRI7H.js} +10 -13
  39. package/dist/{chunk-ZNNVI5SR.js → chunk-CU2PZLZP.js} +53 -31
  40. package/dist/{chunk-CUYHST3B.js → chunk-CVZBLHHW.js} +1 -1
  41. package/dist/{chunk-Y7PSAHAY.js → chunk-CXIPV2FY.js} +3 -3
  42. package/dist/{chunk-NRPELUB6.js → chunk-D7DXNQW5.js} +2 -2
  43. package/dist/{chunk-YMFQLWZ2.js → chunk-D7PP35BA.js} +1 -1
  44. package/dist/{chunk-RGWYZR3S.js → chunk-DLX7MEN4.js} +2 -2
  45. package/dist/chunk-EDPDAUBL.js +825 -0
  46. package/dist/{chunk-GSYZZFI5.js → chunk-EP7BT3HU.js} +2 -2
  47. package/dist/{chunk-ICZ7M6IZ.js → chunk-EQJ3U5EW.js} +1 -1
  48. package/dist/{chunk-3C2FWS2J.js → chunk-EWERNTOX.js} +1 -1
  49. package/dist/{chunk-XUCQVKLQ.js → chunk-F2436VRR.js} +4 -4
  50. package/dist/{chunk-UG2XG57E.js → chunk-F26ZPBSF.js} +3 -3
  51. package/dist/{chunk-UWKRPQZO.js → chunk-FJCYK4K3.js} +25 -22
  52. package/dist/{chunk-FKLE6QA3.js → chunk-G22UV5AF.js} +12 -12
  53. package/dist/{chunk-GUTZCRBT.js → chunk-G3EUQMV4.js} +4 -4
  54. package/dist/{chunk-SOPM5PLO.js → chunk-GCDW3WAY.js} +14 -14
  55. package/dist/{chunk-7UDAIP6W.js → chunk-HFG7KQOY.js} +13 -15
  56. package/dist/{chunk-ID2K3IHI.js → chunk-HLE5QGZJ.js} +1 -1
  57. package/dist/{chunk-QFHWYWQL.js → chunk-HLVGZXM5.js} +2 -2
  58. package/dist/{chunk-7C2RAGPT.js → chunk-HSGWR2FL.js} +16 -16
  59. package/dist/{chunk-P3SKSKJI.js → chunk-HWXUQCDY.js} +3 -3
  60. package/dist/{chunk-HTWH2XQL.js → chunk-HYV6GSXM.js} +6 -3
  61. package/dist/{chunk-3RYBTEF5.js → chunk-I74AQRVD.js} +6 -12
  62. package/dist/chunk-IHK3Y2HG.js +781 -0
  63. package/dist/{chunk-7KPHRTND.js → chunk-II4XJETG.js} +1 -1
  64. package/dist/{chunk-RXIKESRI.js → chunk-IMHNZITR.js} +2 -2
  65. package/dist/{chunk-TAP2NZEU.js → chunk-IMKPFW67.js} +13 -13
  66. package/dist/{chunk-FKZ2Y3Q5.js → chunk-IS6WFBX7.js} +3 -3
  67. package/dist/{chunk-47E5UTXE.js → chunk-IUBCDNT2.js} +2 -2
  68. package/dist/{chunk-EXKCRXPO.js → chunk-IWTUXGHN.js} +12 -12
  69. package/dist/{chunk-C7QRRTAW.js → chunk-J2SQNZ6D.js} +2 -2
  70. package/dist/{chunk-DZPHN2WN.js → chunk-JA2S7PHR.js} +14 -14
  71. package/dist/{chunk-DPSMX4EY.js → chunk-JJQWCI35.js} +4 -4
  72. package/dist/chunk-JJUDOR4I.js +110 -0
  73. package/dist/{chunk-LYLNMN77.js → chunk-K3BYD3WU.js} +8 -3
  74. package/dist/{chunk-3AQJNY65.js → chunk-KFXY5IW2.js} +149 -43
  75. package/dist/{chunk-J64NZ6NF.js → chunk-KSZHIAI2.js} +1 -1
  76. package/dist/{chunk-LCJURK7L.js → chunk-LKR4FACF.js} +2 -4
  77. package/dist/{chunk-PIXJL77H.js → chunk-M6J25PAZ.js} +1 -1
  78. package/dist/{chunk-IJ27L3R4.js → chunk-MA42PIGJ.js} +1 -1
  79. package/dist/{chunk-IQ6P3HDE.js → chunk-MI6SJJQU.js} +2 -2
  80. package/dist/{chunk-N4BBSDWI.js → chunk-MJKQ5ZYY.js} +140 -151
  81. package/dist/{chunk-6K7RODXG.js → chunk-MKFQ5E7J.js} +1 -1
  82. package/dist/{chunk-AZ24RI5L.js → chunk-MNL547RV.js} +6 -6
  83. package/dist/{chunk-44GP7PD5.js → chunk-MPJQMMBZ.js} +12 -0
  84. package/dist/{chunk-ECMA6XE2.js → chunk-N254IJM2.js} +13 -13
  85. package/dist/{layout-search-YKUL4VBV.js → chunk-NWPMLX2V.js} +27 -30
  86. package/dist/{chunk-DV2VEJCC.js → chunk-NWSPPGIE.js} +6 -6
  87. package/dist/{chunk-GDJW64XE.js → chunk-OYKNMFUY.js} +1 -1
  88. package/dist/{chunk-B3S76BZO.js → chunk-PSGSFRRE.js} +4 -4
  89. package/dist/{chunk-4AJKOUBO.js → chunk-PUZ63XZM.js} +13 -11
  90. package/dist/{chunk-UQLHKLF4.js → chunk-PZVTFQI2.js} +8 -8
  91. package/dist/{chunk-W7QN5BC5.js → chunk-Q3N7PI3B.js} +180 -7
  92. package/dist/{chunk-L5AFONQU.js → chunk-QKJ6MQXW.js} +2 -4
  93. package/dist/{chunk-7SX4IY6T.js → chunk-QVKTAU7P.js} +1 -1
  94. package/dist/{chunk-SLQT3JP3.js → chunk-R7BSF7Z7.js} +1 -1
  95. package/dist/{chunk-4R6OMKXB.js → chunk-RHXIUUWB.js} +5 -5
  96. package/dist/{chunk-MHAYUS65.js → chunk-RMTOZALT.js} +8 -5
  97. package/dist/{chunk-HSRQDWV7.js → chunk-ROCBGUJN.js} +8 -17
  98. package/dist/{chunk-44FTCIRI.js → chunk-RVTYIGWZ.js} +9 -9
  99. package/dist/{chunk-RU725VCJ.js → chunk-SKF7XLCM.js} +10 -35
  100. package/dist/{chunk-RPKBWJBB.js → chunk-SMTWQ66K.js} +6 -6
  101. package/dist/{chunk-3AX6MCI6.js → chunk-SPQVER4T.js} +2 -2
  102. package/dist/{chunk-CX6OH5WP.js → chunk-SWBHH2UW.js} +4 -4
  103. package/dist/{chunk-WP2RLGDI.js → chunk-TCX5PMEY.js} +1 -1
  104. package/dist/{chunk-7TF3QOOD.js → chunk-TIVMAITN.js} +14 -0
  105. package/dist/{chunk-NSR2CGV6.js → chunk-TLPY4ZBI.js} +611 -437
  106. package/dist/{chunk-WRCAH3UO.js → chunk-TPEYEOXA.js} +15 -15
  107. package/dist/{chunk-FJNXXGTR.js → chunk-UWJP4JSZ.js} +3 -3
  108. package/dist/{chunk-MY6GUH26.js → chunk-V3KHZQPK.js} +3 -3
  109. package/dist/{chunk-66YFDTT6.js → chunk-VGSSAMLA.js} +4 -4
  110. package/dist/{chunk-Q6SQISHT.js → chunk-VMD2CYVP.js} +311 -74
  111. package/dist/{chunk-MFW6P7WH.js → chunk-WNTPJZU7.js} +3 -3
  112. package/dist/{chunk-7W4XLIVH.js → chunk-WTE27AJT.js} +14 -14
  113. package/dist/{chunk-UKJLPA7R.js → chunk-X6IZP2BD.js} +1 -1
  114. package/dist/{chunk-2GM7N5TV.js → chunk-XLAREWBK.js} +9 -9
  115. package/dist/{chunk-AYOVY75O.js → chunk-XLPJJ35N.js} +4 -4
  116. package/dist/{chunk-NGC3IZRY.js → chunk-XQTRGKQ3.js} +4 -4
  117. package/dist/{chunk-WEF6MXFG.js → chunk-YZG37S7L.js} +9 -9
  118. package/dist/{chunk-LFKSHDVI.js → chunk-ZB2Q67NO.js} +14 -13
  119. package/dist/{chunk-JQ57AWDL.js → chunk-ZJ4PYTCK.js} +1 -1
  120. package/dist/completion-registry.d.ts +6 -0
  121. package/dist/completion-registry.js +62 -6
  122. package/dist/{compute-JAP5E2E4.js → compute-2XWFVO7K.js} +1 -1
  123. package/dist/{d3-B6524aaP.d.ts → d3-2S3PrXik.d.ts} +11 -0
  124. package/dist/dgmo-router-YHBMKTXY.js +94 -0
  125. package/dist/{dimensions-7MF7VSGS.js → dimensions-QMGWJQTR.js} +5 -5
  126. package/dist/editor.js +12 -0
  127. package/dist/{flowchart-parser-GG7XBLQH.js → flowchart-parser-BLJ6RA53.js} +4 -4
  128. package/dist/{flowchart-renderer-DZQZRL2F.js → flowchart-renderer-FXRQKXAK.js} +12 -8
  129. package/dist/highlight.js +12 -0
  130. package/dist/index.d.ts +26 -5
  131. package/dist/index.js +84 -57
  132. package/dist/{layout-5VSMZPMG.js → layout-5HCEF7VO.js} +1 -1
  133. package/dist/{layout-6L3BIFEZ.js → layout-6PLSBB5X.js} +3 -3
  134. package/dist/{layout-UIV56NUA.js → layout-B7PQRAMB.js} +1 -1
  135. package/dist/{layout-IGAVGDME.js → layout-CCVCLZ6S.js} +1 -1
  136. package/dist/{layout-PP36LUTA.js → layout-CRUAP7JG.js} +3 -3
  137. package/dist/{layout-Q3RYSODA.js → layout-G42FDCF3.js} +3 -3
  138. package/dist/{layout-EFEZ533S.js → layout-IV4H2FLB.js} +3 -3
  139. package/dist/{layout-4RRC7XU7.js → layout-JTNRSGOS.js} +6 -3
  140. package/dist/{layout-H4K54IW3.js → layout-RBLD5EGX.js} +6 -3
  141. package/dist/{layout-SW3XWYKC.js → layout-ROAVGBUC.js} +1 -1
  142. package/dist/{layout-XUW444O5.js → layout-T2DQ4M77.js} +8 -4
  143. package/dist/{layout-MSSHF45T.js → layout-UPQGIT3N.js} +2 -2
  144. package/dist/{layout-DXVAYF6W.js → layout-VRJ5YFUE.js} +2 -2
  145. package/dist/{layout-ZP7XYVXF.js → layout-YKGQRFDM.js} +2 -4
  146. package/dist/layout-search-L75YOBME.js +42 -0
  147. package/dist/{palettes-WZAIQTEG.js → palettes-WQHELGVQ.js} +2 -1
  148. package/dist/{parser-ZLKYDFI5.js → parser-2XCDVLSN.js} +3 -3
  149. package/dist/{parser-GZ3LVF72.js → parser-3MGA2MTM.js} +2 -2
  150. package/dist/{parser-NOANDFJ4.js → parser-4AR25MAS.js} +2 -2
  151. package/dist/{parser-GCCWMBTU.js → parser-4QNRCGU5.js} +5 -4
  152. package/dist/{parser-LANGKWRG.js → parser-6LMB7BQQ.js} +2 -2
  153. package/dist/{parser-WEVTMBJ5.js → parser-6NSQLPTS.js} +3 -3
  154. package/dist/{parser-KYPP2DX6.js → parser-6X4GGH2R.js} +4 -4
  155. package/dist/parser-AL6YL7KM.js +12 -0
  156. package/dist/{parser-5655XSOR.js → parser-D6YRVV75.js} +3 -3
  157. package/dist/{parser-NGHQQGD2.js → parser-EY3VJWBE.js} +3 -3
  158. package/dist/{parser-TL3JA4RI.js → parser-EYF4ZSZO.js} +3 -3
  159. package/dist/{parser-256EIWB2.js → parser-FDXUQ5TI.js} +2 -2
  160. package/dist/{parser-JOOAVBJI.js → parser-H2DJEAPG.js} +3 -3
  161. package/dist/{parser-AKBVJHMK.js → parser-ILWAA3QJ.js} +3 -3
  162. package/dist/{parser-AN3MGHRL.js → parser-KMFMNZYI.js} +3 -3
  163. package/dist/{parser-IMM2JJX3.js → parser-MDSVVCJP.js} +4 -4
  164. package/dist/{parser-OVQTTTUJ.js → parser-OFTMA36M.js} +2 -2
  165. package/dist/{parser-LGS65QPN.js → parser-Q3UAOLEZ.js} +2 -2
  166. package/dist/{parser-DGF3ZEO6.js → parser-QL4DEPVA.js} +4 -4
  167. package/dist/{parser-XYY5NHP4.js → parser-R6OETHWM.js} +2 -2
  168. package/dist/{parser-GEKPWSSK.js → parser-UEDPLM46.js} +3 -3
  169. package/dist/{parser-KZMALSB2.js → parser-UL6WN6W5.js} +4 -4
  170. package/dist/{parser-J4DVNL4W.js → parser-ULSUK36C.js} +4 -4
  171. package/dist/{parser-KZMJNKDW.js → parser-UY3K4ROB.js} +2 -2
  172. package/dist/{parser-KFYRTGTC.js → parser-UYQNNQKT.js} +4 -4
  173. package/dist/{parser-DHSFIUPU.js → parser-VG747VR6.js} +3 -3
  174. package/dist/{parser-UTXFJG4X.js → parser-VK4PNDX4.js} +3 -3
  175. package/dist/{parser-SA3RAJFS.js → parser-WSONWDFN.js} +2 -2
  176. package/dist/{parser-NPXPJHWN.js → parser-X5FQ36KJ.js} +3 -3
  177. package/dist/{parser-OKB64MMN.js → parser-XO5IAXMT.js} +3 -3
  178. package/dist/{parser-HCGXNHHL.js → parser-YVHO2NRM.js} +3 -3
  179. package/dist/{parser-P4TOQYNN.js → parser-YWZGIU3C.js} +3 -3
  180. package/dist/{parser-337TACHB.js → parser-ZFLSULFC.js} +3 -3
  181. package/dist/{parser-7OEE7QT6.js → parser-ZR7JAKSW.js} +2 -2
  182. package/dist/{renderer-CHQZES6G.js → renderer-3N64GVNM.js} +2 -2
  183. package/dist/{renderer-JR2XNZAH.js → renderer-43IVPARP.js} +5 -5
  184. package/dist/{renderer-J4OS77PK.js → renderer-4MEZYGU6.js} +3 -3
  185. package/dist/{renderer-IR5GGAPB.js → renderer-54GXA3UO.js} +11 -7
  186. package/dist/{renderer-7VQOKAII.js → renderer-7EAWN7MC.js} +6 -6
  187. package/dist/{renderer-QQHQY3GT.js → renderer-7SEXPBGM.js} +5 -5
  188. package/dist/{renderer-P4XCRNCY.js → renderer-B7B7BQM3.js} +9 -9
  189. package/dist/{renderer-7HOSI6JJ.js → renderer-I2LYSQBV.js} +4 -4
  190. package/dist/{renderer-6OQM32X3.js → renderer-IPDCAACY.js} +3 -3
  191. package/dist/{renderer-JRVY7HAD.js → renderer-J2LOMTBC.js} +4 -4
  192. package/dist/renderer-JUH6M3XF.js +46 -0
  193. package/dist/renderer-KY6O5JTX.js +80 -0
  194. package/dist/{renderer-FCXRDYSJ.js → renderer-LHTDI5RV.js} +7 -7
  195. package/dist/{renderer-XHEMXBQM.js → renderer-LWL3IJOF.js} +5 -5
  196. package/dist/{renderer-BLHN3RCY.js → renderer-MRMFYYZT.js} +2 -2
  197. package/dist/{renderer-DBNDLKPE.js → renderer-NCIDGJ2R.js} +7 -7
  198. package/dist/{renderer-3AD4NDF5.js → renderer-OPA4JJKX.js} +6 -6
  199. package/dist/{renderer-XFEZ5UBE.js → renderer-QMNC7TGN.js} +6 -6
  200. package/dist/{renderer-5GZNGZU5.js → renderer-QQNPJGAP.js} +9 -7
  201. package/dist/{renderer-CEIX5JPA.js → renderer-R7OYCJEA.js} +2 -2
  202. package/dist/{renderer-WQ654YT5.js → renderer-R7RK7FKI.js} +1 -1
  203. package/dist/{renderer-4JE5ORRO.js → renderer-RFP55AW7.js} +13 -10
  204. package/dist/{renderer-NAA7D33G.js → renderer-S3NFBJCY.js} +15 -11
  205. package/dist/{renderer-43ESBXVY.js → renderer-SD4ZHHAR.js} +8 -6
  206. package/dist/{renderer-WB75JME5.js → renderer-SE7Z5AOL.js} +6 -6
  207. package/dist/{renderer-YTEZK3GC.js → renderer-T2WUA7MC.js} +7 -7
  208. package/dist/{renderer-VYWCMRWA.js → renderer-TWKEZ3DD.js} +5 -5
  209. package/dist/{renderer-DCJ4AQ3N.js → renderer-U5PD72G7.js} +5 -5
  210. package/dist/{renderer-EAORWLVK.js → renderer-VCTKBUTR.js} +7 -7
  211. package/dist/{renderer-7L7J4DHO.js → renderer-VNZTWATB.js} +7 -6
  212. package/dist/{renderer-2ZQ6DPVD.js → renderer-YDNWK6RI.js} +2 -2
  213. package/dist/{renderer-VGQMJC5K.js → renderer-YDOWBIUB.js} +11 -10
  214. package/dist/{renderer-7MCC6GKH.js → renderer-YQPZ7O2C.js} +2 -2
  215. package/dist/{renderer-ZXQXRNDR.js → renderer-ZQ77CM6Y.js} +6 -6
  216. package/dist/{renderer-radial-NA5DVBG4.js → renderer-radial-TNNEL3YN.js} +5 -5
  217. package/dist/{resolver-XSXE2TRX.js → resolver-6DJLZF6Y.js} +1 -1
  218. package/dist/{state-parser-FE3RF6XY.js → state-parser-NIIVOU2Y.js} +4 -4
  219. package/dist/{state-renderer-4S2C2CHB.js → state-renderer-TVLEG32M.js} +14 -10
  220. package/dist/{themes-CzuBdx1T.d.ts → themes-Cm2YBcT8.d.ts} +38 -2
  221. package/docs/ai-integration.md +4 -3
  222. package/docs/language-reference.md +162 -12
  223. package/gallery/fixtures/sketch.dgmo +2 -2
  224. package/gallery/fixtures/whiteboard.dgmo +18 -0
  225. package/package.json +2 -1
  226. package/dist/chunk-6EK55ART.js +0 -116
  227. package/dist/chunk-HTNLLT34.js +0 -72
  228. package/dist/dgmo-router-7WANZOBD.js +0 -92
  229. package/dist/renderer-TJJGFQGT.js +0 -78
  230. package/dist/{chunk-3FCSOYN4.js → chunk-5P2L5QXE.js} +0 -0
  231. package/dist/{chunk-HJRP6PXL.js → chunk-BQVTV4LB.js} +0 -0
  232. package/dist/{chunk-LYRDIVSY.js → chunk-GLCMUTO5.js} +0 -0
  233. package/dist/{chunk-5LE2CTLS.js → chunk-NTJ5HVV6.js} +3 -3
@@ -1,13 +1,14 @@
1
1
  import { D as DgmoError, P as PaletteConfig, T as TagGroup, a as PaletteColors, C as CompactViewState, g as TagEntry } from './tag-groups-fgxWTyyB.js';
2
2
  export { h as DecodedDiagramUrl, c as DgmoSeverity, i as EncodeDiagramUrlOptions, j as EncodeDiagramUrlResult, k as autoTagColorCycle, l as decodeDiagramUrl, m as decodeViewState, n as encodeDiagramUrl, o as encodeViewState, f as formatDgmoError, p as makeDgmoError, r as resolveActiveTagGroup, q as resolveTagColor, s as resolveTagValue, t as tagAttrKey } from './tag-groups-fgxWTyyB.js';
3
- import { M as MapDataSource, P as ParsedMap, b as MapData, d as ResolvedMap, e as MapLayoutLegend, f as GeoExtent } from './d3-B6524aaP.js';
4
- export { A as AirportData, B as BoundaryTopology, G as Gazetteer, a as GazetteerEntry, g as MapDirectives, h as MapEdge, i as MapPoi, j as MapRegion, k as MapRoute, l as PoiPos, m as ProjectionFamily, R as RegionName, c as RegionNames, n as ResolvedEdge, o as ResolvedPoi, p as ResolvedRegion, q as ResolvedRoute, r as renderForExport } from './d3-B6524aaP.js';
5
- export { C as ChartTypeId, a as ChartTypeMeta, c as chartTypes, b as getAvailablePalettes, g as getPalette, i as isValidHex, d as registerPalette } from './chart-types-Bf8C5QQW.js';
6
- export { C as CHART_TYPE_DESCRIPTIONS, M as MapCompletionOptions, a as MapLocationMatch, b as MapPlaceCompletion, c as MapRegionCompletion, R as RenderCategory, T as Theme, g as chartTypeParsers, d as completeMapPlaces, e as completeMapRegions, h as getAllChartTypes, i as getRenderCategory, j as isExtendedChartType, k as knownChartTypeIds, p as palettes, f as parseDgmo, s as searchMapLocations, t as themes, f as validate } from './themes-CzuBdx1T.js';
3
+ import { M as MapDataSource, b as MapData, P as ParsedMap, d as ResolvedMap, e as MapLayoutLegend, f as GeoExtent } from './d3-2S3PrXik.js';
4
+ export { A as AirportData, B as BoundaryTopology, G as Gazetteer, a as GazetteerEntry, g as MapDirectives, h as MapEdge, i as MapPoi, j as MapRegion, k as MapRoute, l as PoiPos, m as ProjectionFamily, R as RegionName, c as RegionNames, n as ResolvedEdge, o as ResolvedPoi, p as ResolvedRegion, q as ResolvedRoute, r as renderForExport } from './d3-2S3PrXik.js';
5
+ export { C as ChartTypeId, a as ChartTypeMeta, c as chartTypes, b as getAvailablePalettes, g as getPalette, i as isValidHex, d as registerPalette } from './chart-types-V2NcgN5O.js';
6
+ import { c as InkPoint } from './themes-Cm2YBcT8.js';
7
+ 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-Cm2YBcT8.js';
7
8
  import { Selection } from 'd3-selection';
8
9
  import * as d3Scale from 'd3-scale';
9
- import { P as ParsedOrg, F as FillMode, R as RaciMarker, a as ParsedRaci, b as RaciVariant, c as RaciTask } from './chart-meta-Bev5Ebjr.js';
10
- 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-Bev5Ebjr.js';
10
+ import { P as ParsedOrg, F as FillMode, R as RaciMarker, a as ParsedRaci, b as RaciVariant, c as RaciTask } from './chart-meta-B_WTMP0y.js';
11
+ 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-B_WTMP0y.js';
11
12
  import { GeoProjection } from 'd3-geo';
12
13
 
13
14
  /**
@@ -370,9 +371,16 @@ declare function renderQuadrant(container: HTMLDivElement, parsed: ParsedQuadran
370
371
  * Rust: 25`);
371
372
  * ```
372
373
  */
373
- declare function render(content: string, options?: {
374
+ declare function render(source: string, options?: {
374
375
  theme?: 'light' | 'dark' | 'transparent';
376
+ /** The caller's default palette id — the file's own `palette` line beats it. */
375
377
  palette?: string;
378
+ /**
379
+ * A palette id that beats the file's own `palette` line: a deliberate
380
+ * per-embed choice (a fence attribute, a CLI flag). Who wins, highest
381
+ * first: this, the file's palette, `palette`, Slate (#1035).
382
+ */
383
+ paletteOverride?: string;
376
384
  c4Level?: 'context' | 'containers' | 'components' | 'deployment';
377
385
  c4System?: string;
378
386
  c4Container?: string;
@@ -413,6 +421,21 @@ declare function render(content: string, options?: {
413
421
  */
414
422
  width?: number;
415
423
  height?: number;
424
+ /**
425
+ * Whiteboard images: turn an image ref — a relative path such as
426
+ * `board.assets/9f3c.webp`, or an `https://` URL — into an href (a data
427
+ * URI or a URL). When supplied its answer is final, and `undefined` draws
428
+ * a plain box labelled "image not uploaded". When omitted, `https://` refs
429
+ * pass through and everything else is that box. Never an error. Every
430
+ * other chart type ignores this option.
431
+ */
432
+ resolveImage?: (ref: string) => string | undefined;
433
+ /**
434
+ * Whiteboard sticky notes: `true` draws them and `false` hides them,
435
+ * whatever the board's `no-notes` says. Omitted, the directive decides.
436
+ * Every other chart type ignores this option.
437
+ */
438
+ showNotes?: boolean;
416
439
  }): Promise<{
417
440
  svg: string;
418
441
  diagnostics: DgmoError[];
@@ -2235,9 +2258,6 @@ interface BLCollapseResult {
2235
2258
  */
2236
2259
  declare function collapseBoxesAndLines(parsed: ParsedBoxesAndLines, collapsedGroups: Set<string>): BLCollapseResult;
2237
2260
 
2238
- /** Closed shape lexicon — rectangle is the default and never written. */
2239
- declare const SKETCH_SHAPE_KINDS: readonly ["rectangle", "database", "queue", "person", "document", "note"];
2240
- type SketchShapeKind = (typeof SKETCH_SHAPE_KINDS)[number];
2241
2261
  /** Half-slot lattice position (spec §31.3). Box children are box-relative. */
2242
2262
  interface SketchAt {
2243
2263
  readonly c: number;
@@ -2248,10 +2268,9 @@ interface SketchNode {
2248
2268
  readonly id: string;
2249
2269
  readonly label: string;
2250
2270
  readonly alias?: string;
2251
- readonly shape: SketchShapeKind;
2252
2271
  /** null → flow auto-place at layout */
2253
2272
  readonly at: SketchAt | null;
2254
- /** tag metadata only (shape/at/alias are lifted out) */
2273
+ /** tag metadata only (at/alias are lifted out) */
2255
2274
  readonly metadata: Record<string, string>;
2256
2275
  /** Free-text markdown description (indented `>` lines under the shape).
2257
2276
  * Newline-joined; a small markdown subset renders in the card body. */
@@ -2326,7 +2345,6 @@ interface ParsedSketch {
2326
2345
  readonly diagnostics: readonly DgmoError[];
2327
2346
  readonly error: string | null;
2328
2347
  }
2329
- declare function isSketchShapeKind(value: string): value is SketchShapeKind;
2330
2348
 
2331
2349
  declare function parseSketch(content: string, palette?: PaletteColors): ParsedSketch;
2332
2350
 
@@ -2360,7 +2378,6 @@ declare function sameSketch(a: ParsedSketch, b: ParsedSketch): boolean;
2360
2378
  interface SketchLayoutNode {
2361
2379
  readonly id: string;
2362
2380
  readonly label: string;
2363
- readonly shape: SketchShapeKind;
2364
2381
  readonly metadata: Record<string, string>;
2365
2382
  readonly description?: string;
2366
2383
  readonly boxLabel?: string;
@@ -2500,6 +2517,15 @@ interface SketchEdgeGeometry {
2500
2517
  /** Visible stroke path WITH crossing-hops, when this edge hops another. The
2501
2518
  * renderer draws this if present; everything else still uses `d`. */
2502
2519
  dRender?: string;
2520
+ /**
2521
+ * Every point on THIS line where a hop is drawn — by this line over another,
2522
+ * or by another over this one. Absent when there are none. A label must not
2523
+ * sit on one (#1217); `sketchLabelSpot` is the shared rule.
2524
+ */
2525
+ hops?: {
2526
+ x: number;
2527
+ y: number;
2528
+ }[];
2503
2529
  /**
2504
2530
  * The same cubic as four points — start, its handle, the end's handle, end.
2505
2531
  *
@@ -2577,6 +2603,20 @@ declare function sketchEdgeGeometry(layout: SketchEdgeBoard, offsets?: ReadonlyM
2577
2603
  dx: number;
2578
2604
  dy: number;
2579
2605
  }>): Array<SketchEdgeGeometry | null>;
2606
+ /**
2607
+ * Where a line's label goes: the point on the line nearest its midpoint whose
2608
+ * label box, `halfW` by `halfH` either side, clears every hop on the line.
2609
+ * Returns `mid` when the line has no hops or nothing nearby is clear.
2610
+ *
2611
+ * 🔴 For the app's canvas, which puts a label at `mid` and sizes it itself.
2612
+ * dgmo's own renderer needs no call: its declutter keeps a label off every
2613
+ * other line, and a hop is always where another line crosses. Recomputing the
2614
+ * hops in the app would drift the first time the clearance changed (#1217).
2615
+ */
2616
+ declare function sketchLabelSpot(g: Pick<SketchEdgeGeometry, 'mid' | 'hops' | 'p0' | 'h0' | 'h1' | 'p1'>, halfW: number, halfH: number): {
2617
+ x: number;
2618
+ y: number;
2619
+ };
2580
2620
  /** Export wrapper — the b&l precedent (thin spread). */
2581
2621
  declare function renderSketchForExport(container: HTMLDivElement, parsed: ParsedSketch, layout: SketchLayout, palette: PaletteColors, isDark: boolean, options?: {
2582
2622
  exportDims?: {
@@ -2607,6 +2647,386 @@ interface SketchCollapseResult {
2607
2647
  */
2608
2648
  declare function collapseSketch(parsed: Pick<ParsedSketch, 'nodes' | 'edges' | 'boxes'>, collapsedLabels?: ReadonlySet<string>): SketchCollapseResult;
2609
2649
 
2650
+ /**
2651
+ * Colour NAMES — never values. `ink` is the palette's text colour, so it flips
2652
+ * near-black ↔ near-white with the theme; every other name takes the palette's
2653
+ * own light or dark shade of that hue. `ink` is the default and never written
2654
+ * on a shape, arrow or text line.
2655
+ */
2656
+ declare const WHITEBOARD_COLORS: readonly ["ink", "red", "green", "blue", "teal", "purple", "orange", "yellow", "cyan", "gray"];
2657
+ type WhiteboardColor = (typeof WHITEBOARD_COLORS)[number];
2658
+ /** Boxed shapes — position + size + optional centred label. */
2659
+ declare const WHITEBOARD_SHAPE_KINDS: readonly ["rectangle", "ellipse", "database", "queue"];
2660
+ type WhiteboardShapeKind = (typeof WHITEBOARD_SHAPE_KINDS)[number];
2661
+ /** Every line-leading element keyword, in spec order. */
2662
+ declare const WHITEBOARD_ELEMENT_KEYWORDS: readonly ["rectangle", "ellipse", "database", "queue", "note", "arrow", "line", "text", "image", "ink"];
2663
+ /**
2664
+ * Stroke styles for arrows and lines. `solid` is the default and never
2665
+ * written; `style:` in source accepts only the other values.
2666
+ */
2667
+ declare const WHITEBOARD_STROKE_STYLES: readonly ["solid", "dashed"];
2668
+ type WhiteboardStrokeStyle = (typeof WHITEBOARD_STROKE_STYLES)[number];
2669
+ /**
2670
+ * How a boxed shape is filled. `tint` (a pale wash of its colour) is the
2671
+ * default and never written; `solid` fills with the colour itself; `outline`
2672
+ * leaves the inside empty, so whatever is behind shows through. The same
2673
+ * three words as the other diagram types' `fill-*` family.
2674
+ */
2675
+ declare const WHITEBOARD_FILLS: readonly ["tint", "solid", "outline"];
2676
+ type WhiteboardFill = (typeof WHITEBOARD_FILLS)[number];
2677
+ /**
2678
+ * Which ends of an arrow carry a head. `end` (at `to:`) is the default and
2679
+ * never written; `both` is written `heads: both`. A head at `from:` alone is
2680
+ * never stored — the canvas swaps the ends and writes an `end` arrow.
2681
+ */
2682
+ declare const WHITEBOARD_HEADS: readonly ["end", "both"];
2683
+ type WhiteboardHeads = (typeof WHITEBOARD_HEADS)[number];
2684
+ interface WhiteboardShape {
2685
+ readonly kind: 'shape';
2686
+ readonly shape: WhiteboardShapeKind;
2687
+ /** Top-left corner, canvas px. */
2688
+ readonly x: number;
2689
+ readonly y: number;
2690
+ readonly width: number;
2691
+ readonly height: number;
2692
+ /** Centred label; '' for none. */
2693
+ readonly label: string;
2694
+ readonly color: WhiteboardColor;
2695
+ /** How the inside is filled; `tint` unless `fill:` says otherwise. */
2696
+ readonly fill: WhiteboardFill;
2697
+ readonly lineNumber: number;
2698
+ }
2699
+ /** A sticky note's size when `size:` is left off, px. */
2700
+ declare const WHITEBOARD_NOTE_WIDTH = 160;
2701
+ declare const WHITEBOARD_NOTE_HEIGHT = 99;
2702
+ /** A sticky note's colour when `color:` is left off. */
2703
+ declare const WHITEBOARD_NOTE_COLOR: WhiteboardColor;
2704
+ /**
2705
+ * A sticky note: a tinted card with its text top-left, wrapped to the card.
2706
+ * Notes are an overlay layer — `no-notes` (or the `showNotes` render option)
2707
+ * hides every one. An arrow or line end inside a note attaches to it.
2708
+ */
2709
+ interface WhiteboardNote {
2710
+ readonly kind: 'note';
2711
+ /** Top-left corner, canvas px. */
2712
+ readonly x: number;
2713
+ readonly y: number;
2714
+ readonly width: number;
2715
+ readonly height: number;
2716
+ /** The note's text; '' for an empty note. */
2717
+ readonly text: string;
2718
+ readonly color: WhiteboardColor;
2719
+ readonly lineNumber: number;
2720
+ }
2721
+ /** An arrow, point to point. Head at `to`. An end inside a shape attaches to it (`./geometry`). */
2722
+ interface WhiteboardArrow {
2723
+ readonly kind: 'arrow';
2724
+ readonly x1: number;
2725
+ readonly y1: number;
2726
+ readonly x2: number;
2727
+ readonly y2: number;
2728
+ /** Label at the midpoint; '' for none. */
2729
+ readonly label: string;
2730
+ readonly color: WhiteboardColor;
2731
+ readonly style: WhiteboardStrokeStyle;
2732
+ /** Which ends carry a head; `end` unless `heads: both`. */
2733
+ readonly heads: WhiteboardHeads;
2734
+ /**
2735
+ * How far the middle of the drawn curve sits from the straight chord, px,
2736
+ * to the right of travel from `from:` to `to:` on screen (y down); 0 is
2737
+ * straight. One bend only: the connector is a quadratic curve.
2738
+ */
2739
+ readonly bend: number;
2740
+ readonly lineNumber: number;
2741
+ }
2742
+ /** A free line: an arrow without a head. */
2743
+ interface WhiteboardLine {
2744
+ readonly kind: 'line';
2745
+ readonly x1: number;
2746
+ readonly y1: number;
2747
+ readonly x2: number;
2748
+ readonly y2: number;
2749
+ /** Label at the midpoint; '' for none. */
2750
+ readonly label: string;
2751
+ readonly color: WhiteboardColor;
2752
+ readonly style: WhiteboardStrokeStyle;
2753
+ /**
2754
+ * How far the middle of the drawn curve sits from the straight chord, px,
2755
+ * to the right of travel from `from:` to `to:` on screen (y down); 0 is
2756
+ * straight. One bend only: the connector is a quadratic curve.
2757
+ */
2758
+ readonly bend: number;
2759
+ readonly lineNumber: number;
2760
+ }
2761
+ /** Free text. `x`/`y` is the top-left of its first line. */
2762
+ interface WhiteboardText {
2763
+ readonly kind: 'text';
2764
+ readonly x: number;
2765
+ readonly y: number;
2766
+ readonly text: string;
2767
+ readonly color: WhiteboardColor;
2768
+ readonly lineNumber: number;
2769
+ }
2770
+ /**
2771
+ * A pasted picture. `ref` is a relative path (`<diagram>.assets/<hash>.webp`)
2772
+ * or an `https://` URL; the renderer asks the host to resolve it and draws a
2773
+ * placeholder box when nobody can.
2774
+ */
2775
+ interface WhiteboardImage {
2776
+ readonly kind: 'image';
2777
+ readonly ref: string;
2778
+ readonly x: number;
2779
+ readonly y: number;
2780
+ readonly width: number;
2781
+ readonly height: number;
2782
+ readonly lineNumber: number;
2783
+ }
2784
+ /** One freehand stroke. `encoded` is kept verbatim so emit is byte-stable. */
2785
+ interface WhiteboardInk {
2786
+ readonly kind: 'ink';
2787
+ readonly color: WhiteboardColor;
2788
+ /** Nominal pen diameter, px (may be fractional). */
2789
+ readonly width: number;
2790
+ readonly encoded: string;
2791
+ readonly points: readonly InkPoint[];
2792
+ readonly lineNumber: number;
2793
+ }
2794
+ type WhiteboardElement = WhiteboardShape | WhiteboardNote | WhiteboardArrow | WhiteboardLine | WhiteboardText | WhiteboardImage | WhiteboardInk;
2795
+ interface WhiteboardOptions {
2796
+ /** §1.9 `no-title` — keep the title in the source, do not draw it. */
2797
+ readonly noTitle: boolean;
2798
+ /** `no-notes` — keep the sticky notes in the source, do not draw them. */
2799
+ readonly noNotes: boolean;
2800
+ }
2801
+ interface ParsedWhiteboard {
2802
+ readonly type: 'whiteboard';
2803
+ readonly title: string | null;
2804
+ readonly titleLineNumber: number | null;
2805
+ /** Source order = draw order. */
2806
+ readonly elements: readonly WhiteboardElement[];
2807
+ readonly options: WhiteboardOptions;
2808
+ readonly diagnostics: readonly DgmoError[];
2809
+ readonly error: string | null;
2810
+ }
2811
+ declare function isWhiteboardColor(value: string): value is WhiteboardColor;
2812
+ declare function isWhiteboardShapeKind(value: string): value is WhiteboardShapeKind;
2813
+
2814
+ /** Is `ref` a relative path or an https URL (the only two image forms)? */
2815
+ declare function isWhiteboardImageRef(ref: string): boolean;
2816
+ declare function parseWhiteboard(content: string, _palette?: PaletteColors): ParsedWhiteboard;
2817
+
2818
+ /** One element's source — its line, plus body lines for a multi-line label. */
2819
+ declare function emitWhiteboardElement(el: WhiteboardElement): string;
2820
+ /** The whole board as canonical source, ending in a newline. */
2821
+ declare function emitWhiteboard(board: ParsedWhiteboard): string;
2822
+ /** Structural equality ignoring line numbers and decoded points. */
2823
+ declare function sameWhiteboard(a: ParsedWhiteboard, b: ParsedWhiteboard): boolean;
2824
+
2825
+ /**
2826
+ * Leg of a sticky note's folded corner: its top-right corner is cut on the
2827
+ * diagonal this far along each edge. Shared by the renderer, the connector
2828
+ * clip and the app canvas.
2829
+ */
2830
+ declare function whiteboardNoteFold(width: number, height: number): number;
2831
+ /** An element a connector end can attach to: a shape or a sticky note. */
2832
+ type WhiteboardAttachable = WhiteboardShape | WhiteboardNote;
2833
+ interface WhiteboardPoint {
2834
+ readonly x: number;
2835
+ readonly y: number;
2836
+ }
2837
+ /**
2838
+ * A drawn connector, `x1 y1` the tail and `x2 y2` the head end. A bent
2839
+ * connector also carries `cx cy`, the control point of the quadratic curve
2840
+ * it is drawn along; a straight one has none.
2841
+ */
2842
+ interface WhiteboardSegment {
2843
+ readonly x1: number;
2844
+ readonly y1: number;
2845
+ readonly x2: number;
2846
+ readonly y2: number;
2847
+ readonly cx?: number;
2848
+ readonly cy?: number;
2849
+ }
2850
+ /** Element indices of the shapes each end is attached to; -1 for a free end. */
2851
+ interface WhiteboardConnectorAttachments {
2852
+ readonly from: number;
2853
+ readonly to: number;
2854
+ }
2855
+ /** Whether `point` lies inside (or on) the shape's or note's drawn outline. */
2856
+ declare function whiteboardShapeContains(shape: WhiteboardAttachable, point: WhiteboardPoint): boolean;
2857
+ /**
2858
+ * Index in `elements` of the topmost shape or sticky note containing `point`
2859
+ * — the one latest in the file — or -1 when the point is on none.
2860
+ */
2861
+ declare function whiteboardShapeAt(point: WhiteboardPoint, elements: readonly WhiteboardElement[]): number;
2862
+ /**
2863
+ * Which shape each end of `connector` is attached to. An end attaches to the
2864
+ * topmost shape containing it — unless the other end lies inside that same
2865
+ * shape, in which case the end stays free.
2866
+ */
2867
+ declare function whiteboardConnectorAttachments(connector: WhiteboardArrow | WhiteboardLine, elements: readonly WhiteboardElement[]): WhiteboardConnectorAttachments;
2868
+ /**
2869
+ * The segment a connector is DRAWN along: each attached end aimed at its
2870
+ * shape's centre — wherever inside the shape the stored point sits — then
2871
+ * pulled back to where the segment first crosses that shape's outline, so an
2872
+ * arrowhead sits on the border and a plain line meets the edge. Falls back to
2873
+ * the stored segment when it has no length, or when clipping both ends would
2874
+ * leave nothing (the ends' shapes overlap along it).
2875
+ */
2876
+ declare function clipWhiteboardConnector(connector: WhiteboardArrow | WhiteboardLine, elements: readonly WhiteboardElement[]): WhiteboardSegment;
2877
+ /**
2878
+ * Where a connector's bend handle sits: on the curve, halfway along it —
2879
+ * `bend` px off the middle of the aimed chord. A straight connector's handle
2880
+ * is the chord's midpoint.
2881
+ */
2882
+ declare function whiteboardBendHandle(connector: WhiteboardArrow | WhiteboardLine, elements: readonly WhiteboardElement[]): WhiteboardPoint;
2883
+ /**
2884
+ * The `bend:` that puts the handle nearest `p` — its signed distance from the
2885
+ * aimed chord, rounded to a whole px. Callers snap small values to 0.
2886
+ */
2887
+ declare function whiteboardBendFor(connector: WhiteboardArrow | WhiteboardLine, elements: readonly WhiteboardElement[], p: WhiteboardPoint): number;
2888
+ /**
2889
+ * The point a connector's label is centred on: halfway along what is drawn —
2890
+ * the segment's midpoint, or the curve's point at t = ½.
2891
+ */
2892
+ declare function whiteboardSegmentMidpoint(s: WhiteboardSegment): WhiteboardPoint;
2893
+
2894
+ interface WhiteboardRenderOptions {
2895
+ /**
2896
+ * Turn an image ref into an `href` (a data URI or a URL). When supplied, its
2897
+ * answer is final: `undefined` draws the placeholder box. When omitted,
2898
+ * `https://` refs pass through unchanged and anything else is a placeholder.
2899
+ */
2900
+ readonly resolveImage?: (ref: string) => string | undefined;
2901
+ /**
2902
+ * Draw the sticky notes, overriding the board's `no-notes` directive either
2903
+ * way — the app's notes toggle and its export pass this. Omitted, the
2904
+ * directive decides: notes show unless the board says `no-notes`. Hidden
2905
+ * notes are left out entirely — not drawn, not counted in the crop — and so
2906
+ * is every arrow or line with an end on one.
2907
+ */
2908
+ readonly showNotes?: boolean;
2909
+ }
2910
+ /**
2911
+ * Whole-board indices of the elements a render draws, in order: every
2912
+ * element, less the sticky notes when they are hidden (see
2913
+ * {@link WhiteboardRenderOptions.showNotes}) and less every arrow or line with
2914
+ * an end on a hidden note — a connector drawn from a note goes with it, label
2915
+ * and all. Attachment is read on the WHOLE board, so an end the note held is
2916
+ * not re-attached to whatever lies beneath it.
2917
+ */
2918
+ declare function visibleWhiteboardIndices(parsed: ParsedWhiteboard, options?: Pick<WhiteboardRenderOptions, 'showNotes'>): number[];
2919
+ /**
2920
+ * The elements a render draws, in order — {@link visibleWhiteboardIndices},
2921
+ * as elements.
2922
+ */
2923
+ declare function visibleWhiteboardElements(parsed: ParsedWhiteboard, options?: Pick<WhiteboardRenderOptions, 'showNotes'>): readonly WhiteboardElement[];
2924
+ /** Placeholder text for an image no host could resolve. */
2925
+ declare const IMAGE_NOT_UPLOADED = "image not uploaded";
2926
+ interface Bounds {
2927
+ minX: number;
2928
+ minY: number;
2929
+ maxX: number;
2930
+ maxY: number;
2931
+ }
2932
+ /** Content bounds of every drawn element, in canvas px. */
2933
+ declare function whiteboardBounds(parsed: ParsedWhiteboard, options?: Pick<WhiteboardRenderOptions, 'showNotes'>): Bounds;
2934
+ /** What to draw for a connector: one stroke (a line or a curve) and its heads. */
2935
+ interface WhiteboardConnectorPaint {
2936
+ /** A straight stroke, coordinates rounded to 0.01 px. */
2937
+ readonly line?: {
2938
+ readonly x1: number;
2939
+ readonly y1: number;
2940
+ readonly x2: number;
2941
+ readonly y2: number;
2942
+ };
2943
+ /** A curved stroke, as one `M … Q …` path. */
2944
+ readonly path?: string;
2945
+ /** Each head as a polygon `points` string, tip first. */
2946
+ readonly heads: readonly string[];
2947
+ }
2948
+ /**
2949
+ * The stroke and heads of a drawn connector — the renderer and the app canvas
2950
+ * both draw from this, so they cannot disagree. The stroke stops at each
2951
+ * head's base; a head on a curve points along the bit of curve it covers.
2952
+ */
2953
+ declare function whiteboardConnectorPaint(s: WhiteboardSegment, heads: {
2954
+ readonly start: boolean;
2955
+ readonly end: boolean;
2956
+ }): WhiteboardConnectorPaint;
2957
+ /** The outline polygon perfect-freehand produces, as an SVG path. */
2958
+ declare function inkOutlinePath(points: readonly InkPoint[], width: number): string;
2959
+ declare function renderWhiteboard(container: HTMLDivElement, parsed: ParsedWhiteboard, palette: PaletteColors, isDark: boolean, options?: WhiteboardRenderOptions): void;
2960
+
2961
+ /** Sticky note text font size, px — smaller than a shape label. */
2962
+ declare const WHITEBOARD_NOTE_FONT = 12;
2963
+ /** Smallest font a label shrinks to before it is cut, px. */
2964
+ declare const WHITEBOARD_LABEL_MIN_FONT = 9;
2965
+ /**
2966
+ * What the wrap needs to know about a shape or sticky note: its kind and its
2967
+ * width. A whole `WhiteboardShape` or `WhiteboardNote` fits.
2968
+ */
2969
+ type WhiteboardLabelBox = Pick<WhiteboardShape, 'shape' | 'width'> | Pick<WhiteboardNote, 'kind' | 'width'>;
2970
+ /** Width a label wraps to inside `box`, px. */
2971
+ declare function whiteboardLabelWidth(box: WhiteboardLabelBox): number;
2972
+ /**
2973
+ * How far a label's centre sits right of its box's centre, px (negative is
2974
+ * left). A queue's readable body is off-centre — its front cap takes twice the
2975
+ * room its back cap does — so its label moves left by half a cap. Every other
2976
+ * shape's label is centred.
2977
+ */
2978
+ declare function whiteboardLabelShift(box: WhiteboardLabelBox): number;
2979
+ /** What the fit needs: a label box plus its height. */
2980
+ type WhiteboardFitBox = WhiteboardLabelBox & Pick<WhiteboardShape, 'height'>;
2981
+ /** Height a label fits inside `box`, px — the box less its padding, an
2982
+ * ellipse's curve and a database's two caps. Never below zero. */
2983
+ declare function whiteboardLabelHeight(box: WhiteboardFitBox): number;
2984
+ /**
2985
+ * The lines a shape label or a sticky note's text is drawn as: each written
2986
+ * line wrapped to the inner width at its font — the label font for a shape,
2987
+ * `WHITEBOARD_NOTE_FONT` for a note. An empty written line stays one empty
2988
+ * drawn line. `''` gives `[]`.
2989
+ */
2990
+ declare function wrapWhiteboardLabel(label: string, box: WhiteboardLabelBox): string[];
2991
+ /**
2992
+ * The lines a shape label or a sticky note's text is DRAWN as, and the font
2993
+ * they are drawn at. From the full size (`WHITEBOARD_LABEL_FONT`, a note's
2994
+ * `WHITEBOARD_NOTE_FONT`) down to `WHITEBOARD_LABEL_MIN_FONT`, the first size
2995
+ * whose wrap fits the inner box in both width and height wins. At the floor,
2996
+ * a word wider than the box breaks inside itself, and lines past the last one
2997
+ * that fits are dropped, the last kept line ending in `…`. At least one line
2998
+ * is always kept. `''` gives no lines.
2999
+ *
3000
+ * A sticky note that overflows at the floor gives up most of its vertical
3001
+ * padding first, and its last line needs only its own font height, so it
3002
+ * shows as much text as the card can hold. `top` is how far below the note's
3003
+ * top edge its text block starts; a shape centres its block and ignores it.
3004
+ */
3005
+ declare function fitWhiteboardLabel(label: string, box: WhiteboardFitBox): {
3006
+ lines: string[];
3007
+ font: number;
3008
+ top: number;
3009
+ };
3010
+
3011
+ /** A database's (cylinder's) cap, half-height. */
3012
+ declare const CYLINDER_RY = 8;
3013
+ /**
3014
+ * Half-width of a queue's end caps — a cylinder on its side (#654).
3015
+ *
3016
+ * The same deal as `CLOUD_BUMP`, on the other axis:
3017
+ * `computeC4NodeDimensions` adds `QUEUE_CAP * 2` to the width, so the caps
3018
+ * never sit under the name.
3019
+ *
3020
+ * 🔴 It was 8 and that was too shallow to READ — measured by rendering it,
3021
+ * not by reasoning about it. `CARD_RADIUS` is 6, so an 8px cap on a 250px
3022
+ * card is within a couple of pixels of the rounding every plain card already
3023
+ * has, and the queue came out indistinguishable from a box with no override:
3024
+ * the exact defect this change exists to fix, reintroduced at a smaller
3025
+ * scale. A shape override has to be legible at a glance or it is not an
3026
+ * override.
3027
+ */
3028
+ declare const QUEUE_CAP = 16;
3029
+
2610
3030
  declare const SKETCH_GEOMETRY: {
2611
3031
  /** px per grid cell (the dot-grid pitch) */
2612
3032
  readonly cellPx: 16;
@@ -6056,6 +6476,108 @@ interface BlockLayoutOptions {
6056
6476
  }
6057
6477
  declare function layoutBlock(grid: BlockGrid, opts?: BlockLayoutOptions): BlockLayoutResult;
6058
6478
 
6479
+ declare const FLOWCHART_STRUCTURE_CODE = "E_FLOWCHART_STRUCTURE";
6480
+ /**
6481
+ * Hard-error diagnostics for a flowchart that breaks the structural rules
6482
+ * above. Empty = structurally valid, or not enough graph to judge.
6483
+ */
6484
+ declare function validateFlowchartStructure(dgmo: string): DgmoError[];
6485
+ interface DiagramValidation {
6486
+ chartType: string | null;
6487
+ /** Blocking: severity `error`, plus every invalid colour. */
6488
+ errors: DgmoError[];
6489
+ warnings: DgmoError[];
6490
+ }
6491
+ interface ValidateDiagramOptions {
6492
+ /**
6493
+ * Map data, for `map` sources. Place names, routes and references are
6494
+ * resolved (and errored) only by `resolveMap`; without it a map is checked
6495
+ * by the parser alone, which misses an unknown place. Supplied by the host
6496
+ * because loading it differs between Node and the browser.
6497
+ */
6498
+ mapData?: MapData;
6499
+ }
6500
+ /** Every diagnostic an agent should hear about, split into blocking and not. */
6501
+ declare function validateDiagram(source: string, options?: ValidateDiagramOptions): DiagramValidation;
6502
+ /** The text both MCP servers return, and whether it is an error result. */
6503
+ declare function formatDiagramValidation(v: DiagramValidation): {
6504
+ text: string;
6505
+ isError: boolean;
6506
+ };
6507
+
6508
+ /**
6509
+ * Parse the `<!-- TYPE-ALIASES: a=b c=b ... -->` map. Grouped data-chart /
6510
+ * matrix ids (line, pie, raci, …) share another id's documented block.
6511
+ */
6512
+ declare function parseTypeAliases(markdown: string): Map<string, string>;
6513
+ /**
6514
+ * Extract the universal color rule (the closed 11-name palette + the explicit
6515
+ * "no hex / no CSS color names" guidance) from the language reference. It lives
6516
+ * between `<!-- COLORS start -->` / `<!-- COLORS end -->` inside the
6517
+ * ANTIPATTERNS block. Returned so per-type slices — which omit the ANTIPATTERNS
6518
+ * core — can still carry the color contract for EVERY chart type. Returns null
6519
+ * if the markers are absent (older bundled reference).
6520
+ */
6521
+ declare function extractColorRule(markdown: string): string | null;
6522
+ /**
6523
+ * Extract the universal "always title the diagram" rule (the `<!-- TITLE start -->`
6524
+ * / `<!-- TITLE end -->` block inside the STYLING core). Like the color rule, it
6525
+ * is prepended to EVERY per-type slice so the model is told to title every
6526
+ * diagram regardless of type — the STYLING core itself never rides the slice.
6527
+ * Returns null if the markers are absent (older bundled reference).
6528
+ */
6529
+ declare function extractTitleRule(markdown: string): string | null;
6530
+ /**
6531
+ * Extract the universal "categorize and color by a tag group" rule (the
6532
+ * `<!-- CATEGORIZE start -->` / `<!-- CATEGORIZE end -->` block inside the
6533
+ * STYLING core). Like the color + title rules it is prepended to EVERY per-type
6534
+ * slice so the model is pushed to find a categorization axis and color by it for
6535
+ * every diagram. Returns null if the markers are absent (older bundled reference).
6536
+ */
6537
+ declare function extractCategorizeRule(markdown: string): string | null;
6538
+ /**
6539
+ * Slice the per-type block for `chartType`, resolving aliases first. A block
6540
+ * runs from just after its `<!-- TYPE:<id> -->` marker to the next TYPE marker
6541
+ * or the next `^## ` (H2) heading, whichever comes first. The opening TYPE
6542
+ * marker is a purely structural anchor — it is EXCLUDED from the returned slice
6543
+ * so it never reaches a consumer (the model would otherwise echo it verbatim as
6544
+ * the first line of its generated diagram). Returns null when no anchor resolves
6545
+ * (the id has neither a literal marker nor an alias).
6546
+ */
6547
+ declare function extractSection(markdown: string, chartType: string): string | null;
6548
+ /**
6549
+ * A chart type's reference block with the universal rules in front: the
6550
+ * closed colour set, always-title, categorize-and-colour. A per-type slice
6551
+ * omits the cores those live in, so without this the model never sees them.
6552
+ * TIPS delimiter comments are stripped so no scaffolding is echoed into a
6553
+ * generated diagram. Null when the type has no documented block.
6554
+ */
6555
+ declare function referenceForChartType(markdown: string, chartType: string): string | null;
6556
+ /**
6557
+ * The chart types an agent may offer, as `list_chart_types` prints them.
6558
+ * An `internal` type routes but is never offered (nobody hand-authors a
6559
+ * live-link); a `beta` type is offered and marked, so a model choosing it on
6560
+ * someone's behalf can say it is unfinished.
6561
+ */
6562
+ declare function formatChartTypeList(): string;
6563
+ /**
6564
+ * Whether a gallery example belongs to `chartType`. Names are paths relative
6565
+ * to gallery/fixtures without `.dgmo`: `<type>` or `<type>-*` at the top
6566
+ * level, or anything under a `<type>/` directory.
6567
+ */
6568
+ declare function isExampleFor(name: string, chartType: string): boolean;
6569
+ /** Examples shown per call, so a type with many does not flood the context. */
6570
+ declare const EXAMPLES_SHOWN = 5;
6571
+ /**
6572
+ * What `get_examples` returns. Without a chart type, the list of names; with
6573
+ * one, up to EXAMPLES_SHOWN sources in dgmo fences. `read` returns a named
6574
+ * example's source.
6575
+ */
6576
+ declare function formatExamples(names: readonly string[], read: (name: string) => Promise<string> | string, chartType?: string): Promise<{
6577
+ text: string;
6578
+ isError: boolean;
6579
+ }>;
6580
+
6059
6581
  /** True when the first non-blank/non-comment line declares `map`. */
6060
6582
  declare function looksLikeMap(content: string): boolean;
6061
6583
  declare function parseMap(content: string, palette?: PaletteColors): ParsedMap;
@@ -7272,4 +7794,56 @@ declare function uncoveredCharacters(text: string, coverage: FontCoverage): read
7272
7794
  */
7273
7795
  declare function fontPortabilityWarning(runs: readonly UncoveredRun[]): string | undefined;
7274
7796
 
7275
- export { ARROW_DIAGNOSTIC_CODES, type Activation, type AncestorInfo, type ArcLink, type ArcNodeGroup, type BLCollapseResult, type BLEdge, type BLGroup, type BLLayoutEdge, type BLLayoutGroup, type BLLayoutNode, type BLLayoutResult, type BLNode, type BlipTrend, type BlockCell, type BlockGrid, type BlockLayoutItem, type BlockLayoutResult, type BlockNode, type BlockOptions, type BodyFigure, type BodyOptions, type BodyPart, type BracketMode, type BracketSide, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, CONTAINER_FILL_OPACITY, CONTAINER_STROKE_OPACITY, CONTAINER_STROKE_WIDTH, type ChartDataPoint, type ChartEra, type ChartType$1 as ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type ClockEntry, type ClockFace, type ClockZoneKind, type CodepointRange, type CollapsedMindmapResult, type CollapsedOrgResult, type CollapsedSitemapResult, type CollapsedView, CompactViewState, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type CountUnits, type CreateMapGeoQueryOptions, type CycleEdge, type CycleLayoutEdge, type CycleLayoutNode, type CycleLayoutResult, type CycleNode, type CycleRenderOptions, type D3ExportDimensions, DEFAULT_FONT_NAME, DgmoError, type DiagramSymbols, type Duration, type DurationUnit, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EventLineEra, type EventLineEvent, type EventLineFocus, type EventLineOptions, type ExpandedActivity, type ExtendedChartType, FONT_FAMILY, type FamilyChild, type FamilyChildEdge, type FamilyLayoutNode, type FamilyLayoutResult, type FamilyMarriageBar, type FamilyPerson, type FamilySex, type FamilyUnion, type FocusOrgResult, type FocusResult, type FocusTarget, type FontCoverage, type GanttDependency, type GanttEra, type GanttGroup, type GroupRow as GanttGroupRow, type GanttHolidays, type GanttInteractiveOptions, type LaneHeaderRow as GanttLaneHeaderRow, type GanttMarker, type GanttNode, type GanttOptions, type Row as GanttRow, type GanttTask, type TaskRow as GanttTaskRow, GeoExtent, type GetOrCreateNameResult, type GoalMode, type GoalOptions, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, DEFAULT_DIM_OPACITY as HOVER_DIM_OPACITY, INFRA_BEHAVIOR_KEYS, INVALID_COLOR_CODE, INVALID_CSS_COLOR_HEX, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraTagGroup, type InlineSpan, type JourneyMapAnnotation, type JourneyMapInteractiveOptions, type JourneyMapLayout, type JourneyMapPersona, type JourneyMapPhase, type JourneyMapStep, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, 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, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutOptions$1 as LayoutOptions, type LayoutResult$1 as LayoutResult, type LegendCallbacks, type LegendConfig, type LegendControl, type LegendGroupData, type LegendHandle, type LegendLayout, type LegendMode, type LegendPalette, type LegendPosition, type LegendState, MapData, type MapExportDimensions, type MapGeoQuery, type MapLayout, type MapLayoutInset, type MapLayoutLeg, MapLayoutLegend, type MapLayoutPoi, type MapLayoutRegion, type MapLayoutStretch, type MapProjectionKind, type MapProjectionParams, type MapProjectionSpec, type MemberVisibility, type MindmapLayoutEdge, type MindmapLayoutNode, type MindmapLayoutResult, type MindmapNode, type MonteCarloResult, type NameEntry, type NearestCity, type NodeDetail, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, PaletteColors, PaletteConfig, type ParseInArrowLabelResult, type ParsedBlock, type ParsedBody, type ParsedBoxesAndLines, type ParsedBracket, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedClock, type ParsedCountdown, type ParsedCycle, type ParsedERDiagram, type ParsedEventLine, type ParsedExtendedChart, type ParsedFamily, type ParsedGantt, type ParsedGoal, type ParsedGraph, type ParsedInfra, type ParsedJourneyMap, type ParsedKanban, type ParsedLiveLink, ParsedMap, type ParsedMindmap, ParsedOrg, type ParsedPert, type ParsedPyramid, ParsedRaci, type ParsedRing, type ParsedSequenceDgmo, type ParsedSitemap, type ParsedSketch, type ParsedSwimlane, type ParsedTechRadar, type ParsedTreemap, type ParsedVersionControl, type ParsedVisualization, type ParsedWireframe, type ParticipantType, type PertActivity, type Anchor as PertAnchor, type PertDirection, type PertEdge, type PertGroup, type PertLayoutEdge, type PertLayoutGroup, type PertLayoutNode, type LayoutOverrides as PertLayoutOverrides, type LayoutResult as PertLayoutResult, type PertMilestone, type PertOptions, type PertRenderOptions, type PlaceResolution, type PlacedLabel, type ProjectedCity, type PyramidLayer, type QuadrantPosition, RACI_ERROR_CODES, VARIANTS as RACI_VARIANTS, RACI_WARNING_CODES, RECOGNIZED_COLOR_NAMES, RULE_COUNT, type RaciDragSource, type RaciInteractionHandlers, RaciMarker, RaciTask, RaciVariant, type RadialCell, type RadialLayoutResult, type RawMatch, type RawSeed, type RecurRule, type RegionToken, type RelationshipType, type RenderStep, type ResolvedActivity, type ResolvedGroup$1 as ResolvedGroup, ResolvedMap, type ResolvedPert, type ResolvedGroup as ResolvedPertGroup, type ResolvedSchedule, type ResolvedTask, type ResultCard, type ResultTokens, type RingLayer, type RoundMode, SKETCH_AUTO_LAYOUT_DEFAULTS, SKETCH_FOOT_H, SKETCH_FOOT_W, SKETCH_GEOMETRY, SKETCH_HALF_SLOT_X, SKETCH_HALF_SLOT_Y, SKETCH_SEP, SKETCH_SHAPE_KINDS, SKETCH_SLOT_X, SKETCH_SLOT_Y, SKETCH_VISUALS, ScaleContext, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SimulateOptions, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type SketchAt, type SketchAutoLayoutFlags, type SketchBox, type SketchCollapseResult, type SketchEdge, type SketchEdgeBoard, type SketchEdgeGeometry, type SketchEdgeHeads, type SketchFillMode, type SketchLayout, type SketchLayoutBox, type SketchLayoutNode, type SketchLayoutOptions, type SketchNode, type SketchNodeColors, type SketchOptions, type SketchRenderOptions, type SketchShapeKind, type StateCollapseResult, type SwimEdge, type SwimEvent, type SwimLane, type SwimNode, type SwimPhase, type SwimShape, type LayoutBand as SwimlaneLayoutBand, type SwimlaneLayoutResult, TagEntry, TagGroup, type TechRadarBlip, type TechRadarLayoutPoint, type TechRadarQuadrant, type TechRadarRing, type ThemeFileResult, type TreemapCell, type TreemapColorMode, type TreemapLayoutResult, type TreemapNode, type TreemapOptions, type UncoveredRun, type VCBranch, type VCNode, type VCNote, type VCOptions, type VCRef, type VisualizationType, type WireframeElement, type WireframeElementType, type WireframeFormFactor, type WireframeLayout, type WireframeLayoutNode, type WorkWindow, type ZoneSuggestion, addDurationToDate, albersSkewFallback, analyzePert, applyCollapseProjection, applyGroupOrdering, applyPositionOverrides, atlasPalette, authoredCollapsedIds, blueprintPalette, breakAtoms, buildNoteMessageMap, buildRenderSequence, buildSimulationContext, buildTagLaneRowList, calculateSchedule, canonicalSketch, catppuccinPalette, clearEventLineMuted, collapseBoxesAndLines, collapseMindmapTree, collapseOrgTree, collapseSitemapTree, collapseSketch, collapseStateGroups, collectDiagramRoles, collectTasks, colorNames, computeActivations, computeCardArchive, computeCardMove, computeCycleLayout, computeInfra, computeInfraLegendGroups, computeLegendLayout, computeRadarLayout, computeTimeTicks, controlsGroupCapsuleWidth, createMapGeoQuery, createMapGeoQueryForLayout, displayName, emitSketch, extractSymbols$2 as extractClassSymbols, extractSymbols$1 as extractErSymbols, extractSymbols$3 as extractFlowchartSymbols, extractSymbols as extractInfraSymbols, extractPertSymbols, fitWrapped, focusBoxesAndLines, focusEventLine, focusOrgTree, fontPortabilityWarning, formatDateLabel, formatOffsetLabel, getExtendedChartLegendGroups, getLegendReservedHeight, getOrCreateName, getRadarGeometry, getSimpleChartLegendGroups, groupMessagesBySection, inferParticipantType, inferRoles, invalidColorDiagnostic, isArchiveColumn, isInvalidColorToken, isRecognizedColorName, isSequenceBlock, isSequenceNote, isSketchShapeKind, layoutBlock, layoutBoxesAndLines, layoutBracket, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutFamily, layoutGraph, layoutInfra, layoutJourneyMap, layoutMap, layoutMindmap, layoutOrg, layoutPert, layoutSitemap, layoutSketch, layoutSwimlane, layoutTreemap, layoutTreemapRadial, layoutWireframe, legendEntryWidth, 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, parseVersionControl, parseVisualization, parseWireframe, cellAppendMarker as raciCellAppendMarker, cellCycle as raciCellCycle, cellRemove as raciCellRemove, cellReplace as raciCellReplace, rebuildMapProjection, 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, 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, renderWireframe, renderWordCloud, resolveColor, resolveColorWithDiagnostic, resolveMap, resolvePlace, resolveTaskName, rollUpContextRelationships, sameSketch, sampleBetaPert, searchZones, seriesColors, simulateCanonical, simulateFast, sketchColors, sketchContainerFill, sketchEdgeGeometry, sketchNeutralFill, sketchSlotToPx, slatePalette, startClocks, startCountdowns, targetToMs, textFromSvg, tickClocks, tickCountdowns, tidewaterPalette, tokyoNightPalette, truncateBareUrl, truncateText, uncoveredCharacters, validateComputed, validateInfra, validateLabelCharacters, validateThemeFile, wrapTextToWidth };
7797
+ declare const CLOUD_API = "https://api.diagrammo.app";
7798
+ interface CloudSpaceTarget {
7799
+ /** A space API key (`dgmo_sk_…`). */
7800
+ apiKey: string;
7801
+ spaceId: string;
7802
+ /** Defaults to the global `fetch`. */
7803
+ fetch?: typeof fetch;
7804
+ }
7805
+ /** A diagram in a space; `folder` is its path from the space root, `''` at the root. */
7806
+ interface SpaceDiagramSummary {
7807
+ id: string;
7808
+ title: string;
7809
+ folder: string;
7810
+ chartType: string | null;
7811
+ version: string | null;
7812
+ updatedAt: number;
7813
+ }
7814
+ interface SpaceDiagram extends SpaceDiagramSummary {
7815
+ source: string;
7816
+ }
7817
+ interface SpacePutResult {
7818
+ action: 'created' | 'updated';
7819
+ id: string;
7820
+ title: string;
7821
+ folder: string;
7822
+ version: string | null;
7823
+ }
7824
+ /** Any failure; `status` is the Cloud's HTTP status when there was one. */
7825
+ declare class CloudSpaceError extends Error {
7826
+ readonly status?: number | undefined;
7827
+ constructor(message: string, status?: number | undefined);
7828
+ }
7829
+ /**
7830
+ * Write `source` as the diagram titled `title` in `folder` (a path from the
7831
+ * space root; omitted = the root): updates that diagram if it exists, else
7832
+ * creates it, private. Re-sending the same bytes is a no-op on the server.
7833
+ */
7834
+ declare function putSpaceDiagram(target: CloudSpaceTarget, diagram: {
7835
+ source: string;
7836
+ title: string;
7837
+ folder?: string;
7838
+ }): Promise<SpacePutResult>;
7839
+ /** Read one diagram, by `id` or by `title` in `folder` (omitted = the root). */
7840
+ declare function getSpaceDiagram(target: CloudSpaceTarget, which: {
7841
+ id: string;
7842
+ } | {
7843
+ title: string;
7844
+ folder?: string;
7845
+ }): Promise<SpaceDiagram>;
7846
+ /** Every diagram in the space, sorted by folder path then title. */
7847
+ declare function listSpaceDiagrams(target: CloudSpaceTarget): Promise<SpaceDiagramSummary[]>;
7848
+
7849
+ export { ARROW_DIAGNOSTIC_CODES, type Activation, type AncestorInfo, type ArcLink, type ArcNodeGroup, type BLCollapseResult, type BLEdge, type BLGroup, type BLLayoutEdge, type BLLayoutGroup, type BLLayoutNode, type BLLayoutResult, type BLNode, type BlipTrend, type BlockCell, type BlockGrid, type BlockLayoutItem, type BlockLayoutResult, type BlockNode, type BlockOptions, type BodyFigure, type BodyOptions, type BodyPart, type BracketMode, type BracketSide, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, CLOUD_API, CONTAINER_FILL_OPACITY, CONTAINER_STROKE_OPACITY, CONTAINER_STROKE_WIDTH, CYLINDER_RY, type ChartDataPoint, type ChartEra, type ChartType$1 as ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type ClockEntry, type ClockFace, type ClockZoneKind, CloudSpaceError, type CloudSpaceTarget, type CodepointRange, type CollapsedMindmapResult, type CollapsedOrgResult, type CollapsedSitemapResult, type CollapsedView, CompactViewState, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type CountUnits, type CreateMapGeoQueryOptions, type CycleEdge, type CycleLayoutEdge, type CycleLayoutNode, type CycleLayoutResult, type CycleNode, type CycleRenderOptions, type D3ExportDimensions, DEFAULT_FONT_NAME, DgmoError, type DiagramSymbols, type DiagramValidation, type Duration, type DurationUnit, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, EXAMPLES_SHOWN, type ElseIfBranch, type EventLineEra, type EventLineEvent, type EventLineFocus, type EventLineOptions, type ExpandedActivity, type ExtendedChartType, FLOWCHART_STRUCTURE_CODE, FONT_FAMILY, type FamilyChild, type FamilyChildEdge, type FamilyLayoutNode, type FamilyLayoutResult, type FamilyMarriageBar, type FamilyPerson, type FamilySex, type FamilyUnion, type FocusOrgResult, type FocusResult, type FocusTarget, type FontCoverage, type GanttDependency, type GanttEra, type GanttGroup, type GroupRow as GanttGroupRow, type GanttHolidays, type GanttInteractiveOptions, type LaneHeaderRow as GanttLaneHeaderRow, type GanttMarker, type GanttNode, type GanttOptions, type Row as GanttRow, type GanttTask, type TaskRow as GanttTaskRow, GeoExtent, type GetOrCreateNameResult, type GoalMode, type GoalOptions, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, DEFAULT_DIM_OPACITY as HOVER_DIM_OPACITY, IMAGE_NOT_UPLOADED, INFRA_BEHAVIOR_KEYS, INVALID_COLOR_CODE, INVALID_CSS_COLOR_HEX, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraTagGroup, type InlineSpan, type JourneyMapAnnotation, type JourneyMapInteractiveOptions, type JourneyMapLayout, type JourneyMapPersona, type JourneyMapPhase, type JourneyMapStep, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, 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, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutOptions$1 as LayoutOptions, type LayoutResult$1 as LayoutResult, type LegendCallbacks, type LegendConfig, type LegendControl, type LegendGroupData, type LegendHandle, type LegendLayout, type LegendMode, type LegendPalette, type LegendPosition, type LegendState, MapData, type MapExportDimensions, type MapGeoQuery, type MapLayout, type MapLayoutInset, type MapLayoutLeg, MapLayoutLegend, type MapLayoutPoi, type MapLayoutRegion, type MapLayoutStretch, type MapProjectionKind, type MapProjectionParams, type MapProjectionSpec, type MemberVisibility, type MindmapLayoutEdge, type MindmapLayoutNode, type MindmapLayoutResult, type MindmapNode, type MonteCarloResult, type NameEntry, type NearestCity, type NodeDetail, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, PaletteColors, PaletteConfig, type ParseInArrowLabelResult, type ParsedBlock, type ParsedBody, type ParsedBoxesAndLines, type ParsedBracket, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedClock, type ParsedCountdown, type ParsedCycle, type ParsedERDiagram, type ParsedEventLine, type ParsedExtendedChart, type ParsedFamily, type ParsedGantt, type ParsedGoal, type ParsedGraph, type ParsedInfra, type ParsedJourneyMap, type ParsedKanban, type ParsedLiveLink, ParsedMap, type ParsedMindmap, ParsedOrg, type ParsedPert, type ParsedPyramid, ParsedRaci, type ParsedRing, type ParsedSequenceDgmo, type ParsedSitemap, type ParsedSketch, type ParsedSwimlane, type ParsedTechRadar, type ParsedTreemap, type ParsedVersionControl, type ParsedVisualization, type ParsedWhiteboard, type ParsedWireframe, type ParticipantType, type PertActivity, type Anchor as PertAnchor, type PertDirection, type PertEdge, type PertGroup, type PertLayoutEdge, type PertLayoutGroup, type PertLayoutNode, type LayoutOverrides as PertLayoutOverrides, type LayoutResult as PertLayoutResult, type PertMilestone, type PertOptions, type PertRenderOptions, type PlaceResolution, type PlacedLabel, type ProjectedCity, type PyramidLayer, QUEUE_CAP, type QuadrantPosition, RACI_ERROR_CODES, VARIANTS as RACI_VARIANTS, RACI_WARNING_CODES, RECOGNIZED_COLOR_NAMES, RULE_COUNT, type RaciDragSource, type RaciInteractionHandlers, RaciMarker, RaciTask, RaciVariant, type RadialCell, type RadialLayoutResult, type RawMatch, type RawSeed, type RecurRule, type RegionToken, type RelationshipType, type RenderStep, type ResolvedActivity, type ResolvedGroup$1 as ResolvedGroup, ResolvedMap, type ResolvedPert, type ResolvedGroup as ResolvedPertGroup, type ResolvedSchedule, type ResolvedTask, type ResultCard, type ResultTokens, type RingLayer, type RoundMode, 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, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SimulateOptions, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type SketchAt, type SketchAutoLayoutFlags, type SketchBox, type SketchCollapseResult, type SketchEdge, type SketchEdgeBoard, type SketchEdgeGeometry, type SketchEdgeHeads, type SketchFillMode, type SketchLayout, type SketchLayoutBox, type SketchLayoutNode, type SketchLayoutOptions, type SketchNode, type SketchNodeColors, type SketchOptions, type SketchRenderOptions, type SpaceDiagram, type SpaceDiagramSummary, type SpacePutResult, type StateCollapseResult, type SwimEdge, type SwimEvent, type SwimLane, type SwimNode, type SwimPhase, type SwimShape, type LayoutBand as SwimlaneLayoutBand, type SwimlaneLayoutResult, TagEntry, TagGroup, type TechRadarBlip, type TechRadarLayoutPoint, type TechRadarQuadrant, type TechRadarRing, type ThemeFileResult, type TreemapCell, type TreemapColorMode, type TreemapLayoutResult, type TreemapNode, type TreemapOptions, type UncoveredRun, type VCBranch, type VCNode, type VCNote, type VCOptions, type VCRef, type ValidateDiagramOptions, type VisualizationType, WHITEBOARD_COLORS, WHITEBOARD_ELEMENT_KEYWORDS, WHITEBOARD_FILLS, WHITEBOARD_HEADS, WHITEBOARD_LABEL_MIN_FONT, WHITEBOARD_NOTE_COLOR, WHITEBOARD_NOTE_FONT, WHITEBOARD_NOTE_HEIGHT, WHITEBOARD_NOTE_WIDTH, WHITEBOARD_SHAPE_KINDS, WHITEBOARD_STROKE_STYLES, type WhiteboardArrow, type WhiteboardAttachable, type WhiteboardColor, type WhiteboardConnectorAttachments, type WhiteboardConnectorPaint, type WhiteboardElement, type WhiteboardFill, type WhiteboardFitBox, type WhiteboardHeads, type WhiteboardImage, type WhiteboardInk, type WhiteboardLabelBox, type WhiteboardLine, type WhiteboardNote, type WhiteboardOptions, type WhiteboardPoint, type WhiteboardRenderOptions, type WhiteboardSegment, type WhiteboardShape, type WhiteboardShapeKind, type WhiteboardStrokeStyle, type WhiteboardText, type WireframeElement, type WireframeElementType, type WireframeFormFactor, type WireframeLayout, type WireframeLayoutNode, type WorkWindow, type ZoneSuggestion, addDurationToDate, albersSkewFallback, analyzePert, applyCollapseProjection, applyGroupOrdering, applyPositionOverrides, atlasPalette, authoredCollapsedIds, blueprintPalette, breakAtoms, buildNoteMessageMap, buildRenderSequence, buildSimulationContext, buildTagLaneRowList, calculateSchedule, canonicalSketch, catppuccinPalette, 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, 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, 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, whiteboardLabelHeight, whiteboardLabelShift, whiteboardLabelWidth, whiteboardNoteFold, whiteboardSegmentMidpoint, whiteboardShapeAt, whiteboardShapeContains, wrapTextToWidth, wrapWhiteboardLabel };