@diagrammo/dgmo 0.49.0 → 0.50.1

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 (198) hide show
  1. package/.cursorrules +6 -2
  2. package/.github/copilot-instructions.md +6 -2
  3. package/.windsurfrules +6 -2
  4. package/SKILL.md +6 -2
  5. package/dist/advanced.js +557 -195
  6. package/dist/auto.js +129 -119
  7. package/dist/auto.mjs +19496 -12761
  8. package/dist/block.js +145 -48
  9. package/dist/{charts-d3-EW3YQTEA.js → charts-d3-LR6D3D7A.js} +5 -5
  10. package/dist/{chunk-5FGDJIJX.js → chunk-2C56LEML.js} +3 -3
  11. package/dist/{chunk-XJ7J6WOO.js → chunk-2KGXHFYK.js} +4 -4
  12. package/dist/{chunk-T7IKPCMI.js → chunk-3LH5CLP4.js} +3 -3
  13. package/dist/{chunk-ZDUQGL3N.js → chunk-3LKM6FMW.js} +2 -2
  14. package/dist/{chunk-4FIV4K4Z.js → chunk-3NODSS6A.js} +7 -7
  15. package/dist/{chunk-4BD7EVPK.js → chunk-3P2DKJCG.js} +2 -2
  16. package/dist/{chunk-TC3YWBFO.js → chunk-3UIKSPFB.js} +35 -9
  17. package/dist/{chunk-SJEGO2QL.js → chunk-3XGZF2QJ.js} +4 -4
  18. package/dist/chunk-3XPUDB7B.js +420 -0
  19. package/dist/{chunk-O5MQPK7E.js → chunk-3Y2DRD7S.js} +3 -3
  20. package/dist/chunk-3YPY3OXD.js +354 -0
  21. package/dist/{chunk-N4J5KGWG.js → chunk-4MJ7M6YL.js} +8 -8
  22. package/dist/{chunk-JFPY3UJ7.js → chunk-4S52SK6G.js} +8 -8
  23. package/dist/{chunk-ALRHIR6I.js → chunk-5GJYGP5Z.js} +4 -4
  24. package/dist/{chunk-SQDFK5ZQ.js → chunk-5OWVC2A6.js} +3 -3
  25. package/dist/{chunk-7VLUGEMJ.js → chunk-66NVRO4K.js} +4 -4
  26. package/dist/{chunk-ZREZOIGS.js → chunk-66RUL3XF.js} +6 -6
  27. package/dist/{chunk-MJCG5K2O.js → chunk-6BFZKBGD.js} +2 -2
  28. package/dist/{chunk-2WMBWZY2.js → chunk-6HJBFVLO.js} +3 -3
  29. package/dist/{chunk-XCC2RENT.js → chunk-6IAA2QQ2.js} +2 -2
  30. package/dist/{chunk-B57V3DWN.js → chunk-7L3R6I3U.js} +3 -3
  31. package/dist/chunk-7PQYTZMA.js +681 -0
  32. package/dist/{chunk-6SA7FJE4.js → chunk-7QKLIMRZ.js} +10 -10
  33. package/dist/{chunk-YTN572Q2.js → chunk-7TV5Y53Y.js} +2 -2
  34. package/dist/{chunk-6CLKNXVP.js → chunk-BBGDM4NQ.js} +457 -78
  35. package/dist/{chunk-3NFJWFNP.js → chunk-BDXC7MDK.js} +1045 -124
  36. package/dist/{chunk-D5AVQCDN.js → chunk-BH3UYK36.js} +3 -3
  37. package/dist/chunk-BTUTZMPT.js +482 -0
  38. package/dist/{chunk-LVHPTBO3.js → chunk-C2CVAM3U.js} +4 -4
  39. package/dist/{chunk-BCT5G2VN.js → chunk-DFTFPYUD.js} +5 -5
  40. package/dist/{chunk-KV6Y2HE6.js → chunk-DSWVNQVS.js} +4 -4
  41. package/dist/{chunk-4YNP6O47.js → chunk-DZXYF2F5.js} +13 -3
  42. package/dist/{chunk-FUCAB3KQ.js → chunk-EAMEADTV.js} +3 -3
  43. package/dist/chunk-FA6K3FWM.js +940 -0
  44. package/dist/{chunk-HBVD67XG.js → chunk-FJUNPCYI.js} +2 -2
  45. package/dist/{chunk-6VE3VLWM.js → chunk-GBE54KY6.js} +6 -5
  46. package/dist/{chunk-YRVLP7UU.js → chunk-GKC3HILQ.js} +4 -4
  47. package/dist/{chunk-ZXL6MB4R.js → chunk-GL5UZ6NY.js} +3 -3
  48. package/dist/{chunk-GB3YZTAM.js → chunk-H73FP42Q.js} +5 -5
  49. package/dist/{chunk-4UDKKGHH.js → chunk-HEVYAHLW.js} +2 -2
  50. package/dist/{chunk-DDTJ5N7Q.js → chunk-HLJVEAOF.js} +6 -6
  51. package/dist/{chunk-CLR4A2N2.js → chunk-HTMN2Z6U.js} +4 -4
  52. package/dist/{chunk-TLKMTQYL.js → chunk-I2WKW7C7.js} +3 -3
  53. package/dist/{chunk-IUK7AGD4.js → chunk-I7F2A35O.js} +2 -2
  54. package/dist/{chunk-IBC35BTK.js → chunk-IUMPEA64.js} +2 -2
  55. package/dist/{chunk-5XCM7UUW.js → chunk-J6K7RP6P.js} +100 -36
  56. package/dist/{chunk-AJ2PEY7J.js → chunk-JJUOHGX2.js} +2 -2
  57. package/dist/{chunk-CEHZOPGM.js → chunk-KFZYNWWO.js} +2 -2
  58. package/dist/{chunk-4NQ3IKUM.js → chunk-KHEYDLMT.js} +5 -5
  59. package/dist/{chunk-YM2BSPYW.js → chunk-LE4MYMLI.js} +2 -2
  60. package/dist/{chunk-PU3AUQPA.js → chunk-M5RXSRO2.js} +2 -2
  61. package/dist/{chunk-XKTN7CZF.js → chunk-MCZ5LBZD.js} +4 -4
  62. package/dist/{chunk-35BBZDFE.js → chunk-NU3XLTGP.js} +4 -4
  63. package/dist/{chunk-BPIJLRYE.js → chunk-NWED7CYO.js} +3 -3
  64. package/dist/{chunk-YYX3SU6H.js → chunk-OMNGQPEZ.js} +257 -101
  65. package/dist/{chunk-BGJV5ATD.js → chunk-ONA5KPV3.js} +2 -2
  66. package/dist/{chunk-ZNQX6QWH.js → chunk-OTAL43EH.js} +6 -2
  67. package/dist/{chunk-F743CM2N.js → chunk-OTQKUHRS.js} +3 -3
  68. package/dist/{chunk-KUBBJ2CD.js → chunk-P7CE7LXL.js} +6 -6
  69. package/dist/{chunk-UVCXZEGU.js → chunk-PFHVU7UA.js} +2 -2
  70. package/dist/{chunk-5ZZLLBFK.js → chunk-PGEGPSCZ.js} +2 -2
  71. package/dist/chunk-Q4V4XQWV.js +158 -0
  72. package/dist/{chunk-IHLSHCPZ.js → chunk-QJP6PG7F.js} +5 -5
  73. package/dist/{chunk-EYN7VFKL.js → chunk-QROYX7TT.js} +3 -3
  74. package/dist/chunk-QXKWYZNR.js +379 -0
  75. package/dist/{chunk-VC3TR4NL.js → chunk-RZ6YKEUJ.js} +3 -3
  76. package/dist/{chunk-K6HNAY5V.js → chunk-SCHXJTZL.js} +2 -2
  77. package/dist/{chunk-7OVSJI2V.js → chunk-SQLNBA64.js} +3 -3
  78. package/dist/{chunk-65RTDUZH.js → chunk-SXRTRMEE.js} +3 -3
  79. package/dist/{chunk-3BIAFYD2.js → chunk-T4VOVZT5.js} +2 -2
  80. package/dist/{chunk-UWDO3O52.js → chunk-TN35C5KM.js} +2 -2
  81. package/dist/{chunk-IFK3GIUW.js → chunk-TSA237IM.js} +2 -2
  82. package/dist/{chunk-DKEPS5LH.js → chunk-U2HGPLZS.js} +36 -2
  83. package/dist/{chunk-4HVNZ7WF.js → chunk-VBYSIOOY.js} +3 -3
  84. package/dist/{chunk-ZTLWVRNS.js → chunk-VDOOQZUD.js} +2 -2
  85. package/dist/{chunk-RTERS6S5.js → chunk-VUJGMJE6.js} +4 -4
  86. package/dist/{chunk-X2CH42BN.js → chunk-VVW3F3MD.js} +7 -7
  87. package/dist/{chunk-RI4NIMFP.js → chunk-VVZRV54S.js} +75 -35
  88. package/dist/{chunk-LG4TWW4U.js → chunk-WW32K72E.js} +8 -8
  89. package/dist/{chunk-NVT6C2VE.js → chunk-X6EZPSW6.js} +4 -4
  90. package/dist/{chunk-KQAEKMIX.js → chunk-XDXNDSKO.js} +2 -2
  91. package/dist/{chunk-FMKTYMP4.js → chunk-XJLKLU4D.js} +3 -3
  92. package/dist/chunk-Y4RNXEAO.js +952 -0
  93. package/dist/{chunk-26RVGM44.js → chunk-YIA4LEX4.js} +15 -7
  94. package/dist/chunk-YNRDWYZP.js +295 -0
  95. package/dist/{chunk-SGHSY3LU.js → chunk-Z6XJQ6KO.js} +81 -6
  96. package/dist/{chunk-SVDWQGX2.js → chunk-ZAD4HV2G.js} +139 -78
  97. package/dist/cli.cjs +153 -144
  98. package/dist/clock.d.ts +10 -0
  99. package/dist/clock.js +235 -0
  100. package/dist/countdown.d.ts +12 -0
  101. package/dist/countdown.js +450 -0
  102. package/dist/dgmo-router-YTU3ENAX.js +84 -0
  103. package/dist/{dimensions-WSIJXT5Q.js → dimensions-OTBKC5M6.js} +5 -5
  104. package/dist/editor.js +39 -1
  105. package/dist/element.js +131 -121
  106. package/dist/element.mjs +19496 -12761
  107. package/dist/{flowchart-parser-IVZN7CQN.js → flowchart-parser-OE4WHLTF.js} +4 -4
  108. package/dist/{flowchart-renderer-GMI2U3DD.js → flowchart-renderer-GPCSMTOR.js} +6 -6
  109. package/dist/highlight.d.ts +17 -1
  110. package/dist/highlight.js +156 -5
  111. package/dist/index.js +50 -45
  112. package/dist/{layout-HQMBPJVS.js → layout-46366KBT.js} +2 -2
  113. package/dist/{layout-D42XE4RE.js → layout-5BG6DFCU.js} +3 -3
  114. package/dist/{layout-K2ZN3Q42.js → layout-7MZ5NF2N.js} +4 -4
  115. package/dist/{layout-4Z5JM7PT.js → layout-FWODLIMP.js} +4 -4
  116. package/dist/{layout-GZ2CWONU.js → layout-J36454XU.js} +4 -4
  117. package/dist/{layout-S3EK4IYO.js → layout-LD6XTLD6.js} +4 -4
  118. package/dist/{parser-CLMFZWCC.js → parser-36HVKU5U.js} +5 -5
  119. package/dist/{parser-MCJWF5G3.js → parser-4AI5ZN5F.js} +3 -3
  120. package/dist/{parser-DERPY5KC.js → parser-4NO6VZ6S.js} +4 -4
  121. package/dist/parser-4WQQQXCG.js +13 -0
  122. package/dist/{parser-4ROBKVUR.js → parser-5OXGPNBF.js} +5 -5
  123. package/dist/{parser-XWUDFJ7P.js → parser-AGVYTQXV.js} +4 -4
  124. package/dist/{parser-TITK4YW6.js → parser-AXKBDGNO.js} +5 -5
  125. package/dist/parser-B5FVS7O6.js +11 -0
  126. package/dist/parser-CSFUN3CT.js +14 -0
  127. package/dist/parser-CVMEDULU.js +15 -0
  128. package/dist/{parser-KPMN5KKE.js → parser-D5VILGN2.js} +4 -4
  129. package/dist/{parser-IKZFTLOJ.js → parser-DFFEDKHH.js} +3 -3
  130. package/dist/{parser-JD7OQ2E6.js → parser-H3XEPFPV.js} +4 -4
  131. package/dist/{parser-UBGPTIZD.js → parser-HYRTF3DO.js} +3 -3
  132. package/dist/{parser-K647FRI4.js → parser-IBWNAPY4.js} +3 -3
  133. package/dist/{parser-4BKIFG2C.js → parser-IJBMRXMC.js} +5 -5
  134. package/dist/{parser-MBJSBTL5.js → parser-JJR52VAT.js} +5 -5
  135. package/dist/{parser-SMBJO3XN.js → parser-K3XXLMUW.js} +4 -4
  136. package/dist/{parser-OBQG655V.js → parser-KCR2WS3V.js} +4 -4
  137. package/dist/{parser-HVJFTOXL.js → parser-LWKKBNSA.js} +3 -3
  138. package/dist/{parser-ZYC3XGNS.js → parser-MPCE5JBG.js} +4 -4
  139. package/dist/{parser-QJYS7KQQ.js → parser-MTOMTWTD.js} +4 -4
  140. package/dist/{parser-GFSOPDB7.js → parser-O4HIUN6G.js} +4 -4
  141. package/dist/{parser-BL7Z72EY.js → parser-PSA4UBSP.js} +4 -4
  142. package/dist/{parser-TNYX5S7E.js → parser-RV4M6AS2.js} +4 -4
  143. package/dist/parser-RZPVAQVX.js +11 -0
  144. package/dist/{parser-UGA23PYK.js → parser-TGQZJ5OT.js} +4 -4
  145. package/dist/parser-TXND652E.js +13 -0
  146. package/dist/{parser-WISPH7LW.js → parser-VKOJM7KS.js} +4 -4
  147. package/dist/{parser-ZKF5K2H2.js → parser-W4PQUGX3.js} +4 -4
  148. package/dist/{parser-MRBPXXIV.js → parser-WAV5JRPT.js} +4 -4
  149. package/dist/{parser-D6ONJQFR.js → parser-YS7TOS2K.js} +3 -3
  150. package/dist/pert.d.ts +8 -0
  151. package/dist/{renderer-VFUVRNLK.js → renderer-2AZ5HJFK.js} +4 -4
  152. package/dist/{renderer-V3JEMWMM.js → renderer-2QPMJ2DA.js} +6 -6
  153. package/dist/renderer-45PSOL3E.js +19 -0
  154. package/dist/{renderer-BB5PREMY.js → renderer-4ITCHBT7.js} +4 -4
  155. package/dist/{renderer-XEKIRPI6.js → renderer-5DSEWF74.js} +5 -5
  156. package/dist/{renderer-QNHUXCRL.js → renderer-6OKF44KS.js} +9 -9
  157. package/dist/renderer-72LGR2YF.js +14 -0
  158. package/dist/{renderer-YHXPN3GF.js → renderer-7SD6MSBS.js} +7 -7
  159. package/dist/renderer-A5VE5BCI.js +24 -0
  160. package/dist/{renderer-A5VFZQQK.js → renderer-AUW2BE6G.js} +6 -6
  161. package/dist/{renderer-LWGJFT3D.js → renderer-B5TBNZJE.js} +5 -5
  162. package/dist/{renderer-4IUPINAE.js → renderer-BSR2O2H6.js} +7 -7
  163. package/dist/{renderer-DKESNMU5.js → renderer-CYB4LK3G.js} +6 -6
  164. package/dist/{renderer-MFJ7HY2H.js → renderer-FF24KZCI.js} +5 -5
  165. package/dist/{renderer-CGW7QPNA.js → renderer-FPE3J5VZ.js} +7 -7
  166. package/dist/{renderer-6T3KK4S3.js → renderer-FYSVXL7M.js} +7 -7
  167. package/dist/{renderer-THD6V5TL.js → renderer-HDCCZURL.js} +9 -7
  168. package/dist/{renderer-TPIBXNOS.js → renderer-JCCHNECZ.js} +6 -6
  169. package/dist/{renderer-QL5KO6SK.js → renderer-KS7YZJE2.js} +7 -7
  170. package/dist/{renderer-SQ3JUAI7.js → renderer-NGXZTRK6.js} +6 -6
  171. package/dist/{renderer-MJDDU27W.js → renderer-ODUUOPVT.js} +10 -10
  172. package/dist/renderer-PJM35LJN.js +17 -0
  173. package/dist/{renderer-TYXRHMRI.js → renderer-PPIHO5FI.js} +9 -9
  174. package/dist/{renderer-W5RMOURB.js → renderer-PSMMZCKH.js} +6 -6
  175. package/dist/{renderer-UZF3JROD.js → renderer-QAOBLRXV.js} +8 -8
  176. package/dist/{renderer-ROV756WT.js → renderer-R2WNIC2C.js} +5 -5
  177. package/dist/{renderer-VICQ4WNY.js → renderer-SBS3YWU5.js} +5 -5
  178. package/dist/{renderer-6L3NBEY5.js → renderer-UYMQQCJK.js} +6 -6
  179. package/dist/{renderer-radial-MHO2VDXN.js → renderer-radial-F7X5F2VU.js} +6 -6
  180. package/dist/{state-parser-RX3GXOIB.js → state-parser-3REXRK3R.js} +4 -4
  181. package/dist/{state-renderer-AJUKGNWU.js → state-renderer-XYLNRWXR.js} +6 -6
  182. package/docs/ai-integration.md +6 -2
  183. package/docs/language-reference.md +253 -22
  184. package/gallery/fixtures/body.dgmo +17 -0
  185. package/gallery/fixtures/bracket.dgmo +30 -0
  186. package/gallery/fixtures/clock.dgmo +8 -0
  187. package/gallery/fixtures/countdown.dgmo +3 -0
  188. package/gallery/fixtures/goal.dgmo +4 -0
  189. package/package.json +12 -4
  190. package/dist/advanced.d.ts +0 -6162
  191. package/dist/auto.d.ts +0 -54
  192. package/dist/block.d.ts +0 -123
  193. package/dist/dgmo-router-ODKPEJ3P.js +0 -79
  194. package/dist/element.d.ts +0 -62
  195. package/dist/index.d.ts +0 -166
  196. package/dist/parser-667RGSUW.js +0 -13
  197. package/dist/parser-J3P2D6IP.js +0 -13
  198. package/dist/themes-1-CuKpeH.d.ts +0 -908
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildMapProjection
3
- } from "./chunk-YM2BSPYW.js";
3
+ } from "./chunk-LE4MYMLI.js";
4
4
  import {
5
5
  TITLE_FONT_SIZE,
6
6
  TITLE_Y
@@ -51,4 +51,4 @@ export {
51
51
  mapContentAspect,
52
52
  mapExportDimensions
53
53
  };
54
- //# sourceMappingURL=chunk-UWDO3O52.js.map
54
+ //# sourceMappingURL=chunk-TN35C5KM.js.map
@@ -5,7 +5,7 @@ import {
5
5
  parseFirstLine,
6
6
  splitNameAndMeta,
7
7
  warnUnknownMetaKeys
8
- } from "./chunk-ZNQX6QWH.js";
8
+ } from "./chunk-OTAL43EH.js";
9
9
  import {
10
10
  makeDgmoError,
11
11
  makeFail,
@@ -332,4 +332,4 @@ function assignGlobalNumbers(result) {
332
332
  export {
333
333
  parseTechRadar
334
334
  };
335
- //# sourceMappingURL=chunk-IFK3GIUW.js.map
335
+ //# sourceMappingURL=chunk-TSA237IM.js.map
@@ -126,6 +126,17 @@ var DIRECTIVES_REGISTRY = [
126
126
  { token: "import", category: "directive" },
127
127
  { token: "hide", category: "directive" },
128
128
  { token: "direction", category: "directive" },
129
+ // ── Clock ────────────────────────────────────────────────
130
+ // The board's flat directives — highlight-only (the parser validates them
131
+ // inline, no extractable Set). `no-title` + `direction` are already listed
132
+ // above (shared). Values (analog is a bare flag; color-by's
133
+ // place|work|daylight|time|none) highlight as plain tokens.
134
+ { token: "analog", category: "directive" },
135
+ { token: "hours", category: "directive" },
136
+ { token: "days", category: "directive" },
137
+ { token: "no-sun", category: "directive" },
138
+ { token: "time-24", category: "directive" },
139
+ { token: "color-by", category: "directive" },
129
140
  // ── Boxes-and-lines ──────────────────────────────────────
130
141
  // `heat <Label> [low] [high]` is the value→colour ramp directive, but `heat`
131
142
  // is NOT registered as a directive keyword: it is dual-use with the `heat:`
@@ -218,6 +229,17 @@ var DIRECTIVES_REGISTRY = [
218
229
  { token: "scrubber-trials", category: "directive" },
219
230
  { token: "start-date", category: "directive" },
220
231
  { token: "end-date", category: "directive" },
232
+ // ── Goal ─────────────────────────────────────────────────
233
+ // Mode flags, value-key leaders, and opt-outs. `now`/`target` collide with
234
+ // label prose ("start now", "on target"), but the arrow-label demotion pass
235
+ // (see highlight-api LABEL_WORD_NODES) treats any keyword-bearing label as
236
+ // text and demotes them, so they highlight only as line leaders.
237
+ { token: "thermometer", category: "directive" },
238
+ { token: "gauge", category: "directive" },
239
+ { token: "now", category: "directive" },
240
+ { token: "target", category: "directive" },
241
+ { token: "no-note", category: "directive" },
242
+ { token: "no-auto-color", category: "directive" },
221
243
  // ── Control-flow + wireframe element keywords (CONTROL) ──
222
244
  { token: "if", category: "control" },
223
245
  { token: "else", category: "control" },
@@ -259,7 +281,19 @@ var DIRECTIVES_REGISTRY = [
259
281
  { token: "date", category: "modifier" },
260
282
  { token: "timestamp", category: "modifier" },
261
283
  { token: "float", category: "modifier" },
262
- { token: "decimal", category: "modifier" }
284
+ { token: "decimal", category: "modifier" },
285
+ // ── Bracket ──────────────────────────────────────────────
286
+ // `beats` / `vs` are the infix match keywords; the rest are line directives.
287
+ // (`seed` and `no-legend` already appear above — shared, not re-listed.)
288
+ { token: "beats", category: "control" },
289
+ { token: "vs", category: "control" },
290
+ { token: "rounds", category: "directive" },
291
+ { token: "accent", category: "directive" },
292
+ { token: "no-round", category: "modifier" },
293
+ { token: "no-rounds", category: "modifier" },
294
+ { token: "single-elim", category: "modifier" },
295
+ { token: "double-elim", category: "modifier" },
296
+ { token: "seeded", category: "modifier" }
263
297
  ];
264
298
  function tokensWhere(pred) {
265
299
  const out = /* @__PURE__ */ new Set();
@@ -312,4 +346,4 @@ export {
312
346
  REGISTRY_MODIFIER_TOKENS,
313
347
  REGISTRY_COLON_KEY_TOKENS
314
348
  };
315
- //# sourceMappingURL=chunk-DKEPS5LH.js.map
349
+ //# sourceMappingURL=chunk-U2HGPLZS.js.map
@@ -7,7 +7,7 @@ import {
7
7
  matchTagBlockHeading,
8
8
  stripDefaultModifier,
9
9
  tagAttrKey
10
- } from "./chunk-HBVD67XG.js";
10
+ } from "./chunk-FJUNPCYI.js";
11
11
  import {
12
12
  displayName,
13
13
  normalizeName
@@ -26,7 +26,7 @@ import {
26
26
  tokenizeQuoteAware,
27
27
  tryParseSharedOption,
28
28
  withTagAliases
29
- } from "./chunk-ZNQX6QWH.js";
29
+ } from "./chunk-OTAL43EH.js";
30
30
  import {
31
31
  nord,
32
32
  resolveColor
@@ -571,4 +571,4 @@ export {
571
571
  FAMILY_DIAGNOSTICS,
572
572
  parseFamily
573
573
  };
574
- //# sourceMappingURL=chunk-4HVNZ7WF.js.map
574
+ //# sourceMappingURL=chunk-VBYSIOOY.js.map
@@ -19,7 +19,7 @@ import {
19
19
  injectDefaultTagMetadata,
20
20
  resolveTagColor,
21
21
  tagAttrKey
22
- } from "./chunk-HBVD67XG.js";
22
+ } from "./chunk-FJUNPCYI.js";
23
23
 
24
24
  // src/sitemap/layout.ts
25
25
  import dagre from "@dagrejs/dagre";
@@ -617,4 +617,4 @@ function layoutSitemap(parsed, hiddenCounts, activeTagGroup, hiddenAttributes, e
617
617
  export {
618
618
  layoutSitemap
619
619
  };
620
- //# sourceMappingURL=chunk-ZTLWVRNS.js.map
620
+ //# sourceMappingURL=chunk-VDOOQZUD.js.map
@@ -2,7 +2,7 @@ import {
2
2
  INFRA_BEHAVIOR_KEY_SET,
3
3
  INFRA_EDGE_ONLY_KEY_SET,
4
4
  INFRA_TOP_LEVEL_OPTION_SET
5
- } from "./chunk-DKEPS5LH.js";
5
+ } from "./chunk-U2HGPLZS.js";
6
6
  import {
7
7
  tryStripDescriptionKeyword
8
8
  } from "./chunk-IYULMRBE.js";
@@ -11,7 +11,7 @@ import {
11
11
  stripDefaultModifier,
12
12
  tagAttrKey,
13
13
  validateTagGroupNames
14
- } from "./chunk-HBVD67XG.js";
14
+ } from "./chunk-FJUNPCYI.js";
15
15
  import {
16
16
  GRAPH_DX
17
17
  } from "./chunk-I46X5VUA.js";
@@ -30,7 +30,7 @@ import {
30
30
  tryParseSharedOption,
31
31
  warnUnknownMetaKeys,
32
32
  withTagAliases
33
- } from "./chunk-ZNQX6QWH.js";
33
+ } from "./chunk-OTAL43EH.js";
34
34
  import {
35
35
  isRecognizedColorName
36
36
  } from "./chunk-TLVIHFRO.js";
@@ -890,4 +890,4 @@ export {
890
890
  parseInfra,
891
891
  extractSymbols
892
892
  };
893
- //# sourceMappingURL=chunk-RTERS6S5.js.map
893
+ //# sourceMappingURL=chunk-VUJGMJE6.js.map
@@ -1,10 +1,10 @@
1
+ import {
2
+ analyzePert
3
+ } from "./chunk-NX4EQS3U.js";
1
4
  import {
2
5
  computeNodeSizing,
3
6
  layoutPert
4
7
  } from "./chunk-F2L5GCQ4.js";
5
- import {
6
- analyzePert
7
- } from "./chunk-NX4EQS3U.js";
8
8
  import {
9
9
  COLLAPSE_BAR_HEIGHT,
10
10
  CONTAINER_HEADER_HEIGHT,
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-YYVTBZZC.js";
19
19
  import {
20
20
  renderIntegratedLegend
21
- } from "./chunk-4UDKKGHH.js";
21
+ } from "./chunk-HEVYAHLW.js";
22
22
  import {
23
23
  CAPTION_BOX_PADDING_X,
24
24
  CAPTION_BOX_PADDING_Y,
@@ -43,7 +43,7 @@ import {
43
43
  } from "./chunk-5LWQH6QV.js";
44
44
  import {
45
45
  parsePert
46
- } from "./chunk-FUCAB3KQ.js";
46
+ } from "./chunk-EAMEADTV.js";
47
47
  import {
48
48
  addCalendarDays,
49
49
  formatDuration,
@@ -60,7 +60,7 @@ import {
60
60
  import {
61
61
  resolveActiveTagGroup,
62
62
  resolveTagColor
63
- } from "./chunk-HBVD67XG.js";
63
+ } from "./chunk-FJUNPCYI.js";
64
64
 
65
65
  // src/pert/renderer.ts
66
66
  import * as d3Selection from "d3-selection";
@@ -1815,4 +1815,4 @@ export {
1815
1815
  measurePertAnalysisBlock,
1816
1816
  renderPertAnalysisBlock
1817
1817
  };
1818
- //# sourceMappingURL=chunk-X2CH42BN.js.map
1818
+ //# sourceMappingURL=chunk-VVW3F3MD.js.map
@@ -1,10 +1,22 @@
1
+ import {
2
+ parseGoal
3
+ } from "./chunk-Q4V4XQWV.js";
4
+ import {
5
+ parseCountdown
6
+ } from "./chunk-BTUTZMPT.js";
7
+ import {
8
+ parseClock
9
+ } from "./chunk-3XPUDB7B.js";
10
+ import {
11
+ parseBracket
12
+ } from "./chunk-QXKWYZNR.js";
1
13
  import {
2
14
  allTasks,
3
15
  parseRaci
4
- } from "./chunk-5ZZLLBFK.js";
16
+ } from "./chunk-PGEGPSCZ.js";
5
17
  import {
6
18
  parseBody
7
- } from "./chunk-TC3YWBFO.js";
19
+ } from "./chunk-3UIKSPFB.js";
8
20
  import {
9
21
  EXTENDED_CHART_DOORS,
10
22
  parseChart,
@@ -13,109 +25,109 @@ import {
13
25
  parseHeatmap,
14
26
  parseSankey,
15
27
  parseScatter
16
- } from "./chunk-KQAEKMIX.js";
28
+ } from "./chunk-XDXNDSKO.js";
17
29
  import {
18
30
  parseWireframe
19
- } from "./chunk-TLKMTQYL.js";
31
+ } from "./chunk-I2WKW7C7.js";
20
32
  import {
21
33
  parseTechRadar
22
- } from "./chunk-IFK3GIUW.js";
34
+ } from "./chunk-TSA237IM.js";
23
35
  import {
24
36
  parseCycle
25
- } from "./chunk-XCC2RENT.js";
37
+ } from "./chunk-6IAA2QQ2.js";
26
38
  import {
27
39
  parseJourneyMap
28
- } from "./chunk-2WMBWZY2.js";
40
+ } from "./chunk-6HJBFVLO.js";
29
41
  import {
30
42
  parsePyramid
31
- } from "./chunk-4BD7EVPK.js";
43
+ } from "./chunk-3P2DKJCG.js";
32
44
  import {
33
45
  parseRing
34
- } from "./chunk-ZDUQGL3N.js";
46
+ } from "./chunk-3LKM6FMW.js";
35
47
  import {
36
48
  parseTreemap
37
- } from "./chunk-FMKTYMP4.js";
49
+ } from "./chunk-XJLKLU4D.js";
38
50
  import {
39
51
  parseBlock
40
- } from "./chunk-B57V3DWN.js";
52
+ } from "./chunk-7L3R6I3U.js";
41
53
  import {
42
54
  parseInfra
43
- } from "./chunk-RTERS6S5.js";
55
+ } from "./chunk-VUJGMJE6.js";
44
56
  import {
45
57
  parseGantt
46
- } from "./chunk-LVHPTBO3.js";
58
+ } from "./chunk-C2CVAM3U.js";
47
59
  import {
48
60
  parseMap
49
- } from "./chunk-YRVLP7UU.js";
61
+ } from "./chunk-GKC3HILQ.js";
50
62
  import {
51
63
  parseBoxesAndLines
52
- } from "./chunk-KV6Y2HE6.js";
64
+ } from "./chunk-DSWVNQVS.js";
53
65
  import {
54
66
  parseSketch
55
- } from "./chunk-4YNP6O47.js";
67
+ } from "./chunk-DZXYF2F5.js";
56
68
  import {
57
69
  parseSwimlane
58
- } from "./chunk-YYX3SU6H.js";
70
+ } from "./chunk-OMNGQPEZ.js";
59
71
  import {
60
72
  parseFamily
61
- } from "./chunk-4HVNZ7WF.js";
73
+ } from "./chunk-VBYSIOOY.js";
62
74
  import {
63
75
  parseMindmap
64
- } from "./chunk-65RTDUZH.js";
76
+ } from "./chunk-SXRTRMEE.js";
65
77
  import {
66
78
  looksLikeERDiagram,
67
79
  parseERDiagram
68
- } from "./chunk-35BBZDFE.js";
80
+ } from "./chunk-NU3XLTGP.js";
69
81
  import {
70
82
  looksLikeOrg,
71
83
  parseOrg
72
- } from "./chunk-F743CM2N.js";
84
+ } from "./chunk-OTQKUHRS.js";
73
85
  import {
74
86
  looksLikeSitemap,
75
87
  parseSitemap
76
- } from "./chunk-7OVSJI2V.js";
88
+ } from "./chunk-SQLNBA64.js";
77
89
  import {
78
90
  looksLikePert,
79
91
  parsePert
80
- } from "./chunk-FUCAB3KQ.js";
92
+ } from "./chunk-EAMEADTV.js";
81
93
  import {
82
94
  parseEventLine
83
- } from "./chunk-CLR4A2N2.js";
95
+ } from "./chunk-HTMN2Z6U.js";
84
96
  import {
85
97
  parseTimelineEventLine
86
- } from "./chunk-IUK7AGD4.js";
98
+ } from "./chunk-I7F2A35O.js";
87
99
  import {
88
100
  parseVersionControl
89
- } from "./chunk-MJCG5K2O.js";
101
+ } from "./chunk-6BFZKBGD.js";
90
102
  import {
91
103
  parseKanban
92
- } from "./chunk-O5MQPK7E.js";
104
+ } from "./chunk-3Y2DRD7S.js";
93
105
  import {
94
106
  parseC4
95
- } from "./chunk-EYN7VFKL.js";
107
+ } from "./chunk-QROYX7TT.js";
96
108
  import {
97
109
  looksLikeSequence,
98
110
  parseSequenceDgmo
99
- } from "./chunk-D5AVQCDN.js";
111
+ } from "./chunk-BH3UYK36.js";
100
112
  import {
101
113
  matchTagBlockHeading,
102
114
  stripDefaultModifier,
103
115
  tagAttrKey,
104
116
  validateTagGroupNames,
105
117
  validateTagValues
106
- } from "./chunk-HBVD67XG.js";
118
+ } from "./chunk-FJUNPCYI.js";
107
119
  import {
108
120
  looksLikeFlowchart,
109
121
  parseFlowchart
110
- } from "./chunk-6VE3VLWM.js";
122
+ } from "./chunk-GBE54KY6.js";
111
123
  import {
112
124
  looksLikeState,
113
125
  parseState
114
- } from "./chunk-5FGDJIJX.js";
126
+ } from "./chunk-2C56LEML.js";
115
127
  import {
116
128
  looksLikeClassDiagram,
117
129
  parseClassDiagram
118
- } from "./chunk-ZXL6MB4R.js";
130
+ } from "./chunk-GL5UZ6NY.js";
119
131
  import {
120
132
  TIMELINE_REGISTRY,
121
133
  collectIndentedValues,
@@ -126,7 +138,7 @@ import {
126
138
  peelTrailingColorName,
127
139
  splitNameAndMeta,
128
140
  withTagAliases
129
- } from "./chunk-ZNQX6QWH.js";
141
+ } from "./chunk-OTAL43EH.js";
130
142
  import {
131
143
  resolveColorWithDiagnostic
132
144
  } from "./chunk-TLVIHFRO.js";
