@statelyai/layout 0.4.3 → 0.5.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 (57) hide show
  1. package/README.md +32 -3
  2. package/dist/elkjs/index.cjs +2 -2
  3. package/dist/elkjs/index.d.cts +1 -1
  4. package/dist/elkjs/index.d.mts +1 -1
  5. package/dist/elkjs/index.mjs +2 -2
  6. package/dist/elkjs/main.cjs +1 -1
  7. package/dist/elkjs/main.mjs +1 -1
  8. package/dist/elkjs/worker.cjs +2 -2
  9. package/dist/elkjs/worker.mjs +2 -2
  10. package/dist/{elkjs-Cj-lWiK1.cjs → elkjs-Bh_E59N_.cjs} +3 -3
  11. package/dist/{elkjs-B5kN_zS6.mjs → elkjs-Dk9yOk9U.mjs} +3 -3
  12. package/dist/{index-B6cWNrMw.d.cts → index-0YVSvMvA.d.mts} +13 -3
  13. package/dist/{index-CJQLUKD9.d.mts → index-C0J4ttZe.d.cts} +13 -3
  14. package/dist/{index-DT6lPMfS.d.cts → index-Xc4R6y3z.d.cts} +9 -2
  15. package/dist/{index-F1U-fCTu.d.mts → index-lSp0oCJC.d.mts} +9 -2
  16. package/dist/index.cjs +7 -4
  17. package/dist/index.d.cts +4 -4
  18. package/dist/index.d.mts +4 -4
  19. package/dist/index.mjs +4 -4
  20. package/dist/layered/index.cjs +1 -1
  21. package/dist/layered/index.d.cts +2 -2
  22. package/dist/layered/index.d.mts +2 -2
  23. package/dist/layered/index.mjs +1 -1
  24. package/dist/{layered-BsAdm_u8.mjs → layered-CUwft7on.mjs} +488 -91
  25. package/dist/{layered-BJu8A21s.cjs → layered-QzYtokgN.cjs} +488 -91
  26. package/dist/{layout-engine-BFP1TZbF.cjs → layout-engine-CQ5FcBPC.cjs} +1 -1
  27. package/dist/{layout-engine-DnlmGxHL.mjs → layout-engine-DvDkMQM3.mjs} +1 -1
  28. package/dist/routing/index.cjs +5 -2
  29. package/dist/routing/index.d.cts +3 -3
  30. package/dist/routing/index.d.mts +3 -3
  31. package/dist/routing/index.mjs +2 -2
  32. package/dist/routing-D-LfMXOF.mjs +5189 -0
  33. package/dist/routing-Phxu1R0x.cjs +5423 -0
  34. package/dist/{types-CT2akdK0.d.mts → types-D8pYSn8I.d.cts} +112 -2
  35. package/dist/{types-uxPlGRof.d.cts → types-MAUtJfKQ.d.mts} +112 -2
  36. package/package.json +4 -1
  37. package/src/authoring/partial.ts +1 -7
  38. package/src/authoring/routing.ts +64 -19
  39. package/src/layered/feedback-chains.ts +22 -4
  40. package/src/layered/index.ts +186 -42
  41. package/src/layered/loop-envelopes.ts +96 -26
  42. package/src/layered/north-south-ports.ts +17 -4
  43. package/src/layered/self-loop-ports.ts +158 -0
  44. package/src/layered/strategies.ts +183 -32
  45. package/src/routing/algorithms.ts +1436 -148
  46. package/src/routing/bezier-fit.ts +605 -0
  47. package/src/routing/bezier-visibility.ts +107 -0
  48. package/src/routing/bezier.ts +596 -0
  49. package/src/routing/engine.ts +65 -13
  50. package/src/routing/index.ts +14 -0
  51. package/src/routing/model.ts +185 -1
  52. package/src/routing/path.ts +1 -1
  53. package/src/routing/policy-geometry.ts +536 -0
  54. package/src/routing/search.ts +10 -2
  55. package/src/routing/types.ts +77 -1
  56. package/dist/routing-CR8flv8b.mjs +0 -2780
  57. package/dist/routing-QIdGGFBe.cjs +0 -2996
package/README.md CHANGED
@@ -151,11 +151,25 @@ const route = snapshot.routes.get("ab");
151
151
  const paths = route?.sections.map((section) => toSvgPath(section.path));
