@diagrammo/dgmo 0.75.0 → 0.77.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 (120) hide show
  1. package/dist/advanced.d.ts +181 -12
  2. package/dist/advanced.js +267 -60
  3. package/dist/block.css +20 -3
  4. package/dist/block.d.ts +12 -4
  5. package/dist/block.js +35 -18
  6. package/dist/{chart-meta-lP8Rl19E.d.ts → chart-meta-Cf_jkApJ.d.ts} +2 -2
  7. package/dist/chart-meta.d.ts +3 -3
  8. package/dist/chart-meta.js +6 -6
  9. package/dist/{charts-d3-SQEVMIAM.js → charts-d3-HMEMHSSW.js} +5 -5
  10. package/dist/{chunk-E3BJVEMZ.js → chunk-2MTM4E6M.js} +2 -2
  11. package/dist/{chunk-UBW53CNS.js → chunk-3E4YB6TY.js} +2 -2
  12. package/dist/{chunk-IFC3JXCT.js → chunk-3O7ZYVJV.js} +2 -2
  13. package/dist/{chunk-Q6BAFS7I.js → chunk-43AJKH2U.js} +3 -3
  14. package/dist/{chunk-2NRIGEHZ.js → chunk-46KVXDUJ.js} +10 -3
  15. package/dist/chunk-53SEVJQM.js +9 -0
  16. package/dist/{chunk-UTTRJ6KN.js → chunk-5ZD4DDG7.js} +4 -4
  17. package/dist/{chunk-AFR6GWXD.js → chunk-6BVAW7KI.js} +4 -4
  18. package/dist/{chunk-CLQJAGWL.js → chunk-6IN4F4RH.js} +4 -4
  19. package/dist/{chunk-76IBFEYW.js → chunk-6ZZKEYBS.js} +4 -4
  20. package/dist/{chunk-QUYYL3LP.js → chunk-7CXW6EGX.js} +5 -5
  21. package/dist/chunk-7IATMZSA.js +72 -0
  22. package/dist/{chunk-HOIAQ3P2.js → chunk-B52RL5VV.js} +2 -2
  23. package/dist/{chunk-IGQW7TKM.js → chunk-BH3BQICT.js} +5 -5
  24. package/dist/{chunk-3LJNQ6LR.js → chunk-CF3I5SOG.js} +5 -5
  25. package/dist/{chunk-ZMKCG3FT.js → chunk-CHOK7NCJ.js} +6 -6
  26. package/dist/{chunk-U74EGVOA.js → chunk-CIWFL2LM.js} +4 -4
  27. package/dist/{chunk-OUJG73YJ.js → chunk-CYMYZYLI.js} +5 -5
  28. package/dist/{chunk-BCB24FG7.js → chunk-D3B6YEZK.js} +3 -3
  29. package/dist/{chunk-XHROEQ23.js → chunk-DSXWJAOA.js} +4 -4
  30. package/dist/{chunk-RT7ACF77.js → chunk-EGY3TS62.js} +6 -6
  31. package/dist/{chunk-CQKD6GOC.js → chunk-EUVUOPRC.js} +4 -4
  32. package/dist/{chunk-TDHD3HNO.js → chunk-F4X5NVKY.js} +37 -16
  33. package/dist/{chunk-7G4XMHDB.js → chunk-FF7LRT5L.js} +4 -4
  34. package/dist/{chunk-6DYZ2JM6.js → chunk-FR5EVD2X.js} +206 -32
  35. package/dist/{chunk-R5JPMW2F.js → chunk-FTTB64OJ.js} +5 -5
  36. package/dist/{chunk-U7AO6FRL.js → chunk-H7BYMIVK.js} +312 -118
  37. package/dist/{chunk-M3IVOGZE.js → chunk-HDLRRY3N.js} +61 -55
  38. package/dist/{chunk-F4CPZRG2.js → chunk-J76YDS4V.js} +2 -2
  39. package/dist/{chunk-SUA56ZSB.js → chunk-LTTZX6RD.js} +6 -2
  40. package/dist/{chunk-7EZ5AKBK.js → chunk-LYJ53DBK.js} +8 -6
  41. package/dist/{chunk-JQ575OAK.js → chunk-MZEGUDTA.js} +2 -2
  42. package/dist/{chunk-IHUOYDLN.js → chunk-N5NQIZ56.js} +5 -5
  43. package/dist/{chunk-GE5RO4BS.js → chunk-N6MZSBOL.js} +5 -1
  44. package/dist/{chunk-DU3OIBQE.js → chunk-NWNSXHA5.js} +6 -2
  45. package/dist/{chunk-32MOGTKT.js → chunk-OO2L2LWV.js} +4 -4
  46. package/dist/{chunk-XCAEHWQB.js → chunk-OZOHREFQ.js} +3 -3
  47. package/dist/{chunk-DSH7NJ2G.js → chunk-QBM5BURJ.js} +4 -4
  48. package/dist/{chunk-YVDBBWEP.js → chunk-QXMHBIQG.js} +4 -4
  49. package/dist/{chunk-UWYZIGCB.js → chunk-RGW26UAR.js} +2 -2
  50. package/dist/{chunk-QI4Q5ZZH.js → chunk-RV5A3EGI.js} +4 -4
  51. package/dist/{chunk-HGFKDSKZ.js → chunk-SI3PYDL4.js} +4 -4
  52. package/dist/{chunk-CAPR5DET.js → chunk-SSEAULA5.js} +2 -2
  53. package/dist/{chunk-AYM472K3.js → chunk-SWUQJ5VR.js} +3 -3
  54. package/dist/{chunk-HFCKU73Y.js → chunk-TI4YUUW6.js} +3 -3
  55. package/dist/{chunk-LYLRNAX2.js → chunk-TKIPK5P6.js} +3 -3
  56. package/dist/{chunk-QT5UMFPE.js → chunk-U4DS2ODO.js} +3 -3
  57. package/dist/{chunk-XFLLYY3V.js → chunk-UBDVAHGK.js} +36 -52
  58. package/dist/{chunk-JL7BDLC6.js → chunk-UH5YTZN7.js} +4 -4
  59. package/dist/{chunk-GEURKGZS.js → chunk-V4NHFY22.js} +4 -4
  60. package/dist/{chunk-4SXHMFFP.js → chunk-VRPV6QXR.js} +23 -12
  61. package/dist/{chunk-BFTRW24X.js → chunk-WHWUVDYK.js} +65 -24
  62. package/dist/{chunk-U5B3TUEW.js → chunk-XCFIAGT7.js} +2 -2
  63. package/dist/{chunk-COCMMQXW.js → chunk-XFXJXLK7.js} +2 -2
  64. package/dist/{chunk-YDA46XHI.js → chunk-XPBJVSRY.js} +2 -2
  65. package/dist/{chunk-VV6HZQ5K.js → chunk-YM5RMLFO.js} +2 -2
  66. package/dist/{d3--y67plmW.d.ts → d3-BiaJtaSw.d.ts} +1 -1
  67. package/dist/{dgmo-router-KYNLRE7S.js → dgmo-router-A3LIHT6H.js} +7 -7
  68. package/dist/{dgmo-router-CY5j16Pl.d.ts → dgmo-router-BwXHZ_P3.d.ts} +1 -1
  69. package/dist/{dimensions-NLQ64ED5.js → dimensions-OFF4GRFL.js} +4 -4
  70. package/dist/{flowchart-parser-LY5GGQL2.js → flowchart-parser-NVBP3C5D.js} +2 -2
  71. package/dist/{flowchart-renderer-RIJ5FZKO.js → flowchart-renderer-BBJUPORB.js} +6 -6
  72. package/dist/index.d.ts +7 -7
  73. package/dist/index.js +14 -14
  74. package/dist/{layout-UJ62RQQ3.js → layout-2OJ25STS.js} +2 -2
  75. package/dist/{layout-DAYQ46PS.js → layout-Y2V3LYV7.js} +3 -3
  76. package/dist/{parser-LUOINP6H.js → parser-QYAIFXLP.js} +3 -3
  77. package/dist/{parser-L7RXUKYN.js → parser-WVE6SKB7.js} +2 -2
  78. package/dist/{parser-JYIZEKAS.js → parser-ZYAFHXKQ.js} +2 -2
  79. package/dist/{renderer-FUJNSC5X.js → renderer-2ANDPQWC.js} +3 -3
  80. package/dist/{renderer-UYZSP7MF.js → renderer-2LDT4TUX.js} +5 -5
  81. package/dist/{renderer-4EWGZLJ6.js → renderer-2NYQDW37.js} +3 -3
  82. package/dist/{renderer-LBNVKVO3.js → renderer-2RIIIO34.js} +5 -5
  83. package/dist/{renderer-PKRKLOYR.js → renderer-3HFU3DTO.js} +5 -5
  84. package/dist/{renderer-UUP6OX6F.js → renderer-4BF6ILP6.js} +5 -5
  85. package/dist/{renderer-MUW4G2N6.js → renderer-5E2AH5TO.js} +7 -7
  86. package/dist/{renderer-DKW273R7.js → renderer-62SLWRYF.js} +6 -5
  87. package/dist/{renderer-WDSBFDQ2.js → renderer-ANJUDBOS.js} +6 -6
  88. package/dist/{renderer-OTHBTGBN.js → renderer-CVWQD442.js} +3 -3
  89. package/dist/{renderer-GJDVPXI3.js → renderer-D6GJ6EVK.js} +6 -6
  90. package/dist/{renderer-KMOGGMM7.js → renderer-DNFV2IQI.js} +5 -5
  91. package/dist/{renderer-UYYBJ7OB.js → renderer-EDVCGIQO.js} +10 -10
  92. package/dist/{renderer-73QHYZ2Q.js → renderer-EFQSMHID.js} +6 -6
  93. package/dist/{renderer-EP4GRCDX.js → renderer-FTX67CYZ.js} +3 -3
  94. package/dist/{renderer-GF6S5ZX6.js → renderer-G2DPKJAN.js} +5 -5
  95. package/dist/{renderer-QAMOXOZ2.js → renderer-GHBF5PRH.js} +3 -3
  96. package/dist/{renderer-5W3HWIUL.js → renderer-GZLRX764.js} +5 -5
  97. package/dist/{renderer-CO5O5VR5.js → renderer-H2HYLFN3.js} +3 -3
  98. package/dist/{renderer-JMJ7Q5OC.js → renderer-IR5655M7.js} +5 -5
  99. package/dist/{renderer-4PNVGHVA.js → renderer-L237AOOZ.js} +3 -3
  100. package/dist/{renderer-A2YWSBPY.js → renderer-LSJWYGOL.js} +7 -7
  101. package/dist/{renderer-PR3KLNST.js → renderer-LWXDMZOV.js} +5 -5
  102. package/dist/{renderer-3FB56573.js → renderer-MYSVPERC.js} +5 -5
  103. package/dist/{renderer-FGGDZZFQ.js → renderer-OL5QSZPC.js} +6 -6
  104. package/dist/{renderer-XBL6CLN2.js → renderer-P26HH3NA.js} +5 -5
  105. package/dist/{renderer-D7N7PPB7.js → renderer-R5HIRN2M.js} +3 -3
  106. package/dist/{renderer-BUEFD2IF.js → renderer-RNFECJ5D.js} +5 -5
  107. package/dist/{renderer-F24V3RD3.js → renderer-RPZVNCTF.js} +5 -5
  108. package/dist/{renderer-PIEPRK6M.js → renderer-SDNWZDUY.js} +5 -5
  109. package/dist/{renderer-RUHC6D3B.js → renderer-UKHH4UWV.js} +5 -5
  110. package/dist/{renderer-CGOPX4HW.js → renderer-VF7X66SL.js} +5 -5
  111. package/dist/{renderer-ZAJ5353N.js → renderer-Y3Y7PEUS.js} +3 -3
  112. package/dist/{renderer-radial-MZP3SVTZ.js → renderer-radial-QNGCGKZP.js} +5 -5
  113. package/dist/{state-renderer-454ADT7E.js → state-renderer-ELWDRXD6.js} +7 -7
  114. package/dist/{tag-groups-DrHT2tEc.d.ts → tag-groups-BAtkq0b_.d.ts} +39 -1
  115. package/dist/{themes-GWhsabnx.d.ts → themes-DpsyRSO7.d.ts} +2 -2
  116. package/docs/language-reference.md +3 -3
  117. package/gallery/fixtures/sketch.dgmo +1 -1
  118. package/package.json +5 -4
  119. package/dist/chunk-PDKUANDZ.js +0 -35
  120. package/dist/chunk-UTCPNJND.js +0 -7
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  buildTagLaneRowList,
3
3
  renderGantt
