@knowvah/dot-engine 2.3.1 → 2.4.0

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 (112) hide show
  1. package/dist/common/arith.d.ts +12 -0
  2. package/dist/common/arith.d.ts.map +1 -1
  3. package/dist/common/edge-in-box.d.ts +31 -0
  4. package/dist/common/edge-in-box.d.ts.map +1 -0
  5. package/dist/common/htmltable-emit.d.ts +1 -1
  6. package/dist/common/htmltable-emit.d.ts.map +1 -1
  7. package/dist/common/make-label.d.ts +3 -1
  8. package/dist/common/make-label.d.ts.map +1 -1
  9. package/dist/common/poly-gencode.d.ts +12 -1
  10. package/dist/common/poly-gencode.d.ts.map +1 -1
  11. package/dist/gvc/device.d.ts.map +1 -1
  12. package/dist/gvc/emit-gates.d.ts +35 -0
  13. package/dist/gvc/emit-gates.d.ts.map +1 -0
  14. package/dist/gvc/job.d.ts +4 -0
  15. package/dist/gvc/job.d.ts.map +1 -1
  16. package/dist/gvc/viewport.d.ts +13 -0
  17. package/dist/gvc/viewport.d.ts.map +1 -1
  18. package/dist/index.js +813 -542
  19. package/dist/index.js.map +4 -4
  20. package/dist/layout/circo/blockpath.d.ts +1 -38
  21. package/dist/layout/circo/blockpath.d.ts.map +1 -1
  22. package/dist/layout/circo/crossings.d.ts +59 -0
  23. package/dist/layout/circo/crossings.d.ts.map +1 -0
  24. package/dist/layout/dot/edge-route-chain.d.ts +5 -3
  25. package/dist/layout/dot/edge-route-chain.d.ts.map +1 -1
  26. package/dist/layout/dot/edge-route.d.ts.map +1 -1
  27. package/dist/layout/dot/index.d.ts +10 -2
  28. package/dist/layout/dot/index.d.ts.map +1 -1
  29. package/dist/layout/dot/ortho-adapter.d.ts +6 -2
  30. package/dist/layout/dot/ortho-adapter.d.ts.map +1 -1
  31. package/dist/layout/dot/pack-components.d.ts +4 -1
  32. package/dist/layout/dot/pack-components.d.ts.map +1 -1
  33. package/dist/layout/dot/splines-flat-multi.d.ts +4 -4
  34. package/dist/layout/dot/splines-flat.d.ts +1 -11
  35. package/dist/layout/dot/splines-flat.d.ts.map +1 -1
  36. package/dist/layout/dot/splines-route.d.ts.map +1 -1
  37. package/dist/layout/neato/constraint-adjust.d.ts +32 -0
  38. package/dist/layout/neato/constraint-adjust.d.ts.map +1 -1
  39. package/dist/layout/neato/multispline.d.ts.map +1 -1
  40. package/dist/layout/neato/splines.d.ts.map +1 -1
  41. package/dist/layout/pack/poly-place.d.ts.map +1 -1
  42. package/dist/layout/sfdp/__fixtures__/pcp-rotate-native.d.ts +23 -0
  43. package/dist/layout/sfdp/__fixtures__/pcp-rotate-native.d.ts.map +1 -0
  44. package/dist/layout/sfdp/spring-driver.d.ts +6 -0
  45. package/dist/layout/sfdp/spring-driver.d.ts.map +1 -1
  46. package/dist/ortho/index.d.ts +4 -1
  47. package/dist/ortho/index.d.ts.map +1 -1
  48. package/dist/ortho/maze.d.ts +5 -2
  49. package/dist/ortho/maze.d.ts.map +1 -1
  50. package/dist/ortho/partition.d.ts +8 -1
  51. package/dist/ortho/partition.d.ts.map +1 -1
  52. package/dist/ortho/trap-segment.d.ts +2 -1
  53. package/dist/ortho/trap-segment.d.ts.map +1 -1
  54. package/dist/ortho/trapezoid.d.ts.map +1 -1
  55. package/dist/parser/index.d.ts +0 -7
  56. package/dist/parser/index.d.ts.map +1 -1
  57. package/dist/parser/number-scan.d.ts +31 -0
  58. package/dist/parser/number-scan.d.ts.map +1 -0
  59. package/dist/render/dot/edge-draw.d.ts +12 -0
  60. package/dist/render/dot/edge-draw.d.ts.map +1 -1
  61. package/dist/render/svg-graph.d.ts +6 -5
  62. package/dist/render/svg-graph.d.ts.map +1 -1
  63. package/dist/render/svg.d.ts +2 -21
  64. package/dist/render/svg.d.ts.map +1 -1
  65. package/dist/render.js +813 -542
  66. package/dist/render.js.map +4 -4
  67. package/dist/xdot/parse.d.ts.map +1 -1
  68. package/package.json +1 -1
  69. package/src/common/arith.ts +25 -0
  70. package/src/common/edge-in-box.ts +54 -0
  71. package/src/common/graph-init.ts +3 -3
  72. package/src/common/htmltable-emit.ts +4 -2
  73. package/src/common/make-label.ts +3 -1
  74. package/src/common/poly-gencode.ts +18 -4
  75. package/src/gvc/device.ts +8 -41
  76. package/src/gvc/edge-labels.ts +30 -13
  77. package/src/gvc/emit-gates.ts +89 -0
  78. package/src/gvc/job.ts +4 -0
  79. package/src/gvc/viewport.ts +29 -0
  80. package/src/layout/circo/blockpath.ts +6 -125
  81. package/src/layout/circo/crossings.ts +171 -0
  82. package/src/layout/dot/__fixtures__/2784.dot +1 -0
  83. package/src/layout/dot/__fixtures__/2784.native-16.1.svg +48 -0
  84. package/src/layout/dot/edge-route-chain.ts +11 -5
  85. package/src/layout/dot/edge-route.ts +2 -1
  86. package/src/layout/dot/index.ts +14 -4
  87. package/src/layout/dot/ortho-adapter.ts +7 -3
  88. package/src/layout/dot/pack-components.ts +11 -4
  89. package/src/layout/dot/splines-flat-multi.ts +4 -4
  90. package/src/layout/dot/splines-flat.ts +5 -32
  91. package/src/layout/dot/splines-route.ts +10 -2
  92. package/src/layout/dot/splines.ts +6 -6
  93. package/src/layout/neato/constraint-adjust.ts +10 -4
  94. package/src/layout/neato/multispline.ts +26 -9
  95. package/src/layout/neato/splines.ts +7 -7
  96. package/src/layout/pack/poly-place.ts +9 -2
  97. package/src/layout/sfdp/__fixtures__/pcp-rotate-native.ts +94 -0
  98. package/src/layout/sfdp/spring-driver.ts +45 -13
  99. package/src/ortho/index.ts +22 -13
  100. package/src/ortho/maze.ts +8 -2
  101. package/src/ortho/partition.ts +17 -2
  102. package/src/ortho/trap-segment.ts +47 -24
  103. package/src/ortho/trapezoid.ts +24 -15
  104. package/src/parser/dot.js +334 -343
  105. package/src/parser/dot.pegjs +19 -5
  106. package/src/parser/index.ts +15 -0
  107. package/src/parser/number-scan.ts +118 -0
  108. package/src/render/dot/edge-draw.ts +25 -0
  109. package/src/render/svg-graph.ts +77 -47
  110. package/src/render/svg-helpers.ts +2 -2
  111. package/src/render/svg.ts +4 -41
  112. package/src/xdot/parse.ts +19 -5
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import type { Node } from '../../model/node.js';
11
11
  import type { Block, SubGraph, CircState, DerivedNode, DerivedEdge } from './blocks.js';
