@spiffcommerce/preview 5.7.9-4 → 5.7.9-6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +245 -257
- package/dist/index.umd.js +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ArcRotateCamera as fe } from "@babylonjs/core/Cameras/arcRotateCamera";
|
|
2
2
|
import { Engine as be } from "@babylonjs/core/Engines/engine";
|
|
3
3
|
import { NullEngine as Ce } from "@babylonjs/core/Engines/nullEngine";
|
|
4
|
-
import { HighlightLayer as
|
|
4
|
+
import { HighlightLayer as xe } from "@babylonjs/core/Layers/highlightLayer";
|
|
5
5
|
import { SceneLoader as S } from "@babylonjs/core/Loading/sceneLoader";
|
|
6
6
|
import { CubeTexture as ne } from "@babylonjs/core/Materials/Textures/cubeTexture";
|
|
7
7
|
import { Color4 as b, Color3 as w } from "@babylonjs/core/Maths/math.color";
|
|
8
|
-
import { Vector3 as p, Quaternion as
|
|
9
|
-
import { DracoCompression as
|
|
8
|
+
import { Vector3 as p, Quaternion as x, Vector2 as se, Matrix as re } from "@babylonjs/core/Maths/math.vector";
|
|
9
|
+
import { DracoCompression as ye } from "@babylonjs/core/Meshes/Compression/dracoCompression";
|
|
10
10
|
import { Observable as C } from "@babylonjs/core/Misc/observable";
|
|
11
|
-
import { Tools as
|
|
12
|
-
import { Scene as
|
|
11
|
+
import { Tools as Me } from "@babylonjs/core/Misc/tools";
|
|
12
|
+
import { Scene as Ae } from "@babylonjs/core/scene";
|
|
13
13
|
import { GLTF2 as Pe } from "@babylonjs/loaders/glTF";
|
|
14
14
|
import { GLTFLoaderAnimationStartMode as Re } from "@babylonjs/loaders/glTF/glTFFileLoader";
|
|
15
15
|
import { PBRMaterial as B } from "@babylonjs/core/Materials/PBR/pbrMaterial";
|
|
@@ -27,7 +27,7 @@ import { Animation as v } from "@babylonjs/core/Animations/animation";
|
|
|
27
27
|
import { QuadraticEase as ke, EasingFunction as ze } from "@babylonjs/core/Animations/easing";
|
|
28
28
|
import { AssetsManager as Ne } from "@babylonjs/core/Misc/assetsManager";
|
|
29
29
|
import { ColorCurves as le } from "@babylonjs/core/Materials/colorCurves";
|
|
30
|
-
import { ImageProcessingConfiguration as
|
|
30
|
+
import { ImageProcessingConfiguration as A } from "@babylonjs/core/Materials/imageProcessingConfiguration";
|
|
31
31
|
import { DefaultRenderingPipeline as qe } from "@babylonjs/core/PostProcesses/RenderPipeline";
|
|
32
32
|
import { DepthOfFieldEffectBlurLevel as E } from "@babylonjs/core/PostProcesses/depthOfFieldEffect";
|
|
33
33
|
import "@babylonjs/core/Rendering/depthRendererSceneComponent";
|
|
@@ -40,29 +40,29 @@ import "@babylonjs/core/Animations/animatable";
|
|
|
40
40
|
import "@babylonjs/core/Misc/screenshotTools";
|
|
41
41
|
import "@babylonjs/core/Rendering/boundingBoxRenderer";
|
|
42
42
|
import "@babylonjs/loaders/glTF/2.0/Extensions";
|
|
43
|
-
var I = /* @__PURE__ */ ((
|
|
43
|
+
var I = /* @__PURE__ */ ((s) => (s[s.Orbit = 0] = "Orbit", s[s.Pan = 1] = "Pan", s))(I || {}), F = /* @__PURE__ */ ((s) => (s.None = "None", s.RemoveWhenSelected = "RemoveWhenSelected", s.ApplyWhenSelected = "ApplyWhenSelected", s))(F || {});
|
|
44
44
|
const he = /* @__PURE__ */ new Map();
|
|
45
|
-
async function D(
|
|
46
|
-
const i = await he.get(
|
|
45
|
+
async function D(s, e, t) {
|
|
46
|
+
const i = await he.get(s);
|
|
47
47
|
if (i && i.scene.uid === e.uid)
|
|
48
48
|
return i;
|
|
49
|
-
const
|
|
50
|
-
|
|
49
|
+
const r = S.LoadAssetContainerAsync(
|
|
50
|
+
s,
|
|
51
51
|
void 0,
|
|
52
52
|
e,
|
|
53
53
|
t
|
|
54
54
|
);
|
|
55
|
-
return he.set(
|
|
55
|
+
return he.set(s, r), r;
|
|
56
56
|
}
|
|
57
|
-
S.OnPluginActivatedObservable.add((
|
|
58
|
-
|
|
57
|
+
S.OnPluginActivatedObservable.add((s) => {
|
|
58
|
+
s.name === "gltf" && (s.animationStartMode = Re.NONE);
|
|
59
59
|
});
|
|
60
60
|
class ce {
|
|
61
61
|
constructor(e) {
|
|
62
62
|
this.getSceneClearColor = () => {
|
|
63
|
-
var i,
|
|
64
|
-
const t = (i = this.customOptions) != null && i.transparentBackground || (
|
|
65
|
-
if (this.customOptions && ((
|
|
63
|
+
var i, r, n, o;
|
|
64
|
+
const t = (i = this.customOptions) != null && i.transparentBackground || (r = this.customOptions) != null && r.backgroundImage ? 0 : 1;
|
|
65
|
+
if (this.customOptions && ((n = this.customOptions) != null && n.transparentBackground) || (o = this.customOptions) != null && o.backgroundImage)
|
|
66
66
|
return new b(0, 0, 0, t).toLinearSpace();
|
|
67
67
|
if (this.customOptions && this.customOptions.backgroundColor) {
|
|
68
68
|
const a = w.FromHexString(
|
|
@@ -77,11 +77,11 @@ class ce {
|
|
|
77
77
|
}
|
|
78
78
|
return new b(0.98, 0.98, 0.98, t).toLinearSpace();
|
|
79
79
|
}, this.highlightColorFromConfig = () => this.customOptions && this.customOptions.highlightColor ? this.hexToColor4(this.customOptions.highlightColor) : new b(0.98, 0.98, 0.98, 1).toLinearSpace(), this.hexToColor4 = (t, i = 1) => {
|
|
80
|
-
const
|
|
80
|
+
const r = w.FromHexString(t);
|
|
81
81
|
return new b(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
r.r,
|
|
83
|
+
r.g,
|
|
84
|
+
r.b,
|
|
85
85
|
i
|
|
86
86
|
).toLinearSpace();
|
|
87
87
|
}, this.customOptions = e;
|
|
@@ -97,14 +97,14 @@ class ce {
|
|
|
97
97
|
* Configuration related to the scene
|
|
98
98
|
*/
|
|
99
99
|
get scene() {
|
|
100
|
-
var e, t, i,
|
|
100
|
+
var e, t, i, r, n;
|
|
101
101
|
return {
|
|
102
102
|
clearColor: this.getSceneClearColor(),
|
|
103
103
|
transparentBackground: ((e = this.customOptions) == null ? void 0 : e.transparentBackground) || ((t = this.customOptions) == null ? void 0 : t.backgroundImage),
|
|
104
104
|
environment: {
|
|
105
105
|
file: ((i = this.customOptions) == null ? void 0 : i.environmentFile) ?? "assets/model-viewer/default.env",
|
|
106
|
-
intensity: ((
|
|
107
|
-
rotationY: (((
|
|
106
|
+
intensity: ((r = this.customOptions) == null ? void 0 : r.environmentIntensity) ?? 1,
|
|
107
|
+
rotationY: (((n = this.customOptions) == null ? void 0 : n.environmentRotationY) ?? 0) * (Math.PI / 180)
|
|
108
108
|
// Convert to radians
|
|
109
109
|
}
|
|
110
110
|
};
|
|
@@ -113,7 +113,7 @@ class ce {
|
|
|
113
113
|
* Configuration related to the camera used to view and interact with the scene.
|
|
114
114
|
*/
|
|
115
115
|
get camera() {
|
|
116
|
-
var e, t, i,
|
|
116
|
+
var e, t, i, r, n, o, a, h, l, c, u, m, g;
|
|
117
117
|
return {
|
|
118
118
|
autoOrientation: ((e = this.customOptions) == null ? void 0 : e.disableAutomaticOrientation) ?? !0,
|
|
119
119
|
autoRotation: {
|
|
@@ -122,7 +122,7 @@ class ce {
|
|
|
122
122
|
},
|
|
123
123
|
limits: {
|
|
124
124
|
min: {
|
|
125
|
-
alpha: (
|
|
125
|
+
alpha: (r = this.customOptions) != null && r.lowerAlphaLimitDeg ? ((n = this.customOptions) == null ? void 0 : n.lowerAlphaLimitDeg) * Math.PI / 180 : void 0,
|
|
126
126
|
beta: (o = this.customOptions) != null && o.lowerBetaLimitDeg ? ((a = this.customOptions) == null ? void 0 : a.lowerBetaLimitDeg) * Math.PI / 180 : void 0,
|
|
127
127
|
radius: (h = this.customOptions) == null ? void 0 : h.minZoomOverride
|
|
128
128
|
},
|
|
@@ -146,10 +146,10 @@ class ce {
|
|
|
146
146
|
};
|
|
147
147
|
}
|
|
148
148
|
get lighting() {
|
|
149
|
-
var e, t, i,
|
|
149
|
+
var e, t, i, r;
|
|
150
150
|
return {
|
|
151
151
|
exposure: ((t = (e = this.customOptions) == null ? void 0 : e.lighting) == null ? void 0 : t.exposure) ?? 0.9,
|
|
152
|
-
contrast: ((
|
|
152
|
+
contrast: ((r = (i = this.customOptions) == null ? void 0 : i.lighting) == null ? void 0 : r.contrast) ?? 1.6
|
|
153
153
|
};
|
|
154
154
|
}
|
|
155
155
|
get emissiveGlowIntensity() {
|
|
@@ -157,12 +157,12 @@ class ce {
|
|
|
157
157
|
return ((e = this.customOptions) == null ? void 0 : e.emissiveGlowIntensity) ?? 0.5;
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
class
|
|
160
|
+
class M {
|
|
161
161
|
/**
|
|
162
162
|
* Returns the resolution expected for generated textures.
|
|
163
163
|
*/
|
|
164
164
|
static getDynamicTextureResolution() {
|
|
165
|
-
return this.getIsMobile() || !
|
|
165
|
+
return this.getIsMobile() || !M.offscreenRenderingSupported() ? {
|
|
166
166
|
width: 1024,
|
|
167
167
|
height: 1024
|
|
168
168
|
} : {
|
|
@@ -270,11 +270,11 @@ class _e {
|
|
|
270
270
|
return this.loader.loadNodeAsync(
|
|
271
271
|
e,
|
|
272
272
|
t,
|
|
273
|
-
function(
|
|
274
|
-
t.extras && Object.keys(t.extras).forEach((
|
|
275
|
-
const o = t.extras[
|
|
276
|
-
|
|
277
|
-
}), i(
|
|
273
|
+
function(r) {
|
|
274
|
+
t.extras && Object.keys(t.extras).forEach((n) => {
|
|
275
|
+
const o = t.extras[n];
|
|
276
|
+
r.metadata[n] = o;
|
|
277
|
+
}), i(r);
|
|
278
278
|
}
|
|
279
279
|
);
|
|
280
280
|
}
|
|
@@ -332,51 +332,51 @@ class _e {
|
|
|
332
332
|
* @param scene The scene to parse.
|
|
333
333
|
*/
|
|
334
334
|
applyReflections(e) {
|
|
335
|
-
function t(
|
|
335
|
+
function t(n) {
|
|
336
336
|
const o = [];
|
|
337
|
-
return
|
|
337
|
+
return n.transformNodes.forEach((a) => {
|
|
338
338
|
a.metadata && a.metadata.reflective && o.push(...a.getChildMeshes());
|
|
339
|
-
}),
|
|
339
|
+
}), n.meshes.forEach((a) => {
|
|
340
340
|
a.metadata && a.metadata.reflective && !o.includes(a) && o.push(a);
|
|
341
341
|
}), o;
|
|
342
342
|
}
|
|
343
|
-
function i(
|
|
344
|
-
const a =
|
|
343
|
+
function i(n, o = 1) {
|
|
344
|
+
const a = n.material;
|
|
345
345
|
if (!a)
|
|
346
346
|
return;
|
|
347
347
|
const h = new Ee(
|
|
348
348
|
"mirror",
|
|
349
|
-
|
|
349
|
+
M.getMirrorTextureResolution(),
|
|
350
350
|
e,
|
|
351
351
|
!0
|
|
352
352
|
);
|
|
353
353
|
h.renderList = t(e);
|
|
354
|
-
const l =
|
|
354
|
+
const l = n.getVerticesData("normal");
|
|
355
355
|
if (!l)
|
|
356
356
|
throw new Error(
|
|
357
|
-
"Mirror attribute specified on: " +
|
|
357
|
+
"Mirror attribute specified on: " + n.name + "But no normals exist to generate a mirror from!"
|
|
358
358
|
);
|
|
359
|
-
|
|
360
|
-
const c =
|
|
359
|
+
n.computeWorldMatrix(!0);
|
|
360
|
+
const c = n.getWorldMatrix(), u = ae.TransformNormal(
|
|
361
361
|
new ae(l[0], l[1], l[2]),
|
|
362
362
|
c
|
|
363
363
|
).normalize(), m = Oe.FromPositionAndNormal(
|
|
364
|
-
|
|
364
|
+
n.position,
|
|
365
365
|
u.scale(-1)
|
|
366
366
|
);
|
|
367
367
|
h.mirrorPlane = m, h.level = o, a.reflectionTexture = h;
|
|
368
368
|
}
|
|
369
|
-
function n
|
|
370
|
-
const o =
|
|
369
|
+
function r(n) {
|
|
370
|
+
const o = n.material, a = new Le(
|
|
371
371
|
"probe-" + o.name,
|
|
372
372
|
Ve,
|
|
373
373
|
e
|
|
374
374
|
);
|
|
375
|
-
a.cubeTexture.name = "reflection-probe-cube-texture", a.attachToMesh(
|
|
375
|
+
a.cubeTexture.name = "reflection-probe-cube-texture", a.attachToMesh(n), a.renderList && a.renderList.push(...t(e)), o.reflectionTexture = a.cubeTexture;
|
|
376
376
|
}
|
|
377
|
-
e.meshes.forEach((
|
|
378
|
-
const o =
|
|
379
|
-
o && (o.mirrorTexture && i(
|
|
377
|
+
e.meshes.forEach((n) => {
|
|
378
|
+
const o = n.metadata;
|
|
379
|
+
o && (o.mirrorTexture && i(n, o.mirrorTexture), o.reflectionProbe && r(n));
|
|
380
380
|
});
|
|
381
381
|
}
|
|
382
382
|
}
|
|
@@ -402,10 +402,10 @@ class Ge {
|
|
|
402
402
|
}
|
|
403
403
|
}
|
|
404
404
|
}
|
|
405
|
-
function He(
|
|
406
|
-
t.forEach((
|
|
407
|
-
const o =
|
|
408
|
-
|
|
405
|
+
function He(s, e, t, i, r = "") {
|
|
406
|
+
t.forEach((n) => {
|
|
407
|
+
const o = n.getID(), a = n.getName(), h = M.getDynamicTextureResolution();
|
|
408
|
+
s.filter((c) => c.name === r + a).forEach((c) => {
|
|
409
409
|
console.log(`attaching textures to material ${c.name}`);
|
|
410
410
|
const u = i.get(o), m = !1;
|
|
411
411
|
if (u)
|
|
@@ -417,7 +417,7 @@ function He(r, e, t, i, n = "") {
|
|
|
417
417
|
h.width,
|
|
418
418
|
h.height
|
|
419
419
|
);
|
|
420
|
-
console.log(`created new texture ${g.name}`), i.set(o, g),
|
|
420
|
+
console.log(`created new texture ${g.name}`), i.set(o, g), n.setStaticContext(
|
|
421
421
|
g.getContext()
|
|
422
422
|
), de(c, g), g.onLoadObservable.addOnce(() => {
|
|
423
423
|
g.update(m);
|
|
@@ -426,66 +426,54 @@ function He(r, e, t, i, n = "") {
|
|
|
426
426
|
});
|
|
427
427
|
}), Ue(e);
|
|
428
428
|
}
|
|
429
|
-
const Ue = (
|
|
430
|
-
|
|
431
|
-
var o;
|
|
432
|
-
return !r.meshes.some(
|
|
433
|
-
(a) => a.material && a.material.hasTexture(n)
|
|
434
|
-
) && !((o = n == null ? void 0 : n.url) != null && o.includes("data:")) && !n.name.endsWith(".env") && i.push(n), i;
|
|
435
|
-
}, []), t = () => r.materials.reduce((i, n) => (n.getBindedMeshes().length == 0 && i.push(n), i), []);
|
|
436
|
-
e().forEach((i) => {
|
|
429
|
+
const Ue = (s) => {
|
|
430
|
+
(() => s.materials.reduce((t, i) => (i.getBindedMeshes().length == 0 && t.push(i), t), []))().forEach((t) => {
|
|
437
431
|
try {
|
|
438
|
-
console.log(`disposing
|
|
432
|
+
console.log(`disposing material ${t.name}`), t.dispose(!0, !0);
|
|
439
433
|
} catch {
|
|
440
|
-
console.log(`Failed to dispose
|
|
441
|
-
}
|
|
442
|
-
}), t().forEach((i) => {
|
|
443
|
-
try {
|
|
444
|
-
console.log(`disposing material ${i.name}`), i.dispose(!0, !0);
|
|
445
|
-
} catch {
|
|
446
|
-
console.log(`Failed to dispose material ${i.name}`);
|
|
434
|
+
console.log(`Failed to dispose material ${t.name}`);
|
|
447
435
|
}
|
|
448
436
|
});
|
|
449
437
|
};
|
|
450
|
-
function Ke(
|
|
451
|
-
const
|
|
452
|
-
|
|
438
|
+
function Ke(s, e, t, i) {
|
|
439
|
+
const r = new Be(
|
|
440
|
+
s,
|
|
453
441
|
{ width: t, height: i },
|
|
454
442
|
e,
|
|
455
|
-
|
|
443
|
+
M.shouldMipMap(),
|
|
456
444
|
De.TRILINEAR_SAMPLINGMODE,
|
|
457
445
|
be.TEXTUREFORMAT_RGBA
|
|
458
|
-
),
|
|
459
|
-
return
|
|
446
|
+
), n = r.getContext();
|
|
447
|
+
return n && (n.fillStyle = "#f5f5f5", n.fillRect(0, 0, t, i), r.update()), r;
|
|
460
448
|
}
|
|
461
|
-
function de(
|
|
462
|
-
if (
|
|
463
|
-
const t =
|
|
449
|
+
function de(s, e) {
|
|
450
|
+
if (s instanceof B) {
|
|
451
|
+
const t = s, i = t.albedoTexture;
|
|
464
452
|
i ? (e.wrapU = i.wrapU, e.wrapV = i.wrapV) : (e.wrapU = 1, e.wrapV = 1), t.albedoTexture = e;
|
|
465
453
|
} else {
|
|
466
|
-
const t =
|
|
454
|
+
const t = s, i = t.diffuseTexture;
|
|
467
455
|
i && (e.wrapU = i.wrapU, e.wrapV = i.wrapV), t.diffuseTexture = e;
|
|
468
456
|
}
|
|
469
457
|
}
|
|
470
458
|
function We() {
|
|
471
|
-
const
|
|
472
|
-
return
|
|
459
|
+
const s = () => Math.floor((1 + Math.random()) * 65536).toString(16).substring(1);
|
|
460
|
+
return s() + s() + "-" + s() + "-" + s() + "-" + s() + "-" + s() + s() + s();
|
|
473
461
|
}
|
|
474
|
-
const
|
|
475
|
-
function me(
|
|
476
|
-
return
|
|
462
|
+
const y = 60, ue = 1;
|
|
463
|
+
function me(s) {
|
|
464
|
+
return s.targetedAnimations.map((t) => t.animation.framePerSecond).reduce((t, i) => t + i, 0) / s.targetedAnimations.length || 0;
|
|
477
465
|
}
|
|
478
|
-
function ve(
|
|
479
|
-
const o =
|
|
466
|
+
function ve(s, e, t, i, r, n) {
|
|
467
|
+
const o = r ? s.filter((c) => c.name === r) : s;
|
|
480
468
|
if (o.length === 0) {
|
|
481
|
-
console.warn(`No animations found for name: ${
|
|
469
|
+
console.warn(`No animations found for name: ${r}`);
|
|
482
470
|
return;
|
|
483
471
|
}
|
|
484
472
|
let a = 0;
|
|
485
473
|
const h = () => {
|
|
486
|
-
a++, a === o.length &&
|
|
474
|
+
a++, a === o.length && n && n();
|
|
487
475
|
}, l = (c, u, m, g, f) => {
|
|
488
|
-
c.stop(), c.start(u, m, g, f),
|
|
476
|
+
c.stop(), c.start(u, m, g, f), n && (u == !1 || u === void 0 && !c.loopAnimation ? c.onAnimationGroupEndObservable.addOnce(() => {
|
|
489
477
|
h();
|
|
490
478
|
}) : c.onAnimationLoopObservable.addOnce(() => {
|
|
491
479
|
h();
|
|
@@ -503,11 +491,11 @@ function ve(r, e, t, i, n, s) {
|
|
|
503
491
|
l(c, e, ue, m, g);
|
|
504
492
|
});
|
|
505
493
|
}
|
|
506
|
-
function
|
|
494
|
+
function Ye(s, e, t) {
|
|
507
495
|
return new Promise((i) => {
|
|
508
|
-
|
|
509
|
-
const
|
|
510
|
-
if (t.target && Object.keys(t.target).length > 0 &&
|
|
496
|
+
s.stopAnimation(e), e.animations = [], Math.abs(e.alpha) > 2 * Math.PI && (e.alpha = $e(e.alpha, 0, 2 * Math.PI));
|
|
497
|
+
const r = [], n = t.target, o = 0, a = n ? 1 : 0;
|
|
498
|
+
if (t.target && Object.keys(t.target).length > 0 && r.push(
|
|
511
499
|
P(
|
|
512
500
|
"cameraTargetLerp",
|
|
513
501
|
"target",
|
|
@@ -520,7 +508,7 @@ function $e(r, e, t) {
|
|
|
520
508
|
v.ANIMATIONTYPE_VECTOR3,
|
|
521
509
|
o
|
|
522
510
|
)
|
|
523
|
-
),
|
|
511
|
+
), r.push(
|
|
524
512
|
P(
|
|
525
513
|
"cameraAlphaLerp",
|
|
526
514
|
"alpha",
|
|
@@ -529,7 +517,7 @@ function $e(r, e, t) {
|
|
|
529
517
|
v.ANIMATIONTYPE_FLOAT,
|
|
530
518
|
a
|
|
531
519
|
)
|
|
532
|
-
),
|
|
520
|
+
), r.push(
|
|
533
521
|
P(
|
|
534
522
|
"cameraBetaLerp",
|
|
535
523
|
"beta",
|
|
@@ -540,7 +528,7 @@ function $e(r, e, t) {
|
|
|
540
528
|
)
|
|
541
529
|
), t.radius !== void 0) {
|
|
542
530
|
const c = Math.max(0.01, t.radius);
|
|
543
|
-
|
|
531
|
+
r.push(
|
|
544
532
|
P(
|
|
545
533
|
"cameraRadiusLerp",
|
|
546
534
|
"radius",
|
|
@@ -551,12 +539,12 @@ function $e(r, e, t) {
|
|
|
551
539
|
)
|
|
552
540
|
);
|
|
553
541
|
}
|
|
554
|
-
e.animations.push(...
|
|
542
|
+
e.animations.push(...r);
|
|
555
543
|
const l = e.useAutoRotationBehavior;
|
|
556
|
-
e.disableAutoRotationBehavior(),
|
|
544
|
+
e.disableAutoRotationBehavior(), s.beginAnimation(
|
|
557
545
|
e,
|
|
558
546
|
0,
|
|
559
|
-
|
|
547
|
+
n ? y * 2 : y,
|
|
560
548
|
!1,
|
|
561
549
|
1,
|
|
562
550
|
() => {
|
|
@@ -565,29 +553,29 @@ function $e(r, e, t) {
|
|
|
565
553
|
);
|
|
566
554
|
});
|
|
567
555
|
}
|
|
568
|
-
function ge(
|
|
569
|
-
return
|
|
556
|
+
function ge(s) {
|
|
557
|
+
return s * Math.PI / 180;
|
|
570
558
|
}
|
|
571
|
-
function P(
|
|
559
|
+
function P(s, e, t, i, r, n = 0, o = v.ANIMATIONLOOPMODE_CONSTANT) {
|
|
572
560
|
const a = new ke();
|
|
573
561
|
a.setEasingMode(ze.EASINGMODE_EASEINOUT);
|
|
574
562
|
const h = new v(
|
|
575
|
-
|
|
563
|
+
s,
|
|
576
564
|
e,
|
|
577
|
-
|
|
578
|
-
|
|
565
|
+
y,
|
|
566
|
+
r,
|
|
579
567
|
o
|
|
580
568
|
), l = [];
|
|
581
|
-
return
|
|
582
|
-
frame:
|
|
569
|
+
return n > 0 && l.push({ frame: 0, value: t }), l.push({ frame: y * n, value: t }), l.push({
|
|
570
|
+
frame: y * (n + 1),
|
|
583
571
|
value: i
|
|
584
572
|
}), h.setKeys(l), h.setEasingFunction(a), h;
|
|
585
573
|
}
|
|
586
|
-
function
|
|
587
|
-
return
|
|
574
|
+
function $e(s, e, t) {
|
|
575
|
+
return s < e ? s = t - (e - s) % (t - e) : s = e + (s - e) % (t - e);
|
|
588
576
|
}
|
|
589
|
-
function Qe(
|
|
590
|
-
|
|
577
|
+
function Qe(s, e, t) {
|
|
578
|
+
s.forEach((i) => {
|
|
591
579
|
t && i.name !== t || i.goToFrame(e);
|
|
592
580
|
});
|
|
593
581
|
}
|
|
@@ -601,7 +589,7 @@ const Ze = {
|
|
|
601
589
|
refractionTexture: "refractionMap",
|
|
602
590
|
reflectionTexture: "reflectionMap"
|
|
603
591
|
};
|
|
604
|
-
function je(
|
|
592
|
+
function je(s, e, t, i) {
|
|
605
593
|
[
|
|
606
594
|
"albedoTexture",
|
|
607
595
|
"bumpTexture",
|
|
@@ -611,49 +599,49 @@ function je(r, e, t, i) {
|
|
|
611
599
|
"metallicTexture",
|
|
612
600
|
"refractionTexture",
|
|
613
601
|
"reflectionTexture"
|
|
614
|
-
].forEach((
|
|
602
|
+
].forEach((n) => {
|
|
615
603
|
Xe(
|
|
604
|
+
n,
|
|
616
605
|
s,
|
|
617
|
-
r,
|
|
618
606
|
e,
|
|
619
607
|
t,
|
|
620
608
|
i
|
|
621
609
|
);
|
|
622
|
-
}), tt(
|
|
610
|
+
}), tt(s, e);
|
|
623
611
|
}
|
|
624
|
-
function Xe(
|
|
625
|
-
const
|
|
626
|
-
if (!
|
|
612
|
+
function Xe(s, e, t, i, r) {
|
|
613
|
+
const n = Ze[s];
|
|
614
|
+
if (!n)
|
|
627
615
|
throw new Error("Unexpected texture name encountered.");
|
|
628
|
-
const o = e[
|
|
629
|
-
a ?
|
|
630
|
-
|
|
616
|
+
const o = e[n], a = o == null ? void 0 : o.fileLink;
|
|
617
|
+
a ? s === "reflectionTexture" ? a.endsWith(".env") || a.endsWith(".dds") ? i.addCubeTextureTask(
|
|
618
|
+
s,
|
|
631
619
|
a,
|
|
632
620
|
void 0,
|
|
633
621
|
!1,
|
|
634
622
|
void 0,
|
|
635
623
|
!0
|
|
636
624
|
) : a.endsWith(".hdr") ? i.addHDRCubeTextureTask(
|
|
637
|
-
|
|
625
|
+
s,
|
|
638
626
|
a,
|
|
639
627
|
128,
|
|
640
628
|
!1,
|
|
641
629
|
!0,
|
|
642
630
|
!1
|
|
643
|
-
) : i.addTextureTask(
|
|
631
|
+
) : i.addTextureTask(s, a, !1, !1) : i.addTextureTask(s, a, !1, !1) : r && t[s] && (t[s] && t[s].dispose(), t[s] = null, Je(s, t));
|
|
644
632
|
}
|
|
645
|
-
function Je(
|
|
646
|
-
|
|
633
|
+
function Je(s, e) {
|
|
634
|
+
s === "opacityTexture" && (e.useAlphaFromAlbedoTexture = !0), s === "metallicTexture" && (e.useRoughnessFromMetallicTextureAlpha = !1, e.useRoughnessFromMetallicTextureGreen = !1, e.useMetallnessFromMetallicTextureBlue = !1), s === "refractionTexture" && (e.subSurface.isRefractionEnabled = !1, e.subSurface.refractionIntensity = 1), s === "reflectionTexture" && (e.environmentIntensity = 1), s === "emissiveTexture" && (e.emissiveIntensity = 0, e.emissiveColor = new w(0, 0, 0), e.reflectionTexture);
|
|
647
635
|
}
|
|
648
|
-
function et(
|
|
636
|
+
function et(s, e, t, i) {
|
|
649
637
|
if (!e) {
|
|
650
638
|
console.error("Failed to apply texture to material: material is null.");
|
|
651
639
|
return;
|
|
652
640
|
}
|
|
653
|
-
|
|
641
|
+
s === "opacityTexture" && (e.useAlphaFromAlbedoTexture = !1), s === "metallicTexture" && (e.useRoughnessFromMetallicTextureAlpha = !1, e.useRoughnessFromMetallicTextureGreen = !0, e.useMetallnessFromMetallicTextureBlue = !0), s === "refractionTexture" && (e.subSurface.isRefractionEnabled = !0, e.subSurface.refractionIntensity = t.refractionIntensity || 1), s === "reflectionTexture" && (e.environmentIntensity = t.reflectionIntensity || 1, i.isCube && (i.rotationY = t.reflectionRotation ? t.reflectionRotation * Math.PI / 180 : 0)), e[s] = i, s === "emissiveTexture" && (e.emissiveColor = new w(1, 1, 1), e.emissiveIntensity = 1);
|
|
654
642
|
}
|
|
655
|
-
function tt(
|
|
656
|
-
|
|
643
|
+
function tt(s, e) {
|
|
644
|
+
s.clearCoat && (s.clearCoat === F.RemoveWhenSelected ? (e.clearCoat.isEnabled = !1, e.clearCoat.indexOfRefraction = 1.5) : s.clearCoat === F.ApplyWhenSelected && (e.clearCoat.isEnabled = !0, e.clearCoat.indexOfRefraction = s.clearCoatIOR || e.clearCoat.indexOfRefraction));
|
|
657
645
|
}
|
|
658
646
|
class it {
|
|
659
647
|
constructor(e, t, i) {
|
|
@@ -668,8 +656,8 @@ class it {
|
|
|
668
656
|
* instead remove material textures when they aren't defined. this is useful for material editor applications
|
|
669
657
|
* where we want to undo changes are remove effects from display.
|
|
670
658
|
*/
|
|
671
|
-
async applyMaterial(e, t, i,
|
|
672
|
-
return new Promise((
|
|
659
|
+
async applyMaterial(e, t, i, r) {
|
|
660
|
+
return new Promise((n) => {
|
|
673
661
|
const o = this.materialVariantMap.get(e);
|
|
674
662
|
this.materialVariantMap.set(e, {
|
|
675
663
|
...o,
|
|
@@ -679,7 +667,7 @@ class it {
|
|
|
679
667
|
(c) => c.name === a
|
|
680
668
|
);
|
|
681
669
|
if (h.length === 0) {
|
|
682
|
-
|
|
670
|
+
n();
|
|
683
671
|
return;
|
|
684
672
|
}
|
|
685
673
|
const l = new Ne(this.scene);
|
|
@@ -688,7 +676,7 @@ class it {
|
|
|
688
676
|
t,
|
|
689
677
|
c,
|
|
690
678
|
l,
|
|
691
|
-
|
|
679
|
+
r
|
|
692
680
|
)
|
|
693
681
|
), l.onProgress = (c, u, m) => {
|
|
694
682
|
i && i(c / u * 100, 100, m.name);
|
|
@@ -705,7 +693,7 @@ class it {
|
|
|
705
693
|
m.texture
|
|
706
694
|
);
|
|
707
695
|
});
|
|
708
|
-
}),
|
|
696
|
+
}), n();
|
|
709
697
|
}, l.loadAsync();
|
|
710
698
|
});
|
|
711
699
|
}
|
|
@@ -719,23 +707,23 @@ class it {
|
|
|
719
707
|
* @param getCurrentFrame A function that returns the current frame of the animation.
|
|
720
708
|
* @param getAnimationIsPlaying A function that returns whether the animation is currently playing.
|
|
721
709
|
*/
|
|
722
|
-
async applyModel(e, t, i,
|
|
710
|
+
async applyModel(e, t, i, r, n, o, a) {
|
|
723
711
|
var u;
|
|
724
712
|
if (i && t && !this.keysThatRemovedBaseModel.includes(e) && this.keysThatRemovedBaseModel.push(e), !i)
|
|
725
713
|
return this.keysThatRemovedBaseModel.includes(e) && this.keysThatRemovedBaseModel.length === 1 && await this.setBaseModelEnabled(!0), (u = this.loadedContainerForKey.get(e)) == null || u.dispose(), this.loadedContainerForKey.delete(e), this.loadedMaterialsForKey.delete(e), this.keysThatRemovedBaseModel = this.keysThatRemovedBaseModel.filter(
|
|
726
714
|
(m) => m !== e
|
|
727
715
|
), Promise.resolve(void 0);
|
|
728
|
-
const l = (await D(i, this.scene,
|
|
716
|
+
const l = (await D(i, this.scene, r)).instantiateModelsToScene(
|
|
729
717
|
this.renameClonedAsset,
|
|
730
718
|
!0
|
|
731
719
|
);
|
|
732
|
-
if (this.loadedContainerForKey.has(e) && (this.loadedContainerForKey.get(e).dispose(), this.loadedContainerForKey.delete(e), this.loadedMaterialsForKey.delete(e)),
|
|
733
|
-
const m = o && o(), g =
|
|
720
|
+
if (this.loadedContainerForKey.has(e) && (this.loadedContainerForKey.get(e).dispose(), this.loadedContainerForKey.delete(e), this.loadedMaterialsForKey.delete(e)), n) {
|
|
721
|
+
const m = o && o(), g = n.name ? this.renameClonedAsset(n.name) : void 0;
|
|
734
722
|
if (ve(
|
|
735
723
|
l.animationGroups,
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
724
|
+
n.loop,
|
|
725
|
+
n.to,
|
|
726
|
+
n.from,
|
|
739
727
|
g
|
|
740
728
|
), m != null) {
|
|
741
729
|
const f = a && a() || !0;
|
|
@@ -772,19 +760,19 @@ class it {
|
|
|
772
760
|
}), e;
|
|
773
761
|
}
|
|
774
762
|
}
|
|
775
|
-
function we(
|
|
763
|
+
function we(s) {
|
|
776
764
|
const e = [];
|
|
777
|
-
return
|
|
765
|
+
return s.rootNodes.forEach((t) => {
|
|
778
766
|
t.getChildMeshes().forEach((i) => {
|
|
779
|
-
i.material && !e.includes(i.material) && e.push(i.material), i.subMeshes && i.subMeshes.forEach((
|
|
780
|
-
const
|
|
781
|
-
|
|
767
|
+
i.material && !e.includes(i.material) && e.push(i.material), i.subMeshes && i.subMeshes.forEach((r) => {
|
|
768
|
+
const n = r.getMaterial(!1);
|
|
769
|
+
n && !e.includes(n) && e.push(n);
|
|
782
770
|
});
|
|
783
771
|
});
|
|
784
772
|
}), e;
|
|
785
773
|
}
|
|
786
|
-
function pe(
|
|
787
|
-
return
|
|
774
|
+
function pe(s, e = "") {
|
|
775
|
+
return s.map((t) => ({
|
|
788
776
|
name: t.name.substring(e.length),
|
|
789
777
|
loop: t.loopAnimation,
|
|
790
778
|
to: t.to,
|
|
@@ -797,11 +785,11 @@ class nt {
|
|
|
797
785
|
const {
|
|
798
786
|
enablePicking: t,
|
|
799
787
|
modelDetails: i,
|
|
800
|
-
previewService:
|
|
801
|
-
progressHandler:
|
|
788
|
+
previewService: r,
|
|
789
|
+
progressHandler: n,
|
|
802
790
|
scene: o
|
|
803
791
|
} = e;
|
|
804
|
-
this.enablePicking = t, this.contextService = i.contextService, this.id = We(), this.previewService =
|
|
792
|
+
this.enablePicking = t, this.contextService = i.contextService, this.id = We(), this.previewService = r, this.scene = o, this.variantManager = new it(
|
|
805
793
|
o,
|
|
806
794
|
this.renameClonedAsset.bind(this),
|
|
807
795
|
this.setBaseModelEnabled.bind(this)
|
|
@@ -814,13 +802,13 @@ class nt {
|
|
|
814
802
|
return this.assetContainer = await D(
|
|
815
803
|
i.model,
|
|
816
804
|
o,
|
|
817
|
-
|
|
805
|
+
n
|
|
818
806
|
), await this.instantiate(), this;
|
|
819
807
|
};
|
|
820
808
|
this.importPromise = a();
|
|
821
809
|
}
|
|
822
810
|
//#region Interface implementation
|
|
823
|
-
async applyMaterialVariant(e, t, i,
|
|
811
|
+
async applyMaterialVariant(e, t, i, r) {
|
|
824
812
|
if (!this.initialized) {
|
|
825
813
|
if (this.materialReadyToLoadCallbacks.has(e)) {
|
|
826
814
|
const o = this.materialReadyToLoadCallbacks.get(e);
|
|
@@ -831,7 +819,7 @@ class nt {
|
|
|
831
819
|
e,
|
|
832
820
|
t,
|
|
833
821
|
i,
|
|
834
|
-
|
|
822
|
+
r
|
|
835
823
|
)
|
|
836
824
|
);
|
|
837
825
|
} else {
|
|
@@ -847,13 +835,13 @@ class nt {
|
|
|
847
835
|
e,
|
|
848
836
|
t,
|
|
849
837
|
i,
|
|
850
|
-
|
|
838
|
+
r
|
|
851
839
|
)
|
|
852
840
|
);
|
|
853
841
|
}
|
|
854
842
|
return;
|
|
855
843
|
}
|
|
856
|
-
const
|
|
844
|
+
const n = async () => {
|
|
857
845
|
await this.variantManager.applyMaterial(
|
|
858
846
|
e,
|
|
859
847
|
i,
|
|
@@ -864,24 +852,24 @@ class nt {
|
|
|
864
852
|
taskName: h
|
|
865
853
|
});
|
|
866
854
|
},
|
|
867
|
-
|
|
855
|
+
r
|
|
868
856
|
);
|
|
869
857
|
};
|
|
870
858
|
if (this.materialChangesInProgress.includes(e)) {
|
|
871
859
|
if (this.queuedMaterialChanges.has(e)) {
|
|
872
860
|
const o = this.queuedMaterialChanges.get(e);
|
|
873
|
-
o == null || o.set(t,
|
|
861
|
+
o == null || o.set(t, n);
|
|
874
862
|
} else {
|
|
875
863
|
this.queuedMaterialChanges.set(
|
|
876
864
|
e,
|
|
877
865
|
/* @__PURE__ */ new Map()
|
|
878
866
|
);
|
|
879
867
|
const o = this.queuedMaterialChanges.get(e);
|
|
880
|
-
o == null || o.set(t,
|
|
868
|
+
o == null || o.set(t, n);
|
|
881
869
|
}
|
|
882
870
|
return;
|
|
883
871
|
}
|
|
884
|
-
if (this.materialChangesInProgress.push(e), await
|
|
872
|
+
if (this.materialChangesInProgress.push(e), await n(), this.queuedMaterialChanges.has(e)) {
|
|
885
873
|
const o = this.queuedMaterialChanges.get(e);
|
|
886
874
|
if (!o)
|
|
887
875
|
throw new Error("Target material is undefined");
|
|
@@ -907,7 +895,7 @@ class nt {
|
|
|
907
895
|
);
|
|
908
896
|
return;
|
|
909
897
|
}
|
|
910
|
-
const
|
|
898
|
+
const r = () => this.variantManager.applyModel(
|
|
911
899
|
e,
|
|
912
900
|
i,
|
|
913
901
|
t == null ? void 0 : t.model,
|
|
@@ -922,12 +910,12 @@ class nt {
|
|
|
922
910
|
this.getAnimationIsPlaying.bind(this)
|
|
923
911
|
);
|
|
924
912
|
if (this.modelChangesInProgress.includes(e)) {
|
|
925
|
-
this.queuedModelChanges.set(e,
|
|
913
|
+
this.queuedModelChanges.set(e, r);
|
|
926
914
|
return;
|
|
927
915
|
}
|
|
928
916
|
const o = await (async () => {
|
|
929
917
|
this.modelChangesInProgress.push(e);
|
|
930
|
-
let a = await
|
|
918
|
+
let a = await r();
|
|
931
919
|
if (this.queuedModelChanges.has(e)) {
|
|
932
920
|
const h = this.queuedModelChanges.get(e);
|
|
933
921
|
if (!h)
|
|
@@ -951,24 +939,24 @@ class nt {
|
|
|
951
939
|
let t = () => {
|
|
952
940
|
};
|
|
953
941
|
const i = async () => {
|
|
954
|
-
this.lastPlayedAnimation = e, this.isExecutingAnimation = !0, await new Promise((
|
|
942
|
+
this.lastPlayedAnimation = e, this.isExecutingAnimation = !0, await new Promise((r) => {
|
|
955
943
|
var o;
|
|
956
|
-
const
|
|
944
|
+
const n = [
|
|
957
945
|
...((o = this.modelInstance) == null ? void 0 : o.animationGroups) || [],
|
|
958
946
|
...this.variantManager.getAnimationGroups()
|
|
959
947
|
];
|
|
960
948
|
ve(
|
|
961
|
-
|
|
949
|
+
n,
|
|
962
950
|
e.loop,
|
|
963
951
|
e.to,
|
|
964
952
|
e.from,
|
|
965
953
|
e.name ? this.renameClonedAsset(e.name) : void 0,
|
|
966
|
-
|
|
954
|
+
r
|
|
967
955
|
);
|
|
968
956
|
}), this.isExecutingAnimation = !1, this.queuedAnimationFunction && this.queuedAnimationFunction(), this.queuedAnimationFunction = void 0, t();
|
|
969
957
|
};
|
|
970
|
-
return this.isExecutingAnimation ? (this.queuedAnimationFunction = i, new Promise((
|
|
971
|
-
t =
|
|
958
|
+
return this.isExecutingAnimation ? (this.queuedAnimationFunction = i, new Promise((r) => {
|
|
959
|
+
t = r;
|
|
972
960
|
})) : i();
|
|
973
961
|
}
|
|
974
962
|
getAnimations(e) {
|
|
@@ -978,7 +966,7 @@ class nt {
|
|
|
978
966
|
this.variantManager.getAnimationGroups(),
|
|
979
967
|
this.renameClonedAsset("")
|
|
980
968
|
) : []
|
|
981
|
-
].map((t, i) => ({ ...t, name: t.name || `UNNAMED_ANIMATION_${i}` })).filter((t, i,
|
|
969
|
+
].map((t, i) => ({ ...t, name: t.name || `UNNAMED_ANIMATION_${i}` })).filter((t, i, r) => r.indexOf(r.find((n) => n.name === t.name)) == i);
|
|
982
970
|
}
|
|
983
971
|
getId() {
|
|
984
972
|
return this.id;
|
|
@@ -1024,7 +1012,7 @@ class nt {
|
|
|
1024
1012
|
set rotation(e) {
|
|
1025
1013
|
if (!this.transformRoot)
|
|
1026
1014
|
throw new Error("ModelContainer disposed prior to setting rotation!");
|
|
1027
|
-
this.transformRoot.rotationQuaternion =
|
|
1015
|
+
this.transformRoot.rotationQuaternion = x.FromEulerAngles(
|
|
1028
1016
|
e.x,
|
|
1029
1017
|
e.y,
|
|
1030
1018
|
e.z
|
|
@@ -1046,8 +1034,8 @@ class nt {
|
|
|
1046
1034
|
e.rootNodes.forEach((t) => {
|
|
1047
1035
|
t.getChildMeshes(!1).forEach((i) => {
|
|
1048
1036
|
i.name === "targetcube_t" || i.name === "backgroundShell" || (i.actionManager || (i.actionManager = new R(this.scene)), i.actionManager.registerAction(
|
|
1049
|
-
new oe(R.OnPointerOverTrigger, (
|
|
1050
|
-
|
|
1037
|
+
new oe(R.OnPointerOverTrigger, (r) => {
|
|
1038
|
+
r.meshUnderPointer && i.material && this.materialSelectedObservable.notifyObservers({
|
|
1051
1039
|
id: i.material.id,
|
|
1052
1040
|
name: this.stripIdFromName(i.material.name)
|
|
1053
1041
|
});
|
|
@@ -1086,19 +1074,19 @@ class nt {
|
|
|
1086
1074
|
this.materials.some(e) || this.variantManager.getAllMaterials().some(e) ? this.previewService.getGlowLayerManager().includeMeshes(this.getAllMeshes()) : this.previewService.getGlowLayerManager().removeMeshes(this.getAllMeshes());
|
|
1087
1075
|
}
|
|
1088
1076
|
configureModelInstance(e) {
|
|
1089
|
-
var
|
|
1077
|
+
var n;
|
|
1090
1078
|
if (!this.transformRoot)
|
|
1091
1079
|
throw new Error(
|
|
1092
1080
|
"Transform disposed! This should never happen unless there is a race condition present!"
|
|
1093
1081
|
);
|
|
1094
|
-
const t = this.transformRoot.position, i = this.transformRoot.rotationQuaternion,
|
|
1095
|
-
this.transformRoot.position = p.Zero(), this.transformRoot.rotationQuaternion =
|
|
1082
|
+
const t = this.transformRoot.position, i = this.transformRoot.rotationQuaternion, r = this.transformRoot.scaling;
|
|
1083
|
+
this.transformRoot.position = p.Zero(), this.transformRoot.rotationQuaternion = x.Identity(), this.transformRoot.scaling = p.One();
|
|
1096
1084
|
for (const o of e.rootNodes) {
|
|
1097
1085
|
o.parent = this.transformRoot;
|
|
1098
1086
|
for (const a of o.getChildMeshes(!1))
|
|
1099
1087
|
a.alwaysSelectAsActiveMesh = !0;
|
|
1100
1088
|
}
|
|
1101
|
-
this.transformRoot.position = t, this.transformRoot.rotationQuaternion = i, this.transformRoot.scaling =
|
|
1089
|
+
this.transformRoot.position = t, this.transformRoot.rotationQuaternion = i, this.transformRoot.scaling = r, this.canvasPanels = ((n = this.contextService) == null ? void 0 : n.getAll()) || /* @__PURE__ */ new Map(), He(
|
|
1102
1090
|
this.materials.concat(this.variantManager.getAllMaterials()),
|
|
1103
1091
|
this.scene,
|
|
1104
1092
|
this.canvasPanels,
|
|
@@ -1142,8 +1130,8 @@ class nt {
|
|
|
1142
1130
|
var e;
|
|
1143
1131
|
(e = this.canvasPanels) == null || e.forEach(
|
|
1144
1132
|
(t, i) => {
|
|
1145
|
-
const
|
|
1146
|
-
|
|
1133
|
+
const r = this.dynamicTextures.get(i);
|
|
1134
|
+
r && t.getStaticContextDirty() && r.isReady() && (r.update(!1), t.setStaticContextDirty(!1));
|
|
1147
1135
|
}
|
|
1148
1136
|
);
|
|
1149
1137
|
}
|
|
@@ -1202,13 +1190,13 @@ class nt {
|
|
|
1202
1190
|
//#endregion
|
|
1203
1191
|
}
|
|
1204
1192
|
class k extends fe {
|
|
1205
|
-
constructor(e, t, i,
|
|
1193
|
+
constructor(e, t, i, r, n, o, a, h) {
|
|
1206
1194
|
super(
|
|
1207
1195
|
e,
|
|
1208
1196
|
t,
|
|
1209
1197
|
i,
|
|
1198
|
+
r,
|
|
1210
1199
|
n,
|
|
1211
|
-
s,
|
|
1212
1200
|
o,
|
|
1213
1201
|
h
|
|
1214
1202
|
), this.lastFocus = new p(0, 0, 0), this._isRunningFramingBehavior = !1, this.panDenominator = 1, this.panEnabled = !0, this.minZ = 0.01, this.updateRadiusBounds(this.radius), this.enableFramingBehavior(), this.wheelDeltaPercentage = 0.01, this.pinchDeltaPercentage = 5e-3, this.useNaturalPinchZoom = !0, a.camera.autoOrientation && (this.alpha += Math.PI), a && (a.camera.limits.min.beta && (this.lowerBetaLimit = a.camera.limits.min.beta), a.camera.limits.max.beta && (this.upperBetaLimit = a.camera.limits.max.beta), a.camera.limits.min.alpha && (this.lowerAlphaLimit = a.camera.limits.min.alpha), a.camera.limits.max.alpha && (this.upperAlphaLimit = a.camera.limits.max.alpha), a.camera.limits.min.radius && (this.lowerRadiusLimit = a.camera.limits.min.radius), a.camera.limits.max.radius && (this.upperRadiusLimit = a.camera.limits.max.radius), a.camera.autoRotation.enabled && this.enableAutoRotationBehavior(
|
|
@@ -1264,14 +1252,14 @@ class k extends fe {
|
|
|
1264
1252
|
this._isRunningFramingBehavior = !0, this.framingBehaviourCallback = e;
|
|
1265
1253
|
const i = this.getFramingBehavior();
|
|
1266
1254
|
i.framingTime = t || 800;
|
|
1267
|
-
const
|
|
1255
|
+
const r = () => {
|
|
1268
1256
|
this.isRunningFramingBehavior = !1;
|
|
1269
|
-
},
|
|
1257
|
+
}, n = T(this._scene), o = n.max.subtract(n.min), a = n.min.add(o.scale(0.5));
|
|
1270
1258
|
this.updateRadiusBounds(o.length() * 1.5), this.wheelPrecision = 100 / this.radius, this.panningInertia = 0, this.panningOriginTarget.copyFrom(a), this.panDenominator = o.length(), this.lastFocus.copyFrom(a), i.zoomOnBoundingInfo(
|
|
1271
|
-
|
|
1272
|
-
|
|
1259
|
+
n.min,
|
|
1260
|
+
n.max,
|
|
1273
1261
|
void 0,
|
|
1274
|
-
|
|
1262
|
+
r
|
|
1275
1263
|
), i.framingTime = 0;
|
|
1276
1264
|
}
|
|
1277
1265
|
/**
|
|
@@ -1303,30 +1291,30 @@ class k extends fe {
|
|
|
1303
1291
|
*/
|
|
1304
1292
|
static create(e, t, i) {
|
|
1305
1293
|
var h;
|
|
1306
|
-
const
|
|
1294
|
+
const r = T(e), n = r.max.subtract(r.min), o = r.min.add(n.scale(0.5)), a = new k(
|
|
1307
1295
|
"ProductCamera",
|
|
1308
1296
|
-(Math.PI / 2),
|
|
1309
1297
|
Math.PI / 2,
|
|
1310
|
-
|
|
1298
|
+
n.length() * 1.5,
|
|
1311
1299
|
o,
|
|
1312
1300
|
e,
|
|
1313
1301
|
t
|
|
1314
1302
|
);
|
|
1315
1303
|
return a.setPanEnabled(
|
|
1316
1304
|
((h = t.options) == null ? void 0 : h.noPan) !== void 0 ? !t.options.noPan : !0
|
|
1317
|
-
), a.panningInertia = 0, a.panningOriginTarget.copyFrom(o), a.panDenominator =
|
|
1305
|
+
), a.panningInertia = 0, a.panningOriginTarget.copyFrom(o), a.panDenominator = n.length(), a.onAfterCheckInputsObservable.addOnce(() => {
|
|
1318
1306
|
a.setPanEnabled(a.panEnabled);
|
|
1319
1307
|
}), i && (e.activeCamera = a), a;
|
|
1320
1308
|
}
|
|
1321
1309
|
}
|
|
1322
|
-
function T(
|
|
1323
|
-
if (
|
|
1310
|
+
function T(s) {
|
|
1311
|
+
if (s.meshes.length === 0)
|
|
1324
1312
|
return {
|
|
1325
1313
|
min: new p(-1, -1, -1),
|
|
1326
1314
|
max: new p(1, 1, 1)
|
|
1327
1315
|
};
|
|
1328
|
-
const e =
|
|
1329
|
-
return
|
|
1316
|
+
const e = s.meshes.filter((t) => t.name.toLowerCase().endsWith("_t") || t.name.toLowerCase().includes("_t_"));
|
|
1317
|
+
return s.getWorldExtends((t) => t.isVisible && t.isEnabled() && (e.length === 0 || e.includes(t)));
|
|
1330
1318
|
}
|
|
1331
1319
|
class st {
|
|
1332
1320
|
constructor(e, t = !1, i = void 0) {
|
|
@@ -1346,9 +1334,9 @@ class st {
|
|
|
1346
1334
|
return this.currentConfiguration;
|
|
1347
1335
|
}
|
|
1348
1336
|
setConfiguration(e) {
|
|
1349
|
-
var t, i,
|
|
1337
|
+
var t, i, r, n, o, a, h, l, c, u, m, g, f, z, N, q, V, _, G, H, U, K, W, Y, $, Q, Z, j, X, J, ee, te, ie;
|
|
1350
1338
|
if (this.renderingPipeline.isSupported) {
|
|
1351
|
-
if (this.renderingPipeline.samples = ((t = e.antiAliasing) == null ? void 0 : t.samples) ?? d.antiAliasing.samples, this.renderingPipeline.fxaaEnabled = ((i = e.antiAliasing) == null ? void 0 : i.fxaaEnabled) ?? d.antiAliasing.fxaaEnabled, this.renderingPipeline.bloomEnabled = ((
|
|
1339
|
+
if (this.renderingPipeline.samples = ((t = e.antiAliasing) == null ? void 0 : t.samples) ?? d.antiAliasing.samples, this.renderingPipeline.fxaaEnabled = ((i = e.antiAliasing) == null ? void 0 : i.fxaaEnabled) ?? d.antiAliasing.fxaaEnabled, this.renderingPipeline.bloomEnabled = ((r = e.bloom) == null ? void 0 : r.enabled) ?? d.bloom.enabled, this.renderingPipeline.bloomKernel = ((n = e.bloom) == null ? void 0 : n.kernel) ?? d.bloom.kernel, this.renderingPipeline.bloomScale = ((o = e.bloom) == null ? void 0 : o.scale) ?? d.bloom.scale, this.renderingPipeline.bloomThreshold = ((a = e.bloom) == null ? void 0 : a.threshold) ?? d.bloom.threshold, this.renderingPipeline.bloomWeight = ((h = e.bloom) == null ? void 0 : h.weight) ?? d.bloom.weight, this.renderingPipeline.chromaticAberrationEnabled = ((l = e.chromaticAberration) == null ? void 0 : l.enabled) ?? d.chromaticAberration.enabled, this.renderingPipeline.chromaticAberration.aberrationAmount = ((c = e.chromaticAberration) == null ? void 0 : c.aberrationAmount) ?? d.chromaticAberration.aberrationAmount, this.renderingPipeline.chromaticAberration.radialIntensity = ((u = e.chromaticAberration) == null ? void 0 : u.radialIntensity) ?? d.chromaticAberration.radialIntensity, this.renderingPipeline.chromaticAberration.direction = (m = e.chromaticAberration) != null && m.direction ? new se(
|
|
1352
1340
|
e.chromaticAberration.direction.x,
|
|
1353
1341
|
e.chromaticAberration.direction.y
|
|
1354
1342
|
) : new se(
|
|
@@ -1369,19 +1357,19 @@ class st {
|
|
|
1369
1357
|
if (this.renderingPipeline.depthOfField.focalLength = ((z = e.depthOfField) == null ? void 0 : z.focalLength) ?? d.depthOfField.focalLength, this.renderingPipeline.depthOfField.fStop = ((N = e.depthOfField) == null ? void 0 : N.fStop) ?? d.depthOfField.fStop, this.renderingPipeline.depthOfField.focusDistance = ((q = e.depthOfField) == null ? void 0 : q.focusDistance) ?? d.depthOfField.focusDistance, this.renderingPipeline.depthOfField.lensSize = ((V = e.depthOfField) == null ? void 0 : V.lensSize) ?? d.depthOfField.lensSize, this.renderingPipeline.grainEnabled = ((_ = e.grain) == null ? void 0 : _.enabled) ?? d.grain.enabled, this.renderingPipeline.grain.animated = ((G = e.grain) == null ? void 0 : G.animated) ?? d.grain.animated, this.renderingPipeline.grain.intensity = ((H = e.grain) == null ? void 0 : H.intensity) ?? d.grain.intensity, this.renderingPipeline.imageProcessing.contrast = ((U = e.misc) == null ? void 0 : U.contrast) ?? d.misc.contrast, this.renderingPipeline.imageProcessing.exposure = ((K = e.misc) == null ? void 0 : K.exposure) ?? d.misc.exposure, this.renderingPipeline.imageProcessing.toneMappingEnabled = ((W = e.misc) == null ? void 0 : W.toneMappingEnabled) ?? d.misc.toneMappingEnabled, this.renderingPipeline.imageProcessing.toneMappingEnabled)
|
|
1370
1358
|
switch (e.misc.toneMappingType ?? d.misc.toneMappingType) {
|
|
1371
1359
|
case "Standard":
|
|
1372
|
-
this.renderingPipeline.imageProcessing.toneMappingType =
|
|
1360
|
+
this.renderingPipeline.imageProcessing.toneMappingType = A.TONEMAPPING_STANDARD;
|
|
1373
1361
|
break;
|
|
1374
1362
|
case "ACES":
|
|
1375
|
-
this.renderingPipeline.imageProcessing.toneMappingType =
|
|
1363
|
+
this.renderingPipeline.imageProcessing.toneMappingType = A.TONEMAPPING_ACES;
|
|
1376
1364
|
break;
|
|
1377
1365
|
}
|
|
1378
|
-
if (this.renderingPipeline.sharpenEnabled = ((
|
|
1366
|
+
if (this.renderingPipeline.sharpenEnabled = ((Y = e.sharpen) == null ? void 0 : Y.enabled) ?? d.sharpen.enabled, this.renderingPipeline.sharpen.colorAmount = (($ = e.sharpen) == null ? void 0 : $.colorAmount) ?? d.sharpen.colorAmount, this.renderingPipeline.sharpen.edgeAmount = ((Q = e.sharpen) == null ? void 0 : Q.edgeAmount) ?? d.sharpen.edgeAmount, this.renderingPipeline.imageProcessing.vignetteEnabled = ((Z = e.vignette) == null ? void 0 : Z.enabled) ?? d.vignette.enabled, (j = e.vignette) != null && j.center ? (this.renderingPipeline.imageProcessing.vignetteCenterX = e.vignette.center.x, this.renderingPipeline.imageProcessing.vignetteCenterY = e.vignette.center.y) : (this.renderingPipeline.imageProcessing.vignetteCenterX = d.vignette.center.x, this.renderingPipeline.imageProcessing.vignetteCenterY = d.vignette.center.y), e.vignette)
|
|
1379
1367
|
switch (((X = e.vignette) == null ? void 0 : X.blendMode) ?? d.vignette.blendMode) {
|
|
1380
1368
|
case "Multiply":
|
|
1381
|
-
this.renderingPipeline.imageProcessing.vignetteBlendMode =
|
|
1369
|
+
this.renderingPipeline.imageProcessing.vignetteBlendMode = A.VIGNETTEMODE_MULTIPLY;
|
|
1382
1370
|
break;
|
|
1383
1371
|
case "Opaque":
|
|
1384
|
-
this.renderingPipeline.imageProcessing.vignetteBlendMode =
|
|
1372
|
+
this.renderingPipeline.imageProcessing.vignetteBlendMode = A.VIGNETTEMODE_OPAQUE;
|
|
1385
1373
|
break;
|
|
1386
1374
|
}
|
|
1387
1375
|
(J = e.vignette) != null && J.colorRgba ? this.renderingPipeline.imageProcessing.vignetteColor = new b(
|
|
@@ -1402,22 +1390,22 @@ class st {
|
|
|
1402
1390
|
return t.globalDensity = e.globalDensity ?? t.globalDensity, t.globalExposure = e.globalExposure ?? t.globalExposure, t.globalHue = e.globalHue ?? t.globalHue, t.globalSaturation = e.globalSaturation ?? t.globalSaturation, t.highlightsDensity = e.highlightsDensity ?? t.highlightsDensity, t.highlightsExposure = e.highlightsExposure ?? t.highlightsExposure, t.highlightsHue = e.highlightsHue ?? t.highlightsHue, t.highlightsSaturation = e.highlightsSaturation ?? t.highlightsSaturation, t.midtonesDensity = e.midtonesDensity ?? t.midtonesDensity, t.midtonesExposure = e.midtonesExposure ?? t.midtonesExposure, t.midtonesHue = e.midtonesHue ?? t.midtonesHue, t.midtonesSaturation = e.midtonesSaturation ?? t.midtonesSaturation, t.shadowsDensity = e.shadowsDensity ?? t.shadowsDensity, t.shadowsExposure = e.shadowsExposure ?? t.shadowsExposure, t.shadowsHue = e.shadowsHue ?? t.shadowsHue, t.shadowsSaturation = e.shadowsSaturation ?? t.shadowsSaturation, t;
|
|
1403
1391
|
}
|
|
1404
1392
|
}
|
|
1405
|
-
Pe.GLTFLoader.RegisterExtension("glbPostProcessor", function(
|
|
1406
|
-
return new _e(
|
|
1393
|
+
Pe.GLTFLoader.RegisterExtension("glbPostProcessor", function(s) {
|
|
1394
|
+
return new _e(s);
|
|
1407
1395
|
});
|
|
1408
|
-
S.OnPluginActivatedObservable.add((
|
|
1409
|
-
if (
|
|
1410
|
-
const e =
|
|
1396
|
+
S.OnPluginActivatedObservable.add((s) => {
|
|
1397
|
+
if (s.name === "gltf") {
|
|
1398
|
+
const e = s;
|
|
1411
1399
|
e.transparencyAsCoverage = !0;
|
|
1412
1400
|
}
|
|
1413
1401
|
});
|
|
1414
|
-
function O(
|
|
1415
|
-
return new p(
|
|
1402
|
+
function O(s) {
|
|
1403
|
+
return new p(s.x, s.y, s.z);
|
|
1416
1404
|
}
|
|
1417
|
-
function L(
|
|
1418
|
-
return { x:
|
|
1405
|
+
function L(s) {
|
|
1406
|
+
return { x: s.x, y: s.y, z: s.z };
|
|
1419
1407
|
}
|
|
1420
|
-
class
|
|
1408
|
+
class Yt {
|
|
1421
1409
|
constructor(e) {
|
|
1422
1410
|
var h;
|
|
1423
1411
|
this.focusLostNotified = !1, this.focusLostObservable = new C(), this.modelLoadEventCallbacks = [], this.modelContainers = /* @__PURE__ */ new Map(), this.plugins = [], this.initComplete = !1, this.isAnimatingCamera = !1, this.renderLoop = () => {
|
|
@@ -1444,15 +1432,15 @@ class $t {
|
|
|
1444
1432
|
const i = (() => {
|
|
1445
1433
|
if (!(e != null && e.noRender))
|
|
1446
1434
|
return this.configuration.createCanvas();
|
|
1447
|
-
})(),
|
|
1448
|
-
|
|
1435
|
+
})(), r = "1.5.6";
|
|
1436
|
+
ye.Configuration = {
|
|
1449
1437
|
decoder: {
|
|
1450
|
-
wasmUrl: `https://www.gstatic.com/draco/versioned/decoders/${
|
|
1451
|
-
wasmBinaryUrl: `https://www.gstatic.com/draco/versioned/decoders/${
|
|
1452
|
-
fallbackUrl: `https://www.gstatic.com/draco/versioned/decoders/${
|
|
1438
|
+
wasmUrl: `https://www.gstatic.com/draco/versioned/decoders/${r}/draco_wasm_wrapper_gltf.js`,
|
|
1439
|
+
wasmBinaryUrl: `https://www.gstatic.com/draco/versioned/decoders/${r}/draco_decoder_gltf.wasm`,
|
|
1440
|
+
fallbackUrl: `https://www.gstatic.com/draco/versioned/decoders/${r}/draco_decoder_gltf.js`
|
|
1453
1441
|
}
|
|
1454
1442
|
}, i && (i.getContext("webgl2") || i.getContext("webgl"));
|
|
1455
|
-
const
|
|
1443
|
+
const n = console.log;
|
|
1456
1444
|
console.log = () => {
|
|
1457
1445
|
};
|
|
1458
1446
|
const o = i ? new be(i, !0, {
|
|
@@ -1464,7 +1452,7 @@ class $t {
|
|
|
1464
1452
|
stencil: this.configuration.highlights.enabled,
|
|
1465
1453
|
forceSRGBBufferSupportState: !0
|
|
1466
1454
|
}) : new Ce();
|
|
1467
|
-
console.log =
|
|
1455
|
+
console.log = n, o.hideLoadingUI(), window.addEventListener("resize", this.fireResizeEvent.bind(this)), this.engine = o, this.scene = new Ae(o), this.camera = k.create(this.scene, this.configuration), this.scene.activeCamera = this.camera, this.renderingPipeline = new st(
|
|
1468
1456
|
this.scene,
|
|
1469
1457
|
!1,
|
|
1470
1458
|
this.camera
|
|
@@ -1525,19 +1513,19 @@ class $t {
|
|
|
1525
1513
|
this.plugins.forEach((e) => e.dispose(!0)), this.renderingPipeline.dispose(), this.engine && this.engine.dispose(), window.removeEventListener("resize", this.fireResizeEvent);
|
|
1526
1514
|
}
|
|
1527
1515
|
executeCameraAnimation(e) {
|
|
1528
|
-
if (!this.camera || this.scene.activeCamera !== this.camera || this.getAllModels().length === 0 || !this.getAllModels().some((
|
|
1516
|
+
if (!this.camera || this.scene.activeCamera !== this.camera || this.getAllModels().length === 0 || !this.getAllModels().some((r) => r.getIsInitialized()))
|
|
1529
1517
|
return this.queuedCameraAnimation = e, Promise.resolve();
|
|
1530
1518
|
let t = () => {
|
|
1531
1519
|
};
|
|
1532
1520
|
const i = async () => {
|
|
1533
|
-
this.isAnimatingCamera = !0, await
|
|
1521
|
+
this.isAnimatingCamera = !0, await Ye(
|
|
1534
1522
|
this.scene,
|
|
1535
1523
|
this.scene.activeCamera,
|
|
1536
1524
|
e
|
|
1537
1525
|
), this.isAnimatingCamera = !1, this.queuedAnimationFunction && this.queuedAnimationFunction(), this.queuedAnimationFunction = void 0, t();
|
|
1538
1526
|
};
|
|
1539
|
-
return this.isAnimatingCamera ? (this.queuedAnimationFunction = i, new Promise((
|
|
1540
|
-
t =
|
|
1527
|
+
return this.isAnimatingCamera ? (this.queuedAnimationFunction = i, new Promise((r) => {
|
|
1528
|
+
t = r;
|
|
1541
1529
|
})) : i();
|
|
1542
1530
|
}
|
|
1543
1531
|
getCameraPose() {
|
|
@@ -1574,13 +1562,13 @@ class $t {
|
|
|
1574
1562
|
const t = async () => {
|
|
1575
1563
|
this.isAnimatingCamera = !0, await new Promise((i) => {
|
|
1576
1564
|
this.focusLostNotified = !1;
|
|
1577
|
-
const
|
|
1578
|
-
const
|
|
1565
|
+
const r = () => {
|
|
1566
|
+
const n = this.configuration;
|
|
1579
1567
|
this.camera.rerunFramingBehavior(() => {
|
|
1580
|
-
|
|
1568
|
+
n.camera.limits.min.radius && (this.camera.lowerRadiusLimit = n.camera.limits.min.radius), n.camera.limits.max.radius && (this.camera.upperRadiusLimit = n.camera.limits.max.radius), i();
|
|
1581
1569
|
});
|
|
1582
1570
|
};
|
|
1583
|
-
this.scene.onAfterRenderObservable.addOnce(
|
|
1571
|
+
this.scene.onAfterRenderObservable.addOnce(r);
|
|
1584
1572
|
}), this.isAnimatingCamera = !1, this.queuedAnimationFunction && this.queuedAnimationFunction(), this.queuedAnimationFunction = void 0, e();
|
|
1585
1573
|
};
|
|
1586
1574
|
return this.isAnimatingCamera ? (this.queuedAnimationFunction = t, new Promise((i) => {
|
|
@@ -1611,9 +1599,9 @@ class $t {
|
|
|
1611
1599
|
this.scene
|
|
1612
1600
|
);
|
|
1613
1601
|
try {
|
|
1614
|
-
const
|
|
1615
|
-
i.target = t.target ? new p(t.target.x, t.target.y, t.target.z) : p.Zero(), i.alpha =
|
|
1616
|
-
const o = await
|
|
1602
|
+
const r = t.latDeg * Math.PI / 180, n = t.lonDeg * Math.PI / 180;
|
|
1603
|
+
i.target = t.target ? new p(t.target.x, t.target.y, t.target.z) : p.Zero(), i.alpha = n, i.beta = r, i.radius = t.radius || this.camera.radius, i.minZ = 0.01, this.scene.render();
|
|
1604
|
+
const o = await Me.CreateScreenshotUsingRenderTargetAsync(
|
|
1617
1605
|
this.engine,
|
|
1618
1606
|
i,
|
|
1619
1607
|
e,
|
|
@@ -1630,26 +1618,26 @@ class $t {
|
|
|
1630
1618
|
const e = this.configuration;
|
|
1631
1619
|
if (!e)
|
|
1632
1620
|
return !0;
|
|
1633
|
-
const t = e.camera.limits.min.alpha, i = e.camera.limits.max.alpha,
|
|
1634
|
-
if (t === void 0 || i === void 0 ||
|
|
1621
|
+
const t = e.camera.limits.min.alpha, i = e.camera.limits.max.alpha, r = e.camera.limits.min.beta, n = e.camera.limits.max.beta;
|
|
1622
|
+
if (t === void 0 || i === void 0 || r === void 0 || n === void 0)
|
|
1635
1623
|
return !0;
|
|
1636
|
-
const o = [t, i], a = [
|
|
1624
|
+
const o = [t, i], a = [r, n], h = o.every((c) => c === t), l = a.every((c) => c === r);
|
|
1637
1625
|
return !h && !l;
|
|
1638
1626
|
}
|
|
1639
1627
|
fireResizeEvent() {
|
|
1640
1628
|
this.getNumViewports() > 0 && this.engine.resize();
|
|
1641
1629
|
}
|
|
1642
1630
|
setHighlights(e, t) {
|
|
1643
|
-
var
|
|
1644
|
-
e.length === 0 && ((
|
|
1631
|
+
var r;
|
|
1632
|
+
e.length === 0 && ((r = this.highlightLayer) == null || r.dispose(), this.highlightLayer = void 0), this.highlightLayer || (this.highlightLayer = new xe("highlights", this.scene, {
|
|
1645
1633
|
isStroke: !0,
|
|
1646
1634
|
blurVerticalSize: 0.85,
|
|
1647
1635
|
blurHorizontalSize: 0.85
|
|
1648
1636
|
}), this.highlightLayer.innerGlow = !0, this.highlightLayer.outerGlow = !1), this.highlightLayer.removeAllMeshes();
|
|
1649
1637
|
const i = t ? new w(t[0], t[1], t[2]).toLinearSpace() : void 0;
|
|
1650
|
-
e.forEach((
|
|
1638
|
+
e.forEach((n) => {
|
|
1651
1639
|
const o = this.scene.materials.find(
|
|
1652
|
-
(a) => a.name ===
|
|
1640
|
+
(a) => a.name === n.name && a.id === n.id
|
|
1653
1641
|
);
|
|
1654
1642
|
o && o.getBindedMeshes().forEach(
|
|
1655
1643
|
(a) => {
|
|
@@ -1666,14 +1654,14 @@ class $t {
|
|
|
1666
1654
|
this.renderingPipeline && this.renderingPipeline.setConfiguration(e);
|
|
1667
1655
|
}
|
|
1668
1656
|
loadModel(e, t) {
|
|
1669
|
-
const { refocusCamera: i = !0, progressHandler:
|
|
1657
|
+
const { refocusCamera: i = !0, progressHandler: r } = t ?? {}, n = new nt({
|
|
1670
1658
|
enablePicking: this.configuration.highlights.enabled,
|
|
1671
1659
|
modelDetails: e,
|
|
1672
1660
|
scene: this.scene,
|
|
1673
1661
|
previewService: this,
|
|
1674
|
-
progressHandler:
|
|
1662
|
+
progressHandler: r
|
|
1675
1663
|
});
|
|
1676
|
-
return
|
|
1664
|
+
return n.getInitializationPromise().then(() => {
|
|
1677
1665
|
if (this.modelContainers.size <= 1 && i) {
|
|
1678
1666
|
const o = this.queuedCameraAnimation;
|
|
1679
1667
|
this.forceStopCameraAnimations(), this.camera.rerunFramingBehavior(() => {
|
|
@@ -1682,14 +1670,14 @@ class $t {
|
|
|
1682
1670
|
});
|
|
1683
1671
|
}, 1);
|
|
1684
1672
|
}
|
|
1685
|
-
}), this.configuration.highlights.enabled && (
|
|
1673
|
+
}), this.configuration.highlights.enabled && (n.registerMaterialSelectedCallback((o) => {
|
|
1686
1674
|
this.setHighlights([o]);
|
|
1687
|
-
}),
|
|
1675
|
+
}), n.registerMaterialDeselectedCallback(() => {
|
|
1688
1676
|
this.setHighlights([]);
|
|
1689
|
-
})), this.modelContainers.set(
|
|
1677
|
+
})), this.modelContainers.set(n.getId(), n), this.triggerModelLoadEvent({
|
|
1690
1678
|
eventType: "load",
|
|
1691
|
-
modelContainer:
|
|
1692
|
-
}),
|
|
1679
|
+
modelContainer: n
|
|
1680
|
+
}), n;
|
|
1693
1681
|
}
|
|
1694
1682
|
async preloadModel(e) {
|
|
1695
1683
|
await D(e, this.scene);
|
|
@@ -1709,7 +1697,7 @@ class $t {
|
|
|
1709
1697
|
}
|
|
1710
1698
|
unregisterPlugin(e) {
|
|
1711
1699
|
const t = this.plugins.indexOf(e);
|
|
1712
|
-
t > -1 && this.plugins.splice(t, 1).forEach((
|
|
1700
|
+
t > -1 && this.plugins.splice(t, 1).forEach((r) => r.dispose(!1));
|
|
1713
1701
|
}
|
|
1714
1702
|
getGlowLayerManager() {
|
|
1715
1703
|
return this.glowLayerManager;
|
|
@@ -1727,31 +1715,31 @@ class $t {
|
|
|
1727
1715
|
* Flips a transform around the origin.
|
|
1728
1716
|
*/
|
|
1729
1717
|
flipTransform(e, t, i) {
|
|
1730
|
-
const
|
|
1718
|
+
const r = re.Compose(
|
|
1731
1719
|
O(i || { x: 1, y: 1, z: 1 }),
|
|
1732
|
-
|
|
1720
|
+
x.FromEulerVector(
|
|
1733
1721
|
O(t || { x: 0, y: 0, z: 0 })
|
|
1734
1722
|
),
|
|
1735
1723
|
O(e || { x: 0, y: 0, z: 0 })
|
|
1736
|
-
),
|
|
1737
|
-
return o.decompose(l, h, a), h.multiplyInPlace(
|
|
1724
|
+
), n = re.RotationAxis(p.Up(), Math.PI), o = r.multiply(n), a = p.Zero(), h = x.Identity(), l = p.Zero();
|
|
1725
|
+
return o.decompose(l, h, a), h.multiplyInPlace(x.FromEulerAngles(0, Math.PI, 0)), {
|
|
1738
1726
|
position: L(a),
|
|
1739
1727
|
rotation: L(h.toEulerAngles()),
|
|
1740
1728
|
scale: L(l)
|
|
1741
1729
|
};
|
|
1742
1730
|
}
|
|
1743
1731
|
updatePreviewOptions(e) {
|
|
1744
|
-
var
|
|
1732
|
+
var r, n;
|
|
1745
1733
|
const t = new ce(e);
|
|
1746
1734
|
this.configuration.highlights.enabled !== t.highlights.enabled && this.engine.setStencilBuffer(t.highlights.enabled), this.scene.clearColor = t.scene.clearColor;
|
|
1747
1735
|
let i = this.scene.environmentTexture;
|
|
1748
1736
|
this.configuration.scene.environment.file !== t.scene.environment.file && (i = ne.CreateFromPrefilteredData(
|
|
1749
1737
|
t.scene.environment.file,
|
|
1750
1738
|
this.scene
|
|
1751
|
-
), i.name = "updated-environment-cube", i.rotationY = this.configuration.scene.environment.rotationY, this.scene.environmentTexture = i), i.rotationY = t.scene.environment.rotationY, this.scene.environmentIntensity = t.scene.environment.intensity, (
|
|
1739
|
+
), i.name = "updated-environment-cube", i.rotationY = this.configuration.scene.environment.rotationY, this.scene.environmentTexture = i), i.rotationY = t.scene.environment.rotationY, this.scene.environmentIntensity = t.scene.environment.intensity, (r = t.options) != null && r.renderingPipelineConfiguration ? this.renderingPipeline.setConfiguration(
|
|
1752
1740
|
t.options.renderingPipelineConfiguration
|
|
1753
1741
|
) : (this.scene.imageProcessingConfiguration.exposure = t.lighting.exposure, this.scene.imageProcessingConfiguration.contrast = t.lighting.contrast), this.glowLayerManager.setIntensity(t.emissiveGlowIntensity), this.camera.updateConfiguration(t), this.camera.setPanEnabled(
|
|
1754
|
-
((
|
|
1742
|
+
((n = t.options) == null ? void 0 : n.noPan) !== void 0 ? !t.options.noPan : !0
|
|
1755
1743
|
), this.configuration = t;
|
|
1756
1744
|
}
|
|
1757
1745
|
/**
|
|
@@ -1772,7 +1760,7 @@ export {
|
|
|
1772
1760
|
F as MaterialEffectMode,
|
|
1773
1761
|
I as ProductCameraRig,
|
|
1774
1762
|
Ve as REFLECTION_PROBE_RESOLUTION,
|
|
1775
|
-
|
|
1776
|
-
|
|
1763
|
+
M as RenderingConfiguration,
|
|
1764
|
+
Yt as SpiffCommerce3DPreviewService,
|
|
1777
1765
|
d as renderingPipelineDefaults
|
|
1778
1766
|
};
|