shop-components 0.4.4 → 0.4.5

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.
@@ -10,7 +10,7 @@ var H = (o, e, t) => (rr(o, e, "read from private field"), t ? t.call(o) : e.get
10
10
  e instanceof WeakSet ? e.add(o) : e.set(o, t);
11
11
  }, Ie = (o, e, t, i) => (rr(o, e, "write to private field"), i ? i.call(o, t) : e.set(o, t), t);
12
12
  import * as k from "three";
13
- import { BufferAttribute as fe, BufferGeometry as le, Matrix4 as J, Matrix3 as un, Vector3 as b, Vector4 as it, MeshBasicMaterial as ni, Mesh as X, ShaderMaterial as kt, NoBlending as ri, WebGLRenderTarget as Be, FloatType as pe, RGBAFormat as te, NearestFilter as ee, Vector2 as z, PerspectiveCamera as Ni, DataUtils as ke, DataTexture as Oe, HalfFloatType as Se, LinearFilter as Te, RepeatWrapping as et, RedFormat as ys, ClampToEdgeWrapping as He, Source as jn, Quaternion as hn, DataArrayTexture as Qn, DoubleSide as oi, BackSide as fn, FrontSide as xs, Color as K, WebGLArrayRenderTarget as Yn, UnsignedByteType as Vs, NoToneMapping as Zn, RGFormat as Xn, NormalBlending as dn, Spherical as Kn, EquirectangularReflectionMapping as ki, LinearMipMapLinearFilter as Jn, Clock as Gi, Scene as ws, AdditiveBlending as $n, Box3 as Y, Sphere as qi, CompressedTexture as eo, Texture as Qe, InterleavedBuffer as to, InterleavedBufferAttribute as io, TextureLoader as pn, MeshStandardMaterial as so, Group as ge, LineSegments as bs, LineBasicMaterial as nr, Object3D as Bt, LineDashedMaterial as As, RingGeometry as or, BoxGeometry as ro, EdgesGeometry as no, SRGBColorSpace as Bi, AnimationMixer as ar, LoopOnce as oo, Plane as Ns, Line3 as ze, Triangle as Kt, MathUtils as Ye, DirectionalLight as ao, NoColorSpace as lr, PlaneGeometry as Oi, MeshLambertMaterial as lo, DirectionalLightHelper as co, PlaneHelper as uo, UniformsUtils as ho, WebGLRenderer as fo, OrthographicCamera as Ts, Raycaster as po, MeshPhysicalMaterial as mo, ACESFilmicToneMapping as go, Euler as vo } from "three";
13
+ import { BufferAttribute as fe, BufferGeometry as le, Matrix4 as J, Matrix3 as un, Vector3 as b, Vector4 as it, MeshBasicMaterial as ni, Mesh as X, ShaderMaterial as kt, NoBlending as ri, WebGLRenderTarget as Be, FloatType as pe, RGBAFormat as te, NearestFilter as ee, Vector2 as z, PerspectiveCamera as Gi, DataUtils as ke, DataTexture as Oe, HalfFloatType as Se, LinearFilter as Te, RepeatWrapping as et, RedFormat as xs, ClampToEdgeWrapping as He, Source as jn, Quaternion as hn, DataArrayTexture as Qn, DoubleSide as oi, BackSide as fn, FrontSide as ws, Color as K, WebGLArrayRenderTarget as Yn, UnsignedByteType as Vs, NoToneMapping as Zn, RGFormat as Xn, NormalBlending as dn, Spherical as Kn, EquirectangularReflectionMapping as ki, LinearMipMapLinearFilter as Jn, Clock as qi, Scene as bs, AdditiveBlending as $n, Box3 as Y, Sphere as ji, CompressedTexture as eo, Texture as Qe, InterleavedBuffer as to, InterleavedBufferAttribute as io, TextureLoader as pn, MeshStandardMaterial as so, Group as ge, LineSegments as As, LineBasicMaterial as nr, Object3D as Bt, LineDashedMaterial as Ts, RingGeometry as or, BoxGeometry as ro, EdgesGeometry as no, SRGBColorSpace as Bi, AnimationMixer as ar, LoopOnce as oo, Plane as Ns, Line3 as ze, Triangle as Kt, MathUtils as Ye, DirectionalLight as ao, NoColorSpace as lr, PlaneGeometry as Oi, MeshLambertMaterial as lo, DirectionalLightHelper as co, PlaneHelper as uo, UniformsUtils as ho, WebGLRenderer as fo, OrthographicCamera as Ss, Raycaster as po, MeshPhysicalMaterial as mo, ACESFilmicToneMapping as go, Euler as vo } from "three";
14
14
  import { HDRLoader as cr } from "three/examples/jsm/loaders/HDRLoader.js";
15
15
  import { OrbitControls as _o } from "three/examples/jsm/controls/OrbitControls";
16
16
  import { CSS2DObject as Ue, CSS2DRenderer as yo } from "three/examples/jsm/renderers/CSS2DRenderer";
@@ -22,14 +22,14 @@ import { GLTFLoader as Ao } from "three/examples/jsm/loaders/GLTFLoader";
22
22
  import { DRACOLoader as To } from "three/examples/jsm/loaders/DRACOLoader";
23
23
  import { DRACOExporter as So } from "three/examples/jsm/exporters/DRACOExporter";
24
24
  import { GLTFExporter as Mo } from "three/examples/jsm/exporters/GLTFExporter";
25
- import * as Ki from "three/examples/jsm/utils/SkeletonUtils.js";
25
+ import * as Ji from "three/examples/jsm/utils/SkeletonUtils.js";
26
26
  import { Line2 as Co } from "three/examples/jsm/lines/Line2.js";
27
27
  import { LineMaterial as Io } from "three/examples/jsm/lines/LineMaterial.js";
28
28
  import { LineGeometry as ur } from "three/examples/jsm/lines/LineGeometry.js";
29
29
  import { CSS3DObject as Ro } from "three/examples/jsm/renderers/CSS3DRenderer";
30
30
  import "three/examples/jsm/utils/BufferGeometryUtils";
31
31
  import { FullScreenQuad as ci } from "three/examples/jsm/postprocessing/Pass";
32
- import { SAH as Do, MeshBVH as Po, FloatVertexAttributeTexture as Eo, MeshBVHUniformStruct as Lo, UIntVertexAttributeTexture as Fo, BVHShaderGLSL as Ji } from "three-mesh-bvh";
32
+ import { SAH as Do, MeshBVH as Po, FloatVertexAttributeTexture as Eo, MeshBVHUniformStruct as Lo, UIntVertexAttributeTexture as Fo, BVHShaderGLSL as $i } from "three-mesh-bvh";
33
33
  import { FullScreenQuad as Et } from "three/examples/jsm/postprocessing/Pass.js";