12
+ export { derivedOf, closeOpenEdge, agfstedgeLists, countCrossings, insertNode, reducePass, reduceEdgeCrossings, spanIncident, } from './crossings.js';
12
13
  export type SpanNode = {
13
14
  dn: DerivedNode;
14
15
  tparent: SpanNode | null;
@@ -20,43 +21,6 @@ export type SpanNode = {
20
21
  onpath: boolean;
21
22
  };
22
23
  export declare function blockGraph(allEdges: DerivedEdge[], sn: Block): void;
23
- export declare function derivedOf(n: Node): DerivedNode | null;
24
- export declare function closeOpenEdge(e: DerivedEdge, d: DerivedNode, opened: DerivedEdge[]): number;
25
- export declare function openEdgesAt(d: DerivedNode, edges: DerivedEdge[], opened: DerivedEdge[], order: number): void;
26
- /**
27
- * C's count_all_crossings — INCLUDING its load-bearing bug: remove_edge keys
28
- * the open-edge dict by the half-edge POINTER handed to it, and the closing
29
- * node's agfstedge always yields the OPPOSITE half from the one stored when
30
- * the edge was opened, so dtdelete never matches and the list only grows
31
- * (circogen/edgelist.c:cmpItem on Agedge_t*). Each edge's close therefore
32
- * counts EVERY edge opened after it (nested as well as interleaved spans),
33
- * minus edges incident to the closing node — an inflated count that reduce()
34
- * uses to accept moves. Do not "fix" this to true interleave counting: the
35
- * final circle order depends on it.
36
- * @see lib/circogen/blockpath.c:count_all_crossings
37
- * @see lib/circogen/edgelist.c:remove_edge
38
- */
39
- export declare function countCrossings(list: Node[], edges: DerivedEdge[]): number;
40
- export declare function insertNode(list: Node[], cn: Node, neighbor: Node, pos: number): void;
41
- /**
42
- * One reduce pass, mirroring C's reduce (blockpath.c:439): iterate the
43
- * SUBGRAPH's nodes in agfstnode (root-seq) order — NOT the current list
44
- * order — and each node's incident edges in agfstedge order; the neighbour
45
- * is agtail(e) unless that is curnode. The first-improving-move order is
46
- * load-bearing for the final arrangement.
47
- */
48
- export declare function reducePass(list: Node[], edges: DerivedEdge[], cnt: {
49
- v: number;
50
- }, nodes: DerivedNode[]): void;
51
- /** @see lib/circogen/blockpath.c:reduce_edge_crossings */
52
- export declare function reduceEdgeCrossings(list: Node[], edges: DerivedEdge[], nodes: DerivedNode[]): Node[];
53
- /**
54
- * Incident edges of dn in agfstedge order over the (possibly pruned)
55
- * subgraph edge set: out-edges (by head order, seq) then in-edges (by tail
56
- * order, seq). `ord`/`seq` maps carry the derived root's node and edge
57
- * creation orders. @see lib/cgraph/edge.c:agfstedge
58
- */
59
- export declare function spanIncident(dn: DerivedNode, edges: DerivedEdge[], ord: Map<DerivedNode, number>, seq: Map<DerivedEdge, number>): DerivedEdge[];
60
24
  export declare function dfsSpan(sn: SpanNode, map: Map<DerivedNode, SpanNode>, edges: DerivedEdge[], ord: Map<DerivedNode, number>, seq: Map<DerivedEdge, number>): void;
61
25
  export declare function buildSpanTree(nodes: DerivedNode[], edges: DerivedEdge[]): Map<DerivedNode, SpanNode>;
62
26
  export declare function measureDist(leaf: SpanNode, anc: SpanNode, dist: number, change: SpanNode | null): void;
@@ -116,5 +80,4 @@ export declare function findPairEdges(n: XNode, ctx: PairCtx): void;
116
80
  */
117
81
  export declare function removePairEdges(nodes: DerivedNode[], edges: DerivedEdge[]): DerivedEdge[];
118
82
  export declare function layoutBlock(g: SubGraph, sn: Block, minDist: number, _state: CircState): Node[];
119
- export {};
120
83
  //# sourceMappingURL=blockpath.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blockpath.d.ts","sourceRoot":"","sources":["../../../src/layout/circo/blockpath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockpath.d.ts","sourceRoot":"","sources":["../../../src/layout/circo/blockpath.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Crossing reduction for one block's circle order: count_all_crossings (with
3
+ * its open-edge-list quirks), insertNodelist and the reduce passes. Split out
4
+ * of blockpath.ts for file size; bodies unchanged.
5
+ *
6
+ * @see lib/circogen/blockpath.c:count_all_crossings / reduce / reduce_edge_crossings
7
+ * @see lib/circogen/nodelist.c:insertNodelist
8
+ */
9
+ import type { Node } from '../../model/node.js';
10
+ import type { DerivedNode, DerivedEdge } from './blocks.js';
11
+ export declare function derivedOf(n: Node): DerivedNode | null;
12
+ export declare function closeOpenEdge(e: DerivedEdge, d: DerivedNode, opened: Iterable<DerivedEdge>): number;
13
+ /**
14
+ * Every node's incident edges in agfstedge order: out-edges by head, then
15
+ * in-edges by tail (node creation order, ties by edge sequence) — the order
16
+ * spanIncident uses, keyed by orig.id because layoutBlock sorts the block's
17
+ * nodes that way. @see lib/cgraph/edge.c:agfstedge
18
+ */
19
+ export declare function agfstedgeLists(edges: DerivedEdge[]): Map<DerivedNode, DerivedEdge[]>;
20
+ /**
21
+ * C's count_all_crossings — INCLUDING its load-bearing bug: remove_edge keys
22
+ * the open-edge dict by the half-edge POINTER handed to it, and add_edge
23
+ * stored the half that the OPENING node's agfstedge yielded. Closing at the
24
+ * other endpoint yields the opposite half, so dtdelete misses and the edge
25
+ * stays open; each close therefore counts EVERY edge opened after it, minus
26
+ * edges incident to the closing node. Only when a node is on the list twice
27
+ * (a place_residual_nodes quirk) does its second visit yield the stored half,
28
+ * so the edges it opened ARE removed — in agfstedge order, between the counts.
29
+ * Do not "fix" either behaviour: the final circle order depends on both.
30
+ * @see lib/circogen/blockpath.c:count_all_crossings
31
+ * @see lib/circogen/edgelist.c:remove_edge
32
+ */
33
+ export declare function countCrossings(list: Node[], edges: DerivedEdge[]): number;
34
+ /**
35
+ * count_all_crossings' close loop at node d: count against the open list,
36
+ * then remove_edge — a hit only for edges add_edge stored from d itself.
37
+ */
38
+ export declare function closeEdgesAt(d: DerivedNode, es: DerivedEdge[], opened: Map<DerivedEdge, DerivedNode>): number;
39
+ export declare function insertNode(list: Node[], cn: Node, neighbor: Node, pos: number): void;
40
+ /**
41
+ * One reduce pass, mirroring C's reduce (blockpath.c:439): iterate the
42
+ * SUBGRAPH's nodes in agfstnode (root-seq) order — NOT the current list
43
+ * order — and each node's incident edges in agfstedge order; the neighbour
44
+ * is agtail(e) unless that is curnode. The first-improving-move order is
45
+ * load-bearing for the final arrangement.
46
+ */
47
+ export declare function reducePass(list: Node[], edges: DerivedEdge[], cnt: {
48
+ v: number;
49
+ }, nodes: DerivedNode[]): void;
50
+ /** @see lib/circogen/blockpath.c:reduce_edge_crossings */
51
+ export declare function reduceEdgeCrossings(list: Node[], edges: DerivedEdge[], nodes: DerivedNode[]): Node[];
52
+ /**
53
+ * Incident edges of dn in agfstedge order over the (possibly pruned)
54
+ * subgraph edge set: out-edges (by head order, seq) then in-edges (by tail
55
+ * order, seq). `ord`/`seq` maps carry the derived root's node and edge
56
+ * creation orders. @see lib/cgraph/edge.c:agfstedge
57
+ */
58
+ export declare function spanIncident(dn: DerivedNode, edges: DerivedEdge[], ord: Map<DerivedNode, number>, seq: Map<DerivedEdge, number>): DerivedEdge[];
59
+ //# sourceMappingURL=crossings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crossings.d.ts","sourceRoot":"","sources":["../../../src/layout/circo/crossings.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM5D,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,IAAI,CAErD;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,MAAM,CAMnG;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,CAkBpF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAgBzE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,CAQ7G;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAKpF;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAC3E,IAAI,CAkBN;AAID,0DAA0D;AAC1D,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GACvD,IAAI,EAAE,CAOR;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EACrC,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,GAC3D,WAAW,EAAE,CAMf"}
@@ -16,11 +16,13 @@ import type { NodeBox } from './edge-route-geom.js';
16
16
  * Route a forward edge spanning ≥2 ranks via its virtual-node chain through the