4
- } from "./chunk-AFR6GWXD.js";
4
+ } from "./chunk-6BVAW7KI.js";
5
5
  import "./chunk-YRYKTYMQ.js";
6
6
  import "./chunk-24YPR5EH.js";
7
7
  import "./chunk-MG3DE3VO.js";
8
8
  import "./chunk-DEW62ON3.js";
9
- import "./chunk-QT5UMFPE.js";
10
- import "./chunk-4SXHMFFP.js";
11
- import "./chunk-UTCPNJND.js";
9
+ import "./chunk-U4DS2ODO.js";
10
+ import "./chunk-VRPV6QXR.js";
11
+ import "./chunk-53SEVJQM.js";
12
12
  import "./chunk-YT5ICQ4R.js";
13
13
  import "./chunk-MTGGOCND.js";
14
14
  import "./chunk-NOTA6TEI.js";
@@ -23,4 +23,4 @@ export {
23
23
  buildTagLaneRowList,
24
24
  renderGantt
25
25
  };
26
- //# sourceMappingURL=renderer-F24V3RD3.js.map
26
+ //# sourceMappingURL=renderer-RPZVNCTF.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  renderTreemap,
3
3
  renderTreemapForExport
4
- } from "./chunk-XHROEQ23.js";
4
+ } from "./chunk-DSXWJAOA.js";
5
5
  import "./chunk-C2WH3BMS.js";
