@mlightcad/geometry-engine 3.2.6 → 3.2.8

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,4 +1,4 @@
1
- import { AcCmErrors as Me } from "@mlightcad/common";
1
+ import { AcCmErrors as Pe } from "@mlightcad/common";
2
2
  const $t = [
3
3
  "00",
4
4
  "01",
@@ -269,10 +269,10 @@ function Ze(E, e, i) {
269
269
  function Xr(E, e) {
270
270
  return (E % e + e) % e;
271
271
  }
272
- function Mi(E, e, i, a, l) {
272
+ function Pi(E, e, i, a, l) {
273
273
  return a + (E - e) * (l - a) / (i - e);
274
274
  }
275
- function Pi(E, e, i) {
275
+ function Mi(E, e, i) {
276
276
  return E !== e ? (i - E) / (e - E) : 0;
277
277
  }
278
278
  function Wr(E, e, i) {
@@ -342,8 +342,8 @@ const Ct = {
342
342
  generateUUID: xi,
343
343
  clamp: Ze,
344
344
  euclideanModulo: Xr,
345
- mapLinear: Mi,
346
- inverseLerp: Pi,
345
+ mapLinear: Pi,
346
+ inverseLerp: Mi,
347
347
  lerp: Wr,
348
348
  damp: Ai,
349
349
  pingpong: zi,
@@ -384,7 +384,7 @@ const Ct = {
384
384
  this.x = e, this.y = i;
385
385
  return;
386
386
  }
387
- throw Me.ILLEGAL_PARAMETERS;
387
+ throw Pe.ILLEGAL_PARAMETERS;
388
388
  }
389
389
  }
390
390
  /**
@@ -954,8 +954,8 @@ const On = class On {
954
954
  * @returns Return this matrix
955
955
  */
956
956
  multiplyMatrices(e, i) {
957
- const a = e.elements, l = i.elements, _ = this.elements, g = a[0], p = a[3], x = a[6], f = a[1], A = a[4], y = a[7], I = a[2], C = a[5], U = a[8], q = l[0], Z = l[3], j = l[6], yt = l[1], Mt = l[4], ft = l[7], Y = l[2], ut = l[5], ht = l[8];
958
- return _[0] = g * q + p * yt + x * Y, _[3] = g * Z + p * Mt + x * ut, _[6] = g * j + p * ft + x * ht, _[1] = f * q + A * yt + y * Y, _[4] = f * Z + A * Mt + y * ut, _[7] = f * j + A * ft + y * ht, _[2] = I * q + C * yt + U * Y, _[5] = I * Z + C * Mt + U * ut, _[8] = I * j + C * ft + U * ht, this;
957
+ const a = e.elements, l = i.elements, _ = this.elements, g = a[0], p = a[3], x = a[6], f = a[1], A = a[4], y = a[7], I = a[2], C = a[5], U = a[8], q = l[0], Z = l[3], j = l[6], yt = l[1], Pt = l[4], ft = l[7], Y = l[2], ut = l[5], ht = l[8];
958
+ return _[0] = g * q + p * yt + x * Y, _[3] = g * Z + p * Pt + x * ut, _[6] = g * j + p * ft + x * ht, _[1] = f * q + A * yt + y * Y, _[4] = f * Z + A * Pt + y * ut, _[7] = f * j + A * ft + y * ht, _[2] = I * q + C * yt + U * Y, _[5] = I * Z + C * Pt + U * ut, _[8] = I * j + C * ft + U * ht, this;
959
959
  }
960
960
  /**
961
961
  * Multiply every component of the matrix by the scalar value s.
@@ -1225,7 +1225,7 @@ function Jr(E, e, i = !1) {
1225
1225
  function Oi(E, e) {
1226
1226
  if (E.length === 0 || e.length === 0)
1227
1227
  return !1;
1228
- const i = new Pe().setFromPoints(E), a = new Pe().setFromPoints(e);
1228
+ const i = new Me().setFromPoints(E), a = new Me().setFromPoints(e);
1229
1229
  if (!i.intersectsBox(a))
1230
1230
  return !1;
1231
1231
  for (let l = 0; l < E.length; ) {
@@ -1324,8 +1324,8 @@ function Xi(E, e, i, a) {
1324
1324
  a
1325
1325
  );
1326
1326
  for (let q = 1; q <= x; q++) {
1327
- const Z = _ + q * f, j = tr(Z, E, e, i, a), yt = j[0] - A[0], Mt = j[1] - A[1], ft = j[2] - A[2];
1328
- p += Math.sqrt(yt * yt + Mt * Mt + ft * ft), A = j;
1327
+ const Z = _ + q * f, j = tr(Z, E, e, i, a), yt = j[0] - A[0], Pt = j[1] - A[1], ft = j[2] - A[2];
1328
+ p += Math.sqrt(yt * yt + Pt * Pt + ft * ft), A = j;
1329
1329
  }
1330
1330
  const y = tr(
1331
1331
  g,
@@ -1373,9 +1373,9 @@ class ir {
1373
1373
  }
1374
1374
  if (y !== q || x !== I || f !== C || A !== U) {
1375
1375
  let Z = 1 - p;
1376
- const j = x * I + f * C + A * U + y * q, yt = j >= 0 ? 1 : -1, Mt = 1 - j * j;
1377
- if (Mt > Number.EPSILON) {
1378
- const Y = Math.sqrt(Mt), ut = Math.atan2(Y, j * yt);
1376
+ const j = x * I + f * C + A * U + y * q, yt = j >= 0 ? 1 : -1, Pt = 1 - j * j;
1377
+ if (Pt > Number.EPSILON) {
1378
+ const Y = Math.sqrt(Pt), ut = Math.atan2(Y, j * yt);
1379
1379
  Z = Math.sin(Z * ut) / Y, p = Math.sin(p * ut) / Y;
1380
1380
  }
1381
1381
  const ft = p * yt;
@@ -1752,7 +1752,7 @@ const Yt = class Yt {
1752
1752
  this.x = e, this.y = i, this.z = a;
1753
1753
  return;
1754
1754
  }
1755
- throw Me.ILLEGAL_PARAMETERS;
1755
+ throw Pe.ILLEGAL_PARAMETERS;
1756
1756
  }
1757
1757
  }
1758
1758
  /**
@@ -2723,8 +2723,8 @@ const fr = /* @__PURE__ */ new H(), Rr = /* @__PURE__ */ new ir(), qn = class qn
2723
2723
  * @returns Return this matrix
2724
2724
  */
2725
2725
  multiplyMatrices(e, i) {
2726
- const a = e.elements, l = i.elements, _ = this.elements, g = a[0], p = a[4], x = a[8], f = a[12], A = a[1], y = a[5], I = a[9], C = a[13], U = a[2], q = a[6], Z = a[10], j = a[14], yt = a[3], Mt = a[7], ft = a[11], Y = a[15], ut = l[0], ht = l[4], Lt = l[8], jt = l[12], Tt = l[1], Kt = l[5], Ht = l[9], ie = l[13], se = l[2], ae = l[6], Ft = l[10], Xt = l[14], X = l[3], wt = l[7], Wt = l[11], Ae = l[15];
2727
- return _[0] = g * ut + p * Tt + x * se + f * X, _[4] = g * ht + p * Kt + x * ae + f * wt, _[8] = g * Lt + p * Ht + x * Ft + f * Wt, _[12] = g * jt + p * ie + x * Xt + f * Ae, _[1] = A * ut + y * Tt + I * se + C * X, _[5] = A * ht + y * Kt + I * ae + C * wt, _[9] = A * Lt + y * Ht + I * Ft + C * Wt, _[13] = A * jt + y * ie + I * Xt + C * Ae, _[2] = U * ut + q * Tt + Z * se + j * X, _[6] = U * ht + q * Kt + Z * ae + j * wt, _[10] = U * Lt + q * Ht + Z * Ft + j * Wt, _[14] = U * jt + q * ie + Z * Xt + j * Ae, _[3] = yt * ut + Mt * Tt + ft * se + Y * X, _[7] = yt * ht + Mt * Kt + ft * ae + Y * wt, _[11] = yt * Lt + Mt * Ht + ft * Ft + Y * Wt, _[15] = yt * jt + Mt * ie + ft * Xt + Y * Ae, this;
2726
+ const a = e.elements, l = i.elements, _ = this.elements, g = a[0], p = a[4], x = a[8], f = a[12], A = a[1], y = a[5], I = a[9], C = a[13], U = a[2], q = a[6], Z = a[10], j = a[14], yt = a[3], Pt = a[7], ft = a[11], Y = a[15], ut = l[0], ht = l[4], Lt = l[8], jt = l[12], Tt = l[1], Kt = l[5], Ht = l[9], ie = l[13], se = l[2], ae = l[6], Ft = l[10], Xt = l[14], X = l[3], wt = l[7], Wt = l[11], Ae = l[15];
2727
+ return _[0] = g * ut + p * Tt + x * se + f * X, _[4] = g * ht + p * Kt + x * ae + f * wt, _[8] = g * Lt + p * Ht + x * Ft + f * Wt, _[12] = g * jt + p * ie + x * Xt + f * Ae, _[1] = A * ut + y * Tt + I * se + C * X, _[5] = A * ht + y * Kt + I * ae + C * wt, _[9] = A * Lt + y * Ht + I * Ft + C * Wt, _[13] = A * jt + y * ie + I * Xt + C * Ae, _[2] = U * ut + q * Tt + Z * se + j * X, _[6] = U * ht + q * Kt + Z * ae + j * wt, _[10] = U * Lt + q * Ht + Z * Ft + j * Wt, _[14] = U * jt + q * ie + Z * Xt + j * Ae, _[3] = yt * ut + Pt * Tt + ft * se + Y * X, _[7] = yt * ht + Pt * Kt + ft * ae + Y * wt, _[11] = yt * Lt + Pt * Ht + ft * Ft + Y * Wt, _[15] = yt * jt + Pt * ie + ft * Xt + Y * Ae, this;
2728
2728
  }
2729
2729
  /**
2730
2730
  * Multiply every component of the matrix by a scalar value s.
@@ -2769,11 +2769,11 @@ const fr = /* @__PURE__ */ new H(), Rr = /* @__PURE__ */ new ir(), qn = class qn
2769
2769
  * @returns Return this matrix
2770
2770
  */
2771
2771
  invert() {
2772
- const e = this.elements, i = e[0], a = e[1], l = e[2], _ = e[3], g = e[4], p = e[5], x = e[6], f = e[7], A = e[8], y = e[9], I = e[10], C = e[11], U = e[12], q = e[13], Z = e[14], j = e[15], yt = y * Z * f - q * I * f + q * x * C - p * Z * C - y * x * j + p * I * j, Mt = U * I * f - A * Z * f - U * x * C + g * Z * C + A * x * j - g * I * j, ft = A * q * f - U * y * f + U * p * C - g * q * C - A * p * j + g * y * j, Y = U * y * x - A * q * x - U * p * I + g * q * I + A * p * Z - g * y * Z, ut = i * yt + a * Mt + l * ft + _ * Y;
2772
+ const e = this.elements, i = e[0], a = e[1], l = e[2], _ = e[3], g = e[4], p = e[5], x = e[6], f = e[7], A = e[8], y = e[9], I = e[10], C = e[11], U = e[12], q = e[13], Z = e[14], j = e[15], yt = y * Z * f - q * I * f + q * x * C - p * Z * C - y * x * j + p * I * j, Pt = U * I * f - A * Z * f - U * x * C + g * Z * C + A * x * j - g * I * j, ft = A * q * f - U * y * f + U * p * C - g * q * C - A * p * j + g * y * j, Y = U * y * x - A * q * x - U * p * I + g * q * I + A * p * Z - g * y * Z, ut = i * yt + a * Pt + l * ft + _ * Y;
2773
2773
  if (ut === 0)
2774
2774
  return this.set(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
2775
2775
  const ht = 1 / ut;
2776
- return e[0] = yt * ht, e[1] = (q * I * _ - y * Z * _ - q * l * C + a * Z * C + y * l * j - a * I * j) * ht, e[2] = (p * Z * _ - q * x * _ + q * l * f - a * Z * f - p * l * j + a * x * j) * ht, e[3] = (y * x * _ - p * I * _ - y * l * f + a * I * f + p * l * C - a * x * C) * ht, e[4] = Mt * ht, e[5] = (A * Z * _ - U * I * _ + U * l * C - i * Z * C - A * l * j + i * I * j) * ht, e[6] = (U * x * _ - g * Z * _ - U * l * f + i * Z * f + g * l * j - i * x * j) * ht, e[7] = (g * I * _ - A * x * _ + A * l * f - i * I * f - g * l * C + i * x * C) * ht, e[8] = ft * ht, e[9] = (U * y * _ - A * q * _ - U * a * C + i * q * C + A * a * j - i * y * j) * ht, e[10] = (g * q * _ - U * p * _ + U * a * f - i * q * f - g * a * j + i * p * j) * ht, e[11] = (A * p * _ - g * y * _ - A * a * f + i * y * f + g * a * C - i * p * C) * ht, e[12] = Y * ht, e[13] = (A * q * l - U * y * l + U * a * I - i * q * I - A * a * Z + i * y * Z) * ht, e[14] = (U * p * l - g * q * l - U * a * x + i * q * x + g * a * Z - i * p * Z) * ht, e[15] = (g * y * l - A * p * l + A * a * x - i * y * x - g * a * I + i * p * I) * ht, this;
2776
+ return e[0] = yt * ht, e[1] = (q * I * _ - y * Z * _ - q * l * C + a * Z * C + y * l * j - a * I * j) * ht, e[2] = (p * Z * _ - q * x * _ + q * l * f - a * Z * f - p * l * j + a * x * j) * ht, e[3] = (y * x * _ - p * I * _ - y * l * f + a * I * f + p * l * C - a * x * C) * ht, e[4] = Pt * ht, e[5] = (A * Z * _ - U * I * _ + U * l * C - i * Z * C - A * l * j + i * I * j) * ht, e[6] = (U * x * _ - g * Z * _ - U * l * f + i * Z * f + g * l * j - i * x * j) * ht, e[7] = (g * I * _ - A * x * _ + A * l * f - i * I * f - g * l * C + i * x * C) * ht, e[8] = ft * ht, e[9] = (U * y * _ - A * q * _ - U * a * C + i * q * C + A * a * j - i * y * j) * ht, e[10] = (g * q * _ - U * p * _ + U * a * f - i * q * f - g * a * j + i * p * j) * ht, e[11] = (A * p * _ - g * y * _ - A * a * f + i * y * f + g * a * C - i * p * C) * ht, e[12] = Y * ht, e[13] = (A * q * l - U * y * l + U * a * I - i * q * I - A * a * Z + i * y * Z) * ht, e[14] = (U * p * l - g * q * l - U * a * x + i * q * x + g * a * Z - i * p * Z) * ht, e[15] = (g * y * l - A * p * l + A * a * x - i * y * x - g * a * I + i * p * I) * ht, this;
2777
2777
  }
2778
2778
  /**
2779
2779
  * Multiply the columns of this matrix by vector v.
@@ -2887,8 +2887,8 @@ const fr = /* @__PURE__ */ new H(), Rr = /* @__PURE__ */ new ir(), qn = class qn
2887
2887
  * @returns Return this matrix
2888
2888
  */
2889
2889
  compose(e, i, a) {
2890
- const l = this.elements, _ = i.x, g = i.y, p = i.z, x = i.w, f = _ + _, A = g + g, y = p + p, I = _ * f, C = _ * A, U = _ * y, q = g * A, Z = g * y, j = p * y, yt = x * f, Mt = x * A, ft = x * y, Y = a.x, ut = a.y, ht = a.z;
2891
- return l[0] = (1 - (q + j)) * Y, l[1] = (C + ft) * Y, l[2] = (U - Mt) * Y, l[3] = 0, l[4] = (C - ft) * ut, l[5] = (1 - (I + j)) * ut, l[6] = (Z + yt) * ut, l[7] = 0, l[8] = (U + Mt) * ht, l[9] = (Z - yt) * ht, l[10] = (1 - (I + q)) * ht, l[11] = 0, l[12] = e.x, l[13] = e.y, l[14] = e.z, l[15] = 1, this;
2890
+ const l = this.elements, _ = i.x, g = i.y, p = i.z, x = i.w, f = _ + _, A = g + g, y = p + p, I = _ * f, C = _ * A, U = _ * y, q = g * A, Z = g * y, j = p * y, yt = x * f, Pt = x * A, ft = x * y, Y = a.x, ut = a.y, ht = a.z;
2891
+ return l[0] = (1 - (q + j)) * Y, l[1] = (C + ft) * Y, l[2] = (U - Pt) * Y, l[3] = 0, l[4] = (C - ft) * ut, l[5] = (1 - (I + j)) * ut, l[6] = (Z + yt) * ut, l[7] = 0, l[8] = (U + Pt) * ht, l[9] = (Z - yt) * ht, l[10] = (1 - (I + q)) * ht, l[11] = 0, l[12] = e.x, l[13] = e.y, l[14] = e.z, l[15] = 1, this;
2892
2892
  }
2893
2893
  /**
2894
2894
  * Decompose this matrix into its position, quaternion and scale components.
@@ -3294,7 +3294,7 @@ const Te = [
3294
3294
  /* @__PURE__ */ new H(),
3295
3295
  /* @__PURE__ */ new H()
3296
3296
  ], mr = /* @__PURE__ */ new H(), Vr = /* @__PURE__ */ new Vt();
3297
- class Pe {
3297
+ class Me {
3298
3298
  /**
3299
3299
  * Create a 2d box bounded by min and max.
3300
3300
  * @param min (optional) Input 2d vector representing the lower (x, y) boundary of the box.
@@ -3341,7 +3341,7 @@ class Pe {
3341
3341
  * @returns Return a new 2d box with the same min and max as this one.
3342
3342
  */
3343
3343
  clone() {
3344
- return new Pe().copy(this);
3344
+ return new Me().copy(this);
3345
3345
  }
3346
3346
  /**
3347
3347
  * Copy the min and max from box to this box.
@@ -3972,7 +3972,7 @@ class is extends ti {
3972
3972
  */
3973
3973
  calculateBoundingBox() {
3974
3974
  const e = this.outter;
3975
- return e ? e.box : new Pe();
3975
+ return e ? e.box : new Me();
3976
3976
  }
3977
3977
  /**
3978
3978
  * @inheritdoc
@@ -4053,7 +4053,7 @@ class is extends ti {
4053
4053
  calculateBoundaryBoxes(e) {
4054
4054
  const i = [];
4055
4055
  return e.forEach((a) => {
4056
- i.push(new Pe().setFromPoints(a));
4056
+ i.push(new Me().setFromPoints(a));
4057
4057
  }), i;
4058
4058
  }
4059
4059
  /**
@@ -4228,7 +4228,7 @@ class nr extends Xn {
4228
4228
  const p = e;
4229
4229
  this.center = new Dt(p.x, p.y), this.radius = i, this._clockwise = _, this._startAngle = this._clockwise ? this._mirrorAngle(Ct.normalizeAngle(a)) : Ct.normalizeAngle(a), this._endAngle = this._clockwise ? this._mirrorAngle(Ct.normalizeAngle(l)) : Ct.normalizeAngle(l);
4230
4230
  } else
4231
- throw Me.ILLEGAL_PARAMETERS;
4231
+ throw Pe.ILLEGAL_PARAMETERS;
4232
4232
  }
4233
4233
  /**
4234
4234
  * Create arc by three points
@@ -4245,8 +4245,8 @@ class nr extends Xn {
4245
4245
  return { x: Kt, y: Ht };
4246
4246
  }, U = p.y - y * p.x, q = x.y - I * x.x, Z = C(y, U, I, q), j = Math.sqrt(
4247
4247
  Math.pow(e.x - Z.x, 2) + Math.pow(e.y - Z.y, 2)
4248
- ), yt = (ht, Lt) => Math.atan2(ht.y - Lt.y, ht.x - Lt.x), Mt = yt(e, Z), ft = yt(i, Z), Y = yt(a, Z), ut = Y > Mt && Y < ft || Mt > Y && Mt < ft || ft > Y && ft < Mt;
4249
- this.center = Z, this.radius = j, this._clockwise = !ut, this._startAngle = Mt, this._endAngle = Y;
4248
+ ), yt = (ht, Lt) => Math.atan2(ht.y - Lt.y, ht.x - Lt.x), Pt = yt(e, Z), ft = yt(i, Z), Y = yt(a, Z), ut = Y > Pt && Y < ft || Pt > Y && Pt < ft || ft > Y && ft < Pt;
4249
+ this.center = Z, this.radius = j, this._clockwise = !ut, this._startAngle = Pt, this._endAngle = Y;
4250
4250
  }
4251
4251
  /**
4252
4252
  * Create circular arc by two points and one bugle factor
@@ -4395,7 +4395,7 @@ class nr extends Xn {
4395
4395
  ) && e.push(this.getPointAtAngle(_));
4396
4396
  }
4397
4397
  const a = e.map((_) => _.x), l = e.map((_) => _.y);
4398
- return new Pe(
4398
+ return new Me(
4399
4399
  new Dt(Math.min(...a), Math.min(...l)),
4400
4400
  new Dt(Math.max(...a), Math.max(...l))
4401
4401
  );
@@ -4756,7 +4756,7 @@ class er extends Wn {
4756
4756
  return this._radius;
4757
4757
  }
4758
4758
  set radius(e) {
4759
- if (e < 0) throw Me.ILLEGAL_PARAMETERS;
4759
+ if (e < 0) throw Pe.ILLEGAL_PARAMETERS;
4760
4760
  this._radius = e, this._boundingBoxNeedsUpdate = !0;
4761
4761
  }
4762
4762
  /**
@@ -5017,7 +5017,7 @@ class ei extends Xn {
5017
5017
  return this._majorAxisRadius;
5018
5018
  }
5019
5019
  set majorAxisRadius(e) {
5020
- if (e < 0) throw Me.ILLEGAL_PARAMETERS;
5020
+ if (e < 0) throw Pe.ILLEGAL_PARAMETERS;
5021
5021
  this._majorAxisRadius = e, this._boundingBoxNeedsUpdate = !0;
5022
5022
  }
5023
5023
  /**
@@ -5027,7 +5027,7 @@ class ei extends Xn {
5027
5027
  return this._minorAxisRadius;
5028
5028
  }
5029
5029
  set minorAxisRadius(e) {
5030
- if (e < 0) throw Me.ILLEGAL_PARAMETERS;
5030
+ if (e < 0) throw Pe.ILLEGAL_PARAMETERS;
5031
5031
  this._minorAxisRadius = e, this._boundingBoxNeedsUpdate = !0;
5032
5032
  }
5033
5033
  /**
@@ -5090,7 +5090,7 @@ class ei extends Xn {
5090
5090
  const p = this.getPoint(g / 100);
5091
5091
  i = Math.min(i, p.x), a = Math.min(a, p.y), l = Math.max(l, p.x), _ = Math.max(_, p.y);
5092
5092
  }
5093
- return new Pe({ x: i, y: a }, { x: l, y: _ });
5093
+ return new Me({ x: i, y: a }, { x: l, y: _ });
5094
5094
  }
5095
5095
  /**
5096
5096
  * Return true if its start point is identical to its end point. Otherwise, return false.
@@ -5177,7 +5177,7 @@ class ni extends Wn {
5177
5177
  return this._majorAxisRadius;
5178
5178
  }
5179
5179
  set majorAxisRadius(e) {
5180
- if (e < 0) throw Me.ILLEGAL_PARAMETERS;
5180
+ if (e < 0) throw Pe.ILLEGAL_PARAMETERS;
5181
5181
  this._majorAxisRadius = e, this._boundingBoxNeedsUpdate = !0;
5182
5182
  }
5183
5183
  /**
@@ -5187,7 +5187,7 @@ class ni extends Wn {
5187
5187
  return this._minorAxisRadius;
5188
5188
  }
5189
5189
  set minorAxisRadius(e) {
5190
- if (e < 0) throw Me.ILLEGAL_PARAMETERS;
5190
+ if (e < 0) throw Pe.ILLEGAL_PARAMETERS;
5191
5191
  this._minorAxisRadius = e, this._boundingBoxNeedsUpdate = !0;
5192
5192
  }
5193
5193
  /**
@@ -5541,7 +5541,7 @@ class ss extends Xn {
5541
5541
  */
5542
5542
  calculateBoundingBox() {
5543
5543
  const e = this.getPoints(100);
5544
- return new Pe().setFromPoints(e);
5544
+ return new Me().setFromPoints(e);
5545
5545
  }
5546
5546
  /**
5547
5547
  * @inheritdoc
@@ -5637,7 +5637,7 @@ class ri extends Xn {
5637
5637
  Math.max(this._start.x, this._end.x),
5638
5638
  Math.max(this._start.y, this._end.y)
5639
5639
  );
5640
- return new Pe(e, i);
5640
+ return new Me(e, i);
5641
5641
  }
5642
5642
  /**
5643
5643
  * @inheritdoc
@@ -5717,7 +5717,7 @@ class as extends Xn {
5717
5717
  * @inheritdoc
5718
5718
  */
5719
5719
  calculateBoundingBox() {
5720
- const e = this.getPoints(100), i = new Pe();
5720
+ const e = this.getPoints(100), i = new Me();
5721
5721
  return i.setFromPoints(e), i;
5722
5722
  }
5723
5723
  /**
@@ -5881,14 +5881,14 @@ var ii = { exports: {} };
5881
5881
  }, yt.parseFloat = function(t) {
5882
5882
  return parseFloat(t);
5883
5883
  };
5884
- var Mt = function() {
5884
+ var Pt = function() {
5885
5885
  this.b = "";
5886
5886
  };
5887
- y.StringBuf = Mt, Mt.__name__ = ["StringBuf"], Mt.prototype = {
5887
+ y.StringBuf = Pt, Pt.__name__ = ["StringBuf"], Pt.prototype = {
5888
5888
  add: function(t) {
5889
5889
  this.b += yt.string(t);
5890
5890
  },
5891
- __class__: Mt
5891
+ __class__: Pt
5892
5892
  };
5893
5893
  var ft = function() {
5894
5894
  };
@@ -5966,7 +5966,7 @@ var ii = { exports: {} };
5966
5966
  __class__: Lt
5967
5967
  };
5968
5968
  var jt = function() {
5969
- this.buf = new Mt(), this.cache = [], this.useCache = jt.USE_CACHE, this.useEnumIndex = jt.USE_ENUM_INDEX, this.shash = new se(), this.scount = 0;
5969
+ this.buf = new Pt(), this.cache = [], this.useCache = jt.USE_CACHE, this.useEnumIndex = jt.USE_ENUM_INDEX, this.shash = new se(), this.scount = 0;
5970
5970
  };
5971
5971
  y["haxe.Serializer"] = jt, jt.__name__ = ["haxe", "Serializer"], jt.prototype = {
5972
5972
  toString: function() {
@@ -6037,14 +6037,14 @@ var ii = { exports: {} };
6037
6037
  case Z:
6038
6038
  this.buf.b += "l";
6039
6039
  for (var m = t, b = m.h, w = null; b != null; ) {
6040
- var M;
6041
- w = b[0], b = b[1], M = w, this.serialize(M);
6040
+ var P;
6041
+ w = b[0], b = b[1], P = w, this.serialize(P);
6042
6042
  }
6043
6043
  this.buf.b += "h";
6044
6044
  break;
6045
6045
  case Date:
6046
- var P = t;
6047
- this.buf.b += "v", this.buf.add(P.getTime());
6046
+ var M = t;
6047
+ this.buf.b += "v", this.buf.add(M.getTime());
6048
6048
  break;
6049
6049
  case se:
6050
6050
  this.buf.b += "b";
@@ -6071,7 +6071,7 @@ var ii = { exports: {} };
6071
6071
  this.buf.b += "h";
6072
6072
  break;
6073
6073
  case ae:
6074
- for (var V = t, G = 0, Q = V.length - 2, J = new Mt(), et = jt.BASE64; G < Q; ) {
6074
+ for (var V = t, G = 0, Q = V.length - 2, J = new Pt(), et = jt.BASE64; G < Q; ) {
6075
6075
  var it = V.get(G++), nt = V.get(G++), st = V.get(G++);
6076
6076
  J.add(et.charAt(it >> 2)), J.add(et.charAt((it << 4 | nt >> 4) & 63)), J.add(et.charAt((nt << 2 | st >> 6) & 63)), J.add(et.charAt(st & 63));
6077
6077
  }
@@ -6093,7 +6093,7 @@ var ii = { exports: {} };
6093
6093
  if (wt.__instanceof(t, xr)) {
6094
6094
  var mt = ut.getClassName(t);
6095
6095
  this.buf.b += "A", this.serializeString(mt);
6096
- } else if (wt.__instanceof(t, Mr))
6096
+ } else if (wt.__instanceof(t, Pr))
6097
6097
  this.buf.b += "B", this.serializeString(ut.getEnumName(t));
6098
6098
  else {
6099
6099
  if (this.useCache && this.serializeRef(t)) return;
@@ -6250,9 +6250,9 @@ var ii = { exports: {} };
6250
6250
  var w = ut.createEmptyInstance(b);
6251
6251
  return this.cache.push(w), this.unserializeObject(w), w;
6252
6252
  case 119:
6253
- var M = this.unserialize(), P = this.resolver.resolveEnum(M);
6254
- if (P == null) throw new X("Enum not found " + M);
6255
- var z = this.unserializeEnum(P, this.unserialize());
6253
+ var P = this.unserialize(), M = this.resolver.resolveEnum(P);
6254
+ if (M == null) throw new X("Enum not found " + P);
6255
+ var z = this.unserializeEnum(M, this.unserialize());
6256
6256
  return this.cache.push(z), z;
6257
6257
  case 106:
6258
6258
  var N = this.unserialize(), k = this.resolver.resolveEnum(N);
@@ -6506,16 +6506,16 @@ var ii = { exports: {} };
6506
6506
  return k instanceof X && (k = k.val), "???";
6507
6507
  }
6508
6508
  if (w != null && w != Object.toString && typeof w == "function") {
6509
- var M = t.toString();
6510
- if (M != "[object Object]") return M;
6509
+ var P = t.toString();
6510
+ if (P != "[object Object]") return P;
6511
6511
  }
6512
- var P = null, z = `{
6512
+ var M = null, z = `{
6513
6513
  `;
6514
6514
  n += " ";
6515
6515
  var N = t.hasOwnProperty != null;
6516
- for (var P in t)
6517
- N && !t.hasOwnProperty(P) || P == "prototype" || P == "__class__" || P == "__super__" || P == "__interfaces__" || P == "__properties__" || (z.length != 2 && (z += `,
6518
- `), z += n + P + " : " + wt.__string_rec(t[P], n));
6516
+ for (var M in t)
6517
+ N && !t.hasOwnProperty(M) || M == "prototype" || M == "__class__" || M == "__super__" || M == "__interfaces__" || M == "__properties__" || (z.length != 2 && (z += `,
6518
+ `), z += n + M + " : " + wt.__string_rec(t[M], n));
6519
6519
  return n = n.substring(1), z += `
6520
6520
  ` + n + "}", z;
6521
6521
  case "function":
@@ -6557,7 +6557,7 @@ var ii = { exports: {} };
6557
6557
  } else if (typeof n == "object" && wt.__isNativeObj(n) && t instanceof n)
6558
6558
  return !0;
6559
6559
  } else return !1;
6560
- return n == xr && t.__name__ != null || n == Mr && t.__ename__ != null ? !0 : t.__enum__ == n;
6560
+ return n == xr && t.__name__ != null || n == Pr && t.__ename__ != null ? !0 : t.__enum__ == n;
6561
6561
  }
6562
6562
  }, wt.__nativeClassName = function(t) {
6563
6563
  var n = wt.__toStr.call(t).slice(8, -1);
@@ -7337,17 +7337,17 @@ var ii = { exports: {} };
7337
7337
  y["verb.core.MeshIntersectionPoint"] = Ve, Ve.__name__ = ["verb", "core", "MeshIntersectionPoint"], Ve.prototype = {
7338
7338
  __class__: Ve
7339
7339
  };
7340
- var Mn = f.core.PolylineMeshIntersection = function(t, n, r, s, o) {
7340
+ var Pn = f.core.PolylineMeshIntersection = function(t, n, r, s, o) {
7341
7341
  this.point = t, this.u = n, this.uv = r, this.polylineIndex = s, this.faceIndex = o;
7342
7342
  };
7343
- y["verb.core.PolylineMeshIntersection"] = Mn, Mn.__name__ = ["verb", "core", "PolylineMeshIntersection"], Mn.prototype = {
7344
- __class__: Mn
7343
+ y["verb.core.PolylineMeshIntersection"] = Pn, Pn.__name__ = ["verb", "core", "PolylineMeshIntersection"], Pn.prototype = {
7344
+ __class__: Pn
7345
7345
  };
7346
- var Pn = f.core.SurfaceSurfaceIntersectionPoint = function(t, n, r, s) {
7346
+ var Mn = f.core.SurfaceSurfaceIntersectionPoint = function(t, n, r, s) {
7347
7347
  this.uv0 = t, this.uv1 = n, this.point = r, this.dist = s;
7348
7348
  };
7349
- y["verb.core.SurfaceSurfaceIntersectionPoint"] = Pn, Pn.__name__ = ["verb", "core", "SurfaceSurfaceIntersectionPoint"], Pn.prototype = {
7350
- __class__: Pn
7349
+ y["verb.core.SurfaceSurfaceIntersectionPoint"] = Mn, Mn.__name__ = ["verb", "core", "SurfaceSurfaceIntersectionPoint"], Mn.prototype = {
7350
+ __class__: Mn
7351
7351
  };
7352
7352
  var An = f.core.TriSegmentIntersection = function(t, n, r, s) {
7353
7353
  this.point = t, this.s = n, this.t = r, this.p = s;
@@ -7391,7 +7391,7 @@ var ii = { exports: {} };
7391
7391
  return -w.item1;
7392
7392
  }), h, c = null;
7393
7393
  c = function(w) {
7394
- for (var M, P = w.dimension, z = s.distanceFunction(t, w.kdPoint.point), N, k = [], L = 0, B = s.dim; L < B; )
7394
+ for (var P, M = w.dimension, z = s.distanceFunction(t, w.kdPoint.point), N, k = [], L = 0, B = s.dim; L < B; )
7395
7395
  L++, k.push(0);
7396
7396
  N = k;
7397
7397
  for (var T, R, F = function(G, Q) {
@@ -7404,7 +7404,7 @@ var ii = { exports: {} };
7404
7404
  (o.size() < n || z < o.peek().item1) && F(w, z);
7405
7405
  return;
7406
7406
  }
7407
- w.right == null ? M = w.left : w.left == null ? M = w.right : t[P] < w.kdPoint.point[P] ? M = w.left : M = w.right, c(M), (o.size() < n || z < o.peek().item1) && F(w, z), (o.size() < n || Math.abs(T) < o.peek().item1) && (M == w.left ? R = w.right : R = w.left, R != null && c(R));
7407
+ w.right == null ? P = w.left : w.left == null ? P = w.right : t[M] < w.kdPoint.point[M] ? P = w.left : P = w.right, c(P), (o.size() < n || z < o.peek().item1) && F(w, z), (o.size() < n || Math.abs(T) < o.peek().item1) && (P == w.left ? R = w.right : R = w.left, R != null && c(R));
7408
7408
  }, h = c;
7409
7409
  for (var v = 0; v < n; )
7410
7410
  v++, o.push(new qt(null, r));
@@ -7603,11 +7603,11 @@ var ii = { exports: {} };
7603
7603
  }, xt.mult = function(t, n) {
7604
7604
  var r, s, o, h, c, v, d, m;
7605
7605
  r = t.length, s = n.length, o = n[0].length, h = [];
7606
- for (var b = r - 1, w = 0, M = 0; b >= 0; ) {
7607
- for (c = [], v = t[b], M = o - 1; M >= 0; ) {
7608
- for (d = v[s - 1] * n[s - 1][M], w = s - 2; w >= 1; )
7609
- m = w - 1, d += v[w] * n[w][M] + v[m] * n[m][M], w -= 2;
7610
- w == 0 && (d += v[0] * n[0][M]), c[M] = d, M--;
7606
+ for (var b = r - 1, w = 0, P = 0; b >= 0; ) {
7607
+ for (c = [], v = t[b], P = o - 1; P >= 0; ) {
7608
+ for (d = v[s - 1] * n[s - 1][P], w = s - 2; w >= 1; )
7609
+ m = w - 1, d += v[w] * n[w][P] + v[m] * n[m][P], w -= 2;
7610
+ w == 0 && (d += v[0] * n[0][P]), c[P] = d, P--;
7611
7611
  }
7612
7612
  h[b] = c, b--;
7613
7613
  }
@@ -7673,9 +7673,9 @@ var ii = { exports: {} };
7673
7673
  }
7674
7674
  return c;
7675
7675
  }, xt.LU = function(t) {
7676
- for (var n, r, s, o, h, c, v, d, m, b = [], w = 0, M = t.length; w < M; ) {
7677
- var P = w++;
7678
- b.push(t[P].slice());
7676
+ for (var n, r, s, o, h, c, v, d, m, b = [], w = 0, P = t.length; w < P; ) {
7677
+ var M = w++;
7678
+ b.push(t[M].slice());
7679
7679
  }
7680
7680
  t = b;
7681
7681
  var z = t.length, N = z - 1, k = [];
@@ -7717,8 +7717,8 @@ var ii = { exports: {} };
7717
7717
  var v = Gt.getMinCoordOnAxis(n.points, n.faces[c], s);
7718
7718
  o.push(new qt(v, c));
7719
7719
  }
7720
- o.sort(function(M, P) {
7721
- var z = M.item0, N = P.item0;
7720
+ o.sort(function(P, M) {
7721
+ var z = P.item0, N = M.item0;
7722
7722
  return z == N ? 0 : z > N ? 1 : -1;
7723
7723
  });
7724
7724
  for (var d = [], m = 0, b = o.length; m < b; ) {
@@ -7744,7 +7744,7 @@ var ii = { exports: {} };
7744
7744
  }
7745
7745
  return r;
7746
7746
  }, Gt.triangleUVFromPoint = function(t, n, r) {
7747
- var s = t.faces[n], o = t.points[s[0]], h = t.points[s[1]], c = t.points[s[2]], v = t.uvs[s[0]], d = t.uvs[s[1]], m = t.uvs[s[2]], b = u.sub(o, r), w = u.sub(h, r), M = u.sub(c, r), P = u.norm(u.cross(u.sub(o, h), u.sub(o, c))), z = u.norm(u.cross(w, M)) / P, N = u.norm(u.cross(M, b)) / P, k = u.norm(u.cross(b, w)) / P;
7747
+ var s = t.faces[n], o = t.points[s[0]], h = t.points[s[1]], c = t.points[s[2]], v = t.uvs[s[0]], d = t.uvs[s[1]], m = t.uvs[s[2]], b = u.sub(o, r), w = u.sub(h, r), P = u.sub(c, r), M = u.norm(u.cross(u.sub(o, h), u.sub(o, c))), z = u.norm(u.cross(w, P)) / M, N = u.norm(u.cross(P, b)) / M, k = u.norm(u.cross(b, w)) / M;
7748
7748
  return u.add(u.mul(z, v), u.add(u.mul(N, d), u.mul(k, m)));
7749
7749
  };
7750
7750
  var Fe = function(t, n) {
@@ -7792,13 +7792,13 @@ var ii = { exports: {} };
7792
7792
  var h = n.length, c = t(n), v = c, d;
7793
7793
  if (isNaN(c)) throw new X("uncmin: f(x0) is a NaN!");
7794
7794
  r = Math.max(r, $.EPSILON);
7795
- var m, b, w, M = xt.identity(h), P = 0, z = [], N, k, L, B, T, R, F = "";
7796
- for (b = s(n); P < o; ) {
7795
+ var m, b, w, P = xt.identity(h), M = 0, z = [], N, k, L, B, T, R, F = "";
7796
+ for (b = s(n); M < o; ) {
7797
7797
  if (!u.all(u.finite(b))) {
7798
7798
  F = "Gradient has Infinity or NaN";
7799
7799
  break;
7800
7800
  }
7801
- if (m = u.neg(xt.dot(M, b)), !u.all(u.finite(m))) {
7801
+ if (m = u.neg(xt.dot(P, b)), !u.all(u.finite(m))) {
7802
7802
  F = "Search direction has Infinity or NaN";
7803
7803
  break;
7804
7804
  }
@@ -7806,9 +7806,9 @@ var ii = { exports: {} };
7806
7806
  F = "Newton step smaller than tol";
7807
7807
  break;
7808
7808
  }
7809
- for (T = 1, d = u.dot(b, m), N = n; P < o && !(T * R < r); ) {
7809
+ for (T = 1, d = u.dot(b, m), N = n; M < o && !(T * R < r); ) {
7810
7810
  if (z = u.mul(T, m), N = u.add(n, z), v = t(N), v - c >= 0.1 * T * d || isNaN(v)) {
7811
- T *= 0.5, ++P;
7811
+ T *= 0.5, ++M;
7812
7812
  continue;
7813
7813
  }
7814
7814
  break;
@@ -7817,24 +7817,24 @@ var ii = { exports: {} };
7817
7817
  F = "Line search step size smaller than tol";
7818
7818
  break;
7819
7819
  }
7820
- if (P == o) {
7820
+ if (M == o) {
7821
7821
  F = "maxit reached during line search";
7822
7822
  break;
7823
7823
  }
7824
- w = s(N), k = u.sub(w, b), B = u.dot(k, z), L = xt.dot(M, k), M = xt.sub(xt.add(M, xt.mul((B + u.dot(k, L)) / (B * B), me.tensor(z, z))), xt.div(xt.add(me.tensor(L, z), me.tensor(z, L)), B)), n = N, c = v, b = w, ++P;
7824
+ w = s(N), k = u.sub(w, b), B = u.dot(k, z), L = xt.dot(P, k), P = xt.sub(xt.add(P, xt.mul((B + u.dot(k, L)) / (B * B), me.tensor(z, z))), xt.div(xt.add(me.tensor(L, z), me.tensor(z, L)), B)), n = N, c = v, b = w, ++M;
7825
7825
  }
7826
- return new kn(n, c, b, M, P, F);
7826
+ return new kn(n, c, b, P, M, F);
7827
7827
  }, me.numericalGradient = function(t, n) {
7828
7828
  var r = n.length, s = t(n);
7829
7829
  if (s == NaN) throw new X("gradient: f(x) is a NaN!");
7830
- for (var o = n.slice(0), h, c, v = [], d, m = 1e-3, b, w, M, P = 0, z, N, k, L = 0; L < r; )
7830
+ for (var o = n.slice(0), h, c, v = [], d, m = 1e-3, b, w, P, M = 0, z, N, k, L = 0; L < r; )
7831
7831
  for (var B = L++, T = Math.max(1e-6 * s, 1e-8); ; ) {
7832
- if (++P, P > 20) throw new X("Numerical gradient fails");
7832
+ if (++M, M > 20) throw new X("Numerical gradient fails");
7833
7833
  if (o[B] = n[B] + T, h = t(o), o[B] = n[B] - T, c = t(o), o[B] = n[B], isNaN(h) || isNaN(c)) {
7834
7834
  T /= 16;
7835
7835
  continue;
7836
7836
  }
7837
- if (v[B] = (h - c) / (2 * T), b = n[B] - T, w = n[B], M = n[B] + T, z = (h - s) / T, N = (s - c) / T, k = u.max([Math.abs(v[B]), Math.abs(s), Math.abs(h), Math.abs(c), Math.abs(b), Math.abs(w), Math.abs(M), 1e-8]), d = Math.min(u.max([Math.abs(z - v[B]), Math.abs(N - v[B]), Math.abs(z - N)]) / k, T / k), d > m) T /= 16;
7837
+ if (v[B] = (h - c) / (2 * T), b = n[B] - T, w = n[B], P = n[B] + T, z = (h - s) / T, N = (s - c) / T, k = u.max([Math.abs(v[B]), Math.abs(s), Math.abs(h), Math.abs(c), Math.abs(b), Math.abs(w), Math.abs(P), 1e-8]), d = Math.min(u.max([Math.abs(z - v[B]), Math.abs(N - v[B]), Math.abs(z - N)]) / k, T / k), d > m) T /= 16;
7838
7838
  else break;
7839
7839
  }
7840
7840
  return v;
@@ -8103,7 +8103,7 @@ var ii = { exports: {} };
8103
8103
  var r = vt.rationalSurfaceClosestParam(t, n);
8104
8104
  return S.rationalSurfacePoint(t, r[0], r[1]);
8105
8105
  }, vt.rationalSurfaceClosestParam = function(t, n) {
8106
- for (var r = 5, s = 0, o, h = 1e-4, c = 5e-4, v, d = t.knotsU[0], m = K.last(t.knotsU), b = t.knotsV[0], w = K.last(t.knotsV), M = vt.isRationalSurfaceClosed(t), P = vt.isRationalSurfaceClosed(t, !1), z, N = Pt.rationalSurfaceAdaptive(t, new Oe()), k = 1 / 0, L = 0, B = N.points.length; L < B; ) {
8106
+ for (var r = 5, s = 0, o, h = 1e-4, c = 5e-4, v, d = t.knotsU[0], m = K.last(t.knotsU), b = t.knotsV[0], w = K.last(t.knotsV), P = vt.isRationalSurfaceClosed(t), M = vt.isRationalSurfaceClosed(t, !1), z, N = Mt.rationalSurfaceAdaptive(t, new Oe()), k = 1 / 0, L = 0, B = N.points.length; L < B; ) {
8107
8107
  var T = L++, R = N.points[T], F = u.normSquared(u.sub(n, R));
8108
8108
  F < k && (k = F, z = N.uvs[T]);
8109
8109
  }
@@ -8117,7 +8117,7 @@ var ii = { exports: {} };
8117
8117
  var V = u.norm(v), G = u.dot(o[1][0], v), Q = u.norm(o[1][0]) * V, J = u.dot(o[0][1], v), et = u.norm(o[0][1]) * V, it = G / Q, nt = J / et, st = V < h, tt = it < c, at = nt < c;
8118
8118
  if (st && tt && at) return z;
8119
8119
  var O = D(z, o, v);
8120
- O[0] < d ? M ? O = [m - (O[0] - d), O[1]] : O = [d + $.EPSILON, O[1]] : O[0] > m && (M ? O = [d + (O[0] - m), O[1]] : O = [m - $.EPSILON, O[1]]), O[1] < b ? P ? O = [O[0], w - (O[1] - b)] : O = [O[0], b + $.EPSILON] : O[1] > w && (P ? O = [O[0], b + (O[0] - w)] : O = [O[0], w - $.EPSILON]);
8120
+ O[0] < d ? P ? O = [m - (O[0] - d), O[1]] : O = [d + $.EPSILON, O[1]] : O[0] > m && (P ? O = [d + (O[0] - m), O[1]] : O = [m - $.EPSILON, O[1]]), O[1] < b ? M ? O = [O[0], w - (O[1] - b)] : O = [O[0], b + $.EPSILON] : O[1] > w && (M ? O = [O[0], b + (O[0] - w)] : O = [O[0], w - $.EPSILON]);
8121
8121
  var lt = u.norm(u.mul(O[0] - z[0], o[1][0])), mt = u.norm(u.mul(O[1] - z[1], o[0][1]));
8122
8122
  if (lt + mt < h) return z;
8123
8123
  z = O, s++;
@@ -8126,9 +8126,9 @@ var ii = { exports: {} };
8126
8126
  }, vt.rationalCurveClosestPoint = function(t, n) {
8127
8127
  return S.rationalCurvePoint(t, vt.rationalCurveClosestParam(t, n));
8128
8128
  }, vt.rationalCurveClosestParam = function(t, n) {
8129
- for (var r = 1 / 0, s = 0, o = Pt.rationalCurveRegularSample(t, t.controlPoints.length * t.degree, !0), h = 0, c = o.length - 1; h < c; ) {
8130
- var v = h++, d = o[v][0], m = o[v + 1][0], b = o[v].slice(1), w = o[v + 1].slice(1), M = he.segmentClosestPoint(n, b, w, d, m), P = u.norm(u.sub(n, M.pt));
8131
- P < r && (r = P, s = M.u);
8129
+ for (var r = 1 / 0, s = 0, o = Mt.rationalCurveRegularSample(t, t.controlPoints.length * t.degree, !0), h = 0, c = o.length - 1; h < c; ) {
8130
+ var v = h++, d = o[v][0], m = o[v + 1][0], b = o[v].slice(1), w = o[v + 1].slice(1), P = he.segmentClosestPoint(n, b, w, d, m), M = u.norm(u.sub(n, P.pt));
8131
+ M < r && (r = M, s = P.u);
8132
8132
  }
8133
8133
  for (var z = 5, N = 0, k, L = 1e-4, B = 5e-4, T, R = t.knots[0], F = K.last(t.knots), W = u.normSquared(u.sub(t.controlPoints[0], K.last(t.controlPoints))) < $.EPSILON, D = s, V = function(O) {
8134
8134
  return S.rationalCurveDerivatives(t, O, 2);
@@ -8243,11 +8243,11 @@ var ii = { exports: {} };
8243
8243
  for (var c, v = [], d = 0, m = o + 1; d < m; )
8244
8244
  d++, v.push(n);
8245
8245
  c = v;
8246
- for (var b = [], w = [], M = S.knotSpan(o, n, s), P = null, z = 0; z < h.length; ) {
8246
+ for (var b = [], w = [], P = S.knotSpan(o, n, s), M = null, z = 0; z < h.length; ) {
8247
8247
  var N = h[z];
8248
- ++z, P = ct.curveKnotRefine(new kt(o, s, N), c), b.push(P.controlPoints.slice(0, M + 1)), w.push(P.controlPoints.slice(M + 1));
8248
+ ++z, M = ct.curveKnotRefine(new kt(o, s, N), c), b.push(M.controlPoints.slice(0, P + 1)), w.push(M.controlPoints.slice(P + 1));
8249
8249
  }
8250
- var k = P.knots.slice(0, M + o + 2), L = P.knots.slice(M + 1);
8250
+ var k = M.knots.slice(0, P + o + 2), L = M.knots.slice(P + 1);
8251
8251
  return r ? [new Ot(t.degreeU, o, t.knotsU.slice(), k, b), new Ot(t.degreeU, o, t.knotsU.slice(), L, w)] : (b = xt.transpose(b), w = xt.transpose(w), [new Ot(o, t.degreeV, k, t.knotsV.slice(), b), new Ot(o, t.degreeV, L, t.knotsV.slice(), w)]);
8252
8252
  }, Zt.curveSplit = function(t, n) {
8253
8253
  var r = t.degree;
@@ -8255,14 +8255,14 @@ var ii = { exports: {} };
8255
8255
  for (var s = t.knots, o, h = [], c = 0, v = r + 1; c < v; )
8256
8256
  c++, h.push(n);
8257
8257
  o = h;
8258
- var d = ct.curveKnotRefine(t, o), m = S.knotSpan(r, n, s), b = d.knots.slice(0, m + r + 2), w = d.knots.slice(m + 1), M = d.controlPoints.slice(0, m + 1), P = d.controlPoints.slice(m + 1);
8259
- return [new kt(r, b, M), new kt(r, w, P)];
8258
+ var d = ct.curveKnotRefine(t, o), m = S.knotSpan(r, n, s), b = d.knots.slice(0, m + r + 2), w = d.knots.slice(m + 1), P = d.controlPoints.slice(0, m + 1), M = d.controlPoints.slice(m + 1);
8259
+ return [new kt(r, b, P), new kt(r, w, M)];
8260
8260
  }, Zt.rationalCurveByEqualArcLength = function(t, n) {
8261
8261
  var r = vt.rationalCurveArcLength(t), s = r / n;
8262
8262
  return Zt.rationalCurveByArcLength(t, s);
8263
8263
  }, Zt.rationalCurveByArcLength = function(t, n) {
8264
- var r = ct.decomposeCurveIntoBeziers(t), s = r.map(function(M) {
8265
- return vt.rationalBezierCurveArcLength(M);
8264
+ var r = ct.decomposeCurveIntoBeziers(t), s = r.map(function(P) {
8265
+ return vt.rationalBezierCurveArcLength(P);
8266
8266
  }), o = u.sum(s), h = [new un(t.knots[0], 0)];
8267
8267
  if (n > o) return h;
8268
8268
  for (var c = n, v = 0, d = c, m = 0, b = 0, w; v < r.length; ) {
@@ -8291,8 +8291,8 @@ var ii = { exports: {} };
8291
8291
  for (var o = S.surfaceDerivatives(t, n, r, s), h = S.rational2d(o), c = S.weight2d(o), v = [], d = h[0][0].length, m = 0, b = s + 1; m < b; ) {
8292
8292
  var w = m++;
8293
8293
  v.push([]);
8294
- for (var M = 0, P = s - w + 1; M < P; ) {
8295
- for (var z = M++, N = h[w][z], k = 1, L = z + 1; k < L; ) {
8294
+ for (var P = 0, M = s - w + 1; P < M; ) {
8295
+ for (var z = P++, N = h[w][z], k = 1, L = z + 1; k < L; ) {
8296
8296
  var B = k++;
8297
8297
  u.subMulMutate(N, At.get(z, B) * c[0][B], v[w][z - B]);
8298
8298
  }
@@ -8314,9 +8314,9 @@ var ii = { exports: {} };
8314
8314
  }, S.rationalCurveDerivatives = function(t, n, r) {
8315
8315
  r == null && (r = 1);
8316
8316
  for (var s = S.curveDerivatives(t, n, r), o = S.rational1d(s), h = S.weight1d(s), c = [], v = 0, d = r + 1; v < d; ) {
8317
- for (var m = v++, b = o[m], w = 1, M = m + 1; w < M; ) {
8318
- var P = w++;
8319
- u.subMulMutate(b, At.get(m, P) * h[P], c[m - P]);
8317
+ for (var m = v++, b = o[m], w = 1, P = m + 1; w < P; ) {
8318
+ var M = w++;
8319
+ u.subMulMutate(b, At.get(m, M) * h[M], c[m - M]);
8320
8320
  }
8321
8321
  u.mulMutate(1 / h[0], b), c.push(b);
8322
8322
  }
@@ -8329,11 +8329,11 @@ var ii = { exports: {} };
8329
8329
  }, S.surfaceDerivativesGivenNM = function(t, n, r, s, o, h) {
8330
8330
  var c = r.degreeU, v = r.degreeV, d = r.controlPoints, m = r.knotsU, b = r.knotsV;
8331
8331
  if (!S.areValidRelations(c, d.length, m.length) || !S.areValidRelations(v, d[0].length, b.length)) throw new X("Invalid relations between control points, knot vector, and n");
8332
- var w = d[0][0].length, M;
8333
- h < c ? M = h : M = c;
8334
- var P;
8335
- h < v ? P = h : P = v;
8336
- for (var z = u.zeros3d(h + 1, h + 1, w), N = S.knotSpanGivenN(t, c, s, m), k = S.knotSpanGivenN(n, v, o, b), L = S.derivativeBasisFunctionsGivenNI(N, s, c, t, m), B = S.derivativeBasisFunctionsGivenNI(k, o, v, n, b), T = u.zeros2d(v + 1, w), R = 0, F = 0, W = M + 1; F < W; ) {
8332
+ var w = d[0][0].length, P;
8333
+ h < c ? P = h : P = c;
8334
+ var M;
8335
+ h < v ? M = h : M = v;
8336
+ for (var z = u.zeros3d(h + 1, h + 1, w), N = S.knotSpanGivenN(t, c, s, m), k = S.knotSpanGivenN(n, v, o, b), L = S.derivativeBasisFunctionsGivenNI(N, s, c, t, m), B = S.derivativeBasisFunctionsGivenNI(k, o, v, n, b), T = u.zeros2d(v + 1, w), R = 0, F = 0, W = P + 1; F < W; ) {
8337
8337
  for (var D = F++, V = 0, G = v + 1; V < G; ) {
8338
8338
  var Q = V++;
8339
8339
  T[Q] = u.zeros1d(w);
@@ -8343,7 +8343,7 @@ var ii = { exports: {} };
8343
8343
  }
8344
8344
  }
8345
8345
  var nt = h - D;
8346
- nt < P ? R = nt : R = P;
8346
+ nt < M ? R = nt : R = M;
8347
8347
  for (var st = 0, tt = R + 1; st < tt; ) {
8348
8348
  var at = st++;
8349
8349
  z[D][at] = u.zeros1d(w);
@@ -8360,30 +8360,30 @@ var ii = { exports: {} };
8360
8360
  }, S.surfacePointGivenNM = function(t, n, r, s, o) {
8361
8361
  var h = r.degreeU, c = r.degreeV, v = r.controlPoints, d = r.knotsU, m = r.knotsV;
8362
8362
  if (!S.areValidRelations(h, v.length, d.length) || !S.areValidRelations(c, v[0].length, m.length)) throw new X("Invalid relations between control points, knot vector, and n");
8363
- for (var b = v[0][0].length, w = S.knotSpanGivenN(t, h, s, d), M = S.knotSpanGivenN(n, c, o, m), P = S.basisFunctionsGivenKnotSpanIndex(w, s, h, d), z = S.basisFunctionsGivenKnotSpanIndex(M, o, c, m), N = w - h, k = M, L = u.zeros1d(b), B = u.zeros1d(b), T = 0, R = c + 1; T < R; ) {
8363
+ for (var b = v[0][0].length, w = S.knotSpanGivenN(t, h, s, d), P = S.knotSpanGivenN(n, c, o, m), M = S.basisFunctionsGivenKnotSpanIndex(w, s, h, d), z = S.basisFunctionsGivenKnotSpanIndex(P, o, c, m), N = w - h, k = P, L = u.zeros1d(b), B = u.zeros1d(b), T = 0, R = c + 1; T < R; ) {
8364
8364
  var F = T++;
8365
- B = u.zeros1d(b), k = M - c + F;
8365
+ B = u.zeros1d(b), k = P - c + F;
8366
8366
  for (var W = 0, D = h + 1; W < D; ) {
8367
8367
  var V = W++;
8368
- u.addMulMutate(B, P[V], v[N + V][k]);
8368
+ u.addMulMutate(B, M[V], v[N + V][k]);
8369
8369
  }
8370
8370
  u.addMulMutate(L, z[F], B);
8371
8371
  }
8372
8372
  return L;
8373
8373
  }, S.curveRegularSamplePoints = function(t, n) {
8374
- for (var r = S.curveDerivatives(t, t.knots[0], t.degree), s = 1 / n, o = s * s, h = r[0], c = u.mul(s, r[1]), v = u.mul(o * 0.5, r[2]), d = u.mul(o * s * 0.5, r[3]), m = u.add(v, v), b = u.add(d, d), w = u.mul(0.3333333333333333, d), M = [], P = 0, z = n + 1; P < z; )
8375
- P++, M.push(S.dehomogenize(h)), u.addAllMutate([h, c, v, w]), u.addAllMutate([c, m, d]), u.addAllMutate([m, b]), u.addAllMutate([v, d]);
8376
- return M;
8374
+ for (var r = S.curveDerivatives(t, t.knots[0], t.degree), s = 1 / n, o = s * s, h = r[0], c = u.mul(s, r[1]), v = u.mul(o * 0.5, r[2]), d = u.mul(o * s * 0.5, r[3]), m = u.add(v, v), b = u.add(d, d), w = u.mul(0.3333333333333333, d), P = [], M = 0, z = n + 1; M < z; )
8375
+ M++, P.push(S.dehomogenize(h)), u.addAllMutate([h, c, v, w]), u.addAllMutate([c, m, d]), u.addAllMutate([m, b]), u.addAllMutate([v, d]);
8376
+ return P;
8377
8377
  }, S.curveRegularSamplePoints2 = function(t, n) {
8378
- for (var r = S.curveDerivatives(t, t.knots[0], t.degree), s = 1 / n, o = s * s, h = r[0], c = u.mul(s, r[1]), v = u.mul(o * 0.5, r[2]), d = u.mul(o * s * 0.5, r[3]), m = u.add(v, v), b = u.add(d, d), w = u.mul(0.3333333333333333, d), M = [], P = 0, z = n + 1; P < z; )
8379
- P++, M.push(S.dehomogenize(h)), u.addAllMutate([h, c, v, w]), u.addAllMutate([c, m, d]), u.addAllMutate([m, b]), u.addAllMutate([v, d]);
8380
- return M;
8378
+ for (var r = S.curveDerivatives(t, t.knots[0], t.degree), s = 1 / n, o = s * s, h = r[0], c = u.mul(s, r[1]), v = u.mul(o * 0.5, r[2]), d = u.mul(o * s * 0.5, r[3]), m = u.add(v, v), b = u.add(d, d), w = u.mul(0.3333333333333333, d), P = [], M = 0, z = n + 1; M < z; )
8379
+ M++, P.push(S.dehomogenize(h)), u.addAllMutate([h, c, v, w]), u.addAllMutate([c, m, d]), u.addAllMutate([m, b]), u.addAllMutate([v, d]);
8380
+ return P;
8381
8381
  }, S.rationalSurfaceRegularSampleDerivatives = function(t, n, r, s) {
8382
8382
  for (var o = S.surfaceRegularSampleDerivatives(t, n, r, s), h = [], c = n + 1, v = r + 1, d = s + 1, m = 0; m < c; ) {
8383
8383
  var b = m++, w = [];
8384
8384
  h.push(w);
8385
- for (var M = 0; M < v; ) {
8386
- for (var P = M++, z = o[b][P], N = S.rational2d(z), k = S.weight2d(z), L = [], B = N[0][0].length, T = 0; T < d; ) {
8385
+ for (var P = 0; P < v; ) {
8386
+ for (var M = P++, z = o[b][M], N = S.rational2d(z), k = S.weight2d(z), L = [], B = N[0][0].length, T = 0; T < d; ) {
8387
8387
  var R = T++;
8388
8388
  L.push([]);
8389
8389
  for (var F = 0, W = d - R; F < W; ) {
@@ -8410,12 +8410,12 @@ var ii = { exports: {} };
8410
8410
  }, S.surfaceRegularSampleDerivatives = function(t, n, r, s) {
8411
8411
  var o = t.degreeU, h = t.degreeV, c = t.controlPoints, v = t.knotsU, d = t.knotsV, m = c[0][0].length;
8412
8412
  (K.last(v) - v[0]) / n, (K.last(d) - d[0]) / r;
8413
- for (var b = S.regularlySpacedDerivativeBasisFunctions(o, v, n), w = b.item0, M = b.item1, P = S.regularlySpacedDerivativeBasisFunctions(h, d, r), z = P.item0, N = P.item1, k = [], L = n + 1, B = r + 1, T = 0; T < L; ) {
8413
+ for (var b = S.regularlySpacedDerivativeBasisFunctions(o, v, n), w = b.item0, P = b.item1, M = S.regularlySpacedDerivativeBasisFunctions(h, d, r), z = M.item0, N = M.item1, k = [], L = n + 1, B = r + 1, T = 0; T < L; ) {
8414
8414
  var R = T++, F = [];
8415
8415
  k.push(F);
8416
8416
  for (var W = 0; W < B; ) {
8417
8417
  var D = W++;
8418
- F.push(S.surfaceDerivativesGivenBasesKnotSpans(o, h, c, w[R], z[D], M[R], N[D], m, s));
8418
+ F.push(S.surfaceDerivativesGivenBasesKnotSpans(o, h, c, w[R], z[D], P[R], N[D], m, s));
8419
8419
  }
8420
8420
  }
8421
8421
  return k;
@@ -8424,12 +8424,12 @@ var ii = { exports: {} };
8424
8424
  }, S.surfaceRegularSamplePoints = function(t, n, r) {
8425
8425
  var s = t.degreeU, o = t.degreeV, h = t.controlPoints, c = t.knotsU, v = t.knotsV, d = h[0][0].length;
8426
8426
  (K.last(c) - c[0]) / n, (K.last(v) - v[0]) / r;
8427
- for (var m = S.regularlySpacedBasisFunctions(s, c, n), b = m.item0, w = m.item1, M = S.regularlySpacedBasisFunctions(o, v, r), P = M.item0, z = M.item1, N = [], k = n + 1, L = r + 1, B = 0; B < k; ) {
8427
+ for (var m = S.regularlySpacedBasisFunctions(s, c, n), b = m.item0, w = m.item1, P = S.regularlySpacedBasisFunctions(o, v, r), M = P.item0, z = P.item1, N = [], k = n + 1, L = r + 1, B = 0; B < k; ) {
8428
8428
  var T = B++, R = [];
8429
8429
  N.push(R);
8430
8430
  for (var F = 0; F < L; ) {
8431
8431
  var W = F++;
8432
- R.push(S.surfacePointGivenBasesKnotSpans(s, o, h, b[T], P[W], w[T], z[W], d));
8432
+ R.push(S.surfacePointGivenBasesKnotSpans(s, o, h, b[T], M[W], w[T], z[W], d));
8433
8433
  }
8434
8434
  }
8435
8435
  return N;
@@ -8446,8 +8446,8 @@ var ii = { exports: {} };
8446
8446
  }
8447
8447
  return new qt(c, h);
8448
8448
  }, S.surfacePointGivenBasesKnotSpans = function(t, n, r, s, o, h, c, v) {
8449
- for (var d = u.zeros1d(v), m, b = s - t, w = o - n, M = 0, P = n + 1; M < P; ) {
8450
- var z = M++;
8449
+ for (var d = u.zeros1d(v), m, b = s - t, w = o - n, P = 0, M = n + 1; P < M; ) {
8450
+ var z = P++;
8451
8451
  m = u.zeros1d(v);
8452
8452
  for (var N = 0, k = t + 1; N < k; ) {
8453
8453
  var L = N++;
@@ -8461,27 +8461,27 @@ var ii = { exports: {} };
8461
8461
  d < t ? b = d : b = t;
8462
8462
  var w;
8463
8463
  d < n ? w = d : w = n;
8464
- for (var M = u.zeros3d(b + 1, w + 1, m), P = u.zeros2d(n + 1, m), z = 0, N = 0, k = b + 1; N < k; ) {
8464
+ for (var P = u.zeros3d(b + 1, w + 1, m), M = u.zeros2d(n + 1, m), z = 0, N = 0, k = b + 1; N < k; ) {
8465
8465
  for (var L = N++, B = 0, T = n + 1; B < T; ) {
8466
8466
  var R = B++;
8467
- P[R] = u.zeros1d(m);
8467
+ M[R] = u.zeros1d(m);
8468
8468
  for (var F = 0, W = t + 1; F < W; ) {
8469
8469
  var D = F++;
8470
- u.addMulMutate(P[R], h[L][D], r[s - t + D][o - n + R]);
8470
+ u.addMulMutate(M[R], h[L][D], r[s - t + D][o - n + R]);
8471
8471
  }
8472
8472
  }
8473
8473
  var V = d - L;
8474
8474
  V < w ? z = V : z = w;
8475
8475
  for (var G = 0, Q = z + 1; G < Q; ) {
8476
8476
  var J = G++;
8477
- M[L][J] = u.zeros1d(m);
8477
+ P[L][J] = u.zeros1d(m);
8478
8478
  for (var et = 0, it = n + 1; et < it; ) {
8479
8479
  var nt = et++;
8480
- u.addMulMutate(M[L][J], c[J][nt], P[nt]);
8480
+ u.addMulMutate(P[L][J], c[J][nt], M[nt]);
8481
8481
  }
8482
8482
  }
8483
8483
  }
8484
- return M;
8484
+ return P;
8485
8485
  }, S.curveDerivatives = function(t, n, r) {
8486
8486
  var s = t.knots.length - t.degree - 2;
8487
8487
  return S.curveDerivativesGivenN(s, t, n, r);
@@ -8490,8 +8490,8 @@ var ii = { exports: {} };
8490
8490
  if (!S.areValidRelations(o, h.length, c.length)) throw new X("Invalid relations between control points, knot vector, and n");
8491
8491
  var v = h[0].length, d;
8492
8492
  s < o ? d = s : d = o;
8493
- for (var m = u.zeros2d(s + 1, v), b = S.knotSpanGivenN(t, o, r, c), w = S.derivativeBasisFunctionsGivenNI(b, r, o, d, c), M = 0, P = d + 1; M < P; )
8494
- for (var z = M++, N = 0, k = o + 1; N < k; ) {
8493
+ for (var m = u.zeros2d(s + 1, v), b = S.knotSpanGivenN(t, o, r, c), w = S.derivativeBasisFunctionsGivenNI(b, r, o, d, c), P = 0, M = d + 1; P < M; )
8494
+ for (var z = P++, N = 0, k = o + 1; N < k; ) {
8495
8495
  var L = N++;
8496
8496
  u.addMulMutate(m[z], w[z][L], h[b - o + L]);
8497
8497
  }
@@ -8515,7 +8515,7 @@ var ii = { exports: {} };
8515
8515
  return S.volumePointGivenNML(t, o, h, c, n, r, s);
8516
8516
  }, S.volumePointGivenNML = function(t, n, r, s, o, h, c) {
8517
8517
  if (!S.areValidRelations(t.degreeU, t.controlPoints.length, t.knotsU.length) || !S.areValidRelations(t.degreeV, t.controlPoints[0].length, t.knotsV.length) || !S.areValidRelations(t.degreeW, t.controlPoints[0][0].length, t.knotsW.length)) throw new X("Invalid relations between control points and knot vector");
8518
- for (var v = t.controlPoints, d = t.degreeU, m = t.degreeV, b = t.degreeW, w = t.knotsU, M = t.knotsV, P = t.knotsW, z = v[0][0][0].length, N = S.knotSpanGivenN(n, d, o, w), k = S.knotSpanGivenN(r, m, h, M), L = S.knotSpanGivenN(s, b, c, P), B = S.basisFunctionsGivenKnotSpanIndex(N, o, d, w), T = S.basisFunctionsGivenKnotSpanIndex(k, h, m, M), R = S.basisFunctionsGivenKnotSpanIndex(L, c, b, P), F = N - d, W = u.zeros1d(z), D = u.zeros1d(z), V = u.zeros1d(z), G = 0, Q = b + 1; G < Q; ) {
8518
+ for (var v = t.controlPoints, d = t.degreeU, m = t.degreeV, b = t.degreeW, w = t.knotsU, P = t.knotsV, M = t.knotsW, z = v[0][0][0].length, N = S.knotSpanGivenN(n, d, o, w), k = S.knotSpanGivenN(r, m, h, P), L = S.knotSpanGivenN(s, b, c, M), B = S.basisFunctionsGivenKnotSpanIndex(N, o, d, w), T = S.basisFunctionsGivenKnotSpanIndex(k, h, m, P), R = S.basisFunctionsGivenKnotSpanIndex(L, c, b, M), F = N - d, W = u.zeros1d(z), D = u.zeros1d(z), V = u.zeros1d(z), G = 0, Q = b + 1; G < Q; ) {
8519
8519
  var J = G++;
8520
8520
  V = u.zeros1d(z);
8521
8521
  for (var et = L - b + J, it = 0, nt = m + 1; it < nt; ) {
@@ -8537,13 +8537,13 @@ var ii = { exports: {} };
8537
8537
  var h = u.zeros2d(r + 1, r + 1), c = u.zeros1d(r + 1), v = u.zeros1d(r + 1), d = 0, m = 0;
8538
8538
  h[0][0] = 1;
8539
8539
  for (var b = 1, w = r + 1; b < w; ) {
8540
- var M = b++;
8541
- c[M] = n - o[t + 1 - M], v[M] = o[t + M] - n, d = 0;
8542
- for (var P = 0; P < M; ) {
8543
- var z = P++;
8544
- h[M][z] = v[z + 1] + c[M - z], m = h[z][M - 1] / h[M][z], h[z][M] = d + v[z + 1] * m, d = c[M - z] * m;
8540
+ var P = b++;
8541
+ c[P] = n - o[t + 1 - P], v[P] = o[t + P] - n, d = 0;
8542
+ for (var M = 0; M < P; ) {
8543
+ var z = M++;
8544
+ h[P][z] = v[z + 1] + c[P - z], m = h[z][P - 1] / h[P][z], h[z][P] = d + v[z + 1] * m, d = c[P - z] * m;
8545
8545
  }
8546
- h[M][M] = d;
8546
+ h[P][P] = d;
8547
8547
  }
8548
8548
  for (var N = u.zeros2d(s + 1, r + 1), k = u.zeros2d(2, r + 1), L = 0, B = 1, T = 0, R = 0, F = 0, W = 0, D = 0, V = 0, G = r + 1; V < G; ) {
8549
8549
  var Q = V++;
@@ -8581,9 +8581,9 @@ var ii = { exports: {} };
8581
8581
  for (var m = 1, b = r + 1; m < b; ) {
8582
8582
  var w = m++;
8583
8583
  h[w] = n - s[t + 1 - w], c[w] = s[t + w] - n, v = 0;
8584
- for (var M = 0; M < w; ) {
8585
- var P = M++;
8586
- d = o[P] / (c[P + 1] + h[w - P]), o[P] = v + c[P + 1] * d, v = h[w - P] * d;
8584
+ for (var P = 0; P < w; ) {
8585
+ var M = P++;
8586
+ d = o[M] / (c[M + 1] + h[w - M]), o[M] = v + c[M + 1] * d, v = h[w - M] * d;
8587
8587
  }
8588
8588
  o[w] = v;
8589
8589
  }
@@ -8627,8 +8627,8 @@ var ii = { exports: {} };
8627
8627
  var m = d++, b = [];
8628
8628
  c = t[m], h = v[m];
8629
8629
  for (var w = 0; w < s; ) {
8630
- var M = w++;
8631
- b.push(c[M] * h);
8630
+ var P = w++;
8631
+ b.push(c[P] * h);
8632
8632
  }
8633
8633
  b.push(h), o.push(b);
8634
8634
  }
@@ -8650,7 +8650,7 @@ var ii = { exports: {} };
8650
8650
  var rt = f.eval.Intersect = function() {
8651
8651
  };
8652
8652
  y["verb.eval.Intersect"] = rt, rt.__name__ = ["verb", "eval", "Intersect"], rt.surfaces = function(t, n, r) {
8653
- var s = Pt.rationalSurfaceAdaptive(t), o = Pt.rationalSurfaceAdaptive(n), h = rt.meshes(s, o), c = h.map(function(v) {
8653
+ var s = Mt.rationalSurfaceAdaptive(t), o = Mt.rationalSurfaceAdaptive(n), h = rt.meshes(s, o), c = h.map(function(v) {
8654
8654
  return v.map(function(d) {
8655
8655
  return rt.surfacesAtPointWithEstimate(t, n, d.uv0, d.uv1, r);
8656
8656
  });
@@ -8661,15 +8661,15 @@ var ii = { exports: {} };
8661
8661
  }), 3);
8662
8662
  });
8663
8663
  }, rt.surfacesAtPointWithEstimate = function(t, n, r, s, o) {
8664
- var h, c, v, d, m, b, w, M, P, z, N, k, L, B = 5, T = 0;
8664
+ var h, c, v, d, m, b, w, P, M, z, N, k, L, B = 5, T = 0;
8665
8665
  do {
8666
- if (h = S.rationalSurfaceDerivatives(t, r[0], r[1], 1), c = h[0][0], d = h[1][0], m = h[0][1], v = u.normalized(u.cross(d, m)), b = u.dot(v, c), w = S.rationalSurfaceDerivatives(n, s[0], s[1], 1), M = w[0][0], z = w[1][0], N = w[0][1], P = u.normalized(u.cross(z, N)), k = u.dot(P, M), L = u.distSquared(c, M), L < o * o) break;
8667
- var R = u.normalized(u.cross(v, P)), F = u.dot(R, c), W = rt.threePlanes(v, b, P, k, R, F);
8666
+ if (h = S.rationalSurfaceDerivatives(t, r[0], r[1], 1), c = h[0][0], d = h[1][0], m = h[0][1], v = u.normalized(u.cross(d, m)), b = u.dot(v, c), w = S.rationalSurfaceDerivatives(n, s[0], s[1], 1), P = w[0][0], z = w[1][0], N = w[0][1], M = u.normalized(u.cross(z, N)), k = u.dot(M, P), L = u.distSquared(c, P), L < o * o) break;
8667
+ var R = u.normalized(u.cross(v, M)), F = u.dot(R, c), W = rt.threePlanes(v, b, M, k, R, F);
8668
8668
  if (W == null) throw new X("panic!");
8669
- var D = u.sub(W, c), V = u.sub(W, M), G = u.cross(d, v), Q = u.cross(m, v), J = u.cross(z, P), et = u.cross(N, P), it = u.dot(Q, D) / u.dot(Q, d), nt = u.dot(G, D) / u.dot(G, m), st = u.dot(et, V) / u.dot(et, z), tt = u.dot(J, V) / u.dot(J, N);
8669
+ var D = u.sub(W, c), V = u.sub(W, P), G = u.cross(d, v), Q = u.cross(m, v), J = u.cross(z, M), et = u.cross(N, M), it = u.dot(Q, D) / u.dot(Q, d), nt = u.dot(G, D) / u.dot(G, m), st = u.dot(et, V) / u.dot(et, z), tt = u.dot(J, V) / u.dot(J, N);
8670
8670
  r = u.add([it, nt], r), s = u.add([st, tt], s), T++;
8671
8671
  } while (T < B);
8672
- return new Pn(r, s, c, L);
8672
+ return new Mn(r, s, c, L);
8673
8673
  }, rt.meshes = function(t, n, r, s) {
8674
8674
  r == null && (r = new Ce(t)), s == null && (s = new Ce(n));
8675
8675
  var o = rt.boundingBoxTrees(r, s, 0), h = K.unique(o.map(function(c) {
@@ -8679,15 +8679,15 @@ var ii = { exports: {} };
8679
8679
  }).filter(function(c) {
8680
8680
  return u.distSquared(c.min.point, c.max.point) > $.EPSILON;
8681
8681
  }), function(c, v) {
8682
- var d = u.sub(c.min.uv0, v.min.uv0), m = u.dot(d, d), b = u.sub(c.max.uv0, v.max.uv0), w = u.dot(b, b), M = u.sub(c.min.uv0, v.max.uv0), P = u.dot(M, M), z = u.sub(c.max.uv0, v.min.uv0), N = u.dot(z, z);
8683
- return m < $.EPSILON && w < $.EPSILON || P < $.EPSILON && N < $.EPSILON;
8682
+ var d = u.sub(c.min.uv0, v.min.uv0), m = u.dot(d, d), b = u.sub(c.max.uv0, v.max.uv0), w = u.dot(b, b), P = u.sub(c.min.uv0, v.max.uv0), M = u.dot(P, P), z = u.sub(c.max.uv0, v.min.uv0), N = u.dot(z, z);
8683
+ return m < $.EPSILON && w < $.EPSILON || M < $.EPSILON && N < $.EPSILON;
8684
8684
  });
8685
8685
  return rt.makeMeshIntersectionPolylines(h);
8686
8686
  }, rt.meshSlices = function(t, n, r, s) {
8687
- for (var o = new Fe(t), h = o.boundingBox(), c = h.min[0], v = h.min[1], d = h.max[0], m = h.max[1], b = u.span(n, r, s), w = [], M = 0; M < b.length; ) {
8688
- var P = b[M];
8689
- ++M;
8690
- var z = [[c, v, P], [d, v, P], [d, m, P], [c, m, P]], N = [[0, 0], [1, 0], [1, 1], [0, 1]], k = [[0, 1, 2], [0, 2, 3]], L = new fe(k, z, null, N);
8687
+ for (var o = new Fe(t), h = o.boundingBox(), c = h.min[0], v = h.min[1], d = h.max[0], m = h.max[1], b = u.span(n, r, s), w = [], P = 0; P < b.length; ) {
8688
+ var M = b[P];
8689
+ ++P;
8690
+ var z = [[c, v, M], [d, v, M], [d, m, M], [c, m, M]], N = [[0, 0], [1, 0], [1, 1], [0, 1]], k = [[0, 1, 2], [0, 2, 3]], L = new fe(k, z, null, N);
8691
8691
  w.push(rt.meshes(t, L, o));
8692
8692
  }
8693
8693
  return w;
@@ -8712,15 +8712,15 @@ var ii = { exports: {} };
8712
8712
  return B.adj == null;
8713
8713
  });
8714
8714
  b.length == 0 && (b = o);
8715
- for (var w = [], M = 0, P = !1; b.length != 0; ) {
8715
+ for (var w = [], P = 0, M = !1; b.length != 0; ) {
8716
8716
  var z = b.pop();
8717
8717
  if (!z.visited) {
8718
- for (var N = [], k = z; k != null && !(k.visited || (k.visited = !0, k.opp.visited = !0, N.push(k), M += 2, k = k.opp.adj, k == z)); )
8718
+ for (var N = [], k = z; k != null && !(k.visited || (k.visited = !0, k.opp.visited = !0, N.push(k), P += 2, k = k.opp.adj, k == z)); )
8719
8719
  ;
8720
8720
  N.length > 0 && (N.push(N[N.length - 1].opp), w.push(N));
8721
8721
  }
8722
- if (b.length == 0 && o.length > 0 && (P || M < o.length)) {
8723
- P = !0;
8722
+ if (b.length == 0 && o.length > 0 && (M || P < o.length)) {
8723
+ M = !0;
8724
8724
  var L = o.pop();
8725
8725
  b.push(L);
8726
8726
  }
@@ -8743,7 +8743,7 @@ var ii = { exports: {} };
8743
8743
  r == null && (r = 1e-3), s != null ? s = s : s = new Se(t), o != null ? o = o : o = new De(n);
8744
8744
  var h = rt.boundingBoxTrees(s, o, r);
8745
8745
  return K.unique(h.map(function(c) {
8746
- var v = c.item0, d = c.item1, m = K.first(v.knots), b = K.last(v.knots), w = (m + b) / 2, M = K.first(d.knotsU), P = K.last(d.knotsU), z = K.first(d.knotsV), N = K.last(d.knotsV), k = [(M + P) / 2, (z + N) / 2];
8746
+ var v = c.item0, d = c.item1, m = K.first(v.knots), b = K.last(v.knots), w = (m + b) / 2, P = K.first(d.knotsU), M = K.last(d.knotsU), z = K.first(d.knotsV), N = K.last(d.knotsV), k = [(P + M) / 2, (z + N) / 2];
8747
8747
  return rt.curveAndSurfaceWithEstimate(v, d, [w].concat(k), r);
8748
8748
  }).filter(function(c) {
8749
8749
  return u.distSquared(c.curvePoint, c.surfacePoint) < r * r;
@@ -8756,8 +8756,8 @@ var ii = { exports: {} };
8756
8756
  var m = S.rationalCurvePoint(t, d[0]), b = S.rationalSurfacePoint(n, d[1], d[2]), w = u.sub(m, b);
8757
8757
  return u.dot(w, w);
8758
8758
  }, h = function(d) {
8759
- var m = S.rationalCurveDerivatives(t, d[0], 1), b = S.rationalSurfaceDerivatives(n, d[1], d[2], 1), w = u.sub(b[0][0], m[0]), M = u.mul(-1, m[1]), P = b[1][0], z = b[0][1];
8760
- return [2 * u.dot(M, w), 2 * u.dot(P, w), 2 * u.dot(z, w)];
8759
+ var m = S.rationalCurveDerivatives(t, d[0], 1), b = S.rationalSurfaceDerivatives(n, d[1], d[2], 1), w = u.sub(b[0][0], m[0]), P = u.mul(-1, m[1]), M = b[1][0], z = b[0][1];
8760
+ return [2 * u.dot(P, w), 2 * u.dot(M, w), 2 * u.dot(z, w)];
8761
8761
  }, c = me.uncmin(o, r, s * s, h), v = c.solution;
8762
8762
  return new xn(v[0], [v[1], v[2]], S.rationalCurvePoint(t, v[0]), S.rationalSurfacePoint(n, v[1], v[2]));
8763
8763
  }, rt.polylineAndMesh = function(t, n, r) {
@@ -8766,8 +8766,8 @@ var ii = { exports: {} };
8766
8766
  ++h;
8767
8767
  var v = c.item0, d = c.item1, m = rt.segmentWithTriangle(t.points[v], t.points[v + 1], n.points, n.faces[d]);
8768
8768
  if (m != null) {
8769
- var b = m.point, w = u.lerp(m.p, [t.params[v]], [t.params[v + 1]])[0], M = Gt.triangleUVFromPoint(n, d, b);
8770
- o.push(new Mn(b, w, M, v, d));
8769
+ var b = m.point, w = u.lerp(m.p, [t.params[v]], [t.params[v + 1]])[0], P = Gt.triangleUVFromPoint(n, d, b);
8770
+ o.push(new Pn(b, w, P, v, d));
8771
8771
  }
8772
8772
  }
8773
8773
  return o;
@@ -8791,8 +8791,8 @@ var ii = { exports: {} };
8791
8791
  s.push(w.item1), o.push(v), s.push(w.item0), o.push(v);
8792
8792
  continue;
8793
8793
  }
8794
- var M = c.split(), P = v.split();
8795
- s.push(M.item1), o.push(P.item1), s.push(M.item1), o.push(P.item0), s.push(M.item0), o.push(P.item1), s.push(M.item0), o.push(P.item0);
8794
+ var P = c.split(), M = v.split();
8795
+ s.push(P.item1), o.push(M.item1), s.push(P.item1), o.push(M.item0), s.push(P.item0), o.push(M.item1), s.push(P.item0), o.push(M.item0);
8796
8796
  }
8797
8797
  }
8798
8798
  return h;
@@ -8806,11 +8806,11 @@ var ii = { exports: {} };
8806
8806
  return Math.abs(o.u0 - h.u0) < r * 5;
8807
8807
  });
8808
8808
  }, rt.curvesWithEstimate = function(t, n, r, s, o) {
8809
- var h = function(M) {
8810
- var P = S.rationalCurvePoint(t, M[0]), z = S.rationalCurvePoint(n, M[1]), N = u.sub(P, z);
8809
+ var h = function(P) {
8810
+ var M = S.rationalCurvePoint(t, P[0]), z = S.rationalCurvePoint(n, P[1]), N = u.sub(M, z);
8811
8811
  return u.dot(N, N);
8812
- }, c = function(M) {
8813
- var P = S.rationalCurveDerivatives(t, M[0], 1), z = S.rationalCurveDerivatives(n, M[1], 1), N = u.sub(P[0], z[0]), k = P[1], L = u.mul(-1, z[1]);
8812
+ }, c = function(P) {
8813
+ var M = S.rationalCurveDerivatives(t, P[0], 1), z = S.rationalCurveDerivatives(n, P[1], 1), N = u.sub(M[0], z[0]), k = M[1], L = u.mul(-1, z[1]);
8814
8814
  return [2 * u.dot(k, N), 2 * u.dot(L, N)];
8815
8815
  }, v = me.uncmin(h, [r, s], o * o, c), d = v.solution[0], m = v.solution[1], b = S.rationalCurvePoint(t, d), w = S.rationalCurvePoint(n, m);
8816
8816
  return new Ye(b, w, d, m);
@@ -8819,16 +8819,16 @@ var ii = { exports: {} };
8819
8819
  if (b == null) return null;
8820
8820
  var w = rt.clipRayInCoplanarTriangle(b, t, n);
8821
8821
  if (w == null) return null;
8822
- var M = rt.clipRayInCoplanarTriangle(b, r, s);
8823
- if (M == null) return null;
8824
- var P = rt.mergeTriangleClipIntervals(w, M, t, n, r, s);
8825
- return P == null ? null : new ee(new Ve(P.min.uv0, P.min.uv1, P.min.point, n, s), new Ve(P.max.uv0, P.max.uv1, P.max.point, n, s));
8822
+ var P = rt.clipRayInCoplanarTriangle(b, r, s);
8823
+ if (P == null) return null;
8824
+ var M = rt.mergeTriangleClipIntervals(w, P, t, n, r, s);
8825
+ return M == null ? null : new ee(new Ve(M.min.uv0, M.min.uv1, M.min.point, n, s), new Ve(M.max.uv0, M.max.uv1, M.max.point, n, s));
8826
8826
  }, rt.clipRayInCoplanarTriangle = function(t, n, r) {
8827
- for (var s = n.faces[r], o = [n.points[s[0]], n.points[s[1]], n.points[s[2]]], h = [n.uvs[s[0]], n.uvs[s[1]], n.uvs[s[2]]], c = [u.sub(h[1], h[0]), u.sub(h[2], h[1]), u.sub(h[0], h[2])], v = [u.sub(o[1], o[0]), u.sub(o[2], o[1]), u.sub(o[0], o[2])], d = v.map(u.normalized), m = v.map(u.norm), b = null, w = null, M = 0; M < 3; ) {
8828
- var P = M++, z = o[P], N = d[P], k = rt.rays(z, N, t.origin, t.dir);
8827
+ for (var s = n.faces[r], o = [n.points[s[0]], n.points[s[1]], n.points[s[2]]], h = [n.uvs[s[0]], n.uvs[s[1]], n.uvs[s[2]]], c = [u.sub(h[1], h[0]), u.sub(h[2], h[1]), u.sub(h[0], h[2])], v = [u.sub(o[1], o[0]), u.sub(o[2], o[1]), u.sub(o[0], o[2])], d = v.map(u.normalized), m = v.map(u.norm), b = null, w = null, P = 0; P < 3; ) {
8828
+ var M = P++, z = o[M], N = d[M], k = rt.rays(z, N, t.origin, t.dir);
8829
8829
  if (k != null) {
8830
8830
  var L = k.u0, B = k.u1;
8831
- L < -$.EPSILON || L > m[P] + $.EPSILON || ((b == null || B < b.u) && (b = new sn(B, u.onRay(t.origin, t.dir, B), u.onRay(h[P], c[P], L / m[P]))), (w == null || B > w.u) && (w = new sn(B, u.onRay(t.origin, t.dir, B), u.onRay(h[P], c[P], L / m[P]))));
8831
+ L < -$.EPSILON || L > m[M] + $.EPSILON || ((b == null || B < b.u) && (b = new sn(B, u.onRay(t.origin, t.dir, B), u.onRay(h[M], c[M], L / m[M]))), (w == null || B > w.u) && (w = new sn(B, u.onRay(t.origin, t.dir, B), u.onRay(h[M], c[M], L / m[M]))));
8832
8832
  }
8833
8833
  }
8834
8834
  return w == null || b == null ? null : new ee(b, w);
@@ -8845,9 +8845,9 @@ var ii = { exports: {} };
8845
8845
  if (u.dot(o, o) < $.EPSILON) return null;
8846
8846
  var h = 0, c = Math.abs(o[0]), v = Math.abs(o[1]), d = Math.abs(o[2]);
8847
8847
  v > c && (h = 1, c = v), d > c && (h = 2, c = d);
8848
- var m, b, w, M;
8849
- h == 0 ? (m = n[1], b = n[2], w = s[1], M = s[2]) : h == 1 ? (m = n[0], b = n[2], w = s[0], M = s[2]) : (m = n[0], b = n[1], w = s[0], M = s[1]);
8850
- var P = -u.dot(t, n), z = -u.dot(r, s), N = m * M - b * w, k = (b * z - P * M) / N, L = (P * w - m * z) / N, B;
8848
+ var m, b, w, P;
8849
+ h == 0 ? (m = n[1], b = n[2], w = s[1], P = s[2]) : h == 1 ? (m = n[0], b = n[2], w = s[0], P = s[2]) : (m = n[0], b = n[1], w = s[0], P = s[1]);
8850
+ var M = -u.dot(t, n), z = -u.dot(r, s), N = m * P - b * w, k = (b * z - M * P) / N, L = (M * w - m * z) / N, B;
8851
8851
  return h == 0 ? B = [0, k, L] : h == 1 ? B = [k, 0, L] : B = [k, L, 0], new rn(B, u.normalized(o));
8852
8852
  }, rt.threePlanes = function(t, n, r, s, o, h) {
8853
8853
  var c = u.cross(r, o), v = u.dot(t, c);
@@ -8865,19 +8865,19 @@ var ii = { exports: {} };
8865
8865
  }, rt.segments = function(t, n, r, s, o) {
8866
8866
  var h = u.sub(n, t), c = Math.sqrt(u.dot(h, h)), v = u.mul(1 / c, h), d = u.sub(s, r), m = Math.sqrt(u.dot(d, d)), b = u.mul(1 / m, d), w = rt.rays(t, v, r, b);
8867
8867
  if (w != null) {
8868
- var M = Math.min(Math.max(0, w.u0 / c), 1), P = Math.min(Math.max(0, w.u1 / m), 1), z = u.onRay(t, h, M), N = u.onRay(r, d, P), k = u.distSquared(z, N);
8869
- if (k < o * o) return new Ye(z, N, M, P);
8868
+ var P = Math.min(Math.max(0, w.u0 / c), 1), M = Math.min(Math.max(0, w.u1 / m), 1), z = u.onRay(t, h, P), N = u.onRay(r, d, M), k = u.distSquared(z, N);
8869
+ if (k < o * o) return new Ye(z, N, P, M);
8870
8870
  }
8871
8871
  return null;
8872
8872
  }, rt.rays = function(t, n, r, s) {
8873
8873
  var o = u.dot(n, s), h = u.dot(n, r), c = u.dot(n, t), v = u.dot(s, r), d = u.dot(s, t), m = u.dot(n, n), b = u.dot(s, s), w = m * b - o * o;
8874
8874
  if (Math.abs(w) < $.EPSILON) return null;
8875
- var M = o * (h - c) - m * (v - d), P = M / w, z = (h - c + P * o) / m, N = u.onRay(t, n, z), k = u.onRay(r, s, P);
8876
- return new Ye(N, k, z, P);
8875
+ var P = o * (h - c) - m * (v - d), M = P / w, z = (h - c + M * o) / m, N = u.onRay(t, n, z), k = u.onRay(r, s, M);
8876
+ return new Ye(N, k, z, M);
8877
8877
  }, rt.segmentWithTriangle = function(t, n, r, s) {
8878
- var o = r[s[0]], h = r[s[1]], c = r[s[2]], v = u.sub(h, o), d = u.sub(c, o), m = u.cross(v, d), b = u.sub(n, t), w = u.sub(t, o), M = -u.dot(m, w), P = u.dot(m, b);
8879
- if (Math.abs(P) < $.EPSILON) return null;
8880
- var z = M / P;
8878
+ var o = r[s[0]], h = r[s[1]], c = r[s[2]], v = u.sub(h, o), d = u.sub(c, o), m = u.cross(v, d), b = u.sub(n, t), w = u.sub(t, o), P = -u.dot(m, w), M = u.dot(m, b);
8879
+ if (Math.abs(M) < $.EPSILON) return null;
8880
+ var z = P / M;
8881
8881
  if (z < 0 || z > 1) return null;
8882
8882
  var N = u.add(t, u.mul(z, b)), k = u.dot(v, d), L = u.dot(v, v), B = u.dot(d, d), T = u.sub(N, o), R = u.dot(T, v), F = u.dot(T, d), W = k * k - L * B;
8883
8883
  if (Math.abs(W) < $.EPSILON) return null;
@@ -8917,22 +8917,22 @@ var ii = { exports: {} };
8917
8917
  c >= 0 && (b = b - h[c].mult);
8918
8918
  var w;
8919
8919
  b > 0 ? w = ct.surfaceKnotRefine(t, u.rep(b, n), r) : w = t;
8920
- var M = S.knotSpan(o, n, s);
8921
- return Math.abs(n - K.first(s)) < $.EPSILON ? M = 0 : Math.abs(n - K.last(s)) < $.EPSILON && (M = (r ? w.controlPoints[0].length : w.controlPoints.length) - 1), r ? new kt(w.degreeU, w.knotsU, function(P) {
8920
+ var P = S.knotSpan(o, n, s);
8921
+ return Math.abs(n - K.first(s)) < $.EPSILON ? P = 0 : Math.abs(n - K.last(s)) < $.EPSILON && (P = (r ? w.controlPoints[0].length : w.controlPoints.length) - 1), r ? new kt(w.degreeU, w.knotsU, function(M) {
8922
8922
  for (var z, N = [], k = 0, L = w.controlPoints; k < L.length; ) {
8923
8923
  var B = L[k];
8924
- ++k, N.push(B[M]);
8924
+ ++k, N.push(B[P]);
8925
8925
  }
8926
8926
  return z = N, z;
8927
- }()) : new kt(w.degreeV, w.knotsV, w.controlPoints[M]);
8927
+ }()) : new kt(w.degreeV, w.knotsV, w.controlPoints[P]);
8928
8928
  }, ot.loftedSurface = function(t, n) {
8929
8929
  t = ct.unifyCurveKnotVectors(t);
8930
8930
  var r = t[0].degree;
8931
8931
  n == null && (n = 3), n > t.length - 1 && (n = t.length - 1);
8932
8932
  for (var s = t[0].knots, o = [], h = [], c = 0, v = t[0].controlPoints.length; c < v; ) {
8933
8933
  var d = [c++], m = t.map(/* @__PURE__ */ function(w) {
8934
- return function(M) {
8935
- return M.controlPoints[w[0]];
8934
+ return function(P) {
8935
+ return P.controlPoints[w[0]];
8936
8936
  };
8937
8937
  }(d)), b = ot.rationalInterpCurve(m, n, !0);
8938
8938
  h.push(b.controlPoints), o = b.knots;
@@ -8951,8 +8951,8 @@ var ii = { exports: {} };
8951
8951
  }, ot.fourPointSurface = function(t, n, r, s, o) {
8952
8952
  o == null && (o = 3);
8953
8953
  for (var h = o, c = [], v = 0, d = o + 1; v < d; ) {
8954
- for (var m = v++, b = [], w = 0, M = o + 1; w < M; ) {
8955
- var P = w++, z = 1 - m / h, N = u.lerp(z, t, n), k = u.lerp(z, s, r), L = u.lerp(1 - P / h, N, k);
8954
+ for (var m = v++, b = [], w = 0, P = o + 1; w < P; ) {
8955
+ var M = w++, z = 1 - m / h, N = u.lerp(z, t, n), k = u.lerp(z, s, r), L = u.lerp(1 - M / h, N, k);
8956
8956
  L.push(1), b.push(L);
8957
8957
  }
8958
8958
  c.push(b);
@@ -8964,15 +8964,15 @@ var ii = { exports: {} };
8964
8964
  n = u.normalized(n), r = u.normalized(r), o < s && (o = 2 * Math.PI + s);
8965
8965
  var v = o - s, d = 0;
8966
8966
  v <= Math.PI / 2 ? d = 1 : v <= Math.PI ? d = 2 : v <= 3 * Math.PI / 2 ? d = 3 : d = 4;
8967
- var m = v / d, b = Math.cos(m / 2), w = u.add(t, u.add(u.mul(h * Math.cos(s), n), u.mul(c * Math.sin(s), r))), M = u.sub(u.mul(Math.cos(s), r), u.mul(Math.sin(s), n)), P = [], z = u.zeros1d(2 * d + 3), N = 0, k = s, L = u.zeros1d(d * 2);
8968
- P[0] = w, L[0] = 1;
8967
+ var m = v / d, b = Math.cos(m / 2), w = u.add(t, u.add(u.mul(h * Math.cos(s), n), u.mul(c * Math.sin(s), r))), P = u.sub(u.mul(Math.cos(s), r), u.mul(Math.sin(s), n)), M = [], z = u.zeros1d(2 * d + 3), N = 0, k = s, L = u.zeros1d(d * 2);
8968
+ M[0] = w, L[0] = 1;
8969
8969
  for (var B = 1, T = d + 1; B < T; ) {
8970
8970
  var R = B++;
8971
8971
  k += m;
8972
8972
  var F = u.add(t, u.add(u.mul(h * Math.cos(k), n), u.mul(c * Math.sin(k), r)));
8973
- L[N + 2] = 1, P[N + 2] = F;
8974
- var W = u.sub(u.mul(Math.cos(k), r), u.mul(Math.sin(k), n)), D = rt.rays(w, u.mul(1 / u.norm(M), M), F, u.mul(1 / u.norm(W), W)), V = u.add(w, u.mul(D.u0, M));
8975
- L[N + 1] = b, P[N + 1] = V, N += 2, R < d && (w = F, M = W);
8973
+ L[N + 2] = 1, M[N + 2] = F;
8974
+ var W = u.sub(u.mul(Math.cos(k), r), u.mul(Math.sin(k), n)), D = rt.rays(w, u.mul(1 / u.norm(P), P), F, u.mul(1 / u.norm(W), W)), V = u.add(w, u.mul(D.u0, P));
8975
+ L[N + 1] = b, M[N + 1] = V, N += 2, R < d && (w = F, P = W);
8976
8976
  }
8977
8977
  for (var G = 2 * d + 1, Q = 0; Q < 3; ) {
8978
8978
  var J = Q++;
@@ -8989,7 +8989,7 @@ var ii = { exports: {} };
8989
8989
  z[3] = z[4] = 0.25, z[5] = z[6] = 0.5, z[7] = z[8] = 0.75;
8990
8990
  break;
8991
8991
  }
8992
- return new kt(2, z, S.homogenize1d(P, L));
8992
+ return new kt(2, z, S.homogenize1d(M, L));
8993
8993
  }, ot.arc = function(t, n, r, s, o, h) {
8994
8994
  return ot.ellipseArc(t, u.mul(s, u.normalized(n)), u.mul(s, u.normalized(r)), o, h);
8995
8995
  }, ot.polyline = function(t) {
@@ -9017,9 +9017,9 @@ var ii = { exports: {} };
9017
9017
  var w = b++;
9018
9018
  v[w] = 0, v[m + w] = 1;
9019
9019
  }
9020
- for (var M = Math.cos(d / 2), P = 0, z = u.zeros1d(c + 1), N = u.zeros1d(c + 1), k = u.zeros3d(2 * c + 1, o.length, 3), L = u.zeros2d(2 * c + 1, o.length), B = 1, T = c + 1; B < T; ) {
9020
+ for (var P = Math.cos(d / 2), M = 0, z = u.zeros1d(c + 1), N = u.zeros1d(c + 1), k = u.zeros3d(2 * c + 1, o.length, 3), L = u.zeros2d(2 * c + 1, o.length), B = 1, T = c + 1; B < T; ) {
9021
9021
  var R = B++;
9022
- P += d, N[R] = Math.cos(P), z[R] = Math.sin(P);
9022
+ M += d, N[R] = Math.cos(M), z[R] = Math.sin(M);
9023
9023
  }
9024
9024
  for (var F = 0, W = o.length; F < W; ) {
9025
9025
  var D = F++, V = he.rayClosestPoint(o[D], n, r), G = u.sub(o[D], V), Q = u.norm(G), J = u.cross(r, G);
@@ -9035,7 +9035,7 @@ var ii = { exports: {} };
9035
9035
  var mt = rt.rays(et, u.mul(1 / u.norm(it), it), O, u.mul(1 / u.norm(lt), lt)), It = u.add(et, u.mul(mt.u0, it));
9036
9036
  k[nt + 1][D] = It;
9037
9037
  }
9038
- L[nt + 1][D] = M * h[D], nt += 2, at < c && (et = O, it = lt);
9038
+ L[nt + 1][D] = P * h[D], nt += 2, at < c && (et = O, it = lt);
9039
9039
  }
9040
9040
  }
9041
9041
  return new Ot(2, t.degree, v, t.knots, S.homogenize2d(k, L));
@@ -9051,8 +9051,8 @@ var ii = { exports: {} };
9051
9051
  var d = c++, m = u.norm(u.sub(t[d], t[d - 1])), b = h[h.length - 1];
9052
9052
  h.push(b + m);
9053
9053
  }
9054
- for (var w = h[h.length - 1], M = 0, P = h.length; M < P; ) {
9055
- var z = M++;
9054
+ for (var w = h[h.length - 1], P = 0, M = h.length; P < M; ) {
9055
+ var z = P++;
9056
9056
  h[z] = h[z] / w;
9057
9057
  }
9058
9058
  var N = u.rep(n + 1, 0), k = s != null && o != null, L;
@@ -9139,19 +9139,19 @@ var ii = { exports: {} };
9139
9139
  }
9140
9140
  h = c;
9141
9141
  for (var m = 0, b = t.length; m < b; ) {
9142
- var w = m++, M = [h[w].min];
9142
+ var w = m++, P = [h[w].min];
9143
9143
  t[w].knots = t[w].knots.map(/* @__PURE__ */ function(V) {
9144
9144
  return function(G) {
9145
9145
  return G - V[0];
9146
9146
  };
9147
- }(M));
9147
+ }(P));
9148
9148
  }
9149
- for (var P = h.map(function(V) {
9149
+ for (var M = h.map(function(V) {
9150
9150
  return V.max - V.min;
9151
- }), z = q.fold(P, function(V, G) {
9151
+ }), z = q.fold(M, function(V, G) {
9152
9152
  return Math.max(V, G);
9153
9153
  }, 0), N = 0, k = t.length; N < k; ) {
9154
- var L = N++, B = [z / P[L]];
9154
+ var L = N++, B = [z / M[L]];
9155
9155
  t[L].knots = t[L].knots.map(/* @__PURE__ */ function(V) {
9156
9156
  return function(G) {
9157
9157
  return G * V[0];
@@ -9171,21 +9171,21 @@ var ii = { exports: {} };
9171
9171
  return t > n ? t : n;
9172
9172
  }, ct.curveElevateDegree = function(t, n) {
9173
9173
  if (n <= t.degree) return t;
9174
- var r = t.knots.length - t.degree - 2, s = t.degree, o = t.knots, h = t.controlPoints, c = n - t.degree, v = t.controlPoints[0].length, d = u.zeros2d(s + c + 1, s + 1), m = [], b = [], w = [], M = r + s + 1, P = n, z = Math.floor(P / 2), N = [], k = [];
9175
- d[0][0] = 1, d[P][s] = 1;
9174
+ var r = t.knots.length - t.degree - 2, s = t.degree, o = t.knots, h = t.controlPoints, c = n - t.degree, v = t.controlPoints[0].length, d = u.zeros2d(s + c + 1, s + 1), m = [], b = [], w = [], P = r + s + 1, M = n, z = Math.floor(M / 2), N = [], k = [];
9175
+ d[0][0] = 1, d[M][s] = 1;
9176
9176
  for (var L = 1, B = z + 1; L < B; )
9177
- for (var T = L++, R = 1 / At.get(P, T), F = ct.imin(s, T), W = ct.imax(0, T - c), D = F + 1; W < D; ) {
9177
+ for (var T = L++, R = 1 / At.get(M, T), F = ct.imin(s, T), W = ct.imax(0, T - c), D = F + 1; W < D; ) {
9178
9178
  var V = W++;
9179
9179
  d[T][V] = R * At.get(s, V) * At.get(c, T - V);
9180
9180
  }
9181
- for (var G = z + 1; G < P; )
9181
+ for (var G = z + 1; G < M; )
9182
9182
  for (var Q = G++, J = ct.imin(s, Q), et = ct.imax(0, Q - c), it = J + 1; et < it; ) {
9183
9183
  var nt = et++;
9184
- d[Q][nt] = d[P - Q][s - nt];
9184
+ d[Q][nt] = d[M - Q][s - nt];
9185
9185
  }
9186
- var st = P + 1, tt = -1, at = s, O = s + 1, lt = 1, mt = o[0];
9186
+ var st = M + 1, tt = -1, at = s, O = s + 1, lt = 1, mt = o[0];
9187
9187
  N[0] = h[0];
9188
- for (var It = 0, Et = P + 1; It < Et; ) {
9188
+ for (var It = 0, Et = M + 1; It < Et; ) {
9189
9189
  var zt = It++;
9190
9190
  k[zt] = mt;
9191
9191
  }
@@ -9193,14 +9193,14 @@ var ii = { exports: {} };
9193
9193
  var de = Bt++;
9194
9194
  m[de] = h[de];
9195
9195
  }
9196
- for (; O < M; ) {
9197
- for (var te = O; O < M && o[O] == o[O + 1]; ) O = O + 1;
9196
+ for (; O < P; ) {
9197
+ for (var te = O; O < P && o[O] == o[O + 1]; ) O = O + 1;
9198
9198
  var Jt = O - te + 1, re = o[O], ue = tt;
9199
9199
  tt = s - Jt;
9200
9200
  var pe;
9201
9201
  ue > 0 ? pe = Math.floor((ue + 2) / 2) : pe = 1;
9202
9202
  var Ie;
9203
- if (tt > 0 ? Ie = Math.floor(P - (tt + 1) / 2) : Ie = P, tt > 0) {
9203
+ if (tt > 0 ? Ie = Math.floor(M - (tt + 1) / 2) : Ie = M, tt > 0) {
9204
9204
  for (var ye = re - mt, we = [], be = s; be > Jt; )
9205
9205
  we[be - Jt - 1] = ye / (o[at + be] - mt), be--;
9206
9206
  for (var Be = 1, _n = tt + 1; Be < _n; ) {
@@ -9209,8 +9209,8 @@ var ii = { exports: {} };
9209
9209
  w[li] = m[s];
9210
9210
  }
9211
9211
  }
9212
- for (var Pr = pe, ui = P + 1; Pr < ui; ) {
9213
- var dn = Pr++;
9212
+ for (var Mr = pe, ui = M + 1; Mr < ui; ) {
9213
+ var dn = Mr++;
9214
9214
  b[dn] = u.zeros1d(v);
9215
9215
  for (var ci = ct.imin(s, dn), Ar = ct.imax(0, dn - c), vi = ci + 1; Ar < vi; ) {
9216
9216
  var zr = Ar++;
@@ -9225,7 +9225,7 @@ var ii = { exports: {} };
9225
9225
  N[Le] = u.lerp(di, N[Le], N[Le - 1]);
9226
9226
  }
9227
9227
  if ($e >= pe) {
9228
- if ($e - _r <= st - P + ue) {
9228
+ if ($e - _r <= st - M + ue) {
9229
9229
  var fi = (re - k[$e - _r]) / Sr;
9230
9230
  b[Xe] = u.lerp(fi, b[Xe], b[Xe + 1]);
9231
9231
  }
@@ -9235,13 +9235,13 @@ var ii = { exports: {} };
9235
9235
  cr = cr - 1, vr = vr + 1;
9236
9236
  }
9237
9237
  if (at != s)
9238
- for (var kr = 0, mi = P - ue; kr < mi; )
9238
+ for (var kr = 0, mi = M - ue; kr < mi; )
9239
9239
  kr++, k[st] = mt, st = st + 1;
9240
9240
  for (var Ir = pe, gi = Ie + 1; Ir < gi; ) {
9241
9241
  var pi = Ir++;
9242
9242
  N[lt] = b[pi], lt = lt + 1;
9243
9243
  }
9244
- if (O < M) {
9244
+ if (O < P) {
9245
9245
  for (var Nr = 0; Nr < tt; ) {
9246
9246
  var Er = Nr++;
9247
9247
  m[Er] = w[Er];
@@ -9252,7 +9252,7 @@ var ii = { exports: {} };
9252
9252
  }
9253
9253
  at = O, O = O + 1, mt = re;
9254
9254
  } else
9255
- for (var Tr = 0, wi = P + 1; Tr < wi; ) {
9255
+ for (var Tr = 0, wi = M + 1; Tr < wi; ) {
9256
9256
  var bi = Tr++;
9257
9257
  k[st + bi] = re;
9258
9258
  }
@@ -9289,15 +9289,15 @@ var ii = { exports: {} };
9289
9289
  }
9290
9290
  }
9291
9291
  s.length / h - 1;
9292
- for (var b = h * 2, w = [], M = 0; M < r.length; ) {
9293
- var P = s.slice(M, M + b), z = r.slice(M, M + h);
9294
- w.push(new kt(n, P, z)), M += h;
9292
+ for (var b = h * 2, w = [], P = 0; P < r.length; ) {
9293
+ var M = s.slice(P, P + b), z = r.slice(P, P + h);
9294
+ w.push(new kt(n, M, z)), P += h;
9295
9295
  }
9296
9296
  return w;
9297
9297
  }, ct.curveKnotRefine = function(t, n) {
9298
9298
  if (n.length == 0) return ot.clonedCurve(t);
9299
- for (var r = t.degree, s = t.controlPoints, o = t.knots, h = s.length - 1, c = h + r + 1, v = n.length - 1, d = S.knotSpan(r, n[0], o), m = S.knotSpan(r, n[v], o), b = [], w = [], M = 0, P = d - r + 1; M < P; ) {
9300
- var z = M++;
9299
+ for (var r = t.degree, s = t.controlPoints, o = t.knots, h = s.length - 1, c = h + r + 1, v = n.length - 1, d = S.knotSpan(r, n[0], o), m = S.knotSpan(r, n[v], o), b = [], w = [], P = 0, M = d - r + 1; P < M; ) {
9300
+ var z = P++;
9301
9301
  b[z] = s[z];
9302
9302
  }
9303
9303
  for (var N = m - 1, k = h + 1; N < k; ) {
@@ -9324,8 +9324,8 @@ var ii = { exports: {} };
9324
9324
  }
9325
9325
  return new kt(r, w, b);
9326
9326
  }, ct.curveKnotInsert = function(t, n, r) {
9327
- for (var s = t.degree, o = t.controlPoints, h = t.knots, c = 0, v = o.length, d = S.knotSpan(s, n, h), m = [], b = [], w = [], M = 1, P = d + 1; M < P; ) {
9328
- var z = M++;
9327
+ for (var s = t.degree, o = t.controlPoints, h = t.knots, c = 0, v = o.length, d = S.knotSpan(s, n, h), m = [], b = [], w = [], P = 1, M = d + 1; P < M; ) {
9328
+ var z = P++;
9329
9329
  b[z] = h[z];
9330
9330
  }
9331
9331
  for (var N = 1, k = r + 1; N < k; ) {
@@ -9363,18 +9363,18 @@ var ii = { exports: {} };
9363
9363
  }
9364
9364
  return new kt(s, b, w);
9365
9365
  };
9366
- var Pt = f.eval.Tess = function() {
9366
+ var Mt = f.eval.Tess = function() {
9367
9367
  };
9368
- y["verb.eval.Tess"] = Pt, Pt.__name__ = ["verb", "eval", "Tess"], Pt.rationalCurveRegularSample = function(t, n, r) {
9369
- return Pt.rationalCurveRegularSampleRange(t, t.knots[0], K.last(t.knots), n, r);
9370
- }, Pt.rationalCurveRegularSampleRange = function(t, n, r, s, o) {
9368
+ y["verb.eval.Tess"] = Mt, Mt.__name__ = ["verb", "eval", "Tess"], Mt.rationalCurveRegularSample = function(t, n, r) {
9369
+ return Mt.rationalCurveRegularSampleRange(t, t.knots[0], K.last(t.knots), n, r);
9370
+ }, Mt.rationalCurveRegularSampleRange = function(t, n, r, s, o) {
9371
9371
  s < 1 && (s = 2);
9372
9372
  for (var h = [], c = (r - n) / (s - 1), v = 0, d = 0; d < s; ) {
9373
9373
  var m = d++;
9374
9374
  v = n + c * m, o ? h.push([v].concat(S.rationalCurvePoint(t, v))) : h.push(S.rationalCurvePoint(t, v));
9375
9375
  }
9376
9376
  return h;
9377
- }, Pt.rationalCurveAdaptiveSample = function(t, n, r) {
9377
+ }, Mt.rationalCurveAdaptiveSample = function(t, n, r) {
9378
9378
  if (r == null && (r = !1), n == null && (n = 1e-6), t.degree == 1)
9379
9379
  if (r) {
9380
9380
  for (var s = [], o = 0, h = t.controlPoints.length; o < h; ) {
@@ -9384,17 +9384,17 @@ var ii = { exports: {} };
9384
9384
  return s;
9385
9385
  } else
9386
9386
  return t.controlPoints.map(S.dehomogenize);
9387
- return Pt.rationalCurveAdaptiveSampleRange(t, t.knots[0], K.last(t.knots), n, r);
9388
- }, Pt.rationalCurveAdaptiveSampleRange = function(t, n, r, s, o) {
9387
+ return Mt.rationalCurveAdaptiveSampleRange(t, t.knots[0], K.last(t.knots), n, r);
9388
+ }, Mt.rationalCurveAdaptiveSampleRange = function(t, n, r, s, o) {
9389
9389
  var h = S.rationalCurvePoint(t, n), c = S.rationalCurvePoint(t, r), v = 0.5 + 0.2 * Math.random(), d = n + (r - n) * v, m = S.rationalCurvePoint(t, d), b = u.sub(h, c), w = u.sub(h, m);
9390
9390
  if (u.dot(b, b) < s && u.dot(w, w) > s || !he.threePointsAreFlat(h, m, c, s)) {
9391
- var M = n + (r - n) * 0.5, P = Pt.rationalCurveAdaptiveSampleRange(t, n, M, s, o), z = Pt.rationalCurveAdaptiveSampleRange(t, M, r, s, o);
9392
- return P.slice(0, -1).concat(z);
9391
+ var P = n + (r - n) * 0.5, M = Mt.rationalCurveAdaptiveSampleRange(t, n, P, s, o), z = Mt.rationalCurveAdaptiveSampleRange(t, P, r, s, o);
9392
+ return M.slice(0, -1).concat(z);
9393
9393
  } else return o ? [[n].concat(h), [r].concat(c)] : [h, c];
9394
- }, Pt.rationalSurfaceNaive = function(t, n, r) {
9394
+ }, Mt.rationalSurfaceNaive = function(t, n, r) {
9395
9395
  n < 1 && (n = 1), r < 1 && (r = 1), t.degreeU, t.degreeV, t.controlPoints;
9396
- for (var s = t.knotsU, o = t.knotsV, h = K.last(s) - s[0], c = K.last(o) - o[0], v = h / n, d = c / r, m = [], b = [], w = [], M = 0, P = n + 1; M < P; )
9397
- for (var z = M++, N = 0, k = r + 1; N < k; ) {
9396
+ for (var s = t.knotsU, o = t.knotsV, h = K.last(s) - s[0], c = K.last(o) - o[0], v = h / n, d = c / r, m = [], b = [], w = [], P = 0, M = n + 1; P < M; )
9397
+ for (var z = P++, N = 0, k = r + 1; N < k; ) {
9398
9398
  var L = N++, B = z * v, T = L * d;
9399
9399
  b.push([B, T]);
9400
9400
  var R = S.rationalSurfaceDerivatives(t, B, T, 1), F = R[0][0];
@@ -9408,49 +9408,49 @@ var ii = { exports: {} };
9408
9408
  D.push(tt), D.push(at);
9409
9409
  }
9410
9410
  return new fe(D, m, w, b);
9411
- }, Pt.divideRationalSurfaceAdaptive = function(t, n) {
9411
+ }, Mt.divideRationalSurfaceAdaptive = function(t, n) {
9412
9412
  n == null && (n = new Oe()), n.minDivsU != null ? n.minDivsU = n.minDivsU : n.minDivsU = 1, n.minDivsV != null ? n.minDivsU = n.minDivsV : n.minDivsU = 1, n.refine != null ? n.refine = n.refine : n.refine = !0;
9413
9413
  var r = (t.controlPoints.length - 1) * 2, s = (t.controlPoints[0].length - 1) * 2, o;
9414
9414
  n.minDivsU > r ? o = n.minDivsU = n.minDivsU : o = n.minDivsU = r;
9415
9415
  var h;
9416
9416
  n.minDivsV > s ? h = n.minDivsV = n.minDivsV : h = n.minDivsV = s;
9417
- for (var c = K.last(t.knotsU), v = t.knotsU[0], d = K.last(t.knotsV), m = t.knotsV[0], b = (c - v) / o, w = (d - m) / h, M = [], P = [], z = 0, N = h + 1; z < N; ) {
9417
+ for (var c = K.last(t.knotsU), v = t.knotsU[0], d = K.last(t.knotsV), m = t.knotsV[0], b = (c - v) / o, w = (d - m) / h, P = [], M = [], z = 0, N = h + 1; z < N; ) {
9418
9418
  for (var k = z++, L = [], B = 0, T = o + 1; B < T; ) {
9419
9419
  var R = B++, F = v + b * R, W = m + w * k, D = S.rationalSurfaceDerivatives(t, F, W, 1), V = u.normalized(u.cross(D[0][1], D[1][0]));
9420
9420
  L.push(new ve(D[0][0], V, [F, W], -1, u.isZero(V)));
9421
9421
  }
9422
- P.push(L);
9422
+ M.push(L);
9423
9423
  }
9424
9424
  for (var G = 0; G < h; )
9425
9425
  for (var Q = G++, J = 0; J < o; ) {
9426
- var et = J++, it = [P[h - Q - 1][et], P[h - Q - 1][et + 1], P[h - Q][et + 1], P[h - Q][et]];
9427
- M.push(new Ee(t, it));
9426
+ var et = J++, it = [M[h - Q - 1][et], M[h - Q - 1][et + 1], M[h - Q][et + 1], M[h - Q][et]];
9427
+ P.push(new Ee(t, it));
9428
9428
  }
9429
- if (!n.refine) return M;
9429
+ if (!n.refine) return P;
9430
9430
  for (var nt = 0; nt < h; )
9431
9431
  for (var st = nt++, tt = 0; tt < o; ) {
9432
- var at = tt++, O = st * o + at, lt = Pt.north(O, st, at, o, h, M), mt = Pt.east(O, st, at, o, h, M), It = Pt.south(O, st, at, o, h, M), Et = Pt.west(O, st, at, o, h, M);
9433
- M[O].neighbors = [It, mt, lt, Et], M[O].divide(n);
9432
+ var at = tt++, O = st * o + at, lt = Mt.north(O, st, at, o, h, P), mt = Mt.east(O, st, at, o, h, P), It = Mt.south(O, st, at, o, h, P), Et = Mt.west(O, st, at, o, h, P);
9433
+ P[O].neighbors = [It, mt, lt, Et], P[O].divide(n);
9434
9434
  }
9435
- return M;
9436
- }, Pt.north = function(t, n, r, s, o, h) {
9435
+ return P;
9436
+ }, Mt.north = function(t, n, r, s, o, h) {
9437
9437
  return n == 0 ? null : h[t - s];
9438
- }, Pt.south = function(t, n, r, s, o, h) {
9438
+ }, Mt.south = function(t, n, r, s, o, h) {
9439
9439
  return n == o - 1 ? null : h[t + s];
9440
- }, Pt.east = function(t, n, r, s, o, h) {
9440
+ }, Mt.east = function(t, n, r, s, o, h) {
9441
9441
  return r == s - 1 ? null : h[t + 1];
9442
- }, Pt.west = function(t, n, r, s, o, h) {
9442
+ }, Mt.west = function(t, n, r, s, o, h) {
9443
9443
  return r == 0 ? null : h[t - 1];
9444
- }, Pt.triangulateAdaptiveRefinementNodeTree = function(t) {
9444
+ }, Mt.triangulateAdaptiveRefinementNodeTree = function(t) {
9445
9445
  for (var n = fe.empty(), r = 0; r < t.length; ) {
9446
9446
  var s = t[r];
9447
9447
  ++r, s.triangulate(n);
9448
9448
  }
9449
9449
  return n;
9450
- }, Pt.rationalSurfaceAdaptive = function(t, n) {
9450
+ }, Mt.rationalSurfaceAdaptive = function(t, n) {
9451
9451
  n != null ? n = n : n = new Oe();
9452
- var r = Pt.divideRationalSurfaceAdaptive(t, n);
9453
- return Pt.triangulateAdaptiveRefinementNodeTree(r);
9452
+ var r = Mt.divideRationalSurfaceAdaptive(t, n);
9453
+ return Mt.triangulateAdaptiveRefinementNodeTree(r);
9454
9454
  };
9455
9455
  var Oe = f.core.AdaptiveRefinementOptions = function() {
9456
9456
  this.minDivsV = 1, this.minDivsU = 1, this.refine = !0, this.maxDepth = 10, this.minDepth = 0, this.normTol = 0.025;
@@ -9595,18 +9595,18 @@ var ii = { exports: {} };
9595
9595
  }
9596
9596
  }
9597
9597
  for (var w = 0; w < r.length; ) {
9598
- var M = r[w];
9599
- if (++w, M.id != -1) {
9600
- s.push(M.id);
9598
+ var P = r[w];
9599
+ if (++w, P.id != -1) {
9600
+ s.push(P.id);
9601
9601
  continue;
9602
9602
  }
9603
- t.uvs.push(M.uv), t.points.push(M.point), t.normals.push(M.normal), M.id = n, s.push(n), n++;
9603
+ t.uvs.push(P.uv), t.points.push(P.point), t.normals.push(P.normal), P.id = n, s.push(n), n++;
9604
9604
  }
9605
9605
  if (r.length == 4)
9606
9606
  return t.faces.push([s[0], s[3], s[1]]), t.faces.push([s[3], s[2], s[1]]), t;
9607
9607
  if (r.length == 5) {
9608
- var P = s.length;
9609
- return t.faces.push([s[o], s[(o + 2) % P], s[(o + 1) % P]]), t.faces.push([s[(o + 4) % P], s[(o + 3) % P], s[o]]), t.faces.push([s[o], s[(o + 3) % P], s[(o + 2) % P]]), t;
9608
+ var M = s.length;
9609
+ return t.faces.push([s[o], s[(o + 2) % M], s[(o + 1) % M]]), t.faces.push([s[(o + 4) % M], s[(o + 3) % M], s[o]]), t.faces.push([s[o], s[(o + 3) % M], s[(o + 2) % M]]), t;
9610
9610
  }
9611
9611
  var z = this.center();
9612
9612
  t.uvs.push(z.uv), t.points.push(z.point), t.normals.push(z.normal);
@@ -9792,10 +9792,10 @@ var ii = { exports: {} };
9792
9792
  });
9793
9793
  },
9794
9794
  tessellate: function(t) {
9795
- return Pt.rationalCurveAdaptiveSample(this._data, t, !1);
9795
+ return Mt.rationalCurveAdaptiveSample(this._data, t, !1);
9796
9796
  },
9797
9797
  tessellateAsync: function(t) {
9798
- return _t.dispatchMethod(Pt, "rationalCurveAdaptiveSample", [this._data, t, !1]);
9798
+ return _t.dispatchMethod(Mt, "rationalCurveAdaptiveSample", [this._data, t, !1]);
9799
9799
  },
9800
9800
  __class__: bt
9801
9801
  });
@@ -9957,10 +9957,10 @@ var ii = { exports: {} };
9957
9957
  });
9958
9958
  },
9959
9959
  tessellate: function(t) {
9960
- return Pt.rationalSurfaceAdaptive(this._data, t);
9960
+ return Mt.rationalSurfaceAdaptive(this._data, t);
9961
9961
  },
9962
9962
  tessellateAsync: function(t) {
9963
- return _t.dispatchMethod(Pt, "rationalSurfaceAdaptive", [this._data, t]);
9963
+ return _t.dispatchMethod(Mt, "rationalSurfaceAdaptive", [this._data, t]);
9964
9964
  },
9965
9965
  transform: function(t) {
9966
9966
  return new gt(ct.rationalSurfaceTransform(this._data, t));
@@ -10147,7 +10147,7 @@ var ii = { exports: {} };
10147
10147
  wr.__name__ = ["Float"];
10148
10148
  var br = y.Bool = Boolean;
10149
10149
  br.__ename__ = ["Bool"];
10150
- var xr = y.Class = { __name__: ["Class"] }, Mr = {};
10150
+ var xr = y.Class = { __name__: ["Class"] }, Pr = {};
10151
10151
  Array.prototype.map == null && (Array.prototype.map = function(t) {
10152
10152
  for (var n = [], r = 0, s = this.length; r < s; ) {
10153
10153
  var o = r++;
@@ -10201,7 +10201,7 @@ var ii = { exports: {} };
10201
10201
  return process.nextTick(d(m, B)), B;
10202
10202
  };
10203
10203
  }
10204
- function M() {
10204
+ function P() {
10205
10205
  if (t.postMessage && !t.importScripts) {
10206
10206
  var B = !0, T = t.onmessage;
10207
10207
  return t.onmessage = function() {
@@ -10209,7 +10209,7 @@ var ii = { exports: {} };
10209
10209
  }, t.postMessage("", "*"), t.onmessage = T, B;
10210
10210
  }
10211
10211
  }
10212
- function P() {
10212
+ function M() {
10213
10213
  var B = "setImmediate$" + Math.random() + "$", T = function(R) {
10214
10214
  R.source === t && typeof R.data == "string" && R.data.indexOf(B) === 0 && m(+R.data.slice(B.length));
10215
10215
  };
@@ -10244,7 +10244,7 @@ var ii = { exports: {} };
10244
10244
  };
10245
10245
  }
10246
10246
  var L = Object.getPrototypeOf && Object.getPrototypeOf(t);
10247
- L = L && L.setTimeout ? L : t, {}.toString.call(t.process) === "[object process]" ? w() : M() ? P() : t.MessageChannel ? z() : h && "onreadystatechange" in h.createElement("script") ? N() : k(), L.setImmediate = c, L.clearImmediate = b;
10247
+ L = L && L.setTimeout ? L : t, {}.toString.call(t.process) === "[object process]" ? w() : P() ? M() : t.MessageChannel ? z() : h && "onreadystatechange" in h.createElement("script") ? N() : k(), L.setImmediate = c, L.clearImmediate = b;
10248
10248
  })(new Function("return this")()), jt.USE_CACHE = !1, jt.USE_ENUM_INDEX = !1, jt.BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:", Tt.DEFAULT_RESOLVER = ut, Tt.BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:", Ht.count = 0, Xt.i64tmp = function(t) {
10249
10249
  var n, r = new Lt(0, 0);
10250
10250
  return n = r, n;
@@ -10576,12 +10576,12 @@ class si extends Wn {
10576
10576
  super();
10577
10577
  const g = arguments.length;
10578
10578
  if (g < 2 || g > 5)
10579
- throw Me.ILLEGAL_PARAMETERS;
10579
+ throw Pe.ILLEGAL_PARAMETERS;
10580
10580
  if (this._degree = 3, this._closed = !1, Array.isArray(i)) {
10581
10581
  this._controlPoints = e;
10582
10582
  let p, x = 3, f = !1;
10583
10583
  if (g >= 3 && (Array.isArray(a) ? (p = a, g >= 4 && (x = l || 3), g >= 5 && (f = _)) : a !== void 0 && (x = a || 3, g >= 4 && (f = l))), a === void 0 && g >= 4 && (x = l || 3, g >= 5 && (f = _)), this._degree = x, this._closed = f, this._controlPoints.length < this._degree + 1)
10584
- throw Me.ILLEGAL_PARAMETERS;
10584
+ throw Pe.ILLEGAL_PARAMETERS;
10585
10585
  const A = this.toVerbPoints(this._controlPoints);
10586
10586
  this._nurbsCurve = gn.geom.NurbsCurve.byKnotsControlPointsWeights(
10587
10587
  this._degree,
@@ -10591,7 +10591,7 @@ class si extends Wn {
10591
10591
  );
10592
10592
  } else {
10593
10593
  if (this._fitPoints = e, this._knotParameterization = i, g >= 3 && (this._degree = a || 3), g >= 4 && (this._closed = l), this._fitPoints.length < this._degree + 1)
10594
- throw Me.ILLEGAL_PARAMETERS;
10594
+ throw Pe.ILLEGAL_PARAMETERS;
10595
10595
  const p = this.toNurbsPoints(this._fitPoints);
10596
10596
  this._nurbsCurve = gn.geom.NurbsCurve.byPoints(p, this._degree), this._controlPoints = this.toGePoints(this._nurbsCurve.controlPoints());
10597
10597
  }
@@ -10642,6 +10642,27 @@ class si extends Wn {
10642
10642
  get knotParameterization() {
10643
10643
  return this._knotParameterization;
10644
10644
  }
10645
+ get controlPoints() {
10646
+ return this._controlPoints.map((e) => ({
10647
+ x: e.x,
10648
+ y: e.y,
10649
+ z: e.z || 0
10650
+ }));
10651
+ }
10652
+ get fitPoints() {
10653
+ var e;
10654
+ return (e = this._fitPoints) == null ? void 0 : e.map((i) => ({
10655
+ x: i.x,
10656
+ y: i.y,
10657
+ z: i.z || 0
10658
+ }));
10659
+ }
10660
+ get knots() {
10661
+ return [...this._nurbsCurve.knots()];
10662
+ }
10663
+ get weights() {
10664
+ return [...this._nurbsCurve.weights()];
10665
+ }
10645
10666
  /**
10646
10667
  * The start point of this spline
10647
10668
  */
@@ -10777,7 +10798,7 @@ class si extends Wn {
10777
10798
  }
10778
10799
  export {
10779
10800
  is as AcGeArea2d,
10780
- Pe as AcGeBox2d,
10801
+ Me as AcGeBox2d,
10781
10802
  Ue as AcGeBox3d,
10782
10803
  ts as AcGeCatmullRomCurve3d,
10783
10804
  nr as AcGeCircArc2d,
@@ -10826,14 +10847,14 @@ export {
10826
10847
  Gi as generateUniformKnots,
10827
10848
  Zr as intPartLength,
10828
10849
  rs as interpolateControlPoints,
10829
- Pi as inverseLerp,
10850
+ Mi as inverseLerp,
10830
10851
  Vi as isBetween,
10831
10852
  Di as isBetweenAngle,
10832
10853
  Jr as isPointInPolygon,
10833
10854
  Oi as isPolygonIntersect,
10834
10855
  Ti as isPowerOfTwo,
10835
10856
  Wr as lerp,
10836
- Mi as mapLinear,
10857
+ Pi as mapLinear,
10837
10858
  $n as normalizeAngle,
10838
10859
  zi as pingpong,
10839
10860
  Li as radToDeg,