@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
@@ -2,17 +2,17 @@ import {
2
2
  bracketExportDimensions,
3
3
  renderBracket,
4
4
  renderBracketForExport
5
- } from "./chunk-44FTCIRI.js";
5
+ } from "./chunk-RVTYIGWZ.js";
6
6
  import "./chunk-S7W75MIM.js";
7
7
  import "./chunk-Z6DXWULM.js";
8
8
  import "./chunk-ABP5BUD6.js";
9
+ import "./chunk-QVKTAU7P.js";
9
10
  import "./chunk-CNUN5GO6.js";
10
- import "./chunk-VLC6WNRD.js";
11
- import "./chunk-7SX4IY6T.js";
12
11
  import "./chunk-NS7L7YKH.js";
12
+ import "./chunk-VLC6WNRD.js";
13
13
  import "./chunk-ICLB27PZ.js";
14
- import "./chunk-L5AFONQU.js";
15
- import "./chunk-44GP7PD5.js";
14
+ import "./chunk-QKJ6MQXW.js";
15
+ import "./chunk-MPJQMMBZ.js";
16
16
  import "./chunk-I6GGMCTV.js";
17
17
  import "./chunk-KAO7JL4I.js";
18
18
  import "./chunk-L24LESXF.js";
@@ -2,16 +2,16 @@ import {
2
2
  authoredCollapsedIds,
3
3
  renderBlock,
4
4
  renderBlockForExport
5
- } from "./chunk-UQLHKLF4.js";
5
+ } from "./chunk-PZVTFQI2.js";
6
+ import "./chunk-QVKTAU7P.js";
6
7
  import "./chunk-XCKNFFKM.js";
7
8
  import "./chunk-CNUN5GO6.js";
8
- import "./chunk-VLC6WNRD.js";
9
- import "./chunk-7SX4IY6T.js";
10
9
  import "./chunk-NS7L7YKH.js";
10
+ import "./chunk-VLC6WNRD.js";
11
11
  import "./chunk-ICLB27PZ.js";
12
12
  import "./chunk-XSVWUOUZ.js";
13
- import "./chunk-L5AFONQU.js";
14
- import "./chunk-44GP7PD5.js";
13
+ import "./chunk-QKJ6MQXW.js";
14
+ import "./chunk-MPJQMMBZ.js";
15
15
  import "./chunk-I6GGMCTV.js";
16
16
  import "./chunk-KAO7JL4I.js";
17
17
  import "./chunk-L24LESXF.js";
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  renderMindmap,
3
3
  renderMindmapForExport
4
- } from "./chunk-SOPM5PLO.js";
5
- import "./chunk-CUYHST3B.js";
4
+ } from "./chunk-GCDW3WAY.js";
5
+ import "./chunk-CVZBLHHW.js";
6
6
  import "./chunk-S7W75MIM.js";
7
7
  import "./chunk-Z6DXWULM.js";
8
8
  import "./chunk-24YPR5EH.js";
9
+ import "./chunk-QVKTAU7P.js";
9
10
  import "./chunk-XCKNFFKM.js";
10
11
  import "./chunk-SEKNYIMO.js";
11
12
  import "./chunk-CNUN5GO6.js";
12
13
  import "./chunk-OOCVGX4W.js";
13
- import "./chunk-VLC6WNRD.js";
14
- import "./chunk-7SX4IY6T.js";
15
14
  import "./chunk-NS7L7YKH.js";
15
+ import "./chunk-VLC6WNRD.js";
16
16
  import "./chunk-ICLB27PZ.js";
17
- import "./chunk-NGC3IZRY.js";
17
+ import "./chunk-XQTRGKQ3.js";
18
18
  import "./chunk-IYULMRBE.js";
19
- import "./chunk-L5AFONQU.js";
20
- import "./chunk-44GP7PD5.js";
19
+ import "./chunk-QKJ6MQXW.js";
20
+ import "./chunk-MPJQMMBZ.js";
21
21
  import "./chunk-I6GGMCTV.js";
22
22
  import "./chunk-KAO7JL4I.js";
23
23
  import "./chunk-L24LESXF.js";
@@ -1,19 +1,20 @@
1
1
  import {
2
2
  buildTagLaneRowList,
3
3
  renderGantt
4
- } from "./chunk-7C2RAGPT.js";
4
+ } from "./chunk-HSGWR2FL.js";
5
5
  import "./chunk-YRYKTYMQ.js";
6
6
  import "./chunk-24YPR5EH.js";
