@diagrammo/dgmo 0.30.0 → 0.32.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 (85) hide show
  1. package/.cursorrules +4 -1
  2. package/.github/copilot-instructions.md +4 -1
  3. package/.windsurfrules +4 -1
  4. package/README.md +21 -3
  5. package/SKILL.md +4 -1
  6. package/dist/advanced.cjs +1853 -623
  7. package/dist/advanced.d.cts +143 -16
  8. package/dist/advanced.d.ts +143 -16
  9. package/dist/advanced.js +1846 -623
  10. package/dist/auto.cjs +1640 -581
  11. package/dist/auto.js +99 -99
  12. package/dist/auto.mjs +1640 -581
  13. package/dist/cli.cjs +148 -147
  14. package/dist/index.cjs +1643 -662
  15. package/dist/index.js +1643 -662
  16. package/docs/ai-integration.md +4 -1
  17. package/docs/language-reference.md +282 -27
  18. package/gallery/fixtures/boxes-and-lines.dgmo +2 -2
  19. package/gallery/fixtures/c4-full.dgmo +4 -5
  20. package/gallery/fixtures/c4.dgmo +2 -3
  21. package/package.json +7 -1
  22. package/src/advanced.ts +10 -0
  23. package/src/boxes-and-lines/focus.ts +257 -0
  24. package/src/boxes-and-lines/layout-search.ts +345 -65
  25. package/src/boxes-and-lines/layout.ts +11 -1
  26. package/src/boxes-and-lines/parser.ts +97 -4
  27. package/src/boxes-and-lines/renderer.ts +111 -8
  28. package/src/boxes-and-lines/types.ts +9 -0
  29. package/src/c4/parser.ts +8 -7
  30. package/src/c4/renderer.ts +7 -5
  31. package/src/chart-type-registry.ts +129 -4
  32. package/src/chart-types.ts +3 -3
  33. package/src/chart.ts +18 -1
  34. package/src/class/renderer.ts +4 -2
  35. package/src/cli-banner.ts +107 -0
  36. package/src/cli.ts +13 -0
  37. package/src/colors.ts +247 -2
  38. package/src/cycle/parser.ts +2 -7
  39. package/src/d3.ts +67 -54
  40. package/src/diagnostics.ts +17 -0
  41. package/src/dimensions.ts +9 -13
  42. package/src/echarts.ts +42 -14
  43. package/src/er/parser.ts +6 -1
  44. package/src/er/renderer.ts +4 -2
  45. package/src/gantt/parser.ts +44 -7
  46. package/src/graph/flowchart-parser.ts +77 -3
  47. package/src/graph/flowchart-renderer.ts +4 -2
  48. package/src/graph/state-renderer.ts +6 -4
  49. package/src/infra/parser.ts +80 -0
  50. package/src/infra/renderer.ts +8 -4
  51. package/src/journey-map/parser.ts +23 -8
  52. package/src/journey-map/renderer.ts +1 -1
  53. package/src/kanban/parser.ts +8 -7
  54. package/src/kanban/renderer.ts +1 -1
  55. package/src/map/context-labels.ts +134 -27
  56. package/src/map/geo.ts +10 -2
  57. package/src/map/layout.ts +259 -4
  58. package/src/map/parser.ts +2 -0
  59. package/src/map/renderer.ts +49 -25
  60. package/src/map/resolver.ts +68 -19
  61. package/src/mindmap/parser.ts +15 -7
  62. package/src/mindmap/renderer.ts +55 -15
  63. package/src/org/parser.ts +8 -7
  64. package/src/org/renderer.ts +89 -127
  65. package/src/palettes/color-utils.ts +19 -4
  66. package/src/palettes/index.ts +1 -0
  67. package/src/pert/renderer.ts +15 -10
  68. package/src/pyramid/parser.ts +2 -7
  69. package/src/quadrant/renderer.ts +2 -2
  70. package/src/raci/parser.ts +2 -7
  71. package/src/raci/renderer.ts +5 -5
  72. package/src/ring/parser.ts +2 -7
  73. package/src/sequence/parser.ts +18 -7
  74. package/src/sequence/renderer.ts +4 -4
  75. package/src/sitemap/parser.ts +8 -7
  76. package/src/sitemap/renderer.ts +37 -39
  77. package/src/tech-radar/parser.ts +2 -7
  78. package/src/timeline/renderer.ts +15 -5
  79. package/src/utils/card.ts +183 -0
  80. package/src/utils/parsing.ts +13 -1
  81. package/src/utils/scaling.ts +38 -81
  82. package/src/utils/tag-groups.ts +48 -10
  83. package/src/utils/visual-conventions.ts +61 -0
  84. package/src/visualizations/parse.ts +6 -1
  85. package/src/wireframe/parser.ts +6 -1
@@ -183,6 +183,14 @@ interface TagGroup {
183
183
  readonly defaultValue?: string;
184
184
  readonly lineNumber: number;
185
185
  }
186
+ /**
187
+ * The categorical name cycle used to auto-assign colors to bare tag values,
188
+ * in deterministic order. Aliased to the shared {@link CATEGORICAL_COLOR_ORDER}
189
+ * (RGB-seeded, max-contrast, neutrals excluded) so tag swatches and data-chart
190
+ * series colors share one canonical rotation. If a group has more colorless
191
+ * entries than free categorical names, the cycle wraps.
192
+ */
193
+ declare const autoTagColorCycle: readonly string[];
186
194
 
187
195
  /** A POI / route-stop position: gazetteer name (+ optional ISO scope) or coords. */