152
152
  ```
153
153
 
154
- Incremental results match fresh routing for the same graph and settings. Previous
155
- paths are cached outputs, never constraints on new routes.
154
+ `bezierRouting` also accepts center-tangent fitting, floating or orthogonal
155
+ attachments, fixed ports, and explicit label-source chains through
156
+ `settings.bezier` and `settings.edges`. It routes each chain together and
157
+ updates child attachments when parent labels move. See the
158
+ [Bézier options and label-chain example](docs/routing.md#center-tangent-bézier-routing-and-label-chains).
159
+
160
+ `settings.policy` independently controls curve families, endpoint and label
161
+ tangents, passive or fixed labels, collisions, monotonicity, and route stability.
162
+ `routingPolicies.smooth`, `.diagram`, and `.authored` provide Bézier, rounded
163
+ orthogonal, and centripetal Catmull–Rom presets. Following labels use half the
164
+ final path length and return their placement in `Route.label`. See the
165
+ [routing policy reference](docs/routing-policies.md).
166
+
167
+ Canonical incremental results match fresh routing for the same graph and
168
+ settings. Opt-in `stability: { kind: "preserve-valid" }` keeps valid prior paths
169
+ to reduce changes during editing and deliberately depends on edit history.
156
170
 
157
171
  Every strategy supports incremental updates with immutable snapshots and shared
158
- indexes. Nodes, ports, and labels stay fixed. Every edge receives a route;
172
+ indexes. Input nodes, ports, and labels remain unchanged. Every edge receives a route;
159
173
  fallbacks expose status and diagnostics. Deterministic soft crossing/overlap costs
160
174
  coordinate unrelated groups; residual conflicts stay visible and reported. Native TypeScript strategies cover
161
175
  straight, Bézier, orthogonal, polyline, octilinear, curved, organic, parallel,
@@ -376,6 +390,9 @@ pnpm verify
376
390
  pnpm bench
377
391
  pnpm demo
378
392
  pnpm storybook
393
+ pnpm verify:routing-policies
394
+ pnpm routing:gallery .scratch/routing-policies/after --after
395
+ pnpm routing:quality .scratch/routing-quality-pass/after
379
396
  pnpm changeset
380
397
  pnpm release
381
398
  ```
@@ -398,6 +415,18 @@ diagnostics, nested coordinates, and unsupported incremental layout. Controls
398
415
  rerun the real API; each story shows matched before/after geometry, patches, and
399
416
  current limitations. `pnpm storybook:build` writes a static build to `dist-storybook`.
400
417
 
418
+ The **Routing / Policies / Playground** story covers midpoint labels, endpoint
419
+ and label tangents, obstacle avoidance, Catmull–Rom, rounded routes, crossing
420
+ preferences, monotonicity, and shared trunks. Select an example, compare its
421
+ original settings, and drag nodes to exercise incremental updates.
422
+
423
+ The **Routing / Quality** stories include direct examples for all twelve
424
+ strategies, four curve families, label modes, fixed and automatic attachments,
425
+ shared branches, self loops, and constrained corridors. Comparisons use a common
426
+ view box so detours remain visible. Individual stories support dragging, reset,
427
+ obstacle moves, and policy controls. The [visual quality review](docs/routing/quality/README.md)
428
+ retains matching before and after examples.
429
+
401
430
  <!-- exported source compatibility derived from tsconfig.json -->
402
431
 
403
432
  The source project checks indexed reads with `noUncheckedIndexedAccess` so
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, '__esModule', { value: true });
2
- require('../layered-BJu8A21s.cjs');
3
- const require_elkjs = require('../elkjs-Cj-lWiK1.cjs');
2
+ require('../layered-QzYtokgN.cjs');
3
+ const require_elkjs = require('../elkjs-Bh_E59N_.cjs');
4
4
 
5
5
  exports.compileStatechartLayout = require_elkjs.compileStatechartLayout;
6
6
  exports.default = require_elkjs.ELK;
@@ -1,5 +1,5 @@
1
1
  import { _ as ElkShape, a as ElkEdgeSection, c as ElkLabel, d as ElkLayoutCategoryDescription, f as ElkLayoutOptionDescription, g as ElkPrimitiveEdge, h as ElkPort, i as ElkEdge, l as ElkLayoutAlgorithmDescription, m as ElkPoint, n as ELKConstructorArguments, o as ElkExtendedEdge, p as ElkNode, r as ElkCommonDescription, s as ElkGraphElement, t as ELK, u as ElkLayoutArguments, v as LaidOutElkNode, y as LayoutOptions } from "../public-types-BcRZoJE3.cjs";
