flo-mat 3.0.11 → 3.0.12

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.
@@ -16,6 +16,7 @@ import { MatMeta } from '../mat/mat-meta.js';
16
16
  * centered at an interior point x which contains two boundary portions c and
17
17
  * d of dΩ as in Fig. 19."
18
18
  * In fact, we (and they) start by fixing one point on the boundary beforehand.
19
+ *
19
20
  * @param loops A shape represented by path loops
20
21
  * @param maxCoordinate The extreme coordinate value of the shape
21
22
  * @param squaredDiagonalLength The squared diagonal length of the shape
@@ -25,6 +25,7 @@ const { ceil, log2, max, sqrt, abs, sin, cos } = Math;
25
25
  * centered at an interior point x which contains two boundary portions c and
26
26
  * d of dΩ as in Fig. 19."
27
27
  * In fact, we (and they) start by fixing one point on the boundary beforehand.
28
+ *
28
29
  * @param loops A shape represented by path loops
29
30
  * @param maxCoordinate The extreme coordinate value of the shape
30
31
  * @param squaredDiagonalLength The squared diagonal length of the shape
@@ -108,7 +109,7 @@ function find2Prong(meta, isHoleClosing, for1Prong, angle, y) {
108
109
  return undefined;
109
110
  }
110
111
  }
111
- // Find the point on the line connecting y with x that is
112
+ // Find the point on the line connecting y with x that is
112
113
  // equidistant from y and z. This will be our next x.
113
114
  const nextX = findEquidistantPointOnLineDd(x, y.p, z.p);
114
115
  const error = abs(sqrt(xy) - sqrt(xz));
