@knowvah/dot-engine 2.4.0 → 2.4.1

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.
@@ -43,6 +43,9 @@ export declare function computeStep(ng: number, bbs: Box[], margin: number): num
43
43
  /**
44
44
  * Number of grid cells required to cover length x at cell size s.
45
45
  *
46
+ * C `(int)ceil(x / s)` is `fcvtps w` in the native arm64 build (objdump of
47
+ * libgvc `_genBox`, `_placeGraph`), which saturates at INT_MAX.
48
+ *
46
49
  * @see lib/pack/pack.c:GRID
47
50
  */
48
51
  export declare function gridCells(x: number, s: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"poly-pack.d.ts","sourceRoot":"","sources":["../../../src/layout/pack/poly-pack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poly-pack.d.ts","sourceRoot":"","sources":["../../../src/layout/pack/poly-pack.ts"],"names":[],"mappings":"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"}
package/dist/render.js CHANGED
@@ -33957,12 +33957,14 @@ function computeStep(ng, bbs, margin) {
33957
33957
  c -= W * H;
33958
33958
  }
33959
33959
  const d = b * b - 4 * a * c;
33960
- if (d < 0) return 1;
33961
- const root = Math.floor((-b + Math.sqrt(d)) / (2 * a));
33962
- return root <= 0 ? 1 : root;
33960
+ const r = Math.sqrt(d);
33961
+ const l1 = (-b + r) / (2 * a);
33962
+ let root = Number.isNaN(l1) ? 0 : d2i(l1);
33963
+ if (root === 0) root = 1;
33964
+ return root;
33963
33965
  }
33964
33966
  function gridCells(x, s) {
33965
- return Math.ceil(x / s);
33967
+ return d2i(Math.ceil(x / s));
33966
33968
  }
33967
33969
  function cval(v, s) {
33968
33970
  return v >= 0 ? v / s : (v + 1) / s - 1;
@@ -34003,8 +34005,8 @@ function fits(x, y, info, ctx) {
34003
34005
  const bb = ctx.bbs[info.index];
34004
34006
  if (bb === void 0) return null;
34005
34007
  const place = {
34006
- x: ctx.step * x - cround(bb.ll.x),
34007
- y: ctx.step * y - cround(bb.ll.y)
34008
+ x: Math.imul(ctx.step, x) - cround(bb.ll.x),
34009
+ y: Math.imul(ctx.step, y) - cround(bb.ll.y)
34008
34010
  };
34009
34011
  markCells(info.cells, x, y, ctx.ps);
34010
34012
  return place;