@@ -1407,6 +1419,10 @@ var chartTypes = [
1407
1419
  id: "sitemap",
1408
1420
  description: "Site / app navigation structure"
1409
1421
  },
1422
+ {
1423
+ id: "bracket",
1424
+ description: "Single-elimination tournament bracket: winners auto-advance up a tree; seed the field for a day-0 skeleton or list results for a casual bracket, with two sides mirroring inward to a championship"
1425
+ },
1410
1426
  {
1411
1427
  id: "kanban",
1412
1428
  description: "Task board columns"
@@ -1451,6 +1467,18 @@ var chartTypes = [
1451
1467
  id: "sketch",
1452
1468
  description: "GUI-first constrained canvas: uniformly-sized shapes placed freely on a snap grid, arrows between them, meaning through tags \u2014 the markup is generated by the canvas editor"
1453
1469
  },
1470
+ {
1471
+ id: "goal",
1472
+ description: "Single progress-toward-a-target value (now vs target) as a progress bar, thermometer, or gauge \u2014 KPIs, fundraising, quotas, completion"
1473
+ },
1474
+ {
1475
+ id: "countdown",
1476
+ description: 'Live "N days until X" that ticks every second and is accurate on every load \u2014 trip dates, launches, deadlines; the only dynamic chart type'
1477
+ },
1478
+ {
1479
+ id: "clock",
1480
+ description: "Live world-clock board: current time for people/places across time zones, ticking every second, with optional working-hours status and sundown line"
1481
+ },
1454
1482
  {
1455
1483
  id: "map",
1456
1484
  description: "Geographic concept map: highlight/score regions, drop points of interest, connect with routes or edges"
@@ -1952,6 +1980,18 @@ var CHART_TYPE_REGISTRY = [
1952
1980
  // Block diagram: deterministic grid (no measure/minDims — it sizes to content
1953
1981
  // and is scaled to fit whatever rectangle it's given).
1954
1982
  { id: "block", category: "visualization", parse: parseBlock },
1983
+ // Goal: a single now/target value in one of three faces (bar/thermometer/
1984
+ // gauge). No measure/minDims — it centers in whatever rectangle it's given.
1985
+ { id: "goal", category: "visualization", parse: parseGoal },
1986
+ // Countdown: the only dynamic chart — a single "N days until X" that ticks
1987
+ // live. No measure/minDims; it centers in whatever rectangle it's given.
1988
+ { id: "countdown", category: "visualization", parse: parseCountdown },
1989
+ // Clock: live world-clock board — one row per place/zone, ticking every
1990
+ // second. No measure/minDims; it sizes to its rows and scales to fit.
1991
+ { id: "clock", category: "visualization", parse: parseClock },
1992
+ // Bracket: single-elim tournament tree. A diagram (structural, node-and-edge);
1993
+ // no measure/minDims — it sizes to content and scales to fit its rectangle.
1994
+ { id: "bracket", category: "diagram", parse: parseBracket },
1955
1995
  // ── Geographic map (own parser → resolver → layout → renderer) ──
1956
1996
  { id: "map", category: "visualization", parse: parseMap }
1957
1997
  ];
@@ -2122,4 +2162,4 @@ export {
2122
2162
  knownChartTypeIds,
2123
2163
  parseDgmo
2124
2164
  };
2125
- //# sourceMappingURL=chunk-RI4NIMFP.js.map
2165
+ //# sourceMappingURL=chunk-VVZRV54S.js.map
@@ -1,9 +1,9 @@
1
- import {
2
- renderNodeCard
3
- } from "./chunk-AHGF2YYA.js";
4
1
  import {
5
2
  renderInlineText
6
3
  } from "./chunk-3HDBAXF5.js";
4
+ import {
5
+ renderNodeCard
6
+ } from "./chunk-AHGF2YYA.js";
7
7
  import {
8
8
  CARD_RADIUS,
9
9
  COLLAPSE_BAR_HEIGHT,
@@ -25,7 +25,7 @@ import {
25
25
  } from "./chunk-YYVTBZZC.js";
26
26
  import {
27
27
  renderIntegratedLegend
28
- } from "./chunk-4UDKKGHH.js";
28
+ } from "./chunk-HEVYAHLW.js";
29
29
  import {
30
30
  getMaxLegendReservedHeight
31
31
  } from "./chunk-7UEMZREK.js";
@@ -58,7 +58,7 @@ import {
58
58
  } from "./chunk-P6T66CCZ.js";
59
59
  import {
60
60
  tagAttrKey
61
- } from "./chunk-HBVD67XG.js";
61
+ } from "./chunk-FJUNPCYI.js";
62
62
 
63
63
  // src/sitemap/renderer.ts
64
64
  import * as d3Selection from "d3-selection";
@@ -400,8 +400,8 @@ function renderLegend(parent, legendGroups, palette, isDark, activeTagGroup, fix
400
400
  }
401
401
  }