7
+ import "./chunk-QVKTAU7P.js";
7
8
  import "./chunk-XCKNFFKM.js";
8
9
  import "./chunk-CNUN5GO6.js";
9
- import "./chunk-VLC6WNRD.js";
10
- import "./chunk-7SX4IY6T.js";
11
10
  import "./chunk-NS7L7YKH.js";
11
+ import "./chunk-VLC6WNRD.js";
12
12
  import "./chunk-ICLB27PZ.js";
13
- import "./chunk-NIUO2TNR.js";
13
+ import "./chunk-4HG4PYHM.js";
14
14
  import "./chunk-NOTA6TEI.js";
15
- import "./chunk-L5AFONQU.js";
16
- import "./chunk-44GP7PD5.js";
15
+ import "./chunk-3UR4F7FE.js";
16
+ import "./chunk-QKJ6MQXW.js";
17
+ import "./chunk-MPJQMMBZ.js";
17
18
  import "./chunk-I6GGMCTV.js";
18
19
  import "./chunk-KAO7JL4I.js";
19
20
  import "./chunk-L24LESXF.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  renderWireframe
3
- } from "./chunk-RPKBWJBB.js";
3
+ } from "./chunk-SMTWQ66K.js";
4
4
  import "./chunk-24YPR5EH.js";
5
5
  import "./chunk-VLC6WNRD.js";
6
6
  import "./chunk-ICLB27PZ.js";
7
- import "./chunk-44GP7PD5.js";
7
+ import "./chunk-MPJQMMBZ.js";
8
8
  import "./chunk-KAO7JL4I.js";
9
9
  import "./chunk-L24LESXF.js";
10
10
  import "./chunk-2M4IGSCY.js";
@@ -3,28 +3,29 @@ import {
3
3
  focusEventLine,
4
4
  renderEventLine,
5
5
  renderEventLineForExport
6
- } from "./chunk-EXKCRXPO.js";
6
+ } from "./chunk-IWTUXGHN.js";
7
7
  import "./chunk-NPWVOFB3.js";
8
- import "./chunk-R2K5L4UA.js";
9
8
  import "./chunk-S7W75MIM.js";
9
+ import "./chunk-R2K5L4UA.js";
10
10
  import "./chunk-Z6DXWULM.js";
11
- import "./chunk-UWKRPQZO.js";
11
+ import "./chunk-FJCYK4K3.js";
12
12
  import "./chunk-YRYKTYMQ.js";
13
13
  import "./chunk-24YPR5EH.js";
14
+ import "./chunk-QVKTAU7P.js";
14
15
  import "./chunk-XCKNFFKM.js";
15
- import "./chunk-UKJLPA7R.js";
16
+ import "./chunk-X6IZP2BD.js";
16
17
  import "./chunk-SEKNYIMO.js";
17
18
  import "./chunk-CNUN5GO6.js";
18
19
  import "./chunk-OOCVGX4W.js";
19
- import "./chunk-VLC6WNRD.js";
20
- import "./chunk-7SX4IY6T.js";
21
20
  import "./chunk-NS7L7YKH.js";
21
+ import "./chunk-VLC6WNRD.js";
22
22
  import "./chunk-ICLB27PZ.js";
23
- import "./chunk-GDJW64XE.js";
23
+ import "./chunk-OYKNMFUY.js";
24
24
  import "./chunk-DAOFNU6J.js";
25
- import "./chunk-NIUO2TNR.js";
26
- import "./chunk-L5AFONQU.js";
27
- import "./chunk-44GP7PD5.js";
25
+ import "./chunk-4HG4PYHM.js";
26
+ import "./chunk-3UR4F7FE.js";
27
+ import "./chunk-QKJ6MQXW.js";
28
+ import "./chunk-MPJQMMBZ.js";
28
29
  import "./chunk-I6GGMCTV.js";
29
30
  import "./chunk-KAO7JL4I.js";
30
31
  import "./chunk-L24LESXF.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  renderCountdown,
3
3
  renderCountdownForExport
4
- } from "./chunk-CX6OH5WP.js";
4
+ } from "./chunk-SWBHH2UW.js";
5
5
  import "./chunk-NPWVOFB3.js";
6
6
  import "./chunk-S7W75MIM.js";
7
7
  import "./chunk-Z6DXWULM.js";
8
- import "./chunk-ICLB27PZ.js";
9
8
  import "./chunk-WFA6IULY.js";
10
9
  import "./chunk-3DPOIW3W.js";