6
6
  import "./chunk-MG3DE3VO.js";
7
7
  import "./chunk-DEW62ON3.js";
8
- import "./chunk-QT5UMFPE.js";
9
- import "./chunk-4SXHMFFP.js";
10
- import "./chunk-UTCPNJND.js";
8
+ import "./chunk-U4DS2ODO.js";
9
+ import "./chunk-VRPV6QXR.js";
10
+ import "./chunk-53SEVJQM.js";
11
11
  import "./chunk-YT5ICQ4R.js";
12
12
  import "./chunk-MTGGOCND.js";
13
13
  import "./chunk-76LHNLGX.js";
@@ -20,4 +20,4 @@ export {
20
20
  renderTreemap,
21
21
  renderTreemapForExport
22
22
  };
23
- //# sourceMappingURL=renderer-PIEPRK6M.js.map
23
+ //# sourceMappingURL=renderer-SDNWZDUY.js.map
@@ -2,13 +2,13 @@ import {
2
2
  bracketExportDimensions,
3
3
  renderBracket,
4
4
  renderBracketForExport
5
- } from "./chunk-HGFKDSKZ.js";
5
+ } from "./chunk-SI3PYDL4.js";
6
6
  import "./chunk-WGC42WJU.js";
7
7
  import "./chunk-MG3DE3VO.js";
