@diagrammo/dgmo 0.62.0 → 0.63.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 (59) hide show
  1. package/dist/advanced.d.ts +70 -1
  2. package/dist/advanced.js +104 -27
  3. package/dist/auto.js +99 -99
  4. package/dist/block.js +9 -9
  5. package/dist/chart-meta.js +2 -2
  6. package/dist/{charts-d3-3WMDA5Z5.js → charts-d3-M76E4TZU.js} +4 -4
  7. package/dist/{chunk-4C3BTTOL.js → chunk-2LN5C6FH.js} +2 -2
  8. package/dist/{chunk-FXLGBUIQ.js → chunk-34HQALZ5.js} +2 -2
  9. package/dist/{chunk-3PVUGECM.js → chunk-AA4M6F2P.js} +2 -2
  10. package/dist/{chunk-XJZCXNWR.js → chunk-BGITRLTR.js} +2 -2
  11. package/dist/{chunk-3OLO2MZ6.js → chunk-BPINSP65.js} +2 -2
  12. package/dist/{chunk-DZZWR6GT.js → chunk-DUHKYKI7.js} +2 -2
  13. package/dist/{chunk-536EBUPG.js → chunk-EOYPX6SF.js} +11 -3
  14. package/dist/{chunk-7FTGNJQ2.js → chunk-GCVTU64J.js} +17 -5
  15. package/dist/{chunk-CQ7Y3O67.js → chunk-KHTKMVKT.js} +2 -2
  16. package/dist/{chunk-7BJQUII6.js → chunk-KK5LQIN7.js} +2 -2
  17. package/dist/{chunk-L43KTQTW.js → chunk-L26ZAPNJ.js} +2 -2
  18. package/dist/{chunk-LRKGF7RN.js → chunk-L4B4GRVS.js} +2 -2
  19. package/dist/{chunk-OIK6Y2EJ.js → chunk-L57TSE53.js} +2 -2
  20. package/dist/{chunk-LFAQ4BLZ.js → chunk-MR2XKW35.js} +2 -2
  21. package/dist/{chunk-7QCYHZVO.js → chunk-NQH2Q2RR.js} +2 -2
  22. package/dist/{chunk-PFGJ7SCM.js → chunk-PUFWYDWP.js} +2 -2
  23. package/dist/{chunk-DHIBVN2D.js → chunk-QRHA7WIU.js} +34 -32
  24. package/dist/chunk-RU2HHHYA.js +23 -0
  25. package/dist/{chunk-SMHTYVMK.js → chunk-RZRMSNO7.js} +2 -2
  26. package/dist/{chunk-65QX6LYT.js → chunk-SJGZSPSW.js} +9 -3
  27. package/dist/{chunk-HJ6TMHQG.js → chunk-SV7F363F.js} +2 -2
  28. package/dist/{chunk-YJCILMEA.js → chunk-U22TKD3L.js} +2 -2
  29. package/dist/{chunk-PJDX4IKR.js → chunk-WMHHNK44.js} +2 -2
  30. package/dist/{chunk-4BEAHH6G.js → chunk-XXDEQSW4.js} +2 -2
  31. package/dist/{chunk-NEV5IW33.js → chunk-YVI3JL3S.js} +2 -2
  32. package/dist/{chunk-FVYHDZ6Q.js → chunk-ZXLXAOCM.js} +2 -2
  33. package/dist/{dgmo-router-Z5N6QLIC.js → dgmo-router-QWRF7ZKM.js} +3 -3
  34. package/dist/element.js +100 -100
  35. package/dist/{flowchart-renderer-XFDCX7MZ.js → flowchart-renderer-BCVCIZHF.js} +3 -3
  36. package/dist/index.js +9 -9
  37. package/dist/{parser-SRUPRH77.js → parser-5WIZGKNE.js} +2 -2
  38. package/dist/{renderer-CXRSD26Q.js → renderer-4VDSMPYU.js} +4 -4
  39. package/dist/{renderer-62FFDWMY.js → renderer-5HYDLCMX.js} +3 -3
  40. package/dist/{renderer-JSFWNV37.js → renderer-5SN6N5VN.js} +3 -3
  41. package/dist/{renderer-XSHOMUJQ.js → renderer-726UVOKE.js} +3 -3
  42. package/dist/{renderer-A5GFW2XH.js → renderer-CXAL2FYB.js} +5 -5
  43. package/dist/{renderer-VYMTBSF4.js → renderer-HPQJRSON.js} +3 -3
  44. package/dist/{renderer-GESKWINV.js → renderer-K3TH5PP7.js} +4 -4
  45. package/dist/{renderer-4RQ5PGHY.js → renderer-KHVAM4IY.js} +3 -3
  46. package/dist/{renderer-2PGIIOFN.js → renderer-KKNXTTFE.js} +5 -5
  47. package/dist/{renderer-IG5PQXEM.js → renderer-PKST5W6U.js} +4 -4
  48. package/dist/{renderer-6QW5OAJG.js → renderer-TTMBG2N6.js} +2 -2
  49. package/dist/{renderer-AS6LLDZM.js → renderer-XDL6PRLN.js} +3 -3
  50. package/dist/{renderer-63MLWS6L.js → renderer-XIJO7DYS.js} +3 -3
  51. package/dist/{resolver-ZLYSMILY.js → resolver-B3TXWNWF.js} +3 -3
  52. package/dist/{state-renderer-GBHDOEXR.js → state-renderer-MCWCZ76U.js} +3 -3
  53. package/fonts/Inter-Bold.ttf +0 -0
  54. package/fonts/Inter-Bold.woff2 +0 -0
  55. package/fonts/Inter-Regular.ttf +0 -0
  56. package/fonts/Inter-Regular.woff2 +0 -0
  57. package/fonts/coverage.json +1 -0
  58. package/package.json +9 -4
  59. package/dist/chunk-NZ5QVASG.js +0 -20