188
196
  type PoiPos = {
@@ -748,6 +756,21 @@ declare class ScaleContext {
748
756
  readonly isBelowFloor: boolean;
749
757
  private constructor();
750
758
  static from(containerSize: number, idealSize: number, minScaleFactor?: number): ScaleContext;
759
+ /**
760
+ * Fit content into a bounding box, scaling by whichever dimension is more
761
+ * constraining (the smaller of the width- and height-fit ratios) so the
762
+ * diagram never overflows the canvas in either axis. Like {@link from}, the
763
+ * factor is clamped to `[minScaleFactor, 1]` (content is never enlarged, and
764
+ * never shrunk past the readability floor).
765
+ */
766
+ static fromBox(containerWidth: number, idealWidth: number, containerHeight: number, idealHeight: number, minScaleFactor?: number): ScaleContext;
767
+ /**
768
+ * Build a context from an explicit raw factor (clamped to
769
+ * `[minScaleFactor, 1]`). Used to refine a fit iteratively: layout scaling is
770
+ * non-linear (gaps shrink faster than floored text), so the first-pass factor
771
+ * can still overflow — re-measure the laid-out result and tighten.
772
+ */
773
+ static fromFactor(rawFactor: number, minScaleFactor?: number): ScaleContext;
751
774
  static identity(): ScaleContext;
752
775
  aesthetic(value: number): number;
753
776
  structural(value: number): number;
@@ -878,24 +901,14 @@ declare function mix(a: string, b: string, pct: number): string;
878
901
  * are unambiguous in either branch; only solid-fill output shifts here.
879
902
  */
880
903
  declare function contrastText(bg: string, lightText: string, darkText: string): string;
881
- /**
882
- * Canonical tinted shape fill: 25% intent color + 75% surface.
883
- * Use for any "tinted intent shape" — graph nodes, kanban cards,
884
- * journey-map shapes, infra severity, ECharts pie/funnel/bar/etc.
885
- *
886
- * NOT for subtle-neutral shapes (use the existing 5-10% inline formula
887
- * for "recede when no intent" cases — infra normal-state, untagged
888
- * boxes, no-color sequence participants).
889
- *
890
- * Sankey is the only documented exception (75/45% custom desaturation).
891
- *
892
- * `opts.solid` (per `option solid-fill`): bypass the 25% tint and return
893
- * the raw intent. Opt-in only; default behavior unchanged.
894
- */
895
904
  declare function shapeFill(palette: PaletteColors, intent: string, isDark: boolean, opts?: {
896
905
  solid?: boolean;
897
906
  }): string;
898
- /** Derive the 8-color series rotation from a palette's named colors. */
907
+ /**
908
+ * Derive the 8-color series rotation from a palette's named colors, in the
909
+ * shared {@link CATEGORICAL_COLOR_ORDER} (RGB-seeded, max-contrast). Tag
910
+ * swatches and chart series colors thus share one canonical rotation.
911
+ */
899
912
  declare function getSeriesColors(palette: PaletteColors): string[];
900
913
 
901
914
  declare const atlasPalette: PaletteConfig;
@@ -2715,6 +2728,15 @@ interface ParsedBoxesAndLines {
2715
2728
  readonly notes?: readonly DiagramNote[];
2716
2729
  readonly initialHiddenTagValues: ReadonlyMap<string, ReadonlySet<string>>;
2717
2730
  readonly direction: 'LR' | 'TB';
2731
+ /** Optional per-node absolute positions, parsed from a trailing `layout`
2732
+ * block (`<node-id>: <x>, <y>`). Diagram-space coordinates. When present and
2733
+ * covering EVERY node, the layout engine bypasses auto-placement and pins
2734
+ * nodes here (see Decision 3 — two clean modes). A partial block is ignored
2735
+ * with a diagnostic (AC12). Experimental — Canvas Editor spike. */
2736
+ readonly nodePositions?: ReadonlyMap<string, {
2737
+ readonly x: number;
2738
+ readonly y: number;
2739
+ }>;
2718
2740
  /** `box-metric <label> [low] [high]` — names the value-ramp dimension and
2719
2741
  * optionally sets its endpoint colours. One color = high hue over a neutral
2720
2742
  * low; two = explicit `low high`. Mirror of map's `region-metric`. */
@@ -2758,6 +2780,10 @@ interface BLLayoutEdge {
2758
2780
  /** Marker for renderer: draw with linear curve, not curveBasis (ELK gives
2759
2781
  * us orthogonal polylines and curveBasis would smooth corners into waves) */
2760
2782
  readonly deferred?: boolean;
2783
+ /** Pinned-layout connector: a border-clipped straight 2-point segment (Canvas
2784
+ * Editor spike, Decision 7). Renderer draws it with a linear generator —
2785
+ * curveBasis collapses a 2-point polyline. */
2786
+ readonly straight?: boolean;
2761
2787
  }
2762
2788
  interface BLLayoutGroup {
2763
2789
  readonly label: string;
@@ -2788,6 +2814,9 @@ declare function layoutBoxesAndLines(parsed: ParsedBoxesAndLines, collapseInfo?:
2788
2814
  x: number;
2789
2815
  y: number;
2790
2816
  }>;
2817
+ /** Progress hook (interactive path). When set, the search yields between
2818
+ * candidates so the UI can paint a "trying X of Y" indicator. */
2819
+ onProgress?: (done: number, total: number, phase: string) => void;
2791
2820
  }): Promise<BLLayoutResult>;
2792
2821
 
2793
2822
  interface BLRenderOptions {
@@ -2806,6 +2835,14 @@ interface BLRenderOptions {
2806
2835
  /** When 'app', the description toggle is hosted by the app overlay strip
2807
2836
  * (inline gear suppressed, controls row + anchor reserved). */
2808
2837
  controlsHost?: 'app' | 'inline';
2838
+ /** Explicit value-ramp domain override. When provided, the choropleth ramp
2839
+ * uses these endpoints instead of computing min/max from `parsed.nodes`.
2840
+ * Focus mode passes the GLOBAL (pre-filter) domain so neighbor colours stay
2841
+ * stable when only a subset is rendered (Decision 20 / FM1). */
2842
+ rampDomain?: {
2843
+ min: number;
2844
+ max: number;
2845
+ };
2809
2846
  }
2810
2847
  declare function renderBoxesAndLines(container: HTMLDivElement, parsed: ParsedBoxesAndLines, layout: BLLayoutResult, palette: PaletteColors, isDark: boolean, options?: BLRenderOptions): void;
2811
2848
  declare function renderBoxesAndLinesForExport(container: HTMLDivElement, parsed: ParsedBoxesAndLines, layout: BLLayoutResult, palette: PaletteColors, isDark: boolean, options?: {
@@ -2835,6 +2872,43 @@ interface BLCollapseResult {
2835
2872
  */
2836
2873
  declare function collapseBoxesAndLines(parsed: ParsedBoxesAndLines, collapsedGroups: Set<string>): BLCollapseResult;
2837
2874
 
2875
+ interface FocusTarget {
2876
+ readonly kind: 'box' | 'group';
2877
+ /** Canonical endpoint key the parser uses for edges: a node label for a box,
2878
+ * or `__group_<label>` for a group. */
2879
+ readonly id: string;
2880
+ }
2881
+ interface FocusResult {
2882
+ /** Filtered model to lay out + render (neighbour groups already collapsed via
2883
+ * `collapseBoxesAndLines`; `nodePositions` cleared so the subset auto-lays). */
2884
+ readonly parsed: ParsedBoxesAndLines;
2885
+ /** Canonical keys of the 1-hop neighbours kept in view (box labels +
2886
+ * `__group_<label>` for neighbour groups). */
2887
+ readonly neighborIds: Set<string>;
2888
+ /** Group LABELS of neighbours rendered collapsed. */
2889
+ readonly collapsedNeighborGroupIds: Set<string>;
2890
+ /** GLOBAL value-ramp domain computed from the ORIGINAL model before filtering
2891
+ * (Decision 20 / FM1); null when the diagram has no `value:` data. */
2892
+ readonly rampDomain: {
2893
+ min: number;
2894
+ max: number;
2895
+ } | null;
2896
+ /** Collapse metadata for `layoutBoxesAndLines` so neighbour groups materialise
2897
+ * as collapsed boxes — mirrors the manual-collapse path's `collapseInfo`. */
2898
+ readonly collapseInfo: {
2899
+ collapsedChildCounts: Map<string, number>;
2900
+ originalGroups: readonly BLGroup[];
2901
+ };
2902
+ }
2903
+ /**
2904
+ * Filter `parsed` to the focused element + its 1-hop neighbours.
2905
+ *
2906
+ * Pure, synchronous, no I/O. Tolerant of dangling/alias endpoints (skips them,
2907
+ * never throws). For an edge-less target it returns the lone element (the app
2908
+ * decides the "no connections" affordance, Decision 19).
2909
+ */
2910
+ declare function focusBoxesAndLines(parsed: ParsedBoxesAndLines, target: FocusTarget): FocusResult;
2911
+
2838
2912
  interface SitemapNode {
2839
2913
  readonly id: string;
2840
2914
  readonly label: string;
@@ -4818,6 +4892,17 @@ interface MapLayoutRegion {
4818
4892
  * area-weighted centroid stays on the body. Honours WORLD_LABEL_ANCHORS. */
4819
4893
  readonly labelX?: number;
4820
4894
  readonly labelY?: number;
4895
+ /** Screen-space bounding box `[minX, minY, maxX, maxY]` of the drawn path,
4896
+ * computed once in `layoutMap` (reusing the `fillAt` hit-target parse) so the
4897
+ * renderer's per-POI-label region cull doesn't re-parse every path string per
4898
+ * label blob. Absent only if the layout was built before this field existed —
4899
+ * the renderer falls back to parsing `d`. */
4900
+ bbox?: readonly [number, number, number, number];
4901
+ /** Parsed screen-space rings of `d`, computed once in `layoutMap` (the same
4902
+ * `fillAt` hit-target parse as `bbox`) so the renderer's coastline buffering
4903
+ * doesn't re-parse every region path on every render. Absent only for layouts
4904
+ * predating this field — callers fall back to `parsePathRings(d)`. */
4905
+ rings?: ReadonlyArray<ReadonlyArray<readonly [number, number]>>;
4821
4906
  }
4822
4907
  /** A framed inset "cutout" (albers-usa AK/HI), in screen px. The frame is a
4823
4908
  * quad whose TOP edge is angled to ride just under the conus southern coast,
@@ -5763,6 +5848,48 @@ declare function resolveColor(color: string, palette?: {
5763
5848
  colors: Record<string, string>;
5764
5849
  }): string | null;
5765
5850
 
5851
+ /**
5852
+ * Stable diagnostic code for "this token is not one of the 11 named palette
5853
+ * colors" — covers both hex/CSS literals (emitted as `error`) and unrecognized
5854
+ * bare words like `crimson` (emitted as `warning`). Consumers that want to
5855
+ * HARD-BLOCK invalid colors regardless of severity (e.g. the MCP render gate)
5856
+ * filter on this code rather than re-deriving the rule.
5857
+ */
5858
+ declare const INVALID_COLOR_CODE = "E_INVALID_COLOR";
5859
+ /**
5860
+ * CSS / X11 color names that are NOT one of DGMO's 11 — mapped to their hex so
5861
+ * a "nearest valid color" hint can be computed. This is the blocklist that lets
5862
+ * the trailing-token rule tell an *intended-but-invalid* color (`pink`,
5863
+ * `crimson`, `navy`) apart from an ordinary label word (`Zinfandel`, `Blanc`):
5864
+ * a lowercase trailing token found here is flagged, anything else stays label
5865
+ * text. Our 11 valid names are deliberately excluded. Extend freely — it only
5866
+ * sharpens detection. (Case-sensitive lowercase, matching the §1.5 color rule.)
5867
+ */
5868
+ declare const INVALID_CSS_COLOR_HEX: Readonly<Record<string, string>>;
5869
+ /**
5870
+ * Best-effort nearest recognized color NAME for an unsupported hex value.
5871
+ * Matches by HUE (with a low-saturation cutoff routing to black/white/gray),
5872
+ * NOT raw RGB distance to the muted palette hexes — vivid LLM colors like a
5873
+ * `#3cb44b` green would otherwise snap to `gray` against a desaturated sage.
5874
+ * Returns null for non-hex input (CSS function/keyword colors, no RGB to read).
5875
+ * Used ONLY to enrich a diagnostic — never to silently accept the value.
5876
+ */
5877
+ declare function nearestNamedColor(input: string): string | null;
5878
+ /**
5879
+ * True iff `token` is an INTENDED-but-invalid color: a hex/`rgb()`/`hsl()`
5880
+ * literal, or a known CSS color name that isn't one of DGMO's 11. Lets the
5881
+ * trailing-token rule flag `Rosé pink` / `Foo #e6194b` while leaving genuine
5882
+ * label words (`Zinfandel`) untouched.
5883
+ */
5884
+ declare function isInvalidColorToken(token: string): boolean;
5885
+ /**
5886
+ * Build an `E_INVALID_COLOR` diagnostic for an intended-but-invalid trailing
5887
+ * color token, or return null if `token` isn't color-like (so it stays label
5888
+ * text). Severity is `warning` so the library degrades gracefully (the value
5889
+ * just keeps the word); the MCP render gate blocks on the code regardless.
5890
+ * Used by `extractColor` to close the trailing-token "silent swallow" gap.
5891
+ */
5892
+ declare function invalidColorDiagnostic(token: string, line: number): DgmoError | null;
5766
5893
  /**
5767
5894
  * Resolves a color name and pushes a warning diagnostic on failure.
5768
5895
  * Returns the hex string for valid names, or `undefined` for unknown
@@ -5865,4 +5992,4 @@ declare function migrateContent(source: string): ContentMigration;
5865
5992
  */
5866
5993
  declare function formatLineDiff(path: string, original: string, migrated: string): string;
5867
5994
 
5868
- export { ALL_CHART_TYPES, ARROW_DIAGNOSTIC_CODES, type Activation, type AirportData, type AncestorInfo, type ArcLink, type ArcNodeGroup, type BLCollapseResult, type BLEdge, type BLGroup, type BLLayoutEdge, type BLLayoutGroup, type BLLayoutNode, type BLLayoutResult, type BLNode, type BlipTrend, type BoundaryTopology, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, CHART_TYPE_DESCRIPTIONS, type ChartDataPoint, type ChartEra, type ChartType$1 as ChartType, type ChartTypeMeta, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapsedMindmapResult, type CollapsedOrgResult, type CollapsedSitemapResult, type CollapsedView, type CompactViewState, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContentMigration, type ContextRelationship, type CreateMapGeoQueryOptions, type CycleEdge, type CycleLayoutEdge, type CycleLayoutNode, type CycleLayoutResult, type CycleNode, type CycleRenderOptions, type D3ExportDimensions, type DecodedDiagramUrl, type DgmoError, type DgmoSeverity, type DiagramSymbols, type Duration, type DurationUnit, ECHART_EXPORT_WIDTH, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EncodeDiagramUrlOptions, type EncodeDiagramUrlResult, type ExpandedActivity, type ExtendedChartType, type FocusOrgResult, type GanttDependency, type GanttEra, type GanttGroup, type GroupRow as GanttGroupRow, type GanttHolidays, type GanttInteractiveOptions, type LaneHeaderRow as GanttLaneHeaderRow, type GanttMarker, type GanttNode, type GanttOptions, type Row as GanttRow, type GanttTask, type TaskRow as GanttTaskRow, type Gazetteer, type GazetteerEntry, type GeoExtent, type GetOrCreateNameResult, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, type ImportSource, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraTagGroup, type InlineSpan, type JourneyMapAnnotation, type JourneyMapInteractiveOptions, type JourneyMapLayout, type JourneyMapPersona, type JourneyMapPhase, type JourneyMapStep, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, LEGEND_GEAR_PILL_W, LEGEND_HEIGHT, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutOptions$1 as LayoutOptions, type LayoutResult$1 as LayoutResult, type LegendCallbacks, type LegendConfig, type LegendControl, type LegendGroupData, type LegendHandle, type LegendLayout, type LegendMode, type LegendPalette, type LegendPosition, type LegendState, type MapCompletionOptions, type MapData, type MapDirectives, type MapEdge, type MapExportDimensions, type MapGeoQuery, type MapLayout, type MapLayoutInset, type MapLayoutLeg, type MapLayoutLegend, type MapLayoutPoi, type MapLayoutRegion, type MapLayoutStretch, type MapPlaceCompletion, type MapPoi, type MapRegion, type MapRegionCompletion, type MapRoute, type MemberVisibility, type MindmapLayoutEdge, type MindmapLayoutNode, type MindmapLayoutResult, type MindmapNode, type MonteCarloResult, type NameEntry, type NearestCity, type NodeDetail, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, type OrgNode, type PaletteColors, type PaletteConfig, type ParseInArrowLabelResult, type ParsedBoxesAndLines, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedCycle, type ParsedERDiagram, type ParsedExtendedChart, type ParsedGantt, type ParsedGraph, type ParsedInfra, type ParsedJourneyMap, type ParsedKanban, type ParsedMap, type ParsedMindmap, type ParsedOrg, type ParsedPert, type ParsedPyramid, type ParsedRaci, type ParsedRing, type ParsedSequenceDgmo, type ParsedSitemap, type ParsedTechRadar, type ParsedVisualization, type ParsedWireframe, type ParticipantType, type PertActivity, type Anchor as PertAnchor, type PertDirection, type PertEdge, type PertGroup, type PertLayoutEdge, type PertLayoutGroup, type PertLayoutNode, type LayoutOverrides as PertLayoutOverrides, type LayoutResult as PertLayoutResult, type PertMilestone, type PertOptions, type PertRenderOptions, type PlacedLabel, type PoiPos, type ProjectedCity, type ProjectionFamily, type PyramidLayer, type QuadrantPosition, RACI_ERROR_CODES, VARIANTS as RACI_VARIANTS, RACI_WARNING_CODES, RECOGNIZED_COLOR_NAMES, RULE_COUNT, type RaciDragSource, type RaciInteractionHandlers, type RaciMarker, type RaciPhase, type RaciRoleAssignment, type RaciTask, type RaciVariant, type ReadFileFn, type RegionName, type RegionNames, type RegionToken, type RelationshipType, type RenderCategory, type RenderStep, type ResolveImportsResult, type ResolvedActivity, type ResolvedEdge, type ResolvedGroup$1 as ResolvedGroup, type ResolvedMap, type ResolvedPert, type ResolvedGroup as ResolvedPertGroup, type ResolvedPoi, type ResolvedRegion, type ResolvedRoute, type ResolvedSchedule, type ResolvedTask, type ResultCard, type ResultTokens, type RingLayer, ScaleContext, type ScatterLabelPoint, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SimulateOptions, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type StateCollapseResult, type TagEntry, type TagGroup, type TechRadarBlip, type TechRadarLayoutPoint, type TechRadarQuadrant, type TechRadarRing, type Theme, type TransformResult, type VisualizationType, type WireframeElement, type WireframeElementType, type WireframeFormFactor, type WireframeLayout, type WireframeLayoutNode, addDurationToDate, albersSkewFallback, analyzePert, applyCollapseProjection, applyGroupOrdering, applyPositionOverrides, atlasPalette, blueprintPalette, buildExtendedChartOption, buildNoteMessageMap, buildRenderSequence, buildSimpleChartOption, buildSimulationContext, buildTagLaneRowList, calculateSchedule, catppuccinPalette, chartTypeParsers, chartTypes, collapseBoxesAndLines, collapseMindmapTree, collapseOrgTree, collapseSitemapTree, collapseStateGroups, collectDiagramRoles, collectTasks, colorNames, completeMapPlaces, completeMapRegions, computeActivations, computeCardArchive, computeCardMove, computeCycleLayout, computeInfra, computeInfraLegendGroups, computeLegendLayout, computeRadarLayout, computeScatterLabelGraphics, computeTimeTicks, contrastText, controlsGroupCapsuleWidth, createMapGeoQuery, decodeDiagramUrl, decodeViewState, displayName, encodeDiagramUrl, encodeViewState, extractSymbols$2 as extractClassSymbols, extractSymbols$1 as extractErSymbols, extractSymbols$3 as extractFlowchartSymbols, extractSymbols as extractInfraSymbols, extractPertSymbols, findUnsafePipePositions, focusOrgTree, formatDateLabel, formatDgmoError, formatLineDiff, getAllChartTypes, getAvailablePalettes, getExtendedChartLegendGroups, getLegendReservedHeight, getOrCreateName, getPalette, getRadarGeometry, getRenderCategory, getSeriesColors, getSimpleChartLegendGroups, groupMessagesBySection, hexToHSL, hexToHSLString, hslToHex, inferParticipantType, inferRoles, isArchiveColumn, isExtendedChartType, isLegacyMetadataLine, isRecognizedColorName, isSequenceBlock, isSequenceNote, isValidHex, knownChartTypeIds, layoutBoxesAndLines, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutGraph, layoutInfra, layoutJourneyMap, layoutMap, layoutMindmap, layoutOrg, layoutPert, layoutSitemap, layoutWireframe, loadMapData, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeMap, looksLikePert, looksLikeSequence, looksLikeSitemap, looksLikeState, makeDgmoError, mapBackgroundColor, mapContentAspect, mapExportDimensions, mapNeutralLandColor, measurePertAnalysisBlock, migrateContent, mix, mulberry32, nord, nordPalette, normalizeName, normalizePertSourceForShare, orderArcNodes, palettes, parseAndLayoutInfra, parseBoxesAndLines, parseC4, parseChart, parseClassDiagram, parseCycle, parseDataRowValues, parseDgmo, parseDgmoChartType, parseERDiagram, parseExtendedChart, parseFirstLine, parseFlowchart, parseGantt, parseInArrowLabel, parseInfra, parseInlineMarkdown, parseJourneyMap, parseKanban, parseMap, parseMindmap, parseOrg, parsePert, parsePyramid, parseRaci, parseRing, parseSequenceDgmo, parseSequenceDgmo as parseSequenceDiagram, parseSitemap, parseState, parseTechRadar, parseTimelineDate, parseVisualization, parseWireframe, cellAppendMarker as raciCellAppendMarker, cellCycle as raciCellCycle, cellRemove as raciCellRemove, cellReplace as raciCellReplace, registerPalette, relayoutPert, render, renderArcDiagram, renderBoxesAndLines, renderBoxesAndLinesForExport, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderCycle, renderCycleForExport, renderERDiagram, renderERDiagramForExport, renderExtendedChartForExport, renderFlowchart, renderFlowchartForExport, renderForExport, renderGantt, renderInfra, renderJourneyMap, renderJourneyMapForExport, renderKanban, renderKanbanForExport, renderLegendD3, renderLegendSvg, renderLegendSvgFromConfig, renderMap, renderMapForExport, renderMindmap, renderMindmapForExport, renderOrg, renderOrgForExport, renderPert, renderPertAnalysisBlock, renderPertForExport, renderPyramid, renderPyramidForExport, renderQuadrant, renderQuadrantFocus, renderQuadrantFocusForExport, renderRaci, renderRaciForExport, renderRing, renderRingForExport, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSlopeChart, renderState, renderStateForExport, renderTechRadar, renderTechRadarForExport, renderTimeline, renderVenn, renderWireframe, renderWordCloud, resolveColor, resolveColorWithDiagnostic, resolveMap, resolveOrgImports, resolveTaskName, rollUpContextRelationships, sampleBetaPert, seriesColors, shade, shapeFill, simulateCanonical, simulateFast, slatePalette, themes, tidewaterPalette, tint, tokyoNightPalette, transformLine, truncateBareUrl, parseDgmo as validate, validateComputed, validateInfra, validateLabelCharacters };
5995
+ export { ALL_CHART_TYPES, ARROW_DIAGNOSTIC_CODES, type Activation, type AirportData, type AncestorInfo, type ArcLink, type ArcNodeGroup, type BLCollapseResult, type BLEdge, type BLGroup, type BLLayoutEdge, type BLLayoutGroup, type BLLayoutNode, type BLLayoutResult, type BLNode, type BlipTrend, type BoundaryTopology, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, CHART_TYPE_DESCRIPTIONS, type ChartDataPoint, type ChartEra, type ChartType$1 as ChartType, type ChartTypeMeta, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapsedMindmapResult, type CollapsedOrgResult, type CollapsedSitemapResult, type CollapsedView, type CompactViewState, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContentMigration, type ContextRelationship, type CreateMapGeoQueryOptions, type CycleEdge, type CycleLayoutEdge, type CycleLayoutNode, type CycleLayoutResult, type CycleNode, type CycleRenderOptions, type D3ExportDimensions, type DecodedDiagramUrl, type DgmoError, type DgmoSeverity, type DiagramSymbols, type Duration, type DurationUnit, ECHART_EXPORT_WIDTH, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EncodeDiagramUrlOptions, type EncodeDiagramUrlResult, type ExpandedActivity, type ExtendedChartType, type FocusOrgResult, type FocusResult, type FocusTarget, type GanttDependency, type GanttEra, type GanttGroup, type GroupRow as GanttGroupRow, type GanttHolidays, type GanttInteractiveOptions, type LaneHeaderRow as GanttLaneHeaderRow, type GanttMarker, type GanttNode, type GanttOptions, type Row as GanttRow, type GanttTask, type TaskRow as GanttTaskRow, type Gazetteer, type GazetteerEntry, type GeoExtent, type GetOrCreateNameResult, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, INVALID_COLOR_CODE, INVALID_CSS_COLOR_HEX, type ImportSource, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraTagGroup, type InlineSpan, type JourneyMapAnnotation, type JourneyMapInteractiveOptions, type JourneyMapLayout, type JourneyMapPersona, type JourneyMapPhase, type JourneyMapStep, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, LEGEND_GEAR_PILL_W, LEGEND_HEIGHT, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutOptions$1 as LayoutOptions, type LayoutResult$1 as LayoutResult, type LegendCallbacks, type LegendConfig, type LegendControl, type LegendGroupData, type LegendHandle, type LegendLayout, type LegendMode, type LegendPalette, type LegendPosition, type LegendState, type MapCompletionOptions, type MapData, type MapDirectives, type MapEdge, type MapExportDimensions, type MapGeoQuery, type MapLayout, type MapLayoutInset, type MapLayoutLeg, type MapLayoutLegend, type MapLayoutPoi, type MapLayoutRegion, type MapLayoutStretch, type MapPlaceCompletion, type MapPoi, type MapRegion, type MapRegionCompletion, type MapRoute, type MemberVisibility, type MindmapLayoutEdge, type MindmapLayoutNode, type MindmapLayoutResult, type MindmapNode, type MonteCarloResult, type NameEntry, type NearestCity, type NodeDetail, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, type OrgNode, type PaletteColors, type PaletteConfig, type ParseInArrowLabelResult, type ParsedBoxesAndLines, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedCycle, type ParsedERDiagram, type ParsedExtendedChart, type ParsedGantt, type ParsedGraph, type ParsedInfra, type ParsedJourneyMap, type ParsedKanban, type ParsedMap, type ParsedMindmap, type ParsedOrg, type ParsedPert, type ParsedPyramid, type ParsedRaci, type ParsedRing, type ParsedSequenceDgmo, type ParsedSitemap, type ParsedTechRadar, type ParsedVisualization, type ParsedWireframe, type ParticipantType, type PertActivity, type Anchor as PertAnchor, type PertDirection, type PertEdge, type PertGroup, type PertLayoutEdge, type PertLayoutGroup, type PertLayoutNode, type LayoutOverrides as PertLayoutOverrides, type LayoutResult as PertLayoutResult, type PertMilestone, type PertOptions, type PertRenderOptions, type PlacedLabel, type PoiPos, type ProjectedCity, type ProjectionFamily, type PyramidLayer, type QuadrantPosition, RACI_ERROR_CODES, VARIANTS as RACI_VARIANTS, RACI_WARNING_CODES, RECOGNIZED_COLOR_NAMES, RULE_COUNT, type RaciDragSource, type RaciInteractionHandlers, type RaciMarker, type RaciPhase, type RaciRoleAssignment, type RaciTask, type RaciVariant, type ReadFileFn, type RegionName, type RegionNames, type RegionToken, type RelationshipType, type RenderCategory, type RenderStep, type ResolveImportsResult, type ResolvedActivity, type ResolvedEdge, type ResolvedGroup$1 as ResolvedGroup, type ResolvedMap, type ResolvedPert, type ResolvedGroup as ResolvedPertGroup, type ResolvedPoi, type ResolvedRegion, type ResolvedRoute, type ResolvedSchedule, type ResolvedTask, type ResultCard, type ResultTokens, type RingLayer, ScaleContext, type ScatterLabelPoint, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SimulateOptions, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type StateCollapseResult, type TagEntry, type TagGroup, type TechRadarBlip, type TechRadarLayoutPoint, type TechRadarQuadrant, type TechRadarRing, type Theme, type TransformResult, type VisualizationType, type WireframeElement, type WireframeElementType, type WireframeFormFactor, type WireframeLayout, type WireframeLayoutNode, addDurationToDate, albersSkewFallback, analyzePert, applyCollapseProjection, applyGroupOrdering, applyPositionOverrides, atlasPalette, autoTagColorCycle, blueprintPalette, buildExtendedChartOption, buildNoteMessageMap, buildRenderSequence, buildSimpleChartOption, buildSimulationContext, buildTagLaneRowList, calculateSchedule, catppuccinPalette, chartTypeParsers, chartTypes, collapseBoxesAndLines, collapseMindmapTree, collapseOrgTree, collapseSitemapTree, collapseStateGroups, collectDiagramRoles, collectTasks, colorNames, completeMapPlaces, completeMapRegions, computeActivations, computeCardArchive, computeCardMove, computeCycleLayout, computeInfra, computeInfraLegendGroups, computeLegendLayout, computeRadarLayout, computeScatterLabelGraphics, computeTimeTicks, contrastText, controlsGroupCapsuleWidth, createMapGeoQuery, decodeDiagramUrl, decodeViewState, displayName, encodeDiagramUrl, encodeViewState, extractSymbols$2 as extractClassSymbols, extractSymbols$1 as extractErSymbols, extractSymbols$3 as extractFlowchartSymbols, extractSymbols as extractInfraSymbols, extractPertSymbols, findUnsafePipePositions, focusBoxesAndLines, focusOrgTree, formatDateLabel, formatDgmoError, formatLineDiff, getAllChartTypes, getAvailablePalettes, getExtendedChartLegendGroups, getLegendReservedHeight, getOrCreateName, getPalette, getRadarGeometry, getRenderCategory, getSeriesColors, getSimpleChartLegendGroups, groupMessagesBySection, hexToHSL, hexToHSLString, hslToHex, inferParticipantType, inferRoles, invalidColorDiagnostic, isArchiveColumn, isExtendedChartType, isInvalidColorToken, isLegacyMetadataLine, isRecognizedColorName, isSequenceBlock, isSequenceNote, isValidHex, knownChartTypeIds, layoutBoxesAndLines, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutGraph, layoutInfra, layoutJourneyMap, layoutMap, layoutMindmap, layoutOrg, layoutPert, layoutSitemap, layoutWireframe, loadMapData, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeMap, looksLikePert, looksLikeSequence, looksLikeSitemap, looksLikeState, makeDgmoError, mapBackgroundColor, mapContentAspect, mapExportDimensions, mapNeutralLandColor, measurePertAnalysisBlock, migrateContent, mix, mulberry32, nearestNamedColor, nord, nordPalette, normalizeName, normalizePertSourceForShare, orderArcNodes, palettes, parseAndLayoutInfra, parseBoxesAndLines, parseC4, parseChart, parseClassDiagram, parseCycle, parseDataRowValues, parseDgmo, parseDgmoChartType, parseERDiagram, parseExtendedChart, parseFirstLine, parseFlowchart, parseGantt, parseInArrowLabel, parseInfra, parseInlineMarkdown, parseJourneyMap, parseKanban, parseMap, parseMindmap, parseOrg, parsePert, parsePyramid, parseRaci, parseRing, parseSequenceDgmo, parseSequenceDgmo as parseSequenceDiagram, parseSitemap, parseState, parseTechRadar, parseTimelineDate, parseVisualization, parseWireframe, cellAppendMarker as raciCellAppendMarker, cellCycle as raciCellCycle, cellRemove as raciCellRemove, cellReplace as raciCellReplace, registerPalette, relayoutPert, render, renderArcDiagram, renderBoxesAndLines, renderBoxesAndLinesForExport, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderCycle, renderCycleForExport, renderERDiagram, renderERDiagramForExport, renderExtendedChartForExport, renderFlowchart, renderFlowchartForExport, renderForExport, renderGantt, renderInfra, renderJourneyMap, renderJourneyMapForExport, renderKanban, renderKanbanForExport, renderLegendD3, renderLegendSvg, renderLegendSvgFromConfig, renderMap, renderMapForExport, renderMindmap, renderMindmapForExport, renderOrg, renderOrgForExport, renderPert, renderPertAnalysisBlock, renderPertForExport, renderPyramid, renderPyramidForExport, renderQuadrant, renderQuadrantFocus, renderQuadrantFocusForExport, renderRaci, renderRaciForExport, renderRing, renderRingForExport, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSlopeChart, renderState, renderStateForExport, renderTechRadar, renderTechRadarForExport, renderTimeline, renderVenn, renderWireframe, renderWordCloud, resolveColor, resolveColorWithDiagnostic, resolveMap, resolveOrgImports, resolveTaskName, rollUpContextRelationships, sampleBetaPert, seriesColors, shade, shapeFill, simulateCanonical, simulateFast, slatePalette, themes, tidewaterPalette, tint, tokyoNightPalette, transformLine, truncateBareUrl, parseDgmo as validate, validateComputed, validateInfra, validateLabelCharacters };
@@ -183,6 +183,14 @@ interface TagGroup {
183
183
  readonly defaultValue?: string;
184
184
  readonly lineNumber: number;
185
185
  }
186
+ /**
187
+ * The categorical name cycle used to auto-assign colors to bare tag values,
188
+ * in deterministic order. Aliased to the shared {@link CATEGORICAL_COLOR_ORDER}
189
+ * (RGB-seeded, max-contrast, neutrals excluded) so tag swatches and data-chart
190
+ * series colors share one canonical rotation. If a group has more colorless
191
+ * entries than free categorical names, the cycle wraps.
192
+ */
193
+ declare const autoTagColorCycle: readonly string[];
186
194
 
187
195
  /** A POI / route-stop position: gazetteer name (+ optional ISO scope) or coords. */
188
196
  type PoiPos = {
@@ -748,6 +756,21 @@ declare class ScaleContext {
748
756
  readonly isBelowFloor: boolean;
749
757
  private constructor();
750
758
  static from(containerSize: number, idealSize: number, minScaleFactor?: number): ScaleContext;
759
+ /**
760
+ * Fit content into a bounding box, scaling by whichever dimension is more
761
+ * constraining (the smaller of the width- and height-fit ratios) so the
762
+ * diagram never overflows the canvas in either axis. Like {@link from}, the
763
+ * factor is clamped to `[minScaleFactor, 1]` (content is never enlarged, and
764
+ * never shrunk past the readability floor).
765
+ */
766
+ static fromBox(containerWidth: number, idealWidth: number, containerHeight: number, idealHeight: number, minScaleFactor?: number): ScaleContext;
767
+ /**
768
+ * Build a context from an explicit raw factor (clamped to
769
+ * `[minScaleFactor, 1]`). Used to refine a fit iteratively: layout scaling is
770
+ * non-linear (gaps shrink faster than floored text), so the first-pass factor
771
+ * can still overflow — re-measure the laid-out result and tighten.
772
+ */
773
+ static fromFactor(rawFactor: number, minScaleFactor?: number): ScaleContext;
751
774
  static identity(): ScaleContext;
752
775
  aesthetic(value: number): number;
753
776
  structural(value: number): number;
@@ -878,24 +901,14 @@ declare function mix(a: string, b: string, pct: number): string;
878
901
  * are unambiguous in either branch; only solid-fill output shifts here.
879
902
  */
880
903
  declare function contrastText(bg: string, lightText: string, darkText: string): string;
881
- /**
882
- * Canonical tinted shape fill: 25% intent color + 75% surface.
883
- * Use for any "tinted intent shape" — graph nodes, kanban cards,
884
- * journey-map shapes, infra severity, ECharts pie/funnel/bar/etc.
885
- *
886
- * NOT for subtle-neutral shapes (use the existing 5-10% inline formula
887
- * for "recede when no intent" cases — infra normal-state, untagged
888
- * boxes, no-color sequence participants).
889
- *
890
- * Sankey is the only documented exception (75/45% custom desaturation).
891
- *
892
- * `opts.solid` (per `option solid-fill`): bypass the 25% tint and return
893
- * the raw intent. Opt-in only; default behavior unchanged.
894
- */
895
904
  declare function shapeFill(palette: PaletteColors, intent: string, isDark: boolean, opts?: {
896
905
  solid?: boolean;
897
906
  }): string;
898
- /** Derive the 8-color series rotation from a palette's named colors. */
907
+ /**
908
+ * Derive the 8-color series rotation from a palette's named colors, in the
909
+ * shared {@link CATEGORICAL_COLOR_ORDER} (RGB-seeded, max-contrast). Tag
910
+ * swatches and chart series colors thus share one canonical rotation.
911
+ */
899
912
  declare function getSeriesColors(palette: PaletteColors): string[];
900
913
 
901
914
  declare const atlasPalette: PaletteConfig;
@@ -2715,6 +2728,15 @@ interface ParsedBoxesAndLines {
2715
2728
  readonly notes?: readonly DiagramNote[];
2716
2729
  readonly initialHiddenTagValues: ReadonlyMap<string, ReadonlySet<string>>;
2717
2730
  readonly direction: 'LR' | 'TB';
2731
+ /** Optional per-node absolute positions, parsed from a trailing `layout`
2732
+ * block (`<node-id>: <x>, <y>`). Diagram-space coordinates. When present and
2733
+ * covering EVERY node, the layout engine bypasses auto-placement and pins
2734
+ * nodes here (see Decision 3 — two clean modes). A partial block is ignored
2735
+ * with a diagnostic (AC12). Experimental — Canvas Editor spike. */
2736
+ readonly nodePositions?: ReadonlyMap<string, {
2737
+ readonly x: number;
2738
+ readonly y: number;
2739
+ }>;
2718
2740
  /** `box-metric <label> [low] [high]` — names the value-ramp dimension and
2719
2741
  * optionally sets its endpoint colours. One color = high hue over a neutral
2720
2742
  * low; two = explicit `low high`. Mirror of map's `region-metric`. */
@@ -2758,6 +2780,10 @@ interface BLLayoutEdge {
2758
2780
  /** Marker for renderer: draw with linear curve, not curveBasis (ELK gives
2759
2781
  * us orthogonal polylines and curveBasis would smooth corners into waves) */
2760
2782
  readonly deferred?: boolean;
2783
+ /** Pinned-layout connector: a border-clipped straight 2-point segment (Canvas
2784
+ * Editor spike, Decision 7). Renderer draws it with a linear generator —
2785
+ * curveBasis collapses a 2-point polyline. */
2786
+ readonly straight?: boolean;
2761
2787
  }
2762
2788
  interface BLLayoutGroup {
2763
2789
  readonly label: string;
@@ -2788,6 +2814,9 @@ declare function layoutBoxesAndLines(parsed: ParsedBoxesAndLines, collapseInfo?:
2788
2814
  x: number;
2789
2815
  y: number;
2790
2816
  }>;
2817
+ /** Progress hook (interactive path). When set, the search yields between
2818
+ * candidates so the UI can paint a "trying X of Y" indicator. */
2819
+ onProgress?: (done: number, total: number, phase: string) => void;
2791
2820
  }): Promise<BLLayoutResult>;
2792
2821
 
2793
2822
  interface BLRenderOptions {
@@ -2806,6 +2835,14 @@ interface BLRenderOptions {
2806
2835
  /** When 'app', the description toggle is hosted by the app overlay strip
2807
2836
  * (inline gear suppressed, controls row + anchor reserved). */
2808
2837
  controlsHost?: 'app' | 'inline';
2838
+ /** Explicit value-ramp domain override. When provided, the choropleth ramp
2839
+ * uses these endpoints instead of computing min/max from `parsed.nodes`.
2840
+ * Focus mode passes the GLOBAL (pre-filter) domain so neighbor colours stay
2841
+ * stable when only a subset is rendered (Decision 20 / FM1). */
2842
+ rampDomain?: {
2843
+ min: number;
2844
+ max: number;
2845
+ };
2809
2846
  }
2810
2847
  declare function renderBoxesAndLines(container: HTMLDivElement, parsed: ParsedBoxesAndLines, layout: BLLayoutResult, palette: PaletteColors, isDark: boolean, options?: BLRenderOptions): void;
2811
2848
  declare function renderBoxesAndLinesForExport(container: HTMLDivElement, parsed: ParsedBoxesAndLines, layout: BLLayoutResult, palette: PaletteColors, isDark: boolean, options?: {
@@ -2835,6 +2872,43 @@ interface BLCollapseResult {
2835
2872
  */
2836
2873
  declare function collapseBoxesAndLines(parsed: ParsedBoxesAndLines, collapsedGroups: Set<string>): BLCollapseResult;
2837
2874
 
2875
+ interface FocusTarget {
2876
+ readonly kind: 'box' | 'group';
2877
+ /** Canonical endpoint key the parser uses for edges: a node label for a box,
2878
+ * or `__group_<label>` for a group. */
2879
+ readonly id: string;
2880
+ }
2881
+ interface FocusResult {
2882
+ /** Filtered model to lay out + render (neighbour groups already collapsed via
2883
+ * `collapseBoxesAndLines`; `nodePositions` cleared so the subset auto-lays). */
2884
+ readonly parsed: ParsedBoxesAndLines;
2885
+ /** Canonical keys of the 1-hop neighbours kept in view (box labels +
2886
+ * `__group_<label>` for neighbour groups). */
2887
+ readonly neighborIds: Set<string>;
2888
+ /** Group LABELS of neighbours rendered collapsed. */
2889
+ readonly collapsedNeighborGroupIds: Set<string>;
2890
+ /** GLOBAL value-ramp domain computed from the ORIGINAL model before filtering
2891
+ * (Decision 20 / FM1); null when the diagram has no `value:` data. */
2892
+ readonly rampDomain: {
2893
+ min: number;
2894
+ max: number;
2895
+ } | null;
2896
+ /** Collapse metadata for `layoutBoxesAndLines` so neighbour groups materialise
2897
+ * as collapsed boxes — mirrors the manual-collapse path's `collapseInfo`. */
2898
+ readonly collapseInfo: {
2899
+ collapsedChildCounts: Map<string, number>;
2900
+ originalGroups: readonly BLGroup[];
2901
+ };
2902
+ }
2903
+ /**
2904
+ * Filter `parsed` to the focused element + its 1-hop neighbours.
2905
+ *
2906
+ * Pure, synchronous, no I/O. Tolerant of dangling/alias endpoints (skips them,
2907
+ * never throws). For an edge-less target it returns the lone element (the app
2908
+ * decides the "no connections" affordance, Decision 19).
2909
+ */
2910
+ declare function focusBoxesAndLines(parsed: ParsedBoxesAndLines, target: FocusTarget): FocusResult;
2911
+
2838
2912
  interface SitemapNode {
2839
2913
  readonly id: string;
2840
2914
  readonly label: string;
@@ -4818,6 +4892,17 @@ interface MapLayoutRegion {
4818
4892
  * area-weighted centroid stays on the body. Honours WORLD_LABEL_ANCHORS. */
4819
4893
  readonly labelX?: number;
4820
4894
  readonly labelY?: number;
4895
+ /** Screen-space bounding box `[minX, minY, maxX, maxY]` of the drawn path,
4896
+ * computed once in `layoutMap` (reusing the `fillAt` hit-target parse) so the
4897
+ * renderer's per-POI-label region cull doesn't re-parse every path string per
4898
+ * label blob. Absent only if the layout was built before this field existed —
4899
+ * the renderer falls back to parsing `d`. */
4900
+ bbox?: readonly [number, number, number, number];
4901
+ /** Parsed screen-space rings of `d`, computed once in `layoutMap` (the same
4902
+ * `fillAt` hit-target parse as `bbox`) so the renderer's coastline buffering
4903
+ * doesn't re-parse every region path on every render. Absent only for layouts
4904
+ * predating this field — callers fall back to `parsePathRings(d)`. */
4905
+ rings?: ReadonlyArray<ReadonlyArray<readonly [number, number]>>;
4821
4906
  }
4822
4907
  /** A framed inset "cutout" (albers-usa AK/HI), in screen px. The frame is a
4823
4908
  * quad whose TOP edge is angled to ride just under the conus southern coast,
@@ -5763,6 +5848,48 @@ declare function resolveColor(color: string, palette?: {
5763
5848
  colors: Record<string, string>;
5764
5849
  }): string | null;
5765
5850
 
5851
+ /**
5852
+ * Stable diagnostic code for "this token is not one of the 11 named palette
5853
+ * colors" — covers both hex/CSS literals (emitted as `error`) and unrecognized
5854
+ * bare words like `crimson` (emitted as `warning`). Consumers that want to
5855
+ * HARD-BLOCK invalid colors regardless of severity (e.g. the MCP render gate)
5856
+ * filter on this code rather than re-deriving the rule.
5857
+ */
5858
+ declare const INVALID_COLOR_CODE = "E_INVALID_COLOR";
5859
+ /**
5860
+ * CSS / X11 color names that are NOT one of DGMO's 11 — mapped to their hex so
5861
+ * a "nearest valid color" hint can be computed. This is the blocklist that lets
5862
+ * the trailing-token rule tell an *intended-but-invalid* color (`pink`,
5863
+ * `crimson`, `navy`) apart from an ordinary label word (`Zinfandel`, `Blanc`):
5864
+ * a lowercase trailing token found here is flagged, anything else stays label
5865
+ * text. Our 11 valid names are deliberately excluded. Extend freely — it only
5866
+ * sharpens detection. (Case-sensitive lowercase, matching the §1.5 color rule.)
5867
+ */
5868
+ declare const INVALID_CSS_COLOR_HEX: Readonly<Record<string, string>>;
5869
+ /**
5870
+ * Best-effort nearest recognized color NAME for an unsupported hex value.
5871
+ * Matches by HUE (with a low-saturation cutoff routing to black/white/gray),
5872
+ * NOT raw RGB distance to the muted palette hexes — vivid LLM colors like a
5873
+ * `#3cb44b` green would otherwise snap to `gray` against a desaturated sage.
5874
+ * Returns null for non-hex input (CSS function/keyword colors, no RGB to read).
5875
+ * Used ONLY to enrich a diagnostic — never to silently accept the value.
5876
+ */
5877
+ declare function nearestNamedColor(input: string): string | null;
5878
+ /**
5879
+ * True iff `token` is an INTENDED-but-invalid color: a hex/`rgb()`/`hsl()`
5880
+ * literal, or a known CSS color name that isn't one of DGMO's 11. Lets the
5881
+ * trailing-token rule flag `Rosé pink` / `Foo #e6194b` while leaving genuine
5882
+ * label words (`Zinfandel`) untouched.
5883
+ */
5884
+ declare function isInvalidColorToken(token: string): boolean;
5885
+ /**
5886
+ * Build an `E_INVALID_COLOR` diagnostic for an intended-but-invalid trailing
5887
+ * color token, or return null if `token` isn't color-like (so it stays label
5888
+ * text). Severity is `warning` so the library degrades gracefully (the value
5889
+ * just keeps the word); the MCP render gate blocks on the code regardless.
5890
+ * Used by `extractColor` to close the trailing-token "silent swallow" gap.
5891
+ */
5892
+ declare function invalidColorDiagnostic(token: string, line: number): DgmoError | null;
5766
5893
  /**
5767
5894
  * Resolves a color name and pushes a warning diagnostic on failure.
5768
5895
  * Returns the hex string for valid names, or `undefined` for unknown
@@ -5865,4 +5992,4 @@ declare function migrateContent(source: string): ContentMigration;
5865
5992
  */
5866
5993
  declare function formatLineDiff(path: string, original: string, migrated: string): string;
5867
5994
 
5868
- export { ALL_CHART_TYPES, ARROW_DIAGNOSTIC_CODES, type Activation, type AirportData, type AncestorInfo, type ArcLink, type ArcNodeGroup, type BLCollapseResult, type BLEdge, type BLGroup, type BLLayoutEdge, type BLLayoutGroup, type BLLayoutNode, type BLLayoutResult, type BLNode, type BlipTrend, type BoundaryTopology, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, CHART_TYPE_DESCRIPTIONS, type ChartDataPoint, type ChartEra, type ChartType$1 as ChartType, type ChartTypeMeta, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapsedMindmapResult, type CollapsedOrgResult, type CollapsedSitemapResult, type CollapsedView, type CompactViewState, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContentMigration, type ContextRelationship, type CreateMapGeoQueryOptions, type CycleEdge, type CycleLayoutEdge, type CycleLayoutNode, type CycleLayoutResult, type CycleNode, type CycleRenderOptions, type D3ExportDimensions, type DecodedDiagramUrl, type DgmoError, type DgmoSeverity, type DiagramSymbols, type Duration, type DurationUnit, ECHART_EXPORT_WIDTH, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EncodeDiagramUrlOptions, type EncodeDiagramUrlResult, type ExpandedActivity, type ExtendedChartType, type FocusOrgResult, type GanttDependency, type GanttEra, type GanttGroup, type GroupRow as GanttGroupRow, type GanttHolidays, type GanttInteractiveOptions, type LaneHeaderRow as GanttLaneHeaderRow, type GanttMarker, type GanttNode, type GanttOptions, type Row as GanttRow, type GanttTask, type TaskRow as GanttTaskRow, type Gazetteer, type GazetteerEntry, type GeoExtent, type GetOrCreateNameResult, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, type ImportSource, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraTagGroup, type InlineSpan, type JourneyMapAnnotation, type JourneyMapInteractiveOptions, type JourneyMapLayout, type JourneyMapPersona, type JourneyMapPhase, type JourneyMapStep, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, LEGEND_GEAR_PILL_W, LEGEND_HEIGHT, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutOptions$1 as LayoutOptions, type LayoutResult$1 as LayoutResult, type LegendCallbacks, type LegendConfig, type LegendControl, type LegendGroupData, type LegendHandle, type LegendLayout, type LegendMode, type LegendPalette, type LegendPosition, type LegendState, type MapCompletionOptions, type MapData, type MapDirectives, type MapEdge, type MapExportDimensions, type MapGeoQuery, type MapLayout, type MapLayoutInset, type MapLayoutLeg, type MapLayoutLegend, type MapLayoutPoi, type MapLayoutRegion, type MapLayoutStretch, type MapPlaceCompletion, type MapPoi, type MapRegion, type MapRegionCompletion, type MapRoute, type MemberVisibility, type MindmapLayoutEdge, type MindmapLayoutNode, type MindmapLayoutResult, type MindmapNode, type MonteCarloResult, type NameEntry, type NearestCity, type NodeDetail, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, type OrgNode, type PaletteColors, type PaletteConfig, type ParseInArrowLabelResult, type ParsedBoxesAndLines, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedCycle, type ParsedERDiagram, type ParsedExtendedChart, type ParsedGantt, type ParsedGraph, type ParsedInfra, type ParsedJourneyMap, type ParsedKanban, type ParsedMap, type ParsedMindmap, type ParsedOrg, type ParsedPert, type ParsedPyramid, type ParsedRaci, type ParsedRing, type ParsedSequenceDgmo, type ParsedSitemap, type ParsedTechRadar, type ParsedVisualization, type ParsedWireframe, type ParticipantType, type PertActivity, type Anchor as PertAnchor, type PertDirection, type PertEdge, type PertGroup, type PertLayoutEdge, type PertLayoutGroup, type PertLayoutNode, type LayoutOverrides as PertLayoutOverrides, type LayoutResult as PertLayoutResult, type PertMilestone, type PertOptions, type PertRenderOptions, type PlacedLabel, type PoiPos, type ProjectedCity, type ProjectionFamily, type PyramidLayer, type QuadrantPosition, RACI_ERROR_CODES, VARIANTS as RACI_VARIANTS, RACI_WARNING_CODES, RECOGNIZED_COLOR_NAMES, RULE_COUNT, type RaciDragSource, type RaciInteractionHandlers, type RaciMarker, type RaciPhase, type RaciRoleAssignment, type RaciTask, type RaciVariant, type ReadFileFn, type RegionName, type RegionNames, type RegionToken, type RelationshipType, type RenderCategory, type RenderStep, type ResolveImportsResult, type ResolvedActivity, type ResolvedEdge, type ResolvedGroup$1 as ResolvedGroup, type ResolvedMap, type ResolvedPert, type ResolvedGroup as ResolvedPertGroup, type ResolvedPoi, type ResolvedRegion, type ResolvedRoute, type ResolvedSchedule, type ResolvedTask, type ResultCard, type ResultTokens, type RingLayer, ScaleContext, type ScatterLabelPoint, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SimulateOptions, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type StateCollapseResult, type TagEntry, type TagGroup, type TechRadarBlip, type TechRadarLayoutPoint, type TechRadarQuadrant, type TechRadarRing, type Theme, type TransformResult, type VisualizationType, type WireframeElement, type WireframeElementType, type WireframeFormFactor, type WireframeLayout, type WireframeLayoutNode, addDurationToDate, albersSkewFallback, analyzePert, applyCollapseProjection, applyGroupOrdering, applyPositionOverrides, atlasPalette, blueprintPalette, buildExtendedChartOption, buildNoteMessageMap, buildRenderSequence, buildSimpleChartOption, buildSimulationContext, buildTagLaneRowList, calculateSchedule, catppuccinPalette, chartTypeParsers, chartTypes, collapseBoxesAndLines, collapseMindmapTree, collapseOrgTree, collapseSitemapTree, collapseStateGroups, collectDiagramRoles, collectTasks, colorNames, completeMapPlaces, completeMapRegions, computeActivations, computeCardArchive, computeCardMove, computeCycleLayout, computeInfra, computeInfraLegendGroups, computeLegendLayout, computeRadarLayout, computeScatterLabelGraphics, computeTimeTicks, contrastText, controlsGroupCapsuleWidth, createMapGeoQuery, decodeDiagramUrl, decodeViewState, displayName, encodeDiagramUrl, encodeViewState, extractSymbols$2 as extractClassSymbols, extractSymbols$1 as extractErSymbols, extractSymbols$3 as extractFlowchartSymbols, extractSymbols as extractInfraSymbols, extractPertSymbols, findUnsafePipePositions, focusOrgTree, formatDateLabel, formatDgmoError, formatLineDiff, getAllChartTypes, getAvailablePalettes, getExtendedChartLegendGroups, getLegendReservedHeight, getOrCreateName, getPalette, getRadarGeometry, getRenderCategory, getSeriesColors, getSimpleChartLegendGroups, groupMessagesBySection, hexToHSL, hexToHSLString, hslToHex, inferParticipantType, inferRoles, isArchiveColumn, isExtendedChartType, isLegacyMetadataLine, isRecognizedColorName, isSequenceBlock, isSequenceNote, isValidHex, knownChartTypeIds, layoutBoxesAndLines, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutGraph, layoutInfra, layoutJourneyMap, layoutMap, layoutMindmap, layoutOrg, layoutPert, layoutSitemap, layoutWireframe, loadMapData, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeMap, looksLikePert, looksLikeSequence, looksLikeSitemap, looksLikeState, makeDgmoError, mapBackgroundColor, mapContentAspect, mapExportDimensions, mapNeutralLandColor, measurePertAnalysisBlock, migrateContent, mix, mulberry32, nord, nordPalette, normalizeName, normalizePertSourceForShare, orderArcNodes, palettes, parseAndLayoutInfra, parseBoxesAndLines, parseC4, parseChart, parseClassDiagram, parseCycle, parseDataRowValues, parseDgmo, parseDgmoChartType, parseERDiagram, parseExtendedChart, parseFirstLine, parseFlowchart, parseGantt, parseInArrowLabel, parseInfra, parseInlineMarkdown, parseJourneyMap, parseKanban, parseMap, parseMindmap, parseOrg, parsePert, parsePyramid, parseRaci, parseRing, parseSequenceDgmo, parseSequenceDgmo as parseSequenceDiagram, parseSitemap, parseState, parseTechRadar, parseTimelineDate, parseVisualization, parseWireframe, cellAppendMarker as raciCellAppendMarker, cellCycle as raciCellCycle, cellRemove as raciCellRemove, cellReplace as raciCellReplace, registerPalette, relayoutPert, render, renderArcDiagram, renderBoxesAndLines, renderBoxesAndLinesForExport, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderCycle, renderCycleForExport, renderERDiagram, renderERDiagramForExport, renderExtendedChartForExport, renderFlowchart, renderFlowchartForExport, renderForExport, renderGantt, renderInfra, renderJourneyMap, renderJourneyMapForExport, renderKanban, renderKanbanForExport, renderLegendD3, renderLegendSvg, renderLegendSvgFromConfig, renderMap, renderMapForExport, renderMindmap, renderMindmapForExport, renderOrg, renderOrgForExport, renderPert, renderPertAnalysisBlock, renderPertForExport, renderPyramid, renderPyramidForExport, renderQuadrant, renderQuadrantFocus, renderQuadrantFocusForExport, renderRaci, renderRaciForExport, renderRing, renderRingForExport, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSlopeChart, renderState, renderStateForExport, renderTechRadar, renderTechRadarForExport, renderTimeline, renderVenn, renderWireframe, renderWordCloud, resolveColor, resolveColorWithDiagnostic, resolveMap, resolveOrgImports, resolveTaskName, rollUpContextRelationships, sampleBetaPert, seriesColors, shade, shapeFill, simulateCanonical, simulateFast, slatePalette, themes, tidewaterPalette, tint, tokyoNightPalette, transformLine, truncateBareUrl, parseDgmo as validate, validateComputed, validateInfra, validateLabelCharacters };
5995
+ export { ALL_CHART_TYPES, ARROW_DIAGNOSTIC_CODES, type Activation, type AirportData, type AncestorInfo, type ArcLink, type ArcNodeGroup, type BLCollapseResult, type BLEdge, type BLGroup, type BLLayoutEdge, type BLLayoutGroup, type BLLayoutNode, type BLLayoutResult, type BLNode, type BlipTrend, type BoundaryTopology, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, CHART_TYPE_DESCRIPTIONS, type ChartDataPoint, type ChartEra, type ChartType$1 as ChartType, type ChartTypeMeta, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type CollapsedMindmapResult, type CollapsedOrgResult, type CollapsedSitemapResult, type CollapsedView, type CompactViewState, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContentMigration, type ContextRelationship, type CreateMapGeoQueryOptions, type CycleEdge, type CycleLayoutEdge, type CycleLayoutNode, type CycleLayoutResult, type CycleNode, type CycleRenderOptions, type D3ExportDimensions, type DecodedDiagramUrl, type DgmoError, type DgmoSeverity, type DiagramSymbols, type Duration, type DurationUnit, ECHART_EXPORT_WIDTH, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EncodeDiagramUrlOptions, type EncodeDiagramUrlResult, type ExpandedActivity, type ExtendedChartType, type FocusOrgResult, type FocusResult, type FocusTarget, type GanttDependency, type GanttEra, type GanttGroup, type GroupRow as GanttGroupRow, type GanttHolidays, type GanttInteractiveOptions, type LaneHeaderRow as GanttLaneHeaderRow, type GanttMarker, type GanttNode, type GanttOptions, type Row as GanttRow, type GanttTask, type TaskRow as GanttTaskRow, type Gazetteer, type GazetteerEntry, type GeoExtent, type GetOrCreateNameResult, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, INVALID_COLOR_CODE, INVALID_CSS_COLOR_HEX, type ImportSource, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraTagGroup, type InlineSpan, type JourneyMapAnnotation, type JourneyMapInteractiveOptions, type JourneyMapLayout, type JourneyMapPersona, type JourneyMapPhase, type JourneyMapStep, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, LEGEND_GEAR_PILL_W, LEGEND_HEIGHT, type LayoutEdge, type LayoutGroup, type LayoutNode, type LayoutOptions$1 as LayoutOptions, type LayoutResult$1 as LayoutResult, type LegendCallbacks, type LegendConfig, type LegendControl, type LegendGroupData, type LegendHandle, type LegendLayout, type LegendMode, type LegendPalette, type LegendPosition, type LegendState, type MapCompletionOptions, type MapData, type MapDirectives, type MapEdge, type MapExportDimensions, type MapGeoQuery, type MapLayout, type MapLayoutInset, type MapLayoutLeg, type MapLayoutLegend, type MapLayoutPoi, type MapLayoutRegion, type MapLayoutStretch, type MapPlaceCompletion, type MapPoi, type MapRegion, type MapRegionCompletion, type MapRoute, type MemberVisibility, type MindmapLayoutEdge, type MindmapLayoutNode, type MindmapLayoutResult, type MindmapNode, type MonteCarloResult, type NameEntry, type NearestCity, type NodeDetail, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, type OrgNode, type PaletteColors, type PaletteConfig, type ParseInArrowLabelResult, type ParsedBoxesAndLines, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedCycle, type ParsedERDiagram, type ParsedExtendedChart, type ParsedGantt, type ParsedGraph, type ParsedInfra, type ParsedJourneyMap, type ParsedKanban, type ParsedMap, type ParsedMindmap, type ParsedOrg, type ParsedPert, type ParsedPyramid, type ParsedRaci, type ParsedRing, type ParsedSequenceDgmo, type ParsedSitemap, type ParsedTechRadar, type ParsedVisualization, type ParsedWireframe, type ParticipantType, type PertActivity, type Anchor as PertAnchor, type PertDirection, type PertEdge, type PertGroup, type PertLayoutEdge, type PertLayoutGroup, type PertLayoutNode, type LayoutOverrides as PertLayoutOverrides, type LayoutResult as PertLayoutResult, type PertMilestone, type PertOptions, type PertRenderOptions, type PlacedLabel, type PoiPos, type ProjectedCity, type ProjectionFamily, type PyramidLayer, type QuadrantPosition, RACI_ERROR_CODES, VARIANTS as RACI_VARIANTS, RACI_WARNING_CODES, RECOGNIZED_COLOR_NAMES, RULE_COUNT, type RaciDragSource, type RaciInteractionHandlers, type RaciMarker, type RaciPhase, type RaciRoleAssignment, type RaciTask, type RaciVariant, type ReadFileFn, type RegionName, type RegionNames, type RegionToken, type RelationshipType, type RenderCategory, type RenderStep, type ResolveImportsResult, type ResolvedActivity, type ResolvedEdge, type ResolvedGroup$1 as ResolvedGroup, type ResolvedMap, type ResolvedPert, type ResolvedGroup as ResolvedPertGroup, type ResolvedPoi, type ResolvedRegion, type ResolvedRoute, type ResolvedSchedule, type ResolvedTask, type ResultCard, type ResultTokens, type RingLayer, ScaleContext, type ScatterLabelPoint, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SimulateOptions, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type StateCollapseResult, type TagEntry, type TagGroup, type TechRadarBlip, type TechRadarLayoutPoint, type TechRadarQuadrant, type TechRadarRing, type Theme, type TransformResult, type VisualizationType, type WireframeElement, type WireframeElementType, type WireframeFormFactor, type WireframeLayout, type WireframeLayoutNode, addDurationToDate, albersSkewFallback, analyzePert, applyCollapseProjection, applyGroupOrdering, applyPositionOverrides, atlasPalette, autoTagColorCycle, blueprintPalette, buildExtendedChartOption, buildNoteMessageMap, buildRenderSequence, buildSimpleChartOption, buildSimulationContext, buildTagLaneRowList, calculateSchedule, catppuccinPalette, chartTypeParsers, chartTypes, collapseBoxesAndLines, collapseMindmapTree, collapseOrgTree, collapseSitemapTree, collapseStateGroups, collectDiagramRoles, collectTasks, colorNames, completeMapPlaces, completeMapRegions, computeActivations, computeCardArchive, computeCardMove, computeCycleLayout, computeInfra, computeInfraLegendGroups, computeLegendLayout, computeRadarLayout, computeScatterLabelGraphics, computeTimeTicks, contrastText, controlsGroupCapsuleWidth, createMapGeoQuery, decodeDiagramUrl, decodeViewState, displayName, encodeDiagramUrl, encodeViewState, extractSymbols$2 as extractClassSymbols, extractSymbols$1 as extractErSymbols, extractSymbols$3 as extractFlowchartSymbols, extractSymbols as extractInfraSymbols, extractPertSymbols, findUnsafePipePositions, focusBoxesAndLines, focusOrgTree, formatDateLabel, formatDgmoError, formatLineDiff, getAllChartTypes, getAvailablePalettes, getExtendedChartLegendGroups, getLegendReservedHeight, getOrCreateName, getPalette, getRadarGeometry, getRenderCategory, getSeriesColors, getSimpleChartLegendGroups, groupMessagesBySection, hexToHSL, hexToHSLString, hslToHex, inferParticipantType, inferRoles, invalidColorDiagnostic, isArchiveColumn, isExtendedChartType, isInvalidColorToken, isLegacyMetadataLine, isRecognizedColorName, isSequenceBlock, isSequenceNote, isValidHex, knownChartTypeIds, layoutBoxesAndLines, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutGraph, layoutInfra, layoutJourneyMap, layoutMap, layoutMindmap, layoutOrg, layoutPert, layoutSitemap, layoutWireframe, loadMapData, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeMap, looksLikePert, looksLikeSequence, looksLikeSitemap, looksLikeState, makeDgmoError, mapBackgroundColor, mapContentAspect, mapExportDimensions, mapNeutralLandColor, measurePertAnalysisBlock, migrateContent, mix, mulberry32, nearestNamedColor, nord, nordPalette, normalizeName, normalizePertSourceForShare, orderArcNodes, palettes, parseAndLayoutInfra, parseBoxesAndLines, parseC4, parseChart, parseClassDiagram, parseCycle, parseDataRowValues, parseDgmo, parseDgmoChartType, parseERDiagram, parseExtendedChart, parseFirstLine, parseFlowchart, parseGantt, parseInArrowLabel, parseInfra, parseInlineMarkdown, parseJourneyMap, parseKanban, parseMap, parseMindmap, parseOrg, parsePert, parsePyramid, parseRaci, parseRing, parseSequenceDgmo, parseSequenceDgmo as parseSequenceDiagram, parseSitemap, parseState, parseTechRadar, parseTimelineDate, parseVisualization, parseWireframe, cellAppendMarker as raciCellAppendMarker, cellCycle as raciCellCycle, cellRemove as raciCellRemove, cellReplace as raciCellReplace, registerPalette, relayoutPert, render, renderArcDiagram, renderBoxesAndLines, renderBoxesAndLinesForExport, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderCycle, renderCycleForExport, renderERDiagram, renderERDiagramForExport, renderExtendedChartForExport, renderFlowchart, renderFlowchartForExport, renderForExport, renderGantt, renderInfra, renderJourneyMap, renderJourneyMapForExport, renderKanban, renderKanbanForExport, renderLegendD3, renderLegendSvg, renderLegendSvgFromConfig, renderMap, renderMapForExport, renderMindmap, renderMindmapForExport, renderOrg, renderOrgForExport, renderPert, renderPertAnalysisBlock, renderPertForExport, renderPyramid, renderPyramidForExport, renderQuadrant, renderQuadrantFocus, renderQuadrantFocusForExport, renderRaci, renderRaciForExport, renderRing, renderRingForExport, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSlopeChart, renderState, renderStateForExport, renderTechRadar, renderTechRadarForExport, renderTimeline, renderVenn, renderWireframe, renderWordCloud, resolveColor, resolveColorWithDiagnostic, resolveMap, resolveOrgImports, resolveTaskName, rollUpContextRelationships, sampleBetaPert, seriesColors, shade, shapeFill, simulateCanonical, simulateFast, slatePalette, themes, tidewaterPalette, tint, tokyoNightPalette, transformLine, truncateBareUrl, parseDgmo as validate, validateComputed, validateInfra, validateLabelCharacters };