17
17
  * faithful pipeline (REGULAREDGE side boxes steer the port, routeSplines over
18
18
  * the chain; adjustregularpath inter-rank widening finally fires). Returns
19
- * control points in graphviz-internal y-up, or null when the edge is not a
20
- * multi-rank chain.
19
+ * control points in graphviz-internal y-up, null when the edge is not a
20
+ * multi-rank chain, or 'lost' when the chain walk was attempted and failed
21
+ * (completeregularpath / routesplines failure): C's make_regular_edge returns
22
+ * with no spline and the edge is never routed again.
21
23
  * @see lib/dotgen/dotsplines.c:make_regular_edge (hackflag forward path)
22
24
  */
23
- export declare function routeMultiRankEdgeFaithful(g: Graph, e: GraphEdge): Point[] | null;
25
+ export declare function routeMultiRankEdgeFaithful(g: Graph, e: GraphEdge): Point[] | null | 'lost';
24
26
  /**
25
27
  * Route ONE collected entry's merge-bounded run — C's model where every
26
28
  * fast-graph entry of a concentrate-merged chain (lead-in from the real node,
@@ -1 +1 @@
1
- {"version":3,"file":"edge-route-chain.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/edge-route-chain.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAO,MAAM,qBAAqB,CAAC;AAGtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAqNpD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,IAAI,CAwBjF;AAuBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAO1E;AA8CD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAoBnD;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAiBhG"}
1
+ {"version":3,"file":"edge-route-chain.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/edge-route-chain.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,KAAK,EAAO,MAAM,qBAAqB,CAAC;AAGtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAqNpD;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,IAAI,GAAG,MAAM,CAwB1F;AAuBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI,CAO1E;AA8CD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAoBnD;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAqBhG"}
@@ -1 +1 @@
1
- {"version":3,"file":"edge-route.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/edge-route.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AA4CpD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC3F,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,GACnE,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EACpD,gBAAgB,EAAE,aAAa,GAChC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/F,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAC1D,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAC3D,eAAe,EAAE,iBAAiB,GACnC,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG3F,OAAO,EACL,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,EAC/C,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EACrD,WAAW,EAAE,0BAA0B,GACxC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,aAAa,GACd,MAAM,uBAAuB,CAAC;AAM/B,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,CAE/D;AAMD,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAKvE;AAMD,yDAAyD;AACzD,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAEnD;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAIlD;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAEpD;AAmHD,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAmBzD;AAwMD;;;GAGG;AACH;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAuB1D;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAE5C"}
1
+ {"version":3,"file":"edge-route.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/edge-route.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AA4CpD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC3F,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,GACnE,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EACpD,gBAAgB,EAAE,aAAa,GAChC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/F,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EACL,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAC1D,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAC3D,eAAe,EAAE,iBAAiB,GACnC,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG3F,OAAO,EACL,SAAS,EAAE,kBAAkB,EAAE,gBAAgB,EAC/C,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EACrD,WAAW,EAAE,0BAA0B,GACxC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,aAAa,GACd,MAAM,uBAAuB,CAAC;AAM/B,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,CAE/D;AAMD,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,CAKvE;AAMD,yDAAyD;AACzD,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAEnD;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAIlD;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAEpD;AAmHD,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAmBzD;AAyMD;;;GAGG;AACH;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAuB1D;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAE5C"}
@@ -53,13 +53,21 @@ export declare function dotPhaseInit(g: Graph): void;
53
53
  * removeFill, sameports, splines, compound. This is C's static `dotLayout`
54
54
  * tail; the per-component pack branch runs exactly this (gvPostprocess is run
55
55
  * once on the root afterwards, not per component).
56
+ *
57
+ * Returns dot_splines' status: C's `if (r != 0) return r;` skips
58
+ * dot_compoundEdges, and the caller's doDot/dot_layout then skip
59
+ * dotneato_postprocess. Since graphviz 16.1 (8fd4b59ef) this is non-zero when
60
+ * splines=ortho cannot build its maze (tests/2784.dot).
56
61
  * @see lib/dotgen/dotinit.c:dotLayout (static)
57
62
  */
