@needle-tools/engine 3.31.0 → 3.31.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,7 +22,7 @@ function aO(i, A) {
22
22
  * Copyright 2010-2023 Three.js Authors
23
23
  * SPDX-License-Identifier: MIT
24
24
  */
25
- const ka = "154", rr = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 }, Br = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 }, Dv = 0, xk = 1, wv = 2, rO = 3, BO = 0, XM = 1, $M = 2, bs = 3, Vg = 0, Si = 1, yt = 2, QO = 2, oi = 0, sa = 1, PQ = 2, Yk = 3, Tk = 4, Am = 5, dr = 100, yv = 101, Sv = 102, Hk = 103, af = 104, kv = 200, Gv = 201, Mv = 202, mv = 203, em = 204, tm = 205, Rv = 206, Uv = 207, Nv = 208, Fv = 209, Kv = 210, im = 0, GD = 1, Lh = 2, WQ = 3, jQ = 4, MD = 5, mD = 6, ml = 7, Rl = 0, Jv = 1, qv = 2, cI = 0, xh = 1, gm = 2, bv = 3, Im = 4, vv = 5, RD = 300, ha = 301, la = 302, _o = 303, VQ = 304, lE = 306, Wo = 1e3, rg = 1001, _r = 1002, Ye = 1003, ZQ = 1004, EO = 1004, Jr = 1005, cO = 1005, Ne = 1006, Ul = 1007, hO = 1007, jo = 1008, lO = 1008, pt = 1009, Lv = 1010, xv = 1011, UD = 1012, om = 1013, Es = 1014, hi = 1015, Ii = 1016, sm = 1017, Cm = 1018, $C = 1020, Yv = 1021, St = 1023, ND = 1024, Tv = 1025, Ca = 1026, da = 1027, OC = 1028, nm = 1029, Sr = 1030, am = 1031, rm = 1033, Ih = 33776, wp = 33777, yp = 33778, oh = 33779, rf = 35840, _k = 35841, Bf = 35842, Ok = 35843, Bm = 36196, Qf = 37492, Ef = 37496, cf = 37808, Pk = 37809, Wk = 37810, jk = 37811, Vk = 37812, Zk = 37813, zk = 37814, Xk = 37815, $k = 37816, AG = 37817, eG = 37818, tG = 37819, iG = 37820, gG = 37821, sh = 36492, Hv = 36283, IG = 36284, oG = 36285, sG = 36286, Yh = 2200, Qm = 2201, _v = 2202, ua = 2300, $s = 2301, Sp = 2302, kr = 2400, Gr = 2401, Th = 2402, FD = 2500, Em = 2501, Ov = 0, cm = 1, hf = 2, Nl = 3e3, Vs = 3001, mg = 3200, KD = 3201, Ga = 0, Pv = 1, io = "", Ie = "srgb", Yi = "srgb-linear", hm = "display-p3", Wv = 0, Ch = 7680, jv = 7681, Vv = 7682, Zv = 7683, zv = 34055, Xv = 34056, $v = 5386, CG = 512, AL = 513, eL = 514, tL = 515, iL = 516, gL = 517, IL = 518, lm = 519, oL = 512, sL = 513, CL = 514, nL = 515, aL = 516, rL = 517, BL = 518, QL = 519, Hh = 35044, Hg = 35048, dO = 35040, uO = 35045, pO = 35049, fO = 35041, DO = 35046, wO = 35050, yO = 35042, SO = "100", lf = "300 es", df = 1035, Ws = 2e3, _h = 2001;
25
+ const ka = "154", rr = { LEFT: 0, MIDDLE: 1, RIGHT: 2, ROTATE: 0, DOLLY: 1, PAN: 2 }, Br = { ROTATE: 0, PAN: 1, DOLLY_PAN: 2, DOLLY_ROTATE: 3 }, Dv = 0, xk = 1, wv = 2, rO = 3, BO = 0, XM = 1, $M = 2, bs = 3, Vg = 0, Si = 1, yt = 2, QO = 2, oi = 0, sa = 1, PQ = 2, Yk = 3, Tk = 4, Am = 5, dr = 100, yv = 101, Sv = 102, Hk = 103, af = 104, kv = 200, Gv = 201, Mv = 202, mv = 203, em = 204, tm = 205, Rv = 206, Uv = 207, Nv = 208, Fv = 209, Kv = 210, im = 0, GD = 1, Lh = 2, WQ = 3, jQ = 4, MD = 5, mD = 6, ml = 7, Rl = 0, Jv = 1, qv = 2, cI = 0, xh = 1, gm = 2, bv = 3, Im = 4, vv = 5, RD = 300, ha = 301, la = 302, _o = 303, VQ = 304, lE = 306, Wo = 1e3, rg = 1001, _r = 1002, Ye = 1003, ZQ = 1004, EO = 1004, Jr = 1005, cO = 1005, Ne = 1006, Ul = 1007, hO = 1007, jo = 1008, lO = 1008, pt = 1009, Lv = 1010, xv = 1011, UD = 1012, om = 1013, Es = 1014, hi = 1015, Ii = 1016, sm = 1017, Cm = 1018, An = 1020, Yv = 1021, St = 1023, ND = 1024, Tv = 1025, Ca = 1026, da = 1027, PC = 1028, nm = 1029, Sr = 1030, am = 1031, rm = 1033, Ih = 33776, wp = 33777, yp = 33778, oh = 33779, rf = 35840, _k = 35841, Bf = 35842, Ok = 35843, Bm = 36196, Qf = 37492, Ef = 37496, cf = 37808, Pk = 37809, Wk = 37810, jk = 37811, Vk = 37812, Zk = 37813, zk = 37814, Xk = 37815, $k = 37816, AG = 37817, eG = 37818, tG = 37819, iG = 37820, gG = 37821, sh = 36492, Hv = 36283, IG = 36284, oG = 36285, sG = 36286, Yh = 2200, Qm = 2201, _v = 2202, ua = 2300, $s = 2301, Sp = 2302, kr = 2400, Gr = 2401, Th = 2402, FD = 2500, Em = 2501, Ov = 0, cm = 1, hf = 2, Nl = 3e3, Vs = 3001, mg = 3200, KD = 3201, Ga = 0, Pv = 1, io = "", Ie = "srgb", Yi = "srgb-linear", hm = "display-p3", Wv = 0, Ch = 7680, jv = 7681, Vv = 7682, Zv = 7683, zv = 34055, Xv = 34056, $v = 5386, CG = 512, AL = 513, eL = 514, tL = 515, iL = 516, gL = 517, IL = 518, lm = 519, oL = 512, sL = 513, CL = 514, nL = 515, aL = 516, rL = 517, BL = 518, QL = 519, Hh = 35044, Hg = 35048, dO = 35040, uO = 35045, pO = 35049, fO = 35041, DO = 35046, wO = 35050, yO = 35042, SO = "100", lf = "300 es", df = 1035, Ws = 2e3, _h = 2001;
26
26
  class tg {
27
27
  addEventListener(A, e) {
28
28
  this._listeners === void 0 && (this._listeners = {});
@@ -728,7 +728,7 @@ class um {
728
728
  }
729
729
  }
730
730
  let PO = 0;
731
- class PC {
731
+ class WC {
732
732
  constructor(A = null) {
733
733
  this.isSource = !0, Object.defineProperty(this, "id", { value: PO++ }), this.uuid = go(), this.data = A, this.version = 0;
734
734
  }
@@ -767,7 +767,7 @@ function cS(i) {
767
767
  let WO = 0;
768
768
  class ve extends tg {
769
769
  constructor(A = ve.DEFAULT_IMAGE, e = ve.DEFAULT_MAPPING, t = rg, g = rg, I = Ne, o = jo, s = St, C = pt, n = ve.DEFAULT_ANISOTROPY, a = io) {
770
- super(), this.isTexture = !0, Object.defineProperty(this, "id", { value: WO++ }), this.uuid = go(), this.name = "", this.source = new PC(A), this.mipmaps = [], this.mapping = e, this.channel = 0, this.wrapS = t, this.wrapT = g, this.magFilter = I, this.minFilter = o, this.anisotropy = n, this.format = s, this.internalFormat = null, this.type = C, this.offset = new iA(0, 0), this.repeat = new iA(1, 1), this.center = new iA(0, 0), this.rotation = 0, this.matrixAutoUpdate = !0, this.matrix = new be(), this.generateMipmaps = !0, this.premultiplyAlpha = !1, this.flipY = !0, this.unpackAlignment = 4, typeof a == "string" ? this.colorSpace = a : (ah("THREE.Texture: Property .encoding has been replaced by .colorSpace."), this.colorSpace = a === Vs ? Ie : io), this.userData = {}, this.version = 0, this.onUpdate = null, this.isRenderTargetTexture = !1, this.needsPMREMUpdate = !1;
770
+ super(), this.isTexture = !0, Object.defineProperty(this, "id", { value: WO++ }), this.uuid = go(), this.name = "", this.source = new WC(A), this.mipmaps = [], this.mapping = e, this.channel = 0, this.wrapS = t, this.wrapT = g, this.magFilter = I, this.minFilter = o, this.anisotropy = n, this.format = s, this.internalFormat = null, this.type = C, this.offset = new iA(0, 0), this.repeat = new iA(1, 1), this.center = new iA(0, 0), this.rotation = 0, this.matrixAutoUpdate = !0, this.matrix = new be(), this.generateMipmaps = !0, this.premultiplyAlpha = !1, this.flipY = !0, this.unpackAlignment = 4, typeof a == "string" ? this.colorSpace = a : (ah("THREE.Texture: Property .encoding has been replaced by .colorSpace."), this.colorSpace = a === Vs ? Ie : io), this.userData = {}, this.version = 0, this.onUpdate = null, this.isRenderTargetTexture = !1, this.needsPMREMUpdate = !1;
771
771
  }
772
772
  get image() {
773
773
  return this.source.data;
@@ -1077,7 +1077,7 @@ class ze extends tg {
1077
1077
  copy(A) {
1078
1078
  this.width = A.width, this.height = A.height, this.depth = A.depth, this.scissor.copy(A.scissor), this.scissorTest = A.scissorTest, this.viewport.copy(A.viewport), this.texture = A.texture.clone(), this.texture.isRenderTargetTexture = !0;
1079
1079
  const e = Object.assign({}, A.texture.image);
1080
- return this.texture.source = new PC(e), this.depthBuffer = A.depthBuffer, this.stencilBuffer = A.stencilBuffer, A.depthTexture !== null && (this.depthTexture = A.depthTexture.clone()), this.samples = A.samples, this;
1080
+ return this.texture.source = new WC(e), this.depthBuffer = A.depthBuffer, this.stencilBuffer = A.stencilBuffer, A.depthTexture !== null && (this.depthTexture = A.depthTexture.clone()), this.samples = A.samples, this;
1081
1081
  }
1082
1082
  dispose() {
1083
1083
  this.dispatchEvent({ type: "dispose" });
@@ -1620,13 +1620,13 @@ class vi {
1620
1620
  setFromArray(A) {
1621
1621
  this.makeEmpty();
1622
1622
  for (let e = 0, t = A.length; e < t; e += 3)
1623
- this.expandByPoint(lC.fromArray(A, e));
1623
+ this.expandByPoint(dC.fromArray(A, e));
1624
1624
  return this;
1625
1625
  }
1626
1626
  setFromBufferAttribute(A) {
1627
1627
  this.makeEmpty();
1628
1628
  for (let e = 0, t = A.count; e < t; e++)
1629
- this.expandByPoint(lC.fromBufferAttribute(A, e));
1629
+ this.expandByPoint(dC.fromBufferAttribute(A, e));
1630
1630
  return this;
1631
1631
  }
1632
1632
  setFromPoints(A) {
@@ -1636,7 +1636,7 @@ class vi {
1636
1636
  return this;
1637
1637
  }
1638
1638
  setFromCenterAndSize(A, e) {
1639
- const t = lC.copy(e).multiplyScalar(0.5);
1639
+ const t = dC.copy(e).multiplyScalar(0.5);
1640
1640
  return this.min.copy(A).sub(t), this.max.copy(A).add(t), this;
1641
1641
  }
1642
1642
  setFromObject(A, e = !1) {
@@ -1678,7 +1678,7 @@ class vi {
1678
1678
  if (e && g.attributes !== void 0 && g.attributes.position !== void 0) {
1679
1679
  const I = g.attributes.position;
1680
1680
  for (let o = 0, s = I.count; o < s; o++)
1681
- lC.fromBufferAttribute(I, o).applyMatrix4(A.matrixWorld), this.expandByPoint(lC);
1681
+ dC.fromBufferAttribute(I, o).applyMatrix4(A.matrixWorld), this.expandByPoint(dC);
1682
1682
  } else
1683
1683
  g.boundingBox === null && g.computeBoundingBox(), kB.copy(g.boundingBox), kB.applyMatrix4(A.matrixWorld), this.union(kB);
1684
1684
  }
@@ -1704,7 +1704,7 @@ class vi {
1704
1704
  return !(A.max.x < this.min.x || A.min.x > this.max.x || A.max.y < this.min.y || A.min.y > this.max.y || A.max.z < this.min.z || A.min.z > this.max.z);
1705
1705
  }
1706
1706
  intersectsSphere(A) {
1707
- return this.clampPoint(A.center, lC), lC.distanceToSquared(A.center) <= A.radius * A.radius;
1707
+ return this.clampPoint(A.center, dC), dC.distanceToSquared(A.center) <= A.radius * A.radius;
1708
1708
  }
1709
1709
  intersectsPlane(A) {
1710
1710
  let e, t;
@@ -1749,10 +1749,10 @@ class vi {
1749
1749
  return e.copy(A).clamp(this.min, this.max);
1750
1750
  }
1751
1751
  distanceToPoint(A) {
1752
- return this.clampPoint(A, lC).distanceTo(A);
1752
+ return this.clampPoint(A, dC).distanceTo(A);
1753
1753
  }
1754
1754
  getBoundingSphere(A) {
1755
- return this.isEmpty() ? A.makeEmpty() : (this.getCenter(A.center), A.radius = this.getSize(lC).length() * 0.5), A;
1755
+ return this.isEmpty() ? A.makeEmpty() : (this.getCenter(A.center), A.radius = this.getSize(dC).length() * 0.5), A;
1756
1756
  }
1757
1757
  intersect(A) {
1758
1758
  return this.min.max(A.min), this.max.min(A.max), this.isEmpty() && this.makeEmpty(), this;
@@ -1761,7 +1761,7 @@ class vi {
1761
1761
  return this.min.min(A.min), this.max.max(A.max), this;
1762
1762
  }
1763
1763
  applyMatrix4(A) {
1764
- return this.isEmpty() ? this : (hC[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(A), hC[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(A), hC[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(A), hC[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(A), hC[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(A), hC[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(A), hC[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(A), hC[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(A), this.setFromPoints(hC), this);
1764
+ return this.isEmpty() ? this : (lC[0].set(this.min.x, this.min.y, this.min.z).applyMatrix4(A), lC[1].set(this.min.x, this.min.y, this.max.z).applyMatrix4(A), lC[2].set(this.min.x, this.max.y, this.min.z).applyMatrix4(A), lC[3].set(this.min.x, this.max.y, this.max.z).applyMatrix4(A), lC[4].set(this.max.x, this.min.y, this.min.z).applyMatrix4(A), lC[5].set(this.max.x, this.min.y, this.max.z).applyMatrix4(A), lC[6].set(this.max.x, this.max.y, this.min.z).applyMatrix4(A), lC[7].set(this.max.x, this.max.y, this.max.z).applyMatrix4(A), this.setFromPoints(lC), this);
1765
1765
  }
1766
1766
  translate(A) {
1767
1767
  return this.min.add(A), this.max.add(A), this;
@@ -1770,7 +1770,7 @@ class vi {
1770
1770
  return A.min.equals(this.min) && A.max.equals(this.max);
1771
1771
  }
1772
1772
  }
1773
- const hC = [
1773
+ const lC = [
1774
1774
  /* @__PURE__ */ new w(),
1775
1775
  /* @__PURE__ */ new w(),
1776
1776
  /* @__PURE__ */ new w(),
@@ -1779,7 +1779,7 @@ const hC = [
1779
1779
  /* @__PURE__ */ new w(),
1780
1780
  /* @__PURE__ */ new w(),
1781
1781
  /* @__PURE__ */ new w()
1782
- ], lC = /* @__PURE__ */ new w(), kB = /* @__PURE__ */ new vi(), GB = /* @__PURE__ */ new w(), MB = /* @__PURE__ */ new w(), mB = /* @__PURE__ */ new w(), mn = /* @__PURE__ */ new w(), Rn = /* @__PURE__ */ new w(), Ha = /* @__PURE__ */ new w(), Ic = /* @__PURE__ */ new w(), vd = /* @__PURE__ */ new w(), Ld = /* @__PURE__ */ new w(), _a = /* @__PURE__ */ new w();
1782
+ ], dC = /* @__PURE__ */ new w(), kB = /* @__PURE__ */ new vi(), GB = /* @__PURE__ */ new w(), MB = /* @__PURE__ */ new w(), mB = /* @__PURE__ */ new w(), mn = /* @__PURE__ */ new w(), Rn = /* @__PURE__ */ new w(), Ha = /* @__PURE__ */ new w(), Ic = /* @__PURE__ */ new w(), vd = /* @__PURE__ */ new w(), Ld = /* @__PURE__ */ new w(), _a = /* @__PURE__ */ new w();
1783
1783
  function lS(i, A, e, t, g) {
1784
1784
  for (let I = 0, o = i.length - 3; I <= o; I += 3) {
1785
1785
  _a.fromArray(i, I);
@@ -1864,7 +1864,7 @@ class dI {
1864
1864
  return new this.constructor().copy(this);
1865
1865
  }
1866
1866
  }
1867
- const dC = /* @__PURE__ */ new w(), uS = /* @__PURE__ */ new w(), xd = /* @__PURE__ */ new w(), Un = /* @__PURE__ */ new w(), pS = /* @__PURE__ */ new w(), Yd = /* @__PURE__ */ new w(), fS = /* @__PURE__ */ new w();
1867
+ const uC = /* @__PURE__ */ new w(), uS = /* @__PURE__ */ new w(), xd = /* @__PURE__ */ new w(), Un = /* @__PURE__ */ new w(), pS = /* @__PURE__ */ new w(), Yd = /* @__PURE__ */ new w(), fS = /* @__PURE__ */ new w();
1868
1868
  class Ds {
1869
1869
  constructor(A = new w(), e = new w(0, 0, -1)) {
1870
1870
  this.origin = A, this.direction = e;
@@ -1882,7 +1882,7 @@ class Ds {
1882
1882
  return this.direction.copy(A).sub(this.origin).normalize(), this;
1883
1883
  }
1884
1884
  recast(A) {
1885
- return this.origin.copy(this.at(A, dC)), this;
1885
+ return this.origin.copy(this.at(A, uC)), this;
1886
1886
  }
1887
1887
  closestPointToPoint(A, e) {
1888
1888
  e.subVectors(A, this.origin);
@@ -1893,8 +1893,8 @@ class Ds {
1893
1893
  return Math.sqrt(this.distanceSqToPoint(A));
1894
1894
  }
1895
1895
  distanceSqToPoint(A) {
1896
- const e = dC.subVectors(A, this.origin).dot(this.direction);
1897
- return e < 0 ? this.origin.distanceToSquared(A) : (dC.copy(this.origin).addScaledVector(this.direction, e), dC.distanceToSquared(A));
1896
+ const e = uC.subVectors(A, this.origin).dot(this.direction);
1897
+ return e < 0 ? this.origin.distanceToSquared(A) : (uC.copy(this.origin).addScaledVector(this.direction, e), uC.distanceToSquared(A));
1898
1898
  }
1899
1899
  distanceSqToSegment(A, e, t, g) {
1900
1900
  uS.copy(A).add(e).multiplyScalar(0.5), xd.copy(e).sub(A).normalize(), Un.copy(this.origin).sub(uS);
@@ -1917,8 +1917,8 @@ class Ds {
1917
1917
  return t && t.copy(this.origin).addScaledVector(this.direction, B), g && g.copy(uS).addScaledVector(xd, Q), E;
1918
1918
  }
1919
1919
  intersectSphere(A, e) {
1920
- dC.subVectors(A.center, this.origin);
1921
- const t = dC.dot(this.direction), g = dC.dot(dC) - t * t, I = A.radius * A.radius;
1920
+ uC.subVectors(A.center, this.origin);
1921
+ const t = uC.dot(this.direction), g = uC.dot(uC) - t * t, I = A.radius * A.radius;
1922
1922
  if (g > I)
1923
1923
  return null;
1924
1924
  const o = Math.sqrt(I - g), s = t - o, C = t + o;
@@ -1948,7 +1948,7 @@ class Ds {
1948
1948
  return n >= 0 ? (t = (A.min.x - Q.x) * n, g = (A.max.x - Q.x) * n) : (t = (A.max.x - Q.x) * n, g = (A.min.x - Q.x) * n), a >= 0 ? (I = (A.min.y - Q.y) * a, o = (A.max.y - Q.y) * a) : (I = (A.max.y - Q.y) * a, o = (A.min.y - Q.y) * a), t > o || I > g || ((I > t || isNaN(t)) && (t = I), (o < g || isNaN(g)) && (g = o), B >= 0 ? (s = (A.min.z - Q.z) * B, C = (A.max.z - Q.z) * B) : (s = (A.max.z - Q.z) * B, C = (A.min.z - Q.z) * B), t > C || s > g) || ((s > t || t !== t) && (t = s), (C < g || g !== g) && (g = C), g < 0) ? null : this.at(t >= 0 ? t : g, e);
1949
1949
  }
1950
1950
  intersectsBox(A) {
1951
- return this.intersectBox(A, dC) !== null;
1951
+ return this.intersectBox(A, uC) !== null;
1952
1952
  }
1953
1953
  intersectTriangle(A, e, t, g, I) {
1954
1954
  pS.subVectors(e, A), Yd.subVectors(t, A), fS.crossVectors(pS, Yd);
@@ -2491,7 +2491,7 @@ class Wg {
2491
2491
  }
2492
2492
  }
2493
2493
  let $O = 0;
2494
- const aF = /* @__PURE__ */ new w(), UB = /* @__PURE__ */ new mA(), uC = /* @__PURE__ */ new RA(), Hd = /* @__PURE__ */ new w(), sc = /* @__PURE__ */ new w(), AP = /* @__PURE__ */ new w(), eP = /* @__PURE__ */ new mA(), rF = /* @__PURE__ */ new w(1, 0, 0), BF = /* @__PURE__ */ new w(0, 1, 0), QF = /* @__PURE__ */ new w(0, 0, 1), tP = { type: "added" }, EF = { type: "removed" };
2494
+ const aF = /* @__PURE__ */ new w(), UB = /* @__PURE__ */ new mA(), pC = /* @__PURE__ */ new RA(), Hd = /* @__PURE__ */ new w(), sc = /* @__PURE__ */ new w(), AP = /* @__PURE__ */ new w(), eP = /* @__PURE__ */ new mA(), rF = /* @__PURE__ */ new w(1, 0, 0), BF = /* @__PURE__ */ new w(0, 1, 0), QF = /* @__PURE__ */ new w(0, 0, 1), tP = { type: "added" }, EF = { type: "removed" };
2495
2495
  class yA extends tg {
2496
2496
  constructor() {
2497
2497
  super(), this.isObject3D = !0, Object.defineProperty(this, "id", { value: $O++ }), this.uuid = go(), this.name = "", this.type = "Object3D", this.parent = null, this.children = [], this.up = yA.DEFAULT_UP.clone();
@@ -2584,12 +2584,12 @@ class yA extends tg {
2584
2584
  return this.updateWorldMatrix(!0, !1), A.applyMatrix4(this.matrixWorld);
2585
2585
  }
2586
2586
  worldToLocal(A) {
2587
- return this.updateWorldMatrix(!0, !1), A.applyMatrix4(uC.copy(this.matrixWorld).invert());
2587
+ return this.updateWorldMatrix(!0, !1), A.applyMatrix4(pC.copy(this.matrixWorld).invert());
2588
2588
  }
2589
2589
  lookAt(A, e, t) {
2590
2590
  A.isVector3 ? Hd.copy(A) : Hd.set(A, e, t);
2591
2591
  const g = this.parent;
2592
- this.updateWorldMatrix(!0, !1), sc.setFromMatrixPosition(this.matrixWorld), this.isCamera || this.isLight ? uC.lookAt(sc, Hd, this.up) : uC.lookAt(Hd, sc, this.up), this.quaternion.setFromRotationMatrix(uC), g && (uC.extractRotation(g.matrixWorld), UB.setFromRotationMatrix(uC), this.quaternion.premultiply(UB.invert()));
2592
+ this.updateWorldMatrix(!0, !1), sc.setFromMatrixPosition(this.matrixWorld), this.isCamera || this.isLight ? pC.lookAt(sc, Hd, this.up) : pC.lookAt(Hd, sc, this.up), this.quaternion.setFromRotationMatrix(pC), g && (pC.extractRotation(g.matrixWorld), UB.setFromRotationMatrix(pC), this.quaternion.premultiply(UB.invert()));
2593
2593
  }
2594
2594
  add(A) {
2595
2595
  if (arguments.length > 1) {
@@ -2620,7 +2620,7 @@ class yA extends tg {
2620
2620
  return this.children.length = 0, this;
2621
2621
  }
2622
2622
  attach(A) {
2623
- return this.updateWorldMatrix(!0, !1), uC.copy(this.matrixWorld).invert(), A.parent !== null && (A.parent.updateWorldMatrix(!0, !1), uC.multiply(A.parent.matrixWorld)), A.applyMatrix4(uC), this.add(A), A.updateWorldMatrix(!1, !0), this;
2623
+ return this.updateWorldMatrix(!0, !1), pC.copy(this.matrixWorld).invert(), A.parent !== null && (A.parent.updateWorldMatrix(!0, !1), pC.multiply(A.parent.matrixWorld)), A.applyMatrix4(pC), this.add(A), A.updateWorldMatrix(!1, !0), this;
2624
2624
  }
2625
2625
  getObjectById(A) {
2626
2626
  return this.getObjectByProperty("id", A);
@@ -2787,7 +2787,7 @@ class yA extends tg {
2787
2787
  yA.DEFAULT_UP = /* @__PURE__ */ new w(0, 1, 0);
2788
2788
  yA.DEFAULT_MATRIX_AUTO_UPDATE = !0;
2789
2789
  yA.DEFAULT_MATRIX_WORLD_AUTO_UPDATE = !0;
2790
- const ts = /* @__PURE__ */ new w(), pC = /* @__PURE__ */ new w(), DS = /* @__PURE__ */ new w(), fC = /* @__PURE__ */ new w(), NB = /* @__PURE__ */ new w(), FB = /* @__PURE__ */ new w(), cF = /* @__PURE__ */ new w(), wS = /* @__PURE__ */ new w(), yS = /* @__PURE__ */ new w(), SS = /* @__PURE__ */ new w();
2790
+ const ts = /* @__PURE__ */ new w(), fC = /* @__PURE__ */ new w(), DS = /* @__PURE__ */ new w(), DC = /* @__PURE__ */ new w(), NB = /* @__PURE__ */ new w(), FB = /* @__PURE__ */ new w(), cF = /* @__PURE__ */ new w(), wS = /* @__PURE__ */ new w(), yS = /* @__PURE__ */ new w(), SS = /* @__PURE__ */ new w();
2791
2791
  let _d = !1;
2792
2792
  class BI {
2793
2793
  constructor(A = new w(), e = new w(), t = new w()) {
@@ -2801,24 +2801,24 @@ class BI {
2801
2801
  // static/instance method to calculate barycentric coordinates
2802
2802
  // based on: http://www.blackpawn.com/texts/pointinpoly/default.html
2803
2803
  static getBarycoord(A, e, t, g, I) {
2804
- ts.subVectors(g, e), pC.subVectors(t, e), DS.subVectors(A, e);
2805
- const o = ts.dot(ts), s = ts.dot(pC), C = ts.dot(DS), n = pC.dot(pC), a = pC.dot(DS), B = o * n - s * s;
2804
+ ts.subVectors(g, e), fC.subVectors(t, e), DS.subVectors(A, e);
2805
+ const o = ts.dot(ts), s = ts.dot(fC), C = ts.dot(DS), n = fC.dot(fC), a = fC.dot(DS), B = o * n - s * s;
2806
2806
  if (B === 0)
2807
2807
  return I.set(-2, -1, -1);
2808
2808
  const Q = 1 / B, E = (n * C - s * a) * Q, c = (o * a - s * C) * Q;
2809
2809
  return I.set(1 - E - c, c, E);
2810
2810
  }
2811
2811
  static containsPoint(A, e, t, g) {
2812
- return this.getBarycoord(A, e, t, g, fC), fC.x >= 0 && fC.y >= 0 && fC.x + fC.y <= 1;
2812
+ return this.getBarycoord(A, e, t, g, DC), DC.x >= 0 && DC.y >= 0 && DC.x + DC.y <= 1;
2813
2813
  }
2814
2814
  static getUV(A, e, t, g, I, o, s, C) {
2815
2815
  return _d === !1 && (console.warn("THREE.Triangle.getUV() has been renamed to THREE.Triangle.getInterpolation()."), _d = !0), this.getInterpolation(A, e, t, g, I, o, s, C);
2816
2816
  }
2817
2817
  static getInterpolation(A, e, t, g, I, o, s, C) {
2818
- return this.getBarycoord(A, e, t, g, fC), C.setScalar(0), C.addScaledVector(I, fC.x), C.addScaledVector(o, fC.y), C.addScaledVector(s, fC.z), C;
2818
+ return this.getBarycoord(A, e, t, g, DC), C.setScalar(0), C.addScaledVector(I, DC.x), C.addScaledVector(o, DC.y), C.addScaledVector(s, DC.z), C;
2819
2819
  }
2820
2820
  static isFrontFacing(A, e, t, g) {
2821
- return ts.subVectors(t, e), pC.subVectors(A, e), ts.cross(pC).dot(g) < 0;
2821
+ return ts.subVectors(t, e), fC.subVectors(A, e), ts.cross(fC).dot(g) < 0;
2822
2822
  }
2823
2823
  set(A, e, t) {
2824
2824
  return this.a.copy(A), this.b.copy(e), this.c.copy(t), this;
@@ -2836,7 +2836,7 @@ class BI {
2836
2836
  return this.a.copy(A.a), this.b.copy(A.b), this.c.copy(A.c), this;
2837
2837
  }
2838
2838
  getArea() {
2839
- return ts.subVectors(this.c, this.b), pC.subVectors(this.a, this.b), ts.cross(pC).length() * 0.5;
2839
+ return ts.subVectors(this.c, this.b), fC.subVectors(this.a, this.b), ts.cross(fC).length() * 0.5;
2840
2840
  }
2841
2841
  getMidpoint(A) {
2842
2842
  return A.addVectors(this.a, this.b).add(this.c).multiplyScalar(1 / 3);
@@ -3348,7 +3348,7 @@ class rt extends Le {
3348
3348
  return super.copy(A), this.color.copy(A.color), this.map = A.map, this.lightMap = A.lightMap, this.lightMapIntensity = A.lightMapIntensity, this.aoMap = A.aoMap, this.aoMapIntensity = A.aoMapIntensity, this.specularMap = A.specularMap, this.alphaMap = A.alphaMap, this.envMap = A.envMap, this.combine = A.combine, this.reflectivity = A.reflectivity, this.refractionRatio = A.refractionRatio, this.wireframe = A.wireframe, this.wireframeLinewidth = A.wireframeLinewidth, this.wireframeLinecap = A.wireframeLinecap, this.wireframeLinejoin = A.wireframeLinejoin, this.fog = A.fog, this;
3349
3349
  }
3350
3350
  }
3351
- const xC = /* @__PURE__ */ gP();
3351
+ const YC = /* @__PURE__ */ gP();
3352
3352
  function gP() {
3353
3353
  const i = new ArrayBuffer(4), A = new Float32Array(i), e = new Uint32Array(i), t = new Uint32Array(512), g = new Uint32Array(512);
3354
3354
  for (let C = 0; C < 256; ++C) {
@@ -3383,13 +3383,13 @@ function gP() {
3383
3383
  };
3384
3384
  }
3385
3385
  function SI(i) {
3386
- Math.abs(i) > 65504 && console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."), i = ci(i, -65504, 65504), xC.floatView[0] = i;
3387
- const A = xC.uint32View[0], e = A >> 23 & 511;
3388
- return xC.baseTable[e] + ((A & 8388607) >> xC.shiftTable[e]);
3386
+ Math.abs(i) > 65504 && console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."), i = ci(i, -65504, 65504), YC.floatView[0] = i;
3387
+ const A = YC.uint32View[0], e = A >> 23 & 511;
3388
+ return YC.baseTable[e] + ((A & 8388607) >> YC.shiftTable[e]);
3389
3389
  }
3390
3390
  function Yc(i) {
3391
3391
  const A = i >> 10;
3392
- return xC.uint32View[0] = xC.mantissaTable[xC.offsetTable[A] + (i & 1023)] + xC.exponentTable[A], xC.floatView[0];
3392
+ return YC.uint32View[0] = YC.mantissaTable[YC.offsetTable[A] + (i & 1023)] + YC.exponentTable[A], YC.floatView[0];
3393
3393
  }
3394
3394
  const Mr = {
3395
3395
  toHalfFloat: SI,
@@ -12129,7 +12129,7 @@ function LW(i, A, e, t, g, I, o) {
12129
12129
  let oe;
12130
12130
  const fe = q.mipmaps, ye = s && q.isVideoTexture !== !0, eA = Z.__version === void 0 || JA === !0, cA = S(q, BA, jA);
12131
12131
  if (q.isDepthTexture)
12132
- vA = i.DEPTH_COMPONENT, s ? q.type === hi ? vA = i.DEPTH_COMPONENT32F : q.type === Es ? vA = i.DEPTH_COMPONENT24 : q.type === $C ? vA = i.DEPTH24_STENCIL8 : vA = i.DEPTH_COMPONENT16 : q.type === hi && console.error("WebGLRenderer: Floating point depth texture requires WebGL2."), q.format === Ca && vA === i.DEPTH_COMPONENT && q.type !== UD && q.type !== Es && (console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."), q.type = Es, OA = I.convert(q.type)), q.format === da && vA === i.DEPTH_COMPONENT && (vA = i.DEPTH_STENCIL, q.type !== $C && (console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."), q.type = $C, OA = I.convert(q.type))), eA && (ye ? e.texStorage2D(i.TEXTURE_2D, 1, vA, BA.width, BA.height) : e.texImage2D(i.TEXTURE_2D, 0, vA, BA.width, BA.height, 0, ZA, OA, null));
12132
+ vA = i.DEPTH_COMPONENT, s ? q.type === hi ? vA = i.DEPTH_COMPONENT32F : q.type === Es ? vA = i.DEPTH_COMPONENT24 : q.type === An ? vA = i.DEPTH24_STENCIL8 : vA = i.DEPTH_COMPONENT16 : q.type === hi && console.error("WebGLRenderer: Floating point depth texture requires WebGL2."), q.format === Ca && vA === i.DEPTH_COMPONENT && q.type !== UD && q.type !== Es && (console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."), q.type = Es, OA = I.convert(q.type)), q.format === da && vA === i.DEPTH_COMPONENT && (vA = i.DEPTH_STENCIL, q.type !== An && (console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."), q.type = An, OA = I.convert(q.type))), eA && (ye ? e.texStorage2D(i.TEXTURE_2D, 1, vA, BA.width, BA.height) : e.texImage2D(i.TEXTURE_2D, 0, vA, BA.width, BA.height, 0, ZA, OA, null));
12133
12133
  else if (q.isDataTexture)
12134
12134
  if (fe.length > 0 && jA) {
12135
12135
  ye && eA && e.texStorage2D(i.TEXTURE_2D, cA, vA, fe[0].width, fe[0].height);
@@ -12416,7 +12416,7 @@ function yL(i, A, e) {
12416
12416
  return i.DEPTH_STENCIL;
12417
12417
  if (I === df)
12418
12418
  return s = A.get("EXT_sRGB"), s !== null ? s.SRGB_ALPHA_EXT : null;
12419
- if (I === OC)
12419
+ if (I === PC)
12420
12420
  return i.RED;
12421
12421
  if (I === nm)
12422
12422
  return i.RED_INTEGER;
@@ -12522,7 +12522,7 @@ function yL(i, A, e) {
12522
12522
  return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT;
12523
12523
  } else
12524
12524
  return null;
12525
- return I === $C ? t ? i.UNSIGNED_INT_24_8 : (s = A.get("WEBGL_depth_texture"), s !== null ? s.UNSIGNED_INT_24_8_WEBGL : null) : i[I] !== void 0 ? i[I] : null;
12525
+ return I === An ? t ? i.UNSIGNED_INT_24_8 : (s = A.get("WEBGL_depth_texture"), s !== null ? s.UNSIGNED_INT_24_8_WEBGL : null) : i[I] !== void 0 ? i[I] : null;
12526
12526
  }
12527
12527
  return { convert: g };
12528
12528
  }
@@ -12604,7 +12604,7 @@ class ql extends ve {
12604
12604
  constructor(A, e, t, g, I, o, s, C, n, a) {
12605
12605
  if (a = a !== void 0 ? a : Ca, a !== Ca && a !== da)
12606
12606
  throw new Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");
12607
- t === void 0 && a === Ca && (t = Es), t === void 0 && a === da && (t = $C), super(null, g, I, o, s, C, a, t, n), this.isDepthTexture = !0, this.image = { width: A, height: e }, this.magFilter = s !== void 0 ? s : Ye, this.minFilter = C !== void 0 ? C : Ye, this.flipY = !1, this.generateMipmaps = !1, this.compareFunction = null;
12607
+ t === void 0 && a === Ca && (t = Es), t === void 0 && a === da && (t = An), super(null, g, I, o, s, C, a, t, n), this.isDepthTexture = !0, this.image = { width: A, height: e }, this.magFilter = s !== void 0 ? s : Ye, this.minFilter = C !== void 0 ? C : Ye, this.flipY = !1, this.generateMipmaps = !1, this.compareFunction = null;
12608
12608
  }
12609
12609
  copy(A) {
12610
12610
  return super.copy(A), this.compareFunction = A.compareFunction, this;
@@ -12691,7 +12691,7 @@ class YW extends tg {
12691
12691
  );
12692
12692
  } else {
12693
12693
  let gA = null, dA = null, fA = null;
12694
- d.depth && (fA = d.stencil ? e.DEPTH24_STENCIL8 : e.DEPTH_COMPONENT24, gA = d.stencil ? da : Ca, dA = d.stencil ? $C : Es);
12694
+ d.depth && (fA = d.stencil ? e.DEPTH24_STENCIL8 : e.DEPTH_COMPONENT24, gA = d.stencil ? da : Ca, dA = d.stencil ? An : Es);
12695
12695
  const UA = {
12696
12696
  colorFormat: e.RGBA8,
12697
12697
  depthFormat: fA,
@@ -13142,7 +13142,7 @@ class Ma {
13142
13142
  O = aA === rm || aA === am || aA === nm;
13143
13143
  }
13144
13144
  if (O) {
13145
- const aA = M.texture.type, uA = aA === pt || aA === Es || aA === UD || aA === $C || aA === sm || aA === Cm, wA = BA.getClearColor(), QA = BA.getClearAlpha(), kA = wA.r, qA = wA.g, bA = wA.b;
13145
+ const aA = M.texture.type, uA = aA === pt || aA === Es || aA === UD || aA === An || aA === sm || aA === Cm, wA = BA.getClearColor(), QA = BA.getClearAlpha(), kA = wA.r, qA = wA.g, bA = wA.b;
13146
13146
  uA ? (E[0] = kA, E[1] = qA, E[2] = bA, E[3] = QA, V.clearBufferuiv(V.COLOR, 0, E)) : (c[0] = kA, c[1] = qA, c[2] = bA, c[3] = QA, V.clearBufferiv(V.COLOR, 0, c));
13147
13147
  } else
13148
13148
  Y |= V.COLOR_BUFFER_BIT;
@@ -13382,9 +13382,9 @@ class Ma {
13382
13382
  const dt = x.morphAttributes;
13383
13383
  if ((dt.position !== void 0 || dt.normal !== void 0 || dt.color !== void 0 && LA.isWebGL2 === !0) && jA.update(O, x, Bt), (Lt || de.receiveShadow !== O.receiveShadow) && (de.receiveShadow = O.receiveShadow, nt.setValue(V, "receiveShadow", O.receiveShadow)), Y.isMeshGouraudMaterial && Y.envMap !== null && ($e.envMap.value = QA, $e.flipEnvMap.value = QA.isCubeTexture && QA.isRenderTargetTexture === !1 ? -1 : 1), Lt && (nt.setValue(V, "toneMappingExposure", u.toneMappingExposure), de.needsLights && BS($e, qg), aA && Y.fog === !0 && KA.refreshFogUniforms($e, aA), KA.refreshMaterialUniforms($e, Y, b, L, NA), kp.upload(V, de.uniformsList, $e, zA)), Y.isShaderMaterial && Y.uniformsNeedUpdate === !0 && (kp.upload(V, de.uniformsList, $e, zA), Y.uniformsNeedUpdate = !1), Y.isSpriteMaterial && nt.setValue(V, "center", O.center), nt.setValue(V, "modelViewMatrix", O.modelViewMatrix), nt.setValue(V, "normalMatrix", O.normalMatrix), nt.setValue(V, "modelMatrix", O.matrixWorld), Y.isShaderMaterial || Y.isRawShaderMaterial) {
13384
13384
  const $t = Y.uniformsGroups;
13385
- for (let cC = 0, uo = $t.length; cC < uo; cC++)
13385
+ for (let hC = 0, uo = $t.length; hC < uo; hC++)
13386
13386
  if (LA.isWebGL2) {
13387
- const Ta = $t[cC];
13387
+ const Ta = $t[hC];
13388
13388
  fe.update(Ta, Bt), fe.bind(Ta, Bt);
13389
13389
  } else
13390
13390
  console.warn("THREE.WebGLRenderer: Uniform Buffer Objects can only be used with WebGL 2.");
@@ -13591,7 +13591,7 @@ class bl {
13591
13591
  }
13592
13592
  }
13593
13593
  const iI = /* @__PURE__ */ new w();
13594
- class Cn {
13594
+ class nn {
13595
13595
  constructor(A, e, t, g = !1) {
13596
13596
  this.isInterleavedBufferAttribute = !0, this.name = "", this.data = A, this.itemSize = e, this.offset = t, this.normalized = g;
13597
13597
  }
@@ -13667,7 +13667,7 @@ class Cn {
13667
13667
  }
13668
13668
  return new $A(new this.array.constructor(e), this.itemSize, this.normalized);
13669
13669
  } else
13670
- return A.interleavedBuffers === void 0 && (A.interleavedBuffers = {}), A.interleavedBuffers[this.data.uuid] === void 0 && (A.interleavedBuffers[this.data.uuid] = this.data.clone(A)), new Cn(A.interleavedBuffers[this.data.uuid], this.itemSize, this.offset, this.normalized);
13670
+ return A.interleavedBuffers === void 0 && (A.interleavedBuffers = {}), A.interleavedBuffers[this.data.uuid] === void 0 && (A.interleavedBuffers[this.data.uuid] = this.data.clone(A)), new nn(A.interleavedBuffers[this.data.uuid], this.itemSize, this.offset, this.normalized);
13671
13671
  }
13672
13672
  toJSON(A) {
13673
13673
  if (A === void 0) {
@@ -13730,7 +13730,7 @@ let mL = class extends yA {
13730
13730
  0,
13731
13731
  1
13732
13732
  ]), t = new bl(e, 5);
13733
- YB.setIndex([0, 1, 2, 0, 2, 3]), YB.setAttribute("position", new Cn(t, 3, 0, !1)), YB.setAttribute("uv", new Cn(t, 2, 3, !1));
13733
+ YB.setIndex([0, 1, 2, 0, 2, 3]), YB.setAttribute("position", new nn(t, 3, 0, !1)), YB.setAttribute("uv", new nn(t, 2, 3, !1));
13734
13734
  }
13735
13735
  this.geometry = YB, this.material = A !== void 0 ? A : new Gm(), this.center = new iA(0.5, 0.5);
13736
13736
  }
@@ -14269,12 +14269,12 @@ class jW extends ve {
14269
14269
  super({ width: A, height: e }), this.isFramebufferTexture = !0, this.magFilter = Ye, this.minFilter = Ye, this.generateMipmaps = !1, this.needsUpdate = !0;
14270
14270
  }
14271
14271
  }
14272
- class An extends ve {
14272
+ class en extends ve {
14273
14273
  constructor(A, e, t, g, I, o, s, C, n, a, B, Q) {
14274
14274
  super(null, o, s, C, n, a, g, I, B, Q), this.isCompressedTexture = !0, this.image = { width: e, height: t }, this.mipmaps = A, this.flipY = !1, this.generateMipmaps = !1;
14275
14275
  }
14276
14276
  }
14277
- class UL extends An {
14277
+ class UL extends en {
14278
14278
  constructor(A, e, t, g, I, o) {
14279
14279
  super(A, e, t, I, o), this.isCompressedArrayTexture = !0, this.image.depth = g, this.wrapR = rg;
14280
14280
  }
@@ -16058,7 +16058,7 @@ class xl extends ma {
16058
16058
  return new xl(A.radius, A.detail);
16059
16059
  }
16060
16060
  }
16061
- class WC extends ma {
16061
+ class jC extends ma {
16062
16062
  constructor(A = 1, e = 0) {
16063
16063
  const t = [
16064
16064
  1,
@@ -16111,7 +16111,7 @@ class WC extends ma {
16111
16111
  };
16112
16112
  }
16113
16113
  static fromJSON(A) {
16114
- return new WC(A.radius, A.detail);
16114
+ return new jC(A.radius, A.detail);
16115
16115
  }
16116
16116
  }
16117
16117
  class Yl extends ue {
@@ -16290,7 +16290,7 @@ class XD extends ma {
16290
16290
  return new XD(A.radius, A.detail);
16291
16291
  }
16292
16292
  }
16293
- class YC extends ue {
16293
+ class TC extends ue {
16294
16294
  constructor(A = 1, e = 0.4, t = 12, g = 48, I = Math.PI * 2) {
16295
16295
  super(), this.type = "TorusGeometry", this.parameters = {
16296
16296
  radius: A,
@@ -16316,7 +16316,7 @@ class YC extends ue {
16316
16316
  return super.copy(A), this.parameters = Object.assign({}, A.parameters), this;
16317
16317
  }
16318
16318
  static fromJSON(A) {
16319
- return new YC(A.radius, A.tube, A.radialSegments, A.tubularSegments, A.arc);
16319
+ return new TC(A.radius, A.tube, A.radialSegments, A.tubularSegments, A.arc);
16320
16320
  }
16321
16321
  }
16322
16322
  class $D extends ue {
@@ -16463,14 +16463,14 @@ var BK = /* @__PURE__ */ Object.freeze({
16463
16463
  ExtrudeGeometry: ZD,
16464
16464
  IcosahedronGeometry: xl,
16465
16465
  LatheGeometry: Ll,
16466
- OctahedronGeometry: WC,
16466
+ OctahedronGeometry: jC,
16467
16467
  PlaneGeometry: cg,
16468
16468
  PolyhedronGeometry: ma,
16469
16469
  RingGeometry: Yl,
16470
16470
  ShapeGeometry: zD,
16471
16471
  SphereGeometry: zo,
16472
16472
  TetrahedronGeometry: XD,
16473
- TorusGeometry: YC,
16473
+ TorusGeometry: TC,
16474
16474
  TorusKnotGeometry: $D,
16475
16475
  TubeGeometry: Aw,
16476
16476
  WireframeGeometry: YL
@@ -17086,9 +17086,9 @@ eB.prototype.ValueBufferType = Array;
17086
17086
  eB.prototype.DefaultInterpolation = ua;
17087
17087
  eB.prototype.InterpolantFactoryMethodLinear = void 0;
17088
17088
  eB.prototype.InterpolantFactoryMethodSmooth = void 0;
17089
- class nn extends ys {
17089
+ class an extends ys {
17090
17090
  }
17091
- nn.prototype.ValueTypeName = "vector";
17091
+ an.prototype.ValueTypeName = "vector";
17092
17092
  class FI {
17093
17093
  constructor(A, e = -1, t, g = FD) {
17094
17094
  this.name = A, this.tracks = t, this.duration = e, this.blendMode = g, this.uuid = go(), this.duration < 0 && this.resetDuration();
@@ -17192,7 +17192,7 @@ class FI {
17192
17192
  } else {
17193
17193
  const E = ".bones[" + e[B].name + "]";
17194
17194
  t(
17195
- nn,
17195
+ an,
17196
17196
  E + ".position",
17197
17197
  Q,
17198
17198
  "pos",
@@ -17204,7 +17204,7 @@ class FI {
17204
17204
  "rot",
17205
17205
  g
17206
17206
  ), t(
17207
- nn,
17207
+ an,
17208
17208
  E + ".scale",
17209
17209
  Q,
17210
17210
  "scl",
@@ -17261,7 +17261,7 @@ function S8(i) {
17261
17261
  case "vector2":
17262
17262
  case "vector3":
17263
17263
  case "vector4":
17264
- return nn;
17264
+ return an;
17265
17265
  case "color":
17266
17266
  return tw;
17267
17267
  case "quaternion":
@@ -17363,7 +17363,7 @@ class Ug {
17363
17363
  }
17364
17364
  }
17365
17365
  Ug.DEFAULT_MATERIAL_NAME = "__DEFAULT";
17366
- const DC = {};
17366
+ const wC = {};
17367
17367
  class G8 extends Error {
17368
17368
  constructor(A, e) {
17369
17369
  super(A), this.response = e;
@@ -17380,15 +17380,15 @@ class Xi extends Ug {
17380
17380
  return this.manager.itemStart(A), setTimeout(() => {
17381
17381
  e && e(I), this.manager.itemEnd(A);
17382
17382
  }, 0), I;
17383
- if (DC[A] !== void 0) {
17384
- DC[A].push({
17383
+ if (wC[A] !== void 0) {
17384
+ wC[A].push({
17385
17385
  onLoad: e,
17386
17386
  onProgress: t,
17387
17387
  onError: g
17388
17388
  });
17389
17389
  return;
17390
17390
  }
17391
- DC[A] = [], DC[A].push({
17391
+ wC[A] = [], wC[A].push({
17392
17392
  onLoad: e,
17393
17393
  onProgress: t,
17394
17394
  onError: g
@@ -17402,7 +17402,7 @@ class Xi extends Ug {
17402
17402
  if (n.status === 200 || n.status === 0) {
17403
17403
  if (n.status === 0 && console.warn("THREE.FileLoader: HTTP Status 0 received."), typeof ReadableStream > "u" || n.body === void 0 || n.body.getReader === void 0)
17404
17404
  return n;
17405
- const a = DC[A], B = n.body.getReader(), Q = n.headers.get("Content-Length") || n.headers.get("X-File-Size"), E = Q ? parseInt(Q) : 0, c = E !== 0;
17405
+ const a = wC[A], B = n.body.getReader(), Q = n.headers.get("Content-Length") || n.headers.get("X-File-Size"), E = Q ? parseInt(Q) : 0, c = E !== 0;
17406
17406
  let d = 0;
17407
17407
  const l = new ReadableStream({
17408
17408
  start(h) {
@@ -17447,17 +17447,17 @@ class Xi extends Ug {
17447
17447
  }
17448
17448
  }).then((n) => {
17449
17449
  Pr.add(A, n);
17450
- const a = DC[A];
17451
- delete DC[A];
17450
+ const a = wC[A];
17451
+ delete wC[A];
17452
17452
  for (let B = 0, Q = a.length; B < Q; B++) {
17453
17453
  const E = a[B];
17454
17454
  E.onLoad && E.onLoad(n);
17455
17455
  }
17456
17456
  }).catch((n) => {
17457
- const a = DC[A];
17457
+ const a = wC[A];
17458
17458
  if (a === void 0)
17459
17459
  throw this.manager.itemError(A), n;
17460
- delete DC[A];
17460
+ delete wC[A];
17461
17461
  for (let B = 0, Q = a.length; B < Q; B++) {
17462
17462
  const E = a[B];
17463
17463
  E.onError && E.onError(n);
@@ -17502,7 +17502,7 @@ class m8 extends Ug {
17502
17502
  super(A);
17503
17503
  }
17504
17504
  load(A, e, t, g) {
17505
- const I = this, o = [], s = new An(), C = new Xi(this.manager);
17505
+ const I = this, o = [], s = new en(), C = new Xi(this.manager);
17506
17506
  C.setPath(this.path), C.setResponseType("arraybuffer"), C.setRequestHeader(this.requestHeader), C.setWithCredentials(I.withCredentials);
17507
17507
  let n = 0;
17508
17508
  function a(B) {
@@ -17593,7 +17593,7 @@ class Tm extends Ug {
17593
17593
  }, t, g), o;
17594
17594
  }
17595
17595
  }
17596
- class en extends Ug {
17596
+ class tn extends Ug {
17597
17597
  constructor(A) {
17598
17598
  super(A);
17599
17599
  }
@@ -18066,7 +18066,7 @@ class Ax extends Ug {
18066
18066
  let d;
18067
18067
  if (c.isInterleavedBufferAttribute) {
18068
18068
  const l = g(A.data, c.data);
18069
- d = new Cn(l, c.itemSize, c.offset, c.normalized);
18069
+ d = new nn(l, c.itemSize, c.offset, c.normalized);
18070
18070
  } else {
18071
18071
  const l = pQ(c.type, c.array), h = c.isInstancedBufferAttribute ? ZI : $A;
18072
18072
  d = new h(l, c.itemSize, c.normalized);
@@ -18082,7 +18082,7 @@ class Ax extends Ug {
18082
18082
  let u;
18083
18083
  if (p.isInterleavedBufferAttribute) {
18084
18084
  const f = g(A.data, p.data);
18085
- u = new Cn(f, p.itemSize, p.offset, p.normalized);
18085
+ u = new nn(f, p.itemSize, p.offset, p.normalized);
18086
18086
  } else {
18087
18087
  const f = pQ(p.type, p.array);
18088
18088
  u = new $A(f, p.itemSize, p.normalized);
@@ -18252,10 +18252,10 @@ class K8 extends Ug {
18252
18252
  const l = Q[c], h = s(l);
18253
18253
  h !== null && (h instanceof HTMLImageElement ? E.push(h) : E.push(new Oo(h.data, h.width, h.height)));
18254
18254
  }
18255
- g[B.uuid] = new PC(E);
18255
+ g[B.uuid] = new WC(E);
18256
18256
  } else {
18257
18257
  const E = s(B.url);
18258
- g[B.uuid] = new PC(E);
18258
+ g[B.uuid] = new WC(E);
18259
18259
  }
18260
18260
  }
18261
18261
  }
@@ -18285,10 +18285,10 @@ class K8 extends Ug {
18285
18285
  const E = n[B], c = await I(E);
18286
18286
  c !== null && (c instanceof HTMLImageElement ? a.push(c) : a.push(new Oo(c.data, c.width, c.height)));
18287
18287
  }
18288
- t[C.uuid] = new PC(a);
18288
+ t[C.uuid] = new WC(a);
18289
18289
  } else {
18290
18290
  const a = await I(C.url);
18291
- t[C.uuid] = new PC(a);
18291
+ t[C.uuid] = new WC(a);
18292
18292
  }
18293
18293
  }
18294
18294
  }
@@ -20181,7 +20181,7 @@ const Cj = /* @__PURE__ */ new w(), GK = /* @__PURE__ */ new SA(), MK = /* @__PU
20181
20181
  class nj extends yA {
20182
20182
  constructor(A, e, t) {
20183
20183
  super(), this.light = A, this.matrix = A.matrixWorld, this.matrixAutoUpdate = !1, this.color = t, this.type = "HemisphereLightHelper";
20184
- const g = new WC(e);
20184
+ const g = new jC(e);
20185
20185
  g.rotateY(Math.PI * 0.5), this.material = new rt({ wireframe: !0, fog: !1, toneMapped: !1 }), this.color === void 0 && (this.material.vertexColors = !0);
20186
20186
  const I = g.getAttribute("position"), o = new Float32Array(I.count * 3);
20187
20187
  g.setAttribute("color", new $A(o, 3)), this.add(new pA(g, this.material)), this.update();
@@ -20608,7 +20608,7 @@ const Ej = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
20608
20608
  ColorKeyframeTrack: tw,
20609
20609
  ColorManagement: Mo,
20610
20610
  CompressedArrayTexture: UL,
20611
- CompressedTexture: An,
20611
+ CompressedTexture: en,
20612
20612
  CompressedTextureLoader: m8,
20613
20613
  ConeGeometry: WD,
20614
20614
  CubeCamera: Dm,
@@ -20702,7 +20702,7 @@ const Ej = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
20702
20702
  Int8BufferAttribute: IP,
20703
20703
  IntType: om,
20704
20704
  InterleavedBuffer: bl,
20705
- InterleavedBufferAttribute: Cn,
20705
+ InterleavedBufferAttribute: nn,
20706
20706
  Interpolant: pE,
20707
20707
  InterpolateDiscrete: ua,
20708
20708
  InterpolateLinear: $s,
@@ -20789,7 +20789,7 @@ const Ej = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
20789
20789
  Object3D: yA,
20790
20790
  ObjectLoader: K8,
20791
20791
  ObjectSpaceNormalMap: Pv,
20792
- OctahedronGeometry: WC,
20792
+ OctahedronGeometry: jC,
20793
20793
  OneFactor: Gv,
20794
20794
  OneMinusDstAlphaFactor: Uv,
20795
20795
  OneMinusDstColorFactor: Fv,
@@ -20856,7 +20856,7 @@ const Ej = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
20856
20856
  Ray: Ds,
20857
20857
  Raycaster: tB,
20858
20858
  RectAreaLight: XL,
20859
- RedFormat: OC,
20859
+ RedFormat: PC,
20860
20860
  RedIntegerFormat: nm,
20861
20861
  ReinhardToneMapping: gm,
20862
20862
  RepeatWrapping: Wo,
@@ -20879,7 +20879,7 @@ const Ej = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
20879
20879
  Skeleton: uE,
20880
20880
  SkeletonHelper: oj,
20881
20881
  SkinnedMesh: ds,
20882
- Source: PC,
20882
+ Source: WC,
20883
20883
  Sphere: dI,
20884
20884
  SphereGeometry: zo,
20885
20885
  Spherical: lG,
@@ -20906,8 +20906,8 @@ const Ej = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
20906
20906
  TangentSpaceNormalMap: Ga,
20907
20907
  TetrahedronGeometry: XD,
20908
20908
  Texture: ve,
20909
- TextureLoader: en,
20910
- TorusGeometry: YC,
20909
+ TextureLoader: tn,
20910
+ TorusGeometry: TC,
20911
20911
  TorusKnotGeometry: $D,
20912
20912
  Triangle: BI,
20913
20913
  TriangleFanDrawMode: hf,
@@ -20925,7 +20925,7 @@ const Ej = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
20925
20925
  UniformsLib: TA,
20926
20926
  UniformsUtils: bD,
20927
20927
  UnsignedByteType: pt,
20928
- UnsignedInt248Type: $C,
20928
+ UnsignedInt248Type: An,
20929
20929
  UnsignedIntType: Es,
20930
20930
  UnsignedShort4444Type: sm,
20931
20931
  UnsignedShort5551Type: Cm,
@@ -20934,7 +20934,7 @@ const Ej = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
20934
20934
  Vector2: iA,
20935
20935
  Vector3: w,
20936
20936
  Vector4: ee,
20937
- VectorKeyframeTrack: nn,
20937
+ VectorKeyframeTrack: an,
20938
20938
  VideoTexture: RL,
20939
20939
  WebGL1Renderer: kL,
20940
20940
  WebGL3DRenderTarget: VO,
@@ -21361,7 +21361,7 @@ function Qx() {
21361
21361
  return hx;
21362
21362
  }
21363
21363
  const Ex = console.error, cx = function(...i) {
21364
- Ex.apply(console, i), Rj(i), tn(2, i), DG();
21364
+ Ex.apply(console, i), Rj(i), gn(2, i), DG();
21365
21365
  };
21366
21366
  function lrA(i) {
21367
21367
  KQ = !i, i ? console.error = cx : console.error = Ex;
@@ -21378,9 +21378,9 @@ function mj() {
21378
21378
  qI() && console.warn("Received unknown error", A, A.target);
21379
21379
  return;
21380
21380
  }
21381
- tn(2, e, A.filename, A.lineno), DG();
21381
+ gn(2, e, A.filename, A.lineno), DG();
21382
21382
  }, !0), window.addEventListener("unhandledrejection", (A) => {
21383
- KQ || A && (A.reason ? tn(2, A.reason.message, A.reason.stack) : tn(2, "unhandled rejection"), DG());
21383
+ KQ || A && (A.reason ? gn(2, A.reason.message, A.reason.stack) : gn(2, "unhandled rejection"), DG());
21384
21384
  }));
21385
21385
  }
21386
21386
  let hx = 0;
@@ -21394,7 +21394,7 @@ function Rj(i) {
21394
21394
  typeof e == "string" && e.startsWith("THREE.PropertyBinding: Trying to update node for track:") && (i[A] = "Some animated objects couldn't be found: see console for details");
21395
21395
  }
21396
21396
  }
21397
- function tn(i, A, e, t) {
21397
+ function gn(i, A, e, t) {
21398
21398
  if (KQ)
21399
21399
  return;
21400
21400
  const g = Yt.Current, I = (g == null ? void 0 : g.domElement) ?? document.querySelector("needle-engine");
@@ -21519,7 +21519,7 @@ function Kj(i, A) {
21519
21519
  }
21520
21520
  return e.title = "Open the browser console (F12) for more information", e.innerHTML = A, e;
21521
21521
  }
21522
- let gn = null, jI = null, js = null, VS = !1, vK = null;
21522
+ let In = null, jI = null, js = null, VS = !1, vK = null;
21523
21523
  const dx = "📜", wG = sA("console"), Jj = sA("noerrors") || sA("noconsole");
21524
21524
  wG && ux();
21525
21525
  if (!Jj && (wG || qI())) {
@@ -21532,7 +21532,7 @@ Open this page console: ` + A.toString());
21532
21532
  if (i && (px(), fx(!0), i)) {
21533
21533
  const A = document.querySelector("needle-engine");
21534
21534
  A == null || A.addEventListener("enter-ar", () => {
21535
- (wG || gn || Qx() > 0) && sA("noerrors");
21535
+ (wG || In || Qx() > 0) && sA("noerrors");
21536
21536
  }), A == null || A.addEventListener("exit-ar", () => {
21537
21537
  xj();
21538
21538
  });
@@ -21540,14 +21540,14 @@ Open this page console: ` + A.toString());
21540
21540
  }
21541
21541
  const yG = Symbol("consoleParent");
21542
21542
  function ux() {
21543
- if (gn !== null) {
21544
- gn.showSwitch();
21543
+ if (In !== null) {
21544
+ In.showSwitch();
21545
21545
  return;
21546
21546
  }
21547
21547
  fx();
21548
21548
  }
21549
21549
  function qj() {
21550
- gn !== null && (gn.hide(), gn.hideSwitch());
21550
+ In !== null && (In.hide(), In.hideSwitch());
21551
21551
  }
21552
21552
  function px() {
21553
21553
  vK || (vK = setInterval(bj, 500));
@@ -21567,12 +21567,12 @@ function xj() {
21567
21567
  jI && jI[yG] && jI[yG].appendChild(jI);
21568
21568
  }
21569
21569
  function fx(i = !1) {
21570
- if (gn || VS)
21570
+ if (In || VS)
21571
21571
  return;
21572
21572
  VS = !0;
21573
21573
  const A = document.createElement("script");
21574
21574
  A.onload = () => {
21575
- if (VS = !1, px(), gn = new window.VConsole(), jI = Tj(), jI && (jI[yG] = jI.parentElement, jI.style.position = "absolute", jI.style.zIndex = Number.MAX_SAFE_INTEGER.toString()), gn.setSwitchPosition(20, 10), js = Yj(), js) {
21575
+ if (VS = !1, px(), In = new window.VConsole(), jI = Tj(), jI && (jI[yG] = jI.parentElement, jI.style.position = "absolute", jI.style.zIndex = Number.MAX_SAFE_INTEGER.toString()), In.setSwitchPosition(20, 10), js = Yj(), js) {
21576
21576
  js.innerText = dx, js.addEventListener("click", Lj);
21577
21577
  const e = document.createElement("style"), t = 40;
21578
21578
  e.innerHTML = `
@@ -21627,7 +21627,7 @@ function Tj() {
21627
21627
  return i || null;
21628
21628
  }
21629
21629
  function qi(i, A = us.Log) {
21630
- tn(A, i);
21630
+ gn(A, i);
21631
21631
  }
21632
21632
  function Ng(i) {
21633
21633
  qi(i, us.Warn);
@@ -22834,7 +22834,7 @@ var nV = (i) => {
22834
22834
  var A = {};
22835
22835
  return ps.d(A, i), A;
22836
22836
  };
22837
- const _A = nV({ BackSide: () => Si, BufferAttribute: () => $A, BufferGeometry: () => ue, Color: () => SA, DoubleSide: () => yt, EventDispatcher: () => tg, FileLoader: () => Xi, FrontSide: () => Vg, LinearFilter: () => Ne, Mesh: () => pA, MeshBasicMaterial: () => rt, Object3D: () => yA, Plane: () => zI, PlaneGeometry: () => cg, ShaderMaterial: () => Fe, Texture: () => ve, TextureLoader: () => en, Vector2: () => iA, Vector3: () => w, Vector4: () => ee });
22837
+ const _A = nV({ BackSide: () => Si, BufferAttribute: () => $A, BufferGeometry: () => ue, Color: () => SA, DoubleSide: () => yt, EventDispatcher: () => tg, FileLoader: () => Xi, FrontSide: () => Vg, LinearFilter: () => Ne, Mesh: () => pA, MeshBasicMaterial: () => rt, Object3D: () => yA, Plane: () => zI, PlaneGeometry: () => cg, ShaderMaterial: () => Fe, Texture: () => ve, TextureLoader: () => tn, Vector2: () => iA, Vector3: () => w, Vector4: () => ee });
22838
22838
  class zt extends Dt {
22839
22839
  /**
22840
22840
  *
@@ -23934,7 +23934,7 @@ class Ux extends $h {
23934
23934
  A._backgroundMesh.visible = !(this._input === "none" || this._input === "transparent"), this._input === "inherit" ? this._value.set(this.getInheritedInput(A)) : this._input === "transparent" || this._input === "none" || this._value.set(this._input);
23935
23935
  }
23936
23936
  }
23937
- class MC extends Dt {
23937
+ class mC extends Dt {
23938
23938
  /**
23939
23939
  *
23940
23940
  * @param {string} propertyId
@@ -24121,7 +24121,7 @@ class eZ extends Fx {
24121
24121
  super.computeOutputValue(A);
24122
24122
  }
24123
24123
  }
24124
- class Kx extends MC {
24124
+ class Kx extends mC {
24125
24125
  constructor() {
24126
24126
  super("textContent"), this._needsUpdate = !1;
24127
24127
  }
@@ -25494,7 +25494,7 @@ function RG(i, A) {
25494
25494
  return !0;
25495
25495
  }
25496
25496
  }
25497
- function an(i, A) {
25497
+ function rn(i, A) {
25498
25498
  return i < 65 ? i === 36 : i < 91 ? !0 : i < 97 ? i === 95 : i < 123 ? !0 : i <= 65535 ? i >= 170 && TZ.test(String.fromCharCode(i)) : A === !1 ? !1 : RG(i, jx);
25499
25499
  }
25500
25500
  function tE(i, A) {
@@ -25763,7 +25763,7 @@ var el = 1, wE = 2, lR = 4, AY = 8, eY = 16, tY = 32, dR = 64, iY = 128, Ol = 25
25763
25763
  function pR(i, A) {
25764
25764
  return wE | (i ? lR : 0) | (A ? AY : 0);
25765
25765
  }
25766
- var Gf = 0, fR = 1, In = 2, gY = 3, IY = 4, oY = 5, Qg = function(A, e, t) {
25766
+ var Gf = 0, fR = 1, on = 2, gY = 3, IY = 4, oY = 5, Qg = function(A, e, t) {
25767
25767
  this.options = A = jZ(A), this.sourceFile = A.sourceFile, this.keywords = Rr(xZ[A.ecmaVersion >= 6 ? 6 : A.sourceType === "module" ? "5module" : 5]);
25768
25768
  var g = "";
25769
25769
  A.allowReserved !== !0 && (g = $S[A.ecmaVersion >= 6 ? 6 : A.ecmaVersion === 5 ? 5 : 3], A.sourceType === "module" && (g += " await")), this.reservedWords = Rr(g);
@@ -25928,7 +25928,7 @@ Ke.isLet = function(i) {
25928
25928
  return !1;
25929
25929
  if (t === 123)
25930
25930
  return !0;
25931
- if (an(t, !0)) {
25931
+ if (rn(t, !0)) {
25932
25932
  for (var g = e + 1; tE(t = this.input.charCodeAt(g), !0); )
25933
25933
  ++g;
25934
25934
  if (t === 92 || t > 55295 && t < 56320)
@@ -26057,7 +26057,7 @@ Ke.parseTryStatement = function(i) {
26057
26057
  if (this.next(), this.eat(J.parenL)) {
26058
26058
  A.param = this.parseBindingAtom();
26059
26059
  var e = A.param.type === "Identifier";
26060
- this.enterScope(e ? tY : 0), this.checkLValPattern(A.param, e ? IY : In), this.expect(J.parenR);
26060
+ this.enterScope(e ? tY : 0), this.checkLValPattern(A.param, e ? IY : on), this.expect(J.parenR);
26061
26061
  } else
26062
26062
  this.options.ecmaVersion < 10 && this.unexpected(), A.param = null, this.enterScope(0);
26063
26063
  A.body = this.parseBlock(!1), this.exitScope(), i.handler = this.finishNode(A, "CatchClause");
@@ -26119,11 +26119,11 @@ Ke.parseVar = function(i, A, e) {
26119
26119
  return i;
26120
26120
  };
26121
26121
  Ke.parseVarId = function(i, A) {
26122
- i.id = this.parseBindingAtom(), this.checkLValPattern(i.id, A === "var" ? fR : In, !1);
26122
+ i.id = this.parseBindingAtom(), this.checkLValPattern(i.id, A === "var" ? fR : on, !1);
26123
26123
  };
26124
26124
  var Qh = 1, NG = 2, sY = 4;
26125
26125
  Ke.parseFunction = function(i, A, e, t, g) {
26126
- this.initFunction(i), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !t) && (this.type === J.star && A & NG && this.unexpected(), i.generator = this.eat(J.star)), this.options.ecmaVersion >= 8 && (i.async = !!t), A & Qh && (i.id = A & sY && this.type !== J.name ? null : this.parseIdent(), i.id && !(A & NG) && this.checkLValSimple(i.id, this.strict || i.generator || i.async ? this.treatFunctionsAsVar ? fR : In : gY));
26126
+ this.initFunction(i), (this.options.ecmaVersion >= 9 || this.options.ecmaVersion >= 6 && !t) && (this.type === J.star && A & NG && this.unexpected(), i.generator = this.eat(J.star)), this.options.ecmaVersion >= 8 && (i.async = !!t), A & Qh && (i.id = A & sY && this.type !== J.name ? null : this.parseIdent(), i.id && !(A & NG) && this.checkLValSimple(i.id, this.strict || i.generator || i.async ? this.treatFunctionsAsVar ? fR : on : gY));
26127
26127
  var I = this.yieldPos, o = this.awaitPos, s = this.awaitIdentPos;
26128
26128
  return this.yieldPos = 0, this.awaitPos = 0, this.awaitIdentPos = 0, this.enterScope(pR(i.async, i.generator)), A & Qh || (i.id = this.type === J.name ? this.parseIdent() : null), this.parseFunctionParams(i), this.parseFunctionBody(i, e, !1, g), this.yieldPos = I, this.awaitPos = o, this.awaitIdentPos = s, this.finishNode(i, A & Qh ? "FunctionDeclaration" : "FunctionExpression");
26129
26129
  };
@@ -26191,7 +26191,7 @@ Ke.parseClassStaticBlock = function(i) {
26191
26191
  return this.next(), this.exitScope(), this.labels = A, this.finishNode(i, "StaticBlock");
26192
26192
  };
26193
26193
  Ke.parseClassId = function(i, A) {
26194
- this.type === J.name ? (i.id = this.parseIdent(), A && this.checkLValSimple(i.id, In, !1)) : (A === !0 && this.unexpected(), i.id = null);
26194
+ this.type === J.name ? (i.id = this.parseIdent(), A && this.checkLValSimple(i.id, on, !1)) : (A === !0 && this.unexpected(), i.id = null);
26195
26195
  };
26196
26196
  Ke.parseClassSuper = function(i) {
26197
26197
  i.superClass = this.eat(J._extends) ? this.parseExprSubscripts(!1) : null;
@@ -26299,12 +26299,12 @@ Ke.parseImportSpecifiers = function() {
26299
26299
  var i = [], A = !0;
26300
26300
  if (this.type === J.name) {
26301
26301
  var e = this.startNode();
26302
- if (e.local = this.parseIdent(), this.checkLValSimple(e.local, In), i.push(this.finishNode(e, "ImportDefaultSpecifier")), !this.eat(J.comma))
26302
+ if (e.local = this.parseIdent(), this.checkLValSimple(e.local, on), i.push(this.finishNode(e, "ImportDefaultSpecifier")), !this.eat(J.comma))
26303
26303
  return i;
26304
26304
  }
26305
26305
  if (this.type === J.star) {
26306
26306
  var t = this.startNode();
26307
- return this.next(), this.expectContextual("as"), t.local = this.parseIdent(), this.checkLValSimple(t.local, In), i.push(this.finishNode(t, "ImportNamespaceSpecifier")), i;
26307
+ return this.next(), this.expectContextual("as"), t.local = this.parseIdent(), this.checkLValSimple(t.local, on), i.push(this.finishNode(t, "ImportNamespaceSpecifier")), i;
26308
26308
  }
26309
26309
  for (this.expect(J.braceL); !this.eat(J.braceR); ) {
26310
26310
  if (A)
@@ -26312,7 +26312,7 @@ Ke.parseImportSpecifiers = function() {
26312
26312
  else if (this.expect(J.comma), this.afterTrailingComma(J.braceR))
26313
26313
  break;
26314
26314
  var g = this.startNode();
26315
- g.imported = this.parseModuleExportName(), this.eatContextual("as") ? g.local = this.parseIdent() : (this.checkUnreserved(g.imported), g.local = g.imported), this.checkLValSimple(g.local, In), i.push(this.finishNode(g, "ImportSpecifier"));
26315
+ g.imported = this.parseModuleExportName(), this.eatContextual("as") ? g.local = this.parseIdent() : (this.checkUnreserved(g.imported), g.local = g.imported), this.checkLValSimple(g.local, on), i.push(this.finishNode(g, "ImportSpecifier"));
26316
26316
  }
26317
26317
  return i;
26318
26318
  };
@@ -26440,7 +26440,7 @@ Ss.checkLValSimple = function(i, A, e) {
26440
26440
  var t = A !== Gf;
26441
26441
  switch (i.type) {
26442
26442
  case "Identifier":
26443
- this.strict && this.reservedWordsStrictBind.test(i.name) && this.raiseRecoverable(i.start, (t ? "Binding " : "Assigning to ") + i.name + " in strict mode"), t && (A === In && i.name === "let" && this.raiseRecoverable(i.start, "let is disallowed as a lexically bound name"), e && (_l(e, i.name) && this.raiseRecoverable(i.start, "Argument name clash"), e[i.name] = !0), A !== oY && this.declareName(i.name, A, i.start));
26443
+ this.strict && this.reservedWordsStrictBind.test(i.name) && this.raiseRecoverable(i.start, (t ? "Binding " : "Assigning to ") + i.name + " in strict mode"), t && (A === on && i.name === "let" && this.raiseRecoverable(i.start, "let is disallowed as a lexically bound name"), e && (_l(e, i.name) && this.raiseRecoverable(i.start, "Argument name clash"), e[i.name] = !0), A !== oY && this.declareName(i.name, A, i.start));
26444
26444
  break;
26445
26445
  case "ChainExpression":
26446
26446
  this.raiseRecoverable(i.start, "Optional chaining cannot appear in left-hand side");
@@ -27024,7 +27024,7 @@ Fa.treatFunctionsAsVarInScope = function(i) {
27024
27024
  };
27025
27025
  Fa.declareName = function(i, A, e) {
27026
27026
  var t = !1;
27027
- if (A === In) {
27027
+ if (A === on) {
27028
27028
  var g = this.currentScope();
27029
27029
  t = g.lexical.indexOf(i) > -1 || g.functions.indexOf(i) > -1 || g.var.indexOf(i) > -1, g.lexical.push(i), this.inModule && g.flags & el && delete this.undefinedExports[i];
27030
27030
  } else if (A === IY) {
@@ -27406,7 +27406,7 @@ Se.regexp_eatRegExpIdentifierStart = function(i) {
27406
27406
  return i.advance(e), t === 92 && this.regexp_eatRegExpUnicodeEscapeSequence(i, e) && (t = i.lastIntValue), Cz(t) ? (i.lastIntValue = t, !0) : (i.pos = A, !1);
27407
27407
  };
27408
27408
  function Cz(i) {
27409
- return an(i, !0) || i === 36 || i === 95;
27409
+ return rn(i, !0) || i === 36 || i === 95;
27410
27410
  }
27411
27411
  Se.regexp_eatRegExpIdentifierPart = function(i) {
27412
27412
  var A = i.pos, e = this.options.ecmaVersion >= 11, t = i.current(e);
@@ -27761,7 +27761,7 @@ gt.nextToken = function() {
27761
27761
  this.readToken(this.fullCharCodeAtPos());
27762
27762
  };
27763
27763
  gt.readToken = function(i) {
27764
- return an(i, this.options.ecmaVersion >= 6) || i === 92 ? this.readWord() : this.getTokenFromCode(i);
27764
+ return rn(i, this.options.ecmaVersion >= 6) || i === 92 ? this.readWord() : this.getTokenFromCode(i);
27765
27765
  };
27766
27766
  gt.fullCharCodeAtPos = function() {
27767
27767
  var i = this.input.charCodeAt(this.pos);
@@ -27902,7 +27902,7 @@ gt.readToken_question = function() {
27902
27902
  };
27903
27903
  gt.readToken_numberSign = function() {
27904
27904
  var i = this.options.ecmaVersion, A = 35;
27905
- if (i >= 13 && (++this.pos, A = this.fullCharCodeAtPos(), an(A, !0) || A === 92))
27905
+ if (i >= 13 && (++this.pos, A = this.fullCharCodeAtPos(), rn(A, !0) || A === 92))
27906
27906
  return this.finishToken(J.privateId, this.readWord1());
27907
27907
  this.raise(this.pos, "Unexpected character '" + fa(A) + "'");
27908
27908
  };
@@ -28040,7 +28040,7 @@ gt.readRadixNumber = function(i) {
28040
28040
  var A = this.pos;
28041
28041
  this.pos += 2;
28042
28042
  var e = this.readInt(i);
28043
- return e == null && this.raise(this.start + 2, "Expected number in radix " + i), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (e = SY(this.input.slice(A, this.pos)), ++this.pos) : an(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(J.num, e);
28043
+ return e == null && this.raise(this.start + 2, "Expected number in radix " + i), this.options.ecmaVersion >= 11 && this.input.charCodeAt(this.pos) === 110 ? (e = SY(this.input.slice(A, this.pos)), ++this.pos) : rn(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(J.num, e);
28044
28044
  };
28045
28045
  gt.readNumber = function(i) {
28046
28046
  var A = this.pos;
@@ -28050,9 +28050,9 @@ gt.readNumber = function(i) {
28050
28050
  var t = this.input.charCodeAt(this.pos);
28051
28051
  if (!e && !i && this.options.ecmaVersion >= 11 && t === 110) {
28052
28052
  var g = SY(this.input.slice(A, this.pos));
28053
- return ++this.pos, an(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(J.num, g);
28053
+ return ++this.pos, rn(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number"), this.finishToken(J.num, g);
28054
28054
  }
28055
- e && /[89]/.test(this.input.slice(A, this.pos)) && (e = !1), t === 46 && !e && (++this.pos, this.readInt(10), t = this.input.charCodeAt(this.pos)), (t === 69 || t === 101) && !e && (t = this.input.charCodeAt(++this.pos), (t === 43 || t === 45) && ++this.pos, this.readInt(10) === null && this.raise(A, "Invalid number")), an(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number");
28055
+ e && /[89]/.test(this.input.slice(A, this.pos)) && (e = !1), t === 46 && !e && (++this.pos, this.readInt(10), t = this.input.charCodeAt(this.pos)), (t === 69 || t === 101) && !e && (t = this.input.charCodeAt(++this.pos), (t === 43 || t === 45) && ++this.pos, this.readInt(10) === null && this.raise(A, "Invalid number")), rn(this.fullCharCodeAtPos()) && this.raise(this.pos, "Identifier directly after number");
28056
28056
  var I = Qz(this.input.slice(A, this.pos), e);
28057
28057
  return this.finishToken(J.num, I);
28058
28058
  };
@@ -28195,7 +28195,7 @@ gt.readWord1 = function() {
28195
28195
  var I = this.pos;
28196
28196
  this.input.charCodeAt(++this.pos) !== 117 && this.invalidStringToken(this.pos, "Expecting Unicode escape sequence \\uXXXX"), ++this.pos;
28197
28197
  var o = this.readCodePoint();
28198
- (A ? an : tE)(o, t) || this.invalidStringToken(I, "Invalid Unicode escape"), i += fa(o), e = this.pos;
28198
+ (A ? rn : tE)(o, t) || this.invalidStringToken(I, "Invalid Unicode escape"), i += fa(o), e = this.pos;
28199
28199
  } else
28200
28200
  break;
28201
28201
  A = !1;
@@ -28221,7 +28221,7 @@ Qg.acorn = {
28221
28221
  TokContext: os,
28222
28222
  tokContexts: Vt,
28223
28223
  isIdentifierChar: tE,
28224
- isIdentifierStart: an,
28224
+ isIdentifierStart: rn,
28225
28225
  Token: wR,
28226
28226
  isNewLine: DE,
28227
28227
  lineBreak: Xo,
@@ -28267,7 +28267,7 @@ class Wl extends _A.Object3D {
28267
28267
  fontCastShadow: { m: "castShadow" },
28268
28268
  fontReceiveShadow: { m: "receiveShadow" },
28269
28269
  renderOrder: { m: "renderOrder" }
28270
- }, this._children = e.children ? new e.children() : new MC("children"), this._parent = new QV(), this.addEventListener("added", this._rebuildParentUI), this.addEventListener("removed", this._rebuildParentUI), this._backgroundSide = new jK("backgroundSide"), this._fontSide = new jK("fontSide"), this._backgroundAlphaTest = new WK("backgroundAlphaTest", 0.02), this._fontAlphaTest = new WK("fontAlphaTest", 0.02), this._visible = new YV("visible", !0), this._backgroundCastShadow = new Mu("backgroundCastShadow"), this._fontCastShadow = new Mu("fontCastShadow"), this._backgroundReceiveShadow = new Mu("backgroundReceiveShadow"), this._fontReceiveShadow = new Mu("fontReceiveShadow"), this._renderOrder = new gV(), this._segments = e.segments ? new e.segments() : new Wx(), this._bounds = e.bounds ? new e.bounds() : new MC("bounds"), this._order = new zV(), this._padding = new aV(), this._margin = new rV(), this._position = new Nx(), this._flexDirection = e.flexDirection ? new e.flexDirection() : new sR(), this._justifyContent = e.justifyContent ? new e.justifyContent() : new CR(), this._alignItems = e.alignItems ? new e.alignItems() : new IR(), this._display = new wV("flex"), this._boxSizing = new kV("border-box"), this._width = new AZ(), this._height = new eZ(), this._backgroundColor = e.backgroundColor ? new e.backgroundColor() : new Ux(), this._backgroundOpacity = new XS("backgroundOpacity", 0.5), this._backgroundImage = new RV(), this._backgroundSize = new NV("cover"), this._color = e.color ? new e.color() : new $h("color", "inherit"), this._fontOpacity = new XS("fontOpacity", "inherit"), this._whiteSpace = e.whiteSpace ? new e.whiteSpace() : new Ox(), this._fontFamily = e.fontFamily ? new e.fontFamily() : new Hx(), this._fontStyle = e.fontStyle ? new e.fontStyle() : new Jx("normal"), this._fontWeight = e.fontWeight ? new e.fontWeight() : new qx(), this._fontSize = e.fontSize ? new e.fontSize() : new KZ(), this._lineHeight = e.lineHeight ? new e.lineHeight() : new _x(), this._fontKerning = e.fontKerning ? new e.fontKerning() : new uw(), this._letterSpacing = e.letterSpacing ? new e.letterSpacing() : new Px(), this._overflow = new JV("visible"), this._borderRadius = new LV(0), this._borderWidth = new xV(0), this._borderColor = new $h("borderColor", 16711935), this._borderOpacity = new XS("borderOpacity", 1), this._font = new pV(), this._lineBreak = e.lineBreak ? new e.lineBreak() : new MC("lineBreak"), this._textContent = e.textContent ? new e.textContent() : new Kx(), this._glyphs = e.glyphs ? new e.glyphs() : new MC("glyphs"), this._inlines = e.inlines ? new e.inlines() : new MC("inlines"), this._layouter = e.layouter ? new e.layouter() : new MC("layouter"), this._inlineJustificator = new TV(), this._textAlign = e.textAlign ? new e.textAlign() : new oR(), this._autoSize = e.autoSize ? new e.autoSize() : new MC("autoSize"), this._renderer = e.renderer ? new e.renderer() : new MC("renderer"), this._offset = new IV(), this._invertAlpha = new JZ(), this._fontSmooth = e.fontSmooth ? new e.fontSmooth() : new oV(), this._components = [
28270
+ }, this._children = e.children ? new e.children() : new mC("children"), this._parent = new QV(), this.addEventListener("added", this._rebuildParentUI), this.addEventListener("removed", this._rebuildParentUI), this._backgroundSide = new jK("backgroundSide"), this._fontSide = new jK("fontSide"), this._backgroundAlphaTest = new WK("backgroundAlphaTest", 0.02), this._fontAlphaTest = new WK("fontAlphaTest", 0.02), this._visible = new YV("visible", !0), this._backgroundCastShadow = new Mu("backgroundCastShadow"), this._fontCastShadow = new Mu("fontCastShadow"), this._backgroundReceiveShadow = new Mu("backgroundReceiveShadow"), this._fontReceiveShadow = new Mu("fontReceiveShadow"), this._renderOrder = new gV(), this._segments = e.segments ? new e.segments() : new Wx(), this._bounds = e.bounds ? new e.bounds() : new mC("bounds"), this._order = new zV(), this._padding = new aV(), this._margin = new rV(), this._position = new Nx(), this._flexDirection = e.flexDirection ? new e.flexDirection() : new sR(), this._justifyContent = e.justifyContent ? new e.justifyContent() : new CR(), this._alignItems = e.alignItems ? new e.alignItems() : new IR(), this._display = new wV("flex"), this._boxSizing = new kV("border-box"), this._width = new AZ(), this._height = new eZ(), this._backgroundColor = e.backgroundColor ? new e.backgroundColor() : new Ux(), this._backgroundOpacity = new XS("backgroundOpacity", 0.5), this._backgroundImage = new RV(), this._backgroundSize = new NV("cover"), this._color = e.color ? new e.color() : new $h("color", "inherit"), this._fontOpacity = new XS("fontOpacity", "inherit"), this._whiteSpace = e.whiteSpace ? new e.whiteSpace() : new Ox(), this._fontFamily = e.fontFamily ? new e.fontFamily() : new Hx(), this._fontStyle = e.fontStyle ? new e.fontStyle() : new Jx("normal"), this._fontWeight = e.fontWeight ? new e.fontWeight() : new qx(), this._fontSize = e.fontSize ? new e.fontSize() : new KZ(), this._lineHeight = e.lineHeight ? new e.lineHeight() : new _x(), this._fontKerning = e.fontKerning ? new e.fontKerning() : new uw(), this._letterSpacing = e.letterSpacing ? new e.letterSpacing() : new Px(), this._overflow = new JV("visible"), this._borderRadius = new LV(0), this._borderWidth = new xV(0), this._borderColor = new $h("borderColor", 16711935), this._borderOpacity = new XS("borderOpacity", 1), this._font = new pV(), this._lineBreak = e.lineBreak ? new e.lineBreak() : new mC("lineBreak"), this._textContent = e.textContent ? new e.textContent() : new Kx(), this._glyphs = e.glyphs ? new e.glyphs() : new mC("glyphs"), this._inlines = e.inlines ? new e.inlines() : new mC("inlines"), this._layouter = e.layouter ? new e.layouter() : new mC("layouter"), this._inlineJustificator = new TV(), this._textAlign = e.textAlign ? new e.textAlign() : new oR(), this._autoSize = e.autoSize ? new e.autoSize() : new mC("autoSize"), this._renderer = e.renderer ? new e.renderer() : new mC("renderer"), this._offset = new IV(), this._invertAlpha = new JZ(), this._fontSmooth = e.fontSmooth ? new e.fontSmooth() : new oV(), this._components = [
28271
28271
  this._textContent,
28272
28272
  this._children,
28273
28273
  this._parent,
@@ -29930,32 +29930,32 @@ class RY extends _A.Mesh {
29930
29930
  if (g = e.width ? e.width : 1, I = e.height ? e.height : 1, e.top) {
29931
29931
  if (e.left) {
29932
29932
  const Q = new _A.PlaneGeometry(e.left * g, e.top * I, 1, 1);
29933
- wC(Q, 0, e.left, 1 - e.top, 1), Q.translate(e.left * g / 2, -e.top * I / 2, 0), t.topLeft = Q;
29933
+ yC(Q, 0, e.left, 1 - e.top, 1), Q.translate(e.left * g / 2, -e.top * I / 2, 0), t.topLeft = Q;
29934
29934
  }
29935
29935
  const B = new _A.PlaneGeometry(1, e.top * I, 1, 1);
29936
- if (wC(B, e.left, 1 - e.right, 1 - e.top, 1), B.translate(0, -e.top * I / 2, 0), t.top = B, e.right) {
29936
+ if (yC(B, e.left, 1 - e.right, 1 - e.top, 1), B.translate(0, -e.top * I / 2, 0), t.top = B, e.right) {
29937
29937
  const Q = new _A.PlaneGeometry(e.right * g, e.top * I, 1, 1);
29938
- wC(Q, 1 - e.right, 1, 1 - e.top, 1), Q.translate(-e.right * g / 2, -e.top * I / 2, 0), t.topRight = Q;
29938
+ yC(Q, 1 - e.right, 1, 1 - e.top, 1), Q.translate(-e.right * g / 2, -e.top * I / 2, 0), t.topRight = Q;
29939
29939
  }
29940
29940
  }
29941
29941
  if (e.left) {
29942
29942
  const B = new _A.PlaneGeometry(e.left * g, 1, 1, 1);
29943
- wC(B, 0, e.left, e.bottom, 1 - e.top), B.translate(e.left * g / 2, 0, 0), t.left = B;
29943
+ yC(B, 0, e.left, e.bottom, 1 - e.top), B.translate(e.left * g / 2, 0, 0), t.left = B;
29944
29944
  }
29945
29945
  const a = new _A.PlaneGeometry(1, 1, 1, 1);
29946
- if (wC(a, e.left, 1 - e.right, e.bottom, 1 - e.top), t.middle = a, e.right) {
29946
+ if (yC(a, e.left, 1 - e.right, e.bottom, 1 - e.top), t.middle = a, e.right) {
29947
29947
  const B = new _A.PlaneGeometry(e.right * g, 1, 1, 1);
29948
- wC(B, 1 - e.right, 1, e.bottom, 1 - e.top), B.translate(-e.right * g / 2, 0, 0), t.right = B;
29948
+ yC(B, 1 - e.right, 1, e.bottom, 1 - e.top), B.translate(-e.right * g / 2, 0, 0), t.right = B;
29949
29949
  }
29950
29950
  if (e.bottom) {
29951
29951
  if (e.left) {
29952
29952
  const Q = new _A.PlaneGeometry(e.left * g, e.bottom * I, 1, 1);
29953
- wC(Q, 0, e.left, 0, e.bottom), Q.translate(e.left * g / 2, e.bottom * I / 2, 0), t.bottomLeft = Q;
29953
+ yC(Q, 0, e.left, 0, e.bottom), Q.translate(e.left * g / 2, e.bottom * I / 2, 0), t.bottomLeft = Q;
29954
29954
  }
29955
29955
  const B = new _A.PlaneGeometry(1, e.bottom * I, 1, 1);
29956
- if (wC(B, e.left, 1 - e.right, 0, e.bottom), B.translate(0, e.bottom * I / 2, 0), t.bottom = B, e.right) {
29956
+ if (yC(B, e.left, 1 - e.right, 0, e.bottom), B.translate(0, e.bottom * I / 2, 0), t.bottom = B, e.right) {
29957
29957
  const Q = new _A.PlaneGeometry(e.right * g, e.bottom * I, 1, 1);
29958
- wC(Q, 1 - e.right, 1, 0, e.bottom), Q.translate(-e.right * g / 2, e.bottom * I / 2, 0), t.bottomRight = Q;
29958
+ yC(Q, 1 - e.right, 1, 0, e.bottom), Q.translate(-e.right * g / 2, e.bottom * I / 2, 0), t.bottomRight = Q;
29959
29959
  }
29960
29960
  }
29961
29961
  }
@@ -30010,7 +30010,7 @@ const Xz = {
30010
30010
  bottom: { x: 1 },
30011
30011
  middle: { x: 1, y: 1 }
30012
30012
  };
30013
- function wC(i, A, e, t, g) {
30013
+ function yC(i, A, e, t, g) {
30014
30014
  const I = e - A, o = g - t, s = i.attributes.uv;
30015
30015
  for (let n = 0; n < s.count; n++) {
30016
30016
  const a = s.getX(n), B = s.getY(n);
@@ -31406,12 +31406,12 @@ function Lr(i, A) {
31406
31406
  return !0;
31407
31407
  }
31408
31408
  const ZY = sA("debugdefines");
31409
- yw('if(!globalThis[""3.31.0""]) globalThis[""3.31.0""] = "0.0.0";');
31409
+ yw('if(!globalThis[""3.31.1""]) globalThis[""3.31.1""] = "0.0.0";');
31410
31410
  yw('if(!globalThis[""undefined""]) globalThis[""undefined""] = "unknown";');
31411
- yw('globalThis["__NEEDLE_ENGINE_VERSION__"] = "3.31.0";');
31411
+ yw('globalThis["__NEEDLE_ENGINE_VERSION__"] = "3.31.1";');
31412
31412
  yw('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
31413
- const jC = "3.31.0", KR = "undefined";
31414
- ZY && console.log(`Engine version: ${jC} (generator: ${KR})`);
31413
+ const VC = "3.31.1", KR = "undefined";
31414
+ ZY && console.log(`Engine version: ${VC} (generator: ${KR})`);
31415
31415
  const aa = "needle_isActiveInHierarchy", aQ = "builtin_components", mp = "needle_editor_guid";
31416
31416
  function yw(i) {
31417
31417
  try {
@@ -31449,13 +31449,13 @@ The script will be ignored. Please make sure your component extends "Behaviour"
31449
31449
  }
31450
31450
  e.context = i, Eh(e.gameObject), JR(e, i);
31451
31451
  } catch (e) {
31452
- console.error(e), TC(Ot[A], i), Ot.splice(A, 1), A--;
31452
+ console.error(e), HC(Ot[A], i), Ot.splice(A, 1), A--;
31453
31453
  }
31454
31454
  for (let A = 0; A < Ot.length; A++)
31455
31455
  try {
31456
31456
  const e = Ot[A];
31457
31457
  if (e.destroyed) {
31458
- TC(Ot[A], i), Ot.splice(A, 1), A--;
31458
+ HC(Ot[A], i), Ot.splice(A, 1), A--;
31459
31459
  continue;
31460
31460
  }
31461
31461
  if (e.registering)
@@ -31466,7 +31466,7 @@ The script will be ignored. Please make sure your component extends "Behaviour"
31466
31466
  }
31467
31467
  e.__internalAwake !== void 0 && (e.gameObject || console.error("MISSING GAMEOBJECT", e, e.gameObject), Eh(e.gameObject), e.activeAndEnabled && Lr(e.__internalAwake.bind(e)));
31468
31468
  } catch (e) {
31469
- console.error(e), TC(Ot[A], i), Ot.splice(A, 1), A--;
31469
+ console.error(e), HC(Ot[A], i), Ot.splice(A, 1), A--;
31470
31470
  }
31471
31471
  for (let A = 0; A < Ot.length; A++)
31472
31472
  try {
@@ -31475,7 +31475,7 @@ The script will be ignored. Please make sure your component extends "Behaviour"
31475
31475
  continue;
31476
31476
  e.__internalEnable !== void 0 && (e.enabled = !0, Lr(e.__internalEnable.bind(e)));
31477
31477
  } catch (e) {
31478
- console.error(e), TC(Ot[A], i), Ot.splice(A, 1), A--;
31478
+ console.error(e), HC(Ot[A], i), Ot.splice(A, 1), A--;
31479
31479
  }
31480
31480
  for (let A = 0; A < Ot.length; A++)
31481
31481
  try {
@@ -31484,7 +31484,7 @@ The script will be ignored. Please make sure your component extends "Behaviour"
31484
31484
  continue;
31485
31485
  i.new_script_start.push(e);
31486
31486
  } catch (e) {
31487
- console.error(e), TC(Ot[A], i), Ot.splice(A, 1), A--;
31487
+ console.error(e), HC(Ot[A], i), Ot.splice(A, 1), A--;
31488
31488
  }
31489
31489
  Ot.length = 0;
31490
31490
  for (const A of i.new_scripts_post_setup_callbacks)
@@ -31493,7 +31493,7 @@ The script will be ignored. Please make sure your component extends "Behaviour"
31493
31493
  }
31494
31494
  }
31495
31495
  function nX(i) {
31496
- i && (i.__internalDisable(!0), TC(i, i.context));
31496
+ i && (i.__internalDisable(!0), HC(i, i.context));
31497
31497
  }
31498
31498
  function zY(i, A) {
31499
31499
  for (let e = 0; e < i.new_script_start.length; e++)
@@ -31503,16 +31503,16 @@ function zY(i, A) {
31503
31503
  continue;
31504
31504
  Lr(t.__internalAwake.bind(t)), t.enabled && (Lr(t.__internalEnable.bind(t)), Lr(t.__internalStart.bind(t)), i.new_script_start.splice(e, 1), e--);
31505
31505
  } catch (t) {
31506
- console.error(t), TC(i.new_script_start[e], i), i.new_script_start.splice(e, 1), e--;
31506
+ console.error(t), HC(i.new_script_start[e], i), i.new_script_start.splice(e, 1), e--;
31507
31507
  }
31508
31508
  }
31509
31509
  function JR(i, A) {
31510
31510
  A.scripts.indexOf(i) === -1 && (A.scripts.push(i), i.earlyUpdate && A.scripts_earlyUpdate.push(i), i.update && A.scripts_update.push(i), i.lateUpdate && A.scripts_lateUpdate.push(i), i.onBeforeRender && A.scripts_onBeforeRender.push(i), i.onAfterRender && A.scripts_onAfterRender.push(i), i.onPausedChanged && A.scripts_pausedChanged.push(i));
31511
31511
  }
31512
- function TC(i, A) {
31513
- yC(i, A.new_scripts), yC(i, A.new_script_start), yC(i, A.scripts), yC(i, A.scripts_earlyUpdate), yC(i, A.scripts_update), yC(i, A.scripts_lateUpdate), yC(i, A.scripts_onBeforeRender), yC(i, A.scripts_onAfterRender), yC(i, A.scripts_pausedChanged), A.stopAllCoroutinesFrom(i);
31512
+ function HC(i, A) {
31513
+ SC(i, A.new_scripts), SC(i, A.new_script_start), SC(i, A.scripts), SC(i, A.scripts_earlyUpdate), SC(i, A.scripts_update), SC(i, A.scripts_lateUpdate), SC(i, A.scripts_onBeforeRender), SC(i, A.scripts_onAfterRender), SC(i, A.scripts_pausedChanged), A.stopAllCoroutinesFrom(i);
31514
31514
  }
31515
- function yC(i, A) {
31515
+ function SC(i, A) {
31516
31516
  const e = A.indexOf(i);
31517
31517
  e >= 0 && A.splice(e, 1);
31518
31518
  }
@@ -31816,14 +31816,14 @@ function GX(i) {
31816
31816
  console.warn("could not find object that was instantiated: " + A.guid);
31817
31817
  return;
31818
31818
  }
31819
- const t = new rn();
31819
+ const t = new aC();
31820
31820
  A.position && (t.position = new w(A.position.x, A.position.y, A.position.z)), A.rotation && (t.rotation = new mA(A.rotation.x, A.rotation.y, A.rotation.z, A.rotation.w)), A.scale && (t.scale = new w(A.scale.x, A.scale.y, A.scale.z)), t.parent = A.parent, A.seed && (t.idProvider = new Mg(A.seed)), t.visible = A.visible, t.context = i, Ff && i.alias && console.log("[Remote] instantiate in: " + i.alias);
31821
31821
  const g = Nw(e, t);
31822
31822
  g && (A.parent === "scene" && i.scene.add(g), Ff && console.log("[Remote] new instance", "gameobject:", g == null ? void 0 : g.guid, e));
31823
31823
  });
31824
31824
  }
31825
31825
  function MX(i, A) {
31826
- const e = bR(), t = A ?? new rn();
31826
+ const e = bR(), t = A ?? new aC();
31827
31827
  t.idProvider = new Mg(e);
31828
31828
  const g = Nw(i, t);
31829
31829
  return { seed: e, instance: g };
@@ -31965,7 +31965,7 @@ function qX(i) {
31965
31965
  const A = i.gameObject.userData.components.indexOf(i);
31966
31966
  i.gameObject.userData.components.splice(A, 1);
31967
31967
  }
31968
- i.__internalDisable && i.__internalDisable(), TC(i, i.context ?? xe.Current), i.destroy(), i.gameObject = null;
31968
+ i.__internalDisable && i.__internalDisable(), HC(i, i.context ?? xe.Current), i.destroy(), i.gameObject = null;
31969
31969
  }
31970
31970
  let nJ = !1;
31971
31971
  function nT(i, A, e) {
@@ -32287,7 +32287,7 @@ class xR extends yA {
32287
32287
  const p = new fi(75e-4, 75e-4, 0.5, 3);
32288
32288
  p.translate(0, 0.25, 0);
32289
32289
  function u(W, L) {
32290
- const b = new YC(W, 75e-4, 3, 64, L * Math.PI * 2);
32290
+ const b = new TC(W, 75e-4, 3, 64, L * Math.PI * 2);
32291
32291
  return b.rotateY(Math.PI / 2), b.rotateX(Math.PI / 2), b;
32292
32292
  }
32293
32293
  function f() {
@@ -32311,7 +32311,7 @@ class xR extends yA {
32311
32311
  [new pA(p, s), null, [Math.PI / 2, 0, 0]]
32312
32312
  ],
32313
32313
  XYZ: [
32314
- [new pA(new WC(0.1, 0), B.clone()), [0, 0, 0]]
32314
+ [new pA(new jC(0.1, 0), B.clone()), [0, 0, 0]]
32315
32315
  ],
32316
32316
  XY: [
32317
32317
  [new pA(new Ft(0.15, 0.15, 0.01), a.clone()), [0.15, 0.15, 0]]
@@ -32336,7 +32336,7 @@ class xR extends yA {
32336
32336
  [new pA(new fi(0.2, 0, 0.6, 4), t), [0, 0, -0.3], [-Math.PI / 2, 0, 0]]
32337
32337
  ],
32338
32338
  XYZ: [
32339
- [new pA(new WC(0.2, 0), t)]
32339
+ [new pA(new jC(0.2, 0), t)]
32340
32340
  ],
32341
32341
  XY: [
32342
32342
  [new pA(new Ft(0.2, 0.2, 0.01), t), [0.15, 0.15, 0]]
@@ -32349,10 +32349,10 @@ class xR extends yA {
32349
32349
  ]
32350
32350
  }, M = {
32351
32351
  START: [
32352
- [new pA(new WC(0.01, 2), g), null, null, null, "helper"]
32352
+ [new pA(new jC(0.01, 2), g), null, null, null, "helper"]
32353
32353
  ],
32354
32354
  END: [
32355
- [new pA(new WC(0.01, 2), g), null, null, null, "helper"]
32355
+ [new pA(new jC(0.01, 2), g), null, null, null, "helper"]
32356
32356
  ],
32357
32357
  DELTA: [
32358
32358
  [new Ei(f(), g), null, null, null, "helper"]
@@ -32391,16 +32391,16 @@ class xR extends yA {
32391
32391
  [new pA(new zo(0.25, 10, 8), t)]
32392
32392
  ],
32393
32393
  X: [
32394
- [new pA(new YC(0.5, 0.1, 4, 24), t), [0, 0, 0], [0, -Math.PI / 2, -Math.PI / 2]]
32394
+ [new pA(new TC(0.5, 0.1, 4, 24), t), [0, 0, 0], [0, -Math.PI / 2, -Math.PI / 2]]
32395
32395
  ],
32396
32396
  Y: [
32397
- [new pA(new YC(0.5, 0.1, 4, 24), t), [0, 0, 0], [Math.PI / 2, 0, 0]]
32397
+ [new pA(new TC(0.5, 0.1, 4, 24), t), [0, 0, 0], [Math.PI / 2, 0, 0]]
32398
32398
  ],
32399
32399
  Z: [
32400
- [new pA(new YC(0.5, 0.1, 4, 24), t), [0, 0, 0], [0, 0, -Math.PI / 2]]
32400
+ [new pA(new TC(0.5, 0.1, 4, 24), t), [0, 0, 0], [0, 0, -Math.PI / 2]]
32401
32401
  ],
32402
32402
  E: [
32403
- [new pA(new YC(0.75, 0.1, 2, 24), t)]
32403
+ [new pA(new TC(0.75, 0.1, 2, 24), t)]
32404
32404
  ]
32405
32405
  }, K = {
32406
32406
  X: [
@@ -32823,7 +32823,7 @@ class XX {
32823
32823
  return null;
32824
32824
  }
32825
32825
  }
32826
- const bC = sA("debugserializer");
32826
+ const vC = sA("debugserializer");
32827
32827
  class $X {
32828
32828
  constructor() {
32829
32829
  r(this, "typeMap", {});
@@ -32834,7 +32834,7 @@ class $X {
32834
32834
  return;
32835
32835
  console.warn("Type " + A + " is already registered", e, this.typeMap[A]);
32836
32836
  }
32837
- bC && console.log("Register type serializer for " + A, e), this.typeMap[A] = e;
32837
+ vC && console.log("Register type serializer for " + A, e), this.typeMap[A] = e;
32838
32838
  }
32839
32839
  getSerializer(A) {
32840
32840
  if (A)
@@ -32845,27 +32845,27 @@ class $X {
32845
32845
  if (e > 20)
32846
32846
  return;
32847
32847
  if (!A || !A.constructor) {
32848
- bC && console.log("invalid type");
32848
+ vC && console.log("invalid type");
32849
32849
  return;
32850
32850
  }
32851
32851
  const t = A.name ?? ((C = A.constructor) == null ? void 0 : C.name);
32852
32852
  if (!t) {
32853
- bC && console.log("invalid name", t);
32853
+ vC && console.log("invalid name", t);
32854
32854
  return;
32855
32855
  }
32856
32856
  const g = this.getSerializer(t);
32857
32857
  if (g !== void 0)
32858
- return bC && console.log("FOUND " + t, A.name, A.constructor.name, g, this.typeMap), g;
32858
+ return vC && console.log("FOUND " + t, A.name, A.constructor.name, g, this.typeMap), g;
32859
32859
  const I = Object.getPrototypeOf(A);
32860
32860
  if (!(I.prototype || I.constructor)) {
32861
- bC && console.warn("No prototype for " + t, A, A.name, A.prototype, A.constructor.name);
32861
+ vC && console.warn("No prototype for " + t, A, A.name, A.prototype, A.constructor.name);
32862
32862
  return;
32863
32863
  }
32864
32864
  const s = I.prototype ?? I.constructor;
32865
32865
  if (s !== A) {
32866
32866
  const n = this.getSerializerForConstructor(s, ++e);
32867
32867
  if (n) {
32868
- bC && console.log("FOUND " + s.constructor.name, s.name, s, n);
32868
+ vC && console.log("FOUND " + s.constructor.name, s.name, s, n);
32869
32869
  const a = s.name ?? s.constructor.name;
32870
32870
  a === "Function" ? console.error("Registering Function is not allowed, something went wrong", A, s, n) : this.register(a, n);
32871
32871
  }
@@ -32971,7 +32971,7 @@ function xG(i, A, e) {
32971
32971
  return a ? YG(s, a, e, void 0, i[g]) : YG(s, C, e, void 0, i[g]);
32972
32972
  };
32973
32973
  const o = t[g], s = A[g];
32974
- if (bC && console.log(g, s, i, o), !(i[g] !== void 0 && s === void 0) && (e.type = void 0, e.path = g, e.serializable = o, !(i.onBeforeDeserializeMember !== void 0 && i.onBeforeDeserializeMember(g, s, e) === !0))) {
32974
+ if (vC && console.log(g, s, i, o), !(i[g] !== void 0 && s === void 0) && (e.type = void 0, e.path = g, e.serializable = o, !(i.onBeforeDeserializeMember !== void 0 && i.onBeforeDeserializeMember(g, s, e) === !0))) {
32975
32975
  if (o === null)
32976
32976
  i[g] = s;
32977
32977
  else {
@@ -33009,7 +33009,7 @@ function i9(i, A, e) {
33009
33009
  const C = A[o];
33010
33010
  if ((e == null ? void 0 : e.getDefinedKey(t, o)) === !1) {
33011
33011
  const n = o.charAt(0).toUpperCase() + o.slice(1);
33012
- e.getDefinedKey(t, n) && (tn(us.Warn, '<strong>Please rename</strong> "' + n + '" to "' + o + '" in ' + t), console.warn('Please use lowercase for field: "' + n + '" in ' + t, C, i));
33012
+ e.getDefinedKey(t, n) && (gn(us.Warn, '<strong>Please rename</strong> "' + n + '" to "' + o + '" in ' + t), console.warn('Please use lowercase for field: "' + n + '" in ' + t, C, i));
33013
33013
  continue;
33014
33014
  }
33015
33015
  if (C != null) {
@@ -33017,7 +33017,7 @@ function i9(i, A, e) {
33017
33017
  if (C.could_not_resolve)
33018
33018
  continue;
33019
33019
  if (!(s !== void 0 && Object.keys(s).length > 1)) {
33020
- tn(us.Warn, `<strong>Missing serialization for object reference!</strong>
33020
+ gn(us.Warn, `<strong>Missing serialization for object reference!</strong>
33021
33021
 
33022
33022
  Please change to:
33023
33023
  @serializable(Object3D)
@@ -33029,7 +33029,7 @@ in script ${t}.ts
33029
33029
  }
33030
33030
  }
33031
33031
  if (typeof s == "string" && (C.endsWith(".gltf") || C.endsWith(".glb"))) {
33032
- tn(us.Warn, `<strong>Missing serialization for object reference!</strong>
33032
+ gn(us.Warn, `<strong>Missing serialization for object reference!</strong>
33033
33033
 
33034
33034
  Please change to:
33035
33035
  @serializable(AssetReference)
@@ -33048,14 +33048,14 @@ function g9(i, A) {
33048
33048
  if (typeof t == "object" && t !== null && t !== void 0) {
33049
33049
  const g = i[e];
33050
33050
  if (!g) {
33051
- bC && console.log(e, "is undefined on", i);
33051
+ vC && console.log(e, "is undefined on", i);
33052
33052
  continue;
33053
33053
  }
33054
33054
  for (const I of Object.keys(t))
33055
33055
  if (g[I] === void 0 && uJ(t[I]) && !uJ(g)) {
33056
33056
  const s = I9(g, I);
33057
33057
  if (s && ((s == null ? void 0 : s.writable) === void 0 || (s == null ? void 0 : s.writable) === !1) && s.set === void 0) {
33058
- bC && console.warn('Property is not writable "' + I + '"', g, s, t[I], g[I]);
33058
+ vC && console.warn('Property is not writable "' + I + '"', g, s, t[I], g[I]);
33059
33059
  continue;
33060
33060
  }
33061
33061
  g[I] = t[I];
@@ -33336,7 +33336,7 @@ function xt(i) {
33336
33336
  const t = i.attributes[e];
33337
33337
  xt(t);
33338
33338
  }
33339
- } else if (i instanceof $A || i instanceof Cn)
33339
+ } else if (i instanceof $A || i instanceof nn)
33340
33340
  xr && console.warn("BufferAttribute dispose not supported", i.count);
33341
33341
  else if (i instanceof Array)
33342
33342
  for (const e of i)
@@ -33358,7 +33358,7 @@ function xt(i) {
33358
33358
  }
33359
33359
  }
33360
33360
  function WB(i) {
33361
- i && ((xr || hT() || Rw) && console.warn("🧨 FREE", i), i instanceof ImageBitmap ? i.close() : i instanceof PC ? i.data = null : i.dispose());
33361
+ i && ((xr || hT() || Rw) && console.warn("🧨 FREE", i), i instanceof ImageBitmap ? i.close() : i instanceof WC ? i.data = null : i.dispose());
33362
33362
  }
33363
33363
  function Q9(i) {
33364
33364
  (i instanceof pA || i instanceof ds) && (i.material = null, i.geometry = null);
@@ -33435,12 +33435,10 @@ try {
33435
33435
  }
33436
33436
  const Kp = sA("debuggetcomponent"), Jp = sA("debuginstantiate");
33437
33437
  var h9 = /* @__PURE__ */ ((i) => (i[i.None = 0] = "None", i[i.HideInHierarchy = 1] = "HideInHierarchy", i[i.HideInInspector = 2] = "HideInInspector", i[i.DontSaveInEditor = 4] = "DontSaveInEditor", i[i.NotEditable = 8] = "NotEditable", i[i.DontSaveInBuild = 16] = "DontSaveInBuild", i[i.DontUnloadUnusedAsset = 32] = "DontUnloadUnusedAsset", i[i.DontSave = 52] = "DontSave", i[i.HideAndDontSave = 61] = "HideAndDontSave", i))(h9 || {});
33438
- class rn {
33438
+ class aC {
33439
33439
  constructor() {
33440
33440
  r(this, "idProvider");
33441
- //** parent guid */
33442
33441
  r(this, "parent");
33443
- /** for duplicatable parenting */
33444
33442
  r(this, "keepWorldPosition");
33445
33443
  r(this, "position");
33446
33444
  r(this, "rotation");
@@ -33448,6 +33446,16 @@ class rn {
33448
33446
  r(this, "visible");
33449
33447
  r(this, "context");
33450
33448
  }
33449
+ clone() {
33450
+ var e, t, g;
33451
+ const A = new aC();
33452
+ return A.idProvider = this.idProvider, A.parent = this.parent, A.keepWorldPosition = this.keepWorldPosition, A.position = (e = this.position) == null ? void 0 : e.clone(), A.rotation = (t = this.rotation) == null ? void 0 : t.clone(), A.scale = (g = this.scale) == null ? void 0 : g.clone(), A;
33453
+ }
33454
+ /** Copy fields from another object, clone field references */
33455
+ cloneAssign(A) {
33456
+ var e, t, g;
33457
+ this.idProvider = A.idProvider, this.parent = A.parent, this.keepWorldPosition = A.keepWorldPosition, this.position = (e = A.position) == null ? void 0 : e.clone(), this.rotation = (t = A.rotation) == null ? void 0 : t.clone(), this.scale = (g = A.scale) == null ? void 0 : g.clone();
33458
+ }
33451
33459
  }
33452
33460
  function Zl(i) {
33453
33461
  return i.visible;
@@ -33551,7 +33559,7 @@ function Nw(i, A = null) {
33551
33559
  if (i === null)
33552
33560
  return null;
33553
33561
  let e = null;
33554
- A !== null && (A.x !== void 0 ? (e = new rn(), e.position = A) : e = A);
33562
+ A !== null && (A.x !== void 0 ? (e = new aC(), e.position = A) : e = A), console.log(e == null ? void 0 : e.position);
33555
33563
  let t = xe.Current;
33556
33564
  e != null && e.context && (t = e.context), Kp && t.alias && console.log("context", t.alias), e && !e.idProvider && (e.idProvider = new Mg(Date.now()));
33557
33565
  const g = [], I = {}, o = {}, s = ST(t, i, e, g, I, o);
@@ -33690,7 +33698,7 @@ function wJ(i, A, e, t) {
33690
33698
  return new e.constructor();
33691
33699
  }
33692
33700
  }
33693
- const II = new w(), yJ = new w(), SJ = new mA(), D9 = sA("debuggizmos"), SC = 8947848;
33701
+ const II = new w(), yJ = new w(), SJ = new mA(), D9 = sA("debuggizmos"), kC = 8947848;
33694
33702
  class Og {
33695
33703
  static isGizmo(A) {
33696
33704
  return A[OG] !== void 0;
@@ -33700,39 +33708,39 @@ class Og {
33700
33708
  * @returns a handle to the label that can be used to change the text
33701
33709
  */
33702
33710
  static DrawLabel(A, e, t = 0.1, g = 9999, I, o, s) {
33703
- I || (I = SC);
33711
+ I || (I = kC);
33704
33712
  const C = Ni.getTextLabel(g, e, t, I, o);
33705
33713
  return s instanceof yA && s.add(C), C.position.x = A.x, C.position.y = A.y, C.position.z = A.z, C;
33706
33714
  }
33707
- static DrawRay(A, e, t = SC, g = 0, I = !0) {
33715
+ static DrawRay(A, e, t = kC, g = 0, I = !0) {
33708
33716
  const o = Ni.getLine(g), s = o.geometry.getAttribute("position");
33709
33717
  s.setXYZ(0, A.x, A.y, A.z), II.set(e.x, e.y, e.z).multiplyScalar(999999999), s.setXYZ(1, A.x + II.x, A.y + II.y, A.z + II.z), s.needsUpdate = !0, o.material.color.set(t), o.material.depthTest = I, o.material.depthWrite = !1;
33710
33718
  }
33711
- static DrawDirection(A, e, t = SC, g = 0, I = !0, o = 1) {
33719
+ static DrawDirection(A, e, t = kC, g = 0, I = !0, o = 1) {
33712
33720
  const s = Ni.getLine(g), C = s.geometry.getAttribute("position");
33713
33721
  C.setXYZ(0, A.x, A.y, A.z), e.w !== void 0 ? (II.set(0, 0, -o), SJ.set(e.x, e.y, e.z, e.w), II.applyQuaternion(SJ)) : (II.set(e.x, e.y, e.z), II.multiplyScalar(o)), C.setXYZ(1, A.x + II.x, A.y + II.y, A.z + II.z), C.needsUpdate = !0, s.material.color.set(t), s.material.depthTest = I, s.material.depthWrite = !1;
33714
33722
  }
33715
- static DrawLine(A, e, t = SC, g = 0, I = !0) {
33723
+ static DrawLine(A, e, t = kC, g = 0, I = !0) {
33716
33724
  const o = Ni.getLine(g), s = o.geometry.getAttribute("position");
33717
33725
  s.setXYZ(0, A.x, A.y, A.z), s.setXYZ(1, e.x, e.y, e.z), s.needsUpdate = !0, o.material.color.set(t), o.material.depthTest = I, o.material.depthWrite = !1;
33718
33726
  }
33719
- static DrawWireSphere(A, e, t = SC, g = 0, I = !0) {
33727
+ static DrawWireSphere(A, e, t = kC, g = 0, I = !0) {
33720
33728
  const o = Ni.getSphere(e, g, !0);
33721
33729
  AE(o, A.x, A.y, A.z), o.material.color.set(t), o.material.depthTest = I, o.material.depthWrite = !1;
33722
33730
  }
33723
- static DrawSphere(A, e, t = SC, g = 0, I = !0) {
33731
+ static DrawSphere(A, e, t = kC, g = 0, I = !0) {
33724
33732
  const o = Ni.getSphere(e, g, !1);
33725
33733
  AE(o, A.x, A.y, A.z), o.material.color.set(t), o.material.depthTest = I, o.material.depthWrite = !1;
33726
33734
  }
33727
- static DrawWireBox(A, e, t = SC, g = 0, I = !0) {
33735
+ static DrawWireBox(A, e, t = kC, g = 0, I = !0) {
33728
33736
  const o = Ni.getBox(g);
33729
33737
  o.position.set(A.x, A.y, A.z), o.scale.set(e.x, e.y, e.z), o.material.color.set(t), o.material.depthTest = I, o.material.wireframe = !0, o.material.depthWrite = !1;
33730
33738
  }
33731
- static DrawWireBox3(A, e = SC, t = 0, g = !0) {
33739
+ static DrawWireBox3(A, e = kC, t = 0, g = !0) {
33732
33740
  const I = Ni.getBox(t);
33733
33741
  I.position.copy(A.getCenter(II)), I.scale.copy(A.getSize(II)), I.material.color.set(e), I.material.depthTest = g, I.material.wireframe = !0, I.material.depthWrite = !1;
33734
33742
  }
33735
- static DrawArrow(A, e, t = SC, g = 0, I = !0, o = !1) {
33743
+ static DrawArrow(A, e, t = kC, g = 0, I = !0, o = !1) {
33736
33744
  const s = Ni.getArrowHead(g);
33737
33745
  s.position.set(e.x, e.y, e.z), s.quaternion.setFromUnitVectors(this._up.set(0, 1, 0), II.set(e.x, e.y, e.z).sub(yJ.set(A.x, A.y, A.z)).normalize());
33738
33746
  const n = II.set(e.x, e.y, e.z).sub(yJ.set(A.x, A.y, A.z)).length() * 0.1;
@@ -34037,7 +34045,7 @@ class G9 {
34037
34045
  this._smoothedDeltaTime = A / this._fpsSamples.length, this._smoothedFps = 1 / this._smoothedDeltaTime;
34038
34046
  }
34039
34047
  }
34040
- const Q0 = 2, Hs = 4, HC = 4, Fw = 4, Vn = new Int32Array(2), MJ = new Float32Array(Vn.buffer), mJ = new Float64Array(Vn.buffer), Fu = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;
34048
+ const Q0 = 2, Hs = 4, _C = 4, Fw = 4, Vn = new Int32Array(2), MJ = new Float32Array(Vn.buffer), mJ = new Float64Array(Vn.buffer), Fu = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;
34041
34049
  class zs {
34042
34050
  constructor(A, e) {
34043
34051
  this.low = A | 0, this.high = e | 0;
@@ -34163,10 +34171,10 @@ class nl {
34163
34171
  * start of a the root vtable).
34164
34172
  */
34165
34173
  getBufferIdentifier() {
34166
- if (this.bytes_.length < this.position_ + Hs + HC)
34174
+ if (this.bytes_.length < this.position_ + Hs + _C)
34167
34175
  throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");
34168
34176
  let A = "";
34169
- for (let e = 0; e < HC; e++)
34177
+ for (let e = 0; e < _C; e++)
34170
34178
  A += String.fromCharCode(this.readInt8(this.position_ + Hs + e));
34171
34179
  return A;
34172
34180
  }
@@ -34254,9 +34262,9 @@ class nl {
34254
34262
  return this.readInt32(A + this.readInt32(A));
34255
34263
  }
34256
34264
  __has_identifier(A) {
34257
- if (A.length != HC)
34258
- throw new Error("FlatBuffers: file identifier must be length " + HC);
34259
- for (let e = 0; e < HC; e++)
34265
+ if (A.length != _C)
34266
+ throw new Error("FlatBuffers: file identifier must be length " + _C);
34267
+ for (let e = 0; e < _C; e++)
34260
34268
  if (A.charCodeAt(e) != this.readInt8(this.position() + Hs + e))
34261
34269
  return !1;
34262
34270
  return !0;
@@ -34546,9 +34554,9 @@ class SE {
34546
34554
  const g = t ? Fw : 0;
34547
34555
  if (e) {
34548
34556
  const I = e;
34549
- if (this.prep(this.minalign, Hs + HC + g), I.length != HC)
34550
- throw new Error("FlatBuffers: file identifier must be length " + HC);
34551
- for (let o = HC - 1; o >= 0; o--)
34557
+ if (this.prep(this.minalign, Hs + _C + g), I.length != _C)
34558
+ throw new Error("FlatBuffers: file identifier must be length " + _C);
34559
+ for (let o = _C - 1; o >= 0; o--)
34552
34560
  this.writeInt8(I.charCodeAt(o));
34553
34561
  }
34554
34562
  this.prep(this.minalign, Hs + g), this.addOffset(A), g && this.addInt32(this.bb.capacity() - this.space), this.bb.setPosition(this.space);
@@ -37678,7 +37686,7 @@ function P9({ window: i } = {}, A = {
37678
37686
  return g;
37679
37687
  }
37680
37688
  const YJ = P9({ window: typeof window > "u" ? void 0 : window });
37681
- function aC(i, A, e, t) {
37689
+ function rC(i, A, e, t) {
37682
37690
  Object.defineProperty(i, A, { get: e, set: t, enumerable: !0, configurable: !0 });
37683
37691
  }
37684
37692
  var c0 = (
@@ -37817,7 +37825,7 @@ var c0 = (
37817
37825
  }, i;
37818
37826
  }()
37819
37827
  ), lt = new W9(), BH = {};
37820
- aC(BH, "Peer", () => tM, (i) => tM = i);
37828
+ rC(BH, "Peer", () => tM, (i) => tM = i);
37821
37829
  var Xl = {}, j9 = Object.prototype.hasOwnProperty, lI = "~";
37822
37830
  function al() {
37823
37831
  }
@@ -37944,8 +37952,8 @@ Zg.prefixed = lI;
37944
37952
  Zg.EventEmitter = Zg;
37945
37953
  Xl = Zg;
37946
37954
  var ne = {};
37947
- aC(ne, "LogLevel", () => mI, (i) => mI = i);
37948
- aC(ne, "default", () => HJ, (i) => HJ = i);
37955
+ rC(ne, "LogLevel", () => mI, (i) => mI = i);
37956
+ rC(ne, "default", () => HJ, (i) => HJ = i);
37949
37957
  var $a = function(i, A) {
37950
37958
  var e = typeof Symbol == "function" && i[Symbol.iterator];
37951
37959
  if (!e)
@@ -38027,7 +38035,7 @@ var z9 = (
38027
38035
  }, i;
38028
38036
  }()
38029
38037
  ), HJ = new z9(), EH = {};
38030
- aC(EH, "Socket", () => _J, (i) => _J = i);
38038
+ rC(EH, "Socket", () => _J, (i) => _J = i);
38031
38039
  var as;
38032
38040
  (function(i) {
38033
38041
  i.Data = "data", i.Media = "media";
@@ -38036,14 +38044,14 @@ var Di;
38036
38044
  (function(i) {
38037
38045
  i.BrowserIncompatible = "browser-incompatible", i.Disconnected = "disconnected", i.InvalidID = "invalid-id", i.InvalidKey = "invalid-key", i.Network = "network", i.PeerUnavailable = "peer-unavailable", i.SslUnavailable = "ssl-unavailable", i.ServerError = "server-error", i.SocketError = "socket-error", i.SocketClosed = "socket-closed", i.UnavailableID = "unavailable-id", i.WebRTC = "webrtc";
38038
38046
  })(Di || (Di = {}));
38039
- var qC;
38047
+ var bC;
38040
38048
  (function(i) {
38041
38049
  i.Binary = "binary", i.BinaryUTF8 = "binary-utf8", i.JSON = "json";
38042
- })(qC || (qC = {}));
38043
- var VC;
38050
+ })(bC || (bC = {}));
38051
+ var ZC;
38044
38052
  (function(i) {
38045
38053
  i.Message = "message", i.Disconnected = "disconnected", i.Error = "error", i.Close = "close";
38046
- })(VC || (VC = {}));
38054
+ })(ZC || (ZC = {}));
38047
38055
  var yg;
38048
38056
  (function(i) {
38049
38057
  i.Heartbeat = "HEARTBEAT", i.Candidate = "CANDIDATE", i.Offer = "OFFER", i.Answer = "ANSWER", i.Open = "OPEN", i.Error = "ERROR", i.IdTaken = "ID-TAKEN", i.InvalidKey = "INVALID-KEY", i.Leave = "LEAVE", i.Expire = "EXPIRE";
@@ -38133,9 +38141,9 @@ var X9 = function() {
38133
38141
  ne.default.log("Invalid server message", o.data);
38134
38142
  return;
38135
38143
  }
38136
- g.emit(VC.Message, s);
38144
+ g.emit(ZC.Message, s);
38137
38145
  }, this._socket.onclose = function(o) {
38138
- g._disconnected || (ne.default.log("Socket closed.", o), g._cleanup(), g._disconnected = !0, g.emit(VC.Disconnected));
38146
+ g._disconnected || (ne.default.log("Socket closed.", o), g._cleanup(), g._disconnected = !0, g.emit(ZC.Disconnected));
38139
38147
  }, this._socket.onopen = function() {
38140
38148
  g._disconnected || (g._sendQueuedMessages(), ne.default.log("Socket open"), g._scheduleHeartbeat());
38141
38149
  });
@@ -38182,7 +38190,7 @@ var X9 = function() {
38182
38190
  return;
38183
38191
  }
38184
38192
  if (!e.type) {
38185
- this.emit(VC.Error, "Invalid message");
38193
+ this.emit(ZC.Error, "Invalid message");
38186
38194
  return;
38187
38195
  }
38188
38196
  if (this._wsOpen()) {
@@ -38197,9 +38205,9 @@ var X9 = function() {
38197
38205
  }, A;
38198
38206
  }(Xl.EventEmitter)
38199
38207
  ), AM = {};
38200
- aC(AM, "MediaConnection", () => WJ, (i) => WJ = i);
38208
+ rC(AM, "MediaConnection", () => WJ, (i) => WJ = i);
38201
38209
  var VR = {};
38202
- aC(VR, "Negotiator", () => OJ, (i) => OJ = i);
38210
+ rC(VR, "Negotiator", () => OJ, (i) => OJ = i);
38203
38211
  var vf = function() {
38204
38212
  return vf = Object.assign || function(i) {
38205
38213
  for (var A, e = 1, t = arguments.length; e < t; e++) {
@@ -38632,7 +38640,7 @@ var vf = function() {
38632
38640
  }, i;
38633
38641
  }()
38634
38642
  ), ZR = {};
38635
- aC(ZR, "BaseConnection", () => PJ, (i) => PJ = i);
38643
+ rC(ZR, "BaseConnection", () => PJ, (i) => PJ = i);
38636
38644
  var t6 = function() {
38637
38645
  var i = function(A, e) {
38638
38646
  return i = Object.setPrototypeOf || {
@@ -38789,9 +38797,9 @@ var t6 = function() {
38789
38797
  }, A.ID_PREFIX = "mc_", A;
38790
38798
  }(ZR.BaseConnection)
38791
38799
  ), eM = {};
38792
- aC(eM, "DataConnection", () => VJ, (i) => VJ = i);
38800
+ rC(eM, "DataConnection", () => VJ, (i) => VJ = i);
38793
38801
  var cH = {};
38794
- aC(cH, "EncodingQueue", () => jJ, (i) => jJ = i);
38802
+ rC(cH, "EncodingQueue", () => jJ, (i) => jJ = i);
38795
38803
  var I6 = function() {
38796
38804
  var i = function(A, e) {
38797
38805
  return i = Object.setPrototypeOf || {
@@ -38890,7 +38898,7 @@ var I6 = function() {
38890
38898
  o6(A, i);
38891
38899
  function A(e, t, g) {
38892
38900
  var I = i.call(this, e, t, g) || this;
38893
- return I.stringify = JSON.stringify, I.parse = JSON.parse, I._buffer = [], I._bufferSize = 0, I._buffering = !1, I._chunkedData = {}, I._encodingQueue = new cH.EncodingQueue(), I.connectionId = I.options.connectionId || A.ID_PREFIX + lt.randomToken(), I.label = I.options.label || I.connectionId, I.serialization = I.options.serialization || qC.Binary, I.reliable = !!I.options.reliable, I._encodingQueue.on("done", function(o) {
38901
+ return I.stringify = JSON.stringify, I.parse = JSON.parse, I._buffer = [], I._bufferSize = 0, I._buffering = !1, I._chunkedData = {}, I._encodingQueue = new cH.EncodingQueue(), I.connectionId = I.options.connectionId || A.ID_PREFIX + lt.randomToken(), I.label = I.options.label || I.connectionId, I.serialization = I.options.serialization || bC.Binary, I.reliable = !!I.options.reliable, I._encodingQueue.on("done", function(o) {
38894
38902
  I._bufferedSend(o);
38895
38903
  }), I._encodingQueue.on("error", function() {
38896
38904
  ne.default.error("DC#".concat(I.connectionId, ": Error occured in encoding from blob to arraybuffer, close DC")), I.close();
@@ -38928,7 +38936,7 @@ var I6 = function() {
38928
38936
  ne.default.log("DC#".concat(e.connectionId, " dc closed for:"), e.peer), e.close();
38929
38937
  };
38930
38938
  }, A.prototype._handleDataMessage = function(e) {
38931
- var t = this, g = e.data, I = g.constructor, o = this.serialization === qC.Binary || this.serialization === qC.BinaryUTF8, s = g;
38939
+ var t = this, g = e.data, I = g.constructor, o = this.serialization === bC.Binary || this.serialization === bC.BinaryUTF8, s = g;
38932
38940
  if (o) {
38933
38941
  if (I === Blob) {
38934
38942
  lt.blobToArrayBuffer(g, function(n) {
@@ -38943,7 +38951,7 @@ var I6 = function() {
38943
38951
  s = lt.unpack(C);
38944
38952
  }
38945
38953
  } else
38946
- this.serialization === qC.JSON && (s = this.parse(g));
38954
+ this.serialization === bC.JSON && (s = this.parse(g));
38947
38955
  if (s.__peerData) {
38948
38956
  this._handleChunk(s);
38949
38957
  return;
@@ -38969,9 +38977,9 @@ var I6 = function() {
38969
38977
  i.prototype.emit.call(this, "error", new Error("Connection is not open. You should listen for the `open` event before sending messages."));
38970
38978
  return;
38971
38979
  }
38972
- if (this.serialization === qC.JSON)
38980
+ if (this.serialization === bC.JSON)
38973
38981
  this._bufferedSend(this.stringify(e));
38974
- else if (this.serialization === qC.Binary || this.serialization === qC.BinaryUTF8) {
38982
+ else if (this.serialization === bC.Binary || this.serialization === bC.BinaryUTF8) {
38975
38983
  var g = lt.pack(e);
38976
38984
  if (!t && g.size > lt.chunkedMTU) {
38977
38985
  this._sendChunks(g);
@@ -39037,7 +39045,7 @@ var I6 = function() {
39037
39045
  }, A.ID_PREFIX = "dc_", A.MAX_BUFFERED_AMOUNT = 8388608, A;
39038
39046
  }(ZR.BaseConnection)
39039
39047
  ), hH = {};
39040
- aC(hH, "API", () => XJ, (i) => XJ = i);
39048
+ rC(hH, "API", () => XJ, (i) => XJ = i);
39041
39049
  var ZJ = function(i, A, e, t) {
39042
39050
  function g(I) {
39043
39051
  return I instanceof e ? I : new e(function(o) {
@@ -39394,13 +39402,13 @@ var ZJ = function(i, A, e, t) {
39394
39402
  configurable: !0
39395
39403
  }), A.prototype._createServerConnection = function() {
39396
39404
  var e = this, t = new EH.Socket(this._options.secure, this._options.host, this._options.port, this._options.path, this._options.key, this._options.pingInterval);
39397
- return t.on(VC.Message, function(g) {
39405
+ return t.on(ZC.Message, function(g) {
39398
39406
  e._handleMessage(g);
39399
- }), t.on(VC.Error, function(g) {
39407
+ }), t.on(ZC.Error, function(g) {
39400
39408
  e._abort(Di.SocketError, g);
39401
- }), t.on(VC.Disconnected, function() {
39409
+ }), t.on(ZC.Disconnected, function() {
39402
39410
  e.disconnected || (e.emitError(Di.Network, "Lost connection to server."), e.disconnect());
39403
- }), t.on(VC.Close, function() {
39411
+ }), t.on(ZC.Close, function() {
39404
39412
  e.disconnected || e._abort(Di.SocketClosed, "Underlying socket is already closed.");
39405
39413
  }), t;
39406
39414
  }, A.prototype._initialize = function(e) {
@@ -45026,7 +45034,7 @@ var iq = class extends $g {
45026
45034
  */
45027
45035
  createDepthTexture() {
45028
45036
  const i = this.depthTexture = new ql();
45029
- return this.inputBuffer.depthTexture = i, this.inputBuffer.dispose(), this.inputBuffer.stencilBuffer ? (i.format = da, i.type = $C) : i.type = Es, i;
45037
+ return this.inputBuffer.depthTexture = i, this.inputBuffer.dispose(), this.inputBuffer.stencilBuffer ? (i.format = da, i.type = An) : i.type = Es, i;
45030
45038
  }
45031
45039
  /**
45032
45040
  * Deletes the current depth texture.
@@ -46708,7 +46716,7 @@ vec4 result=inputColor*(1.0-cocNearFar.y)+colorFar;result=mix(result,colorNear,c
46708
46716
  function i$(i, A, e) {
46709
46717
  const t = /* @__PURE__ */ new Map([
46710
46718
  [ND, 1],
46711
- [OC, 1],
46719
+ [PC, 1],
46712
46720
  [Sr, 2],
46713
46721
  [St, 4]
46714
46722
  ]);
@@ -48346,11 +48354,9 @@ const u0 = Symbol("assetReference"), MQ = class {
48346
48354
  e(this, A);
48347
48355
  }
48348
48356
  async onInstantiate(A, e = !1, t) {
48349
- const g = xe.Current;
48350
- if (this.mustLoad && await this.loadAssetAsync(), vn && console.log("Instantiate", this.uri, "parent:", A), this.asset) {
48357
+ const g = xe.Current, I = new aC();
48358
+ if (A instanceof yA ? I.parent = A : A && I.cloneAssign(A), I.parent || (I.parent = g.scene), this.mustLoad && await this.loadAssetAsync(), vn && console.log("Instantiate", this.uri, "parent:", A), this.asset) {
48351
48359
  vn && console.log("Add to scene", this.asset);
48352
- let I = A instanceof rn ? A : null;
48353
- I || (I = new rn()), typeof A == "object" && (A instanceof yA ? I.parent = A : Object.assign(I, A)), I.parent || (I.parent = g.scene);
48354
48360
  let o = MQ.currentlyInstantiating.get(this.uri);
48355
48361
  if (o !== void 0 && o >= 1e4)
48356
48362
  return console.error("Recursive or too many instantiations of " + this.uri + " in the same frame (" + o + ")"), null;
@@ -48438,7 +48444,7 @@ const U$ = Promise.resolve(null), Fh = class {
48438
48444
  return A.src = this.url, A;
48439
48445
  }
48440
48446
  createTexture() {
48441
- return this.url ? (this.loader || (this.loader = new en()), this.loader.setCrossOrigin("anonymous"), this.loader.loadAsync(this.url)) : U$;
48447
+ return this.url ? (this.loader || (this.loader = new tn()), this.loader.setCrossOrigin("anonymous"), this.loader.loadAsync(this.url)) : U$;
48442
48448
  }
48443
48449
  /** Loads the bitmap data of the image */
48444
48450
  getBitmap() {
@@ -48957,7 +48963,7 @@ var b$ = /* @__PURE__ */ Xs(Da, 9, 0), v$ = /* @__PURE__ */ Xs(Da, 9, 1), L$ = /
48957
48963
  e.l = a, e.p = AA, e.b = n, a && (s = 1, e.m = Q, e.d = B, e.n = E);
48958
48964
  } while (!s);
48959
48965
  return n == A.length ? A : IU(A, 0, n);
48960
- }, kC = function(i, A, e) {
48966
+ }, GC = function(i, A, e) {
48961
48967
  e <<= A & 7;
48962
48968
  var t = A / 8 | 0;
48963
48969
  i[t] |= e, i[t + 1] |= e >>> 8;
@@ -49042,7 +49048,7 @@ var b$ = /* @__PURE__ */ Xs(Da, 9, 0), v$ = /* @__PURE__ */ Xs(Da, 9, 1), L$ = /
49042
49048
  i[g + I + 4] = e[I];
49043
49049
  return (g + 4 + t) * 8;
49044
49050
  }, hq = function(i, A, e, t, g, I, o, s, C, n, a) {
49045
- kC(A, a++, e), ++g[256];
49051
+ GC(A, a++, e), ++g[256];
49046
49052
  for (var B = D0(g, 15), Q = B[0], E = B[1], c = D0(I, 15), d = c[0], l = c[1], h = cq(Q), p = h[0], u = h[1], f = cq(d), k = f[0], G = f[1], M = new EI(19), U = 0; U < p.length; ++U)
49047
49053
  M[p[U] & 31]++;
49048
49054
  for (var U = 0; U < k.length; ++U)
@@ -49053,24 +49059,24 @@ var b$ = /* @__PURE__ */ Xs(Da, 9, 0), v$ = /* @__PURE__ */ Xs(Da, 9, 1), L$ = /
49053
49059
  if (v <= H && v <= W)
49054
49060
  return Yp(A, a, i.subarray(C, C + n));
49055
49061
  var L, b, T, AA;
49056
- if (kC(A, a, 1 + (W < H)), a += 2, W < H) {
49062
+ if (GC(A, a, 1 + (W < H)), a += 2, W < H) {
49057
49063
  L = Xs(Q, E, 0), b = Q, T = Xs(d, l, 0), AA = d;
49058
49064
  var $ = Xs(m, K, 0);
49059
- kC(A, a, u - 257), kC(A, a + 5, G - 1), kC(A, a + 10, P - 4), a += 14;
49065
+ GC(A, a, u - 257), GC(A, a + 5, G - 1), GC(A, a + 10, P - 4), a += 14;
49060
49066
  for (var U = 0; U < P; ++U)
49061
- kC(A, a + 3 * U, m[sM[U]]);
49067
+ GC(A, a + 3 * U, m[sM[U]]);
49062
49068
  a += 3 * P;
49063
49069
  for (var j = [p, k], gA = 0; gA < 2; ++gA)
49064
49070
  for (var dA = j[gA], U = 0; U < dA.length; ++U) {
49065
49071
  var fA = dA[U] & 31;
49066
- kC(A, a, $[fA]), a += m[fA], fA > 15 && (kC(A, a, dA[U] >>> 5 & 127), a += dA[U] >>> 12);
49072
+ GC(A, a, $[fA]), a += m[fA], fA > 15 && (GC(A, a, dA[U] >>> 5 & 127), a += dA[U] >>> 12);
49067
49073
  }
49068
49074
  } else
49069
49075
  L = b$, b = Da, T = L$, AA = rl;
49070
49076
  for (var U = 0; U < s; ++U)
49071
49077
  if (t[U] > 255) {
49072
49078
  var fA = t[U] >>> 18 & 31;
49073
- uc(A, a, L[fA + 257]), a += b[fA + 257], fA > 7 && (kC(A, a, t[U] >>> 23 & 31), a += vw[fA]);
49079
+ uc(A, a, L[fA + 257]), a += b[fA + 257], fA > 7 && (GC(A, a, t[U] >>> 23 & 31), a += vw[fA]);
49074
49080
  var UA = t[U] & 31;
49075
49081
  uc(A, a, T[UA]), a += AA[UA], UA > 3 && (uc(A, a, t[U] >>> 5 & 8191), a += Lw[UA]);
49076
49082
  } else
@@ -49534,16 +49540,16 @@ class Tf extends Tm {
49534
49540
  const dt = F[N.idx[$e]].type;
49535
49541
  for (let $t = 8 * tt; $t < 8 * tt + Lt; ++$t) {
49536
49542
  nt = ct[$e][$t];
49537
- for (let cC = 0; cC < kA; ++cC) {
49538
- const uo = cC * 64 + ($t & 7) * 8;
49543
+ for (let hC = 0; hC < kA; ++hC) {
49544
+ const uo = hC * 64 + ($t & 7) * 8;
49539
49545
  aA.setUint16(nt + 0 * 2 * dt, vt[$e][uo + 0], !0), aA.setUint16(nt + 1 * 2 * dt, vt[$e][uo + 1], !0), aA.setUint16(nt + 2 * 2 * dt, vt[$e][uo + 2], !0), aA.setUint16(nt + 3 * 2 * dt, vt[$e][uo + 3], !0), aA.setUint16(nt + 4 * 2 * dt, vt[$e][uo + 4], !0), aA.setUint16(nt + 5 * 2 * dt, vt[$e][uo + 5], !0), aA.setUint16(nt + 6 * 2 * dt, vt[$e][uo + 6], !0), aA.setUint16(nt + 7 * 2 * dt, vt[$e][uo + 7], !0), nt += 8 * 2 * dt;
49540
49546
  }
49541
49547
  }
49542
49548
  if (kA != qA)
49543
49549
  for (let $t = 8 * tt; $t < 8 * tt + Lt; ++$t) {
49544
- const cC = ct[$e][$t] + 8 * kA * 2 * dt, uo = kA * 64 + ($t & 7) * 8;
49550
+ const hC = ct[$e][$t] + 8 * kA * 2 * dt, uo = kA * 64 + ($t & 7) * 8;
49545
49551
  for (let Ta = 0; Ta < qg; ++Ta)
49546
- aA.setUint16(cC + Ta * 2 * dt, vt[$e][uo + Ta], !0);
49552
+ aA.setUint16(hC + Ta * 2 * dt, vt[$e][uo + Ta], !0);
49547
49553
  }
49548
49554
  }
49549
49555
  }
@@ -50013,7 +50019,7 @@ class Tf extends Tm {
50013
50019
  console.error("THREE.EXRLoader: unsupported type: ", Y);
50014
50020
  break;
50015
50021
  }
50016
- return O.bytesPerLine = O.width * O.inputSize * O.channels, O.outputChannels == 4 ? (O.format = St, O.colorSpace = Yi) : (O.format = OC, O.colorSpace = io), O;
50022
+ return O.bytesPerLine = O.width * O.inputSize * O.channels, O.outputChannels == 4 ? (O.format = St, O.colorSpace = Yi) : (O.format = PC, O.colorSpace = io), O;
50017
50023
  }
50018
50024
  const wB = new DataView(A), yB = new Uint8Array(A), Mn = { value: 0 }, Us = Jd(wB, A, Mn), Ve = qd(Us, wB, yB, Mn, this.type), bd = { value: 0 }, BS = { R: 0, G: 1, B: 2, A: 3, Y: 0 };
50019
50025
  for (let N = 0; N < Ve.height / Ve.scanlineBlockSize; N++) {
@@ -50254,7 +50260,7 @@ class $$ {
50254
50260
  fc && console.log("Load texture from path", n.pointer);
50255
50261
  const B = Ua(this.source, n.pointer);
50256
50262
  let Q;
50257
- B.endsWith(".exr") ? Q = new Tf(this.parser.options.manager) : B.endsWith(".hdr") ? Q = new BM(this.parser.options.manager) : Q = new en(this.parser.options.manager), a = Q.loadAsync(B, void 0).then((E) => this.resolveTexture(n, E));
50263
+ B.endsWith(".exr") ? Q = new Tf(this.parser.options.manager) : B.endsWith(".hdr") ? Q = new BM(this.parser.options.manager) : Q = new tn(this.parser.options.manager), a = Q.loadAsync(B, void 0).then((E) => this.resolveTexture(n, E));
50258
50264
  } else
50259
50265
  n.pointer;
50260
50266
  a && s.push(a);
@@ -50334,7 +50340,7 @@ irradiance += getLightProbeIrradiance( lightProbe, geometry.normal );
50334
50340
  );
50335
50341
  TA.lightmap.lightmapScaleOffset = { value: new ee(1, 1, 0, 0) };
50336
50342
  const eAA = sA("debugplayerview");
50337
- var on = /* @__PURE__ */ ((i) => (i.Browser = "browser", i.Headset = "headset", i.Handheld = "handheld", i))(on || {});
50343
+ var sn = /* @__PURE__ */ ((i) => (i.Browser = "browser", i.Headset = "headset", i.Handheld = "handheld", i))(sn || {});
50338
50344
  class tAA {
50339
50345
  constructor(A, e) {
50340
50346
  r(this, "userId");
@@ -50567,7 +50573,7 @@ const ei = class {
50567
50573
  }
50568
50574
  /** the needle engine version */
50569
50575
  get version() {
50570
- return jC;
50576
+ return VC;
50571
50577
  }
50572
50578
  /** The currently active context. Only set during the update loops */
50573
50579
  static get Current() {
@@ -51670,7 +51676,7 @@ async function lAA() {
51670
51676
  return ra;
51671
51677
  if (Yr === "basic")
51672
51678
  try {
51673
- const i = "https://engine.needle.tools/licensing/check?location=" + encodeURIComponent(window.location.href) + "&version=" + jC + "&generator=" + encodeURIComponent(KR), A = await fetch(i, {
51679
+ const i = "https://engine.needle.tools/licensing/check?location=" + encodeURIComponent(window.location.href) + "&version=" + VC + "&generator=" + encodeURIComponent(KR), A = await fetch(i, {
51674
51680
  method: "GET"
51675
51681
  }).catch();
51676
51682
  (A == null ? void 0 : A.status) === 200 ? (QM = !1, cs && console.log("License check succeeded"), Yr = "pro") : A.status === 403 ? (QM = !0, Vc = await A.text()) : cs && console.log("License check failed with status " + A.status);
@@ -51783,7 +51789,7 @@ async function pAA(i) {
51783
51789
  padding-left: 25px;
51784
51790
  border-radius: .5em;
51785
51791
  border: 2px solid rgba(160,160,160,.3);
51786
- `, I = `Needle Engine — No license active, commercial use is not allowed. Visit https://needle.tools/pricing for more information and licensing options! v${jC}`;
51792
+ `, I = `Needle Engine — No license active, commercial use is not allowed. Visit https://needle.tools/pricing for more information and licensing options! v${VC}`;
51787
51793
  console.log("%c " + I, t);
51788
51794
  }
51789
51795
  function fAA() {
@@ -51927,7 +51933,7 @@ async function wAA() {
51927
51933
  const A = window.location.href;
51928
51934
  let e = "api/v2/new/request";
51929
51935
  i.endsWith("/") || (e = "/" + e);
51930
- const g = `${i}${e}?license=${Yr}&url=${encodeURIComponent(A)}&hostname=${encodeURIComponent(window.location.hostname)}&pathname=${encodeURIComponent(window.location.pathname)}&search=${encodeURIComponent(window.location.search)}&hash=${encodeURIComponent(window.location.hash)}&version=${jC}&generator=${KR}`;
51936
+ const g = `${i}${e}?license=${Yr}&url=${encodeURIComponent(A)}&hostname=${encodeURIComponent(window.location.hostname)}&pathname=${encodeURIComponent(window.location.pathname)}&search=${encodeURIComponent(window.location.search)}&hash=${encodeURIComponent(window.location.hash)}&version=${VC}&generator=${KR}`;
51931
51937
  cs && console.log("Sending non-commercial usage message to analytics backend", g), fetch(
51932
51938
  g,
51933
51939
  {
@@ -52423,24 +52429,24 @@ function NAA(i) {
52423
52429
  const S = a + h._offset, m = S + f, K = m + k, P = K + G, v = new Uint8Array(i.buffer, i.byteOffset + S, f), H = new Uint8Array(i.buffer, i.byteOffset + m, k), W = new Uint8Array(i.buffer, i.byteOffset + K, G), L = new Uint8Array(i.buffer, i.byteOffset + P, M);
52424
52430
  return e.globalData = { endpointCount: p, selectorCount: u, imageDescs: U, endpointsData: v, selectorsData: H, tablesData: W, extendedData: L }, e;
52425
52431
  }
52426
- let S0, mC, hM;
52432
+ let S0, RC, hM;
52427
52433
  const k0 = { env: { emscripten_notify_memory_growth: function(i) {
52428
- hM = new Uint8Array(mC.exports.memory.buffer);
52434
+ hM = new Uint8Array(RC.exports.memory.buffer);
52429
52435
  } } };
52430
52436
  let FAA = class {
52431
52437
  init() {
52432
52438
  return S0 || (S0 = typeof fetch < "u" ? fetch("data:application/wasm;base64," + Sq).then((A) => A.arrayBuffer()).then((A) => WebAssembly.instantiate(A, k0)).then(this._init) : WebAssembly.instantiate(Buffer.from(Sq, "base64"), k0).then(this._init), S0);
52433
52439
  }
52434
52440
  _init(A) {
52435
- mC = A.instance, k0.env.emscripten_notify_memory_growth(0);
52441
+ RC = A.instance, k0.env.emscripten_notify_memory_growth(0);
52436
52442
  }
52437
52443
  decode(A, e = 0) {
52438
- if (!mC)
52444
+ if (!RC)
52439
52445
  throw new Error("ZSTDDecoder: Await .init() before decoding.");
52440
- const t = A.byteLength, g = mC.exports.malloc(t);
52441
- hM.set(A, g), e = e || Number(mC.exports.ZSTD_findDecompressedSize(g, t));
52442
- const I = mC.exports.malloc(e), o = mC.exports.ZSTD_decompress(I, e, g, t), s = hM.slice(I, I + o);
52443
- return mC.exports.free(g), mC.exports.free(I), s;
52446
+ const t = A.byteLength, g = RC.exports.malloc(t);
52447
+ hM.set(A, g), e = e || Number(RC.exports.ZSTD_findDecompressedSize(g, t));
52448
+ const I = RC.exports.malloc(e), o = RC.exports.ZSTD_decompress(I, e, g, t), s = hM.slice(I, I + o);
52449
+ return RC.exports.free(g), RC.exports.free(I), s;
52444
52450
  }
52445
52451
  };
52446
52452
  const Sq = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", G0 = /* @__PURE__ */ new WeakMap();
@@ -52519,10 +52525,10 @@ class hs extends Ug {
52519
52525
  return Promise.reject(C);
52520
52526
  let B;
52521
52527
  if (e.faceCount === 6)
52522
- B = new An(), B.image = t, B.format = o, B.type = pt;
52528
+ B = new en(), B.image = t, B.format = o, B.type = pt;
52523
52529
  else {
52524
52530
  const Q = t[0].mipmaps;
52525
- B = e.layerCount > 1 ? new UL(Q, g, I, e.layerCount, o, pt) : new An(Q, g, I, o, pt);
52531
+ B = e.layerCount > 1 ? new UL(Q, g, I, e.layerCount, o, pt) : new en(Q, g, I, o, pt);
52526
52532
  }
52527
52533
  return B.minFilter = t[0].mipmaps.length === 1 ? Ne : jo, B.magFilter = Ne, B.generateMipmaps = !1, B.needsUpdate = !0, B.colorSpace = n === mAA ? Ie : io, B.premultiplyAlpha = !!(a & MAA), B;
52528
52534
  }
@@ -52750,10 +52756,10 @@ const kq = {
52750
52756
  [i2]: Sr,
52751
52757
  [A2]: Sr,
52752
52758
  [aU]: Sr,
52753
- [I2]: OC,
52754
- [t2]: OC,
52755
- [nU]: OC,
52756
- [$H]: OC
52759
+ [I2]: PC,
52760
+ [t2]: PC,
52761
+ [nU]: PC,
52762
+ [$H]: PC
52757
52763
  }, R0 = {
52758
52764
  [s2]: hi,
52759
52765
  [g2]: Ii,
@@ -53794,7 +53800,7 @@ class EeA {
53794
53800
  constructor(A = {}, e = {}) {
53795
53801
  this.json = A, this.extensions = {}, this.plugins = {}, this.options = e, this.cache = new vAA(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.nodeCache = {}, this.meshCache = { refs: {}, uses: {} }, this.cameraCache = { refs: {}, uses: {} }, this.lightCache = { refs: {}, uses: {} }, this.sourceCache = {}, this.textureCache = {}, this.nodeNamesUsed = {};
53796
53802
  let t = !1, g = !1, I = -1;
53797
- typeof navigator < "u" && (t = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, g = navigator.userAgent.indexOf("Firefox") > -1, I = g ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap > "u" || t || g && I < 98 ? this.textureLoader = new en(this.options.manager) : this.textureLoader = new ex(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Xi(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
53803
+ typeof navigator < "u" && (t = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, g = navigator.userAgent.indexOf("Firefox") > -1, I = g ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap > "u" || t || g && I < 98 ? this.textureLoader = new tn(this.options.manager) : this.textureLoader = new ex(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new Xi(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
53798
53804
  }
53799
53805
  setExtensions(A) {
53800
53806
  this.extensions = A;
@@ -54020,7 +54026,7 @@ class EeA {
54020
54026
  if (E && E !== B) {
54021
54027
  const h = Math.floor(Q / E), p = "InterleavedBuffer:" + g.bufferView + ":" + g.componentType + ":" + h + ":" + g.count;
54022
54028
  let u = e.cache.get(p);
54023
- u || (d = new n(s, h * E, g.count * E / a), u = new bl(d, E / a), e.cache.add(p, u)), l = new Cn(u, C, Q % E / a, c);
54029
+ u || (d = new n(s, h * E, g.count * E / a), u = new bl(d, E / a), e.cache.add(p, u)), l = new nn(u, C, Q % E / a, c);
54024
54030
  } else
54025
54031
  s === null ? d = new n(g.count * C) : d = new n(s, Q, g.count * C), l = new $A(d, C, c);
54026
54032
  if (g.sparse !== void 0) {
@@ -54431,7 +54437,7 @@ class EeA {
54431
54437
  break;
54432
54438
  case xn.position:
54433
54439
  case xn.scale:
54434
- n = nn;
54440
+ n = an;
54435
54441
  break;
54436
54442
  default:
54437
54443
  switch (t.itemSize) {
@@ -54441,7 +54447,7 @@ class EeA {
54441
54447
  case 2:
54442
54448
  case 3:
54443
54449
  default:
54444
- n = nn;
54450
+ n = an;
54445
54451
  break;
54446
54452
  }
54447
54453
  break;
@@ -54843,7 +54849,7 @@ function r2(i) {
54843
54849
  });
54844
54850
  }
54845
54851
  }
54846
- const GC = _g, Tu = "$___Export_Components", deA = "NEEDLE_components";
54852
+ const MC = _g, Tu = "$___Export_Components", deA = "NEEDLE_components";
54847
54853
  var VaA;
54848
54854
  class ueA {
54849
54855
  constructor() {
@@ -54898,20 +54904,20 @@ class feA {
54898
54904
  !t || t.length <= 0 || (delete A.userData.components, A[Tu] = t);
54899
54905
  }
54900
54906
  afterSerializeUserData(A, e) {
54901
- if (A.type === "Scene" && GC && console.log("DONE", JSON.stringify(e)), A[Tu] === void 0)
54907
+ if (A.type === "Scene" && MC && console.log("DONE", JSON.stringify(e)), A[Tu] === void 0)
54902
54908
  return;
54903
54909
  const t = A[Tu];
54904
54910
  delete A[Tu], t !== null && (A.userData.components = t);
54905
54911
  }
54906
54912
  writeNode(A, e) {
54907
54913
  const t = this.writer.json.nodes.length;
54908
- GC && console.log(A.name, t, A.uuid);
54914
+ MC && console.log(A.name, t, A.uuid);
54909
54915
  const g = new peA(A, t, e);
54910
54916
  this.exportContext[t] = g, this.objectToNodeMap[A.uuid] = t;
54911
54917
  }
54912
54918
  afterParse(A) {
54913
54919
  var e;
54914
- GC && console.log("AFTER", A);
54920
+ MC && console.log("AFTER", A);
54915
54921
  for (const t in this.exportContext) {
54916
54922
  const g = this.exportContext[t], I = g.node, o = g.nodeDef, s = g.nodeIndex, C = (e = I.userData) == null ? void 0 : e.components;
54917
54923
  if (!C || C.length <= 0)
@@ -54924,14 +54930,14 @@ class feA {
54924
54930
  const Q = tC().writeBuiltinComponentData(B, this.context);
54925
54931
  Q !== null && a.push(Q);
54926
54932
  }
54927
- a.length > 0 && (n[aQ] = a, GC && console.log("DID WRITE", I, "nodeIndex", s, a));
54933
+ a.length > 0 && (n[aQ] = a, MC && console.log("DID WRITE", I, "nodeIndex", s, a));
54928
54934
  }
54929
54935
  }
54930
54936
  // -------------------------------------
54931
54937
  // LOADING
54932
54938
  // called by GLTFLoader
54933
54939
  beforeRoot() {
54934
- return GC && console.log("BEGIN LOAD"), this.nodeToObjectMap = {}, null;
54940
+ return MC && console.log("BEGIN LOAD"), this.nodeToObjectMap = {}, null;
54935
54941
  }
54936
54942
  // called by GLTFLoader
54937
54943
  async afterRoot(A) {
@@ -54939,7 +54945,7 @@ class feA {
54939
54945
  if (!t)
54940
54946
  return;
54941
54947
  const g = t[this.name];
54942
- GC && console.log("After root", A, this.parser, t);
54948
+ MC && console.log("After root", A, this.parser, t);
54943
54949
  const I = [];
54944
54950
  if (g === !0) {
54945
54951
  const o = e.json.nodes;
@@ -54955,7 +54961,7 @@ class feA {
54955
54961
  const B = a[this.name];
54956
54962
  if (!B)
54957
54963
  continue;
54958
- GC && console.log("NODE", C);
54964
+ MC && console.log("NODE", C);
54959
54965
  const Q = this.nodeToObjectMap[n];
54960
54966
  if (!Q) {
54961
54967
  console.error("Could not find object for node index: " + n, C, e);
@@ -54973,10 +54979,10 @@ class feA {
54973
54979
  const t = e[aQ];
54974
54980
  if (t) {
54975
54981
  const g = new Array();
54976
- GC && console.log(A.name, t);
54982
+ MC && console.log(A.name, t);
54977
54983
  for (const I in t) {
54978
54984
  const o = t[I];
54979
- GC && console.log("Serialized data", JSON.parse(JSON.stringify(o))), o && this.parser && g.push(
54985
+ MC && console.log("Serialized data", JSON.parse(JSON.stringify(o))), o && this.parser && g.push(
54980
54986
  TR(this.parser, o).catch((s) => console.error(`Error while resolving references (see console for details)
54981
54987
  `, s, A, o))
54982
54988
  ), A.userData = A.userData || {}, A.userData[aQ] = A.userData[aQ] || [], A.userData[aQ].push(o);
@@ -55382,7 +55388,7 @@ const Kh = class {
55382
55388
  const Q = this.onProgressiveLoadStart(A, e, B, t, g);
55383
55389
  try {
55384
55390
  ji && console.log("Load texture from uri: " + B);
55385
- const c = await new en().loadAsync(B);
55391
+ const c = await new tn().loadAsync(B);
55386
55392
  return c ? (c.guid = C.guid, c.flipY = !1, c.needsUpdate = !0, c.colorSpace = I.colorSpace, ji && console.log(C, c)) : ji && console.warn("failed loading", B), c;
55387
55393
  } finally {
55388
55394
  this.onProgressiveLoadEnd(Q);
@@ -55959,7 +55965,7 @@ class TeA extends pn {
55959
55965
  const t = A, g = new Tr(t.image.width, t.image.height, {
55960
55966
  colorSpace: Yi
55961
55967
  });
55962
- return g.texture = t, t.isRenderTargetTexture = !0, t.flipY = !0, t.offset.y = 1, t.repeat.y = -1, t.needsUpdate = !0, t instanceof An && (t.isCompressedTexture = !1, t.format = St), g;
55968
+ return g.texture = t, t.isRenderTargetTexture = !0, t.flipY = !0, t.offset.y = 1, t.repeat.y = -1, t.needsUpdate = !0, t instanceof en && (t.isCompressedTexture = !1, t.format = St), g;
55963
55969
  }
55964
55970
  }
55965
55971
  }
@@ -56038,7 +56044,7 @@ var PeA = Object.defineProperty, WeA = Object.getOwnPropertyDescriptor, Q2 = (i,
56038
56044
  };
56039
56045
  const Gc = sA("debugreflectionprobe"), Tq = sA("noreflectionprobe"), jeA = Symbol("reflectionProbeKey"), VeA = Symbol("original material");
56040
56046
  var hp;
56041
- const RC = (hp = class extends FA {
56047
+ const UC = (hp = class extends FA {
56042
56048
  constructor() {
56043
56049
  var A;
56044
56050
  super();
@@ -56046,12 +56052,12 @@ const RC = (hp = class extends FA {
56046
56052
  r(this, "center");
56047
56053
  r(this, "size");
56048
56054
  r(this, "_boxHelper");
56049
- RC._probes.has(this.context) || RC._probes.set(this.context, []), (A = RC._probes.get(this.context)) == null || A.push(this);
56055
+ UC._probes.has(this.context) || UC._probes.set(this.context, []), (A = UC._probes.get(this.context)) == null || A.push(this);
56050
56056
  }
56051
56057
  static get(A, e, t, g) {
56052
56058
  if (!A || A.isObject3D !== !0 || Tq)
56053
56059
  return null;
56054
- const I = RC._probes.get(e);
56060
+ const I = UC._probes.get(e);
56055
56061
  if (I) {
56056
56062
  for (const o of I)
56057
56063
  if (o.__didAwake || o.__internalAwake(), o.enabled) {
@@ -56082,7 +56088,7 @@ const RC = (hp = class extends FA {
56082
56088
  this._boxHelper = this.gameObject.addNewComponent(Bs), this._boxHelper.updateBox(!0), Gc && this._boxHelper.showHelper(5592320, !0), this.texture && (this.texture.mapping = _o, this.texture.colorSpace = Ie, this.texture.needsUpdate = !0);
56083
56089
  }
56084
56090
  onDestroy() {
56085
- const A = RC._probes.get(this.context);
56091
+ const A = UC._probes.get(this.context);
56086
56092
  if (A) {
56087
56093
  const e = A.indexOf(this);
56088
56094
  e >= 0 && A.splice(e, 1);
@@ -56092,8 +56098,8 @@ const RC = (hp = class extends FA {
56092
56098
  var t;
56093
56099
  if (Tq || !this.enabled || ((t = A.sharedMaterials) == null ? void 0 : t.length) <= 0 || !this.texture)
56094
56100
  return;
56095
- let e = RC._rendererMaterialsCache.get(A);
56096
- e || (e = [], RC._rendererMaterialsCache.set(A, e));
56101
+ let e = UC._rendererMaterialsCache.get(A);
56102
+ e || (e = [], UC._rendererMaterialsCache.set(A, e));
56097
56103
  for (let g = 0; g < A.sharedMaterials.length; g++) {
56098
56104
  const I = A.sharedMaterials[g];
56099
56105
  if (!I || I.envMap === void 0)
@@ -56119,7 +56125,7 @@ const RC = (hp = class extends FA {
56119
56125
  }
56120
56126
  }
56121
56127
  onUnset(A) {
56122
- const e = RC._rendererMaterialsCache.get(A);
56128
+ const e = UC._rendererMaterialsCache.get(A);
56123
56129
  if (e)
56124
56130
  for (let t = 0; t < e.length; t++) {
56125
56131
  const g = e[t];
@@ -56130,7 +56136,7 @@ const RC = (hp = class extends FA {
56130
56136
  // and some need reflection probe and some don't
56131
56137
  // we need to make sure we don't override the material but use a copy
56132
56138
  r(hp, "_rendererMaterialsCache", /* @__PURE__ */ new Map()), hp);
56133
- let td = RC;
56139
+ let td = UC;
56134
56140
  Q2([
56135
56141
  D(w)
56136
56142
  ], td.prototype, "center", 2);
@@ -58702,7 +58708,7 @@ document.addEventListener("pointerdown", Hw);
58702
58708
  document.addEventListener("click", Hw);
58703
58709
  document.addEventListener("dragstart", Hw);
58704
58710
  document.addEventListener("touchstart", Hw);
58705
- const UC = class extends FA {
58711
+ const NC = class extends FA {
58706
58712
  constructor() {
58707
58713
  super(...arguments);
58708
58714
  r(this, "clip", "");
@@ -58729,7 +58735,7 @@ const UC = class extends FA {
58729
58735
  (this.playInBackground === !1 || Na()) && (this.wasPlaying = this.isPlaying, this.isPlaying && this.pause());
58730
58736
  break;
58731
58737
  case "visible":
58732
- lg && console.log("visible", this.enabled, this.playOnAwake, !this.isPlaying, UC.userInteractionRegistered, this.wasPlaying), this.enabled && this.playOnAwake && !this.isPlaying && UC.userInteractionRegistered && this.wasPlaying && this.play();
58738
+ lg && console.log("visible", this.enabled, this.playOnAwake, !this.isPlaying, NC.userInteractionRegistered, this.wasPlaying), this.enabled && this.playOnAwake && !this.isPlaying && NC.userInteractionRegistered && this.wasPlaying && this.play();
58733
58739
  break;
58734
58740
  }
58735
58741
  });
@@ -58739,14 +58745,14 @@ const UC = class extends FA {
58739
58745
  });
58740
58746
  r(this, "lerp", (A, e, t) => A * (1 - t) + e * t);
58741
58747
  r(this, "createAudio", (A) => {
58742
- lg && console.log("audio buffer loaded"), UC.registerWaitForAllowAudio(() => {
58748
+ lg && console.log("audio buffer loaded"), NC.registerWaitForAllowAudio(() => {
58743
58749
  lg && console.log("finished loading", A);
58744
58750
  const e = this.Sound;
58745
58751
  if (!e) {
58746
58752
  console.warn("Failed getting sound", this.name);
58747
58753
  return;
58748
58754
  }
58749
- e.isPlaying && e.stop(), A && e.setBuffer(A), e.loop = this._loop, this.context.application.muted ? e.setVolume(0) : e.setVolume(this.volume), e.autoplay = this.shouldPlay, this.applySpatialDistanceSettings(), e.isPlaying && e.stop(), lg && console.log(this.name, this.shouldPlay, UC.userInteractionRegistered, this), this.shouldPlay && UC.userInteractionRegistered && this.play();
58755
+ e.isPlaying && e.stop(), A && e.setBuffer(A), e.loop = this._loop, this.context.application.muted ? e.setVolume(0) : e.setVolume(this.volume), e.autoplay = this.shouldPlay, this.applySpatialDistanceSettings(), e.isPlaying && e.stop(), lg && console.log(this.name, this.shouldPlay, NC.userInteractionRegistered, this), this.shouldPlay && NC.userInteractionRegistered && this.play();
58750
58756
  });
58751
58757
  });
58752
58758
  r(this, "_lastContextTime", 0);
@@ -58796,7 +58802,7 @@ const UC = class extends FA {
58796
58802
  this._volume = A, this.sound && !this.context.application.muted && (lg && console.log(this.name, "audio set volume", A), this.sound.setVolume(A));
58797
58803
  }
58798
58804
  get Sound() {
58799
- if (!this.sound && UC.userInteractionRegistered) {
58805
+ if (!this.sound && NC.userInteractionRegistered) {
58800
58806
  let A = IA.getComponent(this.context.mainCamera, Hr) ?? IA.findObjectOfType(Hr, this.context);
58801
58807
  !A && this.context.mainCamera && (A = IA.addNewComponent(this.context.mainCamera, Hr)), A != null && A.listener ? (this.sound = new ix(A.listener), this.gameObject.add(this.sound)) : lg && console.warn("No audio listener found in scene - can not play audio");
58802
58808
  }
@@ -58809,7 +58815,7 @@ const UC = class extends FA {
58809
58815
  lg && console.log(this), this.audioLoader = new pf(), this.playOnAwake && (this.shouldPlay = !0);
58810
58816
  }
58811
58817
  onEnable() {
58812
- UC.userInteractionRegistered ? this.playOnAwake && this.context.application.isVisible && this.play() : UC.registerWaitForAllowAudio(() => {
58818
+ NC.userInteractionRegistered ? this.playOnAwake && this.context.application.isVisible && this.play() : NC.registerWaitForAllowAudio(() => {
58813
58819
  this.enabled && !this.destroyed && this.shouldPlay && this.onNewClip(this.clip);
58814
58820
  }), globalThis.addEventListener("visibilitychange", this.onVisibilityChanged), this.context.application.addEventListener(oM.MuteChanged, this.onApplicationMuteChanged);
58815
58821
  }
@@ -58891,7 +58897,7 @@ Using the assigned clip instead:`, this.clip), A = this.clip);
58891
58897
  this.helper && (this.isPlaying && this.helper.update(), this.helper.visible = this.isPlaying), this._needUpdateSpatialDistanceSettings && this.applySpatialDistanceSettings(), this.sound && !this.sound.isPlaying && this.shouldPlay && !this._hasEnded && (this._hasEnded = !0, lg && console.log("Audio clip ended", this.clip), this.sound.dispatchEvent({ type: "ended", target: this }));
58892
58898
  }
58893
58899
  };
58894
- let Hi = UC;
58900
+ let Hi = NC;
58895
58901
  Dn([
58896
58902
  D(URL)
58897
58903
  ], Hi.prototype, "clip", 2);
@@ -59869,7 +59875,7 @@ class hU {
59869
59875
  let t = null;
59870
59876
  if (typeof e == "string") {
59871
59877
  if (t = await this.loadAvatar(A, e), !t) {
59872
- const I = new rn();
59878
+ const I = new aC();
59873
59879
  t = IA.instantiate(zh(e, A.scene), I);
59874
59880
  }
59875
59881
  } else
@@ -59989,7 +59995,7 @@ const iF = class {
59989
59995
  let UI = iF;
59990
59996
  r(UI, "Global", new iF());
59991
59997
  var vc;
59992
- const NC = (vc = class extends FA {
59998
+ const FC = (vc = class extends FA {
59993
59999
  constructor() {
59994
60000
  super(...arguments);
59995
60001
  r(this, "visibleIn");
@@ -59999,14 +60005,14 @@ const NC = (vc = class extends FA {
59999
60005
  A.UpdateVisible(UI.Global);
60000
60006
  }
60001
60007
  awake() {
60002
- NC.registry.push(this);
60008
+ FC.registry.push(this);
60003
60009
  }
60004
60010
  onEnable() {
60005
- NC.firstApply ? this.UpdateVisible(UI.Global) : (NC.firstApply = !0, NC.Apply());
60011
+ FC.firstApply ? this.UpdateVisible(UI.Global) : (FC.firstApply = !0, FC.Apply());
60006
60012
  }
60007
60013
  onDestroy() {
60008
- const A = NC.registry.indexOf(this);
60009
- A >= 0 && NC.registry.splice(A, 1);
60014
+ const A = FC.registry.indexOf(this);
60015
+ A >= 0 && FC.registry.splice(A, 1);
60010
60016
  }
60011
60017
  get isOn() {
60012
60018
  return this.gameObject.visible;
@@ -60014,7 +60020,7 @@ const NC = (vc = class extends FA {
60014
60020
  UpdateVisible(A = null) {
60015
60021
  let e;
60016
60022
  const t = A;
60017
- t && typeof t == "number" && (console.assert(typeof t == "number", "XRFlag.UpdateVisible: state must be a number", t), EQ && console.log(t), NC.buffer.Mask = t, A = NC.buffer);
60023
+ t && typeof t == "number" && (console.assert(typeof t == "number", "XRFlag.UpdateVisible: state must be a number", t), EQ && console.log(t), FC.buffer.Mask = t, A = FC.buffer);
60018
60024
  const g = A;
60019
60025
  if (g ? (EQ && console.warn(this.name, "use passed in mask", g.Mask, this.visibleIn), e = g.Has(this.visibleIn)) : (EQ && console.log(this.name, "use global mask"), UI.Global.Has(this.visibleIn)), e !== void 0)
60020
60026
  if (e)
@@ -60026,7 +60032,7 @@ const NC = (vc = class extends FA {
60026
60032
  }
60027
60033
  }
60028
60034
  }, r(vc, "registry", []), r(vc, "firstApply"), r(vc, "buffer", new UI()), vc);
60029
- let Yo = NC;
60035
+ let Yo = FC;
60030
60036
  niA([
60031
60037
  D()
60032
60038
  ], Yo.prototype, "visibleIn", 2);
@@ -60110,7 +60116,7 @@ const Jh = class {
60110
60116
  }
60111
60117
  tryUpdate(A, e) {
60112
60118
  if (A.guid === this.guid && (this.lastAvatarId !== A.avatarId && A.avatarId && A.avatarId.length > 0 && (this.lastAvatarId = A.avatarId, this.setupCustomAvatar(A.avatarId)), this.lastUpdate = A.time, this.head)) {
60113
- const t = this.webxr.IsInAR ? on.Handheld : on.Headset, g = this.head;
60119
+ const t = this.webxr.IsInAR ? sn.Handheld : sn.Headset, g = this.head;
60114
60120
  this.context.players.setPlayerView(A.guid, g, t), hI.markDirty(this.head), this._canInterpolate = !0;
60115
60121
  const I = this.isLocalAvatar ? this.head : this._headTarget;
60116
60122
  if (I.position.set(A.position.x, A.position.y, A.position.z), I.quaternion.set(A.rotation.x, A.rotation.y, A.rotation.z, A.rotation.w), I.scale.set(A.scale, A.scale, A.scale), I.scale.multiply(this.headScale), this.handLeft) {
@@ -60160,8 +60166,8 @@ const Jh = class {
60160
60166
  return On && console.warn("build avatar failed"), !1;
60161
60167
  }
60162
60168
  };
60163
- let ZC = Jh;
60164
- r(ZC, "loader", new hU()), r(ZC, "invertRotation", new mA().setFromAxisAngle(new w(0, 1, 0), Math.PI));
60169
+ let zC = Jh;
60170
+ r(zC, "loader", new hU()), r(zC, "invertRotation", new mA().setFromAxisAngle(new w(0, 1, 0), Math.PI));
60165
60171
  class KI {
60166
60172
  static Add(A, e, t = null) {
60167
60173
  if (e) {
@@ -60715,7 +60721,7 @@ class F2 {
60715
60721
  return A.prep(4, 36), A.prep(4, 12), A.writeFloat32(a), A.writeFloat32(n), A.writeFloat32(C), A.prep(4, 12), A.writeFloat32(s), A.writeFloat32(o), A.writeFloat32(I), A.prep(4, 12), A.writeFloat32(g), A.writeFloat32(t), A.writeFloat32(e), A.offset();
60716
60722
  }
60717
60723
  }
60718
- class _C {
60724
+ class OC {
60719
60725
  constructor() {
60720
60726
  r(this, "bb", null);
60721
60727
  r(this, "bb_pos", 0);
@@ -60724,10 +60730,10 @@ class _C {
60724
60730
  return this.bb_pos = A, this.bb = e, this;
60725
60731
  }
60726
60732
  static getRootAsSyncedTransformModel(A, e) {
60727
- return (e || new _C()).__init(A.readInt32(A.position()) + A.position(), A);
60733
+ return (e || new OC()).__init(A.readInt32(A.position()) + A.position(), A);
60728
60734
  }
60729
60735
  static getSizePrefixedRootAsSyncedTransformModel(A, e) {
60730
- return A.setPosition(A.position() + Fw), (e || new _C()).__init(A.readInt32(A.position()) + A.position(), A);
60736
+ return A.setPosition(A.position() + Fw), (e || new OC()).__init(A.readInt32(A.position()) + A.position(), A);
60731
60737
  }
60732
60738
  guid(A) {
60733
60739
  const e = this.bb.__offset(this.bb_pos, 4);
@@ -60777,15 +60783,15 @@ class _C {
60777
60783
  }
60778
60784
  }
60779
60785
  const Yn = sA("debugsync"), Ql = "STRS";
60780
- PR(Ql, _C.getRootAsSyncedTransformModel);
60786
+ PR(Ql, OC.getRootAsSyncedTransformModel);
60781
60787
  const Ks = new SE();
60782
60788
  function K2(i, A, e = !0) {
60783
60789
  Ks.clear();
60784
60790
  const t = Ks.createString(i);
60785
- _C.startSyncedTransformModel(Ks), _C.addGuid(Ks, t), _C.addFast(Ks, e);
60791
+ OC.startSyncedTransformModel(Ks), OC.addGuid(Ks, t), OC.addFast(Ks, e);
60786
60792
  const g = A.worldPosition, I = A.worldEuler, o = A.gameObject.scale;
60787
- _C.addTransform(Ks, F2.createTransform(Ks, g.x, g.y, g.z, I.x, I.y, I.z, o.x, o.y, o.z));
60788
- const s = _C.endSyncedTransformModel(Ks);
60793
+ OC.addTransform(Ks, F2.createTransform(Ks, g.x, g.y, g.z, I.x, I.y, I.z, o.x, o.y, o.z));
60794
+ const s = OC.endSyncedTransformModel(Ks);
60789
60795
  return Ks.finish(s, Ql), Ks.asUint8Array();
60790
60796
  }
60791
60797
  class Vr extends FA {
@@ -61821,10 +61827,10 @@ const Ls = class extends FA {
61821
61827
  }
61822
61828
  //@ts-ignore
61823
61829
  static ensureUpdateMeshUI(e, t, g = !1) {
61824
- vC.update(e, t, g);
61830
+ LC.update(e, t, g);
61825
61831
  }
61826
61832
  static markUIDirty(e) {
61827
- vC.markDirty();
61833
+ LC.markDirty();
61828
61834
  }
61829
61835
  get hasActiveUI() {
61830
61836
  return this.currentActiveMeshUIComponents.length > 0;
@@ -61855,7 +61861,7 @@ const Ls = class extends FA {
61855
61861
  this._selectStartFn ?? (this._selectStartFn = (g, I) => {
61856
61862
  if (!I.grab)
61857
61863
  return;
61858
- vC.resetLastSelected();
61864
+ LC.resetLastSelected();
61859
61865
  const o = new ia(this.context.input);
61860
61866
  o.inputSource = g, o.pointerId = 0, o.isDown = g.selectionDown, o.isUp = g.selectionUp, o.isPressed = g.selectionPressed, o.isClicked = !1, e.set(g, I.grab), I.grab && !this.handleEventOnObject(I.grab, o) && (I.grab = null);
61861
61867
  }), this._selectEndFn ?? (this._selectEndFn = (g, I) => {
@@ -62037,14 +62043,14 @@ const Ls = class extends FA {
62037
62043
  return !e || !e.isUI ? !0 : this.handleMeshUIIntersection(e, t);
62038
62044
  }
62039
62045
  handleMeshUIIntersection(e, t) {
62040
- const g = vC.updateState(e, t);
62046
+ const g = LC.updateState(e, t);
62041
62047
  return g && this.currentActiveMeshUIComponents.push(g), g !== null;
62042
62048
  }
62043
62049
  resetMeshUIStates() {
62044
- if (this.context.input.getPointerPressedCount() > 0 && vC.resetLastSelected(), !(!this.currentActiveMeshUIComponents || this.currentActiveMeshUIComponents.length <= 0)) {
62050
+ if (this.context.input.getPointerPressedCount() > 0 && LC.resetLastSelected(), !(!this.currentActiveMeshUIComponents || this.currentActiveMeshUIComponents.length <= 0)) {
62045
62051
  for (let e = 0; e < this.currentActiveMeshUIComponents.length; e++) {
62046
62052
  const t = this.currentActiveMeshUIComponents[e];
62047
- vC.resetState(t);
62053
+ LC.resetState(t);
62048
62054
  }
62049
62055
  this.currentActiveMeshUIComponents.length = 0;
62050
62056
  }
@@ -62055,7 +62061,7 @@ const Ls = class extends FA {
62055
62061
  };
62056
62062
  let NI = Ls;
62057
62063
  r(NI, "_eventSystemMap", /* @__PURE__ */ new Map()), r(NI, "didSearchEventSystem", !1);
62058
- class vC {
62064
+ class LC {
62059
62065
  static markDirty() {
62060
62066
  this.needsUpdate = !0;
62061
62067
  }
@@ -62096,7 +62102,7 @@ class vC {
62096
62102
  return A ? A.isBlock ? A : this.findBlockInParent(A.parent) : null;
62097
62103
  }
62098
62104
  }
62099
- r(vC, "lastSelected", null), r(vC, "lastUpdateFrame", []), r(vC, "needsUpdate", !1);
62105
+ r(LC, "lastSelected", null), r(LC, "lastUpdateFrame", []), r(LC, "needsUpdate", !1);
62100
62106
  const Vp = Symbol("cameraController");
62101
62107
  function fiA(i) {
62102
62108
  return i[Vp];
@@ -62926,14 +62932,14 @@ Ww([
62926
62932
  D(jg)
62927
62933
  ], od.prototype, "reaction", 2);
62928
62934
  var Uk;
62929
- const FC = (Uk = class extends FA {
62935
+ const KC = (Uk = class extends FA {
62930
62936
  constructor() {
62931
62937
  super(...arguments);
62932
62938
  r(this, "events");
62933
62939
  }
62934
62940
  static invoke(A) {
62935
- if (FC.receivers[A]) {
62936
- const e = FC.receivers[A];
62941
+ if (KC.receivers[A]) {
62942
+ const e = KC.receivers[A];
62937
62943
  if (!e)
62938
62944
  return;
62939
62945
  for (const t of e)
@@ -62946,14 +62952,14 @@ const FC = (Uk = class extends FA {
62946
62952
  onEnable() {
62947
62953
  if (this.events)
62948
62954
  for (const A of this.events)
62949
- FC.receivers[A.signal.guid] || (FC.receivers[A.signal.guid] = []), FC.receivers[A.signal.guid].push(this);
62955
+ KC.receivers[A.signal.guid] || (KC.receivers[A.signal.guid] = []), KC.receivers[A.signal.guid].push(this);
62950
62956
  }
62951
62957
  onDisable() {
62952
62958
  if (this.events) {
62953
62959
  for (const A of this.events)
62954
- if (FC.receivers[A.signal.guid]) {
62955
- const e = FC.receivers[A.signal.guid].indexOf(this);
62956
- e >= 0 && FC.receivers[A.signal.guid].splice(e, 1);
62960
+ if (KC.receivers[A.signal.guid]) {
62961
+ const e = KC.receivers[A.signal.guid].indexOf(this);
62962
+ e >= 0 && KC.receivers[A.signal.guid].splice(e, 1);
62957
62963
  }
62958
62964
  }
62959
62965
  }
@@ -62990,12 +62996,12 @@ const FC = (Uk = class extends FA {
62990
62996
  // }
62991
62997
  // }
62992
62998
  }, r(Uk, "receivers", {}), Uk);
62993
- let sd = FC;
62999
+ let sd = KC;
62994
63000
  Ww([
62995
63001
  D(od)
62996
63002
  ], sd.prototype, "events", 2);
62997
- var Ro = /* @__PURE__ */ ((i) => (i.Activation = "ActivationTrack", i.Animation = "AnimationTrack", i.Audio = "AudioTrack", i.Control = "ControlTrack", i.Marker = "MarkerTrack", i.Signal = "SignalTrack", i))(Ro || {}), KC = /* @__PURE__ */ ((i) => (i[i.None = 0] = "None", i[i.Hold = 1] = "Hold", i[i.Loop = 2] = "Loop", i[i.PingPong = 3] = "PingPong", i[i.Continue = 4] = "Continue", i))(KC || {}), q2 = /* @__PURE__ */ ((i) => (i.Signal = "SignalEmitter", i))(q2 || {});
62998
- const zC = sA("debugtimeline");
63003
+ var Ro = /* @__PURE__ */ ((i) => (i.Activation = "ActivationTrack", i.Animation = "AnimationTrack", i.Audio = "AudioTrack", i.Control = "ControlTrack", i.Marker = "MarkerTrack", i.Signal = "SignalTrack", i))(Ro || {}), JC = /* @__PURE__ */ ((i) => (i[i.None = 0] = "None", i[i.Hold = 1] = "Hold", i[i.Loop = 2] = "Loop", i[i.PingPong = 3] = "PingPong", i[i.Continue = 4] = "Continue", i))(JC || {}), q2 = /* @__PURE__ */ ((i) => (i.Signal = "SignalEmitter", i))(q2 || {});
63004
+ const XC = sA("debugtimeline");
62999
63005
  class Vw {
63000
63006
  constructor() {
63001
63007
  r(this, "director");
@@ -63057,12 +63063,12 @@ class KiA {
63057
63063
  const e = A.getClip();
63058
63064
  this.clip = e;
63059
63065
  const t = A.getRoot(), g = t.name + ".position", I = t.name + ".quaternion";
63060
- zC && console.log(e.name, e.tracks, g);
63066
+ XC && console.log(e.name, e.tracks, g);
63061
63067
  for (const o of e.tracks)
63062
63068
  if (!(o.times.length <= 0)) {
63063
63069
  if (o.name.endsWith(g))
63064
- this.rootStartPosition = new w().fromArray(o.values, 0), this.rootEndPosition = new w().fromArray(o.values, o.values.length - 3), this.rootPositionOffset = this.rootEndPosition.clone().sub(this.rootStartPosition), zC && console.log(this.rootPositionOffset);
63065
- else if (o.name.endsWith(I) && (this.rootStartQuaternion = new mA().fromArray(o.values, 0), this.rootEndQuaternion = new mA().fromArray(o.values, o.values.length - 4), this.rootQuaternionOffset = this.rootEndQuaternion.clone().multiply(this.rootStartQuaternion), zC)) {
63070
+ this.rootStartPosition = new w().fromArray(o.values, 0), this.rootEndPosition = new w().fromArray(o.values, o.values.length - 3), this.rootPositionOffset = this.rootEndPosition.clone().sub(this.rootStartPosition), XC && console.log(this.rootPositionOffset);
63071
+ else if (o.name.endsWith(I) && (this.rootStartQuaternion = new mA().fromArray(o.values, 0), this.rootEndQuaternion = new mA().fromArray(o.values, o.values.length - 4), this.rootQuaternionOffset = this.rootEndQuaternion.clone().multiply(this.rootStartQuaternion), XC)) {
63066
63072
  const s = new zi().setFromQuaternion(this.rootQuaternionOffset);
63067
63073
  console.log("ROT", s);
63068
63074
  }
@@ -63121,21 +63127,21 @@ class pU extends Vw {
63121
63127
  if (C) {
63122
63128
  if (!n) {
63123
63129
  const p = t.tracks[0].name.substring(0, c) + ".quaternion";
63124
- zC && console.warn("Create quaternion track", l, h);
63130
+ XC && console.warn("Create quaternion track", l, h);
63125
63131
  const u = h.quaternion, f = new AC(p, [0, t.duration], [u.x, u.y, u.z, u.w, u.x, u.y, u.z, u.w]);
63126
63132
  t.tracks.push(f), this.createRotationInterpolant(t, e, f);
63127
63133
  }
63128
63134
  } else {
63129
63135
  const p = d + ".position";
63130
- zC && console.warn("Create position track", l, h);
63131
- const u = h.position, f = new nn(p, [0, t.duration], [u.x, u.y, u.z, u.x, u.y, u.z]);
63136
+ XC && console.warn("Create position track", l, h);
63137
+ const u = h.position, f = new an(p, [0, t.duration], [u.x, u.y, u.z, u.x, u.y, u.z]);
63132
63138
  t.tracks.push(f), this.createPositionInterpolant(t, e, f);
63133
63139
  }
63134
63140
  }
63135
63141
  }
63136
63142
  bind() {
63137
63143
  if (!this._didBind) {
63138
- this._didBind = !0, zC && console.log(this.models), this.mixer ? this.target = this.mixer.getRoot() : console.warn("No mixer was assigned to animation track");
63144
+ this._didBind = !0, XC && console.log(this.models), this.mixer ? this.target = this.mixer.getRoot() : console.warn("No mixer was assigned to animation track");
63139
63145
  for (const e of this.actions) {
63140
63146
  const t = new KiA(e);
63141
63147
  this._actionOffsets.push(t);
@@ -63167,15 +63173,15 @@ class pU extends Vw {
63167
63173
  h.weight = 0;
63168
63174
  const u = e >= l.start && e <= l.end, f = l.preExtrapolationMode, k = l.postExtrapolationMode, G = d < this.clips.length - 1 ? this.models[d + 1] : null;
63169
63175
  let M = u, U = !1;
63170
- if (!M && !I && l.end < e && k !== KC.None ? (!G || G.start > e) && (M = !0, I = !0) : d == 0 && !M && !o && l.start > e && f !== KC.None && (!G || G.start < e) && (M = !0, U = !0, o = !0), M) {
63176
+ if (!M && !I && l.end < e && k !== JC.None ? (!G || G.start > e) && (M = !0, I = !0) : d == 0 && !M && !o && l.start > e && f !== JC.None && (!G || G.start < e) && (M = !0, U = !0, o = !0), M) {
63171
63177
  let S = 1;
63172
63178
  S *= this.evaluateWeight(e, d, this.models, M), S *= this.director.weight;
63173
63179
  let m = u;
63174
63180
  if (U)
63175
63181
  switch (f) {
63176
- case KC.Hold:
63182
+ case JC.Hold:
63177
63183
  break;
63178
- case KC.Loop:
63184
+ case JC.Loop:
63179
63185
  e += l.start, m = !0;
63180
63186
  break;
63181
63187
  default:
@@ -63184,19 +63190,19 @@ class pU extends Vw {
63184
63190
  }
63185
63191
  let K = this.getClipTime(e, l), P = 0;
63186
63192
  const v = p.duration;
63187
- if (U && f === KC.Hold && (K = 0), m) {
63193
+ if (U && f === JC.Hold && (K = 0), m) {
63188
63194
  if (p.loop)
63189
63195
  for (P += Math.floor(K / (v + 1e-6)); K > v; )
63190
63196
  K -= v;
63191
63197
  } else if (!u && I)
63192
63198
  switch (k) {
63193
- case KC.Hold:
63199
+ case JC.Hold:
63194
63200
  K = this.getClipTime(l.end, l);
63195
63201
  break;
63196
- case KC.Loop:
63202
+ case JC.Loop:
63197
63203
  K %= v;
63198
63204
  break;
63199
- case KC.PingPong:
63205
+ case JC.PingPong:
63200
63206
  const L = Math.floor(K / v) % 2 !== 0;
63201
63207
  K %= v, L && (K = v - K);
63202
63208
  break;
@@ -63216,7 +63222,7 @@ class pU extends Vw {
63216
63222
  }
63217
63223
  }
63218
63224
  }
63219
- if (this._useclipOffsets && (this._totalOffsetPosition.lerp(this._totalOffsetPosition2, g), this._totalOffsetRotation.slerp(this._totalOffsetRotation2, g)), this.__mixerError === void 0 && (zC || Oe()) && ((n = (C = this._animator) == null ? void 0 : C.runtimeAnimatorController) != null && n.mixer) && this.mixer !== ((B = (a = this._animator) == null ? void 0 : a.runtimeAnimatorController) == null ? void 0 : B.mixer) && (this.__mixerError = !0, console.error("AnimationTrack mixer is not shared with the animator controller - this might result in the timeline to not animate properly. Please report a bug to the Needle Engine team!", this)), (Q = this._animator) != null && Q.runtimeAnimatorController) {
63225
+ if (this._useclipOffsets && (this._totalOffsetPosition.lerp(this._totalOffsetPosition2, g), this._totalOffsetRotation.slerp(this._totalOffsetRotation2, g)), this.__mixerError === void 0 && (XC || Oe()) && ((n = (C = this._animator) == null ? void 0 : C.runtimeAnimatorController) != null && n.mixer) && this.mixer !== ((B = (a = this._animator) == null ? void 0 : a.runtimeAnimatorController) == null ? void 0 : B.mixer) && (this.__mixerError = !0, console.error("AnimationTrack mixer is not shared with the animator controller - this might result in the timeline to not animate properly. Please report a bug to the Needle Engine team!", this)), (Q = this._animator) != null && Q.runtimeAnimatorController) {
63220
63226
  const d = Math.max(0, 1 - s);
63221
63227
  (c = (E = this._animator) == null ? void 0 : E.runtimeAnimatorController) == null || c.update(d);
63222
63228
  } else
@@ -63363,7 +63369,7 @@ const JiA = sA("mutetimeline"), RQ = class extends Vw {
63363
63369
  s && t.setBuffer(s);
63364
63370
  }), o;
63365
63371
  }
63366
- zC && console.warn("LOAD audio track", g, this.director.sourceId);
63372
+ XC && console.warn("LOAD audio track", g, this.director.sourceId);
63367
63373
  const I = new Promise((o, s) => {
63368
63374
  this._audioLoader.load(
63369
63375
  g,
@@ -63411,7 +63417,7 @@ class zf extends Vw {
63411
63417
  }
63412
63418
  if (n) {
63413
63419
  if (!s)
63414
- if (zC && console.log("Trigger signal", e, o.time, o), this.didTrigger[I] = !0, ((g = this.receivers) == null ? void 0 : g.length) <= 0)
63420
+ if (XC && console.log("Trigger signal", e, o.time, o), this.didTrigger[I] = !0, ((g = this.receivers) == null ? void 0 : g.length) <= 0)
63415
63421
  sd.invoke(o.asset);
63416
63422
  else
63417
63423
  for (const a of this.receivers)
@@ -64703,7 +64709,7 @@ class wU {
64703
64709
  }
64704
64710
  }
64705
64711
  const kQ = sA("debugnetworkingstreams");
64706
- var XC = /* @__PURE__ */ ((i) => (i.Connected = "peer-user-connected", i.StreamReceived = "receive-stream", i.StreamEnded = "call-ended", i.Disconnected = "peer-user-disconnected", i.UserJoined = "user-joined", i))(XC || {});
64712
+ var $C = /* @__PURE__ */ ((i) => (i.Connected = "peer-user-connected", i.StreamReceived = "receive-stream", i.StreamEnded = "call-ended", i.Disconnected = "peer-user-disconnected", i.UserJoined = "user-joined", i))($C || {});
64707
64713
  class egA {
64708
64714
  constructor(A, e) {
64709
64715
  r(this, "type", "call-ended");
@@ -65049,11 +65055,11 @@ class CB extends FA {
65049
65055
  });
65050
65056
  }
65051
65057
  onEnable() {
65052
- this._net || (this._net = Ay.create(this)), this._net.addEventListener(XC.StreamReceived, this.onReceiveStream), this._net.addEventListener(XC.StreamEnded, this.onStreamEnded), this._net.enable(), this.autoConnect && (this.context.connection.isConnected ? this.connect() : this.context.connection.beginListen(jt.JoinedRoom, this.onJoinedRoom)), this.onEnabledChanged(), window.addEventListener("visibilitychange", this.onVisibilityChanged);
65058
+ this._net || (this._net = Ay.create(this)), this._net.addEventListener($C.StreamReceived, this.onReceiveStream), this._net.addEventListener($C.StreamEnded, this.onStreamEnded), this._net.enable(), this.autoConnect && (this.context.connection.isConnected ? this.connect() : this.context.connection.beginListen(jt.JoinedRoom, this.onJoinedRoom)), this.onEnabledChanged(), window.addEventListener("visibilitychange", this.onVisibilityChanged);
65053
65059
  }
65054
65060
  onDisable() {
65055
65061
  var e;
65056
- this._net.stopSendingStream(this._outputStream), this._net.removeEventListener(XC.StreamReceived, this.onReceiveStream), this._net.removeEventListener(XC.StreamEnded, this.onStreamEnded), (e = this._net) == null || e.disable(), this.context.connection.stopListen(jt.JoinedRoom, this.onJoinedRoom), this.onEnabledChanged(), window.removeEventListener("visibilitychange", this.onVisibilityChanged);
65062
+ this._net.stopSendingStream(this._outputStream), this._net.removeEventListener($C.StreamReceived, this.onReceiveStream), this._net.removeEventListener($C.StreamEnded, this.onStreamEnded), (e = this._net) == null || e.disable(), this.context.connection.stopListen(jt.JoinedRoom, this.onJoinedRoom), this.onEnabledChanged(), window.removeEventListener("visibilitychange", this.onVisibilityChanged);
65057
65063
  }
65058
65064
  get isSending() {
65059
65065
  return this._outputStream != null && this._outputStream.active;
@@ -66541,7 +66547,7 @@ class z2 extends ro {
66541
66547
  onCalculateLayout() {
66542
66548
  }
66543
66549
  }
66544
- var vgA = Object.defineProperty, LgA = Object.getOwnPropertyDescriptor, rC = (i, A, e, t) => {
66550
+ var vgA = Object.defineProperty, LgA = Object.getOwnPropertyDescriptor, BC = (i, A, e, t) => {
66545
66551
  for (var g = t > 1 ? void 0 : t ? LgA(A, e) : A, I = i.length - 1, o; I >= 0; I--)
66546
66552
  (o = i[I]) && (g = (t ? o(A, e, g) : o(g)) || g);
66547
66553
  return t && g && vgA(A, e, g), g;
@@ -66740,34 +66746,34 @@ const X0 = sA("debuguilayout"), $2 = class extends Ow {
66740
66746
  }
66741
66747
  };
66742
66748
  let Xg = $2;
66743
- rC([
66749
+ BC([
66744
66750
  D()
66745
66751
  ], Xg.prototype, "renderOnTop", 1);
66746
- rC([
66752
+ BC([
66747
66753
  D()
66748
66754
  ], Xg.prototype, "depthWrite", 1);
66749
- rC([
66755
+ BC([
66750
66756
  D()
66751
66757
  ], Xg.prototype, "doubleSided", 1);
66752
- rC([
66758
+ BC([
66753
66759
  D()
66754
66760
  ], Xg.prototype, "castShadows", 1);
66755
- rC([
66761
+ BC([
66756
66762
  D()
66757
66763
  ], Xg.prototype, "receiveShadows", 1);
66758
- rC([
66764
+ BC([
66759
66765
  D()
66760
66766
  ], Xg.prototype, "renderMode", 1);
66761
- rC([
66767
+ BC([
66762
66768
  D(Xg)
66763
66769
  ], Xg.prototype, "rootCanvas", 1);
66764
- rC([
66770
+ BC([
66765
66771
  D()
66766
66772
  ], Xg.prototype, "scaleFactor", 1);
66767
- rC([
66773
+ BC([
66768
66774
  D(Zt)
66769
66775
  ], Xg.prototype, "worldCamera", 2);
66770
- rC([
66776
+ BC([
66771
66777
  D()
66772
66778
  ], Xg.prototype, "planeDistance", 2);
66773
66779
  var xgA = Object.defineProperty, YgA = Object.getOwnPropertyDescriptor, UU = (i, A, e, t) => {
@@ -66889,7 +66895,7 @@ si([
66889
66895
  D()
66890
66896
  ], JE.prototype, "relativeMotion", 2);
66891
66897
  var dp;
66892
- const JC = (dp = class extends FA {
66898
+ const qC = (dp = class extends FA {
66893
66899
  constructor() {
66894
66900
  super(...arguments);
66895
66901
  r(this, "materialToSwitch");
@@ -66927,15 +66933,15 @@ const JC = (dp = class extends FA {
66927
66933
  }
66928
66934
  }
66929
66935
  async beforeCreateDocument(A, e) {
66930
- this.targetModels = [], JC._materialTriggersPerId = {}, JC.variantSwitchIndex = 0, this.materialToSwitch && await vo.assignTextureLOD(this.context, this.sourceId, this.materialToSwitch, 0), this.variantMaterial && await vo.assignTextureLOD(this.context, this.sourceId, this.variantMaterial, 0);
66936
+ this.targetModels = [], qC._materialTriggersPerId = {}, qC.variantSwitchIndex = 0, this.materialToSwitch && await vo.assignTextureLOD(this.context, this.sourceId, this.materialToSwitch, 0), this.variantMaterial && await vo.assignTextureLOD(this.context, this.sourceId, this.variantMaterial, 0);
66931
66937
  }
66932
66938
  createBehaviours(A, e, t) {
66933
- this._objectsWithThisMaterial.find((I) => I.uuid === e.uuid) && this.targetModels.push(e), this.gameObject.uuid === e.uuid && (this.selfModel = e, this.materialToSwitch && (JC._materialTriggersPerId[this.materialToSwitch.uuid] || (JC._materialTriggersPerId[this.materialToSwitch.uuid] = []), JC._materialTriggersPerId[this.materialToSwitch.uuid].push(this)));
66939
+ this._objectsWithThisMaterial.find((I) => I.uuid === e.uuid) && this.targetModels.push(e), this.gameObject.uuid === e.uuid && (this.selfModel = e, this.materialToSwitch && (qC._materialTriggersPerId[this.materialToSwitch.uuid] || (qC._materialTriggersPerId[this.materialToSwitch.uuid] = []), qC._materialTriggersPerId[this.materialToSwitch.uuid].push(this)));
66934
66940
  }
66935
66941
  afterCreateDocument(A, e) {
66936
66942
  if (!this.materialToSwitch)
66937
66943
  return;
66938
- const t = JC._materialTriggersPerId[this.materialToSwitch.uuid];
66944
+ const t = qC._materialTriggersPerId[this.materialToSwitch.uuid];
66939
66945
  if (t) {
66940
66946
  const g = {};
66941
66947
  for (const I of t) {
@@ -66949,7 +66955,7 @@ const JC = (dp = class extends FA {
66949
66955
  I.createAndAttachBehaviors(A, g[I.selfModel.uuid], o);
66950
66956
  }
66951
66957
  }
66952
- delete JC._materialTriggersPerId[this.materialToSwitch.uuid];
66958
+ delete qC._materialTriggersPerId[this.materialToSwitch.uuid];
66953
66959
  }
66954
66960
  createAndAttachBehaviors(A, e, t) {
66955
66961
  const g = [], I = [], o = Math.max(0, this.fadeDuration);
@@ -66973,12 +66979,12 @@ const JC = (dp = class extends FA {
66973
66979
  const A = [];
66974
66980
  for (const e of this.targetModels) {
66975
66981
  const t = e.clone();
66976
- t.name += " variant_" + this.variantMaterial.name + "_" + JC.variantSwitchIndex++, t.name = t.name.replace(/\s/g, "_"), t.material = this.variantMaterial, t.geometry = e.geometry, t.matrix = e.matrix, (!e.parent || !e.parent.isEmpty()) && eo.createEmptyParent(e), e.parent && e.parent.add(t), A.push(t);
66982
+ t.name += " variant_" + this.variantMaterial.name + "_" + qC.variantSwitchIndex++, t.name = t.name.replace(/\s/g, "_"), t.material = this.variantMaterial, t.geometry = e.geometry, t.matrix = e.matrix, (!e.parent || !e.parent.isEmpty()) && eo.createEmptyParent(e), e.parent && e.parent.add(t), A.push(t);
66977
66983
  }
66978
66984
  return A;
66979
66985
  }
66980
66986
  }, r(dp, "_materialTriggersPerId", {}), r(dp, "variantSwitchIndex", 0), dp);
66981
- let cd = JC;
66987
+ let cd = qC;
66982
66988
  si([
66983
66989
  D(Le)
66984
66990
  ], cd.prototype, "materialToSwitch", 2);
@@ -67815,7 +67821,7 @@ var AIA = Object.defineProperty, eIA = Object.getOwnPropertyDescriptor, oA = (i,
67815
67821
  return t && g && AIA(A, e, g), g;
67816
67822
  };
67817
67823
  const tp = sA("debugparticles");
67818
- var LC = /* @__PURE__ */ ((i) => (i[i.Billboard = 0] = "Billboard", i[i.Stretch = 1] = "Stretch", i[i.HorizontalBillboard = 2] = "HorizontalBillboard", i[i.VerticalBillboard = 3] = "VerticalBillboard", i[i.Mesh = 4] = "Mesh", i))(LC || {});
67824
+ var xC = /* @__PURE__ */ ((i) => (i[i.Billboard = 0] = "Billboard", i[i.Stretch = 1] = "Stretch", i[i.HorizontalBillboard = 2] = "HorizontalBillboard", i[i.VerticalBillboard = 3] = "VerticalBillboard", i[i.Mesh = 4] = "Mesh", i))(xC || {});
67819
67825
  let BB = class {
67820
67826
  constructor() {
67821
67827
  r(this, "alphaKeys");
@@ -69905,7 +69911,7 @@ class AD extends FA {
69905
69911
  return;
69906
69912
  }
69907
69913
  if (this.voip || (this.voip = IA.findObjectOfType(CB, this.context)), Nc) {
69908
- const e = "debug-avatar-" + Nc, t = new ZC(this.context, e, this.webXR);
69914
+ const e = "debug-avatar-" + Nc, t = new zC(this.context, e, this.webXR);
69909
69915
  if (this.debugAvatarUser = t, typeof Nc == "string" && Nc.length > 0)
69910
69916
  if (await t.setAvatarOverride(Nc)) {
69911
69917
  const g = new _s(e);
@@ -69954,7 +69960,7 @@ class AD extends FA {
69954
69960
  if (I === void 0)
69955
69961
  try {
69956
69962
  console.log("create new avatar");
69957
- const o = new ZC(this.context, e, this.webXR);
69963
+ const o = new zC(this.context, e, this.webXR);
69958
69964
  I = o, this.avatars[e] = o;
69959
69965
  } catch (o) {
69960
69966
  this.avatars[e] = null, console.error(o);
@@ -69991,7 +69997,7 @@ class AD extends FA {
69991
69997
  if (this.localAvatar || !this.webXR)
69992
69998
  return;
69993
69999
  const e = ((t = this.context.connection) == null ? void 0 : t.connectionId) ?? this.k_LocalAvatarNoNetworkingGuid;
69994
- this.localAvatar = new ZC(this.context, e, this.webXR), this.localAvatar.isLocalAvatar = !0, this.localAvatar.setAvatarOverride(this.getAvatarId()), this.avatars[this.localAvatar.guid] = this.localAvatar;
70000
+ this.localAvatar = new zC(this.context, e, this.webXR), this.localAvatar.isLocalAvatar = !0, this.localAvatar.setAvatarOverride(this.getAvatarId()), this.avatars[this.localAvatar.guid] = this.localAvatar;
69995
70001
  }
69996
70002
  onConnected() {
69997
70003
  var e, t, g;
@@ -71237,7 +71243,7 @@ var kIA = Object.defineProperty, GIA = Object.getOwnPropertyDescriptor, lB = (i,
71237
71243
  (o = i[I]) && (g = (t ? o(A, e, g) : o(g)) || g);
71238
71244
  return t && g && kIA(A, e, g), g;
71239
71245
  };
71240
- class BC extends pI {
71246
+ class QC extends pI {
71241
71247
  constructor() {
71242
71248
  super(...arguments);
71243
71249
  r(this, "mode");
@@ -71285,26 +71291,26 @@ class BC extends pI {
71285
71291
  }
71286
71292
  lB([
71287
71293
  D()
71288
- ], BC.prototype, "mode", 2);
71294
+ ], QC.prototype, "mode", 2);
71289
71295
  lB([
71290
71296
  D(Je)
71291
- ], BC.prototype, "focusDistance", 2);
71297
+ ], QC.prototype, "focusDistance", 2);
71292
71298
  lB([
71293
71299
  D(Je)
71294
- ], BC.prototype, "focalLength", 2);
71300
+ ], QC.prototype, "focalLength", 2);
71295
71301
  lB([
71296
71302
  D(Je)
71297
- ], BC.prototype, "aperture", 2);
71303
+ ], QC.prototype, "aperture", 2);
71298
71304
  lB([
71299
71305
  D(Je)
71300
- ], BC.prototype, "gaussianMaxRadius", 2);
71306
+ ], QC.prototype, "gaussianMaxRadius", 2);
71301
71307
  lB([
71302
71308
  D(Je)
71303
- ], BC.prototype, "resolutionScale", 2);
71309
+ ], QC.prototype, "resolutionScale", 2);
71304
71310
  lB([
71305
71311
  D(Je)
71306
- ], BC.prototype, "bokehScale", 2);
71307
- Gs("DepthOfField", BC);
71312
+ ], QC.prototype, "bokehScale", 2);
71313
+ Gs("DepthOfField", QC);
71308
71314
  var MIA = Object.defineProperty, mIA = Object.getOwnPropertyDescriptor, RIA = (i, A, e, t) => {
71309
71315
  for (var g = t > 1 ? void 0 : t ? mIA(A, e) : A, I = i.length - 1, o; I >= 0; I--)
71310
71316
  (o = i[I]) && (g = (t ? o(A, e, g) : o(g)) || g);
@@ -71909,7 +71915,7 @@ class YE extends gd {
71909
71915
  if (this.object === this.gameObject)
71910
71916
  return null;
71911
71917
  this.object.visible = !0, this._startPosition && this.object.position.copy(this._startPosition), this._startQuaternion && this.object.quaternion.copy(this._startQuaternion);
71912
- const g = new rn();
71918
+ const g = new aC();
71913
71919
  this.parent || (this.parent = this.gameObject.parent), this.parent && (g.parent = this.parent.guid ?? ((t = this.parent.userData) == null ? void 0 : t.guid), g.keepWorldPosition = !0), g.position = this.worldPosition, g.rotation = this.worldQuaternion, g.context = this.context, this._currentCount += 1;
71914
71920
  const I = IA.instantiateSynced(this.object, g);
71915
71921
  return console.assert(I !== this.object, "Duplicated object is original"), this.object.visible = !1, this._startPosition && this.object.position.clone().copy(this._startPosition), this._startQuaternion && this.object.quaternion.clone().copy(this._startQuaternion), I;
@@ -72627,7 +72633,7 @@ class aoA {
72627
72633
  return d;
72628
72634
  };
72629
72635
  }
72630
- console.warn("THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures."), A instanceof An && (A = ik(A)), e instanceof An && (e = ik(e));
72636
+ console.warn("THREE.GLTFExporter: Merged metalnessMap and roughnessMap textures."), A instanceof en && (A = ik(A)), e instanceof en && (e = ik(e));
72631
72637
  const g = A ? A.image : null, I = e ? e.image : null, o = Math.max(g ? g.width : 0, I ? I.width : 0), s = Math.max(g ? g.height : 0, I ? I.height : 0), C = fb();
72632
72638
  C.width = o, C.height = s;
72633
72639
  const n = C.getContext("2d");
@@ -72647,7 +72653,7 @@ class aoA {
72647
72653
  }
72648
72654
  n.putImageData(a, 0, 0);
72649
72655
  const Q = (A || e).clone();
72650
- return Q.source = new PC(C), Q.colorSpace = io, Q.channel = (A || e).channel, A && e && A.channel !== e.channel && console.warn("THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match."), Q;
72656
+ return Q.source = new WC(C), Q.colorSpace = io, Q.channel = (A || e).channel, A && e && A.channel !== e.channel && console.warn("THREE.GLTFExporter: UV channels for metalnessMap and roughnessMap textures must match."), Q;
72651
72657
  }
72652
72658
  /**
72653
72659
  * Process a buffer to append to the default one.
@@ -72835,7 +72841,7 @@ class aoA {
72835
72841
  const t = this.options, g = this.cache, I = this.json;
72836
72842
  if (g.textures.has(A))
72837
72843
  return g.textures.get(A);
72838
- I.textures || (I.textures = []), A instanceof An && (A = ik(A, t.maxTextureSize));
72844
+ I.textures || (I.textures = []), A instanceof en && (A = ik(A, t.maxTextureSize));
72839
72845
  let o = A.userData.mimeType;
72840
72846
  o === "image/webp" && (o = "image/png");
72841
72847
  const s = {
@@ -73906,7 +73912,7 @@ dy([
73906
73912
  dy([
73907
73913
  D(jg)
73908
73914
  ], HE.prototype, "onEndEdit", 2);
73909
- var NoA = Object.defineProperty, FoA = Object.getOwnPropertyDescriptor, QC = (i, A, e, t) => {
73915
+ var NoA = Object.defineProperty, FoA = Object.getOwnPropertyDescriptor, EC = (i, A, e, t) => {
73910
73916
  for (var g = t > 1 ? void 0 : t ? FoA(A, e) : A, I = i.length - 1, o; I >= 0; I--)
73911
73917
  (o = i[I]) && (g = (t ? o(A, e, g) : o(g)) || g);
73912
73918
  return t && g && NoA(A, e, g), g;
@@ -74119,34 +74125,34 @@ class Qo extends FA {
74119
74125
  }
74120
74126
  }
74121
74127
  r(Qo, "allowChangingRendererShadowMapType", !0);
74122
- QC([
74128
+ EC([
74123
74129
  D()
74124
74130
  ], Qo.prototype, "type", 2);
74125
- QC([
74131
+ EC([
74126
74132
  D(SA)
74127
74133
  ], Qo.prototype, "color", 1);
74128
- QC([
74134
+ EC([
74129
74135
  D()
74130
74136
  ], Qo.prototype, "shadowNearPlane", 1);
74131
- QC([
74137
+ EC([
74132
74138
  D()
74133
74139
  ], Qo.prototype, "shadowBias", 1);
74134
- QC([
74140
+ EC([
74135
74141
  D()
74136
74142
  ], Qo.prototype, "shadowNormalBias", 1);
74137
- QC([
74143
+ EC([
74138
74144
  D()
74139
74145
  ], Qo.prototype, "shadows", 1);
74140
- QC([
74146
+ EC([
74141
74147
  D()
74142
74148
  ], Qo.prototype, "lightmapBakeType", 2);
74143
- QC([
74149
+ EC([
74144
74150
  D()
74145
74151
  ], Qo.prototype, "intensity", 1);
74146
- QC([
74152
+ EC([
74147
74153
  D()
74148
74154
  ], Qo.prototype, "shadowDistance", 1);
74149
- QC([
74155
+ EC([
74150
74156
  D()
74151
74157
  ], Qo.prototype, "shadowResolution", 1);
74152
74158
  new w(0, 0, 0);
@@ -74353,7 +74359,7 @@ class jU extends FA {
74353
74359
  const e = this.gameObject.parent;
74354
74360
  if (e) {
74355
74361
  this._isLoadingOrDoneLoading = !0;
74356
- const C = new rn();
74362
+ const C = new aC();
74357
74363
  C.idProvider = new Mg(this.hash(this.guid)), C.parent = e, this.gameObject.updateMatrix();
74358
74364
  const n = this.gameObject.matrix;
74359
74365
  sp && console.log("Load nested:", ((t = this.filePath) == null ? void 0 : t.uri) ?? this.filePath, this.gameObject.position);
@@ -79248,7 +79254,7 @@ class dCA extends dB {
79248
79254
  if (e.rotation === void 0)
79249
79255
  return;
79250
79256
  const g = e.age / e.life;
79251
- if (typeof e.rotation == "number" && (this.system.rotationOverLifetime.enabled ? e.rotation += this.system.rotationOverLifetime.evaluate(g, e[tv]) * t : this.system.renderer.renderMode === LC.Billboard && (e.rotation = Math.PI), this.system.rotationBySpeed.enabled)) {
79257
+ if (typeof e.rotation == "number" && (this.system.rotationOverLifetime.enabled ? e.rotation += this.system.rotationOverLifetime.evaluate(g, e[tv]) * t : this.system.renderer.renderMode === xC.Billboard && (e.rotation = Math.PI), this.system.rotationBySpeed.enabled)) {
79252
79258
  const I = e.velocity.length();
79253
79259
  e.rotation += this.system.rotationBySpeed.evaluate(g, I) * t;
79254
79260
  }
@@ -79270,7 +79276,7 @@ class pCA extends dB {
79270
79276
  let I = 1;
79271
79277
  this.system.sizeOverLifetime.enabled && (I *= this.system.sizeOverLifetime.evaluate(g, void 0, e[iv]).x);
79272
79278
  let o = 1;
79273
- if (this.system.renderer.renderMode !== LC.Mesh && (o = this.system.worldScale.x / this.system.cameraScale), e.size = e.startSize * I * o, this.system.localspace) {
79279
+ if (this.system.renderer.renderMode !== xC.Mesh && (o = this.system.worldScale.x / this.system.cameraScale), e.size = e.startSize * I * o, this.system.localspace) {
79274
79280
  const s = y_(this.system, uCA);
79275
79281
  e.size *= s.x;
79276
79282
  }
@@ -79431,15 +79437,15 @@ class yCA {
79431
79437
  if (this.system.trails.enabled === !0)
79432
79438
  return se.Trail;
79433
79439
  switch (this.system.renderer.renderMode) {
79434
- case LC.Billboard:
79440
+ case xC.Billboard:
79435
79441
  return se.BillBoard;
79436
- case LC.Stretch:
79442
+ case xC.Stretch:
79437
79443
  return se.StretchedBillBoard;
79438
- case LC.HorizontalBillboard:
79444
+ case xC.HorizontalBillboard:
79439
79445
  return se.HorizontalBillBoard;
79440
- case LC.VerticalBillboard:
79446
+ case xC.VerticalBillboard:
79441
79447
  return se.VerticalBillBoard;
79442
- case LC.Mesh:
79448
+ case xC.Mesh:
79443
79449
  return se.Mesh;
79444
79450
  }
79445
79451
  return se.BillBoard;
@@ -79447,7 +79453,7 @@ class yCA {
79447
79453
  get speedFactor() {
79448
79454
  var e;
79449
79455
  let A = this.system.main.simulationSpeed;
79450
- return ((e = this.system.renderer) == null ? void 0 : e.renderMode) === LC.Stretch && (A *= this.system.renderer.velocityScale ?? 1), A;
79456
+ return ((e = this.system.renderer) == null ? void 0 : e.renderMode) === xC.Stretch && (A *= this.system.renderer.velocityScale ?? 1), A;
79451
79457
  }
79452
79458
  get texture() {
79453
79459
  const A = this.material;
@@ -81095,7 +81101,7 @@ class G_ extends $g {
81095
81101
  format: THREE.RedFormat,
81096
81102
  type: THREE.FloatType
81097
81103
  });*/
81098
- new hL(this.width / 2, this.height / 2, 2), this.depthDownsampleTarget.texture[0].format = OC, this.depthDownsampleTarget.texture[0].type = hi, this.depthDownsampleTarget.texture[0].minFilter = Ye, this.depthDownsampleTarget.texture[0].magFilter = Ye, this.depthDownsampleTarget.texture[0].depthBuffer = !1, this.depthDownsampleTarget.texture[1].format = St, this.depthDownsampleTarget.texture[1].type = Ii, this.depthDownsampleTarget.texture[1].minFilter = Ye, this.depthDownsampleTarget.texture[1].magFilter = Ye, this.depthDownsampleTarget.texture[1].depthBuffer = !1, this.depthDownsampleQuad = new sr(new Fe(FCA))) : (this.depthDownsampleTarget && (this.depthDownsampleTarget.dispose(), this.depthDownsampleTarget = null), this.depthDownsampleQuad && (this.depthDownsampleQuad.dispose(), this.depthDownsampleQuad = null));
81104
+ new hL(this.width / 2, this.height / 2, 2), this.depthDownsampleTarget.texture[0].format = PC, this.depthDownsampleTarget.texture[0].type = hi, this.depthDownsampleTarget.texture[0].minFilter = Ye, this.depthDownsampleTarget.texture[0].magFilter = Ye, this.depthDownsampleTarget.texture[0].depthBuffer = !1, this.depthDownsampleTarget.texture[1].format = St, this.depthDownsampleTarget.texture[1].type = Ii, this.depthDownsampleTarget.texture[1].minFilter = Ye, this.depthDownsampleTarget.texture[1].magFilter = Ye, this.depthDownsampleTarget.texture[1].depthBuffer = !1, this.depthDownsampleQuad = new sr(new Fe(FCA))) : (this.depthDownsampleTarget && (this.depthDownsampleTarget.dispose(), this.depthDownsampleTarget = null), this.depthDownsampleQuad && (this.depthDownsampleQuad.dispose(), this.depthDownsampleQuad = null));
81099
81105
  }
81100
81106
  detectTransparency() {
81101
81107
  if (this.autoDetectTransparency) {
@@ -81660,7 +81666,7 @@ class wa extends FA {
81660
81666
  return !1;
81661
81667
  this.url = e;
81662
81668
  const g = e.lastIndexOf("/");
81663
- return t.name = e.substring(g >= 0 ? g + 1 : 0), this._loader instanceof en && (t.colorSpace = Ie), this._prevLoadedEnvironment = t, this.applySkybox(), !0;
81669
+ return t.name = e.substring(g >= 0 ? g + 1 : 0), this._loader instanceof tn && (t.colorSpace = Ie), this._prevLoadedEnvironment = t, this.applySkybox(), !0;
81664
81670
  }
81665
81671
  async loadTexture(e) {
81666
81672
  var C, n, a, B, Q;
@@ -81673,7 +81679,7 @@ class wa extends FA {
81673
81679
  return E;
81674
81680
  }
81675
81681
  const g = e.endsWith(".exr"), I = e.endsWith(".hdr");
81676
- g ? this._loader instanceof Tf || (this._loader = new Tf()) : I ? this._loader instanceof BM || (this._loader = new BM()) : this._loader instanceof en || (this._loader = new en()), Os && console.log("Loading skybox: " + e);
81682
+ g ? this._loader instanceof Tf || (this._loader = new Tf()) : I ? this._loader instanceof BM || (this._loader = new BM()) : this._loader instanceof tn || (this._loader = new tn()), Os && console.log("Loading skybox: " + e);
81677
81683
  const o = this._loader.loadAsync(e);
81678
81684
  return _CA(e, o), await o;
81679
81685
  }
@@ -82781,13 +82787,13 @@ class VE extends FA {
82781
82787
  }
82782
82788
  onEnable() {
82783
82789
  var e, t, g;
82784
- (e = this._net) == null || e.enable(), (t = this._net) == null || t.addEventListener(XC.StreamReceived, this.onReceiveStream), (g = this._net) == null || g.addEventListener(XC.StreamEnded, this.onCallEnded), this.context.connection.beginListen(jt.JoinedRoom, this.onJoinedRoom), this.autoConnect && Wr(1e3).then(() => {
82790
+ (e = this._net) == null || e.enable(), (t = this._net) == null || t.addEventListener($C.StreamReceived, this.onReceiveStream), (g = this._net) == null || g.addEventListener($C.StreamEnded, this.onCallEnded), this.context.connection.beginListen(jt.JoinedRoom, this.onJoinedRoom), this.autoConnect && Wr(1e3).then(() => {
82785
82791
  this.enabled && this.autoConnect && !this.isReceiving && !this.isSending && this.context.connection.isInRoom && this.share();
82786
82792
  });
82787
82793
  }
82788
82794
  onDisable() {
82789
82795
  var e, t, g;
82790
- (e = this._net) == null || e.removeEventListener(XC.StreamReceived, this.onReceiveStream), (t = this._net) == null || t.removeEventListener(XC.StreamEnded, this.onCallEnded), this.context.connection.stopListen(jt.JoinedRoom, this.onJoinedRoom), (g = this._net) == null || g.disable(), this.close();
82796
+ (e = this._net) == null || e.removeEventListener($C.StreamReceived, this.onReceiveStream), (t = this._net) == null || t.removeEventListener($C.StreamEnded, this.onCallEnded), this.context.connection.stopListen(jt.JoinedRoom, this.onJoinedRoom), (g = this._net) == null || g.disable(), this.close();
82791
82797
  }
82792
82798
  _ensureVideoPlayer() {
82793
82799
  const e = new Eg();
@@ -83004,7 +83010,7 @@ var onA = Object.defineProperty, snA = Object.getOwnPropertyDescriptor, uB = (i,
83004
83010
  (o = i[I]) && (g = (t ? o(A, e, g) : o(g)) || g);
83005
83011
  return t && g && onA(A, e, g), g;
83006
83012
  }, PM = /* @__PURE__ */ ((i) => (i[i.Performance = 0] = "Performance", i[i.Low = 1] = "Low", i[i.Medium = 2] = "Medium", i[i.High = 3] = "High", i[i.Ultra = 4] = "Ultra", i))(PM || {});
83007
- class EC extends pI {
83013
+ class cC extends pI {
83008
83014
  constructor() {
83009
83015
  super(...arguments);
83010
83016
  r(this, "gammaCorrection", !0);
@@ -83045,28 +83051,28 @@ class EC extends pI {
83045
83051
  uB([
83046
83052
  AI(),
83047
83053
  D()
83048
- ], EC.prototype, "gammaCorrection", 2);
83054
+ ], cC.prototype, "gammaCorrection", 2);
83049
83055
  uB([
83050
83056
  D(Je)
83051
- ], EC.prototype, "intensity", 2);
83057
+ ], cC.prototype, "intensity", 2);
83052
83058
  uB([
83053
83059
  D(Je)
83054
- ], EC.prototype, "falloff", 2);
83060
+ ], cC.prototype, "falloff", 2);
83055
83061
  uB([
83056
83062
  D(Je)
83057
- ], EC.prototype, "aoRadius", 2);
83063
+ ], cC.prototype, "aoRadius", 2);
83058
83064
  uB([
83059
83065
  AI(),
83060
83066
  D()
83061
- ], EC.prototype, "screenspaceRadius", 2);
83067
+ ], cC.prototype, "screenspaceRadius", 2);
83062
83068
  uB([
83063
83069
  D(Je)
83064
- ], EC.prototype, "color", 2);
83070
+ ], cC.prototype, "color", 2);
83065
83071
  uB([
83066
83072
  AI(),
83067
83073
  D()
83068
- ], EC.prototype, "quality", 2);
83069
- Gs("ScreenSpaceAmbientOcclusionN8", EC);
83074
+ ], cC.prototype, "quality", 2);
83075
+ Gs("ScreenSpaceAmbientOcclusionN8", cC);
83070
83076
  var CnA = Object.defineProperty, nnA = Object.getOwnPropertyDescriptor, K_ = (i, A, e, t) => {
83071
83077
  for (var g = t > 1 ? void 0 : t ? nnA(A, e) : A, I = i.length - 1, o; I >= 0; I--)
83072
83078
  (o = i[I]) && (g = (t ? o(A, e, g) : o(g)) || g);
@@ -83465,7 +83471,7 @@ const Gh = sA("debugspatialtrigger"), Bv = new Wg(), Qv = new Wg();
83465
83471
  function dnA(i, A) {
83466
83472
  return Bv.mask = i, Qv.mask = A, Bv.test(Qv);
83467
83473
  }
83468
- class sn extends FA {
83474
+ class Cn extends FA {
83469
83475
  constructor() {
83470
83476
  super(...arguments);
83471
83477
  r(this, "triggerMask", 0);
@@ -83505,16 +83511,16 @@ class sn extends FA {
83505
83511
  }
83506
83512
  Rd([
83507
83513
  D()
83508
- ], sn.prototype, "triggerMask", 2);
83514
+ ], Cn.prototype, "triggerMask", 2);
83509
83515
  Rd([
83510
83516
  D(jg)
83511
- ], sn.prototype, "onEnter", 2);
83517
+ ], Cn.prototype, "onEnter", 2);
83512
83518
  Rd([
83513
83519
  D(jg)
83514
- ], sn.prototype, "onStay", 2);
83520
+ ], Cn.prototype, "onStay", 2);
83515
83521
  Rd([
83516
83522
  D(jg)
83517
- ], sn.prototype, "onExit", 2);
83523
+ ], Cn.prototype, "onExit", 2);
83518
83524
  var bk;
83519
83525
  const tf = (bk = class extends FA {
83520
83526
  constructor() {
@@ -83538,17 +83544,17 @@ const tf = (bk = class extends FA {
83538
83544
  // private args: SpatialTriggerEventArgs = new SpatialTriggerEventArgs();
83539
83545
  raiseOnEnterEvent(A) {
83540
83546
  IA.foreachComponent(this.gameObject, (e) => {
83541
- e !== A && e instanceof sn && e.onEnterTrigger(this);
83547
+ e !== A && e instanceof Cn && e.onEnterTrigger(this);
83542
83548
  }, !1);
83543
83549
  }
83544
83550
  raiseOnStayEvent(A) {
83545
83551
  IA.foreachComponent(this.gameObject, (e) => {
83546
- e !== A && e instanceof sn && e.onStayTrigger(this);
83552
+ e !== A && e instanceof Cn && e.onStayTrigger(this);
83547
83553
  }, !1);
83548
83554
  }
83549
83555
  raiseOnExitEvent(A) {
83550
83556
  IA.foreachComponent(this.gameObject, (e) => {
83551
- e !== A && e instanceof sn && e.onExitTrigger(this);
83557
+ e !== A && e instanceof Cn && e.onExitTrigger(this);
83552
83558
  }, !1);
83553
83559
  }
83554
83560
  }, r(bk, "triggers", []), bk);
@@ -83657,7 +83663,7 @@ class sN extends FA {
83657
83663
  this.context.removeCamera(this.cam), IA.setActive(this.gameObject, !1), this.orbit && (this.orbit.enabled = !0), (t = this._handler) == null || t.set(void 0), (g = this._handler) == null || g.disable(), this.isSpectatingSelf && this.stopSpectating();
83658
83664
  }
83659
83665
  followSelf() {
83660
- this.target = this.context.players.getPlayerView(this.context.connection.connectionId), this.target || (this.context.players.setPlayerView(this.localId, this.context.mainCamera, on.Headset), this.target = this.context.players.getPlayerView(this.localId)), $I && console.log("Follow self", this.target);
83666
+ this.target = this.context.players.getPlayerView(this.context.connection.connectionId), this.target || (this.context.players.setPlayerView(this.localId, this.context.mainCamera, sn.Headset), this.target = this.context.players.getPlayerView(this.localId)), $I && console.log("Follow self", this.target);
83661
83667
  }
83662
83668
  // TODO: only show Spectator cam for DesktopVR;
83663
83669
  // don't show for AR, don't show on Quest
@@ -83760,13 +83766,13 @@ class DnA {
83760
83766
  if (!(!t || !this.follow)) {
83761
83767
  switch (A) {
83762
83768
  case 0:
83763
- ((C = this.view) == null ? void 0 : C.viewDevice) !== on.Browser ? (this.follow.followFactor = 5, this.follow.rotateFactor = 5) : (this.follow.followFactor = 50, this.follow.rotateFactor = 50), t.position.set(0, 0, 0);
83769
+ ((C = this.view) == null ? void 0 : C.viewDevice) !== sn.Browser ? (this.follow.followFactor = 5, this.follow.rotateFactor = 5) : (this.follow.followFactor = 50, this.follow.rotateFactor = 50), t.position.set(0, 0, 0);
83764
83770
  break;
83765
83771
  case 1:
83766
83772
  this.follow.followFactor = 3, this.follow.rotateFactor = 2, t.position.set(0, 0.5, 1.5);
83767
83773
  break;
83768
83774
  }
83769
- this.follow.flipForward = !1, ((n = this.view) == null ? void 0 : n.viewDevice) !== on.Browser ? t.quaternion.copy(wnA) : t.quaternion.identity();
83775
+ this.follow.flipForward = !1, ((n = this.view) == null ? void 0 : n.viewDevice) !== sn.Browser ? t.quaternion.copy(wnA) : t.quaternion.identity();
83770
83776
  }
83771
83777
  }
83772
83778
  }
@@ -84184,7 +84190,7 @@ const jM = (vk = class extends FA {
84184
84190
  for (const g in this.remoteCams) {
84185
84191
  const I = this.remoteCams[g], o = this.context.time.realtimeSinceStartup - I.lastUpdate;
84186
84192
  if (!I || o > this._camTimeoutInSeconds) {
84187
- Oe() && console.log("Remote cam timeout", g), I != null && I.obj && IA.destroy(I.obj), delete this.remoteCams[g], I && delete this.userToCamMap[I.userId], jM.instances.push(I), this.context.players.removePlayerView(I.userId, on.Browser);
84193
+ Oe() && console.log("Remote cam timeout", g), I != null && I.obj && IA.destroy(I.obj), delete this.remoteCams[g], I && delete this.userToCamMap[I.userId], jM.instances.push(I), this.context.players.removePlayerView(I.userId, sn.Browser);
84188
84194
  continue;
84189
84195
  }
84190
84196
  }
@@ -84199,7 +84205,7 @@ const jM = (vk = class extends FA {
84199
84205
  return;
84200
84206
  this._model === null && (this._model = new KnA(this.context.connection.connectionId, this.context.connection.connectionId + "_camera"));
84201
84207
  const e = le(A), t = qt(A);
84202
- (e.distanceTo(this._lastWorldPosition) > 1e-3 || t.angleTo(this._lastWorldQuaternion) > 0.01) && (this._needsUpdate = !0), this._lastWorldPosition.copy(e), this._lastWorldQuaternion.copy(t), !((!this._needsUpdate || this.context.time.frameCount % 2 !== 0) && !(this.context.time.realtimeSinceStartup - this._lastUpdateTime > this._camTimeoutInSeconds * 0.5)) && (this._lastUpdateTime = this.context.time.realtimeSinceStartup, this._needsUpdate = !1, this._model.send(A, this.context.connection), this.context.isInXR || this.context.players.setPlayerView(this.context.connection.connectionId, A, on.Browser));
84208
+ (e.distanceTo(this._lastWorldPosition) > 1e-3 || t.angleTo(this._lastWorldQuaternion) > 0.01) && (this._needsUpdate = !0), this._lastWorldPosition.copy(e), this._lastWorldQuaternion.copy(t), !((!this._needsUpdate || this.context.time.frameCount % 2 !== 0) && !(this.context.time.realtimeSinceStartup - this._lastUpdateTime > this._camTimeoutInSeconds * 0.5)) && (this._lastUpdateTime = this.context.time.realtimeSinceStartup, this._needsUpdate = !1, this._model.send(A, this.context.connection), this.context.isInXR || this.context.players.setPlayerView(this.context.connection.connectionId, A, sn.Browser));
84203
84209
  }
84204
84210
  onReceivedRemoteCameraInfoBin(A) {
84205
84211
  const e = A.guid();
@@ -84211,7 +84217,7 @@ const jM = (vk = class extends FA {
84211
84217
  let g = this.remoteCams[e];
84212
84218
  if (!g)
84213
84219
  if ("isObject3D" in this.cameraPrefab) {
84214
- const C = new rn();
84220
+ const C = new aC();
84215
84221
  C.context = this.context;
84216
84222
  const n = IA.instantiate(this.cameraPrefab, C);
84217
84223
  g = this.remoteCams[e] = { obj: n, lastUpdate: this.context.time.realtimeSinceStartup, userId: t }, g.obj.visible = !0, this.gameObject.add(n), this.userToCamMap[t] = e, jM.instances.push(g);
@@ -84220,7 +84226,7 @@ const jM = (vk = class extends FA {
84220
84226
  } else
84221
84227
  return;
84222
84228
  const I = g.obj;
84223
- this.context.players.setPlayerView(t, I, on.Browser), g.lastUpdate = this.context.time.realtimeSinceStartup, hI.markDirty(I);
84229
+ this.context.players.setPlayerView(t, I, sn.Browser), g.lastUpdate = this.context.time.realtimeSinceStartup, hI.markDirty(I);
84224
84230
  const o = A.pos();
84225
84231
  o && AE(I, o.x(), o.y(), o.z());
84226
84232
  const s = A.rot();
@@ -85483,7 +85489,7 @@ const saA = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
85483
85489
  CustomBranding: hB,
85484
85490
  Deletable: I_,
85485
85491
  DeleteBox: qU,
85486
- DepthOfField: BC,
85492
+ DepthOfField: QC,
85487
85493
  DeviceFlag: bU,
85488
85494
  DocumentExtension: o_,
85489
85495
  DragControls: fd,
@@ -85566,7 +85572,7 @@ const saA = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
85566
85572
  SceneSwitcher: DI,
85567
85573
  ScreenCapture: VE,
85568
85574
  ScreenSpaceAmbientOcclusion: La,
85569
- ScreenSpaceAmbientOcclusionN8: EC,
85575
+ ScreenSpaceAmbientOcclusionN8: cC,
85570
85576
  SetActiveOnClick: qE,
85571
85577
  ShadowCatcher: Uy,
85572
85578
  ShapeModule: Pi,
@@ -85581,7 +85587,7 @@ const saA = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
85581
85587
  SmoothFollow: pB,
85582
85588
  SpatialHtml: q_,
85583
85589
  SpatialTrigger: Fy,
85584
- SpatialTriggerReceiver: sn,
85590
+ SpatialTriggerReceiver: Cn,
85585
85591
  SpectatorCamera: sN,
85586
85592
  SphereCollider: iy,
85587
85593
  Sprite: xa,
@@ -85628,7 +85634,7 @@ const saA = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
85628
85634
  WebARCameraBackground: rN,
85629
85635
  WebARSessionRoot: IC,
85630
85636
  WebXR: Me,
85631
- WebXRAvatar: ZC,
85637
+ WebXRAvatar: zC,
85632
85638
  WebXRController: wi,
85633
85639
  WebXRImageTracking: BN,
85634
85640
  WebXRImageTrackingModel: Ya,
@@ -85853,7 +85859,7 @@ z.add("ControlTrackHandler", fU);
85853
85859
  z.add("CustomBranding", hB);
85854
85860
  z.add("Deletable", I_);
85855
85861
  z.add("DeleteBox", qU);
85856
- z.add("DepthOfField", BC);
85862
+ z.add("DepthOfField", QC);
85857
85863
  z.add("DeviceFlag", bU);
85858
85864
  z.add("DocumentExtension", o_);
85859
85865
  z.add("DragControls", fd);
@@ -85939,7 +85945,7 @@ z.add("RotationOverLifetimeModule", ms);
85939
85945
  z.add("SceneSwitcher", DI);
85940
85946
  z.add("ScreenCapture", VE);
85941
85947
  z.add("ScreenSpaceAmbientOcclusion", La);
85942
- z.add("ScreenSpaceAmbientOcclusionN8", EC);
85948
+ z.add("ScreenSpaceAmbientOcclusionN8", cC);
85943
85949
  z.add("SetActiveOnClick", qE);
85944
85950
  z.add("ShadowCatcher", Uy);
85945
85951
  z.add("ShapeModule", Pi);
@@ -85954,7 +85960,7 @@ z.add("SkinnedMeshRenderer", l2);
85954
85960
  z.add("SmoothFollow", pB);
85955
85961
  z.add("SpatialHtml", q_);
85956
85962
  z.add("SpatialTrigger", Fy);
85957
- z.add("SpatialTriggerReceiver", sn);
85963
+ z.add("SpatialTriggerReceiver", Cn);
85958
85964
  z.add("SpectatorCamera", sN);
85959
85965
  z.add("SphereCollider", iy);
85960
85966
  z.add("Sprite", xa);
@@ -86001,7 +86007,7 @@ z.add("WebAR", YQ);
86001
86007
  z.add("WebARCameraBackground", rN);
86002
86008
  z.add("WebARSessionRoot", IC);
86003
86009
  z.add("WebXR", Me);
86004
- z.add("WebXRAvatar", ZC);
86010
+ z.add("WebXRAvatar", zC);
86005
86011
  z.add("WebXRController", wi);
86006
86012
  z.add("WebXRImageTracking", BN);
86007
86013
  z.add("WebXRImageTrackingModel", Ya);
@@ -86370,7 +86376,7 @@ class z_ extends HTMLElement {
86370
86376
  const e = this._loadId;
86371
86377
  setTimeout(() => {
86372
86378
  this.isConnected !== !1 && e === this._loadId && this.onLoad();
86373
- }, 1), jC != null && jC.length && this.setAttribute("version", jC);
86379
+ }, 1), VC != null && VC.length && this.setAttribute("version", VC);
86374
86380
  }
86375
86381
  disconnectedCallback() {
86376
86382
  var g;
@@ -86639,7 +86645,7 @@ function uBA(i) {
86639
86645
  for (const B of g) {
86640
86646
  const Q = B, E = Q.isComponent === !0, c = E ? Q.activeAndEnabled : !0, d = E ? Q.context : void 0;
86641
86647
  try {
86642
- if (E && d && TC(Q, d), E && c && (Q.enabled = !1), B.onBeforeHotReloadFields && B.onBeforeHotReloadFields() === !1)
86648
+ if (E && d && HC(Q, d), E && c && (Q.enabled = !1), B.onBeforeHotReloadFields && B.onBeforeHotReloadFields() === !1)
86643
86649
  continue;
86644
86650
  for (const l in a)
86645
86651
  if (a[l].writable) {
@@ -86665,7 +86671,7 @@ function uBA(i) {
86665
86671
  else
86666
86672
  return !1;
86667
86673
  } finally {
86668
- pl = !1, tn(us.Log, "Script changes applied (HMR)");
86674
+ pl = !1, gn(us.Log, "Script changes applied (HMR)");
86669
86675
  }
86670
86676
  return !0;
86671
86677
  }
@@ -92576,7 +92582,7 @@ class WaA {
92576
92582
  break;
92577
92583
  case 2:
92578
92584
  case 3:
92579
- c = nn;
92585
+ c = an;
92580
92586
  break;
92581
92587
  case 4:
92582
92588
  s.endsWith(".quaternion") ? c = AC : c = tw;
@@ -92712,7 +92718,7 @@ export {
92712
92718
  ny as ChromaticAberration,
92713
92719
  eC as CircularBuffer,
92714
92720
  nE as ClearFlags,
92715
- KC as ClipExtrapolation,
92721
+ JC as ClipExtrapolation,
92716
92722
  Ms as Collider,
92717
92723
  GaA as Collision,
92718
92724
  lU as CollisionDetectionMode,
@@ -92737,7 +92743,7 @@ export {
92737
92743
  IM as DefaultReflectionMode,
92738
92744
  I_ as Deletable,
92739
92745
  qU as DeleteBox,
92740
- BC as DepthOfField,
92746
+ QC as DepthOfField,
92741
92747
  bU as DeviceFlag,
92742
92748
  o_ as DocumentExtension,
92743
92749
  fd as DragControls,
@@ -92788,7 +92794,7 @@ export {
92788
92794
  hI as InstancingUtil,
92789
92795
  wX as InstantiateEvent,
92790
92796
  Mg as InstantiateIdProvider,
92791
- rn as InstantiateOptions,
92797
+ aC as InstantiateOptions,
92792
92798
  gd as Interactable,
92793
92799
  KrA as JoinedRoomResponse,
92794
92800
  urA as KeyEventArgs,
@@ -92820,7 +92826,7 @@ export {
92820
92826
  B0 as NeedlePatchesKey,
92821
92827
  jU as NestedGltf,
92822
92828
  l6 as NetworkConnection,
92823
- XC as NetworkedStreamEvents,
92829
+ $C as NetworkedStreamEvents,
92824
92830
  Ay as NetworkedStreams,
92825
92831
  xE as Networking,
92826
92832
  kt as NoiseModule,
@@ -92887,7 +92893,7 @@ export {
92887
92893
  DI as SceneSwitcher,
92888
92894
  VE as ScreenCapture,
92889
92895
  La as ScreenSpaceAmbientOcclusion,
92890
- EC as ScreenSpaceAmbientOcclusionN8,
92896
+ cC as ScreenSpaceAmbientOcclusionN8,
92891
92897
  bo as SendQueue,
92892
92898
  qE as SetActiveOnClick,
92893
92899
  Uy as ShadowCatcher,
@@ -92903,7 +92909,7 @@ export {
92903
92909
  pB as SmoothFollow,
92904
92910
  q_ as SpatialHtml,
92905
92911
  Fy as SpatialTrigger,
92906
- sn as SpatialTriggerReceiver,
92912
+ Cn as SpatialTriggerReceiver,
92907
92913
  sN as SpectatorCamera,
92908
92914
  iy as SphereCollider,
92909
92915
  S9 as SphereIntersection,
@@ -92948,13 +92954,13 @@ export {
92948
92954
  HeA as UriSerializer,
92949
92955
  Id as UsageMarker,
92950
92956
  qrA as UserJoinedOrLeftRoomModel,
92951
- jC as VERSION,
92957
+ VC as VERSION,
92952
92958
  _s as VRUserState,
92953
92959
  G2 as VariantAction,
92954
92960
  li as VelocityOverLifetimeModule,
92955
92961
  V2 as VerticalLayoutGroup,
92956
92962
  Eg as VideoPlayer,
92957
- on as ViewDevice,
92963
+ sn as ViewDevice,
92958
92964
  XE as Vignette,
92959
92965
  Cy as VisibilityAction,
92960
92966
  CB as Voip,
@@ -92969,7 +92975,7 @@ export {
92969
92975
  rN as WebARCameraBackground,
92970
92976
  IC as WebARSessionRoot,
92971
92977
  Me as WebXR,
92972
- ZC as WebXRAvatar,
92978
+ zC as WebXRAvatar,
92973
92979
  wi as WebXRController,
92974
92980
  wt as WebXREvent,
92975
92981
  BN as WebXRImageTracking,