@diagrammo/dgmo 0.15.0 → 0.16.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 (127) hide show
  1. package/README.md +23 -10
  2. package/dist/advanced.cjs +53094 -0
  3. package/dist/advanced.d.cts +4690 -0
  4. package/dist/advanced.d.ts +4690 -0
  5. package/dist/advanced.js +52849 -0
  6. package/dist/auto.cjs +2298 -2069
  7. package/dist/auto.js +132 -109
  8. package/dist/auto.mjs +2294 -2065
  9. package/dist/cli.cjs +175 -152
  10. package/dist/editor.cjs +8 -9
  11. package/dist/editor.js +8 -9
  12. package/dist/highlight.cjs +8 -9
  13. package/dist/highlight.js +8 -9
  14. package/dist/index.cjs +2281 -2048
  15. package/dist/index.d.cts +45 -1
  16. package/dist/index.d.ts +45 -1
  17. package/dist/index.js +2276 -2044
  18. package/dist/internal.cjs +2064 -1831
  19. package/dist/internal.d.cts +113 -113
  20. package/dist/internal.d.ts +113 -113
  21. package/dist/internal.js +2059 -1826
  22. package/dist/pert.cjs +325 -0
  23. package/dist/pert.d.cts +542 -0
  24. package/dist/pert.d.ts +542 -0
  25. package/dist/pert.js +294 -0
  26. package/docs/language-reference.md +83 -66
  27. package/gallery/fixtures/area.dgmo +3 -3
  28. package/gallery/fixtures/bar-stacked.dgmo +5 -5
  29. package/gallery/fixtures/boxes-and-lines.dgmo +2 -2
  30. package/gallery/fixtures/c4-full.dgmo +8 -8
  31. package/gallery/fixtures/class-full.dgmo +2 -2
  32. package/gallery/fixtures/doughnut.dgmo +6 -6
  33. package/gallery/fixtures/flowchart-colors.dgmo +3 -3
  34. package/gallery/fixtures/function.dgmo +3 -3
  35. package/gallery/fixtures/gantt-full.dgmo +9 -9
  36. package/gallery/fixtures/gantt.dgmo +7 -7
  37. package/gallery/fixtures/infra-full.dgmo +6 -6
  38. package/gallery/fixtures/infra.dgmo +2 -2
  39. package/gallery/fixtures/kanban.dgmo +9 -9
  40. package/gallery/fixtures/line.dgmo +2 -2
  41. package/gallery/fixtures/multi-line.dgmo +3 -3
  42. package/gallery/fixtures/org-full.dgmo +6 -6
  43. package/gallery/fixtures/quadrant.dgmo +2 -2
  44. package/gallery/fixtures/sankey.dgmo +9 -9
  45. package/gallery/fixtures/scatter.dgmo +3 -3
  46. package/gallery/fixtures/sequence-tags-protocols.dgmo +8 -8
  47. package/gallery/fixtures/sequence-tags.dgmo +7 -7
  48. package/gallery/fixtures/sitemap-full.dgmo +7 -7
  49. package/gallery/fixtures/slope.dgmo +5 -5
  50. package/gallery/fixtures/spr-eras.dgmo +9 -9
  51. package/gallery/fixtures/timeline.dgmo +3 -3
  52. package/gallery/fixtures/venn.dgmo +3 -3
  53. package/package.json +28 -3
  54. package/src/advanced.ts +730 -0
  55. package/src/auto/index.ts +14 -13
  56. package/src/boxes-and-lines/layout.ts +481 -445
  57. package/src/boxes-and-lines/renderer.ts +5 -1
  58. package/src/c4/parser.ts +8 -8
  59. package/src/c4/renderer.ts +15 -8
  60. package/src/chart-types.ts +0 -5
  61. package/src/chart.ts +18 -9
  62. package/src/class/parser.ts +8 -15
  63. package/src/class/renderer.ts +17 -6
  64. package/src/cli.ts +15 -13
  65. package/src/completion-types.ts +28 -0
  66. package/src/completion.ts +28 -21
  67. package/src/cycle/layout.ts +2 -2
  68. package/src/cycle/parser.ts +14 -0
  69. package/src/cycle/renderer.ts +6 -3
  70. package/src/d3.ts +1537 -1164
  71. package/src/echarts.ts +37 -20
  72. package/src/editor/dgmo.grammar +1 -3
  73. package/src/editor/dgmo.grammar.js +8 -8
  74. package/src/editor/dgmo.grammar.terms.js +11 -12
  75. package/src/editor/highlight-api.ts +0 -1
  76. package/src/editor/highlight.ts +0 -1
  77. package/src/er/parser.ts +19 -20
  78. package/src/er/renderer.ts +20 -8
  79. package/src/gantt/calculator.ts +1 -11
  80. package/src/gantt/parser.ts +17 -17
  81. package/src/gantt/renderer.ts +9 -6
  82. package/src/graph/flowchart-parser.ts +19 -85
  83. package/src/graph/flowchart-renderer.ts +4 -9
  84. package/src/graph/layout.ts +0 -2
  85. package/src/graph/state-parser.ts +17 -62
  86. package/src/graph/state-renderer.ts +4 -9
  87. package/src/index.ts +17 -1
  88. package/src/infra/parser.ts +40 -30
  89. package/src/infra/renderer.ts +9 -6
  90. package/src/internal.ts +9 -721
  91. package/src/journey-map/parser.ts +10 -3
  92. package/src/journey-map/renderer.ts +3 -1
  93. package/src/kanban/parser.ts +12 -8
  94. package/src/kanban/renderer.ts +3 -1
  95. package/src/mindmap/layout.ts +1 -1
  96. package/src/mindmap/parser.ts +3 -3
  97. package/src/mindmap/renderer.ts +2 -1
  98. package/src/org/parser.ts +3 -3
  99. package/src/org/renderer.ts +5 -4
  100. package/src/pert/layout.ts +1 -1
  101. package/src/pert/monte-carlo.ts +2 -2
  102. package/src/pert/parser.ts +10 -10
  103. package/src/pert/renderer.ts +7 -2
  104. package/src/pert/types.ts +1 -1
  105. package/src/pyramid/parser.ts +12 -0
  106. package/src/raci/parser.ts +44 -14
  107. package/src/raci/renderer.ts +3 -2
  108. package/src/raci/types.ts +4 -3
  109. package/src/ring/parser.ts +12 -0
  110. package/src/sequence/parser.ts +15 -9
  111. package/src/sequence/renderer.ts +2 -5
  112. package/src/sitemap/layout.ts +0 -2
  113. package/src/sitemap/parser.ts +12 -38
  114. package/src/sitemap/renderer.ts +13 -13
  115. package/src/sitemap/types.ts +0 -1
  116. package/src/tech-radar/interactive.ts +1 -1
  117. package/src/tech-radar/renderer.ts +6 -4
  118. package/src/tech-radar/types.ts +2 -0
  119. package/src/utils/arrows.ts +3 -28
  120. package/src/utils/legend-d3.ts +12 -6
  121. package/src/utils/legend-layout.ts +1 -1
  122. package/src/utils/legend-types.ts +1 -1
  123. package/src/utils/parsing.ts +64 -35
  124. package/src/utils/tag-groups.ts +109 -30
  125. package/src/wireframe/layout.ts +11 -7
  126. package/src/wireframe/parser.ts +4 -4
  127. package/src/wireframe/renderer.ts +5 -2