58
- export declare function dotPhasePostNoFinish(g: Graph): void;
63
+ export declare function dotPhasePostNoFinish(g: Graph): number;
59
64
  /**
60
65
  * Phase 4: post-position passes — the no-finish tail plus gvPostprocess to
61
- * rotate/translate coordinates per rankdir.
66
+ * rotate/translate coordinates per rankdir. A splines failure is a doDot
67
+ * error, so `dot_layout` returns WITHOUT dotneato_postprocess: native 16.1
68
+ * still renders (exit 0) from the untranslated layout coordinates.
62
69
  * @see lib/dotgen/dotinit.c:dotLayout (static)
70
+ * @see lib/dotgen/dotinit.c:dot_layout (`if (doDot(g) != 0) return;`)
63
71
  * @see lib/common/postproc.c:dotneato_postprocess
64
72
  */
65
73
  export declare function dotPhasePost(g: Graph): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAyBzD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,WAAW,CAAC;AAOnB;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAErD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAUxE;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAK5E;AAOD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAM3C;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAUnD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAG3C;AAiCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAiBhD;AAkBD;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CA4BpC;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAG7C;AAMD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAI/B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAyBzD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,EACf,UAAU,EACV,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,WAAW,CAAC;AAOnB;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAErD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAUxE;AAMD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAK5E;AAOD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAM3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAYrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAG3C;AAiCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAiBhD;AAkBD;;;;;;;;;;;GAWG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CA4BpC;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAG7C;AAMD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAI/B,CAAC"}
@@ -14,6 +14,10 @@ import type { OrthoGraph, OrthoEdge, OrthoPoint } from '../../ortho/index.js';
14
14
  export declare function buildOrthoGraph(g: Graph): OrthoGraph;
15
15
  /** Install an orthoEdges result (orthogonal point list) onto the dot Edge. */
16
16
  export declare function installOrthoResult(oe: OrthoEdge, pts: OrthoPoint[]): void;
17
- /** Run the ortho pipeline over the dot graph, installing results (no labels). */
18
- export declare function dispatchOrthoEdges(g: Graph, useLbls: boolean): void;
17
+ /**
18
+ * Run the ortho pipeline over the dot graph, installing results (no labels).
19
+ * @returns orthoEdges' status: 0 on success, non-zero when the maze could not
20
+ * be built (graphviz 16.1) — dot_splines_ returns it (8fd4b59ef)
21
+ */
22
+ export declare function dispatchOrthoEdges(g: Graph, useLbls: boolean): number;
19
23
  //# sourceMappingURL=ortho-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ortho-adapter.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/ortho-adapter.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AASlD,OAAO,KAAK,EACV,UAAU,EAAE,SAAS,EAAE,UAAU,EAClC,MAAM,sBAAsB,CAAC;AAmF9B,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,UAAU,CAIpD;AAUD,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAIzE;AAED,iFAAiF;AACjF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAInE"}
1
+ {"version":3,"file":"ortho-adapter.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/ortho-adapter.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AASlD,OAAO,KAAK,EACV,UAAU,EAAE,SAAS,EAAE,UAAU,EAClC,MAAM,sBAAsB,CAAC;AAmF9B,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,GAAG,UAAU,CAIpD;AAUD,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAIzE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAIrE"}
@@ -52,9 +52,12 @@ export declare function initSubg(sg: Graph, root: Graph): void;
52
52
  * ranking reads them. Node sizing in `dotPhaseInit` reads `sg.root.info.flip`
53
53
  * (the real root), so it is correct regardless of this ordering.
54
54
  *
55
+ * Returns the component's dot_splines status (non-zero = C's dotLayout(sg)
56
+ * failing, which makes doDot return before packing). The mincross/position
57
+ * statuses are not consulted on this arm.
55
58
  * @see lib/dotgen/dotinit.c:dotLayout (static)
56
59
  */
57
- export declare function dotLayoutComponent(sg: Graph, root: Graph): void;
60
+ export declare function dotLayoutComponent(sg: Graph, root: Graph): number;
58
61
  /**
59
62
  * Copy the cluster tree and per-cluster drawing-info from each laid-out
60
63
  * component back to the root, so the root's `gvPostprocess` rotates the cluster
@@ -1 +1 @@
1
- {"version":3,"file":"pack-components.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/pack-components.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAqBjD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAK7C;AAwED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,KAAK,GAAG;IAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;CAAE,CA4B9F;AAOD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAMrD;AAOD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CA6B/D;AA2CD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAgB5F;AAoFD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GACtE,IAAI,CAoBN"}
1
+ {"version":3,"file":"pack-components.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/pack-components.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAqBjD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAK7C;AAwED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,KAAK,GAAG;IAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;CAAE,CA4B9F;AAOD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,CAMrD;AAOD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,CA6BjE;AA2CD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAgB5F;AAoFD;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GACtE,IAAI,CAwBN"}
@@ -6,8 +6,8 @@
6
6
  * flat edge between a same-rank node pair into ONE call and NEST their splines:
7
7
  * `stepx = Multisep/(cnt+1)`, `stepy = vspace/(cnt+1)`; ONE shared makeFlatEnd
8
8
  * tail+head; then edge `i` is offset by `(i+1)*step` on the two END boxes while
9
- * the MIDDLE box keeps plain `stepy`. cnt=1 reduces to routeFlatEdgeFaithful
10
- * (`Multisep/2 = nodesep/2`, `(0+1)*step = step`) — identical (AD-1).
9
+ * the MIDDLE box keeps plain `stepy`. cnt=1 is the single-edge case
10
+ * of C make_flat_edge (`Multisep/2 = nodesep/2`, `(0+1)*step = step`) (AD-1).
11
11
  *
12
12
  * The port routes each non-adjacent flat independently at `nodesep/2`, so cnt>=2
13
13
  * edges come out identical/overlapping; this module restores the nesting.
@@ -27,8 +27,8 @@ export declare function collectNonAdjacentFlatGroup(e: Edge, g: Graph): Edge[];
27
27
  /**
28
28
  * Faithful make_flat_edge / make_flat_bottom_edges cnt-loop: ONE shared
29
29
  * makeFlatEnd tail+head; for i in 0..cnt-1 route edge i nested by (i+1)*step.
30
- * Installs spl on every edges[i]; returns true iff all installed. cnt=1 reduces
31
- * to routeFlatEdgeFaithful (AD-1). `edges` must be group-ordered (collect...).
30
+ * Installs spl on every edges[i]; returns true iff all installed. cnt=1 is the
31
+ * single-edge case of C make_flat_edge (AD-1). `edges` must be group-ordered (collect...).
32
32
  * `et == EDGETYPE_LINE` short-circuits to makeSimpleFlat (C 1535-1537); the
33
33
  * corridor router is routesplines only for EDGETYPE_SPLINE, else routepolylines.
34
34
  * @see lib/dotgen/dotsplines.c:make_flat_edge, make_flat_bottom_edges
@@ -11,7 +11,7 @@
11
11
  import { Graph } from '../../model/graph.js';
12
12
  import type { Edge } from '../../model/edge.js';
13
13
  import type { Node } from '../../model/node.js';
14
- import type { Box, Point } from '../../model/geom.js';
14
+ import type { Box } from '../../model/geom.js';
15
15
  import type { Path, PathendT } from '../../common/types.js';
16
16
  import type { SplineInfo } from './splines-route.js';
17
17
  import { type BboxCtx } from './edge-route-faithful.js';
@@ -102,14 +102,4 @@ export declare function flatSide(e: Edge): {
102
102
  };
103
103
  /** Concatenate tail boxes (fwd), the 3 connecting boxes, head boxes (rev). */
