ggn-layout 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +4 -0
  3. package/THIRD_PARTY_NOTICES.md +1 -1
  4. package/dist/{algorithms-CndAU_xu.js → algorithms-JOaPA3B9.js} +5 -3
  5. package/dist/{algorithms-gBJvJ1vu.cjs → algorithms-X6GKNYEw.cjs} +5 -3
  6. package/dist/api/index.cjs +6 -4
  7. package/dist/api/index.d.cts +8 -6
  8. package/dist/api/index.d.ts +8 -6
  9. package/dist/api/index.js +6 -4
  10. package/dist/api/layered.cjs +6 -4
  11. package/dist/api/layered.d.cts +7 -5
  12. package/dist/api/layered.d.ts +7 -5
  13. package/dist/api/layered.js +6 -4
  14. package/dist/{api-CJOvh1wF.js → api-D4FVITVw.js} +6 -4
  15. package/dist/{api-D6wZ8K92.cjs → api-DTHTxaol.cjs} +6 -4
  16. package/dist/{internal-CbM3qPZx.d.ts → core-DWo6Sbh9.d.ts} +6 -4
  17. package/dist/{internal-TOWD-Rww.d.cts → core-Or66h-Jn.d.cts} +6 -4
  18. package/dist/{internal.cjs → core.cjs} +6 -4
  19. package/dist/{internal.d.cts → core.d.cts} +8 -6
  20. package/dist/{internal.d.ts → core.d.ts} +8 -6
  21. package/dist/{internal.js → core.js} +6 -4
  22. package/dist/{elk-json-Cf5biFF7.d.cts → elk-json-BiUIDEHd.d.cts} +5 -3
  23. package/dist/{elk-json-Cf5biFF7.d.ts → elk-json-BiUIDEHd.d.ts} +5 -3
  24. package/dist/{elk-json-Ow0_ujWC.cjs → elk-json-BqpJCr7A.cjs} +6 -4
  25. package/dist/{elk-json-Bli8UvHo.js → elk-json-Dm4r-Nqy.js} +6 -4
  26. package/dist/{index-9-rJw6UF.d.cts → index-DprqHh4K.d.ts} +7 -5
  27. package/dist/{index-CC3PKvJ0.d.ts → index-DwemPNSn.d.cts} +7 -5
  28. package/dist/index.cjs +6 -4
  29. package/dist/index.d.cts +10 -8
  30. package/dist/index.d.ts +10 -8
  31. package/dist/index.js +6 -4
  32. package/dist/layered-options-CWVVspE4.d.cts +17 -0
  33. package/dist/layered-options-vH0HCu1n.d.ts +17 -0
  34. package/dist/layout-worker.cjs +6 -4
  35. package/dist/layout-worker.d.cts +6 -4
  36. package/dist/layout-worker.d.ts +6 -4
  37. package/dist/layout-worker.js +6 -4
  38. package/dist/options.cjs +6 -4
  39. package/dist/options.d.cts +7 -5
  40. package/dist/options.d.ts +7 -5
  41. package/dist/options.js +6 -4
  42. package/dist/{validate-CcKdG1RG.d.cts → validate-YGFYSdxd.d.cts} +5 -3
  43. package/dist/{validate-CcKdG1RG.d.ts → validate-YGFYSdxd.d.ts} +5 -3
  44. package/docs/API.md +1 -1
  45. package/docs/reference/elk-edge-routing-investigation.md +1 -1
  46. package/package.json +9 -8
  47. package/dist/layered-options-BsoOG6Wx.d.ts +0 -15
  48. package/dist/layered-options-CJRS7cIk.d.cts +0 -15
  49. /package/{src/api → schema}/layout-input.schema.json +0 -0
@@ -1,14 +1,16 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- import { _ as LayoutProgressEvent, c as LayoutInput, h as LayoutControl, i as ElkLayoutOptions, l as LayoutOutput, o as ElkPoint } from "./elk-json-Cf5biFF7.cjs";
11
- import { r as LayoutError } from "./validate-CcKdG1RG.cjs";
12
+ import { _ as LayoutProgressEvent, c as LayoutInput, h as LayoutControl, i as ElkLayoutOptions, l as LayoutOutput, o as ElkPoint } from "./elk-json-BiUIDEHd.js";
13
+ import { r as LayoutError } from "./validate-YGFYSdxd.js";
12
14
  //#region src/api/batch.d.ts
13
15
  /** Result for one input in a sequential batch layout. */