8
8
  import "./chunk-DEW62ON3.js";
9
- import "./chunk-QT5UMFPE.js";
10
- import "./chunk-4SXHMFFP.js";
11
- import "./chunk-UTCPNJND.js";
9
+ import "./chunk-U4DS2ODO.js";
10
+ import "./chunk-VRPV6QXR.js";
11
+ import "./chunk-53SEVJQM.js";
12
12
  import "./chunk-YT5ICQ4R.js";
13
13
  import "./chunk-MTGGOCND.js";
14
14
  import "./chunk-76LHNLGX.js";
@@ -22,4 +22,4 @@ export {
22
22
  renderBracket,
23
23
  renderBracketForExport
24
24
  };
25
- //# sourceMappingURL=renderer-RUHC6D3B.js.map
25
+ //# sourceMappingURL=renderer-UKHH4UWV.js.map
@@ -7,7 +7,7 @@ import {
7
7
  groupMessagesBySection,
8
8
  renderSequenceDiagram,
9
9
  summarizeSectionParticipation
10
- } from "./chunk-CLQJAGWL.js";
10
+ } from "./chunk-6IN4F4RH.js";
11
11
  import "./chunk-NCT22MOD.js";
12
12
  import {
13
13
  parseInlineMarkdown,
@@ -17,9 +17,9 @@ import "./chunk-FJ57274M.js";
17
17
  import "./chunk-24YPR5EH.js";
18
18
  import "./chunk-MG3DE3VO.js";
19
19
  import "./chunk-DEW62ON3.js";
20
- import "./chunk-QT5UMFPE.js";
21
- import "./chunk-4SXHMFFP.js";
22
- import "./chunk-UTCPNJND.js";
20
+ import "./chunk-U4DS2ODO.js";
21
+ import "./chunk-VRPV6QXR.js";
22
+ import "./chunk-53SEVJQM.js";
23
23
  import "./chunk-YT5ICQ4R.js";
24
24
  import "./chunk-MTGGOCND.js";
25
25
  import "./chunk-7NSNE52V.js";
@@ -44,4 +44,4 @@ export {
44
44
  summarizeSectionParticipation,
45
45
  truncateBareUrl
46
46
  };
47
- //# sourceMappingURL=renderer-CGOPX4HW.js.map
47
+ //# sourceMappingURL=renderer-VF7X66SL.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  renderRing,
3
3
  renderRingForExport
4
- } from "./chunk-HOIAQ3P2.js";
4
+ } from "./chunk-B52RL5VV.js";
5
5
  import "./chunk-NCT22MOD.js";
6
6
  import "./chunk-WGC42WJU.js";
7
7
  import "./chunk-24YPR5EH.js";
8
8
  import "./chunk-DEW62ON3.js";