104
104
  export declare function assembleFlatPath(P: Path, tend: PathendT, hend: PathendT, mid: Box[]): void;
105
- /**
106
- * Route a single same-rank (flat) edge carrying a side-mask port through the
107
- * faithful `beginPath → routeSplines → endPath → clipAndInstall` pipeline.
108
- * Returns spline control points in graphviz-internal (y-up) coordinates, or
109
- * null when the edge is not a same-rank edge. Does NOT clip or install — the
110
- * caller (routeOneEdge) does that via clipAndInstall (as the regular path).
111
- *
112
- * @see lib/dotgen/dotsplines.c:make_flat_edge (cnt=1, non-adjacent spline)
113
- */
114
- export declare function routeFlatEdgeFaithful(g: Graph, e: Edge, et: number): Point[] | null;
115
105
  //# sourceMappingURL=splines-flat.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"splines-flat.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-flat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"splines-flat.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-flat.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAS,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAWrD,OAAO,EACqC,KAAK,OAAO,EACvD,MAAM,0BAA0B,CAAC;AAelC;+EAC+E;AAC/E,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,OAAO,CAAC;IACb,CAAC,EAAE,IAAI,CAAC;IACR,CAAC,EAAE,IAAI,CAAC;IACR,CAAC,EAAE,IAAI,CAAC;IACR,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAOD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAoB1C;AAMD,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAKlD;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAGjD;AA4PD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAqBzF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAQzD;AAOD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,CAAC,EAAE,KAAK,EACR,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,IAAI,EAAE,EACb,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,GACT,MAAM,CAQR;AAUD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,QAAQ,CAc5D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAC3E,GAAG,EAAE,CAcP;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAC3E,GAAG,EAAE,CAcP;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAmBnE;AAED,uDAAuD;AACvD,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED;;;;uEAIuE;AACvE,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAQ7C;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAKnE;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAI1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"splines-route.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"splines-route.d.ts","sourceRoot":"","sources":["../../../src/layout/dot/splines-route.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAuC,WAAW,EAAmC,MAAM,cAAc,CAAC;AAajH;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,EAAE,CAAC;CAChB;AAMD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAkC;AAC9E,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAiC;AAC5E,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAkC;AAO3E,6CAA6C;AAC7C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAUhE;AAED,6CAA6C;AAC7C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAUhE;AAOD,2DAA2D;AAC3D,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,OAAO,CAIhE;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAGtD;AAED,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAS3C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAMrE;AAOD,6CAA6C;AAC7C,wBAAgB,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAI3E;AAOD,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5E;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAC5B,EAAE,EAAE,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,IAAI,GAAG,SAAS,GACzC,CAAC,IAAI,GAAG,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC,CAQtC;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAC3B,EAAE,EAAE,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,IAAI,GAAG,SAAS,GACzC,CAAC,IAAI,GAAG,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC,CAQtC;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAK1E;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAKzE;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAUrF;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,GAAG,SAAS,GAAG,OAAO,CAUpF;AAED,8CAA8C;AAC9C,wBAAgB,UAAU,CACxB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAClB,GAAG,EAAE,IAAI,GAAG,SAAS,EAAE,GAAG,EAAE,IAAI,GAAG,SAAS,GAC3C,OAAO,CAIT;AAOD,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAGpD;AAED,4CAA4C;AAC5C,wBAAgB,QAAQ,CACtB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAClB,EAAE,EAAE,IAAI,GAAG,SAAS,EAAE,EAAE,EAAE,IAAI,GAAG,SAAS,EAC1C,GAAG,EAAE,MAAM,GACV,IAAI,GAAG,SAAS,CAWlB;AAOD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,CAKlE;AA0FD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,GACxC,IAAI,CAiCN;AAED,OAAO,EAAE,WAAW,EAAE,CAAC;AAuCvB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,IAAI,CA4B/D"}
@@ -18,6 +18,8 @@
18
18
  * @see lib/neatogen/constraint.c:cAdjust
19
19
  */
20
20
  import { Graph } from '../../model/graph.js';
21
+ import { Node } from '../../model/node.js';
22
+ import type { ExpandT } from './sep-factor.js';
21
23
  /** @see lib/neatogen/adjust.h:adjust_mode */
22
24
  export declare const AM_ORTHO = 5;
23
25
  export declare const AM_ORTHO_YX = 6;
@@ -27,6 +29,35 @@ export declare const AM_PORTHO = 9;
27
29
  export declare const AM_PORTHO_YX = 10;
28
30
  export declare const AM_PORTHOXY = 11;
29
31
  export declare const AM_PORTHOYX = 12;