10
+ import "./chunk-ICLB27PZ.js";
11
11
  import "./chunk-L24LESXF.js";
12
12
  import "./chunk-2M4IGSCY.js";
13
13
  import "./chunk-BYU54C3S.js";
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  renderBoxesAndLines,
3
3
  renderBoxesAndLinesForExport
4
- } from "./chunk-ECMA6XE2.js";
5
- import "./chunk-KATED53P.js";
4
+ } from "./chunk-N254IJM2.js";
6
5
  import "./chunk-XBJJP2HN.js";
6
+ import "./chunk-KATED53P.js";
7
7
  import "./chunk-5DH3KYFH.js";
8
8
  import "./chunk-NPWVOFB3.js";
9
9
  import "./chunk-S7W75MIM.js";
10
10
  import "./chunk-Z6DXWULM.js";
11
11
  import "./chunk-24YPR5EH.js";
12
+ import "./chunk-QVKTAU7P.js";
12
13
  import "./chunk-XCKNFFKM.js";
13
14
  import "./chunk-CNUN5GO6.js";
14
- import "./chunk-VLC6WNRD.js";
15
- import "./chunk-7SX4IY6T.js";
16
15
  import "./chunk-NS7L7YKH.js";
16
+ import "./chunk-VLC6WNRD.js";
17
17
  import "./chunk-ICLB27PZ.js";
18
- import "./chunk-L5AFONQU.js";
19
- import "./chunk-44GP7PD5.js";
18
+ import "./chunk-QKJ6MQXW.js";
19
+ import "./chunk-MPJQMMBZ.js";
20
20
  import "./chunk-I6GGMCTV.js";
21
21
  import "./chunk-KAO7JL4I.js";
22
22
  import "./chunk-L24LESXF.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  renderTreemapRadial,
3
3
  renderTreemapRadialForExport
4
- } from "./chunk-Y7PSAHAY.js";
5
- import "./chunk-HUNDJTTH.js";
6
- import "./chunk-7SX4IY6T.js";
4
+ } from "./chunk-CXIPV2FY.js";
5
+ import "./chunk-53BJIOLF.js";
6
+ import "./chunk-QVKTAU7P.js";
7
7
  import "./chunk-NS7L7YKH.js";
8
8
  import "./chunk-ICLB27PZ.js";
9
- import "./chunk-L5AFONQU.js";
10
- import "./chunk-44GP7PD5.js";
9
+ import "./chunk-QKJ6MQXW.js";
10
+ import "./chunk-MPJQMMBZ.js";
11
11
  import "./chunk-I6GGMCTV.js";
12
12
  import "./chunk-KAO7JL4I.js";
13
13
  import "./chunk-L24LESXF.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  isSubNationalUsExtent,
3
3
  resolveMap
4
- } from "./chunk-3AX6MCI6.js";
4
+ } from "./chunk-SPQVER4T.js";
5
5
  import "./chunk-4QV26TEG.js";
6
6
  import "./chunk-EOYPX6SF.js";
7
7
  import "./chunk-A2RUBBVT.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  looksLikeState,
3
3
  parseState
4
- } from "./chunk-AYOVY75O.js";
4
+ } from "./chunk-XLPJJ35N.js";
5
5
  import "./chunk-NXMESY4J.js";
6
- import "./chunk-J64NZ6NF.js";
6
+ import "./chunk-KSZHIAI2.js";
7
7
  import "./chunk-O753JUEZ.js";
8
8
  import "./chunk-N7VMGZCU.js";
9
9
  import "./chunk-NOTA6TEI.js";
10
- import "./chunk-L5AFONQU.js";
11
- import "./chunk-44GP7PD5.js";
10
+ import "./chunk-QKJ6MQXW.js";
11
+ import "./chunk-MPJQMMBZ.js";
12
12
  import "./chunk-2M4IGSCY.js";
13
13
  import "./chunk-BYU54C3S.js";
14
14
  import "./chunk-5WRI5ZAA.js";
@@ -1,34 +1,38 @@
1
1
  import {
2
2
  renderState,
3
3
  renderStateForExport
4
- } from "./chunk-DZPHN2WN.js";
4
+ } from "./chunk-JA2S7PHR.js";
5
5
  import "./chunk-26EVL454.js";
6
- import "./chunk-ZNNVI5SR.js";
7
- import "./chunk-KATED53P.js";
6
+ import "./chunk-CU2PZLZP.js";
8
7
  import "./chunk-XBJJP2HN.js";
