@crazyhappyone/auto-graph 0.2.0 → 0.2.2

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.
package/dist/index.d.cts CHANGED
@@ -434,7 +434,7 @@ interface ConstraintSolverInput {
434
434
  direction: DiagramDirection;
435
435
  overlapSpacing?: number;
436
436
  minSiblingGap?: number;
437
- distributeContainedChildren?: boolean;
437
+ distributeContainedChildren?: boolean | "spread";
438
438
  boxes: ReadonlyMap<string, Box>;
439
439
  nodes: readonly NormalizedNode[];
440
440
  groups: readonly NormalizedGroup[];
@@ -568,6 +568,8 @@ interface ExportResult {
568
568
  }
569
569
  interface ExportOptions {
570
570
  title?: string;
571
+ /** Padding around diagram bounds for viewport metadata, in pixels. */
572
+ viewportPadding?: number;
571
573
  }
572
574
 
573
575
  declare function resolveOutputFormat(cliFormat?: string, dslFormat?: DslOutputFormat): {
@@ -597,6 +599,11 @@ declare function boxCenter(box: Box): Point;
597
599
  declare function expandBox(box: Box, margin: number | Insets): Box;
598
600
  declare function unionBoxes(boxes: readonly Box[]): Box;
599
601
  declare function intersectsAabb(a: Box, b: Box): boolean;
602
+ /**
603
+ * Area of overlap between two boxes, in square pixels.
604
+ * Returns 0 when the boxes do not intersect.
605
+ */
606
+ declare function overlapArea(first: Box, second: Box): number;
600
607
 
601
608
  interface LabelFitOptions {
602
609
  font: TextStyleOptions;
@@ -648,12 +655,27 @@ interface ShapeGeometry {
648
655
  declare function computeShapeGeometry(input: ShapeGeometryInput): ShapeGeometry;
649
656
  declare function getEdgePort(geometry: ShapeGeometry, toward: Point, preferredAnchor?: AnchorName): Point;
650
657
 
658
+ interface BoxSpatialIndexEntry {
659
+ id: string;
660
+ box: Box;
661
+ }
662
+ interface BoxSpatialIndex {
663
+ cellSize: number;
664
+ entries: ReadonlyMap<string, Box>;
665
+ cells: ReadonlyMap<string, readonly string[]>;
666
+ }
667
+ declare function createBoxSpatialIndex(entries: Iterable<BoxSpatialIndexEntry>, cellSize?: number): BoxSpatialIndex;
668
+ declare function queryBoxSpatialIndex(index: BoxSpatialIndex, box: Box): BoxSpatialIndexEntry[];
669
+ declare function querySegmentSpatialIndex(index: BoxSpatialIndex, start: Point, end: Point): BoxSpatialIndexEntry[];
670
+ declare function expandBoxForQuery(box: Box, margin: number): Box;
671
+
651
672
  interface DagreLayoutOptions {
652
673
  nodesep: number;
653
674
  ranksep: number;
654
675
  edgesep: number;
655
676
  marginx: number;
656
677
  marginy: number;
678
+ componentGap: number;
657
679
  ranker: "network-simplex" | "tight-tree" | "longest-path";
658
680
  }
659
681
  interface DagreLayoutNode {
@@ -677,6 +699,7 @@ interface InitialLayoutResult {
677
699
  }
678
700
 
679
701
  declare function runDagreInitialLayout(input: DagreLayoutInput): InitialLayoutResult;
702
+ declare function runComponentAwareDagreInitialLayout(input: DagreLayoutInput): InitialLayoutResult;
680
703
 
681
704
  type RouteKind = "orthogonal" | "straight" | "obstacle-avoiding";
682
705
  interface RouteEdgeInput {
@@ -688,6 +711,8 @@ interface RouteEdgeInput {
688
711
  targetAnchor?: AnchorName;
689
712
  obstacles?: readonly Box[];
690
713
  hardObstacles?: readonly Box[];
714
+ obstacleIndex?: BoxSpatialIndex;
715
+ hardObstacleIndex?: BoxSpatialIndex;
691
716
  /** Maximum greedy rerouting iterations (default 5). */
692
717
  maxRoutingAttempts?: number;
693
718
  }
@@ -709,7 +734,10 @@ type CanonicalJson = null | boolean | number | string | CanonicalJson[] | {
709
734
  declare function canonicalize(value: unknown, options?: CanonicalizeOptions): CanonicalJson;
710
735
  declare function stringifyCanonical(value: unknown, precision?: number): string;
711
736
 
737
+ type InitialLayoutMode = "dagre" | "positions";
712
738
  interface SolveDiagramOptions {
739
+ /** Selects the seed coordinates before constraints, routing, and export. */
740
+ initialLayout?: InitialLayoutMode;
713
741
  routeKind?: RouteKind;
714
742
  obstacleMargin?: number | Insets;
715
743
  /** Extra horizontal/vertical clearance reserved around nodes for edge corridors. */
@@ -718,7 +746,7 @@ interface SolveDiagramOptions {
718
746
  minLaneGutter?: number;
719
747
  prefitLabelSize?: boolean;
720
748
  minSiblingGap?: number;
721
- distributeContainedChildren?: boolean;
749
+ distributeContainedChildren?: boolean | "spread";
722
750
  pageBounds?: {
723
751
  width: number;
724
752
  height: number;
@@ -754,4 +782,4 @@ declare function solveDiagram(diagram: NormalizedDiagram, options?: SolveDiagram
754
782
  */
755
783
  declare function solveDiagramSafe(diagram: NormalizedDiagram, options?: SolveDiagramOptions): CoordinatedDiagram;
756
784
 
757
- export { type AlignConstraint, type AlignmentAxis, type AnchorName, type AnchorPoint, type Arrowhead, type Box, type CanonicalJson, type CanonicalizeOptions, type Constraint, type ConstraintBase, type ConstraintSolverInput, type ConstraintSolverResult, type ConstraintTarget, type ConstraintTargetKind, type ContainerGeometry, type ContainerGeometryInput, type ContainmentConstraint, type CoordinatedDiagram, type CoordinatedEdge, type CoordinatedEvidencePanel, type CoordinatedFrame, type CoordinatedGroup, type CoordinatedMatrixBlock, type CoordinatedNode, type CoordinatedPort, type CoordinatedTableBlock, DEFAULT_CANONICAL_PRECISION, DEFAULT_DSL_MAX_BYTES, DELIVERABILITY_DIAGNOSTIC_CODES, type DagreLayoutEdge, type DagreLayoutInput, type DagreLayoutNode, type DagreLayoutOptions, type DefaultTextMeasurerOptions, DeterministicTextMeasurer, type Diagnostic, type DiagnosticPathSegment, type DiagnosticSeverity, type DiagramDirection, type DiagramFrame, type DiagramMetadata, type DiagramStage, type DistributeConstraint, type DistributionAxis, type DslDiagnostic, type DslDiagnosticLayer, type DslOutputFormat, type EdgeArrowhead, type EdgeEndpoint, type EdgeStrokeStyle, type EvidenceCell, type EvidencePanel, type EvidencePanelItem, type EvidencePanelKind, type EvidenceTextLayout, type ExactPositionConstraint, type ExportFormat, type ExportOptions, type ExportResult, type InitialLayoutResult, type Insets, type IntentDiagram, type IntentEdge, type IntentGroup, type IntentNode, type JsonObject, type JsonPrimitive, type JsonValue, type Label, type LabelFitOptions, LabelFitter, type LabelLayout, type LabelLineLayout, type LayoutLock, type LayoutLockSource, type MatrixBlock, type NodeBase, type NodeCompartments, type NodePort, type NodeShape, type NormalizeDiagramDslOptions, type NormalizeDiagramDslResult, type NormalizedDiagram, type NormalizedEdge, type NormalizedGroup, type NormalizedNode, type ParseDiagramDslOptions, type ParseDiagramDslResult, type ParsedEdgeShorthand, type Point, type PortKind, type PortShiftingOptions, type PortSide, type PreparedText, PretextTextMeasurer, type RelativePositionConstraint, type RelativePositionRelation, type RenderDiagramDslOptions, type RenderDiagramDslResult, type RouteEdgeInput, type RouteEdgeResult, type RouteKind, type ShapeGeometry, type ShapeGeometryInput, type Size, type SolveDiagramOptions, type SolvedTextAnnotation, type Swimlane, type SwimlaneLane, type SwimlaneLayout, type SwimlaneOrientation, type TableBlock, type TableColumn, type TableRow, type TextCursor, type TextLayout, type TextLayoutLine, type TextMeasurementBackend, type TextMeasurer, type TextStyleOptions, type TextSurfaceKind, type VisualStyle, applyLayoutConstraints, assertFiniteNonNegative, assertFinitePositive, boxCenter, canonicalize, computeArrowhead, computeContainerGeometry, computeShapeGeometry, createDefaultTextMeasurer, expandBox, exportExcalidraw, exportSvg, fitLabel, getEdgePort, installNodeCanvasRuntime, intersectsAabb, isPretextRuntimeAvailable, normalizeDiagramDsl, normalizeInsets, parseDiagramDsl, parseEdgeShorthand, renderDiagramDsl, resolveLineHeight, resolveOutputFormat, routeEdge, runDagreInitialLayout, simplifyRoute, solveDiagram, solveDiagramSafe, sortDslDiagnostics, stringifyCanonical, toCanvasFont, unionBoxes, validateBox, validateTextStyle };
785
+ export { type AlignConstraint, type AlignmentAxis, type AnchorName, type AnchorPoint, type Arrowhead, type Box, type BoxSpatialIndex, type BoxSpatialIndexEntry, type CanonicalJson, type CanonicalizeOptions, type Constraint, type ConstraintBase, type ConstraintSolverInput, type ConstraintSolverResult, type ConstraintTarget, type ConstraintTargetKind, type ContainerGeometry, type ContainerGeometryInput, type ContainmentConstraint, type CoordinatedDiagram, type CoordinatedEdge, type CoordinatedEvidencePanel, type CoordinatedFrame, type CoordinatedGroup, type CoordinatedMatrixBlock, type CoordinatedNode, type CoordinatedPort, type CoordinatedTableBlock, DEFAULT_CANONICAL_PRECISION, DEFAULT_DSL_MAX_BYTES, DELIVERABILITY_DIAGNOSTIC_CODES, type DagreLayoutEdge, type DagreLayoutInput, type DagreLayoutNode, type DagreLayoutOptions, type DefaultTextMeasurerOptions, DeterministicTextMeasurer, type Diagnostic, type DiagnosticPathSegment, type DiagnosticSeverity, type DiagramDirection, type DiagramFrame, type DiagramMetadata, type DiagramStage, type DistributeConstraint, type DistributionAxis, type DslDiagnostic, type DslDiagnosticLayer, type DslOutputFormat, type EdgeArrowhead, type EdgeEndpoint, type EdgeStrokeStyle, type EvidenceCell, type EvidencePanel, type EvidencePanelItem, type EvidencePanelKind, type EvidenceTextLayout, type ExactPositionConstraint, type ExportFormat, type ExportOptions, type ExportResult, type InitialLayoutMode, type InitialLayoutResult, type Insets, type IntentDiagram, type IntentEdge, type IntentGroup, type IntentNode, type JsonObject, type JsonPrimitive, type JsonValue, type Label, type LabelFitOptions, LabelFitter, type LabelLayout, type LabelLineLayout, type LayoutLock, type LayoutLockSource, type MatrixBlock, type NodeBase, type NodeCompartments, type NodePort, type NodeShape, type NormalizeDiagramDslOptions, type NormalizeDiagramDslResult, type NormalizedDiagram, type NormalizedEdge, type NormalizedGroup, type NormalizedNode, type ParseDiagramDslOptions, type ParseDiagramDslResult, type ParsedEdgeShorthand, type Point, type PortKind, type PortShiftingOptions, type PortSide, type PreparedText, PretextTextMeasurer, type RelativePositionConstraint, type RelativePositionRelation, type RenderDiagramDslOptions, type RenderDiagramDslResult, type RouteEdgeInput, type RouteEdgeResult, type RouteKind, type ShapeGeometry, type ShapeGeometryInput, type Size, type SolveDiagramOptions, type SolvedTextAnnotation, type Swimlane, type SwimlaneLane, type SwimlaneLayout, type SwimlaneOrientation, type TableBlock, type TableColumn, type TableRow, type TextCursor, type TextLayout, type TextLayoutLine, type TextMeasurementBackend, type TextMeasurer, type TextStyleOptions, type TextSurfaceKind, type VisualStyle, applyLayoutConstraints, assertFiniteNonNegative, assertFinitePositive, boxCenter, canonicalize, computeArrowhead, computeContainerGeometry, computeShapeGeometry, createBoxSpatialIndex, createDefaultTextMeasurer, expandBox, expandBoxForQuery, exportExcalidraw, exportSvg, fitLabel, getEdgePort, installNodeCanvasRuntime, intersectsAabb, isPretextRuntimeAvailable, normalizeDiagramDsl, normalizeInsets, overlapArea, parseDiagramDsl, parseEdgeShorthand, queryBoxSpatialIndex, querySegmentSpatialIndex, renderDiagramDsl, resolveLineHeight, resolveOutputFormat, routeEdge, runComponentAwareDagreInitialLayout, runDagreInitialLayout, simplifyRoute, solveDiagram, solveDiagramSafe, sortDslDiagnostics, stringifyCanonical, toCanvasFont, unionBoxes, validateBox, validateTextStyle };
package/dist/index.d.ts CHANGED
@@ -434,7 +434,7 @@ interface ConstraintSolverInput {
434
434
  direction: DiagramDirection;
435
435
  overlapSpacing?: number;
436
436
  minSiblingGap?: number;
437
- distributeContainedChildren?: boolean;
437
+ distributeContainedChildren?: boolean | "spread";
438
438
  boxes: ReadonlyMap<string, Box>;
439
439
  nodes: readonly NormalizedNode[];
440
440
  groups: readonly NormalizedGroup[];
@@ -568,6 +568,8 @@ interface ExportResult {
568
568
  }
569
569
  interface ExportOptions {
570
570
  title?: string;
571
+ /** Padding around diagram bounds for viewport metadata, in pixels. */
572
+ viewportPadding?: number;
571
573
  }
572
574
 
573
575
  declare function resolveOutputFormat(cliFormat?: string, dslFormat?: DslOutputFormat): {
@@ -597,6 +599,11 @@ declare function boxCenter(box: Box): Point;
597
599
  declare function expandBox(box: Box, margin: number | Insets): Box;
598
600
  declare function unionBoxes(boxes: readonly Box[]): Box;
599
601
  declare function intersectsAabb(a: Box, b: Box): boolean;
602
+ /**
603
+ * Area of overlap between two boxes, in square pixels.
604
+ * Returns 0 when the boxes do not intersect.
605
+ */
606
+ declare function overlapArea(first: Box, second: Box): number;
600
607
 
601
608
  interface LabelFitOptions {
602
609
  font: TextStyleOptions;
@@ -648,12 +655,27 @@ interface ShapeGeometry {
648
655
  declare function computeShapeGeometry(input: ShapeGeometryInput): ShapeGeometry;
649
656
  declare function getEdgePort(geometry: ShapeGeometry, toward: Point, preferredAnchor?: AnchorName): Point;
650
657
 
658
+ interface BoxSpatialIndexEntry {
659
+ id: string;
660
+ box: Box;
661
+ }
662
+ interface BoxSpatialIndex {
663
+ cellSize: number;
664
+ entries: ReadonlyMap<string, Box>;
665
+ cells: ReadonlyMap<string, readonly string[]>;
666
+ }
667
+ declare function createBoxSpatialIndex(entries: Iterable<BoxSpatialIndexEntry>, cellSize?: number): BoxSpatialIndex;
668
+ declare function queryBoxSpatialIndex(index: BoxSpatialIndex, box: Box): BoxSpatialIndexEntry[];
669
+ declare function querySegmentSpatialIndex(index: BoxSpatialIndex, start: Point, end: Point): BoxSpatialIndexEntry[];
670
+ declare function expandBoxForQuery(box: Box, margin: number): Box;
671
+
651
672
  interface DagreLayoutOptions {
652
673
  nodesep: number;
653
674
  ranksep: number;
654
675
  edgesep: number;
655
676
  marginx: number;
656
677
  marginy: number;
678
+ componentGap: number;
657
679
  ranker: "network-simplex" | "tight-tree" | "longest-path";
658
680
  }
659
681
  interface DagreLayoutNode {
@@ -677,6 +699,7 @@ interface InitialLayoutResult {
677
699
  }
678
700
 
679
701
  declare function runDagreInitialLayout(input: DagreLayoutInput): InitialLayoutResult;
702
+ declare function runComponentAwareDagreInitialLayout(input: DagreLayoutInput): InitialLayoutResult;
680
703
 
681
704
  type RouteKind = "orthogonal" | "straight" | "obstacle-avoiding";
682
705
  interface RouteEdgeInput {
@@ -688,6 +711,8 @@ interface RouteEdgeInput {
688
711
  targetAnchor?: AnchorName;
689
712
  obstacles?: readonly Box[];
690
713
  hardObstacles?: readonly Box[];
714
+ obstacleIndex?: BoxSpatialIndex;
715
+ hardObstacleIndex?: BoxSpatialIndex;
691
716
  /** Maximum greedy rerouting iterations (default 5). */
692
717
  maxRoutingAttempts?: number;
693
718
  }
@@ -709,7 +734,10 @@ type CanonicalJson = null | boolean | number | string | CanonicalJson[] | {
709
734
  declare function canonicalize(value: unknown, options?: CanonicalizeOptions): CanonicalJson;
710
735
  declare function stringifyCanonical(value: unknown, precision?: number): string;
711
736
 
737
+ type InitialLayoutMode = "dagre" | "positions";
712
738
  interface SolveDiagramOptions {
739
+ /** Selects the seed coordinates before constraints, routing, and export. */
740
+ initialLayout?: InitialLayoutMode;
713
741
  routeKind?: RouteKind;
714
742
  obstacleMargin?: number | Insets;
715
743
  /** Extra horizontal/vertical clearance reserved around nodes for edge corridors. */
@@ -718,7 +746,7 @@ interface SolveDiagramOptions {
718
746
  minLaneGutter?: number;
719
747
  prefitLabelSize?: boolean;
720
748
  minSiblingGap?: number;
721
- distributeContainedChildren?: boolean;
749
+ distributeContainedChildren?: boolean | "spread";
722
750
  pageBounds?: {
723
751
  width: number;
724
752
  height: number;
@@ -754,4 +782,4 @@ declare function solveDiagram(diagram: NormalizedDiagram, options?: SolveDiagram
754
782
  */
755
783
  declare function solveDiagramSafe(diagram: NormalizedDiagram, options?: SolveDiagramOptions): CoordinatedDiagram;
756
784
 
757
- export { type AlignConstraint, type AlignmentAxis, type AnchorName, type AnchorPoint, type Arrowhead, type Box, type CanonicalJson, type CanonicalizeOptions, type Constraint, type ConstraintBase, type ConstraintSolverInput, type ConstraintSolverResult, type ConstraintTarget, type ConstraintTargetKind, type ContainerGeometry, type ContainerGeometryInput, type ContainmentConstraint, type CoordinatedDiagram, type CoordinatedEdge, type CoordinatedEvidencePanel, type CoordinatedFrame, type CoordinatedGroup, type CoordinatedMatrixBlock, type CoordinatedNode, type CoordinatedPort, type CoordinatedTableBlock, DEFAULT_CANONICAL_PRECISION, DEFAULT_DSL_MAX_BYTES, DELIVERABILITY_DIAGNOSTIC_CODES, type DagreLayoutEdge, type DagreLayoutInput, type DagreLayoutNode, type DagreLayoutOptions, type DefaultTextMeasurerOptions, DeterministicTextMeasurer, type Diagnostic, type DiagnosticPathSegment, type DiagnosticSeverity, type DiagramDirection, type DiagramFrame, type DiagramMetadata, type DiagramStage, type DistributeConstraint, type DistributionAxis, type DslDiagnostic, type DslDiagnosticLayer, type DslOutputFormat, type EdgeArrowhead, type EdgeEndpoint, type EdgeStrokeStyle, type EvidenceCell, type EvidencePanel, type EvidencePanelItem, type EvidencePanelKind, type EvidenceTextLayout, type ExactPositionConstraint, type ExportFormat, type ExportOptions, type ExportResult, type InitialLayoutResult, type Insets, type IntentDiagram, type IntentEdge, type IntentGroup, type IntentNode, type JsonObject, type JsonPrimitive, type JsonValue, type Label, type LabelFitOptions, LabelFitter, type LabelLayout, type LabelLineLayout, type LayoutLock, type LayoutLockSource, type MatrixBlock, type NodeBase, type NodeCompartments, type NodePort, type NodeShape, type NormalizeDiagramDslOptions, type NormalizeDiagramDslResult, type NormalizedDiagram, type NormalizedEdge, type NormalizedGroup, type NormalizedNode, type ParseDiagramDslOptions, type ParseDiagramDslResult, type ParsedEdgeShorthand, type Point, type PortKind, type PortShiftingOptions, type PortSide, type PreparedText, PretextTextMeasurer, type RelativePositionConstraint, type RelativePositionRelation, type RenderDiagramDslOptions, type RenderDiagramDslResult, type RouteEdgeInput, type RouteEdgeResult, type RouteKind, type ShapeGeometry, type ShapeGeometryInput, type Size, type SolveDiagramOptions, type SolvedTextAnnotation, type Swimlane, type SwimlaneLane, type SwimlaneLayout, type SwimlaneOrientation, type TableBlock, type TableColumn, type TableRow, type TextCursor, type TextLayout, type TextLayoutLine, type TextMeasurementBackend, type TextMeasurer, type TextStyleOptions, type TextSurfaceKind, type VisualStyle, applyLayoutConstraints, assertFiniteNonNegative, assertFinitePositive, boxCenter, canonicalize, computeArrowhead, computeContainerGeometry, computeShapeGeometry, createDefaultTextMeasurer, expandBox, exportExcalidraw, exportSvg, fitLabel, getEdgePort, installNodeCanvasRuntime, intersectsAabb, isPretextRuntimeAvailable, normalizeDiagramDsl, normalizeInsets, parseDiagramDsl, parseEdgeShorthand, renderDiagramDsl, resolveLineHeight, resolveOutputFormat, routeEdge, runDagreInitialLayout, simplifyRoute, solveDiagram, solveDiagramSafe, sortDslDiagnostics, stringifyCanonical, toCanvasFont, unionBoxes, validateBox, validateTextStyle };
785
+ export { type AlignConstraint, type AlignmentAxis, type AnchorName, type AnchorPoint, type Arrowhead, type Box, type BoxSpatialIndex, type BoxSpatialIndexEntry, type CanonicalJson, type CanonicalizeOptions, type Constraint, type ConstraintBase, type ConstraintSolverInput, type ConstraintSolverResult, type ConstraintTarget, type ConstraintTargetKind, type ContainerGeometry, type ContainerGeometryInput, type ContainmentConstraint, type CoordinatedDiagram, type CoordinatedEdge, type CoordinatedEvidencePanel, type CoordinatedFrame, type CoordinatedGroup, type CoordinatedMatrixBlock, type CoordinatedNode, type CoordinatedPort, type CoordinatedTableBlock, DEFAULT_CANONICAL_PRECISION, DEFAULT_DSL_MAX_BYTES, DELIVERABILITY_DIAGNOSTIC_CODES, type DagreLayoutEdge, type DagreLayoutInput, type DagreLayoutNode, type DagreLayoutOptions, type DefaultTextMeasurerOptions, DeterministicTextMeasurer, type Diagnostic, type DiagnosticPathSegment, type DiagnosticSeverity, type DiagramDirection, type DiagramFrame, type DiagramMetadata, type DiagramStage, type DistributeConstraint, type DistributionAxis, type DslDiagnostic, type DslDiagnosticLayer, type DslOutputFormat, type EdgeArrowhead, type EdgeEndpoint, type EdgeStrokeStyle, type EvidenceCell, type EvidencePanel, type EvidencePanelItem, type EvidencePanelKind, type EvidenceTextLayout, type ExactPositionConstraint, type ExportFormat, type ExportOptions, type ExportResult, type InitialLayoutMode, type InitialLayoutResult, type Insets, type IntentDiagram, type IntentEdge, type IntentGroup, type IntentNode, type JsonObject, type JsonPrimitive, type JsonValue, type Label, type LabelFitOptions, LabelFitter, type LabelLayout, type LabelLineLayout, type LayoutLock, type LayoutLockSource, type MatrixBlock, type NodeBase, type NodeCompartments, type NodePort, type NodeShape, type NormalizeDiagramDslOptions, type NormalizeDiagramDslResult, type NormalizedDiagram, type NormalizedEdge, type NormalizedGroup, type NormalizedNode, type ParseDiagramDslOptions, type ParseDiagramDslResult, type ParsedEdgeShorthand, type Point, type PortKind, type PortShiftingOptions, type PortSide, type PreparedText, PretextTextMeasurer, type RelativePositionConstraint, type RelativePositionRelation, type RenderDiagramDslOptions, type RenderDiagramDslResult, type RouteEdgeInput, type RouteEdgeResult, type RouteKind, type ShapeGeometry, type ShapeGeometryInput, type Size, type SolveDiagramOptions, type SolvedTextAnnotation, type Swimlane, type SwimlaneLane, type SwimlaneLayout, type SwimlaneOrientation, type TableBlock, type TableColumn, type TableRow, type TextCursor, type TextLayout, type TextLayoutLine, type TextMeasurementBackend, type TextMeasurer, type TextStyleOptions, type TextSurfaceKind, type VisualStyle, applyLayoutConstraints, assertFiniteNonNegative, assertFinitePositive, boxCenter, canonicalize, computeArrowhead, computeContainerGeometry, computeShapeGeometry, createBoxSpatialIndex, createDefaultTextMeasurer, expandBox, expandBoxForQuery, exportExcalidraw, exportSvg, fitLabel, getEdgePort, installNodeCanvasRuntime, intersectsAabb, isPretextRuntimeAvailable, normalizeDiagramDsl, normalizeInsets, overlapArea, parseDiagramDsl, parseEdgeShorthand, queryBoxSpatialIndex, querySegmentSpatialIndex, renderDiagramDsl, resolveLineHeight, resolveOutputFormat, routeEdge, runComponentAwareDagreInitialLayout, runDagreInitialLayout, simplifyRoute, solveDiagram, solveDiagramSafe, sortDslDiagnostics, stringifyCanonical, toCanvasFont, unionBoxes, validateBox, validateTextStyle };