32
+ interface Pt {
33
+ x: number;
34
+ y: number;
35
+ }
36
+ interface Box {
37
+ llx: number;
38
+ lly: number;
39
+ urx: number;
40
+ ury: number;
41
+ }
42
+ /** @see lib/neatogen/constraint.c:nitem */
43
+ interface Nitem {
44
+ /** Sort key (the dtdisc key, `offsetof(nitem, val)`). */
45
+ val: number;
46
+ /** Position for sorting (integer scaled points). */
47
+ pos: Pt;
48
+ /** Base node. */
49
+ np: Node;
50
+ /** Corresponding node in the constraint graph. */
51
+ cnode: Node | undefined;
52
+ bb: Box;
53
+ }
54
+ /**
55
+ * Additive margins convert with d2i (clamp to INT_MIN..INT_MAX, else
56
+ * truncate) since graphviz 16.1 (13e5f6ce8). Exported for tests.
57
+ * @see lib/neatogen/constraint.c:initItem
58
+ * @internal
59
+ */
60
+ export declare function initItem(n: Node, margin: ExpandT): Nitem;
30
61
  /**
31
62
  * Remove node overlaps with orthogonal-ordering constraints. mode is one of
32
63
  * the eight AM_ORTHO and AM_PORTHO values (else AM_PORTHO). Returns 1
@@ -37,4 +68,5 @@ export declare const AM_PORTHOYX = 12;
37
68
  * @see lib/neatogen/constraint.c:cAdjust
38
69
  */
39
70
  export declare function cAdjust(g: Graph, mode: number): number;
71
+ export {};
40
72
  //# sourceMappingURL=constraint-adjust.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constraint-adjust.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/constraint-adjust.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAY7C,6CAA6C;AAC7C,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,WAAW,KAAK,CAAC;AA8Y9B;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBtD"}