9
- import "./chunk-6EK55ART.js";
8
+ import "./chunk-KATED53P.js";
9
+ import "./chunk-JJUDOR4I.js";
10
+ import "./chunk-NWPMLX2V.js";
11
+ import "./chunk-EJS3K44P.js";
12
+ import "./chunk-Q3N7PI3B.js";
10
13
  import "./chunk-RJNZHFNG.js";
11
14
  import "./chunk-5DH3KYFH.js";
15
+ import "./chunk-QT3KDDXK.js";
12
16
  import "./chunk-NPWVOFB3.js";
13
17
  import "./chunk-S7W75MIM.js";
14
18
  import "./chunk-Z6DXWULM.js";
15
19
  import "./chunk-EPDBWATV.js";
16
20
  import "./chunk-24YPR5EH.js";
21
+ import "./chunk-QVKTAU7P.js";
17
22
  import "./chunk-XCKNFFKM.js";
18
23
  import "./chunk-CNUN5GO6.js";
19
24
  import "./chunk-OOCVGX4W.js";
20
- import "./chunk-VLC6WNRD.js";
21
- import "./chunk-7SX4IY6T.js";
22
25
  import "./chunk-NS7L7YKH.js";
26
+ import "./chunk-VLC6WNRD.js";
23
27
  import "./chunk-ICLB27PZ.js";
24
- import "./chunk-AYOVY75O.js";
28
+ import "./chunk-XLPJJ35N.js";
25
29
  import "./chunk-NXMESY4J.js";
26
- import "./chunk-J64NZ6NF.js";
30
+ import "./chunk-KSZHIAI2.js";
27
31
  import "./chunk-O753JUEZ.js";
28
32
  import "./chunk-N7VMGZCU.js";
29
33
  import "./chunk-NOTA6TEI.js";
30
- import "./chunk-L5AFONQU.js";
31
- import "./chunk-44GP7PD5.js";
34
+ import "./chunk-QKJ6MQXW.js";
35
+ import "./chunk-MPJQMMBZ.js";
32
36
  import "./chunk-I6GGMCTV.js";
33
37
  import "./chunk-KAO7JL4I.js";
34
38
  import "./chunk-L24LESXF.js";
@@ -1,5 +1,5 @@
1
1
  import { P as PaletteConfig, D as DgmoError } from './tag-groups-fgxWTyyB.js';
2
- import { A as AirportData, G as Gazetteer, R as RegionName } from './d3-B6524aaP.js';
2
+ import { A as AirportData, G as Gazetteer, R as RegionName } from './d3-2S3PrXik.js';
3
3
 
