iflow-engine-base 3.9.205 → 3.9.211
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/bim-engine-sdk.es.js +5 -5
- package/dist/bim-engine-sdk.umd.js +818 -818
- package/dist/chunks/{engine-2d-DAiE1uAy.js → engine-2d-DfXdo35a.js} +106 -99
- package/dist/chunks/{engine-3d-CdsLfd0i.js → engine-3d-pR92L_EF.js} +26108 -12822
- package/dist/chunks/{engine-720-K9uF9wMA.js → engine-720-B9i7xmDy.js} +32 -31
- package/dist/chunks/{engine-gaussian-x3jsCp15.js → engine-gaussian-BO2fXRFQ.js} +137 -136
- package/dist/chunks/{engine-gis-BStgPU0Q.js → engine-gis-DNuY4ydw.js} +3 -3
- package/dist/chunks/{sdk-runtime-cY1Wn7o-.js → sdk-runtime-CvEwm_hr.js} +1359 -1262
- package/dist/chunks/{three-vendor-Dbcwwhki.js → three-vendor-BislQYFI.js} +52 -52
- package/dist/index.d.ts +12 -0
- package/dist2d/dwg-preview.es.js +1559 -1456
- package/dist2d/dwg-preview.umd.js +16 -16
- package/distGaussian/gaussian.es.js +368 -271
- package/distGaussian/gaussian.umd.js +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { n as Js, C as st,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { n as Js, C as st, t as Zs, V as v, b as N, O as $s, W as en, M as J, Q as ge, a as tn, f as qt, j as De, B as sn, h as ft, r as it, aB as Ue, aC as Pt, aD as at, J as Et, aE as ms, aF as yn, aG as xn, aH as In, aI as Tn, H as wn, aJ as Bn, aK as En, l as lt, aL as As, aM as gs, aN as vn, k as Cs, aO as Fn, aq as Je, an as Ss, D as Kt, ac as Dn, aA as ys, q as bn, v as We, aP as qe, av as xs, s as Mn, aQ as Rn, a3 as Pn, aR as On, aS as nn, aT as Is, aU as kn, a8 as Ln, aV as Qe, aW as mt, p as Hn } from "./three-vendor-BislQYFI.js";
|
|
2
|
+
import { C as Un, r as zn } from "./sdk-runtime-CvEwm_hr.js";
|
|
3
|
+
import { E as _n } from "./engine-2d-DfXdo35a.js";
|
|
4
4
|
var Ne = /* @__PURE__ */ ((m) => (m.LoadStart = "gaussian-load-start", m.LoadProgress = "gaussian-load-progress", m.Loaded = "gaussian-loaded", m.LoadError = "gaussian-load-error", m.SceneRemoved = "gaussian-scene-removed", m.FpsUpdated = "gaussian-fps-updated", m.ViewChanged = "gaussian-view-changed", m))(Ne || {});
|
|
5
|
-
class
|
|
5
|
+
class Qn {
|
|
6
6
|
listeners = /* @__PURE__ */ new Map();
|
|
7
7
|
on(e, s) {
|
|
8
8
|
const t = String(e);
|
|
@@ -32,7 +32,7 @@ class zn {
|
|
|
32
32
|
this.clear();
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
class
|
|
35
|
+
class Nn {
|
|
36
36
|
scene;
|
|
37
37
|
constructor(e) {
|
|
38
38
|
this.scene = new Js(), e && (this.scene.background = new st(e));
|
|
@@ -47,7 +47,7 @@ class _n {
|
|
|
47
47
|
this.scene.clear(), this.scene.background = null, this.scene.environment = null;
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
class
|
|
50
|
+
class Vn {
|
|
51
51
|
camera;
|
|
52
52
|
container;
|
|
53
53
|
cameraUp;
|
|
@@ -129,7 +129,7 @@ const Ot = (function() {
|
|
|
129
129
|
return function(s) {
|
|
130
130
|
return m[0] = s, e[0];
|
|
131
131
|
};
|
|
132
|
-
})(),
|
|
132
|
+
})(), Gn = function(m, e) {
|
|
133
133
|
return m[e] + (m[e + 1] << 8) + (m[e + 2] << 16) + (m[e + 3] << 24);
|
|
134
134
|
}, bt = function(m, e, s = !0, t) {
|
|
135
135
|
const n = new AbortController(), r = n.signal;
|
|
@@ -217,7 +217,7 @@ const Ot = (function() {
|
|
|
217
217
|
reject: s
|
|
218
218
|
};
|
|
219
219
|
};
|
|
220
|
-
class
|
|
220
|
+
class Wn {
|
|
221
221
|
constructor(e, s, t) {
|
|
222
222
|
this.major = e, this.minor = s, this.patch = t;
|
|
223
223
|
}
|
|
@@ -232,7 +232,7 @@ function Yt() {
|
|
|
232
232
|
function on() {
|
|
233
233
|
if (Yt()) {
|
|
234
234
|
const m = navigator.userAgent.match(/OS (\d+)_(\d+)_?(\d+)?/);
|
|
235
|
-
return new
|
|
235
|
+
return new Wn(
|
|
236
236
|
parseInt(m[1] || 0, 10),
|
|
237
237
|
parseInt(m[2] || 0, 10),
|
|
238
238
|
parseInt(m[3] || 0, 10)
|
|
@@ -240,7 +240,7 @@ function on() {
|
|
|
240
240
|
} else
|
|
241
241
|
return null;
|
|
242
242
|
}
|
|
243
|
-
const
|
|
243
|
+
const qn = 14;
|
|
244
244
|
class P {
|
|
245
245
|
static OFFSET = {
|
|
246
246
|
X: 0,
|
|
@@ -283,7 +283,7 @@ class P {
|
|
|
283
283
|
FRC23: 37
|
|
284
284
|
};
|
|
285
285
|
constructor(e = 0) {
|
|
286
|
-
this.sphericalHarmonicsDegree = e, this.sphericalHarmonicsCount = $e(this.sphericalHarmonicsDegree), this.componentCount = this.sphericalHarmonicsCount +
|
|
286
|
+
this.sphericalHarmonicsDegree = e, this.sphericalHarmonicsCount = $e(this.sphericalHarmonicsDegree), this.componentCount = this.sphericalHarmonicsCount + qn, this.defaultSphericalHarmonics = new Array(this.sphericalHarmonicsCount).fill(0), this.splats = [], this.splatCount = 0;
|
|
287
287
|
}
|
|
288
288
|
static createSplat(e = 0) {
|
|
289
289
|
const s = [0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0];
|
|
@@ -324,7 +324,7 @@ class Y {
|
|
|
324
324
|
static ProgressiveLoadSectionDelayDuration = 15;
|
|
325
325
|
static SphericalHarmonics8BitCompressionRange = 3;
|
|
326
326
|
}
|
|
327
|
-
const
|
|
327
|
+
const Kn = Y.SphericalHarmonics8BitCompressionRange, ze = Kn / 2, Ae = mt.toHalfFloat.bind(mt), Xt = mt.fromHalfFloat.bind(mt), re = (m, e, s = !1, t, n) => {
|
|
328
328
|
if (e === 0)
|
|
329
329
|
return m;
|
|
330
330
|
if (e === 1 || e === 2 && !s)
|
|
@@ -338,12 +338,12 @@ const Wn = Y.SphericalHarmonics8BitCompressionRange, ze = Wn / 2, Ae = mt.toHalf
|
|
|
338
338
|
}, Jt = (m, e, s) => {
|
|
339
339
|
const t = s - e;
|
|
340
340
|
return m / 255 * t + e;
|
|
341
|
-
}, an = (m, e, s) => ct(Xt(m, e, s)),
|
|
341
|
+
}, an = (m, e, s) => ct(Xt(m, e, s)), jn = (m, e, s) => Ae(Jt(m, e, s)), K = (m, e, s, t = !1) => s === 0 ? m.getFloat32(e * 4, !0) : s === 1 || s === 2 && !t ? m.getUint16(e * 2, !0) : m.getUint8(e, !0), Yn = /* @__PURE__ */ (function() {
|
|
342
342
|
const m = (e) => e;
|
|
343
343
|
return function(e, s, t, n = !1) {
|
|
344
344
|
if (s === t) return e;
|
|
345
345
|
let r = m;
|
|
346
|
-
return s === 2 && n ? t === 1 ? r =
|
|
346
|
+
return s === 2 && n ? t === 1 ? r = jn : t == 0 && (r = Jt) : s === 2 || s === 1 ? t === 0 ? r = Xt : t == 2 && (n ? r = an : r = m) : s === 0 && (t === 1 ? r = Ae : t == 2 && (n ? r = ct : r = Ae)), r(e);
|
|
347
347
|
};
|
|
348
348
|
})(), je = (m, e, s, t, n = 0) => {
|
|
349
349
|
const r = new Uint8Array(m, e), i = new Uint8Array(s, t);
|
|
@@ -514,7 +514,7 @@ class I {
|
|
|
514
514
|
return function(a, l, c, d, u, h, f, p) {
|
|
515
515
|
const A = this.splatCount;
|
|
516
516
|
d = d || 0, u = u || A - 1, h === void 0 && (h = d);
|
|
517
|
-
const C = (g, x) =>
|
|
517
|
+
const C = (g, x) => Yn(g, x, f);
|
|
518
518
|
for (let g = d; g <= u; g++) {
|
|
519
519
|
const x = this.globalSplatIndexToSectionMap[g], w = this.sections[x], y = g - w.splatCountOffset, B = w.bytesPerSplat * y + I.CompressionLevels[this.compressionLevel].ScaleOffsetBytes, S = (g - d + h) * I.ScaleComponentCount, E = (g - d + h) * I.RotationComponentCount, F = new DataView(this.bufferData, w.dataBase + B), b = p && p.x !== void 0 ? p.x : K(F, 0, this.compressionLevel), D = p && p.y !== void 0 ? p.y : K(F, 1, this.compressionLevel), R = p && p.z !== void 0 ? p.z : K(F, 2, this.compressionLevel), k = K(F, 3, this.compressionLevel), M = K(F, 4, this.compressionLevel), O = K(F, 5, this.compressionLevel), L = K(F, 6, this.compressionLevel);
|
|
520
520
|
n.set(
|
|
@@ -983,9 +983,9 @@ const Ts = new Uint8Array([112, 108, 121, 10]), ws = new Uint8Array([10, 101, 11
|
|
|
983
983
|
return (m & s) / s;
|
|
984
984
|
}, Bs = (m, e) => {
|
|
985
985
|
m.x = Me(e >>> 21, 11), m.y = Me(e >>> 11, 10), m.z = Me(e, 11);
|
|
986
|
-
},
|
|
986
|
+
}, Xn = (m, e) => {
|
|
987
987
|
m.x = Me(e >>> 24, 8), m.y = Me(e >>> 16, 8), m.z = Me(e >>> 8, 8), m.w = Me(e, 8);
|
|
988
|
-
},
|
|
988
|
+
}, Jn = (m, e) => {
|
|
989
989
|
const s = 1 / (Math.sqrt(2) * 0.5), t = (Me(e >>> 20, 10) - 0.5) * s, n = (Me(e >>> 10, 10) - 0.5) * s, r = (Me(e, 10) - 0.5) * s, i = Math.sqrt(1 - (t * t + n * n + r * r));
|
|
990
990
|
switch (e >>> 30) {
|
|
991
991
|
case 0:
|
|
@@ -1203,7 +1203,7 @@ class W {
|
|
|
1203
1203
|
return function(i, o, a, l, c, d, u, h, f, p) {
|
|
1204
1204
|
p = p || P.createSplat();
|
|
1205
1205
|
const A = Math.floor((o + i) / 256);
|
|
1206
|
-
return Bs(e, a[i]),
|
|
1206
|
+
return Bs(e, a[i]), Jn(s, u[i]), Bs(t, c[i]), Xn(n, f[i]), p[r.X] = Oe(l.minX[A], l.maxX[A], e.x), p[r.Y] = Oe(l.minY[A], l.maxY[A], e.y), p[r.Z] = Oe(l.minZ[A], l.maxZ[A], e.z), p[r.ROTATION0] = s.x, p[r.ROTATION1] = s.y, p[r.ROTATION2] = s.z, p[r.ROTATION3] = s.w, p[r.SCALE0] = Math.exp(Oe(d.minScaleX[A], d.maxScaleX[A], t.x)), p[r.SCALE1] = Math.exp(Oe(d.minScaleY[A], d.maxScaleY[A], t.y)), p[r.SCALE2] = Math.exp(Oe(d.minScaleZ[A], d.maxScaleZ[A], t.z)), h.minR && h.maxR ? p[r.FDC0] = oe(Math.round(Oe(h.minR[A], h.maxR[A], n.x) * 255), 0, 255) : p[r.FDC0] = oe(Math.floor(n.x * 255), 0, 255), h.minG && h.maxG ? p[r.FDC1] = oe(Math.round(Oe(h.minG[A], h.maxG[A], n.y) * 255), 0, 255) : p[r.FDC1] = oe(Math.floor(n.y * 255), 0, 255), h.minB && h.maxB ? p[r.FDC2] = oe(Math.round(Oe(h.minB[A], h.maxB[A], n.z) * 255), 0, 255) : p[r.FDC2] = oe(Math.floor(n.z * 255), 0, 255), p[r.OPACITY] = oe(Math.floor(n.w * 255), 0, 255), p;
|
|
1207
1207
|
};
|
|
1208
1208
|
})();
|
|
1209
1209
|
static decompressSphericalHarmonics = /* @__PURE__ */ (function() {
|
|
@@ -1407,7 +1407,7 @@ const Ie = {
|
|
|
1407
1407
|
short: ts,
|
|
1408
1408
|
ushort: ss,
|
|
1409
1409
|
uchar: ns
|
|
1410
|
-
},
|
|
1410
|
+
}, Zn = {
|
|
1411
1411
|
[ln]: 8,
|
|
1412
1412
|
[Zt]: 4,
|
|
1413
1413
|
[$t]: 4,
|
|
@@ -1462,7 +1462,7 @@ class q {
|
|
|
1462
1462
|
const x = s[C];
|
|
1463
1463
|
x !== void 0 && (f[x] = p);
|
|
1464
1464
|
}
|
|
1465
|
-
p +=
|
|
1465
|
+
p += Zn[Es[g]];
|
|
1466
1466
|
}
|
|
1467
1467
|
const A = q.decodeSphericalHarmonicsFromSectionHeader(u, s);
|
|
1468
1468
|
return {
|
|
@@ -1607,10 +1607,8 @@ const cn = [
|
|
|
1607
1607
|
"green",
|
|
1608
1608
|
"blue",
|
|
1609
1609
|
"f_rest_0"
|
|
1610
|
-
],
|
|
1610
|
+
], $n = cn.map((m, e) => e), [
|
|
1611
1611
|
vs,
|
|
1612
|
-
Zn,
|
|
1613
|
-
$n,
|
|
1614
1612
|
er,
|
|
1615
1613
|
tr,
|
|
1616
1614
|
sr,
|
|
@@ -1618,15 +1616,17 @@ const cn = [
|
|
|
1618
1616
|
rr,
|
|
1619
1617
|
or,
|
|
1620
1618
|
ir,
|
|
1621
|
-
Fs,
|
|
1622
1619
|
ar,
|
|
1623
1620
|
lr,
|
|
1624
|
-
|
|
1625
|
-
bs,
|
|
1621
|
+
Fs,
|
|
1626
1622
|
cr,
|
|
1627
1623
|
dr,
|
|
1628
|
-
|
|
1629
|
-
|
|
1624
|
+
Ds,
|
|
1625
|
+
bs,
|
|
1626
|
+
hr,
|
|
1627
|
+
ur,
|
|
1628
|
+
pr
|
|
1629
|
+
] = $n;
|
|
1630
1630
|
class xe {
|
|
1631
1631
|
static decodeHeaderLines(e) {
|
|
1632
1632
|
let s = 0;
|
|
@@ -1716,18 +1716,18 @@ class xe {
|
|
|
1716
1716
|
return function(g, x, w, y = 0, B = 0) {
|
|
1717
1717
|
B = Math.min(B, w.sphericalHarmonicsDegree), xe.readSplat(g, w, x, y, e);
|
|
1718
1718
|
const S = P.createSplat(B);
|
|
1719
|
-
if (e[vs] !== void 0 ? (S[i] = Math.exp(e[vs]), S[o] = Math.exp(e[
|
|
1719
|
+
if (e[vs] !== void 0 ? (S[i] = Math.exp(e[vs]), S[o] = Math.exp(e[er]), S[a] = Math.exp(e[tr])) : (S[i] = 0.01, S[o] = 0.01, S[a] = 0.01), e[Fs] !== void 0) {
|
|
1720
1720
|
const E = 0.28209479177387814;
|
|
1721
|
-
S[h] = (0.5 + E * e[Fs]) * 255, S[f] = (0.5 + E * e[
|
|
1722
|
-
} else e[bs] !== void 0 ? (S[h] = e[bs] * 255, S[f] = e[
|
|
1723
|
-
if (e[Ds] !== void 0 && (S[A] = 1 / (1 + Math.exp(-e[Ds])) * 255), S[h] = oe(Math.floor(S[h]), 0, 255), S[f] = oe(Math.floor(S[f]), 0, 255), S[p] = oe(Math.floor(S[p]), 0, 255), S[A] = oe(Math.floor(S[A]), 0, 255), B >= 1 && e[
|
|
1721
|
+
S[h] = (0.5 + E * e[Fs]) * 255, S[f] = (0.5 + E * e[cr]) * 255, S[p] = (0.5 + E * e[dr]) * 255;
|
|
1722
|
+
} else e[bs] !== void 0 ? (S[h] = e[bs] * 255, S[f] = e[hr] * 255, S[p] = e[ur] * 255) : (S[h] = 0, S[f] = 0, S[p] = 0);
|
|
1723
|
+
if (e[Ds] !== void 0 && (S[A] = 1 / (1 + Math.exp(-e[Ds])) * 255), S[h] = oe(Math.floor(S[h]), 0, 255), S[f] = oe(Math.floor(S[f]), 0, 255), S[p] = oe(Math.floor(S[p]), 0, 255), S[A] = oe(Math.floor(S[A]), 0, 255), B >= 1 && e[pr] !== void 0) {
|
|
1724
1724
|
for (let E = 0; E < 9; E++)
|
|
1725
1725
|
S[C[E]] = e[w.sphericalHarmonicsDegree1Fields[E]];
|
|
1726
1726
|
if (B >= 2)
|
|
1727
1727
|
for (let E = 0; E < 15; E++)
|
|
1728
1728
|
S[C[9 + E]] = e[w.sphericalHarmonicsDegree2Fields[E]];
|
|
1729
1729
|
}
|
|
1730
|
-
return s.set(e[
|
|
1730
|
+
return s.set(e[sr], e[nr], e[rr], e[or]), s.normalize(), S[l] = s.x, S[c] = s.y, S[d] = s.z, S[u] = s.w, S[t] = e[ir], S[n] = e[ar], S[r] = e[lr], S;
|
|
1731
1731
|
};
|
|
1732
1732
|
})();
|
|
1733
1733
|
static readSplat(e, s, t, n, r) {
|
|
@@ -1773,11 +1773,11 @@ const dn = [
|
|
|
1773
1773
|
"rotation_im"
|
|
1774
1774
|
], St = dn.map((m, e) => e), [
|
|
1775
1775
|
yt,
|
|
1776
|
-
|
|
1777
|
-
|
|
1776
|
+
fr,
|
|
1777
|
+
mr,
|
|
1778
1778
|
Rs,
|
|
1779
1779
|
xt,
|
|
1780
|
-
|
|
1780
|
+
Ar,
|
|
1781
1781
|
Ut
|
|
1782
1782
|
] = [0, 1, 4, 16, 17, 18, 19], hn = [
|
|
1783
1783
|
"scale_0",
|
|
@@ -1845,8 +1845,6 @@ const dn = [
|
|
|
1845
1845
|
"f_rest_45"
|
|
1846
1846
|
], Gt = hn.map((m, e) => e), [
|
|
1847
1847
|
Ps,
|
|
1848
|
-
mr,
|
|
1849
|
-
Ar,
|
|
1850
1848
|
gr,
|
|
1851
1849
|
Cr,
|
|
1852
1850
|
Sr,
|
|
@@ -1854,11 +1852,13 @@ const dn = [
|
|
|
1854
1852
|
xr,
|
|
1855
1853
|
Ir,
|
|
1856
1854
|
Tr,
|
|
1855
|
+
wr,
|
|
1856
|
+
Br,
|
|
1857
1857
|
Wt,
|
|
1858
1858
|
un,
|
|
1859
1859
|
pn,
|
|
1860
1860
|
Os
|
|
1861
|
-
] = Gt, ks = Wt,
|
|
1861
|
+
] = Gt, ks = Wt, Er = un, vr = pn, It = (m) => {
|
|
1862
1862
|
const e = (31744 & m) >> 10, s = 1023 & m;
|
|
1863
1863
|
return (m >> 15 ? -1 : 1) * (e ? e === 31 ? s ? NaN : 1 / 0 : Math.pow(2, e - 15) * (1 + s / 1024) : s / 1024 * 6103515625e-14);
|
|
1864
1864
|
};
|
|
@@ -1950,19 +1950,19 @@ class Ee {
|
|
|
1950
1950
|
return function(g, x, w, y, B = 0, S = 0) {
|
|
1951
1951
|
S = Math.min(S, w.sphericalHarmonicsDegree), Ee.readSplat(g, w, x, B, e);
|
|
1952
1952
|
const E = P.createSplat(S);
|
|
1953
|
-
if (e[Ps] !== void 0 ? (E[i] = y[xt][e[Ps]], E[o] = y[xt][e[
|
|
1953
|
+
if (e[Ps] !== void 0 ? (E[i] = y[xt][e[Ps]], E[o] = y[xt][e[gr]], E[a] = y[xt][e[Cr]]) : (E[i] = 0.01, E[o] = 0.01, E[a] = 0.01), e[Wt] !== void 0 ? (E[h] = y[yt][e[Wt]], E[f] = y[yt][e[un]], E[p] = y[yt][e[pn]]) : e[ks] !== void 0 ? (E[h] = e[ks] * 255, E[f] = e[Er] * 255, E[p] = e[vr] * 255) : (E[h] = 0, E[f] = 0, E[p] = 0), e[Os] !== void 0 && (E[A] = y[Rs][e[Os]]), E[h] = oe(Math.floor(E[h]), 0, 255), E[f] = oe(Math.floor(E[f]), 0, 255), E[p] = oe(Math.floor(E[p]), 0, 255), E[A] = oe(Math.floor(E[A]), 0, 255), S >= 1 && w.sphericalHarmonicsDegree >= 1) {
|
|
1954
1954
|
for (let k = 0; k < 9; k++) {
|
|
1955
|
-
const M = y[
|
|
1955
|
+
const M = y[fr + k % 3];
|
|
1956
1956
|
E[C[k]] = M[e[w.sphericalHarmonicsDegree1Fields[k]]];
|
|
1957
1957
|
}
|
|
1958
1958
|
if (S >= 2 && w.sphericalHarmonicsDegree >= 2)
|
|
1959
1959
|
for (let k = 0; k < 15; k++) {
|
|
1960
|
-
const M = y[
|
|
1960
|
+
const M = y[mr + k % 5];
|
|
1961
1961
|
E[C[9 + k]] = M[e[w.sphericalHarmonicsDegree2Fields[k]]];
|
|
1962
1962
|
}
|
|
1963
1963
|
}
|
|
1964
|
-
const F = y[
|
|
1965
|
-
return s.set(F, b, D, R), s.normalize(), E[l] = s.x, E[c] = s.y, E[d] = s.z, E[u] = s.w, E[t] = It(e[
|
|
1964
|
+
const F = y[Ar][e[Sr]], b = y[Ut][e[yr]], D = y[Ut][e[xr]], R = y[Ut][e[Ir]];
|
|
1965
|
+
return s.set(F, b, D, R), s.normalize(), E[l] = s.x, E[c] = s.y, E[d] = s.z, E[u] = s.w, E[t] = It(e[Tr]), E[n] = It(e[wr]), E[r] = It(e[Br]), E;
|
|
1966
1966
|
};
|
|
1967
1967
|
})();
|
|
1968
1968
|
static readSplat(e, s, t, n, r) {
|
|
@@ -2319,30 +2319,30 @@ class os {
|
|
|
2319
2319
|
)) : ve(() => Ls.parseToUncompressedSplatBuffer(e, r));
|
|
2320
2320
|
}
|
|
2321
2321
|
}
|
|
2322
|
-
const
|
|
2322
|
+
const Fr = (m) => new ReadableStream({
|
|
2323
2323
|
async start(e) {
|
|
2324
2324
|
e.enqueue(m), e.close();
|
|
2325
2325
|
}
|
|
2326
2326
|
});
|
|
2327
|
-
async function
|
|
2327
|
+
async function Dr(m) {
|
|
2328
2328
|
try {
|
|
2329
|
-
const e =
|
|
2329
|
+
const e = Fr(m);
|
|
2330
2330
|
if (!e) throw new Error("Failed to create stream from data");
|
|
2331
|
-
return await
|
|
2331
|
+
return await br(e);
|
|
2332
2332
|
} catch (e) {
|
|
2333
2333
|
throw console.error("Error decompressing gzipped data:", e), e;
|
|
2334
2334
|
}
|
|
2335
2335
|
}
|
|
2336
|
-
async function
|
|
2336
|
+
async function br(m) {
|
|
2337
2337
|
const e = m.pipeThrough(new DecompressionStream("gzip")), t = await new Response(e).arrayBuffer();
|
|
2338
2338
|
return new Uint8Array(t);
|
|
2339
2339
|
}
|
|
2340
|
-
const
|
|
2341
|
-
function
|
|
2340
|
+
const Mr = 1347635022, Rr = 1, Pr = 0.15;
|
|
2341
|
+
function Or(m) {
|
|
2342
2342
|
const e = m >> 15 & 1, s = m >> 10 & 31, t = m & 1023, n = e === 1 ? -1 : 1;
|
|
2343
2343
|
return s === 0 ? n * Math.pow(2, -14) * t / 1024 : s === 31 ? t !== 0 ? NaN : n * (1 / 0) : n * Math.pow(2, s - 15) * (1 + t / 1024);
|
|
2344
2344
|
}
|
|
2345
|
-
function
|
|
2345
|
+
function kr(m) {
|
|
2346
2346
|
return (m - 128) / 128;
|
|
2347
2347
|
}
|
|
2348
2348
|
function Ve(m) {
|
|
@@ -2359,7 +2359,7 @@ function Ve(m) {
|
|
|
2359
2359
|
return console.error(`[SPZ: ERROR] Unsupported SH degree: ${m}`), 0;
|
|
2360
2360
|
}
|
|
2361
2361
|
}
|
|
2362
|
-
const
|
|
2362
|
+
const Lr = (function() {
|
|
2363
2363
|
let m = [];
|
|
2364
2364
|
const e = new ge(), s = P.OFFSET.X, t = P.OFFSET.Y, n = P.OFFSET.Z, r = P.OFFSET.SCALE0, i = P.OFFSET.SCALE1, o = P.OFFSET.SCALE2, a = P.OFFSET.ROTATION0, l = P.OFFSET.ROTATION1, c = P.OFFSET.ROTATION2, d = P.OFFSET.ROTATION3, u = P.OFFSET.FDC0, h = P.OFFSET.FDC1, f = P.OFFSET.FDC2, p = P.OFFSET.OPACITY, A = [Ve(0), Ve(1), Ve(2), Ve(3)], C = [
|
|
2365
2365
|
0,
|
|
@@ -2421,13 +2421,13 @@ const Or = (function() {
|
|
|
2421
2421
|
return e.set(g.rotation[3], g.rotation[0], g.rotation[1], g.rotation[2]), e.normalize(), y[a] = e.x, y[l] = e.y, y[c] = e.z, y[d] = e.w, y[s] = g.position[0], y[t] = g.position[1], y[n] = g.position[2], y;
|
|
2422
2422
|
};
|
|
2423
2423
|
})();
|
|
2424
|
-
function
|
|
2424
|
+
function Hr(m, e, s, t) {
|
|
2425
2425
|
return !(m.positions.length !== e * 3 * (t ? 2 : 3) || m.scales.length !== e * 3 || m.rotations.length !== e * 3 || m.alphas.length !== e || m.colors.length !== e * 3 || m.sh.length !== e * s * 3);
|
|
2426
2426
|
}
|
|
2427
2427
|
function zs(m, e, s, t, n) {
|
|
2428
2428
|
e = Math.min(e, m.shDegree);
|
|
2429
2429
|
const r = m.numPoints, i = Ve(m.shDegree), o = m.positions.length === r * 3 * 2;
|
|
2430
|
-
if (!
|
|
2430
|
+
if (!Hr(m, r, i, o))
|
|
2431
2431
|
return null;
|
|
2432
2432
|
const a = {
|
|
2433
2433
|
position: [],
|
|
@@ -2443,7 +2443,7 @@ function zs(m, e, s, t, n) {
|
|
|
2443
2443
|
for (let h = 0; h < r; h++) {
|
|
2444
2444
|
if (o)
|
|
2445
2445
|
for (let g = 0; g < 3; g++)
|
|
2446
|
-
a.position[g] =
|
|
2446
|
+
a.position[g] = Or(l[h * 3 + g]);
|
|
2447
2447
|
else
|
|
2448
2448
|
for (let g = 0; g < 3; g++) {
|
|
2449
2449
|
const x = h * 9 + g * 3;
|
|
@@ -2461,11 +2461,11 @@ function zs(m, e, s, t, n) {
|
|
|
2461
2461
|
const A = p[0] * p[0] + p[1] * p[1] + p[2] * p[2];
|
|
2462
2462
|
a.rotation[3] = Math.sqrt(Math.max(0, 1 - A)), a.alpha = Math.floor(m.alphas[h]);
|
|
2463
2463
|
for (let g = 0; g < 3; g++)
|
|
2464
|
-
a.color[g] = Math.floor(((m.colors[h * 3 + g] / 255 - 0.5) /
|
|
2464
|
+
a.color[g] = Math.floor(((m.colors[h * 3 + g] / 255 - 0.5) / Pr * u + 0.5) * 255);
|
|
2465
2465
|
for (let g = 0; g < 3; g++)
|
|
2466
2466
|
for (let x = 0; x < d; x++)
|
|
2467
|
-
a.sh[g * d + x] =
|
|
2468
|
-
const C =
|
|
2467
|
+
a.sh[g * d + x] = kr(m.sh[d * 3 * h + x * 3 + g]);
|
|
2468
|
+
const C = Lr(a, m.shDegree, e);
|
|
2469
2469
|
if (s) {
|
|
2470
2470
|
const g = I.CompressionLevels[0].SphericalHarmonicsDegrees[e].BytesPerSplat, x = h * g + n;
|
|
2471
2471
|
I.writeSplatDataToSectionBuffer(C, t, x, 0, e);
|
|
@@ -2473,8 +2473,8 @@ function zs(m, e, s, t, n) {
|
|
|
2473
2473
|
t.addSplat(C);
|
|
2474
2474
|
}
|
|
2475
2475
|
}
|
|
2476
|
-
const
|
|
2477
|
-
function
|
|
2476
|
+
const Ur = 16, zr = 1e7;
|
|
2477
|
+
function _r(m) {
|
|
2478
2478
|
const e = new DataView(m);
|
|
2479
2479
|
let s = 0;
|
|
2480
2480
|
const t = {
|
|
@@ -2486,11 +2486,11 @@ function Ur(m) {
|
|
|
2486
2486
|
flags: e.getUint8(s + 14),
|
|
2487
2487
|
reserved: e.getUint8(s + 15)
|
|
2488
2488
|
};
|
|
2489
|
-
if (s +=
|
|
2489
|
+
if (s += Ur, t.magic !== Mr)
|
|
2490
2490
|
return console.error("[SPZ ERROR] deserializePackedGaussians: header not found"), null;
|
|
2491
2491
|
if (t.version < 1 || t.version > 2)
|
|
2492
2492
|
return console.error(`[SPZ ERROR] deserializePackedGaussians: version not supported: ${t.version}`), null;
|
|
2493
|
-
if (t.numPoints >
|
|
2493
|
+
if (t.numPoints > zr)
|
|
2494
2494
|
return console.error(`[SPZ ERROR] deserializePackedGaussians: Too many points: ${t.numPoints}`), null;
|
|
2495
2495
|
if (t.shDegree > 3)
|
|
2496
2496
|
return console.error(`[SPZ ERROR] deserializePackedGaussians: Unsupported SH degree: ${t.shDegree}`), null;
|
|
@@ -2498,7 +2498,7 @@ function Ur(m) {
|
|
|
2498
2498
|
numPoints: n,
|
|
2499
2499
|
shDegree: t.shDegree,
|
|
2500
2500
|
fractionalBits: t.fractionalBits,
|
|
2501
|
-
antialiased: (t.flags &
|
|
2501
|
+
antialiased: (t.flags & Rr) !== 0,
|
|
2502
2502
|
positions: new Uint8Array(n * 3 * (i ? 2 : 3)),
|
|
2503
2503
|
scales: new Uint8Array(n * 3),
|
|
2504
2504
|
rotations: new Uint8Array(n * 3),
|
|
@@ -2516,10 +2516,10 @@ function Ur(m) {
|
|
|
2516
2516
|
}
|
|
2517
2517
|
return o;
|
|
2518
2518
|
}
|
|
2519
|
-
async function
|
|
2519
|
+
async function Qr(m) {
|
|
2520
2520
|
try {
|
|
2521
|
-
const e = await
|
|
2522
|
-
return
|
|
2521
|
+
const e = await Dr(m);
|
|
2522
|
+
return _r(e.buffer);
|
|
2523
2523
|
} catch (e) {
|
|
2524
2524
|
return console.error("[SPZ ERROR] loadSpzPacked: decompression error", e), null;
|
|
2525
2525
|
}
|
|
@@ -2540,7 +2540,7 @@ class is {
|
|
|
2540
2540
|
}
|
|
2541
2541
|
static async loadFromFileData(e, s, t, n, r = 0, i, o, a, l) {
|
|
2542
2542
|
await ve();
|
|
2543
|
-
const c = await
|
|
2543
|
+
const c = await Qr(e);
|
|
2544
2544
|
r = Math.min(c.shDegree, r);
|
|
2545
2545
|
const d = new P(r);
|
|
2546
2546
|
if (n)
|
|
@@ -2848,7 +2848,7 @@ const Te = {
|
|
|
2848
2848
|
KSplat: 1,
|
|
2849
2849
|
Ply: 2,
|
|
2850
2850
|
Spz: 3
|
|
2851
|
-
}, Qs = (m) => m.endsWith(".ply") ? Te.Ply : m.endsWith(".splat") ? Te.Splat : m.endsWith(".ksplat") ? Te.KSplat : m.endsWith(".spz") ? Te.Spz : null, Ns = { type: "change" }, zt = { type: "start" }, Vs = { type: "end" }, Tt = new kn(), Gs = new Ln(),
|
|
2851
|
+
}, Qs = (m) => m.endsWith(".ply") ? Te.Ply : m.endsWith(".splat") ? Te.Splat : m.endsWith(".ksplat") ? Te.KSplat : m.endsWith(".spz") ? Te.Spz : null, Ns = { type: "change" }, zt = { type: "start" }, Vs = { type: "end" }, Tt = new kn(), Gs = new Ln(), Nr = Math.cos(70 * tn.DEG2RAD);
|
|
2852
2852
|
class wt extends bn {
|
|
2853
2853
|
constructor(e, s) {
|
|
2854
2854
|
super(), this.object = e, this.domElement = s, this.domElement.style.touchAction = "none", this.enabled = !0, this.target = new v(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -1 / 0, this.maxAzimuthAngle = 1 / 0, this.enableDamping = !1, this.dampingFactor = 0.05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !0, this.keyPanSpeed = 7, this.zoomToCursor = !1, this.autoRotate = !1, this.autoRotateSpeed = 2, this.keys = { LEFT: "KeyA", UP: "KeyW", RIGHT: "KeyD", BOTTOM: "KeyS" }, this.mouseButtons = { LEFT: We.ROTATE, MIDDLE: We.DOLLY, RIGHT: We.PAN }, this.touches = { ONE: qe.ROTATE, TWO: qe.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this.getPolarAngle = function() {
|
|
@@ -2892,7 +2892,7 @@ class wt extends bn {
|
|
|
2892
2892
|
Ct.unproject(t.object), t.object.position.sub(Ct).add(ot), t.object.updateMatrixWorld(), rt = T.length();
|
|
2893
2893
|
} else
|
|
2894
2894
|
console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), t.zoomToCursor = !1;
|
|
2895
|
-
rt !== null && (this.screenSpacePanning ? t.target.set(0, 0, -1).transformDirection(t.object.matrix).multiplyScalar(rt).add(t.object.position) : (Tt.origin.copy(t.object.position), Tt.direction.set(0, 0, -1).transformDirection(t.object.matrix), Math.abs(t.object.up.dot(Tt.direction)) <
|
|
2895
|
+
rt !== null && (this.screenSpacePanning ? t.target.set(0, 0, -1).transformDirection(t.object.matrix).multiplyScalar(rt).add(t.object.position) : (Tt.origin.copy(t.object.position), Tt.direction.set(0, 0, -1).transformDirection(t.object.matrix), Math.abs(t.object.up.dot(Tt.direction)) < Nr ? e.lookAt(t.target) : (Gs.setFromNormalAndCoplanarPoint(t.object.up, t.target), Tt.intersectPlane(Gs, t.target))));
|
|
2896
2896
|
} else t.object.isOrthographicCamera && (t.object.zoom = Math.max(t.minZoom, Math.min(t.maxZoom, t.object.zoom / l)), t.object.updateProjectionMatrix(), gt = !0);
|
|
2897
2897
|
return l = 1, B = !1, gt || me.distanceToSquared(t.object.position) > i || 8 * (1 - Be.dot(t.object.quaternion)) > i || Ge.distanceToSquared(t.target) > 0 ? (t.dispatchEvent(Ns), me.copy(t.object.position), Be.copy(t.object.quaternion), Ge.copy(t.target), gt = !1, !0) : !1;
|
|
2898
2898
|
};
|
|
@@ -3218,7 +3218,7 @@ class wt extends bn {
|
|
|
3218
3218
|
t.domElement.addEventListener("contextmenu", us), t.domElement.addEventListener("pointerdown", Ce), t.domElement.addEventListener("pointercancel", Le), t.domElement.addEventListener("wheel", hs, { passive: !1 }), this.update();
|
|
3219
3219
|
}
|
|
3220
3220
|
}
|
|
3221
|
-
const
|
|
3221
|
+
const Vr = (m, e, s, t, n) => {
|
|
3222
3222
|
const r = performance.now();
|
|
3223
3223
|
let i = m.style.display === "none" ? 0 : parseFloat(m.style.opacity);
|
|
3224
3224
|
isNaN(i) && (i = 1);
|
|
@@ -3230,7 +3230,7 @@ const Qr = (m, e, s, t, n) => {
|
|
|
3230
3230
|
e ? (d = (1 - c) * i, d < 1e-4 && (d = 0)) : d = (1 - i) * c + i, d > 0 ? (m.style.display = s, m.style.opacity = d) : m.style.display = "none", c >= 1 && (n && n(), window.clearInterval(o));
|
|
3231
3231
|
}, 16);
|
|
3232
3232
|
return o;
|
|
3233
|
-
},
|
|
3233
|
+
}, Gr = 500;
|
|
3234
3234
|
class ls {
|
|
3235
3235
|
static elementIDGen = 0;
|
|
3236
3236
|
constructor(e, s) {
|
|
@@ -3382,7 +3382,7 @@ class ls {
|
|
|
3382
3382
|
}
|
|
3383
3383
|
setMinimized(e, s) {
|
|
3384
3384
|
const t = (n, r, i, o, a) => {
|
|
3385
|
-
i ? n.style.display = r ? o : "none" : this.fadeTransitions[a] =
|
|
3385
|
+
i ? n.style.display = r ? o : "none" : this.fadeTransitions[a] = Vr(n, !r, o, Gr, () => {
|
|
3386
3386
|
this.fadeTransitions[a] = null;
|
|
3387
3387
|
});
|
|
3388
3388
|
};
|
|
@@ -3392,7 +3392,7 @@ class ls {
|
|
|
3392
3392
|
this.messageContainerPrimary.innerHTML = e, this.messageContainerMin.innerHTML = e;
|
|
3393
3393
|
}
|
|
3394
3394
|
}
|
|
3395
|
-
class
|
|
3395
|
+
class Wr {
|
|
3396
3396
|
constructor(e) {
|
|
3397
3397
|
this.idGen = 0, this.tasks = [], this.container = e || document.body, this.progressBarContainerOuter = document.createElement("div"), this.progressBarContainerOuter.className = "progressBarOuterContainer", this.progressBarContainerOuter.style.display = "none", this.progressBarBox = document.createElement("div"), this.progressBarBox.className = "progressBarBox", this.progressBarBackground = document.createElement("div"), this.progressBarBackground.className = "progressBarBackground", this.progressBar = document.createElement("div"), this.progressBar.className = "progressBar", this.progressBarBackground.appendChild(this.progressBar), this.progressBarBox.appendChild(this.progressBarBackground), this.progressBarContainerOuter.appendChild(this.progressBarBox);
|
|
3398
3398
|
const s = document.createElement("style");
|
|
@@ -3456,7 +3456,7 @@ class Vr {
|
|
|
3456
3456
|
this.container && this.progressBarContainerOuter.parentElement === this.container && this.container.removeChild(this.progressBarContainerOuter), e && (this.container = e, this.container.appendChild(this.progressBarContainerOuter), this.progressBarContainerOuter.style.zIndex = this.container.style.zIndex + 1);
|
|
3457
3457
|
}
|
|
3458
3458
|
}
|
|
3459
|
-
class
|
|
3459
|
+
class qr {
|
|
3460
3460
|
constructor(e) {
|
|
3461
3461
|
this.container = e || document.body, this.infoCells = {};
|
|
3462
3462
|
const s = [
|
|
@@ -3546,7 +3546,7 @@ class Gr {
|
|
|
3546
3546
|
}
|
|
3547
3547
|
}
|
|
3548
3548
|
const Ws = new v();
|
|
3549
|
-
class
|
|
3549
|
+
class Kr extends Je {
|
|
3550
3550
|
constructor(e = new v(0, 0, 1), s = new v(0, 0, 0), t = 1, n = 0.1, r = 16776960, i = t * 0.2, o = i * 0.2) {
|
|
3551
3551
|
super(), this.type = "ArrowHelper";
|
|
3552
3552
|
const a = new Is(n, n, t, 32);
|
|
@@ -3696,7 +3696,7 @@ class ht {
|
|
|
3696
3696
|
s.transparent = !0, s.opacity = 0.6, s.depthTest = !1, s.depthWrite = !1, s.side = Kt;
|
|
3697
3697
|
const t = new De(e, s), n = new v(0, 1, 0);
|
|
3698
3698
|
n.normalize();
|
|
3699
|
-
const r = new v(0, 0, 0), i = 0.5, o = 0.01, a = 56576, l = new
|
|
3699
|
+
const r = new v(0, 0, 0), i = 0.5, o = 0.01, a = 56576, l = new Kr(n, r, i, o, a, 0.1, 0.03);
|
|
3700
3700
|
this.controlPlane = new Je(), this.controlPlane.add(t), this.controlPlane.add(l);
|
|
3701
3701
|
}
|
|
3702
3702
|
}
|
|
@@ -3862,7 +3862,7 @@ class ht {
|
|
|
3862
3862
|
this.destroyMeshCursor(), this.destroyFocusMarker(), this.destroyDebugMeshes(), this.destroyControlPlane(), this.destroyRenderTargetCopyObjects(), this.destroySplatRendertarget();
|
|
3863
3863
|
}
|
|
3864
3864
|
}
|
|
3865
|
-
const
|
|
3865
|
+
const jr = new v(1, 0, 0), Yr = new v(0, 1, 0), Xr = new v(0, 0, 1);
|
|
3866
3866
|
class _t {
|
|
3867
3867
|
constructor(e = new v(), s = new v()) {
|
|
3868
3868
|
this.origin = new v(), this.direction = new v(), this.setParameters(e, s);
|
|
@@ -3880,7 +3880,7 @@ class _t {
|
|
|
3880
3880
|
return i && (i.origin.copy(this.origin), i.normal.set(0, 0, 0), i.distance = -1), !0;
|
|
3881
3881
|
for (let o = 0; o < 3; o++) {
|
|
3882
3882
|
if (n[o] == 0) continue;
|
|
3883
|
-
const a = o == 0 ?
|
|
3883
|
+
const a = o == 0 ? jr : o == 1 ? Yr : Xr, l = n[o] < 0 ? r.max : r.min;
|
|
3884
3884
|
let c = -Math.sign(n[o]);
|
|
3885
3885
|
s[0] = o == 0 ? l.x : o == 1 ? l.y : l.z;
|
|
3886
3886
|
let d = s[0] - t[o];
|
|
@@ -3926,7 +3926,7 @@ const ke = {
|
|
|
3926
3926
|
ThreeD: 0,
|
|
3927
3927
|
TwoD: 1
|
|
3928
3928
|
};
|
|
3929
|
-
class
|
|
3929
|
+
class Jr {
|
|
3930
3930
|
constructor(e, s, t = !1) {
|
|
3931
3931
|
this.ray = new _t(e, s), this.raycastAgainstTrueSplatEllipsoid = t;
|
|
3932
3932
|
}
|
|
@@ -4872,7 +4872,7 @@ class Dt {
|
|
|
4872
4872
|
`;
|
|
4873
4873
|
}
|
|
4874
4874
|
}
|
|
4875
|
-
class
|
|
4875
|
+
class Zr {
|
|
4876
4876
|
/**
|
|
4877
4877
|
* Build the Three.js geometry that will be used to render the splats. The geometry is instanced and is made up of
|
|
4878
4878
|
* vertices for a single quad as well as an attribute buffer for the splat indexes.
|
|
@@ -4888,7 +4888,7 @@ class Xr {
|
|
|
4888
4888
|
return o.setUsage(On), r.setAttribute("splatIndex", o), r.instanceCount = 0, r;
|
|
4889
4889
|
}
|
|
4890
4890
|
}
|
|
4891
|
-
class
|
|
4891
|
+
class $r extends Je {
|
|
4892
4892
|
constructor(e, s = new v(), t = new ge(), n = new v(1, 1, 1), r = 1, i = 1, o = !0) {
|
|
4893
4893
|
super(), this.splatBuffer = e, this.position.copy(s), this.quaternion.copy(t), this.scale.copy(n), this.transform = new J(), this.minimumAlpha = r, this.opacity = i, this.visible = o;
|
|
4894
4894
|
}
|
|
@@ -4936,7 +4936,7 @@ class ut {
|
|
|
4936
4936
|
}), t;
|
|
4937
4937
|
}
|
|
4938
4938
|
}
|
|
4939
|
-
function
|
|
4939
|
+
function eo(m) {
|
|
4940
4940
|
let e = 0;
|
|
4941
4941
|
class s {
|
|
4942
4942
|
constructor(a, l) {
|
|
@@ -5069,7 +5069,7 @@ function Zr(m) {
|
|
|
5069
5069
|
o.data.process && i(o.data.process.centers, o.data.process.maxDepth, o.data.process.maxCentersPerNode);
|
|
5070
5070
|
};
|
|
5071
5071
|
}
|
|
5072
|
-
function
|
|
5072
|
+
function to(m, e, s, t, n) {
|
|
5073
5073
|
m.postMessage({
|
|
5074
5074
|
process: {
|
|
5075
5075
|
centers: e,
|
|
@@ -5078,16 +5078,16 @@ function $r(m, e, s, t, n) {
|
|
|
5078
5078
|
}
|
|
5079
5079
|
}, s);
|
|
5080
5080
|
}
|
|
5081
|
-
function
|
|
5081
|
+
function so() {
|
|
5082
5082
|
return new Worker(
|
|
5083
5083
|
URL.createObjectURL(
|
|
5084
|
-
new Blob(["(",
|
|
5084
|
+
new Blob(["(", eo.toString(), ")(self)"], {
|
|
5085
5085
|
type: "application/javascript"
|
|
5086
5086
|
})
|
|
5087
5087
|
)
|
|
5088
5088
|
);
|
|
5089
5089
|
}
|
|
5090
|
-
class
|
|
5090
|
+
class no {
|
|
5091
5091
|
constructor(e, s) {
|
|
5092
5092
|
this.maxDepth = e, this.maxCentersPerNode = s, this.subTrees = [], this.splatMesh = null;
|
|
5093
5093
|
}
|
|
@@ -5109,7 +5109,7 @@ class to {
|
|
|
5109
5109
|
* @return {undefined}
|
|
5110
5110
|
*/
|
|
5111
5111
|
processSplatMesh = function(e, s = () => !0, t, n) {
|
|
5112
|
-
this.splatTreeWorker || (this.splatTreeWorker =
|
|
5112
|
+
this.splatTreeWorker || (this.splatTreeWorker = so()), this.splatMesh = e, this.subTrees = [];
|
|
5113
5113
|
const r = new v(), i = (o, a) => {
|
|
5114
5114
|
const l = new Float32Array(a * 4);
|
|
5115
5115
|
let c = 0;
|
|
@@ -5154,7 +5154,7 @@ class to {
|
|
|
5154
5154
|
if (a()) return;
|
|
5155
5155
|
t && t(!0);
|
|
5156
5156
|
const c = l.map((d) => d.buffer);
|
|
5157
|
-
|
|
5157
|
+
to(this.splatTreeWorker, l, c, this.maxDepth, this.maxCentersPerNode);
|
|
5158
5158
|
});
|
|
5159
5159
|
});
|
|
5160
5160
|
});
|
|
@@ -5175,7 +5175,7 @@ class to {
|
|
|
5175
5175
|
s(t.rootNode, e);
|
|
5176
5176
|
}
|
|
5177
5177
|
}
|
|
5178
|
-
function
|
|
5178
|
+
function ro(m) {
|
|
5179
5179
|
const e = {};
|
|
5180
5180
|
function s(t) {
|
|
5181
5181
|
if (e[t] !== void 0)
|
|
@@ -5212,7 +5212,7 @@ function so(m) {
|
|
|
5212
5212
|
}
|
|
5213
5213
|
};
|
|
5214
5214
|
}
|
|
5215
|
-
function
|
|
5215
|
+
function oo(m, e, s) {
|
|
5216
5216
|
let t;
|
|
5217
5217
|
function n() {
|
|
5218
5218
|
if (t !== void 0) return t;
|
|
@@ -5263,10 +5263,10 @@ const pt = {
|
|
|
5263
5263
|
}, tt = {
|
|
5264
5264
|
None: 0,
|
|
5265
5265
|
Info: 3
|
|
5266
|
-
}, qs = new sn(),
|
|
5266
|
+
}, qs = new sn(), io = new ft(), Bt = 6, ao = 4, lo = 4, co = 4, ho = 6, uo = 8, Qt = 4, Nt = 4, Ks = 1, po = 0.012, fo = 3e-3, js = 1, Ys = 16777216;
|
|
5267
5267
|
class ye extends De {
|
|
5268
5268
|
constructor(e = ke.ThreeD, s = !1, t = !1, n = !1, r = 1, i = !0, o = !1, a = !1, l = 1024, c = tt.None, d = 0, u = 1, h = 0.3) {
|
|
5269
|
-
super(qs,
|
|
5269
|
+
super(qs, io), this.renderer = void 0, this.splatRenderMode = e, this.dynamicMode = s, this.enableOptionalEffects = t, this.halfPrecisionCovariancesOnGPU = n, this.devicePixelRatio = r, this.enableDistancesComputationOnGPU = i, this.integerBasedDistancesComputation = o, this.antialiased = a, this.kernel2DSize = h, this.maxScreenSpaceSplatSize = l, this.logLevel = c, this.sphericalHarmonicsDegree = d, this.minSphericalHarmonicsDegree = 0, this.sceneFadeInRateMultiplier = u, this.scenes = [], this.splatTree = null, this.baseSplatTree = null, this.splatDataTextures = {}, this.distancesTransformFeedback = {
|
|
5270
5270
|
id: null,
|
|
5271
5271
|
vertexShader: null,
|
|
5272
5272
|
fragmentShader: null,
|
|
@@ -5314,7 +5314,7 @@ class ye extends De {
|
|
|
5314
5314
|
return n;
|
|
5315
5315
|
}
|
|
5316
5316
|
static createScene(e, s, t, n, r, i = 1, o = !0) {
|
|
5317
|
-
return new
|
|
5317
|
+
return new $r(e, s, t, n, r, i, o);
|
|
5318
5318
|
}
|
|
5319
5319
|
/**
|
|
5320
5320
|
* Build data structures that map global splat indexes (based on a unified index across all splat buffers) to
|
|
@@ -5346,7 +5346,7 @@ class ye extends De {
|
|
|
5346
5346
|
*/
|
|
5347
5347
|
buildSplatTree = function(e = [], s, t) {
|
|
5348
5348
|
return new Promise((n) => {
|
|
5349
|
-
this.disposeSplatTree(), this.baseSplatTree = new
|
|
5349
|
+
this.disposeSplatTree(), this.baseSplatTree = new no(8, 1e3);
|
|
5350
5350
|
const r = performance.now(), i = new qt();
|
|
5351
5351
|
this.baseSplatTree.processSplatMesh(this, (o) => {
|
|
5352
5352
|
this.getSplatColor(o, i);
|
|
@@ -5417,7 +5417,7 @@ class ye extends De {
|
|
|
5417
5417
|
}
|
|
5418
5418
|
let u = !0;
|
|
5419
5419
|
if ((this.scenes.length !== 1 || this.lastBuildSceneCount !== this.scenes.length || this.lastBuildMaxSplatCount !== a || d) && (u = !1), !u) {
|
|
5420
|
-
this.boundingBox = new it(), o || (this.maxSplatDistanceFromSceneCenter = 0, this.visibleRegionBufferRadius = 0, this.visibleRegionRadius = 0, this.visibleRegionFadeStartRadius = 0, this.firstRenderTime = -1), this.lastBuildScenes = [], this.lastBuildSplatCount = 0, this.lastBuildMaxSplatCount = 0, this.disposeMeshData(), this.geometry =
|
|
5420
|
+
this.boundingBox = new it(), o || (this.maxSplatDistanceFromSceneCenter = 0, this.visibleRegionBufferRadius = 0, this.visibleRegionRadius = 0, this.visibleRegionFadeStartRadius = 0, this.firstRenderTime = -1), this.lastBuildScenes = [], this.lastBuildSplatCount = 0, this.lastBuildMaxSplatCount = 0, this.disposeMeshData(), this.geometry = Zr.build(a), this.splatRenderMode === ke.ThreeD ? this.material = Ft.build(
|
|
5421
5421
|
this.dynamicMode,
|
|
5422
5422
|
this.enableOptionalEffects,
|
|
5423
5423
|
this.antialiased,
|
|
@@ -5564,7 +5564,7 @@ class ye extends De {
|
|
|
5564
5564
|
const F = new N(4096, 1024);
|
|
5565
5565
|
for (; F.x * F.y * S < e * E; ) F.y *= 2;
|
|
5566
5566
|
return F;
|
|
5567
|
-
}, n = (S) => S >= 1 ?
|
|
5567
|
+
}, n = (S) => S >= 1 ? ho : lo, r = (S) => {
|
|
5568
5568
|
const E = n(S), F = t(E, 6);
|
|
5569
5569
|
return { elementsPerTexelStored: E, texSize: F };
|
|
5570
5570
|
};
|
|
@@ -5605,7 +5605,7 @@ class ye extends De {
|
|
|
5605
5605
|
}, this.splatRenderMode === ke.ThreeD) {
|
|
5606
5606
|
const S = r(i), E = S.elementsPerTexelStored, F = S.texSize;
|
|
5607
5607
|
let b = i >= 1 ? Uint32Array : Float32Array;
|
|
5608
|
-
const D = i >= 1 ?
|
|
5608
|
+
const D = i >= 1 ? uo : co, R = new b(F.x * F.y * D);
|
|
5609
5609
|
i === 0 ? R.set(l) : ye.updatePaddedCompressedCovariancesTextureData(l, R, 0, 0, l.length);
|
|
5610
5610
|
let k;
|
|
5611
5611
|
if (i >= 1)
|
|
@@ -5762,7 +5762,7 @@ class ye extends De {
|
|
|
5762
5762
|
l.size,
|
|
5763
5763
|
u,
|
|
5764
5764
|
Nt,
|
|
5765
|
-
|
|
5765
|
+
ao,
|
|
5766
5766
|
4,
|
|
5767
5767
|
e,
|
|
5768
5768
|
s
|
|
@@ -5953,7 +5953,7 @@ class ye extends De {
|
|
|
5953
5953
|
static updateCenterColorsPaddedData(e, s, t, n, r) {
|
|
5954
5954
|
for (let i = e; i <= s; i++) {
|
|
5955
5955
|
const o = i * 4, a = i * 3, l = i * 4;
|
|
5956
|
-
r[l] =
|
|
5956
|
+
r[l] = Gn(n, o), r[l + 1] = Ot(t[a]), r[l + 2] = Ot(t[a + 1]), r[l + 3] = Ot(t[a + 2]);
|
|
5957
5957
|
}
|
|
5958
5958
|
}
|
|
5959
5959
|
static updateScaleRotationsPaddedData(e, s, t, n, r) {
|
|
@@ -5979,7 +5979,7 @@ class ye extends De {
|
|
|
5979
5979
|
this.maxSplatDistanceFromSceneCenter - this.visibleRegionBufferRadius > js && (this.visibleRegionBufferRadius = this.maxSplatDistanceFromSceneCenter, this.visibleRegionRadius = Math.max(this.visibleRegionBufferRadius - js, 0)), this.finalBuild && (this.visibleRegionRadius = this.visibleRegionBufferRadius = this.maxSplatDistanceFromSceneCenter), this.updateVisibleRegionFadeDistance();
|
|
5980
5980
|
}
|
|
5981
5981
|
updateVisibleRegionFadeDistance(e = pt.Default) {
|
|
5982
|
-
const s =
|
|
5982
|
+
const s = po * this.sceneFadeInRateMultiplier, t = fo * this.sceneFadeInRateMultiplier, n = this.finalBuild ? s : t, r = e === pt.Default ? n : t;
|
|
5983
5983
|
this.visibleRegionFadeStartRadius = (this.visibleRegionRadius - this.visibleRegionFadeStartRadius) * r + this.visibleRegionFadeStartRadius;
|
|
5984
5984
|
const o = (this.visibleRegionBufferRadius > 0 ? this.visibleRegionFadeStartRadius / this.visibleRegionBufferRadius : 0) > 0.99, a = o || e === pt.Instant ? 1 : 0;
|
|
5985
5985
|
this.material.uniforms.visibleRegionFadeStartRadius.value = this.visibleRegionFadeStartRadius, this.material.uniforms.visibleRegionRadius.value = this.visibleRegionRadius, this.material.uniforms.firstRenderTime.value = this.firstRenderTime, this.material.uniforms.currentTime.value = performance.now(), this.material.uniforms.fadeInComplete.value = a, this.material.uniformsNeedUpdate = !0, this.visibleRegionChanging = !o;
|
|
@@ -6079,7 +6079,7 @@ class ye extends De {
|
|
|
6079
6079
|
setRenderer(e) {
|
|
6080
6080
|
if (e !== this.renderer) {
|
|
6081
6081
|
this.renderer = e;
|
|
6082
|
-
const s = this.renderer.getContext(), t = new
|
|
6082
|
+
const s = this.renderer.getContext(), t = new ro(s), n = new oo(s, t, {});
|
|
6083
6083
|
if (t.init(n), this.webGLUtils = new Tn(s, t), this.enableDistancesComputationOnGPU && this.getSplatCount() > 0) {
|
|
6084
6084
|
this.setupDistancesComputationTransformFeedback();
|
|
6085
6085
|
const { centers: r, sceneIndexes: i } = this.getDataForDistancesComputation(0, this.getSplatCount() - 1);
|
|
@@ -6501,8 +6501,8 @@ class ye extends De {
|
|
|
6501
6501
|
return new it(r, i);
|
|
6502
6502
|
}
|
|
6503
6503
|
}
|
|
6504
|
-
var po = "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", Xs = "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", fo = "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", mo = "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";
|
|
6505
|
-
function
|
|
6504
|
+
var mo = "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", Xs = "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", Ao = "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", go = "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";
|
|
6505
|
+
function Co(m) {
|
|
6506
6506
|
let e, s, t, n, r, i, o, a, l, c, d, u, h, f, p, A, C, g, x, w;
|
|
6507
6507
|
function y(B, S, E, F, b, D, R) {
|
|
6508
6508
|
const k = performance.now();
|
|
@@ -6606,17 +6606,17 @@ function Ao(m) {
|
|
|
6606
6606
|
}
|
|
6607
6607
|
};
|
|
6608
6608
|
}
|
|
6609
|
-
function
|
|
6609
|
+
function So(m, e, s, t, n, r = Y.DefaultSplatSortDistanceMapPrecision) {
|
|
6610
6610
|
const i = new Worker(
|
|
6611
6611
|
URL.createObjectURL(
|
|
6612
|
-
new Blob(["(",
|
|
6612
|
+
new Blob(["(", Co.toString(), ")(self)"], {
|
|
6613
6613
|
type: "application/javascript"
|
|
6614
6614
|
})
|
|
6615
6615
|
)
|
|
6616
6616
|
);
|
|
6617
|
-
let o =
|
|
6617
|
+
let o = mo;
|
|
6618
6618
|
const a = Yt() ? on() : null;
|
|
6619
|
-
!s && !e ? (o = Xs, a && a.major <= 16 && a.minor < 4 && (o =
|
|
6619
|
+
!s && !e ? (o = Xs, a && a.major <= 16 && a.minor < 4 && (o = go)) : s ? e || a && a.major <= 16 && a.minor < 4 && (o = Ao) : o = Xs;
|
|
6620
6620
|
const l = atob(o), c = new Uint8Array(l.length);
|
|
6621
6621
|
for (let d = 0; d < l.length; d++)
|
|
6622
6622
|
c[d] = l.charCodeAt(d);
|
|
@@ -6708,7 +6708,7 @@ class nt {
|
|
|
6708
6708
|
}
|
|
6709
6709
|
nt.xrSessionIsGranted = !1;
|
|
6710
6710
|
nt.registerSessionGrantedListener();
|
|
6711
|
-
class
|
|
6711
|
+
class yo {
|
|
6712
6712
|
static createButton(e, s = {}) {
|
|
6713
6713
|
const t = document.createElement("button");
|
|
6714
6714
|
function n() {
|
|
@@ -6766,7 +6766,7 @@ class Co {
|
|
|
6766
6766
|
const Vt = {
|
|
6767
6767
|
Always: 0,
|
|
6768
6768
|
Never: 2
|
|
6769
|
-
},
|
|
6769
|
+
}, xo = 50, Io = 0.75, To = 15e5, wo = 10, Bo = 2.5, Eo = 60;
|
|
6770
6770
|
class Ze {
|
|
6771
6771
|
constructor(e = {}) {
|
|
6772
6772
|
if (e.cameraUp || (e.cameraUp = [0, 1, 0]), this.cameraUp = new v().fromArray(e.cameraUp), e.initialCameraPosition || (e.initialCameraPosition = [0, 10, 15]), this.initialCameraPosition = new v().fromArray(e.initialCameraPosition), e.initialCameraLookAt || (e.initialCameraLookAt = [0, 0, 0]), this.initialCameraLookAt = new v().fromArray(e.initialCameraLookAt), this.dropInMode = e.dropInMode || !1, (e.selfDrivenMode === void 0 || e.selfDrivenMode === null) && (e.selfDrivenMode = !0), this.selfDrivenMode = e.selfDrivenMode && !this.dropInMode, this.selfDrivenUpdateFunc = this.selfDrivenUpdate.bind(this), e.useBuiltInControls === void 0 && (e.useBuiltInControls = !0), this.useBuiltInControls = e.useBuiltInControls, this.rootElement = e.rootElement, this.ignoreDevicePixelRatio = e.ignoreDevicePixelRatio || !1, this.devicePixelRatio = this.ignoreDevicePixelRatio ? 1 : window.devicePixelRatio || 1, this.halfPrecisionCovariancesOnGPU = e.halfPrecisionCovariancesOnGPU || !1, this.threeScene = e.threeScene, this.renderer = e.renderer, this.camera = e.camera, this.gpuAcceleratedSort = e.gpuAcceleratedSort || !1, (e.integerBasedSort === void 0 || e.integerBasedSort === null) && (e.integerBasedSort = !0), this.integerBasedSort = e.integerBasedSort, (e.sharedMemoryForWorkers === void 0 || e.sharedMemoryForWorkers === null) && (e.sharedMemoryForWorkers = !0), this.sharedMemoryForWorkers = e.sharedMemoryForWorkers, this.dynamicScene = !!e.dynamicScene, this.antialiased = e.antialiased || !1, this.kernel2DSize = e.kernel2DSize === void 0 ? 0.3 : e.kernel2DSize, this.webXRMode = e.webXRMode || Ye.None, this.webXRMode !== Ye.None && (this.gpuAcceleratedSort = !1), this.webXRActive = !1, this.webXRSessionInit = e.webXRSessionInit || {}, this.renderMode = e.renderMode || Vt.Always, this.sceneRevealMode = e.sceneRevealMode || pt.Default, this.focalAdjustment = e.focalAdjustment || 1, this.maxScreenSpaceSplatSize = e.maxScreenSpaceSplatSize || 1024, this.logLevel = e.logLevel || tt.None, this.sphericalHarmonicsDegree = e.sphericalHarmonicsDegree || 0, this.enableOptionalEffects = e.enableOptionalEffects || !1, (e.enableSIMDInSort === void 0 || e.enableSIMDInSort === null) && (e.enableSIMDInSort = !0), this.enableSIMDInSort = e.enableSIMDInSort, (e.inMemoryCompressionLevel === void 0 || e.inMemoryCompressionLevel === null) && (e.inMemoryCompressionLevel = 0), this.inMemoryCompressionLevel = e.inMemoryCompressionLevel, (e.optimizeSplatData === void 0 || e.optimizeSplatData === null) && (e.optimizeSplatData = !0), this.optimizeSplatData = e.optimizeSplatData, (e.freeIntermediateSplatData === void 0 || e.freeIntermediateSplatData === null) && (e.freeIntermediateSplatData = !1), this.freeIntermediateSplatData = e.freeIntermediateSplatData, Yt()) {
|
|
@@ -6775,7 +6775,7 @@ class Ze {
|
|
|
6775
6775
|
}
|
|
6776
6776
|
(e.splatRenderMode === void 0 || e.splatRenderMode === null) && (e.splatRenderMode = ke.ThreeD), this.splatRenderMode = e.splatRenderMode, this.sceneFadeInRateMultiplier = e.sceneFadeInRateMultiplier || 1, this.splatSortDistanceMapPrecision = e.splatSortDistanceMapPrecision || Y.DefaultSplatSortDistanceMapPrecision;
|
|
6777
6777
|
const s = this.integerBasedSort ? 20 : 24;
|
|
6778
|
-
this.splatSortDistanceMapPrecision = oe(this.splatSortDistanceMapPrecision, 10, s), this.onSplatMeshChangedCallback = null, this.createSplatMesh(), this.controls = null, this.perspectiveControls = null, this.orthographicControls = null, this.orthographicCamera = null, this.perspectiveCamera = null, this.showMeshCursor = !1, this.showControlPlane = !1, this.showInfo = !1, this.sceneHelper = null, this.sortWorker = null, this.sortRunning = !1, this.splatRenderCount = 0, this.splatSortCount = 0, this.lastSplatSortCount = 0, this.sortWorkerIndexesToSort = null, this.sortWorkerSortedIndexes = null, this.sortWorkerPrecomputedDistances = null, this.sortWorkerTransforms = null, this.preSortMessages = [], this.runAfterNextSort = [], this.selfDrivenModeRunning = !1, this.splatRenderReady = !1, this.raycaster = new
|
|
6778
|
+
this.splatSortDistanceMapPrecision = oe(this.splatSortDistanceMapPrecision, 10, s), this.onSplatMeshChangedCallback = null, this.createSplatMesh(), this.controls = null, this.perspectiveControls = null, this.orthographicControls = null, this.orthographicCamera = null, this.perspectiveCamera = null, this.showMeshCursor = !1, this.showControlPlane = !1, this.showInfo = !1, this.sceneHelper = null, this.sortWorker = null, this.sortRunning = !1, this.splatRenderCount = 0, this.splatSortCount = 0, this.lastSplatSortCount = 0, this.sortWorkerIndexesToSort = null, this.sortWorkerSortedIndexes = null, this.sortWorkerPrecomputedDistances = null, this.sortWorkerTransforms = null, this.preSortMessages = [], this.runAfterNextSort = [], this.selfDrivenModeRunning = !1, this.splatRenderReady = !1, this.raycaster = new Jr(), this.infoPanel = null, this.startInOrthographicMode = !1, this.currentFPS = 0, this.lastSortTime = 0, this.consecutiveRenderFrames = 0, this.previousCameraTarget = new v(), this.nextCameraTarget = new v(), this.mousePosition = new N(), this.mouseDownPosition = new N(), this.mouseDownTime = null, this.resizeObserver = null, this.mouseMoveListener = null, this.mouseDownListener = null, this.mouseUpListener = null, this.keyDownListener = null, this.sortPromise = null, this.sortPromiseResolver = null, this.splatSceneDownloadPromises = {}, this.splatSceneDownloadAndBuildPromise = null, this.splatSceneRemovalPromise = null, this.loadingSpinner = new ls(null, this.rootElement || document.body), this.loadingSpinner.hide(), this.loadingProgressBar = new Wr(this.rootElement || document.body), this.loadingProgressBar.hide(), this.infoPanel = new qr(this.rootElement || document.body), this.infoPanel.hide(), this.usingExternalCamera = !!(this.dropInMode || this.camera), this.usingExternalRenderer = !!(this.dropInMode || this.renderer), this.initialized = !1, this.disposing = !1, this.disposed = !1, this.disposePromise = null, this.dropInMode || this.init();
|
|
6779
6779
|
}
|
|
6780
6780
|
createSplatMesh() {
|
|
6781
6781
|
this.splatMesh = new ye(
|
|
@@ -6800,7 +6800,7 @@ class Ze {
|
|
|
6800
6800
|
setupCamera() {
|
|
6801
6801
|
if (!this.usingExternalCamera) {
|
|
6802
6802
|
const e = new N();
|
|
6803
|
-
this.getRenderDimensions(e), this.perspectiveCamera = new Zs(
|
|
6803
|
+
this.getRenderDimensions(e), this.perspectiveCamera = new Zs(xo, e.x / e.y, 0.1, 1e3), this.orthographicCamera = new $s(
|
|
6804
6804
|
e.x / -2,
|
|
6805
6805
|
e.x / 2,
|
|
6806
6806
|
e.y / 2,
|
|
@@ -6822,7 +6822,7 @@ class Ze {
|
|
|
6822
6822
|
}
|
|
6823
6823
|
}
|
|
6824
6824
|
setupWebXR(e) {
|
|
6825
|
-
this.webXRMode && (this.webXRMode === Ye.VR ? this.rootElement.appendChild(nt.createButton(this.renderer, e)) : this.webXRMode === Ye.AR && this.rootElement.appendChild(
|
|
6825
|
+
this.webXRMode && (this.webXRMode === Ye.VR ? this.rootElement.appendChild(nt.createButton(this.renderer, e)) : this.webXRMode === Ye.AR && this.rootElement.appendChild(yo.createButton(this.renderer, e)), this.renderer.xr.addEventListener("sessionstart", (s) => {
|
|
6826
6826
|
this.webXRActive = !0;
|
|
6827
6827
|
}), this.renderer.xr.addEventListener("sessionend", (s) => {
|
|
6828
6828
|
this.webXRActive = !1;
|
|
@@ -6911,7 +6911,7 @@ class Ze {
|
|
|
6911
6911
|
return function() {
|
|
6912
6912
|
if (!this.transitioningCameraTarget && (this.getRenderDimensions(e), t.length = 0, this.raycaster.setFromCameraAndScreenPosition(this.camera, this.mousePosition, e), this.raycaster.intersectSplatMesh(this.splatMesh, t), t.length > 0)) {
|
|
6913
6913
|
const r = t[0].origin;
|
|
6914
|
-
s.copy(r).sub(this.camera.position), s.length() >
|
|
6914
|
+
s.copy(r).sub(this.camera.position), s.length() > Io && (this.previousCameraTarget.copy(this.controls.target), this.nextCameraTarget.copy(r), this.transitioningCameraTarget = !0, this.transitioningCameraTargetStartTime = Ke());
|
|
6915
6915
|
}
|
|
6916
6916
|
};
|
|
6917
6917
|
})();
|
|
@@ -7341,7 +7341,7 @@ class Ze {
|
|
|
7341
7341
|
const c = (h) => {
|
|
7342
7342
|
if (this.isDisposingOrDisposed()) return;
|
|
7343
7343
|
const f = this.splatMesh.getSplatCount();
|
|
7344
|
-
r && f >=
|
|
7344
|
+
r && f >= To && !h && !e && (this.loadingSpinner.setMinimized(!0, !0), e = this.loadingSpinner.addTask("Optimizing data structures..."));
|
|
7345
7345
|
}, d = (h) => {
|
|
7346
7346
|
this.isDisposingOrDisposed() || h && e && (this.loadingSpinner.removeTask(e), e = null);
|
|
7347
7347
|
}, u = this.splatMesh.build(
|
|
@@ -7365,7 +7365,7 @@ class Ze {
|
|
|
7365
7365
|
if (!this.isDisposingOrDisposed())
|
|
7366
7366
|
return new Promise((s) => {
|
|
7367
7367
|
const t = this.integerBasedSort ? Int32Array : Float32Array, n = e.getSplatCount(), r = e.getMaxSplatCount();
|
|
7368
|
-
this.sortWorker =
|
|
7368
|
+
this.sortWorker = So(
|
|
7369
7369
|
r,
|
|
7370
7370
|
this.sharedMemoryForWorkers,
|
|
7371
7371
|
this.enableSIMDInSort,
|
|
@@ -7545,7 +7545,7 @@ class Ze {
|
|
|
7545
7545
|
updateFPS = (function() {
|
|
7546
7546
|
let e = Ke(), s = 0;
|
|
7547
7547
|
return function() {
|
|
7548
|
-
if (this.consecutiveRenderFrames >
|
|
7548
|
+
if (this.consecutiveRenderFrames > Eo) {
|
|
7549
7549
|
const t = Ke();
|
|
7550
7550
|
t - e >= 1 ? (this.currentFPS = s, s = 0, e = t) : s++;
|
|
7551
7551
|
} else
|
|
@@ -7585,13 +7585,13 @@ class Ze {
|
|
|
7585
7585
|
if (this.getRenderDimensions(e), this.transitioningCameraTarget) {
|
|
7586
7586
|
this.sceneHelper.setFocusMarkerVisibility(!0);
|
|
7587
7587
|
const n = Math.max(this.sceneHelper.getFocusMarkerOpacity(), 0);
|
|
7588
|
-
let r = Math.min(n +
|
|
7588
|
+
let r = Math.min(n + wo * t, 1);
|
|
7589
7589
|
this.sceneHelper.setFocusMarkerOpacity(r), this.sceneHelper.updateFocusMarker(this.nextCameraTarget, this.camera, e), s = !0, this.forceRenderNextFrame();
|
|
7590
7590
|
} else {
|
|
7591
7591
|
let n;
|
|
7592
7592
|
if (s ? n = 1 : n = Math.min(this.sceneHelper.getFocusMarkerOpacity(), 1), n > 0) {
|
|
7593
7593
|
this.sceneHelper.updateFocusMarker(this.nextCameraTarget, this.camera, e);
|
|
7594
|
-
let r = Math.max(n -
|
|
7594
|
+
let r = Math.max(n - Bo * t, 0);
|
|
7595
7595
|
this.sceneHelper.setFocusMarkerOpacity(r), r === 0 && this.sceneHelper.setFocusMarkerVisibility(!1);
|
|
7596
7596
|
}
|
|
7597
7597
|
n > 0 && this.forceRenderNextFrame(), s = !1;
|
|
@@ -7766,7 +7766,7 @@ class Ze {
|
|
|
7766
7766
|
return navigator.userAgent.includes("Mobi");
|
|
7767
7767
|
}
|
|
7768
7768
|
}
|
|
7769
|
-
class
|
|
7769
|
+
class vo {
|
|
7770
7770
|
renderer;
|
|
7771
7771
|
viewer;
|
|
7772
7772
|
container;
|
|
@@ -7775,11 +7775,12 @@ class Bo {
|
|
|
7775
7775
|
fpsFrameCount = 0;
|
|
7776
7776
|
fpsLastTime = performance.now();
|
|
7777
7777
|
fpsInfo = { fps: 0, frameTimeMs: 0, minFps: 0 };
|
|
7778
|
+
watermark;
|
|
7778
7779
|
onBeforeRenderCallback;
|
|
7779
7780
|
onAfterRenderCallback;
|
|
7780
7781
|
onFpsUpdatedCallback;
|
|
7781
7782
|
constructor(e, s, t, n) {
|
|
7782
|
-
this.container = e, this.renderer = this.createRenderer(n.antialias), this.viewer = new Ze({
|
|
7783
|
+
this.container = e, this.renderer = this.createRenderer(n.antialias), this.watermark = new Un(Hn), this.viewer = new Ze({
|
|
7783
7784
|
selfDrivenMode: !1,
|
|
7784
7785
|
renderer: this.renderer,
|
|
7785
7786
|
camera: t,
|
|
@@ -7823,7 +7824,7 @@ class Bo {
|
|
|
7823
7824
|
this.animationId = requestAnimationFrame(() => this.animate()), this.render();
|
|
7824
7825
|
}
|
|
7825
7826
|
render() {
|
|
7826
|
-
this.onBeforeRenderCallback?.(), this.viewer.update(this.renderer), this.viewer.render(), this.onAfterRenderCallback?.(), this.updateFps();
|
|
7827
|
+
this.onBeforeRenderCallback?.(), this.viewer.update(this.renderer), this.viewer.render(), this.watermark.render(this.renderer), this.onAfterRenderCallback?.(), this.updateFps();
|
|
7827
7828
|
}
|
|
7828
7829
|
updateFps() {
|
|
7829
7830
|
this.fpsFrameCount++;
|
|
@@ -7865,10 +7866,10 @@ class Bo {
|
|
|
7865
7866
|
return { ...this.fpsInfo };
|
|
7866
7867
|
}
|
|
7867
7868
|
async dispose() {
|
|
7868
|
-
this.pauseRendering(), await this.viewer.dispose(), this.container.contains(this.renderer.domElement) && this.container.removeChild(this.renderer.domElement), this.renderer.dispose(), this.renderer.forceContextLoss();
|
|
7869
|
+
this.pauseRendering(), await this.viewer.dispose(), this.container.contains(this.renderer.domElement) && this.container.removeChild(this.renderer.domElement), this.watermark.dispose(), this.renderer.dispose(), this.renderer.forceContextLoss();
|
|
7869
7870
|
}
|
|
7870
7871
|
}
|
|
7871
|
-
const
|
|
7872
|
+
const Fo = {
|
|
7872
7873
|
identity: [0, 0, 0, 1],
|
|
7873
7874
|
"x-90": [-0.7071068, 0, 0, 0.7071068],
|
|
7874
7875
|
x90: [0.7071068, 0, 0, 0.7071068],
|
|
@@ -7879,7 +7880,7 @@ const Eo = {
|
|
|
7879
7880
|
z90: [0, 0, 0.7071068, 0.7071068],
|
|
7880
7881
|
z180: [0, 0, 1, 0]
|
|
7881
7882
|
};
|
|
7882
|
-
class
|
|
7883
|
+
class Do {
|
|
7883
7884
|
orientationPreset;
|
|
7884
7885
|
constructor(e = "x180") {
|
|
7885
7886
|
this.orientationPreset = e;
|
|
@@ -7891,7 +7892,7 @@ class vo {
|
|
|
7891
7892
|
return this.orientationPreset;
|
|
7892
7893
|
}
|
|
7893
7894
|
getOrientationRotation() {
|
|
7894
|
-
return [...
|
|
7895
|
+
return [...Fo[this.orientationPreset]];
|
|
7895
7896
|
}
|
|
7896
7897
|
active() {
|
|
7897
7898
|
}
|
|
@@ -7902,10 +7903,10 @@ class vo {
|
|
|
7902
7903
|
dispose() {
|
|
7903
7904
|
}
|
|
7904
7905
|
}
|
|
7905
|
-
function
|
|
7906
|
+
function bo(m, e) {
|
|
7906
7907
|
return `${m}#${e}`;
|
|
7907
7908
|
}
|
|
7908
|
-
class
|
|
7909
|
+
class Mo {
|
|
7909
7910
|
viewer;
|
|
7910
7911
|
getDefaultRotation;
|
|
7911
7912
|
scenes = /* @__PURE__ */ new Map();
|
|
@@ -7923,7 +7924,7 @@ class Do {
|
|
|
7923
7924
|
};
|
|
7924
7925
|
await this.viewer.addSplatScene(e, n);
|
|
7925
7926
|
const r = {
|
|
7926
|
-
id: n.id ??
|
|
7927
|
+
id: n.id ?? bo(e, t),
|
|
7927
7928
|
name: n.name ?? e.split(/[\\/]/).pop() ?? e,
|
|
7928
7929
|
url: e,
|
|
7929
7930
|
index: t,
|
|
@@ -7961,7 +7962,7 @@ class Do {
|
|
|
7961
7962
|
});
|
|
7962
7963
|
}
|
|
7963
7964
|
}
|
|
7964
|
-
class
|
|
7965
|
+
class Lo {
|
|
7965
7966
|
eventModule;
|
|
7966
7967
|
sceneModule;
|
|
7967
7968
|
cameraModule;
|
|
@@ -7970,7 +7971,7 @@ class Oo {
|
|
|
7970
7971
|
loaderModule;
|
|
7971
7972
|
isInitialized = !1;
|
|
7972
7973
|
options;
|
|
7973
|
-
version =
|
|
7974
|
+
version = _n;
|
|
7974
7975
|
constructor(e) {
|
|
7975
7976
|
this.options = e, this.initialize(e);
|
|
7976
7977
|
}
|
|
@@ -7991,17 +7992,17 @@ class Oo {
|
|
|
7991
7992
|
}, t = document.getElementById(s.containerId);
|
|
7992
7993
|
if (!t)
|
|
7993
7994
|
throw new Error(`Container with id "${s.containerId}" not found`);
|
|
7994
|
-
this.eventModule = new
|
|
7995
|
+
this.eventModule = new Qn(), this.sceneModule = new Nn(s.backgroundColor), this.cameraModule = new Vn(
|
|
7995
7996
|
t,
|
|
7996
7997
|
s.cameraUp,
|
|
7997
7998
|
s.initialCameraPosition,
|
|
7998
7999
|
s.initialCameraLookAt
|
|
7999
|
-
), this.controlModule = new
|
|
8000
|
+
), this.controlModule = new Do(s.orientationPreset), this.renderModule = new vo(
|
|
8000
8001
|
t,
|
|
8001
8002
|
this.sceneModule.getScene(),
|
|
8002
8003
|
this.cameraModule.getCamera(),
|
|
8003
8004
|
s
|
|
8004
|
-
), this.loaderModule = new
|
|
8005
|
+
), this.loaderModule = new Mo(
|
|
8005
8006
|
this.renderModule.getViewer(),
|
|
8006
8007
|
() => this.controlModule.getOrientationRotation()
|
|
8007
8008
|
), this.renderModule.setOnBeforeRender(() => {
|
|
@@ -8033,7 +8034,7 @@ class Oo {
|
|
|
8033
8034
|
* 通过 viewToken 解析 Gaussian 资源地址,再复用现有 URL 加载逻辑。
|
|
8034
8035
|
*/
|
|
8035
8036
|
async loadModelByViewToken(e, s = {}) {
|
|
8036
|
-
const t = await
|
|
8037
|
+
const t = await zn(
|
|
8037
8038
|
this.options,
|
|
8038
8039
|
e,
|
|
8039
8040
|
"gaussian"
|
|
@@ -8086,5 +8087,5 @@ class Oo {
|
|
|
8086
8087
|
}
|
|
8087
8088
|
}
|
|
8088
8089
|
export {
|
|
8089
|
-
|
|
8090
|
+
Lo as EngineKernelGaussian
|
|
8090
8091
|
};
|