2
- import { r as Route } from "../types-uxPlGRof.cjs";
2
+ import { a as Route } from "../types-D8pYSn8I.cjs";
3
3
 
4
4
  //#region src/elkjs/types.d.ts
5
5
  type ElkId = string | number;
@@ -1,5 +1,5 @@
1
1
  import { _ as ElkShape, a as ElkEdgeSection, c as ElkLabel, d as ElkLayoutCategoryDescription, f as ElkLayoutOptionDescription, g as ElkPrimitiveEdge, h as ElkPort, i as ElkEdge, l as ElkLayoutAlgorithmDescription, m as ElkPoint, n as ELKConstructorArguments, o as ElkExtendedEdge, p as ElkNode, r as ElkCommonDescription, s as ElkGraphElement, t as ELK, u as ElkLayoutArguments, v as LaidOutElkNode, y as LayoutOptions } from "../public-types-9NCPoqbp.mjs";
2
- import { r as Route } from "../types-CT2akdK0.mjs";
2
+ import { a as Route } from "../types-MAUtJfKQ.mjs";
3
3
 
4
4
  //#region src/elkjs/types.d.ts
5
5
  type ElkId = string | number;
@@ -1,4 +1,4 @@
1
- import "../layered-BsAdm_u8.mjs";
2
- import { a as scoreStatechartLayout, i as layoutStatechart, n as getElkRoutes, r as compileStatechartLayout, t as ELK } from "../elkjs-B5kN_zS6.mjs";
1
+ import "../layered-CUwft7on.mjs";
2
+ import { a as scoreStatechartLayout, i as layoutStatechart, n as getElkRoutes, r as compileStatechartLayout, t as ELK } from "../elkjs-Dk9yOk9U.mjs";
3
3
 
4
4
  export { compileStatechartLayout, ELK as default, getElkRoutes, layoutStatechart, scoreStatechartLayout };
@@ -1,4 +1,4 @@
1
- require('../layered-BJu8A21s.cjs');
1
+ require('../layered-QzYtokgN.cjs');
2
2
  const require_elkjs_worker = require('./worker.cjs');
3
3
  const require_worker_client = require('../worker-client-D4oEvhAl.cjs');
4
4
 
@@ -1,4 +1,4 @@
1
- import "../layered-BsAdm_u8.mjs";
1
+ import "../layered-CUwft7on.mjs";
2
2
  import { Worker } from "./worker.mjs";
3
3
  import { t as WorkerELK } from "../worker-client-BNjwT1AJ.mjs";
4
4
 
@@ -1,5 +1,5 @@
1
- require('../layered-BJu8A21s.cjs');
2
- const require_elkjs = require('../elkjs-Cj-lWiK1.cjs');
1
+ require('../layered-QzYtokgN.cjs');
2
+ const require_elkjs = require('../elkjs-Bh_E59N_.cjs');
3
3
 
4
4
  //#region src/elkjs/worker.ts