9
- import "./chunk-UTCPNJND.js";
9
+ import "./chunk-53SEVJQM.js";
10
10
  import "./chunk-MTGGOCND.js";
11
11
  import "./chunk-M5OOAP65.js";
12
12
  import "./chunk-GLREDNBA.js";
@@ -17,4 +17,4 @@ export {
17
17
  renderRing,
18
18
  renderRingForExport
19
19
  };
20
- //# sourceMappingURL=renderer-ZAJ5353N.js.map
20
+ //# sourceMappingURL=renderer-Y3Y7PEUS.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  renderTreemapRadial,
3
3
  renderTreemapRadialForExport
4
- } from "./chunk-U74EGVOA.js";
4
+ } from "./chunk-CIWFL2LM.js";
5
5
  import "./chunk-C2WH3BMS.js";
6
- import "./chunk-QT5UMFPE.js";
7
- import "./chunk-4SXHMFFP.js";
8
- import "./chunk-UTCPNJND.js";
6
+ import "./chunk-U4DS2ODO.js";
7
+ import "./chunk-VRPV6QXR.js";
8
+ import "./chunk-53SEVJQM.js";
9
9
  import "./chunk-YT5ICQ4R.js";
10
10
  import "./chunk-MTGGOCND.js";
11
11
  import "./chunk-76LHNLGX.js";
@@ -18,4 +18,4 @@ export {
18
18
  renderTreemapRadial,
19
19
  renderTreemapRadialForExport
20
20
  };
21
- //# sourceMappingURL=renderer-radial-MZP3SVTZ.js.map
21
+ //# sourceMappingURL=renderer-radial-QNGCGKZP.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  renderState,
3
3
  renderStateForExport
4
- } from "./chunk-XFLLYY3V.js";
5
- import "./chunk-PDKUANDZ.js";
6
- import "./chunk-GE5RO4BS.js";
4
+ } from "./chunk-UBDVAHGK.js";
5
+ import "./chunk-7IATMZSA.js";
6
+ import "./chunk-N6MZSBOL.js";
7
7
  import "./chunk-LP7EC4MI.js";
8
8
  import "./chunk-Q74GP3GK.js";
9
9
  import "./chunk-6EK55ART.js";
@@ -16,9 +16,9 @@ import "./chunk-24YPR5EH.js";
16
16
  import "./chunk-MG3DE3VO.js";
17
17
  import "./chunk-RU2HHHYA.js";
18
18
  import "./chunk-DEW62ON3.js";
19
- import "./chunk-QT5UMFPE.js";
20
- import "./chunk-4SXHMFFP.js";
21
- import "./chunk-UTCPNJND.js";
19
+ import "./chunk-U4DS2ODO.js";
20
+ import "./chunk-VRPV6QXR.js";
21
+ import "./chunk-53SEVJQM.js";
22
22
  import "./chunk-YT5ICQ4R.js";
23
23
  import "./chunk-MTGGOCND.js";
24
24
  import "./chunk-M5JT2AU7.js";
@@ -37,4 +37,4 @@ export {
37
37
  renderState,
38
38
  renderStateForExport
39
39
  };
40
- //# sourceMappingURL=state-renderer-454ADT7E.js.map
40
+ //# sourceMappingURL=state-renderer-ELWDRXD6.js.map
@@ -269,5 +269,43 @@ declare function tagAttrKey(name: string): string;
269
269
  * entries than free categorical names, the cycle wraps.
270
270
  */
271
271
  declare const autoTagColorCycle: readonly string[];
272
+ /**
273
+ * Parse a tag block heading line into structured data.
274
+ * Returns `null` if the line is not a tag block heading.
275
+ */
276
+ /**
277
+ * Resolve a tag color for an entity given its metadata, available tag groups,
278
+ * and the currently active group.
279
+ *
280
+ * Returns the hex color from the matching tag entry, `'#999999'` for
281
+ * untagged/unknown values, or `undefined` when no group is active.
282
+ *
283
+ * @param metadata The entity's key-value metadata (keys already lowercased)
284
+ * @param tagGroups All declared tag groups
285
+ * @param activeGroupName The currently selected tag group (null = no group active)
286
+ * @param isContainer When true, `defaultValue` is NOT applied (containers are structural, not data)
287
+ */
288
+ declare function resolveTagColor(metadata: Record<string, string>, tagGroups: TagGroup[], activeGroupName: string | null, isContainer?: boolean): string | undefined;
289
+ /**
290
+ * Determine which tag group should be active, using a priority chain:
291
+ *
292
+ * 1. Programmatic override (from render API / CLI flag) — highest priority
293
+ * 2. Diagram-level `active-tag` option (from parsed source)
294
+ * 3. Auto-activate first declared tag group
295
+ * 4. No coloring (null)
296
+ *
297
+ * The sentinel value `"none"` (case-insensitive) at any level means
298
+ * "suppress tag coloring." Diagrams with tag groups render colored by
299
+ * default across every render path (CLI, export, share-link, app); use
300
+ * `active-tag none` to opt out.
301
+ *
302
+ * @param tagGroups Declared tag groups (only `.name` is used)
303
+ * @param explicitActiveTag Value of `active-tag` option from parsed diagram, if any
304
+ * @param programmaticOverride Value from render API / CLI; `undefined` = not set,
305
+ * `null` or `''` = explicitly no coloring
306
+ */
307
+ declare function resolveActiveTagGroup(tagGroups: ReadonlyArray<{
308
+ name: string;
309
+ }>, explicitActiveTag: string | undefined, programmaticOverride?: string | null): string | null;
272
310
 