402
402
  async function renderSitemapForExport(content, theme, palette) {
403
- const { parseSitemap } = await import("./parser-KPMN5KKE.js");
404
- const { layoutSitemap } = await import("./layout-S3EK4IYO.js");
403
+ const { parseSitemap } = await import("./parser-D5VILGN2.js");
404
+ const { layoutSitemap } = await import("./layout-LD6XTLD6.js");
405
405
  const { getPalette } = await import("./palettes-PRJ2RI6D.js");
406
406
  const isDark = theme === "dark";
407
407
  const effectivePalette = palette ?? (isDark ? getPalette("nord").dark : getPalette("nord").light);
@@ -451,4 +451,4 @@ export {
451
451
  renderSitemap,
452
452
  renderSitemapForExport
453
453
  };
454
- //# sourceMappingURL=chunk-LG4TWW4U.js.map
454
+ //# sourceMappingURL=chunk-WW32K72E.js.map
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-YYVTBZZC.js";
10
10
  import {
11
11
  renderIntegratedLegend
12
- } from "./chunk-4UDKKGHH.js";
12
+ } from "./chunk-HEVYAHLW.js";
13
13
  import {
14
14
  getMaxLegendReservedHeight
15
15
  } from "./chunk-7UEMZREK.js";
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-5LWQH6QV.js";
30
30
  import {
31
31
  parseKanban
32
- } from "./chunk-O5MQPK7E.js";
32
+ } from "./chunk-3Y2DRD7S.js";
33
33
  import {
34
34
  contrastText,
35
35
  mix,
@@ -37,7 +37,7 @@ import {
37
37
  } from "./chunk-P6T66CCZ.js";
38
38
  import {
39
39
  tagAttrKey
40
- } from "./chunk-HBVD67XG.js";
40
+ } from "./chunk-FJUNPCYI.js";
41
41
 