14
16
  interface LayoutBatchItem {
@@ -1,14 +1,16 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- import { _ as LayoutProgressEvent, c as LayoutInput, h as LayoutControl, i as ElkLayoutOptions, l as LayoutOutput, o as ElkPoint } from "./elk-json-Cf5biFF7.js";
11
- import { r as LayoutError } from "./validate-CcKdG1RG.js";
12
+ import { _ as LayoutProgressEvent, c as LayoutInput, h as LayoutControl, i as ElkLayoutOptions, l as LayoutOutput, o as ElkPoint } from "./elk-json-BiUIDEHd.cjs";
13
+ import { r as LayoutError } from "./validate-YGFYSdxd.cjs";
12
14
  //#region src/api/batch.d.ts
13
15
  /** Result for one input in a sequential batch layout. */
14
16
  interface LayoutBatchItem {
package/dist/index.cjs CHANGED
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./elk-json-Ow0_ujWC.cjs"),t=require("./api-D6wZ8K92.cjs"),n=require("./algorithms-gBJvJ1vu.cjs");require("./internal.cjs"),exports.BARYCENTER_ASSOCIATES=n.On,exports.BOTTOM_COMMENTS=n.kn,exports.BREAKING_POINT_INFO=n.An,exports.CB_NUM_MODEL_ORDER_GROUPS=n.jn,exports.COMMENT_CONN_PORT=n.Mn,exports.CROSSING_HINT=n.Nn,exports.CROSSING_MINIMIZATION_FORCE_NODE_MODEL_ORDER=n.Pn,exports.CROSSING_MINIMIZATION_HIERARCHICAL_SWEEPINESS=n.Fn,exports.CROSS_HIERARCHY_MAP=n.In,exports.CYCLIC=n.Ln,exports.ComponentsProcessor=e.m,exports.Direction=n.Mr,exports.END_LABELS=n.Rn,exports.END_LABEL_EDGE=n.zn,exports.EXT_PORT_CONNECTIONS=n.Bn,exports.EXT_PORT_REPLACED_DUMMIES=n.Vn,exports.EXT_PORT_REPLACED_DUMMY=n.Hn,exports.EXT_PORT_SIDE=n.Un,exports.EXT_PORT_SIZE=n.Wn,exports.EdgeConstraint=n.Nr,exports.GRAPH_PROPERTIES=n.Gn,exports.GREEDY_SWITCH_ACTIVE=n.Kn,exports.GraphProperties=n.qn,exports.HIDDEN_NODES=n.Jn,exports.HIERARCHY_HANDLING=n.q,exports.INPUT_COLLECT=n.Yn,exports.INSIDE_CONNECTIONS=n.Xn,exports.IN_LAYER_LAYOUT_UNIT=n.Zn,exports.IN_LAYER_SUCCESSOR_CONSTRAINTS=n.Qn,exports.IN_LAYER_SUCCESSOR_CONSTRAINTS_BETWEEN_NON_DUMMIES=n.$n,exports.InLayerConstraint=n.Pr,exports.LABEL_SIDE=n.er,exports.LEdge=e.v,exports.LGraph=e.C,exports.LGraphElement=e.x,exports.LNode=e.b,exports.LONG_EDGE_BEFORE_LABEL_DUMMY=n.tr,exports.LONG_EDGE_HAS_LABEL_DUMMIES=n.nr,exports.LONG_EDGE_SOURCE=n.rr,exports.LONG_EDGE_TARGET=n.ir,exports.LONG_EDGE_TARGET_NODE=n.ar,exports.LPort=e.y,exports.LShape=e.S,exports.Layer=e._,exports.LayerConstraint=n.Fr,exports.LayeredLayoutProvider=e.u,exports.LayoutError=e.o,exports.LayoutErrorCode=e.s,exports.MAX_EDGE_THICKNESS=n.or,exports.MAX_MODEL_ORDER_NODES=n.sr,exports.MODEL_ORDER=n.cr,exports.MapPropertyHolder=n.ii,exports.NodeType=n.Ir,exports.NullProgressMonitor=e.d,exports.ORIGIN=n.lr,exports.ORIGINAL_BENDPOINTS=n.ur,exports.ORIGINAL_DUMMY_NODE_POSITION=n.dr,exports.ORIGINAL_LABEL_EDGE=n.fr,exports.ORIGINAL_OPPOSITE_PORT=n.pr,exports.ORIGINAL_PORT_CONSTRAINTS=n.mr,exports.OUTPUT_COLLECT=n.hr,exports.PARTITION_DUMMY=n.gr,exports.PORT_DUMMY=n._r,exports.PORT_IS_OUTPUT=n.vr,exports.PORT_RATIO_OR_POSITION=n.yr,Object.defineProperty(exports,"PortConstraints",{enumerable:!0,get:function(){return n.Lr}}),Object.defineProperty(exports,"PortSide",{enumerable:!0,get:function(){return n.Rr}}),exports.PortType=n.zr,exports.Property=n.ai,exports.RANDOM=n.br,exports.REPRESENTED_LABELS=n.xr,exports.REVERSED=n.Sr,exports.SELF_LOOP_HOLDER=n.Cr,exports.SIDES_EAST=n.Br,exports.SIDES_EAST_SOUTH=n.Vr,exports.SIDES_EAST_SOUTH_WEST=n.Hr,exports.SIDES_EAST_WEST=n.Ur,exports.SIDES_NORTH=n.Wr,exports.SIDES_NORTH_EAST=n.Gr,exports.SIDES_NORTH_EAST_SOUTH=n.Kr,exports.SIDES_NORTH_EAST_SOUTH_WEST=n.qr,exports.SIDES_NORTH_SOUTH=n.Jr,exports.SIDES_NORTH_WEST=n.Yr,exports.SIDES_SOUTH=n.Xr,exports.SIDES_SOUTH_WEST=n.Zr,exports.SIDES_SOUTH_WEST_NORTH=n.Qr,exports.SIDES_WEST=n.$r,exports.SIDES_WEST_NORTH_EAST=n.ei,exports.SPACINGS=n.wr,exports.SPLINE_EDGE_CHAIN=n.Tr,exports.SPLINE_NS_PORT_Y_COORD=n.Er,exports.SPLINE_ROUTE_START=n.Dr,exports.SPLINE_SURVIVING_EDGE=n.Or,exports.TARGET_NODE_MODEL_ORDER=n.kr,exports.TARGET_OFFSET=n.Ar,exports.TOP_COMMENTS=n.jr,exports.assertValidLayoutInput=e.i,exports.buildGraph=e.t,exports.computeComponentSize=e.h,exports.createMergedPort=e.c,exports.diffLayout=t.n,exports.doCompoundLayout=e.f,exports.doSimpleLayout=e.p,exports.extractGraph=e.n,exports.getEdgeEndpoints=e.g,exports.layoutElkJson=e.r,exports.layoutJsonBatch=t.i,exports.layoutJsonDiff=t.r,exports.provideCollectorPort=e.l,exports.validateLayoutInput=e.a;
12
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./elk-json-BqpJCr7A.cjs"),t=require("./api-DTHTxaol.cjs"),n=require("./algorithms-X6GKNYEw.cjs");require("./core.cjs"),exports.BARYCENTER_ASSOCIATES=n.On,exports.BOTTOM_COMMENTS=n.kn,exports.BREAKING_POINT_INFO=n.An,exports.CB_NUM_MODEL_ORDER_GROUPS=n.jn,exports.COMMENT_CONN_PORT=n.Mn,exports.CROSSING_HINT=n.Nn,exports.CROSSING_MINIMIZATION_FORCE_NODE_MODEL_ORDER=n.Pn,exports.CROSSING_MINIMIZATION_HIERARCHICAL_SWEEPINESS=n.Fn,exports.CROSS_HIERARCHY_MAP=n.In,exports.CYCLIC=n.Ln,exports.ComponentsProcessor=e.m,exports.Direction=n.Mr,exports.END_LABELS=n.Rn,exports.END_LABEL_EDGE=n.zn,exports.EXT_PORT_CONNECTIONS=n.Bn,exports.EXT_PORT_REPLACED_DUMMIES=n.Vn,exports.EXT_PORT_REPLACED_DUMMY=n.Hn,exports.EXT_PORT_SIDE=n.Un,exports.EXT_PORT_SIZE=n.Wn,exports.EdgeConstraint=n.Nr,exports.GRAPH_PROPERTIES=n.Gn,exports.GREEDY_SWITCH_ACTIVE=n.Kn,exports.GraphProperties=n.qn,exports.HIDDEN_NODES=n.Jn,exports.HIERARCHY_HANDLING=n.q,exports.INPUT_COLLECT=n.Yn,exports.INSIDE_CONNECTIONS=n.Xn,exports.IN_LAYER_LAYOUT_UNIT=n.Zn,exports.IN_LAYER_SUCCESSOR_CONSTRAINTS=n.Qn,exports.IN_LAYER_SUCCESSOR_CONSTRAINTS_BETWEEN_NON_DUMMIES=n.$n,exports.InLayerConstraint=n.Pr,exports.LABEL_SIDE=n.er,exports.LEdge=e.v,exports.LGraph=e.C,exports.LGraphElement=e.x,exports.LNode=e.b,exports.LONG_EDGE_BEFORE_LABEL_DUMMY=n.tr,exports.LONG_EDGE_HAS_LABEL_DUMMIES=n.nr,exports.LONG_EDGE_SOURCE=n.rr,exports.LONG_EDGE_TARGET=n.ir,exports.LONG_EDGE_TARGET_NODE=n.ar,exports.LPort=e.y,exports.LShape=e.S,exports.Layer=e._,exports.LayerConstraint=n.Fr,exports.LayeredLayoutProvider=e.u,exports.LayoutError=e.o,exports.LayoutErrorCode=e.s,exports.MAX_EDGE_THICKNESS=n.or,exports.MAX_MODEL_ORDER_NODES=n.sr,exports.MODEL_ORDER=n.cr,exports.MapPropertyHolder=n.ii,exports.NodeType=n.Ir,exports.NullProgressMonitor=e.d,exports.ORIGIN=n.lr,exports.ORIGINAL_BENDPOINTS=n.ur,exports.ORIGINAL_DUMMY_NODE_POSITION=n.dr,exports.ORIGINAL_LABEL_EDGE=n.fr,exports.ORIGINAL_OPPOSITE_PORT=n.pr,exports.ORIGINAL_PORT_CONSTRAINTS=n.mr,exports.OUTPUT_COLLECT=n.hr,exports.PARTITION_DUMMY=n.gr,exports.PORT_DUMMY=n._r,exports.PORT_IS_OUTPUT=n.vr,exports.PORT_RATIO_OR_POSITION=n.yr,Object.defineProperty(exports,"PortConstraints",{enumerable:!0,get:function(){return n.Lr}}),Object.defineProperty(exports,"PortSide",{enumerable:!0,get:function(){return n.Rr}}),exports.PortType=n.zr,exports.Property=n.ai,exports.RANDOM=n.br,exports.REPRESENTED_LABELS=n.xr,exports.REVERSED=n.Sr,exports.SELF_LOOP_HOLDER=n.Cr,exports.SIDES_EAST=n.Br,exports.SIDES_EAST_SOUTH=n.Vr,exports.SIDES_EAST_SOUTH_WEST=n.Hr,exports.SIDES_EAST_WEST=n.Ur,exports.SIDES_NORTH=n.Wr,exports.SIDES_NORTH_EAST=n.Gr,exports.SIDES_NORTH_EAST_SOUTH=n.Kr,exports.SIDES_NORTH_EAST_SOUTH_WEST=n.qr,exports.SIDES_NORTH_SOUTH=n.Jr,exports.SIDES_NORTH_WEST=n.Yr,exports.SIDES_SOUTH=n.Xr,exports.SIDES_SOUTH_WEST=n.Zr,exports.SIDES_SOUTH_WEST_NORTH=n.Qr,exports.SIDES_WEST=n.$r,exports.SIDES_WEST_NORTH_EAST=n.ei,exports.SPACINGS=n.wr,exports.SPLINE_EDGE_CHAIN=n.Tr,exports.SPLINE_NS_PORT_Y_COORD=n.Er,exports.SPLINE_ROUTE_START=n.Dr,exports.SPLINE_SURVIVING_EDGE=n.Or,exports.TARGET_NODE_MODEL_ORDER=n.kr,exports.TARGET_OFFSET=n.Ar,exports.TOP_COMMENTS=n.jr,exports.assertValidLayoutInput=e.i,exports.buildGraph=e.t,exports.computeComponentSize=e.h,exports.createMergedPort=e.c,exports.diffLayout=t.n,exports.doCompoundLayout=e.f,exports.doSimpleLayout=e.p,exports.extractGraph=e.n,exports.getEdgeEndpoints=e.g,exports.layoutElkJson=e.r,exports.layoutJsonBatch=t.i,exports.layoutJsonDiff=t.r,exports.provideCollectorPort=e.l,exports.validateLayoutInput=e.a;
package/dist/index.d.cts CHANGED
@@ -1,15 +1,17 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- import { $ as IPropertyHolder, A as InLayerConstraint, B as SIDES_EAST_WEST, C as Layer, D as LShape, E as LGraphElement, F as PortSide, G as SIDES_NORTH_SOUTH, H as SIDES_NORTH_EAST, I as PortType, J as SIDES_SOUTH_WEST, K as SIDES_NORTH_WEST, L as SIDES_EAST, M as LayerConstraint, N as NodeType, O as Direction, P as PortConstraints, Q as IProperty, R as SIDES_EAST_SOUTH, S as LNode, T as LEdge, U as SIDES_NORTH_EAST_SOUTH, V as SIDES_NORTH, W as SIDES_NORTH_EAST_SOUTH_WEST, X as SIDES_WEST, Y as SIDES_SOUTH_WEST_NORTH, Z as SIDES_WEST_NORTH_EAST, _ as LayoutProgressEvent, a as ElkNode, b as LLabel, c as LayoutInput, d as LayoutSummary, et as MapPropertyHolder, f as buildGraph, g as LayoutPhase, h as LayoutControl, i as ElkLayoutOptions, j as KVector, k as EdgeConstraint, l as LayoutOutput, m as layoutElkJson, n as ElkEdge, o as ElkPoint, p as extractGraph, q as SIDES_SOUTH, r as ElkEdgeSection, s as ElkPort, t as BuiltGraph, tt as Property, u as LayoutOutputEdge, v as LGraph, w as LPort, x as LMargin, y as LPadding, z as SIDES_EAST_SOUTH_WEST } from "./elk-json-Cf5biFF7.cjs";
11
- import { a as LayoutErrorOptions, i as LayoutErrorCode, n as validateLayoutInput, o as LayoutIssue, r as LayoutError, t as assertValidLayoutInput } from "./validate-CcKdG1RG.cjs";
12
- import { c as LayoutEdgeDelta, d as layoutJsonDiff, f as LayoutBatchItem, l as LayoutNodeDelta, m as layoutJsonBatch, p as LayoutBatchResult, s as LayoutDiff, u as diffLayout } from "./index-9-rJw6UF.cjs";
13
- import { $ as PORT_IS_OUTPUT, A as INPUT_COLLECT, B as LONG_EDGE_TARGET_NODE, C as EXT_PORT_REPLACED_DUMMY, D as GREEDY_SWITCH_ACTIVE, E as GRAPH_PROPERTIES, F as LABEL_SIDE, G as ORIGINAL_BENDPOINTS, H as MAX_MODEL_ORDER_NODES, I as LONG_EDGE_BEFORE_LABEL_DUMMY, J as ORIGINAL_OPPOSITE_PORT, K as ORIGINAL_DUMMY_NODE_POSITION, L as LONG_EDGE_HAS_LABEL_DUMMIES, M as IN_LAYER_LAYOUT_UNIT, N as IN_LAYER_SUCCESSOR_CONSTRAINTS, O as GraphProperties, P as IN_LAYER_SUCCESSOR_CONSTRAINTS_BETWEEN_NON_DUMMIES, Q as PORT_DUMMY, R as LONG_EDGE_SOURCE, S as EXT_PORT_REPLACED_DUMMIES, T as EXT_PORT_SIZE, U as MODEL_ORDER, V as MAX_EDGE_THICKNESS, W as ORIGIN, X as OUTPUT_COLLECT, Y as ORIGINAL_PORT_CONSTRAINTS, Z as PARTITION_DUMMY, _ as CROSS_HIERARCHY_MAP, a as NullProgressMonitor, at as SPACINGS, b as END_LABEL_EDGE, c as getEdgeEndpoints, ct as SPLINE_ROUTE_START, d as BREAKING_POINT_INFO, dt as TARGET_OFFSET, et as PORT_RATIO_OR_POSITION, f as CB_NUM_MODEL_ORDER_GROUPS, ft as TOP_COMMENTS, g as CROSSING_MINIMIZATION_HIERARCHICAL_SWEEPINESS, h as CROSSING_MINIMIZATION_FORCE_NODE_MODEL_ORDER, i as LayeredLayoutProvider, it as SELF_LOOP_HOLDER, j as INSIDE_CONNECTIONS, k as HIDDEN_NODES, l as BARYCENTER_ASSOCIATES, lt as SPLINE_SURVIVING_EDGE, m as CROSSING_HINT, mt as provideCollectorPort, n as computeComponentSize, nt as REPRESENTED_LABELS, o as doCompoundLayout, ot as SPLINE_EDGE_CHAIN, p as COMMENT_CONN_PORT, pt as createMergedPort, q as ORIGINAL_LABEL_EDGE, r as IElkProgressMonitor, rt as REVERSED, s as doSimpleLayout, st as SPLINE_NS_PORT_Y_COORD, t as ComponentsProcessor, tt as RANDOM, u as BOTTOM_COMMENTS, ut as TARGET_NODE_MODEL_ORDER, v as CYCLIC, w as EXT_PORT_SIDE, x as EXT_PORT_CONNECTIONS, y as END_LABELS, z as LONG_EDGE_TARGET } from "./internal-TOWD-Rww.cjs";
14
- import { t as HIERARCHY_HANDLING } from "./layered-options-CJRS7cIk.cjs";
12
+ import { $ as IPropertyHolder, A as InLayerConstraint, B as SIDES_EAST_WEST, C as Layer, D as LShape, E as LGraphElement, F as PortSide, G as SIDES_NORTH_SOUTH, H as SIDES_NORTH_EAST, I as PortType, J as SIDES_SOUTH_WEST, K as SIDES_NORTH_WEST, L as SIDES_EAST, M as LayerConstraint, N as NodeType, O as Direction, P as PortConstraints, Q as IProperty, R as SIDES_EAST_SOUTH, S as LNode, T as LEdge, U as SIDES_NORTH_EAST_SOUTH, V as SIDES_NORTH, W as SIDES_NORTH_EAST_SOUTH_WEST, X as SIDES_WEST, Y as SIDES_SOUTH_WEST_NORTH, Z as SIDES_WEST_NORTH_EAST, _ as LayoutProgressEvent, a as ElkNode, b as LLabel, c as LayoutInput, d as LayoutSummary, et as MapPropertyHolder, f as buildGraph, g as LayoutPhase, h as LayoutControl, i as ElkLayoutOptions, j as KVector, k as EdgeConstraint, l as LayoutOutput, m as layoutElkJson, n as ElkEdge, o as ElkPoint, p as extractGraph, q as SIDES_SOUTH, r as ElkEdgeSection, s as ElkPort, t as BuiltGraph, tt as Property, u as LayoutOutputEdge, v as LGraph, w as LPort, x as LMargin, y as LPadding, z as SIDES_EAST_SOUTH_WEST } from "./elk-json-BiUIDEHd.cjs";
13
+ import { a as LayoutErrorOptions, i as LayoutErrorCode, n as validateLayoutInput, o as LayoutIssue, r as LayoutError, t as assertValidLayoutInput } from "./validate-YGFYSdxd.cjs";
14
+ import { c as LayoutEdgeDelta, d as layoutJsonDiff, f as LayoutBatchItem, l as LayoutNodeDelta, m as layoutJsonBatch, p as LayoutBatchResult, s as LayoutDiff, u as diffLayout } from "./index-DwemPNSn.cjs";
15
+ import { $ as PORT_IS_OUTPUT, A as INPUT_COLLECT, B as LONG_EDGE_TARGET_NODE, C as EXT_PORT_REPLACED_DUMMY, D as GREEDY_SWITCH_ACTIVE, E as GRAPH_PROPERTIES, F as LABEL_SIDE, G as ORIGINAL_BENDPOINTS, H as MAX_MODEL_ORDER_NODES, I as LONG_EDGE_BEFORE_LABEL_DUMMY, J as ORIGINAL_OPPOSITE_PORT, K as ORIGINAL_DUMMY_NODE_POSITION, L as LONG_EDGE_HAS_LABEL_DUMMIES, M as IN_LAYER_LAYOUT_UNIT, N as IN_LAYER_SUCCESSOR_CONSTRAINTS, O as GraphProperties, P as IN_LAYER_SUCCESSOR_CONSTRAINTS_BETWEEN_NON_DUMMIES, Q as PORT_DUMMY, R as LONG_EDGE_SOURCE, S as EXT_PORT_REPLACED_DUMMIES, T as EXT_PORT_SIZE, U as MODEL_ORDER, V as MAX_EDGE_THICKNESS, W as ORIGIN, X as OUTPUT_COLLECT, Y as ORIGINAL_PORT_CONSTRAINTS, Z as PARTITION_DUMMY, _ as CROSS_HIERARCHY_MAP, a as NullProgressMonitor, at as SPACINGS, b as END_LABEL_EDGE, c as getEdgeEndpoints, ct as SPLINE_ROUTE_START, d as BREAKING_POINT_INFO, dt as TARGET_OFFSET, et as PORT_RATIO_OR_POSITION, f as CB_NUM_MODEL_ORDER_GROUPS, ft as TOP_COMMENTS, g as CROSSING_MINIMIZATION_HIERARCHICAL_SWEEPINESS, h as CROSSING_MINIMIZATION_FORCE_NODE_MODEL_ORDER, i as LayeredLayoutProvider, it as SELF_LOOP_HOLDER, j as INSIDE_CONNECTIONS, k as HIDDEN_NODES, l as BARYCENTER_ASSOCIATES, lt as SPLINE_SURVIVING_EDGE, m as CROSSING_HINT, mt as provideCollectorPort, n as computeComponentSize, nt as REPRESENTED_LABELS, o as doCompoundLayout, ot as SPLINE_EDGE_CHAIN, p as COMMENT_CONN_PORT, pt as createMergedPort, q as ORIGINAL_LABEL_EDGE, r as IElkProgressMonitor, rt as REVERSED, s as doSimpleLayout, st as SPLINE_NS_PORT_Y_COORD, t as ComponentsProcessor, tt as RANDOM, u as BOTTOM_COMMENTS, ut as TARGET_NODE_MODEL_ORDER, v as CYCLIC, w as EXT_PORT_SIDE, x as EXT_PORT_CONNECTIONS, y as END_LABELS, z as LONG_EDGE_TARGET } from "./core-Or66h-Jn.cjs";
16
+ import { t as HIERARCHY_HANDLING } from "./layered-options-CWVVspE4.cjs";
15
17
  export { BARYCENTER_ASSOCIATES, BOTTOM_COMMENTS, BREAKING_POINT_INFO, type BuiltGraph, CB_NUM_MODEL_ORDER_GROUPS, COMMENT_CONN_PORT, CROSSING_HINT, CROSSING_MINIMIZATION_FORCE_NODE_MODEL_ORDER, CROSSING_MINIMIZATION_HIERARCHICAL_SWEEPINESS, CROSS_HIERARCHY_MAP, CYCLIC, ComponentsProcessor, Direction, END_LABELS, END_LABEL_EDGE, EXT_PORT_CONNECTIONS, EXT_PORT_REPLACED_DUMMIES, EXT_PORT_REPLACED_DUMMY, EXT_PORT_SIDE, EXT_PORT_SIZE, EdgeConstraint, type ElkEdge, type ElkEdgeSection, type ElkLayoutOptions, type ElkNode, type ElkPoint, type ElkPort, GRAPH_PROPERTIES, GREEDY_SWITCH_ACTIVE, GraphProperties, HIDDEN_NODES, HIERARCHY_HANDLING, type IElkProgressMonitor, INPUT_COLLECT, INSIDE_CONNECTIONS, IN_LAYER_LAYOUT_UNIT, IN_LAYER_SUCCESSOR_CONSTRAINTS, IN_LAYER_SUCCESSOR_CONSTRAINTS_BETWEEN_NON_DUMMIES, type IProperty, type IPropertyHolder, InLayerConstraint, type KVector, LABEL_SIDE, LEdge, LGraph, LGraphElement, type LLabel, type LMargin, LNode, LONG_EDGE_BEFORE_LABEL_DUMMY, LONG_EDGE_HAS_LABEL_DUMMIES, LONG_EDGE_SOURCE, LONG_EDGE_TARGET, LONG_EDGE_TARGET_NODE, type LPadding, LPort, LShape, Layer, LayerConstraint, LayeredLayoutProvider, type LayoutBatchItem, type LayoutBatchResult, type LayoutControl, type LayoutDiff, type LayoutEdgeDelta, LayoutError, LayoutErrorCode, type LayoutErrorOptions, type LayoutInput, type LayoutIssue, type LayoutNodeDelta, type LayoutOutput, type LayoutOutputEdge, type LayoutPhase, type LayoutProgressEvent, type LayoutSummary, MAX_EDGE_THICKNESS, MAX_MODEL_ORDER_NODES, MODEL_ORDER, MapPropertyHolder, NodeType, NullProgressMonitor, ORIGIN, ORIGINAL_BENDPOINTS, ORIGINAL_DUMMY_NODE_POSITION, ORIGINAL_LABEL_EDGE, ORIGINAL_OPPOSITE_PORT, ORIGINAL_PORT_CONSTRAINTS, OUTPUT_COLLECT, PARTITION_DUMMY, PORT_DUMMY, PORT_IS_OUTPUT, PORT_RATIO_OR_POSITION, PortConstraints, PortSide, PortType, Property, RANDOM, REPRESENTED_LABELS, REVERSED, SELF_LOOP_HOLDER, SIDES_EAST, SIDES_EAST_SOUTH, SIDES_EAST_SOUTH_WEST, SIDES_EAST_WEST, SIDES_NORTH, SIDES_NORTH_EAST, SIDES_NORTH_EAST_SOUTH, SIDES_NORTH_EAST_SOUTH_WEST, SIDES_NORTH_SOUTH, SIDES_NORTH_WEST, SIDES_SOUTH, SIDES_SOUTH_WEST, SIDES_SOUTH_WEST_NORTH, SIDES_WEST, SIDES_WEST_NORTH_EAST, SPACINGS, SPLINE_EDGE_CHAIN, SPLINE_NS_PORT_Y_COORD, SPLINE_ROUTE_START, SPLINE_SURVIVING_EDGE, TARGET_NODE_MODEL_ORDER, TARGET_OFFSET, TOP_COMMENTS, assertValidLayoutInput, buildGraph, computeComponentSize, createMergedPort, diffLayout, doCompoundLayout, doSimpleLayout, extractGraph, getEdgeEndpoints, layoutElkJson, layoutJsonBatch, layoutJsonDiff, provideCollectorPort, validateLayoutInput };
package/dist/index.d.ts CHANGED
@@ -1,15 +1,17 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- import { $ as IPropertyHolder, A as InLayerConstraint, B as SIDES_EAST_WEST, C as Layer, D as LShape, E as LGraphElement, F as PortSide, G as SIDES_NORTH_SOUTH, H as SIDES_NORTH_EAST, I as PortType, J as SIDES_SOUTH_WEST, K as SIDES_NORTH_WEST, L as SIDES_EAST, M as LayerConstraint, N as NodeType, O as Direction, P as PortConstraints, Q as IProperty, R as SIDES_EAST_SOUTH, S as LNode, T as LEdge, U as SIDES_NORTH_EAST_SOUTH, V as SIDES_NORTH, W as SIDES_NORTH_EAST_SOUTH_WEST, X as SIDES_WEST, Y as SIDES_SOUTH_WEST_NORTH, Z as SIDES_WEST_NORTH_EAST, _ as LayoutProgressEvent, a as ElkNode, b as LLabel, c as LayoutInput, d as LayoutSummary, et as MapPropertyHolder, f as buildGraph, g as LayoutPhase, h as LayoutControl, i as ElkLayoutOptions, j as KVector, k as EdgeConstraint, l as LayoutOutput, m as layoutElkJson, n as ElkEdge, o as ElkPoint, p as extractGraph, q as SIDES_SOUTH, r as ElkEdgeSection, s as ElkPort, t as BuiltGraph, tt as Property, u as LayoutOutputEdge, v as LGraph, w as LPort, x as LMargin, y as LPadding, z as SIDES_EAST_SOUTH_WEST } from "./elk-json-Cf5biFF7.js";
11
- import { a as LayoutErrorOptions, i as LayoutErrorCode, n as validateLayoutInput, o as LayoutIssue, r as LayoutError, t as assertValidLayoutInput } from "./validate-CcKdG1RG.js";
12
- import { c as LayoutEdgeDelta, d as layoutJsonDiff, f as LayoutBatchItem, l as LayoutNodeDelta, m as layoutJsonBatch, p as LayoutBatchResult, s as LayoutDiff, u as diffLayout } from "./index-CC3PKvJ0.js";
13
- import { $ as PORT_IS_OUTPUT, A as INPUT_COLLECT, B as LONG_EDGE_TARGET_NODE, C as EXT_PORT_REPLACED_DUMMY, D as GREEDY_SWITCH_ACTIVE, E as GRAPH_PROPERTIES, F as LABEL_SIDE, G as ORIGINAL_BENDPOINTS, H as MAX_MODEL_ORDER_NODES, I as LONG_EDGE_BEFORE_LABEL_DUMMY, J as ORIGINAL_OPPOSITE_PORT, K as ORIGINAL_DUMMY_NODE_POSITION, L as LONG_EDGE_HAS_LABEL_DUMMIES, M as IN_LAYER_LAYOUT_UNIT, N as IN_LAYER_SUCCESSOR_CONSTRAINTS, O as GraphProperties, P as IN_LAYER_SUCCESSOR_CONSTRAINTS_BETWEEN_NON_DUMMIES, Q as PORT_DUMMY, R as LONG_EDGE_SOURCE, S as EXT_PORT_REPLACED_DUMMIES, T as EXT_PORT_SIZE, U as MODEL_ORDER, V as MAX_EDGE_THICKNESS, W as ORIGIN, X as OUTPUT_COLLECT, Y as ORIGINAL_PORT_CONSTRAINTS, Z as PARTITION_DUMMY, _ as CROSS_HIERARCHY_MAP, a as NullProgressMonitor, at as SPACINGS, b as END_LABEL_EDGE, c as getEdgeEndpoints, ct as SPLINE_ROUTE_START, d as BREAKING_POINT_INFO, dt as TARGET_OFFSET, et as PORT_RATIO_OR_POSITION, f as CB_NUM_MODEL_ORDER_GROUPS, ft as TOP_COMMENTS, g as CROSSING_MINIMIZATION_HIERARCHICAL_SWEEPINESS, h as CROSSING_MINIMIZATION_FORCE_NODE_MODEL_ORDER, i as LayeredLayoutProvider, it as SELF_LOOP_HOLDER, j as INSIDE_CONNECTIONS, k as HIDDEN_NODES, l as BARYCENTER_ASSOCIATES, lt as SPLINE_SURVIVING_EDGE, m as CROSSING_HINT, mt as provideCollectorPort, n as computeComponentSize, nt as REPRESENTED_LABELS, o as doCompoundLayout, ot as SPLINE_EDGE_CHAIN, p as COMMENT_CONN_PORT, pt as createMergedPort, q as ORIGINAL_LABEL_EDGE, r as IElkProgressMonitor, rt as REVERSED, s as doSimpleLayout, st as SPLINE_NS_PORT_Y_COORD, t as ComponentsProcessor, tt as RANDOM, u as BOTTOM_COMMENTS, ut as TARGET_NODE_MODEL_ORDER, v as CYCLIC, w as EXT_PORT_SIDE, x as EXT_PORT_CONNECTIONS, y as END_LABELS, z as LONG_EDGE_TARGET } from "./internal-CbM3qPZx.js";
14
- import { t as HIERARCHY_HANDLING } from "./layered-options-BsoOG6Wx.js";
12
+ import { $ as IPropertyHolder, A as InLayerConstraint, B as SIDES_EAST_WEST, C as Layer, D as LShape, E as LGraphElement, F as PortSide, G as SIDES_NORTH_SOUTH, H as SIDES_NORTH_EAST, I as PortType, J as SIDES_SOUTH_WEST, K as SIDES_NORTH_WEST, L as SIDES_EAST, M as LayerConstraint, N as NodeType, O as Direction, P as PortConstraints, Q as IProperty, R as SIDES_EAST_SOUTH, S as LNode, T as LEdge, U as SIDES_NORTH_EAST_SOUTH, V as SIDES_NORTH, W as SIDES_NORTH_EAST_SOUTH_WEST, X as SIDES_WEST, Y as SIDES_SOUTH_WEST_NORTH, Z as SIDES_WEST_NORTH_EAST, _ as LayoutProgressEvent, a as ElkNode, b as LLabel, c as LayoutInput, d as LayoutSummary, et as MapPropertyHolder, f as buildGraph, g as LayoutPhase, h as LayoutControl, i as ElkLayoutOptions, j as KVector, k as EdgeConstraint, l as LayoutOutput, m as layoutElkJson, n as ElkEdge, o as ElkPoint, p as extractGraph, q as SIDES_SOUTH, r as ElkEdgeSection, s as ElkPort, t as BuiltGraph, tt as Property, u as LayoutOutputEdge, v as LGraph, w as LPort, x as LMargin, y as LPadding, z as SIDES_EAST_SOUTH_WEST } from "./elk-json-BiUIDEHd.js";
13
+ import { a as LayoutErrorOptions, i as LayoutErrorCode, n as validateLayoutInput, o as LayoutIssue, r as LayoutError, t as assertValidLayoutInput } from "./validate-YGFYSdxd.js";
14
+ import { c as LayoutEdgeDelta, d as layoutJsonDiff, f as LayoutBatchItem, l as LayoutNodeDelta, m as layoutJsonBatch, p as LayoutBatchResult, s as LayoutDiff, u as diffLayout } from "./index-DprqHh4K.js";
15
+ import { $ as PORT_IS_OUTPUT, A as INPUT_COLLECT, B as LONG_EDGE_TARGET_NODE, C as EXT_PORT_REPLACED_DUMMY, D as GREEDY_SWITCH_ACTIVE, E as GRAPH_PROPERTIES, F as LABEL_SIDE, G as ORIGINAL_BENDPOINTS, H as MAX_MODEL_ORDER_NODES, I as LONG_EDGE_BEFORE_LABEL_DUMMY, J as ORIGINAL_OPPOSITE_PORT, K as ORIGINAL_DUMMY_NODE_POSITION, L as LONG_EDGE_HAS_LABEL_DUMMIES, M as IN_LAYER_LAYOUT_UNIT, N as IN_LAYER_SUCCESSOR_CONSTRAINTS, O as GraphProperties, P as IN_LAYER_SUCCESSOR_CONSTRAINTS_BETWEEN_NON_DUMMIES, Q as PORT_DUMMY, R as LONG_EDGE_SOURCE, S as EXT_PORT_REPLACED_DUMMIES, T as EXT_PORT_SIZE, U as MODEL_ORDER, V as MAX_EDGE_THICKNESS, W as ORIGIN, X as OUTPUT_COLLECT, Y as ORIGINAL_PORT_CONSTRAINTS, Z as PARTITION_DUMMY, _ as CROSS_HIERARCHY_MAP, a as NullProgressMonitor, at as SPACINGS, b as END_LABEL_EDGE, c as getEdgeEndpoints, ct as SPLINE_ROUTE_START, d as BREAKING_POINT_INFO, dt as TARGET_OFFSET, et as PORT_RATIO_OR_POSITION, f as CB_NUM_MODEL_ORDER_GROUPS, ft as TOP_COMMENTS, g as CROSSING_MINIMIZATION_HIERARCHICAL_SWEEPINESS, h as CROSSING_MINIMIZATION_FORCE_NODE_MODEL_ORDER, i as LayeredLayoutProvider, it as SELF_LOOP_HOLDER, j as INSIDE_CONNECTIONS, k as HIDDEN_NODES, l as BARYCENTER_ASSOCIATES, lt as SPLINE_SURVIVING_EDGE, m as CROSSING_HINT, mt as provideCollectorPort, n as computeComponentSize, nt as REPRESENTED_LABELS, o as doCompoundLayout, ot as SPLINE_EDGE_CHAIN, p as COMMENT_CONN_PORT, pt as createMergedPort, q as ORIGINAL_LABEL_EDGE, r as IElkProgressMonitor, rt as REVERSED, s as doSimpleLayout, st as SPLINE_NS_PORT_Y_COORD, t as ComponentsProcessor, tt as RANDOM, u as BOTTOM_COMMENTS, ut as TARGET_NODE_MODEL_ORDER, v as CYCLIC, w as EXT_PORT_SIDE, x as EXT_PORT_CONNECTIONS, y as END_LABELS, z as LONG_EDGE_TARGET } from "./core-DWo6Sbh9.js";
16
+ import { t as HIERARCHY_HANDLING } from "./layered-options-vH0HCu1n.js";
15
17
  export { BARYCENTER_ASSOCIATES, BOTTOM_COMMENTS, BREAKING_POINT_INFO, type BuiltGraph, CB_NUM_MODEL_ORDER_GROUPS, COMMENT_CONN_PORT, CROSSING_HINT, CROSSING_MINIMIZATION_FORCE_NODE_MODEL_ORDER, CROSSING_MINIMIZATION_HIERARCHICAL_SWEEPINESS, CROSS_HIERARCHY_MAP, CYCLIC, ComponentsProcessor, Direction, END_LABELS, END_LABEL_EDGE, EXT_PORT_CONNECTIONS, EXT_PORT_REPLACED_DUMMIES, EXT_PORT_REPLACED_DUMMY, EXT_PORT_SIDE, EXT_PORT_SIZE, EdgeConstraint, type ElkEdge, type ElkEdgeSection, type ElkLayoutOptions, type ElkNode, type ElkPoint, type ElkPort, GRAPH_PROPERTIES, GREEDY_SWITCH_ACTIVE, GraphProperties, HIDDEN_NODES, HIERARCHY_HANDLING, type IElkProgressMonitor, INPUT_COLLECT, INSIDE_CONNECTIONS, IN_LAYER_LAYOUT_UNIT, IN_LAYER_SUCCESSOR_CONSTRAINTS, IN_LAYER_SUCCESSOR_CONSTRAINTS_BETWEEN_NON_DUMMIES, type IProperty, type IPropertyHolder, InLayerConstraint, type KVector, LABEL_SIDE, LEdge, LGraph, LGraphElement, type LLabel, type LMargin, LNode, LONG_EDGE_BEFORE_LABEL_DUMMY, LONG_EDGE_HAS_LABEL_DUMMIES, LONG_EDGE_SOURCE, LONG_EDGE_TARGET, LONG_EDGE_TARGET_NODE, type LPadding, LPort, LShape, Layer, LayerConstraint, LayeredLayoutProvider, type LayoutBatchItem, type LayoutBatchResult, type LayoutControl, type LayoutDiff, type LayoutEdgeDelta, LayoutError, LayoutErrorCode, type LayoutErrorOptions, type LayoutInput, type LayoutIssue, type LayoutNodeDelta, type LayoutOutput, type LayoutOutputEdge, type LayoutPhase, type LayoutProgressEvent, type LayoutSummary, MAX_EDGE_THICKNESS, MAX_MODEL_ORDER_NODES, MODEL_ORDER, MapPropertyHolder, NodeType, NullProgressMonitor, ORIGIN, ORIGINAL_BENDPOINTS, ORIGINAL_DUMMY_NODE_POSITION, ORIGINAL_LABEL_EDGE, ORIGINAL_OPPOSITE_PORT, ORIGINAL_PORT_CONSTRAINTS, OUTPUT_COLLECT, PARTITION_DUMMY, PORT_DUMMY, PORT_IS_OUTPUT, PORT_RATIO_OR_POSITION, PortConstraints, PortSide, PortType, Property, RANDOM, REPRESENTED_LABELS, REVERSED, SELF_LOOP_HOLDER, SIDES_EAST, SIDES_EAST_SOUTH, SIDES_EAST_SOUTH_WEST, SIDES_EAST_WEST, SIDES_NORTH, SIDES_NORTH_EAST, SIDES_NORTH_EAST_SOUTH, SIDES_NORTH_EAST_SOUTH_WEST, SIDES_NORTH_SOUTH, SIDES_NORTH_WEST, SIDES_SOUTH, SIDES_SOUTH_WEST, SIDES_SOUTH_WEST_NORTH, SIDES_WEST, SIDES_WEST_NORTH_EAST, SPACINGS, SPLINE_EDGE_CHAIN, SPLINE_NS_PORT_Y_COORD, SPLINE_ROUTE_START, SPLINE_SURVIVING_EDGE, TARGET_NODE_MODEL_ORDER, TARGET_OFFSET, TOP_COMMENTS, assertValidLayoutInput, buildGraph, computeComponentSize, createMergedPort, diffLayout, doCompoundLayout, doSimpleLayout, extractGraph, getEdgeEndpoints, layoutElkJson, layoutJsonBatch, layoutJsonDiff, provideCollectorPort, validateLayoutInput };
package/dist/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- import{C as e,S as t,_ as n,a as r,b as i,c as a,d as o,f as s,g as c,h as l,i as u,l as d,m as f,n as p,o as m,p as h,r as g,s as _,t as v,u as y,v as b,x,y as S}from"./elk-json-Bli8UvHo.js";import{i as C,n as w,r as T}from"./api-CJOvh1wF.js";import{$n as E,$r as D,An as O,Ar as k,Bn as A,Br as j,Cr as M,Dr as N,Er as P,Fn as F,Fr as I,Gn as L,Gr as R,Hn as z,Hr as B,In as V,Ir as H,Jn as U,Jr as W,Kn as G,Kr as K,Ln as q,Lr as J,Mn as Y,Mr as X,Nn as Z,Nr as Q,On as $,Or as ee,Pn as te,Pr as ne,Qn as re,Qr as ie,Rn as ae,Rr as oe,Sr as se,Tr as ce,Un as le,Ur as ue,Vn as de,Vr as fe,Wn as pe,Wr as me,Xn as he,Xr as ge,Yn as _e,Yr as ve,Zn as ye,Zr as be,_r as xe,ai as Se,ar as Ce,br as we,cr as Te,dr as Ee,ei as De,er as Oe,fr as ke,gr as Ae,hr as je,ii as Me,ir as Ne,jn as Pe,jr as Fe,kn as Ie,kr as Le,lr as Re,mr as ze,nr as Be,or as Ve,pr as He,q as Ue,qn as We,qr as Ge,rr as Ke,sr as qe,tr as Je,ur as Ye,vr as Xe,wr as Ze,xr as Qe,yr as $e,zn as et,zr as tt}from"./algorithms-CndAU_xu.js";import"./internal.js";export{$ as BARYCENTER_ASSOCIATES,Ie as BOTTOM_COMMENTS,O as BREAKING_POINT_INFO,Pe as CB_NUM_MODEL_ORDER_GROUPS,Y as COMMENT_CONN_PORT,Z as CROSSING_HINT,te as CROSSING_MINIMIZATION_FORCE_NODE_MODEL_ORDER,F as CROSSING_MINIMIZATION_HIERARCHICAL_SWEEPINESS,V as CROSS_HIERARCHY_MAP,q as CYCLIC,f as ComponentsProcessor,X as Direction,ae as END_LABELS,et as END_LABEL_EDGE,A as EXT_PORT_CONNECTIONS,de as EXT_PORT_REPLACED_DUMMIES,z as EXT_PORT_REPLACED_DUMMY,le as EXT_PORT_SIDE,pe as EXT_PORT_SIZE,Q as EdgeConstraint,L as GRAPH_PROPERTIES,G as GREEDY_SWITCH_ACTIVE,We as GraphProperties,U as HIDDEN_NODES,Ue as HIERARCHY_HANDLING,_e as INPUT_COLLECT,he as INSIDE_CONNECTIONS,ye as IN_LAYER_LAYOUT_UNIT,re as IN_LAYER_SUCCESSOR_CONSTRAINTS,E as IN_LAYER_SUCCESSOR_CONSTRAINTS_BETWEEN_NON_DUMMIES,ne as InLayerConstraint,Oe as LABEL_SIDE,b as LEdge,e as LGraph,x as LGraphElement,i as LNode,Je as LONG_EDGE_BEFORE_LABEL_DUMMY,Be as LONG_EDGE_HAS_LABEL_DUMMIES,Ke as LONG_EDGE_SOURCE,Ne as LONG_EDGE_TARGET,Ce as LONG_EDGE_TARGET_NODE,S as LPort,t as LShape,n as Layer,I as LayerConstraint,y as LayeredLayoutProvider,m as LayoutError,_ as LayoutErrorCode,Ve as MAX_EDGE_THICKNESS,qe as MAX_MODEL_ORDER_NODES,Te as MODEL_ORDER,Me as MapPropertyHolder,H as NodeType,o as NullProgressMonitor,Re as ORIGIN,Ye as ORIGINAL_BENDPOINTS,Ee as ORIGINAL_DUMMY_NODE_POSITION,ke as ORIGINAL_LABEL_EDGE,He as ORIGINAL_OPPOSITE_PORT,ze as ORIGINAL_PORT_CONSTRAINTS,je as OUTPUT_COLLECT,Ae as PARTITION_DUMMY,xe as PORT_DUMMY,Xe as PORT_IS_OUTPUT,$e as PORT_RATIO_OR_POSITION,J as PortConstraints,oe as PortSide,tt as PortType,Se as Property,we as RANDOM,Qe as REPRESENTED_LABELS,se as REVERSED,M as SELF_LOOP_HOLDER,j as SIDES_EAST,fe as SIDES_EAST_SOUTH,B as SIDES_EAST_SOUTH_WEST,ue as SIDES_EAST_WEST,me as SIDES_NORTH,R as SIDES_NORTH_EAST,K as SIDES_NORTH_EAST_SOUTH,Ge as SIDES_NORTH_EAST_SOUTH_WEST,W as SIDES_NORTH_SOUTH,ve as SIDES_NORTH_WEST,ge as SIDES_SOUTH,be as SIDES_SOUTH_WEST,ie as SIDES_SOUTH_WEST_NORTH,D as SIDES_WEST,De as SIDES_WEST_NORTH_EAST,Ze as SPACINGS,ce as SPLINE_EDGE_CHAIN,P as SPLINE_NS_PORT_Y_COORD,N as SPLINE_ROUTE_START,ee as SPLINE_SURVIVING_EDGE,Le as TARGET_NODE_MODEL_ORDER,k as TARGET_OFFSET,Fe as TOP_COMMENTS,u as assertValidLayoutInput,v as buildGraph,l as computeComponentSize,a as createMergedPort,w as diffLayout,s as doCompoundLayout,h as doSimpleLayout,p as extractGraph,c as getEdgeEndpoints,g as layoutElkJson,C as layoutJsonBatch,T as layoutJsonDiff,d as provideCollectorPort,r as validateLayoutInput};
12
+ import{C as e,S as t,_ as n,a as r,b as i,c as a,d as o,f as s,g as c,h as l,i as u,l as d,m as f,n as p,o as m,p as h,r as g,s as _,t as v,u as y,v as b,x,y as S}from"./elk-json-Dm4r-Nqy.js";import{i as C,n as w,r as T}from"./api-D4FVITVw.js";import{$n as E,$r as D,An as O,Ar as k,Bn as A,Br as j,Cr as M,Dr as N,Er as P,Fn as F,Fr as I,Gn as L,Gr as R,Hn as z,Hr as B,In as V,Ir as H,Jn as U,Jr as W,Kn as G,Kr as K,Ln as q,Lr as J,Mn as Y,Mr as X,Nn as Z,Nr as Q,On as $,Or as ee,Pn as te,Pr as ne,Qn as re,Qr as ie,Rn as ae,Rr as oe,Sr as se,Tr as ce,Un as le,Ur as ue,Vn as de,Vr as fe,Wn as pe,Wr as me,Xn as he,Xr as ge,Yn as _e,Yr as ve,Zn as ye,Zr as be,_r as xe,ai as Se,ar as Ce,br as we,cr as Te,dr as Ee,ei as De,er as Oe,fr as ke,gr as Ae,hr as je,ii as Me,ir as Ne,jn as Pe,jr as Fe,kn as Ie,kr as Le,lr as Re,mr as ze,nr as Be,or as Ve,pr as He,q as Ue,qn as We,qr as Ge,rr as Ke,sr as qe,tr as Je,ur as Ye,vr as Xe,wr as Ze,xr as Qe,yr as $e,zn as et,zr as tt}from"./algorithms-JOaPA3B9.js";import"./core.js";export{$ as BARYCENTER_ASSOCIATES,Ie as BOTTOM_COMMENTS,O as BREAKING_POINT_INFO,Pe as CB_NUM_MODEL_ORDER_GROUPS,Y as COMMENT_CONN_PORT,Z as CROSSING_HINT,te as CROSSING_MINIMIZATION_FORCE_NODE_MODEL_ORDER,F as CROSSING_MINIMIZATION_HIERARCHICAL_SWEEPINESS,V as CROSS_HIERARCHY_MAP,q as CYCLIC,f as ComponentsProcessor,X as Direction,ae as END_LABELS,et as END_LABEL_EDGE,A as EXT_PORT_CONNECTIONS,de as EXT_PORT_REPLACED_DUMMIES,z as EXT_PORT_REPLACED_DUMMY,le as EXT_PORT_SIDE,pe as EXT_PORT_SIZE,Q as EdgeConstraint,L as GRAPH_PROPERTIES,G as GREEDY_SWITCH_ACTIVE,We as GraphProperties,U as HIDDEN_NODES,Ue as HIERARCHY_HANDLING,_e as INPUT_COLLECT,he as INSIDE_CONNECTIONS,ye as IN_LAYER_LAYOUT_UNIT,re as IN_LAYER_SUCCESSOR_CONSTRAINTS,E as IN_LAYER_SUCCESSOR_CONSTRAINTS_BETWEEN_NON_DUMMIES,ne as InLayerConstraint,Oe as LABEL_SIDE,b as LEdge,e as LGraph,x as LGraphElement,i as LNode,Je as LONG_EDGE_BEFORE_LABEL_DUMMY,Be as LONG_EDGE_HAS_LABEL_DUMMIES,Ke as LONG_EDGE_SOURCE,Ne as LONG_EDGE_TARGET,Ce as LONG_EDGE_TARGET_NODE,S as LPort,t as LShape,n as Layer,I as LayerConstraint,y as LayeredLayoutProvider,m as LayoutError,_ as LayoutErrorCode,Ve as MAX_EDGE_THICKNESS,qe as MAX_MODEL_ORDER_NODES,Te as MODEL_ORDER,Me as MapPropertyHolder,H as NodeType,o as NullProgressMonitor,Re as ORIGIN,Ye as ORIGINAL_BENDPOINTS,Ee as ORIGINAL_DUMMY_NODE_POSITION,ke as ORIGINAL_LABEL_EDGE,He as ORIGINAL_OPPOSITE_PORT,ze as ORIGINAL_PORT_CONSTRAINTS,je as OUTPUT_COLLECT,Ae as PARTITION_DUMMY,xe as PORT_DUMMY,Xe as PORT_IS_OUTPUT,$e as PORT_RATIO_OR_POSITION,J as PortConstraints,oe as PortSide,tt as PortType,Se as Property,we as RANDOM,Qe as REPRESENTED_LABELS,se as REVERSED,M as SELF_LOOP_HOLDER,j as SIDES_EAST,fe as SIDES_EAST_SOUTH,B as SIDES_EAST_SOUTH_WEST,ue as SIDES_EAST_WEST,me as SIDES_NORTH,R as SIDES_NORTH_EAST,K as SIDES_NORTH_EAST_SOUTH,Ge as SIDES_NORTH_EAST_SOUTH_WEST,W as SIDES_NORTH_SOUTH,ve as SIDES_NORTH_WEST,ge as SIDES_SOUTH,be as SIDES_SOUTH_WEST,ie as SIDES_SOUTH_WEST_NORTH,D as SIDES_WEST,De as SIDES_WEST_NORTH_EAST,Ze as SPACINGS,ce as SPLINE_EDGE_CHAIN,P as SPLINE_NS_PORT_Y_COORD,N as SPLINE_ROUTE_START,ee as SPLINE_SURVIVING_EDGE,Le as TARGET_NODE_MODEL_ORDER,k as TARGET_OFFSET,Fe as TOP_COMMENTS,u as assertValidLayoutInput,v as buildGraph,l as computeComponentSize,a as createMergedPort,w as diffLayout,s as doCompoundLayout,h as doSimpleLayout,p as extractGraph,c as getEdgeEndpoints,g as layoutElkJson,C as layoutJsonBatch,T as layoutJsonDiff,d as provideCollectorPort,r as validateLayoutInput};
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
+ *
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
8
+ * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
9
+ *
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
11
+ */
12
+ import { tt as Property } from "./elk-json-BiUIDEHd.cjs";
13
+ //#region src/options/layered-options.d.ts
14
+ /** 层级处理. */
15
+ declare const HIERARCHY_HANDLING: Property<string | null>;
16
+ //#endregion
17
+ export { HIERARCHY_HANDLING as t };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
+ *
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
8
+ * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
9
+ *
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
11
+ */
12
+ import { tt as Property } from "./elk-json-BiUIDEHd.js";
13
+ //#region src/options/layered-options.d.ts
14
+ /** 层级处理. */
15
+ declare const HIERARCHY_HANDLING: Property<string | null>;
16
+ //#endregion
17
+ export { HIERARCHY_HANDLING as t };
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./elk-json-Ow0_ujWC.cjs");function t(t,r){if(typeof t!=`object`||!t)return;let i=t;if(i.type!==`layout`||typeof i.id!=`number`)return;let{input:a,options:o}=i;try{let t=e.r(a,{...o,control:{onProgress:e=>r({type:`progress`,id:i.id,progress:e})}});r({type:`result`,id:i.id,output:t})}catch(e){r({type:`error`,id:i.id,error:n(e)})}}function n(t){return t instanceof e.o?{code:String(t.code),message:t.message,path:t.path,retryable:t.retryable,phase:t.phase,details:t.details}:{code:`INTERNAL_ERROR`,message:t instanceof Error?t.message:String(t)}}if(typeof self<`u`&&typeof self.postMessage==`function`){let e=self;e.onmessage=e=>{t(e.data,e=>self.postMessage(e))}}exports.handleWorkerMessage=t;
12
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./elk-json-BqpJCr7A.cjs");function t(t,r){if(typeof t!=`object`||!t)return;let i=t;if(i.type!==`layout`||typeof i.id!=`number`)return;let{input:a,options:o}=i;try{let t=e.r(a,{...o,control:{onProgress:e=>r({type:`progress`,id:i.id,progress:e})}});r({type:`result`,id:i.id,output:t})}catch(e){r({type:`error`,id:i.id,error:n(e)})}}function n(t){return t instanceof e.o?{code:String(t.code),message:t.message,path:t.path,retryable:t.retryable,phase:t.phase,details:t.details}:{code:`INTERNAL_ERROR`,message:t instanceof Error?t.message:String(t)}}if(typeof self<`u`&&typeof self.postMessage==`function`){let e=self;e.onmessage=e=>{t(e.data,e=>self.postMessage(e))}}exports.handleWorkerMessage=t;
@@ -1,13 +1,15 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- import { c as LayoutInput, i as ElkLayoutOptions, l as LayoutOutput } from "./elk-json-Cf5biFF7.cjs";
12
+ import { c as LayoutInput, i as ElkLayoutOptions, l as LayoutOutput } from "./elk-json-BiUIDEHd.cjs";
11
13
  //#region src/layout-worker.d.ts
12
14
  type Post = (message: unknown) => void;
13
15
  /** 处理一条来自主线程的消息 (纯函数, 便于注入 fake post). */
@@ -1,13 +1,15 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- import { c as LayoutInput, i as ElkLayoutOptions, l as LayoutOutput } from "./elk-json-Cf5biFF7.js";
12
+ import { c as LayoutInput, i as ElkLayoutOptions, l as LayoutOutput } from "./elk-json-BiUIDEHd.js";
11
13
  //#region src/layout-worker.d.ts
12
14
  type Post = (message: unknown) => void;
13
15
  /** 处理一条来自主线程的消息 (纯函数, 便于注入 fake post). */
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- import{o as e,r as t}from"./elk-json-Bli8UvHo.js";function n(e,n){if(typeof e!=`object`||!e)return;let i=e;if(i.type!==`layout`||typeof i.id!=`number`)return;let{input:a,options:o}=i;try{let e=t(a,{...o,control:{onProgress:e=>n({type:`progress`,id:i.id,progress:e})}});n({type:`result`,id:i.id,output:e})}catch(e){n({type:`error`,id:i.id,error:r(e)})}}function r(t){return t instanceof e?{code:String(t.code),message:t.message,path:t.path,retryable:t.retryable,phase:t.phase,details:t.details}:{code:`INTERNAL_ERROR`,message:t instanceof Error?t.message:String(t)}}if(typeof self<`u`&&typeof self.postMessage==`function`){let e=self;e.onmessage=e=>{n(e.data,e=>self.postMessage(e))}}export{n as handleWorkerMessage};
12
+ import{o as e,r as t}from"./elk-json-Dm4r-Nqy.js";function n(e,n){if(typeof e!=`object`||!e)return;let i=e;if(i.type!==`layout`||typeof i.id!=`number`)return;let{input:a,options:o}=i;try{let e=t(a,{...o,control:{onProgress:e=>n({type:`progress`,id:i.id,progress:e})}});n({type:`result`,id:i.id,output:e})}catch(e){n({type:`error`,id:i.id,error:r(e)})}}function r(t){return t instanceof e?{code:String(t.code),message:t.message,path:t.path,retryable:t.retryable,phase:t.phase,details:t.details}:{code:`INTERNAL_ERROR`,message:t instanceof Error?t.message:String(t)}}if(typeof self<`u`&&typeof self.postMessage==`function`){let e=self;e.onmessage=e=>{n(e.data,e=>self.postMessage(e))}}export{n as handleWorkerMessage};
package/dist/options.cjs CHANGED
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./algorithms-gBJvJ1vu.cjs");exports.HIERARCHY_HANDLING=e.q,exports.isSupportedAlgorithm=e.d,exports.normalizeAlgorithm=e.f;
12
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./algorithms-X6GKNYEw.cjs");exports.HIERARCHY_HANDLING=e.q,exports.isSupportedAlgorithm=e.d,exports.normalizeAlgorithm=e.f;
@@ -1,14 +1,16 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- import { i as ElkLayoutOptions } from "./elk-json-Cf5biFF7.cjs";
11
- import { t as HIERARCHY_HANDLING } from "./layered-options-CJRS7cIk.cjs";
12
+ import { i as ElkLayoutOptions } from "./elk-json-BiUIDEHd.cjs";
13
+ import { t as HIERARCHY_HANDLING } from "./layered-options-CWVVspE4.cjs";
12
14
  //#region src/api/algorithms.d.ts
13
15
  /**
14
16
  * 已移植布局算法注册表(单一事实来源)。
package/dist/options.d.ts CHANGED
@@ -1,14 +1,16 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- import { i as ElkLayoutOptions } from "./elk-json-Cf5biFF7.js";
11
- import { t as HIERARCHY_HANDLING } from "./layered-options-BsoOG6Wx.js";
12
+ import { i as ElkLayoutOptions } from "./elk-json-BiUIDEHd.js";
13
+ import { t as HIERARCHY_HANDLING } from "./layered-options-vH0HCu1n.js";
12
14
  //#region src/api/algorithms.d.ts
13
15
  /**
14
16
  * 已移植布局算法注册表(单一事实来源)。
package/dist/options.js CHANGED
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
- export{q as HIERARCHY_HANDLING,d as isSupportedAlgorithm,f as normalizeAlgorithm}from"./algorithms-CndAU_xu.js";
12
+ export{q as HIERARCHY_HANDLING,d as isSupportedAlgorithm,f as normalizeAlgorithm}from"./algorithms-JOaPA3B9.js";
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
12
  //#region src/api/errors.d.ts
11
13
  /** Machine-readable validation and layout error codes. */
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
3
  *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
4
+ * Copyright (c) 2026 GGN contributors.
5
+ * Portions derived from ELK (https://github.com/eclipse/elk), Copyright (c) Kiel University
6
+ * and others, are licensed under the Eclipse Public License 2.0 (EPL-2.0);
7
+ * GGN-original portions are licensed under MIT.
6
8
  * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
9
  *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
10
+ * SPDX-License-Identifier: (MIT AND EPL-2.0)
9
11
  */
10
12
  //#region src/api/errors.d.ts
11
13
  /** Machine-readable validation and layout error codes. */
package/docs/API.md CHANGED
@@ -144,7 +144,7 @@ ggn-layout/layered(仅分层算法)和 ggn-layout/layout-worker(Web Worker
144
144
  与 `.d.cts` 承载。
145
145
 
146
146
  机器可读的 LayoutInput JSON Schema 通过 `ggn-layout/layout-input.schema.json`
147
- 子路径导出(源码位于 src/api/layout-input.schema.json),遵循 JSON Schema draft-07,
147
+ 子路径导出(源码位于 schema/layout-input.schema.json),遵循 JSON Schema draft-07,
148
148
  覆盖递归 children、单源单目标 edges、端口/标签和开放扩展字段。
149
149
  运行时契约以 validateLayoutInput 为准,schema 供工具与 AI agent 消费。
150
150
 
@@ -185,7 +185,7 @@
185
185
  样本与脚本来自一次会话内的临时分析(未入库),步骤如下:
186
186
 
187
187
  ```text
188
- 1) 抓事件 GET http://127.0.0.1:5198/api/events → 过滤 runId
188
+ 1) 抓事件 GET http://<host>:<port>/api/events → 过滤 runId
189
189
  2) 重放 宿主应用 reducer → createScene/updateElements → 元素集
190
190
  3) 量尺寸 kernel measureNode() → 节点 width/height
191
191
  4) 导 ELK JSON id + children(size) + edges(sources/targets) + layoutOptions(ROOT 坐标 + NETWORK_SIMPLEX + edgeNodeBetweenLayers=14)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ggn-layout",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "ELK Layered 1:1 TypeScript 移植 (模型/算法/变量名与 ELK 源码一致)",
5
5
  "type": "module",
6
6
  "exports": {
@@ -26,12 +26,12 @@
26
26
  },
27
27
  "./core": {
28
28
  "import": {
29
- "types": "./dist/internal.d.ts",
30
- "default": "./dist/internal.js"
29
+ "types": "./dist/core.d.ts",
30
+ "default": "./dist/core.js"
31
31
  },
32
32
  "require": {
33
- "types": "./dist/internal.d.cts",
34
- "default": "./dist/internal.cjs"
33
+ "types": "./dist/core.d.cts",
34
+ "default": "./dist/core.cjs"
35
35
  }
36
36
  },
37
37
  "./options": {
@@ -64,7 +64,7 @@
64
64
  "default": "./dist/layout-worker.cjs"
65
65
  }
66
66
  },
67
- "./layout-input.schema.json": "./src/api/layout-input.schema.json",
67
+ "./layout-input.schema.json": "./schema/layout-input.schema.json",
68
68
  "./package.json": "./package.json"
69
69
  },
70
70
  "main": "./dist/index.cjs",
@@ -79,15 +79,16 @@
79
79
  "examples",
80
80
  "llms.txt",
81
81
  "THIRD_PARTY_NOTICES.md",
82
- "src/api/layout-input.schema.json",
82
+ "schema/layout-input.schema.json",
83
83
  "CHANGELOG.md",
84
84
  "LICENSES"
85
85
  ],
86
86
  "scripts": {
87
87
  "build": "tsc -p tsconfig.build.json --noEmit && node scripts/check-process-env-defines.mjs && tsdown",
88
88
  "smoke:pack": "node scripts/smoke-packed.mjs",
89
- "prepublishOnly": "npm run typecheck && npm run check:license && npm run test:ci && npm run build && npm run smoke:pack && npm run check:pkg",
89
+ "prepublishOnly": "npm run check:workflows && npm run typecheck && npm run check:license && npm run verify:public-api && npm run test:ci && npm run build && npm run smoke:pack && npm run check:pkg",
90
90
  "check:license": "node scripts/check-license-headers.mjs",
91
+ "check:workflows": "node scripts/check-workflow-npm-version.mjs",
91
92
  "check:pkg": "node scripts/check-publint.mjs && node scripts/check-attw.mjs && node scripts/check-doc-links.mjs",
92
93
  "check:attw": "node scripts/check-attw.mjs",
93
94
  "check:docs": "node scripts/check-doc-links.mjs",
@@ -1,15 +0,0 @@
1
- /**
2
- * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
- *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
6
- * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
- *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
9
- */
10
- import { tt as Property } from "./elk-json-Cf5biFF7.js";
11
- //#region src/options/layered-options.d.ts
12
- /** 层级处理. */
13
- declare const HIERARCHY_HANDLING: Property<string | null>;
14
- //#endregion
15
- export { HIERARCHY_HANDLING as t };
@@ -1,15 +0,0 @@
1
- /**
2
- * ggn-layout — TypeScript port of the Eclipse Layout Kernel (ELK) layered layout algorithms.
3
- *
4
- * Portions derived from ELK (https://github.com/eclipse/elk) are licensed under the
5
- * Eclipse Public License 2.0 (EPL-2.0); GGN-original portions are licensed under MIT.
6
- * See LICENSES/EPL-2.0.txt, LICENSE and THIRD_PARTY_NOTICES.md.
7
- *
8
- * SPDX-License-Identifier: EPL-2.0 AND MIT
9
- */
10
- import { tt as Property } from "./elk-json-Cf5biFF7.cjs";
11
- //#region src/options/layered-options.d.ts
12
- /** 层级处理. */
13
- declare const HIERARCHY_HANDLING: Property<string | null>;
14
- //#endregion
15
- export { HIERARCHY_HANDLING as t };
File without changes