@@ -6699,4 +6699,73 @@ declare function resolveColorWithDiagnostic(color: string, line: number, diagnos
6699
6699
  /** @deprecated Use getSeriesColors(palette) from '@/lib/palettes' instead. */
6700
6700
  declare const seriesColors: string[];
6701
6701
 
6702
- export { ARROW_DIAGNOSTIC_CODES, type Activation, type AncestorInfo, type ArcLink, type ArcNodeGroup, type BLCollapseResult, type BLEdge, type BLGroup, type BLLayoutEdge, type BLLayoutGroup, type BLLayoutNode, type BLLayoutResult, type BLNode, type BlipTrend, type BlockCell, type BlockGrid, type BlockLayoutItem, type BlockLayoutResult, type BlockNode, type BlockOptions, type BodyFigure, type BodyOptions, type BodyPart, type BracketMode, type BracketSide, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, type ChartDataPoint, type ChartEra, type ChartType$1 as ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type ClockEntry, type ClockFace, type ClockZoneKind, type CollapsedMindmapResult, type CollapsedOrgResult, type CollapsedSitemapResult, type CollapsedView, CompactViewState, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type CountUnits, type CreateMapGeoQueryOptions, type CycleEdge, type CycleLayoutEdge, type CycleLayoutNode, type CycleLayoutResult, type CycleNode, type CycleRenderOptions, type D3ExportDimensions, DgmoError, type DiagramSymbols, type Duration, type DurationUnit, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EventLineEra, type EventLineEvent, type EventLineFocus, type EventLineOptions, type ExpandedActivity, type ExtendedChartType, type FamilyChild, type FamilyChildEdge, type FamilyLayoutNode, type FamilyLayoutResult, type FamilyMarriageBar, type FamilyPerson, type FamilySex, type FamilyUnion, 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, GeoExtent, type GetOrCreateNameResult, type GoalMode, type GoalOptions, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, INVALID_COLOR_CODE, INVALID_CSS_COLOR_HEX, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraTagGroup, type InlineSpan, type JourneyMapAnnotation, type JourneyMapInteractiveOptions, type JourneyMapLayout, type JourneyMapPersona, type JourneyMapPhase, type JourneyMapStep, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, LEGEND_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, MapData, type MapExportDimensions, type MapGeoQuery, type MapLayout, type MapLayoutInset, type MapLayoutLeg, MapLayoutLegend, type MapLayoutPoi, type MapLayoutRegion, type MapLayoutStretch, type MemberVisibility, type MindmapLayoutEdge, type MindmapLayoutNode, type MindmapLayoutResult, type MindmapNode, type MonteCarloResult, type NameEntry, type NearestCity, type NodeDetail, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, PaletteColors, PaletteConfig, type ParseInArrowLabelResult, type ParsedBlock, type ParsedBody, type ParsedBoxesAndLines, type ParsedBracket, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedClock, type ParsedCountdown, type ParsedCycle, type ParsedERDiagram, type ParsedEventLine, type ParsedExtendedChart, type ParsedFamily, type ParsedGantt, type ParsedGoal, type ParsedGraph, type ParsedInfra, type ParsedJourneyMap, type ParsedKanban, type ParsedLiveLink, ParsedMap, type ParsedMindmap, ParsedOrg, type ParsedPert, type ParsedPyramid, ParsedRaci, type ParsedRing, type ParsedSequenceDgmo, type ParsedSitemap, type ParsedSketch, type ParsedSwimlane, type ParsedTechRadar, type ParsedTreemap, type ParsedVersionControl, type ParsedVisualization, type ParsedWireframe, type ParticipantType, type PertActivity, type Anchor as PertAnchor, type PertDirection, type PertEdge, type PertGroup, type PertLayoutEdge, type PertLayoutGroup, type PertLayoutNode, type LayoutOverrides as PertLayoutOverrides, type LayoutResult as PertLayoutResult, type PertMilestone, type PertOptions, type PertRenderOptions, type PlaceResolution, type PlacedLabel, type ProjectedCity, type PyramidLayer, type QuadrantPosition, RACI_ERROR_CODES, VARIANTS as RACI_VARIANTS, RACI_WARNING_CODES, RECOGNIZED_COLOR_NAMES, RULE_COUNT, type RaciDragSource, type RaciInteractionHandlers, RaciMarker, RaciTask, RaciVariant, type RadialCell, type RadialLayoutResult, type RawMatch, type RawSeed, type RecurRule, type RegionToken, type RelationshipType, type RenderStep, type ResolvedActivity, type ResolvedGroup$1 as ResolvedGroup, ResolvedMap, type ResolvedPert, type ResolvedGroup as ResolvedPertGroup, type ResolvedSchedule, type ResolvedTask, type ResultCard, type ResultTokens, type RingLayer, type RoundMode, SKETCH_FOOT_H, SKETCH_FOOT_W, SKETCH_GEOMETRY, SKETCH_HALF_SLOT_X, SKETCH_HALF_SLOT_Y, SKETCH_SEP, SKETCH_SHAPE_KINDS, SKETCH_SLOT_X, SKETCH_SLOT_Y, ScaleContext, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SimulateOptions, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type SketchAt, type SketchAutoLayoutFlags, type SketchBox, type SketchCollapseResult, type SketchEdge, type SketchEdgeGeometry, type SketchEdgeHeads, type SketchLayout, type SketchLayoutBox, type SketchLayoutNode, type SketchLayoutOptions, type SketchNode, type SketchOptions, type SketchRenderOptions, type SketchShapeKind, type StateCollapseResult, type SwimEdge, type SwimEvent, type SwimLane, type SwimNode, type SwimPhase, type SwimShape, type LayoutBand as SwimlaneLayoutBand, type SwimlaneLayoutResult, TagEntry, TagGroup, type TechRadarBlip, type TechRadarLayoutPoint, type TechRadarQuadrant, type TechRadarRing, type TreemapCell, type TreemapColorMode, type TreemapLayoutResult, type TreemapNode, type TreemapOptions, type VCBranch, type VCNode, type VCNote, type VCOptions, type VCRef, type VisualizationType, type WireframeElement, type WireframeElementType, type WireframeFormFactor, type WireframeLayout, type WireframeLayoutNode, type WorkWindow, type ZoneSuggestion, addDurationToDate, albersSkewFallback, analyzePert, applyCollapseProjection, applyGroupOrdering, applyPositionOverrides, atlasPalette, authoredCollapsedIds, blueprintPalette, buildNoteMessageMap, buildRenderSequence, buildSimulationContext, buildTagLaneRowList, calculateSchedule, catppuccinPalette, clearEventLineMuted, collapseBoxesAndLines, collapseMindmapTree, collapseOrgTree, collapseSitemapTree, collapseSketch, collapseStateGroups, collectDiagramRoles, collectTasks, colorNames, computeActivations, computeCardArchive, computeCardMove, computeCycleLayout, computeInfra, computeInfraLegendGroups, computeLegendLayout, computeRadarLayout, computeTimeTicks, controlsGroupCapsuleWidth, createMapGeoQuery, displayName, extractSymbols$2 as extractClassSymbols, extractSymbols$1 as extractErSymbols, extractSymbols$3 as extractFlowchartSymbols, extractSymbols as extractInfraSymbols, extractPertSymbols, focusBoxesAndLines, focusEventLine, focusOrgTree, formatDateLabel, formatOffsetLabel, getExtendedChartLegendGroups, getLegendReservedHeight, getOrCreateName, getRadarGeometry, getSimpleChartLegendGroups, groupMessagesBySection, inferParticipantType, inferRoles, invalidColorDiagnostic, isArchiveColumn, isInvalidColorToken, isRecognizedColorName, isSequenceBlock, isSequenceNote, isSketchShapeKind, layoutBlock, layoutBoxesAndLines, layoutBracket, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutFamily, layoutGraph, layoutInfra, layoutJourneyMap, layoutMap, layoutMindmap, layoutOrg, layoutPert, layoutSitemap, layoutSketch, layoutSwimlane, layoutTreemap, layoutTreemapRadial, layoutWireframe, loadMapData, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeMap, looksLikePert, looksLikeSequence, looksLikeSitemap, looksLikeState, mapBackgroundColor, mapContentAspect, mapExportDimensions, mapNeutralLandColor, measurePertAnalysisBlock, mulberry32, nearestNamedColor, nord, nordPalette, normalizeName, normalizePlace, orderArcNodes, parseAndLayoutInfra, parseBlock, parseBody, parseBoxesAndLines, parseBracket, parseC4, parseChart, parseClassDiagram, parseClock, parseCountdown, parseCycle, parseDataRowValues, parseERDiagram, parseEventLine, parseExtendedChart, parseFamily, parseFixedOffset, parseFlowchart, parseGantt, parseGoal, parseInArrowLabel, parseInfra, parseInlineMarkdown, parseJourneyMap, parseKanban, parseLiveLink, parseMap, parseMindmap, parsePert, parsePyramid, parseRing, parseSequenceDgmo, parseSequenceDgmo as parseSequenceDiagram, parseSitemap, parseSketch, parseState, parseSwimlane, parseTechRadar, parseTimelineDate, parseTreemap, parseVersionControl, parseVisualization, parseWireframe, cellAppendMarker as raciCellAppendMarker, cellCycle as raciCellCycle, cellRemove as raciCellRemove, cellReplace as raciCellReplace, relayoutPert, render, renderArcDiagram, renderBlock, renderBlockForExport, renderBody, renderBodyForExport, renderBoxesAndLines, renderBoxesAndLinesForExport, renderBracket, renderBracketForExport, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderClock, renderClockForExport, renderCountdown, renderCountdownForExport, renderCycle, renderCycleForExport, renderERDiagram, renderERDiagramForExport, renderEventLine, renderEventLineForExport, renderFamily, renderFamilyForExport, renderFlowchart, renderFlowchartForExport, renderGantt, renderGoal, renderGoalForExport, renderInfra, renderJourneyMap, renderJourneyMapForExport, renderKanban, renderKanbanForExport, renderLegendD3, renderLegendSvg, renderLegendSvgFromConfig, renderLiveLinkCard, renderMap, renderMapForExport, renderMindmap, renderMindmapForExport, renderOrg, renderOrgForExport, renderPert, renderPertAnalysisBlock, renderPertForExport, renderPyramid, renderPyramidForExport, renderQuadrant, renderQuadrantFocus, renderQuadrantFocusForExport, renderRaci, renderRaciForExport, renderRing, renderRingForExport, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSketch, renderSketchForExport, renderSlopeChart, renderState, renderStateForExport, renderSwimlaneForExport, renderTechRadar, renderTechRadarForExport, renderTimeline, renderTreemap, renderTreemapForExport, renderTreemapRadial, renderTreemapRadialForExport, renderVenn, renderVersionControl, renderVersionControlForExport, renderWireframe, renderWordCloud, resolveColor, resolveColorWithDiagnostic, resolveMap, resolvePlace, resolveTaskName, rollUpContextRelationships, sampleBetaPert, searchZones, seriesColors, simulateCanonical, simulateFast, sketchEdgeGeometry, sketchSlotToPx, slatePalette, startClocks, startCountdowns, targetToMs, tickClocks, tickCountdowns, tidewaterPalette, tokyoNightPalette, truncateBareUrl, validateComputed, validateInfra, validateLabelCharacters };
6702
+ /**
6703
+ * Which characters the bundled Inter cannot draw.
6704
+ *
6705
+ * Inter covers Latin, Greek and Cyrillic. It has no CJK, Devanagari, Tamil,
6706
+ * Arabic, Hebrew or Thai — and never did, upstream included. In a browser that
6707
+ * is harmless: `FONT_FAMILY` ends in `system-ui, …, sans-serif` and the browser
6708
+ * walks that chain per character, so a Japanese reader sees Japanese.
6709
+ *
6710
+ * 🔴 When rasterising it is not harmless. resvg resolves the whole family chain
6711
+ * against the fonts it was given, so text in a script the bundled font lacks
6712
+ * falls back to whatever system fonts resvg loaded — and if it loaded none, it
6713
+ * draws NOTHING. Not a .notdef box: nothing, silently, exit code 0. Measured
6714
+ * 2026-08-07 on `@diagrammo/dgmo-cli` 0.62.3 — a bar chart labelled 日本語
6715
+ * rasterised to pixels identical to one labelled with a Private Use codepoint
6716
+ * that exists in no font at all.
6717
+ *
6718
+ * That is why `loadSystemFonts` is now always on at both rasterising call sites.
6719
+ * This module covers what that fix cannot: a machine with no font for the script
6720
+ * — a bare CI container, most Docker images — still draws nothing, and the
6721
+ * output is silently wrong rather than loudly broken. So a diagram carrying
6722
+ * characters outside the bundled coverage is a PORTABILITY warning: it renders
6723
+ * here because this machine happens to have a font, and may not render there.
6724
+ *
6725
+ * Coverage is read from `fonts/coverage.json`, generated by
6726
+ * `scripts/build-fonts.mjs` from the real subset output — never hand-written,
6727
+ * so it cannot drift from the bytes actually shipped.
6728
+ */
6729
+ /** A closed codepoint range, `[start, end]` inclusive. */
6730
+ type CodepointRange = readonly [number, number];
6731
+ /** What `fonts/coverage.json` holds. */
6732
+ interface FontCoverage {
6733
+ /** Ranges the built TTF actually contains, ascending and non-overlapping. */
6734
+ readonly ranges: readonly CodepointRange[];
6735
+ }
6736
+ /** One run of characters the bundled font cannot draw. */
6737
+ interface UncoveredRun {
6738
+ /** The characters themselves, deduplicated, in first-seen order. */
6739
+ readonly characters: string;
6740
+ /** A human-readable guess at the script, for the message. */
6741
+ readonly script: string;
6742
+ /** How many distinct codepoints in this run. */
6743
+ readonly count: number;
6744
+ }
6745
+ /**
6746
+ * Pull the drawable text out of a rendered SVG.
6747
+ *
6748
+ * Reads `<text>` and `<tspan>` content rather than the diagram source, because
6749
+ * the source also holds directives, colour names and chart-type keywords that
6750
+ * are never drawn — warning about a character in a line nobody sees would be
6751
+ * noise. Entities are decoded, since `&amp;` reaches the font as `&`.
6752
+ */
6753
+ declare function textFromSvg(svg: string): string;
6754
+ /**
6755
+ * Group the characters of `text` that the bundled font cannot draw, by script.
6756
+ *
6757
+ * Control characters and whitespace are ignored — they are never drawn and a
6758
+ * newline is not a coverage gap.
6759
+ */
6760
+ declare function uncoveredCharacters(text: string, coverage: FontCoverage): readonly UncoveredRun[];
6761
+ /**
6762
+ * The warning a rasterising caller should print, or `undefined` when every
6763
+ * character is covered.
6764
+ *
6765
+ * Phrased as portability rather than failure, because with system fonts loaded
6766
+ * it usually HAS rendered on this machine — the risk is the next machine. It
6767
+ * never says "will not render", which would be wrong here and ignored there.
6768
+ */
6769
+ declare function fontPortabilityWarning(runs: readonly UncoveredRun[]): string | undefined;
6770
+
6771
+ export { ARROW_DIAGNOSTIC_CODES, type Activation, type AncestorInfo, type ArcLink, type ArcNodeGroup, type BLCollapseResult, type BLEdge, type BLGroup, type BLLayoutEdge, type BLLayoutGroup, type BLLayoutNode, type BLLayoutResult, type BLNode, type BlipTrend, type BlockCell, type BlockGrid, type BlockLayoutItem, type BlockLayoutResult, type BlockNode, type BlockOptions, type BodyFigure, type BodyOptions, type BodyPart, type BracketMode, type BracketSide, type C4ArrowType, type C4DeploymentNode, type C4Element, type C4ElementType, type C4Group, type C4LayoutBoundary, type C4LayoutEdge, type C4LayoutNode, type C4LayoutResult, type C4LegendEntry, type C4LegendGroup, type C4Relationship, type C4Shape, type C4TagEntry, type C4TagGroup, type ChartDataPoint, type ChartEra, type ChartType$1 as ChartType, type ClassLayoutEdge, type ClassLayoutNode, type ClassLayoutResult, type ClassMember, type ClassModifier, type ClassNode, type ClassRelationship, type ClockEntry, type ClockFace, type ClockZoneKind, type CodepointRange, type CollapsedMindmapResult, type CollapsedOrgResult, type CollapsedSitemapResult, type CollapsedView, CompactViewState, type ComputedInfraEdge, type ComputedInfraModel, type ComputedInfraNode, type ContextRelationship, type CountUnits, type CreateMapGeoQueryOptions, type CycleEdge, type CycleLayoutEdge, type CycleLayoutNode, type CycleLayoutResult, type CycleNode, type CycleRenderOptions, type D3ExportDimensions, DgmoError, type DiagramSymbols, type Duration, type DurationUnit, type ERCardinality, type ERColumn, type ERConstraint, type ERLayoutEdge, type ERLayoutNode, type ERLayoutResult, type ERRelationship, type ERTable, type ElseIfBranch, type EventLineEra, type EventLineEvent, type EventLineFocus, type EventLineOptions, type ExpandedActivity, type ExtendedChartType, type FamilyChild, type FamilyChildEdge, type FamilyLayoutNode, type FamilyLayoutResult, type FamilyMarriageBar, type FamilyPerson, type FamilySex, type FamilyUnion, type FocusOrgResult, type FocusResult, type FocusTarget, type FontCoverage, type GanttDependency, type GanttEra, type GanttGroup, type GroupRow as GanttGroupRow, type GanttHolidays, type GanttInteractiveOptions, type LaneHeaderRow as GanttLaneHeaderRow, type GanttMarker, type GanttNode, type GanttOptions, type Row as GanttRow, type GanttTask, type TaskRow as GanttTaskRow, GeoExtent, type GetOrCreateNameResult, type GoalMode, type GoalOptions, type GraphDirection, type GraphEdge, type GraphGroup, type GraphNode, type GraphShape, INFRA_BEHAVIOR_KEYS, INVALID_COLOR_CODE, INVALID_CSS_COLOR_HEX, type InfraAvailabilityPercentiles, type InfraBehaviorKey, type InfraCbState, type InfraComputeParams, type InfraDiagnostic, type InfraEdge, type InfraGroup, type InfraLatencyPercentiles, type InfraLayoutEdge, type InfraLayoutGroup, type InfraLayoutNode, type InfraLayoutResult, type InfraLegendGroup, type InfraNode, type InfraPlaybackState, type InfraProperty, type InfraRole, type InfraTagGroup, type InlineSpan, type JourneyMapAnnotation, type JourneyMapInteractiveOptions, type JourneyMapLayout, type JourneyMapPersona, type JourneyMapPhase, type JourneyMapStep, type KanbanCard, type KanbanColumn, type KanbanTagEntry, type KanbanTagGroup, LEGEND_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, MapData, type MapExportDimensions, type MapGeoQuery, type MapLayout, type MapLayoutInset, type MapLayoutLeg, MapLayoutLegend, type MapLayoutPoi, type MapLayoutRegion, type MapLayoutStretch, type MemberVisibility, type MindmapLayoutEdge, type MindmapLayoutNode, type MindmapLayoutResult, type MindmapNode, type MonteCarloResult, type NameEntry, type NearestCity, type NodeDetail, type OrgContainerBounds, type OrgLayoutEdge, type OrgLayoutNode, type OrgLayoutResult, PaletteColors, PaletteConfig, type ParseInArrowLabelResult, type ParsedBlock, type ParsedBody, type ParsedBoxesAndLines, type ParsedBracket, type ParsedC4, type ParsedChart, type ParsedClassDiagram, type ParsedClock, type ParsedCountdown, type ParsedCycle, type ParsedERDiagram, type ParsedEventLine, type ParsedExtendedChart, type ParsedFamily, type ParsedGantt, type ParsedGoal, type ParsedGraph, type ParsedInfra, type ParsedJourneyMap, type ParsedKanban, type ParsedLiveLink, ParsedMap, type ParsedMindmap, ParsedOrg, type ParsedPert, type ParsedPyramid, ParsedRaci, type ParsedRing, type ParsedSequenceDgmo, type ParsedSitemap, type ParsedSketch, type ParsedSwimlane, type ParsedTechRadar, type ParsedTreemap, type ParsedVersionControl, type ParsedVisualization, type ParsedWireframe, type ParticipantType, type PertActivity, type Anchor as PertAnchor, type PertDirection, type PertEdge, type PertGroup, type PertLayoutEdge, type PertLayoutGroup, type PertLayoutNode, type LayoutOverrides as PertLayoutOverrides, type LayoutResult as PertLayoutResult, type PertMilestone, type PertOptions, type PertRenderOptions, type PlaceResolution, type PlacedLabel, type ProjectedCity, type PyramidLayer, type QuadrantPosition, RACI_ERROR_CODES, VARIANTS as RACI_VARIANTS, RACI_WARNING_CODES, RECOGNIZED_COLOR_NAMES, RULE_COUNT, type RaciDragSource, type RaciInteractionHandlers, RaciMarker, RaciTask, RaciVariant, type RadialCell, type RadialLayoutResult, type RawMatch, type RawSeed, type RecurRule, type RegionToken, type RelationshipType, type RenderStep, type ResolvedActivity, type ResolvedGroup$1 as ResolvedGroup, ResolvedMap, type ResolvedPert, type ResolvedGroup as ResolvedPertGroup, type ResolvedSchedule, type ResolvedTask, type ResultCard, type ResultTokens, type RingLayer, type RoundMode, SKETCH_FOOT_H, SKETCH_FOOT_W, SKETCH_GEOMETRY, SKETCH_HALF_SLOT_X, SKETCH_HALF_SLOT_Y, SKETCH_SEP, SKETCH_SHAPE_KINDS, SKETCH_SLOT_X, SKETCH_SLOT_Y, ScaleContext, type SectionMessageGroup, type SequenceBlock, type SequenceElement, type SequenceGroup, type SequenceMessage, type SequenceNote, type SequenceParticipant, type SequenceRenderOptions, type SequenceSection, type SimulateOptions, type SitemapContainerBounds, type SitemapDirection, type SitemapEdge, type SitemapLayoutEdge, type SitemapLayoutNode, type SitemapLayoutResult, type SitemapLegendEntry, type SitemapLegendGroup, type SitemapNode, type SketchAt, type SketchAutoLayoutFlags, type SketchBox, type SketchCollapseResult, type SketchEdge, type SketchEdgeGeometry, type SketchEdgeHeads, type SketchLayout, type SketchLayoutBox, type SketchLayoutNode, type SketchLayoutOptions, type SketchNode, type SketchOptions, type SketchRenderOptions, type SketchShapeKind, type StateCollapseResult, type SwimEdge, type SwimEvent, type SwimLane, type SwimNode, type SwimPhase, type SwimShape, type LayoutBand as SwimlaneLayoutBand, type SwimlaneLayoutResult, TagEntry, TagGroup, type TechRadarBlip, type TechRadarLayoutPoint, type TechRadarQuadrant, type TechRadarRing, type TreemapCell, type TreemapColorMode, type TreemapLayoutResult, type TreemapNode, type TreemapOptions, type UncoveredRun, type VCBranch, type VCNode, type VCNote, type VCOptions, type VCRef, type VisualizationType, type WireframeElement, type WireframeElementType, type WireframeFormFactor, type WireframeLayout, type WireframeLayoutNode, type WorkWindow, type ZoneSuggestion, addDurationToDate, albersSkewFallback, analyzePert, applyCollapseProjection, applyGroupOrdering, applyPositionOverrides, atlasPalette, authoredCollapsedIds, blueprintPalette, buildNoteMessageMap, buildRenderSequence, buildSimulationContext, buildTagLaneRowList, calculateSchedule, catppuccinPalette, clearEventLineMuted, collapseBoxesAndLines, collapseMindmapTree, collapseOrgTree, collapseSitemapTree, collapseSketch, collapseStateGroups, collectDiagramRoles, collectTasks, colorNames, computeActivations, computeCardArchive, computeCardMove, computeCycleLayout, computeInfra, computeInfraLegendGroups, computeLegendLayout, computeRadarLayout, computeTimeTicks, controlsGroupCapsuleWidth, createMapGeoQuery, displayName, extractSymbols$2 as extractClassSymbols, extractSymbols$1 as extractErSymbols, extractSymbols$3 as extractFlowchartSymbols, extractSymbols as extractInfraSymbols, extractPertSymbols, focusBoxesAndLines, focusEventLine, focusOrgTree, fontPortabilityWarning, formatDateLabel, formatOffsetLabel, getExtendedChartLegendGroups, getLegendReservedHeight, getOrCreateName, getRadarGeometry, getSimpleChartLegendGroups, groupMessagesBySection, inferParticipantType, inferRoles, invalidColorDiagnostic, isArchiveColumn, isInvalidColorToken, isRecognizedColorName, isSequenceBlock, isSequenceNote, isSketchShapeKind, layoutBlock, layoutBoxesAndLines, layoutBracket, layoutC4Components, layoutC4Containers, layoutC4Context, layoutC4Deployment, layoutClassDiagram, layoutERDiagram, layoutFamily, layoutGraph, layoutInfra, layoutJourneyMap, layoutMap, layoutMindmap, layoutOrg, layoutPert, layoutSitemap, layoutSketch, layoutSwimlane, layoutTreemap, layoutTreemapRadial, layoutWireframe, loadMapData, looksLikeClassDiagram, looksLikeERDiagram, looksLikeFlowchart, looksLikeMap, looksLikePert, looksLikeSequence, looksLikeSitemap, looksLikeState, mapBackgroundColor, mapContentAspect, mapExportDimensions, mapNeutralLandColor, measurePertAnalysisBlock, mulberry32, nearestNamedColor, nord, nordPalette, normalizeName, normalizePlace, orderArcNodes, parseAndLayoutInfra, parseBlock, parseBody, parseBoxesAndLines, parseBracket, parseC4, parseChart, parseClassDiagram, parseClock, parseCountdown, parseCycle, parseDataRowValues, parseERDiagram, parseEventLine, parseExtendedChart, parseFamily, parseFixedOffset, parseFlowchart, parseGantt, parseGoal, parseInArrowLabel, parseInfra, parseInlineMarkdown, parseJourneyMap, parseKanban, parseLiveLink, parseMap, parseMindmap, parsePert, parsePyramid, parseRing, parseSequenceDgmo, parseSequenceDgmo as parseSequenceDiagram, parseSitemap, parseSketch, parseState, parseSwimlane, parseTechRadar, parseTimelineDate, parseTreemap, parseVersionControl, parseVisualization, parseWireframe, cellAppendMarker as raciCellAppendMarker, cellCycle as raciCellCycle, cellRemove as raciCellRemove, cellReplace as raciCellReplace, relayoutPert, render, renderArcDiagram, renderBlock, renderBlockForExport, renderBody, renderBodyForExport, renderBoxesAndLines, renderBoxesAndLinesForExport, renderBracket, renderBracketForExport, renderC4ComponentsForExport, renderC4Containers, renderC4ContainersForExport, renderC4Context, renderC4ContextForExport, renderC4Deployment, renderC4DeploymentForExport, renderClassDiagram, renderClassDiagramForExport, renderClock, renderClockForExport, renderCountdown, renderCountdownForExport, renderCycle, renderCycleForExport, renderERDiagram, renderERDiagramForExport, renderEventLine, renderEventLineForExport, renderFamily, renderFamilyForExport, renderFlowchart, renderFlowchartForExport, renderGantt, renderGoal, renderGoalForExport, renderInfra, renderJourneyMap, renderJourneyMapForExport, renderKanban, renderKanbanForExport, renderLegendD3, renderLegendSvg, renderLegendSvgFromConfig, renderLiveLinkCard, renderMap, renderMapForExport, renderMindmap, renderMindmapForExport, renderOrg, renderOrgForExport, renderPert, renderPertAnalysisBlock, renderPertForExport, renderPyramid, renderPyramidForExport, renderQuadrant, renderQuadrantFocus, renderQuadrantFocusForExport, renderRaci, renderRaciForExport, renderRing, renderRingForExport, renderSequenceDiagram, renderSitemap, renderSitemapForExport, renderSketch, renderSketchForExport, renderSlopeChart, renderState, renderStateForExport, renderSwimlaneForExport, renderTechRadar, renderTechRadarForExport, renderTimeline, renderTreemap, renderTreemapForExport, renderTreemapRadial, renderTreemapRadialForExport, renderVenn, renderVersionControl, renderVersionControlForExport, renderWireframe, renderWordCloud, resolveColor, resolveColorWithDiagnostic, resolveMap, resolvePlace, resolveTaskName, rollUpContextRelationships, sampleBetaPert, searchZones, seriesColors, simulateCanonical, simulateFast, sketchEdgeGeometry, sketchSlotToPx, slatePalette, startClocks, startCountdowns, targetToMs, textFromSvg, tickClocks, tickCountdowns, tidewaterPalette, tokyoNightPalette, truncateBareUrl, uncoveredCharacters, validateComputed, validateInfra, validateLabelCharacters };
package/dist/advanced.js CHANGED
@@ -16,7 +16,7 @@ import {
16
16
  computeActivations,
17
17
  groupMessagesBySection,
18
18
  renderSequenceDiagram
19
- } from "./chunk-OIK6Y2EJ.js";
19
+ } from "./chunk-L57TSE53.js";
20
20
  import {
21
21
  renderRing,
22
22
  renderRingForExport
@@ -33,7 +33,7 @@ import {
33
33
  } from "./chunk-3HYRJAXO.js";
34
34
  import {
35
35
  renderLiveLinkCard
36
- } from "./chunk-FVYHDZ6Q.js";
36
+ } from "./chunk-ZXLXAOCM.js";
37
37
  import {
38
38
  authoredCollapsedIds,
39
39
  layoutBlock,
@@ -64,7 +64,7 @@ import {
64
64
  import {
65
65
  renderJourneyMap,
66
66
  renderJourneyMapForExport
67
- } from "./chunk-PFGJ7SCM.js";
67
+ } from "./chunk-PUFWYDWP.js";
68
68
  import {
69
69
  layoutJourneyMap
70
70
  } from "./chunk-KRTO7NRK.js";
@@ -75,7 +75,7 @@ import {
75
75
  } from "./chunk-DY4VJYG7.js";
76
76
  import {
77
77
  resolveMap
78
- } from "./chunk-PJDX4IKR.js";
78
+ } from "./chunk-WMHHNK44.js";
79
79
  import {
80
80
  renderMap,
81
81
  renderMapForExport
@@ -111,7 +111,7 @@ import {
111
111
  renderPert,
112
112
  renderPertAnalysisBlock,
113
113
  renderPertForExport
114
- } from "./chunk-HJ6TMHQG.js";
114
+ } from "./chunk-SV7F363F.js";
115
115
  import {
116
116
  analyzePert,
117
117
  buildSimulationContext,
@@ -136,7 +136,7 @@ import {
136
136
  import {
137
137
  renderState,
138
138
  renderStateForExport
139
- } from "./chunk-7QCYHZVO.js";
139
+ } from "./chunk-NQH2Q2RR.js";
140
140
  import {
141
141
  collapseStateGroups
142
142
  } from "./chunk-SQ7IY53Q.js";
@@ -154,7 +154,7 @@ import {
154
154
  renderC4ContextForExport,
155
155
  renderC4Deployment,
156
156
  renderC4DeploymentForExport
157
- } from "./chunk-SMHTYVMK.js";
157
+ } from "./chunk-RZRMSNO7.js";
158
158
  import {
159
159
  layoutC4Components,
160
160
  layoutC4Containers,
@@ -165,7 +165,7 @@ import {
165
165
  import {
166
166
  renderFlowchart,
167
167
  renderFlowchartForExport
168
- } from "./chunk-XJZCXNWR.js";
168
+ } from "./chunk-BGITRLTR.js";
169
169
  import "./chunk-PDKUANDZ.js";
170
170
  import {
171
171
  layoutGraph
@@ -197,21 +197,21 @@ import {
197
197
  import {
198
198
  renderMindmap,
199
199
  renderMindmapForExport
200
- } from "./chunk-DZZWR6GT.js";
200
+ } from "./chunk-DUHKYKI7.js";
201
201
  import {
202
202
  layoutMindmap
203
203
  } from "./chunk-U42ZEK7L.js";
204
204
  import {
205
205
  renderClassDiagram,
206
206
  renderClassDiagramForExport
207
- } from "./chunk-YJCILMEA.js";
207
+ } from "./chunk-U22TKD3L.js";
208
208
  import {
209
209
  layoutClassDiagram
210
210
  } from "./chunk-PCWPYOT4.js";
211
211
  import {
212
212
  renderERDiagram,
213
213
  renderERDiagramForExport
214
- } from "./chunk-4BEAHH6G.js";
214
+ } from "./chunk-XXDEQSW4.js";
215
215
  import {
216
216
  layoutERDiagram
217
217
  } from "./chunk-5H2LIQIH.js";
