a3js 0.0.38 → 0.0.39

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.
package/dist/a3js.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as re from "three";
2
- import { Loader as ut, LoaderUtils as Dt, FileLoader as ht, Vector3 as _e, Vector2 as At, TextureLoader as Fi, Scene as mo, Object3D as ct, Group as zt, CubeTextureLoader as Eo, MeshBasicMaterial as Tt, PointsMaterial as Oi, Points as Mi, LineBasicMaterial as Pi, LineSegments as Ui, FrontSide as Gi, DoubleSide as Hi, Mesh as ji, MeshPhongMaterial as Io, Color as Je, SRGBColorSpace as Xe, DataTexture as qi, RepeatWrapping as vt, DirectionalLight as zi, AmbientLight as wn, PointLight as Ki, SpotLight as Vi, Fog as bo, FogExp2 as Co, BufferGeometry as It, Float32BufferAttribute as ze, BoxGeometry as yo, ConeGeometry as Bo, CylinderGeometry as wo, SphereGeometry as To, Quaternion as Jt, ShapeUtils as vo, ColorManagement as Xt, ClampToEdgeWrapping as Ht, CubeTexture as Ro, LinearMipmapLinearFilter as Zt, LinearFilter as Ct, Skeleton as Wi, Bone as Yi, VectorKeyframeTrack as cn, QuaternionKeyframeTrack as Un, AnimationClip as Ji, Matrix4 as Ot, TrianglesDrawMode as Qo, TriangleFanDrawMode as Gn, TriangleStripDrawMode as Xi, MeshPhysicalMaterial as ft, LinearSRGBColorSpace as st, InstancedMesh as ko, InstancedBufferAttribute as So, ImageBitmapLoader as xo, BufferAttribute as Kt, InterleavedBuffer as Zi, InterleavedBufferAttribute as $i, NearestMipmapLinearFilter as Lo, LinearMipmapNearestFilter as _o, NearestMipmapNearestFilter as er, NearestFilter as ln, MirroredRepeatWrapping as No, Material as Tn, MeshStandardMaterial as tr, PropertyBinding as Do, SkinnedMesh as Fo, Line as Oo, LineLoop as Mo, PerspectiveCamera as Po, MathUtils as Uo, OrthographicCamera as Go, InterpolateDiscrete as Ho, InterpolateLinear as nr, Texture as li, NumberKeyframeTrack as ui, Interpolant as jo, Box3 as qo, Sphere as zo, CompressedCubeTexture as Ko, CompressedArrayTexture as Vo, CompressedTexture as ir, NoColorSpace as hi, RGBA_PVRTC_2BPPV1_Format as di, RGBA_PVRTC_4BPPV1_Format as Hn, RGBA_BPTC_Format as jn, RED_GREEN_RGTC2_Format as Wo, SIGNED_RED_GREEN_RGTC2_Format as Yo, RED_RGTC1_Format as Jo, SIGNED_RED_RGTC1_Format as Xo, RGBA_S3TC_DXT3_Format as fi, RGB_S3TC_DXT1_Format as pi, RGBA_S3TC_DXT1_Format as qn, RGBA_ASTC_6x6_Format as vn, RGBA_ASTC_4x4_Format as sn, SIGNED_RG11_EAC_Format as Zo, RG11_EAC_Format as $o, SIGNED_R11_EAC_Format as es, R11_EAC_Format as ts, RGB_ETC2_Format as rr, RGBA_ETC2_EAC_Format as or, RGBFormat as zn, RedFormat as jt, RGFormat as qt, RGBAFormat as Nt, UnsignedByteType as Ne, HalfFloatType as wt, UnsignedInt101111Type as sr, UnsignedInt5999Type as ar, FloatType as Vt, Data3DTexture as ns, RGB_PVRTC_4BPPV1_Format as is, RGB_ETC1_Format as rs, RGBA_S3TC_DXT5_Format as os, RGB_BPTC_UNSIGNED_Format as ss, ShapePath as as, ExtrudeGeometry as As } from "three";
2
+ import { Loader as ut, LoaderUtils as Dt, FileLoader as ht, Vector3 as _e, Vector2 as At, TextureLoader as Di, Scene as mo, Object3D as ct, Group as zt, CubeTextureLoader as Eo, MeshBasicMaterial as Tt, PointsMaterial as Fi, Points as Oi, LineBasicMaterial as Mi, LineSegments as Pi, FrontSide as Ui, DoubleSide as Gi, Mesh as Hi, MeshPhongMaterial as Io, Color as Je, SRGBColorSpace as Xe, DataTexture as ji, RepeatWrapping as vt, DirectionalLight as qi, AmbientLight as wn, PointLight as zi, SpotLight as Ki, Fog as bo, FogExp2 as Co, BufferGeometry as It, Float32BufferAttribute as ze, BoxGeometry as yo, ConeGeometry as Bo, CylinderGeometry as wo, SphereGeometry as To, Quaternion as Jt, ShapeUtils as vo, ColorManagement as Xt, ClampToEdgeWrapping as Ht, CubeTexture as Ro, LinearMipmapLinearFilter as Zt, LinearFilter as Ct, Skeleton as Vi, Bone as Wi, VectorKeyframeTrack as cn, QuaternionKeyframeTrack as Un, AnimationClip as Yi, Matrix4 as Ot, TrianglesDrawMode as Qo, TriangleFanDrawMode as Gn, TriangleStripDrawMode as Ji, MeshPhysicalMaterial as ft, LinearSRGBColorSpace as st, InstancedMesh as ko, InstancedBufferAttribute as So, ImageBitmapLoader as xo, BufferAttribute as Kt, InterleavedBuffer as Xi, InterleavedBufferAttribute as Zi, NearestMipmapLinearFilter as Lo, LinearMipmapNearestFilter as _o, NearestMipmapNearestFilter as $i, NearestFilter as ln, MirroredRepeatWrapping as No, Material as Tn, MeshStandardMaterial as er, PropertyBinding as Do, SkinnedMesh as Fo, Line as Oo, LineLoop as Mo, PerspectiveCamera as Po, MathUtils as Uo, OrthographicCamera as Go, InterpolateDiscrete as Ho, InterpolateLinear as tr, Texture as ci, NumberKeyframeTrack as li, Interpolant as jo, Box3 as qo, Sphere as zo, CompressedCubeTexture as Ko, CompressedArrayTexture as Vo, CompressedTexture as nr, NoColorSpace as ui, RGBA_PVRTC_2BPPV1_Format as hi, RGBA_PVRTC_4BPPV1_Format as Hn, RGBA_BPTC_Format as jn, RED_GREEN_RGTC2_Format as Wo, SIGNED_RED_GREEN_RGTC2_Format as Yo, RED_RGTC1_Format as Jo, SIGNED_RED_RGTC1_Format as Xo, RGBA_S3TC_DXT3_Format as di, RGB_S3TC_DXT1_Format as fi, RGBA_S3TC_DXT1_Format as qn, RGBA_ASTC_6x6_Format as vn, RGBA_ASTC_4x4_Format as sn, SIGNED_RG11_EAC_Format as Zo, RG11_EAC_Format as $o, SIGNED_R11_EAC_Format as es, R11_EAC_Format as ts, RGB_ETC2_Format as ir, RGBA_ETC2_EAC_Format as rr, RGBFormat as zn, RedFormat as jt, RGFormat as qt, RGBAFormat as Nt, UnsignedByteType as Ne, HalfFloatType as wt, UnsignedInt101111Type as or, UnsignedInt5999Type as sr, FloatType as Vt, Data3DTexture as ns, RGB_PVRTC_4BPPV1_Format as is, RGB_ETC1_Format as rs, RGBA_S3TC_DXT5_Format as os, RGB_BPTC_UNSIGNED_Format as ss, ShapePath as as, ExtrudeGeometry as As } from "three";
3
3
  import { unzip as cs, strFromU8 as ls } from "fflate";