5
5
  /*******************************************************************************
@@ -1,5 +1,5 @@
1
- import "../layered-BsAdm_u8.mjs";
2
- import { t as ELK } from "../elkjs-B5kN_zS6.mjs";
1
+ import "../layered-CUwft7on.mjs";
2
+ import { t as ELK } from "../elkjs-Dk9yOk9U.mjs";
3
3
 
4
4
  //#region src/elkjs/worker.ts
5
5
  /*******************************************************************************
@@ -1,6 +1,6 @@
1
- const require_routing = require('./routing-QIdGGFBe.cjs');
2
- const require_layered = require('./layered-BJu8A21s.cjs');
3
- const require_layout_engine = require('./layout-engine-BFP1TZbF.cjs');
1
+ const require_routing = require('./routing-Phxu1R0x.cjs');
2
+ const require_layered = require('./layered-QzYtokgN.cjs');
3
+ const require_layout_engine = require('./layout-engine-CQ5FcBPC.cjs');
4
4
  let _statelyai_graph = require("@statelyai/graph");
5
5
 
6
6
  //#region src/layered/hierarchy-sweepiness.ts
@@ -1,6 +1,6 @@
1
- import { T as pathFromPoints, g as pathFromSplinePoints, j as freeze } from "./routing-CR8flv8b.mjs";
2
- import { $ as attachExternalPortDummy, R as createLayerSweepSession, S as CROSSING_MODEL, Z as minimizeHierarchyCrossings, b as elkjs0111ResultPolicy, c as elkLayeredOptionDefinitions, et as createExternalPortDummy, h as separateOpposingTracks, nt as createOrthogonalHypersegments, t as createLayeredScopePipeline, tt as externalPortDummyOf, v as isPerpendicularPortRestored, y as hierarchicalPortSides } from "./layered-BsAdm_u8.mjs";
3
- import { n as executeElkjs0111Layout } from "./layout-engine-DnlmGxHL.mjs";
1
+ import { E as pathFromPoints, N as freeze, _ as pathFromSplinePoints } from "./routing-D-LfMXOF.mjs";
2
+ import { $ as attachExternalPortDummy, R as createLayerSweepSession, S as CROSSING_MODEL, Z as minimizeHierarchyCrossings, b as elkjs0111ResultPolicy, c as elkLayeredOptionDefinitions, et as createExternalPortDummy, h as separateOpposingTracks, nt as createOrthogonalHypersegments, t as createLayeredScopePipeline, tt as externalPortDummyOf, v as isPerpendicularPortRestored, y as hierarchicalPortSides } from "./layered-CUwft7on.mjs";
3
+ import { n as executeElkjs0111Layout } from "./layout-engine-DvDkMQM3.mjs";
4
4
  import { createGraph } from "@statelyai/graph";
5
5
 
6
6
  //#region src/layered/hierarchy-sweepiness.ts
@@ -1,5 +1,5 @@
1
- import { a as RouteBounds, c as RoutePath, l as RoutePoint, n as NativeRoutingStrategy, r as Route, s as RoutePatch } from "./types-uxPlGRof.cjs";
2
- import { GraphPatch, VisualGraph } from "@statelyai/graph";
1
+ import { C as RoutingPolicy, a as Route, d as RoutePath, f as RoutePoint, i as NativeRoutingStrategy, m as RouteSegment, s as RouteBounds, u as RoutePatch } from "./types-MAUtJfKQ.mjs";
2
+ import { GraphEdge, GraphPatch, VisualGraph } from "@statelyai/graph";
3
3
 
4
4
  //#region src/routing/engine.d.ts
5
5
  declare function applyRoutePatches(routes: ReadonlyMap<string, Route>, patches: readonly RoutePatch[]): ReadonlyMap<string, Route>;
@@ -25,6 +25,8 @@ declare function toSvgPath(path: RoutePath, options?: {
25
25
  readonly radius?: number;
26
26
  readonly precision?: number;
27
27
  }): string;
28
+ /** Test curve geometry, subdividing conservative bounds only where they overlap. */
29
+ declare function segmentCrossesRect(start: RoutePoint, segment: RouteSegment, rect: RouteBounds): boolean;
28
30
  //#endregion
29
31
  //#region src/routing/adapters.d.ts
30
32
  /** ELK/native spline output: start, then repeating control1/control2/end triples. */
@@ -49,6 +51,14 @@ declare function routeToGraphPatch(route: Route, options?: {
49
51
  readonly offset?: RoutePoint;
50
52
  }): GraphPatch;
51
53
  //#endregion
54
+ //#region src/routing/model.d.ts
55
+
56
+ declare const routingPolicies: Readonly<{
57
+ smooth: RoutingPolicy;
58
+ diagram: RoutingPolicy;
59
+ authored: RoutingPolicy;
60
+ }>;
61
+ //#endregion
52
62
  //#region src/routing/index.d.ts
53
63
  declare const straightRouting: NativeRoutingStrategy;
54
64
  declare const bezierRouting: NativeRoutingStrategy;
@@ -77,4 +87,4 @@ declare const routingStrategies: Readonly<{
77
87
  bundle: NativeRoutingStrategy;
78
88
  }>;