@@ -1 +1 @@
1
- {"version":3,"file":"find-2-prong.js","sourceRoot":"","sources":["../../src/find-2-prong/find-2-prong.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-2-prong.js","sourceRoot":"","sources":["../../src/find-2-prong/find-2-prong.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ const matOptionRanges = {
24
24
  range: [1, Number.POSITIVE_INFINITY],
25
25
  },
26
26
  simplifyTolerance: {
27
- range: [2 ** -10, 1024],
27
+ range: [2 ** -20, 2 ** 20],
28
28
  scaleByMaxCoordinate: true
29
29
  },
30
30
  minBezLength: {
@@ -1 +1 @@
1
- {"version":3,"file":"mat-options.js","sourceRoot":"","sources":["../../src/find-mat/mat-options.ts"],"names":[],"mappings":"AA8FA,MAAM,iBAAiB,GAAyB;IAC5C,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,IAAI;IACd,iBAAiB,EAAE,CAAC,IAAE,CAAC,CAAC;IACxB,YAAY,EAAE,CAAC,IAAE,CAAC,CAAC;IACnB,cAAc,EAAE,EAAE;IAClB,2BAA2B;CAC9B,CAAA;AAUD,MAAM,eAAe,GAAwD;IACzE,YAAY,EAAE;QACV,KAAK,EAAE,CAAC,IAAI,EAAC,CAAC,CAAC;KAClB;IACD,SAAS,EAAE;QACP,KAAK,EAAE,CAAC,CAAC,EAAC,IAAI,CAAC;QACf,gBAAgB,EAAE,IAAI;KACzB;IACD,cAAc,EAAE;QACZ,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KACpB;IACD,QAAQ,EAAE;QACN,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC;KACvC;IACD,iBAAiB,EAAE;QACf,KAAK,EAAE,CAAC,CAAC,IAAE,CAAC,EAAE,EAAC,IAAI,CAAC;QACpB,oBAAoB,EAAE,IAAI;KAC7B;IACD,YAAY,EAAE;QACV,KAAK,EAAE,CAAC,CAAC,IAAE,CAAC,EAAE,EAAC,CAAC,CAAC;QACjB,oBAAoB,EAAE,IAAI;KAC7B;CACJ,CAAA;AAGD,OAAO,EAA6B,iBAAiB,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"mat-options.js","sourceRoot":"","sources":["../../src/find-mat/mat-options.ts"],"names":[],"mappings":"AA8FA,MAAM,iBAAiB,GAAyB;IAC5C,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,CAAC;IACX,QAAQ,EAAE,IAAI;IACd,iBAAiB,EAAE,CAAC,IAAE,CAAC,CAAC;IACxB,YAAY,EAAE,CAAC,IAAE,CAAC,CAAC;IACnB,cAAc,EAAE,EAAE;IAClB,2BAA2B;CAC9B,CAAA;AAUD,MAAM,eAAe,GAAwD;IACzE,YAAY,EAAE;QACV,KAAK,EAAE,CAAC,IAAI,EAAC,CAAC,CAAC;KAClB;IACD,SAAS,EAAE;QACP,KAAK,EAAE,CAAC,CAAC,EAAC,IAAI,CAAC;QACf,gBAAgB,EAAE,IAAI;KACzB;IACD,cAAc,EAAE;QACZ,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;KACpB;IACD,QAAQ,EAAE;QACN,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC;KACvC;IACD,iBAAiB,EAAE;QACf,KAAK,EAAE,CAAC,CAAC,IAAE,CAAC,EAAE,EAAC,CAAC,IAAE,EAAE,CAAC;QACrB,oBAAoB,EAAE,IAAI;KAC7B;IACD,YAAY,EAAE;QACV,KAAK,EAAE,CAAC,CAAC,IAAE,CAAC,EAAE,EAAC,CAAC,CAAC;QACjB,oBAAoB,EAAE,IAAI;KAC7B;CACJ,CAAA;AAGD,OAAO,EAA6B,iBAAiB,EAAE,eAAe,EAAE,CAAA"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "flo-mat",
3
3
  "sideEffects": false,
4
4
  "description": "Medial / Scale Axis Transform (MAT/SAT) Library.",
5
- "version": "3.0.11",
5
+ "version": "3.0.12",
6
6
  "author": {
7
7
  "name": "Floris Steenkamp"
8
8
  },
@@ -33,7 +33,7 @@
33
33
  "dependencies": {
34
34
  "big-float-ts": "^4.0.2",
35
35
  "double-double": "^3.0.4",
36
- "flo-bezier3": "^6.0.8",
36
+ "flo-bezier3": "^6.0.10",
37
37
  "flo-boolean": "^5.0.3",
38
38
  "flo-draw": "^2.0.5",
39
39
  "flo-gauss-quadrature": "^2.1.4",
@@ -59,7 +59,7 @@
59
59
  "ts-loader": "^9.5.7",
60
60
  "ts-node": "^10.9.2",
61
61
  "typescript": "^6.0.3",
62
- "webpack": "^5.107.1",
62
+ "webpack": "^5.107.2",
63
63
  "webpack-cli": "^7.0.2"
64
64
  },
65
65
  "scripts": {
@@ -31,7 +31,8 @@ const { ceil, log2, max, sqrt, abs, sin, cos } = Math;
31
31
  * "The starting point of this algorithm is a choice of a circle Br(x)
32
32
  * centered at an interior point x which contains two boundary portions c and
33
33
  * d of dΩ as in Fig. 19."
34
- * In fact, we (and they) start by fixing one point on the boundary beforehand.
34
+ * In fact, we (and they) start by fixing one point on the boundary beforehand.
35
+ *
35
36
  * @param loops A shape represented by path loops
36
37
  * @param maxCoordinate The extreme coordinate value of the shape
37
38
  * @param squaredDiagonalLength The squared diagonal length of the shape
@@ -45,7 +46,7 @@ function find2Prong(
45
46
  isHoleClosing: boolean,
46
47
  for1Prong: boolean,
47
48
  angle: number,
48
- y: PointOnShape): { circle: Circle, zs: PointOnShape[] } | undefined {
49
+ y: PointOnShape): { circle: Circle, zs: PointOnShape[] } | undefined {
49
50
 
50
51
  const { loops, maxCoordinate, squaredDiagonalLength } = meta;
51
52
 
@@ -145,7 +146,7 @@ function find2Prong(
145
146
  }
146
147
  }
147
148
 
148
- // Find the point on the line connecting y with x that is
149
+ // Find the point on the line connecting y with x that is
149
150
  // equidistant from y and z. This will be our next x.
150
151
  const nextX = findEquidistantPointOnLineDd(x, y.p, z.p);
151
152
  const error = abs(sqrt(xy) - sqrt(xz));
@@ -127,7 +127,7 @@ const matOptionRanges: Partial<{ [K in keyof MatOptions]: MatOptionMeta }> = {
127
127
  range: [1, Number.POSITIVE_INFINITY],
128
128
  },
129
129
  simplifyTolerance: {
130
- range: [2**-10,1024],
130
+ range: [2**-20,2**20],
131
131
  scaleByMaxCoordinate: true
132
132
  },
133
133
  minBezLength: {