@knowvah/dot-engine 2.3.0 → 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.
- package/dist/common/arith.d.ts +12 -0
- package/dist/common/arith.d.ts.map +1 -1
- package/dist/common/edge-in-box.d.ts +31 -0
- package/dist/common/edge-in-box.d.ts.map +1 -0
- package/dist/common/htmltable-emit.d.ts +1 -1
- package/dist/common/htmltable-emit.d.ts.map +1 -1
- package/dist/common/make-label.d.ts +3 -1
- package/dist/common/make-label.d.ts.map +1 -1
- package/dist/common/poly-gencode.d.ts +12 -1
- package/dist/common/poly-gencode.d.ts.map +1 -1
- package/dist/gvc/device.d.ts.map +1 -1
- package/dist/gvc/emit-gates.d.ts +35 -0
- package/dist/gvc/emit-gates.d.ts.map +1 -0
- package/dist/gvc/job.d.ts +4 -0
- package/dist/gvc/job.d.ts.map +1 -1
- package/dist/gvc/viewport.d.ts +13 -0
- package/dist/gvc/viewport.d.ts.map +1 -1
- package/dist/index.js +1030 -742
- package/dist/index.js.map +4 -4
- package/dist/layout/circo/blockpath.d.ts +1 -38
- package/dist/layout/circo/blockpath.d.ts.map +1 -1
- package/dist/layout/circo/crossings.d.ts +59 -0
- package/dist/layout/circo/crossings.d.ts.map +1 -0
- package/dist/layout/dot/edge-route-chain.d.ts +5 -3
- package/dist/layout/dot/edge-route-chain.d.ts.map +1 -1
- package/dist/layout/dot/edge-route.d.ts.map +1 -1
- package/dist/layout/dot/index.d.ts +10 -2
- package/dist/layout/dot/index.d.ts.map +1 -1
- package/dist/layout/dot/ortho-adapter.d.ts +7 -3
- package/dist/layout/dot/ortho-adapter.d.ts.map +1 -1
- package/dist/layout/dot/pack-components.d.ts +4 -1
- package/dist/layout/dot/pack-components.d.ts.map +1 -1
- package/dist/layout/dot/splines-flat-multi.d.ts +7 -5
- package/dist/layout/dot/splines-flat-multi.d.ts.map +1 -1
- package/dist/layout/dot/splines-flat.d.ts +2 -13
- package/dist/layout/dot/splines-flat.d.ts.map +1 -1
- package/dist/layout/dot/splines-route.d.ts.map +1 -1
- package/dist/layout/neato/constraint-adjust.d.ts +32 -0
- package/dist/layout/neato/constraint-adjust.d.ts.map +1 -1
- package/dist/layout/neato/multispline.d.ts.map +1 -1
- package/dist/layout/neato/splines.d.ts.map +1 -1
- package/dist/layout/pack/poly-place.d.ts.map +1 -1
- package/dist/layout/sfdp/__fixtures__/pcp-rotate-native.d.ts +23 -0
- package/dist/layout/sfdp/__fixtures__/pcp-rotate-native.d.ts.map +1 -0
- package/dist/layout/sfdp/spring-driver.d.ts +6 -0
- package/dist/layout/sfdp/spring-driver.d.ts.map +1 -1
- package/dist/ortho/index.d.ts +4 -1
- package/dist/ortho/index.d.ts.map +1 -1
- package/dist/ortho/maze.d.ts +5 -2
- package/dist/ortho/maze.d.ts.map +1 -1
- package/dist/ortho/partition.d.ts +8 -1
- package/dist/ortho/partition.d.ts.map +1 -1
- package/dist/ortho/trap-segment.d.ts +2 -1
- package/dist/ortho/trap-segment.d.ts.map +1 -1
- package/dist/ortho/trapezoid.d.ts.map +1 -1
- package/dist/parser/index.d.ts +0 -7
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/number-scan.d.ts +31 -0
- package/dist/parser/number-scan.d.ts.map +1 -0
- package/dist/pathplan/route.d.ts.map +1 -1
- package/dist/pathplan/solvers.d.ts +15 -3
- package/dist/pathplan/solvers.d.ts.map +1 -1
- package/dist/render/dot/edge-draw.d.ts +12 -0
- package/dist/render/dot/edge-draw.d.ts.map +1 -1
- package/dist/render/svg-graph.d.ts +6 -5
- package/dist/render/svg-graph.d.ts.map +1 -1
- package/dist/render/svg.d.ts +2 -21
- package/dist/render/svg.d.ts.map +1 -1
- package/dist/render.js +1030 -742
- package/dist/render.js.map +4 -4
- package/dist/xdot/parse.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/common/arith.ts +25 -0
- package/src/common/edge-in-box.ts +54 -0
- package/src/common/graph-init.ts +3 -3
- package/src/common/htmltable-emit.ts +4 -2
- package/src/common/make-label.ts +3 -1
- package/src/common/poly-gencode.ts +18 -4
- package/src/gvc/device.ts +8 -41
- package/src/gvc/edge-labels.ts +30 -13
- package/src/gvc/emit-gates.ts +89 -0
- package/src/gvc/job.ts +4 -0
- package/src/gvc/viewport.ts +29 -0
- package/src/layout/circo/blockpath.ts +6 -125
- package/src/layout/circo/crossings.ts +171 -0
- package/src/layout/dot/__fixtures__/2784.dot +1 -0
- package/src/layout/dot/__fixtures__/2784.native-16.1.svg +48 -0
- package/src/layout/dot/edge-route-chain.ts +11 -5
- package/src/layout/dot/edge-route.ts +19 -8
- package/src/layout/dot/index.ts +14 -4
- package/src/layout/dot/ortho-adapter.ts +11 -6
- package/src/layout/dot/pack-components.ts +11 -4
- package/src/layout/dot/splines-flat-multi.ts +21 -8
- package/src/layout/dot/splines-flat.ts +8 -35
- package/src/layout/dot/splines-route.ts +10 -2
- package/src/layout/dot/splines.ts +6 -6
- package/src/layout/neato/constraint-adjust.ts +10 -4
- package/src/layout/neato/multispline.ts +26 -9
- package/src/layout/neato/splines.ts +7 -7
- package/src/layout/pack/poly-place.ts +9 -2
- package/src/layout/sfdp/__fixtures__/pcp-rotate-native.ts +94 -0
- package/src/layout/sfdp/spring-driver.ts +45 -13
- package/src/ortho/index.ts +22 -13
- package/src/ortho/maze.ts +8 -2
- package/src/ortho/partition.ts +17 -2
- package/src/ortho/trap-segment.ts +47 -24
- package/src/ortho/trapezoid.ts +24 -15
- package/src/parser/dot.js +345 -380
- package/src/parser/dot.pegjs +25 -10
- package/src/parser/index.ts +15 -0
- package/src/parser/number-scan.ts +118 -0
- package/src/pathplan/route.ts +79 -34
- package/src/pathplan/solvers.ts +78 -50
- package/src/render/dot/edge-draw.ts +25 -0
- package/src/render/svg-graph.ts +77 -47
- package/src/render/svg-helpers.ts +2 -2
- package/src/render/svg.ts +4 -41
- package/src/xdot/parse.ts +19 -5
package/dist/common/arith.d.ts
CHANGED
|
@@ -32,6 +32,18 @@
|
|
|
32
32
|
* @see C99 7.12.9.6 (round)
|
|
33
33
|
*/
|
|
34
34
|
export declare function cround(v: number): number;
|
|
35
|
+
/**
|
|
36
|
+
* `ROUND(f)` as the native arm64 build computes it where clang vectorises the
|
|
37
|
+
* conversion: `fcvtzs.2d` (double → int64, saturating, NaN → 0) followed by
|
|
38
|
+
* `xtn.2s` / `uzp1.4s`, which keep the LOW 32 bits. The `(int)` cast of an
|
|
39
|
+
* out-of-range double is undefined in C; this is the oracle binary's
|
|
40
|
+
* behaviour (objdump of libgvc `_gvRenderJobs`, the inlined
|
|
41
|
+
* init_job_pagination: job->width/height and pageBoundingBox). Identical to
|
|
42
|
+
* {@link cround} whenever the result fits in an int; only these vectorised
|
|
43
|
+
* sites use it — scalar ROUND sites compile to `fcvtzs w` (saturate at int32).
|
|
44
|
+
* @see lib/common/emit.c:init_job_pagination (job->width, pageBoundingBox)
|
|
45
|
+
*/
|
|
46
|
+
export declare function croundNarrow32(v: number): number;
|
|
35
47
|
/**
|
|
36
48
|
* Degrees to radians in C's operation order, `(deg)/180.0 * M_PI`.
|
|
37
49
|
* `deg * Math.PI / 180` rounds differently for some angles (e.g. 33°).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arith.d.ts","sourceRoot":"","sources":["../../src/common/arith.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C"}
|
|
1
|
+
{"version":3,"file":"arith.d.ts","sourceRoot":"","sources":["../../src/common/arith.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAExC;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* emit_edge's edge_in_box gate, shared by the device walk (edge comments) and
|
|
3
|
+
* the SVG / xdot renderers (edge group and draw ops). Moved out of
|
|
4
|
+
* render/svg.ts unchanged.
|
|
5
|
+
*
|
|
6
|
+
* @see lib/common/emit.c:edge_in_box, lib/common/utils.c:overlap_label
|
|
7
|
+
*/
|
|
8
|
+
import type { Box } from '../model/geom.js';
|
|
9
|
+
import type { Edge } from '../model/edge.js';
|
|
10
|
+
/**
|
|
11
|
+
* Faithful-to-outcome `edge_in_box`: true when the edge has something to draw.
|
|
12
|
+
* C's gvrender defers the `<g>` until a draw op, so an edge whose content falls
|
|
13
|
+
* entirely outside the clip emits no group (emit.c:edge_in_box tests each piece
|
|
14
|
+
* vs job->clip via boxf_overlap/overlap_label).
|
|
15
|
+
*
|
|
16
|
+
* The only piece that can legitimately fall OUTSIDE the clip on this corpus is a
|
|
17
|
+
* degenerate labeled-flat label: it is spline-less, so map_edge leaves it at its
|
|
18
|
+
* internal (un-normalized) x-frame position while the clip is the final frame.
|
|
19
|
+
* The `overlapLabel` test on the main label reproduces C's draw-iff-overlap for
|
|
20
|
+
* exactly that case — on-canvas (2368) → drawn; off-canvas (2368_1, negative
|
|
21
|
+
* un-normalized x) → suppressed. A present spline always lies within the clip
|
|
22
|
+
* (GD_bb contains it), and head/tail/xlabels are positioned at on-canvas
|
|
23
|
+
* endpoints, so those keep their existing unconditional triggers — adding an
|
|
24
|
+
* overlap test there only risks suppressing legitimately-drawn content (it
|
|
25
|
+
* regressed neato/circo edges whose spl.bb is computed differently). The `set`
|
|
26
|
+
* guard on the main label is kept: the port retains an unplaced (`pos=0,0`,
|
|
27
|
+
* `set=false`) label on merged back-edges where C has none.
|
|
28
|
+
* @see lib/common/emit.c:edge_in_box, lib/common/utils.c:overlap_label
|
|
29
|
+
*/
|
|
30
|
+
export declare function edgeHasDrawableContent(e: Edge, clip: Box): boolean;
|
|
31
|
+
//# sourceMappingURL=edge-in-box.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-in-box.d.ts","sourceRoot":"","sources":["../../src/common/edge-in-box.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAe7C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAMlE"}
|
|
@@ -47,7 +47,7 @@ export declare function emitHtmlCell(cell: PlacedCell, pos: Point, renderer: Ren
|
|
|
47
47
|
* Emit a fully positioned HTML table label.
|
|
48
48
|
*
|
|
49
49
|
* Draw order mirrors C emit_html_tbl:
|
|
50
|
-
* 1. Open anchor 2. Table BGCOLOR 3.
|
|
50
|
+
* 1. Open anchor 2. Table BGCOLOR 3. Rules 4. Border 5. Cells 6. Close anchor
|
|
51
51
|
*
|
|
52
52
|
* @see lib/common/htmltable.c:emit_html_tbl
|
|
53
53
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmltable-emit.d.ts","sourceRoot":"","sources":["../../src/common/htmltable-emit.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAW1F,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAgBhE,6DAA6D;AAC7D,wBAAgB,WAAW,CACzB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,SAAS,GACb,IAAI,CAQN;AAmBD,qEAAqE;AACrE,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,GACrE,IAAI,CAEN;AAqHD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,SAAS,GACb,IAAI,CAqBN;AA2BD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,SAAS,GACb,IAAI,CAsBN;AAwBD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,SAAS,GACb,IAAI,
|
|
1
|
+
{"version":3,"file":"htmltable-emit.d.ts","sourceRoot":"","sources":["../../src/common/htmltable-emit.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAW1F,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAgBhE,6DAA6D;AAC7D,wBAAgB,WAAW,CACzB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,SAAS,GACb,IAAI,CAQN;AAmBD,qEAAqE;AACrE,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,GACrE,IAAI,CAEN;AAqHD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,SAAS,GACb,IAAI,CAqBN;AA2BD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,SAAS,GACb,IAAI,CAsBN;AAwBD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,SAAS,GACb,IAAI,CAiCN"}
|
|
@@ -11,7 +11,9 @@ import type { TextMeasurer } from './textmeasure.js';
|
|
|
11
11
|
import { type GraphObj } from './subst.js';
|
|
12
12
|
import { htmlEntityUTF8 } from './html-entities.js';
|
|
13
13
|
export declare const DEFAULT_FONTSIZE = 14;
|
|
14
|
-
|
|
14
|
+
/** C's default fontname (non-Windows); renderers alias it, e.g. SVG
|
|
15
|
+
* font-family="Times,serif". @see lib/common/const.h:67 */
|
|
16
|
+
export declare const DEFAULT_FONTNAME = "Times-Roman";
|
|
15
17
|
export declare const DEFAULT_COLOR = "black";
|
|
16
18
|
export { htmlEntityUTF8 };
|
|
17
19
|
/** Font attributes bundle — mirrors C fontinfo_t fields used in label init. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-label.d.ts","sourceRoot":"","sources":["../../src/common/make-label.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,eAAO,MAAM,gBAAgB,KAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,aAAa,UAAU,CAAC;AAKrC,OAAO,EAAE,cAAc,EAAE,CAAC;AAqB1B,+EAA+E;AAC/E,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAoBD,wEAAwE;AACxE,UAAU,SAAS;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;CAAE;AAK5D;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAsBzD;AAoCD;;;GAGG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,YAAY,GACrB,UAAU,CAEZ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,QAAQ,GACb,UAAU,CAkBZ"}
|
|
1
|
+
{"version":3,"file":"make-label.d.ts","sourceRoot":"","sources":["../../src/common/make-label.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,eAAO,MAAM,gBAAgB,KAAO,CAAC;AACrC;2DAC2D;AAC3D,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,aAAa,UAAU,CAAC;AAKrC,OAAO,EAAE,cAAc,EAAE,CAAC;AAqB1B,+EAA+E;AAC/E,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAoBD,wEAAwE;AACxE,UAAU,SAAS;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;CAAE;AAK5D;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAsBzD;AAoCD;;;GAGG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,YAAY,GACrB,UAAU,CAEZ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,QAAQ,GACb,UAAU,CAkBZ"}
|
|
@@ -9,7 +9,18 @@ import type { RenderJob } from '../gvc/job.js';
|
|
|
9
9
|
import type { RendererPlugin } from '../gvc/context.js';
|
|
10
10
|
import type { TextlabelT } from './types.js';
|
|
11
11
|
import type { ObjState } from '../gvc/job.js';
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Render one ellipse periphery ring for a node. poly_gencode hands
|
|
14
|
+
* gvrender_ellipse the two ABSOLUTE corners AF = vertex + ND_coord; it passes
|
|
15
|
+
* the renderer the centre mid_pointf(AF[0], AF[1]) and the corner AF[1], and
|
|
16
|
+
* the renderer prints rx/ry as corner - centre. Computing the radii in that
|
|
17
|
+
* order (not from the relative vertices) keeps C's rounding: at |coord| where
|
|
18
|
+
* the double spacing exceeds the radius, coord ± r rounds back to coord and the
|
|
19
|
+
* radius collapses to 0 (corpus 2784, y = 1.08e18).
|
|
20
|
+
* @see lib/common/shapes.c:poly_gencode (AF[i] = P + ND_coord, gvrender_ellipse)
|
|
21
|
+
* @see lib/gvc/gvrender.c:gvrender_ellipse (af[0] = mid_pointf, af[1] = pf[1])
|
|
22
|
+
* @see plugin/core/gvrender_core_svg.c:svg_ellipse (rx = A[1].x - A[0].x)
|
|
23
|
+
*/
|
|
13
24
|
export declare function renderEllipse(ring: Point[], coord: Point, renderer: RendererPlugin, job: RenderJob, filled: boolean): void;
|
|
14
25
|
/** Render one polygon periphery ring for a node. */
|
|
15
26
|
export declare function renderPolygon(ring: Point[], coord: Point, renderer: RendererPlugin, job: RenderJob, filled: boolean): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poly-gencode.d.ts","sourceRoot":"","sources":["../../src/common/poly-gencode.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAY,UAAU,EAAmC,MAAM,YAAY,CAAC;AAKxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAqC9C
|
|
1
|
+
{"version":3,"file":"poly-gencode.d.ts","sourceRoot":"","sources":["../../src/common/poly-gencode.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EAAY,UAAU,EAAmC,MAAM,YAAY,CAAC;AAKxF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAqC9C;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,KAAK,EAAE,EACb,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,OAAO,GACd,IAAI,CAQN;AAED,oDAAoD;AACpD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GACrF,IAAI,CAGN;AA2FD;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,SAAS,GACb,IAAI,CAqBN;AAgFD,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO,CAE5C;AA2DD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAU9E;AAoFD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA2BnE"}
|
package/dist/gvc/device.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/gvc/device.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/gvc/device.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,UAAU,EAAW,MAAM,cAAc,CAAC;AAKnD,OAAO,EAAE,SAAS,EAA0D,MAAM,UAAU,CAAC;AAuB7F,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAc1F,OAAO,QAAQ,UAAU,CAAC;IACxB,UAAU,SAAS;QACjB,0EAA0E;QAC1E,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB;CACF;AAkCD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CA6BnG;AA2BD,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CA+BlF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAIzF;AAkFD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAQvF;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,GAAG,MAAM,CAyBtF;AA8BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,MAAM,CAgF9F"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Node } from '../model/node.js';
|
|
2
|
+
import type { Edge } from '../model/edge.js';
|
|
3
|
+
import type { RendererPlugin } from './context.js';
|
|
4
|
+
import type { RenderJob } from './job.js';
|
|
5
|
+
/**
|
|
6
|
+
* node_in_box: is the node's own bbox within job's page/view clip?
|
|
7
|
+
*
|
|
8
|
+
* C's `job->clip` is derived from `job->bb` (= `GD_bb(g)`) expanded by
|
|
9
|
+
* `job->pad` on every side (init_job_viewport's `job->bb = gvc->bb ±
|
|
10
|
+
* job->pad`, feeding `job->view`/`job->focus`, which setup_page's `job->clip`
|
|
11
|
+
* algebraically reduces back to for the single-page, unpaginated case this
|
|
12
|
+
* port implements — Z and rotation cancel out of that derivation). This port
|
|
13
|
+
* has no separate `page=` pagination model, so `job.bb` padded by `job.pad`
|
|
14
|
+
* IS `job->clip` here.
|
|
15
|
+
*
|
|
16
|
+
* @see lib/common/emit.c:1636-1639 node_in_box
|
|
17
|
+
* @see lib/common/emit.c:1808 emit_node gate
|
|
18
|
+
* @see lib/common/emit.c:3356 init_job_viewport (job->bb = gvc->bb ± pad)
|
|
19
|
+
* @see lib/common/emit.c:1553-1564 setup_page (job->clip from focus/view)
|
|
20
|
+
*/
|
|
21
|
+
export declare function nodeInBox(n: Node, job: RenderJob): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* The node's name and `comment` attribute, emitted after node_in_box and
|
|
24
|
+
* before the invis shortcircuit (an invisible node still gets its comments).
|
|
25
|
+
* @see lib/common/emit.c:emit_node (gvrender_comment x2)
|
|
26
|
+
*/
|
|
27
|
+
export declare function emitNodeComments(n: Node, renderer: RendererPlugin, job: RenderJob): void;
|
|
28
|
+
/**
|
|
29
|
+
* When edge_in_box passes: the `tail->head` name (`--` when the head's graph
|
|
30
|
+
* is undirected) and the `comment` attribute, before the invis shortcircuit.
|
|
31
|
+
* The renderers re-test the same gate for the edge group.
|
|
32
|
+
* @see lib/common/emit.c:emit_edge (gvrender_comment x2)
|
|
33
|
+
*/
|
|
34
|
+
export declare function emitEdgeComments(e: Edge, renderer: RendererPlugin, job: RenderJob): void;
|
|
35
|
+
//# sourceMappingURL=emit-gates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-gates.d.ts","sourceRoot":"","sources":["../../src/gvc/emit-gates.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAiB1C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAM1D;AAYD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAGxF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,SAAS,GAAG,IAAI,CAMxF"}
|
package/dist/gvc/job.d.ts
CHANGED
|
@@ -144,6 +144,10 @@ export declare class RenderJob {
|
|
|
144
144
|
readonly format: string;
|
|
145
145
|
bb: Box;
|
|
146
146
|
pad: Point;
|
|
147
|
+
/** Current page clip in graph units, as setup_page computes it from the
|
|
148
|
+
* viewport focus/view (see setupPageClip). Read by the SVG page translate and
|
|
149
|
+
* background. @see lib/gvc/gvcjob.h:GVJ_s.clip; lib/common/emit.c:setup_page */
|
|
150
|
+
clip: Box;
|
|
147
151
|
/** Graph-level `margin=` (init_job_margin); page-pagination margin, distinct
|
|
148
152
|
* from node/cluster label margin. @see lib/common/emit.c:3309-3331 */
|
|
149
153
|
margin: Point;
|
package/dist/gvc/job.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/gvc/job.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/gvc/job.ts"],"names":[],"mappings":"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"}
|
package/dist/gvc/viewport.d.ts
CHANGED
|
@@ -68,4 +68,17 @@ export declare function parseLandscape(g: Graph): boolean;
|
|
|
68
68
|
* @see lib/common/emit.c:3356 init_job_viewport
|
|
69
69
|
*/
|
|
70
70
|
export declare function initJobViewportZoom(bb: Box, size: DrawingSize | null, pad: Point): number;
|
|
71
|
+
/**
|
|
72
|
+
* job->clip for the single-page devices this port drives, evaluated in C's
|
|
73
|
+
* order: init_job_viewport pads the bb (job->bb = bb ± pad, sz = job->bb.UR -
|
|
74
|
+
* job->bb.LL, size= substituting a degenerate sz axis), takes the focus as the
|
|
75
|
+
* centre of the UNPADDED bb and view = Z * sz; init_job_pagination sets
|
|
76
|
+
* pageSize = imageSize / zoom (imageSize = view, rotated to page orientation
|
|
77
|
+
* and back); setup_page sets clip.LL = focus + pageSize * (elem - size / 2.)
|
|
78
|
+
* with pagesArrayElem 0 / pagesArraySize 1 and clip.UR = clip.LL + pageSize.
|
|
79
|
+
* Algebraically bb ± pad, but not in floating point: where the pad is below the
|
|
80
|
+
* double spacing (corpus 2784, y = 2.16e18) clip.LL.y is 0, not -pad.
|
|
81
|
+
* @see lib/common/emit.c:init_job_viewport, init_job_pagination, setup_page
|
|
82
|
+
*/
|
|
83
|
+
export declare function setupPageClip(bb: Box, size: DrawingSize | null, pad: Point, z: number): Box;
|
|
71
84
|
//# sourceMappingURL=viewport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../src/gvc/viewport.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG/C,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;CACjB;AAkBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAc5E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAa5D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAa/D;AAeD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAUhD;AAYD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,MAAM,CASzF"}
|
|
1
|
+
{"version":3,"file":"viewport.d.ts","sourceRoot":"","sources":["../../src/gvc/viewport.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG/C,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;CACjB;AAkBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAc5E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAa5D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAa/D;AAeD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAUhD;AAYD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,MAAM,CASzF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAe3F"}
|