273
- export { type CompactViewState as C, type DgmoError as D, type EmitOptions as E, type PaletteConfig as P, type TagGroup as T, type PaletteColors as a, type DiagnosticSpec as b, type DgmoSeverity as c, type DiagnosticParams as d, emit as e, formatDgmoError as f, type TagEntry as g, type DecodedDiagramUrl as h, type EncodeDiagramUrlOptions as i, type EncodeDiagramUrlResult as j, autoTagColorCycle as k, decodeDiagramUrl as l, decodeViewState as m, encodeDiagramUrl as n, encodeViewState as o, makeDgmoError as p, tagAttrKey as t };
311
+ export { type CompactViewState as C, type DgmoError as D, type EmitOptions as E, type PaletteConfig as P, type TagGroup as T, type PaletteColors as a, type DiagnosticSpec as b, type DgmoSeverity as c, type DiagnosticParams as d, emit as e, formatDgmoError as f, type TagEntry as g, type DecodedDiagramUrl as h, type EncodeDiagramUrlOptions as i, type EncodeDiagramUrlResult as j, autoTagColorCycle as k, decodeDiagramUrl as l, decodeViewState as m, encodeDiagramUrl as n, encodeViewState as o, makeDgmoError as p, resolveTagColor as q, resolveActiveTagGroup as r, tagAttrKey as t };
@@ -1,5 +1,5 @@
1
- import { P as PaletteConfig } from './tag-groups-DrHT2tEc.js';
2
- import { A as AirportData, G as Gazetteer, R as RegionName } from './d3--y67plmW.js';
1
+ import { P as PaletteConfig } from './tag-groups-BAtkq0b_.js';
2
+ import { A as AirportData, G as Gazetteer, R as RegionName } from './d3-BiaJtaSw.js';
3
3
 
