@knowvah/dot-engine 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/nodeinit.d.ts.map +1 -1
- package/dist/common/poly-inside.d.ts +6 -0
- package/dist/common/poly-inside.d.ts.map +1 -1
- package/dist/common/poly-sizing.d.ts +8 -0
- package/dist/common/poly-sizing.d.ts.map +1 -1
- package/dist/common/poly-vertices.d.ts.map +1 -1
- package/dist/index.js +61 -15
- package/dist/index.js.map +3 -3
- package/dist/layout/dot/edge-route-helpers.d.ts.map +1 -1
- package/dist/render.js +61 -15
- package/dist/render.js.map +3 -3
- package/package.json +1 -1
- package/src/common/nodeinit.ts +6 -2
- package/src/common/poly-inside.ts +21 -8
- package/src/common/poly-sizing.ts +10 -0
- package/src/common/poly-vertices.ts +37 -4
- package/src/layout/dot/edge-route-helpers.ts +19 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeinit.d.ts","sourceRoot":"","sources":["../../src/common/nodeinit.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAc,MAAM,YAAY,CAAC;AAQlE,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAE1B,iFAAiF;AACjF,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,gFAAgF;AAChF,eAAO,MAAM,eAAe,KAAK,CAAC;AAmBlC,wFAAwF;AACxF,wBAAgB,UAAU,CACxB,CAAC,EAAE,MAAM,GAAG,SAAS,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAKR;AAED,mFAAmF;AACnF,wBAAgB,OAAO,CACrB,CAAC,EAAE,MAAM,GAAG,SAAS,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAKR;AAUD,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,SAAS,CAEjE;AA4CD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,IAAI,EACP,CAAC,EAAE,KAAK,EACR,KAAK,EAAE,SAAS,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,EACxC,UAAU,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACpC,IAAI,EAAE,OAAO,GACZ,cAAc,CAgBhB;
|
|
1
|
+
{"version":3,"file":"nodeinit.d.ts","sourceRoot":"","sources":["../../src/common/nodeinit.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAc,MAAM,YAAY,CAAC;AAQlE,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAE1B,iFAAiF;AACjF,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,gFAAgF;AAChF,eAAO,MAAM,eAAe,KAAK,CAAC;AAmBlC,wFAAwF;AACxF,wBAAgB,UAAU,CACxB,CAAC,EAAE,MAAM,GAAG,SAAS,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAKR;AAED,mFAAmF;AACnF,wBAAgB,OAAO,CACrB,CAAC,EAAE,MAAM,GAAG,SAAS,EACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAKR;AAUD,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,YAAY,GAAG,SAAS,CAEjE;AA4CD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,IAAI,EACP,CAAC,EAAE,KAAK,EACR,KAAK,EAAE,SAAS,GAAG;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,EACxC,UAAU,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EACpC,IAAI,EAAE,OAAO,GACZ,cAAc,CAgBhB;AAyKD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAItD;AAED,uDAAuD;AACvD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAEjD"}
|
|
@@ -12,9 +12,15 @@
|
|
|
12
12
|
* @see lib/common/shapes.c:same_side
|
|
13
13
|
*/
|
|
14
14
|
import type { Point } from '../model/geom.js';
|
|
15
|
+
import type { PolygonT } from './types.js';
|
|
15
16
|
import type { InsideContext } from './splines-geom.js';
|
|
16
17
|
/** Test if p0 and p1 are on the same side of the line L0-L1. @see shapes.c:same_side */
|
|
17
18
|
export declare function sameSide(p0: Point, p1: Point, L0: Point, L1: Point): boolean;
|
|
19
|
+
/** Vertex-extent box of a fixedshape polygon. @see lib/common/shapes.c:polyBB */
|
|
20
|
+
export declare function fixedShapeSize(poly: PolygonT): {
|
|
21
|
+
w: number;
|
|
22
|
+
h: number;
|
|
23
|
+
};
|
|
18
24
|
export declare function polyInside(ctx: InsideContext, p: Point): boolean;
|
|
19
25
|
/**
|
|
20
26
|
* Point-in-star test. A star is concave, so the generic poly_inside decagon
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poly-inside.d.ts","sourceRoot":"","sources":["../../src/common/poly-inside.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"poly-inside.d.ts","sourceRoot":"","sources":["../../src/common/poly-inside.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,wFAAwF;AACxF,wBAAgB,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO,CAO5E;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAQvE;AAgGD,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAchE;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAwBhE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAkBlE"}
|
|
@@ -92,6 +92,14 @@ export interface PolySizeResult extends NodeSize {
|
|
|
92
92
|
*/
|
|
93
93
|
baseW: number;
|
|
94
94
|
baseH: number;
|
|
95
|
+
/**
|
|
96
|
+
* fixedsize="shape": the drawn shape stays at the attr box while
|
|
97
|
+
* width/height grow to max(label, shape). Installed on the polygon
|
|
98
|
+
* descriptor as `option.fixedshape`; vertex generation and insideness
|
|
99
|
+
* must read the base box, not the label-grown width.
|
|
100
|
+
* @see lib/common/shapes.c:poly_init (poly->option.fixedshape)
|
|
101
|
+
*/
|
|
102
|
+
fixedshape: boolean;
|
|
95
103
|
/**
|
|
96
104
|
* Justification borders — the space available for the label within the node
|
|
97
105
|
* box. `emit_label` reads this (not `dimen`) for `labelloc` top/bottom and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poly-sizing.d.ts","sourceRoot":"","sources":["../../src/common/poly-sizing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"poly-sizing.d.ts","sourceRoot":"","sources":["../../src/common/poly-sizing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poly-vertices.d.ts","sourceRoot":"","sources":["../../src/common/poly-vertices.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI9C,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAc9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,SAAI,GAAG,KAAK,EAAE,CAqB1E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAgBjF;
|
|
1
|
+
{"version":3,"file":"poly-vertices.d.ts","sourceRoot":"","sources":["../../src/common/poly-vertices.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAI9C,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAK7D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAc9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,SAAI,GAAG,KAAK,EAAE,CAqB1E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAgBjF;AAsGD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,CAkB1D;AAiBD,0EAA0E;AAC1E,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EACd,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,IAAI,CAAC,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,KAAK,EAAE,CA2BT"}
|
package/dist/index.js
CHANGED
|
@@ -16442,11 +16442,22 @@ function generalPolyVertices(poly, w, h) {
|
|
|
16442
16442
|
const sy = ymax !== 0 ? h / (2 * ymax) : 1;
|
|
16443
16443
|
return verts.map((v) => ({ x: v.x * sx, y: v.y * sy }));
|
|
16444
16444
|
}
|
|
16445
|
-
function ellipseRings(w, h, peripheries) {
|
|
16445
|
+
function ellipseRings(w, h, peripheries, base) {
|
|
16446
|
+
if (base === void 0) {
|
|
16447
|
+
const out2 = [];
|
|
16448
|
+
for (let j = 0; j < peripheries; j++) {
|
|
16449
|
+
const inset = (peripheries - 1 - j) * GAP;
|
|
16450
|
+
out2.push(...ellipseVertices(w - 2 * inset, h - 2 * inset));
|
|
16451
|
+
}
|
|
16452
|
+
return out2;
|
|
16453
|
+
}
|
|
16446
16454
|
const out = [];
|
|
16455
|
+
let px = base.w / 2;
|
|
16456
|
+
let py = base.h / 2;
|
|
16447
16457
|
for (let j = 0; j < peripheries; j++) {
|
|
16448
|
-
|
|
16449
|
-
|
|
16458
|
+
out.push({ x: -px, y: -py }, { x: px, y: py });
|
|
16459
|
+
px += GAP;
|
|
16460
|
+
py += GAP;
|
|
16450
16461
|
}
|
|
16451
16462
|
return out;
|
|
16452
16463
|
}
|
|
@@ -16510,10 +16521,16 @@ function starRings(box, peripheries) {
|
|
|
16510
16521
|
}
|
|
16511
16522
|
function computeVertices(poly, w, h, base) {
|
|
16512
16523
|
const sides = poly.sides;
|
|
16524
|
+
if (poly.option.fixedshape && base !== void 0) {
|
|
16525
|
+
w = base.w;
|
|
16526
|
+
h = base.h;
|
|
16527
|
+
}
|
|
16513
16528
|
if (poly.option.shape === CYLINDER) return cylinderVertices(w, h);
|
|
16514
16529
|
const peripheries = Math.max(poly.peripheries, 1);
|
|
16515
16530
|
if (poly.option.shape === STAR) return starRings({ w, h, base }, peripheries);
|
|
16516
|
-
if (sides <= 2)
|
|
16531
|
+
if (sides <= 2) {
|
|
16532
|
+
return ellipseRings(w, h, peripheries, poly.option.fixedshape ? base : void 0);
|
|
16533
|
+
}
|
|
16517
16534
|
if (sides === 4 && Math.abs(poly.orientation % 90) < 0.5 && poly.distortion === 0 && poly.skew === 0) {
|
|
16518
16535
|
return boxRings(w, h, peripheries, poly.orientation, base);
|
|
16519
16536
|
}
|
|
@@ -16835,7 +16852,8 @@ function assembleResult(p, dimen, grown, fixedshape) {
|
|
|
16835
16852
|
outlineW: Math.max(dimen.x, grown.outline.x),
|
|
16836
16853
|
outlineH: Math.max(dimen.y, grown.outline.y),
|
|
16837
16854
|
baseW: grown.base.x,
|
|
16838
|
-
baseH: grown.base.y
|
|
16855
|
+
baseH: grown.base.y,
|
|
16856
|
+
fixedshape
|
|
16839
16857
|
};
|
|
16840
16858
|
}
|
|
16841
16859
|
return {
|
|
@@ -16843,7 +16861,8 @@ function assembleResult(p, dimen, grown, fixedshape) {
|
|
|
16843
16861
|
outlineW: grown.outline.x,
|
|
16844
16862
|
outlineH: grown.outline.y,
|
|
16845
16863
|
baseW: grown.base.x,
|
|
16846
|
-
baseH: grown.base.y
|
|
16864
|
+
baseH: grown.base.y,
|
|
16865
|
+
fixedshape
|
|
16847
16866
|
};
|
|
16848
16867
|
}
|
|
16849
16868
|
|
|
@@ -17816,21 +17835,28 @@ function fixedShapeSize(poly) {
|
|
|
17816
17835
|
}
|
|
17817
17836
|
return { w: 2 * xmax, h: 2 * ymax };
|
|
17818
17837
|
}
|
|
17819
|
-
function insideDims(n,
|
|
17820
|
-
if (poly.option.fixedshape) {
|
|
17821
|
-
const { w: w2, h: h2 } = fixedShapeSize(poly);
|
|
17822
|
-
return { w: w2, h: h2, ow: w2, oh: h2 };
|
|
17823
|
-
}
|
|
17838
|
+
function insideDims(n, xsize, ysize) {
|
|
17824
17839
|
const w = 72 * (n.info.width || xsize / 72);
|
|
17825
17840
|
const h = 72 * (n.info.height || ysize / 72);
|
|
17826
17841
|
return { w, h, ow: 72 * n.info.outline_width || w, oh: 72 * n.info.outline_height || h };
|
|
17827
17842
|
}
|
|
17828
17843
|
function insideScale(n, poly) {
|
|
17829
17844
|
const flip = n.root.info.flip === true;
|
|
17845
|
+
if (poly.option.fixedshape) {
|
|
17846
|
+
const { w: w2, h: h2 } = fixedShapeSize(poly);
|
|
17847
|
+
const xsize2 = flip ? h2 : w2;
|
|
17848
|
+
const ysize2 = flip ? w2 : h2;
|
|
17849
|
+
return {
|
|
17850
|
+
scalex: xsize2 !== 0 ? w2 / xsize2 : w2,
|
|
17851
|
+
scaley: ysize2 !== 0 ? h2 / ysize2 : h2,
|
|
17852
|
+
boxURx: w2 / 2,
|
|
17853
|
+
boxURy: h2 / 2
|
|
17854
|
+
};
|
|
17855
|
+
}
|
|
17830
17856
|
const lwrw = n.info.lw + n.info.rw;
|
|
17831
17857
|
const xsize = flip ? n.info.ht : lwrw;
|
|
17832
17858
|
const ysize = flip ? lwrw : n.info.ht;
|
|
17833
|
-
const { w, h, ow, oh } = insideDims(n,
|
|
17859
|
+
const { w, h, ow, oh } = insideDims(n, xsize, ysize);
|
|
17834
17860
|
return {
|
|
17835
17861
|
scalex: xsize !== 0 ? w / xsize : w,
|
|
17836
17862
|
scaley: ysize !== 0 ? h / ysize : h,
|
|
@@ -24444,7 +24470,9 @@ function pointSizeResult(sz0, peripheries, penwidth) {
|
|
|
24444
24470
|
outlineW: szOutline,
|
|
24445
24471
|
outlineH: szOutline,
|
|
24446
24472
|
baseW: sz0,
|
|
24447
|
-
baseH: sz0
|
|
24473
|
+
baseH: sz0,
|
|
24474
|
+
fixedshape: false
|
|
24475
|
+
// C point_init never sets option.fixedshape
|
|
24448
24476
|
};
|
|
24449
24477
|
}
|
|
24450
24478
|
function initPointSize(n, g, shape) {
|
|
@@ -24479,14 +24507,17 @@ function initNodeFromLabel(n, g, measurer) {
|
|
|
24479
24507
|
label.space = sz.space;
|
|
24480
24508
|
label.valign = sz.valign.charCodeAt(0);
|
|
24481
24509
|
storeNodeSize(n, sz, flip);
|
|
24482
|
-
assignShapeInfo(n, effectivePolygon(poly, params));
|
|
24510
|
+
assignShapeInfo(n, effectivePolygon(poly, params, sz.fixedshape));
|
|
24483
24511
|
return true;
|
|
24484
24512
|
}
|
|
24485
|
-
function effectivePolygon(poly, p) {
|
|
24513
|
+
function effectivePolygon(poly, p, fixedshape) {
|
|
24486
24514
|
let sides = p.sides;
|
|
24487
24515
|
if (sides <= 2 && (p.distortion !== 0 || p.skew !== 0)) sides = 120;
|
|
24488
24516
|
return {
|
|
24489
24517
|
...poly,
|
|
24518
|
+
// C: poly->option.fixedshape = true inside the fixedsize="shape" branch;
|
|
24519
|
+
// poly-inside and computeVertices key the shape-box/width split on it.
|
|
24520
|
+
option: { ...poly.option, fixedshape },
|
|
24490
24521
|
regular: p.regular,
|
|
24491
24522
|
peripheries: p.peripheries,
|
|
24492
24523
|
sides,
|
|
@@ -29294,6 +29325,21 @@ function nodeBoxOf(n, g) {
|
|
|
29294
29325
|
const rb = recordClipBox(n);
|
|
29295
29326
|
if (rb) return { center: n.info.coord, ...rb, isEllipse: false, penwidth };
|
|
29296
29327
|
}
|
|
29328
|
+
const si = n.info.shape_info;
|
|
29329
|
+
if (si?.option?.fixedshape === true && si.vertices) {
|
|
29330
|
+
const ext = fixedShapeSize(si);
|
|
29331
|
+
const flip = g.root.info.flip === true;
|
|
29332
|
+
const w = flip ? ext.h : ext.w;
|
|
29333
|
+
const h = flip ? ext.w : ext.h;
|
|
29334
|
+
return {
|
|
29335
|
+
center: n.info.coord,
|
|
29336
|
+
lw: w / 2,
|
|
29337
|
+
rw: w / 2,
|
|
29338
|
+
ht: h,
|
|
29339
|
+
isEllipse: ELLIPSE_SHAPES.has(shapeName),
|
|
29340
|
+
penwidth: 0
|
|
29341
|
+
};
|
|
29342
|
+
}
|
|
29297
29343
|
return {
|
|
29298
29344
|
center: n.info.coord,
|
|
29299
29345
|
lw: n.info.lw > 0 ? n.info.lw : 27,
|