4
4
  /**
5
5
  * All built-in palettes, keyed by camelCase id. Use directly with render():
@@ -70,6 +70,42 @@ declare function parseDgmo(content: string): {
70
70
  chartType: string | null;
71
71
  };
72
72
 
73
+ /** One sampled pen position. `pressure` is 0..1 when the device reports it. */
74
+ interface InkPoint {
75
+ readonly x: number;
76
+ readonly y: number;
77
+ readonly pressure?: number;
78
+ }
79
+ interface EncodeInkOptions {
80
+ /**
81
+ * RDP tolerance in canvas px. Points closer than this to the simplified
82
+ * polyline are dropped. Default {@link INK_DEFAULT_TOLERANCE}.
83
+ */
84
+ readonly tolerance?: number;
85
+ }
86
+ interface InkDecodeResult {
87
+ /** Decoded points; empty when `error` is set. */
88
+ readonly points: InkPoint[];
89
+ /** Why the payload could not be read, or null when it decoded cleanly. */
90
+ readonly error: string | null;
91
+ }
92
+ /** Default RDP tolerance, px. Measured in `tests/whiteboard-ink-codec.test.ts`. */
93
+ declare const INK_DEFAULT_TOLERANCE = 0.75;
94
+ /** Pressure is stored as an integer 0..PRESSURE_LEVELS. */
95
+ declare const INK_PRESSURE_LEVELS = 31;
96
+ /**
97
+ * Encode one stroke. Coordinates are canvas px; they are rounded to integers.
98
+ * The pressure channel is written only when EVERY point carries `pressure`
99
+ * (a device either reports it or it does not).
100
+ */
101
+ declare function encodeInk(points: readonly InkPoint[], opts?: EncodeInkOptions): string;
102
+ /**
103
+ * Decode one stroke. Never throws: a corrupt payload comes back as
104
+ * `{ points: [], error }` so the parser can turn it into a diagnostic.
105
+ * Decoded pressure is back on the 0..1 scale.
106
+ */
107
+ declare function decodeInk(encoded: string): InkDecodeResult;
108
+
73
109
  interface MapPlaceCompletion {
74
110
  /** Canonical display name (original casing), e.g. `Portland`. */
75
111
  readonly name: string;
@@ -186,4 +222,4 @@ declare const themes: {
186
222
  readonly transparent: "transparent";
187
223
  };
188
224
 
189
- export { CHART_TYPE_DESCRIPTIONS as C, type MapCompletionOptions as M, type RenderCategory as R, type Theme as T, type MapLocationMatch as a, type MapPlaceCompletion as b, type MapRegionCompletion as c, completeMapPlaces as d, completeMapRegions as e, parseDgmo as f, chartTypeParsers as g, getAllChartTypes as h, getRenderCategory as i, isExtendedChartType as j, knownChartTypeIds as k, palettes as p, searchMapLocations as s, themes as t };
225
+ export { CHART_TYPE_DESCRIPTIONS as C, type EncodeInkOptions as E, INK_DEFAULT_TOLERANCE as I, type MapCompletionOptions as M, type RenderCategory as R, type Theme as T, INK_PRESSURE_LEVELS as a, type InkDecodeResult as b, type InkPoint as c, type MapLocationMatch as d, type MapPlaceCompletion as e, type MapRegionCompletion as f, completeMapPlaces as g, completeMapRegions as h, decodeInk as i, encodeInk as j, parseDgmo as k, chartTypeParsers as l, getAllChartTypes as m, getRenderCategory as n, isExtendedChartType as o, palettes as p, knownChartTypeIds as q, searchMapLocations as s, themes as t };
@@ -63,7 +63,7 @@ To teach Claude about DGMO in a specific project without the global skill, paste
63
63
  <!-- DGMO-AI-CORE:START -->
64
64
  ## DGMO AI Core
65
65
 
66
- _Generated from `language-reference.md` — the anti-patterns and 50-type index below are identical across every DGMO AI surface._
66
+ _Generated from `language-reference.md` — the anti-patterns and 51-type index below are identical across every DGMO AI surface._
67
67
 
68
68
  ### Disambiguation — where DGMO diverges from LLM priors
69
69
 
@@ -112,7 +112,7 @@ Valid markup is the floor, not the goal. A good diagram reads at a glance. Apply
112
112
  - **Always title it.** Every diagram gets a short title on the type-declaration line (`flowchart Checkout Flow`, `sequence Checkout`, `boxes-and-lines Service Map`) so it is self-describing — never leave the bare type keyword alone. Infer a fitting title from the request when the user gives none.
113
113
  <!-- TITLE end -->
114
114
  <!-- CATEGORIZE start -->
115
- - **Categorize and color — by default, not only when obvious.** Before drawing, find the axis that sorts the items into kinds and color by it: layer (frontend / backend / data), role (client / service / datastore), trust zone (internal / external / third-party), status (done / active / blocked), owner/team, or read-path vs write-path. Almost every diagram has such an axis — actively look for one rather than leaving everything monochrome. Express it with a **tag group**, never ad-hoc per-node colors: declare `tag <Axis> as t` (the name is a single word — `tag TrustZone as tz` — or quote a multi-word name: `tag "Trust Zone" as tz`), indent the category values (a trailing color is optional — bare values auto-pick a palette color), set `active-tag <Axis>` in the header — after the tag group and before the first element, because a type such as c4 refuses it after content — then assign each item `Node t: <Category>` (see the tag-group syntax in the per-type section below). **Bracket, block, body, event-line, family and sketch** take the tag group but no `active-tag` line — declare the group and stop there; on event-line, family and sketch the line would be drawn as an element. **Class, flowchart, wireframe, raci, cycle, pyramid, ring, sankey, tech-radar, venn, version-control, wordcloud, arc, bar, clock, countdown, funnel, function, goal, heatmap, line, pie, polar-area, quadrant, radar, scatter and slope** take no tag group at all — skip this rule for them. Most report the lines; cycle, pyramid, ring, sankey, venn, version-control and wordcloud read them as content, and flowchart and tech-radar drop them without a word. Only the 11 named palette colors exist, and they re-resolve per palette/theme. Color the grouping so the categories — and the boundaries between them — read at a glance. **Buckets, not name tags — never 1:1.** A tag group must have _fewer_ values than it has members: each color should bucket two or more items so the palette compresses the diagram into a few meaningful kinds (aim for ~2–4 categories, and keep distinct colors well under half the item count). If you find yourself giving nearly every item its own value, you've enumerated, not categorized — merge the singletons up a level until each color groups at least two (a `cache` and a `database` are both `datastore`; a caller and a gateway are both `client`; two microservices are both `service`). One color per item is the same visual noise as random colors — the grouping only earns its place when a color means "these belong together." Leave items uncolored only when they genuinely form a single undifferentiated kind, or the user asked for no color.
115
+ - **Categorize and color — by default, not only when obvious.** Before drawing, find the axis that sorts the items into kinds and color by it: layer (frontend / backend / data), role (client / service / datastore), trust zone (internal / external / third-party), status (done / active / blocked), owner/team, or read-path vs write-path. Almost every diagram has such an axis — actively look for one rather than leaving everything monochrome. Express it with a **tag group**, never ad-hoc per-node colors: declare `tag <Axis> as t` (the name is a single word — `tag TrustZone as tz` — or quote a multi-word name: `tag "Trust Zone" as tz`), indent the category values (a trailing color is optional — bare values auto-pick a palette color), set `active-tag <Axis>` in the header — after the tag group and before the first element, because a type such as c4 refuses it after content — then assign each item `Node t: <Category>` (see the tag-group syntax in the per-type section below). **Bracket, block, body, event-line, family and sketch** take the tag group but no `active-tag` line — declare the group and stop there; on event-line, family and sketch the line would be drawn as an element. **Class, flowchart, whiteboard, wireframe, raci, cycle, pyramid, ring, sankey, tech-radar, venn, version-control, wordcloud, arc, bar, clock, countdown, funnel, function, goal, heatmap, line, pie, polar-area, quadrant, radar, scatter and slope** take no tag group at all — skip this rule for them. Most report the lines; cycle, pyramid, ring, sankey, venn, version-control and wordcloud read them as content, and flowchart and tech-radar drop them without a word. Only the 11 named palette colors exist, and they re-resolve per palette/theme. Color the grouping so the categories — and the boundaries between them — read at a glance. **Buckets, not name tags — never 1:1.** A tag group must have _fewer_ values than it has members: each color should bucket two or more items so the palette compresses the diagram into a few meaningful kinds (aim for ~2–4 categories, and keep distinct colors well under half the item count). If you find yourself giving nearly every item its own value, you've enumerated, not categorized — merge the singletons up a level until each color groups at least two (a `cache` and a `database` are both `datastore`; a caller and a gateway are both `client`; two microservices are both `service`). One color per item is the same visual noise as random colors — the grouping only earns its place when a color means "these belong together." Leave items uncolored only when they genuinely form a single undifferentiated kind, or the user asked for no color.
116
116
  <!-- CATEGORIZE end -->
117
117
  - **Keep labels short.** A few words per node. Move detail into notes or metadata, never a full sentence inside a label.
118
118
  - **Let the defaults show.** Don't add `no-*` opt-outs unless the user asked to hide or disable something — they strip helpful labels, values, and color.
@@ -153,6 +153,7 @@ Valid markup is the floor, not the goal. A good diagram reads at a glance. Apply
153
153
  | `treemap` | nested rectangles sized by value (budgets, disk usage, portfolios) |
154
154
  | `block` | author-controlled grid of nested, collapsible blocks (system / architecture layouts) |
155
155
  | `sketch` | GUI-first free-placement canvas: uniform shapes on a snap grid, arrows, tags (markup is app-generated) |
156
+ | `whiteboard` | free-form infinite canvas: shapes, sticky notes, free arrows, text, images and freehand ink at pixel positions (canvas-drawn; AI writes all but ink) |
156
157
  | `goal` | single progress-toward-a-target value (`now` vs `target`) as a progress bar, thermometer, or gauge — KPIs, fundraising, quotas |
157
158
  | `countdown` | live "N days until X" that ticks every second and is accurate on every load — trip dates, launches, deadlines; the only dynamic chart type |
158
159
  | `clock` | live world-clock board: current time for people/places across time zones, ticking every second, with optional working-hours status and sundown line |
@@ -179,7 +180,7 @@ Valid markup is the floor, not the goal. A good diagram reads at a glance. Apply
179
180
 
180
181
  ### Common examples (curated, parse-clean)
181
182
 
182
- _The most common types, inline so you can generate them without a fetch. For the other 42, get the per-type section (see below)._
183
+ _The most common types, inline so you can generate them without a fetch. For the other 43, get the per-type section (see below)._
183
184
 
184
185
  #### journey-map
185
186