42
42
  // src/kanban/renderer.ts
43
43
  import * as d3Selection from "d3-selection";
@@ -882,4 +882,4 @@ export {
882
882
  renderKanban,
883
883
  renderKanbanForExport
884
884
  };
885
- //# sourceMappingURL=chunk-NVT6C2VE.js.map
885
+ //# sourceMappingURL=chunk-X6EZPSW6.js.map
@@ -5,7 +5,7 @@ import {
5
5
  normalizeNumericToken,
6
6
  parseFirstLine,
7
7
  parseSeriesNames
8
- } from "./chunk-ZNQX6QWH.js";
8
+ } from "./chunk-OTAL43EH.js";
9
9
  import {
10
10
  RECOGNIZED_COLOR_NAMES,
11
11
  resolveColorWithDiagnostic
@@ -1054,4 +1054,4 @@ export {
1054
1054
  getSimpleChartLegendGroups,
1055
1055
  getExtendedChartLegendGroups
1056
1056
  };
1057
- //# sourceMappingURL=chunk-KQAEKMIX.js.map
1057
+ //# sourceMappingURL=chunk-XDXNDSKO.js.map
@@ -7,7 +7,7 @@ import {
7
7
  tagAttrKey,
8
8
  validateTagGroupNames,
9
9
  validateTagValues
10
- } from "./chunk-HBVD67XG.js";
10
+ } from "./chunk-FJUNPCYI.js";
11
11
  import {
12
12
  TREEMAP_REGISTRY,
13
13
  extractColor,
@@ -18,7 +18,7 @@ import {
18
18
  stripQuotes,
19
19
  warnUnknownMetaKeys,
20
20
  withTagAliases
21
- } from "./chunk-ZNQX6QWH.js";
21
+ } from "./chunk-OTAL43EH.js";
22
22
  import {
23
23
  emit,
24
24
  formatDgmoError,
@@ -377,4 +377,4 @@ export {
377
377
  TREEMAP_DIAGNOSTICS,
378
378
  parseTreemap
379
379
  };
380
- //# sourceMappingURL=chunk-FMKTYMP4.js.map
380
+ //# sourceMappingURL=chunk-XJLKLU4D.js.map