79
89
  //#endregion
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 };
90
+ export { applyRoutePatches as A, getPathLength as C, roundCorners as D, pathFromPoints as E, segmentCrossesRect as O, getPathBounds as S, getTangentAtLength as T, routeToGraphPatch as _, fanRouting as a, FlattenPathOptions as b, orthogonalRouting as c, routingStrategies as d, selfLoopRouting as f, pathFromSplinePoints as g, getLayoutRoutes as h, curvedRouting as i, toSvgPath as k, parallelRouting as l, routingPolicies as m, bundleRouting as n, octilinearRouting as o, straightRouting as p, busRouting as r, organicRouting as s, bezierRouting as t, polylineRouting as u, routeToPoints as v, getPointAtLength as w, flattenPath as x, routeToPolylines as y };
@@ -1,5 +1,5 @@
1
- import { a as RouteBounds, c as RoutePath, l as RoutePoint, n as NativeRoutingStrategy, r as Route, s as RoutePatch } from "./types-CT2akdK0.mjs";
2
- import { GraphPatch, VisualGraph } from "@statelyai/graph";
1
+ import { C as RoutingPolicy, a as Route, d as RoutePath, f as RoutePoint, i as NativeRoutingStrategy, m as RouteSegment, s as RouteBounds, u as RoutePatch } from "./types-D8pYSn8I.cjs";
2
+ import { GraphEdge, GraphPatch, VisualGraph } from "@statelyai/graph";
3
3
 
4
4
  //#region src/routing/engine.d.ts
5
5
  declare function applyRoutePatches(routes: ReadonlyMap<string, Route>, patches: readonly RoutePatch[]): ReadonlyMap<string, Route>;
@@ -25,6 +25,8 @@ declare function toSvgPath(path: RoutePath, options?: {
25
25
  readonly radius?: number;
26
26
  readonly precision?: number;
27
27
  }): string;
28
+ /** Test curve geometry, subdividing conservative bounds only where they overlap. */
29
+ declare function segmentCrossesRect(start: RoutePoint, segment: RouteSegment, rect: RouteBounds): boolean;
28
30
  //#endregion
29
31
  //#region src/routing/adapters.d.ts
30
32
  /** ELK/native spline output: start, then repeating control1/control2/end triples. */
@@ -49,6 +51,14 @@ declare function routeToGraphPatch(route: Route, options?: {
49
51
  readonly offset?: RoutePoint;
50
52
  }): GraphPatch;
51
53
  //#endregion
54
+ //#region src/routing/model.d.ts
55
+
56
+ declare const routingPolicies: Readonly<{
57
+ smooth: RoutingPolicy;
58
+ diagram: RoutingPolicy;
59
+ authored: RoutingPolicy;
60
+ }>;
61
+ //#endregion
52
62
  //#region src/routing/index.d.ts
53
63
  declare const straightRouting: NativeRoutingStrategy;
54
64
  declare const bezierRouting: NativeRoutingStrategy;
@@ -77,4 +87,4 @@ declare const routingStrategies: Readonly<{
77
87
  bundle: NativeRoutingStrategy;
78
88
  }>;
79
89
  //#endregion
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 };
90
+ export { applyRoutePatches as A, getPathLength as C, roundCorners as D, pathFromPoints as E, segmentCrossesRect as O, getPathBounds as S, getTangentAtLength as T, routeToGraphPatch as _, fanRouting as a, FlattenPathOptions as b, orthogonalRouting as c, routingStrategies as d, selfLoopRouting as f, pathFromSplinePoints as g, getLayoutRoutes as h, curvedRouting as i, toSvgPath as k, parallelRouting as l, routingPolicies as m, bundleRouting as n, octilinearRouting as o, straightRouting as p, busRouting as r, organicRouting as s, bezierRouting as t, polylineRouting as u, routeToPoints as v, getPointAtLength as w, flattenPath as x, routeToPolylines as y };
@@ -1,4 +1,4 @@
1
- import { n as NativeRoutingStrategy, r as Route, v as RoutingSettings } from "./types-uxPlGRof.cjs";
1
+ import { a as Route, i as NativeRoutingStrategy, w as RoutingSettings } from "./types-D8pYSn8I.cjs";
2
2
  import { EntityRect, Graph, GraphEdge, GraphNode, GraphPatch, GraphPort, Point, VisualGraph } from "@statelyai/graph";
3
3
  import { LayoutConstraints } from "@statelyai/graph/layout";
4
4
 
