@diagrammo/dgmo 0.14.1 → 0.15.1

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