@statelyai/layout 0.3.0 → 0.4.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 (110) hide show
  1. package/NOTICE.md +4 -2
  2. package/README.md +150 -11
  3. package/dist/elkjs/index.cjs +2 -2
  4. package/dist/elkjs/index.d.cts +2 -0
  5. package/dist/elkjs/index.d.mts +2 -0
  6. package/dist/elkjs/index.mjs +2 -2
  7. package/dist/elkjs/main.cjs +1 -1
  8. package/dist/elkjs/main.mjs +1 -1
  9. package/dist/elkjs/worker.cjs +2 -2
  10. package/dist/elkjs/worker.mjs +2 -2
  11. package/dist/elkjs-BBfKN4Dw.mjs +3075 -0
  12. package/dist/elkjs-DNfXDPup.cjs +3104 -0
  13. package/dist/{index-BEA_pzeT.d.cts → index-B6cWNrMw.d.cts} +9 -1
  14. package/dist/{index-DNTLRsDl.d.mts → index-CJQLUKD9.d.mts} +9 -1
  15. package/dist/{index-DNixtE3h.d.mts → index-DT6lPMfS.d.cts} +85 -5
  16. package/dist/{index-D9dhxrRl.d.cts → index-F1U-fCTu.d.mts} +85 -5
  17. package/dist/index.cjs +6 -3
  18. package/dist/index.d.cts +3 -3
  19. package/dist/index.d.mts +3 -3
  20. package/dist/index.mjs +4 -4
  21. package/dist/layered/index.cjs +3 -1
  22. package/dist/layered/index.d.cts +2 -2
  23. package/dist/layered/index.d.mts +2 -2
  24. package/dist/layered/index.mjs +2 -2
  25. package/dist/{layered-B2buJqMf.cjs → layered-5RxQhryb.cjs} +11184 -2932
  26. package/dist/{layered-DGFTeQSl.mjs → layered-DSesbctm.mjs} +12059 -3903
  27. package/dist/{layout-engine-Dn1PiFwP.cjs → layout-engine-CLFySz3R.cjs} +5 -18
  28. package/dist/{layout-engine-Cs5tatA6.mjs → layout-engine-GpBIX6ng.mjs} +3 -10
  29. package/dist/routing/index.cjs +2 -1
  30. package/dist/routing/index.d.cts +2 -2
  31. package/dist/routing/index.d.mts +2 -2
  32. package/dist/routing/index.mjs +2 -2
  33. package/dist/{routing-A2hrK9MP.mjs → routing-CR8flv8b.mjs} +977 -593
  34. package/dist/{routing-ujEP7Qh6.cjs → routing-QIdGGFBe.cjs} +986 -596
  35. package/package.json +8 -2
  36. package/src/authoring/coordinates.ts +28 -8
  37. package/src/authoring/partial.ts +7 -2
  38. package/src/authoring/routing.ts +4 -1
  39. package/src/constraints.ts +174 -6
  40. package/src/elkjs/index.ts +1476 -449
  41. package/src/elkjs/layout-quality.ts +267 -0
  42. package/src/elkjs/opposing-tracks.ts +161 -0
  43. package/src/elkjs/orthogonal-junctions.ts +174 -0
  44. package/src/elkjs/statechart.ts +9 -3
  45. package/src/elkjs/types.ts +2 -0
  46. package/src/index.ts +2 -0
  47. package/src/internal/elkjs-compatibility.ts +4 -1
  48. package/src/internal/layered-trace.ts +48 -0
  49. package/src/internal/layout-engine.ts +2 -1
  50. package/src/java-random.ts +6 -0
  51. package/src/layered/bk-node-placement.ts +403 -92
  52. package/src/layered/center-labels.ts +398 -0
  53. package/src/layered/compaction-bounds.ts +26 -0
  54. package/src/layered/compaction-errors.ts +2 -0
  55. package/src/layered/compaction-scanline.ts +63 -0
  56. package/src/layered/compound-boundaries.ts +99 -0
  57. package/src/layered/compound.ts +35 -7
  58. package/src/layered/constraint-orientation.ts +141 -0
  59. package/src/layered/crossing-constraints.ts +243 -0
  60. package/src/layered/crossing-counter.ts +233 -0
  61. package/src/layered/crossing-graph.ts +401 -0
  62. package/src/layered/cycle-random.ts +22 -0
  63. package/src/layered/elk-port-lists.ts +243 -0
  64. package/src/layered/end-labels.ts +124 -0
  65. package/src/layered/external-port-dummy.ts +137 -0
  66. package/src/layered/feedback-chains.ts +114 -0
  67. package/src/layered/fixed-self-loop.ts +150 -0
  68. package/src/layered/greedy-switch-decider.ts +356 -0
  69. package/src/layered/grouped-compaction.ts +787 -0
  70. package/src/layered/gwt-sort.ts +53 -0
  71. package/src/layered/hierarchical-port-phases.ts +242 -0
  72. package/src/layered/hierarchical-port-restoration.ts +233 -0
  73. package/src/layered/hierarchical-port-routing.ts +179 -0
  74. package/src/layered/hierarchy-crossing.ts +121 -0
  75. package/src/layered/hierarchy-sweepiness.ts +79 -0
  76. package/src/layered/hints.ts +371 -0
  77. package/src/layered/hyperedge-dummy-merger.ts +195 -0
  78. package/src/layered/index.ts +875 -161
  79. package/src/layered/initial-model-order.ts +404 -0
  80. package/src/layered/inverted-ports.ts +207 -0
  81. package/src/layered/label-dummy-switcher.ts +200 -0
  82. package/src/layered/long-edges.ts +135 -44
  83. package/src/layered/loop-envelopes.ts +184 -0
  84. package/src/layered/native-routing.ts +275 -0
  85. package/src/layered/network-simplex.ts +11 -15
  86. package/src/layered/node-margins.ts +59 -0
  87. package/src/layered/north-south-ports.ts +271 -0
  88. package/src/layered/opposing-tracks.ts +1044 -0
  89. package/src/layered/orthogonal-cycle-order.ts +106 -0
  90. package/src/layered/orthogonal-hypersegments.ts +154 -0
  91. package/src/layered/orthogonal-junctions.ts +202 -0
  92. package/src/layered/orthogonal-segments.ts +243 -0
  93. package/src/layered/placement-orientation.ts +22 -0
  94. package/src/layered/port-distributor.ts +192 -0
  95. package/src/layered/port-edge-order.ts +20 -0
  96. package/src/layered/replace-routing.ts +45 -0
  97. package/src/layered/routing-coordinates.ts +32 -0
  98. package/src/layered/separate-exterior-labels.ts +24 -6
  99. package/src/layered/spacing.ts +34 -12
  100. package/src/layered/splitter-order.ts +106 -0
  101. package/src/layered/strategies.ts +2124 -886
  102. package/src/layered/types.ts +13 -0
  103. package/src/layered/weighted-compaction.ts +84 -0
  104. package/src/routing/adapters.ts +32 -0
  105. package/src/routing/algorithms.ts +433 -21
  106. package/src/routing/coordination.ts +8 -3
  107. package/src/routing/index.ts +1 -0
  108. package/src/routing/search.ts +93 -11
  109. package/dist/elkjs-DaHMISnQ.mjs +0 -1677
  110. package/dist/elkjs-dMghiiWW.cjs +0 -1706
@@ -35,6 +35,14 @@ declare function getLayoutRoutes(graph: VisualGraph): ReadonlyMap<string, Route>
35
35
  declare function routeToPolylines(route: Route, options?: {
36
36
  readonly tolerance?: number;
37
37
  }): readonly (readonly RoutePoint[])[];
38
+ /**
39
+ * One point list for consumers of `GraphEdge.points`. Sections are joined
40
+ * through their gaps (an edge label, for example); between orthogonal
41
+ * sections the join is orthogonal too, so it never adds a diagonal.
42
+ */
43
+ declare function routeToPoints(route: Route, options?: {
44
+ readonly tolerance?: number;
45
+ }): RoutePoint[];
38
46
  /** Compatibility for single-section native consumers. Refuses to erase gaps or topology. */
