@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.
@@ -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;AAqKD;;;;;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"}
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;AAG9C,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;AA8FD,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"}
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;AAiFD;;;;;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,CAeT"}
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
- const inset = (peripheries - 1 - j) * GAP;
16449
- out.push(...ellipseVertices(w - 2 * inset, h - 2 * inset));
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) return ellipseRings(w, h, peripheries);
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, poly, xsize, ysize) {
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, poly, xsize, ysize);
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,