4
4
  class ae {
5
5
  x = 0;
@@ -148,7 +148,7 @@ function us(i) {
148
148
  return e[0][0] = 1 - (A + d), e[0][1] = s - p, e[0][2] = c + m, e[1][0] = s + p, e[1][1] = 1 - (o + d), e[1][2] = a - u, e[2][0] = c - m, e[2][1] = a + u, e[2][2] = 1 - (o + A), e;
149
149
  }
150
150
  const St = (i) => Math.max(-1, Math.min(1, i));
151
- function gi(i, e = "ZXY", t) {
151
+ function pi(i, e = "ZXY", t) {
152
152
  const n = us(i), r = t ?? new ae();
153
153
  let o = 0, s = 0, c = 0;
154
154
  switch (e) {
@@ -322,7 +322,7 @@ class hs {
322
322
  update(e) {
323
323
  }
324
324
  }
325
- class Ar {
325
+ class ar {
326
326
  startTransform;
327
327
  transform;
328
328
  // 現在のTransform
@@ -372,7 +372,7 @@ class Ar {
372
372
  setAngularVelocity(e) {
373
373
  }
374
374
  getAngularVelocity(e) {
375
- e || (e = new ae()), gi(this.startTransform.quat, "ZXY", rn), gi(this.endTransform.quat, "ZXY", on), e.set(on.x - rn.x, on.y - rn.y, on.z - rn.z);
375
+ e || (e = new ae()), pi(this.startTransform.quat, "ZXY", rn), pi(this.endTransform.quat, "ZXY", on), e.set(on.x - rn.x, on.y - rn.y, on.z - rn.z);
376
376
  const t = this.currentTime < this.duration ? this.currentTime : this.duration;
377
377
  return e.scale((-6 * t * t + 6 * t) / this.duration), e;
378
378
  }
@@ -424,7 +424,7 @@ class ds extends un {
424
424
  lt.set(this.transform.loc), this.target.getPosition(Mt), yt(lt, Mt, this.up, Qt), this.transform.quat.set(Qt);
425
425
  }
426
426
  }
427
- class fs extends Ar {
427
+ class fs extends ar {
428
428
  up;
429
429
  target;
430
430
  constructor(e) {
@@ -445,7 +445,7 @@ const ps = {
445
445
  lookFrom: { x: 0, y: 5, z: -10 },
446
446
  smoothness: 0.9
447
447
  };
448
- class FA extends hs {
448
+ class gs extends hs {
449
449
  options;
450
450
  target;
451
451
  lookFrom;
@@ -463,7 +463,7 @@ class FA extends hs {
463
463
  super.update(e), lt.set(this.transform.loc), this.target.getPosition(Mt), yt(lt, Mt, this.up, Qt), Qt.mul(0, 1, 0, 0), nn.quat.set(Qt), lt.set(this.lookFrom), lt.apply(this.target.getQuat()), lt.add(this.target.getPosition()), nn.loc.set(lt), this.transform.loc.lerp(this.transform.loc, nn.loc, 1 - this.options.smoothness), this.transform.quat.slerp(this.transform.quat, nn.quat, 1 - this.options.smoothness);
464
464
  }
465
465
  }
466
- const Kn = {
466
+ const Ar = {
467
467
  rigidBody: "dynamic",
468
468
  collider: "solid",
469
469
  meshCollider: "convex_hull",
@@ -477,31 +477,31 @@ const Kn = {
477
477
  function cr(i) {
478
478
  return typeof i == "string";
479
479
  }
480
- function ti(i) {
480
+ function ei(i) {
481
481
  return i.isMesh === !0;
482
482
  }
483
- function gs(i) {
483
+ function ms(i) {
484
484
  return i.type === "RoundedBoxGeometry";
485
485
  }
486
- function ms(i) {
486
+ function Es(i) {
487
487
  return i.type === "BoxGeometry";
488
488
  }
489
- function Es(i) {
489
+ function Is(i) {
490
490
  return i.type === "SphereGeometry";
491
491
  }
492
- function Is(i) {
492
+ function bs(i) {
493
493
  return i.type === "IcosahedronGeometry";
494
494
  }
495
- function bs(i) {
495
+ function Cs(i) {
496
496
  return i.type === "CylinderGeometry";
497
497
  }
498
- function Cs(i) {
498
+ function ys(i) {
499
499
  return i.type === "CapsuleGeometry";
500
500
  }
501
- function ys(i) {
501
+ function Bs(i) {
502
502
  return i.isBone === !0;
503
503
  }
504
- function Bs(i) {
504
+ function ws(i) {
505
505
  return i.isPerspectiveCamera === !0;
506
506
  }
507
507
  let je;
@@ -569,7 +569,7 @@ class lr {
569
569
  }), e;
570
570
  }
571
571
  }
572
- class mi {
572
+ class gi {
573
573
  transform;
574
574
  objectA3;
575
575
  bodyDesc;
@@ -580,7 +580,7 @@ class mi {
580
580
  // 最低限の初期化。
581
581
  constructor(e = {}) {
582
582
  this.completeOptions = {
583
- ...Kn,
583
+ ...Ar,
584
584
  ...e
585
585
  }, this.transform = new Ke(), this.colliderDescs = [], this.colliders = [];
586
586
  }
@@ -612,18 +612,18 @@ class mi {
612
612
  if (!this.objectA3) return;
613
613
  const e = this.completeOptions, t = [];
614
614
  this.objectA3.object3D.traverse((r) => {
615
- if (ti(r)) {
616
- const o = vs(r.geometry), s = e.membership << 16 | e.filter;
615
+ if (ei(r)) {
616
+ const o = Rs(r.geometry), s = e.membership << 16 | e.filter;
617
617
  if (o)
618
618
  o.colliderDesc.setCollisionGroups(s), e.collisionDetection && o.colliderDesc.setActiveEvents(je.ActiveEvents.COLLISION_EVENTS), this.colliderDescs.push(o.colliderDesc), o.colliderDesc.setRestitution(e.restitution).setFriction(e.friction), t.push(o.volume);
619
619
  else {
620
620
  let c, A;
621
621
  switch (e.meshCollider) {
622
622
  case "tri_mesh":
623
- c = ws(r), A = Ei(r.geometry);
623
+ c = Ts(r), A = mi(r.geometry);
624
624
  break;
625
625
  case "convex_hull":
626
- c = Ts(r), A = Ei(r.geometry);
626
+ c = vs(r), A = mi(r.geometry);
627
627
  break;
628
628
  }
629
629
  c && (c.setCollisionGroups(s), e.collisionDetection && c.setActiveEvents(je.ActiveEvents.COLLISION_EVENTS), this.colliderDescs.push(c), t.push(A));
@@ -635,13 +635,13 @@ class mi {
635
635
  this.colliderDescs[r].setRestitution(e.restitution), this.colliderDescs[r].setFriction(e.friction), this.colliderDescs[r].setMass(e.mass * (t[r] / n));
636
636
  }
637
637
  init(e, t) {
638
- this.transform.set(e), this.objectA3 = t, this.colliderDescs = [], this.colliders = [], this.bodyDesc = this.makeBodyDesc(), this.configColliderDescs();
638
+ this.transform.set(e), this.objectA3 = t, this.colliderDescs = [], this.colliders = [], this.bodyDesc = this.makeBodyDesc(), this.configColliderDescs(), this.bodyDesc.setTranslation(e.loc.x, e.loc.y, e.loc.z), this.bodyDesc.setRotation(e.quat);
639
639
  }
640
640
  addOneselfToPhysics(e) {
641
641
  this.bodyDesc && (this.body = e.world.createRigidBody(this.bodyDesc), this.colliderDescs.forEach((t) => {
642
642
  const n = e.world.createCollider(t, this.body);
643
643
  this.colliders.push(n), this.objectA3 && dt.set(n.handle, this.objectA3);
644
- }));
644
+ }), this.body.setTranslation(this.transform.loc, !0), this.body.setRotation(this.transform.quat, !0));
645
645
  }
646
646
  removeOneselfFromPhysics(e) {
647
647
  this.body && e.world.removeRigidBody(this.body), this.colliders.forEach((t) => {
@@ -711,9 +711,9 @@ class mi {
711
711
  }
712
712
  }
713
713
  }
714
- function ws(i) {
714
+ function Ts(i) {
715
715
  let e = null;
716
- if (ti(i)) {
716
+ if (ei(i)) {
717
717
  const t = i;
718
718
  t.updateWorldMatrix(!0, !0);
719
719
  const n = t.geometry.clone();
@@ -731,9 +731,9 @@ function ws(i) {
731
731
  }
732
732
  return e;
733
733
  }
734
- function Ts(i) {
734
+ function vs(i) {
735
735
  let e = null;
736
- if (ti(i)) {
736
+ if (ei(i)) {
737
737
  const t = i;
738
738
  t.updateWorldMatrix(!0, !0);
739
739
  const n = t.geometry.clone();
@@ -743,7 +743,7 @@ function Ts(i) {
743
743
  }
744
744
  return e;
745
745
  }
746
- function Ei(i) {
746
+ function mi(i) {
747
747
  const e = i.attributes.position;
748
748
  if (!e)
749
749
  throw new Error("position attribute not found");
@@ -761,39 +761,39 @@ function Ei(i) {
761
761
  o.set(n[A], n[A + 1], n[A + 2]), s.set(n[A + 3], n[A + 4], n[A + 5]), c.set(n[A + 6], n[A + 7], n[A + 8]), r += o.dot(s.clone().cross(c));
762
762
  return Math.abs(r) / 6;
763
763
  }
764
- function vs(i) {
765
- if (gs(i)) {
764
+ function Rs(i) {
765
+ if (ms(i)) {
766
766
  const e = i.parameters, t = typeof e?.width == "number" ? e.width / 2 : 0.5, n = typeof e?.height == "number" ? e.height / 2 : 0.5, r = typeof e?.depth == "number" ? e.depth / 2 : 0.5, o = 0.1;
767
767
  return {
768
768
  colliderDesc: je.ColliderDesc.roundCuboid(t - o, n - o, r - o, o),
769
769
  volume: 2 * t * 2 * n * 2 * r
770
770
  // GAHA radiusも取れないし、不正確な体積
771
771
  };
772
- } else if (ms(i)) {
772
+ } else if (Es(i)) {
773
773
  const e = i.parameters, t = typeof e?.width == "number" ? e.width / 2 : 0.5, n = typeof e?.height == "number" ? e.height / 2 : 0.5, r = typeof e?.depth == "number" ? e.depth / 2 : 0.5;
774
774
  return {
775
775
  colliderDesc: je.ColliderDesc.cuboid(t, n, r),
776
776
  volume: 2 * t * 2 * n * 2 * r
777
777
  };
778
- } else if (Es(i)) {
778
+ } else if (Is(i)) {
779
779
  const e = i.parameters, t = typeof e?.radius == "number" ? e.radius : 1;
780
780
  return {
781
781
  colliderDesc: je.ColliderDesc.ball(t),
782
782
  volume: 4 / 3 * Math.PI * t * t * t
783
783
  };
784
- } else if (Is(i)) {
784
+ } else if (bs(i)) {
785
785
  const e = i.parameters, t = typeof e?.radius == "number" ? e.radius : 1;
786
786
  return {
787
787
  colliderDesc: je.ColliderDesc.ball(t),
788
788
  volume: 4 / 3 * Math.PI * t * t * t
789
789
  };
790
- } else if (bs(i)) {
790
+ } else if (Cs(i)) {
791
791
  const e = i.parameters, t = typeof e?.radiusBottom == "number" ? e.radiusBottom : 0.5, n = typeof e?.height == "number" ? e.height : 0.5;
792
792
  return {
793
793
  colliderDesc: je.ColliderDesc.cylinder(n / 2, t),
794
794
  volume: Math.PI * t * t * n
795
795
  };
796
- } else if (Cs(i)) {
796
+ } else if (ys(i)) {
797
797
  const e = i.parameters, t = typeof e?.radius == "number" ? e.radius : 0.5, n = typeof e?.height == "number" ? e.height : 0.5;
798
798
  return {
799
799
  colliderDesc: je.ColliderDesc.capsule(n / 2, t),
@@ -802,9 +802,9 @@ function vs(i) {
802
802
  }
803
803
  return null;
804
804
  }
805
- const Vn = new hn();
806
- async function OA() {
807
- await Vn.init();
805
+ const Kn = new hn();
806
+ async function PA() {
807
+ await Kn.init();
808
808
  }
809
809
  const _ = {
810
810
  v0: new ae(),
@@ -823,7 +823,7 @@ const _ = {
823
823
  t3: new Ke(),
824
824
  t4: new Ke()
825
825
  };
826
- function MA(i) {
826
+ function UA(i) {
827
827
  return new Promise((e) => {
828
828
  setTimeout(() => {
829
829
  e();
@@ -843,14 +843,14 @@ function dn(i, e) {
843
843
  return ls(i.unzipped[e]);
844
844
  throw new Error(`readStringFromUnzippedA3(): no file at ${e}`);
845
845
  }
846
- function Wn(i, e) {
846
+ function Vn(i, e) {
847
847
  if (e = e.replace(/^\.\//, "").replace(/^\//, ""), i.unzipped[e]) {
848
- const t = Qs(e);
848
+ const t = ks(e);
849
849
  return new Blob([new Uint8Array(i.unzipped[e])], { type: t });
850
850
  } else
851
851
  throw new Error(`readBlobFromUnzippedA3(): no file at ${e}`);
852
852
  }
853
- const Rs = {
853
+ const Qs = {
854
854
  "image/png": /\.png$/i,
855
855
  "image/jpeg": /\.(jpg|jpeg)$/i,
856
856
  "image/gif": /\.gif$/i,
@@ -865,21 +865,249 @@ const Rs = {
865
865
  "model/gltf+json": /\.gltf$/i,
866
866
  "model/gltf-binary": /\.glb$/i
867
867
  };
868
- function Qs(i) {
869
- for (const [e, t] of Object.entries(Rs))
868
+ function ks(i) {
869
+ for (const [e, t] of Object.entries(Qs))
870
870
  if (t.test(i))
871
871
  return e;
872
872
  return "application/octet-stream";
873
873
  }
874
- function ni(i, e) {
874
+ function ti(i, e) {
875
875
  if (!e) return i;
876
876
  const t = { ...i };
877
877
  for (const n in e)
878
- typeof i[n] == "object" && typeof e[n] == "object" ? t[n] = ni(i[n], e[n]) : t[n] = e[n];
878
+ typeof i[n] == "object" && typeof e[n] == "object" ? t[n] = ti(i[n], e[n]) : t[n] = e[n];
879
879
  return t;
880
880
  }
881
- const ks = new re.SphereGeometry(), Ss = new re.MeshStandardMaterial({ color: 16711680 });
882
- let xs = new re.Mesh(ks, Ss);
881
+ const Ss = {
882
+ offset: 0.01,
883
+ auto: !0,
884
+ height: 1.5,
885
+ radius: 0.3
886
+ };
887
+ class xs {
888
+ transform;
889
+ objectA3;
890
+ completeOptions;
891
+ controller;
892
+ colliderDesc;
893
+ // Capsule
894
+ collider;
895
+ // Capsule
896
+ capsuleCenter;
897
+ nextLocation;
898
+ tmpV1;
899
+ tmpV2;
900
+ tmpQ1;
901
+ constructor(e = {}) {
902
+ this.completeOptions = {
903
+ ...Ss,
904
+ ...e
905
+ }, this.transform = new Ke(), this.capsuleCenter = new ae(), this.nextLocation = new ae(), this.tmpV1 = new ae(), this.tmpV2 = new ae(), this.tmpQ1 = new Ue();
906
+ }
907
+ init(e, t) {
908
+ if (this.transform.set(e), this.completeOptions.auto) {
909
+ const n = new re.Vector3(), r = new re.Quaternion(), o = new re.Object3D();
910
+ o.add(t.object3D), t.getPosition(this.tmpV1), this.tmpV1.write(n), o.position.set(n.x, n.y, n.z), t.getQuat(this.tmpQ1), this.tmpQ1.write(r), o.quaternion.set(r.x, r.y, r.z, r.w), t.getScale(this.tmpV2), this.tmpV2.write(n), o.scale.set(n.x, n.y, n.z);
911
+ const s = new re.Box3().setFromObject(o);
912
+ o.remove(t.object3D), s.getSize(n), this.completeOptions.radius = Math.max(n.x, n.z) / 2, this.completeOptions.height = n.y - this.completeOptions.radius * 2, s.getCenter(n), this.capsuleCenter.set(n);
913
+ }
914
+ this.colliderDesc = je.ColliderDesc.capsule(
915
+ this.completeOptions.height,
916
+ this.completeOptions.radius
917
+ ), this.colliderDesc.setTranslation(
918
+ e.loc.x,
919
+ e.loc.y,
920
+ e.loc.z
921
+ ), this.colliderDesc.setRotation({
922
+ x: e.quat.x,
923
+ y: e.quat.y,
924
+ z: e.quat.z,
925
+ w: e.quat.w
926
+ });
927
+ }
928
+ addOneselfToPhysics(e) {
929
+ this.controller = e.world.createCharacterController(this.completeOptions.offset), this.colliderDesc && (this.collider = e.world.createCollider(this.colliderDesc)), this.collider && this.objectA3 && dt.set(this.collider.handle, this.objectA3);
930
+ }
931
+ removeOneselfFromPhysics(e) {
932
+ this.collider && (e.world.removeCollider(this.collider, !1), dt.delete(this.collider.handle));
933
+ }
934
+ setPosition(e) {
935
+ this.tmpV1.set(e), this.tmpV1.add(this.capsuleCenter), this.nextLocation.set(this.tmpV1);
936
+ }
937
+ setPositionNow(e) {
938
+ this.tmpV1.set(e), this.tmpV1.add(this.capsuleCenter), e = this.tmpV1, this.collider && this.collider.setTranslation(e), this.transform.loc.set(e), this.nextLocation.set(e);
939
+ }
940
+ setQuat(e) {
941
+ this.collider && this.collider.setRotation(e), this.transform.quat.set(e);
942
+ }
943
+ setQuatNow(e) {
944
+ this.collider && this.collider.setRotation(e), this.transform.quat.set(e);
945
+ }
946
+ setScale(e) {
947
+ }
948
+ setScaleNow(e) {
949
+ }
950
+ setLinearVelocity(e) {
951
+ }
952
+ getLinearVelocity(e) {
953
+ return e || (e = new ae()), e.set(0, 0, 0), e;
954
+ }
955
+ setAngularVelocity(e) {
956
+ }
957
+ getAngularVelocity(e) {
958
+ return e || (e = new ae()), e.set(0, 0, 0), e;
959
+ }
960
+ resetForce() {
961
+ }
962
+ addForce(e) {
963
+ }
964
+ addForceAtPoint(e, t) {
965
+ }
966
+ resetTorque() {
967
+ }
968
+ addTorque(e) {
969
+ }
970
+ applyImpulse(e) {
971
+ }
972
+ applyImpulseAtPoint(e, t) {
973
+ }
974
+ applyTorqueImpulse(e) {
975
+ }
976
+ isGrounded() {
977
+ return this.controller ? this.controller.computedGrounded() : !1;
978
+ }
979
+ update(e) {
980
+ if (!this.controller || !this.collider)
981
+ return;
982
+ this.transform.quat.set(this.collider.rotation()), this.tmpV1.set(this.collider.translation()), this.tmpV2.set(this.nextLocation), this.tmpV2.sub(this.tmpV1), this.controller.computeColliderMovement(this.collider, this.tmpV2);
983
+ const t = this.controller.computedMovement();
984
+ this.tmpV1.add(t), this.collider.setTranslation(this.tmpV1), this.tmpV1.sub(this.capsuleCenter), this.transform.loc.set(this.tmpV1), this.nextLocation.set(this.tmpV1);
985
+ }
986
+ }
987
+ const Ls = {
988
+ auto: !0,
989
+ height: 1.5,
990
+ radius: 0.3
991
+ };
992
+ class _s {
993
+ transform;
994
+ objectA3;
995
+ completeOptions;
996
+ colliderDesc;
997
+ // Capsule
998
+ collider;
999
+ // Capsule
1000
+ bodyDesc;
1001
+ body;
1002
+ capsuleCenter;
1003
+ nextLocation;
1004
+ tmpV1;
1005
+ tmpV2;
1006
+ tmpQ1;
1007
+ physicsWorld;
1008
+ constructor(e = {}) {
1009
+ this.completeOptions = {
1010
+ ...Ls,
1011
+ ...e
1012
+ }, this.transform = new Ke(), this.capsuleCenter = new ae(), this.nextLocation = new ae(), this.tmpV1 = new ae(), this.tmpV2 = new ae(), this.tmpQ1 = new Ue();
1013
+ }
1014
+ init(e, t) {
1015
+ if (this.transform.set(e), this.completeOptions.auto) {
1016
+ const n = new re.Vector3(), r = new re.Quaternion(), o = new re.Object3D();
1017
+ o.add(t.object3D), t.getPosition(this.tmpV1), this.tmpV1.write(n), o.position.set(n.x, n.y, n.z), t.getQuat(this.tmpQ1), this.tmpQ1.write(r), o.quaternion.set(r.x, r.y, r.z, r.w), t.getScale(this.tmpV2), this.tmpV2.write(n), o.scale.set(n.x, n.y, n.z);
1018
+ const s = new re.Box3().setFromObject(o);
1019
+ s.getSize(n), this.completeOptions.radius = Math.max(n.x, n.z) / 2, this.completeOptions.height = n.y - this.completeOptions.radius * 2, s.getCenter(n), this.capsuleCenter.set(n);
1020
+ }
1021
+ this.bodyDesc = je.RigidBodyDesc.dynamic(), this.bodyDesc.setTranslation(
1022
+ e.loc.x,
1023
+ e.loc.y,
1024
+ e.loc.z
1025
+ ), this.bodyDesc.setRotation(e.quat), this.colliderDesc = je.ColliderDesc.capsule(
1026
+ this.completeOptions.height,
1027
+ this.completeOptions.radius
1028
+ );
1029
+ }
1030
+ addOneselfToPhysics(e) {
1031
+ this.physicsWorld = e, this.bodyDesc && (this.body = e.world.createRigidBody(this.bodyDesc), this.body.setEnabledRotations(!1, !1, !1, !0), this.body.setTranslation(this.transform.loc, !0), this.body.setRotation(this.transform.quat, !0)), this.colliderDesc && (this.collider = e.world.createCollider(this.colliderDesc, this.body)), this.collider && this.objectA3 && dt.set(this.collider.handle, this.objectA3);
1032
+ }
1033
+ removeOneselfFromPhysics(e) {
1034
+ this.body && e.world.removeRigidBody(this.body), this.collider && (e.world.removeCollider(this.collider, !1), dt.delete(this.collider.handle)), this.physicsWorld = void 0;
1035
+ }
1036
+ setPosition(e) {
1037
+ this.tmpV1.set(e), this.tmpV1.add(this.capsuleCenter), this.nextLocation.set(this.tmpV1);
1038
+ }
1039
+ setPositionNow(e) {
1040
+ this.tmpV1.set(e), this.tmpV1.add(this.capsuleCenter), e = this.tmpV1, this.body ? this.body.setTranslation(e, !0) : this.bodyDesc?.setTranslation(e.x, e.y, e.z), this.transform.loc.set(e), this.nextLocation.set(e);
1041
+ }
1042
+ setQuat(e) {
1043
+ this.body ? this.body.setRotation(e, !0) : this.bodyDesc?.setRotation(e), this.transform.quat.set(e);
1044
+ }
1045
+ setQuatNow(e) {
1046
+ this.body ? this.body.setRotation(e, !0) : this.bodyDesc?.setRotation(e), this.transform.quat.set(e);
1047
+ }
1048
+ setScale(e) {
1049
+ }
1050
+ setScaleNow(e) {
1051
+ }
1052
+ setLinearVelocity(e) {
1053
+ this.body ? this.body.setLinvel({ x: e.x, y: e.y, z: e.z }, !0) : this.bodyDesc?.setLinvel(e.x, e.y, e.z);
1054
+ }
1055
+ getLinearVelocity(e) {
1056
+ return e || (e = new ae()), this.body ? e.set(this.body.linvel()) : this.bodyDesc && e.set(this.bodyDesc.linvel), e;
1057
+ }
1058
+ setAngularVelocity(e) {
1059
+ this.body ? this.body.setAngvel({ x: e.x, y: e.y, z: e.z }, !0) : this.bodyDesc?.setAngvel({ x: e.x, y: e.y, z: e.z });
1060
+ }
1061
+ getAngularVelocity(e) {
1062
+ return e || (e = new ae()), this.body ? e.set(this.body.angvel()) : this.bodyDesc && e.set(this.bodyDesc.angvel), e;
1063
+ }
1064
+ resetForce() {
1065
+ this.body?.resetForces(!0);
1066
+ }
1067
+ addForce(e) {
1068
+ this.body?.addForce({ x: e.x, y: e.y, z: e.z }, !0);
1069
+ }
1070
+ addForceAtPoint(e, t) {
1071
+ this.body?.addForceAtPoint({ x: e.x, y: e.y, z: e.z }, { x: t.x, y: t.y, z: t.z }, !0);
1072
+ }
1073
+ resetTorque() {
1074
+ this.body?.resetTorques(!0);
1075
+ }
1076
+ addTorque(e) {
1077
+ this.body?.addTorque({ x: e.x, y: e.y, z: e.z }, !0);
1078
+ }
1079
+ applyImpulse(e) {
1080
+ this.body?.applyImpulse({ x: e.x, y: e.y, z: e.z }, !0);
1081
+ }
1082
+ applyImpulseAtPoint(e, t) {
1083
+ this.body?.applyImpulseAtPoint({ x: e.x, y: e.y, z: e.z }, { x: t.x, y: t.y, z: t.z }, !0);
1084
+ }
1085
+ applyTorqueImpulse(e) {
1086
+ this.body?.applyTorqueImpulse({ x: e.x, y: e.y, z: e.z }, !0);
1087
+ }
1088
+ isGrounded() {
1089
+ if (this.body && this.physicsWorld) {
1090
+ const e = this.body.translation(), t = new je.Ray(e, { x: 0, y: -1, z: 0 }), n = 1.1 * (this.completeOptions.height + this.completeOptions.radius);
1091
+ return this.physicsWorld.world.castRay(
1092
+ t,
1093
+ n,
1094
+ !0,
1095
+ void 0,
1096
+ void 0,
1097
+ this.collider
1098
+ ) !== null;
1099
+ } else
1100
+ return this.transform.loc.y <= 0;
1101
+ }
1102
+ update(e) {
1103
+ if (!this.body)
1104
+ return;
1105
+ const t = new ae(this.body.translation());
1106
+ t.sub(this.capsuleCenter), this.transform.loc.set(t), this.transform.quat.set(this.body.rotation());
1107
+ }
1108
+ }
1109
+ const Ns = new re.SphereGeometry(), Ds = new re.MeshStandardMaterial({ color: 16711680 });
1110
+ let Fs = new re.Mesh(Ns, Ds);
883
1111
  class Pe {
884
1112
  static defaultRotationOrder = "ZXY";
885
1113
  static defaultUpVector = new ae(0, 1, 0);
@@ -904,7 +1132,7 @@ class Pe {
904
1132
  // 返しておいて、後でa3jsLoadingを削除して
905
1133
  // this.objectにaddすればOK。
906
1134
  initObject(e) {
907
- return xs.clone();
1135
+ return Fs.clone();
908
1136
  }
909
1137
  /**
910
1138
  * このObjectA3のコンストラクタから呼び出され、デフォルトで
@@ -931,30 +1159,29 @@ class Pe {
931
1159
  getTransformer() {
932
1160
  return this.transformer;
933
1161
  }
934
- setTransformMode(e, t) {
1162
+ setTransformMode(e, t, n) {
935
1163
  if (e === "Default")
936
1164
  this.setTransformer(new un());
937
1165
  else if (e === "Smooth")
938
- this.setTransformer(new Ar());
939
- else if (e === "Billboard")
1166
+ this.setTransformer(new ar());
1167
+ else if (e === "Follow") {
1168
+ if (!t) throw new Error("ObjectA3.setTransformMode(): Follow mode needs target.");
1169
+ this.setTransformer(new gs(t, n));
1170
+ } else if (e === "Billboard") {
1171
+ if (!t) throw new Error("ObjectA3.setTransformMode(): Billboard mode needs target.");
940
1172
  this.setTransformer(new ds(t));
941
- else if (e === "SmoothBillboard")
1173
+ } else if (e === "SmoothBillboard") {
1174
+ if (!t) throw new Error("ObjectA3.setTransformMode(): SmoothBillboard mode needs target.");
942
1175
  this.setTransformer(new fs(t));
943
- else if (e === "SimplePhysics") {
944
- const n = {
945
- ...Kn,
946
- ...t
947
- };
948
- this.setTransformer(new mi(n));
949
- }
1176
+ } else e === "SimplePhysics" ? this.setTransformer(new gi(n)) : e === "KinematicCharacter" ? this.setTransformer(new xs(n)) : e === "DynamicCharacter" && this.setTransformer(new _s(n));
950
1177
  }
951
1178
  // setTransformModeでも同じことできるけど。。。
952
1179
  initSimplePhysics(e) {
953
1180
  const t = {
954
- ...Kn,
1181
+ ...Ar,
955
1182
  ...e
956
1183
  };
957
- this.setTransformer(new mi(t));
1184
+ this.setTransformer(new gi(t));
958
1185
  }
959
1186
  update(e) {
960
1187
  this.transformer.update(e), this.transformer.transform.write(this), this.children.forEach((t) => {
@@ -981,7 +1208,7 @@ class Pe {
981
1208
  this.children.splice(t, 1), e.parent = void 0, this.object3D.remove(e.object3D);
982
1209
  }
983
1210
  setSpeechBubble(e) {
984
- this.balloon ? this.balloon.message = e : this.balloon = new Ls(e);
1211
+ this.balloon ? this.balloon.message = e : this.balloon = new Os(e);
985
1212
  }
986
1213
  /**
987
1214
  * リスナーは1個しか登録されません。2つ
@@ -1236,7 +1463,7 @@ class Pe {
1236
1463
  return this.transformer.isGrounded();
1237
1464
  }
1238
1465
  }
1239
- class Ls {
1466
+ class Os {
1240
1467
  message;
1241
1468
  dir;
1242
1469
  offsetTop;
@@ -1363,7 +1590,7 @@ class Wt extends Pe {
1363
1590
  this.object3D.updateMatrixWorld(!0), this.currentAction && this.currentAction.shape.skeleton?.update();
1364
1591
  }
1365
1592
  }
1366
- class Ii {
1593
+ class Ei {
1367
1594
  name;
1368
1595
  playCount;
1369
1596
  time;
@@ -1685,7 +1912,7 @@ var Te = (i, e) => () => (e || (e = { exports: {} }, i(e.exports, e)), e.exports
1685
1912
  return ie(), ie(), O;
1686
1913
  }
1687
1914
  i.toFastProperties = Oe;
1688
- }), ii = Te((i, e) => {
1915
+ }), ni = Te((i, e) => {
1689
1916
  (function(t, n) {
1690
1917
  typeof define == "function" && define.amd ? define([], n) : typeof e == "object" && e.exports ? e.exports = n() : t.regexpToAst = n();
1691
1918
  })(typeof self < "u" ? self : i, function() {
@@ -2225,9 +2452,9 @@ var Te = (i, e) => () => (e || (e = { exports: {} }, i(e.exports, e)), e.exports
2225
2452
  }, g.prototype.visitQuantifier = function(l) {
2226
2453
  }, { RegExpParser: t, BaseRegExpVisitor: g, VERSION: "0.5.0" };
2227
2454
  });
2228
- }), ri = Te((i) => {
2455
+ }), ii = Te((i) => {
2229
2456
  Object.defineProperty(i, "__esModule", { value: !0 }), i.clearRegExpParserCache = i.getRegExpAst = void 0;
2230
- var e = ii(), t = {}, n = new e.RegExpParser();
2457
+ var e = ni(), t = {}, n = new e.RegExpParser();
2231
2458
  function r(s) {
2232
2459
  var c = s.toString();
2233
2460
  if (t.hasOwnProperty(c)) return t[c];
@@ -2239,7 +2466,7 @@ var Te = (i, e) => () => (e || (e = { exports: {} }, i(e.exports, e)), e.exports
2239
2466
  t = {};
2240
2467
  }
2241
2468
  i.clearRegExpParserCache = o;
2242
- }), _s = Te((i) => {
2469
+ }), Ms = Te((i) => {
2243
2470
  var e = i && i.__extends || /* @__PURE__ */ (function() {
2244
2471
  var g = function(l, h) {
2245
2472
  return g = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(f, b) {
@@ -2258,7 +2485,7 @@ var Te = (i, e) => () => (e || (e = { exports: {} }, i(e.exports, e)), e.exports
2258
2485
  };
2259
2486
  })();
2260
2487
  Object.defineProperty(i, "__esModule", { value: !0 }), i.canMatchCharCode = i.firstCharOptimizedIndices = i.getOptimizedStartCodesIndices = i.failedOptimizationPrefixMsg = void 0;
2261
- var t = ii(), n = Fe(), r = ri(), o = fr(), s = "Complement Sets are not supported for first char optimization";
2488
+ var t = ni(), n = Fe(), r = ii(), o = fr(), s = "Complement Sets are not supported for first char optimization";
2262
2489
  i.failedOptimizationPrefixMsg = `Unable to use "first char" lexer optimizations:
2263
2490
  `;
2264
2491
  function c(g, l) {
@@ -2418,7 +2645,7 @@ var Te = (i, e) => () => (e || (e = { exports: {} }, i(e.exports, e)), e.exports
2418
2645
  };
2419
2646
  })();
2420
2647
  Object.defineProperty(i, "__esModule", { value: !0 }), i.charCodeToOptimizedIndex = i.minOptimizationVal = i.buildLineBreakIssueMessage = i.LineTerminatorOptimizedTester = i.isShortPattern = i.isCustomPattern = i.cloneEmptyGroups = i.performWarningRuntimeChecks = i.performRuntimeChecks = i.addStickyFlag = i.addStartOfInput = i.findUnreachablePatterns = i.findModesThatDoNotExist = i.findInvalidGroupType = i.findDuplicatePatterns = i.findUnsupportedFlags = i.findStartOfInputAnchor = i.findEmptyMatchRegExps = i.findEndOfInputAnchor = i.findInvalidPatterns = i.findMissingPatterns = i.validatePatterns = i.analyzeTokenTypes = i.enableSticky = i.disableSticky = i.SUPPORT_STICKY = i.MODES = i.DEFAULT_MODE = void 0;
2421
- var t = ii(), n = En(), r = Fe(), o = _s(), s = ri(), c = "PATTERN";
2648
+ var t = ni(), n = En(), r = Fe(), o = Ms(), s = ii(), c = "PATTERN";
2422
2649
  i.DEFAULT_MODE = "defaultMode", i.MODES = "modes", i.SUPPORT_STICKY = typeof new RegExp("(?:)").sticky == "boolean";
2423
2650
  function A() {
2424
2651
  i.SUPPORT_STICKY = !1;
@@ -2919,7 +3146,7 @@ See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;
2919
3146
  } };
2920
3147
  }), En = Te((i) => {
2921
3148
  Object.defineProperty(i, "__esModule", { value: !0 }), i.Lexer = i.LexerDefinitionErrorType = void 0;
2922
- var e = fr(), t = Fe(), n = $t(), r = pr(), o = ri();
3149
+ var e = fr(), t = Fe(), n = $t(), r = pr(), o = ii();
2923
3150
  (function(A) {
2924
3151
  A[A.MISSING_PATTERN = 0] = "MISSING_PATTERN", A[A.INVALID_PATTERN = 1] = "INVALID_PATTERN", A[A.EOI_ANCHOR_FOUND = 2] = "EOI_ANCHOR_FOUND", A[A.UNSUPPORTED_FLAGS_FOUND = 3] = "UNSUPPORTED_FLAGS_FOUND", A[A.DUPLICATE_PATTERNS_FOUND = 4] = "DUPLICATE_PATTERNS_FOUND", A[A.INVALID_GROUP_TYPE_FOUND = 5] = "INVALID_GROUP_TYPE_FOUND", A[A.PUSH_MODE_DOES_NOT_EXIST = 6] = "PUSH_MODE_DOES_NOT_EXIST", A[A.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE = 7] = "MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE", A[A.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY = 8] = "MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY", A[A.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST = 9] = "MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST", A[A.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED = 10] = "LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED", A[A.SOI_ANCHOR_FOUND = 11] = "SOI_ANCHOR_FOUND", A[A.EMPTY_MATCH_PATTERN = 12] = "EMPTY_MATCH_PATTERN", A[A.NO_LINE_BREAKS_FLAGS = 13] = "NO_LINE_BREAKS_FLAGS", A[A.UNREACHABLE_PATTERN = 14] = "UNREACHABLE_PATTERN", A[A.IDENTIFY_TERMINATOR = 15] = "IDENTIFY_TERMINATOR", A[A.CUSTOM_LINE_BREAK = 16] = "CUSTOM_LINE_BREAK";
2925
3152
  })(i.LexerDefinitionErrorType || (i.LexerDefinitionErrorType = {}));
@@ -3333,7 +3560,7 @@ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346
3333
3560
  }
3334
3561
  }
3335
3562
  i.serializeProduction = l;
3336
- }), oi = Te((i) => {
3563
+ }), ri = Te((i) => {
3337
3564
  Object.defineProperty(i, "__esModule", { value: !0 }), i.RestWalker = void 0;
3338
3565
  var e = Fe(), t = et(), n = (function() {
3339
3566
  function o() {
@@ -3545,7 +3772,7 @@ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346
3545
3772
  i.firstForTerminal = c;
3546
3773
  }), mr = Te((i) => {
3547
3774
  Object.defineProperty(i, "__esModule", { value: !0 }), i.IN = void 0, i.IN = "_~IN~_";
3548
- }), Ns = Te((i) => {
3775
+ }), Ps = Te((i) => {
3549
3776
  var e = i && i.__extends || /* @__PURE__ */ (function() {
3550
3777
  var u = function(m, p) {
3551
3778
  return u = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(E, g) {
@@ -3564,7 +3791,7 @@ See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346
3564
3791
  };
3565
3792
  })();
3566
3793
  Object.defineProperty(i, "__esModule", { value: !0 }), i.buildInProdFollowPrefix = i.buildBetweenProdsFollowPrefix = i.computeAllProdsFollows = i.ResyncFollowsWalker = void 0;
3567
- var t = oi(), n = gr(), r = Fe(), o = mr(), s = et(), c = (function(u) {
3794
+ var t = ri(), n = gr(), r = Fe(), o = mr(), s = et(), c = (function(u) {
3568
3795
  e(m, u);
3569
3796
  function m(p) {
3570
3797
  var E = u.call(this) || this;
@@ -3713,7 +3940,7 @@ see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;
3713
3940
  var A = "Duplicate definition, rule: ->" + c + "<- is already defined in the grammar: ->" + s.grammarName + "<-";
3714
3941
  return A;
3715
3942
  } };
3716
- }), Ds = Te((i) => {
3943
+ }), Us = Te((i) => {
3717
3944
  var e = i && i.__extends || /* @__PURE__ */ (function() {
3718
3945
  var c = function(A, a) {
3719
3946
  return c = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d, u) {
@@ -3778,7 +4005,7 @@ see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;
3778
4005
  };
3779
4006
  })();
3780
4007
  Object.defineProperty(i, "__esModule", { value: !0 }), i.nextPossibleTokensAfter = i.possiblePathsFrom = i.NextTerminalAfterAtLeastOneSepWalker = i.NextTerminalAfterAtLeastOneWalker = i.NextTerminalAfterManySepWalker = i.NextTerminalAfterManyWalker = i.AbstractNextTerminalAfterProductionWalker = i.NextAfterTokenWalker = i.AbstractNextPossibleTokensWalker = void 0;
3781
- var t = oi(), n = Fe(), r = gr(), o = et(), s = (function(l) {
4008
+ var t = ri(), n = Fe(), r = gr(), o = et(), s = (function(l) {
3782
4009
  e(h, l);
3783
4010
  function h(f, b) {
3784
4011
  var I = l.call(this) || this;
@@ -4001,7 +4228,7 @@ see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;
4001
4228
  };
4002
4229
  })();
4003
4230
  Object.defineProperty(i, "__esModule", { value: !0 }), i.areTokenCategoriesNotUsed = i.isStrictPrefixOfPath = i.containsPath = i.getLookaheadPathsForOptionalProd = i.getLookaheadPathsForOr = i.lookAheadSequenceFromAlternatives = i.buildSingleAlternativeLookaheadFunction = i.buildAlternativesLookAheadFunc = i.buildLookaheadFuncForOptionalProd = i.buildLookaheadFuncForOr = i.getProdType = i.PROD_TYPE = void 0;
4004
- var t = Fe(), n = Cn(), r = oi(), o = $t(), s = et(), c = en(), A;
4231
+ var t = Fe(), n = Cn(), r = ri(), o = $t(), s = et(), c = en(), A;
4005
4232
  (function(Q) {
4006
4233
  Q[Q.OPTION = 0] = "OPTION", Q[Q.REPETITION = 1] = "REPETITION", Q[Q.REPETITION_MANDATORY = 2] = "REPETITION_MANDATORY", Q[Q.REPETITION_MANDATORY_WITH_SEPARATOR = 3] = "REPETITION_MANDATORY_WITH_SEPARATOR", Q[Q.REPETITION_WITH_SEPARATOR = 4] = "REPETITION_WITH_SEPARATOR", Q[Q.ALTERNATION = 5] = "ALTERNATION";
4007
4234
  })(A = i.PROD_TYPE || (i.PROD_TYPE = {}));
@@ -4516,9 +4743,9 @@ see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;
4516
4743
  }
4517
4744
  }), V;
4518
4745
  }
4519
- }), Fs = Te((i) => {
4746
+ }), Gs = Te((i) => {
4520
4747
  Object.defineProperty(i, "__esModule", { value: !0 }), i.validateGrammar = i.resolveGrammar = void 0;
4521
- var e = Fe(), t = Ds(), n = Er(), r = bn();
4748
+ var e = Fe(), t = Us(), n = Er(), r = bn();
4522
4749
  function o(c) {
4523
4750
  c = e.defaults(c, { errMsgProvider: r.defaultGrammarResolverErrorProvider });
4524
4751
  var A = {};
@@ -4710,15 +4937,15 @@ see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;
4710
4937
  this.RULE_STACK.length === 1 && S && C === void 0 && (C = e.EOF, T = 1), this.shouldInRepetitionRecoveryBeTried(C, T, g) && this.tryInRepetitionRecovery(a, d, u, C);
4711
4938
  }
4712
4939
  i.attemptInRepetitionRecovery = A;
4713
- }), si = Te((i) => {
4940
+ }), oi = Te((i) => {
4714
4941
  Object.defineProperty(i, "__esModule", { value: !0 }), i.getKeyForAutomaticLookahead = i.AT_LEAST_ONE_SEP_IDX = i.MANY_SEP_IDX = i.AT_LEAST_ONE_IDX = i.MANY_IDX = i.OPTION_IDX = i.OR_IDX = i.BITS_FOR_ALT_IDX = i.BITS_FOR_RULE_IDX = i.BITS_FOR_OCCURRENCE_IDX = i.BITS_FOR_METHOD_TYPE = void 0, i.BITS_FOR_METHOD_TYPE = 4, i.BITS_FOR_OCCURRENCE_IDX = 8, i.BITS_FOR_RULE_IDX = 12, i.BITS_FOR_ALT_IDX = 8, i.OR_IDX = 1 << i.BITS_FOR_OCCURRENCE_IDX, i.OPTION_IDX = 2 << i.BITS_FOR_OCCURRENCE_IDX, i.MANY_IDX = 3 << i.BITS_FOR_OCCURRENCE_IDX, i.AT_LEAST_ONE_IDX = 4 << i.BITS_FOR_OCCURRENCE_IDX, i.MANY_SEP_IDX = 5 << i.BITS_FOR_OCCURRENCE_IDX, i.AT_LEAST_ONE_SEP_IDX = 6 << i.BITS_FOR_OCCURRENCE_IDX;
4715
4942
  function e(t, n, r) {
4716
4943
  return r | n | t;
4717
4944
  }
4718
4945
  i.getKeyForAutomaticLookahead = e, 32 - i.BITS_FOR_ALT_IDX;
4719
- }), Os = Te((i) => {
4946
+ }), Hs = Te((i) => {
4720
4947
  Object.defineProperty(i, "__esModule", { value: !0 }), i.LooksAhead = void 0;
4721
- var e = yn(), t = Fe(), n = rt(), r = si(), o = In(), s = (function() {
4948
+ var e = yn(), t = Fe(), n = rt(), r = oi(), o = In(), s = (function() {
4722
4949
  function c() {
4723
4950
  }
4724
4951
  return c.prototype.initLooksAhead = function(A) {
@@ -4773,7 +5000,7 @@ see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;
4773
5000
  }, c;
4774
5001
  })();
4775
5002
  i.LooksAhead = s;
4776
- }), Ms = Te((i) => {
5003
+ }), js = Te((i) => {
4777
5004
  Object.defineProperty(i, "__esModule", { value: !0 }), i.addNoneTerminalToCst = i.addTerminalToCst = i.setNodeLocationFull = i.setNodeLocationOnlyOffset = void 0;
4778
5005
  function e(o, s) {
4779
5006
  isNaN(o.startOffset) === !0 ? (o.startOffset = s.startOffset, o.endOffset = s.endOffset) : o.endOffset < s.endOffset && (o.endOffset = s.endOffset);
@@ -4809,7 +5036,7 @@ see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;
4809
5036
  return e.isUndefined(A) || A.configurable ? (Object.defineProperty(s, n, { enumerable: !1, configurable: !0, writable: !1, value: c }), !0) : !1;
4810
5037
  }
4811
5038
  i.defineNameProp = o;
4812
- }), Ps = Te((i) => {
5039
+ }), qs = Te((i) => {
4813
5040
  Object.defineProperty(i, "__esModule", { value: !0 }), i.validateRedundantMethods = i.validateMissingCstMethods = i.validateVisitor = i.CstVisitorDefinitionError = i.createBaseVisitorConstructorWithDefaults = i.createBaseSemanticVisitorConstructor = i.defaultVisit = void 0;
4814
5041
  var e = Fe(), t = br();
4815
5042
  function n(u, m) {
@@ -4876,9 +5103,9 @@ There is no Grammar Rule corresponding to this method's name.
4876
5103
  return p;
4877
5104
  }
4878
5105
  i.validateRedundantMethods = d;
4879
- }), Us = Te((i) => {
5106
+ }), zs = Te((i) => {
4880
5107
  Object.defineProperty(i, "__esModule", { value: !0 }), i.TreeBuilder = void 0;
4881
- var e = Ms(), t = Fe(), n = Ps(), r = rt(), o = (function() {
5108
+ var e = js(), t = Fe(), n = qs(), r = rt(), o = (function() {
4882
5109
  function s() {
4883
5110
  }
4884
5111
  return s.prototype.initTreeBuilder = function(c) {
@@ -4937,7 +5164,7 @@ There is no Grammar Rule corresponding to this method's name.
4937
5164
  }, s;
4938
5165
  })();
4939
5166
  i.TreeBuilder = o;
4940
- }), Gs = Te((i) => {
5167
+ }), Ks = Te((i) => {
4941
5168
  Object.defineProperty(i, "__esModule", { value: !0 }), i.LexerAdapter = void 0;
4942
5169
  var e = rt(), t = (function() {
4943
5170
  function n() {
@@ -4969,7 +5196,7 @@ There is no Grammar Rule corresponding to this method's name.
4969
5196
  }, n;
4970
5197
  })();
4971
5198
  i.LexerAdapter = t;
4972
- }), Hs = Te((i) => {
5199
+ }), Vs = Te((i) => {
4973
5200
  Object.defineProperty(i, "__esModule", { value: !0 }), i.RecognizerApi = void 0;
4974
5201
  var e = Fe(), t = tn(), n = rt(), r = bn(), o = Er(), s = et(), c = (function() {
4975
5202
  function A() {
@@ -5182,9 +5409,9 @@ There is no Grammar Rule corresponding to this method's name.
5182
5409
  }, A;
5183
5410
  })();
5184
5411
  i.RecognizerApi = c;
5185
- }), js = Te((i) => {
5412
+ }), Ws = Te((i) => {
5186
5413
  Object.defineProperty(i, "__esModule", { value: !0 }), i.RecognizerEngine = void 0;
5187
- var e = Fe(), t = si(), n = tn(), r = yn(), o = Cn(), s = rt(), c = Ir(), A = kt(), a = $t(), d = br(), u = (function() {
5414
+ var e = Fe(), t = oi(), n = tn(), r = yn(), o = Cn(), s = rt(), c = Ir(), A = kt(), a = $t(), d = br(), u = (function() {
5188
5415
  function m() {
5189
5416
  }
5190
5417
  return m.prototype.initRecognizerEngine = function(p, E) {
@@ -5399,7 +5626,7 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis
5399
5626
  }, m;
5400
5627
  })();
5401
5628
  i.RecognizerEngine = u;
5402
- }), qs = Te((i) => {
5629
+ }), Ys = Te((i) => {
5403
5630
  Object.defineProperty(i, "__esModule", { value: !0 }), i.ErrorHandler = void 0;
5404
5631
  var e = tn(), t = Fe(), n = yn(), r = rt(), o = (function() {
5405
5632
  function s() {
@@ -5424,7 +5651,7 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis
5424
5651
  }, s;
5425
5652
  })();
5426
5653
  i.ErrorHandler = o;
5427
- }), zs = Te((i) => {
5654
+ }), Js = Te((i) => {
5428
5655
  Object.defineProperty(i, "__esModule", { value: !0 }), i.ContentAssist = void 0;
5429
5656
  var e = Cn(), t = Fe(), n = (function() {
5430
5657
  function r() {
@@ -5440,9 +5667,9 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis
5440
5667
  }, r;
5441
5668
  })();
5442
5669
  i.ContentAssist = n;
5443
- }), Ks = Te((i) => {
5670
+ }), Xs = Te((i) => {
5444
5671
  Object.defineProperty(i, "__esModule", { value: !0 }), i.GastRecorder = void 0;
5445
- var e = Fe(), t = et(), n = En(), r = $t(), o = kt(), s = rt(), c = si(), A = { description: "This Object indicates the Parser is during Recording Phase" };
5672
+ var e = Fe(), t = et(), n = En(), r = $t(), o = kt(), s = rt(), c = oi(), A = { description: "This Object indicates the Parser is during Recording Phase" };
5446
5673
  Object.freeze(A);
5447
5674
  var a = !0, d = Math.pow(2, c.BITS_FOR_OCCURRENCE_IDX) - 1, u = o.createToken({ name: "RECORDING_PHASE_TOKEN", pattern: n.Lexer.NA });
5448
5675
  r.augmentTokenTypes([u]);
@@ -5581,7 +5808,7 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis
5581
5808
  throw I.KNOWN_RECORDER_ERROR = !0, I;
5582
5809
  }
5583
5810
  }
5584
- }), Vs = Te((i) => {
5811
+ }), Zs = Te((i) => {
5585
5812
  Object.defineProperty(i, "__esModule", { value: !0 }), i.PerformanceTracer = void 0;
5586
5813
  var e = Fe(), t = rt(), n = (function() {
5587
5814
  function r() {
@@ -5603,7 +5830,7 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis
5603
5830
  }, r;
5604
5831
  })();
5605
5832
  i.PerformanceTracer = n;
5606
- }), Ws = Te((i) => {
5833
+ }), $s = Te((i) => {
5607
5834
  Object.defineProperty(i, "__esModule", { value: !0 }), i.applyMixins = void 0;
5608
5835
  function e(t, n) {
5609
5836
  n.forEach(function(r) {
@@ -5636,7 +5863,7 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis
5636
5863
  };
5637
5864
  })();
5638
5865
  Object.defineProperty(i, "__esModule", { value: !0 }), i.EmbeddedActionsParser = i.CstParser = i.Parser = i.EMPTY_ALT = i.ParserDefinitionErrorType = i.DEFAULT_RULE_CONFIG = i.DEFAULT_PARSER_CONFIG = i.END_OF_FILE = void 0;
5639
- var t = Fe(), n = Ns(), r = kt(), o = bn(), s = Fs(), c = Ir(), A = Os(), a = Us(), d = Gs(), u = Hs(), m = js(), p = qs(), E = zs(), g = Ks(), l = Vs(), h = Ws();
5866
+ var t = Fe(), n = Ps(), r = kt(), o = bn(), s = Gs(), c = Ir(), A = Hs(), a = zs(), d = Ks(), u = Vs(), m = Ws(), p = Ys(), E = Js(), g = Xs(), l = Zs(), h = $s();
5640
5867
  i.END_OF_FILE = r.createTokenInstance(r.EOF, "", NaN, NaN, NaN, NaN, NaN, NaN), Object.freeze(i.END_OF_FILE), i.DEFAULT_PARSER_CONFIG = Object.freeze({ recoveryEnabled: !1, maxLookahead: 3, dynamicTokensEnabled: !1, outputCst: !0, errorMessageProvider: o.defaultParserErrorProvider, nodeLocationTracking: "none", traceInitPerf: !1, skipValidations: !1 }), i.DEFAULT_RULE_CONFIG = Object.freeze({ recoveryValueFunc: function() {
5641
5868
  }, resyncEnabled: !0 }), (function(T) {
5642
5869
  T[T.INVALID_RULE_NAME = 0] = "INVALID_RULE_NAME", T[T.DUPLICATE_RULE_NAME = 1] = "DUPLICATE_RULE_NAME", T[T.INVALID_RULE_OVERRIDE = 2] = "INVALID_RULE_OVERRIDE", T[T.DUPLICATE_PRODUCTIONS = 3] = "DUPLICATE_PRODUCTIONS", T[T.UNRESOLVED_SUBRULE_REF = 4] = "UNRESOLVED_SUBRULE_REF", T[T.LEFT_RECURSION = 5] = "LEFT_RECURSION", T[T.NONE_LAST_EMPTY_ALT = 6] = "NONE_LAST_EMPTY_ALT", T[T.AMBIGUOUS_ALTS = 7] = "AMBIGUOUS_ALTS", T[T.CONFLICT_TOKENS_RULES_NAMESPACE = 8] = "CONFLICT_TOKENS_RULES_NAMESPACE", T[T.INVALID_TOKEN_NAME = 9] = "INVALID_TOKEN_NAME", T[T.NO_NON_EMPTY_LOOKAHEAD = 10] = "NO_NON_EMPTY_LOOKAHEAD", T[T.AMBIGUOUS_PREFIX_ALTS = 11] = "AMBIGUOUS_PREFIX_ALTS", T[T.TOO_MANY_ALTS = 12] = "TOO_MANY_ALTS";
@@ -5722,7 +5949,7 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis
5722
5949
  return S;
5723
5950
  })(b);
5724
5951
  i.EmbeddedActionsParser = C;
5725
- }), Ys = Te((i) => {
5952
+ }), ea = Te((i) => {
5726
5953
  Object.defineProperty(i, "__esModule", { value: !0 }), i.createSyntaxDiagramsCode = void 0;
5727
5954
  var e = dr();
5728
5955
  function t(n, r) {
@@ -5758,7 +5985,7 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis
5758
5985
  return d + u + m + p + E + g;
5759
5986
  }
5760
5987
  i.createSyntaxDiagramsCode = t;
5761
- }), Js = Te((i) => {
5988
+ }), ta = Te((i) => {
5762
5989
  Object.defineProperty(i, "__esModule", { value: !0 }), i.Parser = i.createSyntaxDiagramsCode = i.clearCache = i.GAstVisitor = i.serializeProduction = i.serializeGrammar = i.Terminal = i.Rule = i.RepetitionWithSeparator = i.RepetitionMandatoryWithSeparator = i.RepetitionMandatory = i.Repetition = i.Option = i.NonTerminal = i.Alternative = i.Alternation = i.defaultLexerErrorProvider = i.NoViableAltException = i.NotAllInputParsedException = i.MismatchedTokenException = i.isRecognitionException = i.EarlyExitException = i.defaultParserErrorProvider = i.tokenName = i.tokenMatcher = i.tokenLabel = i.EOF = i.createTokenInstance = i.createToken = i.LexerDefinitionErrorType = i.Lexer = i.EMPTY_ALT = i.ParserDefinitionErrorType = i.EmbeddedActionsParser = i.CstParser = i.VERSION = void 0;
5763
5990
  var e = dr();
5764
5991
  Object.defineProperty(i, "VERSION", { enumerable: !0, get: function() {
@@ -5852,7 +6079,7 @@ Make sure that all grammar rule definitions are done before 'performSelfAnalysis
5852
6079
  Please avoid using it as it will be completely removed in the future`);
5853
6080
  }
5854
6081
  i.clearCache = u;
5855
- var m = Ys();
6082
+ var m = ea();
5856
6083
  Object.defineProperty(i, "createSyntaxDiagramsCode", { enumerable: !0, get: function() {
5857
6084
  return m.createSyntaxDiagramsCode;
5858
6085
  } });
@@ -5865,9 +6092,9 @@ See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_7-0-0`);
5865
6092
  })();
5866
6093
  i.Parser = p;
5867
6094
  });
5868
- const Yt = Js();
6095
+ const Yt = ta();
5869
6096
  let an, An;
5870
- class Xs extends ut {
6097
+ class na extends ut {
5871
6098
  /**
5872
6099
  * Constructs a new VRML loader.
5873
6100
  *
@@ -5906,7 +6133,7 @@ class Xs extends ut {
5906
6133
  parse(e, t) {
5907
6134
  const n = {};
5908
6135
  function r(v) {
5909
- const B = o(), w = new Zs(B.tokens), R = new ea(B.tokenVocabulary), y = s(R.getBaseCstVisitorConstructor()), x = w.lex(v);
6136
+ const B = o(), w = new ia(B.tokens), R = new oa(B.tokenVocabulary), y = s(R.getBaseCstVisitorConstructor()), x = w.lex(v);
5910
6137
  R.input = x.tokens;
5911
6138
  const F = R.vrml();
5912
6139
  if (R.errors.length > 0)
@@ -6407,7 +6634,7 @@ class Xs extends ut {
6407
6634
  ke.push([R[Ie], R[Ie + 1], R[Ie + 2]]);
6408
6635
  R = ke;
6409
6636
  }
6410
- an = new na(
6637
+ an = new aa(
6411
6638
  {
6412
6639
  skyColor: x,
6413
6640
  skyAngle: y,
@@ -6442,23 +6669,23 @@ class Xs extends ut {
6442
6669
  if (R && R.attributes.position) {
6443
6670
  const x = R._type;
6444
6671
  if (x === "points") {
6445
- const F = new Oi({
6672
+ const F = new Fi({
6446
6673
  name: ut.DEFAULT_MATERIAL_NAME,
6447
6674
  color: 16777215,
6448
6675
  opacity: w.opacity,
6449
6676
  transparent: w.transparent
6450
6677
  });
6451
- R.attributes.color !== void 0 ? F.vertexColors = !0 : w.isMeshPhongMaterial && F.color.copy(w.emissive), y = new Mi(R, F);
6678
+ R.attributes.color !== void 0 ? F.vertexColors = !0 : w.isMeshPhongMaterial && F.color.copy(w.emissive), y = new Oi(R, F);
6452
6679
  } else if (x === "line") {
6453
- const F = new Pi({
6680
+ const F = new Mi({
6454
6681
  name: ut.DEFAULT_MATERIAL_NAME,
6455
6682
  color: 16777215,
6456
6683
  opacity: w.opacity,
6457
6684
  transparent: w.transparent
6458
6685
  });
6459
- R.attributes.color !== void 0 ? F.vertexColors = !0 : w.isMeshPhongMaterial && F.color.copy(w.emissive), y = new Ui(R, F);
6686
+ R.attributes.color !== void 0 ? F.vertexColors = !0 : w.isMeshPhongMaterial && F.color.copy(w.emissive), y = new Pi(R, F);
6460
6687
  } else
6461
- R._solid !== void 0 && (w.side = R._solid ? Gi : Hi), R.attributes.color !== void 0 && (w.vertexColors = !0), y = new ji(R, w);
6688
+ R._solid !== void 0 && (w.side = R._solid ? Ui : Gi), R.attributes.color !== void 0 && (w.vertexColors = !0), y = new Hi(R, w);
6462
6689
  } else
6463
6690
  y = new ct(), y.visible = !1;
6464
6691
  return y;
@@ -6509,7 +6736,7 @@ class Xs extends ut {
6509
6736
  w && (B.map.center.copy(w.center), B.map.rotation = w.rotation, B.map.repeat.copy(w.scale), B.map.offset.copy(w.translation));
6510
6737
  }
6511
6738
  return B.map && B.map.fookHolder && B.map.fookHolder.fooks.push(async (y) => {
6512
- const x = await ia(y.source.data);
6739
+ const x = await Aa(y.source.data);
6513
6740
  B.transparent = x, B.needsUpdate = x;
6514
6741
  }), B;
6515
6742
  }
@@ -6590,7 +6817,7 @@ class Xs extends ut {
6590
6817
  const Me = ve * 4;
6591
6818
  Ie[Me + 0] = we.r, Ie[Me + 1] = we.g, Ie[Me + 2] = we.b, Ie[Me + 3] = we.a;
6592
6819
  }
6593
- B = new qi(Ie, se, ge), B.colorSpace = Xe, B.needsUpdate = !0, B.__type = ke;
6820
+ B = new ji(Ie, se, ge), B.colorSpace = Xe, B.needsUpdate = !0, B.__type = ke;
6594
6821
  break;
6595
6822
  case "repeatS":
6596
6823
  ee[0] === !1 && (w = Ht);
@@ -6709,7 +6936,7 @@ class Xs extends ut {
6709
6936
  }
6710
6937
  }
6711
6938
  y = x ? y : 0;
6712
- const U = new ct(), K = new zi(w, y);
6939
+ const U = new ct(), K = new qi(w, y);
6713
6940
  R.normalize(), R.multiplyScalar(-10), K.position.copy(R), U.add(K);
6714
6941
  const ee = new wn(w, y * B);
6715
6942
  return U.add(ee), U;
@@ -6751,7 +6978,7 @@ class Xs extends ut {
6751
6978
  }
6752
6979
  }
6753
6980
  y = F ? y : 0;
6754
- const ee = new ct(), se = new Ki(R, y, U);
6981
+ const ee = new ct(), se = new zi(R, y, U);
6755
6982
  se.position.copy(x), se.decay = 2, ee.add(se);
6756
6983
  const ge = new wn(R, y * B);
6757
6984
  return ee.add(ge), ee;
@@ -6808,7 +7035,7 @@ class Xs extends ut {
6808
7035
  U = ee ? U : 0;
6809
7036
  const Se = new ct();
6810
7037
  R = R > x ? x : R;
6811
- const ke = 1 - R / x, Ie = new Vi(y, U, se, x, ke);
7038
+ const ke = 1 - R / x, Ie = new Ki(y, U, se, x, ke);
6812
7039
  F.normalize(), Ie.position.copy(F), Ie.decay = 0, Se.add(Ie);
6813
7040
  const we = new wn(y, U * B);
6814
7041
  return Se.add(we), Se.position.copy(K), Se;
@@ -7360,7 +7587,7 @@ class Xs extends ut {
7360
7587
  function z(v, B, w) {
7361
7588
  const R = [], y = {};
7362
7589
  for (let F = 0, U = v.length; F < U; F += 3) {
7363
- const K = v[F], ee = v[F + 1], se = v[F + 2], ge = new ta(K, ee, se);
7590
+ const K = v[F], ee = v[F + 1], se = v[F + 2], ge = new sa(K, ee, se);
7364
7591
  G.fromArray(B, K * 3), X.fromArray(B, ee * 3), Y.fromArray(B, se * 3), W.subVectors(Y, X), O.subVectors(G, X), W.cross(O), W.normalize(), ge.normal.copy(W), y[K] === void 0 && (y[K] = []), y[ee] === void 0 && (y[ee] = []), y[se] === void 0 && (y[se] = []), y[K].push(ge.normal), y[ee].push(ge.normal), y[se].push(ge.normal), R.push(ge);
7365
7592
  }
7366
7593
  const x = [];
@@ -7384,14 +7611,14 @@ class Xs extends ut {
7384
7611
  for (let w = 0; w < v.count; w++)
7385
7612
  B.fromBufferAttribute(v, w), Xt.colorSpaceToWorking(B, Xe), v.setXYZ(w, B.r, B.g, B.b);
7386
7613
  }
7387
- const Qe = new Fi(this.manager);
7614
+ const Qe = new Di(this.manager);
7388
7615
  if (Qe.setPath(this.resourcePath || t).setCrossOrigin(this.crossOrigin), e.indexOf("#VRML V2.0") === -1)
7389
7616
  throw Error("THREE.VRMLLexer: Version of VRML asset not supported.");
7390
7617
  const ye = r(e);
7391
7618
  return c(ye);
7392
7619
  }
7393
7620
  }
7394
- class Zs {
7621
+ class ia {
7395
7622
  constructor(e) {
7396
7623
  this.lexer = new Yt.Lexer(e);
7397
7624
  }
@@ -7402,8 +7629,8 @@ class Zs {
7402
7629
  return t;
7403
7630
  }
7404
7631
  }
7405
- const $s = Yt.CstParser;
7406
- class ea extends $s {
7632
+ const ra = Yt.CstParser;
7633
+ class oa extends ra {
7407
7634
  constructor(e) {
7408
7635
  super(e);
7409
7636
  const t = this, n = e.Version, r = e.LCurly, o = e.RCurly, s = e.LSquare, c = e.RSquare, A = e.Identifier, a = e.RouteIdentifier, d = e.StringLiteral, u = e.HexLiteral, m = e.NumberLiteral, p = e.TrueLiteral, E = e.FalseLiteral, g = e.NullLiteral, l = e.DEF, h = e.USE, f = e.ROUTE, b = e.TO, I = e.NodeName;
@@ -7505,7 +7732,7 @@ class ea extends $s {
7505
7732
  }), this.performSelfAnalysis();
7506
7733
  }
7507
7734
  }
7508
- class ta {
7735
+ class sa {
7509
7736
  constructor(e, t, n) {
7510
7737
  this.a = e, this.b = t, this.c = n, this.normal = new _e();
7511
7738
  }
@@ -7516,7 +7743,7 @@ const ot = {
7516
7743
  RGB: 3,
7517
7744
  RGBA: 4
7518
7745
  };
7519
- class na {
7746
+ class aa {
7520
7747
  /**
7521
7748
  * @param {object} options
7522
7749
  * @param {number[][]} [options.skyColor] - RGB 配列の配列 (0〜1)
@@ -7721,7 +7948,7 @@ class na {
7721
7948
  return o.needsUpdate = !0, o.minFilter = Zt, o.magFilter = Ct, o;
7722
7949
  }
7723
7950
  }
7724
- async function ia(i) {
7951
+ async function Aa(i) {
7725
7952
  await new Promise((o, s) => {
7726
7953
  if (i.complete) return o();
7727
7954
  i.onload = o, i.onerror = s;
@@ -7733,7 +7960,7 @@ async function ia(i) {
7733
7960
  if (r[o] < 255) return !0;
7734
7961
  return !1;
7735
7962
  }
7736
- class ra extends ut {
7963
+ class ca extends ut {
7737
7964
  /**
7738
7965
  * Constructs a new BVH loader.
7739
7966
  *
@@ -7849,7 +8076,7 @@ class ra extends ut {
7849
8076
  }
7850
8077
  }
7851
8078
  function o(p, E) {
7852
- const g = new Yi();
8079
+ const g = new Wi();
7853
8080
  if (E.push(g), g.position.add(p.offset), g.name = p.name, p.type !== "ENDSITE")
7854
8081
  for (let l = 0; l < p.children.length; l++)
7855
8082
  g.add(o(p.children[l], E));
@@ -7868,7 +8095,7 @@ class ra extends ut {
7868
8095
  }
7869
8096
  A.animateBonePositions && E.push(new cn(l.name + ".position", h, f)), A.animateBoneRotations && E.push(new Un(l.name + ".quaternion", h, b)), A.animateBoneScales && E.push(new cn(l.name + ".scale", h, I));
7870
8097
  }
7871
- return new Ji("animation", -1, E);
8098
+ return new Yi("animation", -1, E);
7872
8099
  }
7873
8100
  function c(p) {
7874
8101
  let E;
@@ -7880,24 +8107,24 @@ class ra extends ut {
7880
8107
  o(d[0], u);
7881
8108
  const m = s(d);
7882
8109
  return {
7883
- skeleton: new Wi(u),
8110
+ skeleton: new Vi(u),
7884
8111
  clip: m
7885
8112
  };
7886
8113
  }
7887
8114
  }
7888
8115
  let fn, pn, Pt;
7889
- async function oa(i, e) {
7890
- Pt || (Pt = new Xs()), Pt.manager.setURLModifier((n) => (n.startsWith("./") && (n = n.substring(2)), URL.createObjectURL(Wn(i, n)))), fn = void 0, pn = void 0;
8116
+ async function la(i, e) {
8117
+ Pt || (Pt = new na()), Pt.manager.setURLModifier((n) => (n.startsWith("./") && (n = n.substring(2)), URL.createObjectURL(Vn(i, n)))), fn = void 0, pn = void 0;
7891
8118
  const t = await Pt.loadAsync(e);
7892
8119
  return fn = an, pn = An, Pt.manager.setURLModifier((n) => n), t;
7893
8120
  }
7894
8121
  let Rn;
7895
- async function sa(i, e) {
7896
- Rn || (Rn = new ra());
8122
+ async function ua(i, e) {
8123
+ Rn || (Rn = new ca());
7897
8124
  const t = dn(i, e);
7898
8125
  return await Rn.parse(t);
7899
8126
  }
7900
- function aa(i) {
8127
+ function ha(i) {
7901
8128
  const e = i.clip.clone(), t = i.skeleton.bones[0].clone(!0), n = [];
7902
8129
  t.traverse((o) => {
7903
8130
  o instanceof re.Bone && n.push(o);
@@ -7975,7 +8202,7 @@ class Cr {
7975
8202
  return t;
7976
8203
  }
7977
8204
  }
7978
- const Aa = {
8205
+ const da = {
7979
8206
  type: "audio",
7980
8207
  autoplay: !1,
7981
8208
  loop: !1,
@@ -7991,7 +8218,7 @@ const Aa = {
7991
8218
  }
7992
8219
  }
7993
8220
  };
7994
- async function PA() {
8221
+ async function GA() {
7995
8222
  try {
7996
8223
  bt.listener.context.state !== "running" && await bt.listener.context.resume();
7997
8224
  } catch {
@@ -8005,7 +8232,7 @@ class bt extends Pe {
8005
8232
  options;
8006
8233
  sound;
8007
8234
  constructor(e, t = {}) {
8008
- super(), this.options = ni(Aa, t), this.ready = this.asyncInit(e);
8235
+ super(), this.options = ti(da, t), this.ready = this.asyncInit(e);
8009
8236
  }
8010
8237
  initObject() {
8011
8238
  return new re.Object3D();
@@ -8037,13 +8264,13 @@ class bt extends Pe {
8037
8264
  this.sound?.stop();
8038
8265
  }
8039
8266
  }
8040
- class bi {
8267
+ class Ii {
8041
8268
  isDummy = !0;
8042
8269
  skeleton = new re.Skeleton([new re.Bone()]);
8043
8270
  clip = new re.AnimationClip("dummy");
8044
8271
  }
8045
8272
  const Qn = {}, xt = {};
8046
- class Yn extends hr {
8273
+ class Wn extends hr {
8047
8274
  loop;
8048
8275
  sound;
8049
8276
  soundLoop;
@@ -8067,7 +8294,7 @@ class Yn extends hr {
8067
8294
  });
8068
8295
  }
8069
8296
  }
8070
- class ca extends Wt {
8297
+ class fa extends Wt {
8071
8298
  haltActionNo = 0;
8072
8299
  // 未実装 GAHA
8073
8300
  walkActionNo = 0;
@@ -8117,7 +8344,7 @@ class ca extends Wt {
8117
8344
  Array.from(u).forEach((h) => {
8118
8345
  const f = h.getAttribute("src");
8119
8346
  if (f) {
8120
- const b = Wn(t, f);
8347
+ const b = Vn(t, f);
8121
8348
  this.thumbnails.push(b);
8122
8349
  }
8123
8350
  });
@@ -8138,11 +8365,11 @@ class ca extends Wt {
8138
8365
  const I = h.getAttribute("bvh");
8139
8366
  if (I && I !== "none") {
8140
8367
  const J = t.zipUrl + "!" + I;
8141
- Qn[J] || (Qn[J] = await sa(t, I)), b = aa(Qn[J]), b && b.clip.tracks.forEach((oe) => {
8368
+ Qn[J] || (Qn[J] = await ua(t, I)), b = ha(Qn[J]), b && b.clip.tracks.forEach((oe) => {
8142
8369
  oe.setInterpolation(re.InterpolateDiscrete);
8143
8370
  });
8144
8371
  } else
8145
- b = new bi();
8372
+ b = new Ii();
8146
8373
  const C = {};
8147
8374
  b.skeleton.bones.forEach((J) => {
8148
8375
  C[J.name] = J;
@@ -8164,7 +8391,7 @@ class ca extends Wt {
8164
8391
  const oe = J.getAttribute("name"), he = J.getAttribute("wrl");
8165
8392
  if (oe && he) {
8166
8393
  const P = t.zipUrl + "!" + he;
8167
- xt[P] || (xt[P] = await oa(t, he), fn && (D = fn), pn && (L = pn));
8394
+ xt[P] || (xt[P] = await la(t, he), fn && (D = fn), pn && (L = pn));
8168
8395
  const j = J.getAttribute("scale");
8169
8396
  if (j) {
8170
8397
  const Y = Number(j);
@@ -8193,7 +8420,7 @@ class ca extends Wt {
8193
8420
  }
8194
8421
  }
8195
8422
  const H = new re.Object3D();
8196
- H.add(b.skeleton.bones[0]), b instanceof bi || yr(H, V), Object.values(V).forEach((J) => {
8423
+ H.add(b.skeleton.bones[0]), b instanceof Ii || yr(H, V), Object.values(V).forEach((J) => {
8197
8424
  H.add(J);
8198
8425
  }), H.scale.set(S, S, S), N.scale(Math.PI / 180), H.setRotationFromEuler(new re.Euler(N.x, N.y, N.z, "ZXY")), H.position.add(Q), H.traverse((J) => {
8199
8426
  J.userData.a3js = { objectA3: this };
@@ -8207,7 +8434,7 @@ class ca extends Wt {
8207
8434
  le = (ne[0].getAttribute("continue") || "true") === "true";
8208
8435
  const Y = j.split(" ").map((O) => Number(O)), ce = new ae(Y[0], Y[1], Y[2]), Ce = G.split(" ").map((O) => Number(O)), Be = new ae(Ce[0], Ce[1], Ce[2]), De = oe === "PointSound" || oe === "ConeSound" ? "positional" : "audio", Oe = oe === "PointSound" ? { coneInnerAngle: 360, coneOuterAngle: 360, coneOuterGain: 0 } : { coneInnerAngle: 30, coneOuterAngle: 90, coneOuterGain: 0.1 };
8209
8436
  if (J) {
8210
- const O = Wn(t, J), W = URL.createObjectURL(O), z = {
8437
+ const O = Vn(t, J), W = URL.createObjectURL(O), z = {
8211
8438
  type: De,
8212
8439
  autoplay: !1,
8213
8440
  loop: he === "true",
@@ -8222,7 +8449,7 @@ class ca extends Wt {
8222
8449
  $ = await new bt(W, z).ready, $.setPosition(ce), $.lookAt(Be), URL.revokeObjectURL(W), H.add($.object3D);
8223
8450
  }
8224
8451
  }
8225
- g[f] = new Yn(
8452
+ g[f] = new Wn(
8226
8453
  { root: H, bones: C, skeleton: b.skeleton },
8227
8454
  new Cr(b.clip, f),
8228
8455
  k,
@@ -8238,7 +8465,7 @@ class ca extends Wt {
8238
8465
  }
8239
8466
  }
8240
8467
  function yr(i, e) {
8241
- if (ys(i)) {
8468
+ if (Bs(i)) {
8242
8469
  const t = e[i.name];
8243
8470
  t && (i.add(t), delete e[i.name]);
8244
8471
  }
@@ -8246,7 +8473,7 @@ function yr(i, e) {
8246
8473
  yr(t, e);
8247
8474
  });
8248
8475
  }
8249
- class la {
8476
+ class pa {
8250
8477
  scene;
8251
8478
  objects;
8252
8479
  physicsWorld = null;
@@ -8254,7 +8481,7 @@ class la {
8254
8481
  collisionListener;
8255
8482
  rapierLines;
8256
8483
  constructor() {
8257
- this.scene = new re.Scene(), this.objects = [], Vn.isInitialized && (this.physicsWorld = Vn.createWorld({
8484
+ this.scene = new re.Scene(), this.objects = [], Kn.isInitialized && (this.physicsWorld = Kn.createWorld({
8258
8485
  gravity: { x: 0, y: -9.81, z: 0 },
8259
8486
  timestep: this.physicsDt
8260
8487
  }));
@@ -8263,7 +8490,7 @@ class la {
8263
8490
  if (this.scene.add(e.object3D), this.objects.push(e), e.scene = this, this.physicsWorld && (e.addOneselfToPhysics(this.physicsWorld), e instanceof Wt))
8264
8491
  for (const t of Object.values(e.actions))
8265
8492
  t.motion.addOneselfToPhysics(this.physicsWorld);
8266
- e instanceof ca && e.currentAction instanceof Yn && (e.currentAction.backgroundTexture && (this.scene.background = e.currentAction.backgroundTexture, this.scene.environment = e.currentAction.backgroundTexture), e.currentAction.fog && (this.scene.fog = e.currentAction.fog));
8493
+ e instanceof fa && e.currentAction instanceof Wn && (e.currentAction.backgroundTexture && (this.scene.background = e.currentAction.backgroundTexture, this.scene.environment = e.currentAction.backgroundTexture), e.currentAction.fog && (this.scene.fog = e.currentAction.fog));
8267
8494
  }
8268
8495
  remove(e) {
8269
8496
  this.scene.remove(e.object3D);
@@ -8274,7 +8501,12 @@ class la {
8274
8501
  if (e.scene = void 0, this.physicsWorld && (e.removeOneselfFromPhysics(this.physicsWorld), e instanceof Wt))
8275
8502
  for (const t of Object.values(e.actions))
8276
8503
  t.motion.removeOneselfFromPhysics(this.physicsWorld);
8277
- e instanceof Wt && e.currentAction instanceof Yn && (e.currentAction.backgroundTexture && (this.scene.background = null, this.scene.environment = null), e.currentAction.fog && (this.scene.fog = null));
8504
+ e instanceof Wt && e.currentAction instanceof Wn && (e.currentAction.backgroundTexture && (this.scene.background = null, this.scene.environment = null), e.currentAction.fog && (this.scene.fog = null));
8505
+ }
8506
+ removeAll() {
8507
+ [...this.objects].forEach((t) => {
8508
+ this.remove(t);
8509
+ });
8278
8510
  }
8279
8511
  setCollisionListener(e) {
8280
8512
  this.collisionListener = e;
@@ -8306,7 +8538,7 @@ class la {
8306
8538
  ), this.scene.add(this.rapierLines)) : this.rapierLines && (this.scene.remove(this.rapierLines), this.rapierLines = void 0);
8307
8539
  }
8308
8540
  }
8309
- class ua extends Pe {
8541
+ class ga extends Pe {
8310
8542
  view;
8311
8543
  setView(e) {
8312
8544
  this.view = e;
@@ -8324,7 +8556,7 @@ class ua extends Pe {
8324
8556
  s.mul(o.x, o.y, o.z, 0), this.setQuatNow(s);
8325
8557
  }
8326
8558
  }
8327
- class ai {
8559
+ class si {
8328
8560
  view;
8329
8561
  setView(e) {
8330
8562
  this.view = e;
@@ -8364,7 +8596,7 @@ class ai {
8364
8596
  touchCancel(e) {
8365
8597
  }
8366
8598
  }
8367
- class ha extends ai {
8599
+ class ma extends si {
8368
8600
  lastMousePosition;
8369
8601
  dx = 0;
8370
8602
  dy = 0;
@@ -8417,11 +8649,11 @@ class ha extends ai {
8417
8649
  }
8418
8650
  */
8419
8651
  }
8420
- const da = {
8652
+ const Ea = {
8421
8653
  speed: 0.1,
8422
8654
  angSpeed: 0.01
8423
8655
  };
8424
- class UA extends ai {
8656
+ class HA extends si {
8425
8657
  options;
8426
8658
  _avatar;
8427
8659
  _keyW;
@@ -8436,7 +8668,7 @@ class UA extends ai {
8436
8668
  _velY;
8437
8669
  constructor(e, t) {
8438
8670
  super(), this.options = {
8439
- ...da,
8671
+ ...Ea,
8440
8672
  ...t
8441
8673
  }, this._avatar = e, this._keyW = this._keyA = this._keyS = this._keyD = !1, this._keyLeft = this._keyRight = !1, this._keySpace = !1, this._avatarNextLoc = new ae(), this._avatarNextQuat = new Ue(), this._velY = 0;
8442
8674
  }
@@ -8453,12 +8685,12 @@ class UA extends ai {
8453
8685
  this._avatarNextLoc.set(n.loc), this._avatarNextQuat.set(n.quat), this._keyW && this._avatarNextLoc.add(r), this._keyA && this._avatarNextLoc.add(o), this._keyS && this._avatarNextLoc.sub(r), this._keyD && this._avatarNextLoc.sub(o), this._velY += -9.8 * e * 0.1, t.isGrounded() && (this._velY = 0, this._keySpace && (this._velY = 0.5)), this._avatarNextLoc.add(0, this._velY, 0), this._keyLeft && (_.v0.set(0, this.options.angSpeed, 0), this._avatarNextQuat.mul(Rt(_.v0, "ZXY", _.q0))), this._keyRight && (_.v0.set(0, -this.options.angSpeed, 0), this._avatarNextQuat.mul(Rt(_.v0, "ZXY", _.q0))), t.setPosition(this._avatarNextLoc), t.setQuat(this._avatarNextQuat);
8454
8686
  }
8455
8687
  }
8456
- const fa = {
8688
+ const Ia = {
8457
8689
  speed: 5,
8458
8690
  angSpeed: 0.3,
8459
8691
  jumpSpeed: 15
8460
8692
  };
8461
- class GA extends ai {
8693
+ class jA extends si {
8462
8694
  options;
8463
8695
  _avatar;
8464
8696
  _keyW;
@@ -8473,7 +8705,7 @@ class GA extends ai {
8473
8705
  _velY;
8474
8706
  constructor(e, t) {
8475
8707
  super(), this.options = {
8476
- ...fa,
8708
+ ...Ia,
8477
8709
  ...t
8478
8710
  }, this._avatar = e, this._keyW = this._keyA = this._keyS = this._keyD = !1, this._keyLeft = this._keyRight = !1, this._keySpace = !1, this._avatarNextVel = new ae(), this._avatarNextAngVel = new ae(), this._velY = 0;
8479
8711
  }
@@ -8495,7 +8727,7 @@ class Br {
8495
8727
  camera;
8496
8728
  controller;
8497
8729
  constructor(e) {
8498
- e.setView(this), this.camera = e, this.camera.setAudioListener(bt.listener), this.camera.setPosition(0, 0, 3), this.scene = new la(), this.scene.scene.add(this.camera.object3D), this.controller = new ha(0, 0, 0), this.controller.setView(this), this.controller.activate();
8730
+ e.setView(this), this.camera = e, this.camera.setAudioListener(bt.listener), this.camera.setPosition(0, 0, 3), this.scene = new pa(), this.scene.scene.add(this.camera.object3D), this.controller = new ma(0, 0, 0), this.controller.setView(this), this.controller.activate();
8499
8731
  }
8500
8732
  replaceScene(e) {
8501
8733
  this.scene.scene.remove(this.camera.object3D), e.scene.add(this.camera.object3D);
@@ -8544,7 +8776,7 @@ class Br {
8544
8776
  throw new Error("BaseViewはwaitForRender()は実装していません");
8545
8777
  }
8546
8778
  }
8547
- class gn extends ua {
8779
+ class gn extends ga {
8548
8780
  camera;
8549
8781
  headLight;
8550
8782
  constructor(e) {
@@ -8562,7 +8794,7 @@ class gn extends ua {
8562
8794
  return this.headLight;
8563
8795
  }
8564
8796
  setAspect(e) {
8565
- Bs(this.camera) && (this.camera.aspect = e, this.camera.updateProjectionMatrix());
8797
+ ws(this.camera) && (this.camera.aspect = e, this.camera.updateProjectionMatrix());
8566
8798
  }
8567
8799
  setHeadLightEnable(e) {
8568
8800
  e ? this.headLight.intensity = 1 : this.headLight.intensity = 0;
@@ -8589,7 +8821,7 @@ class wr extends ct {
8589
8821
  return super.copy(e, t), this.element = e.element.cloneNode(!0), this.center = e.center, this;
8590
8822
  }
8591
8823
  }
8592
- const Lt = new _e(), Ci = new Ot(), yi = new Ot(), Bi = new _e(), wi = new _e();
8824
+ const Lt = new _e(), bi = new Ot(), Ci = new Ot(), yi = new _e(), Bi = new _e();
8593
8825
  class Tr {
8594
8826
  /**
8595
8827
  * Constructs a new CSS2D renderer.
@@ -8608,7 +8840,7 @@ class Tr {
8608
8840
  height: r
8609
8841
  };
8610
8842
  }, this.render = function(E, g) {
8611
- E.matrixWorldAutoUpdate === !0 && E.updateMatrixWorld(), g.parent === null && g.matrixWorldAutoUpdate === !0 && g.updateMatrixWorld(), Ci.copy(g.matrixWorldInverse), yi.multiplyMatrices(g.projectionMatrix, Ci), d(E, E, g), this.sortObjects && p(E);
8843
+ E.matrixWorldAutoUpdate === !0 && E.updateMatrixWorld(), g.parent === null && g.matrixWorldAutoUpdate === !0 && g.updateMatrixWorld(), bi.copy(g.matrixWorldInverse), Ci.multiplyMatrices(g.projectionMatrix, bi), d(E, E, g), this.sortObjects && p(E);
8612
8844
  }, this.setSize = function(E, g) {
8613
8845
  n = E, r = g, o = n / 2, s = r / 2, A.style.width = E + "px", A.style.height = g + "px";
8614
8846
  };
@@ -8623,7 +8855,7 @@ class Tr {
8623
8855
  return;
8624
8856
  }
8625
8857
  if (E.isCSS2DObject) {
8626
- Lt.setFromMatrixPosition(E.matrixWorld), Lt.applyMatrix4(yi);
8858
+ Lt.setFromMatrixPosition(E.matrixWorld), Lt.applyMatrix4(Ci);
8627
8859
  const h = Lt.z >= -1 && Lt.z <= 1 && E.layers.test(l.layers) === !0, f = E.element;
8628
8860
  f.style.display = h === !0 ? "" : "none", h === !0 && (E.onBeforeRender(t, g, l), f.style.transform = "translate(" + -100 * E.center.x + "%," + -100 * E.center.y + "%)translate(" + (Lt.x * o + o) + "px," + (-Lt.y * s + s) + "px)", f.parentNode !== A && A.appendChild(f), E.onAfterRender(t, g, l));
8629
8861
  const b = {
@@ -8635,7 +8867,7 @@ class Tr {
8635
8867
  d(E.children[h], g, l);
8636
8868
  }
8637
8869
  function u(E, g) {
8638
- return Bi.setFromMatrixPosition(E.matrixWorld), wi.setFromMatrixPosition(g.matrixWorld), Bi.distanceToSquared(wi);
8870
+ return yi.setFromMatrixPosition(E.matrixWorld), Bi.setFromMatrixPosition(g.matrixWorld), yi.distanceToSquared(Bi);
8639
8871
  }
8640
8872
  function m(E) {
8641
8873
  const g = [];
@@ -8655,10 +8887,10 @@ class Tr {
8655
8887
  }
8656
8888
  }
8657
8889
  }
8658
- function Ti(i, e) {
8890
+ function wi(i, e) {
8659
8891
  if (e === Qo)
8660
8892
  return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), i;
8661
- if (e === Gn || e === Xi) {
8893
+ if (e === Gn || e === Ji) {
8662
8894
  let t = i.getIndex();
8663
8895
  if (t === null) {
8664
8896
  const s = [], c = i.getAttribute("position");
@@ -8690,39 +8922,39 @@ class vr extends ut {
8690
8922
  */
8691
8923
  constructor(e) {
8692
8924
  super(e), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(t) {
8693
- return new Ia(t);
8925
+ return new wa(t);
8694
8926
  }), this.register(function(t) {
8695
- return new ba(t);
8927
+ return new Ta(t);
8696
8928
  }), this.register(function(t) {
8697
- return new ka(t);
8929
+ return new Na(t);
8698
8930
  }), this.register(function(t) {
8699
- return new Sa(t);
8931
+ return new Da(t);
8700
8932
  }), this.register(function(t) {
8701
- return new xa(t);
8933
+ return new Fa(t);
8702
8934
  }), this.register(function(t) {
8703
- return new ya(t);
8935
+ return new Ra(t);
8704
8936
  }), this.register(function(t) {
8705
- return new Ba(t);
8937
+ return new Qa(t);
8706
8938
  }), this.register(function(t) {
8707
- return new wa(t);
8939
+ return new ka(t);
8708
8940
  }), this.register(function(t) {
8709
- return new Ta(t);
8941
+ return new Sa(t);
8710
8942
  }), this.register(function(t) {
8711
- return new Ea(t);
8943
+ return new Ba(t);
8712
8944
  }), this.register(function(t) {
8713
- return new va(t);
8945
+ return new xa(t);
8714
8946
  }), this.register(function(t) {
8715
- return new Ca(t);
8947
+ return new va(t);
8716
8948
  }), this.register(function(t) {
8717
- return new Qa(t);
8949
+ return new _a(t);
8718
8950
  }), this.register(function(t) {
8719
- return new Ra(t);
8951
+ return new La(t);
8720
8952
  }), this.register(function(t) {
8721
- return new ga(t);
8953
+ return new Ca(t);
8722
8954
  }), this.register(function(t) {
8723
- return new La(t);
8955
+ return new Oa(t);
8724
8956
  }), this.register(function(t) {
8725
- return new _a(t);
8957
+ return new Ma(t);
8726
8958
  });
8727
8959
  }
8728
8960
  /**
@@ -8824,7 +9056,7 @@ class vr extends ut {
8824
9056
  else if (e instanceof ArrayBuffer)
8825
9057
  if (A.decode(new Uint8Array(e, 0, 4)) === Rr) {
8826
9058
  try {
8827
- s[Re.KHR_BINARY_GLTF] = new Na(e);
9059
+ s[Re.KHR_BINARY_GLTF] = new Pa(e);
8828
9060
  } catch (u) {
8829
9061
  r && r(u);
8830
9062
  return;
@@ -8838,7 +9070,7 @@ class vr extends ut {
8838
9070
  r && r(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
8839
9071
  return;
8840
9072
  }
8841
- const a = new Va(o, {
9073
+ const a = new Za(o, {
8842
9074
  path: t || this.resourcePath || "",
8843
9075
  crossOrigin: this.crossOrigin,
8844
9076
  requestHeader: this.requestHeader,
@@ -8856,16 +9088,16 @@ class vr extends ut {
8856
9088
  const u = o.extensionsUsed[d], m = o.extensionsRequired || [];
8857
9089
  switch (u) {
8858
9090
  case Re.KHR_MATERIALS_UNLIT:
8859
- s[u] = new ma();
9091
+ s[u] = new ya();
8860
9092
  break;
8861
9093
  case Re.KHR_DRACO_MESH_COMPRESSION:
8862
- s[u] = new Da(o, this.dracoLoader);
9094
+ s[u] = new Ua(o, this.dracoLoader);
8863
9095
  break;
8864
9096
  case Re.KHR_TEXTURE_TRANSFORM:
8865
- s[u] = new Fa();
9097
+ s[u] = new Ga();
8866
9098
  break;
8867
9099
  case Re.KHR_MESH_QUANTIZATION:
8868
- s[u] = new Oa();
9100
+ s[u] = new Ha();
8869
9101
  break;
8870
9102
  default:
8871
9103
  m.indexOf(u) >= 0 && c[u] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + u + '".');
@@ -8888,7 +9120,7 @@ class vr extends ut {
8888
9120
  });
8889
9121
  }
8890
9122
  }
8891
- function pa() {
9123
+ function ba() {
8892
9124
  let i = {};
8893
9125
  return {
8894
9126
  get: function(e) {
@@ -8929,7 +9161,7 @@ const Re = {
8929
9161
  EXT_MESHOPT_COMPRESSION: "EXT_meshopt_compression",
8930
9162
  EXT_MESH_GPU_INSTANCING: "EXT_mesh_gpu_instancing"
8931
9163
  };
8932
- class ga {
9164
+ class Ca {
8933
9165
  constructor(e) {
8934
9166
  this.parser = e, this.name = Re.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
8935
9167
  }
@@ -8951,13 +9183,13 @@ class ga {
8951
9183
  const u = A.range !== void 0 ? A.range : 0;
8952
9184
  switch (A.type) {
8953
9185
  case "directional":
8954
- a = new zi(d), a.target.position.set(0, 0, -1), a.add(a.target);
9186
+ a = new qi(d), a.target.position.set(0, 0, -1), a.add(a.target);
8955
9187
  break;
8956
9188
  case "point":
8957
- a = new Ki(d), a.distance = u;
9189
+ a = new zi(d), a.distance = u;
8958
9190
  break;
8959
9191
  case "spot":
8960
- a = new Vi(d), a.distance = u, A.spot = A.spot || {}, A.spot.innerConeAngle = A.spot.innerConeAngle !== void 0 ? A.spot.innerConeAngle : 0, A.spot.outerConeAngle = A.spot.outerConeAngle !== void 0 ? A.spot.outerConeAngle : Math.PI / 4, a.angle = A.spot.outerConeAngle, a.penumbra = 1 - A.spot.innerConeAngle / A.spot.outerConeAngle, a.target.position.set(0, 0, -1), a.add(a.target);
9192
+ a = new Ki(d), a.distance = u, A.spot = A.spot || {}, A.spot.innerConeAngle = A.spot.innerConeAngle !== void 0 ? A.spot.innerConeAngle : 0, A.spot.outerConeAngle = A.spot.outerConeAngle !== void 0 ? A.spot.outerConeAngle : Math.PI / 4, a.angle = A.spot.outerConeAngle, a.penumbra = 1 - A.spot.innerConeAngle / A.spot.outerConeAngle, a.target.position.set(0, 0, -1), a.add(a.target);
8961
9193
  break;
8962
9194
  default:
8963
9195
  throw new Error("THREE.GLTFLoader: Unexpected light type: " + A.type);
@@ -8975,7 +9207,7 @@ class ga {
8975
9207
  });
8976
9208
  }
8977
9209
  }
8978
- class ma {
9210
+ class ya {
8979
9211
  constructor() {
8980
9212
  this.name = Re.KHR_MATERIALS_UNLIT;
8981
9213
  }
@@ -8996,7 +9228,7 @@ class ma {
8996
9228
  return Promise.all(r);
8997
9229
  }
8998
9230
  }
8999
- class Ea {
9231
+ class Ba {
9000
9232
  constructor(e) {
9001
9233
  this.parser = e, this.name = Re.KHR_MATERIALS_EMISSIVE_STRENGTH;
9002
9234
  }
@@ -9008,7 +9240,7 @@ class Ea {
9008
9240
  return o !== void 0 && (t.emissiveIntensity = o), Promise.resolve();
9009
9241
  }
9010
9242
  }
9011
- class Ia {
9243
+ class wa {
9012
9244
  constructor(e) {
9013
9245
  this.parser = e, this.name = Re.KHR_MATERIALS_CLEARCOAT;
9014
9246
  }
@@ -9028,7 +9260,7 @@ class Ia {
9028
9260
  return Promise.all(o);
9029
9261
  }
9030
9262
  }
9031
- class ba {
9263
+ class Ta {
9032
9264
  constructor(e) {
9033
9265
  this.parser = e, this.name = Re.KHR_MATERIALS_DISPERSION;
9034
9266
  }
@@ -9044,7 +9276,7 @@ class ba {
9044
9276
  return t.dispersion = o.dispersion !== void 0 ? o.dispersion : 0, Promise.resolve();
9045
9277
  }
9046
9278
  }
9047
- class Ca {
9279
+ class va {
9048
9280
  constructor(e) {
9049
9281
  this.parser = e, this.name = Re.KHR_MATERIALS_IRIDESCENCE;
9050
9282
  }
@@ -9060,7 +9292,7 @@ class Ca {
9060
9292
  return s.iridescenceFactor !== void 0 && (t.iridescence = s.iridescenceFactor), s.iridescenceTexture !== void 0 && o.push(n.assignTexture(t, "iridescenceMap", s.iridescenceTexture)), s.iridescenceIor !== void 0 && (t.iridescenceIOR = s.iridescenceIor), t.iridescenceThicknessRange === void 0 && (t.iridescenceThicknessRange = [100, 400]), s.iridescenceThicknessMinimum !== void 0 && (t.iridescenceThicknessRange[0] = s.iridescenceThicknessMinimum), s.iridescenceThicknessMaximum !== void 0 && (t.iridescenceThicknessRange[1] = s.iridescenceThicknessMaximum), s.iridescenceThicknessTexture !== void 0 && o.push(n.assignTexture(t, "iridescenceThicknessMap", s.iridescenceThicknessTexture)), Promise.all(o);
9061
9293
  }
9062
9294
  }
9063
- class ya {
9295
+ class Ra {
9064
9296
  constructor(e) {
9065
9297
  this.parser = e, this.name = Re.KHR_MATERIALS_SHEEN;
9066
9298
  }
@@ -9082,7 +9314,7 @@ class ya {
9082
9314
  return s.sheenRoughnessFactor !== void 0 && (t.sheenRoughness = s.sheenRoughnessFactor), s.sheenColorTexture !== void 0 && o.push(n.assignTexture(t, "sheenColorMap", s.sheenColorTexture, Xe)), s.sheenRoughnessTexture !== void 0 && o.push(n.assignTexture(t, "sheenRoughnessMap", s.sheenRoughnessTexture)), Promise.all(o);
9083
9315
  }
9084
9316
  }
9085
- class Ba {
9317
+ class Qa {
9086
9318
  constructor(e) {
9087
9319
  this.parser = e, this.name = Re.KHR_MATERIALS_TRANSMISSION;
9088
9320
  }
@@ -9098,7 +9330,7 @@ class Ba {
9098
9330
  return s.transmissionFactor !== void 0 && (t.transmission = s.transmissionFactor), s.transmissionTexture !== void 0 && o.push(n.assignTexture(t, "transmissionMap", s.transmissionTexture)), Promise.all(o);
9099
9331
  }
9100
9332
  }
9101
- class wa {
9333
+ class ka {
9102
9334
  constructor(e) {
9103
9335
  this.parser = e, this.name = Re.KHR_MATERIALS_VOLUME;
9104
9336
  }
@@ -9116,7 +9348,7 @@ class wa {
9116
9348
  return t.attenuationColor = new Je().setRGB(c[0], c[1], c[2], st), Promise.all(o);
9117
9349
  }
9118
9350
  }
9119
- class Ta {
9351
+ class Sa {
9120
9352
  constructor(e) {
9121
9353
  this.parser = e, this.name = Re.KHR_MATERIALS_IOR;
9122
9354
  }
@@ -9132,7 +9364,7 @@ class Ta {
9132
9364
  return t.ior = o.ior !== void 0 ? o.ior : 1.5, Promise.resolve();
9133
9365
  }
9134
9366
  }
9135
- class va {
9367
+ class xa {
9136
9368
  constructor(e) {
9137
9369
  this.parser = e, this.name = Re.KHR_MATERIALS_SPECULAR;
9138
9370
  }
@@ -9150,7 +9382,7 @@ class va {
9150
9382
  return t.specularColor = new Je().setRGB(c[0], c[1], c[2], st), s.specularColorTexture !== void 0 && o.push(n.assignTexture(t, "specularColorMap", s.specularColorTexture, Xe)), Promise.all(o);
9151
9383
  }
9152
9384
  }
9153
- class Ra {
9385
+ class La {
9154
9386
  constructor(e) {
9155
9387
  this.parser = e, this.name = Re.EXT_MATERIALS_BUMP;
9156
9388
  }
@@ -9166,7 +9398,7 @@ class Ra {
9166
9398
  return t.bumpScale = s.bumpFactor !== void 0 ? s.bumpFactor : 1, s.bumpTexture !== void 0 && o.push(n.assignTexture(t, "bumpMap", s.bumpTexture)), Promise.all(o);
9167
9399
  }
9168
9400
  }
9169
- class Qa {
9401
+ class _a {
9170
9402
  constructor(e) {
9171
9403
  this.parser = e, this.name = Re.KHR_MATERIALS_ANISOTROPY;
9172
9404
  }
@@ -9182,7 +9414,7 @@ class Qa {
9182
9414
  return s.anisotropyStrength !== void 0 && (t.anisotropy = s.anisotropyStrength), s.anisotropyRotation !== void 0 && (t.anisotropyRotation = s.anisotropyRotation), s.anisotropyTexture !== void 0 && o.push(n.assignTexture(t, "anisotropyMap", s.anisotropyTexture)), Promise.all(o);
9183
9415
  }
9184
9416
  }
9185
- class ka {
9417
+ class Na {
9186
9418
  constructor(e) {
9187
9419
  this.parser = e, this.name = Re.KHR_TEXTURE_BASISU;
9188
9420
  }
@@ -9199,7 +9431,7 @@ class ka {
9199
9431
  return t.loadTextureImage(e, o.source, s);
9200
9432
  }
9201
9433
  }
9202
- class Sa {
9434
+ class Da {
9203
9435
  constructor(e) {
9204
9436
  this.parser = e, this.name = Re.EXT_TEXTURE_WEBP;
9205
9437
  }
@@ -9216,7 +9448,7 @@ class Sa {
9216
9448
  return n.loadTextureImage(e, s.source, A);
9217
9449
  }
9218
9450
  }
9219
- class xa {
9451
+ class Fa {
9220
9452
  constructor(e) {
9221
9453
  this.parser = e, this.name = Re.EXT_TEXTURE_AVIF;
9222
9454
  }
@@ -9233,7 +9465,7 @@ class xa {
9233
9465
  return n.loadTextureImage(e, s.source, A);
9234
9466
  }
9235
9467
  }
9236
- class La {
9468
+ class Oa {
9237
9469
  constructor(e) {
9238
9470
  this.name = Re.EXT_MESHOPT_COMPRESSION, this.parser = e;
9239
9471
  }
@@ -9259,7 +9491,7 @@ class La {
9259
9491
  return null;
9260
9492
  }
9261
9493
  }
9262
- class _a {
9494
+ class Ma {
9263
9495
  constructor(e) {
9264
9496
  this.name = Re.EXT_MESH_GPU_INSTANCING, this.parser = e;
9265
9497
  }
@@ -9291,8 +9523,8 @@ class _a {
9291
9523
  }));
9292
9524
  }
9293
9525
  }
9294
- const Rr = "glTF", Ut = 12, vi = { JSON: 1313821514, BIN: 5130562 };
9295
- class Na {
9526
+ const Rr = "glTF", Ut = 12, Ti = { JSON: 1313821514, BIN: 5130562 };
9527
+ class Pa {
9296
9528
  constructor(e) {
9297
9529
  this.name = Re.KHR_BINARY_GLTF, this.content = null, this.body = null;
9298
9530
  const t = new DataView(e, 0, Ut), n = new TextDecoder();
@@ -9310,10 +9542,10 @@ class Na {
9310
9542
  const c = o.getUint32(s, !0);
9311
9543
  s += 4;
9312
9544
  const A = o.getUint32(s, !0);
9313
- if (s += 4, A === vi.JSON) {
9545
+ if (s += 4, A === Ti.JSON) {
9314
9546
  const a = new Uint8Array(e, Ut + s, c);
9315
9547
  this.content = n.decode(a);
9316
- } else if (A === vi.BIN) {
9548
+ } else if (A === Ti.BIN) {
9317
9549
  const a = Ut + s;
9318
9550
  this.body = e.slice(a, a + c);
9319
9551
  }
@@ -9323,7 +9555,7 @@ class Na {
9323
9555
  throw new Error("THREE.GLTFLoader: JSON content not found.");
9324
9556
  }
9325
9557
  }
9326
- class Da {
9558
+ class Ua {
9327
9559
  constructor(e, t) {
9328
9560
  if (!t)
9329
9561
  throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
@@ -9332,11 +9564,11 @@ class Da {
9332
9564
  decodePrimitive(e, t) {
9333
9565
  const n = this.json, r = this.dracoLoader, o = e.extensions[this.name].bufferView, s = e.extensions[this.name].attributes, c = {}, A = {}, a = {};
9334
9566
  for (const d in s) {
9335
- const u = Jn[d] || d.toLowerCase();
9567
+ const u = Yn[d] || d.toLowerCase();
9336
9568
  c[u] = s[d];
9337
9569
  }
9338
9570
  for (const d in e.attributes) {
9339
- const u = Jn[d] || d.toLowerCase();
9571
+ const u = Yn[d] || d.toLowerCase();
9340
9572
  if (s[d] !== void 0) {
9341
9573
  const m = n.accessors[e.attributes[d]], p = Ft[m.componentType];
9342
9574
  a[u] = p.name, A[u] = m.normalized === !0;
@@ -9355,7 +9587,7 @@ class Da {
9355
9587
  });
9356
9588
  }
9357
9589
  }
9358
- class Fa {
9590
+ class Ga {
9359
9591
  constructor() {
9360
9592
  this.name = Re.KHR_TEXTURE_TRANSFORM;
9361
9593
  }
@@ -9363,7 +9595,7 @@ class Fa {
9363
9595
  return (t.texCoord === void 0 || t.texCoord === e.channel) && t.offset === void 0 && t.rotation === void 0 && t.scale === void 0 || (e = e.clone(), t.texCoord !== void 0 && (e.channel = t.texCoord), t.offset !== void 0 && e.offset.fromArray(t.offset), t.rotation !== void 0 && (e.rotation = t.rotation), t.scale !== void 0 && e.repeat.fromArray(t.scale), e.needsUpdate = !0), e;
9364
9596
  }
9365
9597
  }
9366
- class Oa {
9598
+ class Ha {
9367
9599
  constructor() {
9368
9600
  this.name = Re.KHR_MESH_QUANTIZATION;
9369
9601
  }
@@ -9387,11 +9619,11 @@ class Qr extends jo {
9387
9619
  return o;
9388
9620
  }
9389
9621
  }
9390
- const Ma = new Jt();
9391
- class Pa extends Qr {
9622
+ const ja = new Jt();
9623
+ class qa extends Qr {
9392
9624
  interpolate_(e, t, n, r) {
9393
9625
  const o = super.interpolate_(e, t, n, r);
9394
- return Ma.fromArray(o).normalize().toArray(o), o;
9626
+ return ja.fromArray(o).normalize().toArray(o), o;
9395
9627
  }
9396
9628
  }
9397
9629
  const nt = {
@@ -9409,14 +9641,14 @@ const nt = {
9409
9641
  5123: Uint16Array,
9410
9642
  5125: Uint32Array,
9411
9643
  5126: Float32Array
9412
- }, Ri = {
9644
+ }, vi = {
9413
9645
  9728: ln,
9414
9646
  9729: Ct,
9415
- 9984: er,
9647
+ 9984: $i,
9416
9648
  9985: _o,
9417
9649
  9986: Lo,
9418
9650
  9987: Zt
9419
- }, Qi = {
9651
+ }, Ri = {
9420
9652
  33071: Ht,
9421
9653
  33648: No,
9422
9654
  10497: vt
@@ -9428,7 +9660,7 @@ const nt = {
9428
9660
  MAT2: 4,
9429
9661
  MAT3: 9,
9430
9662
  MAT4: 16
9431
- }, Jn = {
9663
+ }, Yn = {
9432
9664
  POSITION: "position",
9433
9665
  NORMAL: "normal",
9434
9666
  TANGENT: "tangent",
@@ -9444,26 +9676,26 @@ const nt = {
9444
9676
  translation: "position",
9445
9677
  rotation: "quaternion",
9446
9678
  weights: "morphTargetInfluences"
9447
- }, Ua = {
9679
+ }, za = {
9448
9680
  CUBICSPLINE: void 0,
9449
9681
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
9450
9682
  // keyframe track will be initialized with a default interpolation type, then modified.
9451
- LINEAR: nr,
9683
+ LINEAR: tr,
9452
9684
  STEP: Ho
9453
9685
  }, Sn = {
9454
9686
  OPAQUE: "OPAQUE",
9455
9687
  MASK: "MASK",
9456
9688
  BLEND: "BLEND"
9457
9689
  };
9458
- function Ga(i) {
9459
- return i.DefaultMaterial === void 0 && (i.DefaultMaterial = new tr({
9690
+ function Ka(i) {
9691
+ return i.DefaultMaterial === void 0 && (i.DefaultMaterial = new er({
9460
9692
  color: 16777215,
9461
9693
  emissive: 0,
9462
9694
  metalness: 1,
9463
9695
  roughness: 1,
9464
9696
  transparent: !1,
9465
9697
  depthTest: !0,
9466
- side: Gi
9698
+ side: Ui
9467
9699
  })), i.DefaultMaterial;
9468
9700
  }
9469
9701
  function Bt(i, e, t) {
@@ -9473,7 +9705,7 @@ function Bt(i, e, t) {
9473
9705
  function at(i, e) {
9474
9706
  e.extras !== void 0 && (typeof e.extras == "object" ? Object.assign(i.userData, e.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + e.extras));
9475
9707
  }
9476
- function Ha(i, e, t) {
9708
+ function Va(i, e, t) {
9477
9709
  let n = !1, r = !1, o = !1;
9478
9710
  for (let a = 0, d = e.length; a < d; a++) {
9479
9711
  const u = e[a];
@@ -9505,7 +9737,7 @@ function Ha(i, e, t) {
9505
9737
  return n && (i.morphAttributes.position = d), r && (i.morphAttributes.normal = u), o && (i.morphAttributes.color = m), i.morphTargetsRelative = !0, i;
9506
9738
  });
9507
9739
  }
9508
- function ja(i, e) {
9740
+ function Wa(i, e) {
9509
9741
  if (i.updateMorphTargets(), e.weights !== void 0)
9510
9742
  for (let t = 0, n = e.weights.length; t < n; t++)
9511
9743
  i.morphTargetInfluences[t] = e.weights[t];
@@ -9519,7 +9751,7 @@ function ja(i, e) {
9519
9751
  console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
9520
9752
  }
9521
9753
  }
9522
- function qa(i) {
9754
+ function Ya(i) {
9523
9755
  let e;
9524
9756
  const t = i.extensions && i.extensions[Re.KHR_DRACO_MESH_COMPRESSION];
9525
9757
  if (t ? e = "draco:" + t.bufferView + ":" + t.indices + ":" + xn(t.attributes) : e = i.indices + ":" + xn(i.attributes) + ":" + i.mode, i.targets !== void 0)
@@ -9534,7 +9766,7 @@ function xn(i) {
9534
9766
  e += t[n] + ":" + i[t[n]] + ";";
9535
9767
  return e;
9536
9768
  }
9537
- function Xn(i) {
9769
+ function Jn(i) {
9538
9770
  switch (i) {
9539
9771
  case Int8Array:
9540
9772
  return 1 / 127;
@@ -9548,13 +9780,13 @@ function Xn(i) {
9548
9780
  throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");
9549
9781
  }
9550
9782
  }
9551
- function za(i) {
9783
+ function Ja(i) {
9552
9784
  return i.search(/\.jpe?g($|\?)/i) > 0 || i.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : i.search(/\.webp($|\?)/i) > 0 || i.search(/^data\:image\/webp/) === 0 ? "image/webp" : i.search(/\.ktx2($|\?)/i) > 0 || i.search(/^data\:image\/ktx2/) === 0 ? "image/ktx2" : "image/png";
9553
9785
  }
9554
- const Ka = new Ot();
9555
- class Va {
9786
+ const Xa = new Ot();
9787
+ class Za {
9556
9788
  constructor(e = {}, t = {}) {
9557
- this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new pa(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.nodeCache = {}, this.meshCache = { refs: {}, uses: {} }, this.cameraCache = { refs: {}, uses: {} }, this.lightCache = { refs: {}, uses: {} }, this.sourceCache = {}, this.textureCache = {}, this.nodeNamesUsed = {};
9789
+ this.json = e, this.extensions = {}, this.plugins = {}, this.options = t, this.cache = new ba(), this.associations = /* @__PURE__ */ new Map(), this.primitiveCache = {}, this.nodeCache = {}, this.meshCache = { refs: {}, uses: {} }, this.cameraCache = { refs: {}, uses: {} }, this.lightCache = { refs: {}, uses: {} }, this.sourceCache = {}, this.textureCache = {}, this.nodeNamesUsed = {};
9558
9790
  let n = !1, r = -1, o = !1, s = -1;
9559
9791
  if (typeof navigator < "u") {
9560
9792
  const c = navigator.userAgent;
@@ -9562,7 +9794,7 @@ class Va {
9562
9794
  const A = c.match(/Version\/(\d+)/);
9563
9795
  r = n && A ? parseInt(A[1], 10) : -1, o = c.indexOf("Firefox") > -1, s = o ? c.match(/Firefox\/([0-9]+)\./)[1] : -1;
9564
9796
  }
9565
- typeof createImageBitmap > "u" || n && r < 17 || o && s < 98 ? this.textureLoader = new Fi(this.options.manager) : this.textureLoader = new xo(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new ht(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
9797
+ typeof createImageBitmap > "u" || n && r < 17 || o && s < 98 ? this.textureLoader = new Di(this.options.manager) : this.textureLoader = new xo(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new ht(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
9566
9798
  }
9567
9799
  setExtensions(e) {
9568
9800
  this.extensions = e;
@@ -9812,7 +10044,7 @@ class Va {
9812
10044
  if (p && p !== u) {
9813
10045
  const h = Math.floor(m / p), f = "InterleavedBuffer:" + r.bufferView + ":" + r.componentType + ":" + h + ":" + r.count;
9814
10046
  let b = t.cache.get(f);
9815
- b || (g = new a(c, h * p, r.count * p / d), b = new Zi(g, p / d), t.cache.add(f, b)), l = new $i(b, A, m % p / d, E);
10047
+ b || (g = new a(c, h * p, r.count * p / d), b = new Xi(g, p / d), t.cache.add(f, b)), l = new Zi(b, A, m % p / d, E);
9816
10048
  } else
9817
10049
  c === null ? g = new a(r.count * A) : g = new a(c, m, r.count * A), l = new Kt(g, A, E);
9818
10050
  if (r.sparse !== void 0) {
@@ -9850,7 +10082,7 @@ class Va {
9850
10082
  const a = this.loadImageSource(t, n).then(function(d) {
9851
10083
  d.flipY = !1, d.name = s.name || c.name || "", d.name === "" && typeof c.uri == "string" && c.uri.startsWith("data:image/") === !1 && (d.name = c.uri);
9852
10084
  const m = (o.samplers || {})[s.sampler] || {};
9853
- return d.magFilter = Ri[m.magFilter] || Ct, d.minFilter = Ri[m.minFilter] || Zt, d.wrapS = Qi[m.wrapS] || vt, d.wrapT = Qi[m.wrapT] || vt, d.generateMipmaps = !d.isCompressedTexture && d.minFilter !== ln && d.minFilter !== Ct, r.associations.set(d, { textures: e }), d;
10085
+ return d.magFilter = vi[m.magFilter] || Ct, d.minFilter = vi[m.minFilter] || Zt, d.wrapS = Ri[m.wrapS] || vt, d.wrapT = Ri[m.wrapT] || vt, d.generateMipmaps = !d.isCompressedTexture && d.minFilter !== ln && d.minFilter !== Ct, r.associations.set(d, { textures: e }), d;
9854
10086
  }).catch(function() {
9855
10087
  return null;
9856
10088
  });
@@ -9874,12 +10106,12 @@ class Va {
9874
10106
  return new Promise(function(m, p) {
9875
10107
  let E = m;
9876
10108
  t.isImageBitmapLoader === !0 && (E = function(g) {
9877
- const l = new li(g);
10109
+ const l = new ci(g);
9878
10110
  l.needsUpdate = !0, m(l);
9879
10111
  }), t.load(Dt.resolveURL(u, o.path), E, void 0, p);
9880
10112
  });
9881
10113
  }).then(function(u) {
9882
- return a === !0 && c.revokeObjectURL(A), at(u, s), u.userData.mimeType = s.mimeType || za(s.uri), u;
10114
+ return a === !0 && c.revokeObjectURL(A), at(u, s), u.userData.mimeType = s.mimeType || Ja(s.uri), u;
9883
10115
  }).catch(function(u) {
9884
10116
  throw console.error("THREE.GLTFLoader: Couldn't load texture", A), u;
9885
10117
  });
@@ -9926,11 +10158,11 @@ class Va {
9926
10158
  if (e.isPoints) {
9927
10159
  const c = "PointsMaterial:" + n.uuid;
9928
10160
  let A = this.cache.get(c);
9929
- A || (A = new Oi(), Tn.prototype.copy.call(A, n), A.color.copy(n.color), A.map = n.map, A.sizeAttenuation = !1, this.cache.add(c, A)), n = A;
10161
+ A || (A = new Fi(), Tn.prototype.copy.call(A, n), A.color.copy(n.color), A.map = n.map, A.sizeAttenuation = !1, this.cache.add(c, A)), n = A;
9930
10162
  } else if (e.isLine) {
9931
10163
  const c = "LineBasicMaterial:" + n.uuid;
9932
10164
  let A = this.cache.get(c);
9933
- A || (A = new Pi(), Tn.prototype.copy.call(A, n), A.color.copy(n.color), A.map = n.map, this.cache.add(c, A)), n = A;
10165
+ A || (A = new Mi(), Tn.prototype.copy.call(A, n), A.color.copy(n.color), A.map = n.map, this.cache.add(c, A)), n = A;
9934
10166
  }
9935
10167
  if (r || o || s) {
9936
10168
  let c = "ClonedMaterial:" + n.uuid + ":";
@@ -9941,7 +10173,7 @@ class Va {
9941
10173
  e.material = n;
9942
10174
  }
9943
10175
  getMaterialType() {
9944
- return tr;
10176
+ return er;
9945
10177
  }
9946
10178
  /**
9947
10179
  * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials
@@ -9969,7 +10201,7 @@ class Va {
9969
10201
  return m.extendMaterialParams && m.extendMaterialParams(e, c);
9970
10202
  })));
9971
10203
  }
9972
- o.doubleSided === !0 && (c.side = Hi);
10204
+ o.doubleSided === !0 && (c.side = Gi);
9973
10205
  const d = o.alphaMode || Sn.OPAQUE;
9974
10206
  if (d === Sn.BLEND ? (c.transparent = !0, c.depthWrite = !1) : (c.transparent = !1, d === Sn.MASK && (c.alphaTest = o.alphaCutoff !== void 0 ? o.alphaCutoff : 0.5)), o.normalTexture !== void 0 && s !== Tt && (a.push(t.assignTexture(c, "normalMap", o.normalTexture)), c.normalScale = new At(1, 1), o.normalTexture.scale !== void 0)) {
9975
10207
  const u = o.normalTexture.scale;
@@ -10008,17 +10240,17 @@ class Va {
10008
10240
  const t = this, n = this.extensions, r = this.primitiveCache;
10009
10241
  function o(c) {
10010
10242
  return n[Re.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(c, t).then(function(A) {
10011
- return ki(A, c, t);
10243
+ return Qi(A, c, t);
10012
10244
  });
10013
10245
  }
10014
10246
  const s = [];
10015
10247
  for (let c = 0, A = e.length; c < A; c++) {
10016
- const a = e[c], d = qa(a), u = r[d];
10248
+ const a = e[c], d = Ya(a), u = r[d];
10017
10249
  if (u)
10018
10250
  s.push(u.promise);
10019
10251
  else {
10020
10252
  let m;
10021
- a.extensions && a.extensions[Re.KHR_DRACO_MESH_COMPRESSION] ? m = o(a) : m = ki(new It(), a, t), r[d] = { primitive: a, promise: m }, s.push(m);
10253
+ a.extensions && a.extensions[Re.KHR_DRACO_MESH_COMPRESSION] ? m = o(a) : m = Qi(new It(), a, t), r[d] = { primitive: a, promise: m }, s.push(m);
10022
10254
  }
10023
10255
  }
10024
10256
  return Promise.all(s);
@@ -10033,7 +10265,7 @@ class Va {
10033
10265
  loadMesh(e) {
10034
10266
  const t = this, n = this.json, r = this.extensions, o = n.meshes[e], s = o.primitives, c = [];
10035
10267
  for (let A = 0, a = s.length; A < a; A++) {
10036
- const d = s[A].material === void 0 ? Ga(this.cache) : this.getDependency("material", s[A].material);
10268
+ const d = s[A].material === void 0 ? Ka(this.cache) : this.getDependency("material", s[A].material);
10037
10269
  c.push(d);
10038
10270
  }
10039
10271
  return c.push(t.loadGeometries(s)), Promise.all(c).then(function(A) {
@@ -10043,18 +10275,18 @@ class Va {
10043
10275
  let h;
10044
10276
  const f = a[p];
10045
10277
  if (l.mode === nt.TRIANGLES || l.mode === nt.TRIANGLE_STRIP || l.mode === nt.TRIANGLE_FAN || l.mode === void 0)
10046
- h = o.isSkinnedMesh === !0 ? new Fo(g, f) : new ji(g, f), h.isSkinnedMesh === !0 && h.normalizeSkinWeights(), l.mode === nt.TRIANGLE_STRIP ? h.geometry = Ti(h.geometry, Xi) : l.mode === nt.TRIANGLE_FAN && (h.geometry = Ti(h.geometry, Gn));
10278
+ h = o.isSkinnedMesh === !0 ? new Fo(g, f) : new Hi(g, f), h.isSkinnedMesh === !0 && h.normalizeSkinWeights(), l.mode === nt.TRIANGLE_STRIP ? h.geometry = wi(h.geometry, Ji) : l.mode === nt.TRIANGLE_FAN && (h.geometry = wi(h.geometry, Gn));
10047
10279
  else if (l.mode === nt.LINES)
10048
- h = new Ui(g, f);
10280
+ h = new Pi(g, f);
10049
10281
  else if (l.mode === nt.LINE_STRIP)
10050
10282
  h = new Oo(g, f);
10051
10283
  else if (l.mode === nt.LINE_LOOP)
10052
10284
  h = new Mo(g, f);
10053
10285
  else if (l.mode === nt.POINTS)
10054
- h = new Mi(g, f);
10286
+ h = new Oi(g, f);
10055
10287
  else
10056
10288
  throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + l.mode);
10057
- Object.keys(h.geometry.morphAttributes).length > 0 && ja(h, o), h.name = t.createUniqueName(o.name || "mesh_" + e), at(h, o), l.extensions && Bt(r, h, l), t.assignFinalMaterial(h), u.push(h);
10289
+ Object.keys(h.geometry.morphAttributes).length > 0 && Wa(h, o), h.name = t.createUniqueName(o.name || "mesh_" + e), at(h, o), l.extensions && Bt(r, h, l), t.assignFinalMaterial(h), u.push(h);
10058
10290
  }
10059
10291
  for (let p = 0, E = u.length; p < E; p++)
10060
10292
  t.associations.set(u[p], {
@@ -10108,7 +10340,7 @@ class Va {
10108
10340
  } else
10109
10341
  console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', t.joints[a]);
10110
10342
  }
10111
- return new Wi(c, A);
10343
+ return new Vi(c, A);
10112
10344
  });
10113
10345
  }
10114
10346
  /**
@@ -10141,7 +10373,7 @@ class Va {
10141
10373
  for (let N = 0; N < M.length; N++)
10142
10374
  h.push(M[N]);
10143
10375
  }
10144
- const f = new Ji(o, void 0, h);
10376
+ const f = new Yi(o, void 0, h);
10145
10377
  return at(f, r), f;
10146
10378
  });
10147
10379
  }
@@ -10175,7 +10407,7 @@ class Va {
10175
10407
  ]).then(function(a) {
10176
10408
  const d = a[0], u = a[1], m = a[2];
10177
10409
  m !== null && d.traverse(function(p) {
10178
- p.isSkinnedMesh && p.bind(m, Ka);
10410
+ p.isSkinnedMesh && p.bind(m, Xa);
10179
10411
  });
10180
10412
  for (let p = 0, E = u.length; p < E; p++)
10181
10413
  d.add(u[p]);
@@ -10199,7 +10431,7 @@ class Va {
10199
10431
  c.push(a);
10200
10432
  }), this.nodeCache[e] = Promise.all(c).then(function(a) {
10201
10433
  let d;
10202
- if (o.isBone === !0 ? d = new Yi() : a.length > 1 ? d = new zt() : a.length === 1 ? d = a[0] : d = new ct(), d !== a[0])
10434
+ if (o.isBone === !0 ? d = new Wi() : a.length > 1 ? d = new zt() : a.length === 1 ? d = a[0] : d = new ct(), d !== a[0])
10203
10435
  for (let u = 0, m = a.length; u < m; u++)
10204
10436
  d.add(a[u]);
10205
10437
  if (o.name && (d.userData.name = o.name, d.name = s), at(d, o), o.extensions && Bt(n, d, o), o.matrix !== void 0) {
@@ -10235,7 +10467,7 @@ class Va {
10235
10467
  const a = (d) => {
10236
10468
  const u = /* @__PURE__ */ new Map();
10237
10469
  for (const [m, p] of r.associations)
10238
- (m instanceof Tn || m instanceof li) && u.set(m, p);
10470
+ (m instanceof Tn || m instanceof ci) && u.set(m, p);
10239
10471
  return d.traverse((m) => {
10240
10472
  const p = r.associations.get(m);
10241
10473
  p != null && u.set(m, p);
@@ -10252,7 +10484,7 @@ class Va {
10252
10484
  let a;
10253
10485
  switch (Et[o.path]) {
10254
10486
  case Et.weights:
10255
- a = ui;
10487
+ a = li;
10256
10488
  break;
10257
10489
  case Et.rotation:
10258
10490
  a = Un;
@@ -10262,10 +10494,10 @@ class Va {
10262
10494
  a = cn;
10263
10495
  break;
10264
10496
  default:
10265
- n.itemSize === 1 ? a = ui : a = cn;
10497
+ n.itemSize === 1 ? a = li : a = cn;
10266
10498
  break;
10267
10499
  }
10268
- const d = r.interpolation !== void 0 ? Ua[r.interpolation] : nr, u = this._getArrayFromAccessor(n);
10500
+ const d = r.interpolation !== void 0 ? za[r.interpolation] : tr, u = this._getArrayFromAccessor(n);
10269
10501
  for (let m = 0, p = A.length; m < p; m++) {
10270
10502
  const E = new a(
10271
10503
  A[m] + "." + Et[o.path],
@@ -10280,7 +10512,7 @@ class Va {
10280
10512
  _getArrayFromAccessor(e) {
10281
10513
  let t = e.array;
10282
10514
  if (e.normalized) {
10283
- const n = Xn(t.constructor), r = new Float32Array(t.length);
10515
+ const n = Jn(t.constructor), r = new Float32Array(t.length);
10284
10516
  for (let o = 0, s = t.length; o < s; o++)
10285
10517
  r[o] = t[o] * n;
10286
10518
  t = r;
@@ -10289,12 +10521,12 @@ class Va {
10289
10521
  }
10290
10522
  _createCubicSplineTrackInterpolant(e) {
10291
10523
  e.createInterpolant = function(n) {
10292
- const r = this instanceof Un ? Pa : Qr;
10524
+ const r = this instanceof Un ? qa : Qr;
10293
10525
  return new r(this.times, this.values, this.getValueSize() / 3, n);
10294
10526
  }, e.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
10295
10527
  }
10296
10528
  }
10297
- function Wa(i, e, t) {
10529
+ function $a(i, e, t) {
10298
10530
  const n = e.attributes, r = new qo();
10299
10531
  if (n.POSITION !== void 0) {
10300
10532
  const c = t.json.accessors[n.POSITION], A = c.min, a = c.max;
@@ -10303,7 +10535,7 @@ function Wa(i, e, t) {
10303
10535
  new _e(A[0], A[1], A[2]),
10304
10536
  new _e(a[0], a[1], a[2])
10305
10537
  ), c.normalized) {
10306
- const d = Xn(Ft[c.componentType]);
10538
+ const d = Jn(Ft[c.componentType]);
10307
10539
  r.min.multiplyScalar(d), r.max.multiplyScalar(d);
10308
10540
  }
10309
10541
  } else {
@@ -10321,7 +10553,7 @@ function Wa(i, e, t) {
10321
10553
  const m = t.json.accessors[u.POSITION], p = m.min, E = m.max;
10322
10554
  if (p !== void 0 && E !== void 0) {
10323
10555
  if (A.setX(Math.max(Math.abs(p[0]), Math.abs(E[0]))), A.setY(Math.max(Math.abs(p[1]), Math.abs(E[1]))), A.setZ(Math.max(Math.abs(p[2]), Math.abs(E[2]))), m.normalized) {
10324
- const g = Xn(Ft[m.componentType]);
10556
+ const g = Jn(Ft[m.componentType]);
10325
10557
  A.multiplyScalar(g);
10326
10558
  }
10327
10559
  c.max(A);
@@ -10335,7 +10567,7 @@ function Wa(i, e, t) {
10335
10567
  const s = new zo();
10336
10568
  r.getCenter(s.center), s.radius = r.min.distanceTo(r.max) / 2, i.boundingSphere = s;
10337
10569
  }
10338
- function ki(i, e, t) {
10570
+ function Qi(i, e, t) {
10339
10571
  const n = e.attributes, r = [];
10340
10572
  function o(s, c) {
10341
10573
  return t.getDependency("accessor", s).then(function(A) {
@@ -10343,7 +10575,7 @@ function ki(i, e, t) {
10343
10575
  });
10344
10576
  }
10345
10577
  for (const s in n) {
10346
- const c = Jn[s] || s.toLowerCase();
10578
+ const c = Yn[s] || s.toLowerCase();
10347
10579
  c in i.attributes || r.push(o(n[s], c));
10348
10580
  }
10349
10581
  if (e.indices !== void 0 && !i.index) {
@@ -10352,12 +10584,12 @@ function ki(i, e, t) {
10352
10584
  });
10353
10585
  r.push(s);
10354
10586
  }
10355
- return Xt.workingColorSpace !== st && "COLOR_0" in n && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${Xt.workingColorSpace}" not supported.`), at(i, e), Wa(i, e, t), Promise.all(r).then(function() {
10356
- return e.targets !== void 0 ? Ha(i, e.targets, t) : i;
10587
+ return Xt.workingColorSpace !== st && "COLOR_0" in n && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${Xt.workingColorSpace}" not supported.`), at(i, e), $a(i, e, t), Promise.all(r).then(function() {
10588
+ return e.targets !== void 0 ? Va(i, e.targets, t) : i;
10357
10589
  });
10358
10590
  }
10359
10591
  const Ln = /* @__PURE__ */ new WeakMap();
10360
- class Ya extends ut {
10592
+ class eA extends ut {
10361
10593
  /**
10362
10594
  * Constructs a new Draco loader.
10363
10595
  *
@@ -10472,8 +10704,8 @@ class Ya extends ut {
10472
10704
  if (s === c)
10473
10705
  a = new Kt(o, s);
10474
10706
  else {
10475
- const d = new Zi(o, c);
10476
- a = new $i(d, s, 0);
10707
+ const d = new Xi(o, c);
10708
+ a = new Zi(d, s, 0);
10477
10709
  }
10478
10710
  r === "color" && (this._assignVertexColorSpace(a, A), a.normalized = !(o instanceof Float32Array)), t.setAttribute(r, a);
10479
10711
  }
@@ -10500,7 +10732,7 @@ class Ya extends ut {
10500
10732
  return e ? t.push(this._loadLibrary("draco_decoder.js", "text")) : (t.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), t.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(t).then((n) => {
10501
10733
  const r = n[0];
10502
10734
  e || (this.decoderConfig.wasmBinary = n[1]);
10503
- const o = Ja.toString(), s = [
10735
+ const o = tA.toString(), s = [
10504
10736
  "/* draco decoder */",
10505
10737
  r,
10506
10738
  "",
@@ -10548,7 +10780,7 @@ class Ya extends ut {
10548
10780
  return this.workerPool.length = 0, this.workerSourceURL !== "" && URL.revokeObjectURL(this.workerSourceURL), this;
10549
10781
  }
10550
10782
  }
10551
- function Ja() {
10783
+ function tA() {
10552
10784
  let i, e;
10553
10785
  onmessage = function(s) {
10554
10786
  const c = s.data;
@@ -10652,7 +10884,7 @@ function Ja() {
10652
10884
  }
10653
10885
  }
10654
10886
  }
10655
- class Xa {
10887
+ class nA {
10656
10888
  /**
10657
10889
  * Constructs a new Worker pool.
10658
10890
  *
@@ -10718,7 +10950,7 @@ class Xa {
10718
10950
  this.workers.forEach((e) => e.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
10719
10951
  }
10720
10952
  }
10721
- const Za = 0, Si = 2, $a = 1, xi = 2, eA = 0, tA = 1, nA = 10, iA = 0, kr = 9, Sr = 15, xr = 16, Lr = 22, _r = 37, Nr = 43, Dr = 76, Fr = 83, Or = 97, Mr = 100, Pr = 103, Ur = 109, Gr = 122, Hr = 123, jr = 131, qr = 132, zr = 133, Kr = 134, Vr = 137, Wr = 138, Yr = 139, Jr = 140, Xr = 141, Zr = 142, $r = 145, eo = 146, to = 148, no = 152, Zn = 153, rA = 154, $n = 155, oA = 156, io = 157, ro = 158, oo = 165, so = 166, ao = 1000054e3, Ao = 1000054001, co = 1000054004, lo = 1000054005, Ai = 1000066e3, uo = 1000066004;
10953
+ const iA = 0, ki = 2, rA = 1, Si = 2, oA = 0, sA = 1, aA = 10, AA = 0, kr = 9, Sr = 15, xr = 16, Lr = 22, _r = 37, Nr = 43, Dr = 76, Fr = 83, Or = 97, Mr = 100, Pr = 103, Ur = 109, Gr = 122, Hr = 123, jr = 131, qr = 132, zr = 133, Kr = 134, Vr = 137, Wr = 138, Yr = 139, Jr = 140, Xr = 141, Zr = 142, $r = 145, eo = 146, to = 148, no = 152, Xn = 153, cA = 154, Zn = 155, lA = 156, io = 157, ro = 158, oo = 165, so = 166, ao = 1000054e3, Ao = 1000054001, co = 1000054004, lo = 1000054005, ai = 1000066e3, uo = 1000066004;
10722
10954
  class Gt {
10723
10955
  constructor(e, t, n, r) {
10724
10956
  this._dataView = void 0, this._littleEndian = void 0, this._offset = void 0, this._dataView = new DataView(e.buffer, e.byteOffset + t, n), this._littleEndian = r, this._offset = 0;
@@ -10758,10 +10990,10 @@ class Gt {
10758
10990
  }
10759
10991
  }
10760
10992
  const Ze = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
10761
- function Li(i) {
10993
+ function xi(i) {
10762
10994
  return new TextDecoder().decode(i);
10763
10995
  }
10764
- function sA(i) {
10996
+ function uA(i) {
10765
10997
  const e = new Uint8Array(i.buffer, i.byteOffset, Ze.length);
10766
10998
  if (e[0] !== Ze[0] || e[1] !== Ze[1] || e[2] !== Ze[2] || e[3] !== Ze[3] || e[4] !== Ze[4] || e[5] !== Ze[5] || e[6] !== Ze[6] || e[7] !== Ze[7] || e[8] !== Ze[8] || e[9] !== Ze[9] || e[10] !== Ze[10] || e[11] !== Ze[11]) throw new Error("Missing KTX 2.0 identifier.");
10767
10999
  const t = { vkFormat: 0, typeSize: 1, pixelWidth: 0, pixelHeight: 0, pixelDepth: 0, layerCount: 0, faceCount: 1, levelCount: 0, supercompressionScheme: 0, levels: [], dataFormatDescriptor: [{ vendorId: 0, descriptorType: 0, versionNumber: 2, colorModel: 0, colorPrimaries: 1, transferFunction: 2, flags: 0, texelBlockDimension: [0, 0, 0, 0], bytesPlane: [0, 0, 0, 0, 0, 0, 0, 0], samples: [] }], keyValue: {}, globalData: null }, n = 17 * Uint32Array.BYTES_PER_ELEMENT, r = new Gt(i, Ze.length, n, !0);
@@ -10778,9 +11010,9 @@ function sA(i) {
10778
11010
  t.dataFormatDescriptor.length = 0, t.dataFormatDescriptor.push(f);
10779
11011
  const I = new Gt(i, c, A, !0);
10780
11012
  for (; I._offset < A; ) {
10781
- const ne = I._nextUint32(), J = I._scan(ne), oe = Li(J);
11013
+ const ne = I._nextUint32(), J = I._scan(ne), oe = xi(J);
10782
11014
  if (t.keyValue[oe] = I._nextUint8Array(ne - J.byteLength - 1), oe.match(/^ktx/i)) {
10783
- const he = Li(t.keyValue[oe]);
11015
+ const he = xi(t.keyValue[oe]);
10784
11016
  t.keyValue[oe] = he.substring(0, he.lastIndexOf("\0"));
10785
11017
  }
10786
11018
  I._skip(ne % 4 ? 4 - ne % 4 : 0);
@@ -10791,13 +11023,13 @@ function sA(i) {
10791
11023
  const D = a + C._offset, L = D + q, V = L + Q, Z = V + M, H = new Uint8Array(i.buffer, i.byteOffset + D, q), $ = new Uint8Array(i.buffer, i.byteOffset + L, Q), te = new Uint8Array(i.buffer, i.byteOffset + V, M), le = new Uint8Array(i.buffer, i.byteOffset + Z, N);
10792
11024
  return t.globalData = { endpointCount: T, selectorCount: S, imageDescs: k, endpointsData: H, selectorsData: $, tablesData: te, extendedData: le }, t;
10793
11025
  }
10794
- let _n, pt, ei;
11026
+ let _n, pt, $n;
10795
11027
  const Nn = { env: { emscripten_notify_memory_growth: function(i) {
10796
- ei = new Uint8Array(pt.exports.memory.buffer);
11028
+ $n = new Uint8Array(pt.exports.memory.buffer);
10797
11029
  } } };
10798
- class aA {
11030
+ class hA {
10799
11031
  init() {
10800
- return _n || (_n = typeof fetch < "u" ? fetch("data:application/wasm;base64," + _i).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, Nn)).then(this._init) : WebAssembly.instantiate(Buffer.from(_i, "base64"), Nn).then(this._init), _n);
11032
+ return _n || (_n = typeof fetch < "u" ? fetch("data:application/wasm;base64," + Li).then((e) => e.arrayBuffer()).then((e) => WebAssembly.instantiate(e, Nn)).then(this._init) : WebAssembly.instantiate(Buffer.from(Li, "base64"), Nn).then(this._init), _n);
10801
11033
  }
10802
11034
  _init(e) {
10803
11035
  pt = e.instance, Nn.env.emscripten_notify_memory_growth(0);
@@ -10805,12 +11037,12 @@ class aA {
10805
11037
  decode(e, t = 0) {
10806
11038
  if (!pt) throw new Error("ZSTDDecoder: Await .init() before decoding.");
10807
11039
  const n = e.byteLength, r = pt.exports.malloc(n);
10808
- ei.set(e, r), t = t || Number(pt.exports.ZSTD_findDecompressedSize(r, n));
10809
- const o = pt.exports.malloc(t), s = pt.exports.ZSTD_decompress(o, t, r, n), c = ei.slice(o, o + s);
11040
+ $n.set(e, r), t = t || Number(pt.exports.ZSTD_findDecompressedSize(r, n));
11041
+ const o = pt.exports.malloc(t), s = pt.exports.ZSTD_decompress(o, t, r, n), c = $n.slice(o, o + s);
10810
11042
  return pt.exports.free(r), pt.exports.free(o), c;
10811
11043
  }
10812
11044
  }
10813
- const _i = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", AA = "display-p3", cA = "display-p3-linear";
11045
+ const Li = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigC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C0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", dA = "display-p3", fA = "display-p3-linear";
10814
11046
  ({
10815
11047
  ...Xt.spaces[Xe]
10816
11048
  });
@@ -10823,7 +11055,7 @@ class it extends ut {
10823
11055
  * @param {LoadingManager} [manager] - The loading manager.
10824
11056
  */
10825
11057
  constructor(e) {
10826
- super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new Xa(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn(
11058
+ super(e), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new nA(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn(
10827
11059
  'THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.'
10828
11060
  );
10829
11061
  }
@@ -10956,9 +11188,9 @@ class it extends ut {
10956
11188
  u = new Ko(o, A, a);
10957
11189
  else {
10958
11190
  const m = o[0].mipmaps;
10959
- u = t.layerCount > 1 ? new Vo(m, s, c, t.layerCount, A, a) : new ir(m, s, c, A, a);
11191
+ u = t.layerCount > 1 ? new Vo(m, s, c, t.layerCount, A, a) : new nr(m, s, c, A, a);
10960
11192
  }
10961
- return u.minFilter = o[0].mipmaps.length === 1 ? Ct : Zt, u.magFilter = Ct, u.generateMipmaps = !1, u.needsUpdate = !0, u.colorSpace = ho(t), u.premultiplyAlpha = !!(d & $a), u;
11193
+ return u.minFilter = o[0].mipmaps.length === 1 ? Ct : Zt, u.magFilter = Ct, u.generateMipmaps = !1, u.needsUpdate = !0, u.colorSpace = ho(t), u.premultiplyAlpha = !!(d & rA), u;
10962
11194
  }
10963
11195
  /**
10964
11196
  * @private
@@ -10967,9 +11199,9 @@ class it extends ut {
10967
11199
  * @return {Promise<CompressedTexture|CompressedArrayTexture|DataTexture|Data3DTexture>}
10968
11200
  */
10969
11201
  async _createTexture(e, t = {}) {
10970
- const n = sA(new Uint8Array(e)), r = n.vkFormat === Ai && n.dataFormatDescriptor[0].colorModel === 167;
10971
- if (!(n.vkFormat === iA || r && !this.workerConfig.astcHDRSupported))
10972
- return uA(n);
11202
+ const n = uA(new Uint8Array(e)), r = n.vkFormat === ai && n.dataFormatDescriptor[0].colorModel === 167;
11203
+ if (!(n.vkFormat === AA || r && !this.workerConfig.astcHDRSupported))
11204
+ return gA(n);
10973
11205
  const s = t, c = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: e, taskConfig: s }, [e])).then((A) => this._createTextureFrom(A.data, n));
10974
11206
  return Dn.set(e, { promise: c }), c;
10975
11207
  }
@@ -11013,11 +11245,11 @@ it.EngineFormat = {
11013
11245
  RGBA_ASTC_4x4_Format: sn,
11014
11246
  RGB_BPTC_UNSIGNED_Format: ss,
11015
11247
  RGBA_BPTC_Format: jn,
11016
- RGBA_ETC2_EAC_Format: or,
11248
+ RGBA_ETC2_EAC_Format: rr,
11017
11249
  RGBA_PVRTC_4BPPV1_Format: Hn,
11018
11250
  RGBA_S3TC_DXT5_Format: os,
11019
11251
  RGB_ETC1_Format: rs,
11020
- RGB_ETC2_Format: rr,
11252
+ RGB_ETC2_Format: ir,
11021
11253
  RGB_PVRTC_4BPPV1_Format: is,
11022
11254
  RGBA_S3TC_DXT1_Format: qn
11023
11255
  };
@@ -11219,7 +11451,7 @@ it.BasisWorker = function() {
11219
11451
  return l;
11220
11452
  }
11221
11453
  };
11222
- const lA = /* @__PURE__ */ new Set([Nt, zn, qt, jt]), Mn = {
11454
+ const pA = /* @__PURE__ */ new Set([Nt, zn, qt, jt]), Mn = {
11223
11455
  [Ur]: Nt,
11224
11456
  [Pr]: qt,
11225
11457
  [Mr]: jt,
@@ -11234,13 +11466,13 @@ const lA = /* @__PURE__ */ new Set([Nt, zn, qt, jt]), Mn = {
11234
11466
  [kr]: jt,
11235
11467
  [Hr]: zn,
11236
11468
  [Gr]: zn,
11237
- [no]: or,
11238
- [to]: rr,
11239
- [Zn]: ts,
11240
- [rA]: es,
11241
- [$n]: $o,
11242
- [oA]: Zo,
11243
- [Ai]: sn,
11469
+ [no]: rr,
11470
+ [to]: ir,
11471
+ [Xn]: ts,
11472
+ [cA]: es,
11473
+ [Zn]: $o,
11474
+ [lA]: Zo,
11475
+ [ai]: sn,
11244
11476
  [ro]: sn,
11245
11477
  [io]: sn,
11246
11478
  [uo]: vn,
@@ -11248,10 +11480,10 @@ const lA = /* @__PURE__ */ new Set([Nt, zn, qt, jt]), Mn = {
11248
11480
  [oo]: vn,
11249
11481
  [Kr]: qn,
11250
11482
  [zr]: qn,
11251
- [qr]: pi,
11252
- [jr]: pi,
11253
- [Wr]: fi,
11254
- [Vr]: fi,
11483
+ [qr]: fi,
11484
+ [jr]: fi,
11485
+ [Wr]: di,
11486
+ [Vr]: di,
11255
11487
  [Jr]: Xo,
11256
11488
  [Yr]: Jo,
11257
11489
  [Zr]: Yo,
@@ -11260,8 +11492,8 @@ const lA = /* @__PURE__ */ new Set([Nt, zn, qt, jt]), Mn = {
11260
11492
  [$r]: jn,
11261
11493
  [lo]: Hn,
11262
11494
  [Ao]: Hn,
11263
- [co]: di,
11264
- [ao]: di
11495
+ [co]: hi,
11496
+ [ao]: hi
11265
11497
  }, _t = {
11266
11498
  [Ur]: Vt,
11267
11499
  [Pr]: Vt,
@@ -11275,15 +11507,15 @@ const lA = /* @__PURE__ */ new Set([Nt, zn, qt, jt]), Mn = {
11275
11507
  [xr]: Ne,
11276
11508
  [Sr]: Ne,
11277
11509
  [kr]: Ne,
11278
- [Hr]: ar,
11279
- [Gr]: sr,
11510
+ [Hr]: sr,
11511
+ [Gr]: or,
11280
11512
  [no]: Ne,
11281
11513
  [to]: Ne,
11514
+ [Xn]: Ne,
11515
+ [Xn]: Ne,
11282
11516
  [Zn]: Ne,
11283
11517
  [Zn]: Ne,
11284
- [$n]: Ne,
11285
- [$n]: Ne,
11286
- [Ai]: wt,
11518
+ [ai]: wt,
11287
11519
  [ro]: Ne,
11288
11520
  [io]: Ne,
11289
11521
  [uo]: wt,
@@ -11306,23 +11538,23 @@ const lA = /* @__PURE__ */ new Set([Nt, zn, qt, jt]), Mn = {
11306
11538
  [co]: Ne,
11307
11539
  [ao]: Ne
11308
11540
  };
11309
- async function uA(i) {
11541
+ async function gA(i) {
11310
11542
  const { vkFormat: e } = i;
11311
11543
  if (Mn[e] === void 0)
11312
11544
  throw new Error("THREE.KTX2Loader: Unsupported vkFormat: " + e);
11313
11545
  _t[e] === void 0 && console.warn('THREE.KTX2Loader: Missing ".type" for vkFormat: ' + e);
11314
11546
  let t;
11315
- i.supercompressionScheme === Si && (On || (On = new Promise(async (s) => {
11316
- const c = new aA();
11547
+ i.supercompressionScheme === ki && (On || (On = new Promise(async (s) => {
11548
+ const c = new hA();
11317
11549
  await c.init(), s(c);
11318
11550
  })), t = await On);
11319
11551
  const n = [];
11320
11552
  for (let s = 0; s < i.levels.length; s++) {
11321
11553
  const c = Math.max(1, i.pixelWidth >> s), A = Math.max(1, i.pixelHeight >> s), a = i.pixelDepth ? Math.max(1, i.pixelDepth >> s) : 0, d = i.levels[s];
11322
11554
  let u;
11323
- if (i.supercompressionScheme === Za)
11555
+ if (i.supercompressionScheme === iA)
11324
11556
  u = d.levelData;
11325
- else if (i.supercompressionScheme === Si)
11557
+ else if (i.supercompressionScheme === ki)
11326
11558
  u = t.decode(d.levelData, d.uncompressedByteLength);
11327
11559
  else
11328
11560
  throw new Error("THREE.KTX2Loader: Unsupported supercompressionScheme.");
@@ -11335,7 +11567,7 @@ async function uA(i) {
11335
11567
  u.buffer,
11336
11568
  u.byteOffset,
11337
11569
  u.byteLength / Uint16Array.BYTES_PER_ELEMENT
11338
- ) : _t[e] === ar || _t[e] === sr ? m = new Uint32Array(
11570
+ ) : _t[e] === sr || _t[e] === or ? m = new Uint32Array(
11339
11571
  u.buffer,
11340
11572
  u.byteOffset,
11341
11573
  u.byteLength / Uint32Array.BYTES_PER_ELEMENT
@@ -11348,17 +11580,17 @@ async function uA(i) {
11348
11580
  }
11349
11581
  const r = i.levelCount === 0 || n.length > 1;
11350
11582
  let o;
11351
- if (lA.has(Mn[e]))
11352
- o = i.pixelDepth === 0 ? new qi(n[0].data, i.pixelWidth, i.pixelHeight) : new ns(n[0].data, i.pixelWidth, i.pixelHeight, i.pixelDepth), o.minFilter = r ? er : ln, o.magFilter = ln, o.generateMipmaps = i.levelCount === 0;
11583
+ if (pA.has(Mn[e]))
11584
+ o = i.pixelDepth === 0 ? new ji(n[0].data, i.pixelWidth, i.pixelHeight) : new ns(n[0].data, i.pixelWidth, i.pixelHeight, i.pixelDepth), o.minFilter = r ? $i : ln, o.magFilter = ln, o.generateMipmaps = i.levelCount === 0;
11353
11585
  else {
11354
11586
  if (i.pixelDepth > 0) throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
11355
- o = new ir(n, i.pixelWidth, i.pixelHeight), o.minFilter = r ? Zt : Ct, o.magFilter = Ct;
11587
+ o = new nr(n, i.pixelWidth, i.pixelHeight), o.minFilter = r ? Zt : Ct, o.magFilter = Ct;
11356
11588
  }
11357
11589
  return o.mipmaps = n, o.type = _t[e], o.format = Mn[e], o.colorSpace = ho(i), o.needsUpdate = !0, Promise.resolve(o);
11358
11590
  }
11359
11591
  function ho(i) {
11360
11592
  const e = i.dataFormatDescriptor[0];
11361
- return e.colorPrimaries === tA ? e.transferFunction === xi ? Xe : st : e.colorPrimaries === nA ? e.transferFunction === xi ? AA : cA : e.colorPrimaries === eA ? hi : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), hi);
11593
+ return e.colorPrimaries === sA ? e.transferFunction === Si ? Xe : st : e.colorPrimaries === aA ? e.transferFunction === Si ? dA : fA : e.colorPrimaries === oA ? ui : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${e.colorPrimaries}"`), ui);
11362
11594
  }
11363
11595
  var fo = (function() {
11364
11596
  var i = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q:Odkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;w8Wqdbk;esezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9Uc;WFbGgocjdaocjd6EhDaicefhocbhqdnindndndnaeaq9nmbaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxalc9WGgmTmecbhPawcjdfhsaohzinaraz9Rax6mvarazaxfgo9RcK6mvczhlcbhHinalgic9WfgOawcj;cbffhldndndndndnazaOco4fRbbaHcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgOco4gAaAciSgAE86bbawcj;cbfaifglcGfaoclfaAfgARbbaOcl4ciGgCaCciSgCE86bbalcVfaAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc7faAaCfgARbbaOciGgOaOciSgOE86bbalctfaAaOfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgOcl4gAaAcsSgAE86bbawcj;cbfaifglcGfaocwfaAfgARbbaOcsGgOaOcsSgOE86bbalcVfaAaOfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaHcdfhHaiczfhlarao9RcL0mekkaiam6mvaoTmvdnakTmbawaPfRbbhHawcj;cbfhlashiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkkascefhsaohzaPcefgPad9hmbxikkcbc99arao9Radcaadca0ESEhoxlkaoaxad2fhCdnakmbadhlinaoTmlarao9Rax6mlaoaxfhoalcufglmbkaChoxekcbhmawcjdfhAinarao9Rax6miawamfRbbhHawcj;cbfhlaAhiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkaAcefhAaoaxfhoamcefgmad9hmbkaChokabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekc9:hokavcj;ebf8Kjjjjbaok;cseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklzNbb", e = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q:6dkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq:p9sqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:N8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhlaicefhodnaeTmbadTmbalc;WFbGglcjdalcjd6EhwcbhDinawaeaD9RaDawfae6Egqcsfglc9WGgkci2hxakcethmalcl4cifcd4hPabaDad2fhsakc;ab6hzcbhHincbhOaohAdndninaraA9RaP6meavcj;cbfaOak2fhCaAaPfhocbhidnazmbarao9Rc;Gb6mbcbhlinaCalfhidndndndndnaAalco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklbaoczfhokdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklzaoczfhokdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklaaoczfhokdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaoclfaYpQbfaXc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaocwfaYpQbfaXc:q:yjjbfRbbfhoxekaiaopbbbpkl8Waoczfhokalc;abfhialcjefak0meaihlarao9Rc;Fb0mbkkdnaiak9pmbaici4hlinarao9RcK6miaCaifhXdndndndndnaAaico4fRbbalcoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpkbbxikaXaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaXaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaXaopbbbpkbbaoczfhokalcdfhlaiczfgiak6mbkkaoTmeaohAaOcefgOclSmdxbkkc9:hoxlkdnakTmbavcjdfaHfhiavaHfpbdbhYcbhXinaiavcj;cbfaXfglpblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLalakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEalamfpblbg3cep9Ta3aQp9op9Hp9rg3alaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfhiaXczfgXak6mbkkaHclfgHad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfgDae6mbkkcbc99arao9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk::seHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb", t = new Uint8Array([
@@ -11573,35 +11805,35 @@ var fo = (function() {
11573
11805
  }
11574
11806
  };
11575
11807
  })();
11576
- function hA(i) {
11808
+ function mA(i) {
11577
11809
  return "morphTargetDictionary" in i && i.morphTargetDictionary !== void 0 && "morphTargetInfluences" in i && Array.isArray(i.morphTargetInfluences);
11578
11810
  }
11579
- const dA = {
11811
+ const EA = {
11580
11812
  draco: "https://unpkg.com/three@0.182/examples/jsm/libs/draco/",
11581
11813
  ktx2: "https://unpkg.com/three@0.182.0/examples/jsm/libs/basis/",
11582
11814
  meshopt: !0
11583
11815
  };
11584
11816
  function po(i = {}) {
11585
11817
  const e = {
11586
- ...dA,
11818
+ ...EA,
11587
11819
  ...i
11588
11820
  };
11589
11821
  let t = new vr();
11590
- const n = new Ya();
11822
+ const n = new eA();
11591
11823
  if (n.setDecoderPath(e.draco), t.setDRACOLoader(n), e.renderer) {
11592
11824
  const r = new it();
11593
11825
  r.setTranscoderPath(e.ktx2), r.detectSupport(e.renderer), t.setKTX2Loader(r);
11594
11826
  }
11595
- e.meshopt && t.setMeshoptDecoder(fo), ci = t;
11827
+ e.meshopt && t.setMeshoptDecoder(fo), Ai = t;
11596
11828
  }
11597
- let ci = new vr();
11598
- ci.setMeshoptDecoder(fo);
11829
+ let Ai = new vr();
11830
+ Ai.setMeshoptDecoder(fo);
11599
11831
  class Pn extends hr {
11600
11832
  constructor(e, t) {
11601
11833
  super(e, t);
11602
11834
  }
11603
11835
  }
11604
- class HA extends Wt {
11836
+ class qA extends Wt {
11605
11837
  gltf;
11606
11838
  constructor(e) {
11607
11839
  super(e);
@@ -11609,14 +11841,14 @@ class HA extends Wt {
11609
11841
  async asyncInit(e) {
11610
11842
  if (cr(e)) {
11611
11843
  let t = null;
11612
- this.gltf = await ci.loadAsync(e);
11844
+ this.gltf = await Ai.loadAsync(e);
11613
11845
  const n = {}, r = {
11614
11846
  root: this.gltf.scene,
11615
11847
  bones: {},
11616
11848
  skeleton: void 0
11617
11849
  }, o = {};
11618
11850
  this.gltf.scene.traverse((s) => {
11619
- if (s.userData.a3js = { objectA3: this }, hA(s)) {
11851
+ if (s.userData.a3js = { objectA3: this }, mA(s)) {
11620
11852
  const { morphTargetDictionary: c, morphTargetInfluences: A } = s;
11621
11853
  Object.keys(c).forEach((a) => {
11622
11854
  const d = s.name + "." + a, u = c[a];
@@ -11631,24 +11863,24 @@ class HA extends Wt {
11631
11863
  );
11632
11864
  }), t ? this.syncInit(t, n, o) : (t = "dummy", n.dummy = new Pn(
11633
11865
  r,
11634
- new Ii()
11866
+ new Ei()
11635
11867
  ), this.syncInit(t, n, o));
11636
11868
  } else {
11637
11869
  const t = new re.BoxGeometry(), n = new re.MeshStandardMaterial({ color: 16711680 }), r = new re.Mesh(t, n), o = "dummy", s = {};
11638
11870
  s.dummy = new Pn(
11639
11871
  { root: r },
11640
- new Ii()
11872
+ new Ei()
11641
11873
  ), this.syncInit(o, s);
11642
11874
  }
11643
11875
  return this;
11644
11876
  }
11645
11877
  }
11646
- const fA = {
11878
+ const IA = {
11647
11879
  camera: void 0,
11648
11880
  antialias: !1,
11649
11881
  transparent: !1
11650
11882
  };
11651
- class pA extends HTMLElement {
11883
+ class bA extends HTMLElement {
11652
11884
  options;
11653
11885
  ro;
11654
11886
  base;
@@ -11676,7 +11908,7 @@ class pA extends HTMLElement {
11676
11908
  </style>
11677
11909
  <slot></slot>
11678
11910
  `, this.options = {
11679
- ...fA,
11911
+ ...IA,
11680
11912
  ...e
11681
11913
  }, this.options.camera)
11682
11914
  this.camera3js = this.options.camera.camera, this.camera = this.options.camera;
@@ -11725,7 +11957,7 @@ class pA extends HTMLElement {
11725
11957
  connectedCallback() {
11726
11958
  this.ro = new ResizeObserver((e) => {
11727
11959
  const t = e[0], n = t.contentRect.width, r = t.contentRect.height;
11728
- n === 0 || r === 0 || (this.renderer.setSize(n, r, !0), this.css2DRenderer.setSize(n, r), gA(this.camera3js) ? (this.camera3js.aspect = n / r, this.camera3js.updateProjectionMatrix()) : mA(this.camera3js) && this.camera3js.updateProjectionMatrix());
11960
+ n === 0 || r === 0 || (this.renderer.setSize(n, r, !0), this.css2DRenderer.setSize(n, r), CA(this.camera3js) ? (this.camera3js.aspect = n / r, this.camera3js.updateProjectionMatrix()) : yA(this.camera3js) && this.camera3js.updateProjectionMatrix());
11729
11961
  }), this.ro.observe(this);
11730
11962
  }
11731
11963
  disconnectedCallback() {
@@ -11820,19 +12052,19 @@ class pA extends HTMLElement {
11820
12052
  });
11821
12053
  }
11822
12054
  }
11823
- customElements.define("canvas-a3", pA);
11824
- function gA(i) {
12055
+ customElements.define("canvas-a3", bA);
12056
+ function CA(i) {
11825
12057
  return i.isPerspectiveCamera === !0;
11826
12058
  }
11827
- function mA(i) {
12059
+ function yA(i) {
11828
12060
  return i.isOrthographicCamera === !0;
11829
12061
  }
11830
- const EA = {
12062
+ const BA = {
11831
12063
  width: 600,
11832
12064
  height: 300,
11833
12065
  camera: void 0
11834
12066
  };
11835
- class IA extends HTMLElement {
12067
+ class wA extends HTMLElement {
11836
12068
  // ########## WebComponent関係のセットアップ ##########
11837
12069
  _resizeObserver;
11838
12070
  _dragging = !1;
@@ -11862,7 +12094,7 @@ class IA extends HTMLElement {
11862
12094
  timer;
11863
12095
  constructor(e = 600, t = 300, n = {}) {
11864
12096
  if (super(), this.options = {
11865
- ...EA,
12097
+ ...BA,
11866
12098
  ...n,
11867
12099
  width: e,
11868
12100
  height: t
@@ -11959,7 +12191,7 @@ class IA extends HTMLElement {
11959
12191
  const e = this.shadowRoot.querySelector(".content");
11960
12192
  let t = e.clientWidth, n = e.clientHeight;
11961
12193
  const r = Math.floor(t), o = Math.floor(n);
11962
- (this._canvas.width !== r || this._canvas.height !== o) && (this._canvas.width = r, this._canvas.height = o, bA(this.camera3js) ? (this.camera3js.aspect = r / o, this.camera3js.updateProjectionMatrix()) : CA(this.camera3js) && this.camera3js.updateProjectionMatrix(), this.renderer.setSize(r, o), this.css2DRenderer.setSize(r, o));
12194
+ (this._canvas.width !== r || this._canvas.height !== o) && (this._canvas.width = r, this._canvas.height = o, TA(this.camera3js) ? (this.camera3js.aspect = r / o, this.camera3js.updateProjectionMatrix()) : vA(this.camera3js) && this.camera3js.updateProjectionMatrix(), this.renderer.setSize(r, o), this.css2DRenderer.setSize(r, o));
11963
12195
  }
11964
12196
  connectedCallback() {
11965
12197
  this._titleEl = this.shadowRoot.querySelector(".title"), this._titleEl.textContent = this.getAttribute("title") ?? "Window", this._titleBar = this.shadowRoot.querySelector(".titlebar"), this._closeBtn = this.shadowRoot.querySelector(".close"), this._titleBar.addEventListener("mousedown", this._onDragStart), this._closeBtn.addEventListener("click", () => this.remove()), this.addEventListener("mousemove", this._onHover), this.addEventListener("mousedown", this._onResizeStart), document.addEventListener("mousemove", this._onMouseMove), document.addEventListener("mouseup", this._onMouseUp), this._resizeObserver = new ResizeObserver(() => {
@@ -12108,14 +12340,14 @@ class IA extends HTMLElement {
12108
12340
  });
12109
12341
  }
12110
12342
  }
12111
- customElements.define("window-a3", IA);
12112
- function bA(i) {
12343
+ customElements.define("window-a3", wA);
12344
+ function TA(i) {
12113
12345
  return i.isPerspectiveCamera === !0;
12114
12346
  }
12115
- function CA(i) {
12347
+ function vA(i) {
12116
12348
  return i.isOrthographicCamera === !0;
12117
12349
  }
12118
- const yA = `
12350
+ const RA = `
12119
12351
  color: white;
12120
12352
  padding: 5px 10px;
12121
12353
  background: rgba(0, 0, 0, 0.6);
@@ -12124,30 +12356,30 @@ const yA = `
12124
12356
  font-family: sans-serif;
12125
12357
  font-size: 14px;
12126
12358
  pointer-events: none; /* マウスイベントを透過させて背後の操作を邪魔しない */
12127
- `, Ni = {
12359
+ `, _i = {
12128
12360
  testMode: !0
12129
12361
  };
12130
- class jA extends Pe {
12362
+ class zA extends Pe {
12131
12363
  constructor(e = {}) {
12132
12364
  super(e);
12133
12365
  const t = {
12134
- ...Ni,
12366
+ ..._i,
12135
12367
  ...e
12136
12368
  };
12137
- this.setTransformer(new Di(t));
12369
+ this.setTransformer(new Ni(t));
12138
12370
  }
12139
12371
  initObject() {
12140
12372
  const e = new re.BoxGeometry(), t = new re.MeshStandardMaterial({ color: 65280 }), n = new re.Mesh(e, t), r = document.createElement("div");
12141
- r.textContent = "Hello Box!", r.style.cssText = yA;
12373
+ r.textContent = "Hello Box!", r.style.cssText = RA;
12142
12374
  const o = new wr(r);
12143
12375
  return o.position.set(0, 0.8, 0), n.add(o), n;
12144
12376
  }
12145
12377
  initTransformer(e) {
12146
- const t = ni(Ni, e);
12147
- return new Di(t);
12378
+ const t = ti(_i, e);
12379
+ return new Ni(t);
12148
12380
  }
12149
12381
  }
12150
- class Di extends un {
12382
+ class Ni extends un {
12151
12383
  testMode = !0;
12152
12384
  rot = new ae();
12153
12385
  constructor(e) {
@@ -12157,7 +12389,7 @@ class Di extends un {
12157
12389
  super.update(e), this.testMode && (this.rot.add(e, e, e), Rt(this.rot, "ZXY", this.transform.quat));
12158
12390
  }
12159
12391
  }
12160
- class BA extends ut {
12392
+ class QA extends ut {
12161
12393
  /**
12162
12394
  * Constructs a new font loader.
12163
12395
  *
@@ -12211,13 +12443,13 @@ class go {
12211
12443
  * @return {Array<Shape>} An array of shapes representing the text.
12212
12444
  */
12213
12445
  generateShapes(e, t = 100, n = "ltr") {
12214
- const r = [], o = wA(e, t, this.data, n);
12446
+ const r = [], o = kA(e, t, this.data, n);
12215
12447
  for (let s = 0, c = o.length; s < c; s++)
12216
12448
  r.push(...o[s].toShapes());
12217
12449
  return r;
12218
12450
  }
12219
12451
  }
12220
- function wA(i, e, t, n) {
12452
+ function kA(i, e, t, n) {
12221
12453
  const r = Array.from(i), o = e / t.resolution, s = (t.boundingBox.yMax - t.boundingBox.yMin + t.underlineThickness) * o, c = [];
12222
12454
  let A = 0, a = 0;
12223
12455
  (n == "rtl" || n == "tb") && r.reverse();
@@ -12227,13 +12459,13 @@ function wA(i, e, t, n) {
12227
12459
  `)
12228
12460
  A = 0, a -= s;
12229
12461
  else {
12230
- const m = TA(u, o, A, a, t);
12462
+ const m = SA(u, o, A, a, t);
12231
12463
  n == "tb" ? (A = 0, a += t.ascender * o) : A += m.offsetX, c.push(m.path);
12232
12464
  }
12233
12465
  }
12234
12466
  return c;
12235
12467
  }
12236
- function TA(i, e, t, n, r) {
12468
+ function SA(i, e, t, n, r) {
12237
12469
  const o = r.glyphs[i] || r.glyphs["?"];
12238
12470
  if (!o) {
12239
12471
  console.error('THREE.Font: character "' + i + '" does not exists in font family ' + r.familyName + ".");
@@ -12261,7 +12493,7 @@ function TA(i, e, t, n, r) {
12261
12493
  }
12262
12494
  return { offsetX: o.ha * e, path: s };
12263
12495
  }
12264
- class vA extends As {
12496
+ class xA extends As {
12265
12497
  /**
12266
12498
  * Constructs a new text geometry.
12267
12499
  *
@@ -12280,30 +12512,30 @@ class vA extends As {
12280
12512
  }
12281
12513
  }
12282
12514
  let mn = null;
12283
- async function qA(i) {
12515
+ async function KA(i) {
12284
12516
  if (i.match(/.zip$/i)) {
12285
12517
  let e = i.substring(i.lastIndexOf("/"));
12286
12518
  e = e.substring(0, e.length - 4);
12287
12519
  const t = await ur(i), n = dn(t, e);
12288
12520
  mn = new go(JSON.parse(n));
12289
12521
  } else
12290
- mn = await new BA().loadAsync(i);
12522
+ mn = await new QA().loadAsync(i);
12291
12523
  }
12292
- class zA extends Pe {
12524
+ class VA extends Pe {
12293
12525
  initObject(e) {
12294
12526
  let t;
12295
12527
  if (cr(e) ? t = e : t = "ERROR", mn == null) {
12296
12528
  const n = new re.BoxGeometry(), r = new re.MeshStandardMaterial({ color: 16711680 });
12297
12529
  return new re.Mesh(n, r);
12298
12530
  } else {
12299
- const n = { font: mn, size: 1, depth: 0.5, curveSegments: 12 }, r = new vA(t, n);
12531
+ const n = { font: mn, size: 1, depth: 0.5, curveSegments: 12 }, r = new xA(t, n);
12300
12532
  r.center();
12301
12533
  const o = new re.MeshStandardMaterial({ color: 65280 });
12302
12534
  return new re.Mesh(r, o);
12303
12535
  }
12304
12536
  }
12305
12537
  }
12306
- class KA extends Pe {
12538
+ class WA extends Pe {
12307
12539
  constructor(e) {
12308
12540
  super(e);
12309
12541
  }
@@ -12311,7 +12543,7 @@ class KA extends Pe {
12311
12543
  return e;
12312
12544
  }
12313
12545
  }
12314
- class VA extends Pe {
12546
+ class YA extends Pe {
12315
12547
  constructor(...e) {
12316
12548
  super(e);
12317
12549
  }
@@ -12321,7 +12553,7 @@ class VA extends Pe {
12321
12553
  return new re.Mesh(r, s);
12322
12554
  }
12323
12555
  }
12324
- class WA extends Pe {
12556
+ class JA extends Pe {
12325
12557
  constructor(...e) {
12326
12558
  super(e);
12327
12559
  }
@@ -12331,7 +12563,7 @@ class WA extends Pe {
12331
12563
  return new re.Mesh(r, s);
12332
12564
  }
12333
12565
  }
12334
- class YA extends Pe {
12566
+ class XA extends Pe {
12335
12567
  constructor() {
12336
12568
  super();
12337
12569
  }
@@ -12342,7 +12574,7 @@ class YA extends Pe {
12342
12574
  return e.add(n), e;
12343
12575
  }
12344
12576
  }
12345
- class JA extends Pe {
12577
+ class ZA extends Pe {
12346
12578
  constructor(e) {
12347
12579
  super(e);
12348
12580
  }
@@ -12352,7 +12584,7 @@ class JA extends Pe {
12352
12584
  return new re.Mesh(t, r);
12353
12585
  }
12354
12586
  }
12355
- class XA extends Pe {
12587
+ class $A extends Pe {
12356
12588
  constructor(e) {
12357
12589
  super(e);
12358
12590
  }
@@ -12361,11 +12593,11 @@ class XA extends Pe {
12361
12593
  return new wr(e);
12362
12594
  }
12363
12595
  }
12364
- const RA = {
12596
+ const LA = {
12365
12597
  // スマホかPCかの判定をタッチデバイスの数で判定
12366
12598
  touchDevice: navigator.maxTouchPoints > 0
12367
12599
  };
12368
- class QA extends HTMLElement {
12600
+ class _A extends HTMLElement {
12369
12601
  options;
12370
12602
  canvas;
12371
12603
  scene;
@@ -12389,7 +12621,7 @@ class QA extends HTMLElement {
12389
12621
  _ro;
12390
12622
  constructor(e = {}) {
12391
12623
  super(), this.options = {
12392
- ...RA,
12624
+ ...LA,
12393
12625
  ...e
12394
12626
  }, this.attachShadow({ mode: "open" }), this.shadowRoot.innerHTML = `
12395
12627
  <style>
@@ -12591,241 +12823,8 @@ class QA extends HTMLElement {
12591
12823
  return this.canvas.prompt(e, t);
12592
12824
  }
12593
12825
  }
12594
- customElements.define("game-canvas-a3", QA);
12595
- const kA = {
12596
- offset: 0.01,
12597
- auto: !0,
12598
- height: 1.5,
12599
- radius: 0.3
12600
- };
12601
- class ZA {
12602
- transform;
12603
- objectA3;
12604
- completeOptions;
12605
- controller;
12606
- colliderDesc;
12607
- // Capsule
12608
- collider;
12609
- // Capsule
12610
- capsuleCenter;
12611
- nextLocation;
12612
- tmpV1;
12613
- tmpV2;
12614
- tmpQ1;
12615
- constructor(e = {}) {
12616
- this.completeOptions = {
12617
- ...kA,
12618
- ...e
12619
- }, this.transform = new Ke(), this.capsuleCenter = new ae(), this.nextLocation = new ae(), this.tmpV1 = new ae(), this.tmpV2 = new ae(), this.tmpQ1 = new Ue();
12620
- }
12621
- init(e, t) {
12622
- if (this.transform.set(e), this.completeOptions.auto) {
12623
- const n = new re.Vector3(), r = new re.Quaternion(), o = new re.Object3D();
12624
- o.add(t.object3D), t.getPosition(this.tmpV1), this.tmpV1.write(n), o.position.set(n.x, n.y, n.z), t.getQuat(this.tmpQ1), this.tmpQ1.write(r), o.quaternion.set(r.x, r.y, r.z, r.w), t.getScale(this.tmpV2), this.tmpV2.write(n), o.scale.set(n.x, n.y, n.z);
12625
- const s = new re.Box3().setFromObject(o);
12626
- o.remove(t.object3D), s.getSize(n), this.completeOptions.radius = Math.max(n.x, n.z) / 2, this.completeOptions.height = n.y - this.completeOptions.radius * 2, s.getCenter(n), this.capsuleCenter.set(n);
12627
- }
12628
- this.colliderDesc = je.ColliderDesc.capsule(
12629
- this.completeOptions.height,
12630
- this.completeOptions.radius
12631
- ), this.colliderDesc.setTranslation(
12632
- e.loc.x,
12633
- e.loc.y,
12634
- e.loc.z
12635
- ), this.colliderDesc.setRotation({
12636
- x: e.quat.x,
12637
- y: e.quat.y,
12638
- z: e.quat.z,
12639
- w: e.quat.w
12640
- });
12641
- }
12642
- addOneselfToPhysics(e) {
12643
- this.controller = e.world.createCharacterController(this.completeOptions.offset), this.colliderDesc && (this.collider = e.world.createCollider(this.colliderDesc)), this.collider && this.objectA3 && dt.set(this.collider.handle, this.objectA3);
12644
- }
12645
- removeOneselfFromPhysics(e) {
12646
- this.collider && (e.world.removeCollider(this.collider, !1), dt.delete(this.collider.handle));
12647
- }
12648
- setPosition(e) {
12649
- this.tmpV1.set(e), this.tmpV1.add(this.capsuleCenter), this.nextLocation.set(this.tmpV1);
12650
- }
12651
- setPositionNow(e) {
12652
- this.tmpV1.set(e), this.tmpV1.add(this.capsuleCenter), e = this.tmpV1, this.collider && this.collider.setTranslation(e), this.transform.loc.set(e), this.nextLocation.set(e);
12653
- }
12654
- setQuat(e) {
12655
- this.collider && this.collider.setRotation(e), this.transform.quat.set(e);
12656
- }
12657
- setQuatNow(e) {
12658
- this.collider && this.collider.setRotation(e), this.transform.quat.set(e);
12659
- }
12660
- setScale(e) {
12661
- }
12662
- setScaleNow(e) {
12663
- }
12664
- setLinearVelocity(e) {
12665
- }
12666
- getLinearVelocity(e) {
12667
- return e || (e = new ae()), e.set(0, 0, 0), e;
12668
- }
12669
- setAngularVelocity(e) {
12670
- }
12671
- getAngularVelocity(e) {
12672
- return e || (e = new ae()), e.set(0, 0, 0), e;
12673
- }
12674
- resetForce() {
12675
- }
12676
- addForce(e) {
12677
- }
12678
- addForceAtPoint(e, t) {
12679
- }
12680
- resetTorque() {
12681
- }
12682
- addTorque(e) {
12683
- }
12684
- applyImpulse(e) {
12685
- }
12686
- applyImpulseAtPoint(e, t) {
12687
- }
12688
- applyTorqueImpulse(e) {
12689
- }
12690
- isGrounded() {
12691
- return this.controller ? this.controller.computedGrounded() : !1;
12692
- }
12693
- update(e) {
12694
- if (!this.controller || !this.collider)
12695
- return;
12696
- this.transform.quat.set(this.collider.rotation()), this.tmpV1.set(this.collider.translation()), this.tmpV2.set(this.nextLocation), this.tmpV2.sub(this.tmpV1), this.controller.computeColliderMovement(this.collider, this.tmpV2);
12697
- const t = this.controller.computedMovement();
12698
- this.tmpV1.add(t), this.collider.setTranslation(this.tmpV1), this.tmpV1.sub(this.capsuleCenter), this.transform.loc.set(this.tmpV1), this.nextLocation.set(this.tmpV1);
12699
- }
12700
- }
12701
- const SA = {
12702
- auto: !0,
12703
- height: 1.5,
12704
- radius: 0.3
12705
- };
12706
- class $A {
12707
- transform;
12708
- objectA3;
12709
- completeOptions;
12710
- colliderDesc;
12711
- // Capsule
12712
- collider;
12713
- // Capsule
12714
- bodyDesc;
12715
- body;
12716
- capsuleCenter;
12717
- nextLocation;
12718
- tmpV1;
12719
- tmpV2;
12720
- tmpQ1;
12721
- physicsWorld;
12722
- constructor(e = {}) {
12723
- this.completeOptions = {
12724
- ...SA,
12725
- ...e
12726
- }, this.transform = new Ke(), this.capsuleCenter = new ae(), this.nextLocation = new ae(), this.tmpV1 = new ae(), this.tmpV2 = new ae(), this.tmpQ1 = new Ue();
12727
- }
12728
- init(e, t) {
12729
- if (this.transform.set(e), this.completeOptions.auto) {
12730
- const n = new re.Vector3(), r = new re.Quaternion(), o = new re.Object3D();
12731
- o.add(t.object3D), t.getPosition(this.tmpV1), this.tmpV1.write(n), o.position.set(n.x, n.y, n.z), t.getQuat(this.tmpQ1), this.tmpQ1.write(r), o.quaternion.set(r.x, r.y, r.z, r.w), t.getScale(this.tmpV2), this.tmpV2.write(n), o.scale.set(n.x, n.y, n.z);
12732
- const s = new re.Box3().setFromObject(o);
12733
- s.getSize(n), this.completeOptions.radius = Math.max(n.x, n.z) / 2, this.completeOptions.height = n.y - this.completeOptions.radius * 2, s.getCenter(n), this.capsuleCenter.set(n);
12734
- }
12735
- this.bodyDesc = je.RigidBodyDesc.dynamic(), this.bodyDesc.setTranslation(
12736
- e.loc.x,
12737
- e.loc.y,
12738
- e.loc.z
12739
- ), this.bodyDesc.setRotation({
12740
- x: e.quat.x,
12741
- y: e.quat.y,
12742
- z: e.quat.z,
12743
- w: e.quat.w
12744
- }), this.colliderDesc = je.ColliderDesc.capsule(
12745
- this.completeOptions.height,
12746
- this.completeOptions.radius
12747
- );
12748
- }
12749
- addOneselfToPhysics(e) {
12750
- this.physicsWorld = e, this.bodyDesc && (this.body = e.world.createRigidBody(this.bodyDesc), this.body.setEnabledRotations(!1, !1, !1, !0)), this.colliderDesc && (this.collider = e.world.createCollider(this.colliderDesc, this.body)), this.collider && this.objectA3 && dt.set(this.collider.handle, this.objectA3);
12751
- }
12752
- removeOneselfFromPhysics(e) {
12753
- this.body && e.world.removeRigidBody(this.body), this.collider && (e.world.removeCollider(this.collider, !1), dt.delete(this.collider.handle)), this.physicsWorld = void 0;
12754
- }
12755
- setPosition(e) {
12756
- this.tmpV1.set(e), this.tmpV1.add(this.capsuleCenter), this.nextLocation.set(this.tmpV1);
12757
- }
12758
- setPositionNow(e) {
12759
- this.tmpV1.set(e), this.tmpV1.add(this.capsuleCenter), e = this.tmpV1, this.collider && this.collider.setTranslation(e), this.transform.loc.set(e), this.nextLocation.set(e);
12760
- }
12761
- setQuat(e) {
12762
- this.collider && this.collider.setRotation(e), this.transform.quat.set(e);
12763
- }
12764
- setQuatNow(e) {
12765
- this.collider && this.collider.setRotation(e), this.transform.quat.set(e);
12766
- }
12767
- setScale(e) {
12768
- }
12769
- setScaleNow(e) {
12770
- }
12771
- setLinearVelocity(e) {
12772
- this.body ? this.body.setLinvel({ x: e.x, y: e.y, z: e.z }, !0) : this.bodyDesc?.setLinvel(e.x, e.y, e.z);
12773
- }
12774
- getLinearVelocity(e) {
12775
- return e || (e = new ae()), this.body ? e.set(this.body.linvel()) : this.bodyDesc && e.set(this.bodyDesc.linvel), e;
12776
- }
12777
- setAngularVelocity(e) {
12778
- this.body ? this.body.setAngvel({ x: e.x, y: e.y, z: e.z }, !0) : this.bodyDesc?.setAngvel({ x: e.x, y: e.y, z: e.z });
12779
- }
12780
- getAngularVelocity(e) {
12781
- return e || (e = new ae()), this.body ? e.set(this.body.angvel()) : this.bodyDesc && e.set(this.bodyDesc.angvel), e;
12782
- }
12783
- resetForce() {
12784
- this.body?.resetForces(!0);
12785
- }
12786
- addForce(e) {
12787
- this.body?.addForce({ x: e.x, y: e.y, z: e.z }, !0);
12788
- }
12789
- addForceAtPoint(e, t) {
12790
- this.body?.addForceAtPoint({ x: e.x, y: e.y, z: e.z }, { x: t.x, y: t.y, z: t.z }, !0);
12791
- }
12792
- resetTorque() {
12793
- this.body?.resetTorques(!0);
12794
- }
12795
- addTorque(e) {
12796
- this.body?.addTorque({ x: e.x, y: e.y, z: e.z }, !0);
12797
- }
12798
- applyImpulse(e) {
12799
- this.body?.applyImpulse({ x: e.x, y: e.y, z: e.z }, !0);
12800
- }
12801
- applyImpulseAtPoint(e, t) {
12802
- this.body?.applyImpulseAtPoint({ x: e.x, y: e.y, z: e.z }, { x: t.x, y: t.y, z: t.z }, !0);
12803
- }
12804
- applyTorqueImpulse(e) {
12805
- this.body?.applyTorqueImpulse({ x: e.x, y: e.y, z: e.z }, !0);
12806
- }
12807
- isGrounded() {
12808
- if (this.body && this.physicsWorld) {
12809
- const e = this.body.translation(), t = new je.Ray(e, { x: 0, y: -1, z: 0 }), n = 1.1 * (this.completeOptions.height + this.completeOptions.radius);
12810
- return this.physicsWorld.world.castRay(
12811
- t,
12812
- n,
12813
- !0,
12814
- void 0,
12815
- void 0,
12816
- this.collider
12817
- ) !== null;
12818
- } else
12819
- return this.transform.loc.y <= 0;
12820
- }
12821
- update(e) {
12822
- if (!this.body)
12823
- return;
12824
- const t = new ae(this.body.translation());
12825
- t.sub(this.capsuleCenter), this.transform.loc.set(t), this.transform.quat.set(this.body.rotation());
12826
- }
12827
- }
12828
- const xA = {
12826
+ customElements.define("game-canvas-a3", _A);
12827
+ const NA = {
12829
12828
  mass: 10,
12830
12829
  // ブレーキが弱いのでこうするしかない
12831
12830
  defaultLocation: { x: 0, y: 1, z: 0 },
@@ -12871,9 +12870,9 @@ class ec {
12871
12870
  motion;
12872
12871
  constructor(e) {
12873
12872
  this.opt = {
12874
- ...xA,
12873
+ ...NA,
12875
12874
  ...e
12876
- }, this.trans = new LA(this), this.motion = new _A(this);
12875
+ }, this.trans = new DA(this), this.motion = new FA(this);
12877
12876
  }
12878
12877
  steer(e) {
12879
12878
  this.trans.controller && (this.trans.controller.setWheelSteering(0, e), this.trans.controller.setWheelSteering(1, e));
@@ -12894,7 +12893,7 @@ class ec {
12894
12893
  this.trans.chassisBody && (e ? this.trans.chassisBody.setTranslation({ x: e.x, y: e.y, z: e.z }, !0) : this.trans.chassisBody.setTranslation(this.opt.defaultLocation, !0), t ? this.trans.chassisBody.setRotation({ x: t.x, y: t.y, z: t.z, w: t.w }, !0) : this.trans.chassisBody.setRotation(this.opt.defaultQuat, !0), this.trans.chassisBody.setLinvel({ x: 0, y: 0, z: 0 }, !0), this.trans.chassisBody.setAngvel({ x: 0, y: 0, z: 0 }, !0));
12895
12894
  }
12896
12895
  }
12897
- class LA {
12896
+ class DA {
12898
12897
  cc;
12899
12898
  transform;
12900
12899
  objectA3;
@@ -13004,7 +13003,7 @@ class LA {
13004
13003
  this.controller?.updateVehicle(e), this.chassisBody && this.transform.loc.set(this.chassisBody.translation()), this.chassisBody && this.transform.quat.set(this.chassisBody.rotation());
13005
13004
  }
13006
13005
  }
13007
- class _A {
13006
+ class FA {
13008
13007
  cm;
13009
13008
  name;
13010
13009
  playCount;
@@ -13081,64 +13080,64 @@ class _A {
13081
13080
  }
13082
13081
  }
13083
13082
  export {
13084
- ca as Acerola3D,
13083
+ fa as Acerola3D,
13085
13084
  hr as Action,
13086
13085
  Wt as ActionObject,
13087
- UA as AvatarPositionController,
13088
- GA as AvatarVelocityController,
13089
- ai as BaseController,
13086
+ HA as AvatarPositionController,
13087
+ jA as AvatarVelocityController,
13088
+ si as BaseController,
13090
13089
  Br as BaseView,
13091
13090
  ds as BillboardTransformer,
13092
- VA as Box,
13093
- ua as Camera,
13094
- pA as Canvas,
13091
+ YA as Box,
13092
+ ga as Camera,
13093
+ bA as Canvas,
13095
13094
  ec as CarControl,
13096
- _A as CarMotion,
13097
- LA as CarTransformer,
13095
+ FA as CarMotion,
13096
+ DA as CarTransformer,
13098
13097
  Cr as ClipMotion,
13099
13098
  un as DefaultTransformer,
13100
- $A as DynamicCharacterTransformer,
13101
- FA as FollowTransformer,
13102
- HA as GLTF,
13103
- QA as GameCanvas,
13104
- XA as Html3D,
13105
- JA as ImagePlane,
13106
- ZA as KinematicCharacterTransformer,
13099
+ _s as DynamicCharacterTransformer,
13100
+ gs as FollowTransformer,
13101
+ qA as GLTF,
13102
+ _A as GameCanvas,
13103
+ $A as Html3D,
13104
+ ZA as ImagePlane,
13105
+ xs as KinematicCharacterTransformer,
13107
13106
  Pe as ObjectA3,
13108
- ha as OrbitController,
13107
+ ma as OrbitController,
13109
13108
  Ue as Quat,
13110
13109
  hn as RapierPhysicsEngine,
13111
13110
  lr as RapierPhysicsWorld,
13112
- jA as SampleObject,
13113
- la as Scene,
13111
+ zA as SampleObject,
13112
+ pa as Scene,
13114
13113
  fs as SmoothBillboardTransformer,
13115
- Ar as SmoothTransformer,
13114
+ ar as SmoothTransformer,
13116
13115
  bt as Sound,
13117
- WA as Sphere,
13118
- YA as StandardLights,
13116
+ JA as Sphere,
13117
+ XA as StandardLights,
13119
13118
  hs as StaticTransformer,
13120
- zA as Text3D,
13119
+ VA as Text3D,
13121
13120
  gn as ThreeCamera,
13122
- KA as ThreeObject,
13121
+ WA as ThreeObject,
13123
13122
  Ke as Transform,
13124
13123
  ae as Vec3,
13125
- IA as Window,
13126
- MA as asyncSleep,
13124
+ wA as Window,
13125
+ UA as asyncSleep,
13127
13126
  dt as collisionMap,
13128
- ni as deepMerge,
13129
- fA as defaultCanvasOptions,
13130
- xA as defaultCarControlOptions,
13131
- SA as defaultDynamicCharacterTransformerOptions,
13127
+ ti as deepMerge,
13128
+ IA as defaultCanvasOptions,
13129
+ NA as defaultCarControlOptions,
13130
+ Ls as defaultDynamicCharacterTransformerOptions,
13132
13131
  ps as defaultFollowTransformerOptions,
13133
- RA as defaultGameCanvasOptions,
13134
- kA as defaultKinematicCharacterTransformerOptions,
13135
- Ni as defaultSampleObjectOptions,
13136
- EA as defaultWindowOptions,
13132
+ LA as defaultGameCanvasOptions,
13133
+ Ss as defaultKinematicCharacterTransformerOptions,
13134
+ _i as defaultSampleObjectOptions,
13135
+ BA as defaultWindowOptions,
13137
13136
  Rt as eulerToQuaternion,
13138
13137
  yt as getLookAtQuaternion,
13139
- qA as initFont,
13140
- OA as initPhysics,
13141
- PA as initSound,
13138
+ KA as initFont,
13139
+ PA as initPhysics,
13140
+ GA as initSound,
13142
13141
  po as recreateGLTFLoader
13143
13142
  };
13144
13143
  //# sourceMappingURL=a3js.es.js.map