iflow-engine-base 3.9.18 → 3.9.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import { n as bu, G as pn, s as il, O as jn, a as Ye, V as S, t as Px, u as Gs, b as Ze, Q as ai, R as mn, E as Su, p as Dx, v as $p, q as St, w as qp, x as Rx, M as Je, j as xt, I as at, f as Id, y as Kl, z as Kp, H as Zp, J as sl, K as Lx, U as Ix, X as Od, Y as Fd, Z as Ox, _ as Fx, C as wu, d as kx, $ as Nx, a0 as Cu, D as En, a1 as Ux, i as Bx, m as Eo, a2 as zx, a3 as Hx, a4 as Vx, a5 as Yi, a6 as Eu, a7 as ct, h as wn, a8 as Gx, a9 as zr, W as Jp, T as rl, aa as Wx, ab as Wc, ac as jc, B as wi, L as mr, o as Uo, ad as jx, ae as Xx, k as Xc, af as ol, ag as Yx, ah as As, ai as $x, aj as qx, ak as Qp, al as To, am as Kx, an as Zx, F as al, g as kd, ao as Jx, ap as Yc, aq as $c, r as Ao, ar as Qx, as as ey, at as Nd, au as ty, av as ny, aw as iy, ax as sy, ay as ry, az as Ud } from "./three-vendor-Dbcwwhki.js";
2
- import { W as bt, a as ll, B as Bd, g as Xn, L as oy } from "./sdk-runtime-gCd6dMmU.js";
3
- import { r as ft, g as ay } from "./sdk-assets-F7qFhuao.js";
4
- import { J as ly, L as cy, E as hy, S as uy } from "./engine-2d-Di06Ry30.js";
2
+ import { W as bt, a as ll, B as Bd, g as Xn, L as oy } from "./sdk-runtime-DLvF5IZ2.js";
3
+ import { r as ht, g as ay } from "./sdk-assets-F7qFhuao.js";
4
+ import { J as ly, L as cy, E as hy, S as uy } from "./engine-2d-mQsokiAx.js";
5
5
  class dy {
6
6
  engine;
7
7
  scene;
@@ -286,7 +286,7 @@ class fy {
286
286
  };
287
287
  }
288
288
  }
289
- const Tu = "181", py = 0, zd = 1, my = 2, em = 1, tm = 2, gi = 3, Zi = 0, un = 1, yi = 2, bi = 0, dr = 1, Hd = 2, Vd = 3, Gd = 4, gy = 5, ys = 100, xy = 101, yy = 102, vy = 103, _y = 104, My = 200, by = 201, Sy = 202, wy = 203, qc = 204, Kc = 205, Cy = 206, Ey = 207, Ty = 208, Ay = 209, Py = 210, Dy = 211, Ry = 212, Ly = 213, Iy = 214, Zc = 0, Jc = 1, Qc = 2, gr = 3, eh = 4, th = 5, nh = 6, ih = 7, nm = 0, Oy = 1, Fy = 2, qi = 0, ky = 1, Ny = 2, Uy = 3, By = 4, zy = 5, Hy = 6, Vy = 7, im = 300, xr = 301, yr = 302, sh = 303, rh = 304, Ml = 306, oh = 1e3, vi = 1001, ah = 1002, Tn = 1003, Gy = 1004, ia = 1005, In = 1006, Zl = 1007, Ss = 1008, Ci = 1009, sm = 1010, rm = 1011, Po = 1012, Au = 1013, Ls = 1014, _i = 1015, Pr = 1016, Pu = 1017, Du = 1018, Do = 1020, om = 35902, am = 35899, lm = 1021, cm = 1022, Vn = 1023, Ro = 1026, Lo = 1027, hm = 1028, Ru = 1029, Lu = 1030, Iu = 1031, Ou = 1033, Va = 33776, Ga = 33777, Wa = 33778, ja = 33779, lh = 35840, ch = 35841, hh = 35842, uh = 35843, dh = 36196, fh = 37492, ph = 37496, mh = 37808, gh = 37809, xh = 37810, yh = 37811, vh = 37812, _h = 37813, Mh = 37814, bh = 37815, Sh = 37816, wh = 37817, Ch = 37818, Eh = 37819, Th = 37820, Ah = 37821, Ph = 36492, Dh = 36494, Rh = 36495, Lh = 36283, Ih = 36284, Oh = 36285, Fh = 36286, Wy = 3200, jy = 3201, Xy = 0, Yy = 1, ji = "", Sn = "srgb", vr = "srgb-linear", cl = "linear", dt = "srgb", Ws = 7680, Wd = 519, $y = 512, qy = 513, Ky = 514, um = 515, Zy = 516, Jy = 517, Qy = 518, ev = 519, jd = 35044, Xd = "300 es", ii = 2e3, hl = 2001;
289
+ const Tu = "181", py = 0, zd = 1, my = 2, em = 1, tm = 2, gi = 3, Zi = 0, un = 1, yi = 2, bi = 0, dr = 1, Hd = 2, Vd = 3, Gd = 4, gy = 5, ys = 100, xy = 101, yy = 102, vy = 103, _y = 104, My = 200, by = 201, Sy = 202, wy = 203, qc = 204, Kc = 205, Cy = 206, Ey = 207, Ty = 208, Ay = 209, Py = 210, Dy = 211, Ry = 212, Ly = 213, Iy = 214, Zc = 0, Jc = 1, Qc = 2, gr = 3, eh = 4, th = 5, nh = 6, ih = 7, nm = 0, Oy = 1, Fy = 2, qi = 0, ky = 1, Ny = 2, Uy = 3, By = 4, zy = 5, Hy = 6, Vy = 7, im = 300, xr = 301, yr = 302, sh = 303, rh = 304, Ml = 306, oh = 1e3, vi = 1001, ah = 1002, Tn = 1003, Gy = 1004, ia = 1005, In = 1006, Zl = 1007, Ss = 1008, Ci = 1009, sm = 1010, rm = 1011, Po = 1012, Au = 1013, Ls = 1014, _i = 1015, Pr = 1016, Pu = 1017, Du = 1018, Do = 1020, om = 35902, am = 35899, lm = 1021, cm = 1022, Vn = 1023, Ro = 1026, Lo = 1027, hm = 1028, Ru = 1029, Lu = 1030, Iu = 1031, Ou = 1033, Va = 33776, Ga = 33777, Wa = 33778, ja = 33779, lh = 35840, ch = 35841, hh = 35842, uh = 35843, dh = 36196, fh = 37492, ph = 37496, mh = 37808, gh = 37809, xh = 37810, yh = 37811, vh = 37812, _h = 37813, Mh = 37814, bh = 37815, Sh = 37816, wh = 37817, Ch = 37818, Eh = 37819, Th = 37820, Ah = 37821, Ph = 36492, Dh = 36494, Rh = 36495, Lh = 36283, Ih = 36284, Oh = 36285, Fh = 36286, Wy = 3200, jy = 3201, Xy = 0, Yy = 1, ji = "", Sn = "srgb", vr = "srgb-linear", cl = "linear", ft = "srgb", Ws = 7680, Wd = 519, $y = 512, qy = 513, Ky = 514, um = 515, Zy = 516, Jy = 517, Qy = 518, ev = 519, jd = 35044, Xd = "300 es", ii = 2e3, hl = 2001;
290
290
  function dm(i) {
291
291
  for (let e = i.length - 1; e >= 0; --e)
292
292
  if (i[e] >= 65535) return !0;
@@ -2604,7 +2604,7 @@ function sv() {
2604
2604
  */
2605
2605
  spaces: {},
2606
2606
  convert: function(s, r, o) {
2607
- return this.enabled === !1 || r === o || !r || !o || (this.spaces[r].transfer === dt && (s.r = Si(s.r), s.g = Si(s.g), s.b = Si(s.b)), this.spaces[r].primaries !== this.spaces[o].primaries && (s.applyMatrix3(this.spaces[r].toXYZ), s.applyMatrix3(this.spaces[o].fromXYZ)), this.spaces[o].transfer === dt && (s.r = fr(s.r), s.g = fr(s.g), s.b = fr(s.b))), s;
2607
+ return this.enabled === !1 || r === o || !r || !o || (this.spaces[r].transfer === ft && (s.r = Si(s.r), s.g = Si(s.g), s.b = Si(s.b)), this.spaces[r].primaries !== this.spaces[o].primaries && (s.applyMatrix3(this.spaces[r].toXYZ), s.applyMatrix3(this.spaces[o].fromXYZ)), this.spaces[o].transfer === ft && (s.r = fr(s.r), s.g = fr(s.g), s.b = fr(s.b))), s;
2608
2608
  },
2609
2609
  workingToColorSpace: function(s, r) {
2610
2610
  return this.convert(s, this.workingColorSpace, r);
@@ -2659,7 +2659,7 @@ function sv() {
2659
2659
  [Sn]: {
2660
2660
  primaries: e,
2661
2661
  whitePoint: n,
2662
- transfer: dt,
2662
+ transfer: ft,
2663
2663
  toXYZ: Kd,
2664
2664
  fromXYZ: Zd,
2665
2665
  luminanceCoefficients: t,
@@ -14033,7 +14033,7 @@ function vb(i, e, t, n, s, r, o) {
14033
14033
  get: function() {
14034
14034
  return this.uniforms.envMap.value;
14035
14035
  }
14036
- }), s.update(h)), fs.copy(w.backgroundRotation), fs.x *= -1, fs.y *= -1, fs.z *= -1, A.isCubeTexture && A.isRenderTargetTexture === !1 && (fs.y *= -1, fs.z *= -1), h.material.uniforms.envMap.value = A, h.material.uniforms.flipEnvMap.value = A.isCubeTexture && A.isRenderTargetTexture === !1 ? -1 : 1, h.material.uniforms.backgroundBlurriness.value = w.backgroundBlurriness, h.material.uniforms.backgroundIntensity.value = w.backgroundIntensity, h.material.uniforms.backgroundRotation.value.setFromMatrix4(yb.makeRotationFromEuler(fs)), h.material.toneMapped = tt.getTransfer(A.colorSpace) !== dt, (u !== A || d !== A.version || f !== i.toneMapping) && (h.material.needsUpdate = !0, u = A, d = A.version, f = i.toneMapping), h.layers.enableAll(), M.unshift(h, h.geometry, h.material, 0, 0, null)) : A && A.isTexture && (c === void 0 && (c = new Ji(
14036
+ }), s.update(h)), fs.copy(w.backgroundRotation), fs.x *= -1, fs.y *= -1, fs.z *= -1, A.isCubeTexture && A.isRenderTargetTexture === !1 && (fs.y *= -1, fs.z *= -1), h.material.uniforms.envMap.value = A, h.material.uniforms.flipEnvMap.value = A.isCubeTexture && A.isRenderTargetTexture === !1 ? -1 : 1, h.material.uniforms.backgroundBlurriness.value = w.backgroundBlurriness, h.material.uniforms.backgroundIntensity.value = w.backgroundIntensity, h.material.uniforms.backgroundRotation.value.setFromMatrix4(yb.makeRotationFromEuler(fs)), h.material.toneMapped = tt.getTransfer(A.colorSpace) !== ft, (u !== A || d !== A.version || f !== i.toneMapping) && (h.material.needsUpdate = !0, u = A, d = A.version, f = i.toneMapping), h.layers.enableAll(), M.unshift(h, h.geometry, h.material, 0, 0, null)) : A && A.isTexture && (c === void 0 && (c = new Ji(
14037
14037
  new Sl(2, 2),
14038
14038
  new Ei({
14039
14039
  name: "BackgroundMaterial",
@@ -14050,7 +14050,7 @@ function vb(i, e, t, n, s, r, o) {
14050
14050
  get: function() {
14051
14051
  return this.uniforms.t2D.value;
14052
14052
  }
14053
- }), s.update(c)), c.material.uniforms.t2D.value = A, c.material.uniforms.backgroundIntensity.value = w.backgroundIntensity, c.material.toneMapped = tt.getTransfer(A.colorSpace) !== dt, A.matrixAutoUpdate === !0 && A.updateMatrix(), c.material.uniforms.uvTransform.value.copy(A.matrix), (u !== A || d !== A.version || f !== i.toneMapping) && (c.material.needsUpdate = !0, u = A, d = A.version, f = i.toneMapping), c.layers.enableAll(), M.unshift(c, c.geometry, c.material, 0, 0, null));
14053
+ }), s.update(c)), c.material.uniforms.t2D.value = A, c.material.uniforms.backgroundIntensity.value = w.backgroundIntensity, c.material.toneMapped = tt.getTransfer(A.colorSpace) !== ft, A.matrixAutoUpdate === !0 && A.updateMatrix(), c.material.uniforms.uvTransform.value.copy(A.matrix), (u !== A || d !== A.version || f !== i.toneMapping) && (c.material.needsUpdate = !0, u = A, d = A.version, f = i.toneMapping), c.layers.enableAll(), M.unshift(c, c.geometry, c.material, 0, 0, null));
14054
14054
  }