@@ -0,0 +1,730 @@
1
+ // ============================================================
2
+ // @diagrammo/dgmo/advanced — low-level building blocks for first-party
3
+ // and advanced consumers (parsers, layout helpers, internal types).
4
+ //
5
+ // **No semver guarantee.** Exports here may be renamed, removed, or
6
+ // behave differently between MINOR versions. Patch versions will only
7
+ // change behavior to fix bugs.
8
+ //
9
+ // Use only when the public root API at `@diagrammo/dgmo` cannot meet
10
+ // your needs. Pin your `@diagrammo/dgmo` dependency tight if you depend
11
+ // on /advanced symbols.
12
+ //
13
+ // (Previously published as `/internal`. The old subpath is kept as a
14
+ // deprecated alias for one minor and will be removed in 0.17.x.)
15
+ // ============================================================
16
+
17
+ // ============================================================
18
+ // Diagnostics
19
+ // ============================================================
20
+
21
+ export { makeDgmoError, formatDgmoError } from './diagnostics';
22
+ export type { DgmoError, DgmoSeverity } from './diagnostics';
23
+
24
+ // ============================================================
25
+ // Arrow helpers (in-arrow label validation)
26
+ // ============================================================
27
+
28
+ export {
29
+ parseInArrowLabel,
30
+ validateLabelCharacters,
31
+ ARROW_DIAGNOSTIC_CODES,
32
+ } from './utils/arrows';
33
+ export type { ParseInArrowLabelResult } from './utils/arrows';
34
+
35
+ // ============================================================
36
+ // Unified API
37
+ // ============================================================
38
+
39
+ export { render } from './render';
40
+
41
+ // ============================================================
42
+ // Chart-type registry (single source of truth)
43
+ // ============================================================
44
+
45
+ export { chartTypes } from './chart-types';
46
+ export type { ChartTypeMeta } from './chart-types';
47
+
48
+ export {
49
+ normalize as normalizeChartTypePrompt,
50
+ matchesContiguously,
51
+ scoreChartType,
52
+ confidence as chartTypeConfidence,
53
+ suggestChartTypes,
54
+ MIN_PRIMARY_SCORE,
55
+ AMBIGUITY_THRESHOLD,
56
+ } from './chart-type-scoring';
57
+ export type {
58
+ ChartTypeScore,
59
+ Confidence as ChartTypeConfidence,
60
+ SuggestionResult as ChartTypeSuggestionResult,
61
+ } from './chart-type-scoring';
62
+
63
+ // ============================================================
64
+ // Router
65
+ // ============================================================
66
+
67
+ export {
68
+ parseDgmoChartType,
69
+ parseDgmo,
70
+ getRenderCategory,
71
+ isExtendedChartType,
72
+ getAllChartTypes,
73
+ CHART_TYPE_DESCRIPTIONS,
74
+ chartTypeParsers,
75
+ knownChartTypeIds,
76
+ } from './dgmo-router';
77
+ export type { RenderCategory } from './dgmo-router';
78
+
79
+ // ============================================================
80
+ // Parsers
81
+ // ============================================================
82
+
83
+ export { parseChart, parseDataRowValues } from './chart';
84
+ export type { ParsedChart, ChartType, ChartDataPoint, ChartEra } from './chart';
85
+
86
+ export { parseExtendedChart } from './echarts';
87
+ export type { ParsedExtendedChart, ExtendedChartType } from './echarts';
88
+
89
+ export {
90
+ parseVisualization,
91
+ orderArcNodes,
92
+ parseTimelineDate,
93
+ addDurationToDate,
94
+ formatDateLabel,
95
+ } from './d3';
96
+ export { computeTimeTicks } from './utils/time-ticks';
97
+ export type {
98
+ ParsedVisualization,
99
+ VisualizationType,
100
+ D3ExportDimensions,
101
+ ArcLink,
102
+ ArcNodeGroup,
103
+ } from './d3';
104
+
105
+ export {
106
+ parseSequenceDgmo,
107
+ parseSequenceDgmo as parseSequenceDiagram,
108
+ looksLikeSequence,
109
+ isSequenceBlock,
110
+ isSequenceNote,
111
+ } from './sequence/parser';
112
+ export type {
113
+ ParsedSequenceDgmo,
114
+ SequenceParticipant,
115
+ SequenceMessage,
116
+ SequenceBlock,
117
+ ElseIfBranch,
118
+ SequenceSection,
119
+ SequenceNote,
120
+ SequenceElement,
121
+ SequenceGroup,
122
+ ParticipantType,
123
+ } from './sequence/parser';
124
+
125
+ export {
126
+ inferParticipantType,
127
+ RULE_COUNT,
128
+ } from './sequence/participant-inference';
129
+
130
+ export { parseFlowchart, looksLikeFlowchart } from './graph/flowchart-parser';
131
+
132
+ export { parseState, looksLikeState } from './graph/state-parser';
133
+ export { renderState, renderStateForExport } from './graph/state-renderer';
134
+ export { collapseStateGroups } from './graph/state-collapse';
135
+ export type { StateCollapseResult } from './graph/state-collapse';
136
+
137
+ export { parseClassDiagram, looksLikeClassDiagram } from './class/parser';
138
+
139
+ export type {
140
+ ParsedClassDiagram,
141
+ ClassNode,
142
+ ClassMember,
143
+ ClassRelationship,
144
+ ClassModifier,
145
+ MemberVisibility,
146
+ RelationshipType,
147
+ } from './class/types';
148
+
149
+ export { layoutClassDiagram } from './class/layout';
150
+ export type {
151
+ ClassLayoutResult,
152
+ ClassLayoutNode,
153
+ ClassLayoutEdge,
154
+ } from './class/layout';
155
+
156
+ export {
157
+ renderClassDiagram,
158
+ renderClassDiagramForExport,
159
+ } from './class/renderer';
160
+
161
+ export { parseERDiagram, looksLikeERDiagram } from './er/parser';
162
+
163
+ export type {
164
+ ParsedERDiagram,
165
+ ERTable,
166
+ ERColumn,
167
+ ERRelationship,
168
+ ERConstraint,
169
+ ERCardinality,
170
+ } from './er/types';
171
+
172
+ export { layoutERDiagram } from './er/layout';
173
+ export type { ERLayoutResult, ERLayoutNode, ERLayoutEdge } from './er/layout';
174
+
175
+ export { renderERDiagram, renderERDiagramForExport } from './er/renderer';
176
+
177
+ export type {
178
+ ParsedGraph,
179
+ GraphNode,
180
+ GraphEdge,
181
+ GraphGroup,
182
+ GraphShape,
183
+ GraphDirection,
184
+ } from './graph/types';
185
+
186
+ export type { TagGroup, TagEntry } from './utils/tag-groups';
187
+
188
+ export { parseInlineMarkdown, truncateBareUrl } from './utils/inline-markdown';
189
+ export type { InlineSpan } from './utils/inline-markdown';
190
+
191
+ export {
192
+ normalizeName,
193
+ displayName,
194
+ getOrCreateName,
195
+ } from './utils/name-normalize';
196
+ export type { NameEntry, GetOrCreateNameResult } from './utils/name-normalize';
197
+
198
+ export { parseOrg } from './org/parser';
199
+ export type { ParsedOrg, OrgNode } from './org/parser';
200
+
201
+ export { layoutOrg } from './org/layout';
202
+ export type {
203
+ OrgLayoutResult,
204
+ OrgLayoutNode,
205
+ OrgLayoutEdge,
206
+ OrgContainerBounds,
207
+ } from './org/layout';
208
+
209
+ export { renderOrg, renderOrgForExport } from './org/renderer';
210
+
211
+ export { parseKanban } from './kanban/parser';
212
+ export type {
213
+ ParsedKanban,
214
+ KanbanColumn,
215
+ KanbanCard,
216
+ KanbanTagGroup,
217
+ KanbanTagEntry,
218
+ } from './kanban/types';
219
+ export {
220
+ computeCardMove,
221
+ computeCardArchive,
222
+ isArchiveColumn,
223
+ } from './kanban/mutations';
224
+ export { renderKanban, renderKanbanForExport } from './kanban/renderer';
225
+
226
+ export { parseC4 } from './c4/parser';
227
+ export type {
228
+ ParsedC4,
229
+ C4Element,
230
+ C4ElementType,
231
+ C4Shape,
232
+ C4ArrowType,
233
+ C4Relationship,
234
+ C4Group,
235
+ C4DeploymentNode,
236
+ C4TagGroup,
237
+ C4TagEntry,
238
+ } from './c4/types';
239
+
240
+ export {
241
+ layoutC4Context,
242
+ layoutC4Containers,
243
+ layoutC4Components,
244
+ layoutC4Deployment,
245
+ rollUpContextRelationships,
246
+ } from './c4/layout';
247
+ export type {
248
+ C4LayoutResult,
249
+ C4LayoutNode,
250
+ C4LayoutEdge,
251
+ C4LayoutBoundary,
252
+ C4LegendGroup,
253
+ C4LegendEntry,
254
+ ContextRelationship,
255
+ } from './c4/layout';
256
+
257
+ export {
258
+ renderC4Context,
259
+ renderC4ContextForExport,
260
+ renderC4Containers,
261
+ renderC4ContainersForExport,
262
+ renderC4ComponentsForExport,
263
+ renderC4Deployment,
264
+ renderC4DeploymentForExport,
265
+ } from './c4/renderer';
266
+
267
+ export { parseBoxesAndLines } from './boxes-and-lines/parser';
268
+ export type {
269
+ ParsedBoxesAndLines,
270
+ BLNode,
271
+ BLEdge,
272
+ BLGroup,
273
+ } from './boxes-and-lines/types';
274
+ export { layoutBoxesAndLines } from './boxes-and-lines/layout';
275
+ export type {
276
+ BLLayoutResult,
277
+ BLLayoutNode,
278
+ BLLayoutEdge,
279
+ BLLayoutGroup,
280
+ } from './boxes-and-lines/layout';
281
+ export {
282
+ renderBoxesAndLines,
283
+ renderBoxesAndLinesForExport,
284
+ } from './boxes-and-lines/renderer';
285
+
286
+ export { collapseBoxesAndLines } from './boxes-and-lines/collapse';
287
+ export type { BLCollapseResult } from './boxes-and-lines/collapse';
288
+
289
+ export { parseSitemap, looksLikeSitemap } from './sitemap/parser';
290
+
291
+ export type {
292
+ ParsedSitemap,
293
+ SitemapNode,
294
+ SitemapEdge,
295
+ SitemapDirection,
296
+ } from './sitemap/types';
297
+
298
+ export { layoutSitemap } from './sitemap/layout';
299
+ export type {
300
+ SitemapLayoutResult,
301
+ SitemapLayoutNode,
302
+ SitemapLayoutEdge,
303
+ SitemapContainerBounds,
304
+ SitemapLegendGroup,
305
+ SitemapLegendEntry,
306
+ } from './sitemap/layout';
307
+
308
+ export { renderSitemap, renderSitemapForExport } from './sitemap/renderer';
309
+
310
+ export { collapseSitemapTree } from './sitemap/collapse';
311
+
312
+ // ── Infra Chart ────────────────────────────────────────────
313
+ export { parseInfra } from './infra/parser';
314
+ export type {
315
+ ParsedInfra,
316
+ InfraNode,
317
+ InfraEdge,
318
+ InfraGroup,
319
+ InfraTagGroup,
320
+ InfraProperty,
321
+ InfraDiagnostic,
322
+ InfraComputeParams,
323
+ InfraBehaviorKey,
324
+ } from './infra/types';
325
+ export { INFRA_BEHAVIOR_KEYS } from './infra/types';
326
+ export { computeInfra } from './infra/compute';
327
+ export type {
328
+ ComputedInfraModel,
329
+ ComputedInfraNode,
330
+ ComputedInfraEdge,
331
+ InfraLatencyPercentiles,
332
+ InfraAvailabilityPercentiles,
333
+ InfraCbState,
334
+ } from './infra/types';
335
+ export { validateInfra, validateComputed } from './infra/validation';
336
+ export { inferRoles, collectDiagramRoles } from './infra/roles';
337
+ export type { InfraRole } from './infra/roles';
338
+ export { layoutInfra } from './infra/layout';
339
+ export type {
340
+ InfraLayoutResult,
341
+ InfraLayoutNode,
342
+ InfraLayoutEdge,
343
+ InfraLayoutGroup,
344
+ } from './infra/layout';
345
+ export {
346
+ renderInfra,
347
+ parseAndLayoutInfra,
348
+ computeInfraLegendGroups,
349
+ } from './infra/renderer';
350
+ export type { InfraLegendGroup, InfraPlaybackState } from './infra/renderer';
351
+ export type { CollapsedSitemapResult } from './sitemap/collapse';
352
+
353
+ // ── Gantt Chart ───────────────────────────────────────────
354
+ export { parseGantt } from './gantt/parser';
355
+ export { calculateSchedule } from './gantt/calculator';
356
+ export { renderGantt, buildTagLaneRowList } from './gantt/renderer';
357
+ export type {
358
+ GanttInteractiveOptions,
359
+ GanttRow,
360
+ GanttGroupRow,
361
+ GanttTaskRow,
362
+ GanttLaneHeaderRow,
363
+ } from './gantt/renderer';
364
+ export { resolveTaskName, collectTasks } from './gantt/resolver';
365
+ export type {
366
+ ParsedGantt,
367
+ GanttTask,
368
+ GanttGroup,
369
+ GanttParallelBlock,
370
+ GanttNode,
371
+ GanttDependency,
372
+ GanttHolidays,
373
+ GanttEra,
374
+ GanttMarker,
375
+ GanttOptions,
376
+ Duration,
377
+ DurationUnit,
378
+ ResolvedSchedule,
379
+ ResolvedTask,
380
+ ResolvedGroup,
381
+ } from './gantt/types';
382
+
383
+ // ── PERT Diagram ──────────────────────────────────────────
384
+ export { parsePert, looksLikePert, extractPertSymbols } from './pert/parser';
385
+ export { analyzePert } from './pert/analyzer';
386
+ export { layoutPert, relayoutPert } from './pert/layout';
387
+ export type { LayoutOverrides as PertLayoutOverrides } from './pert/internal';
388
+ export { normalizePertSourceForShare } from './pert/share-normalize';
389
+
390
+ // Monte Carlo simulator surface (formerly the `/pert` subpath, now folded
391
+ // in here since there were zero subpath consumers and modern tree-shaking
392
+ // handles the Web Worker bundle-size case).
393
+ export {
394
+ mulberry32,
395
+ sampleBetaPert,
396
+ simulateCanonical,
397
+ simulateFast,
398
+ buildSimulationContext,
399
+ } from './pert/monte-carlo';
400
+ export type { ExpandedActivity, SimulateOptions } from './pert/monte-carlo';
401
+ export {
402
+ renderPert,
403
+ renderPertForExport,
404
+ renderPertAnalysisBlock,
405
+ measurePertAnalysisBlock,
406
+ highlightPertCriticalPath,
407
+ highlightPertSet,
408
+ pertLegendEntries,
409
+ pertLegendBlockWidth,
410
+ PERT_LEGEND_PILL_HEIGHT,
411
+ renderLegendBlock as renderPertLegendBlock,
412
+ resetPertCriticalPath,
413
+ resetPertHighlight,
414
+ } from './pert/renderer';
415
+ export type { PertRenderOptions } from './pert/renderer';
416
+ export type {
417
+ Anchor as PertAnchor,
418
+ ParsedPert,
419
+ PertActivity,
420
+ PertEdge,
421
+ PertGroup,
422
+ PertMilestone,
423
+ PertOptions,
424
+ PertDirection,
425
+ NodeDetail,
426
+ ResolvedActivity,
427
+ ResolvedGroup as ResolvedPertGroup,
428
+ ResolvedPert,
429
+ MonteCarloResult,
430
+ PertLayoutNode,
431
+ PertLayoutEdge,
432
+ PertLayoutGroup,
433
+ LayoutResult as PertLayoutResult,
434
+ } from './pert/types';
435
+
436
+ export { collapseOrgTree, focusOrgTree } from './org/collapse';
437
+ export type {
438
+ CollapsedOrgResult,
439
+ FocusOrgResult,
440
+ AncestorInfo,
441
+ } from './org/collapse';
442
+
443
+ export { parseMindmap } from './mindmap/parser';
444
+ export type {
445
+ MindmapNode,
446
+ ParsedMindmap,
447
+ MindmapLayoutNode,
448
+ MindmapLayoutEdge,
449
+ MindmapLayoutResult,
450
+ } from './mindmap/types';
451
+ export { layoutMindmap } from './mindmap/layout';
452
+ export { renderMindmap, renderMindmapForExport } from './mindmap/renderer';
453
+ export { collapseMindmapTree } from './mindmap/collapse';
454
+ export type { CollapsedMindmapResult } from './mindmap/collapse';
455
+
456
+ export { parseWireframe } from './wireframe/parser';
457
+ export type {
458
+ ParsedWireframe,
459
+ WireframeElement,
460
+ WireframeElementType,
461
+ WireframeFormFactor,
462
+ } from './wireframe/types';
463
+ export { layoutWireframe } from './wireframe/layout';
464
+ export type { WireframeLayout, WireframeLayoutNode } from './wireframe/layout';
465
+ export { renderWireframe } from './wireframe/renderer';
466
+
467
+ export { parseTechRadar } from './tech-radar/parser';
468
+ export { computeRadarLayout, getRadarGeometry } from './tech-radar/layout';
469
+ export {
470
+ renderTechRadar,
471
+ renderTechRadarForExport,
472
+ } from './tech-radar/renderer';
473
+ export {
474
+ renderQuadrantFocus,
475
+ renderQuadrantFocusForExport,
476
+ } from './tech-radar/interactive';
477
+ export type {
478
+ ParsedTechRadar,
479
+ TechRadarRing,
480
+ TechRadarQuadrant,
481
+ TechRadarBlip,
482
+ TechRadarLayoutPoint,
483
+ QuadrantPosition,
484
+ BlipTrend,
485
+ } from './tech-radar/types';
486
+
487
+ export { parseCycle } from './cycle/parser';
488
+ export { computeCycleLayout } from './cycle/layout';
489
+ export { renderCycle, renderCycleForExport } from './cycle/renderer';
490
+ export type { CycleRenderOptions } from './cycle/renderer';
491
+ export type {
492
+ ParsedCycle,
493
+ CycleNode,
494
+ CycleEdge,
495
+ CycleLayoutNode,
496
+ CycleLayoutEdge,
497
+ CycleLayoutResult,
498
+ } from './cycle/types';
499
+
500
+ export { parseJourneyMap } from './journey-map/parser';
501
+ export { layoutJourneyMap } from './journey-map/layout';
502
+ export type { JourneyMapLayout } from './journey-map/layout';
503
+ export {
504
+ renderJourneyMap,
505
+ renderJourneyMapForExport,
506
+ } from './journey-map/renderer';
507
+ export type {
508
+ ParsedJourneyMap,
509
+ JourneyMapPhase,
510
+ JourneyMapStep,
511
+ JourneyMapPersona,
512
+ JourneyMapAnnotation,
513
+ } from './journey-map/types';
514
+ export type { JourneyMapInteractiveOptions } from './journey-map/renderer';
515
+
516
+ export { parsePyramid } from './pyramid/parser';
517
+ export { renderPyramid, renderPyramidForExport } from './pyramid/renderer';
518
+ export type { ParsedPyramid, PyramidLayer } from './pyramid/types';
519
+
520
+ export { parseRing } from './ring/parser';
521
+ export { renderRing, renderRingForExport } from './ring/renderer';
522
+ export type { ParsedRing, RingLayer } from './ring/types';
523
+
524
+ export type { RaciDragSource, RaciInteractionHandlers } from './raci';
525
+ export {
526
+ parseRaci,
527
+ renderRaci,
528
+ renderRaciForExport,
529
+ VARIANTS as RACI_VARIANTS,
530
+ RACI_ERROR_CODES,
531
+ RACI_WARNING_CODES,
532
+ cellReplace as raciCellReplace,
533
+ cellAppendMarker as raciCellAppendMarker,
534
+ cellRemove as raciCellRemove,
535
+ cellCycle as raciCellCycle,
536
+ } from './raci';
537
+ export type {
538
+ ParsedRaci,
539
+ RaciVariant,
540
+ RaciMarker,
541
+ RaciTask,
542
+ RaciPhase,
543
+ RaciRoleAssignment,
544
+ } from './raci';
545
+
546
+ export { resolveOrgImports } from './org/resolver';
547
+ export type {
548
+ ReadFileFn,
549
+ ResolveImportsResult,
550
+ ImportSource,
551
+ } from './org/resolver';
552
+
553
+ export { layoutGraph } from './graph/layout';
554
+ export type {
555
+ LayoutResult,
556
+ LayoutNode,
557
+ LayoutEdge,
558
+ LayoutGroup,
559
+ LayoutOptions,
560
+ } from './graph/layout';
561
+
562
+ export {
563
+ renderFlowchart,
564
+ renderFlowchartForExport,
565
+ } from './graph/flowchart-renderer';
566
+
567
+ // ============================================================
568
+ // Config Builders (produce framework-specific config objects)
569
+ // ============================================================
570
+
571
+ export {
572
+ buildExtendedChartOption,
573
+ buildSimpleChartOption,
574
+ renderExtendedChartForExport,
575
+ getExtendedChartLegendGroups,
576
+ getSimpleChartLegendGroups,
577
+ computeScatterLabelGraphics,
578
+ } from './echarts';
579
+ export type { ScatterLabelPoint } from './echarts';
580
+ export {
581
+ renderLegendSvg,
582
+ renderLegendSvgFromConfig,
583
+ type LegendGroupData,
584
+ } from './utils/legend-svg';
585
+ export { LEGEND_HEIGHT, LEGEND_GEAR_PILL_W } from './utils/legend-constants';
586
+ export { renderLegendD3 } from './utils/legend-d3';
587
+ export {
588
+ computeLegendLayout,
589
+ controlsGroupCapsuleWidth,
590
+ getLegendReservedHeight,
591
+ } from './utils/legend-layout';
592
+ export type {
593
+ LegendConfig,
594
+ LegendState,
595
+ LegendCallbacks,
596
+ LegendPosition,
597
+ LegendMode,
598
+ LegendControl,
599
+ LegendLayout,
600
+ LegendHandle,
601
+ LegendPalette,
602
+ } from './utils/legend-types';
603
+ // ============================================================
604
+ // Renderers (produce SVG output)
605
+ // ============================================================
606
+
607
+ export {
608
+ renderSlopeChart,
609
+ renderArcDiagram,
610
+ renderTimeline,
611
+ renderWordCloud,
612
+ renderVenn,
613
+ renderQuadrant,
614
+ renderForExport,
615
+ } from './d3';
616
+
617
+ export {
618
+ renderSequenceDiagram,
619
+ buildRenderSequence,
620
+ computeActivations,
621
+ applyPositionOverrides,
622
+ applyGroupOrdering,
623
+ groupMessagesBySection,
624
+ buildNoteMessageMap,
625
+ } from './sequence/renderer';
626
+ export type {
627
+ RenderStep,
628
+ Activation,
629
+ SectionMessageGroup,
630
+ SequenceRenderOptions,
631
+ } from './sequence/renderer';
632
+
633
+ export { applyCollapseProjection } from './sequence/collapse';
634
+ export type { CollapsedView } from './sequence/collapse';
635
+
636
+ // ============================================================
637
+ // Colors & Palettes
638
+ // ============================================================
639
+
640
+ export {
641
+ resolveColor,
642
+ resolveColorWithDiagnostic,
643
+ colorNames,
644
+ nord,
645
+ seriesColors,
646
+ RECOGNIZED_COLOR_NAMES,
647
+ isRecognizedColorName,
648
+ } from './colors';
649
+
650
+ export {
651
+ // Registry
652
+ getPalette,
653
+ getAvailablePalettes,
654
+ registerPalette,
655
+ isValidHex,
656
+ // Utilities
657
+ hexToHSL,
658
+ hslToHex,
659
+ hexToHSLString,
660
+ tint,
661
+ shade,
662
+ getSeriesColors,
663
+ contrastText,
664
+ // Palette definitions
665
+ nordPalette,
666
+ solarizedPalette,
667
+ catppuccinPalette,
668
+ rosePinePalette,
669
+ gruvboxPalette,
670
+ tokyoNightPalette,
671
+ oneDarkPalette,
672
+ boldPalette,
673
+ draculaPalette,
674
+ monokaiPalette,
675
+ } from './palettes';
676
+
677
+ export type { PaletteConfig, PaletteColors } from './palettes';
678
+ export { mix, shapeFill } from './palettes/color-utils';
679
+
680
+ // ============================================================
681
+ // Sharing (URL encoding/decoding)
682
+ // ============================================================
683
+
684
+ export {
685
+ encodeDiagramUrl,
686
+ decodeDiagramUrl,
687
+ encodeViewState,
688
+ decodeViewState,
689
+ } from './sharing';
690
+ export type {
691
+ EncodeDiagramUrlOptions,
692
+ EncodeDiagramUrlResult,
693
+ CompactViewState,
694
+ DecodedDiagramUrl,
695
+ } from './sharing';
696
+
697
+ // ============================================================
698
+ // Completion (symbol extraction API)
699
+ // ============================================================
700
+
701
+ export {
702
+ registerExtractor,
703
+ extractDiagramSymbols,
704
+ COMPLETION_REGISTRY,
705
+ CHART_TYPES,
706
+ METADATA_KEY_SET,
707
+ ENTITY_TYPES,
708
+ PIPE_METADATA,
709
+ extractTagDeclarations,
710
+ } from './completion';
711
+ export type {
712
+ DiagramSymbols,
713
+ ExtractFn,
714
+ DirectiveSpec,
715
+ DirectiveValueSpec,
716
+ PipeKeySpec,
717
+ } from './completion';
718
+
719
+ export { parseFirstLine, ALL_CHART_TYPES } from './utils/parsing';
720
+
721
+ // ============================================================
722
+ // Additional exports introduced by the API freeze
723
+ // ============================================================
724
+
725
+ // Namespace constants (also exported from the public root)
726
+ export { palettes } from './palettes';
727
+ export { themes, type Theme } from './themes';
728
+
729
+ // Public-API alias for parseDgmo (also exported from the public root as `validate`)
730
+ export { parseDgmo as validate } from './dgmo-router';