34
34
  function mn(o, e, t = 0) {
35
35
  if (o.isInterleavedBufferAttribute) {
@@ -222,7 +222,7 @@ class Vo {
222
222
  return !(this.matrixWorld.equals(e.matrixWorld) && this.geometryHash === hr(t) && this.skeletonHash === fr(e) && this.primitiveCount === i);
223
223
  }
224
224
  }
225
- const rt = /* @__PURE__ */ new b(), nt = /* @__PURE__ */ new b(), ot = /* @__PURE__ */ new b(), dr = /* @__PURE__ */ new it(), ui = /* @__PURE__ */ new b(), $i = /* @__PURE__ */ new b(), pr = /* @__PURE__ */ new it(), mr = /* @__PURE__ */ new it(), hi = /* @__PURE__ */ new J(), gr = /* @__PURE__ */ new J();
225
+ const rt = /* @__PURE__ */ new b(), nt = /* @__PURE__ */ new b(), ot = /* @__PURE__ */ new b(), dr = /* @__PURE__ */ new it(), ui = /* @__PURE__ */ new b(), es = /* @__PURE__ */ new b(), pr = /* @__PURE__ */ new it(), mr = /* @__PURE__ */ new it(), hi = /* @__PURE__ */ new J(), gr = /* @__PURE__ */ new J();
226
226
  function vr(o, e, t) {
227
227
  const i = o.skeleton, s = o.geometry, a = i.bones, n = i.boneInverses;
228
228
  pr.fromBufferAttribute(s.attributes.skinIndex, e), mr.fromBufferAttribute(s.attributes.skinWeight, e), hi.elements.fill(0);
@@ -235,11 +235,11 @@ function vr(o, e, t) {
235
235
  }
236
236
  return hi.multiply(o.bindMatrix).premultiply(o.bindMatrixInverse), t.transformDirection(hi), t;
237
237
  }
238
- function es(o, e, t, i, s) {
238
+ function ts(o, e, t, i, s) {
239
239
  ui.set(0, 0, 0);
240
240
  for (let a = 0, n = o.length; a < n; a++) {
241
241
  const c = e[a], u = o[a];
242
- c !== 0 && ($i.fromBufferAttribute(u, i), t ? ui.addScaledVector($i, c) : ui.addScaledVector($i.sub(s), c));
242
+ c !== 0 && (es.fromBufferAttribute(u, i), t ? ui.addScaledVector(es, c) : ui.addScaledVector(es.sub(s), c));
243
243
  }
244
244
  s.add(ui);
245
245
  }
@@ -279,7 +279,7 @@ function qo(o, e = {}, t = new le()) {
279
279
  const f = c.position, d = a ? c.normal : null, r = n ? c.tangent : null, l = i.morphAttributes.position, h = i.morphAttributes.normal, m = i.morphAttributes.tangent, v = i.morphTargetsRelative, p = o.morphTargetInfluences, g = new un();
280
280
  g.getNormalMatrix(o.matrixWorld), i.index && t.index.array.set(i.index.array);
281
281
  for (let _ = 0, y = c.position.count; _ < y; _++)
282
- rt.fromBufferAttribute(f, _), d && nt.fromBufferAttribute(d, _), r && (dr.fromBufferAttribute(r, _), ot.fromBufferAttribute(r, _)), p && (l && es(l, p, v, _, rt), h && es(h, p, v, _, nt), m && es(m, p, v, _, ot)), o.isSkinnedMesh && (o.applyBoneTransform(_, rt), d && vr(o, _, nt), r && vr(o, _, ot)), s && rt.applyMatrix4(o.matrixWorld), u.position.setXYZ(_, rt.x, rt.y, rt.z), d && (s && nt.applyNormalMatrix(g), u.normal.setXYZ(_, nt.x, nt.y, nt.z)), r && (s && ot.transformDirection(o.matrixWorld), u.tangent.setXYZW(_, ot.x, ot.y, ot.z, dr.w));
282
+ rt.fromBufferAttribute(f, _), d && nt.fromBufferAttribute(d, _), r && (dr.fromBufferAttribute(r, _), ot.fromBufferAttribute(r, _)), p && (l && ts(l, p, v, _, rt), h && ts(h, p, v, _, nt), m && ts(m, p, v, _, ot)), o.isSkinnedMesh && (o.applyBoneTransform(_, rt), d && vr(o, _, nt), r && vr(o, _, ot)), s && rt.applyMatrix4(o.matrixWorld), u.position.setXYZ(_, rt.x, rt.y, rt.z), d && (s && nt.applyNormalMatrix(g), u.normal.setXYZ(_, nt.x, nt.y, nt.z)), r && (s && ot.transformDirection(o.matrixWorld), u.tangent.setXYZW(_, ot.x, ot.y, ot.z, dr.w));
283
283
  for (const _ in e.attributes) {
284
284
  const y = e.attributes[_];
285
285
  y === "position" || y === "tangent" || y === "normal" || !(y in c) || (u[y] || t.setAttribute(y, Jt(c[y])), St(c[y], u[y]), mn(c[y], u[y]));
@@ -306,7 +306,7 @@ class jo extends le {
306
306
  return i.didChange(e) ? (qo(e, t, this), i.updateFrom(e), this.version++, this.hash = `${this.uuid}_${this.version}`, !0) : !1;
307
307
  }
308
308
  }
309
- const Ss = 0, gn = 1, vn = 2;
309
+ const Ms = 0, gn = 1, vn = 2;
310
310
  function Qo(o, e) {
311
311
  for (let t = 0, i = o.length; t < i; t++)
312
312
  o[t].traverseVisible((a) => {
@@ -384,7 +384,7 @@ class Xo {
384
384
  version: l.version,
385
385
  uuid: l.uuid
386
386
  })));
387
- let r = Ss;
387
+ let r = Ms;
388
388
  return d ? r = vn : c.includes(!1) && (r = gn), {
389
389
  changeType: r,
390
390
  materials: Yo(n),
@@ -444,7 +444,7 @@ class $o {
444
444
  });
445
445
  });
446
446
  const n = t.generate(i), c = n.materials, u = Ko(c), { lights: f, iesTextures: d } = Jo(a);
447
- if (n.changeType !== Ss && Ho(i, c, c), this.generateBVH) {
447
+ if (n.changeType !== Ms && Ho(i, c, c), this.generateBVH) {
448
448
  if (this.bvh instanceof Promise)
449
449
  throw new Error("PathTracingSceneGenerator: BVH is already building asynchronously.");
450
450
  if (n.changeType === vn) {
@@ -460,7 +460,7 @@ class $o {
460
460
  n.changeType === gn && this.bvh.refit();
461
461
  }
462
462
  return {
463
- bvhChanged: n.changeType !== Ss,
463
+ bvhChanged: n.changeType !== Ms,
464
464
  bvh: this.bvh,
465
465
  lights: f,
466
466
  iesTextures: d,
@@ -827,7 +827,7 @@ class ra {
827
827
  return a.material.resolution.set(t, t), a.render(e), e.setRenderTarget(s), a.dispose(), i;
828
828
  }
829
829
  }
830
- class na extends Ni {
830
+ class na extends Gi {
831
831
  set bokehSize(e) {
832
832
  this.fStop = this.getFocalLength() / e;
833
833
  }
@@ -849,7 +849,7 @@ class oa {
849
849
  e instanceof na ? (this.bokehSize = e.bokehSize, this.apertureBlades = e.apertureBlades, this.apertureRotation = e.apertureRotation, this.focusDistance = e.focusDistance, this.anamorphicRatio = e.anamorphicRatio) : (this.bokehSize = 0, this.apertureRotation = 0, this.apertureBlades = 0, this.focusDistance = 10, this.anamorphicRatio = 1);
850
850
  }
851
851
  }
852
- function ts(o) {
852
+ function is(o) {
853
853
  const e = new Uint16Array(o.length);
854
854
  for (let t = 0, i = o.length; t < i; ++t)
855
855
  e[t] = ke.toHalfFloat(o[t]);
@@ -895,12 +895,12 @@ function la(o, e = Se) {
895
895
  }
896
896
  class ca {
897
897
  constructor() {
898
- const e = new Oe(ts(new Float32Array([0, 0, 0, 0])), 1, 1);
898
+ const e = new Oe(is(new Float32Array([0, 0, 0, 0])), 1, 1);
899
899
  e.type = Se, e.format = te, e.minFilter = Te, e.magFilter = Te, e.wrapS = et, e.wrapT = et, e.generateMipmaps = !1, e.needsUpdate = !0;
900
- const t = new Oe(ts(new Float32Array([0, 1])), 1, 2);
901
- t.type = Se, t.format = ys, t.minFilter = Te, t.magFilter = Te, t.generateMipmaps = !1, t.needsUpdate = !0;
902
- const i = new Oe(ts(new Float32Array([0, 0, 1, 1])), 2, 2);
903
- i.type = Se, i.format = ys, i.minFilter = Te, i.magFilter = Te, i.generateMipmaps = !1, i.needsUpdate = !0, this.map = e, this.marginalWeights = t, this.conditionalWeights = i, this.totalSum = 0;
900
+ const t = new Oe(is(new Float32Array([0, 1])), 1, 2);
901
+ t.type = Se, t.format = xs, t.minFilter = Te, t.magFilter = Te, t.generateMipmaps = !1, t.needsUpdate = !0;
902
+ const i = new Oe(is(new Float32Array([0, 0, 1, 1])), 2, 2);
903
+ i.type = Se, i.format = xs, i.minFilter = Te, i.magFilter = Te, i.generateMipmaps = !1, i.needsUpdate = !0, this.map = e, this.marginalWeights = t, this.conditionalWeights = i, this.totalSum = 0;
904
904
  }
905
905
  dispose() {
906
906
  this.marginalWeights.dispose(), this.conditionalWeights.dispose(), this.map.dispose();
@@ -939,20 +939,20 @@ class ca {
939
939
  m.image = { width: s, height: 1, data: l }, m.needsUpdate = !0, v.image = { width: i, height: s, data: h }, v.needsUpdate = !0, this.totalSum = d, this.map = t;
940
940
  }
941
941
  }
942
- const is = 6, ua = 0, ha = 1, fa = 2, da = 3, pa = 4, we = new b(), ne = new b(), yr = new J(), ft = new hn(), xr = new b(), dt = new b(), ma = new b(0, 1, 0);
942
+ const ss = 6, ua = 0, ha = 1, fa = 2, da = 3, pa = 4, we = new b(), ne = new b(), yr = new J(), ft = new hn(), xr = new b(), dt = new b(), ma = new b(0, 1, 0);
943
943
  class ga {
944
944
  constructor() {
945
945
  const e = new Oe(new Float32Array(4), 1, 1);
946
946
  e.format = te, e.type = pe, e.wrapS = He, e.wrapT = He, e.generateMipmaps = !1, e.minFilter = ee, e.magFilter = ee, this.tex = e, this.count = 0;
947
947
  }
948
948
  updateFrom(e, t = []) {
949
- const i = this.tex, s = Math.max(e.length * is, 1), a = Math.ceil(Math.sqrt(s));
949
+ const i = this.tex, s = Math.max(e.length * ss, 1), a = Math.ceil(Math.sqrt(s));
950
950
  i.image.width !== a && (i.dispose(), i.image.data = new Float32Array(a * a * 4), i.image.width = a, i.image.height = a);
951
951
  const n = i.image.data;
952
952
  for (let u = 0, f = e.length; u < f; u++) {
953
- const d = e[u], r = u * is * 4;
953
+ const d = e[u], r = u * ss * 4;
954
954
  let l = 0;
955
- for (let m = 0; m < is * 4; m++)
955
+ for (let m = 0; m < ss * 4; m++)
956
956
  n[r + m] = 0;
957
957
  d.getWorldPosition(ne), n[r + l++] = ne.x, n[r + l++] = ne.y, n[r + l++] = ne.z;
958
958
  let h = ua;
@@ -1056,13 +1056,13 @@ class _a extends va {
1056
1056
  function Qs(o, e) {
1057
1057
  return o.uuid < e.uuid ? 1 : o.uuid > e.uuid ? -1 : 0;
1058
1058
  }
1059
- function Ms(o) {
1059
+ function Cs(o) {
1060
1060
  return `${o.source.uuid}:${o.colorSpace}`;
1061
1061
  }
1062
1062
  function ya(o) {
1063
1063
  const e = /* @__PURE__ */ new Set(), t = [];
1064
1064
  for (let i = 0, s = o.length; i < s; i++) {
1065
- const a = o[i], n = Ms(a);
1065
+ const a = o[i], n = Cs(a);
1066
1066
  e.has(n) || (e.add(n), t.push(a));
1067
1067
  }
1068
1068
  return t;
@@ -1111,7 +1111,7 @@ class Ta extends Oe {
1111
1111
  updateFrom(e, t) {
1112
1112
  function i(m, v, p = -1) {
1113
1113
  if (v in m && m[v]) {
1114
- const g = Ms(m[v]);
1114
+ const g = Cs(m[v]);
1115
1115
  return r[g];
1116
1116
  } else
1117
1117
  return p;
@@ -1132,7 +1132,7 @@ class Ta extends Oe {
1132
1132
  let n = 0;
1133
1133
  const c = e.length * yn, u = Math.ceil(Math.sqrt(c)) || 1, { image: f, features: d } = this, r = {};
1134
1134
  for (let m = 0, v = t.length; m < v; m++)
1135
- r[Ms(t[m])] = m;
1135
+ r[Cs(t[m])] = m;
1136
1136
  f.width !== u && (this.dispose(), f.data = new Float32Array(u * u * 4), f.width = u, f.height = u);
1137
1137
  const l = f.data;
1138
1138
  d.reset();
@@ -1153,7 +1153,7 @@ class Ta extends Oe {
1153
1153
  l[n++] = 0;
1154
1154
  else
1155
1155
  switch (p.side) {
1156
- case xs:
1156
+ case ws:
1157
1157
  l[n++] = 1;
1158
1158
  break;
1159
1159
  case fn:
@@ -1473,7 +1473,7 @@ function Ba(o) {
1473
1473
  function Oa(o) {
1474
1474
  switch (o) {
1475
1475
  case 1:
1476
- return ys;
1476
+ return xs;
1477
1477
  case 2:
1478
1478
  return Xn;
1479
1479
  default:
@@ -4538,9 +4538,9 @@ class ul extends js {
4538
4538
  #include <common>
4539
4539
 
4540
4540
  // bvh intersection
4541
- ${Ji.common_functions}
4542
- ${Ji.bvh_struct_definitions}
4543
- ${Ji.bvh_ray_functions}
4541
+ ${$i.common_functions}
4542
+ ${$i.bvh_struct_definitions}
4543
+ ${$i.bvh_ray_functions}
4544
4544
 
4545
4545
  // uniform structs
4546
4546
  ${Ua}
@@ -5349,7 +5349,7 @@ class vl {
5349
5349
  return !!this._pathTracer.isCompiling;
5350
5350
  }
5351
5351
  constructor(e) {
5352
- this._renderer = e, this._generator = new $o(), this._pathTracer = new Ir(e), this._queueReset = !1, this._clock = new Gi(), this._compilePromise = null, this._lowResPathTracer = new Ir(e), this._lowResPathTracer.tiles.set(1, 1), this._quad = new Et(new pl({
5352
+ this._renderer = e, this._generator = new $o(), this._pathTracer = new Ir(e), this._queueReset = !1, this._clock = new qi(), this._compilePromise = null, this._lowResPathTracer = new Ir(e), this._lowResPathTracer.tiles.set(1, 1), this._quad = new Et(new pl({
5353
5353
  map: null,
5354
5354
  transparent: !0,
5355
5355
  blending: ri,
@@ -5359,7 +5359,7 @@ class vl {
5359
5359
  }, this.renderToCanvasCallback = (t, i, s) => {
5360
5360
  const a = i.autoClear;
5361
5361
  i.autoClear = !1, s.render(i), i.autoClear = a;
5362
- }, this.setScene(new ws(), new Ni());
5362
+ }, this.setScene(new bs(), new Gi());
5363
5363
  }
5364
5364
  setBVHWorker(e) {
5365
5365
  this._generator.setBVHWorker(e);
@@ -5473,8 +5473,8 @@ class vl {
5473
5473
  const _l = "";
5474
5474
  globalThis.GLTF_PROGRESSIVE_VERSION = _l;
5475
5475
  console.debug("[gltf-progressive] version -");
5476
- let Me = "https://www.gstatic.com/draco/versioned/decoders/1.5.7/", ji = "https://cdn.needle.tools/static/three/0.179.1/basis2/";
5477
- const yl = Me, xl = ji, wn = new URL(Me + "draco_decoder.js");
5476
+ let Me = "https://www.gstatic.com/draco/versioned/decoders/1.5.7/", Qi = "https://cdn.needle.tools/static/three/0.179.1/basis2/";
5477
+ const yl = Me, xl = Qi, wn = new URL(Me + "draco_decoder.js");
5478
5478
  wn.searchParams.append("range", "true");
5479
5479
  fetch(wn, {
5480
5480
  method: "GET",
@@ -5482,19 +5482,19 @@ fetch(wn, {
5482
5482
  Range: "bytes=0-1"
5483
5483
  }
5484
5484
  }).catch((o) => {
5485
- console.debug(`Failed to fetch remote Draco decoder from ${Me} (offline: ${typeof navigator < "u" ? navigator.onLine : "unknown"})`), Me === yl && bl("./include/draco/"), ji === xl && Al("./include/ktx2/");
5485
+ console.debug(`Failed to fetch remote Draco decoder from ${Me} (offline: ${typeof navigator < "u" ? navigator.onLine : "unknown"})`), Me === yl && bl("./include/draco/"), Qi === xl && Al("./include/ktx2/");
5486
5486
  }).finally(() => {
5487
5487
  An();
5488
5488
  });
5489
5489
  const wl = () => ({
5490
5490
  dracoDecoderPath: Me,
5491
- ktx2TranscoderPath: ji
5491
+ ktx2TranscoderPath: Qi
5492
5492
  });
5493
5493
  function bl(o) {
5494
- Me = o, he && he[Cs] != Me ? (console.debug("Updating Draco decoder path to " + o), he[Cs] = Me, he.setDecoderPath(Me), he.preload()) : console.debug("Setting Draco decoder path to " + o);
5494
+ Me = o, he && he[Is] != Me ? (console.debug("Updating Draco decoder path to " + o), he[Is] = Me, he.setDecoderPath(Me), he.preload()) : console.debug("Setting Draco decoder path to " + o);
5495
5495
  }
5496
5496
  function Al(o) {
5497
- ji = o;
5497
+ Qi = o;
5498
5498
  }
5499
5499
  function Ys(o) {
5500
5500
  return An(), { dracoLoader: he, meshoptDecoder: zi };
@@ -5502,26 +5502,26 @@ function Ys(o) {
5502
5502
  function bn(o) {
5503
5503
  o.dracoLoader || o.setDRACOLoader(he), o.meshoptDecoder || o.setMeshoptDecoder(zi);
5504
5504
  }
5505
- const Cs = Symbol("dracoDecoderPath");
5505
+ const Is = Symbol("dracoDecoderPath");
5506
5506
  let he, zi;
5507
5507
  function An() {
5508
- he || (he = new bo(), he[Cs] = Me, he.setDecoderPath(Me), he.setDecoderConfig({ type: "js" }), he.preload()), zi || (zi = wo);
5508
+ he || (he = new bo(), he[Is] = Me, he.setDecoderPath(Me), he.setDecoderConfig({ type: "js" }), he.preload()), zi || (zi = wo);
5509
5509
  }
5510
- const Is = /* @__PURE__ */ new WeakMap();
5510
+ const Rs = /* @__PURE__ */ new WeakMap();
5511
5511
  function Tn(o, e) {
5512
- let t = Is.get(o);
5513
- t ? t = Object.assign(t, e) : t = e, Is.set(o, t);
5512
+ let t = Rs.get(o);
5513
+ t ? t = Object.assign(t, e) : t = e, Rs.set(o, t);
5514
5514
  }
5515
- const ss = Gs.prototype.load;
5515
+ const rs = Gs.prototype.load;
5516
5516
  function Tl(...o) {
5517
- const e = Is.get(this);
5517
+ const e = Rs.get(this);
5518
5518
  let t = o[0];
5519
5519
  const i = new URL(t, window.location.href);
5520
5520
  if (i.hostname.endsWith("needle.tools")) {
5521
5521
  const a = (e == null ? void 0 : e.progressive) !== void 0 ? e.progressive : !0, n = e != null && e.usecase ? e.usecase : "default";
5522
5522
  a ? this.requestHeader.Accept = `*/*;progressive=allowed;usecase=${n}` : this.requestHeader.Accept = `*/*;usecase=${n}`, t = i.toString();
5523
5523
  }
5524
- return o[0] = t, ss == null ? void 0 : ss.call(this, ...o);
5524
+ return o[0] = t, rs == null ? void 0 : rs.call(this, ...o);
5525
5525
  }
5526
5526
  Gs.prototype.load = Tl;
5527
5527
  ut("debugprogressive");
@@ -5587,14 +5587,14 @@ class Ml {
5587
5587
  }
5588
5588
  }
5589
5589
  }
5590
- const Cl = typeof window > "u" && typeof document > "u", Rs = Symbol("needle:raycast-mesh");
5590
+ const Cl = typeof window > "u" && typeof document > "u", Ds = Symbol("needle:raycast-mesh");
5591
5591
  function ai(o) {
5592
- return (o == null ? void 0 : o[Rs]) instanceof le ? o[Rs] : null;
5592
+ return (o == null ? void 0 : o[Ds]) instanceof le ? o[Ds] : null;
5593
5593
  }
5594
5594
  function Il(o, e) {
5595
5595
  if ((o.type === "Mesh" || o.type === "SkinnedMesh") && !ai(o)) {
5596
5596
  const i = Dl(e);
5597
- i.userData = { isRaycastMesh: !0 }, o[Rs] = i;
5597
+ i.userData = { isRaycastMesh: !0 }, o[Ds] = i;
5598
5598
  }
5599
5599
  }
5600
5600
  function Rl(o = !0) {
@@ -5711,15 +5711,15 @@ function Fl(o) {
5711
5711
  const _ = g.geometry, y = new le();
5712
5712
  if (y.name = _.name || "", _.index) {
5713
5713
  const x = _.index;
5714
- y.setIndex(rs(x));
5714
+ y.setIndex(ns(x));
5715
5715
  }
5716
5716
  for (const x in _.attributes) {
5717
- const w = _.attributes[x], A = rs(w);
5717
+ const w = _.attributes[x], A = ns(w);
5718
5718
  y.setAttribute(x, A);
5719
5719
  }
5720
5720
  if (_.morphAttributes)
5721
5721
  for (const x in _.morphAttributes) {
5722
- const A = _.morphAttributes[x].map((S) => rs(S));
5722
+ const A = _.morphAttributes[x].map((S) => ns(S));
5723
5723
  y.morphAttributes[x] = A;
5724
5724
  }
5725
5725
  if (y.morphTargetsRelative = _.morphTargetsRelative ?? !1, y.boundingBox = new Y(), y.boundingBox.min = new b(
@@ -5730,7 +5730,7 @@ function Fl(o) {
5730
5730
  (s = _.boundingBox) == null ? void 0 : s.max.x,
5731
5731
  (a = _.boundingBox) == null ? void 0 : a.max.y,
5732
5732
  (n = _.boundingBox) == null ? void 0 : n.max.z
5733
- ), y.boundingSphere = new qi(
5733
+ ), y.boundingSphere = new ji(
5734
5734
  new b(
5735
5735
  (c = _.boundingSphere) == null ? void 0 : c.center.x,
5736
5736
  (u = _.boundingSphere) == null ? void 0 : u.center.y,
@@ -5782,7 +5782,7 @@ function Fl(o) {
5782
5782
  }
5783
5783
  return o;
5784
5784
  }
5785
- function rs(o) {
5785
+ function ns(o) {
5786
5786
  let e = o;
5787
5787
  if ("isInterleavedBufferAttribute" in o && o.isInterleavedBufferAttribute) {
5788
5788
  const t = o.data, i = t.array, s = new to(i, t.stride);
@@ -5791,7 +5791,7 @@ function rs(o) {
5791
5791
  "isBufferAttribute" in o && o.isBufferAttribute && (e = new fe(o.array, o.itemSize, o.normalized), e.usage = o.usage, e.gpuType = o.gpuType, e.updateRanges = o.updateRanges);
5792
5792
  return e;
5793
5793
  }
5794
- const kl = ut("gltf-progressive-worker"), Bl = ut("gltf-progressive-reduce-mipmaps"), ns = Symbol("needle-progressive-texture"), Ee = "NEEDLE_progressive", B = class B {
5794
+ const kl = ut("gltf-progressive-worker"), Bl = ut("gltf-progressive-reduce-mipmaps"), os = Symbol("needle-progressive-texture"), Ee = "NEEDLE_progressive", B = class B {
5795
5795
  constructor(e) {
5796
5796
  E(this, "parser");
5797
5797
  E(this, "url");
@@ -6073,7 +6073,7 @@ const kl = ut("gltf-progressive-worker"), Bl = ut("gltf-progressive-reduce-mipma
6073
6073
  let n;
6074
6074
  if (e.isTexture === !0) {
6075
6075
  const l = e;
6076
- l.source && l.source[ns] && (n = l.source[ns]);
6076
+ l.source && l.source[os] && (n = l.source[os]);
6077
6077
  }
6078
6078
  if (n || (n = B.lodInfos.get(a)), !n)
6079
6079
  O && console.warn(`Can not load LOD ${t}: no LOD info found for "${a}" ${e.name}`, e.type, B.lodInfos);
@@ -6224,7 +6224,7 @@ E(B, "registerTexture", (e, t, i, s, a) => {
6224
6224
  const v = ((c = t.image) == null ? void 0 : c.width) || ((f = (u = t.source) == null ? void 0 : u.data) == null ? void 0 : f.width) || 0, p = ((d = t.image) == null ? void 0 : d.height) || ((l = (r = t.source) == null ? void 0 : r.data) == null ? void 0 : l.height) || 0;
6225
6225
  console.log(`> gltf-progressive: register texture[${s}] "${t.name || t.uuid}", Current: ${v}x${p}, Max: ${(h = a.lods[0]) == null ? void 0 : h.width}x${(m = a.lods[0]) == null ? void 0 : m.height}, uuid: ${t.uuid}`, a, t);
6226
6226
  }
6227
- t.source && (t.source[ns] = a);
6227
+ t.source && (t.source[os] = a);
6228
6228
  const n = a.guid;
6229
6229
  B.assignLODInformation(e, t, n, i, s), B.lodInfos.set(n, a), B.lowresCache.set(n, t);
6230
6230
  }), /**
@@ -6337,8 +6337,8 @@ E(Pi, "addPromise", (e, t, i, s) => {
6337
6337
  a.add(e, t, i);
6338
6338
  });
6339
6339
  });
6340
- const be = ut("debugprogressive"), zl = ut("noprogressive"), os = Symbol("Needle:LODSManager"), as = Symbol("Needle:LODState"), qe = Symbol("Needle:CurrentLOD"), oe = { mesh_lod: -1, texture_lod: -1 };
6341
- var ue, Le, Wi, Ke, Pt, Vi, Fe;
6340
+ const be = ut("debugprogressive"), zl = ut("noprogressive"), as = Symbol("Needle:LODSManager"), ls = Symbol("Needle:LODState"), qe = Symbol("Needle:CurrentLOD"), oe = { mesh_lod: -1, texture_lod: -1 };
6341
+ var ue, Le, Vi, Ke, Pt, Ni, Fe;
6342
6342
  const V = class V {
6343
6343
  // readonly plugins: NEEDLE_progressive_plugin[] = [];
6344
6344
  constructor(e, t) {
@@ -6382,14 +6382,14 @@ const V = class V {
6382
6382
  E(this, "_promiseGroupIds", 0);
6383
6383
  E(this, "_lodchangedlisteners", []);
6384
6384
  Ge(this, Le, void 0);
6385
- Ge(this, Wi, new Gi());
6385
+ Ge(this, Vi, new qi());
6386
6386
  Ge(this, Ke, 0);
6387
6387
  Ge(this, Pt, 0);
6388
- Ge(this, Vi, 0);
6388
+ Ge(this, Ni, 0);
6389
6389
  Ge(this, Fe, 0);
6390
6390
  E(this, "_fpsBuffer", [60, 60, 60, 60, 60]);
6391
6391
  // private testIfLODLevelsAreAvailable() {
6392
- E(this, "_sphere", new qi());
6392
+ E(this, "_sphere", new ji());
6393
6393
  E(this, "_tempBox", new Y());
6394
6394
  E(this, "_tempBox2", new Y());
6395
6395
  E(this, "tempMatrix", new J());
@@ -6400,7 +6400,7 @@ const V = class V {
6400
6400
  }
6401
6401
  /** @internal */
6402
6402
  static getObjectLODState(e) {
6403
- return e[as];
6403
+ return e[ls];
6404
6404
  }
6405
6405
  static addPlugin(e) {
6406
6406
  Ze.push(e);
@@ -6415,13 +6415,13 @@ const V = class V {
6415
6415
  * @returns The LODsManager instance.
6416
6416
  */
6417
6417
  static get(e, t) {
6418
- if (e[os])
6419
- return console.debug("[gltf-progressive] LODsManager already exists for this renderer"), e[os];
6418
+ if (e[as])
6419
+ return console.debug("[gltf-progressive] LODsManager already exists for this renderer"), e[as];
6420
6420
  const i = new V(e, {
6421
6421
  engine: "unknown",
6422
6422
  ...t
6423
6423
  });
6424
- return e[os] = i, i;
6424
+ return e[as] = i, i;
6425
6425
  }
6426
6426
  /** @deprecated use static `LODsManager.addPlugin()` method. This getter will be removed in later versions */
6427
6427
  get plugins() {
@@ -6468,7 +6468,7 @@ const V = class V {
6468
6468
  const t = this;
6469
6469
  Ys(this.renderer), this.renderer.render = function(i, s) {
6470
6470
  const a = t.renderer.getRenderTarget();
6471
- (a == null || "isXRRenderTarget" in a && a.isXRRenderTarget) && (e = 0, Ie(t, Ke, H(t, Ke) + 1), Ie(t, Pt, H(t, Wi).getDelta()), Ie(t, Vi, H(t, Vi) + H(t, Pt)), t._fpsBuffer.shift(), t._fpsBuffer.push(1 / H(t, Pt)), Ie(t, Fe, t._fpsBuffer.reduce((c, u) => c + u) / t._fpsBuffer.length), be && H(t, Ke) % 200 === 0 && console.log("FPS", Math.round(H(t, Fe)), "Interval:", H(t, ue)));
6471
+ (a == null || "isXRRenderTarget" in a && a.isXRRenderTarget) && (e = 0, Ie(t, Ke, H(t, Ke) + 1), Ie(t, Pt, H(t, Vi).getDelta()), Ie(t, Ni, H(t, Ni) + H(t, Pt)), t._fpsBuffer.shift(), t._fpsBuffer.push(1 / H(t, Pt)), Ie(t, Fe, t._fpsBuffer.reduce((c, u) => c + u) / t._fpsBuffer.length), be && H(t, Ke) % 200 === 0 && console.log("FPS", Math.round(H(t, Fe)), "Interval:", H(t, ue)));
6472
6472
  const n = e++;
6473
6473
  H(t, Le).call(this, i, s), t.onAfterRender(i, s, n);
6474
6474
  };
@@ -6539,8 +6539,8 @@ const V = class V {
6539
6539
  updateLODs(e, t, i, s) {
6540
6540
  var c, u;
6541
6541
  i.userData || (i.userData = {});
6542
- let a = i[as];
6543
- if (a || (a = new Ul(), i[as] = a), a.frames++ < 2)
6542
+ let a = i[ls];
6543
+ if (a || (a = new Ul(), i[ls] = a), a.frames++ < 2)
6544
6544
  return;
6545
6545
  for (const f of Ze)
6546
6546
  (c = f.onBeforeUpdateLOD) == null || c.call(f, this.renderer, e, t, i);
@@ -6714,7 +6714,7 @@ ${t.name}`);
6714
6714
  a.texture_lod = 0;
6715
6715
  }
6716
6716
  };
6717
- ue = new WeakMap(), Le = new WeakMap(), Wi = new WeakMap(), Ke = new WeakMap(), Pt = new WeakMap(), Vi = new WeakMap(), Fe = new WeakMap(), /**
6717
+ ue = new WeakMap(), Le = new WeakMap(), Vi = new WeakMap(), Ke = new WeakMap(), Pt = new WeakMap(), Ni = new WeakMap(), Fe = new WeakMap(), /**
6718
6718
  * Assign a function to draw debug lines for the LODs. This function will be called with the start and end position of the line and the color of the line when the `debugprogressive` query parameter is set.
6719
6719
  */
6720
6720
  E(V, "debugDrawLine"), E(V, "corner0", new b()), E(V, "corner1", new b()), E(V, "corner2", new b()), E(V, "corner3", new b()), E(V, "_tempPtInside", new b()), E(V, "skinnedMeshBoundsFrameOffsetCounter", 0), E(V, "$skinnedMeshBoundsOffset", Symbol("gltf-progressive-skinnedMeshBoundsOffset"));
@@ -7130,11 +7130,11 @@ var Rt = Object.freeze({
7130
7130
  return o._nextId++;
7131
7131
  }, o._nextId = 0, o;
7132
7132
  }()
7133
- ), Ds = new Dn(), Ui = (
7133
+ ), Ps = new Dn(), Ui = (
7134
7134
  /** @class */
7135
7135
  function() {
7136
7136
  function o(e, t) {
7137
- t === void 0 && (t = Ds), this._object = e, this._group = t, this._isPaused = !1, this._pauseStart = 0, this._valuesStart = {}, this._valuesEnd = {}, this._valuesStartRepeat = {}, this._duration = 1e3, this._isDynamic = !1, this._initialRepeat = 0, this._repeat = 0, this._yoyo = !1, this._isPlaying = !1, this._reversed = !1, this._delayTime = 0, this._startTime = 0, this._easingFunction = Rt.Linear.None, this._interpolationFunction = ct.Linear, this._chainedTweens = [], this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._id = Xs.nextId(), this._isChainStopped = !1, this._propertiesAreSetUp = !1, this._goToEnd = !1;
7137
+ t === void 0 && (t = Ps), this._object = e, this._group = t, this._isPaused = !1, this._pauseStart = 0, this._valuesStart = {}, this._valuesEnd = {}, this._valuesStartRepeat = {}, this._duration = 1e3, this._isDynamic = !1, this._initialRepeat = 0, this._repeat = 0, this._yoyo = !1, this._isPlaying = !1, this._reversed = !1, this._delayTime = 0, this._startTime = 0, this._easingFunction = Rt.Linear.None, this._interpolationFunction = ct.Linear, this._chainedTweens = [], this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._id = Xs.nextId(), this._isChainStopped = !1, this._propertiesAreSetUp = !1, this._goToEnd = !1;
7138
7138
  }
7139
7139
  return o.prototype.getId = function() {
7140
7140
  return this._id;
@@ -7221,7 +7221,7 @@ var Rt = Object.freeze({
7221
7221
  this._chainedTweens[e].stop();
7222
7222
  return this;
7223
7223
  }, o.prototype.group = function(e) {
7224
- return e === void 0 && (e = Ds), this._group = e, this;
7224
+ return e === void 0 && (e = Ps), this._group = e, this;
7225
7225
  }, o.prototype.delay = function(e) {
7226
7226
  return e === void 0 && (e = 0), this._delayTime = e, this;
7227
7227
  }, o.prototype.repeat = function(e) {
@@ -7298,7 +7298,7 @@ var Rt = Object.freeze({
7298
7298
  typeof i == "string" ? this._valuesStartRepeat[e] = this._valuesStartRepeat[e] + parseFloat(i) : this._valuesStartRepeat[e] = this._valuesEnd[e], this._valuesEnd[e] = t;
7299
7299
  }, o;
7300
7300
  }()
7301
- ), Nl = "23.1.3", Gl = Xs.nextId, De = Ds, ql = De.getAll.bind(De), jl = De.removeAll.bind(De), Ql = De.add.bind(De), Yl = De.remove.bind(De), Zl = De.update.bind(De), Je = {
7301
+ ), Nl = "23.1.3", Gl = Xs.nextId, De = Ps, ql = De.getAll.bind(De), jl = De.removeAll.bind(De), Ql = De.add.bind(De), Yl = De.remove.bind(De), Zl = De.update.bind(De), Je = {
7302
7302
  Easing: Rt,
7303
7303
  Group: Dn,
7304
7304
  Interpolation: ct,
@@ -8812,7 +8812,7 @@ function ac() {
8812
8812
  }
8813
8813
  return !1;
8814
8814
  }
8815
- const lc = new Mo(), Ft = new Ao(), Qi = new To();
8815
+ const lc = new Mo(), Ft = new Ao(), Yi = new To();
8816
8816
  let Dt = "./draco/";
8817
8817
  try {
8818
8818
  Dt = new URL("./draco/", import.meta.url).href;
@@ -8820,10 +8820,10 @@ try {
8820
8820
  Dt = "./draco/";
8821
8821
  }
8822
8822
  typeof window < "u" && window.dracoPath && (Dt = window.dracoPath);
8823
- Qi.setDecoderConfig({ type: "wasm" });
8824
- Qi.setDecoderPath(Dt.endsWith("/") ? Dt : `${Dt}/`);
8825
- Qi.preload();
8826
- Ft.setDRACOLoader(Qi);
8823
+ Yi.setDecoderConfig({ type: "wasm" });
8824
+ Yi.setDecoderPath(Dt.endsWith("/") ? Dt : `${Dt}/`);
8825
+ Yi.preload();
8826
+ Ft.setDRACOLoader(Yi);
8827
8827
  const Rh = new So(), Ur = [115, 103, 108, 98];
8828
8828
  function Dh(o, e, t) {
8829
8829
  const i = JSON.stringify(e), s = new TextEncoder().encode(i), a = new Uint8Array([115, 103, 108, 98]), n = new Uint8Array(2);
@@ -8847,7 +8847,7 @@ function cc(o) {
8847
8847
  const s = new DataView(o, 4, 2).getUint16(0, !1), n = new DataView(o, 6, 4).getUint32(0, !1), c = new Uint8Array(o.slice(10, 10 + n)), u = new TextDecoder().decode(c), f = JSON.parse(u), d = o.slice(10 + n);
8848
8848
  return { version: s, jsonDescription: f, glbContent: d };
8849
8849
  }
8850
- class Ps {
8850
+ class Hi {
8851
8851
  constructor(e) {
8852
8852
  this.props = e, this.cache = /* @__PURE__ */ new Map();
8853
8853
  }
@@ -8872,7 +8872,7 @@ class Ps {
8872
8872
  return;
8873
8873
  }
8874
8874
  const u = Br(c.glbContent, "model/gltf-binary"), f = await Ft.loadAsync(u);
8875
- URL.revokeObjectURL(u), c.glbContent = void 0, c.glb = f.scene, n = void 0, this.cache.set(e, c), t(c);
8875
+ URL.revokeObjectURL(u), c.glbContent = void 0, c.glb = f.scene, c.scene = f.scene, c.animations = f.animations, n = void 0, this.cache.set(e, c), t(c);
8876
8876
  } catch (c) {
8877
8877
  s == null || s(new ErrorEvent("Error", { message: c == null ? void 0 : c.message }));
8878
8878
  }
@@ -8896,7 +8896,7 @@ class Ps {
8896
8896
  const a = Br(s.glbContent, "model/gltf-binary");
8897
8897
  console.log(a);
8898
8898
  const n = await Ft.loadAsync(a);
8899
- return URL.revokeObjectURL(a), s.glbContent = void 0, s.glb = n.scene, this.cache.set(e, s), s;
8899
+ return URL.revokeObjectURL(a), s.glbContent = void 0, s.glb = n.scene, s.scene = n.scene, s.animations = n.animations, this.cache.set(e, s), s;
8900
8900
  } catch (t) {
8901
8901
  throw t;
8902
8902
  }
@@ -9222,12 +9222,12 @@ class Vr extends Ue {
9222
9222
  }
9223
9223
  }
9224
9224
  async loadGlb(e) {
9225
- const i = await new Ps({ useCache: !0 }).loadAsync(e);
9225
+ const i = await new Hi({ useCache: !0 }).loadAsync(e);
9226
9226
  if (i.glb)
9227
9227
  return i.glb.clone(!0);
9228
9228
  }
9229
9229
  async installBracket(e) {
9230
- const i = await new Ps({ useCache: !0 }).loadAsync(e);
9230
+ const i = await new Hi({ useCache: !0 }).loadAsync(e);
9231
9231
  if (!i.glb)
9232
9232
  return;
9233
9233
  const s = i.glb.clone(!0);
@@ -9427,13 +9427,13 @@ class dc extends Ue {
9427
9427
  }
9428
9428
  class Ei extends ge {
9429
9429
  constructor(e, t = !0, i = !0) {
9430
- super(), this._startWith = e, this._showText = t, this.useStartEnd = i, this._line2Length = 0.01, this._line = new bs(
9430
+ super(), this._startWith = e, this._showText = t, this.useStartEnd = i, this._line2Length = 0.01, this._line = new As(
9431
9431
  new le(),
9432
9432
  new nr({
9433
9433
  color: "#666",
9434
9434
  linewidth: 2
9435
9435
  })
9436
- ), this._line2 = new bs(
9436
+ ), this._line2 = new As(
9437
9437
  new le(),
9438
9438
  new nr({
9439
9439
  color: "#666",
@@ -9479,7 +9479,7 @@ class Ei extends ge {
9479
9479
  class Fn extends Bt {
9480
9480
  // 上一次的角度
9481
9481
  constructor(e, t) {
9482
- super(), this.radius = e, this._text = new pc(""), this._line = new Ei(void 0, !1, !1), this._box = new X(), this._arc = new Co(), this._previousPosition = null, this._updateTimer = null, this._updateDelay = 300, this._accumulatedAngle = 0, this._lastAngle = null, this._line.updateMaterial(new As({
9482
+ super(), this.radius = e, this._text = new pc(""), this._line = new Ei(void 0, !1, !1), this._box = new X(), this._arc = new Co(), this._previousPosition = null, this._updateTimer = null, this._updateDelay = 300, this._accumulatedAngle = 0, this._lastAngle = null, this._line.updateMaterial(new Ts({
9483
9483
  color: "#555",
9484
9484
  dashSize: 0.06,
9485
9485
  gapSize: 0.06
@@ -9505,7 +9505,7 @@ class Fn extends Bt {
9505
9505
  }
9506
9506
  update(e) {
9507
9507
  var t;
9508
- this.radius = e, (t = this._box.geometry) == null || t.dispose(), this._box.geometry = new or(e, e + 3e-3, 128), this._line.updateMaterial(new As({
9508
+ this.radius = e, (t = this._box.geometry) == null || t.dispose(), this._box.geometry = new or(e, e + 3e-3, 128), this._line.updateMaterial(new Ts({
9509
9509
  color: "#555",
9510
9510
  dashSize: 0.06 * e,
9511
9511
  gapSize: 0.06 * e
@@ -9787,11 +9787,11 @@ class qr extends Bt {
9787
9787
  })
9788
9788
  );
9789
9789
  s.geometry.translate(0, 0, i / 2);
9790
- const a = new no(s.geometry), n = new As({
9790
+ const a = new no(s.geometry), n = new Ts({
9791
9791
  color: new K("#000"),
9792
9792
  dashSize: 0.015,
9793
9793
  gapSize: 0.015
9794
- }), c = new bs(a, n);
9794
+ }), c = new As(a, n);
9795
9795
  c.computeLineDistances(), this.add(s, c);
9796
9796
  }
9797
9797
  }
@@ -9855,7 +9855,7 @@ const kn = new pn();
9855
9855
  kn.crossOrigin = "anonymous";
9856
9856
  class bc extends Bt {
9857
9857
  constructor(e) {
9858
- super(), this._props = e, this._emitter = new Ot(), this.addEventListener = this._emitter.addListener.bind(this._emitter), this._container = new ge(), this.lines = new ge(), this._clips = [], this._actionsMap = /* @__PURE__ */ new Map(), this._animationClock = new Gi(), this.sizeBox = new yc(), this._goodsSize = new oc(0, 0, 0), this._slots = [], this._logos = [], this._skins = [], this._levels = /* @__PURE__ */ new Map(), this._bodyOpacity = 1, this._masts = /* @__PURE__ */ new Map(), this._liftMaxHeight = 0, this._jackMaxHeight = 0, this._forkMaxHeight = 0, this.controllers = [], this.goods = [], this._breathLights = [], this._shelves = /* @__PURE__ */ new Map(), this._shelfMaxLevel = 1, this._url = "", this._showController = !0, this._showSlots = !0, this._shapeKeys = /* @__PURE__ */ new Map(), this._shapeKeyTargets = /* @__PURE__ */ new Map(), this._shapeKeyTimer = 0, this._shapeKeyCache = "", this._materialsCache = /* @__PURE__ */ new Map(), this.opacityCache = void 0, this.actions = [], this._url = e.url || "", this._url && this.load(this._url).then(), this.add(this._container, this.lines), this._props.showSizeBox && this.add(this.sizeBox), this.showController = typeof e.showController == "boolean" ? e.showController : !0, this._showSlots = typeof e.showSlots == "boolean" ? e.showSlots : !0;
9858
+ super(), this._props = e, this._emitter = new Ot(), this.addEventListener = this._emitter.addListener.bind(this._emitter), this._container = new ge(), this.lines = new ge(), this._clips = [], this._actionsMap = /* @__PURE__ */ new Map(), this._animationClock = new qi(), this.sizeBox = new yc(), this._goodsSize = new oc(0, 0, 0), this._slots = [], this._logos = [], this._skins = [], this._levels = /* @__PURE__ */ new Map(), this._bodyOpacity = 1, this._masts = /* @__PURE__ */ new Map(), this._liftMaxHeight = 0, this._jackMaxHeight = 0, this._forkMaxHeight = 0, this.controllers = [], this.goods = [], this._breathLights = [], this._shelves = /* @__PURE__ */ new Map(), this._shelfMaxLevel = 1, this._url = "", this._showController = !0, this._showSlots = !0, this._shapeKeys = /* @__PURE__ */ new Map(), this._shapeKeyTargets = /* @__PURE__ */ new Map(), this._shapeKeyTimer = 0, this._shapeKeyCache = "", this._materialsCache = /* @__PURE__ */ new Map(), this.opacityCache = void 0, this.actions = [], this._url = e.url || "", this._url && this.load(this._url).then(), this.add(this._container, this.lines), this._props.showSizeBox && this.add(this.sizeBox), this.showController = typeof e.showController == "boolean" ? e.showController : !0, this._showSlots = typeof e.showSlots == "boolean" ? e.showSlots : !0;
9859
9859
  }
9860
9860
  get shapeKeys() {
9861
9861
  return this._shapeKeys;
@@ -9938,13 +9938,16 @@ class bc extends Bt {
9938
9938
  !t && i.isSkinnedMesh && (t = i);
9939
9939
  }), t;
9940
9940
  }
9941
- async loadAnimation(e, t = "glb") {
9941
+ async loadAnimation(e, t = "sglb") {
9942
9942
  let i, s;
9943
9943
  if (t === "glb" || e.endsWith(".glb")) {
9944
9944
  const u = await Ft.loadAsync(e);
9945
9945
  i = u.animations || [], s = u.scene;
9946
+ } else if (t === "sglb" || e.endsWith(".sglb")) {
9947
+ const f = await new Hi({ useCache: !0 }).loadAsync(e);
9948
+ i = f.animations || [], s = f.scene;
9946
9949
  } else {
9947
- console.warn("[Amr.loadAnimation] 目前仅支持 glb 动画文件", { url: e, type: t });
9950
+ console.warn("[Amr.loadAnimation] 目前仅支持 glb/sglb 动画文件", { url: e, type: t });
9948
9951
  return;
9949
9952
  }
9950
9953
  if (!i || i.length === 0) {
@@ -9963,13 +9966,13 @@ class bc extends Bt {
9963
9966
  (!a || !n) && console.warn("[Amr.loadAnimation] 在动画或目标模型中未找到 SkinnedMesh,使用原始动画 clip", e), this._mixer || (this._mixer = new ar(this._modelRoot));
9964
9967
  const c = (
9965
9968
  // @ts-ignore SkeletonUtils 可能没有类型定义
9966
- typeof Ki.retargetClip == "function"
9969
+ typeof Ji.retargetClip == "function"
9967
9970
  );
9968
9971
  i.forEach((u) => {
9969
9972
  let f = u;
9970
9973
  if (c && a && n)
9971
9974
  try {
9972
- f = Ki.retargetClip(
9975
+ f = Ji.retargetClip(
9973
9976
  n,
9974
9977
  a,
9975
9978
  u
@@ -9989,12 +9992,12 @@ class bc extends Bt {
9989
9992
  let n = await Ft.loadAsync(e);
9990
9993
  i = n.scene, s = n.animations || [];
9991
9994
  } else {
9992
- const c = await new Ps({ useCache: !0 }).loadAsync(e);
9995
+ const c = await new Hi({ useCache: !0 }).loadAsync(e);
9993
9996
  if (!c.glb)
9994
9997
  return;
9995
9998
  i = c.glb;
9996
9999
  }
9997
- const a = Ki.clone(i);
10000
+ const a = Ji.clone(i);
9998
10001
  this._generateAmr(a, s), i = null, this._emitter.emit("amr-loaded");
9999
10002
  }
10000
10003
  changeSkin(e, t) {
@@ -10382,7 +10385,7 @@ class bc extends Bt {
10382
10385
  t && (t.paused = !0);
10383
10386
  }
10384
10387
  }
10385
- const Bn = 0, Ac = 1, Tc = 2, Qr = 2, ls = 1.25, Yr = 1, ii = 6 * 4 + 4 + 4, Yi = 65535, Sc = Math.pow(2, -24), cs = Symbol("SKIP_GENERATION");
10388
+ const Bn = 0, Ac = 1, Tc = 2, Qr = 2, cs = 1.25, Yr = 1, ii = 6 * 4 + 4 + 4, Zi = 65535, Sc = Math.pow(2, -24), us = Symbol("SKIP_GENERATION");
10386
10389
  function Mc(o) {
10387
10390
  return o.index ? o.index.count : o.attributes.position.count;
10388
10391
  }
@@ -10433,7 +10436,7 @@ function Rc(o) {
10433
10436
  let s = 0;
10434
10437
  return t.forEach(({ count: a }) => s += a), e !== s;
10435
10438
  }
10436
- function us(o, e, t, i, s) {
10439
+ function hs(o, e, t, i, s) {
10437
10440
  let a = 1 / 0, n = 1 / 0, c = 1 / 0, u = -1 / 0, f = -1 / 0, d = -1 / 0, r = 1 / 0, l = 1 / 0, h = 1 / 0, m = -1 / 0, v = -1 / 0, p = -1 / 0;
10438
10441
  for (let g = e * 6, _ = (e + t) * 6; g < _; g += 6) {
10439
10442
  const y = o[g + 0], x = o[g + 1], w = y - x, A = y + x;
@@ -10516,7 +10519,7 @@ function Ec(o, e, t, i, s, a) {
10516
10519
  n = Zr(o), n !== -1 && (c = Lc(t, i, s, n));
10517
10520
  else if (a === Tc) {
10518
10521
  const u = qt(o);
10519
- let f = ls * s;
10522
+ let f = cs * s;
10520
10523
  const d = i * 6, r = (i + s) * 6;
10521
10524
  for (let l = 0; l < 3; l++) {
10522
10525
  const h = e[l], p = (e[l + 3] - h) / Pe;
@@ -10556,7 +10559,7 @@ function Ec(o, e, t, i, s, a) {
10556
10559
  A !== 0 && (R = qt(C) / u);
10557
10560
  let D = 0;
10558
10561
  S !== 0 && (D = qt(M) / u);
10559
- const T = Yr + ls * (R * A + D * S);
10562
+ const T = Yr + cs * (R * A + D * S);
10560
10563
  T < f && (n = l, f = T, c = w.candidate);
10561
10564
  }
10562
10565
  } else {
@@ -10587,7 +10590,7 @@ function Ec(o, e, t, i, s, a) {
10587
10590
  _ !== 0 && (M = qt(_i) / u);
10588
10591
  const D = s - _;
10589
10592
  D !== 0 && (R = qt(C) / u);
10590
- const T = Yr + ls * (M * _ + R * D);
10593
+ const T = Yr + cs * (M * _ + R * D);
10591
10594
  T < f && (n = l, f = T, c = x.candidate);
10592
10595
  }
10593
10596
  }
@@ -10602,7 +10605,7 @@ function Lc(o, e, t, i) {
10602
10605
  s += o[a * 6 + i * 2];
10603
10606
  return s / t;
10604
10607
  }
10605
- class hs {
10608
+ class fs {
10606
10609
  constructor() {
10607
10610
  this.boundingData = new Float32Array(6);
10608
10611
  }
@@ -10690,7 +10693,7 @@ function Ls(o, e) {
10690
10693
  return o + n.byteLength;
10691
10694
  } else {
10692
10695
  const n = e.offset, c = e.count;
10693
- return $t[t + 6] = n, Li[i + 14] = c, Li[i + 15] = Yi, o + ii;
10696
+ return $t[t + 6] = n, Li[i + 14] = c, Li[i + 15] = Zi, o + ii;
10694
10697
  }
10695
10698
  else {
10696
10699
  const n = e.left, c = e.right, u = e.splitAxis;
@@ -10716,8 +10719,8 @@ function Uc(o, e, t, i, s) {
10716
10719
  indirect: d
10717
10720
  } = s, r = o._indirectBuffer, l = o.geometry, h = l.index ? l.index.array : null, m = d ? kc : Fc, v = zt(l), p = new Float32Array(6);
10718
10721
  let g = !1;
10719
- const _ = new hs();
10720
- return us(e, t, i, _.boundingData, p), x(_, t, i, p), _;
10722
+ const _ = new fs();
10723
+ return hs(e, t, i, _.boundingData, p), x(_, t, i, p), _;
10721
10724
  function y(w) {
10722
10725
  f && f(w / v);
10723
10726
  }
@@ -10732,10 +10735,10 @@ function Uc(o, e, t, i, s) {
10732
10735
  y(A + S), w.offset = A, w.count = S;
10733
10736
  else {
10734
10737
  w.splitAxis = R.axis;
10735
- const T = new hs(), I = A, P = D - A;
10736
- w.left = T, us(e, I, P, T.boundingData, p), x(T, I, P, p, M + 1);
10737
- const L = new hs(), F = D, U = S - P;
10738
- w.right = L, us(e, F, U, L.boundingData, p), x(L, F, U, p, M + 1);
10738
+ const T = new fs(), I = A, P = D - A;
10739
+ w.left = T, hs(e, I, P, T.boundingData, p), x(T, I, P, p, M + 1);
10740
+ const L = new fs(), F = D, U = S - P;
10741
+ w.right = L, hs(e, F, U, L.boundingData, p), x(L, F, U, p, M + 1);
10739
10742
  }
10740
10743
  return w;
10741
10744
  }
@@ -10843,12 +10846,12 @@ const Wc = function() {
10843
10846
  return !1;
10844
10847
  };
10845
10848
  }(), Nc = 1e-15;
10846
- function fs(o) {
10849
+ function ds(o) {
10847
10850
  return Math.abs(o) < Nc;
10848
10851
  }
10849
10852
  class Ce extends Kt {
10850
10853
  constructor(...e) {
10851
- super(...e), this.isExtendedTriangle = !0, this.satAxes = new Array(4).fill().map(() => new b()), this.satBounds = new Array(4).fill().map(() => new Ve()), this.points = [this.a, this.b, this.c], this.sphere = new qi(), this.plane = new Ns(), this.needsUpdate = !0;
10854
+ super(...e), this.isExtendedTriangle = !0, this.satAxes = new Array(4).fill().map(() => new b()), this.satBounds = new Array(4).fill().map(() => new Ve()), this.points = [this.a, this.b, this.c], this.sphere = new ji(), this.plane = new Ns(), this.needsUpdate = !0;
10852
10855
  }
10853
10856
  intersectsSphere(e) {
10854
10857
  return Vc(e, this);
@@ -10884,13 +10887,13 @@ Ce.prototype.intersectsTriangle = function() {
10884
10887
  for (let w = 0; w < 3; w++) {
10885
10888
  const { start: A, end: S } = d;
10886
10889
  A.copy(_[w]), S.copy(_[(w + 1) % 3]), d.delta(n);
10887
- const C = fs(p.distanceToPoint(A));
10888
- if (fs(p.normal.dot(n)) && C) {
10890
+ const C = ds(p.distanceToPoint(A));
10891
+ if (ds(p.normal.dot(n)) && C) {
10889
10892
  g.copy(d), y = 2;
10890
10893
  break;
10891
10894
  }
10892
10895
  const M = p.intersectLine(d, h);
10893
- if (!M && C && h.copy(A), (M || C) && !fs(h.distanceTo(S))) {
10896
+ if (!M && C && h.copy(A), (M || C) && !ds(h.distanceTo(S))) {
10894
10897
  if (y <= 1)
10895
10898
  (y === 1 ? g.start : g.end).copy(h), C && (x = y);
10896
10899
  else if (y >= 2) {
@@ -11214,7 +11217,7 @@ function Fs(o, e, t, i, s = null, a = 0, n = 0) {
11214
11217
  return !!M;
11215
11218
  }
11216
11219
  }
11217
- const jt = /* @__PURE__ */ new b(), ds = /* @__PURE__ */ new b();
11220
+ const jt = /* @__PURE__ */ new b(), ps = /* @__PURE__ */ new b();
11218
11221
  function Qc(o, e, t = {}, i = 0, s = 1 / 0) {
11219
11222
  const a = i * i, n = s * s;
11220
11223
  let c = 1 / 0, u = null;
@@ -11225,13 +11228,13 @@ function Qc(o, e, t = {}, i = 0, s = 1 / 0) {
11225
11228
  intersectsTriangle: (d, r) => {
11226
11229
  d.closestPointToPoint(e, jt);
11227
11230
  const l = e.distanceToSquared(jt);
11228
- return l < c && (ds.copy(jt), c = l, u = r), l < a;
11231
+ return l < c && (ps.copy(jt), c = l, u = r), l < a;
11229
11232
  }
11230
11233
  }
11231
11234
  ), c === 1 / 0)
11232
11235
  return null;
11233
11236
  const f = Math.sqrt(c);
11234
- return t.point ? t.point.copy(ds) : t.point = ds.clone(), t.distance = f, t.faceIndex = u, t;
11237
+ return t.point ? t.point.copy(ps) : t.point = ps.clone(), t.distance = f, t.faceIndex = u, t;
11235
11238
  }
11236
11239
  const gt = /* @__PURE__ */ new b(), vt = /* @__PURE__ */ new b(), _t = /* @__PURE__ */ new b(), xi = /* @__PURE__ */ new z(), wi = /* @__PURE__ */ new z(), bi = /* @__PURE__ */ new z(), Jr = /* @__PURE__ */ new b(), $r = /* @__PURE__ */ new b(), en = /* @__PURE__ */ new b(), Ai = /* @__PURE__ */ new b();
11237
11240
  function Yc(o, e, t, i, s, a, n, c) {
@@ -11260,7 +11263,7 @@ function Zc(o, e, t, i, s, a, n, c, u, f, d) {
11260
11263
  }
11261
11264
  return r;
11262
11265
  }
11263
- function Zi(o, e, t, i, s, a, n) {
11266
+ function Xi(o, e, t, i, s, a, n) {
11264
11267
  const c = i * 3;
11265
11268
  let u = c + 0, f = c + 1, d = c + 2;
11266
11269
  const r = o.index;
@@ -11276,14 +11279,14 @@ function Z(o, e, t, i) {
11276
11279
  function Xc(o, e, t, i, s, a, n, c) {
11277
11280
  const { geometry: u, _indirectBuffer: f } = o;
11278
11281
  for (let d = i, r = i + s; d < r; d++)
11279
- Zi(u, e, t, d, a, n, c);
11282
+ Xi(u, e, t, d, a, n, c);
11280
11283
  }
11281
11284
  function Kc(o, e, t, i, s, a, n) {
11282
11285
  const { geometry: c, _indirectBuffer: u } = o;
11283
11286
  let f = 1 / 0, d = null;
11284
11287
  for (let r = i, l = i + s; r < l; r++) {
11285
11288
  let h;
11286
- h = Zi(c, e, t, r, null, a, n), h && h.distance < f && (d = h, f = h.distance);
11289
+ h = Xi(c, e, t, r, null, a, n), h && h.distance < f && (d = h, f = h.distance);
11287
11290
  }
11288
11291
  return d;
11289
11292
  }
@@ -11305,7 +11308,7 @@ function $c(o, e = null) {
11305
11308
  a = d[l], n = new Uint32Array(a), c = new Uint16Array(a), u = new Float32Array(a), r(0, f), f += a.byteLength;
11306
11309
  function r(l, h, m = !1) {
11307
11310
  const v = l * 2;
11308
- if (c[v + 15] === Yi) {
11311
+ if (c[v + 15] === Zi) {
11309
11312
  const g = n[l + 6], _ = c[v + 14];
11310
11313
  let y = 1 / 0, x = 1 / 0, w = 1 / 0, A = -1 / 0, S = -1 / 0, C = -1 / 0;
11311
11314
  for (let M = 3 * g, R = 3 * (g + _); M < R; M++) {
@@ -11343,7 +11346,7 @@ function eu(o, e, t, i, s, a, n, c) {
11343
11346
  const { geometry: u, _indirectBuffer: f } = o;
11344
11347
  for (let d = i, r = i + s; d < r; d++) {
11345
11348
  let l = f ? f[d] : d;
11346
- Zi(u, e, t, l, a, n, c);
11349
+ Xi(u, e, t, l, a, n, c);
11347
11350
  }
11348
11351
  }
11349
11352
  function tu(o, e, t, i, s, a, n) {
@@ -11351,7 +11354,7 @@ function tu(o, e, t, i, s, a, n) {
11351
11354
  let f = 1 / 0, d = null;
11352
11355
  for (let r = i, l = i + s; r < l; r++) {
11353
11356
  let h;
11354
- h = Zi(c, e, t, u ? u[r] : r, null, a, n), h && h.distance < f && (d = h, f = h.distance);
11357
+ h = Xi(c, e, t, u ? u[r] : r, null, a, n), h && h.distance < f && (d = h, f = h.distance);
11355
11358
  }
11356
11359
  return d;
11357
11360
  }
@@ -11441,16 +11444,16 @@ function Os(o, e, t, i, s = null) {
11441
11444
  return j(d, a, Ti), !!(s.intersectsBox(Ti) && Os(d, e, t, i, s) || (j(r, a, Ti), s.intersectsBox(Ti) && Os(r, e, t, i, s)));
11442
11445
  }
11443
11446
  }
11444
- const Mi = /* @__PURE__ */ new J(), ps = /* @__PURE__ */ new re(), Yt = /* @__PURE__ */ new re(), au = /* @__PURE__ */ new b(), lu = /* @__PURE__ */ new b(), cu = /* @__PURE__ */ new b(), uu = /* @__PURE__ */ new b();
11447
+ const Mi = /* @__PURE__ */ new J(), ms = /* @__PURE__ */ new re(), Yt = /* @__PURE__ */ new re(), au = /* @__PURE__ */ new b(), lu = /* @__PURE__ */ new b(), cu = /* @__PURE__ */ new b(), uu = /* @__PURE__ */ new b();
11445
11448
  function hu(o, e, t, i = {}, s = {}, a = 0, n = 1 / 0) {
11446
- e.boundingBox || e.computeBoundingBox(), ps.set(e.boundingBox.min, e.boundingBox.max, t), ps.needsUpdate = !0;
11449
+ e.boundingBox || e.computeBoundingBox(), ms.set(e.boundingBox.min, e.boundingBox.max, t), ms.needsUpdate = !0;
11447
11450
  const c = o.geometry, u = c.attributes.position, f = c.index, d = e.attributes.position, r = e.index, l = xe.getPrimitive(), h = xe.getPrimitive();
11448
11451
  let m = au, v = lu, p = null, g = null;
11449
11452
  s && (p = cu, g = uu);
11450
11453
  let _ = 1 / 0, y = null, x = null;
11451
11454
  return Mi.copy(t).invert(), Yt.matrix.copy(Mi), o.shapecast(
11452
11455
  {
11453
- boundsTraverseOrder: (w) => ps.distanceToBox(w),
11456
+ boundsTraverseOrder: (w) => ms.distanceToBox(w),
11454
11457
  intersectsBounds: (w, A, S) => S < _ && S < n ? (A && (Yt.min.copy(w.min), Yt.max.copy(w.max), Yt.needsUpdate = !0), !0) : !1,
11455
11458
  intersectsRange: (w, A) => {
11456
11459
  if (e.boundsTree)
@@ -11494,7 +11497,7 @@ function fu(o, e = null) {
11494
11497
  a = d[l], n = new Uint32Array(a), c = new Uint16Array(a), u = new Float32Array(a), r(0, f), f += a.byteLength;
11495
11498
  function r(l, h, m = !1) {
11496
11499
  const v = l * 2;
11497
- if (c[v + 15] === Yi) {
11500
+ if (c[v + 15] === Zi) {
11498
11501
  const g = n[l + 6], _ = c[v + 14];
11499
11502
  let y = 1 / 0, x = 1 / 0, w = 1 / 0, A = -1 / 0, S = -1 / 0, C = -1 / 0;
11500
11503
  for (let M = g, R = g + _; M < R; M++) {
@@ -11604,16 +11607,16 @@ function Hs(o, e, t, i, s = null) {
11604
11607
  return j(d, a, Ci), !!(s.intersectsBox(Ci) && Hs(d, e, t, i, s) || (j(r, a, Ci), s.intersectsBox(Ci) && Hs(r, e, t, i, s)));
11605
11608
  }
11606
11609
  }
11607
- const Ri = /* @__PURE__ */ new J(), ms = /* @__PURE__ */ new re(), Xt = /* @__PURE__ */ new re(), vu = /* @__PURE__ */ new b(), _u = /* @__PURE__ */ new b(), yu = /* @__PURE__ */ new b(), xu = /* @__PURE__ */ new b();
11610
+ const Ri = /* @__PURE__ */ new J(), gs = /* @__PURE__ */ new re(), Xt = /* @__PURE__ */ new re(), vu = /* @__PURE__ */ new b(), _u = /* @__PURE__ */ new b(), yu = /* @__PURE__ */ new b(), xu = /* @__PURE__ */ new b();
11608
11611
  function wu(o, e, t, i = {}, s = {}, a = 0, n = 1 / 0) {
11609
- e.boundingBox || e.computeBoundingBox(), ms.set(e.boundingBox.min, e.boundingBox.max, t), ms.needsUpdate = !0;
11612
+ e.boundingBox || e.computeBoundingBox(), gs.set(e.boundingBox.min, e.boundingBox.max, t), gs.needsUpdate = !0;
11610
11613
  const c = o.geometry, u = c.attributes.position, f = c.index, d = e.attributes.position, r = e.index, l = xe.getPrimitive(), h = xe.getPrimitive();
11611
11614
  let m = vu, v = _u, p = null, g = null;
11612
11615
  s && (p = yu, g = xu);
11613
11616
  let _ = 1 / 0, y = null, x = null;
11614
11617
  return Ri.copy(t).invert(), Xt.matrix.copy(Ri), o.shapecast(
11615
11618
  {
11616
- boundsTraverseOrder: (w) => ms.distanceToBox(w),
11619
+ boundsTraverseOrder: (w) => gs.distanceToBox(w),
11617
11620
  intersectsBounds: (w, A, S) => S < _ && S < n ? (A && (Xt.min.copy(w.min), Xt.max.copy(w.max), Xt.needsUpdate = !0), !0) : !1,
11618
11621
  intersectsRange: (w, A) => {
11619
11622
  if (e.boundsTree) {
@@ -11655,12 +11658,12 @@ function wu(o, e, t, i = {}, s = {}, a = 0, n = 1 / 0) {
11655
11658
  function bu() {
11656
11659
  return typeof SharedArrayBuffer < "u";
11657
11660
  }
11658
- const si = new N.constructor(), Hi = new N.constructor(), Xe = new $s(() => new Y()), At = new Y(), Tt = new Y(), gs = new Y(), vs = new Y();
11659
- let _s = !1;
11661
+ const si = new N.constructor(), Wi = new N.constructor(), Xe = new $s(() => new Y()), At = new Y(), Tt = new Y(), vs = new Y(), _s = new Y();
11662
+ let ys = !1;
11660
11663
  function Au(o, e, t, i) {
11661
- if (_s)
11664
+ if (ys)
11662
11665
  throw new Error("MeshBVH: Recursive calls to bvhcast not supported.");
11663
- _s = !0;
11666
+ ys = !0;
11664
11667
  const s = o._roots, a = e._roots;
11665
11668
  let n, c = 0, u = 0;
11666
11669
  const f = new J().copy(t).invert();
@@ -11668,7 +11671,7 @@ function Au(o, e, t, i) {
11668
11671
  si.setBuffer(s[d]), u = 0;
11669
11672
  const l = Xe.getPrimitive();
11670
11673
  j(0, si.float32Array, l), l.applyMatrix4(f);
11671
- for (let h = 0, m = a.length; h < m && (Hi.setBuffer(a[d]), n = Ae(
11674
+ for (let h = 0, m = a.length; h < m && (Wi.setBuffer(a[d]), n = Ae(
11672
11675
  0,
11673
11676
  0,
11674
11677
  t,
@@ -11679,16 +11682,16 @@ function Au(o, e, t, i) {
11679
11682
  0,
11680
11683
  0,
11681
11684
  l
11682
- ), Hi.clearBuffer(), u += a[h].length, !n); h++)
11685
+ ), Wi.clearBuffer(), u += a[h].length, !n); h++)
11683
11686
  ;
11684
11687
  if (Xe.releasePrimitive(l), si.clearBuffer(), c += s[d].length, n)
11685
11688
  break;
11686
11689
  }
11687
- return _s = !1, n;
11690
+ return ys = !1, n;
11688
11691
  }
11689
11692
  function Ae(o, e, t, i, s, a = 0, n = 0, c = 0, u = 0, f = null, d = !1) {
11690
11693
  let r, l;
11691
- d ? (r = Hi, l = si) : (r = si, l = Hi);
11694
+ d ? (r = Wi, l = si) : (r = si, l = Wi);
11692
11695
  const h = r.float32Array, m = r.uint32Array, v = r.uint16Array, p = l.float32Array, g = l.uint32Array, _ = l.uint16Array, y = o * 2, x = e * 2, w = ae(y, v), A = ae(x, _);
11693
11696
  let S = !1;
11694
11697
  if (A && w)
@@ -11744,8 +11747,8 @@ function Ae(o, e, t, i, s, a = 0, n = 0, c = 0, u = 0, f = null, d = !1) {
11744
11747
  ), Xe.releasePrimitive(C);
11745
11748
  } else {
11746
11749
  const C = _e(e), M = ye(e, g);
11747
- j(C, p, gs), j(M, p, vs);
11748
- const R = f.intersectsBox(gs), D = f.intersectsBox(vs);
11750
+ j(C, p, vs), j(M, p, _s);
11751
+ const R = f.intersectsBox(vs), D = f.intersectsBox(_s);
11749
11752
  if (R && D)
11750
11753
  S = Ae(
11751
11754
  o,
@@ -11789,7 +11792,7 @@ function Ae(o, e, t, i, s, a = 0, n = 0, c = 0, u = 0, f = null, d = !1) {
11789
11792
  );
11790
11793
  else {
11791
11794
  const T = Xe.getPrimitive();
11792
- T.copy(gs).applyMatrix4(t);
11795
+ T.copy(vs).applyMatrix4(t);
11793
11796
  const I = _e(o), P = ye(o, m);
11794
11797
  j(I, h, At), j(P, h, Tt);
11795
11798
  const L = T.intersectsBox(At), F = T.intersectsBox(Tt);
@@ -11836,7 +11839,7 @@ function Ae(o, e, t, i, s, a = 0, n = 0, c = 0, u = 0, f = null, d = !1) {
11836
11839
  );
11837
11840
  else {
11838
11841
  const T = Xe.getPrimitive();
11839
- T.copy(vs).applyMatrix4(t);
11842
+ T.copy(_s).applyMatrix4(t);
11840
11843
  const I = _e(o), P = ye(o, m);
11841
11844
  j(I, h, At), j(P, h, Tt);
11842
11845
  const L = T.intersectsBox(At), F = T.intersectsBox(Tt);
@@ -11903,7 +11906,7 @@ class er {
11903
11906
  indirect: !!e.indirectBuffer,
11904
11907
  ...i
11905
11908
  };
11906
- const { index: s, roots: a, indirectBuffer: n } = e, c = new er(t, { ...i, [cs]: !0 });
11909
+ const { index: s, roots: a, indirectBuffer: n } = e, c = new er(t, { ...i, [us]: !0 });
11907
11910
  if (c._roots = a, c._indirectBuffer = n || null, i.setIndex) {
11908
11911
  const u = t.getIndex();
11909
11912
  if (u === null) {
@@ -11927,10 +11930,10 @@ class er {
11927
11930
  ...Tu,
11928
11931
  // undocumented options
11929
11932
  // Whether to skip generating the tree. Used for deserialization.
11930
- [cs]: !1
11933
+ [us]: !1
11931
11934
  }, t), t.useSharedArrayBuffer && !bu())
11932
11935
  throw new Error("MeshBVH: SharedArrayBuffer is not available.");
11933
- this.geometry = e, this._roots = null, this._indirectBuffer = null, t[cs] || (Hc(this, t), !e.boundingBox && t.setBoundingBox && (e.boundingBox = this.getBoundingBox(new Y()))), this.resolveTriangleIndex = t.indirect ? (i) => this._indirectBuffer[i] : (i) => i;
11936
+ this.geometry = e, this._roots = null, this._indirectBuffer = null, t[us] || (Hc(this, t), !e.boundingBox && t.setBoundingBox && (e.boundingBox = this.getBoundingBox(new Y()))), this.resolveTriangleIndex = t.indirect ? (i) => this._indirectBuffer[i] : (i) => i;
11934
11937
  }
11935
11938
  refit(e = null) {
11936
11939
  return (this.indirect ? fu : $c)(this, e);
@@ -11939,7 +11942,7 @@ class er {
11939
11942
  const i = this._roots[t], s = new Uint32Array(i), a = new Uint16Array(i);
11940
11943
  n(0);
11941
11944
  function n(c, u = 0) {
11942
- const f = c * 2, d = a[f + 15] === Yi;
11945
+ const f = c * 2, d = a[f + 15] === Zi;
11943
11946
  if (d) {
11944
11947
  const r = s[c + 6], l = a[f + 14];
11945
11948
  e(u, d, new Float32Array(i, c * 4, 6), r, l);
@@ -11950,7 +11953,7 @@ class er {
11950
11953
  }
11951
11954
  }
11952
11955
  /* Core Cast Functions */
11953
- raycast(e, t = xs, i = 0, s = 1 / 0) {
11956
+ raycast(e, t = ws, i = 0, s = 1 / 0) {
11954
11957
  const a = this._roots, n = this.geometry, c = [], u = t.isMaterial, f = Array.isArray(t), d = n.groups, r = u ? t.side : t, l = this.indirect ? du : su;
11955
11958
  for (let h = 0, m = a.length; h < m; h++) {
11956
11959
  const v = f ? t[d[h].materialIndex].side : r, p = c.length;
@@ -11962,7 +11965,7 @@ class er {
11962
11965
  }
11963
11966
  return c;
11964
11967
  }
11965
- raycastFirst(e, t = xs, i = 0, s = 1 / 0) {
11968
+ raycastFirst(e, t = ws, i = 0, s = 1 / 0) {
11966
11969
  const a = this._roots, n = this.geometry, c = t.isMaterial, u = Array.isArray(t);
11967
11970
  let f = null;
11968
11971
  const d = n.groups, r = c ? t.side : t, l = this.indirect ? mu : nu;
@@ -13064,18 +13067,18 @@ const Wu = () => {
13064
13067
  }, Vu = new ni({ colorWrite: !1 });
13065
13068
  class Eh {
13066
13069
  constructor(e) {
13067
- this.props = e, this.stats = new ti(), this.scene = new ws(), this.overlayScene = new ws(), this.renderer = new fo({
13070
+ this.props = e, this.stats = new ti(), this.scene = new bs(), this.overlayScene = new bs(), this.renderer = new fo({
13068
13071
  antialias: !0,
13069
13072
  alpha: !0,
13070
13073
  logarithmicDepthBuffer: !0,
13071
13074
  powerPreference: "high-performance",
13072
13075
  preserveDrawingBuffer: !0
13073
- }), this.css2dRenderer = new yo(), this.mousePos = new z(), this.mouseCoord = new z(), this.offset = new z(), this.size = new z(), this.amr = new bc({ showSizeBox: !0, showController: !0 }), this._selectedForOutline = [], this._clock = new Gi(!0), this._uiHiddenTime = this._clock.getElapsedTime(), this.camera = new Ni(
13076
+ }), this.css2dRenderer = new yo(), this.mousePos = new z(), this.mouseCoord = new z(), this.offset = new z(), this.size = new z(), this.amr = new bc({ showSizeBox: !0, showController: !0 }), this._selectedForOutline = [], this._clock = new qi(!0), this._uiHiddenTime = this._clock.getElapsedTime(), this.camera = new Gi(
13074
13077
  39.6,
13075
13078
  window.innerWidth / window.innerHeight,
13076
13079
  0.1,
13077
13080
  1e4
13078
- ), this.d = 2, this.orthographicCamera = new Ts(
13081
+ ), this.d = 2, this.orthographicCamera = new Ss(
13079
13082
  -this.d * (window.innerWidth / window.innerHeight),
13080
13083
  this.d * (window.innerWidth / window.innerHeight),
13081
13084
  this.d,
@@ -13148,16 +13151,16 @@ class Eh {
13148
13151
  me.getZ(Ne)
13149
13152
  ), Nn) {
13150
13153
  l.set(0, 0, 0);
13151
- let Xi = 0;
13154
+ let Ki = 0;
13152
13155
  for (let ht = 0; ht < ce.length; ht++) {
13153
13156
  const li = tr[ht] || 0;
13154
- li && (Xi += li, h.set(
13157
+ li && (Ki += li, h.set(
13155
13158
  ce[ht].getX(Ne),
13156
13159
  ce[ht].getY(Ne),
13157
13160
  ce[ht].getZ(Ne)
13158
13161
  ), q.morphTargetsRelative, l.addScaledVector(h, li));
13159
13162
  }
13160
- q.morphTargetsRelative ? r.add(l) : Xi > 0 && (r.multiplyScalar(1 - Xi), r.add(l));
13163
+ q.morphTargetsRelative ? r.add(l) : Ki > 0 && (r.multiplyScalar(1 - Ki), r.add(l));
13161
13164
  }
13162
13165
  m.copy(r).applyMatrix4(W.matrixWorld), f.expandByPoint(m);
13163
13166
  }
@@ -13378,7 +13381,7 @@ class Eh {
13378
13381
  return this._mainCamera;
13379
13382
  }
13380
13383
  set mainCamera(e) {
13381
- this._mainCamera = e, e instanceof Ts ? this.scene.background = null : this.scene.background = this.scene.environment;
13384
+ this._mainCamera = e, e instanceof Ss ? this.scene.background = null : this.scene.background = this.scene.environment;
13382
13385
  }
13383
13386
  showState() {
13384
13387
  this.stats.dom.style.display = "block";
@@ -13580,7 +13583,7 @@ class Eh {
13580
13583
  }
13581
13584
  class Nu {
13582
13585
  constructor(e) {
13583
- this.deps = e, this.canvas = null, this.pixelBuffer = null, this.orthoCamera = new Ts(-1, 1, 1, -1, 0.1, 1e3), this.orthoCamera.position.set(0, 0, 5), this.perspectiveCamera = new Ni(45, 1, 0.1, 2e3);
13586
+ this.deps = e, this.canvas = null, this.pixelBuffer = null, this.orthoCamera = new Ss(-1, 1, 1, -1, 0.1, 1e3), this.orthoCamera.position.set(0, 0, 5), this.perspectiveCamera = new Gi(45, 1, 0.1, 2e3);
13584
13587
  }
13585
13588
  async capture(e) {
13586
13589
  var m, v, p, g, _, y;
@@ -13651,7 +13654,7 @@ class Nu {
13651
13654
  ];
13652
13655
  }
13653
13656
  computeBounds(e) {
13654
- const t = new Y(), i = new Y(), s = new b(), a = new b(), n = new qi();
13657
+ const t = new Y(), i = new Y(), s = new b(), a = new b(), n = new ji();
13655
13658
  return e.updateMatrixWorld(!0), e.traverse((c) => {
13656
13659
  if (!c.visible)
13657
13660
  return;
@@ -13766,7 +13769,7 @@ class Nu {
13766
13769
  return this.canvas || (this.canvas = document.createElement("canvas")), (this.canvas.width !== e || this.canvas.height !== t) && (this.canvas.width = e, this.canvas.height = t), this.canvas;
13767
13770
  }
13768
13771
  }
13769
- const Gu = "shop-components", qu = "0.4.4", ju = "Shop components", Qu = "dist/shop-components.umd.js", Yu = "dist/shop-components.mjs", Zu = "dist/main.d.ts", Xu = {
13772
+ const Gu = "shop-components", qu = "0.4.5", ju = "Shop components", Qu = "dist/shop-components.umd.js", Yu = "dist/shop-components.mjs", Zu = "dist/main.d.ts", Xu = {
13770
13773
  dts: "tsc --emitDeclarationOnly & tsc & storybook build -o dist",
13771
13774
  dev: "vite dev",
13772
13775
  build: "vite build",
@@ -13829,7 +13832,7 @@ try {
13829
13832
  export {
13830
13833
  bc as Amr,
13831
13834
  jr as Logo,
13832
- Ps as SGLBLoader,
13835
+ Hi as SGLBLoader,
13833
13836
  $ as SLOT_EVENTS,
13834
13837
  Eh as Scene3D,
13835
13838
  on as Skin,