14055
14055
  function p(M, w) {
14056
14056
  M.getRGB(ba, vm(i)), n.buffers.color.setClear(ba.r, ba.g, ba.b, w, o);
@@ -15881,7 +15881,7 @@ function DS(i) {
15881
15881
  switch (tt.getTransfer(i)) {
15882
15882
  case cl:
15883
15883
  return [e, "LinearTransferOETF"];
15884
- case dt:
15884
+ case ft:
15885
15885
  return [e, "sRGBTransferOETF"];
15886
15886
  default:
15887
15887
  return Ve("WebGLProgram: Unsupported color space: ", i), [e, "LinearTransferOETF"];
@@ -16478,7 +16478,7 @@ function ZS(i, e, t, n, s, r, o) {
16478
16478
  Ne = st.vertexShader, ze = st.fragmentShader;
16479
16479
  } else
16480
16480
  Ne = v.vertexShader, ze = v.fragmentShader, l.update(v), Xe = l.getVertexShaderID(v), P = l.getFragmentShaderID(v);
16481
- const z = i.getRenderTarget(), se = i.state.buffers.depth.getReversed(), he = F.isInstancedMesh === !0, ae = F.isBatchedMesh === !0, Te = !!v.map, Ie = !!v.matcap, Pe = !!re, Ue = !!v.aoMap, ke = !!v.lightMap, Be = !!v.bumpMap, nt = !!v.normalMap, ot = !!v.displacementMap, ut = !!v.emissiveMap, Ft = !!v.metalnessMap, wt = !!v.roughnessMap, _t = v.anisotropy > 0, _ = v.clearcoat > 0, C = v.dispersion > 0, G = v.iridescence > 0, te = v.sheen > 0, J = v.transmission > 0, U = _t && !!v.anisotropyMap, X = _ && !!v.clearcoatMap, $ = _ && !!v.clearcoatNormalMap, le = _ && !!v.clearcoatRoughnessMap, pe = G && !!v.iridescenceMap, ie = G && !!v.iridescenceThicknessMap, ue = te && !!v.sheenColorMap, Me = te && !!v.sheenRoughnessMap, Ce = !!v.specularMap, _e = !!v.specularColorMap, He = !!v.specularIntensityMap, O = J && !!v.transmissionMap, fe = J && !!v.thicknessMap, de = !!v.gradientMap, ye = !!v.alphaMap, ce = v.alphaTest > 0, oe = !!v.alphaHash, Ee = !!v.extensions;
16481
+ const z = i.getRenderTarget(), se = i.state.buffers.depth.getReversed(), he = F.isInstancedMesh === !0, ae = F.isBatchedMesh === !0, Te = !!v.map, Ie = !!v.matcap, Pe = !!re, Ue = !!v.aoMap, ke = !!v.lightMap, Be = !!v.bumpMap, nt = !!v.normalMap, ot = !!v.displacementMap, dt = !!v.emissiveMap, Ft = !!v.metalnessMap, wt = !!v.roughnessMap, _t = v.anisotropy > 0, _ = v.clearcoat > 0, C = v.dispersion > 0, G = v.iridescence > 0, te = v.sheen > 0, J = v.transmission > 0, U = _t && !!v.anisotropyMap, X = _ && !!v.clearcoatMap, $ = _ && !!v.clearcoatNormalMap, le = _ && !!v.clearcoatRoughnessMap, pe = G && !!v.iridescenceMap, ie = G && !!v.iridescenceThicknessMap, ue = te && !!v.sheenColorMap, Me = te && !!v.sheenRoughnessMap, Ce = !!v.specularMap, _e = !!v.specularColorMap, He = !!v.specularIntensityMap, O = J && !!v.transmissionMap, fe = J && !!v.thicknessMap, de = !!v.gradientMap, ye = !!v.alphaMap, ce = v.alphaTest > 0, oe = !!v.alphaHash, Ee = !!v.extensions;
16482
16482
  let Re = qi;
16483
16483
  v.toneMapped && (z === null || z.isXRRenderTarget === !0) && (Re = i.toneMapping);
16484
16484
  const it = {
@@ -16511,7 +16511,7 @@ function ZS(i, e, t, n, s, r, o) {
16511
16511
  bumpMap: Be,
16512
16512
  normalMap: nt,
16513
16513
  displacementMap: d && ot,
16514
- emissiveMap: ut,
16514
+ emissiveMap: dt,
16515
16515
  normalMapObjectSpace: nt && v.normalMapType === Yy,
16516
16516
  normalMapTangentSpace: nt && v.normalMapType === Xy,
16517
16517
  metalnessMap: Ft,
@@ -16548,7 +16548,7 @@ function ZS(i, e, t, n, s, r, o) {
16548
16548
  bumpMapUv: Be && x(v.bumpMap.channel),
16549
16549
  normalMapUv: nt && x(v.normalMap.channel),
16550
16550
  displacementMapUv: ot && x(v.displacementMap.channel),
16551
- emissiveMapUv: ut && x(v.emissiveMap.channel),
16551
+ emissiveMapUv: dt && x(v.emissiveMap.channel),
16552
16552
  metalnessMapUv: Ft && x(v.metalnessMap.channel),
16553
16553
  roughnessMapUv: wt && x(v.roughnessMap.channel),
16554
16554
  anisotropyMapUv: U && x(v.anisotropyMap.channel),
@@ -16600,8 +16600,8 @@ function ZS(i, e, t, n, s, r, o) {
16600
16600
  shadowMapEnabled: i.shadowMap.enabled && R.length > 0,
16601
16601
  shadowMapType: i.shadowMap.type,
16602
16602
  toneMapping: Re,
16603
- decodeVideoTexture: Te && v.map.isVideoTexture === !0 && tt.getTransfer(v.map.colorSpace) === dt,
16604
- decodeVideoTextureEmissive: ut && v.emissiveMap.isVideoTexture === !0 && tt.getTransfer(v.emissiveMap.colorSpace) === dt,
16603
+ decodeVideoTexture: Te && v.map.isVideoTexture === !0 && tt.getTransfer(v.map.colorSpace) === ft,
16604
+ decodeVideoTextureEmissive: dt && v.emissiveMap.isVideoTexture === !0 && tt.getTransfer(v.emissiveMap.colorSpace) === ft,
16605
16605
  premultipliedAlpha: v.premultipliedAlpha,
16606
16606
  doubleSided: v.side === yi,
16607
16607
  flipSided: v.side === un,
@@ -17414,7 +17414,7 @@ function uw(i, e) {
17414
17414
  let de = O.side === un;
17415
17415
  fe && (de = !de), Be(de), O.blending === dr && O.transparent === !1 ? Ue(bi) : Ue(O.blending, O.blendEquation, O.blendSrc, O.blendDst, O.blendEquationAlpha, O.blendSrcAlpha, O.blendDstAlpha, O.blendColor, O.blendAlpha, O.premultipliedAlpha), o.setFunc(O.depthFunc), o.setTest(O.depthTest), o.setMask(O.depthWrite), r.setMask(O.colorWrite);
17416
17416
  const ye = O.stencilWrite;
17417
- a.setTest(ye), ye && (a.setMask(O.stencilWriteMask), a.setFunc(O.stencilFunc, O.stencilRef, O.stencilFuncMask), a.setOp(O.stencilFail, O.stencilZFail, O.stencilZPass)), ut(O.polygonOffset, O.polygonOffsetFactor, O.polygonOffsetUnits), O.alphaToCoverage === !0 ? z(i.SAMPLE_ALPHA_TO_COVERAGE) : se(i.SAMPLE_ALPHA_TO_COVERAGE);
17417
+ a.setTest(ye), ye && (a.setMask(O.stencilWriteMask), a.setFunc(O.stencilFunc, O.stencilRef, O.stencilFuncMask), a.setOp(O.stencilFail, O.stencilZFail, O.stencilZPass)), dt(O.polygonOffset, O.polygonOffsetFactor, O.polygonOffsetUnits), O.alphaToCoverage === !0 ? z(i.SAMPLE_ALPHA_TO_COVERAGE) : se(i.SAMPLE_ALPHA_TO_COVERAGE);
17418
17418
  }
17419
17419
  function Be(O) {
17420
17420
  y !== O && (O ? i.frontFace(i.CW) : i.frontFace(i.CCW), y = O);
@@ -17425,7 +17425,7 @@ function uw(i, e) {
17425
17425
  function ot(O) {
17426
17426
  O !== L && (W && i.lineWidth(O), L = O);
17427
17427
  }
17428
- function ut(O, fe, de) {
17428
+ function dt(O, fe, de) {
17429
17429
  O ? (z(i.POLYGON_OFFSET_FILL), (F !== fe || k !== de) && (i.polygonOffset(fe, de), F = fe, k = de)) : se(i.POLYGON_OFFSET_FILL);
17430
17430
  }
17431
17431
  function Ft(O) {
@@ -17548,7 +17548,7 @@ function uw(i, e) {
17548
17548
  setFlipSided: Be,
17549
17549
  setCullFace: nt,
17550
17550
  setLineWidth: ot,
17551
- setPolygonOffset: ut,
17551
+ setPolygonOffset: dt,
17552
17552
  setScissorTest: Ft,
17553
17553
  activeTexture: wt,
17554
17554
  bindTexture: _t,
@@ -17615,7 +17615,7 @@ function dw(i, e, t, n, s, r, o) {
17615
17615
  let U = C;
17616
17616
  if (C === i.RED && (G === i.FLOAT && (U = i.R32F), G === i.HALF_FLOAT && (U = i.R16F), G === i.UNSIGNED_BYTE && (U = i.R8)), C === i.RED_INTEGER && (G === i.UNSIGNED_BYTE && (U = i.R8UI), G === i.UNSIGNED_SHORT && (U = i.R16UI), G === i.UNSIGNED_INT && (U = i.R32UI), G === i.BYTE && (U = i.R8I), G === i.SHORT && (U = i.R16I), G === i.INT && (U = i.R32I)), C === i.RG && (G === i.FLOAT && (U = i.RG32F), G === i.HALF_FLOAT && (U = i.RG16F), G === i.UNSIGNED_BYTE && (U = i.RG8)), C === i.RG_INTEGER && (G === i.UNSIGNED_BYTE && (U = i.RG8UI), G === i.UNSIGNED_SHORT && (U = i.RG16UI), G === i.UNSIGNED_INT && (U = i.RG32UI), G === i.BYTE && (U = i.RG8I), G === i.SHORT && (U = i.RG16I), G === i.INT && (U = i.RG32I)), C === i.RGB_INTEGER && (G === i.UNSIGNED_BYTE && (U = i.RGB8UI), G === i.UNSIGNED_SHORT && (U = i.RGB16UI), G === i.UNSIGNED_INT && (U = i.RGB32UI), G === i.BYTE && (U = i.RGB8I), G === i.SHORT && (U = i.RGB16I), G === i.INT && (U = i.RGB32I)), C === i.RGBA_INTEGER && (G === i.UNSIGNED_BYTE && (U = i.RGBA8UI), G === i.UNSIGNED_SHORT && (U = i.RGBA16UI), G === i.UNSIGNED_INT && (U = i.RGBA32UI), G === i.BYTE && (U = i.RGBA8I), G === i.SHORT && (U = i.RGBA16I), G === i.INT && (U = i.RGBA32I)), C === i.RGB && (G === i.UNSIGNED_INT_5_9_9_9_REV && (U = i.RGB9_E5), G === i.UNSIGNED_INT_10F_11F_11F_REV && (U = i.R11F_G11F_B10F)), C === i.RGBA) {
17617
17617
  const X = J ? cl : tt.getTransfer(te);
17618
- G === i.FLOAT && (U = i.RGBA32F), G === i.HALF_FLOAT && (U = i.RGBA16F), G === i.UNSIGNED_BYTE && (U = X === dt ? i.SRGB8_ALPHA8 : i.RGBA8), G === i.UNSIGNED_SHORT_4_4_4_4 && (U = i.RGBA4), G === i.UNSIGNED_SHORT_5_5_5_1 && (U = i.RGB5_A1);
17618
+ G === i.FLOAT && (U = i.RGBA32F), G === i.HALF_FLOAT && (U = i.RGBA16F), G === i.UNSIGNED_BYTE && (U = X === ft ? i.SRGB8_ALPHA8 : i.RGBA8), G === i.UNSIGNED_SHORT_4_4_4_4 && (U = i.RGBA4), G === i.UNSIGNED_SHORT_5_5_5_1 && (U = i.RGB5_A1);
17619
17619
  }
17620
17620
  return (U === i.R16F || U === i.R32F || U === i.RG16F || U === i.RG32F || U === i.RGBA16F || U === i.RGBA32F) && e.get("EXT_color_buffer_float"), U;
17621
17621
  }
@@ -17964,17 +17964,17 @@ function dw(i, e, t, n, s, r, o) {
17964
17964
  const ue = Math.max(1, C.width >> U), Me = Math.max(1, C.height >> U);
17965
17965
  J === i.TEXTURE_3D || J === i.TEXTURE_2D_ARRAY ? t.texImage3D(J, U, le, ue, Me, C.depth, 0, X, $, null) : t.texImage2D(J, U, le, ue, Me, 0, X, $, null);
17966
17966
  }
17967
- t.bindFramebuffer(i.FRAMEBUFFER, _), ut(C) ? a.framebufferTexture2DMultisampleEXT(i.FRAMEBUFFER, te, J, ie.__webglTexture, 0, ot(C)) : (J === i.TEXTURE_2D || J >= i.TEXTURE_CUBE_MAP_POSITIVE_X && J <= i.TEXTURE_CUBE_MAP_NEGATIVE_Z) && i.framebufferTexture2D(i.FRAMEBUFFER, te, J, ie.__webglTexture, U), t.bindFramebuffer(i.FRAMEBUFFER, null);
17967
+ t.bindFramebuffer(i.FRAMEBUFFER, _), dt(C) ? a.framebufferTexture2DMultisampleEXT(i.FRAMEBUFFER, te, J, ie.__webglTexture, 0, ot(C)) : (J === i.TEXTURE_2D || J >= i.TEXTURE_CUBE_MAP_POSITIVE_X && J <= i.TEXTURE_CUBE_MAP_NEGATIVE_Z) && i.framebufferTexture2D(i.FRAMEBUFFER, te, J, ie.__webglTexture, U), t.bindFramebuffer(i.FRAMEBUFFER, null);
17968
17968
  }
17969
17969
  function he(_, C, G) {
17970
17970
  if (i.bindRenderbuffer(i.RENDERBUFFER, _), C.depthBuffer) {
17971
17971
  const te = C.depthTexture, J = te && te.isDepthTexture ? te.type : null, U = w(C.stencilBuffer, J), X = C.stencilBuffer ? i.DEPTH_STENCIL_ATTACHMENT : i.DEPTH_ATTACHMENT, $ = ot(C);
17972
- ut(C) ? a.renderbufferStorageMultisampleEXT(i.RENDERBUFFER, $, U, C.width, C.height) : G ? i.renderbufferStorageMultisample(i.RENDERBUFFER, $, U, C.width, C.height) : i.renderbufferStorage(i.RENDERBUFFER, U, C.width, C.height), i.framebufferRenderbuffer(i.FRAMEBUFFER, X, i.RENDERBUFFER, _);
17972
+ dt(C) ? a.renderbufferStorageMultisampleEXT(i.RENDERBUFFER, $, U, C.width, C.height) : G ? i.renderbufferStorageMultisample(i.RENDERBUFFER, $, U, C.width, C.height) : i.renderbufferStorage(i.RENDERBUFFER, U, C.width, C.height), i.framebufferRenderbuffer(i.FRAMEBUFFER, X, i.RENDERBUFFER, _);
17973
17973
  } else {
17974
17974
  const te = C.textures;
17975
17975
  for (let J = 0; J < te.length; J++) {
17976
17976
  const U = te[J], X = r.convert(U.format, U.colorSpace), $ = r.convert(U.type), le = M(U.internalFormat, X, $, U.colorSpace), pe = ot(C);
17977
- G && ut(C) === !1 ? i.renderbufferStorageMultisample(i.RENDERBUFFER, pe, le, C.width, C.height) : ut(C) ? a.renderbufferStorageMultisampleEXT(i.RENDERBUFFER, pe, le, C.width, C.height) : i.renderbufferStorage(i.RENDERBUFFER, le, C.width, C.height);
17977
+ G && dt(C) === !1 ? i.renderbufferStorageMultisample(i.RENDERBUFFER, pe, le, C.width, C.height) : dt(C) ? a.renderbufferStorageMultisampleEXT(i.RENDERBUFFER, pe, le, C.width, C.height) : i.renderbufferStorage(i.RENDERBUFFER, le, C.width, C.height);
17978
17978
  }
17979
17979
  }
17980
17980
  i.bindRenderbuffer(i.RENDERBUFFER, null);
@@ -17987,9 +17987,9 @@ function dw(i, e, t, n, s, r, o) {
17987
17987
  te.__renderTarget = C, (!te.__webglTexture || C.depthTexture.image.width !== C.width || C.depthTexture.image.height !== C.height) && (C.depthTexture.image.width = C.width, C.depthTexture.image.height = C.height, C.depthTexture.needsUpdate = !0), j(C.depthTexture, 0);
17988
17988
  const J = te.__webglTexture, U = ot(C);
17989
17989
  if (C.depthTexture.format === Ro)
17990
- ut(C) ? a.framebufferTexture2DMultisampleEXT(i.FRAMEBUFFER, i.DEPTH_ATTACHMENT, i.TEXTURE_2D, J, 0, U) : i.framebufferTexture2D(i.FRAMEBUFFER, i.DEPTH_ATTACHMENT, i.TEXTURE_2D, J, 0);
17990
+ dt(C) ? a.framebufferTexture2DMultisampleEXT(i.FRAMEBUFFER, i.DEPTH_ATTACHMENT, i.TEXTURE_2D, J, 0, U) : i.framebufferTexture2D(i.FRAMEBUFFER, i.DEPTH_ATTACHMENT, i.TEXTURE_2D, J, 0);
17991
17991
  else if (C.depthTexture.format === Lo)
17992
- ut(C) ? a.framebufferTexture2DMultisampleEXT(i.FRAMEBUFFER, i.DEPTH_STENCIL_ATTACHMENT, i.TEXTURE_2D, J, 0, U) : i.framebufferTexture2D(i.FRAMEBUFFER, i.DEPTH_STENCIL_ATTACHMENT, i.TEXTURE_2D, J, 0);
17992
+ dt(C) ? a.framebufferTexture2DMultisampleEXT(i.FRAMEBUFFER, i.DEPTH_STENCIL_ATTACHMENT, i.TEXTURE_2D, J, 0, U) : i.framebufferTexture2D(i.FRAMEBUFFER, i.DEPTH_STENCIL_ATTACHMENT, i.TEXTURE_2D, J, 0);
17993
17993
  else
17994
17994
  throw new Error("Unknown depthTexture format");
17995
17995
  }
@@ -18058,7 +18058,7 @@ function dw(i, e, t, n, s, r, o) {
18058
18058
  const pe = n.get(J[$]);
18059
18059
  pe.__webglTexture === void 0 && (pe.__webglTexture = i.createTexture(), o.memory.textures++);
18060
18060
  }
18061
- if (_.samples > 0 && ut(_) === !1) {
18061
+ if (_.samples > 0 && dt(_) === !1) {
18062
18062
  G.__webglMultisampledFramebuffer = i.createFramebuffer(), G.__webglColorRenderbuffer = [], t.bindFramebuffer(i.FRAMEBUFFER, G.__webglMultisampledFramebuffer);
18063
18063
  for (let $ = 0; $ < J.length; $++) {
18064
18064
  const le = J[$];
@@ -18109,7 +18109,7 @@ function dw(i, e, t, n, s, r, o) {
18109
18109
  const ke = [], Be = [];
18110
18110
  function nt(_) {
18111
18111
  if (_.samples > 0) {
18112
- if (ut(_) === !1) {
18112
+ if (dt(_) === !1) {
18113
18113
  const C = _.textures, G = _.width, te = _.height;
18114
18114
  let J = i.COLOR_BUFFER_BIT;
18115
18115
  const U = _.stencilBuffer ? i.DEPTH_STENCIL_ATTACHMENT : i.DEPTH_ATTACHMENT, X = n.get(_), $ = C.length > 1;
@@ -18143,7 +18143,7 @@ function dw(i, e, t, n, s, r, o) {
18143
18143
  function ot(_) {
18144
18144
  return Math.min(s.maxSamples, _.samples);
18145
18145
  }
18146
- function ut(_) {
18146
+ function dt(_) {
18147
18147
  const C = n.get(_);
18148
18148
  return _.samples > 0 && e.has("WEBGL_multisampled_render_to_texture") === !0 && C.__useRenderToTexture !== !1;
18149
18149
  }
@@ -18153,12 +18153,12 @@ function dw(i, e, t, n, s, r, o) {
18153
18153
  }
18154
18154
  function wt(_, C) {
18155
18155
  const G = _.colorSpace, te = _.format, J = _.type;
18156
- return _.isCompressedTexture === !0 || _.isVideoTexture === !0 || G !== vr && G !== ji && (tt.getTransfer(G) === dt ? (te !== Vn || J !== Ci) && Ve("WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.") : Lt("WebGLTextures: Unsupported texture color space:", G)), C;
18156
+ return _.isCompressedTexture === !0 || _.isVideoTexture === !0 || G !== vr && G !== ji && (tt.getTransfer(G) === ft ? (te !== Vn || J !== Ci) && Ve("WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.") : Lt("WebGLTextures: Unsupported texture color space:", G)), C;
18157
18157
  }
18158
18158
  function _t(_) {
18159
18159
  return typeof HTMLImageElement < "u" && _ instanceof HTMLImageElement ? (c.width = _.naturalWidth || _.width, c.height = _.naturalHeight || _.height) : typeof VideoFrame < "u" && _ instanceof VideoFrame ? (c.width = _.displayWidth, c.height = _.displayHeight) : (c.width = _.width, c.height = _.height), c;
18160
18160
  }
18161
- this.allocateTextureUnit = F, this.resetTextureUnits = L, this.setTexture2D = j, this.setTexture2DArray = W, this.setTexture3D = re, this.setTextureCube = V, this.rebindTextures = Ie, this.setupRenderTarget = Pe, this.updateRenderTargetMipmap = Ue, this.updateMultisampleRenderTarget = nt, this.setupDepthRenderbuffer = Te, this.setupFrameBufferTexture = se, this.useMultisampledRTT = ut;
18161
+ this.allocateTextureUnit = F, this.resetTextureUnits = L, this.setTexture2D = j, this.setTexture2DArray = W, this.setTexture3D = re, this.setTextureCube = V, this.rebindTextures = Ie, this.setupRenderTarget = Pe, this.updateRenderTargetMipmap = Ue, this.updateMultisampleRenderTarget = nt, this.setupDepthRenderbuffer = Te, this.setupFrameBufferTexture = se, this.useMultisampledRTT = dt;
18162
18162
  }
18163
18163
  function fw(i, e) {
18164
18164
  function t(n, s = ji) {
@@ -18187,7 +18187,7 @@ function fw(i, e) {
18187
18187
  if (n === Iu) return i.RG_INTEGER;
18188
18188
  if (n === Ou) return i.RGBA_INTEGER;
18189
18189
  if (n === Va || n === Ga || n === Wa || n === ja)
18190
- if (o === dt)
18190
+ if (o === ft)
18191
18191
  if (r = e.get("WEBGL_compressed_texture_s3tc_srgb"), r !== null) {
18192
18192
  if (n === Va) return r.COMPRESSED_SRGB_S3TC_DXT1_EXT;
18193
18193
  if (n === Ga) return r.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;
@@ -18212,31 +18212,31 @@ function fw(i, e) {
18212
18212
  return null;
18213
18213
  if (n === dh || n === fh || n === ph)
18214
18214
  if (r = e.get("WEBGL_compressed_texture_etc"), r !== null) {
18215
- if (n === dh || n === fh) return o === dt ? r.COMPRESSED_SRGB8_ETC2 : r.COMPRESSED_RGB8_ETC2;
18216
- if (n === ph) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC : r.COMPRESSED_RGBA8_ETC2_EAC;
18215
+ if (n === dh || n === fh) return o === ft ? r.COMPRESSED_SRGB8_ETC2 : r.COMPRESSED_RGB8_ETC2;
18216
+ if (n === ph) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC : r.COMPRESSED_RGBA8_ETC2_EAC;
18217
18217
  } else
18218
18218
  return null;
18219
18219
  if (n === mh || n === gh || n === xh || n === yh || n === vh || n === _h || n === Mh || n === bh || n === Sh || n === wh || n === Ch || n === Eh || n === Th || n === Ah)
18220
18220
  if (r = e.get("WEBGL_compressed_texture_astc"), r !== null) {
18221
- if (n === mh) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR : r.COMPRESSED_RGBA_ASTC_4x4_KHR;
18222
- if (n === gh) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR : r.COMPRESSED_RGBA_ASTC_5x4_KHR;
18223
- if (n === xh) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR : r.COMPRESSED_RGBA_ASTC_5x5_KHR;
18224
- if (n === yh) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR : r.COMPRESSED_RGBA_ASTC_6x5_KHR;
18225
- if (n === vh) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR : r.COMPRESSED_RGBA_ASTC_6x6_KHR;
18226
- if (n === _h) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR : r.COMPRESSED_RGBA_ASTC_8x5_KHR;
18227
- if (n === Mh) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR : r.COMPRESSED_RGBA_ASTC_8x6_KHR;
18228
- if (n === bh) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR : r.COMPRESSED_RGBA_ASTC_8x8_KHR;
18229
- if (n === Sh) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR : r.COMPRESSED_RGBA_ASTC_10x5_KHR;
18230
- if (n === wh) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR : r.COMPRESSED_RGBA_ASTC_10x6_KHR;
18231
- if (n === Ch) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR : r.COMPRESSED_RGBA_ASTC_10x8_KHR;
18232
- if (n === Eh) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR : r.COMPRESSED_RGBA_ASTC_10x10_KHR;
18233
- if (n === Th) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR : r.COMPRESSED_RGBA_ASTC_12x10_KHR;
18234
- if (n === Ah) return o === dt ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR : r.COMPRESSED_RGBA_ASTC_12x12_KHR;
18221
+ if (n === mh) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR : r.COMPRESSED_RGBA_ASTC_4x4_KHR;
18222
+ if (n === gh) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR : r.COMPRESSED_RGBA_ASTC_5x4_KHR;
18223
+ if (n === xh) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR : r.COMPRESSED_RGBA_ASTC_5x5_KHR;
18224
+ if (n === yh) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR : r.COMPRESSED_RGBA_ASTC_6x5_KHR;
18225
+ if (n === vh) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR : r.COMPRESSED_RGBA_ASTC_6x6_KHR;
18226
+ if (n === _h) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR : r.COMPRESSED_RGBA_ASTC_8x5_KHR;
18227
+ if (n === Mh) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR : r.COMPRESSED_RGBA_ASTC_8x6_KHR;
18228
+ if (n === bh) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR : r.COMPRESSED_RGBA_ASTC_8x8_KHR;
18229
+ if (n === Sh) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR : r.COMPRESSED_RGBA_ASTC_10x5_KHR;
18230
+ if (n === wh) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR : r.COMPRESSED_RGBA_ASTC_10x6_KHR;
18231
+ if (n === Ch) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR : r.COMPRESSED_RGBA_ASTC_10x8_KHR;
18232
+ if (n === Eh) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR : r.COMPRESSED_RGBA_ASTC_10x10_KHR;
18233
+ if (n === Th) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR : r.COMPRESSED_RGBA_ASTC_12x10_KHR;
18234
+ if (n === Ah) return o === ft ? r.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR : r.COMPRESSED_RGBA_ASTC_12x12_KHR;
18235
18235
  } else
18236
18236
  return null;
18237
18237
  if (n === Ph || n === Dh || n === Rh)
18238
18238
  if (r = e.get("EXT_texture_compression_bptc"), r !== null) {
18239
- if (n === Ph) return o === dt ? r.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT : r.COMPRESSED_RGBA_BPTC_UNORM_EXT;
18239
+ if (n === Ph) return o === ft ? r.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT : r.COMPRESSED_RGBA_BPTC_UNORM_EXT;
18240
18240
  if (n === Dh) return r.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;
18241
18241
  if (n === Rh) return r.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT;
18242
18242
  } else
@@ -18477,11 +18477,11 @@ class xw extends Dr {
18477
18477
  const V = new Q(), ee = new Q();
18478
18478
  function ne(P, z, se) {
18479
18479
  V.setFromMatrixPosition(z.matrixWorld), ee.setFromMatrixPosition(se.matrixWorld);
18480
- const he = V.distanceTo(ee), ae = z.projectionMatrix.elements, Te = se.projectionMatrix.elements, Ie = ae[14] / (ae[10] - 1), Pe = ae[14] / (ae[10] + 1), Ue = (ae[9] + 1) / ae[5], ke = (ae[9] - 1) / ae[5], Be = (ae[8] - 1) / ae[0], nt = (Te[8] + 1) / Te[0], ot = Ie * Be, ut = Ie * nt, Ft = he / (-Be + nt), wt = Ft * -Be;
18480
+ const he = V.distanceTo(ee), ae = z.projectionMatrix.elements, Te = se.projectionMatrix.elements, Ie = ae[14] / (ae[10] - 1), Pe = ae[14] / (ae[10] + 1), Ue = (ae[9] + 1) / ae[5], ke = (ae[9] - 1) / ae[5], Be = (ae[8] - 1) / ae[0], nt = (Te[8] + 1) / Te[0], ot = Ie * Be, dt = Ie * nt, Ft = he / (-Be + nt), wt = Ft * -Be;
18481
18481
  if (z.matrixWorld.decompose(P.position, P.quaternion, P.scale), P.translateX(wt), P.translateZ(Ft), P.matrixWorld.compose(P.position, P.quaternion, P.scale), P.matrixWorldInverse.copy(P.matrixWorld).invert(), ae[10] === -1)
18482
18482
  P.projectionMatrix.copy(z.projectionMatrix), P.projectionMatrixInverse.copy(z.projectionMatrixInverse);
18483
18483
  else {
18484
- const _t = Ie + Ft, _ = Pe + Ft, C = ot - wt, G = ut + (he - wt), te = Ue * Pe / _ * _t, J = ke * Pe / _ * _t;
18484
+ const _t = Ie + Ft, _ = Pe + Ft, C = ot - wt, G = dt + (he - wt), te = Ue * Pe / _ * _t, J = ke * Pe / _ * _t;
18485
18485
  P.projectionMatrix.makePerspective(C, G, te, J, _t, _), P.projectionMatrixInverse.copy(P.projectionMatrix).invert();
18486
18486
  }
18487
18487
  }
@@ -20868,7 +20868,7 @@ class Sw {
20868
20868
  function ot() {
20869
20869
  Ue = ke.pop() ?? null;
20870
20870
  }
20871
- function ut() {
20871
+ function dt() {
20872
20872
  return Ue === null ? !1 : Ue.aborted === !0 ? !0 : performance.now() - Ue.startTime < Ue.budgetMs ? !1 : (Ue.aborted = !0, !0);
20873
20873
  }
20874
20874
  function Ft(T) {
@@ -21148,7 +21148,7 @@ class Sw {
21148
21148
  };
21149
21149
  function ea(T, B, Y, Z) {
21150
21150
  if (T.visible === !1) return;
21151
- const H = ut();
21151
+ const H = dt();
21152
21152
  if (H === !0 && Ft(T) === !1) {
21153
21153
  const be = T.children;
21154
21154
  for (let xe = 0, Oe = be.length; xe < Oe; xe++)
@@ -21224,7 +21224,7 @@ class Sw {
21224
21224
  const Z = B.isScene === !0 ? B.overrideMaterial : null;
21225
21225
  for (let H = 0, me = T.length; H < me; H++) {
21226
21226
  const we = T[H];
21227
- if (ut() === !0 && wt(we.object, we.group, we.material) === !1) continue;
21227
+ if (dt() === !0 && wt(we.object, we.group, we.material) === !1) continue;
21228
21228
  const { object: be, geometry: xe, group: Oe } = we;
21229
21229
  let Fe = we.material;
21230
21230
  Fe.allowOverride === !0 && Z !== null && (Fe = Z), be.layers.test(Y.layers) && Dd(be, B, Y, xe, Fe, Oe);
@@ -22111,7 +22111,7 @@ class zf {
22111
22111
  return a;
22112
22112
  }
22113
22113
  }
22114
- const Pw = ft("/assets/worker_walk.glb", import.meta.url), Dw = Math.PI, Rw = {
22114
+ const Pw = ht("/assets/worker_walk.glb", import.meta.url), Dw = Math.PI, Rw = {
22115
22115
  16: "ShiftLeft",
22116
22116
  37: "ArrowLeft",
22117
22117
  38: "ArrowUp",
@@ -22773,7 +22773,7 @@ function Hu(i) {
22773
22773
  };
22774
22774
  Array.from(Ie.children).forEach((ke) => {
22775
22775
  const Be = ke.tagName.toLowerCase(), ot = (Be === "line" ? [`${ke.getAttribute("x1")},${ke.getAttribute("y1")}`, `${ke.getAttribute("x2")},${ke.getAttribute("y2")}`].map(Ue) : (ke.getAttribute("points") || "").trim().split(/\s+/).map(Ue)).filter(Boolean);
22776
- ot.length < 2 || (P.beginPath(), P.strokeStyle = ke.getAttribute("stroke") || "rgb(8, 223, 215)", P.fillStyle = ke.getAttribute("fill") || "transparent", P.lineWidth = Number(ke.getAttribute("stroke-width") || 2) * Te, P.moveTo(ot[0][0], ot[0][1]), ot.slice(1).forEach(([ut, Ft]) => P.lineTo(ut, Ft)), Be === "polygon" && (P.closePath(), ["none", "transparent"].includes(String(P.fillStyle)) || P.fill()), P.stroke());
22776
+ ot.length < 2 || (P.beginPath(), P.strokeStyle = ke.getAttribute("stroke") || "rgb(8, 223, 215)", P.fillStyle = ke.getAttribute("fill") || "transparent", P.lineWidth = Number(ke.getAttribute("stroke-width") || 2) * Te, P.moveTo(ot[0][0], ot[0][1]), ot.slice(1).forEach(([dt, Ft]) => P.lineTo(dt, Ft)), Be === "polygon" && (P.closePath(), ["none", "transparent"].includes(String(P.fillStyle)) || P.fill()), P.stroke());
22777
22777
  });
22778
22778
  }
22779
22779
  function v(P) {
@@ -22793,10 +22793,10 @@ function Hu(i) {
22793
22793
  Math.max(8, P.clientY - o)
22794
22794
  );
22795
22795
  se.style.left = `${Ue - s / 2}px`, se.style.top = `${ke}px`, se.style.display = "block";
22796
- const Be = z.width / Math.max(1, z.clientWidth), nt = z.height / Math.max(1, z.clientHeight), ot = r, ut = Math.max(0, Math.min(z.clientWidth - ot, Ie.x - ot / 2)), Ft = Math.max(0, Math.min(z.clientHeight - ot, Ie.y - ot / 2));
22796
+ const Be = z.width / Math.max(1, z.clientWidth), nt = z.height / Math.max(1, z.clientHeight), ot = r, dt = Math.max(0, Math.min(z.clientWidth - ot, Ie.x - ot / 2)), Ft = Math.max(0, Math.min(z.clientHeight - ot, Ie.y - ot / 2));
22797
22797
  he.save(), he.clearRect(0, 0, se.width, se.height), he.beginPath(), he.arc(se.width / 2, se.height / 2, se.width / 2, 0, Math.PI * 2), he.clip(), he.fillStyle = window.getComputedStyle(z.parentElement ?? document.body).backgroundColor || "#dfe8f2", he.fillRect(0, 0, se.width, se.height);
22798
22798
  try {
22799
- he.drawImage(z, ut * Be, Ft * nt, ot * Be, ot * nt, 0, 0, se.width, se.height), I(he, z, ut, Ft, ot, Pe);
22799
+ he.drawImage(z, dt * Be, Ft * nt, ot * Be, ot * nt, 0, 0, se.width, se.height), I(he, z, dt, Ft, ot, Pe);
22800
22800
  } catch {
22801
22801
  E(), he.restore();
22802
22802
  return;
@@ -22963,7 +22963,7 @@ function Hu(i) {
22963
22963
  Z: U[0].Z * 0.5 + U[1].Z * 0.5
22964
22964
  });
22965
22965
  });
22966
- let ut = [...ke[2].map((U) => U[0])], Ft = [...ot], wt = "face", _t = [], _ = [], C = 10;
22966
+ let dt = [...ke[2].map((U) => U[0])], Ft = [...ot], wt = "face", _t = [], _ = [], C = 10;
22967
22967
  if (e.lastPoint != null) {
22968
22968
  let U = ae[0].point.clone(), X = ae[0].normal || (ae[0].face ? ae[0].face.normal : null);
22969
22969
  if (X && ae[0].object && ae[0].object.matrixWorld && ae[0].object.matrixWorld.elements) {
@@ -22976,7 +22976,7 @@ function Hu(i) {
22976
22976
  }], wt = "point");
22977
22977
  }
22978
22978
  }
22979
- if (ut.forEach((U) => {
22979
+ if (dt.forEach((U) => {
22980
22980
  if (U != null) {
22981
22981
  let X = nt(U);
22982
22982
  if (i.clipping && !i.clipping.isPointInClippingRange(X))
@@ -23116,7 +23116,7 @@ class Fw {
23116
23116
  init() {
23117
23117
  this.orbitControls = new Rm(this.engine, this.engine.camera, this.engine.renderer.domElement), this.orbitControls.showOriginIcon = !0, this.firstPersonControls = new zf(this.engine, this.engine.camera, this.engine.renderer.domElement), this.thirdPersonControls = new Hf(this.engine, this.engine.camera, this.engine.renderer.domElement);
23118
23118
  const e = document.createElement("div");
23119
- this.originDiv = e, e.className = "originDiv", e.style.position = "absolute", e.style.top = "0px", e.style.left = "0px", e.style.width = "30px", e.style.height = "30px", e.style.borderRadius = "50%", e.style.pointerEvents = "none", e.style.backgroundImage = `url(${ft("/assets/svg/rotate-orbit.svg", import.meta.url)})`, this.engine.container.appendChild(this.originDiv);
23119
+ this.originDiv = e, e.className = "originDiv", e.style.position = "absolute", e.style.top = "0px", e.style.left = "0px", e.style.width = "30px", e.style.height = "30px", e.style.borderRadius = "50%", e.style.pointerEvents = "none", e.style.backgroundImage = `url(${ht("/assets/svg/rotate-orbit.svg", import.meta.url)})`, this.engine.container.appendChild(this.originDiv);
23120
23120
  }
23121
23121
  // 激活控制器
23122
23122
  active() {
@@ -25403,10 +25403,10 @@ var Tt = /* @__PURE__ */ ((i) => (i.ModelLoadStart = "model-load-start", i.Model
25403
25403
  let qr = null, Kr = null, sp = null;
25404
25404
  const mE = 8, lg = 24, gE = 24, xE = 64, yE = 200, vE = 10;
25405
25405
  function cg() {
25406
- return ft("draco/", import.meta.url);
25406
+ return ht("draco/", import.meta.url);
25407
25407
  }
25408
25408
  function hg() {
25409
- return ft("basis/", import.meta.url);
25409
+ return ht("basis/", import.meta.url);
25410
25410
  }
25411
25411
  function _E() {
25412
25412
  return qr == null && (qr = new Hx(), qr.setDecoderPath(cg()), qr.preload()), qr;
@@ -27767,7 +27767,7 @@ function gT(i, e, t) {
27767
27767
  function g() {
27768
27768
  r = document.createElement("div"), r.className = "ViewCube", t.appendChild(r), o = document.createElement("div"), o.className = "viewSettingWrapper", o.innerHTML = "...";
27769
27769
  var v = document.createElement("div");
27770
- v.className = "homeViewWrapper", v.style.backgroundImage = `url(${ft("/assets/viewcube/home.png", import.meta.url)})`, v.addEventListener("mousedown", function() {
27770
+ v.className = "homeViewWrapper", v.style.backgroundImage = `url(${ht("/assets/viewcube/home.png", import.meta.url)})`, v.addEventListener("mousedown", function() {
27771
27771
  i.viewCube.cameraGoHome(500);
27772
27772
  }), r.appendChild(v), o.addEventListener("mousedown", function(L) {
27773
27773
  L.stopPropagation(), cameraToggle.classList.contains("show") ? (y(), console.log("隐藏功能按钮")) : (R(), console.log("显示功能按钮"));
@@ -27814,7 +27814,7 @@ function gT(i, e, t) {
27814
27814
  b = !1, n._mainTarget = null, n._mainDistance = null;
27815
27815
  }
27816
27816
  function E() {
27817
- const v = ft("/assets/viewcube/", import.meta.url);
27817
+ const v = ht("/assets/viewcube/", import.meta.url);
27818
27818
  let y = [
27819
27819
  {
27820
27820
  label: "右",
@@ -28792,7 +28792,7 @@ class Xu {
28792
28792
  if (!n) return;
28793
28793
  const s = t?.size ?? 3e4;
28794
28794
  if (n.water) {
28795
- const r = new Xc(s, s), o = t?.waterNormalsUrl ?? ft(Xu.DEFAULT_WATER_NORMALS, import.meta.url), a = new rl().load(o, (f) => {
28795
+ const r = new Xc(s, s), o = t?.waterNormalsUrl ?? ht(Xu.DEFAULT_WATER_NORMALS, import.meta.url), a = new rl().load(o, (f) => {
28796
28796
  f.wrapS = f.wrapT = ol;
28797
28797
  }), l = t?.sunDirection ?? new S(0.5, 0.8, 0.5).normalize(), c = t?.distortionScale ?? n.distortionScale ?? 3.7, h = t?.waterSize ?? n.size ?? 1, u = t?.opacity ?? 0.92, d = new Yx(r, {
28798
28798
  textureWidth: 512,
@@ -28813,7 +28813,7 @@ class Xu {
28813
28813
  color: n.color,
28814
28814
  roughness: n.roughness,
28815
28815
  metalness: n.metalness
28816
- }), a = t?.textureUrl ?? (n.map ? ft(n.map, import.meta.url) : void 0);
28816
+ }), a = t?.textureUrl ?? (n.map ? ht(n.map, import.meta.url) : void 0);
28817
28817
  a && new rl().load(
28818
28818
  a,
28819
28819
  (c) => {
@@ -28975,14 +28975,15 @@ class wT {
28975
28975
  this._clearHdr(), this.textureCache.forEach((e) => e.dispose()), this.textureCache.clear();
28976
28976
  }
28977
28977
  _loadHdr(e) {
28978
- return new Promise((t, n) => {
28978
+ const t = ht(e, import.meta.url);
28979
+ return new Promise((n, s) => {
28979
28980
  new $x().load(
28980
- e,
28981
- (s) => {
28982
- s.mapping = qx, t(s);
28981
+ t,
28982
+ (r) => {
28983
+ r.mapping = qx, n(r);
28983
28984
  },
28984
28985
  void 0,
28985
- (s) => n(s)
28986
+ (r) => s(r)
28986
28987
  );
28987
28988
  });
28988
28989
  }
@@ -32234,7 +32235,7 @@ class WT {
32234
32235
  fillTextureRotation = 0;
32235
32236
  constructor(e) {
32236
32237
  this.engine = e, this.evaluator = new Qx();
32237
- const t = ft("/texture/fill.png", import.meta.url), n = new rl().load(t);
32238
+ const t = ht("/texture/fill.png", import.meta.url), n = new rl().load(t);
32238
32239
  n.wrapS = ol, n.wrapT = ol, n.center.set(0.5, 0.5), n.rotation = this.fillTextureRotation, this.fillMaterial = new Cu({
32239
32240
  color: 14079687,
32240
32241
  map: n,
@@ -35168,7 +35169,7 @@ var vp = class {
35168
35169
  N(this, "browserShadowBlurConstant", 1), N(this, "DPI", 96), N(this, "devicePixelRatio", typeof window < "u" ? window.devicePixelRatio : 1), N(this, "perfLimitSizeTotal", 2097152), N(this, "maxCacheSideLimit", 4096), N(this, "minCacheSideLimit", 256), N(this, "disableStyleCopyPaste", !1), N(this, "enableGLFiltering", !0), N(this, "textureSize", 4096), N(this, "forceGLPutImageData", !1), N(this, "cachesBoundsOfCurve", !1), N(this, "fontPaths", {}), N(this, "NUM_FRACTION_DIGITS", 4);
35169
35170
  }
35170
35171
  };
35171
- const ht = new class extends vp {
35172
+ const ut = new class extends vp {
35172
35173
  constructor(i) {
35173
35174
  super(), this.configure(i);
35174
35175
  }
@@ -35219,7 +35220,7 @@ let _p;
35219
35220
  const li = () => _p || (_p = { document, window, isTouchSupported: "ontouchstart" in window || "ontouchstart" in document || window && window.navigator && window.navigator.maxTouchPoints > 0, WebGLProbe: new u1(), dispose() {
35220
35221
  }, copyPasteData: d1 }), Fr = () => li().document, Sr = () => li().window, Eg = () => {
35221
35222
  var i;
35222
- return Math.max((i = ht.devicePixelRatio) == null ? Sr().devicePixelRatio : i, 1);
35223
+ return Math.max((i = ut.devicePixelRatio) == null ? Sr().devicePixelRatio : i, 1);
35223
35224
  }, Mo = new class {
35224
35225
  constructor() {
35225
35226
  N(this, "boundsOfCurveCache", {}), this.charWidthsCache = /* @__PURE__ */ new Map();
@@ -35235,7 +35236,7 @@ const li = () => _p || (_p = { document, window, isTouchSupported: "ontouchstart
35235
35236
  i ? this.charWidthsCache.delete((i || "").toLowerCase()) : this.charWidthsCache = /* @__PURE__ */ new Map();
35236
35237
  }
35237
35238
  limitDimsByArea(i) {
35238
- let { perfLimitSizeTotal: e } = ht, t = Math.sqrt(e * i);
35239
+ let { perfLimitSizeTotal: e } = ut, t = Math.sqrt(e * i);
35239
35240
  return [Math.floor(t), Math.floor(e / t)];
35240
35241
  }
35241
35242
  }(), qh = "7.3.1";
@@ -35671,7 +35672,7 @@ const Nl = (i, e = i) => [i, 0, 0, e, 0, 0], Hg = (i) => Math.tan(Dt(i)), Ju = (
35671
35672
  }).finally(() => {
35672
35673
  e && e.removeEventListener("abort", n);
35673
35674
  });
35674
- }), zs = (i, e = []) => e.reduce((t, n) => (n in i && (t[n] = i[n]), t), {}), ed = (i, e) => Object.keys(i).reduce((t, n) => (e(i[n], n, i) && (t[n] = i[n]), t), {}), yt = (i, e) => parseFloat(Number(i).toFixed(e)), Er = (i) => "matrix(" + i.map((e) => yt(e, ht.NUM_FRACTION_DIGITS)).join(" ") + ")", Ln = (i) => !!i && i.toLive !== void 0, bp = (i) => !!i && typeof i.toObject == "function", Sp = (i) => !!i && i.offsetX !== void 0 && "source" in i, Ms = (i) => !!i && "multiSelectionStacking" in i;
35675
+ }), zs = (i, e = []) => e.reduce((t, n) => (n in i && (t[n] = i[n]), t), {}), ed = (i, e) => Object.keys(i).reduce((t, n) => (e(i[n], n, i) && (t[n] = i[n]), t), {}), yt = (i, e) => parseFloat(Number(i).toFixed(e)), Er = (i) => "matrix(" + i.map((e) => yt(e, ut.NUM_FRACTION_DIGITS)).join(" ") + ")", Ln = (i) => !!i && i.toLive !== void 0, bp = (i) => !!i && typeof i.toObject == "function", Sp = (i) => !!i && i.offsetX !== void 0 && "source" in i, Ms = (i) => !!i && "multiSelectionStacking" in i;
35675
35676
  function Gg(i) {
35676
35677
  let e = i && Hn(i), t = 0, n = 0;
35677
35678
  if (!i || !e) return { left: t, top: n };
@@ -35976,7 +35977,7 @@ Resulting to default behavior: removing object from previous canvas and adding t
35976
35977
  `);
35977
35978
  }
35978
35979
  _setSVGHeader(e, t) {
35979
- let n = t.width || `${this.width}`, s = t.height || `${this.height}`, r = ht.NUM_FRACTION_DIGITS, o = t.viewBox, a;
35980
+ let n = t.width || `${this.width}`, s = t.height || `${this.height}`, r = ut.NUM_FRACTION_DIGITS, o = t.viewBox, a;
35980
35981
  if (o) a = `viewBox="${o.x} ${o.y} ${o.width} ${o.height}" `;
35981
35982
  else if (this.svgViewportTransformation) {
35982
35983
  let l = this.viewportTransform;
@@ -36004,7 +36005,7 @@ ${t.toClipPathSVG(e.reviver)}</clipPath>
36004
36005
  }).join("");
36005
36006
  }
36006
36007
  createSVGFontFacesMarkup() {
36007
- let e = [], t = {}, n = ht.fontPaths;
36008
+ let e = [], t = {}, n = ut.fontPaths;
36008
36009
  this._objects.forEach(function r(o) {
36009
36010
  e.push(o), Ja(o) && o._objects.forEach(r);
36010
36011
  }), e.forEach((r) => {
@@ -36282,7 +36283,7 @@ const E1 = (i) => {
36282
36283
  }
36283
36284
  return e;
36284
36285
  }, Rs = (i, e = 16) => {
36285
- let t = /\D{0,2}$/.exec(i), n = parseFloat(i), s = ht.DPI;
36286
+ let t = /\D{0,2}$/.exec(i), n = parseFloat(i), s = ut.DPI;
36286
36287
  switch (t?.[0]) {
36287
36288
  case "mm":
36288
36289
  return n * s / 25.4;
@@ -36374,7 +36375,7 @@ var wo = class Qa {
36374
36375
  return [this.offsetX, this.offsetY, this.blur, this.color].join("px ");
36375
36376
  }
36376
36377
  toSVG(e) {
36377
- let t = sd(new K(this.offsetX, this.offsetY), Dt(-e.angle)), n = ht.NUM_FRACTION_DIGITS, s = new Kn(this.color), r = 40, o = 40;
36378
+ let t = sd(new K(this.offsetX, this.offsetY), Dt(-e.angle)), n = ut.NUM_FRACTION_DIGITS, s = new Kn(this.color), r = 40, o = 40;
36378
36379
  return e.width && e.height && (r = 100 * yt((Math.abs(t.x) + this.blur) / e.width, n) + 20, o = 100 * yt((Math.abs(t.y) + this.blur) / e.height, n) + 20), e.flipX && (t.x *= -1), e.flipY && (t.y *= -1), `<filter id="SVGID_${$e(this.id)}" y="-${o}%" height="${100 + 2 * o}%" x="-${r}%" width="${100 + 2 * r}%" >
36379
36380
  <feGaussianBlur in="SourceAlpha" stdDeviation="${yt(this.blur ? this.blur / 2 : 0, n)}"></feGaussianBlur>
36380
36381
  <feOffset dx="${yt(t.x, n)}" dy="${yt(t.y, n)}" result="oBlur" ></feOffset>
@@ -36755,8 +36756,8 @@ var Co = class jt {
36755
36756
  this._cacheCanvas = ci(), this._cacheContext = this._cacheCanvas.getContext("2d"), this._updateCacheCanvas(), this.dirty = !0;
36756
36757
  }
36757
36758
  _limitCacheSize(e) {
36758
- let t = e.width, n = e.height, s = ht.maxCacheSideLimit, r = ht.minCacheSideLimit;
36759
- if (t <= s && n <= s && t * n <= ht.perfLimitSizeTotal) return t < r && (e.width = r), n < r && (e.height = r), e;
36759
+ let t = e.width, n = e.height, s = ut.maxCacheSideLimit, r = ut.minCacheSideLimit;
36760
+ if (t <= s && n <= s && t * n <= ut.perfLimitSizeTotal) return t < r && (e.width = r), n < r && (e.height = r), e;
36760
36761
  let o = t / n, [a, l] = Mo.limitDimsByArea(o), c = Ns(r, a, s), h = Ns(r, l, s);
36761
36762
  return t > c && (e.zoomX /= t / c, e.width = c, e.capped = !0), n > h && (e.zoomY /= n / h, e.height = h, e.capped = !0), e;
36762
36763
  }
@@ -36893,7 +36894,7 @@ var Co = class jt {
36893
36894
  _setShadow(e) {
36894
36895
  if (!this.shadow) return;
36895
36896
  let t = this.shadow, n = this.canvas, s = this.getCanvasRetinaScaling(), [r, , , o] = n?.viewportTransform || an, a = r * s, l = o * s, c = t.nonScaling ? new K(1, 1) : this.getObjectScaling();
36896
- e.shadowColor = t.color, e.shadowBlur = t.blur * ht.browserShadowBlurConstant * (a + l) * (c.x + c.y) / 4, e.shadowOffsetX = t.offsetX * a * c.x, e.shadowOffsetY = t.offsetY * l * c.y;
36897
+ e.shadowColor = t.color, e.shadowBlur = t.blur * ut.browserShadowBlurConstant * (a + l) * (c.x + c.y) / 4, e.shadowOffsetX = t.offsetX * a * c.x, e.shadowOffsetY = t.offsetY * l * c.y;
36897
36898
  }
36898
36899
  _removeShadow(e) {
36899
36900
  this.shadow && (e.shadowColor = "", e.shadowBlur = e.shadowOffsetX = e.shadowOffsetY = 0);
@@ -37037,7 +37038,7 @@ var Co = class jt {
37037
37038
  return o > -1 && o > a;
37038
37039
  }
37039
37040
  toObject(e = []) {
37040
- let t = e.concat(el.customProperties, this.constructor.customProperties || []), n, s = ht.NUM_FRACTION_DIGITS, { clipPath: r, fill: o, stroke: a, shadow: l, strokeDashArray: c, left: h, top: u, originX: d, originY: f, width: m, height: x, strokeWidth: g, strokeLineCap: p, strokeDashOffset: b, strokeLineJoin: M, strokeUniform: w, strokeMiterLimit: A, scaleX: E, scaleY: D, angle: I, flipX: v, flipY: y, opacity: R, visible: L, backgroundColor: F, fillRule: k, paintFirst: j, globalCompositeOperation: W, skewX: re, skewY: V } = this;
37041
+ let t = e.concat(el.customProperties, this.constructor.customProperties || []), n, s = ut.NUM_FRACTION_DIGITS, { clipPath: r, fill: o, stroke: a, shadow: l, strokeDashArray: c, left: h, top: u, originX: d, originY: f, width: m, height: x, strokeWidth: g, strokeLineCap: p, strokeDashOffset: b, strokeLineJoin: M, strokeUniform: w, strokeMiterLimit: A, scaleX: E, scaleY: D, angle: I, flipX: v, flipY: y, opacity: R, visible: L, backgroundColor: F, fillRule: k, paintFirst: j, globalCompositeOperation: W, skewX: re, skewY: V } = this;
37041
37042
  r && !r.excludeFromExport && (n = r.toObject(t.concat("inverted", "absolutePositioned")));
37042
37043
  let ee = (ge) => yt(ge, s), ne = { ...zs(this, t), type: this.constructor.type, version: qh, originX: d, originY: f, left: ee(h), top: ee(u), width: ee(m), height: ee(x), fill: bp(o) ? o.toObject() : o, stroke: bp(a) ? a.toObject() : a, strokeWidth: ee(g), strokeDashArray: c && c.concat(), strokeLineCap: p, strokeDashOffset: b, strokeLineJoin: M, strokeUniform: w, strokeMiterLimit: ee(A), scaleX: ee(E), scaleY: ee(D), angle: ee(I), flipX: v, flipY: y, opacity: ee(R), shadow: l && l.toObject(), visible: L, backgroundColor: F, fillRule: k, paintFirst: j, globalCompositeOperation: W, skewX: ee(re), skewY: ee(V), ...n ? { clipPath: n } : null };
37043
37044
  return this.includeDefaultValues ? ne : this._removeDefaultValues(ne);
@@ -37973,7 +37974,7 @@ const NA = (i, e) => i && i.length === 1 ? i[0] : new Ki(i, e), z0 = (i, e) => M
37973
37974
  };
37974
37975
  function lu(i, e, t, n, s, r, o, a) {
37975
37976
  let l;
37976
- if (ht.cachesBoundsOfCurve && (l = [...arguments].join(), Mo.boundsOfCurveCache[l])) return Mo.boundsOfCurveCache[l];
37977
+ if (ut.cachesBoundsOfCurve && (l = [...arguments].join(), Mo.boundsOfCurveCache[l])) return Mo.boundsOfCurveCache[l];
37977
37978
  let c = Math.sqrt, h = Math.abs, u = [], d = [[0, 0], [0, 0]], f = 6 * i - 12 * t + 6 * s, m = -3 * i + 9 * t - 9 * s + 3 * o, x = 3 * t - 3 * i;
37978
37979
  for (let w = 0; w < 2; ++w) {
37979
37980
  if (w > 0 && (f = 6 * e - 12 * n + 6 * r, m = -3 * e + 9 * n - 9 * r + 3 * a, x = 3 * n - 3 * e), h(m) < 1e-12) {
@@ -37996,7 +37997,7 @@ function lu(i, e, t, n, s, r, o, a) {
37996
37997
  }
37997
37998
  d[0][p] = i, d[1][p] = e, d[0][p + 1] = o, d[1][p + 1] = a;
37998
37999
  let M = [new K(Math.min(...d[0]), Math.min(...d[1])), new K(Math.max(...d[0]), Math.max(...d[1]))];
37999
- return ht.cachesBoundsOfCurve && (Mo.boundsOfCurveCache[l] = M), M;
38000
+ return ut.cachesBoundsOfCurve && (Mo.boundsOfCurveCache[l] = M), M;
38000
38001
  }
38001
38002
  const HA = (i, e, [t, n, s, r, o, a, l, c]) => {
38002
38003
  let h = ((u, d, f, m, x, g, p) => {
@@ -39054,7 +39055,7 @@ var Uc = class {
39054
39055
  }
39055
39056
  toObject(i = []) {
39056
39057
  let { repeat: e, crossOrigin: t } = this;
39057
- return { ...zs(this, i), type: "pattern", source: this.sourceToString(), repeat: e, crossOrigin: t, offsetX: yt(this.offsetX, ht.NUM_FRACTION_DIGITS), offsetY: yt(this.offsetY, ht.NUM_FRACTION_DIGITS), patternTransform: this.patternTransform ? [...this.patternTransform] : null };
39058
+ return { ...zs(this, i), type: "pattern", source: this.sourceToString(), repeat: e, crossOrigin: t, offsetX: yt(this.offsetX, ut.NUM_FRACTION_DIGITS), offsetY: yt(this.offsetY, ut.NUM_FRACTION_DIGITS), patternTransform: this.patternTransform ? [...this.patternTransform] : null };
39058
39059
  }
39059
39060
  toSVG({ width: i, height: e }) {
39060
39061
  let { source: t, repeat: n, id: s } = this, r = ur(this.offsetX / i, 0), o = ur(this.offsetY / e, 0), a = n === "repeat-y" || n === "no-repeat" ? 1 + Math.abs(r || 0) : ur(t.width / i, 0), l = n === "repeat-x" || n === "no-repeat" ? 1 + Math.abs(o || 0) : ur(t.height / e, 0);
@@ -39112,11 +39113,11 @@ var bs = class hx extends Qt {
39112
39113
  return this.sourcePath && (delete t.path, t.sourcePath = this.sourcePath), t;
39113
39114
  }
39114
39115
  _toSVG() {
39115
- return ["<path ", "COMMON_PARTS", `d="${q0(this.path, ht.NUM_FRACTION_DIGITS)}" stroke-linecap="round" />
39116
+ return ["<path ", "COMMON_PARTS", `d="${q0(this.path, ut.NUM_FRACTION_DIGITS)}" stroke-linecap="round" />
39116
39117
  `];
39117
39118
  }
39118
39119
  _getOffsetTransform() {
39119
- let e = ht.NUM_FRACTION_DIGITS;
39120
+ let e = ut.NUM_FRACTION_DIGITS;
39120
39121
  return ` translate(${yt(-this.pathOffset.x, e)}, ${yt(-this.pathOffset.y, e)})`;
39121
39122
  }
39122
39123
  toClipPathSVG(e) {
@@ -39387,7 +39388,7 @@ var Gi = class gu extends Qt {
39387
39388
  return { ...super.toObject(e), points: this.points.map(({ x: t, y: n }) => ({ x: t, y: n })) };
39388
39389
  }
39389
39390
  _toSVG() {
39390
- let e = this.pathOffset.x, t = this.pathOffset.y, n = ht.NUM_FRACTION_DIGITS, s = this.points.map(({ x: r, y: o }) => `${yt(r - e, n)},${yt(o - t, n)}`).join(" ");
39391
+ let e = this.pathOffset.x, t = this.pathOffset.y, n = ut.NUM_FRACTION_DIGITS, s = this.points.map(({ x: r, y: o }) => `${yt(r - e, n)},${yt(o - t, n)}`).join(" ");
39391
39392
  return [`<${$e(this.constructor.type).toLowerCase()} `, "COMMON_PARTS", `points="${s}" />
39392
39393
  `];
39393
39394
  }
@@ -39506,7 +39507,7 @@ var mx = class extends Qt {
39506
39507
  N(mx, "_styleProperties", T1);
39507
39508
  const mP = / +/g, gP = /"/g;
39508
39509
  function Bc(i, e, t, n, s) {
39509
- return ` ${((r, { left: o, top: a, width: l, height: c }, h = ht.NUM_FRACTION_DIGITS) => {
39510
+ return ` ${((r, { left: o, top: a, width: l, height: c }, h = ut.NUM_FRACTION_DIGITS) => {
39510
39511
  let u = ko(gn, r, !1), [d, f, m, x] = [o, a, l, c].map((g) => yt(g, h));
39511
39512
  return `<rect ${u} x="${d}" y="${f}" width="${m}" height="${x}"></rect>`;
39512
39513
  })(i, { left: e, top: t, width: n, height: s })}
@@ -39848,7 +39849,7 @@ N(ei, "textLayoutProperties", o0), N(ei, "cacheProperties", [...Li, ...a0]), N(e
39848
39849
  return { textSpans: t, textBgRects: n };
39849
39850
  }
39850
39851
  _createTextCharSpan(i, e, t, n, s) {
39851
- let r = ht.NUM_FRACTION_DIGITS, o = this.getSvgSpanStyles(e, i !== i.trim() || !!i.match(mP)), a = o ? `style="${o}"` : "", l = e.deltaY, c = l ? ` dy="${yt(l, r)}" ` : "", { angle: h, renderLeft: u, renderTop: d, width: f } = s, m = "";
39852
+ let r = ut.NUM_FRACTION_DIGITS, o = this.getSvgSpanStyles(e, i !== i.trim() || !!i.match(mP)), a = o ? `style="${o}"` : "", l = e.deltaY, c = l ? ` dy="${yt(l, r)}" ` : "", { angle: h, renderLeft: u, renderTop: d, width: f } = s, m = "";
39852
39853
  if (u !== void 0) {
39853
39854
  let x = f / 2;
39854
39855
  h && (m = ` rotate="${yt(Pi(h), r)}"`);
@@ -39874,11 +39875,11 @@ N(ei, "textLayoutProperties", o0), N(ei, "cacheProperties", [...Li, ...a0]), N(e
39874
39875
  }
39875
39876
  getSvgStyles(i) {
39876
39877
  let e = this.textDecorationColor ? ` text-decoration-color: ${$e(this[Gl])};` : "";
39877
- return `${super.getSvgStyles(i)} text-decoration-thickness: ${yt(this.textDecorationThickness * this.getObjectScaling().y / 10, ht.NUM_FRACTION_DIGITS)}%;${e} white-space: pre;`;
39878
+ return `${super.getSvgStyles(i)} text-decoration-thickness: ${yt(this.textDecorationThickness * this.getObjectScaling().y / 10, ut.NUM_FRACTION_DIGITS)}%;${e} white-space: pre;`;
39878
39879
  }
39879
39880
  getSvgSpanStyles(i, e) {
39880
39881
  let { fontFamily: t, strokeWidth: n, stroke: s, fill: r, fontSize: o, fontStyle: a, fontWeight: l, textDecorationThickness: c, textDecorationColor: h, linethrough: u, overline: d, underline: f } = i, m = this.getSvgTextDecoration({ underline: f ?? this.underline, overline: d ?? this.overline, linethrough: u ?? this.linethrough }), x = c || this.textDecorationThickness, g = h || this.textDecorationColor;
39881
- return [s ? ko(Ai, s) : "", n ? `stroke-width: ${$e(n)}; ` : "", t ? `font-family: ${t.includes("'") || t.includes('"') ? $e(t) : `'${$e(t)}'`}; ` : "", o ? `font-size: ${$e(o)}px; ` : "", a ? `font-style: ${$e(a)}; ` : "", l ? `font-weight: ${$e(l)}; ` : "", m ? `text-decoration: ${m}; text-decoration-thickness: ${yt(x * this.getObjectScaling().y / 10, ht.NUM_FRACTION_DIGITS)}%;${g ? ` text-decoration-color: ${$e(g)};` : ""} ` : "", r ? ko(gn, r) : "", e ? "white-space: pre; " : ""].join("");
39882
+ return [s ? ko(Ai, s) : "", n ? `stroke-width: ${$e(n)}; ` : "", t ? `font-family: ${t.includes("'") || t.includes('"') ? $e(t) : `'${$e(t)}'`}; ` : "", o ? `font-size: ${$e(o)}px; ` : "", a ? `font-style: ${$e(a)}; ` : "", l ? `font-weight: ${$e(l)}; ` : "", m ? `text-decoration: ${m}; text-decoration-thickness: ${yt(x * this.getObjectScaling().y / 10, ut.NUM_FRACTION_DIGITS)}%;${g ? ` text-decoration-color: ${$e(g)};` : ""} ` : "", r ? ko(gn, r) : "", e ? "white-space: pre; " : ""].join("");
39882
39883
  }
39883
39884
  getSvgTextDecoration(i) {
39884
39885
  return ["overline", "underline", "line-through"].filter((e) => i[e.replace("-", "")]).join(" ");
@@ -40240,7 +40241,7 @@ var yP = class extends ei {
40240
40241
  let M = o.slice(p.selectionEnd - g, p.selectionEnd);
40241
40242
  if (f && f.length && (M.length && (d = this.getSelectionStyles(c, c + 1, !1), d = M.map(() => d[0])), u ? (m = c, x = h) : b ? (m = h - f.length, x = h) : (m = h, x = h + f.length), this.removeStyleFromTo(m, x)), M.length) {
40242
40243
  let { copyPasteData: w } = li();
40243
- e && M.join("") === w.copiedText && !ht.disableStyleCopyPaste && (d = w.copiedTextStyle), this.insertNewStyleBlock(M, c, d);
40244
+ e && M.join("") === w.copiedText && !ut.disableStyleCopyPaste && (d = w.copiedTextStyle), this.insertNewStyleBlock(M, c, d);
40244
40245
  }
40245
40246
  r();
40246
40247
  }
@@ -40257,7 +40258,7 @@ var yP = class extends ei {
40257
40258
  copy() {
40258
40259
  if (this.selectionStart === this.selectionEnd) return;
40259
40260
  let { copyPasteData: i } = li();
40260
- i.copiedText = this.getSelectedText(), ht.disableStyleCopyPaste ? i.copiedTextStyle = void 0 : i.copiedTextStyle = this.getSelectionStyles(this.selectionStart, this.selectionEnd, !0), this._copyDone = !0;
40261
+ i.copiedText = this.getSelectedText(), ut.disableStyleCopyPaste ? i.copiedTextStyle = void 0 : i.copiedTextStyle = this.getSelectionStyles(this.selectionStart, this.selectionEnd, !0), this._copyDone = !0;
40261
40262
  }
40262
40263
  paste() {
40263
40264
  this.fromPaste = !0;
@@ -40800,7 +40801,7 @@ var SP = class {
40800
40801
  return a.width === t && a.height === n || (s.width = a.width, s.height = a.height), r.putImageData(a, 0, 0), o;
40801
40802
  }
40802
40803
  }, gx = class {
40803
- constructor({ tileSize: i = ht.textureSize } = {}) {
40804
+ constructor({ tileSize: i = ut.textureSize } = {}) {
40804
40805
  N(this, "aPosition", new Float32Array([0, 0, 0, 1, 1, 0, 1, 1])), N(this, "resources", {}), this.tileSize = i, this.setupGLContext(i, i), this.captureGPUInfo();
40805
40806
  }
40806
40807
  setupGLContext(i, e) {
@@ -40874,7 +40875,7 @@ var SP = class {
40874
40875
  let Hc;
40875
40876
  function wP() {
40876
40877
  let { WebGLProbe: i } = li();
40877
- return i.queryWebGL(ci()), ht.enableGLFiltering && i.isSupported(ht.textureSize) ? new gx({ tileSize: ht.textureSize }) : new SP();
40878
+ return i.queryWebGL(ci()), ut.enableGLFiltering && i.isSupported(ut.textureSize) ? new gx({ tileSize: ut.textureSize }) : new SP();
40878
40879
  }
40879
40880
  function Vc(i = !0) {
40880
40881
  return !Hc && i && (Hc = wP()), Hc;
@@ -42181,14 +42182,14 @@ const WP = [
42181
42182
  "#722ed1",
42182
42183
  "#eb2f96"
42183
42184
  ], jP = {
42184
- none: ft("/assets/icon/选择.svg", import.meta.url),
42185
- line: ft("/assets/icon/线.svg", import.meta.url),
42186
- arrow: ft("/assets/icon/箭头.svg", import.meta.url),
42187
- rect: ft("/assets/icon/矩形.svg", import.meta.url),
42188
- circle: ft("/assets/icon/圆形.svg", import.meta.url),
42189
- text: ft("/assets/icon/文字.svg", import.meta.url),
42190
- cloudline: ft("/assets/icon/云线.svg", import.meta.url)
42191
- }, XP = ft("/assets/icon/测距.svg", import.meta.url), YP = ft("/assets/icon/截图.svg", import.meta.url), $P = ft("/assets/icon/线宽.svg", import.meta.url), qP = ft("/assets/icon/字号.svg", import.meta.url), KP = `data:image/svg+xml;utf8,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2l4 8-4 12-4-12 4-8z" fill="#1677ff"/><circle cx="12" cy="10" r="2.5" fill="#fff"/></svg>')}`, ZP = [
42185
+ none: ht("/assets/icon/选择.svg", import.meta.url),
42186
+ line: ht("/assets/icon/线.svg", import.meta.url),
42187
+ arrow: ht("/assets/icon/箭头.svg", import.meta.url),
42188
+ rect: ht("/assets/icon/矩形.svg", import.meta.url),
42189
+ circle: ht("/assets/icon/圆形.svg", import.meta.url),
42190
+ text: ht("/assets/icon/文字.svg", import.meta.url),
42191
+ cloudline: ht("/assets/icon/云线.svg", import.meta.url)
42192
+ }, XP = ht("/assets/icon/测距.svg", import.meta.url), YP = ht("/assets/icon/截图.svg", import.meta.url), $P = ht("/assets/icon/线宽.svg", import.meta.url), qP = ht("/assets/icon/字号.svg", import.meta.url), KP = `data:image/svg+xml;utf8,${encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2l4 8-4 12-4-12 4-8z" fill="#1677ff"/><circle cx="12" cy="10" r="2.5" fill="#fff"/></svg>')}`, ZP = [
42192
42193
  { type: "distance", label: "距离" },
42193
42194
  { type: "clearDistance", label: "净距" },
42194
42195
  { type: "clearHeight", label: "净高" },
@@ -42198,14 +42199,14 @@ const WP = [
42198
42199
  { type: "area", label: "面积" },
42199
42200
  { type: "slope", label: "坡度" }
42200
42201
  ], JP = {
42201
- distance: ft("/assets/icon/距离.svg", import.meta.url),
42202
- clearDistance: ft("/assets/icon/净距.svg", import.meta.url),
42203
- clearHeight: ft("/assets/icon/净高.svg", import.meta.url),
42204
- elevation: ft("/assets/icon/标高.svg", import.meta.url),
42205
- point: ft("/assets/icon/坐标.svg", import.meta.url),
42206
- angle: ft("/assets/icon/角度.svg", import.meta.url),
42207
- area: ft("/assets/icon/面积.svg", import.meta.url),
42208
- slope: ft("/assets/icon/坡度.svg", import.meta.url)
42202
+ distance: ht("/assets/icon/距离.svg", import.meta.url),
42203
+ clearDistance: ht("/assets/icon/净距.svg", import.meta.url),
42204
+ clearHeight: ht("/assets/icon/净高.svg", import.meta.url),
42205
+ elevation: ht("/assets/icon/标高.svg", import.meta.url),
42206
+ point: ht("/assets/icon/坐标.svg", import.meta.url),
42207
+ angle: ht("/assets/icon/角度.svg", import.meta.url),
42208
+ area: ht("/assets/icon/面积.svg", import.meta.url),
42209
+ slope: ht("/assets/icon/坡度.svg", import.meta.url)
42209
42210
  };
42210
42211
  class QP {
42211
42212
  constructor(e, t) {