@@ -258,8 +258,8 @@ import {
258
258
  import {
259
259
  renderOrg,
260
260
  renderOrgForExport
261
- } from "./chunk-7BJQUII6.js";
262
- import "./chunk-L43KTQTW.js";
261
+ } from "./chunk-KK5LQIN7.js";
262
+ import "./chunk-L26ZAPNJ.js";
263
263
  import {
264
264
  layoutOrg
265
265
  } from "./chunk-RKTIIU7Z.js";
@@ -273,20 +273,20 @@ import "./chunk-BS7SV7C3.js";
273
273
  import {
274
274
  renderSitemap,
275
275
  renderSitemapForExport
276
- } from "./chunk-LRKGF7RN.js";
276
+ } from "./chunk-L4B4GRVS.js";
277
277
  import {
278
278
  computeCardArchive,
279
279
  computeCardMove,
280
280
  isArchiveColumn,
281
281
  renderKanban,
282
282
  renderKanbanForExport
283
- } from "./chunk-FXLGBUIQ.js";
283
+ } from "./chunk-34HQALZ5.js";
284
284
  import {
285
285
  clearEventLineMuted,
286
286
  focusEventLine,
287
287
  renderEventLine,
288
288
  renderEventLineForExport
289
- } from "./chunk-NEV5IW33.js";
289
+ } from "./chunk-YVI3JL3S.js";
290
290
  import "./chunk-NCT22MOD.js";