4
4
  /**
5
5
  * All built-in palettes, keyed by camelCase id. Use directly with render():
@@ -3767,7 +3767,7 @@ In the desktop app a block diagram is interactive: click a container header to c
3767
3767
  **Beta — expect rough edges and syntax changes.**
3768
3768
 
3769
3769
  <!-- TIPS start -->
3770
- **Styling tips:** Sketch is a GUI-authored format — the desktop and web canvas editors generate this markup, so hand-writing it is the exception. If you generate it anyway: keep it SMALL (sketches read best under ~15 shapes), and either omit `at:` everywhere (shapes flow into rows) or use integer half-slot coordinates with shapes at least 2 half-slots apart on one axis. Alias any shape an edge references (`as con`). Never write `size:`, colors, fonts, or a `shape:` outside the closed set (database, queue, cloud, person, document, note). In sketch, `~` dashed means secondary emphasis, NOT async. Categorize with a tag group instead of reaching for more shape kinds — kind-of-thing is meaning, and meaning lives in tags. Reach for `sketch` when the drawing itself is the content; reach for `boxes-and-lines` when topology should auto-lay-out.
3770
+ **Styling tips:** Sketch is a GUI-authored format — the desktop and web canvas editors generate this markup, so hand-writing it is the exception. If you generate it anyway: keep it SMALL (sketches read best under ~15 shapes), and either omit `at:` everywhere (shapes flow into rows) or use integer half-slot coordinates with shapes **at least 3 half-slots apart** on one axis (a footprint spans 2 half-units and the mandatory gap adds 1 more, so each shape claims a 3×3 block; 2 apart overlaps). A `[Box]` may hold another `[Box]`, to **depth 2** — a third level is refused and its shapes join the box above it. Alias any shape an edge references (`as con`). Never write `size:`, colors, fonts, or a `shape:` outside the closed set (database, queue, cloud, person, document, note). In sketch, `~` dashed means secondary emphasis, NOT async. Categorize with a tag group instead of reaching for more shape kinds — kind-of-thing is meaning, and meaning lives in tags. Reach for `sketch` when the drawing itself is the content; reach for `boxes-and-lines` when topology should auto-lay-out.
3771
3771
  <!-- TIPS end -->
3772
3772
 
3773
3773
  A **GUI-first constrained canvas**: uniformly-sized shapes placed freely on a snap grid, arrows between them, meaning through tags. The renderer owns all styling — authors own placement, connection, naming, and tags. Every shape has ONE universal footprint (no resizing); text always fits (shrink → smart-wrap → `…`). Pick `sketch` when the spatial arrangement is yours to decide; pick `boxes-and-lines` when topology should auto-lay-out.
@@ -4285,7 +4285,7 @@ poi Austin red # direct marker color (trailing token, §1.5
4285
4285
  ```
4286
4286
 
4287
4287
  - **Coordinates are positional** — two leading signed numbers (lat then lon); cities never start with a number.
4288
- - `size:` scales marker area (use `poi-size <label>` for the legend key). A trailing color (`poi Austin red`) sets the marker fill directly — winning over a tag color and the default orange. POI properties: `label`, `size`, `style`, applied tag alias, `as`, `clock`. No `icon` in v1.
4288
+ - `size:` scales marker area (use `poi-size <label>` for the legend key). A trailing color (`poi Austin red`) sets the marker fill directly — winning over a tag color and over the orange fallback. A POI that names no value for a tag group other POIs use takes that group's default value (the entry marked `default`, else the first) and is colored as that category — the same assumption a region makes. Orange is the fill only where there is no such group; a group used solely on connector lines never colors a marker. POI properties: `label`, `size`, `style`, applied tag alias, `as`, `clock`. No `icon` in v1.
4289
4289
  - Coord-positioned or relabeled POIs take `as <alias>` for route/edge references; named POIs are referenced by name.
4290
4290
 
4291
4291
  ### Local-time cards (`clock`)
@@ -4309,7 +4309,7 @@ poi 1.29 103.85 as SG clock: Asia/Singapore # bare-coord pin names its zone
4309
4309
 
4310
4310
  ### Routes & connectors
4311
4311
 
4312
- `route <origin>` — an ordered, auto-numbered voyage; the origin gets a distinct marker, and the header takes **no shape option**. Each indented line is a `<arrow> destination` leg that continues from the previous stop, using the same indented arrow idiom as a sitemap — a leg is an edge (in-arrow label, `width:` thickness, and the **arrow glyph alone sets shape**: `-…->` straight, `~…~>` arc, mixable per leg). The **arrow is required and must be directional** — a bare destination errors, and so does an undirected `--`/`~~` glyph (a voyage always flows forward; use `->`/`~>`). A **tag on a leg colours the LINE** (categorical leg-type colouring — flights vs cruises vs trains); `label:`/`as` still name the destination stop. Repeat the origin as a leg's destination to close a loop (no second marker):
4312
+ `route <origin>` — an ordered, auto-numbered voyage; the origin gets a distinct marker, and the header takes **no shape option**. Each indented line is a `<arrow> destination` leg that continues from the previous stop, using the same indented arrow idiom as a sitemap — a leg is an edge (in-arrow label, `width:` thickness, and the **arrow glyph alone sets shape**: `-…->` straight, `~…~>` arc, mixable per leg). The **arrow is required and must be directional** — a bare destination errors, and so does an undirected `--`/`~~` glyph (a voyage always flows forward; use `->`/`~>`). A **tag on a leg colours the LINE** (categorical leg-type colouring — flights vs cruises vs trains), and a leg naming no value for a group other legs use takes that group's default value; `label:`/`as` still name the destination stop. Repeat the origin as a leg's destination to close a loop (no second marker):
4313
4313
 
4314
4314
  ```
4315
4315
  route Miami
@@ -4,7 +4,7 @@ tag Crew
4
4
  Deck
5
5
  Hold
6
6
 
7
- Spyglass Feed shape: cloud, at: 0 0, crew: Deck
7
+ Spyglass Feed at: 0 0, crew: Deck
8
8
  -sightings-> con
9
9
  Captain's Console as con at: 2 0, crew: Deck
10
10
  -orders-> bq
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diagrammo/dgmo",
3
- "version": "0.75.0",
3
+ "version": "0.77.0",
4
4
  "description": "DGMO diagram markup language — parser, renderer, and color system",
5
5
  "license": "MIT",
6
6
  "author": "Diagrammo LLC",
@@ -86,7 +86,7 @@
86
86
  "fonts": "node scripts/build-fonts.mjs",
87
87
  "metrics": "node scripts/build-text-metrics.mjs",
88
88
  "prebuild": "rm -rf dist && pnpm codegen && pnpm fonts && pnpm metrics",
89
- "build": "DGMO_DEV_RELOAD=1 tsup; _e=$?; rm -rf ../diagrammo-app/node_modules/.vite/deps 2>/dev/null; exit $_e",
89
+ "build": "DGMO_DEV_RELOAD=1 tsup",
90
90
  "typecheck": "tsc --noEmit",
91
91
  "predev": "pnpm fonts",
92
92
  "dev": "DGMO_DEV_RELOAD=1 tsup --watch",
@@ -111,14 +111,15 @@
111
111
  "lint:fix": "eslint . --fix",
112
112
  "format": "prettier --write src/",
113
113
  "format:check": "prettier --check src/",
114
- "check:api": "pnpm build && bash scripts/check-api.sh check",
114
+ "check:api": "node --test scripts/check-api.test.mjs && pnpm build && bash scripts/check-api.sh check",
115
115
  "check:api:update": "pnpm build && bash scripts/check-api.sh update",
116
116
  "check:duplication": "jscpd ./src",
117
117
  "check:deadcode": "knip",
118
118
  "check:spelling": "cspell \"src/**/*.ts\" \"tests/**/*.ts\"",
