@vctrl/hooks 0.4.0 → 0.5.0
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/index.cjs.js +1 -1
- package/index.d.ts +1 -0
- package/index.es.js +6 -4
- package/{model-context-BmfXsk0j.cjs → model-context-ChF_IVjD.cjs} +5 -5
- package/{model-context-qjRd1gfd.js → model-context-DDCJu7oe.js} +412 -389
- package/package.json +1 -1
- package/use-export-model-BBfXwJbA.cjs +12 -0
- package/use-export-model-CUUL3YCH.js +2465 -0
- package/use-export-model.cjs.js +1 -12
- package/use-export-model.es.js +2 -2463
- package/use-load-model/model-context.d.ts +34 -0
- package/use-load-model/types.d.ts +2 -1
- package/use-load-model/use-load-model.d.ts +23 -0
- package/use-load-model.cjs.js +1 -1
- package/use-load-model.es.js +1 -1
- package/use-optimize-model/state.d.ts +13 -0
- package/use-optimize-model/types.d.ts +37 -0
- package/use-optimize-model/use-optimize-model.d.ts +22 -4
- package/use-optimize-model-BN-fP4La.cjs +1 -0
- package/use-optimize-model-C46Fr7jH.js +111 -0
- package/use-optimize-model.cjs.js +1 -1
- package/use-optimize-model.es.js +1 -1
- package/use-optimize-model-CXJnsRYK.cjs +0 -1
- package/use-optimize-model-CsddjnWO.js +0 -51
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as Bt } from "react/jsx-runtime";
|
|
2
|
-
import { useCallback as
|
|
3
|
-
import { TrianglesDrawMode as Qt, TriangleFanDrawMode as XA, TriangleStripDrawMode as Ge, Loader as TA, LoaderUtils as mA, FileLoader as aA, Color as rA, LinearSRGBColorSpace as Y, SpotLight as dt, PointLight as ht, DirectionalLight as pt, MeshBasicMaterial as hA, SRGBColorSpace as
|
|
4
|
-
const BA = {},
|
|
2
|
+
import { useCallback as z, useRef as Ct, useReducer as bt, useEffect as lt, createContext as ft, useContext as Et } from "react";
|
|
3
|
+
import { TrianglesDrawMode as Qt, TriangleFanDrawMode as XA, TriangleStripDrawMode as Ge, Loader as TA, LoaderUtils as mA, FileLoader as aA, Color as rA, LinearSRGBColorSpace as Y, SpotLight as dt, PointLight as ht, DirectionalLight as pt, MeshBasicMaterial as hA, SRGBColorSpace as AA, MeshPhysicalMaterial as W, Vector2 as SA, Matrix4 as yA, Vector3 as CA, Quaternion as xe, InstancedMesh as ut, InstancedBufferAttribute as mt, Object3D as se, TextureLoader as Te, ImageBitmapLoader as wt, BufferAttribute as X, InterleavedBuffer as Dt, InterleavedBufferAttribute as kt, LinearFilter as GA, LinearMipmapLinearFilter as ie, RepeatWrapping as xA, PointsMaterial as Ft, Material as NA, LineBasicMaterial as Rt, MeshStandardMaterial as Le, DoubleSide as St, PropertyBinding as yt, BufferGeometry as ne, SkinnedMesh as Gt, Mesh as Me, LineSegments as xt, Line as Tt, LineLoop as Lt, Points as Mt, Group as kA, PerspectiveCamera as Nt, MathUtils as Ut, OrthographicCamera as _t, Skeleton as qt, AnimationClip as Ht, Bone as Ot, InterpolateLinear as Ne, ColorManagement as le, NearestFilter as vt, NearestMipmapNearestFilter as Jt, LinearMipmapNearestFilter as jt, NearestMipmapLinearFilter as Kt, ClampToEdgeWrapping as Ue, MirroredRepeatWrapping as _e, InterpolateDiscrete as Pt, FrontSide as Yt, Texture as fe, VectorKeyframeTrack as Ee, NumberKeyframeTrack as Qe, QuaternionKeyframeTrack as de, Box3 as Wt, Sphere as Vt, Interpolant as zt, CompressedCubeTexture as Xt, UnsignedByteType as K, CompressedArrayTexture as Zt, CompressedTexture as qe, RGBAFormat as bA, RGBA_ASTC_4x4_Format as $t, RGBA_BPTC_Format as Aa, RGBA_ETC2_EAC_Format as ea, RGBA_PVRTC_4BPPV1_Format as ta, RGBA_S3TC_DXT5_Format as aa, RGB_ETC1_Format as sa, RGB_ETC2_Format as ia, RGB_PVRTC_4BPPV1_Format as na, RGBA_S3TC_DXT1_Format as oa, FloatType as FA, HalfFloatType as RA, DataTexture as ra, Data3DTexture as ca, DisplayP3ColorSpace as ga, LinearDisplayP3ColorSpace as Ia, NoColorSpace as oA, RGFormat as pA, RedFormat as uA, RGBA_ASTC_6x6_Format as he, WebGLRenderer as Ba } from "three";
|
|
4
|
+
const BA = {}, V = {
|
|
5
5
|
emit(n, A) {
|
|
6
6
|
const e = BA[n];
|
|
7
7
|
e && e.forEach((a) => a(A));
|
|
@@ -63,10 +63,10 @@ function ue(n, A) {
|
|
|
63
63
|
if (A === XA || A === Ge) {
|
|
64
64
|
let e = n.getIndex();
|
|
65
65
|
if (e === null) {
|
|
66
|
-
const i = [],
|
|
67
|
-
if (
|
|
68
|
-
for (let
|
|
69
|
-
i.push(
|
|
66
|
+
const i = [], o = n.getAttribute("position");
|
|
67
|
+
if (o !== void 0) {
|
|
68
|
+
for (let r = 0; r < o.count; r++)
|
|
69
|
+
i.push(r);
|
|
70
70
|
n.setIndex(i), e = n.getIndex();
|
|
71
71
|
} else
|
|
72
72
|
return console.error("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Undefined position attribute. Processing not possible."), n;
|
|
@@ -133,18 +133,18 @@ class la extends TA {
|
|
|
133
133
|
} else
|
|
134
134
|
i = mA.extractUrlBase(A);
|
|
135
135
|
this.manager.itemStart(A);
|
|
136
|
-
const
|
|
136
|
+
const o = function(c) {
|
|
137
137
|
t ? t(c) : console.error(c), s.manager.itemError(A), s.manager.itemEnd(A);
|
|
138
|
-
},
|
|
139
|
-
|
|
138
|
+
}, r = new aA(this.manager);
|
|
139
|
+
r.setPath(this.path), r.setResponseType("arraybuffer"), r.setRequestHeader(this.requestHeader), r.setWithCredentials(this.withCredentials), r.load(A, function(c) {
|
|
140
140
|
try {
|
|
141
141
|
s.parse(c, i, function(I) {
|
|
142
142
|
e(I), s.manager.itemEnd(A);
|
|
143
|
-
},
|
|
143
|
+
}, o);
|
|
144
144
|
} catch (I) {
|
|
145
|
-
|
|
145
|
+
o(I);
|
|
146
146
|
}
|
|
147
|
-
}, a,
|
|
147
|
+
}, a, o);
|
|
148
148
|
}
|
|
149
149
|
setDRACOLoader(A) {
|
|
150
150
|
return this.dracoLoader = A, this;
|
|
@@ -168,11 +168,11 @@ class la extends TA {
|
|
|
168
168
|
}
|
|
169
169
|
parse(A, e, a, t) {
|
|
170
170
|
let s;
|
|
171
|
-
const i = {},
|
|
171
|
+
const i = {}, o = {}, r = new TextDecoder();
|
|
172
172
|
if (typeof A == "string")
|
|
173
173
|
s = JSON.parse(A);
|
|
174
174
|
else if (A instanceof ArrayBuffer)
|
|
175
|
-
if (
|
|
175
|
+
if (r.decode(new Uint8Array(A, 0, 4)) === Oe) {
|
|
176
176
|
try {
|
|
177
177
|
i[y.KHR_BINARY_GLTF] = new Ma(A);
|
|
178
178
|
} catch (g) {
|
|
@@ -181,7 +181,7 @@ class la extends TA {
|
|
|
181
181
|
}
|
|
182
182
|
s = JSON.parse(i[y.KHR_BINARY_GLTF].content);
|
|
183
183
|
} else
|
|
184
|
-
s = JSON.parse(
|
|
184
|
+
s = JSON.parse(r.decode(A));
|
|
185
185
|
else
|
|
186
186
|
s = A;
|
|
187
187
|
if (s.asset === void 0 || s.asset.version[0] < 2) {
|
|
@@ -199,7 +199,7 @@ class la extends TA {
|
|
|
199
199
|
c.fileLoader.setRequestHeader(this.requestHeader);
|
|
200
200
|
for (let I = 0; I < this.pluginCallbacks.length; I++) {
|
|
201
201
|
const g = this.pluginCallbacks[I](c);
|
|
202
|
-
g.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"),
|
|
202
|
+
g.name || console.error("THREE.GLTFLoader: Invalid plugin found: missing name"), o[g.name] = g, i[g.name] = !0;
|
|
203
203
|
}
|
|
204
204
|
if (s.extensionsUsed)
|
|
205
205
|
for (let I = 0; I < s.extensionsUsed.length; ++I) {
|
|
@@ -218,10 +218,10 @@ class la extends TA {
|
|
|
218
218
|
i[g] = new _a();
|
|
219
219
|
break;
|
|
220
220
|
default:
|
|
221
|
-
B.indexOf(g) >= 0 &&
|
|
221
|
+
B.indexOf(g) >= 0 && o[g] === void 0 && console.warn('THREE.GLTFLoader: Unknown extension "' + g + '".');
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
|
-
c.setExtensions(i), c.setPlugins(
|
|
224
|
+
c.setExtensions(i), c.setPlugins(o), c.parse(a, t);
|
|
225
225
|
}
|
|
226
226
|
parseAsync(A, e) {
|
|
227
227
|
const a = this;
|
|
@@ -286,12 +286,12 @@ class Ea {
|
|
|
286
286
|
const e = this.parser, a = "light:" + A;
|
|
287
287
|
let t = e.cache.get(a);
|
|
288
288
|
if (t) return t;
|
|
289
|
-
const s = e.json,
|
|
289
|
+
const s = e.json, r = ((s.extensions && s.extensions[this.name] || {}).lights || [])[A];
|
|
290
290
|
let c;
|
|
291
291
|
const I = new rA(16777215);
|
|
292
|
-
|
|
293
|
-
const g =
|
|
294
|
-
switch (
|
|
292
|
+
r.color !== void 0 && I.setRGB(r.color[0], r.color[1], r.color[2], Y);
|
|
293
|
+
const g = r.range !== void 0 ? r.range : 0;
|
|
294
|
+
switch (r.type) {
|
|
295
295
|
case "directional":
|
|
296
296
|
c = new pt(I), c.target.position.set(0, 0, -1), c.add(c.target);
|
|
297
297
|
break;
|
|
@@ -299,21 +299,21 @@ class Ea {
|
|
|
299
299
|
c = new ht(I), c.distance = g;
|
|
300
300
|
break;
|
|
301
301
|
case "spot":
|
|
302
|
-
c = new dt(I), c.distance = g,
|
|
302
|
+
c = new dt(I), c.distance = g, r.spot = r.spot || {}, r.spot.innerConeAngle = r.spot.innerConeAngle !== void 0 ? r.spot.innerConeAngle : 0, r.spot.outerConeAngle = r.spot.outerConeAngle !== void 0 ? r.spot.outerConeAngle : Math.PI / 4, c.angle = r.spot.outerConeAngle, c.penumbra = 1 - r.spot.innerConeAngle / r.spot.outerConeAngle, c.target.position.set(0, 0, -1), c.add(c.target);
|
|
303
303
|
break;
|
|
304
304
|
default:
|
|
305
|
-
throw new Error("THREE.GLTFLoader: Unexpected light type: " +
|
|
305
|
+
throw new Error("THREE.GLTFLoader: Unexpected light type: " + r.type);
|
|
306
306
|
}
|
|
307
|
-
return c.position.set(0, 0, 0), c.decay = 2, tA(c,
|
|
307
|
+
return c.position.set(0, 0, 0), c.decay = 2, tA(c, r), r.intensity !== void 0 && (c.intensity = r.intensity), c.name = e.createUniqueName(r.name || "light_" + A), t = Promise.resolve(c), e.cache.add(a, t), t;
|
|
308
308
|
}
|
|
309
309
|
getDependency(A, e) {
|
|
310
310
|
if (A === "light")
|
|
311
311
|
return this._loadLight(e);
|
|
312
312
|
}
|
|
313
313
|
createNodeAttachment(A) {
|
|
314
|
-
const e = this, a = this.parser, s = a.json.nodes[A],
|
|
315
|
-
return
|
|
316
|
-
return a._getNodeRef(e.cache,
|
|
314
|
+
const e = this, a = this.parser, s = a.json.nodes[A], o = (s.extensions && s.extensions[this.name] || {}).light;
|
|
315
|
+
return o === void 0 ? null : this._loadLight(o).then(function(r) {
|
|
316
|
+
return a._getNodeRef(e.cache, o, r);
|
|
317
317
|
});
|
|
318
318
|
}
|
|
319
319
|
}
|
|
@@ -333,7 +333,7 @@ class Qa {
|
|
|
333
333
|
const i = s.baseColorFactor;
|
|
334
334
|
A.color.setRGB(i[0], i[1], i[2], Y), A.opacity = i[3];
|
|
335
335
|
}
|
|
336
|
-
s.baseColorTexture !== void 0 && t.push(a.assignTexture(A, "map", s.baseColorTexture,
|
|
336
|
+
s.baseColorTexture !== void 0 && t.push(a.assignTexture(A, "map", s.baseColorTexture, AA));
|
|
337
337
|
}
|
|
338
338
|
return Promise.all(t);
|
|
339
339
|
}
|
|
@@ -364,8 +364,8 @@ class ha {
|
|
|
364
364
|
return Promise.resolve();
|
|
365
365
|
const s = [], i = t.extensions[this.name];
|
|
366
366
|
if (i.clearcoatFactor !== void 0 && (e.clearcoat = i.clearcoatFactor), i.clearcoatTexture !== void 0 && s.push(a.assignTexture(e, "clearcoatMap", i.clearcoatTexture)), i.clearcoatRoughnessFactor !== void 0 && (e.clearcoatRoughness = i.clearcoatRoughnessFactor), i.clearcoatRoughnessTexture !== void 0 && s.push(a.assignTexture(e, "clearcoatRoughnessMap", i.clearcoatRoughnessTexture)), i.clearcoatNormalTexture !== void 0 && (s.push(a.assignTexture(e, "clearcoatNormalMap", i.clearcoatNormalTexture)), i.clearcoatNormalTexture.scale !== void 0)) {
|
|
367
|
-
const
|
|
368
|
-
e.clearcoatNormalScale = new SA(
|
|
367
|
+
const o = i.clearcoatNormalTexture.scale;
|
|
368
|
+
e.clearcoatNormalScale = new SA(o, o);
|
|
369
369
|
}
|
|
370
370
|
return Promise.all(s);
|
|
371
371
|
}
|
|
@@ -418,10 +418,10 @@ class ma {
|
|
|
418
418
|
e.sheenColor = new rA(0, 0, 0), e.sheenRoughness = 0, e.sheen = 1;
|
|
419
419
|
const i = t.extensions[this.name];
|
|
420
420
|
if (i.sheenColorFactor !== void 0) {
|
|
421
|
-
const
|
|
422
|
-
e.sheenColor.setRGB(
|
|
421
|
+
const o = i.sheenColorFactor;
|
|
422
|
+
e.sheenColor.setRGB(o[0], o[1], o[2], Y);
|
|
423
423
|
}
|
|
424
|
-
return i.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = i.sheenRoughnessFactor), i.sheenColorTexture !== void 0 && s.push(a.assignTexture(e, "sheenColorMap", i.sheenColorTexture,
|
|
424
|
+
return i.sheenRoughnessFactor !== void 0 && (e.sheenRoughness = i.sheenRoughnessFactor), i.sheenColorTexture !== void 0 && s.push(a.assignTexture(e, "sheenColorMap", i.sheenColorTexture, AA)), i.sheenRoughnessTexture !== void 0 && s.push(a.assignTexture(e, "sheenRoughnessMap", i.sheenRoughnessTexture)), Promise.all(s);
|
|
425
425
|
}
|
|
426
426
|
}
|
|
427
427
|
class wa {
|
|
@@ -454,8 +454,8 @@ class Da {
|
|
|
454
454
|
return Promise.resolve();
|
|
455
455
|
const s = [], i = t.extensions[this.name];
|
|
456
456
|
e.thickness = i.thicknessFactor !== void 0 ? i.thicknessFactor : 0, i.thicknessTexture !== void 0 && s.push(a.assignTexture(e, "thicknessMap", i.thicknessTexture)), e.attenuationDistance = i.attenuationDistance || 1 / 0;
|
|
457
|
-
const
|
|
458
|
-
return e.attenuationColor = new rA().setRGB(
|
|
457
|
+
const o = i.attenuationColor || [1, 1, 1];
|
|
458
|
+
return e.attenuationColor = new rA().setRGB(o[0], o[1], o[2], Y), Promise.all(s);
|
|
459
459
|
}
|
|
460
460
|
}
|
|
461
461
|
class ka {
|
|
@@ -488,8 +488,8 @@ class Fa {
|
|
|
488
488
|
return Promise.resolve();
|
|
489
489
|
const s = [], i = t.extensions[this.name];
|
|
490
490
|
e.specularIntensity = i.specularFactor !== void 0 ? i.specularFactor : 1, i.specularTexture !== void 0 && s.push(a.assignTexture(e, "specularIntensityMap", i.specularTexture));
|
|
491
|
-
const
|
|
492
|
-
return e.specularColor = new rA().setRGB(
|
|
491
|
+
const o = i.specularColorFactor || [1, 1, 1];
|
|
492
|
+
return e.specularColor = new rA().setRGB(o[0], o[1], o[2], Y), i.specularColorTexture !== void 0 && s.push(a.assignTexture(e, "specularColorMap", i.specularColorTexture, AA)), Promise.all(s);
|
|
493
493
|
}
|
|
494
494
|
}
|
|
495
495
|
class Ra {
|
|
@@ -549,14 +549,14 @@ class Ga {
|
|
|
549
549
|
const e = this.name, a = this.parser, t = a.json, s = t.textures[A];
|
|
550
550
|
if (!s.extensions || !s.extensions[e])
|
|
551
551
|
return null;
|
|
552
|
-
const i = s.extensions[e],
|
|
553
|
-
let
|
|
554
|
-
if (
|
|
555
|
-
const c = a.options.manager.getHandler(
|
|
556
|
-
c !== null && (
|
|
552
|
+
const i = s.extensions[e], o = t.images[i.source];
|
|
553
|
+
let r = a.textureLoader;
|
|
554
|
+
if (o.uri) {
|
|
555
|
+
const c = a.options.manager.getHandler(o.uri);
|
|
556
|
+
c !== null && (r = c);
|
|
557
557
|
}
|
|
558
558
|
return this.detectSupport().then(function(c) {
|
|
559
|
-
if (c) return a.loadTextureImage(A, i.source,
|
|
559
|
+
if (c) return a.loadTextureImage(A, i.source, r);
|
|
560
560
|
if (t.extensionsRequired && t.extensionsRequired.indexOf(e) >= 0)
|
|
561
561
|
throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");
|
|
562
562
|
return a.loadTexture(A);
|
|
@@ -579,14 +579,14 @@ class xa {
|
|
|
579
579
|
const e = this.name, a = this.parser, t = a.json, s = t.textures[A];
|
|
580
580
|
if (!s.extensions || !s.extensions[e])
|
|
581
581
|
return null;
|
|
582
|
-
const i = s.extensions[e],
|
|
583
|
-
let
|
|
584
|
-
if (
|
|
585
|
-
const c = a.options.manager.getHandler(
|
|
586
|
-
c !== null && (
|
|
582
|
+
const i = s.extensions[e], o = t.images[i.source];
|
|
583
|
+
let r = a.textureLoader;
|
|
584
|
+
if (o.uri) {
|
|
585
|
+
const c = a.options.manager.getHandler(o.uri);
|
|
586
|
+
c !== null && (r = c);
|
|
587
587
|
}
|
|
588
588
|
return this.detectSupport().then(function(c) {
|
|
589
|
-
if (c) return a.loadTextureImage(A, i.source,
|
|
589
|
+
if (c) return a.loadTextureImage(A, i.source, r);
|
|
590
590
|
if (t.extensionsRequired && t.extensionsRequired.indexOf(e) >= 0)
|
|
591
591
|
throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");
|
|
592
592
|
return a.loadTexture(A);
|
|
@@ -614,8 +614,8 @@ class Ta {
|
|
|
614
614
|
throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");
|
|
615
615
|
return null;
|
|
616
616
|
}
|
|
617
|
-
return s.then(function(
|
|
618
|
-
const
|
|
617
|
+
return s.then(function(o) {
|
|
618
|
+
const r = t.byteOffset || 0, c = t.byteLength || 0, I = t.count, g = t.byteStride, B = new Uint8Array(o, r, c);
|
|
619
619
|
return i.decodeGltfBufferAsync ? i.decodeGltfBufferAsync(I, g, B, t.mode, t.filter).then(function(C) {
|
|
620
620
|
return C.buffer;
|
|
621
621
|
}) : i.ready.then(function() {
|
|
@@ -639,20 +639,20 @@ class La {
|
|
|
639
639
|
for (const c of t.primitives)
|
|
640
640
|
if (c.mode !== O.TRIANGLES && c.mode !== O.TRIANGLE_STRIP && c.mode !== O.TRIANGLE_FAN && c.mode !== void 0)
|
|
641
641
|
return null;
|
|
642
|
-
const i = a.extensions[this.name].attributes,
|
|
642
|
+
const i = a.extensions[this.name].attributes, o = [], r = {};
|
|
643
643
|
for (const c in i)
|
|
644
|
-
|
|
645
|
-
return
|
|
644
|
+
o.push(this.parser.getDependency("accessor", i[c]).then((I) => (r[c] = I, r[c])));
|
|
645
|
+
return o.length < 1 ? null : (o.push(this.parser.createNodeMesh(A)), Promise.all(o).then((c) => {
|
|
646
646
|
const I = c.pop(), g = I.isGroup ? I.children : [I], B = c[0].count, C = [];
|
|
647
647
|
for (const f of g) {
|
|
648
648
|
const d = new yA(), p = new CA(), E = new xe(), l = new CA(1, 1, 1), h = new ut(f.geometry, f.material, B);
|
|
649
649
|
for (let u = 0; u < B; u++)
|
|
650
|
-
|
|
651
|
-
for (const u in
|
|
650
|
+
r.TRANSLATION && p.fromBufferAttribute(r.TRANSLATION, u), r.ROTATION && E.fromBufferAttribute(r.ROTATION, u), r.SCALE && l.fromBufferAttribute(r.SCALE, u), h.setMatrixAt(u, d.compose(p, E, l));
|
|
651
|
+
for (const u in r)
|
|
652
652
|
if (u === "_COLOR_0") {
|
|
653
|
-
const k =
|
|
653
|
+
const k = r[u];
|
|
654
654
|
h.instanceColor = new mt(k.array, k.itemSize, k.normalized);
|
|
655
|
-
} else u !== "TRANSLATION" && u !== "ROTATION" && u !== "SCALE" && f.geometry.setAttribute(u,
|
|
655
|
+
} else u !== "TRANSLATION" && u !== "ROTATION" && u !== "SCALE" && f.geometry.setAttribute(u, r[u]);
|
|
656
656
|
se.prototype.copy.call(h, f), this.parser.assignFinalMaterial(h), C.push(h);
|
|
657
657
|
}
|
|
658
658
|
return I.isGroup ? (I.clear(), I.add(...C), I) : C[0];
|
|
@@ -675,17 +675,17 @@ class Ma {
|
|
|
675
675
|
const t = this.header.length - QA, s = new DataView(A, QA);
|
|
676
676
|
let i = 0;
|
|
677
677
|
for (; i < t; ) {
|
|
678
|
-
const r = s.getUint32(i, !0);
|
|
679
|
-
i += 4;
|
|
680
678
|
const o = s.getUint32(i, !0);
|
|
681
|
-
|
|
682
|
-
|
|
679
|
+
i += 4;
|
|
680
|
+
const r = s.getUint32(i, !0);
|
|
681
|
+
if (i += 4, r === me.JSON) {
|
|
682
|
+
const c = new Uint8Array(A, QA + i, o);
|
|
683
683
|
this.content = a.decode(c);
|
|
684
|
-
} else if (
|
|
684
|
+
} else if (r === me.BIN) {
|
|
685
685
|
const c = QA + i;
|
|
686
|
-
this.body = A.slice(c, c +
|
|
686
|
+
this.body = A.slice(c, c + o);
|
|
687
687
|
}
|
|
688
|
-
i +=
|
|
688
|
+
i += o;
|
|
689
689
|
}
|
|
690
690
|
if (this.content === null)
|
|
691
691
|
throw new Error("THREE.GLTFLoader: JSON content not found.");
|
|
@@ -698,27 +698,27 @@ class Na {
|
|
|
698
698
|
this.name = y.KHR_DRACO_MESH_COMPRESSION, this.json = A, this.dracoLoader = e, this.dracoLoader.preload();
|
|
699
699
|
}
|
|
700
700
|
decodePrimitive(A, e) {
|
|
701
|
-
const a = this.json, t = this.dracoLoader, s = A.extensions[this.name].bufferView, i = A.extensions[this.name].attributes,
|
|
701
|
+
const a = this.json, t = this.dracoLoader, s = A.extensions[this.name].bufferView, i = A.extensions[this.name].attributes, o = {}, r = {}, c = {};
|
|
702
702
|
for (const I in i) {
|
|
703
703
|
const g = ZA[I] || I.toLowerCase();
|
|
704
|
-
|
|
704
|
+
o[g] = i[I];
|
|
705
705
|
}
|
|
706
706
|
for (const I in A.attributes) {
|
|
707
707
|
const g = ZA[I] || I.toLowerCase();
|
|
708
708
|
if (i[I] !== void 0) {
|
|
709
709
|
const B = a.accessors[A.attributes[I]], C = fA[B.componentType];
|
|
710
|
-
c[g] = C.name,
|
|
710
|
+
c[g] = C.name, r[g] = B.normalized === !0;
|
|
711
711
|
}
|
|
712
712
|
}
|
|
713
713
|
return e.getDependency("bufferView", s).then(function(I) {
|
|
714
714
|
return new Promise(function(g, B) {
|
|
715
715
|
t.decodeDracoFile(I, function(C) {
|
|
716
716
|
for (const f in C.attributes) {
|
|
717
|
-
const d = C.attributes[f], p =
|
|
717
|
+
const d = C.attributes[f], p = r[f];
|
|
718
718
|
p !== void 0 && (d.normalized = p);
|
|
719
719
|
}
|
|
720
720
|
g(C);
|
|
721
|
-
},
|
|
721
|
+
}, o, c, Y, B);
|
|
722
722
|
});
|
|
723
723
|
});
|
|
724
724
|
}
|
|
@@ -747,9 +747,9 @@ class ve extends zt {
|
|
|
747
747
|
return e;
|
|
748
748
|
}
|
|
749
749
|
interpolate_(A, e, a, t) {
|
|
750
|
-
const s = this.resultBuffer, i = this.sampleValues,
|
|
751
|
-
for (let u = 0; u !==
|
|
752
|
-
const k = i[d + u +
|
|
750
|
+
const s = this.resultBuffer, i = this.sampleValues, o = this.valueSize, r = o * 2, c = o * 3, I = t - e, g = (a - e) / I, B = g * g, C = B * g, f = A * c, d = f - c, p = -2 * C + 3 * B, E = C - B, l = 1 - p, h = E - B + g;
|
|
751
|
+
for (let u = 0; u !== o; u++) {
|
|
752
|
+
const k = i[d + u + o], R = i[d + u + r] * I, G = i[f + u + o], M = i[f + u] * I;
|
|
753
753
|
s[u] = l * k + h * R + p * G + E * M;
|
|
754
754
|
}
|
|
755
755
|
return s;
|
|
@@ -860,7 +860,7 @@ function Ja(n, A, e) {
|
|
|
860
860
|
if (g.POSITION !== void 0 && (a = !0), g.NORMAL !== void 0 && (t = !0), g.COLOR_0 !== void 0 && (s = !0), a && t && s) break;
|
|
861
861
|
}
|
|
862
862
|
if (!a && !t && !s) return Promise.resolve(n);
|
|
863
|
-
const i = [],
|
|
863
|
+
const i = [], o = [], r = [];
|
|
864
864
|
for (let c = 0, I = A.length; c < I; c++) {
|
|
865
865
|
const g = A[c];
|
|
866
866
|
if (a) {
|
|
@@ -869,17 +869,17 @@ function Ja(n, A, e) {
|
|
|
869
869
|
}
|
|
870
870
|
if (t) {
|
|
871
871
|
const B = g.NORMAL !== void 0 ? e.getDependency("accessor", g.NORMAL) : n.attributes.normal;
|
|
872
|
-
|
|
872
|
+
o.push(B);
|
|
873
873
|
}
|
|
874
874
|
if (s) {
|
|
875
875
|
const B = g.COLOR_0 !== void 0 ? e.getDependency("accessor", g.COLOR_0) : n.attributes.color;
|
|
876
|
-
|
|
876
|
+
r.push(B);
|
|
877
877
|
}
|
|
878
878
|
}
|
|
879
879
|
return Promise.all([
|
|
880
880
|
Promise.all(i),
|
|
881
|
-
Promise.all(
|
|
882
|
-
Promise.all(
|
|
881
|
+
Promise.all(o),
|
|
882
|
+
Promise.all(r)
|
|
883
883
|
]).then(function(c) {
|
|
884
884
|
const I = c[0], g = c[1], B = c[2];
|
|
885
885
|
return a && (n.morphAttributes.position = I), t && (n.morphAttributes.normal = g), s && (n.morphAttributes.color = B), n.morphTargetsRelative = !0, n;
|
|
@@ -937,10 +937,10 @@ class Wa {
|
|
|
937
937
|
this.json = A, this.extensions = {}, this.plugins = {}, this.options = e, this.cache = new fa(), 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 = {};
|
|
938
938
|
let a = !1, t = -1, s = !1, i = -1;
|
|
939
939
|
if (typeof navigator < "u") {
|
|
940
|
-
const
|
|
941
|
-
a = /^((?!chrome|android).)*safari/i.test(
|
|
942
|
-
const
|
|
943
|
-
t = a &&
|
|
940
|
+
const o = navigator.userAgent;
|
|
941
|
+
a = /^((?!chrome|android).)*safari/i.test(o) === !0;
|
|
942
|
+
const r = o.match(/Version\/(\d+)/);
|
|
943
|
+
t = a && r ? parseInt(r[1], 10) : -1, s = o.indexOf("Firefox") > -1, i = s ? o.match(/Firefox\/([0-9]+)\./)[1] : -1;
|
|
944
944
|
}
|
|
945
945
|
typeof createImageBitmap > "u" || a && t < 17 || s && i < 98 ? this.textureLoader = new Te(this.options.manager) : this.textureLoader = new wt(this.options.manager), this.textureLoader.setCrossOrigin(this.options.crossOrigin), this.textureLoader.setRequestHeader(this.options.requestHeader), this.fileLoader = new aA(this.options.manager), this.fileLoader.setResponseType("arraybuffer"), this.options.crossOrigin === "use-credentials" && this.fileLoader.setWithCredentials(!0);
|
|
946
946
|
}
|
|
@@ -963,7 +963,7 @@ class Wa {
|
|
|
963
963
|
a.getDependencies("camera")
|
|
964
964
|
]);
|
|
965
965
|
}).then(function(i) {
|
|
966
|
-
const
|
|
966
|
+
const o = {
|
|
967
967
|
scene: i[0][t.scene || 0],
|
|
968
968
|
scenes: i[0],
|
|
969
969
|
animations: i[1],
|
|
@@ -972,12 +972,12 @@ class Wa {
|
|
|
972
972
|
parser: a,
|
|
973
973
|
userData: {}
|
|
974
974
|
};
|
|
975
|
-
return gA(s,
|
|
976
|
-
return
|
|
975
|
+
return gA(s, o, t), tA(o, t), Promise.all(a._invokeAll(function(r) {
|
|
976
|
+
return r.afterRoot && r.afterRoot(o);
|
|
977
977
|
})).then(function() {
|
|
978
|
-
for (const
|
|
979
|
-
|
|
980
|
-
A(
|
|
978
|
+
for (const r of o.scenes)
|
|
979
|
+
r.updateMatrixWorld();
|
|
980
|
+
A(o);
|
|
981
981
|
});
|
|
982
982
|
}).catch(e);
|
|
983
983
|
}
|
|
@@ -988,8 +988,8 @@ class Wa {
|
|
|
988
988
|
const A = this.json.nodes || [], e = this.json.skins || [], a = this.json.meshes || [];
|
|
989
989
|
for (let t = 0, s = e.length; t < s; t++) {
|
|
990
990
|
const i = e[t].joints;
|
|
991
|
-
for (let
|
|
992
|
-
A[i[
|
|
991
|
+
for (let o = 0, r = i.length; o < r; o++)
|
|
992
|
+
A[i[o]].isBone = !0;
|
|
993
993
|
}
|
|
994
994
|
for (let t = 0, s = A.length; t < s; t++) {
|
|
995
995
|
const i = A[t];
|
|
@@ -1011,11 +1011,11 @@ class Wa {
|
|
|
1011
1011
|
/** Returns a reference to a shared resource, cloning it if necessary. */
|
|
1012
1012
|
_getNodeRef(A, e, a) {
|
|
1013
1013
|
if (A.refs[e] <= 1) return a;
|
|
1014
|
-
const t = a.clone(), s = (i,
|
|
1015
|
-
const
|
|
1016
|
-
|
|
1014
|
+
const t = a.clone(), s = (i, o) => {
|
|
1015
|
+
const r = this.associations.get(i);
|
|
1016
|
+
r != null && this.associations.set(o, r);
|
|
1017
1017
|
for (const [c, I] of i.children.entries())
|
|
1018
|
-
s(I,
|
|
1018
|
+
s(I, o.children[c]);
|
|
1019
1019
|
};
|
|
1020
1020
|
return s(a, t), t.name += "_instance_" + A.uses[e]++, t;
|
|
1021
1021
|
}
|
|
@@ -1158,25 +1158,25 @@ class Wa {
|
|
|
1158
1158
|
loadAccessor(A) {
|
|
1159
1159
|
const e = this, a = this.json, t = this.json.accessors[A];
|
|
1160
1160
|
if (t.bufferView === void 0 && t.sparse === void 0) {
|
|
1161
|
-
const i = UA[t.type],
|
|
1162
|
-
return Promise.resolve(new
|
|
1161
|
+
const i = UA[t.type], o = fA[t.componentType], r = t.normalized === !0, c = new o(t.count * i);
|
|
1162
|
+
return Promise.resolve(new X(c, i, r));
|
|
1163
1163
|
}
|
|
1164
1164
|
const s = [];
|
|
1165
1165
|
return t.bufferView !== void 0 ? s.push(this.getDependency("bufferView", t.bufferView)) : s.push(null), t.sparse !== void 0 && (s.push(this.getDependency("bufferView", t.sparse.indices.bufferView)), s.push(this.getDependency("bufferView", t.sparse.values.bufferView))), Promise.all(s).then(function(i) {
|
|
1166
|
-
const
|
|
1166
|
+
const o = i[0], r = UA[t.type], c = fA[t.componentType], I = c.BYTES_PER_ELEMENT, g = I * r, B = t.byteOffset || 0, C = t.bufferView !== void 0 ? a.bufferViews[t.bufferView].byteStride : void 0, f = t.normalized === !0;
|
|
1167
1167
|
let d, p;
|
|
1168
1168
|
if (C && C !== g) {
|
|
1169
1169
|
const E = Math.floor(B / C), l = "InterleavedBuffer:" + t.bufferView + ":" + t.componentType + ":" + E + ":" + t.count;
|
|
1170
1170
|
let h = e.cache.get(l);
|
|
1171
|
-
h || (d = new c(
|
|
1171
|
+
h || (d = new c(o, E * C, t.count * C / I), h = new Dt(d, C / I), e.cache.add(l, h)), p = new kt(h, r, B % C / I, f);
|
|
1172
1172
|
} else
|
|
1173
|
-
|
|
1173
|
+
o === null ? d = new c(t.count * r) : d = new c(o, B, t.count * r), p = new X(d, r, f);
|
|
1174
1174
|
if (t.sparse !== void 0) {
|
|
1175
|
-
const E = UA.SCALAR, l = fA[t.sparse.indices.componentType], h = t.sparse.indices.byteOffset || 0, u = t.sparse.values.byteOffset || 0, k = new l(i[1], h, t.sparse.count * E), R = new c(i[2], u, t.sparse.count *
|
|
1176
|
-
|
|
1175
|
+
const E = UA.SCALAR, l = fA[t.sparse.indices.componentType], h = t.sparse.indices.byteOffset || 0, u = t.sparse.values.byteOffset || 0, k = new l(i[1], h, t.sparse.count * E), R = new c(i[2], u, t.sparse.count * r);
|
|
1176
|
+
o !== null && (p = new X(p.array.slice(), p.itemSize, p.normalized));
|
|
1177
1177
|
for (let G = 0, M = k.length; G < M; G++) {
|
|
1178
1178
|
const b = k[G];
|
|
1179
|
-
if (p.setX(b, R[G *
|
|
1179
|
+
if (p.setX(b, R[G * r]), r >= 2 && p.setY(b, R[G * r + 1]), r >= 3 && p.setZ(b, R[G * r + 2]), r >= 4 && p.setW(b, R[G * r + 3]), r >= 5) throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
|
|
1180
1180
|
}
|
|
1181
1181
|
}
|
|
1182
1182
|
return p;
|
|
@@ -1189,41 +1189,41 @@ class Wa {
|
|
|
1189
1189
|
*/
|
|
1190
1190
|
loadTexture(A) {
|
|
1191
1191
|
const e = this.json, a = this.options, s = e.textures[A].source, i = e.images[s];
|
|
1192
|
-
let
|
|
1192
|
+
let o = this.textureLoader;
|
|
1193
1193
|
if (i.uri) {
|
|
1194
|
-
const
|
|
1195
|
-
|
|
1194
|
+
const r = a.manager.getHandler(i.uri);
|
|
1195
|
+
r !== null && (o = r);
|
|
1196
1196
|
}
|
|
1197
|
-
return this.loadTextureImage(A, s,
|
|
1197
|
+
return this.loadTextureImage(A, s, o);
|
|
1198
1198
|
}
|
|
1199
1199
|
loadTextureImage(A, e, a) {
|
|
1200
|
-
const t = this, s = this.json, i = s.textures[A],
|
|
1201
|
-
if (this.textureCache[
|
|
1202
|
-
return this.textureCache[
|
|
1200
|
+
const t = this, s = this.json, i = s.textures[A], o = s.images[e], r = (o.uri || o.bufferView) + ":" + i.sampler;
|
|
1201
|
+
if (this.textureCache[r])
|
|
1202
|
+
return this.textureCache[r];
|
|
1203
1203
|
const c = this.loadImageSource(e, a).then(function(I) {
|
|
1204
|
-
I.flipY = !1, I.name = i.name ||
|
|
1204
|
+
I.flipY = !1, I.name = i.name || o.name || "", I.name === "" && typeof o.uri == "string" && o.uri.startsWith("data:image/") === !1 && (I.name = o.uri);
|
|
1205
1205
|
const B = (s.samplers || {})[i.sampler] || {};
|
|
1206
1206
|
return I.magFilter = we[B.magFilter] || GA, I.minFilter = we[B.minFilter] || ie, I.wrapS = De[B.wrapS] || xA, I.wrapT = De[B.wrapT] || xA, t.associations.set(I, { textures: A }), I;
|
|
1207
1207
|
}).catch(function() {
|
|
1208
1208
|
return null;
|
|
1209
1209
|
});
|
|
1210
|
-
return this.textureCache[
|
|
1210
|
+
return this.textureCache[r] = c, c;
|
|
1211
1211
|
}
|
|
1212
1212
|
loadImageSource(A, e) {
|
|
1213
1213
|
const a = this, t = this.json, s = this.options;
|
|
1214
1214
|
if (this.sourceCache[A] !== void 0)
|
|
1215
1215
|
return this.sourceCache[A].then((g) => g.clone());
|
|
1216
|
-
const i = t.images[A],
|
|
1217
|
-
let
|
|
1216
|
+
const i = t.images[A], o = self.URL || self.webkitURL;
|
|
1217
|
+
let r = i.uri || "", c = !1;
|
|
1218
1218
|
if (i.bufferView !== void 0)
|
|
1219
|
-
|
|
1219
|
+
r = a.getDependency("bufferView", i.bufferView).then(function(g) {
|
|
1220
1220
|
c = !0;
|
|
1221
1221
|
const B = new Blob([g], { type: i.mimeType });
|
|
1222
|
-
return
|
|
1222
|
+
return r = o.createObjectURL(B), r;
|
|
1223
1223
|
});
|
|
1224
1224
|
else if (i.uri === void 0)
|
|
1225
1225
|
throw new Error("THREE.GLTFLoader: Image " + A + " is missing URI and bufferView");
|
|
1226
|
-
const I = Promise.resolve(
|
|
1226
|
+
const I = Promise.resolve(r).then(function(g) {
|
|
1227
1227
|
return new Promise(function(B, C) {
|
|
1228
1228
|
let f = B;
|
|
1229
1229
|
e.isImageBitmapLoader === !0 && (f = function(d) {
|
|
@@ -1232,9 +1232,9 @@ class Wa {
|
|
|
1232
1232
|
}), e.load(mA.resolveURL(g, s.path), f, void 0, C);
|
|
1233
1233
|
});
|
|
1234
1234
|
}).then(function(g) {
|
|
1235
|
-
return c === !0 &&
|
|
1235
|
+
return c === !0 && o.revokeObjectURL(r), tA(g, i), g.userData.mimeType = i.mimeType || Pa(i.uri), g;
|
|
1236
1236
|
}).catch(function(g) {
|
|
1237
|
-
throw console.error("THREE.GLTFLoader: Couldn't load texture",
|
|
1237
|
+
throw console.error("THREE.GLTFLoader: Couldn't load texture", r), g;
|
|
1238
1238
|
});
|
|
1239
1239
|
return this.sourceCache[A] = I, I;
|
|
1240
1240
|
}
|
|
@@ -1250,10 +1250,10 @@ class Wa {
|
|
|
1250
1250
|
return this.getDependency("texture", a.index).then(function(i) {
|
|
1251
1251
|
if (!i) return null;
|
|
1252
1252
|
if (a.texCoord !== void 0 && a.texCoord > 0 && (i = i.clone(), i.channel = a.texCoord), s.extensions[y.KHR_TEXTURE_TRANSFORM]) {
|
|
1253
|
-
const
|
|
1254
|
-
if (
|
|
1255
|
-
const
|
|
1256
|
-
i = s.extensions[y.KHR_TEXTURE_TRANSFORM].extendTexture(i,
|
|
1253
|
+
const o = a.extensions !== void 0 ? a.extensions[y.KHR_TEXTURE_TRANSFORM] : void 0;
|
|
1254
|
+
if (o) {
|
|
1255
|
+
const r = s.associations.get(i);
|
|
1256
|
+
i = s.extensions[y.KHR_TEXTURE_TRANSFORM].extendTexture(i, o), s.associations.set(i, r);
|
|
1257
1257
|
}
|
|
1258
1258
|
}
|
|
1259
1259
|
return t !== void 0 && (i.colorSpace = t), A[e] = i, i;
|
|
@@ -1272,19 +1272,19 @@ class Wa {
|
|
|
1272
1272
|
let a = A.material;
|
|
1273
1273
|
const t = e.attributes.tangent === void 0, s = e.attributes.color !== void 0, i = e.attributes.normal === void 0;
|
|
1274
1274
|
if (A.isPoints) {
|
|
1275
|
-
const
|
|
1276
|
-
let
|
|
1277
|
-
|
|
1275
|
+
const o = "PointsMaterial:" + a.uuid;
|
|
1276
|
+
let r = this.cache.get(o);
|
|
1277
|
+
r || (r = new Ft(), NA.prototype.copy.call(r, a), r.color.copy(a.color), r.map = a.map, r.sizeAttenuation = !1, this.cache.add(o, r)), a = r;
|
|
1278
1278
|
} else if (A.isLine) {
|
|
1279
|
-
const
|
|
1280
|
-
let
|
|
1281
|
-
|
|
1279
|
+
const o = "LineBasicMaterial:" + a.uuid;
|
|
1280
|
+
let r = this.cache.get(o);
|
|
1281
|
+
r || (r = new Rt(), NA.prototype.copy.call(r, a), r.color.copy(a.color), r.map = a.map, this.cache.add(o, r)), a = r;
|
|
1282
1282
|
}
|
|
1283
1283
|
if (t || s || i) {
|
|
1284
|
-
let
|
|
1285
|
-
t && (
|
|
1286
|
-
let
|
|
1287
|
-
|
|
1284
|
+
let o = "ClonedMaterial:" + a.uuid + ":";
|
|
1285
|
+
t && (o += "derivative-tangents:"), s && (o += "vertex-colors:"), i && (o += "flat-shading:");
|
|
1286
|
+
let r = this.cache.get(o);
|
|
1287
|
+
r || (r = a.clone(), s && (r.vertexColors = !0), i && (r.flatShading = !0), t && (r.normalScale && (r.normalScale.y *= -1), r.clearcoatNormalScale && (r.clearcoatNormalScale.y *= -1)), this.cache.add(o, r), this.associations.set(r, this.associations.get(a))), a = r;
|
|
1288
1288
|
}
|
|
1289
1289
|
A.material = a;
|
|
1290
1290
|
}
|
|
@@ -1299,34 +1299,34 @@ class Wa {
|
|
|
1299
1299
|
loadMaterial(A) {
|
|
1300
1300
|
const e = this, a = this.json, t = this.extensions, s = a.materials[A];
|
|
1301
1301
|
let i;
|
|
1302
|
-
const
|
|
1303
|
-
if (
|
|
1302
|
+
const o = {}, r = s.extensions || {}, c = [];
|
|
1303
|
+
if (r[y.KHR_MATERIALS_UNLIT]) {
|
|
1304
1304
|
const g = t[y.KHR_MATERIALS_UNLIT];
|
|
1305
|
-
i = g.getMaterialType(), c.push(g.extendParams(
|
|
1305
|
+
i = g.getMaterialType(), c.push(g.extendParams(o, s, e));
|
|
1306
1306
|
} else {
|
|
1307
1307
|
const g = s.pbrMetallicRoughness || {};
|
|
1308
|
-
if (
|
|
1308
|
+
if (o.color = new rA(1, 1, 1), o.opacity = 1, Array.isArray(g.baseColorFactor)) {
|
|
1309
1309
|
const B = g.baseColorFactor;
|
|
1310
|
-
|
|
1310
|
+
o.color.setRGB(B[0], B[1], B[2], Y), o.opacity = B[3];
|
|
1311
1311
|
}
|
|
1312
|
-
g.baseColorTexture !== void 0 && c.push(e.assignTexture(
|
|
1312
|
+
g.baseColorTexture !== void 0 && c.push(e.assignTexture(o, "map", g.baseColorTexture, AA)), o.metalness = g.metallicFactor !== void 0 ? g.metallicFactor : 1, o.roughness = g.roughnessFactor !== void 0 ? g.roughnessFactor : 1, g.metallicRoughnessTexture !== void 0 && (c.push(e.assignTexture(o, "metalnessMap", g.metallicRoughnessTexture)), c.push(e.assignTexture(o, "roughnessMap", g.metallicRoughnessTexture))), i = this._invokeOne(function(B) {
|
|
1313
1313
|
return B.getMaterialType && B.getMaterialType(A);
|
|
1314
1314
|
}), c.push(Promise.all(this._invokeAll(function(B) {
|
|
1315
|
-
return B.extendMaterialParams && B.extendMaterialParams(A,
|
|
1315
|
+
return B.extendMaterialParams && B.extendMaterialParams(A, o);
|
|
1316
1316
|
})));
|
|
1317
1317
|
}
|
|
1318
|
-
s.doubleSided === !0 && (
|
|
1318
|
+
s.doubleSided === !0 && (o.side = St);
|
|
1319
1319
|
const I = s.alphaMode || _A.OPAQUE;
|
|
1320
|
-
if (I === _A.BLEND ? (
|
|
1320
|
+
if (I === _A.BLEND ? (o.transparent = !0, o.depthWrite = !1) : (o.transparent = !1, I === _A.MASK && (o.alphaTest = s.alphaCutoff !== void 0 ? s.alphaCutoff : 0.5)), s.normalTexture !== void 0 && i !== hA && (c.push(e.assignTexture(o, "normalMap", s.normalTexture)), o.normalScale = new SA(1, 1), s.normalTexture.scale !== void 0)) {
|
|
1321
1321
|
const g = s.normalTexture.scale;
|
|
1322
|
-
|
|
1322
|
+
o.normalScale.set(g, g);
|
|
1323
1323
|
}
|
|
1324
|
-
if (s.occlusionTexture !== void 0 && i !== hA && (c.push(e.assignTexture(
|
|
1324
|
+
if (s.occlusionTexture !== void 0 && i !== hA && (c.push(e.assignTexture(o, "aoMap", s.occlusionTexture)), s.occlusionTexture.strength !== void 0 && (o.aoMapIntensity = s.occlusionTexture.strength)), s.emissiveFactor !== void 0 && i !== hA) {
|
|
1325
1325
|
const g = s.emissiveFactor;
|
|
1326
|
-
|
|
1326
|
+
o.emissive = new rA().setRGB(g[0], g[1], g[2], Y);
|
|
1327
1327
|
}
|
|
1328
|
-
return s.emissiveTexture !== void 0 && i !== hA && c.push(e.assignTexture(
|
|
1329
|
-
const g = new i(
|
|
1328
|
+
return s.emissiveTexture !== void 0 && i !== hA && c.push(e.assignTexture(o, "emissiveMap", s.emissiveTexture, AA)), Promise.all(c).then(function() {
|
|
1329
|
+
const g = new i(o);
|
|
1330
1330
|
return s.name && (g.name = s.name), tA(g, s), e.associations.set(g, { materials: A }), s.extensions && gA(t, g, s), g;
|
|
1331
1331
|
});
|
|
1332
1332
|
}
|
|
@@ -1345,14 +1345,14 @@ class Wa {
|
|
|
1345
1345
|
*/
|
|
1346
1346
|
loadGeometries(A) {
|
|
1347
1347
|
const e = this, a = this.extensions, t = this.primitiveCache;
|
|
1348
|
-
function s(
|
|
1349
|
-
return a[y.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(
|
|
1350
|
-
return ke(
|
|
1348
|
+
function s(o) {
|
|
1349
|
+
return a[y.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(o, e).then(function(r) {
|
|
1350
|
+
return ke(r, o, e);
|
|
1351
1351
|
});
|
|
1352
1352
|
}
|
|
1353
1353
|
const i = [];
|
|
1354
|
-
for (let
|
|
1355
|
-
const c = A[
|
|
1354
|
+
for (let o = 0, r = A.length; o < r; o++) {
|
|
1355
|
+
const c = A[o], I = Ka(c), g = t[I];
|
|
1356
1356
|
if (g)
|
|
1357
1357
|
i.push(g.promise);
|
|
1358
1358
|
else {
|
|
@@ -1368,13 +1368,13 @@ class Wa {
|
|
|
1368
1368
|
* @return {Promise<Group|Mesh|SkinnedMesh>}
|
|
1369
1369
|
*/
|
|
1370
1370
|
loadMesh(A) {
|
|
1371
|
-
const e = this, a = this.json, t = this.extensions, s = a.meshes[A], i = s.primitives,
|
|
1372
|
-
for (let
|
|
1373
|
-
const I = i[
|
|
1374
|
-
|
|
1371
|
+
const e = this, a = this.json, t = this.extensions, s = a.meshes[A], i = s.primitives, o = [];
|
|
1372
|
+
for (let r = 0, c = i.length; r < c; r++) {
|
|
1373
|
+
const I = i[r].material === void 0 ? va(this.cache) : this.getDependency("material", i[r].material);
|
|
1374
|
+
o.push(I);
|
|
1375
1375
|
}
|
|
1376
|
-
return
|
|
1377
|
-
const c =
|
|
1376
|
+
return o.push(e.loadGeometries(i)), Promise.all(o).then(function(r) {
|
|
1377
|
+
const c = r.slice(0, r.length - 1), I = r[r.length - 1], g = [];
|
|
1378
1378
|
for (let C = 0, f = I.length; C < f; C++) {
|
|
1379
1379
|
const d = I[C], p = i[C];
|
|
1380
1380
|
let E;
|
|
@@ -1431,17 +1431,17 @@ class Wa {
|
|
|
1431
1431
|
for (let t = 0, s = e.joints.length; t < s; t++)
|
|
1432
1432
|
a.push(this._loadNodeShallow(e.joints[t]));
|
|
1433
1433
|
return e.inverseBindMatrices !== void 0 ? a.push(this.getDependency("accessor", e.inverseBindMatrices)) : a.push(null), Promise.all(a).then(function(t) {
|
|
1434
|
-
const s = t.pop(), i = t,
|
|
1434
|
+
const s = t.pop(), i = t, o = [], r = [];
|
|
1435
1435
|
for (let c = 0, I = i.length; c < I; c++) {
|
|
1436
1436
|
const g = i[c];
|
|
1437
1437
|
if (g) {
|
|
1438
|
-
|
|
1438
|
+
o.push(g);
|
|
1439
1439
|
const B = new yA();
|
|
1440
|
-
s !== null && B.fromArray(s.array, c * 16),
|
|
1440
|
+
s !== null && B.fromArray(s.array, c * 16), r.push(B);
|
|
1441
1441
|
} else
|
|
1442
1442
|
console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', e.joints[c]);
|
|
1443
1443
|
}
|
|
1444
|
-
return new qt(
|
|
1444
|
+
return new qt(o, r);
|
|
1445
1445
|
});
|
|
1446
1446
|
}
|
|
1447
1447
|
/**
|
|
@@ -1450,15 +1450,15 @@ class Wa {
|
|
|
1450
1450
|
* @return {Promise<AnimationClip>}
|
|
1451
1451
|
*/
|
|
1452
1452
|
loadAnimation(A) {
|
|
1453
|
-
const e = this.json, a = this, t = e.animations[A], s = t.name ? t.name : "animation_" + A, i = [],
|
|
1453
|
+
const e = this.json, a = this, t = e.animations[A], s = t.name ? t.name : "animation_" + A, i = [], o = [], r = [], c = [], I = [];
|
|
1454
1454
|
for (let g = 0, B = t.channels.length; g < B; g++) {
|
|
1455
1455
|
const C = t.channels[g], f = t.samplers[C.sampler], d = C.target, p = d.node, E = t.parameters !== void 0 ? t.parameters[f.input] : f.input, l = t.parameters !== void 0 ? t.parameters[f.output] : f.output;
|
|
1456
|
-
d.node !== void 0 && (i.push(this.getDependency("node", p)),
|
|
1456
|
+
d.node !== void 0 && (i.push(this.getDependency("node", p)), o.push(this.getDependency("accessor", E)), r.push(this.getDependency("accessor", l)), c.push(f), I.push(d));
|
|
1457
1457
|
}
|
|
1458
1458
|
return Promise.all([
|
|
1459
1459
|
Promise.all(i),
|
|
1460
|
-
Promise.all(r),
|
|
1461
1460
|
Promise.all(o),
|
|
1461
|
+
Promise.all(r),
|
|
1462
1462
|
Promise.all(c),
|
|
1463
1463
|
Promise.all(I)
|
|
1464
1464
|
]).then(function(g) {
|
|
@@ -1479,10 +1479,10 @@ class Wa {
|
|
|
1479
1479
|
const e = this.json, a = this, t = e.nodes[A];
|
|
1480
1480
|
return t.mesh === void 0 ? null : a.getDependency("mesh", t.mesh).then(function(s) {
|
|
1481
1481
|
const i = a._getNodeRef(a.meshCache, t.mesh, s);
|
|
1482
|
-
return t.weights !== void 0 && i.traverse(function(
|
|
1483
|
-
if (
|
|
1484
|
-
for (let
|
|
1485
|
-
|
|
1482
|
+
return t.weights !== void 0 && i.traverse(function(o) {
|
|
1483
|
+
if (o.isMesh)
|
|
1484
|
+
for (let r = 0, c = t.weights.length; r < c; r++)
|
|
1485
|
+
o.morphTargetInfluences[r] = t.weights[r];
|
|
1486
1486
|
}), i;
|
|
1487
1487
|
});
|
|
1488
1488
|
}
|
|
@@ -1492,14 +1492,14 @@ class Wa {
|
|
|
1492
1492
|
* @return {Promise<Object3D>}
|
|
1493
1493
|
*/
|
|
1494
1494
|
loadNode(A) {
|
|
1495
|
-
const e = this.json, a = this, t = e.nodes[A], s = a._loadNodeShallow(A), i = [],
|
|
1496
|
-
for (let c = 0, I =
|
|
1497
|
-
i.push(a.getDependency("node",
|
|
1498
|
-
const
|
|
1495
|
+
const e = this.json, a = this, t = e.nodes[A], s = a._loadNodeShallow(A), i = [], o = t.children || [];
|
|
1496
|
+
for (let c = 0, I = o.length; c < I; c++)
|
|
1497
|
+
i.push(a.getDependency("node", o[c]));
|
|
1498
|
+
const r = t.skin === void 0 ? Promise.resolve(null) : a.getDependency("skin", t.skin);
|
|
1499
1499
|
return Promise.all([
|
|
1500
1500
|
s,
|
|
1501
1501
|
Promise.all(i),
|
|
1502
|
-
|
|
1502
|
+
r
|
|
1503
1503
|
]).then(function(c) {
|
|
1504
1504
|
const I = c[0], g = c[1], B = c[2];
|
|
1505
1505
|
B !== null && I.traverse(function(C) {
|
|
@@ -1516,16 +1516,16 @@ class Wa {
|
|
|
1516
1516
|
const e = this.json, a = this.extensions, t = this;
|
|
1517
1517
|
if (this.nodeCache[A] !== void 0)
|
|
1518
1518
|
return this.nodeCache[A];
|
|
1519
|
-
const s = e.nodes[A], i = s.name ? t.createUniqueName(s.name) : "",
|
|
1519
|
+
const s = e.nodes[A], i = s.name ? t.createUniqueName(s.name) : "", o = [], r = t._invokeOne(function(c) {
|
|
1520
1520
|
return c.createNodeMesh && c.createNodeMesh(A);
|
|
1521
1521
|
});
|
|
1522
|
-
return
|
|
1522
|
+
return r && o.push(r), s.camera !== void 0 && o.push(t.getDependency("camera", s.camera).then(function(c) {
|
|
1523
1523
|
return t._getNodeRef(t.cameraCache, s.camera, c);
|
|
1524
1524
|
})), t._invokeAll(function(c) {
|
|
1525
1525
|
return c.createNodeAttachment && c.createNodeAttachment(A);
|
|
1526
1526
|
}).forEach(function(c) {
|
|
1527
|
-
|
|
1528
|
-
}), this.nodeCache[A] = Promise.all(
|
|
1527
|
+
o.push(c);
|
|
1528
|
+
}), this.nodeCache[A] = Promise.all(o).then(function(c) {
|
|
1529
1529
|
let I;
|
|
1530
1530
|
if (s.isBone === !0 ? I = new Ot() : c.length > 1 ? I = new kA() : c.length === 1 ? I = c[0] : I = new se(), I !== c[0])
|
|
1531
1531
|
for (let g = 0, B = c.length; g < B; g++)
|
|
@@ -1546,12 +1546,12 @@ class Wa {
|
|
|
1546
1546
|
loadScene(A) {
|
|
1547
1547
|
const e = this.extensions, a = this.json.scenes[A], t = this, s = new kA();
|
|
1548
1548
|
a.name && (s.name = t.createUniqueName(a.name)), tA(s, a), a.extensions && gA(e, s, a);
|
|
1549
|
-
const i = a.nodes || [],
|
|
1550
|
-
for (let
|
|
1551
|
-
|
|
1552
|
-
return Promise.all(
|
|
1553
|
-
for (let I = 0, g =
|
|
1554
|
-
s.add(
|
|
1549
|
+
const i = a.nodes || [], o = [];
|
|
1550
|
+
for (let r = 0, c = i.length; r < c; r++)
|
|
1551
|
+
o.push(t.getDependency("node", i[r]));
|
|
1552
|
+
return Promise.all(o).then(function(r) {
|
|
1553
|
+
for (let I = 0, g = r.length; I < g; I++)
|
|
1554
|
+
s.add(r[I]);
|
|
1555
1555
|
const c = (I) => {
|
|
1556
1556
|
const g = /* @__PURE__ */ new Map();
|
|
1557
1557
|
for (const [B, C] of t.associations)
|
|
@@ -1565,10 +1565,10 @@ class Wa {
|
|
|
1565
1565
|
});
|
|
1566
1566
|
}
|
|
1567
1567
|
_createAnimationTracks(A, e, a, t, s) {
|
|
1568
|
-
const i = [],
|
|
1568
|
+
const i = [], o = A.name ? A.name : A.uuid, r = [];
|
|
1569
1569
|
iA[s.path] === iA.weights ? A.traverse(function(B) {
|
|
1570
|
-
B.morphTargetInfluences &&
|
|
1571
|
-
}) :
|
|
1570
|
+
B.morphTargetInfluences && r.push(B.name ? B.name : B.uuid);
|
|
1571
|
+
}) : r.push(o);
|
|
1572
1572
|
let c;
|
|
1573
1573
|
switch (iA[s.path]) {
|
|
1574
1574
|
case iA.weights:
|
|
@@ -1595,9 +1595,9 @@ class Wa {
|
|
|
1595
1595
|
break;
|
|
1596
1596
|
}
|
|
1597
1597
|
const I = t.interpolation !== void 0 ? Oa[t.interpolation] : Ne, g = this._getArrayFromAccessor(a);
|
|
1598
|
-
for (let B = 0, C =
|
|
1598
|
+
for (let B = 0, C = r.length; B < C; B++) {
|
|
1599
1599
|
const f = new c(
|
|
1600
|
-
|
|
1600
|
+
r[B] + "." + iA[s.path],
|
|
1601
1601
|
e.array,
|
|
1602
1602
|
g,
|
|
1603
1603
|
I
|
|
@@ -1626,13 +1626,13 @@ class Wa {
|
|
|
1626
1626
|
function Va(n, A, e) {
|
|
1627
1627
|
const a = A.attributes, t = new Wt();
|
|
1628
1628
|
if (a.POSITION !== void 0) {
|
|
1629
|
-
const
|
|
1630
|
-
if (
|
|
1629
|
+
const o = e.json.accessors[a.POSITION], r = o.min, c = o.max;
|
|
1630
|
+
if (r !== void 0 && c !== void 0) {
|
|
1631
1631
|
if (t.set(
|
|
1632
|
-
new CA(
|
|
1632
|
+
new CA(r[0], r[1], r[2]),
|
|
1633
1633
|
new CA(c[0], c[1], c[2])
|
|
1634
|
-
),
|
|
1635
|
-
const I = $A(fA[
|
|
1634
|
+
), o.normalized) {
|
|
1635
|
+
const I = $A(fA[o.componentType]);
|
|
1636
1636
|
t.min.multiplyScalar(I), t.max.multiplyScalar(I);
|
|
1637
1637
|
}
|
|
1638
1638
|
} else {
|
|
@@ -1643,22 +1643,22 @@ function Va(n, A, e) {
|
|
|
1643
1643
|
return;
|
|
1644
1644
|
const s = A.targets;
|
|
1645
1645
|
if (s !== void 0) {
|
|
1646
|
-
const
|
|
1646
|
+
const o = new CA(), r = new CA();
|
|
1647
1647
|
for (let c = 0, I = s.length; c < I; c++) {
|
|
1648
1648
|
const g = s[c];
|
|
1649
1649
|
if (g.POSITION !== void 0) {
|
|
1650
1650
|
const B = e.json.accessors[g.POSITION], C = B.min, f = B.max;
|
|
1651
1651
|
if (C !== void 0 && f !== void 0) {
|
|
1652
|
-
if (
|
|
1652
|
+
if (r.setX(Math.max(Math.abs(C[0]), Math.abs(f[0]))), r.setY(Math.max(Math.abs(C[1]), Math.abs(f[1]))), r.setZ(Math.max(Math.abs(C[2]), Math.abs(f[2]))), B.normalized) {
|
|
1653
1653
|
const d = $A(fA[B.componentType]);
|
|
1654
|
-
|
|
1654
|
+
r.multiplyScalar(d);
|
|
1655
1655
|
}
|
|
1656
|
-
|
|
1656
|
+
o.max(r);
|
|
1657
1657
|
} else
|
|
1658
1658
|
console.warn("THREE.GLTFLoader: Missing min/max properties for accessor POSITION.");
|
|
1659
1659
|
}
|
|
1660
1660
|
}
|
|
1661
|
-
t.expandByVector(
|
|
1661
|
+
t.expandByVector(o);
|
|
1662
1662
|
}
|
|
1663
1663
|
n.boundingBox = t;
|
|
1664
1664
|
const i = new Vt();
|
|
@@ -1666,18 +1666,18 @@ function Va(n, A, e) {
|
|
|
1666
1666
|
}
|
|
1667
1667
|
function ke(n, A, e) {
|
|
1668
1668
|
const a = A.attributes, t = [];
|
|
1669
|
-
function s(i,
|
|
1670
|
-
return e.getDependency("accessor", i).then(function(
|
|
1671
|
-
n.setAttribute(
|
|
1669
|
+
function s(i, o) {
|
|
1670
|
+
return e.getDependency("accessor", i).then(function(r) {
|
|
1671
|
+
n.setAttribute(o, r);
|
|
1672
1672
|
});
|
|
1673
1673
|
}
|
|
1674
1674
|
for (const i in a) {
|
|
1675
|
-
const
|
|
1676
|
-
|
|
1675
|
+
const o = ZA[i] || i.toLowerCase();
|
|
1676
|
+
o in n.attributes || t.push(s(a[i], o));
|
|
1677
1677
|
}
|
|
1678
1678
|
if (A.indices !== void 0 && !n.index) {
|
|
1679
|
-
const i = e.getDependency("accessor", A.indices).then(function(
|
|
1680
|
-
n.setIndex(
|
|
1679
|
+
const i = e.getDependency("accessor", A.indices).then(function(o) {
|
|
1680
|
+
n.setIndex(o);
|
|
1681
1681
|
});
|
|
1682
1682
|
t.push(i);
|
|
1683
1683
|
}
|
|
@@ -1717,51 +1717,51 @@ class za extends TA {
|
|
|
1717
1717
|
}
|
|
1718
1718
|
parse(A, e, a = () => {
|
|
1719
1719
|
}) {
|
|
1720
|
-
this.decodeDracoFile(A, e, null, null,
|
|
1720
|
+
this.decodeDracoFile(A, e, null, null, AA, a).catch(a);
|
|
1721
1721
|
}
|
|
1722
1722
|
decodeDracoFile(A, e, a, t, s = Y, i = () => {
|
|
1723
1723
|
}) {
|
|
1724
|
-
const
|
|
1724
|
+
const o = {
|
|
1725
1725
|
attributeIDs: a || this.defaultAttributeIDs,
|
|
1726
1726
|
attributeTypes: t || this.defaultAttributeTypes,
|
|
1727
1727
|
useUniqueIDs: !!a,
|
|
1728
1728
|
vertexColorSpace: s
|
|
1729
1729
|
};
|
|
1730
|
-
return this.decodeGeometry(A,
|
|
1730
|
+
return this.decodeGeometry(A, o).then(e).catch(i);
|
|
1731
1731
|
}
|
|
1732
1732
|
decodeGeometry(A, e) {
|
|
1733
1733
|
const a = JSON.stringify(e);
|
|
1734
1734
|
if (HA.has(A)) {
|
|
1735
|
-
const
|
|
1736
|
-
if (
|
|
1737
|
-
return
|
|
1735
|
+
const r = HA.get(A);
|
|
1736
|
+
if (r.key === a)
|
|
1737
|
+
return r.promise;
|
|
1738
1738
|
if (A.byteLength === 0)
|
|
1739
1739
|
throw new Error(
|
|
1740
1740
|
"THREE.DRACOLoader: Unable to re-decode a buffer with different settings. Buffer has already been transferred."
|
|
1741
1741
|
);
|
|
1742
1742
|
}
|
|
1743
1743
|
let t;
|
|
1744
|
-
const s = this.workerNextTaskID++, i = A.byteLength,
|
|
1744
|
+
const s = this.workerNextTaskID++, i = A.byteLength, o = this._getWorker(s, i).then((r) => (t = r, new Promise((c, I) => {
|
|
1745
1745
|
t._callbacks[s] = { resolve: c, reject: I }, t.postMessage({ type: "decode", id: s, taskConfig: e, buffer: A }, [A]);
|
|
1746
|
-
}))).then((
|
|
1747
|
-
return
|
|
1746
|
+
}))).then((r) => this._createGeometry(r.geometry));
|
|
1747
|
+
return o.catch(() => !0).then(() => {
|
|
1748
1748
|
t && s && this._releaseTask(t, s);
|
|
1749
1749
|
}), HA.set(A, {
|
|
1750
1750
|
key: a,
|
|
1751
|
-
promise:
|
|
1752
|
-
}),
|
|
1751
|
+
promise: o
|
|
1752
|
+
}), o;
|
|
1753
1753
|
}
|
|
1754
1754
|
_createGeometry(A) {
|
|
1755
1755
|
const e = new ne();
|
|
1756
|
-
A.index && e.setIndex(new
|
|
1756
|
+
A.index && e.setIndex(new X(A.index.array, 1));
|
|
1757
1757
|
for (let a = 0; a < A.attributes.length; a++) {
|
|
1758
|
-
const t = A.attributes[a], s = t.name, i = t.array,
|
|
1759
|
-
s === "color" && (this._assignVertexColorSpace(
|
|
1758
|
+
const t = A.attributes[a], s = t.name, i = t.array, o = t.itemSize, r = new X(i, o);
|
|
1759
|
+
s === "color" && (this._assignVertexColorSpace(r, t.vertexColorSpace), r.normalized = !(i instanceof Float32Array)), e.setAttribute(s, r);
|
|
1760
1760
|
}
|
|
1761
1761
|
return e;
|
|
1762
1762
|
}
|
|
1763
1763
|
_assignVertexColorSpace(A, e) {
|
|
1764
|
-
if (e !==
|
|
1764
|
+
if (e !== AA) return;
|
|
1765
1765
|
const a = new rA();
|
|
1766
1766
|
for (let t = 0, s = A.count; t < s; t++)
|
|
1767
1767
|
a.fromBufferAttribute(A, t).convertSRGBToLinear(), A.setXYZ(t, a.r, a.g, a.b);
|
|
@@ -1832,24 +1832,24 @@ class za extends TA {
|
|
|
1832
1832
|
function Xa() {
|
|
1833
1833
|
let n, A;
|
|
1834
1834
|
onmessage = function(i) {
|
|
1835
|
-
const
|
|
1836
|
-
switch (
|
|
1835
|
+
const o = i.data;
|
|
1836
|
+
switch (o.type) {
|
|
1837
1837
|
case "init":
|
|
1838
|
-
n =
|
|
1838
|
+
n = o.decoderConfig, A = new Promise(function(I) {
|
|
1839
1839
|
n.onModuleLoaded = function(g) {
|
|
1840
1840
|
I({ draco: g });
|
|
1841
1841
|
}, DracoDecoderModule(n);
|
|
1842
1842
|
});
|
|
1843
1843
|
break;
|
|
1844
1844
|
case "decode":
|
|
1845
|
-
const
|
|
1845
|
+
const r = o.buffer, c = o.taskConfig;
|
|
1846
1846
|
A.then((I) => {
|
|
1847
1847
|
const g = I.draco, B = new g.Decoder();
|
|
1848
1848
|
try {
|
|
1849
|
-
const C = e(g, B, new Int8Array(
|
|
1850
|
-
C.index && f.push(C.index.array.buffer), self.postMessage({ type: "decode", id:
|
|
1849
|
+
const C = e(g, B, new Int8Array(r), c), f = C.attributes.map((d) => d.array.buffer);
|
|
1850
|
+
C.index && f.push(C.index.array.buffer), self.postMessage({ type: "decode", id: o.id, geometry: C }, f);
|
|
1851
1851
|
} catch (C) {
|
|
1852
|
-
console.error(C), self.postMessage({ type: "error", id:
|
|
1852
|
+
console.error(C), self.postMessage({ type: "error", id: o.id, error: C.message });
|
|
1853
1853
|
} finally {
|
|
1854
1854
|
g.destroy(B);
|
|
1855
1855
|
}
|
|
@@ -1857,14 +1857,14 @@ function Xa() {
|
|
|
1857
1857
|
break;
|
|
1858
1858
|
}
|
|
1859
1859
|
};
|
|
1860
|
-
function e(i,
|
|
1860
|
+
function e(i, o, r, c) {
|
|
1861
1861
|
const I = c.attributeIDs, g = c.attributeTypes;
|
|
1862
1862
|
let B, C;
|
|
1863
|
-
const f =
|
|
1863
|
+
const f = o.GetEncodedGeometryType(r);
|
|
1864
1864
|
if (f === i.TRIANGULAR_MESH)
|
|
1865
|
-
B = new i.Mesh(), C =
|
|
1865
|
+
B = new i.Mesh(), C = o.DecodeArrayToMesh(r, r.byteLength, B);
|
|
1866
1866
|
else if (f === i.POINT_CLOUD)
|
|
1867
|
-
B = new i.PointCloud(), C =
|
|
1867
|
+
B = new i.PointCloud(), C = o.DecodeArrayToPointCloud(r, r.byteLength, B);
|
|
1868
1868
|
else
|
|
1869
1869
|
throw new Error("THREE.DRACOLoader: Unexpected geometry type.");
|
|
1870
1870
|
if (!C.ok() || B.ptr === 0)
|
|
@@ -1874,25 +1874,25 @@ function Xa() {
|
|
|
1874
1874
|
const E = self[g[p]];
|
|
1875
1875
|
let l, h;
|
|
1876
1876
|
if (c.useUniqueIDs)
|
|
1877
|
-
h = I[p], l =
|
|
1877
|
+
h = I[p], l = o.GetAttributeByUniqueId(B, h);
|
|
1878
1878
|
else {
|
|
1879
|
-
if (h =
|
|
1880
|
-
l =
|
|
1879
|
+
if (h = o.GetAttributeId(B, i[I[p]]), h === -1) continue;
|
|
1880
|
+
l = o.GetAttribute(B, h);
|
|
1881
1881
|
}
|
|
1882
|
-
const u = t(i,
|
|
1882
|
+
const u = t(i, o, B, p, E, l);
|
|
1883
1883
|
p === "color" && (u.vertexColorSpace = c.vertexColorSpace), d.attributes.push(u);
|
|
1884
1884
|
}
|
|
1885
|
-
return f === i.TRIANGULAR_MESH && (d.index = a(i,
|
|
1885
|
+
return f === i.TRIANGULAR_MESH && (d.index = a(i, o, B)), i.destroy(B), d;
|
|
1886
1886
|
}
|
|
1887
|
-
function a(i,
|
|
1888
|
-
const I =
|
|
1889
|
-
|
|
1887
|
+
function a(i, o, r) {
|
|
1888
|
+
const I = r.num_faces() * 3, g = I * 4, B = i._malloc(g);
|
|
1889
|
+
o.GetTrianglesUInt32Array(r, g, B);
|
|
1890
1890
|
const C = new Uint32Array(i.HEAPF32.buffer, B, I).slice();
|
|
1891
1891
|
return i._free(B), { array: C, itemSize: 1 };
|
|
1892
1892
|
}
|
|
1893
|
-
function t(i,
|
|
1894
|
-
const B = g.num_components(), f =
|
|
1895
|
-
|
|
1893
|
+
function t(i, o, r, c, I, g) {
|
|
1894
|
+
const B = g.num_components(), f = r.num_points() * B, d = f * I.BYTES_PER_ELEMENT, p = s(i, I), E = i._malloc(d);
|
|
1895
|
+
o.GetAttributeDataArrayForAllPoints(r, g, p, d, E);
|
|
1896
1896
|
const l = new I(i.HEAPF32.buffer, E, f).slice();
|
|
1897
1897
|
return i._free(E), {
|
|
1898
1898
|
name: c,
|
|
@@ -1900,8 +1900,8 @@ function Xa() {
|
|
|
1900
1900
|
itemSize: B
|
|
1901
1901
|
};
|
|
1902
1902
|
}
|
|
1903
|
-
function s(i,
|
|
1904
|
-
switch (
|
|
1903
|
+
function s(i, o) {
|
|
1904
|
+
switch (o) {
|
|
1905
1905
|
case Float32Array:
|
|
1906
1906
|
return i.DT_FLOAT32;
|
|
1907
1907
|
case Int8Array:
|
|
@@ -2009,15 +2009,15 @@ function ns(n) {
|
|
|
2009
2009
|
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();
|
|
2010
2010
|
const s = t._nextUint32();
|
|
2011
2011
|
e.supercompressionScheme = t._nextUint32();
|
|
2012
|
-
const i = t._nextUint32(),
|
|
2012
|
+
const i = t._nextUint32(), o = t._nextUint32(), r = t._nextUint32(), c = t._nextUint32(), I = t._nextUint64(), g = t._nextUint64(), B = new dA(n, U.length + a, 3 * s * 8, !0);
|
|
2013
2013
|
for (let T = 0; T < s; T++) e.levels.push({ levelData: new Uint8Array(n.buffer, n.byteOffset + B._nextUint64(), B._nextUint64()), uncompressedByteLength: B._nextUint64() });
|
|
2014
|
-
const C = new dA(n, i,
|
|
2014
|
+
const C = new dA(n, i, o, !0), f = { vendorId: C._skip(4)._nextUint16(), descriptorType: C._nextUint16(), versionNumber: C._nextUint16(), descriptorBlockSize: C._nextUint16(), colorModel: C._nextUint8(), colorPrimaries: C._nextUint8(), transferFunction: C._nextUint8(), flags: C._nextUint8(), texelBlockDimension: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], bytesPlane: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], samples: [] }, d = (f.descriptorBlockSize / 4 - 6) / 4;
|
|
2015
2015
|
for (let T = 0; T < d; T++) {
|
|
2016
2016
|
const N = { bitOffset: C._nextUint16(), bitLength: C._nextUint8(), channelType: C._nextUint8(), samplePosition: [C._nextUint8(), C._nextUint8(), C._nextUint8(), C._nextUint8()], sampleLower: -1 / 0, sampleUpper: 1 / 0 };
|
|
2017
2017
|
64 & N.channelType ? (N.sampleLower = C._nextInt32(), N.sampleUpper = C._nextInt32()) : (N.sampleLower = C._nextUint32(), N.sampleUpper = C._nextUint32()), f.samples[T] = N;
|
|
2018
2018
|
}
|
|
2019
2019
|
e.dataFormatDescriptor.length = 0, e.dataFormatDescriptor.push(f);
|
|
2020
|
-
const p = new dA(n,
|
|
2020
|
+
const p = new dA(n, r, c, !0);
|
|
2021
2021
|
for (; p._offset < c; ) {
|
|
2022
2022
|
const T = p._nextUint32(), N = p._scan(T), _ = Se(N), J = p._scan(T - N.byteLength);
|
|
2023
2023
|
e.keyValue[_] = _.match(/^ktx/i) ? Se(J) : J, p._offset % 4 && p._skip(4 - p._offset % 4);
|
|
@@ -2028,28 +2028,28 @@ function ns(n) {
|
|
|
2028
2028
|
const b = I + E._offset, Q = b + u, m = Q + k, D = m + R, w = new Uint8Array(n.buffer, n.byteOffset + b, u), S = new Uint8Array(n.buffer, n.byteOffset + Q, k), F = new Uint8Array(n.buffer, n.byteOffset + m, R), x = new Uint8Array(n.buffer, n.byteOffset + D, G);
|
|
2029
2029
|
return e.globalData = { endpointCount: l, selectorCount: h, imageDescs: M, endpointsData: w, selectorsData: S, tablesData: F, extendedData: x }, e;
|
|
2030
2030
|
}
|
|
2031
|
-
let OA,
|
|
2031
|
+
let OA, eA, Ae;
|
|
2032
2032
|
const vA = { env: { emscripten_notify_memory_growth: function(n) {
|
|
2033
|
-
Ae = new Uint8Array(
|
|
2033
|
+
Ae = new Uint8Array(eA.exports.memory.buffer);
|
|
2034
2034
|
} } };
|
|
2035
2035
|
class os {
|
|
2036
2036
|
init() {
|
|
2037
2037
|
return OA || (OA = typeof fetch < "u" ? fetch("data:application/wasm;base64," + ye).then((A) => A.arrayBuffer()).then((A) => WebAssembly.instantiate(A, vA)).then(this._init) : WebAssembly.instantiate(Buffer.from(ye, "base64"), vA).then(this._init), OA);
|
|
2038
2038
|
}
|
|
2039
2039
|
_init(A) {
|
|
2040
|
-
|
|
2040
|
+
eA = A.instance, vA.env.emscripten_notify_memory_growth(0);
|
|
2041
2041
|
}
|
|
2042
2042
|
decode(A, e = 0) {
|
|
2043
|
-
if (!
|
|
2044
|
-
const a = A.byteLength, t =
|
|
2045
|
-
Ae.set(A, t), e = e || Number(
|
|
2046
|
-
const s =
|
|
2047
|
-
return
|
|
2043
|
+
if (!eA) throw new Error("ZSTDDecoder: Await .init() before decoding.");
|
|
2044
|
+
const a = A.byteLength, t = eA.exports.malloc(a);
|
|
2045
|
+
Ae.set(A, t), e = e || Number(eA.exports.ZSTD_findDecompressedSize(t, a));
|
|
2046
|
+
const s = eA.exports.malloc(e), i = eA.exports.ZSTD_decompress(s, e, t, a), o = Ae.slice(s, s + i);
|
|
2047
|
+
return eA.exports.free(t), eA.exports.free(s), o;
|
|
2048
2048
|
}
|
|
2049
2049
|
}
|
|
2050
2050
|
const ye = "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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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", JA = /* @__PURE__ */ new WeakMap();
|
|
2051
2051
|
let jA = 0, KA;
|
|
2052
|
-
class
|
|
2052
|
+
class $ extends TA {
|
|
2053
2053
|
constructor(A) {
|
|
2054
2054
|
super(A), this.transcoderPath = "", this.transcoderBinary = null, this.transcoderPending = null, this.workerPool = new Za(), this.workerSourceURL = "", this.workerConfig = null, typeof MSC_TRANSCODER < "u" && console.warn(
|
|
2055
2055
|
'THREE.KTX2Loader: Please update to latest "basis_transcoder". "msc_basis_transcoder" is no longer supported in three.js r125+.'
|
|
@@ -2096,18 +2096,18 @@ class Z extends TA {
|
|
|
2096
2096
|
a.setPath(this.transcoderPath), a.setResponseType("arraybuffer"), a.setWithCredentials(this.withCredentials);
|
|
2097
2097
|
const t = a.loadAsync("basis_transcoder.wasm");
|
|
2098
2098
|
this.transcoderPending = Promise.all([e, t]).then(([s, i]) => {
|
|
2099
|
-
const
|
|
2099
|
+
const o = $.BasisWorker.toString(), r = [
|
|
2100
2100
|
"/* constants */",
|
|
2101
|
-
"let _EngineFormat = " + JSON.stringify(
|
|
2102
|
-
"let _TranscoderFormat = " + JSON.stringify(
|
|
2103
|
-
"let _BasisFormat = " + JSON.stringify(
|
|
2101
|
+
"let _EngineFormat = " + JSON.stringify($.EngineFormat),
|
|
2102
|
+
"let _TranscoderFormat = " + JSON.stringify($.TranscoderFormat),
|
|
2103
|
+
"let _BasisFormat = " + JSON.stringify($.BasisFormat),
|
|
2104
2104
|
"/* basis_transcoder.js */",
|
|
2105
2105
|
s,
|
|
2106
2106
|
"/* worker */",
|
|
2107
|
-
|
|
2107
|
+
o.substring(o.indexOf("{") + 1, o.lastIndexOf("}"))
|
|
2108
2108
|
].join(`
|
|
2109
2109
|
`);
|
|
2110
|
-
this.workerSourceURL = URL.createObjectURL(new Blob([
|
|
2110
|
+
this.workerSourceURL = URL.createObjectURL(new Blob([r])), this.transcoderBinary = i, this.workerPool.setWorkerCreator(() => {
|
|
2111
2111
|
const c = new Worker(this.workerSourceURL), I = this.transcoderBinary.slice(0);
|
|
2112
2112
|
return c.postMessage({ type: "init", config: this.workerConfig, transcoderBinary: I }, [I]), c;
|
|
2113
2113
|
});
|
|
@@ -2133,8 +2133,8 @@ class Z extends TA {
|
|
|
2133
2133
|
this._createTexture(A).then((t) => e ? e(t) : null).catch(a);
|
|
2134
2134
|
}
|
|
2135
2135
|
_createTextureFrom(A, e) {
|
|
2136
|
-
const { faces: a, width: t, height: s, format: i, type:
|
|
2137
|
-
if (
|
|
2136
|
+
const { faces: a, width: t, height: s, format: i, type: o, error: r, dfdFlags: c } = A;
|
|
2137
|
+
if (o === "error") return Promise.reject(r);
|
|
2138
2138
|
let I;
|
|
2139
2139
|
if (e.faceCount === 6)
|
|
2140
2140
|
I = new Xt(a, i, K);
|
|
@@ -2160,11 +2160,11 @@ class Z extends TA {
|
|
|
2160
2160
|
return this.workerPool.dispose(), this.workerSourceURL && URL.revokeObjectURL(this.workerSourceURL), jA--, this;
|
|
2161
2161
|
}
|
|
2162
2162
|
}
|
|
2163
|
-
|
|
2163
|
+
$.BasisFormat = {
|
|
2164
2164
|
ETC1S: 0,
|
|
2165
2165
|
UASTC_4x4: 1
|
|
2166
2166
|
};
|
|
2167
|
-
|
|
2167
|
+
$.TranscoderFormat = {
|
|
2168
2168
|
ETC1: 0,
|
|
2169
2169
|
ETC2: 1,
|
|
2170
2170
|
BC1: 2,
|
|
@@ -2183,7 +2183,7 @@ Z.TranscoderFormat = {
|
|
|
2183
2183
|
BGR565: 15,
|
|
2184
2184
|
RGBA4444: 16
|
|
2185
2185
|
};
|
|
2186
|
-
|
|
2186
|
+
$.EngineFormat = {
|
|
2187
2187
|
RGBAFormat: bA,
|
|
2188
2188
|
RGBA_ASTC_4x4_Format: $t,
|
|
2189
2189
|
RGBA_BPTC_Format: Aa,
|
|
@@ -2195,7 +2195,7 @@ Z.EngineFormat = {
|
|
|
2195
2195
|
RGB_PVRTC_4BPPV1_Format: na,
|
|
2196
2196
|
RGBA_S3TC_DXT1_Format: oa
|
|
2197
2197
|
};
|
|
2198
|
-
|
|
2198
|
+
$.BasisWorker = function() {
|
|
2199
2199
|
let n, A, e;
|
|
2200
2200
|
const a = _EngineFormat, t = _TranscoderFormat, s = _BasisFormat;
|
|
2201
2201
|
self.addEventListener("message", function(f) {
|
|
@@ -2207,7 +2207,7 @@ Z.BasisWorker = function() {
|
|
|
2207
2207
|
case "transcode":
|
|
2208
2208
|
A.then(() => {
|
|
2209
2209
|
try {
|
|
2210
|
-
const { faces: p, buffers: E, width: l, height: h, hasAlpha: u, format: k, dfdFlags: R } =
|
|
2210
|
+
const { faces: p, buffers: E, width: l, height: h, hasAlpha: u, format: k, dfdFlags: R } = o(d.buffer);
|
|
2211
2211
|
self.postMessage({ type: "transcode", id: d.id, faces: p, width: l, height: h, hasAlpha: u, format: k, dfdFlags: R }, E);
|
|
2212
2212
|
} catch (p) {
|
|
2213
2213
|
console.error(p), self.postMessage({ type: "error", id: d.id, error: p.message });
|
|
@@ -2223,7 +2223,7 @@ Z.BasisWorker = function() {
|
|
|
2223
2223
|
e.initializeBasis(), e.KTX2File === void 0 && console.warn("THREE.KTX2Loader: Please update Basis Universal transcoder.");
|
|
2224
2224
|
});
|
|
2225
2225
|
}
|
|
2226
|
-
function
|
|
2226
|
+
function o(f) {
|
|
2227
2227
|
const d = new e.KTX2File(new Uint8Array(f));
|
|
2228
2228
|
function p() {
|
|
2229
2229
|
d.close(), d.delete();
|
|
@@ -2256,7 +2256,7 @@ Z.BasisWorker = function() {
|
|
|
2256
2256
|
}
|
|
2257
2257
|
return p(), { faces: m, buffers: D, width: l, height: h, hasAlpha: G, format: Q, dfdFlags: M };
|
|
2258
2258
|
}
|
|
2259
|
-
const
|
|
2259
|
+
const r = [
|
|
2260
2260
|
{
|
|
2261
2261
|
if: "astcSupported",
|
|
2262
2262
|
basisFormat: [s.UASTC_4x4],
|
|
@@ -2311,9 +2311,9 @@ Z.BasisWorker = function() {
|
|
|
2311
2311
|
priorityUASTC: 6,
|
|
2312
2312
|
needsPowerOfTwo: !0
|
|
2313
2313
|
}
|
|
2314
|
-
], c =
|
|
2314
|
+
], c = r.sort(function(f, d) {
|
|
2315
2315
|
return f.priorityETC1S - d.priorityETC1S;
|
|
2316
|
-
}), I =
|
|
2316
|
+
}), I = r.sort(function(f, d) {
|
|
2317
2317
|
return f.priorityUASTC - d.priorityUASTC;
|
|
2318
2318
|
});
|
|
2319
2319
|
function g(f, d, p, E) {
|
|
@@ -2387,7 +2387,7 @@ async function cs(n) {
|
|
|
2387
2387
|
})), e = await KA);
|
|
2388
2388
|
const a = [];
|
|
2389
2389
|
for (let s = 0; s < n.levels.length; s++) {
|
|
2390
|
-
const i = Math.max(1, n.pixelWidth >> s),
|
|
2390
|
+
const i = Math.max(1, n.pixelWidth >> s), o = Math.max(1, n.pixelHeight >> s), r = n.pixelDepth ? Math.max(1, n.pixelDepth >> s) : 0, c = n.levels[s];
|
|
2391
2391
|
let I;
|
|
2392
2392
|
if (n.supercompressionScheme === $a)
|
|
2393
2393
|
I = c.levelData;
|
|
@@ -2407,8 +2407,8 @@ async function cs(n) {
|
|
|
2407
2407
|
) : g = I, a.push({
|
|
2408
2408
|
data: g,
|
|
2409
2409
|
width: i,
|
|
2410
|
-
height:
|
|
2411
|
-
depth:
|
|
2410
|
+
height: o,
|
|
2411
|
+
depth: r
|
|
2412
2412
|
});
|
|
2413
2413
|
}
|
|
2414
2414
|
let t;
|
|
@@ -2422,7 +2422,7 @@ async function cs(n) {
|
|
|
2422
2422
|
}
|
|
2423
2423
|
function at(n) {
|
|
2424
2424
|
const A = n.dataFormatDescriptor[0];
|
|
2425
|
-
return A.colorPrimaries === ts ? A.transferFunction === Re ?
|
|
2425
|
+
return A.colorPrimaries === ts ? A.transferFunction === Re ? AA : Y : A.colorPrimaries === as ? A.transferFunction === Re ? ga : Ia : A.colorPrimaries === es ? oA : (console.warn(`THREE.KTX2Loader: Unsupported color primaries, "${A.colorPrimaries}"`), oA);
|
|
2426
2426
|
}
|
|
2427
2427
|
var gs = function() {
|
|
2428
2428
|
var n = "b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq:P8Yqdbk;3sezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhDcbhqinaqae9pmeaDaeaq9RaqaDfae6Egkcsfgocl4cifcd4hxdndndndnaoc9WGgmTmbcbhPcehsawcjdfhzalhHinaraH9Rax6midnaraHaxfgl9RcK6mbczhoinawcj;cbfaogifgoc9WfhOdndndndndnaHaic9WfgAco4fRbbaAci4coG4ciGPlbedibkaO9cb83ibaOcwf9cb83ibxikaOalRblalRbbgAco4gCaCciSgCE86bbaocGfalclfaCfgORbbaAcl4ciGgCaCciSgCE86bbaocVfaOaCfgORbbaAcd4ciGgCaCciSgCE86bbaoc7faOaCfgORbbaAciGgAaAciSgAE86bbaoctfaOaAfgARbbalRbegOco4gCaCciSgCE86bbaoc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc93faAaCfgARbbaOciGgOaOciSgOE86bbaoc94faAaOfgARbbalRbdgOco4gCaCciSgCE86bbaoc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbaoc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbaoc97faAaCfgARbbaOciGgOaOciSgOE86bbaoc98faAaOfgORbbalRbiglco4gAaAciSgAE86bbaoc99faOaAfgORbbalcl4ciGgAaAciSgAE86bbaoc9:faOaAfgORbbalcd4ciGgAaAciSgAE86bbaocufaOaAfgoRbbalciGglalciSglE86bbaoalfhlxdkaOalRbwalRbbgAcl4gCaCcsSgCE86bbaocGfalcwfaCfgORbbaAcsGgAaAcsSgAE86bbaocVfaOaAfgORbbalRbegAcl4gCaCcsSgCE86bbaoc7faOaCfgORbbaAcsGgAaAcsSgAE86bbaoctfaOaAfgORbbalRbdgAcl4gCaCcsSgCE86bbaoc91faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc4faOaAfgORbbalRbigAcl4gCaCcsSgCE86bbaoc93faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc94faOaAfgORbbalRblgAcl4gCaCcsSgCE86bbaoc95faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc96faOaAfgORbbalRbvgAcl4gCaCcsSgCE86bbaoc97faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc98faOaAfgORbbalRbogAcl4gCaCcsSgCE86bbaoc99faOaCfgORbbaAcsGgAaAcsSgAE86bbaoc9:faOaAfgORbbalRbrglcl4gAaAcsSgAE86bbaocufaOaAfgoRbbalcsGglalcsSglE86bbaoalfhlxekaOal8Pbb83bbaOcwfalcwf8Pbb83bbalczfhlkdnaiam9pmbaiczfhoaral9RcL0mekkaiam6mialTmidnakTmbawaPfRbbhOcbhoazhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkkazcefhzaPcefgPad6hsalhHaPad9hmexvkkcbhlasceGmdxikalaxad2fhCdnakTmbcbhHcehsawcjdfhminaral9Rax6mialTmdalaxfhlawaHfRbbhOcbhoamhiinaiawcj;cbfaofRbbgAce4cbaAceG9R7aOfgO86bbaiadfhiaocefgoak9hmbkamcefhmaHcefgHad6hsaHad9hmbkaChlxikcbhocehsinaral9Rax6mdalTmealaxfhlaocefgoad6hsadao9hmbkaChlxdkcbhlasceGTmekc9:hoxikabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqalmbkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;ebf8Kjjjjbaok;yzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;siliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabavcefciGaiVcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:Ohkxekcjjjj94hkkabavcdfciGaiVcetfak87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:Ohqxekcjjjj94hqkabavcufciGaiVcetfaq87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohqxekcjjjj94hqkabavciGaiVcetfaq87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2geTmbinababydbgdcwtcw91:Yadce91cjjj;8ifcjjj98G::NUdbabclfhbaecufgembkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaiczfhiaeczfheadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb", A = "b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq;t9tqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk;h8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhoaicefhldnadTmbaoc;WFbGgocjdaocjd6EhwcbhDinaDae9pmeawaeaD9RaDawfae6Egqcsfgoc9WGgkci2hxakcethmaocl4cifcd4hPabaDad2fhscbhzdnincehHalhOcbhAdninaraO9RaP6miavcj;cbfaAak2fhCaOaPfhlcbhidnakc;ab6mbaral9Rc;Gb6mbcbhoinaCaofhidndndndndnaOaoco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklbalczfhlkdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklzalczfhlkdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaialpbbbpklaalczfhlkdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaialpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalclfaYpQbfaXc:q:yjjbfRbbfhlxdkaialpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WalcwfaYpQbfaXc:q:yjjbfRbbfhlxekaialpbbbpkl8Walczfhlkaoc;abfhiaocjefak0meaihoaral9Rc;Fb0mbkkdndnaiak9pmbaici4hoinaral9RcK6mdaCaifhXdndndndndnaOaico4fRbbaocoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpklbxikaXalpbblalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalclfaYpQbfaKc:q:yjjbfRbbfhlxdkaXalpbbwalpbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbalcwfaYpQbfaKc:q:yjjbfRbbfhlxekaXalpbbbpklbalczfhlkaocdfhoaiczfgiak6mbkkalTmbaAci6hHalhOaAcefgohAaoclSmdxekkcbhlaHceGmdkdnakTmbavcjdfazfhiavazfpbdbhYcbhXinaiavcj;cbfaXfgopblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLaoakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEaoamfpblbg3cep9Ta3aQp9op9Hp9rg3aoaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfgoaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaoadfgoaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaoadfgoaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaoadfgoaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaoadfhiaXczfgXak6mbkkazclfgzad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfhDc9:hoalmexikkc9:hoxekcbc99aral9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk;uzeHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgDce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhqaicefgwarfhodnaeTmbcmcsaDceSEhkcbhxcbhmcbhDcbhicbhlindnaoaq9nmbc9:hoxikdndnawRbbgrc;Ve0mbavc;abfalarcl4cu7fcsGcitfgPydlhsaPydbhzdnarcsGgPak9pmbavaiarcu7fcsGcdtfydbaxaPEhraPThPdndnadcd9hmbabaDcetfgHaz87ebaHcdfas87ebaHclfar87ebxekabaDcdtfgHazBdbaHclfasBdbaHcwfarBdbkaxaPfhxavc;abfalcitfgHarBdbaHasBdlavaicdtfarBdbavc;abfalcefcsGglcitfgHazBdbaHarBdlaiaPfhialcefhlxdkdndnaPcsSmbamaPfaPc987fcefhmxekaocefhrao8SbbgPcFeGhHdndnaPcu9mmbarhoxekaocvfhoaHcFbGhHcrhPdninar8SbbgOcFbGaPtaHVhHaOcu9kmearcefhraPcrfgPc8J9hmbxdkkarcefhokaHce4cbaHceG9R7amfhmkdndnadcd9hmbabaDcetfgraz87ebarcdfas87ebarclfam87ebxekabaDcdtfgrazBdbarclfasBdbarcwfamBdbkavc;abfalcitfgramBdbarasBdlavaicdtfamBdbavc;abfalcefcsGglcitfgrazBdbaramBdlaicefhialcefhlxekdnarcpe0mbaxcefgOavaiaqarcsGfRbbgPcl49RcsGcdtfydbaPcz6gHEhravaiaP9RcsGcdtfydbaOaHfgsaPcsGgOEhPaOThOdndnadcd9hmbabaDcetfgzax87ebazcdfar87ebazclfaP87ebxekabaDcdtfgzaxBdbazclfarBdbazcwfaPBdbkavaicdtfaxBdbavc;abfalcitfgzarBdbazaxBdlavaicefgicsGcdtfarBdbavc;abfalcefcsGcitfgzaPBdbazarBdlavaiaHfcsGgicdtfaPBdbavc;abfalcdfcsGglcitfgraxBdbaraPBdlalcefhlaiaOfhiasaOfhxxekaxcbaoRbbgzEgAarc;:eSgrfhsazcsGhCazcl4hXdndnazcs0mbascefhOxekashOavaiaX9RcsGcdtfydbhskdndnaCmbaOcefhxxekaOhxavaiaz9RcsGcdtfydbhOkdndnarTmbaocefhrxekaocdfhrao8SbegHcFeGhPdnaHcu9kmbaocofhAaPcFbGhPcrhodninar8SbbgHcFbGaotaPVhPaHcu9kmearcefhraocrfgoc8J9hmbkaAhrxekarcefhrkaPce4cbaPceG9R7amfgmhAkdndnaXcsSmbarhPxekarcefhPar8SbbgocFeGhHdnaocu9kmbarcvfhsaHcFbGhHcrhodninaP8SbbgrcFbGaotaHVhHarcu9kmeaPcefhPaocrfgoc8J9hmbkashPxekaPcefhPkaHce4cbaHceG9R7amfgmhskdndnaCcsSmbaPhoxekaPcefhoaP8SbbgrcFeGhHdnarcu9kmbaPcvfhOaHcFbGhHcrhrdninao8SbbgPcFbGartaHVhHaPcu9kmeaocefhoarcrfgrc8J9hmbkaOhoxekaocefhokaHce4cbaHceG9R7amfgmhOkdndnadcd9hmbabaDcetfgraA87ebarcdfas87ebarclfaO87ebxekabaDcdtfgraABdbarclfasBdbarcwfaOBdbkavc;abfalcitfgrasBdbaraABdlavaicdtfaABdbavc;abfalcefcsGcitfgraOBdbarasBdlavaicefgicsGcdtfasBdbavc;abfalcdfcsGcitfgraABdbaraOBdlavaiazcz6aXcsSVfgicsGcdtfaOBdbaiaCTaCcsSVfhialcifhlkawcefhwalcsGhlaicsGhiaDcifgDae6mbkkcbc99aoaqSEhokavc;aef8Kjjjjbaok:llevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaicd4cbaice4ceG9R7avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:EPliuo97eue978Jjjjjbca9Rhidndnadcl9hmbdnaec98GglTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalae9pmeaiaeciGgvcdtgdVcbczad9R;8kbaiabalcdtfglad;8qbbdnavTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkalaiad;8qbbskdnaec98GgxTmbcbhvabhdinadczfglalpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oawaopmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgvax6mbkkaxae9pmbaiaeciGgvcitgdfcbcaad9R;8kbaiabaxcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eaDaopmbediwDqkzHOAKY8AEgoczp:Sep;6egrp;Geaoczp:Reczp:Sep;6egwp;Gep;Kep;Legopxb;:FSb;:FSb;:FSb;:FSawaopxbbbbbbbbbbbbbbbbp:2egqawpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegwawp;Meaoaop;Mearaqaramp9op9rp;Kegoaop;Mep;Kep;Kep;Jep;Negrp;Mepxbbn0bbn0bbn0bbn0gqp;Keczp:Reawarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9op9qgwaoarp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogopmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oawaopmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalae9pmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaqakp;Mearp;Keczp:ReaDakp;Mearp;Keamp9op9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbhdabheinaeaepbbbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepkbbaeczfheadclfgdav6mbkkdnaval9pmbaialciGgdcdtgeVcbc;abae9R;8kbaiabavcdtfgvae;8qbbdnadTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjZbbjZbbjZbbjZp:UepxbbjFbbjFbbjFbbjFp9op;Mepklbkavaiae;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb", e = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 3, 2, 0, 0, 5, 3, 1, 0, 1, 12, 1, 0, 10, 22, 2, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11, 7, 0, 65, 0, 253, 15, 26, 11]), a = new Uint8Array([32, 0, 65, 2, 1, 106, 34, 33, 3, 128, 11, 4, 13, 64, 6, 253, 10, 7, 15, 116, 127, 5, 8, 12, 40, 16, 19, 54, 20, 9, 27, 255, 113, 17, 42, 67, 24, 23, 146, 148, 18, 14, 22, 45, 70, 69, 56, 114, 101, 21, 25, 63, 75, 136, 108, 28, 118, 29, 73, 115]);
|
|
@@ -2430,10 +2430,10 @@ var gs = function() {
|
|
|
2430
2430
|
return {
|
|
2431
2431
|
supported: !1
|
|
2432
2432
|
};
|
|
2433
|
-
var t = WebAssembly.validate(e) ? A : n, s, i = WebAssembly.instantiate(
|
|
2433
|
+
var t = WebAssembly.validate(e) ? A : n, s, i = WebAssembly.instantiate(o(t), {}).then(function(E) {
|
|
2434
2434
|
s = E.instance, s.exports.__wasm_call_ctors();
|
|
2435
2435
|
});
|
|
2436
|
-
function
|
|
2436
|
+
function o(E) {
|
|
2437
2437
|
for (var l = new Uint8Array(E.length), h = 0; h < E.length; ++h) {
|
|
2438
2438
|
var u = E.charCodeAt(h);
|
|
2439
2439
|
l[h] = u > 96 ? u - 97 : u > 64 ? u - 39 : u + 4;
|
|
@@ -2442,7 +2442,7 @@ var gs = function() {
|
|
|
2442
2442
|
l[k++] = l[h] < 60 ? a[l[h]] : (l[h] - 60) * 64 + l[++h];
|
|
2443
2443
|
return l.buffer.slice(0, k);
|
|
2444
2444
|
}
|
|
2445
|
-
function
|
|
2445
|
+
function r(E, l, h, u, k, R) {
|
|
2446
2446
|
var G = s.exports.sbrk, M = h + 3 & -4, b = G(M * u), Q = G(k.length), m = new Uint8Array(s.exports.memory.buffer);
|
|
2447
2447
|
m.set(k, Q);
|
|
2448
2448
|
var D = E(b, h, u, Q, k.length);
|
|
@@ -2471,7 +2471,7 @@ var gs = function() {
|
|
|
2471
2471
|
}, l;
|
|
2472
2472
|
}
|
|
2473
2473
|
function f(E) {
|
|
2474
|
-
for (var l = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(
|
|
2474
|
+
for (var l = "var instance; var ready = WebAssembly.instantiate(new Uint8Array([" + new Uint8Array(o(t)) + "]), {}).then(function(result) { instance = result.instance; instance.exports.__wasm_call_ctors(); });self.onmessage = workerProcess;" + r.toString() + p.toString(), h = new Blob([l], { type: "text/javascript" }), u = URL.createObjectURL(h), k = 0; k < E; ++k)
|
|
2475
2475
|
g[k] = C(u);
|
|
2476
2476
|
URL.revokeObjectURL(u);
|
|
2477
2477
|
}
|
|
@@ -2488,7 +2488,7 @@ var gs = function() {
|
|
|
2488
2488
|
var l = E.data;
|
|
2489
2489
|
try {
|
|
2490
2490
|
var h = new Uint8Array(l.count * l.size);
|
|
2491
|
-
|
|
2491
|
+
r(s.exports[l.mode], h, l.count, l.size, l.source, s.exports[l.filter]), self.postMessage({ id: l.id, count: l.count, action: "resolve", value: h }, [h.buffer]);
|
|
2492
2492
|
} catch (u) {
|
|
2493
2493
|
self.postMessage({ id: l.id, count: l.count, action: "reject", value: u });
|
|
2494
2494
|
}
|
|
@@ -2501,21 +2501,21 @@ var gs = function() {
|
|
|
2501
2501
|
f(E);
|
|
2502
2502
|
},
|
|
2503
2503
|
decodeVertexBuffer: function(E, l, h, u, k) {
|
|
2504
|
-
|
|
2504
|
+
r(s.exports.meshopt_decodeVertexBuffer, E, l, h, u, s.exports[c[k]]);
|
|
2505
2505
|
},
|
|
2506
2506
|
decodeIndexBuffer: function(E, l, h, u) {
|
|
2507
|
-
|
|
2507
|
+
r(s.exports.meshopt_decodeIndexBuffer, E, l, h, u);
|
|
2508
2508
|
},
|
|
2509
2509
|
decodeIndexSequence: function(E, l, h, u) {
|
|
2510
|
-
|
|
2510
|
+
r(s.exports.meshopt_decodeIndexSequence, E, l, h, u);
|
|
2511
2511
|
},
|
|
2512
2512
|
decodeGltfBuffer: function(E, l, h, u, k, R) {
|
|
2513
|
-
|
|
2513
|
+
r(s.exports[I[k]], E, l, h, u, s.exports[c[R]]);
|
|
2514
2514
|
},
|
|
2515
2515
|
decodeGltfBufferAsync: function(E, l, h, u, k) {
|
|
2516
2516
|
return g.length > 0 ? d(E, l, h, I[u], c[k]) : i.then(function() {
|
|
2517
2517
|
var R = new Uint8Array(E * l);
|
|
2518
|
-
return
|
|
2518
|
+
return r(s.exports[I[u]], R, E, l, h, s.exports[c[k]]), R;
|
|
2519
2519
|
});
|
|
2520
2520
|
}
|
|
2521
2521
|
};
|
|
@@ -2523,11 +2523,11 @@ var gs = function() {
|
|
|
2523
2523
|
function oe() {
|
|
2524
2524
|
const n = new za();
|
|
2525
2525
|
n.setDecoderPath("/draco/");
|
|
2526
|
-
const A = new
|
|
2526
|
+
const A = new $();
|
|
2527
2527
|
A.setTranscoderPath("/draco/");
|
|
2528
2528
|
const e = new la().setDRACOLoader(n).setKTX2Loader(A.detectSupport(new Ba())).setMeshoptDecoder(gs);
|
|
2529
2529
|
return e.manager.onError = (a) => {
|
|
2530
|
-
|
|
2530
|
+
V.emit("load-error", `Failed to load file ${a}`);
|
|
2531
2531
|
}, e;
|
|
2532
2532
|
}
|
|
2533
2533
|
/*!
|
|
@@ -2625,18 +2625,18 @@ var wA = function(n, A, e) {
|
|
|
2625
2625
|
var i = new lA(A);
|
|
2626
2626
|
for (t = 1; t < A; ++t)
|
|
2627
2627
|
i[t] = i[t - 1] + s[t - 1] << 1;
|
|
2628
|
-
var
|
|
2628
|
+
var o;
|
|
2629
2629
|
if (e) {
|
|
2630
|
-
|
|
2631
|
-
var
|
|
2630
|
+
o = new lA(1 << A);
|
|
2631
|
+
var r = 15 - A;
|
|
2632
2632
|
for (t = 0; t < a; ++t)
|
|
2633
2633
|
if (n[t])
|
|
2634
2634
|
for (var c = t << 4 | n[t], I = A - n[t], g = i[n[t] - 1]++ << I, B = g | (1 << I) - 1; g <= B; ++g)
|
|
2635
|
-
|
|
2635
|
+
o[ee[g] >> r] = c;
|
|
2636
2636
|
} else
|
|
2637
|
-
for (
|
|
2638
|
-
n[t] && (
|
|
2639
|
-
return
|
|
2637
|
+
for (o = new lA(a), t = 0; t < a; ++t)
|
|
2638
|
+
n[t] && (o[t] = ee[i[n[t] - 1]++] >> 15 - n[t]);
|
|
2639
|
+
return o;
|
|
2640
2640
|
}, DA = new H(288);
|
|
2641
2641
|
for (var L = 0; L < 144; ++L)
|
|
2642
2642
|
DA[L] = 8;
|
|
@@ -2688,7 +2688,7 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
|
|
|
2688
2688
|
var t = n.length, s = a ? a.length : 0;
|
|
2689
2689
|
if (!t || A.f && !A.l)
|
|
2690
2690
|
return e || new H(0);
|
|
2691
|
-
var i = !e,
|
|
2691
|
+
var i = !e, o = i || A.i != 2, r = A.i;
|
|
2692
2692
|
i && (e = new H(t * 3));
|
|
2693
2693
|
var c = function(Be) {
|
|
2694
2694
|
var Ce = e.length;
|
|
@@ -2729,22 +2729,22 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
|
|
|
2729
2729
|
else {
|
|
2730
2730
|
var h = Qs(g) + 4, u = n[h - 4] | n[h - 3] << 8, k = h + u;
|
|
2731
2731
|
if (k > t) {
|
|
2732
|
-
|
|
2732
|
+
r && v(0);
|
|
2733
2733
|
break;
|
|
2734
2734
|
}
|
|
2735
|
-
|
|
2735
|
+
o && c(B + u), e.set(n.subarray(h, k), B), A.b = B += u, A.p = g = k * 8, A.f = I;
|
|
2736
2736
|
continue;
|
|
2737
2737
|
}
|
|
2738
2738
|
if (g > E) {
|
|
2739
|
-
|
|
2739
|
+
r && v(0);
|
|
2740
2740
|
break;
|
|
2741
2741
|
}
|
|
2742
2742
|
}
|
|
2743
|
-
|
|
2743
|
+
o && c(B + 131072);
|
|
2744
2744
|
for (var J = (1 << d) - 1, sA = (1 << p) - 1, IA = g; ; IA = g) {
|
|
2745
2745
|
var x = C[VA(n, g) & J], cA = x >> 4;
|
|
2746
2746
|
if (g += x & 15, g > E) {
|
|
2747
|
-
|
|
2747
|
+
r && v(0);
|
|
2748
2748
|
break;
|
|
2749
2749
|
}
|
|
2750
2750
|
if (x || v(2), cA < 256)
|
|
@@ -2766,10 +2766,10 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
|
|
|
2766
2766
|
_ += VA(n, g) & (1 << EA) - 1, g += EA;
|
|
2767
2767
|
}
|
|
2768
2768
|
if (g > E) {
|
|
2769
|
-
|
|
2769
|
+
r && v(0);
|
|
2770
2770
|
break;
|
|
2771
2771
|
}
|
|
2772
|
-
|
|
2772
|
+
o && c(B + 131072);
|
|
2773
2773
|
var ge = B + ce;
|
|
2774
2774
|
if (B < _) {
|
|
2775
2775
|
var Ie = s - _, It = Math.min(_, ge);
|
|
@@ -2783,7 +2783,7 @@ var fs = /* @__PURE__ */ wA(DA, 9, 1), Es = /* @__PURE__ */ wA(ct, 5, 1), WA = f
|
|
|
2783
2783
|
A.l = C, A.p = IA, A.b = B, A.f = I, C && (I = 1, A.m = d, A.d = f, A.n = p);
|
|
2784
2784
|
} while (!I);
|
|
2785
2785
|
return B != e.length && i ? re(e, 0, B) : e.subarray(0, B);
|
|
2786
|
-
}, ps = /* @__PURE__ */ new H(0),
|
|
2786
|
+
}, ps = /* @__PURE__ */ new H(0), Z = function(n, A) {
|
|
2787
2787
|
return n[A] | n[A + 1] << 8;
|
|
2788
2788
|
}, P = function(n, A) {
|
|
2789
2789
|
return (n[A] | n[A + 1] << 8 | n[A + 2] << 16 | n[A + 3] << 24) >>> 0;
|
|
@@ -2819,27 +2819,27 @@ function ae(n, A) {
|
|
|
2819
2819
|
}
|
|
2820
2820
|
}
|
|
2821
2821
|
var Ds = function(n, A) {
|
|
2822
|
-
return A + 30 +
|
|
2822
|
+
return A + 30 + Z(n, A + 26) + Z(n, A + 28);
|
|
2823
2823
|
}, ks = function(n, A, e) {
|
|
2824
|
-
var a =
|
|
2825
|
-
return [
|
|
2824
|
+
var a = Z(n, A + 28), t = ae(n.subarray(A + 46, A + 46 + a), !(Z(n, A + 8) & 2048)), s = A + 46 + a, i = P(n, A + 20), o = e && i == 4294967295 ? Fs(n, s) : [i, P(n, A + 24), P(n, A + 42)], r = o[0], c = o[1], I = o[2];
|
|
2825
|
+
return [Z(n, A + 10), r, c, t, s + Z(n, A + 30) + Z(n, A + 32), I];
|
|
2826
2826
|
}, Fs = function(n, A) {
|
|
2827
|
-
for (;
|
|
2827
|
+
for (; Z(n, A) != 1; A += 4 + Z(n, A + 2))
|
|
2828
2828
|
;
|
|
2829
2829
|
return [zA(n, A + 12), zA(n, A + 4), zA(n, A + 20)];
|
|
2830
2830
|
};
|
|
2831
2831
|
function Rs(n, A) {
|
|
2832
2832
|
for (var e = {}, a = n.length - 22; P(n, a) != 101010256; --a)
|
|
2833
2833
|
(!a || n.length - a > 65558) && v(13);
|
|
2834
|
-
var t =
|
|
2834
|
+
var t = Z(n, a + 8);
|
|
2835
2835
|
if (!t)
|
|
2836
2836
|
return {};
|
|
2837
2837
|
var s = P(n, a + 16), i = s == 4294967295 || t == 65535;
|
|
2838
2838
|
if (i) {
|
|
2839
|
-
var
|
|
2840
|
-
i = P(n,
|
|
2839
|
+
var o = P(n, a - 12);
|
|
2840
|
+
i = P(n, o) == 101075792, i && (t = P(n, o + 32), s = P(n, o + 48));
|
|
2841
2841
|
}
|
|
2842
|
-
for (var
|
|
2842
|
+
for (var r = 0; r < t; ++r) {
|
|
2843
2843
|
var c = ks(n, s, i), I = c[0], g = c[1], B = c[2], C = c[3], f = c[4], d = c[5], p = Ds(n, d);
|
|
2844
2844
|
s = f, I ? I == 8 ? e[C] = us(n.subarray(p, p + g), { out: new H(B) }) : v(14, "unknown compression type " + I) : e[C] = re(n, p, p + g);
|
|
2845
2845
|
}
|
|
@@ -2851,9 +2851,9 @@ class Ss {
|
|
|
2851
2851
|
`);
|
|
2852
2852
|
let t = null, s = e;
|
|
2853
2853
|
const i = [e];
|
|
2854
|
-
for (const
|
|
2855
|
-
if (
|
|
2856
|
-
const
|
|
2854
|
+
for (const o of a)
|
|
2855
|
+
if (o.includes("=")) {
|
|
2856
|
+
const r = o.split("="), c = r[0].trim(), I = r[1].trim();
|
|
2857
2857
|
if (I.endsWith("{")) {
|
|
2858
2858
|
const g = {};
|
|
2859
2859
|
i.push(g), s[c] = g, s = g;
|
|
@@ -2864,16 +2864,16 @@ class Ss {
|
|
|
2864
2864
|
i.push(B), s = B;
|
|
2865
2865
|
} else
|
|
2866
2866
|
s[c] = I;
|
|
2867
|
-
} else if (
|
|
2868
|
-
const
|
|
2869
|
-
i.push(
|
|
2870
|
-
} else if (
|
|
2867
|
+
} else if (o.endsWith("{")) {
|
|
2868
|
+
const r = s[t] || {};
|
|
2869
|
+
i.push(r), s[t] = r, s = r;
|
|
2870
|
+
} else if (o.endsWith("}")) {
|
|
2871
2871
|
if (i.pop(), i.length === 0) continue;
|
|
2872
2872
|
s = i[i.length - 1];
|
|
2873
|
-
} else if (
|
|
2874
|
-
const
|
|
2875
|
-
i.push(
|
|
2876
|
-
} else
|
|
2873
|
+
} else if (o.endsWith("(")) {
|
|
2874
|
+
const r = {};
|
|
2875
|
+
i.push(r), t = o.split("(")[0].trim() || t, s[t] = r, s = r;
|
|
2876
|
+
} else o.endsWith(")") ? (i.pop(), s = i[i.length - 1]) : t = o.trim();
|
|
2877
2877
|
return e;
|
|
2878
2878
|
}
|
|
2879
2879
|
}
|
|
@@ -2883,11 +2883,11 @@ class ys extends TA {
|
|
|
2883
2883
|
}
|
|
2884
2884
|
load(A, e, a, t) {
|
|
2885
2885
|
const s = this, i = new aA(s.manager);
|
|
2886
|
-
i.setPath(s.path), i.setResponseType("arraybuffer"), i.setRequestHeader(s.requestHeader), i.setWithCredentials(s.withCredentials), i.load(A, function(
|
|
2886
|
+
i.setPath(s.path), i.setResponseType("arraybuffer"), i.setRequestHeader(s.requestHeader), i.setWithCredentials(s.withCredentials), i.load(A, function(o) {
|
|
2887
2887
|
try {
|
|
2888
|
-
e(s.parse(
|
|
2889
|
-
} catch (
|
|
2890
|
-
t ? t(
|
|
2888
|
+
e(s.parse(o));
|
|
2889
|
+
} catch (r) {
|
|
2890
|
+
t ? t(r) : console.error(r), s.manager.itemError(A);
|
|
2891
2891
|
}
|
|
2892
2892
|
}, a, t);
|
|
2893
2893
|
}
|
|
@@ -2929,12 +2929,12 @@ class ys extends TA {
|
|
|
2929
2929
|
if (m)
|
|
2930
2930
|
throw Error("THREE.USDZLoader: Crate files (.usdc or binary .usd) are not supported.");
|
|
2931
2931
|
}
|
|
2932
|
-
const i = Rs(new Uint8Array(A)),
|
|
2932
|
+
const i = Rs(new Uint8Array(A)), o = a(i), r = s(i), c = ae(r), I = e.parse(c);
|
|
2933
2933
|
function g(b) {
|
|
2934
2934
|
if (b) {
|
|
2935
2935
|
if ("prepend references" in b) {
|
|
2936
2936
|
const m = b["prepend references"].split("@"), D = m[1].replace(/^.\//, ""), w = m[2].replace(/^<\//, "").replace(/>$/, "");
|
|
2937
|
-
return B(
|
|
2937
|
+
return B(o[D], w);
|
|
2938
2938
|
}
|
|
2939
2939
|
return B(b);
|
|
2940
2940
|
}
|
|
@@ -2964,22 +2964,22 @@ class ys extends TA {
|
|
|
2964
2964
|
if ("int[] faceVertexIndices" in b && (m = JSON.parse(b["int[] faceVertexIndices"])), "int[] faceVertexCounts" in b && (D = JSON.parse(b["int[] faceVertexCounts"]), m = f(m, D)), "point3f[] points" in b) {
|
|
2965
2965
|
const F = JSON.parse(b["point3f[] points"].replace(/[()]*/g, ""));
|
|
2966
2966
|
S = F.length;
|
|
2967
|
-
let x = new
|
|
2967
|
+
let x = new X(new Float32Array(F), 3);
|
|
2968
2968
|
m !== null && (x = d(x, m)), Q.setAttribute("position", x);
|
|
2969
2969
|
}
|
|
2970
2970
|
if ("float2[] primvars:st" in b && (b["texCoord2f[] primvars:st"] = b["float2[] primvars:st"]), "texCoord2f[] primvars:st" in b) {
|
|
2971
2971
|
w = JSON.parse(b["texCoord2f[] primvars:st"].replace(/[()]*/g, ""));
|
|
2972
|
-
let F = new
|
|
2972
|
+
let F = new X(new Float32Array(w), 2);
|
|
2973
2973
|
m !== null && (F = d(F, m)), Q.setAttribute("uv", F);
|
|
2974
2974
|
}
|
|
2975
2975
|
if ("int[] primvars:st:indices" in b && w !== null) {
|
|
2976
|
-
const F = new
|
|
2976
|
+
const F = new X(new Float32Array(w), 2);
|
|
2977
2977
|
let x = JSON.parse(b["int[] primvars:st:indices"]);
|
|
2978
2978
|
x = f(x, D), Q.setAttribute("uv", d(F, x));
|
|
2979
2979
|
}
|
|
2980
2980
|
if ("normal3f[] normals" in b) {
|
|
2981
2981
|
const F = JSON.parse(b["normal3f[] normals"].replace(/[()]*/g, ""));
|
|
2982
|
-
let x = new
|
|
2982
|
+
let x = new X(new Float32Array(F), 3);
|
|
2983
2983
|
if (F.length === S)
|
|
2984
2984
|
m !== null && (x = d(x, m));
|
|
2985
2985
|
else {
|
|
@@ -3014,7 +3014,7 @@ class ys extends TA {
|
|
|
3014
3014
|
for (let N = 0; N < D; N++)
|
|
3015
3015
|
w[F++] = m[S++];
|
|
3016
3016
|
}
|
|
3017
|
-
return new
|
|
3017
|
+
return new X(w, D);
|
|
3018
3018
|
}
|
|
3019
3019
|
function p(b) {
|
|
3020
3020
|
if (b) {
|
|
@@ -3046,14 +3046,14 @@ class ys extends TA {
|
|
|
3046
3046
|
if (w !== void 0) {
|
|
3047
3047
|
if ("color3f inputs:diffuseColor.connect" in w) {
|
|
3048
3048
|
const S = w["color3f inputs:diffuseColor.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
|
|
3049
|
-
Q.map = k(F), Q.map.colorSpace =
|
|
3049
|
+
Q.map = k(F), Q.map.colorSpace = AA, 'def Shader "Transform2d_diffuse"' in b && l(Q.map, b['def Shader "Transform2d_diffuse"']);
|
|
3050
3050
|
} else if ("color3f inputs:diffuseColor" in w) {
|
|
3051
3051
|
const S = w["color3f inputs:diffuseColor"].replace(/[()]*/g, "");
|
|
3052
3052
|
Q.color.fromArray(JSON.parse("[" + S + "]"));
|
|
3053
3053
|
}
|
|
3054
3054
|
if ("color3f inputs:emissiveColor.connect" in w) {
|
|
3055
3055
|
const S = w["color3f inputs:emissiveColor.connect"], F = u(I, /(\w+).output/.exec(S)[1]);
|
|
3056
|
-
Q.emissiveMap = k(F), Q.emissiveMap.colorSpace =
|
|
3056
|
+
Q.emissiveMap = k(F), Q.emissiveMap.colorSpace = AA, Q.emissive.set(16777215), 'def Shader "Transform2d_emissive"' in b && l(Q.emissiveMap, b['def Shader "Transform2d_emissive"']);
|
|
3057
3057
|
} else if ("color3f inputs:emissiveColor" in w) {
|
|
3058
3058
|
const S = w["color3f inputs:emissiveColor"].replace(/[()]*/g, "");
|
|
3059
3059
|
Q.emissive.fromArray(JSON.parse("[" + S + "]"));
|
|
@@ -3099,7 +3099,7 @@ class ys extends TA {
|
|
|
3099
3099
|
}
|
|
3100
3100
|
function k(b) {
|
|
3101
3101
|
if ("asset inputs:file" in b) {
|
|
3102
|
-
const Q = b["asset inputs:file"].replace(/@*/g, "").trim(), D = new Te().load(
|
|
3102
|
+
const Q = b["asset inputs:file"].replace(/@*/g, "").trim(), D = new Te().load(o[Q]), w = {
|
|
3103
3103
|
'"clamp"': Ue,
|
|
3104
3104
|
'"mirror"': _e,
|
|
3105
3105
|
'"repeat"': xA
|
|
@@ -3132,17 +3132,17 @@ class ys extends TA {
|
|
|
3132
3132
|
function Gs() {
|
|
3133
3133
|
const n = new ys();
|
|
3134
3134
|
return n.manager.onError = (A) => {
|
|
3135
|
-
|
|
3135
|
+
V.emit("load-error", `Failed to load file ${A}`);
|
|
3136
3136
|
}, n;
|
|
3137
3137
|
}
|
|
3138
3138
|
function xs(n) {
|
|
3139
|
-
const A =
|
|
3139
|
+
const A = z(
|
|
3140
3140
|
async (a, t, s) => {
|
|
3141
3141
|
var I, g;
|
|
3142
|
-
const i = new Map(t.map((B) => [B.name, B])),
|
|
3143
|
-
let
|
|
3142
|
+
const i = new Map(t.map((B) => [B.name, B])), o = (((I = a.buffers) == null ? void 0 : I.length) || 0) + (((g = a.images) == null ? void 0 : g.length) || 0);
|
|
3143
|
+
let r = 0;
|
|
3144
3144
|
const c = () => {
|
|
3145
|
-
|
|
3145
|
+
r++, s(r / o * 100);
|
|
3146
3146
|
};
|
|
3147
3147
|
if (a.buffers)
|
|
3148
3148
|
for (let B = 0; B < a.buffers.length; B++) {
|
|
@@ -3176,15 +3176,15 @@ function xs(n) {
|
|
|
3176
3176
|
},
|
|
3177
3177
|
[]
|
|
3178
3178
|
);
|
|
3179
|
-
return { loadGltf:
|
|
3179
|
+
return { loadGltf: z(
|
|
3180
3180
|
(a, t, s) => {
|
|
3181
3181
|
const i = new FileReader();
|
|
3182
|
-
i.onload = async (
|
|
3182
|
+
i.onload = async (o) => {
|
|
3183
3183
|
var g;
|
|
3184
|
-
const
|
|
3184
|
+
const r = JSON.parse((g = o.target) == null ? void 0 : g.result);
|
|
3185
3185
|
s(10);
|
|
3186
3186
|
const c = await A(
|
|
3187
|
-
|
|
3187
|
+
r,
|
|
3188
3188
|
t,
|
|
3189
3189
|
(B) => {
|
|
3190
3190
|
s(10 + B * 0.8);
|
|
@@ -3206,15 +3206,15 @@ function xs(n) {
|
|
|
3206
3206
|
) };
|
|
3207
3207
|
}
|
|
3208
3208
|
function Ts(n) {
|
|
3209
|
-
return { loadBinary:
|
|
3209
|
+
return { loadBinary: z(
|
|
3210
3210
|
(e, a, t) => {
|
|
3211
3211
|
const s = new FileReader();
|
|
3212
3212
|
s.onload = async (i) => {
|
|
3213
|
-
var
|
|
3214
|
-
if ((
|
|
3215
|
-
const
|
|
3213
|
+
var o;
|
|
3214
|
+
if ((o = i.target) != null && o.result) {
|
|
3215
|
+
const r = i.target.result;
|
|
3216
3216
|
if (a === q.glb)
|
|
3217
|
-
oe().parse(
|
|
3217
|
+
oe().parse(r, "", (I) => {
|
|
3218
3218
|
n({
|
|
3219
3219
|
type: "set-file",
|
|
3220
3220
|
payload: {
|
|
@@ -3225,7 +3225,7 @@ function Ts(n) {
|
|
|
3225
3225
|
});
|
|
3226
3226
|
});
|
|
3227
3227
|
else if (a === q.usdz) {
|
|
3228
|
-
const I = Gs().parse(
|
|
3228
|
+
const I = Gs().parse(r);
|
|
3229
3229
|
n({
|
|
3230
3230
|
type: "set-file",
|
|
3231
3231
|
payload: {
|
|
@@ -3245,27 +3245,27 @@ function Ts(n) {
|
|
|
3245
3245
|
) };
|
|
3246
3246
|
}
|
|
3247
3247
|
function Ls(n) {
|
|
3248
|
-
const A = Ct(!1), [e, a] = bt(Ca, He), { loadGltf: t } = xs(a), { loadBinary: s } = Ts(a), i =
|
|
3248
|
+
const A = Ct(!1), [e, a] = bt(Ca, He), { loadGltf: t } = xs(a), { loadBinary: s } = Ts(a), i = z(
|
|
3249
3249
|
(B, C) => B.find((f) => f.name.endsWith("." + C)),
|
|
3250
3250
|
[]
|
|
3251
|
-
),
|
|
3252
|
-
a({ type: "set-progress", payload: B }),
|
|
3253
|
-
}, []),
|
|
3254
|
-
a({ type: "reset-state" }),
|
|
3255
|
-
}, []), c =
|
|
3251
|
+
), o = z((B) => {
|
|
3252
|
+
a({ type: "set-progress", payload: B }), V.emit("load-progress", B);
|
|
3253
|
+
}, []), r = z(() => {
|
|
3254
|
+
a({ type: "reset-state" }), V.emit("load-reset");
|
|
3255
|
+
}, []), c = z(
|
|
3256
3256
|
(B) => {
|
|
3257
3257
|
if (B.length === 0) return;
|
|
3258
3258
|
const C = i(B, q.gltf), f = i(B, q.glb), d = i(B, q.usdz), p = [C, f, d].filter(
|
|
3259
3259
|
Boolean
|
|
3260
3260
|
);
|
|
3261
3261
|
if (p.length > 1) {
|
|
3262
|
-
|
|
3262
|
+
V.emit("multiple-models", p);
|
|
3263
3263
|
return;
|
|
3264
3264
|
}
|
|
3265
3265
|
const E = B.filter(
|
|
3266
3266
|
(h) => h !== C && h !== f && h !== d
|
|
3267
3267
|
), l = (h) => {
|
|
3268
|
-
|
|
3268
|
+
o(h), h === 100 && (A.current = !0);
|
|
3269
3269
|
};
|
|
3270
3270
|
if (C)
|
|
3271
3271
|
t(C, E, l);
|
|
@@ -3278,15 +3278,15 @@ function Ls(n) {
|
|
|
3278
3278
|
() => l(100)
|
|
3279
3279
|
);
|
|
3280
3280
|
else {
|
|
3281
|
-
|
|
3281
|
+
V.emit("not-loaded-files", B), a({ type: "set-file-loading", payload: !1 });
|
|
3282
3282
|
return;
|
|
3283
3283
|
}
|
|
3284
3284
|
},
|
|
3285
|
-
[
|
|
3286
|
-
), I =
|
|
3285
|
+
[o, i, t, s]
|
|
3286
|
+
), I = z(
|
|
3287
3287
|
async (B) => {
|
|
3288
3288
|
const C = [];
|
|
3289
|
-
a({ type: "reset-state" }), a({ type: "set-file-loading", payload: !0 }),
|
|
3289
|
+
V.emit("load-start"), a({ type: "reset-state" }), a({ type: "set-file-loading", payload: !0 }), o(0), A.current = !1;
|
|
3290
3290
|
for (const f of B)
|
|
3291
3291
|
if (f instanceof File)
|
|
3292
3292
|
C.push(f);
|
|
@@ -3296,10 +3296,10 @@ function Ls(n) {
|
|
|
3296
3296
|
}
|
|
3297
3297
|
c(C);
|
|
3298
3298
|
},
|
|
3299
|
-
[c,
|
|
3299
|
+
[c, o]
|
|
3300
3300
|
);
|
|
3301
3301
|
lt(() => {
|
|
3302
|
-
A.current && e.file && (
|
|
3302
|
+
A.current && e.file && (V.emit("load-complete", e.file), A.current = !1, n && e.file.model && n.load(e.file.model));
|
|
3303
3303
|
}, [e.file, n]);
|
|
3304
3304
|
const g = Ms(
|
|
3305
3305
|
n,
|
|
@@ -3308,55 +3308,69 @@ function Ls(n) {
|
|
|
3308
3308
|
);
|
|
3309
3309
|
return {
|
|
3310
3310
|
...e,
|
|
3311
|
-
on:
|
|
3312
|
-
off:
|
|
3311
|
+
on: V.on,
|
|
3312
|
+
off: V.off,
|
|
3313
3313
|
load: I,
|
|
3314
|
-
reset:
|
|
3314
|
+
reset: r,
|
|
3315
3315
|
optimize: g
|
|
3316
3316
|
};
|
|
3317
3317
|
}
|
|
3318
3318
|
function Ms(n, A, e) {
|
|
3319
|
-
const a =
|
|
3319
|
+
const a = z(
|
|
3320
3320
|
(s) => {
|
|
3321
3321
|
oe().parse(
|
|
3322
|
-
s
|
|
3322
|
+
s,
|
|
3323
3323
|
"",
|
|
3324
|
-
(
|
|
3324
|
+
(o) => {
|
|
3325
3325
|
A({
|
|
3326
3326
|
type: "set-file",
|
|
3327
3327
|
payload: {
|
|
3328
|
-
model:
|
|
3328
|
+
model: o.scene,
|
|
3329
3329
|
type: q.glb,
|
|
3330
3330
|
name: (e == null ? void 0 : e.name) || "optimized.glb"
|
|
3331
3331
|
}
|
|
3332
3332
|
});
|
|
3333
3333
|
},
|
|
3334
|
-
(
|
|
3335
|
-
console.error("Error loading new model:",
|
|
3334
|
+
(o) => {
|
|
3335
|
+
console.error("Error loading new model:", o);
|
|
3336
3336
|
}
|
|
3337
3337
|
);
|
|
3338
3338
|
},
|
|
3339
3339
|
[A, e]
|
|
3340
|
-
), t =
|
|
3341
|
-
async (s) => {
|
|
3340
|
+
), t = z(
|
|
3341
|
+
async (s, i) => {
|
|
3342
3342
|
if (!n || !s) {
|
|
3343
3343
|
console.warn("Optimizer or optimization function is not available");
|
|
3344
3344
|
return;
|
|
3345
3345
|
}
|
|
3346
3346
|
try {
|
|
3347
|
-
await s();
|
|
3348
|
-
const
|
|
3349
|
-
|
|
3350
|
-
} catch (
|
|
3351
|
-
console.error("Optimization failed:",
|
|
3347
|
+
await s(i);
|
|
3348
|
+
const o = await n.getModel();
|
|
3349
|
+
o && a(o);
|
|
3350
|
+
} catch (o) {
|
|
3351
|
+
console.error("Optimization failed:", o);
|
|
3352
3352
|
}
|
|
3353
3353
|
},
|
|
3354
3354
|
[n, a]
|
|
3355
3355
|
);
|
|
3356
3356
|
return n ? {
|
|
3357
|
-
simplifyOptimization: () => t(
|
|
3358
|
-
|
|
3359
|
-
|
|
3357
|
+
simplifyOptimization: (s) => t(
|
|
3358
|
+
n.simplifyOptimization,
|
|
3359
|
+
s
|
|
3360
|
+
),
|
|
3361
|
+
dedupOptimization: (s) => t(n.dedupOptimization, s),
|
|
3362
|
+
quantizeOptimization: (s) => t(
|
|
3363
|
+
n.quantizeOptimization,
|
|
3364
|
+
s
|
|
3365
|
+
),
|
|
3366
|
+
getSize: n.getSize,
|
|
3367
|
+
reset: n.reset,
|
|
3368
|
+
report: n.report,
|
|
3369
|
+
// Include the report state
|
|
3370
|
+
error: n.error,
|
|
3371
|
+
// Include the error state
|
|
3372
|
+
loading: n.loading
|
|
3373
|
+
// Include the loading state
|
|
3360
3374
|
} : {
|
|
3361
3375
|
simplifyOptimization: () => {
|
|
3362
3376
|
console.warn("Optimizer is not available");
|
|
@@ -3366,7 +3380,16 @@ function Ms(n, A, e) {
|
|
|
3366
3380
|
},
|
|
3367
3381
|
quantizeOptimization: () => {
|
|
3368
3382
|
console.warn("Optimizer is not available");
|
|
3369
|
-
}
|
|
3383
|
+
},
|
|
3384
|
+
getSize: () => {
|
|
3385
|
+
console.warn("Optimizer is not available");
|
|
3386
|
+
},
|
|
3387
|
+
reset: () => {
|
|
3388
|
+
console.warn("Optimizer is not available");
|
|
3389
|
+
},
|
|
3390
|
+
report: null,
|
|
3391
|
+
error: null,
|
|
3392
|
+
loading: !1
|
|
3370
3393
|
};
|
|
3371
3394
|
}
|
|
3372
3395
|
const gt = ft({}), qs = ({ children: n, optimizer: A }) => {
|