aptechka 0.4.5 → 0.4.7

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.
Files changed (33) hide show
  1. package/lib/en3/core/en3.d.ts +1 -1
  2. package/lib/en3/index.cjs +6 -6
  3. package/lib/en3/index.js +358 -358
  4. package/lib/gestures-D2Fdra_G.js +11 -0
  5. package/lib/gestures-DHLrn6Q8.cjs +1 -0
  6. package/lib/router/index.js +1 -3
  7. package/lib/scroll/index.cjs +1 -1
  8. package/lib/scroll/index.js +120 -122
  9. package/lib/{studio/tweaker → tweaker}/TweakerBooleanManagerElement.d.ts +1 -1
  10. package/lib/{studio/tweaker → tweaker}/TweakerColorManagerElement.d.ts +1 -1
  11. package/lib/{studio/tweaker → tweaker}/TweakerElement.d.ts +1 -1
  12. package/lib/{studio/tweaker → tweaker}/TweakerFieldElement.d.ts +4 -4
  13. package/lib/{studio/tweaker → tweaker}/TweakerFolderElement.d.ts +4 -4
  14. package/lib/{studio/tweaker → tweaker}/TweakerLinkManagerElement.d.ts +1 -1
  15. package/lib/{studio/tweaker → tweaker}/TweakerNumberManagerElement.d.ts +1 -1
  16. package/lib/{studio/tweaker → tweaker}/TweakerRangeManagerElement.d.ts +1 -1
  17. package/lib/{studio/tweaker → tweaker}/TweakerSelectManagerElement.d.ts +1 -1
  18. package/lib/tweaker/TweakerStoreManagerElement.d.ts +11 -0
  19. package/lib/{studio/tweaker → tweaker}/TweakerStringManagerElement.d.ts +1 -1
  20. package/lib/tweaker/index.cjs +10 -0
  21. package/lib/tweaker/index.d.ts +1 -0
  22. package/lib/{studio → tweaker}/index.js +293 -330
  23. package/lib/{studio/tweaker → tweaker}/tweakerManagerConstructors.d.ts +1 -1
  24. package/lib/{studio/studioStorage.d.ts → tweaker/tweakerStorage.d.ts} +3 -3
  25. package/lib/utils/gestures.d.ts +1 -0
  26. package/lib/utils/index.cjs +1 -1
  27. package/lib/utils/index.d.ts +1 -0
  28. package/lib/utils/index.js +51 -49
  29. package/package.json +9 -9
  30. package/lib/studio/StudioElement.d.ts +0 -13
  31. package/lib/studio/index.cjs +0 -10
  32. package/lib/studio/index.d.ts +0 -1
  33. package/lib/studio/tweaker/TweakerStoreManagerElement.d.ts +0 -11
package/lib/en3/index.js CHANGED
@@ -41,12 +41,12 @@ import { LayoutBox as xt } from "../layout-box/index.js";
41
41
  import { RESIZE_ORDER as kt, TICK_ORDER as ot } from "../order/index.js";
42
42
  import { windowResizer as xA } from "../window-resizer/index.js";
43
43
  import { ticker as kA } from "../ticker/index.js";
44
- import { Mesh as Fe, REVISION as us, OrthographicCamera as He, PerspectiveCamera as ze, Scene as fs, WebGLRenderer as Ds, TrianglesDrawMode as Fs, TriangleFanDrawMode as $e, TriangleStripDrawMode as bt, Loader as Bt, LoaderUtils as WA, FileLoader as fA, Color as EA, LinearSRGBColorSpace as O, SpotLight as Gs, PointLight as Rs, DirectionalLight as ps, MeshBasicMaterial as qA, SRGBColorSpace as $, MeshPhysicalMaterial as AA, Vector2 as rt, Matrix4 as bA, Vector3 as y, Quaternion as at, InstancedMesh as ms, InstancedBufferAttribute as Ms, Object3D as Ct, TextureLoader as Kt, ImageBitmapLoader as ws, BufferAttribute as VA, InterleavedBuffer as Ss, InterleavedBufferAttribute as Ls, LinearFilter as Je, LinearMipmapLinearFilter as It, RepeatWrapping as At, PointsMaterial as ys, Material as ke, LineBasicMaterial as Hs, MeshStandardMaterial as Ot, DoubleSide as Js, PropertyBinding as Ts, BufferGeometry as _t, SkinnedMesh as Us, LineSegments as Ns, Line as xs, LineLoop as ks, Points as bs, Group as jA, MathUtils as Ks, Skeleton as Os, AnimationClip as _s, Bone as Ps, InterpolateLinear as Pt, ColorManagement as ht, NearestFilter as Ys, NearestMipmapNearestFilter as qs, LinearMipmapNearestFilter as Xs, NearestMipmapLinearFilter as vs, ClampToEdgeWrapping as Ws, MirroredRepeatWrapping as Vs, InterpolateDiscrete as js, FrontSide as Zs, Texture as lt, VectorKeyframeTrack as dt, NumberKeyframeTrack as ut, QuaternionKeyframeTrack as ft, Box3 as zs, Sphere as $s, Interpolant as Ai, CompressedCubeTexture as ei, UnsignedByteType as K, CompressedArrayTexture as ti, CompressedTexture as Yt, RGBAFormat as FA, RGBA_ASTC_4x4_Format as si, RGBA_BPTC_Format as ii, RGBA_ETC2_EAC_Format as ni, RGBA_PVRTC_4BPPV1_Format as oi, RGBA_S3TC_DXT5_Format as Bi, RGB_ETC1_Format as ri, RGB_ETC2_Format as ai, RGB_PVRTC_4BPPV1_Format as Ci, RGB_S3TC_DXT1_Format as Ii, FloatType as Le, HalfFloatType as ye, DataTexture as gi, Data3DTexture as Ei, DisplayP3ColorSpace as ci, LinearDisplayP3ColorSpace as Qi, NoColorSpace as Dt, RGFormat as XA, RedFormat as vA, RGBA_ASTC_6x6_Format as Ft, Plane as Me, PlaneHelper as we, PlaneGeometry as hi, VideoTexture as li, Raycaster as di } from "three";
44
+ import { Mesh as Fe, Vector2 as Bt, Raycaster as us, REVISION as fs, OrthographicCamera as He, PerspectiveCamera as ze, Scene as Ds, WebGLRenderer as Fs, TrianglesDrawMode as Gs, TriangleFanDrawMode as $e, TriangleStripDrawMode as bt, Loader as rt, LoaderUtils as WA, FileLoader as fA, Color as EA, LinearSRGBColorSpace as O, SpotLight as Rs, PointLight as ps, DirectionalLight as ms, MeshBasicMaterial as qA, SRGBColorSpace as $, MeshPhysicalMaterial as AA, Matrix4 as bA, Vector3 as y, Quaternion as at, InstancedMesh as Ms, InstancedBufferAttribute as ws, Object3D as Ct, TextureLoader as Kt, ImageBitmapLoader as Ss, BufferAttribute as VA, InterleavedBuffer as Ls, InterleavedBufferAttribute as ys, LinearFilter as Je, LinearMipmapLinearFilter as It, RepeatWrapping as At, PointsMaterial as Hs, Material as ke, LineBasicMaterial as Js, MeshStandardMaterial as Ot, DoubleSide as Ts, PropertyBinding as Us, BufferGeometry as _t, SkinnedMesh as Ns, LineSegments as xs, Line as ks, LineLoop as bs, Points as Ks, Group as jA, MathUtils as Os, Skeleton as _s, AnimationClip as Ps, Bone as Ys, InterpolateLinear as Pt, ColorManagement as ht, NearestFilter as qs, NearestMipmapNearestFilter as Xs, LinearMipmapNearestFilter as vs, NearestMipmapLinearFilter as Ws, ClampToEdgeWrapping as Vs, MirroredRepeatWrapping as js, InterpolateDiscrete as Zs, FrontSide as zs, Texture as lt, VectorKeyframeTrack as dt, NumberKeyframeTrack as ut, QuaternionKeyframeTrack as ft, Box3 as $s, Sphere as Ai, Interpolant as ei, CompressedCubeTexture as ti, UnsignedByteType as K, CompressedArrayTexture as si, CompressedTexture as Yt, RGBAFormat as FA, RGBA_ASTC_4x4_Format as ii, RGBA_BPTC_Format as ni, RGBA_ETC2_EAC_Format as oi, RGBA_PVRTC_4BPPV1_Format as Bi, RGBA_S3TC_DXT5_Format as ri, RGB_ETC1_Format as ai, RGB_ETC2_Format as Ci, RGB_PVRTC_4BPPV1_Format as Ii, RGB_S3TC_DXT1_Format as gi, FloatType as Le, HalfFloatType as ye, DataTexture as Ei, Data3DTexture as ci, DisplayP3ColorSpace as Qi, LinearDisplayP3ColorSpace as hi, NoColorSpace as Dt, RGFormat as XA, RedFormat as vA, RGBA_ASTC_6x6_Format as Ft, Plane as Me, PlaneHelper as we, PlaneGeometry as li, VideoTexture as di } from "three";
45
45
  import { intersector as Gt } from "../intersector/index.js";
46
- import { S as Rt } from "../Store-BQXXikps.js";
47
46
  import { g as ui } from "../dom-0S_WDL4g.js";
48
47
  import { loading as be } from "../loading/index.js";
49
48
  import { S as fi } from "../SourceManager-4OHacQoQ.js";
49
+ import { S as Rt } from "../Store-BQXXikps.js";
50
50
  function qt(C) {
51
51
  const A = (e) => {
52
52
  e.dispose();
@@ -65,48 +65,151 @@ function qt(C) {
65
65
  }
66
66
  });
67
67
  }