119
- "check:all": "pnpm check:deadcode && pnpm check:spelling && pnpm check:duplication && pnpm check:circular && pnpm check:deps && pnpm check:dep-ranges && pnpm check:security && pnpm build && bash scripts/check-api.sh check && pnpm check:publish && pnpm check:types",
119
+ "check:all": "pnpm check:install-lock && pnpm check:deadcode && pnpm check:spelling && pnpm check:duplication && pnpm check:circular && pnpm check:deps && pnpm check:dep-ranges && pnpm check:security && node --test scripts/check-api.test.mjs && pnpm build && bash scripts/check-api.sh check && pnpm check:publish && pnpm check:types",
120
120
  "check:circular": "node --test scripts/check-circular.test.mjs && madge --circular --extensions ts src/ --json | node scripts/check-circular.mjs",
121
121
  "check:deps": "depcheck --ignores='@diagrammo/dgmo,@diagrammo/dgmo-mcp,@codemirror/language,@lezer/*,husky,lint-staged,tsup,axe-core,type-coverage'",
122
+ "check:install-lock": "node --test scripts/check-install-lock.test.mjs && node scripts/check-install-lock.mjs",
122
123
  "check:security": "pnpm audit --prod",
123
124
  "check:dep-ranges": "node scripts/check-dep-ranges.mjs",
124
125
  "check:publish": "publint",
@@ -1,35 +0,0 @@
1
- // src/utils/fit-canvas.ts
2
- function fitDiagramToCanvas(p) {
3
- const scaleX = (p.width - p.padding * 2) / p.diagramW;
4
- let scale;
5
- let canvasHeight;
6
- if (p.exportMode) {
7
- scale = Math.min(p.maxScale, scaleX);
8
- canvasHeight = p.titleHeight + p.diagramH * scale + p.padding * 2;
9
- } else {
10
- const availH = p.height - p.titleHeight;
11
- const scaleY = (availH - p.padding * 2) / p.diagramH;
12
- scale = Math.min(p.maxScale, scaleX, scaleY);
13
- canvasHeight = p.height;
14
- }
15
- const scaledW = p.diagramW * scale;
16
- return {
17
- scale,
18
- offsetX: (p.width - scaledW) / 2,
19
- offsetY: p.titleHeight + p.padding,
20
- canvasHeight
21
- };
22
- }
23
-
24
- // src/graph/edge-spline.ts
25
- import * as d3Shape from "d3-shape";
26
- var lineGenerator = d3Shape.line().x((d) => d.x).y((d) => d.y).curve(d3Shape.curveBasis);
27
- function edgeSplinePath(points) {
28
- return lineGenerator(points);
29
- }
30
-
31
- export {
32
- fitDiagramToCanvas,
33
- edgeSplinePath
34
- };
35
- //# sourceMappingURL=chunk-PDKUANDZ.js.map
@@ -1,7 +0,0 @@
1
- // src/fonts.ts
2
- var FONT_FAMILY = "Inter, system-ui, Avenir, Helvetica, Arial, sans-serif";
3
-
4
- export {
5
- FONT_FAMILY
6
- };
7
- //# sourceMappingURL=chunk-UTCPNJND.js.map