@@ -1383,7 +1383,14 @@ interface LayeredCrossingPhase {
1383
1383
  * coordinator can prepare every scope, share sweep state, then resume each
1384
1384
  * scope with its final order. The ordinary entry point drains this same pipeline.
1385
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>;
1386
+ declare function createLayeredScopePipeline<N, E, G, P>(graph: Graph<N, E, G, P> | VisualGraph<N, E, G, P>, options: LayeredLayoutOptions, context?: LayoutExecutionContext, /** Pairs and segments that keep their former routing because the new one bent them diagonally. */
1387
+ fallbacks?: OrthogonalFallbacks): Generator<LayeredCrossingPhase, VisualGraph<N, E, G, P>, LayerOrder>;
1388
+ interface OrthogonalFallbacks {
1389
+ /** Antiparallel pair keys that keep coordinate order instead of flow order. */
1390
+ antiparallelPairs: ReadonlySet<string>;
1391
+ /** Feedback segments that keep the plain detour instead of label-dummy port sides. */
1392
+ feedbackSegments: ReadonlySet<string>;
1393
+ }
1387
1394
  /**
1388
1395
  * Deterministic native layered layout for an `@statelyai/graph` graph.
1389
1396
  *
@@ -1,4 +1,4 @@
1
- import { n as NativeRoutingStrategy, r as Route, v as RoutingSettings } from "./types-CT2akdK0.mjs";
1
+ import { a as Route, i as NativeRoutingStrategy, w as RoutingSettings } from "./types-MAUtJfKQ.mjs";
2
2
  import { LayoutConstraints } from "@statelyai/graph/layout";
3
3
  import { EntityRect, Graph, GraphEdge, GraphNode, GraphPatch, GraphPort, Point, VisualGraph } from "@statelyai/graph";
4
4
 
@@ -1383,7 +1383,14 @@ interface LayeredCrossingPhase {
1383
1383
  * coordinator can prepare every scope, share sweep state, then resume each
1384
1384
  * scope with its final order. The ordinary entry point drains this same pipeline.
1385
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>;
1386
+ declare function createLayeredScopePipeline<N, E, G, P>(graph: Graph<N, E, G, P> | VisualGraph<N, E, G, P>, options: LayeredLayoutOptions, context?: LayoutExecutionContext, /** Pairs and segments that keep their former routing because the new one bent them diagonally. */
1387
+ fallbacks?: OrthogonalFallbacks): Generator<LayeredCrossingPhase, VisualGraph<N, E, G, P>, LayerOrder>;
1388
+ interface OrthogonalFallbacks {
1389
+ /** Antiparallel pair keys that keep coordinate order instead of flow order. */
1390
+ antiparallelPairs: ReadonlySet<string>;
1391
+ /** Feedback segments that keep the plain detour instead of label-dummy port sides. */
1392
+ feedbackSegments: ReadonlySet<string>;
1393
+ }
1387
1394
  /**
1388
1395
  * Deterministic native layered layout for an `@statelyai/graph` graph.
1389
1396
  *
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
- const require_routing = require('./routing-QIdGGFBe.cjs');
2
- const require_layered = require('./layered-BJu8A21s.cjs');
3
- const require_layout_engine = require('./layout-engine-BFP1TZbF.cjs');
1
+ const require_routing = require('./routing-Phxu1R0x.cjs');
2
+ const require_layered = require('./layered-QzYtokgN.cjs');
3
+ const require_layout_engine = require('./layout-engine-CQ5FcBPC.cjs');
4
4
  let _statelyai_graph = require("@statelyai/graph");
5
5
 
6
6
  //#region src/layout.ts
@@ -208,11 +208,14 @@ exports.routeEdgesWithSplines = require_layered.routeEdgesWithSplines;
208
208
  exports.routeToGraphPatch = require_routing.routeToGraphPatch;
209
209
  exports.routeToPoints = require_routing.routeToPoints;
210
210
  exports.routeToPolylines = require_routing.routeToPolylines;
211
+ exports.routingPolicies = require_routing.routingPolicies;
211
212
  exports.routingStrategies = require_routing.routingStrategies;
213
+ exports.segmentCrossesRect = require_routing.segmentCrossesRect;
212
214
  exports.selfLoopRouting = require_routing.selfLoopRouting;
213
215
  exports.sporeCompactionAlgorithm = require_layout_engine.sporeCompactionAlgorithm;
214
216
  exports.sporeOverlapRemovalAlgorithm = require_layout_engine.sporeOverlapRemovalAlgorithm;
215
217
  exports.statechartHints = require_layered.statechartHints;
216
218
  exports.straightRouting = require_routing.straightRouting;
217
219
  exports.toElkLayeredOptions = require_layered.toElkLayeredOptions;
218
- exports.toSvgPath = require_routing.toSvgPath;
220
+ exports.toSvgPath = require_routing.toSvgPath;
221
+ exports.trimBezierPathStart = require_routing.trimBezierPathStart;
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
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 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";
1
+ import { A as BezierGuide, C as RoutingPolicy, D as RoutingTangent, E as RoutingStrategy, O as RoutingUpdate, S as RoutingMetrics, T as RoutingSnapshot, _ as RoutingCurve, a as Route, b as RoutingGraph, c as RouteEndpoint, d as RoutePath, f as RoutePoint, g as RouteStyle, h as RouteSide, i as NativeRoutingStrategy, j as trimBezierPathStart, k as BezierEndpoint, l as RouteLabelPlacement, m as RouteSegment, n as BezierRoutingOptions, o as RouteAttachment, p as RouteSection, r as EdgeRoutingSettings, s as RouteBounds, t as BezierEdgeSettings, u as RoutePatch, v as RoutingDiagnostic, w as RoutingSettings, x as RoutingLabel, y as RoutingDiagnosticCode } from "./types-D8pYSn8I.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-Xc4R6y3z.cjs";
3
+ import { A as applyRoutePatches, C as getPathLength, D as roundCorners, E as pathFromPoints, O as segmentCrossesRect, S as getPathBounds, T as getTangentAtLength, _ as routeToGraphPatch, a as fanRouting, b as FlattenPathOptions, c as orthogonalRouting, d as routingStrategies, f as selfLoopRouting, g as pathFromSplinePoints, h as getLayoutRoutes, i as curvedRouting, k as toSvgPath, l as parallelRouting, m as routingPolicies, 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 getPointAtLength, x as flattenPath, y as routeToPolylines } from "./index-C0J4ttZe.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 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 };
78
+ export { type AcyclicOrientation, type AlignConstraint, type AnchorHint, type AnyGraph, BezierEdgeSettings, BezierEndpoint, BezierGuide, BezierRoutingOptions, 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, RouteLabelPlacement, RoutePatch, RoutePath, RoutePoint, RouteSection, RouteSegment, RouteSide, RouteStyle, RoutingCurve, RoutingDiagnostic, RoutingDiagnosticCode, RoutingGraph, RoutingLabel, RoutingMetrics, RoutingPolicy, RoutingSettings, RoutingSnapshot, RoutingStrategy, RoutingTangent, 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, routingPolicies, routingStrategies, segmentCrossesRect, selfLoopRouting, sporeCompactionAlgorithm, sporeOverlapRemovalAlgorithm, statechartHints, straightRouting, toElkLayeredOptions, toSvgPath, trimBezierPathStart };
package/dist/index.d.mts CHANGED
@@ -1,6 +1,6 @@
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 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";
1
+ import { A as BezierGuide, C as RoutingPolicy, D as RoutingTangent, E as RoutingStrategy, O as RoutingUpdate, S as RoutingMetrics, T as RoutingSnapshot, _ as RoutingCurve, a as Route, b as RoutingGraph, c as RouteEndpoint, d as RoutePath, f as RoutePoint, g as RouteStyle, h as RouteSide, i as NativeRoutingStrategy, j as trimBezierPathStart, k as BezierEndpoint, l as RouteLabelPlacement, m as RouteSegment, n as BezierRoutingOptions, o as RouteAttachment, p as RouteSection, r as EdgeRoutingSettings, s as RouteBounds, t as BezierEdgeSettings, u as RoutePatch, v as RoutingDiagnostic, w as RoutingSettings, x as RoutingLabel, y as RoutingDiagnosticCode } from "./types-MAUtJfKQ.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-lSp0oCJC.mjs";
3
+ import { A as applyRoutePatches, C as getPathLength, D as roundCorners, E as pathFromPoints, O as segmentCrossesRect, S as getPathBounds, T as getTangentAtLength, _ as routeToGraphPatch, a as fanRouting, b as FlattenPathOptions, c as orthogonalRouting, d as routingStrategies, f as selfLoopRouting, g as pathFromSplinePoints, h as getLayoutRoutes, i as curvedRouting, k as toSvgPath, l as parallelRouting, m as routingPolicies, 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 getPointAtLength, x as flattenPath, y as routeToPolylines } from "./index-0YVSvMvA.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 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 };
78
+ export { type AcyclicOrientation, type AlignConstraint, type AnchorHint, type AnyGraph, BezierEdgeSettings, BezierEndpoint, BezierGuide, BezierRoutingOptions, 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, RouteLabelPlacement, RoutePatch, RoutePath, RoutePoint, RouteSection, RouteSegment, RouteSide, RouteStyle, RoutingCurve, RoutingDiagnostic, RoutingDiagnosticCode, RoutingGraph, RoutingLabel, RoutingMetrics, RoutingPolicy, RoutingSettings, RoutingSnapshot, RoutingStrategy, RoutingTangent, 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, routingPolicies, routingStrategies, segmentCrossesRect, selfLoopRouting, sporeCompactionAlgorithm, sporeOverlapRemovalAlgorithm, statechartHints, straightRouting, toElkLayeredOptions, toSvgPath, trimBezierPathStart };
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
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-BsAdm_u8.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-DnlmGxHL.mjs";
1
+ import { C as getPathLength, D as roundCorners, E as pathFromPoints, O as segmentCrossesRect, P as routingPolicies, R as LayoutError, S as getPathBounds, T as getTangentAtLength, _ as pathFromSplinePoints, a as fanRouting, b as routeToPolylines, c as orthogonalRouting, d as routingStrategies, f as selfLoopRouting, g as getLayoutRoutes, h as trimBezierPathStart, i as curvedRouting, k as toSvgPath, 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 routeToGraphPatch, w as getPointAtLength, x as flattenPath, y as routeToPoints, z as UnsupportedLayoutError } from "./routing-D-LfMXOF.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-CUwft7on.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-DvDkMQM3.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, 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 };
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, routingPolicies, routingStrategies, segmentCrossesRect, selfLoopRouting, sporeCompactionAlgorithm, sporeOverlapRemovalAlgorithm, statechartHints, straightRouting, toElkLayeredOptions, toSvgPath, trimBezierPathStart };
@@ -1,4 +1,4 @@
1
- const require_layered = require('../layered-BJu8A21s.cjs');
1
+ const require_layered = require('../layered-QzYtokgN.cjs');
2
2
 
3
3
  exports.assignLayersByBreadthFirstModelOrder = require_layered.assignLayersByBreadthFirstModelOrder;
4
4
  exports.assignLayersByDepthFirstModelOrder = require_layered.assignLayersByDepthFirstModelOrder;
@@ -1,3 +1,3 @@
1
- import "../types-uxPlGRof.cjs";
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";
1
+ import "../types-D8pYSn8I.cjs";
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-Xc4R6y3z.cjs";
3
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 };
@@ -1,3 +1,3 @@
1
- import "../types-CT2akdK0.mjs";
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-F1U-fCTu.mjs";
1
+ import "../types-MAUtJfKQ.mjs";
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-lSp0oCJC.mjs";
3
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 };
@@ -1,3 +1,3 @@
1
- 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, a as fromElkLayeredOptionId, c as elkLayeredOptionDefinitions, d as placeNodesWithBrandesKoepf, f as assignLayersWithStretchWidth, i as layeredAlgorithm, j as breakCyclesByStronglyConnectedNodeType, k as breakCyclesByModelOrder, l as placeNodesWithNetworkSimplex, n as elkjs0111LayeredAlgorithm, o as toElkLayeredOptions, p as assignLayersWithMinWidth, q as routeEdgesOrthogonally, r as getLayeredLayout, s as elkLayeredEnumValues, t as createLayeredScopePipeline, u as placeNodesWithLinearSegments, w as assignLayersByDepthFirstModelOrder } from "../layered-BsAdm_u8.mjs";
1
+ 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, a as fromElkLayeredOptionId, c as elkLayeredOptionDefinitions, d as placeNodesWithBrandesKoepf, f as assignLayersWithStretchWidth, i as layeredAlgorithm, j as breakCyclesByStronglyConnectedNodeType, k as breakCyclesByModelOrder, l as placeNodesWithNetworkSimplex, n as elkjs0111LayeredAlgorithm, o as toElkLayeredOptions, p as assignLayersWithMinWidth, q as routeEdgesOrthogonally, r as getLayeredLayout, s as elkLayeredEnumValues, t as createLayeredScopePipeline, u as placeNodesWithLinearSegments, w as assignLayersByDepthFirstModelOrder } from "../layered-CUwft7on.mjs";
2
2
 
3
3
  export { 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 };