@knowvah/dot-engine 1.2.3 → 1.2.5
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/README.md +15 -0
- package/dist/cdt/bag.d.ts +6 -4
- package/dist/cdt/bag.d.ts.map +1 -1
- package/dist/common/graph-init.d.ts.map +1 -1
- package/dist/common/htmltable-lex.d.ts.map +1 -1
- package/dist/common/record.d.ts.map +1 -1
- package/dist/common/splines-clip.d.ts +8 -0
- package/dist/common/splines-clip.d.ts.map +1 -1
- package/dist/common/splines-routespl.d.ts +4 -0
- package/dist/common/splines-routespl.d.ts.map +1 -1
- package/dist/index.js +2038 -2004
- package/dist/index.js.map +4 -4
- package/dist/render.js +96 -62
- package/dist/render.js.map +3 -3
- package/dist/xdot/parse.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/cdt/bag.ts +30 -52
- package/src/common/graph-init.ts +14 -9
- package/src/common/htmltable-lex.ts +17 -4
- package/src/common/htmltable-parse.ts +1 -1
- package/src/common/record.ts +3 -5
- package/src/common/splines-clip.ts +25 -0
- package/src/common/splines-routespl.ts +66 -0
- package/src/xdot/parse.ts +3 -1
- package/dist/gvc/textlayout.d.ts +0 -33
- package/dist/gvc/textlayout.d.ts.map +0 -1
- package/dist/layout/osage/layout.d.ts +0 -49
- package/dist/layout/osage/layout.d.ts.map +0 -1
- package/dist/layout/pack/test-helpers.d.ts +0 -7
- package/dist/layout/pack/test-helpers.d.ts.map +0 -1
- package/dist/layout/patchwork/tree-node.d.ts +0 -46
- package/dist/layout/patchwork/tree-node.d.ts.map +0 -1
- package/dist/xdot/lex.d.ts +0 -22
- package/dist/xdot/lex.d.ts.map +0 -1
- package/src/gvc/textlayout.ts +0 -44
- package/src/layout/osage/layout.ts +0 -254
- package/src/layout/pack/test-helpers.ts +0 -46
- package/src/layout/patchwork/tree-node.ts +0 -120
- package/src/xdot/lex.ts +0 -151
package/README.md
CHANGED
|
@@ -172,6 +172,21 @@ Trade-off: the built-in model is reproducible across machines; the host-faithful
|
|
|
172
172
|
path matches the rendering font but is platform-dependent (as native graphviz is).
|
|
173
173
|
See the Text measurement guide for the full contract.
|
|
174
174
|
|
|
175
|
+
`CanvasTextMeasurer` accepts **any** 2D context that implements `font` +
|
|
176
|
+
`measureText().width` — the `canvas` package is one provider, not a requirement.
|
|
177
|
+
`@napi-rs/canvas` (prebuilt N-API binaries, no `prebuild-install`) works too:
|
|
178
|
+
|
|
179
|
+
```ts
|
|
180
|
+
import { createCanvas } from '@napi-rs/canvas';
|
|
181
|
+
setTextMeasurer(new CanvasTextMeasurer(createCanvas(0, 0).getContext('2d') as unknown as CanvasRenderingContext2D));
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Pick the engine you **render** with: the two libraries resolve system fonts
|
|
185
|
+
differently (measured on macOS: `bold` Helvetica and Times/Courier substitution
|
|
186
|
+
diverge by 4–14% between them, while regular-weight Helvetica/Arial agree to
|
|
187
|
+
<0.2%). "Host-faithful" means measuring with the same font stack that later
|
|
188
|
+
draws the text — mixing engines reintroduces the mismatch you opted in to avoid.
|
|
189
|
+
|
|
175
190
|
## Security
|
|
176
191
|
|
|
177
192
|
**Treat rendered output as attacker-controlled markup whenever the DOT source is
|
package/dist/cdt/bag.d.ts
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
* DtBag — ordered multiset (Dtobag) backed by a splay tree.
|
|
3
3
|
*
|
|
4
4
|
* Unlike DtSplay (DT_OSET), DtBag allows duplicate keys. On insert of a
|
|
5
|
-
* duplicate, the
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* duplicate, the matched (old) node is threaded onto the new node's RIGHT
|
|
6
|
+
* subtree — not the left, as an earlier version of this comment claimed.
|
|
7
|
+
* C dttree.c DT_INSERT's DT_OBAG found-branch does
|
|
8
|
+
* `root->left = NULL; root->right = link.left; link.left = root;`
|
|
9
|
+
* (dttree.c:223-231): the old matched node is pushed onto the head of the
|
|
10
|
+
* RIGHT partition, which becomes the new root's `.right` subtree.
|
|
9
11
|
*
|
|
10
12
|
* Iteration (first/next) produces ascending comparator order. Among
|
|
11
13
|
* equal-key nodes the sub-order is the deterministic order CDT's Dtobag
|
package/dist/cdt/bag.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bag.d.ts","sourceRoot":"","sources":["../../src/cdt/bag.ts"],"names":[],"mappings":"AACA
|
|
1
|
+
{"version":3,"file":"bag.d.ts","sourceRoot":"","sources":["../../src/cdt/bag.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAkCpD,qBAAa,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;IACzB,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAE7B,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAKtD,mCAAmC;IACnC,IAAI,IAAI,MAAM;IAEd;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IAcjB;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAqBvB;;;OAGG;IACH,KAAK,IAAI,CAAC,GAAG,SAAS;IAMtB;;;OAGG;IACH,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAe3B;;;OAGG;IACH,IAAI,IAAI,CAAC,GAAG,SAAS;IAMrB,2BAA2B;IAC3B,KAAK,IAAI,IAAI;IAKb,kEAAkE;IAClE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;CAcjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-init.d.ts","sourceRoot":"","sources":["../../src/common/graph-init.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAa/C,yCAAyC;AACzC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,yCAAyC;AACzC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,yCAAyC;AACzC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,yCAAyC;AACzC,eAAO,MAAM,UAAU,IAAI,CAAC;AAQ5B;;;GAGG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAKzC,8DAA8D;AAC9D,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,SAAS,IAAI,CAAC;AAW3B;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAY5C;
|
|
1
|
+
{"version":3,"file":"graph-init.d.ts","sourceRoot":"","sources":["../../src/common/graph-init.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAa/C,yCAAyC;AACzC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,yCAAyC;AACzC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,yCAAyC;AACzC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,yCAAyC;AACzC,eAAO,MAAM,UAAU,IAAI,CAAC;AAQ5B;;;GAGG;AACH,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAKzC,8DAA8D;AAC9D,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,SAAS,IAAI,CAAC;AAW3B;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAY5C;AA2JD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAsG7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmltable-lex.d.ts","sourceRoot":"","sources":["../../src/common/htmltable-lex.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,YAAY,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"htmltable-lex.d.ts","sourceRoot":"","sources":["../../src/common/htmltable-lex.ts"],"names":[],"mappings":"AACA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,YAAY,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AA6HlD,yCAAyC;AACzC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,WAOnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/common/record.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../src/common/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,4 +18,12 @@ export declare const ARR_NORM = 1;
|
|
|
18
18
|
export declare function newSpline(e: Edge, sz: number): Bezier;
|
|
19
19
|
/** @see lib/common/splines.c:clip_and_install */
|
|
20
20
|
export declare function clipAndInstall(fe: Edge, hn: Node, ps: Point[], pn: number, info: SplineInfo): void;
|
|
21
|
+
/**
|
|
22
|
+
* Stage-dump hook for the clip/install output (diagnosis only; null in
|
|
23
|
+
* production — same pattern as splines-routespl.ts:setRouteDump).
|
|
24
|
+
*/
|
|
25
|
+
type ClipDumpFn = (stage: string, tail: string, head: string, payload: unknown) => void;
|
|
26
|
+
/** Install (or clear) the clip-stage dump callback. Diagnosis only. */
|
|
27
|
+
export declare function setClipDump(fn: ClipDumpFn | null): void;
|
|
28
|
+
export {};
|
|
21
29
|
//# sourceMappingURL=splines-clip.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splines-clip.d.ts","sourceRoot":"","sources":["../../src/common/splines-clip.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAO,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAS7C,gFAAgF;AAChF,eAAO,MAAM,QAAQ,IAAI,CAAC;AAia1B,2CAA2C;AAC3C,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAQrD;AAMD,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"splines-clip.d.ts","sourceRoot":"","sources":["../../src/common/splines-clip.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAO,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAqB,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAS7C,gFAAgF;AAChF,eAAO,MAAM,QAAQ,IAAI,CAAC;AAia1B,2CAA2C;AAC3C,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAQrD;AAMD,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CA6BlG;AAED;;;GAGG;AACH,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAGxF,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAEvD"}
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import type { Point, Box } from '../model/geom.js';
|
|
10
10
|
import type { Path } from './types.js';
|
|
11
|
+
/** Stage payload consumer installed by a diagnosis harness. */
|
|
12
|
+
export type RouteDumpFn = (stage: string, tail: string, head: string, payload: unknown) => void;
|
|
13
|
+
/** Install (or clear) the routing stage-dump callback. Diagnosis only. */
|
|
14
|
+
export declare function setRouteDump(fn: RouteDumpFn | null): void;
|
|
11
15
|
/**
|
|
12
16
|
* Repairs minor errors in the box path (gaps, slight overlaps).
|
|
13
17
|
* Returns true on hard failure; false on success.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splines-routespl.d.ts","sourceRoot":"","sources":["../../src/common/splines-routespl.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"splines-routespl.d.ts","sourceRoot":"","sources":["../../src/common/splines-routespl.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAavC,+DAA+D;AAC/D,MAAM,MAAM,WAAW,GAAG,CACxB,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KACxD,IAAI,CAAC;AAIV,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAEzD;AA2HD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CAwBvE;AAqDD;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,GAAG,EAAE,EACZ,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,KAAK,EAAE,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,IAAI,CAKN;AAwOD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,IAAI,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,IAAI,CAEvD"}
|