1
+ {"version":3,"file":"constraint-adjust.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/constraint-adjust.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAU3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,6CAA6C;AAC7C,eAAO,MAAM,QAAQ,IAAI,CAAC;AAC1B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,WAAW,KAAK,CAAC;AAU9B,UAAU,EAAE;IAAG,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AACrC,UAAU,GAAG;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE;AAEpE,2CAA2C;AAC3C,UAAU,KAAK;IACb,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAC;IACZ,oDAAoD;IACpD,GAAG,EAAE,EAAE,CAAC;IACR,iBAAiB;IACjB,EAAE,EAAE,IAAI,CAAC;IACT,kDAAkD;IAClD,KAAK,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,EAAE,EAAE,GAAG,CAAC;CACT;AAiUD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,KAAK,CAqBxD;AA+BD;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAgBtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"multispline.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/multispline.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAQrD,OAAO,KAAK,EAAE,MAAM,EAAS,MAAM,yBAAyB,CAAC;AAG7D,YAAY,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AA0WnD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,GAClE,MAAM,CA6BR"}
1
+ {"version":3,"file":"multispline.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/multispline.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AASrD,OAAO,KAAK,EAAE,MAAM,EAAS,MAAM,yBAAyB,CAAC;AAG7D,YAAY,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AA0XnD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,OAAO,GAClE,MAAM,CA6BR"}
@@ -1 +1 @@
1
- {"version":3,"file":"splines.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/splines.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AAG9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAO7D,OAAO,EAAE,SAAS,EAAkB,MAAM,8BAA8B,CAAC;AAwBzE,OAAO,EACL,aAAa,EAAE,aAAa,EAAE,cAAc,EAC5C,cAAc,EAAE,eAAe,GAChC,MAAM,mBAAmB,CAAC;AAC3B,eAAO,MAAM,eAAe,IAAI,CAAC;AAYjC,oDAAoD;AACpD,KAAK,SAAS,GAAG,OAAO,CAAC;AAOzB,mDAAmD;AACnD,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAkB;AAEjE,oDAAoD;AACpD,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAkB;AAEnE,6CAA6C;AAC7C,eAAO,MAAM,KAAK,EAAE,UAKnB,CAAC;AA2JF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAkBnE;AAcD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAkCpE;AA0BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAIjE;AAyBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAiBzD;AAkCD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAkB5C;AA4DD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK,EAAE,CAO7D;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAC/D,IAAI,CAIN;AA8ND,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS9E;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAqB1C;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,KAAK,CAAA;CAAE,CAoBnE;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CA0DpD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAkBjD;AAMD,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"splines.d.ts","sourceRoot":"","sources":["../../../src/layout/neato/splines.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,uBAAuB,CAAC;AAI9E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAO7D,OAAO,EAAE,SAAS,EAAkB,MAAM,8BAA8B,CAAC;AAwBzE,OAAO,EACL,aAAa,EAAE,aAAa,EAAE,cAAc,EAC5C,cAAc,EAAE,eAAe,GAChC,MAAM,mBAAmB,CAAC;AAC3B,eAAO,MAAM,eAAe,IAAI,CAAC;AAYjC,oDAAoD;AACpD,KAAK,SAAS,GAAG,OAAO,CAAC;AAOzB,mDAAmD;AACnD,wBAAgB,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAkB;AAEjE,oDAAoD;AACpD,wBAAgB,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAkB;AAEnE,6CAA6C;AAC7C,eAAO,MAAM,KAAK,EAAE,UAKnB,CAAC;AA0JF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAkBnE;AAcD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAkCpE;AA0BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAIjE;AAyBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAiBzD;AAkCD;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAkB5C;AA4DD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK,EAAE,CAO7D;AAED,kDAAkD;AAClD,wBAAgB,cAAc,CAC5B,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAC/D,IAAI,CAIN;AA8ND,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS9E;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAqB1C;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,KAAK,CAAA;CAAE,CAoBnE;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CA0DpD;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAkBjD;AAMD,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"poly-place.d.ts","sourceRoot":"","sources":["../../../src/layout/pack/poly-place.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA+C3C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAa9D;AA6QD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GACpD,KAAK,EAAE,GAAG,IAAI,CAkEhB"}
1
+ {"version":3,"file":"poly-place.d.ts","sourceRoot":"","sources":["../../../src/layout/pack/poly-place.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAgD3C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAgB9D;AAgRD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GACpD,KAAK,EAAE,GAAG,IAAI,CAkEhB"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * pcp_rotate input/output pairs dumped from the native graphviz 16.1.0
3
+ * build (LTO on, Apple clang 21, arm64): the instrumented
4
+ * multilevel_spring_electrical_embedding printed x[] with %a immediately
5
+ * before and after the inlined pcp_rotate call (sfdp layout of each input).
6
+ * The instrumented plugin's disassembly of the inlined body was identical to
7
+ * the oracle's and its xdot for tests/42.dot was byte-identical.
8
+ *
9
+ * @see lib/sfdpgen/spring_electrical.c:pcp_rotate
10
+ */
11
+ /** One native pcp_rotate call (dim = 2): coordinates in and out. */
12
+ export interface PcpCase {
13
+ readonly n: number;
14
+ readonly input: readonly number[];
15
+ readonly output: readonly number[];
16
+ }
17
+ /** tests/42.dot (n = 25: 24 unfused main-loop points + 1 fused tail point). */
18
+ export declare const PCP_42: PcpCase;
19
+ /** `graph { a -- b -- c -- d -- e -- f -- g; a -- d; c -- g }` (n = 7: 4 unfused + 3 fused). */
20
+ export declare const PCP_N7: PcpCase;
21
+ /** `graph { a -- b; b -- c; a -- c [len=2] }` (n = 3: no main loop, all fused). */
22
+ export declare const PCP_N3: PcpCase;
23
+ //# sourceMappingURL=pcp-rotate-native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pcp-rotate-native.d.ts","sourceRoot":"","sources":["../../../../src/layout/sfdp/__fixtures__/pcp-rotate-native.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,oEAAoE;AACpE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,+EAA+E;AAC/E,eAAO,MAAM,MAAM,EAAE,OAwCpB,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,MAAM,EAAE,OAgBpB,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,MAAM,EAAE,OAUpB,CAAC"}
@@ -4,6 +4,12 @@ import { type SpringElectricalControl } from './spring-electrical.js';
4
4
  export declare function powerLawGraph(A: SpMatrix): boolean;
5
5
  /**
6
6
  * Principal-component rotation about the centroid.
7
+ *
8
+ * FMA contraction mirrors the native 16.1 build (objdump of the inlined
9
+ * body): the covariance loop per pcpCovariance; the eigenvector radicand
10
+ * fuses its y0*y0, -2*y0*y3 and y3*y3 terms (4*y1*y1 is rounded first);
11
+ * `1 + axis0*axis0` is fused; each rotated coordinate fuses its first
12
+ * product (x0 = fma(x, a0, y*a1), x1 = fma(-x, a1, y*a0)).
7
13
  * @see lib/sfdpgen/spring_electrical.c:pcp_rotate
8
14
  */
9
15
  export declare function pcpRotate(n: number, dim: number, x: number[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"spring-driver.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/spring-driver.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,KAAK,uBAAuB,EAK7B,MAAM,wBAAwB,CAAC;AAiChC,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAclD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAiCnE;AAqDD;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EACxD,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,GACvC,IAAI,CAmDN"}
1
+ {"version":3,"file":"spring-driver.d.ts","sourceRoot":"","sources":["../../../src/layout/sfdp/spring-driver.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EACL,KAAK,uBAAuB,EAK7B,MAAM,wBAAwB,CAAC;AAiChC,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAclD;AAkCD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CA2BnE;AAqDD;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EACxD,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,GACvC,IAAI,CAmDN"}
@@ -29,7 +29,10 @@ export declare function edgeLen(e: OrthoEdge): number;
29
29
  * For edges without position information, construct an orthogonal routing.
30
30
  * If useLbls is true, issues a warning and sets useLbls=false.
31
31
  *
32
+ * @returns 0 on success; -1 when mkMaze fails (graphviz 16.1, 178fe6d2f). A
33
+ * shortPath or assignTracks failure still returns 0, as in C (`goto
34
+ * orthofinish` falls through to `return 0`).
32
35
  * @see lib/ortho/ortho.c:orthoEdges
33
36
  */
34
- export declare function orthoEdges(g: OrthoGraph, useLbls: boolean, clipAndInstall?: ClipAndInstallFn): void;
37
+ export declare function orthoEdges(g: OrthoGraph, useLbls: boolean, clipAndInstall?: ClipAndInstallFn): number;
35
38
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ortho/index.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAE7C,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAUnD,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAStC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAQ5C;AAgED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,UAAU,EACb,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,gBAAgB,GAChC,IAAI,CA2EN"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ortho/index.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAE7C,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAUnD,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAC/E,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAStC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,SAAS,GAAG,MAAM,CAQ5C;AA2ED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,UAAU,EACb,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,gBAAgB,GAChC,MAAM,CAsER"}
@@ -20,8 +20,11 @@ export declare const BIG = 16384;
20
20
  export declare function chanSz(w: number): number;
21
21
  /** @see lib/ortho/maze.c:updateWts */
22
22
  export declare function updateWts(g: SGraph, cp: Cell, ep: SEdge): void;
23
- /** @see lib/ortho/maze.c:mkMaze */
24
- export declare function mkMaze(g: OrthoGraph): Maze;
23
+ /**
24
+ * @returns the maze, or null when partition fails (graphviz 16.1)
25
+ * @see lib/ortho/maze.c:mkMaze
26
+ */
27
+ export declare function mkMaze(g: OrthoGraph): Maze | null;
25
28
  /** @see lib/ortho/maze.c:freeMaze */
26
29
  export declare function freeMaze(_mp: Maze): void;
27
30
  //# sourceMappingURL=maze.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"maze.d.ts","sourceRoot":"","sources":["../../src/ortho/maze.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACA,UAAU,EACpB,IAAI,EAAS,KAAK,EAAE,MAAM,EAAE,IAAI,EACjC,MAAM,YAAY,CAAC;AAapB,8CAA8C;AAC9C,eAAO,MAAM,MAAM,KAAK,CAAC;AAKzB,8CAA8C;AAC9C,eAAO,MAAM,GAAG,QAAQ,CAAC;AAEzB;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAExC;AAgBD,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI,CAe9D;AAqMD,mCAAmC;AACnC,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAkC1C;AAED,qCAAqC;AACrC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAqB"}
1
+ {"version":3,"file":"maze.d.ts","sourceRoot":"","sources":["../../src/ortho/maze.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACA,UAAU,EACpB,IAAI,EAAS,KAAK,EAAE,MAAM,EAAE,IAAI,EACjC,MAAM,YAAY,CAAC;AAapB,8CAA8C;AAC9C,eAAO,MAAM,MAAM,KAAK,CAAC;AAKzB,8CAA8C;AAC9C,eAAO,MAAM,GAAG,QAAQ,CAAC;AAEzB;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAExC;AAgBD,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,IAAI,CAe9D;AAqMD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAqCjD;AAED,qCAAqC;AACrC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAAqB"}
@@ -20,9 +20,16 @@ declare const TR_FROM_UP = 1;
20
20
  declare const TR_FROM_DN = 2;
21
21
  /**
22
22
  * Partition free space around cells into rectangular tiles.
23
+ *
24
+ * Returns null on failure (graphviz 16.1): an empty horizontal (057e8779d) or
25
+ * vertical (67bacf48e) trapezoid list — construct_trapezoids' failure signal —
26
+ * prints C's stderr line and returns NULL. C hands the result back through
27
+ * `LIST_DETACH(&rs, &ret, nrects)`, whose base pointer is NULL when no
28
+ * rectangle was appended, so an empty rectangle set is ALSO NULL to the caller
29
+ * (mkMaze's `rects == NULL` check), silently.
23
30
  * @see lib/ortho/partition.c:partition
24
31
  */
25
- export declare function partition(cells: Cell[], bb: OrthoBox): OrthoBox[];
32
+ export declare function partition(cells: Cell[], bb: OrthoBox): OrthoBox[] | null;
26
33
  /**
27
34
  * Test-only accessor for `PartitionHelper.childOrder` — exposes the
28
35
  * traverse_polygon branch-table transcription for direct unit testing
@@ -1 +1 @@
1
- {"version":3,"file":"partition.d.ts","sourceRoot":"","sources":["../../src/ortho/partition.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAc,IAAI,EAAE,MAAM,YAAY,CAAC;AAI7D,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEtD,kEAAkE;AAClE,QAAA,MAAM,IAAI,MAAM,CAAC;AAEjB,OAAO,EAAE,IAAI,EAAE,CAAC;AAIhB,+DAA+D;AAC/D,QAAA,MAAM,UAAU,IAAI,CAAC;AACrB,QAAA,MAAM,UAAU,IAAI,CAAC;AAoOrB;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,EAAE,CA0BjE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GACnD,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAEpB;AAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"partition.d.ts","sourceRoot":"","sources":["../../src/ortho/partition.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAc,IAAI,EAAE,MAAM,YAAY,CAAC;AAI7D,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEtD,kEAAkE;AAClE,QAAA,MAAM,IAAI,MAAM,CAAC;AAEjB,OAAO,EAAE,IAAI,EAAE,CAAC;AAIhB,+DAA+D;AAC/D,QAAA,MAAM,UAAU,IAAI,CAAC;AACrB,QAAA,MAAM,UAAU,IAAI,CAAC;AAoOrB;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,GAAG,QAAQ,EAAE,GAAG,IAAI,CAkCxE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GACnD,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAEpB;AAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
@@ -12,9 +12,10 @@ export declare function handleBothD(s: SegmentT, seg: SegmentT[], tr: TrapT[], t
12
12
  export declare function swapSegEndpoints(s: SegmentT): void;
13
13
  /**
14
14
  * Insert one segment into the trapezoidation.
15
+ * @returns 0 on success, -1 when threading met an invalid trapezoid (16.1)
15
16
  * @see lib/ortho/trapezoid.c:add_segment
16
17
  */
17
- export declare function addSegment(segnum: number, seg: SegmentT[], tr: TrapT[], qs: QNode[]): void;
18
+ export declare function addSegment(segnum: number, seg: SegmentT[], tr: TrapT[], qs: QNode[]): number;
18
19
  /**
19
20
  * Update root pointers for each segment endpoint after a batch of insertions.
20
21
  * @see lib/ortho/trapezoid.c:find_new_roots
@@ -1 +1 @@
1
- {"version":3,"file":"trap-segment.d.ts","sourceRoot":"","sources":["../../src/ortho/trap-segment.ts"],"names":[],"mappings":"AACA;;;;GAIG;AASH,OAAO,KAAK,EAAY,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAMxE,wBAAgB,QAAQ,CACtB,CAAC,EAAE,QAAQ,EACX,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,EACX,MAAM,EAAE,MAAM,GACb,MAAM,CAUR;AA2BD,wBAAgB,QAAQ,CACtB,CAAC,EAAE,QAAQ,EACX,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,EACX,MAAM,EAAE,MAAM,GACb,MAAM,CAUR;AA8BD,wBAAgB,YAAY,CAC1B,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EACzC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAClD,IAAI,CAQN;AAED,wBAAgB,YAAY,CAC1B,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EACzC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAClD,IAAI,CAQN;AAgBD,wBAAgB,WAAW,CACzB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EACzC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GACpD,MAAM,CAIR;AAiCD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAGlD;AAID;;;GAGG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,GACV,IAAI,CA2BN;AAsDD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,GACV,IAAI,CAKN"}
1
+ {"version":3,"file":"trap-segment.d.ts","sourceRoot":"","sources":["../../src/ortho/trap-segment.ts"],"names":[],"mappings":"AACA;;;;GAIG;AASH,OAAO,KAAK,EAAY,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAMxE,wBAAgB,QAAQ,CACtB,CAAC,EAAE,QAAQ,EACX,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,EACX,MAAM,EAAE,MAAM,GACb,MAAM,CAUR;AA2BD,wBAAgB,QAAQ,CACtB,CAAC,EAAE,QAAQ,EACX,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,EACX,MAAM,EAAE,MAAM,GACb,MAAM,CAUR;AA8BD,wBAAgB,YAAY,CAC1B,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EACzC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAClD,IAAI,CAQN;AAED,wBAAgB,YAAY,CAC1B,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EACzC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EACpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAClD,IAAI,CAQN;AAgBD,wBAAgB,WAAW,CACzB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EACzC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GACpD,MAAM,CAIR;AAiCD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAGlD;AAID;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,GACV,MAAM,CAeR;AAwFD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,QAAQ,EAAE,EACf,EAAE,EAAE,KAAK,EAAE,EACX,EAAE,EAAE,KAAK,EAAE,GACV,IAAI,CAKN"}
@@ -1 +1 @@
1
- {"version":3,"file":"trapezoid.d.ts","sourceRoot":"","sources":["../../src/ortho/trapezoid.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,EAAE,KAAK,EAAW,WAAW,EAC1C,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG9D,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAC5C,YAAY,EAAE,KAAK,EAAE,CAAC;AAGtB,OAAO,EACL,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,GAC7C,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,QAAQ,EAAE,EACf,OAAO,EAAE,MAAM,EAAE,GAChB,KAAK,EAAE,CAqCT"}
1
+ {"version":3,"file":"trapezoid.d.ts","sourceRoot":"","sources":["../../src/ortho/trapezoid.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EACL,YAAY,EAAE,KAAK,EAAW,WAAW,EAC1C,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG9D,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;AAC5C,YAAY,EAAE,KAAK,EAAE,CAAC;AAGtB,OAAO,EACL,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,GAC7C,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,QAAQ,EAAE,EACf,OAAO,EAAE,MAAM,EAAE,GAChB,KAAK,EAAE,CA4BT"}
@@ -74,13 +74,6 @@ export declare function isPeggyError(err: unknown): err is {
74
74
  expected: GvExpectation[];
75
75
  found: string | null;
76
76
  };
77
- /**
78
- * Parse a DOT-language string and return a Graph model.
79
- * @throws ParseError `SYNTAX_ERROR`, `SYNTAX_UNEXPECTED_EOF`, `EDGE_OP_*` for
80
- * syntax errors or edge-direction violations; `GENERIC_ERROR` when nesting
81
- * is too deep
82
- * @throws TypeError `ERR_INVALID_ARG_TYPE` if `src` is not a string
83
- */
84
77
  export declare function parse(src: string): Graph;
85
78
  export declare function dotKeyword(kind: GraphKind): string;
86
79
  export declare function quoteId(id: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"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"}