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.
- package/lib/en3/core/en3.d.ts +1 -1
- package/lib/en3/index.cjs +6 -6
- package/lib/en3/index.js +358 -358
- package/lib/gestures-D2Fdra_G.js +11 -0
- package/lib/gestures-DHLrn6Q8.cjs +1 -0
- package/lib/router/index.js +1 -3
- package/lib/scroll/index.cjs +1 -1
- package/lib/scroll/index.js +120 -122
- package/lib/{studio/tweaker → tweaker}/TweakerBooleanManagerElement.d.ts +1 -1
- package/lib/{studio/tweaker → tweaker}/TweakerColorManagerElement.d.ts +1 -1
- package/lib/{studio/tweaker → tweaker}/TweakerElement.d.ts +1 -1
- package/lib/{studio/tweaker → tweaker}/TweakerFieldElement.d.ts +4 -4
- package/lib/{studio/tweaker → tweaker}/TweakerFolderElement.d.ts +4 -4
- package/lib/{studio/tweaker → tweaker}/TweakerLinkManagerElement.d.ts +1 -1
- package/lib/{studio/tweaker → tweaker}/TweakerNumberManagerElement.d.ts +1 -1
- package/lib/{studio/tweaker → tweaker}/TweakerRangeManagerElement.d.ts +1 -1
- package/lib/{studio/tweaker → tweaker}/TweakerSelectManagerElement.d.ts +1 -1
- package/lib/tweaker/TweakerStoreManagerElement.d.ts +11 -0
- package/lib/{studio/tweaker → tweaker}/TweakerStringManagerElement.d.ts +1 -1
- package/lib/tweaker/index.cjs +10 -0
- package/lib/tweaker/index.d.ts +1 -0
- package/lib/{studio → tweaker}/index.js +293 -330
- package/lib/{studio/tweaker → tweaker}/tweakerManagerConstructors.d.ts +1 -1
- package/lib/{studio/studioStorage.d.ts → tweaker/tweakerStorage.d.ts} +3 -3
- package/lib/utils/gestures.d.ts +1 -0
- package/lib/utils/index.cjs +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +51 -49
- package/package.json +9 -9
- package/lib/studio/StudioElement.d.ts +0 -13
- package/lib/studio/index.cjs +0 -10
- package/lib/studio/index.d.ts +0 -1
- 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,
|
|
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
|
|
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,
|
|
73
|
-
u(this, Te, `https://unpkg.com/three@0.${
|
|
74
|
-
u(this,
|
|
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,
|
|
78
|
-
u(this,
|
|
79
|
-
u(this,
|
|
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,
|
|
188
|
+
u(this, wA, new Qt({
|
|
86
189
|
x: 0,
|
|
87
190
|
y: 0,
|
|
88
191
|
z: 0
|
|
89
192
|
}));
|
|
90
|
-
u(this,
|
|
193
|
+
u(this, SA, "auto");
|
|
91
194
|
u(this, Z, 0);
|
|
92
195
|
u(this, q, 0);
|
|
93
|
-
u(this,
|
|
94
|
-
u(this,
|
|
95
|
-
u(this,
|
|
196
|
+
u(this, LA, 0);
|
|
197
|
+
u(this, ie, 2);
|
|
198
|
+
u(this, ne, !0);
|
|
96
199
|
u(this, lA, !1);
|
|
97
|
-
u(this,
|
|
200
|
+
u(this, Be, () => {
|
|
98
201
|
var A;
|
|
99
|
-
G(this, Z, g(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,
|
|
102
|
-
QA(this, Ue, Xt).call(this), this.render(g(this,
|
|
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,
|
|
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,
|
|
221
|
+
return g(this, mA);
|
|
119
222
|
}
|
|
120
223
|
get raycaster() {
|
|
121
|
-
return g(this,
|
|
224
|
+
return g(this, MA);
|
|
122
225
|
}
|
|
123
226
|
get attachedObjects() {
|
|
124
|
-
return g(this,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
257
|
+
return t.bindObject(e), e.userData.box = t, g(this, rA).push(e), e;
|
|
155
258
|
}
|
|
156
259
|
detachFromHTMLElement(A) {
|
|
157
|
-
G(this,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
292
|
+
g(this, rA).forEach((A) => {
|
|
190
293
|
A.userData.box.destroy();
|
|
191
|
-
}), xA.unsubscribe(g(this,
|
|
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(),
|
|
198
|
-
g(this,
|
|
199
|
-
},
|
|
200
|
-
this.camera instanceof ze ? (this.camera.aspect = g(this, Z) / g(this, q), this.camera.fov = g(this,
|
|
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,
|
|
203
|
-
},
|
|
204
|
-
const M = new
|
|
205
|
-
class
|
|
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
|
|
317
|
+
const Pn = new Ri();
|
|
215
318
|
function pt(C, A) {
|
|
216
|
-
if (A ===
|
|
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
|
|
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
|
|
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
|
|
352
|
+
return new Ki(e);
|
|
254
353
|
}), this.register(function(e) {
|
|
255
|
-
return new
|
|
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
|
|
368
|
+
return new yi(e);
|
|
270
369
|
}), this.register(function(e) {
|
|
271
|
-
return new
|
|
370
|
+
return new ki(e);
|
|
272
371
|
}), this.register(function(e) {
|
|
273
|
-
return new
|
|
372
|
+
return new xi(e);
|
|
274
373
|
}), this.register(function(e) {
|
|
275
|
-
return new
|
|
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
|
|
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
|
|
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
|
|
465
|
+
n[a] = new wi();
|
|
363
466
|
break;
|
|
364
467
|
case R.KHR_DRACO_MESH_COMPRESSION:
|
|
365
|
-
n[a] = new
|
|
468
|
+
n[a] = new qi(i, this.dracoLoader);
|
|
366
469
|
break;
|
|
367
470
|
case R.KHR_TEXTURE_TRANSFORM:
|
|
368
|
-
n[a] = new
|
|
471
|
+
n[a] = new Xi();
|
|
369
472
|
break;
|
|
370
473
|
case R.KHR_MESH_QUANTIZATION:
|
|
371
|
-
n[a] = new
|
|
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
|
|
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
|
|
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
|
|
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
|
|
555
|
+
r = new ps(I), r.distance = a;
|
|
453
556
|
break;
|
|
454
557
|
case "spot":
|
|
455
|
-
r = new
|
|
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
|
|
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
|
|
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
|
|
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
|
|
624
|
+
e.clearcoatNormalScale = new Bt(B, B);
|
|
522
625
|
}
|
|
523
626
|
return Promise.all(i);
|
|
524
627
|
}
|
|
525
628
|
}
|
|
526
|
-
class
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
977
|
+
class vi {
|
|
875
978
|
constructor() {
|
|
876
979
|
this.name = R.KHR_MESH_QUANTIZATION;
|
|
877
980
|
}
|
|
878
981
|
}
|
|
879
|
-
class Wt extends
|
|
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
|
|
899
|
-
class
|
|
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
|
|
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:
|
|
1036
|
+
9728: qs,
|
|
934
1037
|
9729: Je,
|
|
935
|
-
9984:
|
|
936
|
-
9985:
|
|
937
|
-
9986:
|
|
1038
|
+
9984: Xs,
|
|
1039
|
+
9985: vs,
|
|
1040
|
+
9986: Ws,
|
|
938
1041
|
9987: It
|
|
939
1042
|
}, wt = {
|
|
940
|
-
33071:
|
|
941
|
-
33648:
|
|
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
|
-
},
|
|
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:
|
|
1075
|
+
STEP: Zs
|
|
973
1076
|
}, Oe = {
|
|
974
1077
|
OPAQUE: "OPAQUE",
|
|
975
1078
|
MASK: "MASK",
|
|
976
1079
|
BLEND: "BLEND"
|
|
977
1080
|
};
|
|
978
|
-
function
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
1077
|
-
class
|
|
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
|
|
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
|
|
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
|
|
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 ||
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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 ?
|
|
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
|
|
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.
|
|
1627
|
+
else if (E.mode === x.LINE_STRIP)
|
|
1527
1628
|
d = new ks(h, f);
|
|
1528
|
-
else if (E.mode === x.
|
|
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 &&
|
|
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(
|
|
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
|
|
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
|
|
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,
|
|
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
|
|
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 ?
|
|
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 ?
|
|
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
|
|
1766
|
-
const s = A.attributes, t = new
|
|
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
|
|
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),
|
|
1824
|
-
return A.targets !== void 0 ?
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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
|
|
2105
|
-
class
|
|
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
|
|
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
|
|
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
|
|
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
|
|
2304
|
+
class v extends rt {
|
|
2202
2305
|
constructor(A) {
|
|
2203
|
-
super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new
|
|
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
|
|
2390
|
+
I = new ti(s, n, K);
|
|
2288
2391
|
else {
|
|
2289
2392
|
const a = s[0].mipmaps;
|
|
2290
|
-
I = e.layerCount > 1 ? new
|
|
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 &
|
|
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 =
|
|
2302
|
-
if (t.vkFormat !==
|
|
2303
|
-
return
|
|
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:
|
|
2338
|
-
RGBA_BPTC_Format:
|
|
2339
|
-
RGBA_ETC2_EAC_Format:
|
|
2340
|
-
RGBA_PVRTC_4BPPV1_Format:
|
|
2341
|
-
RGBA_S3TC_DXT5_Format:
|
|
2342
|
-
RGB_ETC1_Format:
|
|
2343
|
-
RGB_ETC2_Format:
|
|
2344
|
-
RGB_PVRTC_4BPPV1_Format:
|
|
2345
|
-
RGB_S3TC_DXT1_Format:
|
|
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
|
|
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
|
|
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
|
|
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 ===
|
|
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 (
|
|
2567
|
-
t = C.pixelDepth === 0 ? new
|
|
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 ===
|
|
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
|
|
2684
|
+
const fn = () => {
|
|
2582
2685
|
if (Se)
|
|
2583
2686
|
return Se;
|
|
2584
2687
|
const C = "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", A = "B9h9z9tFBBBFiI9gBB9gLaaaaaFa9gEaaaB9gFaFaEMcBBFBFFGGGEILF9wFFFLEFBFKNFaFCx/aFMO/LFVK9tv9t9vq95GBt9f9f939h9z9t9f9j9h9s9s9f9jW9vq9zBBp9tv9z9o9v9wW9f9kv9j9v9kv9WvqWv94h919m9mvqBG8Z9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv94h919m9mvqBIy9tv9z9o9v9wW9f9kv9j9v9kv9J9u9kv949TvZ91v9u9jvBLn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9P9jWBKi9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9R919hWBOn9tv9z9o9v9wW9f9kv9j9v9kv69p9sWvq9F949wBNI9z9iqlBVc+N9IcIBTEM9+FLa8jUUUUBCTlRBCBRFEXCBRGCBREEXABCNJAGJAECUaAFAGrCFZHIy86BBAEAIJREAGCFJHGCN9HQBMAFCx+YUUBJAE86BBAFCEWCxkUUBJAB8pEN83EBAFCFJHFCUG9HQBMMk8lLbaE97F9+FaL978jUUUUBCU/KBlHL8kUUUUBC9+RKGXAGCFJAI9LQBCaRKAE2BBC+gF9HQBALAEAIJHOAGlAG/8cBBCUoBAG9uC/wgBZHKCUGAKCUG9JyRNAECFJRKCBRVGXEXAVAF9PQFANAFAVlAVANJAF9JyRcGXGXAG9FQBAcCbJHIC9wZHMCE9sRSAMCFWRQAICIrCEJCGrRfCBRbEXAKRTCBRtGXEXGXAOATlAf9PQBCBRKSLMALCU/CBJAtAM9sJRmATAfJRKCBREGXAMCoB9JQBAOAKlC/gB9JQBCBRIEXAmAIJREGXGXGXGXGXATAICKrJ2BBHYCEZfIBFGEBMAECBDtDMIBSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIBAKCTJRKMGXGXGXGXGXAYCGrCEZfIBFGEBMAECBDtDMITSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMITAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMITAKCTJRKMGXGXGXGXGXAYCIrCEZfIBFGEBMAECBDtDMIASEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIAAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAEAKDBBBDMIAAKCTJRKMGXGXGXGXGXAYCKrfIBFGEBMAECBDtDMI8wSEMAEAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCIJAeDeBJAYCx+YUUBJ2BBJRKSGMAEAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHYCEWCxkUUBJDBEBAYCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHYCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMI8wAKCNJAeDeBJAYCx+YUUBJ2BBJRKSFMAEAKDBBBDMI8wAKCTJRKMAICoBJREAICUFJAM9LQFAERIAOAKlC/fB9LQBMMGXAEAM9PQBAECErRIEXGXAOAKlCi9PQBCBRKSOMAmAEJRYGXGXGXGXGXATAECKrJ2BBAICKZrCEZfIBFGEBMAYCBDtDMIBSEMAYAKDBBIAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnHPCGD+MFAPDQBTFtGmEYIPLdKeOnC0+G+MiDtD9OHdCEDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCIJAeDeBJAiCx+YUUBJ2BBJRKSGMAYAKDBBNAKDBBBHPCID+MFAPDQBTFtGmEYIPLdKeOnC+P+e+8/4BDtD9OHdCbDbD8jHPAPDQBFGENVcMILKOSQfbHeD8dBh+BsxoxoUwN0AeD8dFhxoUwkwk+gUa0sHnhTkAnsHnhNkAnsHn7CgFZHiCEWCxkUUBJDBEBAiCx+YUUBJDBBBHeAeDQBBBBBBBBBBBBBBBBAnhAk7CgFZHiCEWCxkUUBJDBEBD9uDQBFGEILKOTtmYPdenDfAdAPD9SDMIBAKCNJAeDeBJAiCx+YUUBJ2BBJRKSFMAYAKDBBBDMIBAKCTJRKMAICGJRIAECTJHEAM9JQBMMGXAK9FQBAKRTAtCFJHtCI6QGSFMMCBRKSEMGXAM9FQBALCUGJAbJREALAbJDBGBReCBRYEXAEALCU/CBJAYJHIDBIBHdCFD9tAdCFDbHPD9OD9hD9RHdAIAMJDBIBH8ZCFD9tA8ZAPD9OD9hD9RH8ZDQBTFtGmEYIPLdKeOnHpAIAQJDBIBHyCFD9tAyAPD9OD9hD9RHyAIASJDBIBH8cCFD9tA8cAPD9OD9hD9RH8cDQBTFtGmEYIPLdKeOnH8dDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGEAeD9uHeDyBjGBAEAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeApA8dDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNiV8ZcpMyS8cQ8df8eb8fHdAyA8cDQNiV8ZcpMyS8cQ8df8eb8fH8ZDQBFTtGEmYILPdKOenHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJHIAeAdA8ZDQNVi8ZcMpySQ8c8dfb8e8fHPAPDQBFGEBFGEBFGEBFGED9uHeDyBjGBAIAGJHIAeAPAPDQILKOILKOILKOILKOD9uHeDyBjGBAIAGJHIAeAPAPDQNVcMNVcMNVcMNVcMD9uHeDyBjGBAIAGJHIAeAPAPDQSQfbSQfbSQfbSQfbD9uHeDyBjGBAIAGJREAYCTJHYAM9JQBMMAbCIJHbAG9JQBMMABAVAG9sJALCUGJAcAG9s/8cBBALALCUGJAcCaJAG9sJAG/8cBBMAcCBAKyAVJRVAKQBMC9+RKSFMCBC99AOAKlAGCAAGCA9Ly6yRKMALCU/KBJ8kUUUUBAKMNBT+BUUUBM+KmFTa8jUUUUBCoFlHL8kUUUUBC9+RKGXAFCE9uHOCtJAI9LQBCaRKAE2BBHNC/wFZC/gF9HQBANCbZHVCF9LQBALCoBJCgFCUF/8MBALC84Jha83EBALC8wJha83EBALC8oJha83EBALCAJha83EBALCiJha83EBALCTJha83EBALha83ENALha83EBAEAIJC9wJRcAECFJHNAOJRMGXAF9FQBCQCbAVCF6yRSABRECBRVCBRQCBRfCBRICBRKEXGXAMAcuQBC9+RKSEMGXGXAN2BBHOC/vF9LQBALCoBJAOCIrCa9zAKJCbZCEWJHb8oGIRTAb8oGBRtGXAOCbZHbAS9PQBALAOCa9zAIJCbZCGWJ8oGBAVAbyROAb9FRbGXGXAGCG9HQBABAt87FBABCIJAO87FBABCGJAT87FBSFMAEAtjGBAECNJAOjGBAECIJATjGBMAVAbJRVALCoBJAKCEWJHmAOjGBAmATjGIALAICGWJAOjGBALCoBJAKCFJCbZHKCEWJHTAtjGBATAOjGIAIAbJRIAKCFJRKSGMGXGXAbCb6QBAQAbJAbC989zJCFJRQSFMAM1BBHbCgFZROGXGXAbCa9MQBAMCFJRMSFMAM1BFHbCgBZCOWAOCgBZqROGXAbCa9MQBAMCGJRMSFMAM1BGHbCgBZCfWAOqROGXAbCa9MQBAMCEJRMSFMAM1BEHbCgBZCdWAOqROGXAbCa9MQBAMCIJRMSFMAM2BIC8cWAOqROAMCLJRMMAOCFrCBAOCFZl9zAQJRQMGXGXAGCG9HQBABAt87FBABCIJAQ87FBABCGJAT87FBSFMAEAtjGBAECNJAQjGBAECIJATjGBMALCoBJAKCEWJHOAQjGBAOATjGIALAICGWJAQjGBALCoBJAKCFJCbZHKCEWJHOAtjGBAOAQjGIAICFJRIAKCFJRKSFMGXAOCDF9LQBALAIAcAOCbZJ2BBHbCIrHTlCbZCGWJ8oGBAVCFJHtATyROALAIAblCbZCGWJ8oGBAtAT9FHmJHtAbCbZHTyRbAT9FRTGXGXAGCG9HQBABAV87FBABCIJAb87FBABCGJAO87FBSFMAEAVjGBAECNJAbjGBAECIJAOjGBMALAICGWJAVjGBALCoBJAKCEWJHYAOjGBAYAVjGIALAICFJHICbZCGWJAOjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAIAmJCbZHICGWJAbjGBALCoBJAKCGJCbZHKCEWJHOAVjGBAOAbjGIAKCFJRKAIATJRIAtATJRVSFMAVCBAM2BBHYyHTAOC/+F6HPJROAYCbZRtGXGXAYCIrHmQBAOCFJRbSFMAORbALAIAmlCbZCGWJ8oGBROMGXGXAtQBAbCFJRVSFMAbRVALAIAYlCbZCGWJ8oGBRbMGXGXAP9FQBAMCFJRYSFMAM1BFHYCgFZRTGXGXAYCa9MQBAMCGJRYSFMAM1BGHYCgBZCOWATCgBZqRTGXAYCa9MQBAMCEJRYSFMAM1BEHYCgBZCfWATqRTGXAYCa9MQBAMCIJRYSFMAM1BIHYCgBZCdWATqRTGXAYCa9MQBAMCLJRYSFMAMCKJRYAM2BLC8cWATqRTMATCFrCBATCFZl9zAQJHQRTMGXGXAmCb6QBAYRPSFMAY1BBHMCgFZROGXGXAMCa9MQBAYCFJRPSFMAY1BFHMCgBZCOWAOCgBZqROGXAMCa9MQBAYCGJRPSFMAY1BGHMCgBZCfWAOqROGXAMCa9MQBAYCEJRPSFMAY1BEHMCgBZCdWAOqROGXAMCa9MQBAYCIJRPSFMAYCLJRPAY2BIC8cWAOqROMAOCFrCBAOCFZl9zAQJHQROMGXGXAtCb6QBAPRMSFMAP1BBHMCgFZRbGXGXAMCa9MQBAPCFJRMSFMAP1BFHMCgBZCOWAbCgBZqRbGXAMCa9MQBAPCGJRMSFMAP1BGHMCgBZCfWAbqRbGXAMCa9MQBAPCEJRMSFMAP1BEHMCgBZCdWAbqRbGXAMCa9MQBAPCIJRMSFMAPCLJRMAP2BIC8cWAbqRbMAbCFrCBAbCFZl9zAQJHQRbMGXGXAGCG9HQBABAT87FBABCIJAb87FBABCGJAO87FBSFMAEATjGBAECNJAbjGBAECIJAOjGBMALCoBJAKCEWJHYAOjGBAYATjGIALAICGWJATjGBALCoBJAKCFJCbZCEWJHYAbjGBAYAOjGIALAICFJHICbZCGWJAOjGBALCoBJAKCGJCbZCEWJHOATjGBAOAbjGIALAIAm9FAmCb6qJHICbZCGWJAbjGBAIAt9FAtCb6qJRIAKCEJRKMANCFJRNABCKJRBAECSJREAKCbZRKAICbZRIAfCEJHfAF9JQBMMCBC99AMAc6yRKMALCoFJ8kUUUUBAKM/tIFGa8jUUUUBCTlRLC9+RKGXAFCLJAI9LQBCaRKAE2BBC/+FZC/QF9HQBALhB83ENAECFJRKAEAIJC98JREGXAF9FQBGXAGCG6QBEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMALCNJAICFZCGWqHGAICGrCBAICFrCFZl9zAG8oGBJHIjGBABAIjGBABCIJRBAFCaJHFQBSGMMEXGXAKAE9JQBC9+bMAK1BBHGCgFZRIGXGXAGCa9MQBAKCFJRKSFMAK1BFHGCgBZCOWAICgBZqRIGXAGCa9MQBAKCGJRKSFMAK1BGHGCgBZCfWAIqRIGXAGCa9MQBAKCEJRKSFMAK1BEHGCgBZCdWAIqRIGXAGCa9MQBAKCIJRKSFMAK2BIC8cWAIqRIAKCLJRKMABAICGrCBAICFrCFZl9zALCNJAICFZCGWqHI8oGBJHG87FBAIAGjGBABCGJRBAFCaJHFQBMMCBC99AKAE6yRKMAKM/dLEK97FaF97GXGXAGCI9HQBAF9FQFCBRGEXABABDBBBHECiD+rFCiD+sFD/6FHIAECND+rFCiD+sFD/6FAID/gFAECTD+rFCiD+sFD/6FHLD/gFD/kFD/lFHKCBDtD+2FHOAICUUUU94DtHND9OD9RD/kFHI9DBB/+hDYAIAID/mFAKAKD/mFALAOALAND9OD9RD/kFHIAID/mFD/kFD/kFD/jFD/nFHLD/mF9DBBX9LDYHOD/kFCgFDtD9OAECUUU94DtD9OD9QAIALD/mFAOD/kFCND+rFCU/+EDtD9OD9QAKALD/mFAOD/kFCTD+rFCUU/8ODtD9OD9QDMBBABCTJRBAGCIJHGAF9JQBSGMMAF9FQBCBRGEXABCTJHVAVDBBBHECBDtHOCUU98D8cFCUU98D8cEHND9OABDBBBHKAEDQILKOSQfbPden8c8d8e8fCggFDtD9OD/6FAKAEDQBFGENVcMTtmYi8ZpyHECTD+sFD/6FHID/gFAECTD+rFCTD+sFD/6FHLD/gFD/kFD/lFHE9DB/+g6DYALAEAOD+2FHOALCUUUU94DtHcD9OD9RD/kFHLALD/mFAEAED/mFAIAOAIAcD9OD9RD/kFHEAED/mFD/kFD/kFD/jFD/nFHID/mF9DBBX9LDYHOD/kFCTD+rFALAID/mFAOD/kFCggEDtD9OD9QHLAEAID/mFAOD/kFCaDbCBDnGCBDnECBDnKCBDnOCBDncCBDnMCBDnfCBDnbD9OHEDQNVi8ZcMpySQ8c8dfb8e8fD9QDMBBABAKAND9OALAEDQBFTtGEmYILPdKOenD9QDMBBABCAJRBAGCIJHGAF9JQBMMM/hEIGaF97FaL978jUUUUBCTlREGXAF9FQBCBRIEXAEABDBBBHLABCTJHKDBBBHODQILKOSQfbPden8c8d8e8fHNCTD+sFHVCID+rFDMIBAB9DBBU8/DY9D/zI818/DYAVCEDtD9QD/6FD/nFHVALAODQBFGENVcMTtmYi8ZpyHLCTD+rFCTD+sFD/6FD/mFHOAOD/mFAVALCTD+sFD/6FD/mFHcAcD/mFAVANCTD+rFCTD+sFD/6FD/mFHNAND/mFD/kFD/kFD/lFCBDtD+4FD/jF9DB/+g6DYHVD/mF9DBBX9LDYHLD/kFCggEDtHMD9OAcAVD/mFALD/kFCTD+rFD9QHcANAVD/mFALD/kFCTD+rFAOAVD/mFALD/kFAMD9OD9QHVDQBFTtGEmYILPdKOenHLD8dBAEDBIBDyB+t+J83EBABCNJALD8dFAEDBIBDyF+t+J83EBAKAcAVDQNVi8ZcMpySQ8c8dfb8e8fHVD8dBAEDBIBDyG+t+J83EBABCiJAVD8dFAEDBIBDyE+t+J83EBABCAJRBAICIJHIAF9JQBMMM9jFF97GXAGCGrAF9sHG9FQBCBRFEXABABDBBBHECND+rFCND+sFD/6FAECiD+sFCnD+rFCUUU/8EDtD+uFD/mFDMBBABCTJRBAFCIJHFAG9JQBMMM9TFEaCBCB8oGUkUUBHFABCEJC98ZJHBjGUkUUBGXGXAB8/BCTWHGuQBCaREABAGlCggEJCTrXBCa6QFMAFREMAEMMMFBCUNMIT9tBB", e = new Uint8Array([
|
|
@@ -2775,40 +2878,40 @@ const dn = () => {
|
|
|
2775
2878
|
}
|
|
2776
2879
|
}, Se;
|
|
2777
2880
|
};
|
|
2778
|
-
var
|
|
2779
|
-
class
|
|
2881
|
+
var yA, ae, Ce, Ie;
|
|
2882
|
+
class Dn {
|
|
2780
2883
|
constructor() {
|
|
2781
|
-
u(this,
|
|
2782
|
-
u(this,
|
|
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,
|
|
2888
|
+
u(this, Ce, new v().setTranscoderPath(
|
|
2786
2889
|
`${M.CDNVersion}/examples/jsm/libs/basis/`
|
|
2787
2890
|
));
|
|
2788
|
-
u(this,
|
|
2789
|
-
g(this,
|
|
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,
|
|
2895
|
+
return g(this, yA);
|
|
2793
2896
|
}
|
|
2794
2897
|
get dracoLoader() {
|
|
2795
|
-
return g(this,
|
|
2898
|
+
return g(this, ae);
|
|
2796
2899
|
}
|
|
2797
2900
|
get ktx2Loader() {
|
|
2798
|
-
return g(this,
|
|
2901
|
+
return g(this, Ce);
|
|
2799
2902
|
}
|
|
2800
2903
|
load(...A) {
|
|
2801
|
-
g(this,
|
|
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
|
-
|
|
2805
|
-
const
|
|
2806
|
-
var b, z,
|
|
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,
|
|
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,
|
|
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,
|
|
2932
|
+
kA.unsubscribe(g(this, ge)), g(this, b).destroy();
|
|
2830
2933
|
}
|
|
2831
2934
|
}
|
|
2832
|
-
b = new WeakMap(), z = 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
|
|
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,
|
|
2945
|
+
u(this, HA, new Rt(null));
|
|
2843
2946
|
u(this, dA, new Rt(void 0));
|
|
2844
|
-
u(this,
|
|
2845
|
-
u(this,
|
|
2846
|
-
u(this,
|
|
2847
|
-
u(this,
|
|
2848
|
-
u(this,
|
|
2849
|
-
u(this,
|
|
2850
|
-
if (!(g(this,
|
|
2851
|
-
const e = g(this,
|
|
2852
|
-
g(this,
|
|
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,
|
|
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,
|
|
2962
|
+
g(this, aA) || (g(this, dA).current = "error", be.setError(e, e));
|
|
2860
2963
|
}
|
|
2861
2964
|
);
|
|
2862
2965
|
}
|
|
2863
2966
|
});
|
|
2864
|
-
G(this,
|
|
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,
|
|
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,
|
|
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,
|
|
2989
|
+
g(this, TA) || (G(this, TA, !0), g(this, Qe).call(this));
|
|
2887
2990
|
}
|
|
2888
2991
|
}
|
|
2889
|
-
|
|
2890
|
-
var
|
|
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,
|
|
2895
|
-
G(this,
|
|
2896
|
-
loader:
|
|
2997
|
+
u(this, UA, void 0);
|
|
2998
|
+
G(this, UA, new Cs(tA({
|
|
2999
|
+
loader: Fn,
|
|
2897
3000
|
consumer: this
|
|
2898
|
-
}, e))), g(this,
|
|
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,
|
|
3008
|
+
return g(this, UA);
|
|
2906
3009
|
}
|
|
2907
3010
|
}
|
|
2908
|
-
|
|
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
|
|
3017
|
+
var CA, NA, uA;
|
|
2915
3018
|
class gs extends Fe {
|
|
2916
3019
|
constructor(e) {
|
|
2917
3020
|
super(
|
|
2918
|
-
new
|
|
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,
|
|
2927
|
-
u(this,
|
|
3029
|
+
u(this, CA, void 0);
|
|
3030
|
+
u(this, NA, void 0);
|
|
2928
3031
|
u(this, uA, () => {
|
|
2929
|
-
g(this,
|
|
3032
|
+
g(this, CA).data.current && g(this, NA) && this.onCoverResize(g(this, CA).data.current);
|
|
2930
3033
|
});
|
|
2931
|
-
G(this,
|
|
3034
|
+
G(this, CA, new Cs(tA({
|
|
2932
3035
|
consumer: this
|
|
2933
|
-
}, e))), G(this,
|
|
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,
|
|
2938
|
-
!s.current && s.previous ? s.previous.dispose() : s.current && this.material && (g(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,
|
|
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
|
-
|
|
2955
|
-
const
|
|
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:
|
|
3062
|
+
loader: Gn
|
|
2960
3063
|
}));
|
|
2961
3064
|
}
|
|
2962
3065
|
}
|
|
2963
|
-
class
|
|
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
|
|
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
|
|
3076
|
+
var he, le, de;
|
|
2974
3077
|
class Wn extends gs {
|
|
2975
3078
|
constructor(e) {
|
|
2976
3079
|
super(me(tA({}, e), {
|
|
2977
|
-
loader: new
|
|
3080
|
+
loader: new Rn()
|
|
2978
3081
|
}));
|
|
2979
|
-
u(this,
|
|
2980
|
-
u(this,
|
|
2981
|
-
u(this,
|
|
2982
|
-
G(this,
|
|
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,
|
|
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
|
-
|
|
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(),
|
|
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(
|
|
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(),
|
|
3031
|
-
class
|
|
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(),
|
|
3044
|
-
class
|
|
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(
|
|
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,
|
|
3104
|
-
const U = class U extends
|
|
3206
|
+
var X, Ne, Es, ue, fe;
|
|
3207
|
+
const U = class U extends Mn {
|
|
3105
3208
|
static destroy() {
|
|
3106
|
-
xA.unsubscribe(g(this,
|
|
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
|
|
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,
|
|
3124
|
-
},
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
3292
|
+
Fn as en3GLTFLoader,
|
|
3293
3293
|
Pn as en3LazyLoader,
|
|
3294
3294
|
Zn as getCurrentViewport,
|
|
3295
3295
|
jn as traverseMaterials,
|