291
291
  import "./chunk-H3HFC3SQ.js";
292
292
  import {
@@ -297,7 +297,7 @@ import "./chunk-3CIOJ5YJ.js";
297
297
  import {
298
298
  renderBody,
299
299
  renderBodyForExport
300
- } from "./chunk-7FTGNJQ2.js";
300
+ } from "./chunk-GCVTU64J.js";
301
301
  import {
302
302
  completeMapPlaces,
303
303
  completeMapRegions,
@@ -313,27 +313,27 @@ import {
313
313
  renderSlopeChart,
314
314
  renderVenn,
315
315
  renderWordCloud
316
- } from "./chunk-DHIBVN2D.js";
317
- import "./chunk-LFAQ4BLZ.js";
318
- import "./chunk-536EBUPG.js";
316
+ } from "./chunk-QRHA7WIU.js";
317
+ import "./chunk-MR2XKW35.js";
318
+ import "./chunk-EOYPX6SF.js";
319
319
  import {
320
320
  renderLegendSvg,
321
321
  renderLegendSvgFromConfig
322
- } from "./chunk-4C3BTTOL.js";
322
+ } from "./chunk-2LN5C6FH.js";
323
323
  import "./chunk-CVVICCSB.js";
324
324
  import {
325
325
  formatDateLabel,
326
326
  renderTimeline
327
- } from "./chunk-3OLO2MZ6.js";
327
+ } from "./chunk-BPINSP65.js";
328
328
  import {
329
329
  computeTimeTicks
330
330
  } from "./chunk-YRYKTYMQ.js";