39
47
  declare function routeToGraphPatch(route: Route, options?: {
40
48
  readonly tolerance?: number;
@@ -69,4 +77,4 @@ declare const routingStrategies: Readonly<{
69
77
  bundle: NativeRoutingStrategy;
70
78
  }>;
71
79
  //#endregion
72
- export { getTangentAtLength as C, applyRoutePatches as D, toSvgPath as E, getPointAtLength as S, roundCorners as T, routeToPolylines as _, fanRouting as a, getPathBounds as b, orthogonalRouting as c, routingStrategies as d, selfLoopRouting as f, routeToGraphPatch as g, pathFromSplinePoints as h, curvedRouting as i, parallelRouting as l, getLayoutRoutes as m, bundleRouting as n, octilinearRouting as o, straightRouting as p, busRouting as r, organicRouting as s, bezierRouting as t, polylineRouting as u, FlattenPathOptions as v, pathFromPoints as w, getPathLength as x, flattenPath as y };
80
+ export { getPointAtLength as C, toSvgPath as D, roundCorners as E, applyRoutePatches as O, getPathLength as S, pathFromPoints as T, routeToPoints as _, fanRouting as a, flattenPath as b, orthogonalRouting as c, routingStrategies as d, selfLoopRouting as f, routeToGraphPatch as g, pathFromSplinePoints as h, curvedRouting as i, parallelRouting as l, getLayoutRoutes as m, bundleRouting as n, octilinearRouting as o, straightRouting as p, busRouting as r, organicRouting as s, bezierRouting as t, polylineRouting as u, routeToPolylines as v, getTangentAtLength as w, getPathBounds as x, FlattenPathOptions as y };
@@ -35,6 +35,14 @@ declare function getLayoutRoutes(graph: VisualGraph): ReadonlyMap<string, Route>
35
35
  declare function routeToPolylines(route: Route, options?: {
36
36
  readonly tolerance?: number;
37
37
  }): readonly (readonly RoutePoint[])[];
38
+ /**
39
+ * One point list for consumers of `GraphEdge.points`. Sections are joined
40
+ * through their gaps (an edge label, for example); between orthogonal
41
+ * sections the join is orthogonal too, so it never adds a diagonal.
42
+ */
43
+ declare function routeToPoints(route: Route, options?: {
44
+ readonly tolerance?: number;
45
+ }): RoutePoint[];
38
46
  /** Compatibility for single-section native consumers. Refuses to erase gaps or topology. */
39
47
  declare function routeToGraphPatch(route: Route, options?: {
40
48
  readonly tolerance?: number;
@@ -69,4 +77,4 @@ declare const routingStrategies: Readonly<{
69
77
  bundle: NativeRoutingStrategy;
70
78
  }>;
71
79
  //#endregion
72
- export { getTangentAtLength as C, applyRoutePatches as D, toSvgPath as E, getPointAtLength as S, roundCorners as T, routeToPolylines as _, fanRouting as a, getPathBounds as b, orthogonalRouting as c, routingStrategies as d, selfLoopRouting as f, routeToGraphPatch as g, pathFromSplinePoints as h, curvedRouting as i, parallelRouting as l, getLayoutRoutes as m, bundleRouting as n, octilinearRouting as o, straightRouting as p, busRouting as r, organicRouting as s, bezierRouting as t, polylineRouting as u, FlattenPathOptions as v, pathFromPoints as w, getPathLength as x, flattenPath as y };
80
+ export { getPointAtLength as C, toSvgPath as D, roundCorners as E, applyRoutePatches as O, getPathLength as S, pathFromPoints as T, routeToPoints as _, fanRouting as a, flattenPath as b, orthogonalRouting as c, routingStrategies as d, selfLoopRouting as f, routeToGraphPatch as g, pathFromSplinePoints as h, curvedRouting as i, parallelRouting as l, getLayoutRoutes as m, bundleRouting as n, octilinearRouting as o, straightRouting as p, busRouting as r, organicRouting as s, bezierRouting as t, polylineRouting as u, routeToPolylines as v, getTangentAtLength as w, getPathBounds as x, FlattenPathOptions as y };
@@ -1,6 +1,6 @@
1
- import { r as Route } from "./types-CT2akdK0.mjs";
2
- import { LayoutConstraints } from "@statelyai/graph/layout";
1
+ import { n as NativeRoutingStrategy, r as Route, v as RoutingSettings } from "./types-uxPlGRof.cjs";
3
2
  import { EntityRect, Graph, GraphEdge, GraphNode, GraphPatch, GraphPort, Point, VisualGraph } from "@statelyai/graph";
3
+ import { LayoutConstraints } from "@statelyai/graph/layout";
4
4
 
5
5
  //#region src/constraints.d.ts
6
6
  type GeometryReference = {
@@ -144,6 +144,53 @@ interface LayoutResult<N = unknown, E = unknown, G = unknown, P = unknown> {
144
144
  metrics: LayoutMetrics;
145
145
  }
146
146
  //#endregion
147
+ //#region src/layered/hints.d.ts
148
+ /**
149
+ * Hints steer the layered phases toward a reader's expectations. They are
150
+ * preferences unless marked `require`, and never at the cost of a defect: a
151
+ * hint that would make nodes overlap is relaxed and reported instead.
152
+ */
153
+ type HintStrength = "prefer" | "require";
154
+ interface HintBase {
155
+ id: string;
156
+ strength?: HintStrength;
157
+ }
158
+ /** Place a node at the start (top-left) or end of its container. */
159
+ interface AnchorHint extends HintBase {
160
+ kind: "anchor";
161
+ nodeId: string;
162
+ corner: "start" | "end";
163
+ }
164
+ /** Align the centers of nodes that follow each other, such as sequential states. */
165
+ interface ChainHint extends HintBase {
166
+ kind: "chain";
167
+ nodeIds: readonly string[];
168
+ }
169
+ type LayoutHint = AnchorHint | ChainHint;
170
+ /** Serializable hint constructors, alongside the `c` geometry constraint constructors. */
171
+ declare const hint: {
172
+ anchor: (value: Omit<AnchorHint, "kind">) => AnchorHint;
173
+ chain: (value: Omit<ChainHint, "kind">) => ChainHint;
174
+ };
175
+ /**
176
+ * Hints for statecharts: each container's initial state (and the graph's)
177
+ * is required at the start, and each run of states joined one-to-one within
178
+ * the same parent forms a preferred chain. Callers can filter or extend the
179
+ * result.
180
+ */
181
+ declare function statechartHints(graph: {
182
+ initialNodeId?: string | null;
183
+ nodes: readonly {
184
+ id: string;
185
+ parentId?: string | null;
186
+ initialNodeId?: string | null;
187
+ }[];
188
+ edges: readonly {
189
+ sourceId: string;
190
+ targetId: string;
191
+ }[];
192
+ }): LayoutHint[];
193
+ //#endregion
147
194
  //#region src/layered/elk-options.generated.d.ts
148
195
  interface ElkLayeredOptionValueByName {
149
196
  "spacing.commentComment"?: number;
@@ -1152,6 +1199,8 @@ interface LayoutPadding {
1152
1199
  left: number;
1153
1200
  }
1154
1201
  interface LayeredPhaseInput {
1202
+ /** Authored edge order retained through label and long-edge expansion. */
1203
+ modelOrderByEdgeId?: ReadonlyMap<string, number>;
1155
1204
  graph: Graph<unknown, unknown, unknown, unknown>;
1156
1205
  sizes: ReadonlyMap<string, NodeSize>;
1157
1206
  direction: LayoutDirection;
@@ -1167,11 +1216,14 @@ interface AcyclicOrientation {
1167
1216
  reversedEdgeIds: ReadonlySet<string>;
1168
1217
  }
1169
1218
  interface LayerAssignment {
1219
+ layerCount?: number;
1170
1220
  layerByNodeId: ReadonlyMap<string, number>;
1171
1221
  /** Layer-internal seed order produced by layerers whose insertion order is observable. */
1172
1222
  seedOrder?: readonly string[];
1173
1223
  }
1174
1224
  interface LayerOrder {
1225
+ /** Canonical clockwise physical port identities, independent of edge reversal. */
1226
+ physicalPortOrderByNodeId?: ReadonlyMap<string, readonly string[]>;
1175
1227
  layers: readonly (readonly string[])[];
1176
1228
  /** Internal ELK sweep state retained for exact port-aware placement. */
1177
1229
  inputPortOrderByNodeId?: ReadonlyMap<string, readonly string[]>;
@@ -1183,6 +1235,8 @@ interface NodePlacement {
1183
1235
  }
1184
1236
  interface EdgeRoutes {
1185
1237
  pointsByEdgeId: ReadonlyMap<string, readonly Point[]>;
1238
+ /** Branch points generated on physical orthogonal hypersegments before restoration. */
1239
+ junctionPointsByEdgeId?: ReadonlyMap<string, readonly Point[]>;
1186
1240
  /** ELK spline segment NUB controls retained until long-edge joining. */
1187
1241
  splineNubControlsByEdgeId?: ReadonlyMap<string, readonly Point[]>;
1188
1242
  /** Reversed fixed-side routes that must stay outside the node envelope during compaction. */
@@ -1221,12 +1275,19 @@ interface CompoundEdgeAttachment {
1221
1275
  target?: "content" | "outer";
1222
1276
  }
1223
1277
  interface LayeredLayoutOptions {
1278
+ /** Replace initial routes after initial placement and routing, without moving geometry. */
1279
+ routing?: {
1280
+ strategy: Pick<NativeRoutingStrategy, "route">;
1281
+ settings?: RoutingSettings;
1282
+ };
1224
1283
  direction?: LayoutDirection;
1225
1284
  compound?: (node: GraphNode) => CompoundLayoutOptions | undefined;
1226
1285
  edgeAttachment?: (edge: GraphEdge) => CompoundEdgeAttachment | undefined;
1227
1286
  spacing?: Partial<LayeredSpacing>;
1228
1287
  padding?: number | Partial<LayoutPadding>;
1229
1288
  constraints?: LayoutConstraints;
1289
+ /** Reader-facing preferences applied during layering, ordering and placement. */
1290
+ hints?: readonly LayoutHint[];
1230
1291
  measure?: (node: GraphNode) => NodeSize;
1231
1292
  crossingSweeps?: number;
1232
1293
  strategies?: LayeredStrategies;
@@ -1253,7 +1314,7 @@ type CompoundVisualGraph<N = unknown, E = unknown, G = unknown, P = unknown> = V
1253
1314
  declare const breakCyclesWithDepthFirstSearch: CycleBreaker;
1254
1315
  declare const breakCyclesGreedily: CycleBreaker;
1255
1316
  declare const breakCyclesGreedilyByModelOrder: CycleBreaker;
1256
- /** ELK MODEL_ORDER for flat graphs without FIRST/LAST layer constraints. */
1317
+ /** ELK MODEL_ORDER: layer-constrained nodes (e.g. external port dummies) order before/after the rest. */
1257
1318
  declare const breakCyclesByModelOrder: CycleBreaker;
1258
1319
  /** ELK INTERACTIVE: honor authored x-order, then remove any remaining DFS back edges. */
1259
1320
  declare const breakCyclesInteractively: CycleBreaker;
@@ -1294,7 +1355,7 @@ declare const assignLayersWithMinWidth: LayerAssigner;
1294
1355
  declare const assignLayersWithStretchWidth: LayerAssigner;
1295
1356
  //#endregion
1296
1357
  //#region src/layered/bk-node-placement.d.ts
1297
- /** ELK-compatible Brandes-Koepf placement for implicit center ports. */
1358
+ /** ELK-compatible Brandes-Koepf placement with port-aware compaction. */
1298
1359
  declare function placeNodesWithBrandesKoepf(input: LayeredPhaseInput, order: LayerOrder): NodePlacement;
1299
1360
  //#endregion
1300
1361
  //#region src/layered/linear-segments-node-placement.d.ts
@@ -1306,6 +1367,23 @@ declare function placeNodesWithLinearSegments(input: LayeredPhaseInput, order: L
1306
1367
  declare function placeNodesWithNetworkSimplex(input: LayeredPhaseInput, order: LayerOrder): NodePlacement;
1307
1368
  //#endregion
1308
1369
  //#region src/layered/index.d.ts
1370
+ /** @internal A prepared native scope, before crossing, placement or routing. */
1371
+ interface LayeredCrossingPhase {
1372
+ input: LayeredPhaseInput;
1373
+ orientation: AcyclicOrientation;
1374
+ assignment: LayerAssignment;
1375
+ /** Refresh compound body dimensions after child placement, before this scope resumes. */
1376
+ updateNodeSize(id: string, size: NodeSize): void;
1377
+ finishOrder(order: LayerOrder): LayerOrder;
1378
+ /** Run this scope's standalone minimizer, including authored ordering policies. */
1379
+ minimize(): LayerOrder;
1380
+ }
1381
+ /**
1382
+ * @internal Suspend a native scope at crossing minimization. A hierarchy
1383
+ * coordinator can prepare every scope, share sweep state, then resume each
1384
+ * scope with its final order. The ordinary entry point drains this same pipeline.
1385
+ */
1386
+ declare function createLayeredScopePipeline<N, E, G, P>(graph: Graph<N, E, G, P> | VisualGraph<N, E, G, P>, options: LayeredLayoutOptions, context?: LayoutExecutionContext): Generator<LayeredCrossingPhase, VisualGraph<N, E, G, P>, LayerOrder>;
1309
1387
  /**
1310
1388
  * Deterministic native layered layout for an `@statelyai/graph` graph.
1311
1389
  *
@@ -1314,5 +1392,7 @@ declare function placeNodesWithNetworkSimplex(input: LayeredPhaseInput, order: L
1314
1392
  */
1315
1393
  declare function getLayeredLayout<N, E, G, P>(graph: Graph<N, E, G, P> | VisualGraph<N, E, G, P>, options?: LayeredLayoutOptions): CompoundVisualGraph<N, E, G, P>;
1316
1394
  declare const layeredAlgorithm: LayoutAlgorithm<LayeredLayoutOptions>;
1395
+ /** The pinned ELK adapter retains its established placement/routing contract. */
1396
+ declare const elkjs0111LayeredAlgorithm: LayoutAlgorithm<LayeredLayoutOptions>;
1317
1397
  //#endregion
1318
- export { CrossingMinimizationStrategy as $, routeEdgesOrthogonally as A, PinConstraint as At, EdgeRouter as B, breakCyclesWithModelOrderDepthFirstSearch as C, AlignConstraint as Ct, minimizeCrossingsWithModelOrder as D, GeometryReference as Dt, minimizeCrossingsWithMedian as E, GeometryAttribute as Et, CompoundEdgeAttachment as F, LayeredLayoutOptions as G, LayerAssigner as H, CompoundLayoutGeometry as I, LayeredStrategies as J, LayeredPhaseInput as K, CompoundLayoutOptions as L, routeEdgesWithSplines as M, c as Mt, CompoundVisualGraph as N, placeNodesInLayers as O, LayoutConstraint as Ot, AcyclicOrientation as P, NodeSize as Q, CrossingMinimizer as R, breakCyclesWithModelOrderBreadthFirstSearch as S, LayoutScope as St, minimizeCrossingsWithBarycenter as T, DistributeConstraint as Tt, LayerAssignment as U, EdgeRoutes as V, LayerOrder as W, NodePlacement as X, LayoutPadding as Y, NodePlacer as Z, breakCyclesByStronglyConnectedNodeType as _, LayoutExecutionContext as _t, placeNodesWithBrandesKoepf as a, fromElkLayeredOptionId as at, breakCyclesInteractively as b, LayoutRequest as bt, assignLayersWithNetworkSimplex as c, ElkLayeredOptionId as ct, assignLayersByLongestPath as d, elkLayeredOptionDefinitions as dt, CycleBreakingStrategy as et, assignLayersByLongestPathToSink as f, AnyGraph as ft, breakCyclesByStronglyConnectedConnectivity as g, LayoutDirection as gt, breakCyclesByModelOrder as h, LayoutDiagnostic as ht, placeNodesWithLinearSegments as i, NodePlacementStrategy as it, routeEdgesWithPolylines as j, WaypointConstraint as jt, placeNodesInteractively as k, LinearConstraint as kt, assignLayersByBreadthFirstModelOrder as l, ElkLayeredOptionName as lt, assignLayersWithCoffmanGraham as m, LayoutCapabilities as mt, layeredAlgorithm as n, LayeredAdvancedOptions as nt, assignLayersWithStretchWidth as o, toElkLayeredOptions as ot, assignLayersInteractively as p, LayoutAlgorithm as pt, LayeredSpacing as q, placeNodesWithNetworkSimplex as r, LayeringStrategy as rt, assignLayersWithMinWidth as s, elkLayeredEnumValues as st, getLayeredLayout as t, EdgeRoutingStyle as tt, assignLayersByDepthFirstModelOrder as u, ElkLayeredOptionValueByName as ut, breakCyclesGreedily as v, LayoutMetrics as vt, minimizeCrossingsInteractively as w, ConstraintStrength as wt, breakCyclesWithDepthFirstSearch as x, LayoutResult as xt, breakCyclesGreedilyByModelOrder as y, LayoutPhaseMetrics as yt, CycleBreaker as z };
1398
+ export { NodePlacement as $, minimizeCrossingsWithModelOrder as A, LayoutResult as At, CompoundLayoutOptions as B, WaypointConstraint as Bt, breakCyclesInteractively as C, LayoutCapabilities as Ct, minimizeCrossingsInteractively as D, LayoutMetrics as Dt, breakCyclesWithModelOrderDepthFirstSearch as E, LayoutExecutionContext as Et, routeEdgesWithSplines as F, GeometryAttribute as Ft, LayerAssigner as G, CycleBreaker as H, CompoundVisualGraph as I, GeometryReference as It, LayeredLayoutOptions as J, LayerAssignment as K, AcyclicOrientation as L, LayoutConstraint as Lt, placeNodesInteractively as M, AlignConstraint as Mt, routeEdgesOrthogonally as N, ConstraintStrength as Nt, minimizeCrossingsWithBarycenter as O, LayoutPhaseMetrics as Ot, routeEdgesWithPolylines as P, DistributeConstraint as Pt, LayoutPadding as Q, CompoundEdgeAttachment as R, LinearConstraint as Rt, breakCyclesGreedilyByModelOrder as S, LayoutAlgorithm as St, breakCyclesWithModelOrderBreadthFirstSearch as T, LayoutDirection as Tt, EdgeRouter as U, CrossingMinimizer as V, c as Vt, EdgeRoutes as W, LayeredSpacing as X, LayeredPhaseInput as Y, LayeredStrategies as Z, assignLayersWithCoffmanGraham as _, HintStrength as _t, layeredAlgorithm as a, LayeredAdvancedOptions as at, breakCyclesByStronglyConnectedNodeType as b, statechartHints as bt, placeNodesWithBrandesKoepf as c, fromElkLayeredOptionId as ct, assignLayersWithNetworkSimplex as d, ElkLayeredOptionId as dt, NodePlacer as et, assignLayersByBreadthFirstModelOrder as f, ElkLayeredOptionName as ft, assignLayersInteractively as g, ChainHint as gt, assignLayersByLongestPathToSink as h, AnchorHint as ht, getLayeredLayout as i, EdgeRoutingStyle as it, placeNodesInLayers as j, LayoutScope as jt, minimizeCrossingsWithMedian as k, LayoutRequest as kt, assignLayersWithStretchWidth as l, toElkLayeredOptions as lt, assignLayersByLongestPath as m, elkLayeredOptionDefinitions as mt, createLayeredScopePipeline as n, CrossingMinimizationStrategy as nt, placeNodesWithNetworkSimplex as o, LayeringStrategy as ot, assignLayersByDepthFirstModelOrder as p, ElkLayeredOptionValueByName as pt, LayerOrder as q, elkjs0111LayeredAlgorithm as r, CycleBreakingStrategy as rt, placeNodesWithLinearSegments as s, NodePlacementStrategy as st, LayeredCrossingPhase as t, NodeSize as tt, assignLayersWithMinWidth as u, elkLayeredEnumValues as ut, breakCyclesByModelOrder as v, LayoutHint as vt, breakCyclesWithDepthFirstSearch as w, LayoutDiagnostic as wt, breakCyclesGreedily as x, AnyGraph as xt, breakCyclesByStronglyConnectedConnectivity as y, hint as yt, CompoundLayoutGeometry as z, PinConstraint as zt };
@@ -1,6 +1,6 @@
1
- import { r as Route } from "./types-uxPlGRof.cjs";
2
- import { EntityRect, Graph, GraphEdge, GraphNode, GraphPatch, GraphPort, Point, VisualGraph } from "@statelyai/graph";
1
+ import { n as NativeRoutingStrategy, r as Route, v as RoutingSettings } from "./types-CT2akdK0.mjs";
3
2
  import { LayoutConstraints } from "@statelyai/graph/layout";
3
+ import { EntityRect, Graph, GraphEdge, GraphNode, GraphPatch, GraphPort, Point, VisualGraph } from "@statelyai/graph";
4
4
 
5
5
  //#region src/constraints.d.ts
6
6
  type GeometryReference = {
@@ -144,6 +144,53 @@ interface LayoutResult<N = unknown, E = unknown, G = unknown, P = unknown> {
144
144
  metrics: LayoutMetrics;
145
145
  }
146
146
  //#endregion
147
+ //#region src/layered/hints.d.ts
148
+ /**
149
+ * Hints steer the layered phases toward a reader's expectations. They are
150
+ * preferences unless marked `require`, and never at the cost of a defect: a
151
+ * hint that would make nodes overlap is relaxed and reported instead.
152
+ */
153
+ type HintStrength = "prefer" | "require";
154
+ interface HintBase {
155
+ id: string;
156
+ strength?: HintStrength;
157
+ }
158
+ /** Place a node at the start (top-left) or end of its container. */
159
+ interface AnchorHint extends HintBase {
160
+ kind: "anchor";
161
+ nodeId: string;
162
+ corner: "start" | "end";
163
+ }
164
+ /** Align the centers of nodes that follow each other, such as sequential states. */
165
+ interface ChainHint extends HintBase {
166
+ kind: "chain";
167
+ nodeIds: readonly string[];
168
+ }
169
+ type LayoutHint = AnchorHint | ChainHint;
170
+ /** Serializable hint constructors, alongside the `c` geometry constraint constructors. */
171
+ declare const hint: {
172
+ anchor: (value: Omit<AnchorHint, "kind">) => AnchorHint;
173
+ chain: (value: Omit<ChainHint, "kind">) => ChainHint;
174
+ };
175
+ /**
176
+ * Hints for statecharts: each container's initial state (and the graph's)
177
+ * is required at the start, and each run of states joined one-to-one within
178
+ * the same parent forms a preferred chain. Callers can filter or extend the
179
+ * result.
180
+ */
181
+ declare function statechartHints(graph: {
182
+ initialNodeId?: string | null;
183
+ nodes: readonly {
184
+ id: string;
185
+ parentId?: string | null;
186
+ initialNodeId?: string | null;
187
+ }[];
188
+ edges: readonly {
189
+ sourceId: string;
190
+ targetId: string;
191
+ }[];
192
+ }): LayoutHint[];
193
+ //#endregion
147
194
  //#region src/layered/elk-options.generated.d.ts
148
195
  interface ElkLayeredOptionValueByName {
149
196
  "spacing.commentComment"?: number;
@@ -1152,6 +1199,8 @@ interface LayoutPadding {
1152
1199
  left: number;
1153
1200
  }
1154
1201
  interface LayeredPhaseInput {
1202
+ /** Authored edge order retained through label and long-edge expansion. */
1203
+ modelOrderByEdgeId?: ReadonlyMap<string, number>;
1155
1204
  graph: Graph<unknown, unknown, unknown, unknown>;
1156
1205
  sizes: ReadonlyMap<string, NodeSize>;
1157
1206
  direction: LayoutDirection;
@@ -1167,11 +1216,14 @@ interface AcyclicOrientation {
1167
1216
  reversedEdgeIds: ReadonlySet<string>;
1168
1217
  }
1169
1218
  interface LayerAssignment {
1219
+ layerCount?: number;
1170
1220
  layerByNodeId: ReadonlyMap<string, number>;
1171
1221
  /** Layer-internal seed order produced by layerers whose insertion order is observable. */
1172
1222
  seedOrder?: readonly string[];
1173
1223
  }
1174
1224
  interface LayerOrder {
1225
+ /** Canonical clockwise physical port identities, independent of edge reversal. */
1226
+ physicalPortOrderByNodeId?: ReadonlyMap<string, readonly string[]>;
1175
1227
  layers: readonly (readonly string[])[];
1176
1228
  /** Internal ELK sweep state retained for exact port-aware placement. */
1177
1229
  inputPortOrderByNodeId?: ReadonlyMap<string, readonly string[]>;
@@ -1183,6 +1235,8 @@ interface NodePlacement {
1183
1235
  }
1184
1236
  interface EdgeRoutes {
1185
1237
  pointsByEdgeId: ReadonlyMap<string, readonly Point[]>;
1238
+ /** Branch points generated on physical orthogonal hypersegments before restoration. */
1239
+ junctionPointsByEdgeId?: ReadonlyMap<string, readonly Point[]>;
1186
1240
  /** ELK spline segment NUB controls retained until long-edge joining. */
1187
1241
  splineNubControlsByEdgeId?: ReadonlyMap<string, readonly Point[]>;
1188
1242
  /** Reversed fixed-side routes that must stay outside the node envelope during compaction. */
@@ -1221,12 +1275,19 @@ interface CompoundEdgeAttachment {
1221
1275
  target?: "content" | "outer";
1222
1276
  }
1223
1277
  interface LayeredLayoutOptions {
1278
+ /** Replace initial routes after initial placement and routing, without moving geometry. */
1279
+ routing?: {
1280
+ strategy: Pick<NativeRoutingStrategy, "route">;
1281
+ settings?: RoutingSettings;
1282
+ };
1224
1283
  direction?: LayoutDirection;
1225
1284
  compound?: (node: GraphNode) => CompoundLayoutOptions | undefined;
1226
1285
  edgeAttachment?: (edge: GraphEdge) => CompoundEdgeAttachment | undefined;
1227
1286
  spacing?: Partial<LayeredSpacing>;
1228
1287
  padding?: number | Partial<LayoutPadding>;
1229
1288
  constraints?: LayoutConstraints;
1289
+ /** Reader-facing preferences applied during layering, ordering and placement. */
1290
+ hints?: readonly LayoutHint[];
1230
1291
  measure?: (node: GraphNode) => NodeSize;
1231
1292
  crossingSweeps?: number;
1232
1293
  strategies?: LayeredStrategies;
@@ -1253,7 +1314,7 @@ type CompoundVisualGraph<N = unknown, E = unknown, G = unknown, P = unknown> = V
1253
1314
  declare const breakCyclesWithDepthFirstSearch: CycleBreaker;
1254
1315
  declare const breakCyclesGreedily: CycleBreaker;
1255
1316
  declare const breakCyclesGreedilyByModelOrder: CycleBreaker;
1256
- /** ELK MODEL_ORDER for flat graphs without FIRST/LAST layer constraints. */
1317
+ /** ELK MODEL_ORDER: layer-constrained nodes (e.g. external port dummies) order before/after the rest. */
1257
1318
  declare const breakCyclesByModelOrder: CycleBreaker;
1258
1319
  /** ELK INTERACTIVE: honor authored x-order, then remove any remaining DFS back edges. */
1259
1320
  declare const breakCyclesInteractively: CycleBreaker;
@@ -1294,7 +1355,7 @@ declare const assignLayersWithMinWidth: LayerAssigner;
1294
1355
  declare const assignLayersWithStretchWidth: LayerAssigner;
1295
1356
  //#endregion
1296
1357
  //#region src/layered/bk-node-placement.d.ts
1297
- /** ELK-compatible Brandes-Koepf placement for implicit center ports. */
1358
+ /** ELK-compatible Brandes-Koepf placement with port-aware compaction. */
1298
1359
  declare function placeNodesWithBrandesKoepf(input: LayeredPhaseInput, order: LayerOrder): NodePlacement;
1299
1360
  //#endregion
1300
1361
  //#region src/layered/linear-segments-node-placement.d.ts
@@ -1306,6 +1367,23 @@ declare function placeNodesWithLinearSegments(input: LayeredPhaseInput, order: L
1306
1367
  declare function placeNodesWithNetworkSimplex(input: LayeredPhaseInput, order: LayerOrder): NodePlacement;
1307
1368
  //#endregion
1308
1369
  //#region src/layered/index.d.ts
1370
+ /** @internal A prepared native scope, before crossing, placement or routing. */
1371
+ interface LayeredCrossingPhase {
1372
+ input: LayeredPhaseInput;
1373
+ orientation: AcyclicOrientation;
1374
+ assignment: LayerAssignment;
1375
+ /** Refresh compound body dimensions after child placement, before this scope resumes. */
1376
+ updateNodeSize(id: string, size: NodeSize): void;
1377
+ finishOrder(order: LayerOrder): LayerOrder;
1378
+ /** Run this scope's standalone minimizer, including authored ordering policies. */
1379
+ minimize(): LayerOrder;
1380
+ }
1381
+ /**
1382
+ * @internal Suspend a native scope at crossing minimization. A hierarchy
1383
+ * coordinator can prepare every scope, share sweep state, then resume each
1384
+ * scope with its final order. The ordinary entry point drains this same pipeline.
1385
+ */
1386
+ declare function createLayeredScopePipeline<N, E, G, P>(graph: Graph<N, E, G, P> | VisualGraph<N, E, G, P>, options: LayeredLayoutOptions, context?: LayoutExecutionContext): Generator<LayeredCrossingPhase, VisualGraph<N, E, G, P>, LayerOrder>;
1309
1387
  /**
1310
1388
  * Deterministic native layered layout for an `@statelyai/graph` graph.
1311
1389
  *
@@ -1314,5 +1392,7 @@ declare function placeNodesWithNetworkSimplex(input: LayeredPhaseInput, order: L
1314
1392
  */
1315
1393
  declare function getLayeredLayout<N, E, G, P>(graph: Graph<N, E, G, P> | VisualGraph<N, E, G, P>, options?: LayeredLayoutOptions): CompoundVisualGraph<N, E, G, P>;
1316
1394
  declare const layeredAlgorithm: LayoutAlgorithm<LayeredLayoutOptions>;
1395
+ /** The pinned ELK adapter retains its established placement/routing contract. */
1396
+ declare const elkjs0111LayeredAlgorithm: LayoutAlgorithm<LayeredLayoutOptions>;
1317
1397
  //#endregion
1318
- export { CrossingMinimizationStrategy as $, routeEdgesOrthogonally as A, PinConstraint as At, EdgeRouter as B, breakCyclesWithModelOrderDepthFirstSearch as C, AlignConstraint as Ct, minimizeCrossingsWithModelOrder as D, GeometryReference as Dt, minimizeCrossingsWithMedian as E, GeometryAttribute as Et, CompoundEdgeAttachment as F, LayeredLayoutOptions as G, LayerAssigner as H, CompoundLayoutGeometry as I, LayeredStrategies as J, LayeredPhaseInput as K, CompoundLayoutOptions as L, routeEdgesWithSplines as M, c as Mt, CompoundVisualGraph as N, placeNodesInLayers as O, LayoutConstraint as Ot, AcyclicOrientation as P, NodeSize as Q, CrossingMinimizer as R, breakCyclesWithModelOrderBreadthFirstSearch as S, LayoutScope as St, minimizeCrossingsWithBarycenter as T, DistributeConstraint as Tt, LayerAssignment as U, EdgeRoutes as V, LayerOrder as W, NodePlacement as X, LayoutPadding as Y, NodePlacer as Z, breakCyclesByStronglyConnectedNodeType as _, LayoutExecutionContext as _t, placeNodesWithBrandesKoepf as a, fromElkLayeredOptionId as at, breakCyclesInteractively as b, LayoutRequest as bt, assignLayersWithNetworkSimplex as c, ElkLayeredOptionId as ct, assignLayersByLongestPath as d, elkLayeredOptionDefinitions as dt, CycleBreakingStrategy as et, assignLayersByLongestPathToSink as f, AnyGraph as ft, breakCyclesByStronglyConnectedConnectivity as g, LayoutDirection as gt, breakCyclesByModelOrder as h, LayoutDiagnostic as ht, placeNodesWithLinearSegments as i, NodePlacementStrategy as it, routeEdgesWithPolylines as j, WaypointConstraint as jt, placeNodesInteractively as k, LinearConstraint as kt, assignLayersByBreadthFirstModelOrder as l, ElkLayeredOptionName as lt, assignLayersWithCoffmanGraham as m, LayoutCapabilities as mt, layeredAlgorithm as n, LayeredAdvancedOptions as nt, assignLayersWithStretchWidth as o, toElkLayeredOptions as ot, assignLayersInteractively as p, LayoutAlgorithm as pt, LayeredSpacing as q, placeNodesWithNetworkSimplex as r, LayeringStrategy as rt, assignLayersWithMinWidth as s, elkLayeredEnumValues as st, getLayeredLayout as t, EdgeRoutingStyle as tt, assignLayersByDepthFirstModelOrder as u, ElkLayeredOptionValueByName as ut, breakCyclesGreedily as v, LayoutMetrics as vt, minimizeCrossingsInteractively as w, ConstraintStrength as wt, breakCyclesWithDepthFirstSearch as x, LayoutResult as xt, breakCyclesGreedilyByModelOrder as y, LayoutPhaseMetrics as yt, CycleBreaker as z };
1398
+ export { NodePlacement as $, minimizeCrossingsWithModelOrder as A, LayoutResult as At, CompoundLayoutOptions as B, WaypointConstraint as Bt, breakCyclesInteractively as C, LayoutCapabilities as Ct, minimizeCrossingsInteractively as D, LayoutMetrics as Dt, breakCyclesWithModelOrderDepthFirstSearch as E, LayoutExecutionContext as Et, routeEdgesWithSplines as F, GeometryAttribute as Ft, LayerAssigner as G, CycleBreaker as H, CompoundVisualGraph as I, GeometryReference as It, LayeredLayoutOptions as J, LayerAssignment as K, AcyclicOrientation as L, LayoutConstraint as Lt, placeNodesInteractively as M, AlignConstraint as Mt, routeEdgesOrthogonally as N, ConstraintStrength as Nt, minimizeCrossingsWithBarycenter as O, LayoutPhaseMetrics as Ot, routeEdgesWithPolylines as P, DistributeConstraint as Pt, LayoutPadding as Q, CompoundEdgeAttachment as R, LinearConstraint as Rt, breakCyclesGreedilyByModelOrder as S, LayoutAlgorithm as St, breakCyclesWithModelOrderBreadthFirstSearch as T, LayoutDirection as Tt, EdgeRouter as U, CrossingMinimizer as V, c as Vt, EdgeRoutes as W, LayeredSpacing as X, LayeredPhaseInput as Y, LayeredStrategies as Z, assignLayersWithCoffmanGraham as _, HintStrength as _t, layeredAlgorithm as a, LayeredAdvancedOptions as at, breakCyclesByStronglyConnectedNodeType as b, statechartHints as bt, placeNodesWithBrandesKoepf as c, fromElkLayeredOptionId as ct, assignLayersWithNetworkSimplex as d, ElkLayeredOptionId as dt, NodePlacer as et, assignLayersByBreadthFirstModelOrder as f, ElkLayeredOptionName as ft, assignLayersInteractively as g, ChainHint as gt, assignLayersByLongestPathToSink as h, AnchorHint as ht, getLayeredLayout as i, EdgeRoutingStyle as it, placeNodesInLayers as j, LayoutScope as jt, minimizeCrossingsWithMedian as k, LayoutRequest as kt, assignLayersWithStretchWidth as l, toElkLayeredOptions as lt, assignLayersByLongestPath as m, elkLayeredOptionDefinitions as mt, createLayeredScopePipeline as n, CrossingMinimizationStrategy as nt, placeNodesWithNetworkSimplex as o, LayeringStrategy as ot, assignLayersByDepthFirstModelOrder as p, ElkLayeredOptionValueByName as pt, LayerOrder as q, elkjs0111LayeredAlgorithm as r, CycleBreakingStrategy as rt, placeNodesWithLinearSegments as s, NodePlacementStrategy as st, LayeredCrossingPhase as t, NodeSize as tt, assignLayersWithMinWidth as u, elkLayeredEnumValues as ut, breakCyclesByModelOrder as v, LayoutHint as vt, breakCyclesWithDepthFirstSearch as w, LayoutDiagnostic as wt, breakCyclesGreedily as x, AnyGraph as xt, breakCyclesByStronglyConnectedConnectivity as y, hint as yt, CompoundLayoutGeometry as z, PinConstraint as zt };
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
- const require_routing = require('./routing-ujEP7Qh6.cjs');
2
- const require_layered = require('./layered-B2buJqMf.cjs');
3
- const require_layout_engine = require('./layout-engine-Dn1PiFwP.cjs');
1
+ const require_routing = require('./routing-QIdGGFBe.cjs');
2
+ const require_layered = require('./layered-5RxQhryb.cjs');
3
+ const require_layout_engine = require('./layout-engine-CLFySz3R.cjs');
4
4
  let _statelyai_graph = require("@statelyai/graph");
5
5
 
6
6
  //#region src/layout.ts
@@ -183,6 +183,7 @@ exports.getRectanglePackingLayout = require_layout_engine.getRectanglePackingLay
183
183
  exports.getSporeCompactionLayout = require_layout_engine.getSporeCompactionLayout;
184
184
  exports.getSporeOverlapRemovalLayout = require_layout_engine.getSporeOverlapRemovalLayout;
185
185
  exports.getTangentAtLength = require_routing.getTangentAtLength;
186
+ exports.hint = require_layered.hint;
186
187
  exports.layeredAlgorithm = require_layered.layeredAlgorithm;
187
188
  exports.minimizeCrossingsInteractively = require_layered.minimizeCrossingsInteractively;
188
189
  exports.minimizeCrossingsWithBarycenter = require_layered.minimizeCrossingsWithBarycenter;
@@ -205,11 +206,13 @@ exports.routeEdgesOrthogonally = require_layered.routeEdgesOrthogonally;
205
206
  exports.routeEdgesWithPolylines = require_layered.routeEdgesWithPolylines;
206
207
  exports.routeEdgesWithSplines = require_layered.routeEdgesWithSplines;
207
208
  exports.routeToGraphPatch = require_routing.routeToGraphPatch;
209
+ exports.routeToPoints = require_routing.routeToPoints;
208
210
  exports.routeToPolylines = require_routing.routeToPolylines;
209
211
  exports.routingStrategies = require_routing.routingStrategies;
210
212
  exports.selfLoopRouting = require_routing.selfLoopRouting;
211
213
  exports.sporeCompactionAlgorithm = require_layout_engine.sporeCompactionAlgorithm;
212
214
  exports.sporeOverlapRemovalAlgorithm = require_layout_engine.sporeOverlapRemovalAlgorithm;
215
+ exports.statechartHints = require_layered.statechartHints;
213
216
  exports.straightRouting = require_routing.straightRouting;
214
217
  exports.toElkLayeredOptions = require_layered.toElkLayeredOptions;
215
218
  exports.toSvgPath = require_routing.toSvgPath;
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { _ as RoutingMetrics, a as RouteBounds, b as RoutingStrategy, c as RoutePath, d as RouteSegment, f as RouteSide, g as RoutingGraph, h as RoutingDiagnosticCode, i as RouteAttachment, l as RoutePoint, m as RoutingDiagnostic, n as NativeRoutingStrategy, o as RouteEndpoint, p as RouteStyle, r as Route, s as RoutePatch, t as EdgeRoutingSettings, u as RouteSection, v as RoutingSettings, x as RoutingUpdate, y as RoutingSnapshot } from "./types-uxPlGRof.cjs";
2
- import { $ as CrossingMinimizationStrategy, A as routeEdgesOrthogonally, At as PinConstraint, B as EdgeRouter, C as breakCyclesWithModelOrderDepthFirstSearch, Ct as AlignConstraint, D as minimizeCrossingsWithModelOrder, Dt as GeometryReference, E as minimizeCrossingsWithMedian, Et as GeometryAttribute, F as CompoundEdgeAttachment, G as LayeredLayoutOptions, H as LayerAssigner, I as CompoundLayoutGeometry, J as LayeredStrategies, K as LayeredPhaseInput, L as CompoundLayoutOptions, M as routeEdgesWithSplines, Mt as c, N as CompoundVisualGraph, O as placeNodesInLayers, Ot as LayoutConstraint, P as AcyclicOrientation, Q as NodeSize, R as CrossingMinimizer, S as breakCyclesWithModelOrderBreadthFirstSearch, St as LayoutScope, T as minimizeCrossingsWithBarycenter, Tt as DistributeConstraint, U as LayerAssignment, V as EdgeRoutes, W as LayerOrder, X as NodePlacement, Y as LayoutPadding, Z as NodePlacer, _ as breakCyclesByStronglyConnectedNodeType, _t as LayoutExecutionContext, at as fromElkLayeredOptionId, b as breakCyclesInteractively, bt as LayoutRequest, c as assignLayersWithNetworkSimplex, ct as ElkLayeredOptionId, d as assignLayersByLongestPath, dt as elkLayeredOptionDefinitions, et as CycleBreakingStrategy, f as assignLayersByLongestPathToSink, ft as AnyGraph, g as breakCyclesByStronglyConnectedConnectivity, gt as LayoutDirection, h as breakCyclesByModelOrder, ht as LayoutDiagnostic, it as NodePlacementStrategy, j as routeEdgesWithPolylines, jt as WaypointConstraint, k as placeNodesInteractively, kt as LinearConstraint, l as assignLayersByBreadthFirstModelOrder, lt as ElkLayeredOptionName, m as assignLayersWithCoffmanGraham, mt as LayoutCapabilities, n as layeredAlgorithm, nt as LayeredAdvancedOptions, o as assignLayersWithStretchWidth, ot as toElkLayeredOptions, p as assignLayersInteractively, pt as LayoutAlgorithm, q as LayeredSpacing, rt as LayeringStrategy, s as assignLayersWithMinWidth, st as elkLayeredEnumValues, t as getLayeredLayout, tt as EdgeRoutingStyle, u as assignLayersByDepthFirstModelOrder, ut as ElkLayeredOptionValueByName, v as breakCyclesGreedily, vt as LayoutMetrics, w as minimizeCrossingsInteractively, wt as ConstraintStrength, x as breakCyclesWithDepthFirstSearch, xt as LayoutResult, y as breakCyclesGreedilyByModelOrder, yt as LayoutPhaseMetrics, z as CycleBreaker } from "./index-D9dhxrRl.cjs";
3
- import { C as getTangentAtLength, D as applyRoutePatches, E as toSvgPath, S as getPointAtLength, T as roundCorners, _ as routeToPolylines, a as fanRouting, b as getPathBounds, c as orthogonalRouting, d as routingStrategies, f as selfLoopRouting, g as routeToGraphPatch, h as pathFromSplinePoints, i as curvedRouting, l as parallelRouting, m as getLayoutRoutes, n as bundleRouting, o as octilinearRouting, p as straightRouting, r as busRouting, s as organicRouting, t as bezierRouting, u as polylineRouting, v as FlattenPathOptions, w as pathFromPoints, x as getPathLength, y as flattenPath } from "./index-BEA_pzeT.cjs";
2
+ import { $ as NodePlacement, A as minimizeCrossingsWithModelOrder, At as LayoutResult, B as CompoundLayoutOptions, Bt as WaypointConstraint, C as breakCyclesInteractively, Ct as LayoutCapabilities, D as minimizeCrossingsInteractively, Dt as LayoutMetrics, E as breakCyclesWithModelOrderDepthFirstSearch, Et as LayoutExecutionContext, F as routeEdgesWithSplines, Ft as GeometryAttribute, G as LayerAssigner, H as CycleBreaker, I as CompoundVisualGraph, It as GeometryReference, J as LayeredLayoutOptions, K as LayerAssignment, L as AcyclicOrientation, Lt as LayoutConstraint, M as placeNodesInteractively, Mt as AlignConstraint, N as routeEdgesOrthogonally, Nt as ConstraintStrength, O as minimizeCrossingsWithBarycenter, Ot as LayoutPhaseMetrics, P as routeEdgesWithPolylines, Pt as DistributeConstraint, Q as LayoutPadding, R as CompoundEdgeAttachment, Rt as LinearConstraint, S as breakCyclesGreedilyByModelOrder, St as LayoutAlgorithm, T as breakCyclesWithModelOrderBreadthFirstSearch, Tt as LayoutDirection, U as EdgeRouter, V as CrossingMinimizer, Vt as c, W as EdgeRoutes, X as LayeredSpacing, Y as LayeredPhaseInput, Z as LayeredStrategies, _ as assignLayersWithCoffmanGraham, _t as HintStrength, a as layeredAlgorithm, at as LayeredAdvancedOptions, b as breakCyclesByStronglyConnectedNodeType, bt as statechartHints, ct as fromElkLayeredOptionId, d as assignLayersWithNetworkSimplex, dt as ElkLayeredOptionId, et as NodePlacer, f as assignLayersByBreadthFirstModelOrder, ft as ElkLayeredOptionName, g as assignLayersInteractively, gt as ChainHint, h as assignLayersByLongestPathToSink, ht as AnchorHint, i as getLayeredLayout, it as EdgeRoutingStyle, j as placeNodesInLayers, jt as LayoutScope, k as minimizeCrossingsWithMedian, kt as LayoutRequest, l as assignLayersWithStretchWidth, lt as toElkLayeredOptions, m as assignLayersByLongestPath, mt as elkLayeredOptionDefinitions, nt as CrossingMinimizationStrategy, ot as LayeringStrategy, p as assignLayersByDepthFirstModelOrder, pt as ElkLayeredOptionValueByName, q as LayerOrder, rt as CycleBreakingStrategy, st as NodePlacementStrategy, tt as NodeSize, u as assignLayersWithMinWidth, ut as elkLayeredEnumValues, v as breakCyclesByModelOrder, vt as LayoutHint, w as breakCyclesWithDepthFirstSearch, wt as LayoutDiagnostic, x as breakCyclesGreedily, xt as AnyGraph, y as breakCyclesByStronglyConnectedConnectivity, yt as hint, z as CompoundLayoutGeometry, zt as PinConstraint } from "./index-DT6lPMfS.cjs";
3
+ import { C as getPointAtLength, D as toSvgPath, E as roundCorners, O as applyRoutePatches, S as getPathLength, T as pathFromPoints, _ as routeToPoints, a as fanRouting, b as flattenPath, c as orthogonalRouting, d as routingStrategies, f as selfLoopRouting, g as routeToGraphPatch, h as pathFromSplinePoints, i as curvedRouting, l as parallelRouting, m as getLayoutRoutes, n as bundleRouting, o as octilinearRouting, p as straightRouting, r as busRouting, s as organicRouting, t as bezierRouting, u as polylineRouting, v as routeToPolylines, w as getTangentAtLength, x as getPathBounds, y as FlattenPathOptions } from "./index-B6cWNrMw.cjs";
4
4
  import { Graph, GraphNode, VisualGraph } from "@statelyai/graph";
5
5
  import { LayoutOptions } from "@statelyai/graph/layout";
6
6
 
@@ -75,4 +75,4 @@ declare function getLayoutAlgorithm(id: string): LayoutAlgorithm<unknown> | unde
75
75
  */
76
76
  declare function getLayout<N, E, G, P, O = unknown>(request: LayoutRequest<N, E, G, P, O>): Promise<LayoutResult<N, E, G, P>>;
77
77
  //#endregion
78
- export { type AcyclicOrientation, type AlignConstraint, type AnyGraph, type BoxLayoutOptions, type CompoundEdgeAttachment, type CompoundLayoutGeometry, type CompoundLayoutOptions, type CompoundVisualGraph, type ConstraintStrength, type CrossingMinimizationStrategy, type CrossingMinimizer, type CycleBreaker, type CycleBreakingStrategy, type DistributeConstraint, type EdgeRouter, type EdgeRoutes, EdgeRoutingSettings, type EdgeRoutingStyle, type ElkLayeredOptionId, type ElkLayeredOptionName, type ElkLayeredOptionValueByName, type FixedLayoutOptions, FlattenPathOptions, type GeometryAttribute, type GeometryReference, type LayerAssigner, type LayerAssignment, type LayerOrder, type LayeredAdvancedOptions, type LayeredLayoutOptions, type LayeredPhaseInput, type LayeredSpacing, type LayeredStrategies, type LayeringStrategy, type LayoutAlgorithm, type LayoutCapabilities, type LayoutConstraint, type LayoutDiagnostic, type LayoutDirection, LayoutError, type LayoutExecutionContext, type LayoutMetrics, type LayoutPadding, type LayoutPhaseMetrics, type LayoutRequest, type LayoutResult, type LayoutScope, type LinearConstraint, NativeRoutingStrategy, type NodePlacement, type NodePlacementStrategy, type NodePlacer, type NodeSize, type PinConstraint, type RandomLayoutOptions, type RectanglePackingLayoutOptions, Route, RouteAttachment, RouteBounds, RouteEndpoint, RoutePatch, RoutePath, RoutePoint, RouteSection, RouteSegment, RouteSide, RouteStyle, RoutingDiagnostic, RoutingDiagnosticCode, RoutingGraph, RoutingMetrics, RoutingSettings, RoutingSnapshot, RoutingStrategy, RoutingUpdate, type SporeLayoutOptions, UnsupportedLayoutError, type WaypointConstraint, applyRoutePatches, assignLayersByBreadthFirstModelOrder, assignLayersByDepthFirstModelOrder, assignLayersByLongestPath, assignLayersByLongestPathToSink, assignLayersInteractively, assignLayersWithCoffmanGraham, assignLayersWithMinWidth, assignLayersWithNetworkSimplex, assignLayersWithStretchWidth, bezierRouting, boxAlgorithm, breakCyclesByModelOrder, breakCyclesByStronglyConnectedConnectivity, breakCyclesByStronglyConnectedNodeType, breakCyclesGreedily, breakCyclesGreedilyByModelOrder, breakCyclesInteractively, breakCyclesWithDepthFirstSearch, breakCyclesWithModelOrderBreadthFirstSearch, breakCyclesWithModelOrderDepthFirstSearch, bundleRouting, busRouting, c, curvedRouting, elkLayeredEnumValues, elkLayeredOptionDefinitions, fanRouting, fixedAlgorithm, flattenPath, fromElkLayeredOptionId, getBoxLayout, getFixedLayout, getLayeredLayout, getLayout, getLayoutAlgorithm, getLayoutRoutes, getPathBounds, getPathLength, getPointAtLength, getRandomLayout, getRectanglePackingLayout, getSporeCompactionLayout, getSporeOverlapRemovalLayout, getTangentAtLength, layeredAlgorithm, minimizeCrossingsInteractively, minimizeCrossingsWithBarycenter, minimizeCrossingsWithMedian, minimizeCrossingsWithModelOrder, octilinearRouting, organicRouting, orthogonalRouting, parallelRouting, pathFromPoints, pathFromSplinePoints, placeNodesInLayers, placeNodesInteractively, polylineRouting, randomAlgorithm, rectanglePackingAlgorithm, registerLayoutAlgorithm, roundCorners, routeEdgesOrthogonally, routeEdgesWithPolylines, routeEdgesWithSplines, routeToGraphPatch, routeToPolylines, routingStrategies, selfLoopRouting, sporeCompactionAlgorithm, sporeOverlapRemovalAlgorithm, straightRouting, toElkLayeredOptions, toSvgPath };
78
+ export { type AcyclicOrientation, type AlignConstraint, type AnchorHint, type AnyGraph, type BoxLayoutOptions, type ChainHint, type CompoundEdgeAttachment, type CompoundLayoutGeometry, type CompoundLayoutOptions, type CompoundVisualGraph, type ConstraintStrength, type CrossingMinimizationStrategy, type CrossingMinimizer, type CycleBreaker, type CycleBreakingStrategy, type DistributeConstraint, type EdgeRouter, type EdgeRoutes, EdgeRoutingSettings, type EdgeRoutingStyle, type ElkLayeredOptionId, type ElkLayeredOptionName, type ElkLayeredOptionValueByName, type FixedLayoutOptions, FlattenPathOptions, type GeometryAttribute, type GeometryReference, type HintStrength, type LayerAssigner, type LayerAssignment, type LayerOrder, type LayeredAdvancedOptions, type LayeredLayoutOptions, type LayeredPhaseInput, type LayeredSpacing, type LayeredStrategies, type LayeringStrategy, type LayoutAlgorithm, type LayoutCapabilities, type LayoutConstraint, type LayoutDiagnostic, type LayoutDirection, LayoutError, type LayoutExecutionContext, type LayoutHint, type LayoutMetrics, type LayoutPadding, type LayoutPhaseMetrics, type LayoutRequest, type LayoutResult, type LayoutScope, type LinearConstraint, NativeRoutingStrategy, type NodePlacement, type NodePlacementStrategy, type NodePlacer, type NodeSize, type PinConstraint, type RandomLayoutOptions, type RectanglePackingLayoutOptions, Route, RouteAttachment, RouteBounds, RouteEndpoint, RoutePatch, RoutePath, RoutePoint, RouteSection, RouteSegment, RouteSide, RouteStyle, RoutingDiagnostic, RoutingDiagnosticCode, RoutingGraph, RoutingMetrics, RoutingSettings, RoutingSnapshot, RoutingStrategy, RoutingUpdate, type SporeLayoutOptions, UnsupportedLayoutError, type WaypointConstraint, applyRoutePatches, assignLayersByBreadthFirstModelOrder, assignLayersByDepthFirstModelOrder, assignLayersByLongestPath, assignLayersByLongestPathToSink, assignLayersInteractively, assignLayersWithCoffmanGraham, assignLayersWithMinWidth, assignLayersWithNetworkSimplex, assignLayersWithStretchWidth, bezierRouting, boxAlgorithm, breakCyclesByModelOrder, breakCyclesByStronglyConnectedConnectivity, breakCyclesByStronglyConnectedNodeType, breakCyclesGreedily, breakCyclesGreedilyByModelOrder, breakCyclesInteractively, breakCyclesWithDepthFirstSearch, breakCyclesWithModelOrderBreadthFirstSearch, breakCyclesWithModelOrderDepthFirstSearch, bundleRouting, busRouting, c, curvedRouting, elkLayeredEnumValues, elkLayeredOptionDefinitions, fanRouting, fixedAlgorithm, flattenPath, fromElkLayeredOptionId, getBoxLayout, getFixedLayout, getLayeredLayout, getLayout, getLayoutAlgorithm, getLayoutRoutes, getPathBounds, getPathLength, getPointAtLength, getRandomLayout, getRectanglePackingLayout, getSporeCompactionLayout, getSporeOverlapRemovalLayout, getTangentAtLength, hint, layeredAlgorithm, minimizeCrossingsInteractively, minimizeCrossingsWithBarycenter, minimizeCrossingsWithMedian, minimizeCrossingsWithModelOrder, octilinearRouting, organicRouting, orthogonalRouting, parallelRouting, pathFromPoints, pathFromSplinePoints, placeNodesInLayers, placeNodesInteractively, polylineRouting, randomAlgorithm, rectanglePackingAlgorithm, registerLayoutAlgorithm, roundCorners, routeEdgesOrthogonally, routeEdgesWithPolylines, routeEdgesWithSplines, routeToGraphPatch, routeToPoints, routeToPolylines, routingStrategies, selfLoopRouting, sporeCompactionAlgorithm, sporeOverlapRemovalAlgorithm, statechartHints, straightRouting, toElkLayeredOptions, toSvgPath };
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { _ as RoutingMetrics, a as RouteBounds, b as RoutingStrategy, c as RoutePath, d as RouteSegment, f as RouteSide, g as RoutingGraph, h as RoutingDiagnosticCode, i as RouteAttachment, l as RoutePoint, m as RoutingDiagnostic, n as NativeRoutingStrategy, o as RouteEndpoint, p as RouteStyle, r as Route, s as RoutePatch, t as EdgeRoutingSettings, u as RouteSection, v as RoutingSettings, x as RoutingUpdate, y as RoutingSnapshot } from "./types-CT2akdK0.mjs";
2
- import { $ as CrossingMinimizationStrategy, A as routeEdgesOrthogonally, At as PinConstraint, B as EdgeRouter, C as breakCyclesWithModelOrderDepthFirstSearch, Ct as AlignConstraint, D as minimizeCrossingsWithModelOrder, Dt as GeometryReference, E as minimizeCrossingsWithMedian, Et as GeometryAttribute, F as CompoundEdgeAttachment, G as LayeredLayoutOptions, H as LayerAssigner, I as CompoundLayoutGeometry, J as LayeredStrategies, K as LayeredPhaseInput, L as CompoundLayoutOptions, M as routeEdgesWithSplines, Mt as c, N as CompoundVisualGraph, O as placeNodesInLayers, Ot as LayoutConstraint, P as AcyclicOrientation, Q as NodeSize, R as CrossingMinimizer, S as breakCyclesWithModelOrderBreadthFirstSearch, St as LayoutScope, T as minimizeCrossingsWithBarycenter, Tt as DistributeConstraint, U as LayerAssignment, V as EdgeRoutes, W as LayerOrder, X as NodePlacement, Y as LayoutPadding, Z as NodePlacer, _ as breakCyclesByStronglyConnectedNodeType, _t as LayoutExecutionContext, at as fromElkLayeredOptionId, b as breakCyclesInteractively, bt as LayoutRequest, c as assignLayersWithNetworkSimplex, ct as ElkLayeredOptionId, d as assignLayersByLongestPath, dt as elkLayeredOptionDefinitions, et as CycleBreakingStrategy, f as assignLayersByLongestPathToSink, ft as AnyGraph, g as breakCyclesByStronglyConnectedConnectivity, gt as LayoutDirection, h as breakCyclesByModelOrder, ht as LayoutDiagnostic, it as NodePlacementStrategy, j as routeEdgesWithPolylines, jt as WaypointConstraint, k as placeNodesInteractively, kt as LinearConstraint, l as assignLayersByBreadthFirstModelOrder, lt as ElkLayeredOptionName, m as assignLayersWithCoffmanGraham, mt as LayoutCapabilities, n as layeredAlgorithm, nt as LayeredAdvancedOptions, o as assignLayersWithStretchWidth, ot as toElkLayeredOptions, p as assignLayersInteractively, pt as LayoutAlgorithm, q as LayeredSpacing, rt as LayeringStrategy, s as assignLayersWithMinWidth, st as elkLayeredEnumValues, t as getLayeredLayout, tt as EdgeRoutingStyle, u as assignLayersByDepthFirstModelOrder, ut as ElkLayeredOptionValueByName, v as breakCyclesGreedily, vt as LayoutMetrics, w as minimizeCrossingsInteractively, wt as ConstraintStrength, x as breakCyclesWithDepthFirstSearch, xt as LayoutResult, y as breakCyclesGreedilyByModelOrder, yt as LayoutPhaseMetrics, z as CycleBreaker } from "./index-DNixtE3h.mjs";
3
- import { C as getTangentAtLength, D as applyRoutePatches, E as toSvgPath, S as getPointAtLength, T as roundCorners, _ as routeToPolylines, a as fanRouting, b as getPathBounds, c as orthogonalRouting, d as routingStrategies, f as selfLoopRouting, g as routeToGraphPatch, h as pathFromSplinePoints, i as curvedRouting, l as parallelRouting, m as getLayoutRoutes, n as bundleRouting, o as octilinearRouting, p as straightRouting, r as busRouting, s as organicRouting, t as bezierRouting, u as polylineRouting, v as FlattenPathOptions, w as pathFromPoints, x as getPathLength, y as flattenPath } from "./index-DNTLRsDl.mjs";
2
+ import { $ as NodePlacement, A as minimizeCrossingsWithModelOrder, At as LayoutResult, B as CompoundLayoutOptions, Bt as WaypointConstraint, C as breakCyclesInteractively, Ct as LayoutCapabilities, D as minimizeCrossingsInteractively, Dt as LayoutMetrics, E as breakCyclesWithModelOrderDepthFirstSearch, Et as LayoutExecutionContext, F as routeEdgesWithSplines, Ft as GeometryAttribute, G as LayerAssigner, H as CycleBreaker, I as CompoundVisualGraph, It as GeometryReference, J as LayeredLayoutOptions, K as LayerAssignment, L as AcyclicOrientation, Lt as LayoutConstraint, M as placeNodesInteractively, Mt as AlignConstraint, N as routeEdgesOrthogonally, Nt as ConstraintStrength, O as minimizeCrossingsWithBarycenter, Ot as LayoutPhaseMetrics, P as routeEdgesWithPolylines, Pt as DistributeConstraint, Q as LayoutPadding, R as CompoundEdgeAttachment, Rt as LinearConstraint, S as breakCyclesGreedilyByModelOrder, St as LayoutAlgorithm, T as breakCyclesWithModelOrderBreadthFirstSearch, Tt as LayoutDirection, U as EdgeRouter, V as CrossingMinimizer, Vt as c, W as EdgeRoutes, X as LayeredSpacing, Y as LayeredPhaseInput, Z as LayeredStrategies, _ as assignLayersWithCoffmanGraham, _t as HintStrength, a as layeredAlgorithm, at as LayeredAdvancedOptions, b as breakCyclesByStronglyConnectedNodeType, bt as statechartHints, ct as fromElkLayeredOptionId, d as assignLayersWithNetworkSimplex, dt as ElkLayeredOptionId, et as NodePlacer, f as assignLayersByBreadthFirstModelOrder, ft as ElkLayeredOptionName, g as assignLayersInteractively, gt as ChainHint, h as assignLayersByLongestPathToSink, ht as AnchorHint, i as getLayeredLayout, it as EdgeRoutingStyle, j as placeNodesInLayers, jt as LayoutScope, k as minimizeCrossingsWithMedian, kt as LayoutRequest, l as assignLayersWithStretchWidth, lt as toElkLayeredOptions, m as assignLayersByLongestPath, mt as elkLayeredOptionDefinitions, nt as CrossingMinimizationStrategy, ot as LayeringStrategy, p as assignLayersByDepthFirstModelOrder, pt as ElkLayeredOptionValueByName, q as LayerOrder, rt as CycleBreakingStrategy, st as NodePlacementStrategy, tt as NodeSize, u as assignLayersWithMinWidth, ut as elkLayeredEnumValues, v as breakCyclesByModelOrder, vt as LayoutHint, w as breakCyclesWithDepthFirstSearch, wt as LayoutDiagnostic, x as breakCyclesGreedily, xt as AnyGraph, y as breakCyclesByStronglyConnectedConnectivity, yt as hint, z as CompoundLayoutGeometry, zt as PinConstraint } from "./index-F1U-fCTu.mjs";
3
+ import { C as getPointAtLength, D as toSvgPath, E as roundCorners, O as applyRoutePatches, S as getPathLength, T as pathFromPoints, _ as routeToPoints, a as fanRouting, b as flattenPath, c as orthogonalRouting, d as routingStrategies, f as selfLoopRouting, g as routeToGraphPatch, h as pathFromSplinePoints, i as curvedRouting, l as parallelRouting, m as getLayoutRoutes, n as bundleRouting, o as octilinearRouting, p as straightRouting, r as busRouting, s as organicRouting, t as bezierRouting, u as polylineRouting, v as routeToPolylines, w as getTangentAtLength, x as getPathBounds, y as FlattenPathOptions } from "./index-CJQLUKD9.mjs";
4
4
  import { LayoutOptions } from "@statelyai/graph/layout";
5
5
  import { Graph, GraphNode, VisualGraph } from "@statelyai/graph";
6
6
 
@@ -75,4 +75,4 @@ declare function getLayoutAlgorithm(id: string): LayoutAlgorithm<unknown> | unde
75
75
  */
76
76
  declare function getLayout<N, E, G, P, O = unknown>(request: LayoutRequest<N, E, G, P, O>): Promise<LayoutResult<N, E, G, P>>;
77
77
  //#endregion
78
- export { type AcyclicOrientation, type AlignConstraint, type AnyGraph, type BoxLayoutOptions, type CompoundEdgeAttachment, type CompoundLayoutGeometry, type CompoundLayoutOptions, type CompoundVisualGraph, type ConstraintStrength, type CrossingMinimizationStrategy, type CrossingMinimizer, type CycleBreaker, type CycleBreakingStrategy, type DistributeConstraint, type EdgeRouter, type EdgeRoutes, EdgeRoutingSettings, type EdgeRoutingStyle, type ElkLayeredOptionId, type ElkLayeredOptionName, type ElkLayeredOptionValueByName, type FixedLayoutOptions, FlattenPathOptions, type GeometryAttribute, type GeometryReference, type LayerAssigner, type LayerAssignment, type LayerOrder, type LayeredAdvancedOptions, type LayeredLayoutOptions, type LayeredPhaseInput, type LayeredSpacing, type LayeredStrategies, type LayeringStrategy, type LayoutAlgorithm, type LayoutCapabilities, type LayoutConstraint, type LayoutDiagnostic, type LayoutDirection, LayoutError, type LayoutExecutionContext, type LayoutMetrics, type LayoutPadding, type LayoutPhaseMetrics, type LayoutRequest, type LayoutResult, type LayoutScope, type LinearConstraint, NativeRoutingStrategy, type NodePlacement, type NodePlacementStrategy, type NodePlacer, type NodeSize, type PinConstraint, type RandomLayoutOptions, type RectanglePackingLayoutOptions, Route, RouteAttachment, RouteBounds, RouteEndpoint, RoutePatch, RoutePath, RoutePoint, RouteSection, RouteSegment, RouteSide, RouteStyle, RoutingDiagnostic, RoutingDiagnosticCode, RoutingGraph, RoutingMetrics, RoutingSettings, RoutingSnapshot, RoutingStrategy, RoutingUpdate, type SporeLayoutOptions, UnsupportedLayoutError, type WaypointConstraint, applyRoutePatches, assignLayersByBreadthFirstModelOrder, assignLayersByDepthFirstModelOrder, assignLayersByLongestPath, assignLayersByLongestPathToSink, assignLayersInteractively, assignLayersWithCoffmanGraham, assignLayersWithMinWidth, assignLayersWithNetworkSimplex, assignLayersWithStretchWidth, bezierRouting, boxAlgorithm, breakCyclesByModelOrder, breakCyclesByStronglyConnectedConnectivity, breakCyclesByStronglyConnectedNodeType, breakCyclesGreedily, breakCyclesGreedilyByModelOrder, breakCyclesInteractively, breakCyclesWithDepthFirstSearch, breakCyclesWithModelOrderBreadthFirstSearch, breakCyclesWithModelOrderDepthFirstSearch, bundleRouting, busRouting, c, curvedRouting, elkLayeredEnumValues, elkLayeredOptionDefinitions, fanRouting, fixedAlgorithm, flattenPath, fromElkLayeredOptionId, getBoxLayout, getFixedLayout, getLayeredLayout, getLayout, getLayoutAlgorithm, getLayoutRoutes, getPathBounds, getPathLength, getPointAtLength, getRandomLayout, getRectanglePackingLayout, getSporeCompactionLayout, getSporeOverlapRemovalLayout, getTangentAtLength, layeredAlgorithm, minimizeCrossingsInteractively, minimizeCrossingsWithBarycenter, minimizeCrossingsWithMedian, minimizeCrossingsWithModelOrder, octilinearRouting, organicRouting, orthogonalRouting, parallelRouting, pathFromPoints, pathFromSplinePoints, placeNodesInLayers, placeNodesInteractively, polylineRouting, randomAlgorithm, rectanglePackingAlgorithm, registerLayoutAlgorithm, roundCorners, routeEdgesOrthogonally, routeEdgesWithPolylines, routeEdgesWithSplines, routeToGraphPatch, routeToPolylines, routingStrategies, selfLoopRouting, sporeCompactionAlgorithm, sporeOverlapRemovalAlgorithm, straightRouting, toElkLayeredOptions, toSvgPath };
78
+ export { type AcyclicOrientation, type AlignConstraint, type AnchorHint, type AnyGraph, type BoxLayoutOptions, type ChainHint, type CompoundEdgeAttachment, type CompoundLayoutGeometry, type CompoundLayoutOptions, type CompoundVisualGraph, type ConstraintStrength, type CrossingMinimizationStrategy, type CrossingMinimizer, type CycleBreaker, type CycleBreakingStrategy, type DistributeConstraint, type EdgeRouter, type EdgeRoutes, EdgeRoutingSettings, type EdgeRoutingStyle, type ElkLayeredOptionId, type ElkLayeredOptionName, type ElkLayeredOptionValueByName, type FixedLayoutOptions, FlattenPathOptions, type GeometryAttribute, type GeometryReference, type HintStrength, type LayerAssigner, type LayerAssignment, type LayerOrder, type LayeredAdvancedOptions, type LayeredLayoutOptions, type LayeredPhaseInput, type LayeredSpacing, type LayeredStrategies, type LayeringStrategy, type LayoutAlgorithm, type LayoutCapabilities, type LayoutConstraint, type LayoutDiagnostic, type LayoutDirection, LayoutError, type LayoutExecutionContext, type LayoutHint, type LayoutMetrics, type LayoutPadding, type LayoutPhaseMetrics, type LayoutRequest, type LayoutResult, type LayoutScope, type LinearConstraint, NativeRoutingStrategy, type NodePlacement, type NodePlacementStrategy, type NodePlacer, type NodeSize, type PinConstraint, type RandomLayoutOptions, type RectanglePackingLayoutOptions, Route, RouteAttachment, RouteBounds, RouteEndpoint, RoutePatch, RoutePath, RoutePoint, RouteSection, RouteSegment, RouteSide, RouteStyle, RoutingDiagnostic, RoutingDiagnosticCode, RoutingGraph, RoutingMetrics, RoutingSettings, RoutingSnapshot, RoutingStrategy, RoutingUpdate, type SporeLayoutOptions, UnsupportedLayoutError, type WaypointConstraint, applyRoutePatches, assignLayersByBreadthFirstModelOrder, assignLayersByDepthFirstModelOrder, assignLayersByLongestPath, assignLayersByLongestPathToSink, assignLayersInteractively, assignLayersWithCoffmanGraham, assignLayersWithMinWidth, assignLayersWithNetworkSimplex, assignLayersWithStretchWidth, bezierRouting, boxAlgorithm, breakCyclesByModelOrder, breakCyclesByStronglyConnectedConnectivity, breakCyclesByStronglyConnectedNodeType, breakCyclesGreedily, breakCyclesGreedilyByModelOrder, breakCyclesInteractively, breakCyclesWithDepthFirstSearch, breakCyclesWithModelOrderBreadthFirstSearch, breakCyclesWithModelOrderDepthFirstSearch, bundleRouting, busRouting, c, curvedRouting, elkLayeredEnumValues, elkLayeredOptionDefinitions, fanRouting, fixedAlgorithm, flattenPath, fromElkLayeredOptionId, getBoxLayout, getFixedLayout, getLayeredLayout, getLayout, getLayoutAlgorithm, getLayoutRoutes, getPathBounds, getPathLength, getPointAtLength, getRandomLayout, getRectanglePackingLayout, getSporeCompactionLayout, getSporeOverlapRemovalLayout, getTangentAtLength, hint, layeredAlgorithm, minimizeCrossingsInteractively, minimizeCrossingsWithBarycenter, minimizeCrossingsWithMedian, minimizeCrossingsWithModelOrder, octilinearRouting, organicRouting, orthogonalRouting, parallelRouting, pathFromPoints, pathFromSplinePoints, placeNodesInLayers, placeNodesInteractively, polylineRouting, randomAlgorithm, rectanglePackingAlgorithm, registerLayoutAlgorithm, roundCorners, routeEdgesOrthogonally, routeEdgesWithPolylines, routeEdgesWithSplines, routeToGraphPatch, routeToPoints, routeToPolylines, routingStrategies, selfLoopRouting, sporeCompactionAlgorithm, sporeOverlapRemovalAlgorithm, statechartHints, straightRouting, toElkLayeredOptions, toSvgPath };
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import { A as toSvgPath, C as flattenPath, D as getTangentAtLength, E as getPointAtLength, F as UnsupportedLayoutError, O as pathFromPoints, P as LayoutError, T as getPathLength, _ as routeToPolylines, a as fanRouting, c as orthogonalRouting, d as routingStrategies, f as selfLoopRouting, g as routeToGraphPatch, h as pathFromSplinePoints, i as curvedRouting, k as roundCorners, l as parallelRouting, m as getLayoutRoutes, n as bundleRouting, o as octilinearRouting, p as straightRouting, r as busRouting, s as organicRouting, t as bezierRouting, u as polylineRouting, w as getPathBounds, x as applyRoutePatches } from "./routing-A2hrK9MP.mjs";
2
- import { A as minimizeCrossingsInteractively, C as breakCyclesGreedily, D as breakCyclesWithModelOrderBreadthFirstSearch, E as breakCyclesWithDepthFirstSearch, F as placeNodesInteractively, L as routeEdgesOrthogonally, M as minimizeCrossingsWithMedian, N as minimizeCrossingsWithModelOrder, O as breakCyclesWithModelOrderDepthFirstSearch, P as placeNodesInLayers, R as routeEdgesWithPolylines, S as breakCyclesByStronglyConnectedNodeType, T as breakCyclesInteractively, _ as assignLayersByLongestPathToSink, a as elkLayeredEnumValues, b as breakCyclesByModelOrder, d as assignLayersWithMinWidth, f as assignLayersWithNetworkSimplex, g as assignLayersByLongestPath, h as assignLayersByDepthFirstModelOrder, i as toElkLayeredOptions, j as minimizeCrossingsWithBarycenter, m as assignLayersByBreadthFirstModelOrder, n as layeredAlgorithm, o as elkLayeredOptionDefinitions, p as c, r as fromElkLayeredOptionId, t as getLayeredLayout, u as assignLayersWithStretchWidth, v as assignLayersInteractively, w as breakCyclesGreedilyByModelOrder, x as breakCyclesByStronglyConnectedConnectivity, y as assignLayersWithCoffmanGraham, z as routeEdgesWithSplines } from "./layered-DGFTeQSl.mjs";
3
- import { _ as getFixedLayout, a as getSporeCompactionLayout, c as sporeOverlapRemovalAlgorithm, d as getRectanglePackingLayout, f as rectanglePackingAlgorithm, g as fixedAlgorithm, i as getBuiltInLayoutAlgorithm, l as getRandomLayout, m as getBoxLayout, o as getSporeOverlapRemovalLayout, p as boxAlgorithm, r as executeLayoutAlgorithm, s as sporeCompactionAlgorithm, t as builtInLayoutAlgorithms, u as randomAlgorithm } from "./layout-engine-Cs5tatA6.mjs";
1
+ import { C as getPointAtLength, D as toSvgPath, E as roundCorners, F as LayoutError, I as UnsupportedLayoutError, S as getPathLength, T as pathFromPoints, _ as routeToGraphPatch, a as fanRouting, b as flattenPath, c as orthogonalRouting, d as routingStrategies, f as selfLoopRouting, g as pathFromSplinePoints, h as getLayoutRoutes, i as curvedRouting, l as parallelRouting, m as applyRoutePatches, n as bundleRouting, o as octilinearRouting, p as straightRouting, r as busRouting, s as organicRouting, t as bezierRouting, u as polylineRouting, v as routeToPoints, w as getTangentAtLength, x as getPathBounds, y as routeToPolylines } from "./routing-CR8flv8b.mjs";
2
+ import { A as breakCyclesByStronglyConnectedConnectivity, B as minimizeCrossingsInteractively, C as assignLayersByBreadthFirstModelOrder, D as assignLayersInteractively, E as assignLayersByLongestPathToSink, F as breakCyclesWithDepthFirstSearch, G as placeNodesInteractively, H as minimizeCrossingsWithMedian, I as breakCyclesWithModelOrderBreadthFirstSearch, J as routeEdgesWithPolylines, L as breakCyclesWithModelOrderDepthFirstSearch, M as breakCyclesGreedily, N as breakCyclesGreedilyByModelOrder, O as assignLayersWithCoffmanGraham, P as breakCyclesInteractively, Q as assignLayersWithNetworkSimplex, T as assignLayersByLongestPath, U as minimizeCrossingsWithModelOrder, V as minimizeCrossingsWithBarycenter, W as placeNodesInLayers, Y as routeEdgesWithSplines, _ as statechartHints, a as fromElkLayeredOptionId, c as elkLayeredOptionDefinitions, f as assignLayersWithStretchWidth, g as hint, i as layeredAlgorithm, j as breakCyclesByStronglyConnectedNodeType, k as breakCyclesByModelOrder, m as c, o as toElkLayeredOptions, p as assignLayersWithMinWidth, q as routeEdgesOrthogonally, r as getLayeredLayout, s as elkLayeredEnumValues, w as assignLayersByDepthFirstModelOrder } from "./layered-DSesbctm.mjs";
3
+ import { a as getSporeCompactionLayout, c as sporeOverlapRemovalAlgorithm, d as getRectanglePackingLayout, f as rectanglePackingAlgorithm, g as getFixedLayout, h as fixedAlgorithm, i as getBuiltInLayoutAlgorithm, l as getRandomLayout, m as getBoxLayout, o as getSporeOverlapRemovalLayout, p as boxAlgorithm, r as executeLayoutAlgorithm, s as sporeCompactionAlgorithm, t as builtInLayoutAlgorithms, u as randomAlgorithm } from "./layout-engine-GpBIX6ng.mjs";
4
4
  import { getGraphIssues } from "@statelyai/graph";
5
5
 
6
6
  //#region src/layout.ts
@@ -136,4 +136,4 @@ async function getLayout(request) {
136
136
  }
137
137
 
138
138
  //#endregion
139
- export { LayoutError, UnsupportedLayoutError, applyRoutePatches, assignLayersByBreadthFirstModelOrder, assignLayersByDepthFirstModelOrder, assignLayersByLongestPath, assignLayersByLongestPathToSink, assignLayersInteractively, assignLayersWithCoffmanGraham, assignLayersWithMinWidth, assignLayersWithNetworkSimplex, assignLayersWithStretchWidth, bezierRouting, boxAlgorithm, breakCyclesByModelOrder, breakCyclesByStronglyConnectedConnectivity, breakCyclesByStronglyConnectedNodeType, breakCyclesGreedily, breakCyclesGreedilyByModelOrder, breakCyclesInteractively, breakCyclesWithDepthFirstSearch, breakCyclesWithModelOrderBreadthFirstSearch, breakCyclesWithModelOrderDepthFirstSearch, bundleRouting, busRouting, c, curvedRouting, elkLayeredEnumValues, elkLayeredOptionDefinitions, fanRouting, fixedAlgorithm, flattenPath, fromElkLayeredOptionId, getBoxLayout, getFixedLayout, getLayeredLayout, getLayout, getLayoutAlgorithm, getLayoutRoutes, getPathBounds, getPathLength, getPointAtLength, getRandomLayout, getRectanglePackingLayout, getSporeCompactionLayout, getSporeOverlapRemovalLayout, getTangentAtLength, layeredAlgorithm, minimizeCrossingsInteractively, minimizeCrossingsWithBarycenter, minimizeCrossingsWithMedian, minimizeCrossingsWithModelOrder, octilinearRouting, organicRouting, orthogonalRouting, parallelRouting, pathFromPoints, pathFromSplinePoints, placeNodesInLayers, placeNodesInteractively, polylineRouting, randomAlgorithm, rectanglePackingAlgorithm, registerLayoutAlgorithm, roundCorners, routeEdgesOrthogonally, routeEdgesWithPolylines, routeEdgesWithSplines, routeToGraphPatch, routeToPolylines, routingStrategies, selfLoopRouting, sporeCompactionAlgorithm, sporeOverlapRemovalAlgorithm, straightRouting, toElkLayeredOptions, toSvgPath };
139
+ export { LayoutError, UnsupportedLayoutError, applyRoutePatches, assignLayersByBreadthFirstModelOrder, assignLayersByDepthFirstModelOrder, assignLayersByLongestPath, assignLayersByLongestPathToSink, assignLayersInteractively, assignLayersWithCoffmanGraham, assignLayersWithMinWidth, assignLayersWithNetworkSimplex, assignLayersWithStretchWidth, bezierRouting, boxAlgorithm, breakCyclesByModelOrder, breakCyclesByStronglyConnectedConnectivity, breakCyclesByStronglyConnectedNodeType, breakCyclesGreedily, breakCyclesGreedilyByModelOrder, breakCyclesInteractively, breakCyclesWithDepthFirstSearch, breakCyclesWithModelOrderBreadthFirstSearch, breakCyclesWithModelOrderDepthFirstSearch, bundleRouting, busRouting, c, curvedRouting, elkLayeredEnumValues, elkLayeredOptionDefinitions, fanRouting, fixedAlgorithm, flattenPath, fromElkLayeredOptionId, getBoxLayout, getFixedLayout, getLayeredLayout, getLayout, getLayoutAlgorithm, getLayoutRoutes, getPathBounds, getPathLength, getPointAtLength, getRandomLayout, getRectanglePackingLayout, getSporeCompactionLayout, getSporeOverlapRemovalLayout, getTangentAtLength, hint, layeredAlgorithm, minimizeCrossingsInteractively, minimizeCrossingsWithBarycenter, minimizeCrossingsWithMedian, minimizeCrossingsWithModelOrder, octilinearRouting, organicRouting, orthogonalRouting, parallelRouting, pathFromPoints, pathFromSplinePoints, placeNodesInLayers, placeNodesInteractively, polylineRouting, randomAlgorithm, rectanglePackingAlgorithm, registerLayoutAlgorithm, roundCorners, routeEdgesOrthogonally, routeEdgesWithPolylines, routeEdgesWithSplines, routeToGraphPatch, routeToPoints, routeToPolylines, routingStrategies, selfLoopRouting, sporeCompactionAlgorithm, sporeOverlapRemovalAlgorithm, statechartHints, straightRouting, toElkLayeredOptions, toSvgPath };
@@ -1,4 +1,4 @@
1
- const require_layered = require('../layered-B2buJqMf.cjs');
1
+ const require_layered = require('../layered-5RxQhryb.cjs');
2
2
 
3
3
  exports.assignLayersByBreadthFirstModelOrder = require_layered.assignLayersByBreadthFirstModelOrder;
4
4
  exports.assignLayersByDepthFirstModelOrder = require_layered.assignLayersByDepthFirstModelOrder;
@@ -18,8 +18,10 @@ exports.breakCyclesInteractively = require_layered.breakCyclesInteractively;
18
18
  exports.breakCyclesWithDepthFirstSearch = require_layered.breakCyclesWithDepthFirstSearch;
19
19
  exports.breakCyclesWithModelOrderBreadthFirstSearch = require_layered.breakCyclesWithModelOrderBreadthFirstSearch;
20
20
  exports.breakCyclesWithModelOrderDepthFirstSearch = require_layered.breakCyclesWithModelOrderDepthFirstSearch;
21
+ exports.createLayeredScopePipeline = require_layered.createLayeredScopePipeline;
21
22
  exports.elkLayeredEnumValues = require_layered.elkLayeredEnumValues;
22
23
  exports.elkLayeredOptionDefinitions = require_layered.elkLayeredOptionDefinitions;
24
+ exports.elkjs0111LayeredAlgorithm = require_layered.elkjs0111LayeredAlgorithm;
23
25
  exports.fromElkLayeredOptionId = require_layered.fromElkLayeredOptionId;
24
26
  exports.getLayeredLayout = require_layered.getLayeredLayout;
25
27
  exports.layeredAlgorithm = require_layered.layeredAlgorithm;
@@ -1,3 +1,3 @@
1
1
  import "../types-uxPlGRof.cjs";
2
- import { $ as CrossingMinimizationStrategy, A as routeEdgesOrthogonally, B as EdgeRouter, C as breakCyclesWithModelOrderDepthFirstSearch, D as minimizeCrossingsWithModelOrder, E as minimizeCrossingsWithMedian, F as CompoundEdgeAttachment, G as LayeredLayoutOptions, H as LayerAssigner, I as CompoundLayoutGeometry, J as LayeredStrategies, K as LayeredPhaseInput, L as CompoundLayoutOptions, M as routeEdgesWithSplines, N as CompoundVisualGraph, O as placeNodesInLayers, P as AcyclicOrientation, Q as NodeSize, R as CrossingMinimizer, S as breakCyclesWithModelOrderBreadthFirstSearch, T as minimizeCrossingsWithBarycenter, U as LayerAssignment, V as EdgeRoutes, W as LayerOrder, X as NodePlacement, Y as LayoutPadding, Z as NodePlacer, _ as breakCyclesByStronglyConnectedNodeType, a as placeNodesWithBrandesKoepf, at as fromElkLayeredOptionId, b as breakCyclesInteractively, c as assignLayersWithNetworkSimplex, ct as ElkLayeredOptionId, d as assignLayersByLongestPath, dt as elkLayeredOptionDefinitions, et as CycleBreakingStrategy, f as assignLayersByLongestPathToSink, g as breakCyclesByStronglyConnectedConnectivity, h as breakCyclesByModelOrder, i as placeNodesWithLinearSegments, it as NodePlacementStrategy, j as routeEdgesWithPolylines, k as placeNodesInteractively, l as assignLayersByBreadthFirstModelOrder, lt as ElkLayeredOptionName, m as assignLayersWithCoffmanGraham, n as layeredAlgorithm, nt as LayeredAdvancedOptions, o as assignLayersWithStretchWidth, ot as toElkLayeredOptions, p as assignLayersInteractively, q as LayeredSpacing, r as placeNodesWithNetworkSimplex, rt as LayeringStrategy, s as assignLayersWithMinWidth, st as elkLayeredEnumValues, t as getLayeredLayout, tt as EdgeRoutingStyle, u as assignLayersByDepthFirstModelOrder, ut as ElkLayeredOptionValueByName, v as breakCyclesGreedily, w as minimizeCrossingsInteractively, x as breakCyclesWithDepthFirstSearch, y as breakCyclesGreedilyByModelOrder, z as CycleBreaker } from "../index-D9dhxrRl.cjs";
3
- export { AcyclicOrientation, CompoundEdgeAttachment, CompoundLayoutGeometry, CompoundLayoutOptions, CompoundVisualGraph, CrossingMinimizationStrategy, CrossingMinimizer, CycleBreaker, CycleBreakingStrategy, EdgeRouter, EdgeRoutes, EdgeRoutingStyle, ElkLayeredOptionId, ElkLayeredOptionName, ElkLayeredOptionValueByName, LayerAssigner, LayerAssignment, LayerOrder, LayeredAdvancedOptions, LayeredLayoutOptions, LayeredPhaseInput, LayeredSpacing, LayeredStrategies, LayeringStrategy, LayoutPadding, NodePlacement, NodePlacementStrategy, NodePlacer, NodeSize, assignLayersByBreadthFirstModelOrder, assignLayersByDepthFirstModelOrder, assignLayersByLongestPath, assignLayersByLongestPathToSink, assignLayersInteractively, assignLayersWithCoffmanGraham, assignLayersWithMinWidth, assignLayersWithNetworkSimplex, assignLayersWithStretchWidth, breakCyclesByModelOrder, breakCyclesByStronglyConnectedConnectivity, breakCyclesByStronglyConnectedNodeType, breakCyclesGreedily, breakCyclesGreedilyByModelOrder, breakCyclesInteractively, breakCyclesWithDepthFirstSearch, breakCyclesWithModelOrderBreadthFirstSearch, breakCyclesWithModelOrderDepthFirstSearch, elkLayeredEnumValues, elkLayeredOptionDefinitions, fromElkLayeredOptionId, getLayeredLayout, layeredAlgorithm, minimizeCrossingsInteractively, minimizeCrossingsWithBarycenter, minimizeCrossingsWithMedian, minimizeCrossingsWithModelOrder, placeNodesInLayers, placeNodesInteractively, placeNodesWithBrandesKoepf, placeNodesWithLinearSegments, placeNodesWithNetworkSimplex, routeEdgesOrthogonally, routeEdgesWithPolylines, routeEdgesWithSplines, toElkLayeredOptions };
2
+ import { $ as NodePlacement, A as minimizeCrossingsWithModelOrder, B as CompoundLayoutOptions, C as breakCyclesInteractively, D as minimizeCrossingsInteractively, E as breakCyclesWithModelOrderDepthFirstSearch, F as routeEdgesWithSplines, G as LayerAssigner, H as CycleBreaker, I as CompoundVisualGraph, J as LayeredLayoutOptions, K as LayerAssignment, L as AcyclicOrientation, M as placeNodesInteractively, N as routeEdgesOrthogonally, O as minimizeCrossingsWithBarycenter, P as routeEdgesWithPolylines, Q as LayoutPadding, R as CompoundEdgeAttachment, S as breakCyclesGreedilyByModelOrder, T as breakCyclesWithModelOrderBreadthFirstSearch, U as EdgeRouter, V as CrossingMinimizer, W as EdgeRoutes, X as LayeredSpacing, Y as LayeredPhaseInput, Z as LayeredStrategies, _ as assignLayersWithCoffmanGraham, a as layeredAlgorithm, at as LayeredAdvancedOptions, b as breakCyclesByStronglyConnectedNodeType, c as placeNodesWithBrandesKoepf, ct as fromElkLayeredOptionId, d as assignLayersWithNetworkSimplex, dt as ElkLayeredOptionId, et as NodePlacer, f as assignLayersByBreadthFirstModelOrder, ft as ElkLayeredOptionName, g as assignLayersInteractively, h as assignLayersByLongestPathToSink, i as getLayeredLayout, it as EdgeRoutingStyle, j as placeNodesInLayers, k as minimizeCrossingsWithMedian, l as assignLayersWithStretchWidth, lt as toElkLayeredOptions, m as assignLayersByLongestPath, mt as elkLayeredOptionDefinitions, n as createLayeredScopePipeline, nt as CrossingMinimizationStrategy, o as placeNodesWithNetworkSimplex, ot as LayeringStrategy, p as assignLayersByDepthFirstModelOrder, pt as ElkLayeredOptionValueByName, q as LayerOrder, r as elkjs0111LayeredAlgorithm, rt as CycleBreakingStrategy, s as placeNodesWithLinearSegments, st as NodePlacementStrategy, t as LayeredCrossingPhase, tt as NodeSize, u as assignLayersWithMinWidth, ut as elkLayeredEnumValues, v as breakCyclesByModelOrder, w as breakCyclesWithDepthFirstSearch, x as breakCyclesGreedily, y as breakCyclesByStronglyConnectedConnectivity, z as CompoundLayoutGeometry } from "../index-DT6lPMfS.cjs";
3
+ export { AcyclicOrientation, CompoundEdgeAttachment, CompoundLayoutGeometry, CompoundLayoutOptions, CompoundVisualGraph, CrossingMinimizationStrategy, CrossingMinimizer, CycleBreaker, CycleBreakingStrategy, EdgeRouter, EdgeRoutes, EdgeRoutingStyle, ElkLayeredOptionId, ElkLayeredOptionName, ElkLayeredOptionValueByName, LayerAssigner, LayerAssignment, LayerOrder, LayeredAdvancedOptions, LayeredCrossingPhase, LayeredLayoutOptions, LayeredPhaseInput, LayeredSpacing, LayeredStrategies, LayeringStrategy, LayoutPadding, NodePlacement, NodePlacementStrategy, NodePlacer, NodeSize, assignLayersByBreadthFirstModelOrder, assignLayersByDepthFirstModelOrder, assignLayersByLongestPath, assignLayersByLongestPathToSink, assignLayersInteractively, assignLayersWithCoffmanGraham, assignLayersWithMinWidth, assignLayersWithNetworkSimplex, assignLayersWithStretchWidth, breakCyclesByModelOrder, breakCyclesByStronglyConnectedConnectivity, breakCyclesByStronglyConnectedNodeType, breakCyclesGreedily, breakCyclesGreedilyByModelOrder, breakCyclesInteractively, breakCyclesWithDepthFirstSearch, breakCyclesWithModelOrderBreadthFirstSearch, breakCyclesWithModelOrderDepthFirstSearch, createLayeredScopePipeline, elkLayeredEnumValues, elkLayeredOptionDefinitions, elkjs0111LayeredAlgorithm, fromElkLayeredOptionId, getLayeredLayout, layeredAlgorithm, minimizeCrossingsInteractively, minimizeCrossingsWithBarycenter, minimizeCrossingsWithMedian, minimizeCrossingsWithModelOrder, placeNodesInLayers, placeNodesInteractively, placeNodesWithBrandesKoepf, placeNodesWithLinearSegments, placeNodesWithNetworkSimplex, routeEdgesOrthogonally, routeEdgesWithPolylines, routeEdgesWithSplines, toElkLayeredOptions };