68
- var Te, nA, N, Y, RA, pA, oA, k, mA, MA, Z, q, wA, ZA, zA, lA, Ue, Xt, $A, et, Ae, ee;
68
+ var RA, ZA, zA, nA, $A;
69
69
  class Di {
70
+ constructor(A) {
71
+ u(this, RA, void 0);
72
+ u(this, ZA, void 0);
73
+ u(this, zA, void 0);
74
+ u(this, nA, void 0);
75
+ u(this, $A, void 0);
76
+ G(this, RA, A.targetName || void 0), G(this, ZA, A.eventDispatcher || A.object3D), G(this, zA, A.propagation || !1), G(this, nA, A.object3D), G(this, $A, g(this, RA) ? () => g(this, nA).getObjectByName(g(this, RA)) || g(this, nA) : () => g(this, nA));
77
+ }
78
+ get object3D() {
79
+ return g(this, nA);
80
+ }
81
+ get eventDispatcher() {
82
+ return g(this, ZA);
83
+ }
84
+ get propagation() {
85
+ return g(this, zA);
86
+ }
87
+ get target() {
88
+ return g(this, $A).call(this);
89
+ }
90
+ dispatch(A, e) {
91
+ this.eventDispatcher.dispatchEvent(tA({
92
+ originalEvent: e,
93
+ type: A
94
+ }, this.intersection));
95
+ }
96
+ }
97
+ RA = new WeakMap(), ZA = new WeakMap(), zA = new WeakMap(), nA = new WeakMap(), $A = new WeakMap();
98
+ var oA, J, pA, Ae, ee, te, se;
99
+ class Fi {
100
+ constructor() {
101
+ u(this, oA, []);
102
+ u(this, J, []);
103
+ u(this, pA, new Bt());
104
+ u(this, Ae, new us());
105
+ u(this, ee, (A) => {
106
+ for (let e = 0; e < g(this, J).length; e++)
107
+ g(this, J)[e].dispatch("en3PointerDown", A);
108
+ });
109
+ u(this, te, (A) => {
110
+ for (let e = 0; e < g(this, J).length; e++)
111
+ g(this, J)[e].dispatch("en3PointerUp", A);
112
+ });
113
+ u(this, se, (A) => {
114
+ g(this, pA).x = A.clientX / M.width * 2 - 1, g(this, pA).y = -(A.clientY / M.height) * 2 + 1, M.camera && g(this, Ae).setFromCamera(g(this, pA), M.camera);
115
+ const e = [];
116
+ for (const o of g(this, oA)) {
117
+ const r = g(this, Ae).intersectObject(o.target);
118
+ r.length && (o.intersection = r[0], e.push(o));
119
+ }
120
+ let s = !1;
121
+ const t = g(this, J).filter(
122
+ (o) => !e.find((r) => r.object3D.uuid === o.object3D.uuid)
123
+ ), n = e.sort(
124
+ (o, r) => r.object3D.position.z - o.object3D.position.z
125
+ ).filter((o, r) => s ? (t.push(o), !1) : (s = !o.propagation, !0)), B = n.filter(
126
+ (o) => !g(this, J).find((r) => r.object3D.uuid === o.object3D.uuid)
127
+ );
128
+ for (let o = 0; o < t.length; o++)
129
+ t[o].dispatch("en3PointerLeave", A);
130
+ for (let o = 0; o < B.length; o++)
131
+ B[o].dispatch("en3PointerEnter", A);
132
+ G(this, J, n);
133
+ for (let o = 0; o < g(this, J).length; o++)
134
+ g(this, J)[o].dispatch("en3PointerMove", A);
135
+ });
136
+ M.containerElement.addEventListener(
137
+ "pointerdown",
138
+ g(this, ee)
139
+ ), M.containerElement.addEventListener("pointerup", g(this, te)), M.containerElement.addEventListener(
140
+ "pointermove",
141
+ g(this, se)
142
+ );
143
+ }
144
+ destroy() {
145
+ M.containerElement.removeEventListener(
146
+ "pointerdown",
147
+ g(this, ee)
148
+ ), M.containerElement.removeEventListener(
149
+ "pointerup",
150
+ g(this, te)
151
+ ), M.containerElement.removeEventListener(
152
+ "pointermove",
153
+ g(this, se)
154
+ );
155
+ }
156
+ add(A, e) {
157
+ if (g(this, oA).find((t) => t.object3D.uuid === A.uuid))
158
+ return;
159
+ const s = new Di(tA({
160
+ object3D: A
161
+ }, e));
162
+ g(this, oA).push(s);
163
+ }
164
+ remove(A) {
165
+ G(this, oA, g(this, oA).filter(
166
+ (e) => e.object3D.uuid !== A.uuid
167
+ )), G(this, J, g(this, J).filter((e) => e.object3D.uuid !== A.uuid));
168
+ }
169
+ }
170
+ oA = new WeakMap(), J = new WeakMap(), pA = new WeakMap(), Ae = new WeakMap(), ee = new WeakMap(), te = new WeakMap(), se = new WeakMap();
171
+ var Te, BA, N, Y, mA, MA, rA, k, wA, SA, Z, q, LA, ie, ne, lA, Ue, Xt, oe, et, Be, re;
172
+ class Gi {
70
173
  constructor() {
71
174
  u(this, Ue);
72
- u(this, $A);
73
- u(this, Te, `https://unpkg.com/three@0.${us}.x`);
74
- u(this, nA, null);
175
+ u(this, oe);
176
+ u(this, Te, `https://unpkg.com/three@0.${fs}.x`);
177
+ u(this, BA, null);
75
178
  u(this, N, null);
76
179
  u(this, Y, null);
77
- u(this, RA, null);
78
- u(this, pA, null);
79
- u(this, oA, []);
180
+ u(this, mA, null);
181
+ u(this, MA, null);
182
+ u(this, rA, []);
80
183
  u(this, k, new Qt({
81
184
  x: 0,
82
185
  y: 0,
83
186
  z: 0
84
187
  }));
85
- u(this, mA, new Qt({
188
+ u(this, wA, new Qt({
86
189
  x: 0,
87
190
  y: 0,
88
191
  z: 0
89
192
  }));
90
- u(this, MA, "auto");
193
+ u(this, SA, "auto");
91
194
  u(this, Z, 0);
92
195
  u(this, q, 0);
93
- u(this, wA, 0);
94
- u(this, ZA, 2);
95
- u(this, zA, !0);
196
+ u(this, LA, 0);
197
+ u(this, ie, 2);
198
+ u(this, ne, !0);
96
199
  u(this, lA, !1);
97
- u(this, Ae, () => {
200
+ u(this, Be, () => {
98
201
  var A;
99
- G(this, Z, g(this, nA).clientWidth), G(this, q, g(this, nA).clientHeight), G(this, wA, Math.min(g(this, ZA), devicePixelRatio || 1)), g(this, N).setPixelRatio(g(this, wA)), g(this, N).setSize(g(this, Z), g(this, q)), QA(this, $A, et).call(this), (A = this.onResize) == null || A.call(this);
202
+ G(this, Z, g(this, BA).clientWidth), G(this, q, g(this, BA).clientHeight), G(this, LA, Math.min(g(this, ie), devicePixelRatio || 1)), g(this, N).setPixelRatio(g(this, LA)), g(this, N).setSize(g(this, Z), g(this, q)), QA(this, oe, et).call(this), (A = this.onResize) == null || A.call(this);
100
203
  });
101
- u(this, ee, () => {
102
- QA(this, Ue, Xt).call(this), this.render(g(this, RA), g(this, Y));
204
+ u(this, re, () => {
205
+ QA(this, Ue, Xt).call(this), this.render(g(this, mA), g(this, Y));
103
206
  });
104
207
  }
105
208
  get CDNVersion() {
106
209
  return g(this, Te);
107
210
  }
108
211
  get containerElement() {
109
- return g(this, nA);
212
+ return g(this, BA);
110
213
  }
111
214
  get webglRenderer() {
112
215
  return g(this, N);
@@ -115,19 +218,19 @@ class Di {
115
218
  return g(this, Y);
116
219
  }
117
220
  get scene() {
118
- return g(this, RA);
221
+ return g(this, mA);
119
222
  }
120
223
  get raycaster() {
121
- return g(this, pA);
224
+ return g(this, MA);
122
225
  }
123
226
  get attachedObjects() {
124
- return g(this, oA);
227
+ return g(this, rA);
125
228
  }
126
229
  get cameraPosition() {
127
230
  return g(this, k);
128
231
  }
129
232
  get cameraRotation() {
130
- return g(this, mA);
233
+ return g(this, wA);
131
234
  }
132
235
  get width() {
133
236
  return g(this, Z);
@@ -136,7 +239,7 @@ class Di {
136
239
  return g(this, q);
137
240
  }
138
241
  get pixelRatio() {
139
- return g(this, wA);
242
+ return g(this, LA);
140
243
  }
141
244
  get cameraDistance() {
142
245
  return g(this, k).getStepValue("_initial").z;
@@ -144,17 +247,17 @@ class Di {
144
247
  set cameraDistance(A) {
145
248
  g(this, k).setStep("_initial", "+", {
146
249
  z: A
147
- }), g(this, k).calculate(), QA(this, $A, et).call(this);
250
+ }), g(this, k).calculate(), QA(this, oe, et).call(this);
148
251
  }
149
252
  attachToHTMLElement(A, e, s) {
150
253
  const t = new xt(A, me(tA({}, s), {
151
254
  containerElement: this.containerElement,
152
255
  cartesian: !0
153
256
  }));
154
- return t.bindObject(e), e.userData.box = t, g(this, oA).push(e), e;
257
+ return t.bindObject(e), e.userData.box = t, g(this, rA).push(e), e;
155
258
  }
156
259
  detachFromHTMLElement(A) {
157
- G(this, oA, g(this, oA).filter((e) => e === A ? (A.userData.box.destroy(), !1) : !0));
260
+ G(this, rA, g(this, rA).filter((e) => e === A ? (A.userData.box.destroy(), !1) : !0));
158
261
  }
159
262
  add(...A) {
160
263
  const e = A[0], s = A[1], t = A[2];
@@ -168,16 +271,16 @@ class Di {
168
271
  console.warn("[en3.setup]: You are trying to setup en3 again.");
169
272
  return;
170
273
  }
171
- G(this, nA, (A == null ? void 0 : A.containerElement) || document.body), G(this, Y, (A == null ? void 0 : A.cameraType) === "orthographic" ? new He() : new ze()), g(this, k).bind(g(this, Y).position), g(this, mA).bind(g(this, Y).rotation), g(this, k).setStep("_initial", "+", {
274
+ G(this, BA, (A == null ? void 0 : A.containerElement) || document.body), G(this, Y, (A == null ? void 0 : A.cameraType) === "orthographic" ? new He() : new ze()), g(this, k).bind(g(this, Y).position), g(this, wA).bind(g(this, Y).rotation), g(this, k).setStep("_initial", "+", {
172
275
  z: (A == null ? void 0 : A.cameraDistance) || 1e3
173
- }), g(this, k).calculate(), g(this, Y).near = (A == null ? void 0 : A.cameraNear) || 1, g(this, Y).far = (A == null ? void 0 : A.cameraFar) || 11e3, G(this, MA, (A == null ? void 0 : A.cameraFov) || "auto"), G(this, RA, new fs()), G(this, ZA, (A == null ? void 0 : A.maxPixelRatio) || 2), G(this, zA, (A == null ? void 0 : A.cameraAutoUpdate) !== !1), G(this, N, new Ds(A == null ? void 0 : A.webGLRendererParameters)), g(this, N).domElement.style.cssText = `
276
+ }), g(this, k).calculate(), g(this, Y).near = (A == null ? void 0 : A.cameraNear) || 1, g(this, Y).far = (A == null ? void 0 : A.cameraFar) || 11e3, G(this, SA, (A == null ? void 0 : A.cameraFov) || "auto"), G(this, mA, new Ds()), G(this, ie, (A == null ? void 0 : A.maxPixelRatio) || 2), G(this, ne, (A == null ? void 0 : A.cameraAutoUpdate) !== !1), G(this, N, new Fs(A == null ? void 0 : A.webGLRendererParameters)), g(this, N).domElement.style.cssText = `
174
277
  position: fixed;
175
278
  left: 0;
176
279
  top: 0;
177
280
  width: 100%;
178
281
  height: 100%;
179
282
  z-index: -1;
180
- `, g(this, nA).prepend(g(this, N).domElement), G(this, pA, new Sn()), G(this, lA, !0), xA.subscribe(g(this, Ae), kt.EN3), kA.subscribe(g(this, ee), { order: ot.EN3 });
283
+ `, g(this, BA).prepend(g(this, N).domElement), G(this, MA, new Fi()), G(this, lA, !0), xA.subscribe(g(this, Be), kt.EN3), kA.subscribe(g(this, re), { order: ot.EN3 });
181
284
  }
182
285
  destroy() {
183
286
  if (!g(this, lA)) {
@@ -186,23 +289,23 @@ class Di {
186
289
  );
187
290
  return;
188
291
  }
189
- g(this, oA).forEach((A) => {
292
+ g(this, rA).forEach((A) => {
190
293
  A.userData.box.destroy();
191
- }), xA.unsubscribe(g(this, Ae)), kA.unsubscribe(g(this, ee)), this.scene.clear(), qt(this.scene), g(this, N).dispose(), g(this, N).domElement.remove(), G(this, N, null), g(this, pA).destroy(), G(this, lA, !1);
294
+ }), xA.unsubscribe(g(this, Be)), kA.unsubscribe(g(this, re)), this.scene.clear(), qt(this.scene), g(this, N).dispose(), g(this, N).domElement.remove(), G(this, N, null), g(this, MA).destroy(), G(this, lA, !1);
192
295
  }
193
296
  render(A, e) {
194
297
  g(this, N).render(A, e);
195
298
  }
196
299
  }
197
- Te = new WeakMap(), nA = new WeakMap(), N = new WeakMap(), Y = new WeakMap(), RA = new WeakMap(), pA = new WeakMap(), oA = new WeakMap(), k = new WeakMap(), mA = new WeakMap(), MA = new WeakMap(), Z = new WeakMap(), q = new WeakMap(), wA = new WeakMap(), ZA = new WeakMap(), zA = new WeakMap(), lA = new WeakMap(), Ue = new WeakSet(), Xt = function() {
198
- g(this, zA) && (g(this, k).calculate(), g(this, mA).calculate());
199
- }, $A = new WeakSet(), et = function() {
200
- this.camera instanceof ze ? (this.camera.aspect = g(this, Z) / g(this, q), this.camera.fov = g(this, MA) === "auto" ? 2 * Math.atan(
300
+ Te = new WeakMap(), BA = new WeakMap(), N = new WeakMap(), Y = new WeakMap(), mA = new WeakMap(), MA = new WeakMap(), rA = new WeakMap(), k = new WeakMap(), wA = new WeakMap(), SA = new WeakMap(), Z = new WeakMap(), q = new WeakMap(), LA = new WeakMap(), ie = new WeakMap(), ne = new WeakMap(), lA = new WeakMap(), Ue = new WeakSet(), Xt = function() {
301
+ g(this, ne) && (g(this, k).calculate(), g(this, wA).calculate());
302
+ }, oe = new WeakSet(), et = function() {
303
+ this.camera instanceof ze ? (this.camera.aspect = g(this, Z) / g(this, q), this.camera.fov = g(this, SA) === "auto" ? 2 * Math.atan(
201
304
  g(this, q) / 2 / g(this, k).getStepValue("_initial").z
202
- ) * (180 / Math.PI) : g(this, MA)) : this.camera instanceof He && (this.camera.left = g(this, Z) / -2, this.camera.right = g(this, Z) / 2, this.camera.top = g(this, q) / 2, this.camera.bottom = g(this, q) / -2), this.camera.updateProjectionMatrix();
203
- }, Ae = new WeakMap(), ee = new WeakMap();
204
- const M = new Di();
205
- class Fi {
305
+ ) * (180 / Math.PI) : g(this, SA)) : this.camera instanceof He && (this.camera.left = g(this, Z) / -2, this.camera.right = g(this, Z) / 2, this.camera.top = g(this, q) / 2, this.camera.bottom = g(this, q) / -2), this.camera.updateProjectionMatrix();
306
+ }, Be = new WeakMap(), re = new WeakMap();
307
+ const M = new Gi();
308
+ class Ri {
206
309
  add(A, e) {
207
310
  const s = (i) => {
208
311
  i.isIntersecting && (A.sourceManager.lazyLoad(), Gt.unsubscribe(s));
@@ -211,9 +314,9 @@ class Fi {
211
314
  return Gt.subscribe(t, s);
212
315
  }
213
316
  }
214
- const Pn = new Fi();
317
+ const Pn = new Ri();
215
318
  function pt(C, A) {
216
- if (A === Fs)
319
+ if (A === Gs)
217
320
  return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."), C;
218
321
  if (A === $e || A === bt) {
219
322
  let e = C.getIndex();
@@ -239,40 +342,40 @@ function pt(C, A) {
239
342
  } else
240
343
  return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Unknown draw mode:", A), C;
241
344
  }
242
- class Gi extends Bt {
345
+ class pi extends rt {
243
346
  constructor(A) {
244
347
  super(A), this.dracoLoader = null, this.ktx2Loader = null, this.meshoptDecoder = null, this.pluginCallbacks = [], this.register(function(e) {
245
- return new wi(e);
246
- }), this.register(function(e) {
247
- return new xi(e);
248
- }), this.register(function(e) {
249
- return new ki(e);
348
+ return new Li(e);
250
349
  }), this.register(function(e) {
251
350
  return new bi(e);
252
351
  }), this.register(function(e) {
253
- return new Li(e);
352
+ return new Ki(e);
254
353
  }), this.register(function(e) {
255
- return new yi(e);
354
+ return new Oi(e);
256
355
  }), this.register(function(e) {
257
356
  return new Hi(e);
258
357
  }), this.register(function(e) {
259
358
  return new Ji(e);
260
- }), this.register(function(e) {
261
- return new Mi(e);
262
359
  }), this.register(function(e) {
263
360
  return new Ti(e);
361
+ }), this.register(function(e) {
362
+ return new Ui(e);
264
363
  }), this.register(function(e) {
265
364
  return new Si(e);
266
365
  }), this.register(function(e) {
267
366
  return new Ni(e);
268
367
  }), this.register(function(e) {
269
- return new Ui(e);
368
+ return new yi(e);
270
369
  }), this.register(function(e) {
271
- return new pi(e);
370
+ return new ki(e);
272
371
  }), this.register(function(e) {
273
- return new Ki(e);
372
+ return new xi(e);
274
373
  }), this.register(function(e) {
275
- return new Oi(e);
374
+ return new Mi(e);
375
+ }), this.register(function(e) {
376
+ return new _i(e);
377
+ }), this.register(function(e) {
378
+ return new Pi(e);
276
379
  });
277
380
  }
278
381
  load(A, e, s, t) {
@@ -327,7 +430,7 @@ class Gi extends Bt {
327
430
  else if (A instanceof ArrayBuffer)
328
431
  if (o.decode(new Uint8Array(A, 0, 4)) === vt) {
329
432
  try {
330
- n[R.KHR_BINARY_GLTF] = new _i(A);
433
+ n[R.KHR_BINARY_GLTF] = new Yi(A);
331
434
  } catch (a) {
332
435
  t && t(a);
333
436
  return;
@@ -341,7 +444,7 @@ class Gi extends Bt {
341
444
  t && t(new Error("THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported."));
342
445
  return;
343
446
  }
344
- const r = new en(i, {
447
+ const r = new sn(i, {
345
448
  path: e || this.resourcePath || "",
346
449
  crossOrigin: this.crossOrigin,
347
450
  requestHeader: this.requestHeader,
@@ -359,16 +462,16 @@ class Gi extends Bt {
359
462
  const a = i.extensionsUsed[I], c = i.extensionsRequired || [];
360
463
  switch (a) {
361
464
  case R.KHR_MATERIALS_UNLIT:
362
- n[a] = new mi();
465
+ n[a] = new wi();
363
466
  break;
364
467
  case R.KHR_DRACO_MESH_COMPRESSION:
365
- n[a] = new Pi(i, this.dracoLoader);
468
+ n[a] = new qi(i, this.dracoLoader);
366
469
  break;
367
470
  case R.KHR_TEXTURE_TRANSFORM:
368
- n[a] = new Yi();
471
+ n[a] = new Xi();
369
472
  break;
370
473
  case R.KHR_MESH_QUANTIZATION:
371
- n[a] = new qi();
474
+ n[a] = new vi();
372
475
  break;
373
476
  default:
374
477
  c.indexOf(a) >= 0 && B[a] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + a + '".');
@@ -383,7 +486,7 @@ class Gi extends Bt {
383
486
  });
384
487
  }
385
488
  }
386
- function Ri() {
489
+ function mi() {
387
490
  let C = {};
388
491
  return {
389
492
  get: function(A) {
@@ -423,7 +526,7 @@ const R = {
423
526
  EXT_MESHOPT_COMPRESSION: "EXT_meshopt_compression",
424
527
  EXT_MESH_GPU_INSTANCING: "EXT_mesh_gpu_instancing"
425
528
  };
426
- class pi {
529
+ class Mi {
427
530
  constructor(A) {
428
531
  this.parser = A, this.name = R.KHR_LIGHTS_PUNCTUAL, this.cache = { refs: {}, uses: {} };
429
532
  }
@@ -446,13 +549,13 @@ class pi {
446
549
  const a = o.range !== void 0 ? o.range : 0;
447
550
  switch (o.type) {
448
551
  case "directional":
449
- r = new ps(I), r.target.position.set(0, 0, -1), r.add(r.target);
552
+ r = new ms(I), r.target.position.set(0, 0, -1), r.add(r.target);
450
553
  break;
451
554
  case "point":
452
- r = new Rs(I), r.distance = a;
555
+ r = new ps(I), r.distance = a;
453
556
  break;
454
557
  case "spot":
455
- r = new Gs(I), r.distance = a, o.spot = o.spot || {}, o.spot.innerConeAngle = o.spot.innerConeAngle !== void 0 ? o.spot.innerConeAngle : 0, o.spot.outerConeAngle = o.spot.outerConeAngle !== void 0 ? o.spot.outerConeAngle : Math.PI / 4, r.angle = o.spot.outerConeAngle, r.penumbra = 1 - o.spot.innerConeAngle / o.spot.outerConeAngle, r.target.position.set(0, 0, -1), r.add(r.target);
558
+ r = new Rs(I), r.distance = a, o.spot = o.spot || {}, o.spot.innerConeAngle = o.spot.innerConeAngle !== void 0 ? o.spot.innerConeAngle : 0, o.spot.outerConeAngle = o.spot.outerConeAngle !== void 0 ? o.spot.outerConeAngle : Math.PI / 4, r.angle = o.spot.outerConeAngle, r.penumbra = 1 - o.spot.innerConeAngle / o.spot.outerConeAngle, r.target.position.set(0, 0, -1), r.add(r.target);
456
559
  break;
457
560
  default:
458
561
  throw new Error("THREE.GLTFLoader: Unexpected light type: " + o.type);
@@ -470,7 +573,7 @@ class pi {
470
573
  });
471
574
  }
472
575
  }
473
- class mi {
576
+ class wi {
474
577
  constructor() {
475
578
  this.name = R.KHR_MATERIALS_UNLIT;
476
579
  }
@@ -491,7 +594,7 @@ class mi {
491
594
  return Promise.all(t);
492
595
  }
493
596
  }
494
- class Mi {
597
+ class Si {
495
598
  constructor(A) {
496
599
  this.parser = A, this.name = R.KHR_MATERIALS_EMISSIVE_STRENGTH;
497
600
  }
@@ -503,7 +606,7 @@ class Mi {
503
606
  return i !== void 0 && (e.emissiveIntensity = i), Promise.resolve();
504
607
  }
505
608
  }
506
- class wi {
609
+ class Li {
507
610
  constructor(A) {
508
611
  this.parser = A, this.name = R.KHR_MATERIALS_CLEARCOAT;
509
612
  }
@@ -518,12 +621,12 @@ class wi {
518
621
  const i = [], n = t.extensions[this.name];
519
622
  if (n.clearcoatFactor !== void 0 && (e.clearcoat = n.clearcoatFactor), n.clearcoatTexture !== void 0 && i.push(s.assignTexture(e, "clearcoatMap", n.clearcoatTexture)), n.clearcoatRoughnessFactor !== void 0 && (e.clearcoatRoughness = n.clearcoatRoughnessFactor), n.clearcoatRoughnessTexture !== void 0 && i.push(s.assignTexture(e, "clearcoatRoughnessMap", n.clearcoatRoughnessTexture)), n.clearcoatNormalTexture !== void 0 && (i.push(s.assignTexture(e, "clearcoatNormalMap", n.clearcoatNormalTexture)), n.clearcoatNormalTexture.scale !== void 0)) {
520
623
  const B = n.clearcoatNormalTexture.scale;
521
- e.clearcoatNormalScale = new rt(B, B);
624
+ e.clearcoatNormalScale = new Bt(B, B);
522
625
  }
523
626
  return Promise.all(i);
524
627
  }
525
628
  }
526
- class Si {
629
+ class yi {
527
630
  constructor(A) {
528
631
  this.parser = A, this.name = R.KHR_MATERIALS_IRIDESCENCE;
529
632
  }
@@ -539,7 +642,7 @@ class Si {
539
642
  return n.iridescenceFactor !== void 0 && (e.iridescence = n.iridescenceFactor), n.iridescenceTexture !== void 0 && i.push(s.assignTexture(e, "iridescenceMap", n.iridescenceTexture)), n.iridescenceIor !== void 0 && (e.iridescenceIOR = n.iridescenceIor), e.iridescenceThicknessRange === void 0 && (e.iridescenceThicknessRange = [100, 400]), n.iridescenceThicknessMinimum !== void 0 && (e.iridescenceThicknessRange[0] = n.iridescenceThicknessMinimum), n.iridescenceThicknessMaximum !== void 0 && (e.iridescenceThicknessRange[1] = n.iridescenceThicknessMaximum), n.iridescenceThicknessTexture !== void 0 && i.push(s.assignTexture(e, "iridescenceThicknessMap", n.iridescenceThicknessTexture)), Promise.all(i);
540
643
  }
541
644
  }
542
- class Li {
645
+ class Hi {
543
646
  constructor(A) {
544
647
  this.parser = A, this.name = R.KHR_MATERIALS_SHEEN;
545
648
  }
@@ -561,7 +664,7 @@ class Li {
561
664
  return n.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = n.sheenRoughnessFactor), n.sheenColorTexture !== void 0 && i.push(s.assignTexture(e, "sheenColorMap", n.sheenColorTexture, $)), n.sheenRoughnessTexture !== void 0 && i.push(s.assignTexture(e, "sheenRoughnessMap", n.sheenRoughnessTexture)), Promise.all(i);
562
665
  }
563
666
  }
564
- class yi {
667
+ class Ji {
565
668
  constructor(A) {
566
669
  this.parser = A, this.name = R.KHR_MATERIALS_TRANSMISSION;
567
670
  }
@@ -577,7 +680,7 @@ class yi {
577
680
  return n.transmissionFactor !== void 0 && (e.transmission = n.transmissionFactor), n.transmissionTexture !== void 0 && i.push(s.assignTexture(e, "transmissionMap", n.transmissionTexture)), Promise.all(i);
578
681
  }
579
682
  }
580
- class Hi {
683
+ class Ti {
581
684
  constructor(A) {
582
685
  this.parser = A, this.name = R.KHR_MATERIALS_VOLUME;
583
686
  }
@@ -595,7 +698,7 @@ class Hi {
595
698
  return e.attenuationColor = new EA().setRGB(B[0], B[1], B[2], O), Promise.all(i);
596
699
  }
597
700
  }
598
- class Ji {
701
+ class Ui {
599
702
  constructor(A) {
600
703
  this.parser = A, this.name = R.KHR_MATERIALS_IOR;
601
704
  }
@@ -611,7 +714,7 @@ class Ji {
611
714
  return e.ior = i.ior !== void 0 ? i.ior : 1.5, Promise.resolve();
612
715
  }
613
716
  }
614
- class Ti {
717
+ class Ni {
615
718
  constructor(A) {
616
719
  this.parser = A, this.name = R.KHR_MATERIALS_SPECULAR;
617
720
  }
@@ -629,7 +732,7 @@ class Ti {
629
732
  return e.specularColor = new EA().setRGB(B[0], B[1], B[2], O), n.specularColorTexture !== void 0 && i.push(s.assignTexture(e, "specularColorMap", n.specularColorTexture, $)), Promise.all(i);
630
733
  }
631
734
  }
632
- class Ui {
735
+ class xi {
633
736
  constructor(A) {
634
737
  this.parser = A, this.name = R.EXT_MATERIALS_BUMP;
635
738
  }
@@ -645,7 +748,7 @@ class Ui {
645
748
  return e.bumpScale = n.bumpFactor !== void 0 ? n.bumpFactor : 1, n.bumpTexture !== void 0 && i.push(s.assignTexture(e, "bumpMap", n.bumpTexture)), Promise.all(i);
646
749
  }
647
750
  }
648
- class Ni {
751
+ class ki {
649
752
  constructor(A) {
650
753
  this.parser = A, this.name = R.KHR_MATERIALS_ANISOTROPY;
651
754
  }
@@ -661,7 +764,7 @@ class Ni {
661
764
  return n.anisotropyStrength !== void 0 && (e.anisotropy = n.anisotropyStrength), n.anisotropyRotation !== void 0 && (e.anisotropyRotation = n.anisotropyRotation), n.anisotropyTexture !== void 0 && i.push(s.assignTexture(e, "anisotropyMap", n.anisotropyTexture)), Promise.all(i);
662
765
  }
663
766
  }
664
- class xi {
767
+ class bi {
665
768
  constructor(A) {
666
769
  this.parser = A, this.name = R.KHR_TEXTURE_BASISU;
667
770
  }
@@ -678,7 +781,7 @@ class xi {
678
781
  return e.loadTextureImage(A, i.source, n);
679
782
  }
680
783
  }
681
- class ki {
784
+ class Ki {
682
785
  constructor(A) {
683
786
  this.parser = A, this.name = R.EXT_TEXTURE_WEBP, this.isSupported = null;
684
787
  }
@@ -709,7 +812,7 @@ class ki {
709
812
  })), this.isSupported;
710
813
  }
711
814
  }
712
- class bi {
815
+ class Oi {
713
816
  constructor(A) {
714
817
  this.parser = A, this.name = R.EXT_TEXTURE_AVIF, this.isSupported = null;
715
818
  }
@@ -740,7 +843,7 @@ class bi {
740
843
  })), this.isSupported;
741
844
  }
742
845
  }
743
- class Ki {
846
+ class _i {
744
847
  constructor(A) {
745
848
  this.name = R.EXT_MESHOPT_COMPRESSION, this.parser = A;
746
849
  }
@@ -766,7 +869,7 @@ class Ki {
766
869
  return null;
767
870
  }
768
871
  }
769
- class Oi {
872
+ class Pi {
770
873
  constructor(A) {
771
874
  this.name = R.EXT_MESH_GPU_INSTANCING, this.parser = A;
772
875
  }
@@ -784,13 +887,13 @@ class Oi {
784
887
  return B.length < 1 ? null : (B.push(this.parser.createNodeMesh(A)), Promise.all(B).then((r) => {
785
888
  const I = r.pop(), a = I.isGroup ? I.children : [I], c = r[0].count, Q = [];
786
889
  for (const l of a) {
787
- const h = new bA(), E = new y(), d = new at(), f = new y(1, 1, 1), D = new ms(l.geometry, l.material, c);
890
+ const h = new bA(), E = new y(), d = new at(), f = new y(1, 1, 1), D = new Ms(l.geometry, l.material, c);
788
891
  for (let F = 0; F < c; F++)
789
892
  o.TRANSLATION && E.fromBufferAttribute(o.TRANSLATION, F), o.ROTATION && d.fromBufferAttribute(o.ROTATION, F), o.SCALE && f.fromBufferAttribute(o.SCALE, F), D.setMatrixAt(F, h.compose(E, d, f));
790
893
  for (const F in o)
791
894
  if (F === "_COLOR_0") {
792
895
  const p = o[F];
793
- D.instanceColor = new Ms(p.array, p.itemSize, p.normalized);
896
+ D.instanceColor = new ws(p.array, p.itemSize, p.normalized);
794
897
  } else
795
898
  F !== "TRANSLATION" && F !== "ROTATION" && F !== "SCALE" && l.geometry.setAttribute(F, o[F]);
796
899
  Ct.prototype.copy.call(D, l), this.parser.assignFinalMaterial(D), Q.push(D);
@@ -800,7 +903,7 @@ class Oi {
800
903
  }
801
904
  }
802
905
  const vt = "glTF", PA = 12, mt = { JSON: 1313821514, BIN: 5130562 };
803
- class _i {
906
+ class Yi {
804
907
  constructor(A) {
805
908
  this.name = R.KHR_BINARY_GLTF, this.content = null, this.body = null;
806
909
  const e = new DataView(A, 0, PA), s = new TextDecoder();
@@ -831,7 +934,7 @@ class _i {
831
934
  throw new Error("THREE.GLTFLoader: JSON content not found.");
832
935
  }
833
936
  }
834
- class Pi {
937
+ class qi {
835
938
  constructor(A, e) {
836
939
  if (!e)
837
940
  throw new Error("THREE.GLTFLoader: No DRACOLoader instance provided.");
@@ -863,7 +966,7 @@ class Pi {
863
966
  });
864
967
  }
865
968
  }
866
- class Yi {
969
+ class Xi {
867
970
  constructor() {
868
971
  this.name = R.KHR_TEXTURE_TRANSFORM;
869
972
  }
@@ -871,12 +974,12 @@ class Yi {
871
974
  return (e.texCoord === void 0 || e.texCoord === A.channel) && e.offset === void 0 && e.rotation === void 0 && e.scale === void 0 || (A = A.clone(), e.texCoord !== void 0 && (A.channel = e.texCoord), e.offset !== void 0 && A.offset.fromArray(e.offset), e.rotation !== void 0 && (A.rotation = e.rotation), e.scale !== void 0 && A.repeat.fromArray(e.scale), A.needsUpdate = !0), A;
872
975
  }
873
976
  }
874
- class qi {
977
+ class vi {
875
978
  constructor() {
876
979
  this.name = R.KHR_MESH_QUANTIZATION;
877
980
  }
878
981
  }
879
- class Wt extends Ai {
982
+ class Wt extends ei {
880
983
  constructor(A, e, s, t) {
881
984
  super(A, e, s, t);
882
985
  }
@@ -895,11 +998,11 @@ class Wt extends Ai {
895
998
  return i;
896
999
  }
897
1000
  }
898
- const Xi = new at();
899
- class vi extends Wt {
1001
+ const Wi = new at();
1002
+ class Vi extends Wt {
900
1003
  interpolate_(A, e, s, t) {
901
1004
  const i = super.interpolate_(A, e, s, t);
902
- return Xi.fromArray(i).normalize().toArray(i), i;
1005
+ return Wi.fromArray(i).normalize().toArray(i), i;
903
1006
  }
904
1007
  }
905
1008
  const x = {
@@ -930,15 +1033,15 @@ const x = {
930
1033
  5125: Uint32Array,
931
1034
  5126: Float32Array
932
1035
  }, Mt = {
933
- 9728: Ys,
1036
+ 9728: qs,
934
1037
  9729: Je,
935
- 9984: qs,
936
- 9985: Xs,
937
- 9986: vs,
1038
+ 9984: Xs,
1039
+ 9985: vs,
1040
+ 9986: Ws,
938
1041
  9987: It
939
1042
  }, wt = {
940
- 33071: Ws,
941
- 33648: Vs,
1043
+ 33071: Vs,
1044
+ 33648: js,
942
1045
  10497: At
943
1046
  }, Ke = {
944
1047
  SCALAR: 1,
@@ -964,18 +1067,18 @@ const x = {
964
1067
  translation: "position",
965
1068
  rotation: "quaternion",
966
1069
  weights: "morphTargetInfluences"
967
- }, Wi = {
1070
+ }, ji = {
968
1071
  CUBICSPLINE: void 0,
969
1072
  // We use a custom interpolant (GLTFCubicSplineInterpolation) for CUBICSPLINE tracks. Each
970
1073
  // keyframe track will be initialized with a default interpolation type, then modified.
971
1074
  LINEAR: Pt,
972
- STEP: js
1075
+ STEP: Zs
973
1076
  }, Oe = {
974
1077
  OPAQUE: "OPAQUE",
975
1078
  MASK: "MASK",
976
1079
  BLEND: "BLEND"
977
1080
  };
978
- function Vi(C) {
1081
+ function Zi(C) {
979
1082
  return C.DefaultMaterial === void 0 && (C.DefaultMaterial = new Ot({
980
1083
  color: 16777215,
981
1084
  emissive: 0,
@@ -983,7 +1086,7 @@ function Vi(C) {
983
1086
  roughness: 1,
984
1087
  transparent: !1,
985
1088
  depthTest: !0,
986
- side: Zs
1089
+ side: zs
987
1090
  })), C.DefaultMaterial;
988
1091
  }
989
1092
  function hA(C, A, e) {
@@ -993,7 +1096,7 @@ function hA(C, A, e) {
993
1096
  function iA(C, A) {
994
1097
  A.extras !== void 0 && (typeof A.extras == "object" ? Object.assign(C.userData, A.extras) : console.warn("THREE.GLTFLoader: Ignoring primitive type .extras, " + A.extras));
995
1098
  }
996
- function ji(C, A, e) {
1099
+ function zi(C, A, e) {
997
1100
  let s = !1, t = !1, i = !1;
998
1101
  for (let r = 0, I = A.length; r < I; r++) {
999
1102
  const a = A[r];
@@ -1027,7 +1130,7 @@ function ji(C, A, e) {
1027
1130
  return s && (C.morphAttributes.position = I), t && (C.morphAttributes.normal = a), i && (C.morphAttributes.color = c), C.morphTargetsRelative = !0, C;
1028
1131
  });
1029
1132
  }
1030
- function Zi(C, A) {
1133
+ function $i(C, A) {
1031
1134
  if (C.updateMorphTargets(), A.weights !== void 0)
1032
1135
  for (let e = 0, s = A.weights.length; e < s; e++)
1033
1136
  C.morphTargetInfluences[e] = A.weights[e];
@@ -1041,7 +1144,7 @@ function Zi(C, A) {
1041
1144
  console.warn("THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.");
1042
1145
  }
1043
1146
  }
1044
- function zi(C) {
1147
+ function An(C) {
1045
1148
  let A;
1046
1149
  const e = C.extensions && C.extensions[R.KHR_DRACO_MESH_COMPRESSION];
1047
1150
  if (e ? A = "draco:" + e.bufferView + ":" + e.indices + ":" + _e(e.attributes) : A = C.indices + ":" + _e(C.attributes) + ":" + C.mode, C.targets !== void 0)
@@ -1070,15 +1173,15 @@ function st(C) {
1070
1173
  throw new Error("THREE.GLTFLoader: Unsupported normalized accessor component type.");
1071
1174
  }
1072
1175
  }
1073
- function $i(C) {
1176
+ function en(C) {
1074
1177
  return C.search(/\.jpe?g($|\?)/i) > 0 || C.search(/^data\:image\/jpeg/) === 0 ? "image/jpeg" : C.search(/\.webp($|\?)/i) > 0 || C.search(/^data\:image\/webp/) === 0 ? "image/webp" : "image/png";
1075
1178
  }
1076
- const An = new bA();
1077
- class en {
1179
+ const tn = new bA();
1180
+ class sn {
1078
1181
  constructor(A = {}, e = {}) {
1079
- this.json = A, this.extensions = {}, this.plugins = {}, this.options = e, this.cache = new Ri(), 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 = {};
1182
+ this.json = A, this.extensions = {}, this.plugins = {}, this.options = e, this.cache = new mi(), 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 = {};
1080
1183
  let s = !1, t = !1, i = -1;
1081
- typeof navigator != "undefined" && (s = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, t = navigator.userAgent.indexOf("Firefox") > -1, i = t ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap == "undefined" || s || t && i < 98 ? this.textureLoader = new Kt(this.options.manager) : this.textureLoader = new ws(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new fA(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1184
+ typeof navigator != "undefined" && (s = /^((?!chrome|android).)*safari/i.test(navigator.userAgent) === !0, t = navigator.userAgent.indexOf("Firefox") > -1, i = t ? navigator.userAgent.match(/Firefox\/([0-9]+)\./)[1] : -1), typeof createImageBitmap == "undefined" || s || t && i < 98 ? this.textureLoader = new Kt(this.options.manager) : this.textureLoader = new Ss(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new fA(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
1082
1185
  }
1083
1186
  setExtensions(A) {
1084
1187
  this.extensions = A;
@@ -1304,7 +1407,7 @@ class en {
1304
1407
  if (Q && Q !== a) {
1305
1408
  const d = Math.floor(c / Q), f = "InterleavedBuffer:" + t.bufferView + ":" + t.componentType + ":" + d + ":" + t.count;
1306
1409
  let D = e.cache.get(f);
1307
- D || (h = new r(B, d * Q, t.count * Q / I), D = new Ss(h, Q / I), e.cache.add(f, D)), E = new Ls(D, o, c % Q / I, l);
1410
+ D || (h = new r(B, d * Q, t.count * Q / I), D = new Ls(h, Q / I), e.cache.add(f, D)), E = new ys(D, o, c % Q / I, l);
1308
1411
  } else
1309
1412
  B === null ? h = new r(t.count * o) : h = new r(B, c, t.count * o), E = new VA(h, o, l);
1310
1413
  if (t.sparse !== void 0) {
@@ -1369,7 +1472,7 @@ class en {
1369
1472
  }), e.load(WA.resolveURL(a, i.path), l, void 0, Q);
1370
1473
  });
1371
1474
  }).then(function(a) {
1372
- return r === !0 && B.revokeObjectURL(o), a.userData.mimeType = n.mimeType || $i(n.uri), a;
1475
+ return r === !0 && B.revokeObjectURL(o), a.userData.mimeType = n.mimeType || en(n.uri), a;
1373
1476
  }).catch(function(a) {
1374
1477
  throw console.error("THREE.GLTFLoader: Couldn't load texture", o), a;
1375
1478
  });
@@ -1412,11 +1515,11 @@ class en {
1412
1515
  if (A.isPoints) {
1413
1516
  const B = "PointsMaterial:" + s.uuid;
1414
1517
  let o = this.cache.get(B);
1415
- o || (o = new ys(), ke.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, o.sizeAttenuation = !1, this.cache.add(B, o)), s = o;
1518
+ o || (o = new Hs(), ke.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, o.sizeAttenuation = !1, this.cache.add(B, o)), s = o;
1416
1519
  } else if (A.isLine) {
1417
1520
  const B = "LineBasicMaterial:" + s.uuid;
1418
1521
  let o = this.cache.get(B);
1419
- o || (o = new Hs(), ke.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, this.cache.add(B, o)), s = o;
1522
+ o || (o = new Js(), ke.prototype.copy.call(o, s), o.color.copy(s.color), o.map = s.map, this.cache.add(B, o)), s = o;
1420
1523
  }
1421
1524
  if (t || i || n) {
1422
1525
  let B = "ClonedMaterial:" + s.uuid + ":";
@@ -1453,9 +1556,9 @@ class en {
1453
1556
  return c.extendMaterialParams && c.extendMaterialParams(A, B);
1454
1557
  })));
1455
1558
  }
1456
- i.doubleSided === !0 && (B.side = Js);
1559
+ i.doubleSided === !0 && (B.side = Ts);
1457
1560
  const I = i.alphaMode || Oe.OPAQUE;
1458
- if (I === Oe.BLEND ? (B.transparent = !0, B.depthWrite = !1) : (B.transparent = !1, I === Oe.MASK && (B.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && n !== qA && (r.push(e.assignTexture(B, "normalMap", i.normalTexture)), B.normalScale = new rt(1, 1), i.normalTexture.scale !== void 0)) {
1561
+ if (I === Oe.BLEND ? (B.transparent = !0, B.depthWrite = !1) : (B.transparent = !1, I === Oe.MASK && (B.alphaTest = i.alphaCutoff !== void 0 ? i.alphaCutoff : 0.5)), i.normalTexture !== void 0 && n !== qA && (r.push(e.assignTexture(B, "normalMap", i.normalTexture)), B.normalScale = new Bt(1, 1), i.normalTexture.scale !== void 0)) {
1459
1562
  const a = i.normalTexture.scale;
1460
1563
  B.normalScale.set(a, a);
1461
1564
  }
@@ -1470,7 +1573,7 @@ class en {
1470
1573
  }
1471
1574
  /** When Object3D instances are targeted by animation, they need unique names. */
1472
1575
  createUniqueName(A) {
1473
- const e = Ts.sanitizeNodeName(A || "");
1576
+ const e = Us.sanitizeNodeName(A || "");
1474
1577
  return e in this.nodeNamesUsed ? e + "_" + ++this.nodeNamesUsed[e] : (this.nodeNamesUsed[e] = 0, e);
1475
1578
  }
1476
1579
  /**
@@ -1490,7 +1593,7 @@ class en {
1490
1593
  }
1491
1594
  const n = [];
1492
1595
  for (let B = 0, o = A.length; B < o; B++) {
1493
- const r = A[B], I = zi(r), a = t[I];
1596
+ const r = A[B], I = An(r), a = t[I];
1494
1597
  if (a)
1495
1598
  n.push(a.promise);
1496
1599
  else {
@@ -1508,7 +1611,7 @@ class en {
1508
1611
  loadMesh(A) {
1509
1612
  const e = this, s = this.json, t = this.extensions, i = s.meshes[A], n = i.primitives, B = [];
1510
1613
  for (let o = 0, r = n.length; o < r; o++) {
1511
- const I = n[o].material === void 0 ? Vi(this.cache) : this.getDependency("material", n[o].material);
1614
+ const I = n[o].material === void 0 ? Zi(this.cache) : this.getDependency("material", n[o].material);
1512
1615
  B.push(I);
1513
1616
  }
1514
1617
  return B.push(e.loadGeometries(n)), Promise.all(B).then(function(o) {
@@ -1518,18 +1621,18 @@ class en {
1518
1621
  let d;
1519
1622
  const f = r[Q];
1520
1623
  if (E.mode === x.TRIANGLES || E.mode === x.TRIANGLE_STRIP || E.mode === x.TRIANGLE_FAN || E.mode === void 0)
1521
- d = i.isSkinnedMesh === !0 ? new Us(h, f) : new Fe(h, f), d.isSkinnedMesh === !0 && d.normalizeSkinWeights(), E.mode === x.TRIANGLE_STRIP ? d.geometry = pt(d.geometry, bt) : E.mode === x.TRIANGLE_FAN && (d.geometry = pt(d.geometry, $e));
1624
+ d = i.isSkinnedMesh === !0 ? new Ns(h, f) : new Fe(h, f), d.isSkinnedMesh === !0 && d.normalizeSkinWeights(), E.mode === x.TRIANGLE_STRIP ? d.geometry = pt(d.geometry, bt) : E.mode === x.TRIANGLE_FAN && (d.geometry = pt(d.geometry, $e));
1522
1625
  else if (E.mode === x.LINES)
1523
- d = new Ns(h, f);
1524
- else if (E.mode === x.LINE_STRIP)
1525
1626
  d = new xs(h, f);
1526
- else if (E.mode === x.LINE_LOOP)
1627
+ else if (E.mode === x.LINE_STRIP)
1527
1628
  d = new ks(h, f);
1528
- else if (E.mode === x.POINTS)
1629
+ else if (E.mode === x.LINE_LOOP)
1529
1630
  d = new bs(h, f);
1631
+ else if (E.mode === x.POINTS)
1632
+ d = new Ks(h, f);
1530
1633
  else
1531
1634
  throw new Error("THREE.GLTFLoader: Primitive mode unsupported: " + E.mode);
1532
- Object.keys(d.geometry.morphAttributes).length > 0 && Zi(d, i), d.name = e.createUniqueName(i.name || "mesh_" + A), iA(d, i), E.extensions && hA(t, d, E), e.assignFinalMaterial(d), a.push(d);
1635
+ Object.keys(d.geometry.morphAttributes).length > 0 && $i(d, i), d.name = e.createUniqueName(i.name || "mesh_" + A), iA(d, i), E.extensions && hA(t, d, E), e.assignFinalMaterial(d), a.push(d);
1533
1636
  }
1534
1637
  for (let Q = 0, l = a.length; Q < l; Q++)
1535
1638
  e.associations.set(a[Q], {
@@ -1557,7 +1660,7 @@ class en {
1557
1660
  console.warn("THREE.GLTFLoader: Missing camera parameters.");
1558
1661
  return;
1559
1662
  }
1560
- return s.type === "perspective" ? e = new ze(Ks.radToDeg(t.yfov), t.aspectRatio || 1, t.znear || 1, t.zfar || 2e6) : s.type === "orthographic" && (e = new He(-t.xmag, t.xmag, t.ymag, -t.ymag, t.znear, t.zfar)), s.name && (e.name = this.createUniqueName(s.name)), iA(e, s), Promise.resolve(e);
1663
+ return s.type === "perspective" ? e = new ze(Os.radToDeg(t.yfov), t.aspectRatio || 1, t.znear || 1, t.zfar || 2e6) : s.type === "orthographic" && (e = new He(-t.xmag, t.xmag, t.ymag, -t.ymag, t.znear, t.zfar)), s.name && (e.name = this.createUniqueName(s.name)), iA(e, s), Promise.resolve(e);
1561
1664
  }
1562
1665
  /**
1563
1666
  * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins
@@ -1579,7 +1682,7 @@ class en {
1579
1682
  } else
1580
1683
  console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', e.joints[r]);
1581
1684
  }
1582
- return new Os(B, o);
1685
+ return new _s(B, o);
1583
1686
  });
1584
1687
  }
1585
1688
  /**
@@ -1611,7 +1714,7 @@ class en {
1611
1714
  for (let W = 0; W < H.length; W++)
1612
1715
  d.push(H[W]);
1613
1716
  }
1614
- return new _s(i, void 0, d);
1717
+ return new Ps(i, void 0, d);
1615
1718
  });
1616
1719
  }
1617
1720
  createNodeMesh(A) {
@@ -1642,7 +1745,7 @@ class en {
1642
1745
  ]).then(function(r) {
1643
1746
  const I = r[0], a = r[1], c = r[2];
1644
1747
  c !== null && I.traverse(function(Q) {
1645
- Q.isSkinnedMesh && Q.bind(c, An);
1748
+ Q.isSkinnedMesh && Q.bind(c, tn);
1646
1749
  });
1647
1750
  for (let Q = 0, l = a.length; Q < l; Q++)
1648
1751
  I.add(a[Q]);
@@ -1666,7 +1769,7 @@ class en {
1666
1769
  B.push(r);
1667
1770
  }), this.nodeCache[A] = Promise.all(B).then(function(r) {
1668
1771
  let I;
1669
- if (i.isBone === !0 ? I = new Ps() : r.length > 1 ? I = new jA() : r.length === 1 ? I = r[0] : I = new Ct(), I !== r[0])
1772
+ if (i.isBone === !0 ? I = new Ys() : r.length > 1 ? I = new jA() : r.length === 1 ? I = r[0] : I = new Ct(), I !== r[0])
1670
1773
  for (let a = 0, c = r.length; a < c; a++)
1671
1774
  I.add(r[a]);
1672
1775
  if (i.name && (I.userData.name = i.name, I.name = n), iA(I, i), i.extensions && hA(s, I, i), i.matrix !== void 0) {
@@ -1733,7 +1836,7 @@ class en {
1733
1836
  }
1734
1837
  break;
1735
1838
  }
1736
- const I = t.interpolation !== void 0 ? Wi[t.interpolation] : Pt, a = this._getArrayFromAccessor(s);
1839
+ const I = t.interpolation !== void 0 ? ji[t.interpolation] : Pt, a = this._getArrayFromAccessor(s);
1737
1840
  for (let c = 0, Q = o.length; c < Q; c++) {
1738
1841
  const l = new r(
1739
1842
  o[c] + "." + sA[i.path],
@@ -1757,13 +1860,13 @@ class en {
1757
1860
  }
1758
1861
  _createCubicSplineTrackInterpolant(A) {
1759
1862
  A.createInterpolant = function(s) {
1760
- const t = this instanceof ft ? vi : Wt;
1863
+ const t = this instanceof ft ? Vi : Wt;
1761
1864
  return new t(this.times, this.values, this.getValueSize() / 3, s);
1762
1865
  }, A.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = !0;
1763
1866
  }
1764
1867
  }
1765
- function tn(C, A, e) {
1766
- const s = A.attributes, t = new zs();
1868
+ function nn(C, A, e) {
1869
+ const s = A.attributes, t = new $s();
1767
1870
  if (s.POSITION !== void 0) {
1768
1871
  const B = e.json.accessors[s.POSITION], o = B.min, r = B.max;
1769
1872
  if (o !== void 0 && r !== void 0) {
@@ -1800,7 +1903,7 @@ function tn(C, A, e) {
1800
1903
  t.expandByVector(B);
1801
1904
  }
1802
1905
  C.boundingBox = t;
1803
- const n = new $s();
1906
+ const n = new Ai();
1804
1907
  t.getCenter(n.center), n.radius = t.min.distanceTo(t.max) / 2, C.boundingSphere = n;
1805
1908
  }
1806
1909
  function St(C, A, e) {
@@ -1820,12 +1923,12 @@ function St(C, A, e) {
1820
1923
  });
1821
1924
  t.push(n);
1822
1925
  }
1823
- return ht.workingColorSpace !== O && "COLOR_0" in s && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${ht.workingColorSpace}" not supported.`), iA(C, A), tn(C, A, e), Promise.all(t).then(function() {
1824
- return A.targets !== void 0 ? ji(C, A.targets, e) : C;
1926
+ return ht.workingColorSpace !== O && "COLOR_0" in s && console.warn(`THREE.GLTFLoader: Converting vertex colors from "srgb-linear" to "${ht.workingColorSpace}" not supported.`), iA(C, A), nn(C, A, e), Promise.all(t).then(function() {
1927
+ return A.targets !== void 0 ? zi(C, A.targets, e) : C;
1825
1928
  });
1826
1929
  }
1827
1930
  const Pe = /* @__PURE__ */ new WeakMap();
1828
- class sn extends Bt {
1931
+ class on extends rt {
1829
1932
  constructor(A) {
1830
1933
  super(A), this.decoderPath = "", this.decoderConfig = {}, this.decoderBinary = null, this.decoderPending = null, this.workerLimit = 4, this.workerPool = [], this.workerNextTaskID = 1, this.workerSourceURL = "", this.defaultAttributeIDs = {
1831
1934
  position: "POSITION",
@@ -1922,7 +2025,7 @@ class sn extends Bt {
1922
2025
  return A ? e.push(this._loadLibrary("draco_decoder.js", "text")) : (e.push(this._loadLibrary("draco_wasm_wrapper.js", "text")), e.push(this._loadLibrary("draco_decoder.wasm", "arraybuffer"))), this.decoderPending = Promise.all(e).then((s) => {
1923
2026
  const t = s[0];
1924
2027
  A || (this.decoderConfig.wasmBinary = s[1]);
1925
- const i = nn.toString(), n = [
2028
+ const i = Bn.toString(), n = [
1926
2029
  "/* draco decoder */",
1927
2030
  t,
1928
2031
  "",
@@ -1970,7 +2073,7 @@ class sn extends Bt {
1970
2073
  return this.workerPool.length = 0, this.workerSourceURL !== "" && URL.revokeObjectURL(this.workerSourceURL), this;
1971
2074
  }
1972
2075
  }
1973
- function nn() {
2076
+ function Bn() {
1974
2077
  let C, A;
1975
2078
  onmessage = function(n) {
1976
2079
  const B = n.data;
@@ -2061,7 +2164,7 @@ function nn() {
2061
2164
  }
2062
2165
  }
2063
2166
  }
2064
- class on {
2167
+ class rn {
2065
2168
  constructor(A = 4) {
2066
2169
  this.pool = A, this.queue = [], this.workers = [], this.workersResolve = [], this.workerStatus = 0;
2067
2170
  }
@@ -2101,8 +2204,8 @@ class on {
2101
2204
  this.workers.forEach((A) => A.terminate()), this.workersResolve.length = 0, this.workers.length = 0, this.queue.length = 0, this.workerStatus = 0;
2102
2205
  }
2103
2206
  }
2104
- const Bn = 0, Lt = 2, rn = 1, yt = 2, an = 0, Cn = 1, In = 10, gn = 0, Vt = 9, jt = 15, Zt = 16, zt = 22, $t = 37, As = 43, es = 76, ts = 83, ss = 97, is = 100, ns = 103, os = 109, Bs = 165, rs = 166;
2105
- class En {
2207
+ const an = 0, Lt = 2, Cn = 1, yt = 2, In = 0, gn = 1, En = 10, cn = 0, Vt = 9, jt = 15, Zt = 16, zt = 22, $t = 37, As = 43, es = 76, ts = 83, ss = 97, is = 100, ns = 103, os = 109, Bs = 165, rs = 166;
2208
+ class Qn {
2106
2209
  constructor() {
2107
2210
  this.vkFormat = 0, this.typeSize = 1, this.pixelWidth = 0, this.pixelHeight = 0, this.pixelDepth = 0, this.layerCount = 0, this.faceCount = 1, this.supercompressionScheme = 0, this.levels = [], this.dataFormatDescriptor = [{ vendorId: 0, descriptorType: 0, descriptorBlockSize: 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: [] }], this.keyValue = {}, this.globalData = null;
2108
2211
  }
@@ -2146,11 +2249,11 @@ const L = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
2146
2249
  function Ht(C) {
2147
2250
  return typeof TextDecoder != "undefined" ? new TextDecoder().decode(C) : Buffer.from(C).toString("utf8");
2148
2251
  }
2149
- function cn(C) {
2252
+ function hn(C) {
2150
2253
  const A = new Uint8Array(C.buffer, C.byteOffset, L.length);
2151
2254
  if (A[0] !== L[0] || A[1] !== L[1] || A[2] !== L[2] || A[3] !== L[3] || A[4] !== L[4] || A[5] !== L[5] || A[6] !== L[6] || A[7] !== L[7] || A[8] !== L[8] || A[9] !== L[9] || A[10] !== L[10] || A[11] !== L[11])
2152
2255
  throw new Error("Missing KTX 2.0 identifier.");
2153
- const e = new En(), s = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new YA(C, L.length, s, !0);
2256
+ const e = new Qn(), s = 17 * Uint32Array.BYTES_PER_ELEMENT, t = new YA(C, L.length, s, !0);
2154
2257
  e.vkFormat = t._nextUint32(), e.typeSize = t._nextUint32(), e.pixelWidth = t._nextUint32(), e.pixelHeight = t._nextUint32(), e.pixelDepth = t._nextUint32(), e.layerCount = t._nextUint32(), e.faceCount = t._nextUint32();
2155
2258
  const i = t._nextUint32();
2156
2259
  e.supercompressionScheme = t._nextUint32();
@@ -2180,7 +2283,7 @@ let Ye, j, it;
2180
2283
  const qe = { env: { emscripten_notify_memory_growth: function(C) {
2181
2284
  it = new Uint8Array(j.exports.memory.buffer);
2182
2285
  } } };
2183
- class Qn {
2286
+ class ln {
2184
2287
  init() {
2185
2288
  return Ye || (Ye = typeof fetch != "undefined" ? fetch("data:application/wasm;base64," + Jt).then((A) => A.arrayBuffer()).then((A) => WebAssembly.instantiate(A, qe)).then(this._init) : WebAssembly.instantiate(Buffer.from(Jt, "base64"), qe).then(this._init), Ye);
2186
2289
  }
@@ -2198,9 +2301,9 @@ class Qn {
2198
2301
  }
2199
2302
  const Jt = "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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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", Xe = /* @__PURE__ */ new WeakMap();
2200
2303
  let ve = 0, We;
2201
- class v extends Bt {
2304
+ class v extends rt {
2202
2305
  constructor(A) {
2203
- super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new on(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER != "undefined" && console.warn(
2306
+ super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new rn(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER != "undefined" && console.warn(
2204
2307
  'THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.'
2205
2308
  );
2206
2309
  }
@@ -2284,12 +2387,12 @@ class v extends Bt {
2284
2387
  return Promise.reject(o);
2285
2388
  let I;
2286
2389
  if (e.faceCount === 6)
2287
- I = new ei(s, n, K);
2390
+ I = new ti(s, n, K);
2288
2391
  else {
2289
2392
  const a = s[0].mipmaps;
2290
- I = e.layerCount > 1 ? new ti(a, t, i, e.layerCount, n, K) : new Yt(a, t, i, n, K);
2393
+ I = e.layerCount > 1 ? new si(a, t, i, e.layerCount, n, K) : new Yt(a, t, i, n, K);
2291
2394
  }
2292
- return I.minFilter = s[0].mipmaps.length === 1 ? Je : It, I.magFilter = Je, I.generateMipmaps = !1, I.needsUpdate = !0, I.colorSpace = as(e), I.premultiplyAlpha = !!(r & rn), I;
2395
+ return I.minFilter = s[0].mipmaps.length === 1 ? Je : It, I.magFilter = Je, I.generateMipmaps = !1, I.needsUpdate = !0, I.colorSpace = as(e), I.premultiplyAlpha = !!(r & Cn), I;
2293
2396
  }
2294
2397
  /**
2295
2398
  * @param {ArrayBuffer} buffer
@@ -2298,9 +2401,9 @@ class v extends Bt {
2298
2401
  */
2299
2402
  _createTexture(s) {
2300
2403
  return _A(this, arguments, function* (A, e = {}) {
2301
- const t = cn(new Uint8Array(A));
2302
- if (t.vkFormat !== gn)
2303
- return ln(t);
2404
+ const t = hn(new Uint8Array(A));
2405
+ if (t.vkFormat !== cn)
2406
+ return un(t);
2304
2407
  const i = e, n = this.init().then(() => this.workerPool.postMessage({ type: "transcode", buffer: A, taskConfig: i }, [A])).then((B) => this._createTextureFrom(B.data, t));
2305
2408
  return Xe.set(A, { promise: n }), n;
2306
2409
  });
@@ -2334,15 +2437,15 @@ v.TranscoderFormat = {
2334
2437
  };
2335
2438
  v.EngineFormat = {
2336
2439
  RGBAFormat: FA,
2337
- RGBA_ASTC_4x4_Format: si,
2338
- RGBA_BPTC_Format: ii,
2339
- RGBA_ETC2_EAC_Format: ni,
2340
- RGBA_PVRTC_4BPPV1_Format: oi,
2341
- RGBA_S3TC_DXT5_Format: Bi,
2342
- RGB_ETC1_Format: ri,
2343
- RGB_ETC2_Format: ai,
2344
- RGB_PVRTC_4BPPV1_Format: Ci,
2345
- RGB_S3TC_DXT1_Format: Ii
2440
+ RGBA_ASTC_4x4_Format: ii,
2441
+ RGBA_BPTC_Format: ni,
2442
+ RGBA_ETC2_EAC_Format: oi,
2443
+ RGBA_PVRTC_4BPPV1_Format: Bi,
2444
+ RGBA_S3TC_DXT5_Format: ri,
2445
+ RGB_ETC1_Format: ai,
2446
+ RGB_ETC2_Format: Ci,
2447
+ RGB_PVRTC_4BPPV1_Format: Ii,
2448
+ RGB_S3TC_DXT1_Format: gi
2346
2449
  };
2347
2450
  v.BasisWorker = function() {
2348
2451
  let C, A, e;
@@ -2495,7 +2598,7 @@ v.BasisWorker = function() {
2495
2598
  return E;
2496
2599
  }
2497
2600
  };
2498
- const hn = /* @__PURE__ */ new Set([FA, XA, vA]), Ve = {
2601
+ const dn = /* @__PURE__ */ new Set([FA, XA, vA]), Ve = {
2499
2602
  [os]: FA,
2500
2603
  [ss]: FA,
2501
2604
  [$t]: FA,
@@ -2526,21 +2629,21 @@ const hn = /* @__PURE__ */ new Set([FA, XA, vA]), Ve = {
2526
2629
  [rs]: K,
2527
2630
  [Bs]: K
2528
2631
  };
2529
- function ln(C) {
2632
+ function un(C) {
2530
2633
  return _A(this, null, function* () {
2531
2634
  const { vkFormat: A } = C;
2532
2635
  if (Ve[A] === void 0)
2533
2636
  throw new Error("THREE.KTX2Loader: Unsupported vkFormat.");
2534
2637
  let e;
2535
2638
  C.supercompressionScheme === Lt && (We || (We = new Promise((i) => _A(this, null, function* () {
2536
- const n = new Qn();
2639
+ const n = new ln();
2537
2640
  yield n.init(), i(n);
2538
2641
  }))), e = yield We);
2539
2642
  const s = [];
2540
2643
  for (let i = 0; i < C.levels.length; i++) {
2541
2644
  const n = Math.max(1, C.pixelWidth >> i), B = Math.max(1, C.pixelHeight >> i), o = C.pixelDepth ? Math.max(1, C.pixelDepth >> i) : 0, r = C.levels[i];
2542
2645
  let I;
2543
- if (C.supercompressionScheme === Bn)
2646
+ if (C.supercompressionScheme === an)
2544
2647
  I = r.levelData;
2545
2648
  else if (C.supercompressionScheme === Lt)
2546
2649
  I = e.decode(r.levelData, r.uncompressedByteLength);
@@ -2563,8 +2666,8 @@ function ln(C) {
2563
2666
  });
2564
2667
  }
2565
2668
  let t;
2566
- if (hn.has(Ve[A]))
2567
- t = C.pixelDepth === 0 ? new gi(s[0].data, C.pixelWidth, C.pixelHeight) : new Ei(s[0].data, C.pixelWidth, C.pixelHeight, C.pixelDepth);
2669
+ if (dn.has(Ve[A]))
2670
+ t = C.pixelDepth === 0 ? new Ei(s[0].data, C.pixelWidth, C.pixelHeight) : new ci(s[0].data, C.pixelWidth, C.pixelHeight, C.pixelDepth);
2568
2671
  else {
2569
2672
  if (C.pixelDepth > 0)
2570
2673
  throw new Error("THREE.KTX2Loader: Unsupported pixelDepth.");
@@ -2575,10 +2678,10 @@ function ln(C) {
2575
2678
  }
2576
2679
  function as(C) {
2577
2680
  const A = C.dataFormatDescriptor[0];
2578
- return A.colorPrimaries === Cn ? A.transferFunction === yt ? $ : O : A.colorPrimaries === In ? A.transferFunction === yt ? ci : Qi : A.colorPrimaries === an ? Dt : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), Dt);
2681
+ return A.colorPrimaries === gn ? A.transferFunction === yt ? $ : O : A.colorPrimaries === En ? A.transferFunction === yt ? Qi : hi : A.colorPrimaries === In ? Dt : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), Dt);
2579
2682
  }
2580
2683
  let Se;
2581
- const dn = () => {
2684
+ const fn = () => {
2582
2685
  if (Se)
2583
2686
  return Se;
2584
2687
  const C = "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", A = "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", e = new Uint8Array([
@@ -2775,40 +2878,40 @@ const dn = () => {
2775
2878
  }
2776
2879
  }, Se;
2777
2880
  };
2778
- var SA, te, se, ie;
2779
- class un {
2881
+ var yA, ae, Ce, Ie;
2882
+ class Dn {
2780
2883
  constructor() {
2781
- u(this, SA, new Gi());
2782
- u(this, te, new sn().setDecoderPath(
2884
+ u(this, yA, new pi());
2885
+ u(this, ae, new on().setDecoderPath(
2783
2886
  `${M.CDNVersion}/examples/jsm/libs/draco/gltf/`
2784
2887
  ));
2785
- u(this, se, new v().setTranscoderPath(
2888
+ u(this, Ce, new v().setTranscoderPath(
2786
2889
  `${M.CDNVersion}/examples/jsm/libs/basis/`
2787
2890
  ));
2788
- u(this, ie, !1);
2789
- g(this, SA).setCrossOrigin("anonymous").setDRACOLoader(g(this, te)).setMeshoptDecoder(dn);
2891
+ u(this, Ie, !1);
2892
+ g(this, yA).setCrossOrigin("anonymous").setDRACOLoader(g(this, ae)).setMeshoptDecoder(fn);
2790
2893
  }
2791
2894
  get gltfLoader() {
2792
- return g(this, SA);
2895
+ return g(this, yA);
2793
2896
  }
2794
2897
  get dracoLoader() {
2795
- return g(this, te);
2898
+ return g(this, ae);
2796
2899
  }
2797
2900
  get ktx2Loader() {
2798
- return g(this, se);
2901
+ return g(this, Ce);
2799
2902
  }
2800
2903
  load(...A) {
2801
- g(this, ie) || (g(this, SA).setKTX2Loader(g(this, se).detectSupport(M.webglRenderer)), G(this, ie, !0)), this.gltfLoader.load(...A);
2904
+ g(this, Ie) || (g(this, yA).setKTX2Loader(g(this, Ce).detectSupport(M.webglRenderer)), G(this, Ie, !0)), this.gltfLoader.load(...A);
2802
2905
  }
2803
2906
  }
2804
- SA = new WeakMap(), te = new WeakMap(), se = new WeakMap(), ie = new WeakMap();
2805
- const fn = new un();
2806
- var b, z, ne;
2907
+ yA = new WeakMap(), ae = new WeakMap(), Ce = new WeakMap(), Ie = new WeakMap();
2908
+ const Fn = new Dn();
2909
+ var b, z, ge;
2807
2910
  class Yn {
2808
2911
  constructor(A, e = 1) {
2809
2912
  u(this, b, null);
2810
2913
  u(this, z, []);
2811
- u(this, ne, () => {
2914
+ u(this, ge, () => {
2812
2915
  const A = g(this, b).position.x, e = g(this, b).position.y;
2813
2916
  g(this, z)[0].constant = g(this, b).scale.y / 2 + e * -1, g(this, z)[1].constant = g(this, b).scale.y / 2 + e, g(this, z)[2].constant = g(this, b).scale.x / 2 + A, g(this, z)[3].constant = g(this, b).scale.x / 2 + A * -1;
2814
2917
  });
@@ -2817,7 +2920,7 @@ class Yn {
2817
2920
  new Me(new y(0, 1 * e, 0)),
2818
2921
  new Me(new y(-1 * e, 0, 0)),
2819
2922
  new Me(new y(1 * e, 0, 0))
2820
- ]), kA.subscribe(g(this, ne), { order: ot.LAYOUT_BOX });
2923
+ ]), kA.subscribe(g(this, ge), { order: ot.LAYOUT_BOX });
2821
2924
  }
2822
2925
  get planes() {
2823
2926
  return g(this, z);
@@ -2826,44 +2929,44 @@ class Yn {
2826
2929
  return g(this, b);
2827
2930
  }
2828
2931
  destroy() {
2829
- kA.unsubscribe(g(this, ne)), g(this, b).destroy();
2932
+ kA.unsubscribe(g(this, ge)), g(this, b).destroy();
2830
2933
  }
2831
2934
  }
2832
- b = new WeakMap(), z = new WeakMap(), ne = new WeakMap();
2935
+ b = new WeakMap(), z = new WeakMap(), ge = new WeakMap();
2833
2936
  class qn extends jA {
2834
2937
  constructor(A, e = 500) {
2835
2938
  super(), this.add(new we(A.planes[0], e, 16711680)), this.add(new we(A.planes[1], e, 16711680)), this.add(new we(A.planes[2], e, 16711680)), this.add(new we(A.planes[3], e, 16711680));
2836
2939
  }
2837
2940
  }
2838
- var LA, dA, yA, oe, Be, BA, HA, re;
2941
+ var HA, dA, JA, Ee, ce, aA, TA, Qe;
2839
2942
  class Cs extends fi {
2840
2943
  constructor(e) {
2841
2944
  super(e);
2842
- u(this, LA, new Rt(null));
2945
+ u(this, HA, new Rt(null));
2843
2946
  u(this, dA, new Rt(void 0));
2844
- u(this, yA, void 0);
2845
- u(this, oe, void 0);
2846
- u(this, Be, void 0);
2847
- u(this, BA, void 0);
2848
- u(this, HA, !1);
2849
- u(this, re, () => {
2850
- if (!(g(this, BA) && !g(this, HA)) && (this.current !== this.previous && (g(this, LA).current = null), this.current)) {
2851
- const e = g(this, Be) ? this.current.url : this.current.name + this.current.extension;
2852
- g(this, BA) || be.setTotal(e, 1), g(this, dA).current = "start", g(this, oe).load(
2947
+ u(this, JA, void 0);
2948
+ u(this, Ee, void 0);
2949
+ u(this, ce, void 0);
2950
+ u(this, aA, void 0);
2951
+ u(this, TA, !1);
2952
+ u(this, Qe, () => {
2953
+ if (!(g(this, aA) && !g(this, TA)) && (this.current !== this.previous && (g(this, HA).current = null), this.current)) {
2954
+ const e = g(this, ce) ? this.current.url : this.current.name + this.current.extension;
2955
+ g(this, aA) || be.setTotal(e, 1), g(this, dA).current = "start", g(this, Ee).load(
2853
2956
  e,
2854
2957
  (s) => {
2855
- g(this, LA).current = s, g(this, dA).current = "complete", g(this, BA) || be.setLoaded(e, 1);
2958
+ g(this, HA).current = s, g(this, dA).current = "complete", g(this, aA) || be.setLoaded(e, 1);
2856
2959
  },
2857
2960
  void 0,
2858
2961
  () => {
2859
- g(this, BA) || (g(this, dA).current = "error", be.setError(e, e));
2962
+ g(this, aA) || (g(this, dA).current = "error", be.setError(e, e));
2860
2963
  }
2861
2964
  );
2862
2965
  }
2863
2966
  });
2864
- G(this, yA, e.consumer), G(this, oe, e.loader), G(this, Be, e.keepSourceParameters || !1), G(this, BA, e.lazy || !1), this.subscribe(g(this, re)), g(this, yA).addEventListener("added", () => {
2967
+ G(this, JA, e.consumer), G(this, Ee, e.loader), G(this, ce, e.keepSourceParameters || !1), G(this, aA, e.lazy || !1), this.subscribe(g(this, Qe)), g(this, JA).addEventListener("added", () => {
2865
2968
  this.connect();
2866
- }), g(this, yA).addEventListener("removed", () => {
2969
+ }), g(this, JA).addEventListener("removed", () => {
2867
2970
  this.disconnect();
2868
2971
  });
2869
2972
  }
@@ -2871,7 +2974,7 @@ class Cs extends fi {
2871
2974
  * Resource store.
2872
2975
  */
2873
2976
  get data() {
2874
- return g(this, LA);
2977
+ return g(this, HA);
2875
2978
  }
2876
2979
  /**
2877
2980
  * Loading store.
@@ -2883,39 +2986,39 @@ class Cs extends fi {
2883
2986
  * Calling this method will start loading the resource.
2884
2987
  */
2885
2988
  lazyLoad() {
2886
- g(this, HA) || (G(this, HA, !0), g(this, re).call(this));
2989
+ g(this, TA) || (G(this, TA, !0), g(this, Qe).call(this));
2887
2990
  }
2888
2991
  }
2889
- LA = new WeakMap(), dA = new WeakMap(), yA = new WeakMap(), oe = new WeakMap(), Be = new WeakMap(), BA = new WeakMap(), HA = new WeakMap(), re = new WeakMap();
2890
- var JA;
2992
+ HA = new WeakMap(), dA = new WeakMap(), JA = new WeakMap(), Ee = new WeakMap(), ce = new WeakMap(), aA = new WeakMap(), TA = new WeakMap(), Qe = new WeakMap();
2993
+ var UA;
2891
2994
  class Xn extends jA {
2892
2995
  constructor(e) {
2893
2996
  super();
2894
- u(this, JA, void 0);
2895
- G(this, JA, new Cs(tA({
2896
- loader: fn,
2997
+ u(this, UA, void 0);
2998
+ G(this, UA, new Cs(tA({
2999
+ loader: Fn,
2897
3000
  consumer: this
2898
- }, e))), g(this, JA).data.subscribe((s) => {
3001
+ }, e))), g(this, UA).data.subscribe((s) => {
2899
3002
  s.current ? this.add(...s.current.scene.children) : this.children.forEach((t) => {
2900
3003
  this.remove(t), qt(t);
2901
3004
  });
2902
3005
  });
2903
3006
  }
2904
3007
  get sourceManager() {
2905
- return g(this, JA);
3008
+ return g(this, UA);
2906
3009
  }
2907
3010
  }
2908
- JA = new WeakMap();
3011
+ UA = new WeakMap();
2909
3012
  function Is(C, A, e) {
2910
3013
  const s = A.x, t = A.y, i = e || C.image.width / C.image.height;
2911
3014
  let n = 0, B = 0, o = C.offset.x, r = C.offset.y, I = C.rotation, a = C.center.x, c = C.center.y;
2912
3015
  s / t > i ? (n = 1, B = t / s * i) : (B = 1, n = s / t / i), C.matrix.setUvTransform(o, r, n, B, I, a, c);
2913
3016
  }
2914
- var rA, TA, uA;
3017
+ var CA, NA, uA;
2915
3018
  class gs extends Fe {
2916
3019
  constructor(e) {
2917
3020
  super(
2918
- new hi(
3021
+ new li(
2919
3022
  e.width,
2920
3023
  e.height,
2921
3024
  e.widthSegments,
@@ -2923,23 +3026,23 @@ class gs extends Fe {
2923
3026
  ),
2924
3027
  e.material
2925
3028
  );
2926
- u(this, rA, void 0);
2927
- u(this, TA, void 0);
3029
+ u(this, CA, void 0);
3030
+ u(this, NA, void 0);
2928
3031
  u(this, uA, () => {
2929
- g(this, rA).data.current && g(this, TA) && this.onCoverResize(g(this, rA).data.current);
3032
+ g(this, CA).data.current && g(this, NA) && this.onCoverResize(g(this, CA).data.current);
2930
3033
  });
2931
- G(this, rA, new Cs(tA({
3034
+ G(this, CA, new Cs(tA({
2932
3035
  consumer: this
2933
- }, e))), G(this, TA, e.cover || !1), this.addEventListener("added", () => {
3036
+ }, e))), G(this, NA, e.cover || !1), this.addEventListener("added", () => {
2934
3037
  xA.subscribe(g(this, uA));
2935
3038
  }), this.addEventListener("removed", () => {
2936
3039
  xA.unsubscribe(g(this, uA));
2937
- }), g(this, rA).data.subscribe((s) => {
2938
- !s.current && s.previous ? s.previous.dispose() : s.current && this.material && (g(this, TA) && (s.current.matrixAutoUpdate = !1), s.current.colorSpace = $, s.current.center.set(0.5, 0.5), this.material.map = s.current, this.material.needsUpdate = !0, g(this, uA).call(this));
3040
+ }), g(this, CA).data.subscribe((s) => {
3041
+ !s.current && s.previous ? s.previous.dispose() : s.current && this.material && (g(this, NA) && (s.current.matrixAutoUpdate = !1), s.current.colorSpace = $, s.current.center.set(0.5, 0.5), this.material.map = s.current, this.material.needsUpdate = !0, g(this, uA).call(this));
2939
3042
  });
2940
3043
  }
2941
3044
  get sourceManager() {
2942
- return g(this, rA);
3045
+ return g(this, CA);
2943
3046
  }
2944
3047
  updateTexture() {
2945
3048
  g(this, uA).call(this);
@@ -2951,38 +3054,38 @@ class gs extends Fe {
2951
3054
  });
2952
3055
  }
2953
3056
  }
2954
- rA = new WeakMap(), TA = new WeakMap(), uA = new WeakMap();
2955
- const Dn = new Kt();
3057
+ CA = new WeakMap(), NA = new WeakMap(), uA = new WeakMap();
3058
+ const Gn = new Kt();
2956
3059
  class vn extends gs {
2957
3060
  constructor(A) {
2958
3061
  super(me(tA({}, A), {
2959
- loader: Dn
3062
+ loader: Gn
2960
3063
  }));
2961
3064
  }
2962
3065
  }
2963
- class Fn {
3066
+ class Rn {
2964
3067
  load(...A) {
2965
3068
  const e = A[0], s = A[1], t = A[3], i = document.createElement("video");
2966
3069
  i.src = e, i.onloadeddata = () => {
2967
- s(new li(i)), i.onerror = null, i.onloadeddata = null;
3070
+ s(new di(i)), i.onerror = null, i.onloadeddata = null;
2968
3071
  }, i.onerror = () => {
2969
3072
  t == null || t(e), i.onerror = null, i.onloadeddata = null;
2970
3073
  };
2971
3074
  }
2972
3075
  }
2973
- var ae, Ce, Ie;
3076
+ var he, le, de;
2974
3077
  class Wn extends gs {
2975
3078
  constructor(e) {
2976
3079
  super(me(tA({}, e), {
2977
- loader: new Fn()
3080
+ loader: new Rn()
2978
3081
  }));
2979
- u(this, ae, void 0);
2980
- u(this, Ce, void 0);
2981
- u(this, Ie, void 0);
2982
- G(this, ae, e.autoplay || !1), G(this, Ce, e.muted || !1), G(this, Ie, e.loop || !1), this.sourceManager.data.subscribe((s) => {
3082
+ u(this, he, void 0);
3083
+ u(this, le, void 0);
3084
+ u(this, de, void 0);
3085
+ G(this, he, e.autoplay || !1), G(this, le, e.muted || !1), G(this, de, e.loop || !1), this.sourceManager.data.subscribe((s) => {
2983
3086
  if (s.current) {
2984
3087
  const t = s.current.image;
2985
- g(this, Ce) && (t.muted = !0), g(this, Ie) && (t.loop = !0), g(this, ae) && t.play();
3088
+ g(this, le) && (t.muted = !0), g(this, de) && (t.loop = !0), g(this, he) && t.play();
2986
3089
  }
2987
3090
  });
2988
3091
  }
@@ -2998,7 +3101,7 @@ class Wn extends gs {
2998
3101
  );
2999
3102
  }
3000
3103
  }
3001
- ae = new WeakMap(), Ce = new WeakMap(), Ie = new WeakMap();
3104
+ he = new WeakMap(), le = new WeakMap(), de = new WeakMap();
3002
3105
  function Vn(C, A) {
3003
3106
  C.traverse((e) => {
3004
3107
  e instanceof Fe && A(e);
@@ -3009,11 +3112,11 @@ function jn(C, A) {
3009
3112
  e instanceof Fe && e.material && (Array.isArray(e.material) ? e.material : [e.material]).forEach(A);
3010
3113
  });
3011
3114
  }
3012
- const Ze = new y(), Gn = new y();
3115
+ const Ze = new y(), pn = new y();
3013
3116
  function Zn(C) {
3014
3117
  const { width: A, height: e } = M, s = A / e;
3015
3118
  C instanceof y ? Ze.copy(C) : Ze.set(...C);
3016
- const t = M.camera.getWorldPosition(Gn).distanceTo(Ze);
3119
+ const t = M.camera.getWorldPosition(pn).distanceTo(Ze);
3017
3120
  if (M.camera instanceof He)
3018
3121
  return {
3019
3122
  width: A / M.camera.zoom,
@@ -3027,8 +3130,8 @@ function Zn(C) {
3027
3130
  return { width: B, height: n, factor: A / B, distance: t, aspect: s };
3028
3131
  }
3029
3132
  }
3030
- const Tt = new y(), Rn = new at(), Ut = new y();
3031
- class pn extends Ct {
3133
+ const Tt = new y(), mn = new at(), Ut = new y();
3134
+ class Mn extends Ct {
3032
3135
  constructor(A = document.createElement("div")) {
3033
3136
  super(), this.isCSS3DObject = !0, this.element = A, this.element.style.position = "absolute", this.element.style.pointerEvents = "auto", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.addEventListener("removed", function() {
3034
3137
  this.traverse(function(e) {
@@ -3040,8 +3143,8 @@ class pn extends Ct {
3040
3143
  return super.copy(A, e), this.element = A.element.cloneNode(!0), this;
3041
3144
  }
3042
3145
  }
3043
- const P = new bA(), mn = new bA();
3044
- class Mn {
3146
+ const P = new bA(), wn = new bA();
3147
+ class Sn {
3045
3148
  constructor(A = {}) {
3046
3149
  const e = this;
3047
3150
  let s, t, i, n;
@@ -3085,7 +3188,7 @@ class Mn {
3085
3188
  if (h.element.style.display = D === !0 ? "" : "none", D === !0) {
3086
3189
  h.onBeforeRender(e, E, d);
3087
3190
  let F;
3088
- h.isCSS3DSprite ? (P.copy(d.matrixWorldInverse), P.transpose(), h.rotation2D !== 0 && P.multiply(mn.makeRotationZ(h.rotation2D)), h.matrixWorld.decompose(Tt, Rn, Ut), P.setPosition(Tt), P.scale(Ut), P.elements[3] = 0, P.elements[7] = 0, P.elements[11] = 0, P.elements[15] = 1, F = Q(P)) : F = Q(h.matrixWorld);
3191
+ h.isCSS3DSprite ? (P.copy(d.matrixWorldInverse), P.transpose(), h.rotation2D !== 0 && P.multiply(wn.makeRotationZ(h.rotation2D)), h.matrixWorld.decompose(Tt, mn, Ut), P.setPosition(Tt), P.scale(Ut), P.elements[3] = 0, P.elements[7] = 0, P.elements[11] = 0, P.elements[15] = 1, F = Q(P)) : F = Q(h.matrixWorld);
3089
3192
  const p = h.element, m = B.objects.get(h);
3090
3193
  if (m === void 0 || m.style !== F) {
3091
3194
  p.style.transform = F;
@@ -3100,10 +3203,10 @@ class Mn {
3100
3203
  }
3101
3204
  }
3102
3205
  }
3103
- var X, Ne, Es, ge, Ee;
3104
- const U = class U extends pn {
3206
+ var X, Ne, Es, ue, fe;
3207
+ const U = class U extends Mn {
3105
3208
  static destroy() {
3106
- xA.unsubscribe(g(this, Ee)), kA.unsubscribe(g(this, ge)), G(this, X, null);
3209
+ xA.unsubscribe(g(this, fe)), kA.unsubscribe(g(this, ue)), G(this, X, null);
3107
3210
  }
3108
3211
  constructor(A) {
3109
3212
  var e;
@@ -3111,7 +3214,7 @@ const U = class U extends pn {
3111
3214
  }
3112
3215
  };
3113
3216
  X = new WeakMap(), Ne = new WeakSet(), Es = function() {
3114
- G(U, X, new Mn()), g(U, X).domElement.style.cssText = `
3217
+ G(U, X, new Sn()), g(U, X).domElement.style.cssText = `
3115
3218
  position: fixed;
3116
3219
  left: 0;
3117
3220
  top: 0;
@@ -3120,116 +3223,13 @@ X = new WeakMap(), Ne = new WeakSet(), Es = function() {
3120
3223
  z-index: 1;
3121
3224
  pointer-events: none;
3122
3225
  overflow: hidden;
3123
- `, M.containerElement.prepend(g(U, X).domElement), xA.subscribe(g(this, Ee), kt.EN3 + 1), kA.subscribe(g(this, ge), { order: ot.EN3 + 1 });
3124
- }, ge = new WeakMap(), Ee = new WeakMap(), u(U, Ne), u(U, X, null), u(U, ge, () => {
3226
+ `, M.containerElement.prepend(g(U, X).domElement), xA.subscribe(g(this, fe), kt.EN3 + 1), kA.subscribe(g(this, ue), { order: ot.EN3 + 1 });
3227
+ }, ue = new WeakMap(), fe = new WeakMap(), u(U, Ne), u(U, X, null), u(U, ue, () => {
3125
3228
  g(U, X).render(M.scene, M.camera);
3126
- }), u(U, Ee, () => {
3229
+ }), u(U, fe, () => {
3127
3230
  g(U, X).setSize(M.width, M.height);
3128
3231
  });
3129
3232
  let Nt = U;
3130
- var UA, ce, Qe, aA, he;
3131
- class wn {
3132
- constructor(A) {
3133
- u(this, UA, void 0);
3134
- u(this, ce, void 0);
3135
- u(this, Qe, void 0);
3136
- u(this, aA, void 0);
3137
- u(this, he, void 0);
3138
- G(this, UA, A.targetName || void 0), G(this, ce, A.eventDispatcher || A.object3D), G(this, Qe, A.propagation || !1), G(this, aA, A.object3D), G(this, he, g(this, UA) ? () => g(this, aA).getObjectByName(g(this, UA)) || g(this, aA) : () => g(this, aA));
3139
- }
3140
- get object3D() {
3141
- return g(this, aA);
3142
- }
3143
- get eventDispatcher() {
3144
- return g(this, ce);
3145
- }
3146
- get propagation() {
3147
- return g(this, Qe);
3148
- }
3149
- get target() {
3150
- return g(this, he).call(this);
3151
- }
3152
- dispatch(A, e) {
3153
- this.eventDispatcher.dispatchEvent(tA({
3154
- originalEvent: e,
3155
- type: A
3156
- }, this.intersection));
3157
- }
3158
- }
3159
- UA = new WeakMap(), ce = new WeakMap(), Qe = new WeakMap(), aA = new WeakMap(), he = new WeakMap();
3160
- var CA, J, NA, le, de, ue, fe;
3161
- class Sn {
3162
- constructor() {
3163
- u(this, CA, []);
3164
- u(this, J, []);
3165
- u(this, NA, new rt());
3166
- u(this, le, new di());
3167
- u(this, de, (A) => {
3168
- for (let e = 0; e < g(this, J).length; e++)
3169
- g(this, J)[e].dispatch("en3PointerDown", A);
3170
- });
3171
- u(this, ue, (A) => {
3172
- for (let e = 0; e < g(this, J).length; e++)
3173
- g(this, J)[e].dispatch("en3PointerUp", A);
3174
- });
3175
- u(this, fe, (A) => {
3176
- g(this, NA).x = A.clientX / M.width * 2 - 1, g(this, NA).y = -(A.clientY / M.height) * 2 + 1, M.camera && g(this, le).setFromCamera(g(this, NA), M.camera);
3177
- const e = [];
3178
- for (const o of g(this, CA)) {
3179
- const r = g(this, le).intersectObject(o.target);
3180
- r.length && (o.intersection = r[0], e.push(o));
3181
- }
3182
- let s = !1;
3183
- const t = g(this, J).filter(
3184
- (o) => !e.find((r) => r.object3D.uuid === o.object3D.uuid)
3185
- ), n = e.sort(
3186
- (o, r) => r.object3D.position.z - o.object3D.position.z
3187
- ).filter((o, r) => s ? (t.push(o), !1) : (s = !o.propagation, !0)), B = n.filter(
3188
- (o) => !g(this, J).find((r) => r.object3D.uuid === o.object3D.uuid)
3189
- );
3190
- for (let o = 0; o < t.length; o++)
3191
- t[o].dispatch("en3PointerLeave", A);
3192
- for (let o = 0; o < B.length; o++)
3193
- B[o].dispatch("en3PointerEnter", A);
3194
- G(this, J, n);
3195
- for (let o = 0; o < g(this, J).length; o++)
3196
- g(this, J)[o].dispatch("en3PointerMove", A);
3197
- });
3198
- M.containerElement.addEventListener(
3199
- "pointerdown",
3200
- g(this, de)
3201
- ), M.containerElement.addEventListener("pointerup", g(this, ue)), M.containerElement.addEventListener(
3202
- "pointermove",
3203
- g(this, fe)
3204
- );
3205
- }
3206
- destroy() {
3207
- M.containerElement.removeEventListener(
3208
- "pointerdown",
3209
- g(this, de)
3210
- ), M.containerElement.removeEventListener(
3211
- "pointerup",
3212
- g(this, ue)
3213
- ), M.containerElement.removeEventListener(
3214
- "pointermove",
3215
- g(this, fe)
3216
- );
3217
- }
3218
- add(A, e) {
3219
- if (g(this, CA).find((t) => t.object3D.uuid === A.uuid))
3220
- return;
3221
- const s = new wn(tA({
3222
- object3D: A
3223
- }, e));
3224
- g(this, CA).push(s);
3225
- }
3226
- remove(A) {
3227
- G(this, CA, g(this, CA).filter(
3228
- (e) => e.object3D.uuid !== A.uuid
3229
- )), G(this, J, g(this, J).filter((e) => e.object3D.uuid !== A.uuid));
3230
- }
3231
- }
3232
- CA = new WeakMap(), J = new WeakMap(), NA = new WeakMap(), le = new WeakMap(), de = new WeakMap(), ue = new WeakMap(), fe = new WeakMap();
3233
3233
  var IA, gA, De, nt;
3234
3234
  class zn {
3235
3235
  constructor(A) {
@@ -3283,13 +3283,13 @@ export {
3283
3283
  vn as En3Image,
3284
3284
  gs as En3ImageLike,
3285
3285
  zn as En3ModifiedMaterial,
3286
- Sn as En3Raycaster,
3286
+ Fi as En3Raycaster,
3287
3287
  Cs as En3SourceManager,
3288
3288
  Wn as En3Video,
3289
3289
  Is as coverTexture,
3290
3290
  qt as dispose,
3291
3291
  M as en3,
3292
- fn as en3GLTFLoader,
3292
+ Fn as en3GLTFLoader,
3293
3293
  Pn as en3LazyLoader,
3294
3294
  Zn as getCurrentViewport,
3295
3295
  jn as traverseMaterials,