331
331
  import {
332
332
  ScaleContext
333
333
  } from "./chunk-YYVTBZZC.js";
334
- import "./chunk-CQ7Y3O67.js";
334
+ import "./chunk-KHTKMVKT.js";
335
335
  import "./chunk-6VJCURWU.js";
336
- import "./chunk-NZ5QVASG.js";
336
+ import "./chunk-RU2HHHYA.js";
337
337
  import "./chunk-A4GOY3PE.js";
338
338
  import {
339
339
  renderLegendD3
@@ -369,7 +369,7 @@ import {
369
369
  parseDgmo,
370
370
  parseDgmoChartType,
371
371
  parseVisualization
372
- } from "./chunk-3PVUGECM.js";
372
+ } from "./chunk-AA4M6F2P.js";
373
373
  import {
374
374
  normalizePlace,
375
375
  parseClock,
@@ -514,7 +514,7 @@ import {
514
514
  isSequenceNote,
515
515
  looksLikeSequence,
516
516
  parseSequenceDgmo
517
- } from "./chunk-65QX6LYT.js";
517
+ } from "./chunk-SJGZSPSW.js";
518
518
  import {
519
519
  RULE_COUNT,
520
520
  inferParticipantType
@@ -1348,7 +1348,7 @@ async function firstExistingDir(nb, baseDir) {
1348
1348
  }
1349
1349
  }
1350
1350
  throw new Error(
1351
- `map data assets not found near ${baseDir} (looked in ${CANDIDATE_DIRS.join(", ")}). Run \`pnpm build:map-data\` and \`pnpm build\`.`
1351
+ `map data assets not found near ${baseDir} (looked in ${CANDIDATE_DIRS.join(", ")}). If you installed this from npm, the package is missing its map data \u2014 please report it. In a dgmo checkout, run \`pnpm build:map-data\` and \`pnpm build\`.`
1352
1352
  );
1353
1353
  }
1354
1354
  function validate(data) {
@@ -1760,6 +1760,80 @@ function insertionLineFor(task, roleId, parsed) {
1760
1760
  }
1761
1761
  return lastAssignmentLine;
1762
1762
  }
1763
+
1764
+ // src/font-coverage.ts
1765
+ var SCRIPT_BLOCKS = [
1766
+ [1424, 1535, "Hebrew"],
1767
+ [1536, 1791, "Arabic"],
1768
+ [1792, 1871, "Syriac"],
1769
+ [2304, 2431, "Devanagari"],
1770
+ [2432, 2559, "Bengali"],
1771
+ [2560, 2687, "Gurmukhi"],
1772
+ [2688, 2815, "Gujarati"],
1773
+ [2816, 2943, "Odia"],
1774
+ [2944, 3071, "Tamil"],
1775
+ [3072, 3199, "Telugu"],
1776
+ [3200, 3327, "Kannada"],
1777
+ [3328, 3455, "Malayalam"],
1778
+ [3584, 3711, "Thai"],
1779
+ [4096, 4255, "Burmese"],
1780
+ [4352, 4607, "Korean"],
1781
+ [12352, 12447, "Japanese"],
1782
+ [12448, 12543, "Japanese"],
1783
+ [13312, 19903, "Chinese"],
1784
+ [19968, 40959, "Chinese"],
1785
+ [44032, 55215, "Korean"],
1786
+ [63744, 64255, "Chinese"],
1787
+ [127744, 129791, "emoji"]
1788
+ ];
1789
+ function scriptOf(cp) {
1790
+ for (const [start, end, name] of SCRIPT_BLOCKS) {
1791
+ if (cp >= start && cp <= end) return name;
1792
+ }
1793
+ return "other";
1794
+ }
1795
+ function covered(cp, ranges) {
1796
+ return ranges.some(([start, end]) => cp >= start && cp <= end);
1797
+ }
1798
+ function textFromSvg(svg) {
1799
+ const parts = [];
1800
+ const element = /<(?:text|tspan)\b[^>]*>([\s\S]*?)<\/(?:text|tspan)>/g;
1801
+ let match;
1802
+ while ((match = element.exec(svg)) !== null) {
1803
+ parts.push((match[1] ?? "").replace(/<[^>]*>/g, ""));
1804
+ }
1805
+ return parts.join("").replace(/&#x([0-9a-f]+);/gi, (_, hex) => String.fromCodePoint(parseInt(hex, 16))).replace(/&#(\d+);/g, (_, dec) => String.fromCodePoint(parseInt(dec, 10))).replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&amp;/g, "&");
1806
+ }
1807
+ function uncoveredCharacters(text, coverage) {
1808
+ const byScript = /* @__PURE__ */ new Map();
1809
+ const seen = /* @__PURE__ */ new Set();
1810
+ for (const char of text) {
1811
+ const cp = char.codePointAt(0);
1812
+ if (cp === void 0 || seen.has(cp)) continue;
1813
+ seen.add(cp);
1814
+ if (cp < 32 || cp === 127) continue;
1815
+ if (/\s/.test(char)) continue;
1816
+ if (covered(cp, coverage.ranges)) continue;
1817
+ const script = scriptOf(cp);
1818
+ const bucket = byScript.get(script);
1819
+ if (bucket) bucket.push(char);
1820
+ else byScript.set(script, [char]);
1821
+ }
1822
+ return [...byScript.entries()].map(([script, chars]) => ({
1823
+ script,
1824
+ characters: chars.join(""),
1825
+ count: chars.length
1826
+ }));
1827
+ }
1828
+ function fontPortabilityWarning(runs) {
1829
+ if (runs.length === 0) return void 0;
1830
+ const described = runs.map((run) => {
1831
+ const sample = [...run.characters].slice(0, 6).join("");
1832
+ const more = run.count > 6 ? ` +${run.count - 6} more` : "";
1833
+ return `${run.script} (${sample}${more})`;
1834
+ }).join(", ");
1835
+ return `This diagram uses characters the bundled Inter font does not contain: ${described}. They were drawn with a font installed on this machine, so the image is correct here \u2014 but a machine without a font for those characters draws nothing at all, with no error. Install a font covering them wherever this runs, or check the output there.`;
1836
+ }
1763
1837
  export {
1764
1838
  ALL_CHART_TYPES,
1765
1839
  ARROW_DIAGNOSTIC_CODES,
@@ -1839,6 +1913,7 @@ export {
1839
1913
  focusBoxesAndLines,
1840
1914
  focusEventLine,
1841
1915
  focusOrgTree,
1916
+ fontPortabilityWarning,
1842
1917
  formatDateLabel,
1843
1918
  formatDgmoError,
1844
1919
  formatOffsetLabel,
@@ -2077,6 +2152,7 @@ export {
2077
2152
  startCountdowns,
2078
2153
  tagAttrKey,
2079
2154
  targetToMs2 as targetToMs,
2155
+ textFromSvg,
2080
2156
  themes,
2081
2157
  tickClocks,
2082
2158
  tickCountdowns,
@@ -2084,6 +2160,7 @@ export {
2084
2160
  tint,
2085
2161
  tokyoNightPalette,
2086
2162
  truncateBareUrl,
2163
+ uncoveredCharacters,
2087
2164
  parseDgmo as validate,
2088
2165
  validateComputed,
2089
2166
  validateInfra,