iflow-engine-base 4.0.16 → 4.0.19
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 +29 -40
- package/dist/bim-engine-sdk.umd.js +2754 -2392
- package/dist/chunks/{EngineKernel-BLJsCrxR.js → EngineKernel-CZX0Omjs.js} +2676 -2402
- package/dist/chunks/{engine-2d-DneQvSOi.js → engine-2d-CA5-uNuf.js} +5 -5
- package/dist/chunks/{engine-3d-B0D38zLu.js → engine-3d-BsWcD-bl.js} +7215 -6460
- package/dist/chunks/{engine-720-OdgX2p-d.js → engine-720-DiTJEtdN.js} +8 -8
- package/dist/chunks/{engine-gaussian-CQdrGBYh.js → engine-gaussian-BHUGuaw_.js} +227 -227
- package/dist/chunks/gis-tiles-vendor-DIbUOKJM.js +11781 -0
- package/dist/chunks/index-D7NwsYhB.js +2640 -0
- package/dist/chunks/{sdk-assets-Dh7PGW73.js → sdk-assets-DtcFvuth.js} +2 -2
- package/dist/chunks/{sdk-runtime-KslKRuwI.js → sdk-runtime-DN15bwdD.js} +761 -762
- package/dist/chunks/{sdk-vendor-CVc1LiJj.js → sdk-vendor-6wYtfmXR.js} +31044 -31044
- package/dist/chunks/{three-vendor-Ds9cgGKb.js → three-vendor-CGmeNMm5.js} +7963 -7954
- package/dist/gis-fixtures/terrain/0/0/0.terrain +0 -0
- package/dist/gis-fixtures/terrain/0/1/0.terrain +0 -0
- package/dist/gis-fixtures/terrain/1/2/0.terrain +0 -0
- package/dist/gis-fixtures/terrain/1/2/1.terrain +0 -0
- package/dist/gis-fixtures/terrain/1/3/0.terrain +0 -0
- package/dist/gis-fixtures/terrain/1/3/1.terrain +0 -0
- package/dist/gis-fixtures/terrain/10/1694/650.terrain +0 -0
- package/dist/gis-fixtures/terrain/10/1694/651.terrain +0 -0
- package/dist/gis-fixtures/terrain/10/1694/652.terrain +0 -0
- package/dist/gis-fixtures/terrain/10/1695/650.terrain +0 -0
- package/dist/gis-fixtures/terrain/10/1695/651.terrain +0 -0
- package/dist/gis-fixtures/terrain/10/1695/652.terrain +0 -0
- package/dist/gis-fixtures/terrain/10/1696/650.terrain +0 -0
- package/dist/gis-fixtures/terrain/10/1696/651.terrain +0 -0
- package/dist/gis-fixtures/terrain/10/1696/652.terrain +0 -0
- package/dist/gis-fixtures/terrain/11/3390/1301.terrain +0 -0
- package/dist/gis-fixtures/terrain/11/3390/1302.terrain +0 -0
- package/dist/gis-fixtures/terrain/11/3390/1303.terrain +0 -0
- package/dist/gis-fixtures/terrain/11/3391/1301.terrain +0 -0
- package/dist/gis-fixtures/terrain/11/3391/1302.terrain +0 -0
- package/dist/gis-fixtures/terrain/11/3391/1303.terrain +0 -0
- package/dist/gis-fixtures/terrain/11/3392/1301.terrain +0 -0
- package/dist/gis-fixtures/terrain/11/3392/1302.terrain +0 -0
- package/dist/gis-fixtures/terrain/11/3392/1303.terrain +0 -0
- package/dist/gis-fixtures/terrain/12/6782/2604.terrain +0 -0
- package/dist/gis-fixtures/terrain/12/6782/2605.terrain +0 -0
- package/dist/gis-fixtures/terrain/12/6782/2606.terrain +0 -0
- package/dist/gis-fixtures/terrain/12/6783/2604.terrain +0 -0
- package/dist/gis-fixtures/terrain/12/6783/2605.terrain +0 -0
- package/dist/gis-fixtures/terrain/12/6783/2606.terrain +0 -0
- package/dist/gis-fixtures/terrain/12/6784/2604.terrain +0 -0
- package/dist/gis-fixtures/terrain/12/6784/2605.terrain +0 -0
- package/dist/gis-fixtures/terrain/12/6784/2606.terrain +0 -0
- package/dist/gis-fixtures/terrain/13/13565/5209.terrain +0 -0
- package/dist/gis-fixtures/terrain/13/13565/5210.terrain +0 -0
- package/dist/gis-fixtures/terrain/13/13565/5211.terrain +0 -0
- package/dist/gis-fixtures/terrain/13/13566/5209.terrain +0 -0
- package/dist/gis-fixtures/terrain/13/13566/5210.terrain +0 -0
- package/dist/gis-fixtures/terrain/13/13566/5211.terrain +0 -0
- package/dist/gis-fixtures/terrain/13/13567/5209.terrain +0 -0
- package/dist/gis-fixtures/terrain/13/13567/5210.terrain +0 -0
- package/dist/gis-fixtures/terrain/13/13567/5211.terrain +0 -0
- package/dist/gis-fixtures/terrain/14/27131/10419.terrain +0 -0
- package/dist/gis-fixtures/terrain/14/27131/10420.terrain +0 -0
- package/dist/gis-fixtures/terrain/14/27131/10421.terrain +0 -0
- package/dist/gis-fixtures/terrain/14/27132/10419.terrain +0 -0
- package/dist/gis-fixtures/terrain/14/27132/10420.terrain +0 -0
- package/dist/gis-fixtures/terrain/14/27132/10421.terrain +0 -0
- package/dist/gis-fixtures/terrain/14/27133/10419.terrain +0 -0
- package/dist/gis-fixtures/terrain/14/27133/10420.terrain +0 -0
- package/dist/gis-fixtures/terrain/14/27133/10421.terrain +0 -0
- package/dist/gis-fixtures/terrain/2/5/1.terrain +0 -0
- package/dist/gis-fixtures/terrain/2/5/2.terrain +0 -0
- package/dist/gis-fixtures/terrain/2/5/3.terrain +0 -0
- package/dist/gis-fixtures/terrain/2/6/1.terrain +0 -0
- package/dist/gis-fixtures/terrain/2/6/2.terrain +0 -0
- package/dist/gis-fixtures/terrain/2/6/3.terrain +0 -0
- package/dist/gis-fixtures/terrain/2/7/1.terrain +0 -0
- package/dist/gis-fixtures/terrain/2/7/2.terrain +0 -0
- package/dist/gis-fixtures/terrain/2/7/3.terrain +0 -0
- package/dist/gis-fixtures/terrain/3/12/4.terrain +0 -0
- package/dist/gis-fixtures/terrain/3/12/5.terrain +0 -0
- package/dist/gis-fixtures/terrain/3/12/6.terrain +0 -0
- package/dist/gis-fixtures/terrain/3/13/4.terrain +0 -0
- package/dist/gis-fixtures/terrain/3/13/5.terrain +0 -0
- package/dist/gis-fixtures/terrain/3/13/6.terrain +0 -0
- package/dist/gis-fixtures/terrain/3/14/4.terrain +0 -0
- package/dist/gis-fixtures/terrain/3/14/5.terrain +0 -0
- package/dist/gis-fixtures/terrain/3/14/6.terrain +0 -0
- package/dist/gis-fixtures/terrain/4/25/10.terrain +0 -0
- package/dist/gis-fixtures/terrain/4/25/11.terrain +0 -0
- package/dist/gis-fixtures/terrain/4/25/9.terrain +0 -0
- package/dist/gis-fixtures/terrain/4/26/10.terrain +0 -0
- package/dist/gis-fixtures/terrain/4/26/11.terrain +0 -0
- package/dist/gis-fixtures/terrain/4/26/9.terrain +0 -0
- package/dist/gis-fixtures/terrain/4/27/10.terrain +0 -0
- package/dist/gis-fixtures/terrain/4/27/11.terrain +0 -0
- package/dist/gis-fixtures/terrain/4/27/9.terrain +0 -0
- package/dist/gis-fixtures/terrain/5/51/19.terrain +0 -0
- package/dist/gis-fixtures/terrain/5/51/20.terrain +0 -0
- package/dist/gis-fixtures/terrain/5/51/21.terrain +0 -0
- package/dist/gis-fixtures/terrain/5/52/19.terrain +0 -0
- package/dist/gis-fixtures/terrain/5/52/20.terrain +0 -0
- package/dist/gis-fixtures/terrain/5/52/21.terrain +0 -0
- package/dist/gis-fixtures/terrain/5/53/19.terrain +0 -0
- package/dist/gis-fixtures/terrain/5/53/20.terrain +0 -0
- package/dist/gis-fixtures/terrain/5/53/21.terrain +0 -0
- package/dist/gis-fixtures/terrain/6/104/39.terrain +0 -0
- package/dist/gis-fixtures/terrain/6/104/40.terrain +0 -0
- package/dist/gis-fixtures/terrain/6/104/41.terrain +0 -0
- package/dist/gis-fixtures/terrain/6/105/39.terrain +0 -0
- package/dist/gis-fixtures/terrain/6/105/40.terrain +0 -0
- package/dist/gis-fixtures/terrain/6/105/41.terrain +0 -0
- package/dist/gis-fixtures/terrain/6/106/39.terrain +0 -0
- package/dist/gis-fixtures/terrain/6/106/40.terrain +0 -0
- package/dist/gis-fixtures/terrain/6/106/41.terrain +0 -0
- package/dist/gis-fixtures/terrain/7/210/80.terrain +0 -0
- package/dist/gis-fixtures/terrain/7/210/81.terrain +0 -0
- package/dist/gis-fixtures/terrain/7/210/82.terrain +0 -0
- package/dist/gis-fixtures/terrain/7/211/80.terrain +0 -0
- package/dist/gis-fixtures/terrain/7/211/81.terrain +0 -0
- package/dist/gis-fixtures/terrain/7/211/82.terrain +0 -0
- package/dist/gis-fixtures/terrain/7/212/80.terrain +0 -0
- package/dist/gis-fixtures/terrain/7/212/81.terrain +0 -0
- package/dist/gis-fixtures/terrain/7/212/82.terrain +0 -0
- package/dist/gis-fixtures/terrain/8/422/161.terrain +0 -0
- package/dist/gis-fixtures/terrain/8/422/162.terrain +0 -0
- package/dist/gis-fixtures/terrain/8/422/163.terrain +0 -0
- package/dist/gis-fixtures/terrain/8/423/161.terrain +0 -0
- package/dist/gis-fixtures/terrain/8/423/162.terrain +0 -0
- package/dist/gis-fixtures/terrain/8/423/163.terrain +0 -0
- package/dist/gis-fixtures/terrain/8/424/161.terrain +0 -0
- package/dist/gis-fixtures/terrain/8/424/162.terrain +0 -0
- package/dist/gis-fixtures/terrain/8/424/163.terrain +0 -0
- package/dist/gis-fixtures/terrain/9/846/324.terrain +0 -0
- package/dist/gis-fixtures/terrain/9/846/325.terrain +0 -0
- package/dist/gis-fixtures/terrain/9/846/326.terrain +0 -0
- package/dist/gis-fixtures/terrain/9/847/324.terrain +0 -0
- package/dist/gis-fixtures/terrain/9/847/325.terrain +0 -0
- package/dist/gis-fixtures/terrain/9/847/326.terrain +0 -0
- package/dist/gis-fixtures/terrain/9/848/324.terrain +0 -0
- package/dist/gis-fixtures/terrain/9/848/325.terrain +0 -0
- package/dist/gis-fixtures/terrain/9/848/326.terrain +0 -0
- package/dist/gis-fixtures/terrain/layer.json +141 -0
- package/dist/iflow-engine-base.css +1 -1
- package/dist/index.d.ts +928 -1711
- package/package.json +10 -21
- package/dist/chunks/gis-tiles-vendor-Dr7piDQM.js +0 -11386
- package/dist/chunks/index-DjNAYhvI.js +0 -5252
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { C as Un, c as zn, E as _n, r as Qn } from "./sdk-runtime-
|
|
1
|
+
import { i as Js, C as st, P as Zs, a as B, V as N, j as $s, W as en, b as J, Q as ge, k as tn, w as qt, M as be, a4 as sn, ae as ft, u as it, b4 as ze, bd as Pt, bt as at, z as vt, bb as ms, aT as yn, H as xn, bu as In, bv as Tn, y as wn, bw as En, bx as vn, aE as lt, by as As, bz as gs, bl as Bn, am as Cs, bA as Fn, O as Je, as as Ss, e as Kt, af as bn, d as ys, E as Dn, r as We, bB as qe, aC as xs, ay as Mn, bC as Rn, a8 as Pn, bD as On, bE as nn, aL as Is, aY as kn, ad as Ln, b0 as Ne, bF as mt, m as Hn } from "./three-vendor-CGmeNMm5.js";
|
|
2
|
+
import { C as Un, c as zn, E as _n, r as Qn } from "./sdk-runtime-DN15bwdD.js";
|
|
3
3
|
var De = /* @__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))(De || {});
|
|
4
4
|
class Nn {
|
|
5
5
|
listeners = /* @__PURE__ */ new Map();
|
|
@@ -163,8 +163,8 @@ const Ot = (function() {
|
|
|
163
163
|
break;
|
|
164
164
|
}
|
|
165
165
|
p += x.length;
|
|
166
|
-
let y,
|
|
167
|
-
C !== void 0 && (y = p / C * 100,
|
|
166
|
+
let y, E;
|
|
167
|
+
C !== void 0 && (y = p / C * 100, E = `${y.toFixed(2)}%`), s && g.push(x), l(y, E, x, C);
|
|
168
168
|
} catch (x) {
|
|
169
169
|
d(x);
|
|
170
170
|
return;
|
|
@@ -515,7 +515,7 @@ class I {
|
|
|
515
515
|
d = d || 0, u = u || A - 1, h === void 0 && (h = d);
|
|
516
516
|
const C = (g, x) => Xn(g, x, f);
|
|
517
517
|
for (let g = d; g <= u; g++) {
|
|
518
|
-
const x = this.globalSplatIndexToSectionMap[g], w = this.sections[x], y = g - w.splatCountOffset,
|
|
518
|
+
const x = this.globalSplatIndexToSectionMap[g], w = this.sections[x], y = g - w.splatCountOffset, E = w.bytesPerSplat * y + I.CompressionLevels[this.compressionLevel].ScaleOffsetBytes, S = (g - d + h) * I.ScaleComponentCount, v = (g - d + h) * I.RotationComponentCount, F = new DataView(this.bufferData, w.dataBase + E), D = p && p.x !== void 0 ? p.x : K(F, 0, this.compressionLevel), b = 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);
|
|
519
519
|
n.set(
|
|
520
520
|
re(D, this.compressionLevel),
|
|
521
521
|
re(b, this.compressionLevel),
|
|
@@ -525,7 +525,7 @@ class I {
|
|
|
525
525
|
re(O, this.compressionLevel),
|
|
526
526
|
re(L, this.compressionLevel),
|
|
527
527
|
re(k, this.compressionLevel)
|
|
528
|
-
).normalize(), c && (i.set(0, 0, 0), e.makeScale(n.x, n.y, n.z), s.makeRotationFromQuaternion(r), t.identity().premultiply(e).premultiply(s), t.premultiply(c), t.decompose(i, r, n), r.normalize()), o(r), a && (a[S] = C(n.x, 0), a[S + 1] = C(n.y, 0), a[S + 2] = C(n.z, 0)), l && (l[
|
|
528
|
+
).normalize(), c && (i.set(0, 0, 0), e.makeScale(n.x, n.y, n.z), s.makeRotationFromQuaternion(r), t.identity().premultiply(e).premultiply(s), t.premultiply(c), t.decompose(i, r, n), r.normalize()), o(r), a && (a[S] = C(n.x, 0), a[S + 1] = C(n.y, 0), a[S + 2] = C(n.z, 0)), l && (l[v] = C(r.x, 0), l[v + 1] = C(r.y, 0), l[v + 2] = C(r.z, 0), l[v + 3] = C(r.w, 0));
|
|
529
529
|
}
|
|
530
530
|
};
|
|
531
531
|
})();
|
|
@@ -562,7 +562,7 @@ class I {
|
|
|
562
562
|
}
|
|
563
563
|
}
|
|
564
564
|
fillSphericalHarmonicsArray = (function() {
|
|
565
|
-
const e = new Ne(), s = new J(), t = new B(), n = new B(), r = new ge(), i = [], o = [], a = [], l = [], c = [], d = [], u = [], h = [], f = [], p = [], A = [], C = [], g = [], x = [], w = [], y = [],
|
|
565
|
+
const e = new Ne(), s = new J(), t = new B(), n = new B(), r = new ge(), i = [], o = [], a = [], l = [], c = [], d = [], u = [], h = [], f = [], p = [], A = [], C = [], g = [], x = [], w = [], y = [], E = [], S = [], v = (M) => M, F = (M, O, L, U) => {
|
|
566
566
|
M[0] = O, M[1] = L, M[2] = U;
|
|
567
567
|
}, D = (M, O, L, U, _) => {
|
|
568
568
|
M[0] = K(O, U, _, !0), M[1] = K(O, U + L, _, !0), M[2] = K(O, U + L + L, _, !0);
|
|
@@ -579,7 +579,7 @@ class I {
|
|
|
579
579
|
const Z = this.globalSplatIndexToSectionMap[se], G = this.sections[Z];
|
|
580
580
|
O = Math.min(O, G.sphericalHarmonicsDegree);
|
|
581
581
|
const X = $e(O), ce = se - G.splatCountOffset, de = G.bytesPerSplat * ce + I.CompressionLevels[this.compressionLevel].SphericalHarmonicsOffsetBytes, ie = new DataView(this.bufferData, G.dataBase + de), Se = (se - U + H) * X;
|
|
582
|
-
let pe = L ? 0 : this.compressionLevel, ne =
|
|
582
|
+
let pe = L ? 0 : this.compressionLevel, ne = v;
|
|
583
583
|
pe !== Q && (pe === 1 ? Q === 0 ? ne = Xt : Q == 2 && (ne = le) : pe === 0 && (Q === 1 ? ne = Ae : Q == 2 && (ne = V)));
|
|
584
584
|
const fe = this.minSphericalHarmonicsCoeff, $ = this.maxSphericalHarmonicsCoeff;
|
|
585
585
|
O >= 1 && (D(f, ie, 3, 0, this.compressionLevel), D(p, ie, 3, 1, this.compressionLevel), D(A, ie, 3, 2, this.compressionLevel), L ? (k(f, f, this.compressionLevel, fe, $), k(p, p, this.compressionLevel, fe, $), k(A, A, this.compressionLevel, fe, $), I.rotateSphericalHarmonics3(f, p, A, i, o, a, x, w, y)) : (b(f, x), b(p, w), b(A, y)), R(x, M, Se, ne), R(w, M, Se + 3, ne), R(y, M, Se + 6, ne), O >= 2 && (D(f, ie, 5, 9, this.compressionLevel), D(p, ie, 5, 10, this.compressionLevel), D(A, ie, 5, 11, this.compressionLevel), D(C, ie, 5, 12, this.compressionLevel), D(g, ie, 5, 13, this.compressionLevel), L ? (k(f, f, this.compressionLevel, fe, $), k(p, p, this.compressionLevel, fe, $), k(A, A, this.compressionLevel, fe, $), k(C, C, this.compressionLevel, fe, $), k(g, g, this.compressionLevel, fe, $), I.rotateSphericalHarmonics5(
|
|
@@ -599,9 +599,9 @@ class I {
|
|
|
599
599
|
x,
|
|
600
600
|
w,
|
|
601
601
|
y,
|
|
602
|
-
|
|
602
|
+
E,
|
|
603
603
|
S
|
|
604
|
-
)) : (b(f, x), b(p, w), b(A, y), b(C,
|
|
604
|
+
)) : (b(f, x), b(p, w), b(A, y), b(C, E), b(g, S)), R(x, M, Se + 9, ne), R(w, M, Se + 12, ne), R(y, M, Se + 15, ne), R(E, M, Se + 18, ne), R(S, M, Se + 21, ne)));
|
|
605
605
|
}
|
|
606
606
|
};
|
|
607
607
|
})();
|
|
@@ -622,8 +622,8 @@ class I {
|
|
|
622
622
|
I.dot3(e, s, t, n, o), I.dot3(e, s, t, r, a), I.dot3(e, s, t, i, l);
|
|
623
623
|
};
|
|
624
624
|
static rotateSphericalHarmonics5 = (e, s, t, n, r, i, o, a, l, c, d, u, h, f, p, A, C, g) => {
|
|
625
|
-
const x = Math.sqrt(0.25), w = Math.sqrt(3 / 4), y = Math.sqrt(1 / 3),
|
|
626
|
-
l[0] = x * (a[2] * i[0] + a[0] * i[2] + (i[2] * a[0] + i[0] * a[2])), l[1] = a[1] * i[0] + i[1] * a[0], l[2] = w * (a[1] * i[1] + i[1] * a[1]), l[3] = a[1] * i[2] + i[1] * a[2], l[4] = x * (a[2] * i[2] - a[0] * i[0] + (i[2] * a[2] - i[0] * a[0])), I.dot5(e, s, t, n, r, l, f), c[0] = x * (o[2] * i[0] + o[0] * i[2] + (i[2] * o[0] + i[0] * o[2])), c[1] = o[1] * i[0] + i[1] * o[0], c[2] = w * (o[1] * i[1] + i[1] * o[1]), c[3] = o[1] * i[2] + i[1] * o[2], c[4] = x * (o[2] * i[2] - o[0] * i[0] + (i[2] * o[2] - i[0] * o[0])), I.dot5(e, s, t, n, r, c, p), d[0] = y * (o[2] * o[0] + o[0] * o[2]) + -S * (a[2] * a[0] + a[0] * a[2] + (i[2] * i[0] + i[0] * i[2])), d[1] =
|
|
625
|
+
const x = Math.sqrt(0.25), w = Math.sqrt(3 / 4), y = Math.sqrt(1 / 3), E = Math.sqrt(4 / 3), S = Math.sqrt(1 / 12);
|
|
626
|
+
l[0] = x * (a[2] * i[0] + a[0] * i[2] + (i[2] * a[0] + i[0] * a[2])), l[1] = a[1] * i[0] + i[1] * a[0], l[2] = w * (a[1] * i[1] + i[1] * a[1]), l[3] = a[1] * i[2] + i[1] * a[2], l[4] = x * (a[2] * i[2] - a[0] * i[0] + (i[2] * a[2] - i[0] * a[0])), I.dot5(e, s, t, n, r, l, f), c[0] = x * (o[2] * i[0] + o[0] * i[2] + (i[2] * o[0] + i[0] * o[2])), c[1] = o[1] * i[0] + i[1] * o[0], c[2] = w * (o[1] * i[1] + i[1] * o[1]), c[3] = o[1] * i[2] + i[1] * o[2], c[4] = x * (o[2] * i[2] - o[0] * i[0] + (i[2] * o[2] - i[0] * o[0])), I.dot5(e, s, t, n, r, c, p), d[0] = y * (o[2] * o[0] + o[0] * o[2]) + -S * (a[2] * a[0] + a[0] * a[2] + (i[2] * i[0] + i[0] * i[2])), d[1] = E * o[1] * o[0] + -y * (a[1] * a[0] + i[1] * i[0]), d[2] = o[1] * o[1] + -x * (a[1] * a[1] + i[1] * i[1]), d[3] = E * o[1] * o[2] + -y * (a[1] * a[2] + i[1] * i[2]), d[4] = y * (o[2] * o[2] - o[0] * o[0]) + -S * (a[2] * a[2] - a[0] * a[0] + (i[2] * i[2] - i[0] * i[0])), I.dot5(e, s, t, n, r, d, A), u[0] = x * (o[2] * a[0] + o[0] * a[2] + (a[2] * o[0] + a[0] * o[2])), u[1] = o[1] * a[0] + a[1] * o[0], u[2] = w * (o[1] * a[1] + a[1] * o[1]), u[3] = o[1] * a[2] + a[1] * o[2], u[4] = x * (o[2] * a[2] - o[0] * a[0] + (a[2] * o[2] - a[0] * o[0])), I.dot5(e, s, t, n, r, u, C), h[0] = x * (a[2] * a[0] + a[0] * a[2] - (i[2] * i[0] + i[0] * i[2])), h[1] = a[1] * a[0] - i[1] * i[0], h[2] = w * (a[1] * a[1] - i[1] * i[1]), h[3] = a[1] * a[2] - i[1] * i[2], h[4] = x * (a[2] * a[2] - a[0] * a[0] - (i[2] * i[2] - i[0] * i[0])), I.dot5(e, s, t, n, r, h, g);
|
|
627
627
|
};
|
|
628
628
|
static parseHeader(e) {
|
|
629
629
|
const s = new Uint8Array(e, 0, I.HeaderSizeBytes), t = new Uint16Array(e, 0, I.HeaderSizeBytes / 2), n = new Uint32Array(e, 0, I.HeaderSizeBytes / 4), r = new Float32Array(e, 0, I.HeaderSizeBytes / 4), i = s[0], o = s[1], a = n[1], l = n[2], c = n[3], d = n[4], u = t[10], h = new B(r[6], r[7], r[8]), f = r[9] || -_e, p = r[10] || _e;
|
|
@@ -652,7 +652,7 @@ class I {
|
|
|
652
652
|
const r = e.compressionLevel, i = e.maxSectionCount, o = new Uint16Array(s, t, i * I.SectionHeaderSizeBytes / 2), a = new Uint32Array(s, t, i * I.SectionHeaderSizeBytes / 4), l = new Float32Array(s, t, i * I.SectionHeaderSizeBytes / 4), c = [];
|
|
653
653
|
let d = 0, u = d / 2, h = d / 4, f = I.HeaderSizeBytes + e.maxSectionCount * I.SectionHeaderSizeBytes, p = 0;
|
|
654
654
|
for (let A = 0; A < i; A++) {
|
|
655
|
-
const C = a[h + 1], g = a[h + 2], x = a[h + 3], w = l[h + 4], y = w / 2,
|
|
655
|
+
const C = a[h + 1], g = a[h + 2], x = a[h + 3], w = l[h + 4], y = w / 2, E = o[u + 10], S = a[h + 6] || I.CompressionLevels[r].ScaleRange, v = a[h + 8], F = a[h + 9], D = F * 4, b = E * x + D, R = o[u + 20], { bytesPerSplat: k } = I.calculateComponentStorage(r, R), M = k * C, O = M + b, L = {
|
|
656
656
|
bytesPerSplat: k,
|
|
657
657
|
splatCountOffset: p,
|
|
658
658
|
splatCount: n ? C : 0,
|
|
@@ -661,7 +661,7 @@ class I {
|
|
|
661
661
|
bucketCount: x,
|
|
662
662
|
bucketBlockSize: w,
|
|
663
663
|
halfBucketBlockSize: y,
|
|
664
|
-
bucketStorageSizeBytes:
|
|
664
|
+
bucketStorageSizeBytes: E,
|
|
665
665
|
bucketsStorageSizeBytes: b,
|
|
666
666
|
splatDataStorageSizeBytes: M,
|
|
667
667
|
storageSizeBytes: O,
|
|
@@ -670,7 +670,7 @@ class I {
|
|
|
670
670
|
base: f,
|
|
671
671
|
bucketsBase: f + D,
|
|
672
672
|
dataBase: f + b,
|
|
673
|
-
fullBucketCount:
|
|
673
|
+
fullBucketCount: v,
|
|
674
674
|
partiallyFilledBucketCount: F,
|
|
675
675
|
sphericalHarmonicsDegree: R
|
|
676
676
|
};
|
|
@@ -750,9 +750,9 @@ class I {
|
|
|
750
750
|
FDC0: x,
|
|
751
751
|
FDC1: w,
|
|
752
752
|
FDC2: y,
|
|
753
|
-
OPACITY:
|
|
753
|
+
OPACITY: E,
|
|
754
754
|
FRC0: S,
|
|
755
|
-
FRC9:
|
|
755
|
+
FRC9: v
|
|
756
756
|
} = P.OFFSET, F = (D, b, R) => {
|
|
757
757
|
const k = R * 2 + 1;
|
|
758
758
|
return D = Math.round(D * b) + R, oe(D, 0, k);
|
|
@@ -770,7 +770,7 @@ class I {
|
|
|
770
770
|
if (M >= 1) {
|
|
771
771
|
for (let $ = 0; $ < 9; $++) fe[$] = D[S + $] || 0;
|
|
772
772
|
if (M >= 2)
|
|
773
|
-
for (let $ = 0; $ < 15; $++) fe[$ + 9] = D[
|
|
773
|
+
for (let $ = 0; $ < 15; $++) fe[$ + 9] = D[v + $] || 0;
|
|
774
774
|
}
|
|
775
775
|
}
|
|
776
776
|
} else {
|
|
@@ -785,7 +785,7 @@ class I {
|
|
|
785
785
|
const Me = 9 * $;
|
|
786
786
|
if (je(Fe.buffer, 0, b, de, Me), M >= 2) {
|
|
787
787
|
for (let Ce = 0; Ce < 15; Ce++) {
|
|
788
|
-
const we = D[
|
|
788
|
+
const we = D[v + Ce] || 0;
|
|
789
789
|
Fe[Ce + 9] = k === 1 ? Ae(we) : ct(we, _, H);
|
|
790
790
|
}
|
|
791
791
|
je(
|
|
@@ -801,34 +801,34 @@ class I {
|
|
|
801
801
|
je(Se.buffer, 0, b, Z, 6), je(ne.buffer, 0, b, G, 6), je(pe.buffer, 0, b, X, 8);
|
|
802
802
|
}
|
|
803
803
|
const ie = new Uint8ClampedArray(n, 0, 4);
|
|
804
|
-
ie.set([D[x] || 0, D[w] || 0, D[y] || 0]), ie[3] = D[
|
|
804
|
+
ie.set([D[x] || 0, D[w] || 0, D[y] || 0]), ie[3] = D[E] || 0, je(ie.buffer, 0, b, ce, 4);
|
|
805
805
|
};
|
|
806
806
|
})();
|
|
807
807
|
static generateFromUncompressedSplatArrays(e, s, t, n, r, i, o = []) {
|
|
808
808
|
let a = 0;
|
|
809
809
|
for (let y = 0; y < e.length; y++) {
|
|
810
|
-
const
|
|
811
|
-
a = Math.max(
|
|
810
|
+
const E = e[y];
|
|
811
|
+
a = Math.max(E.sphericalHarmonicsDegree, a);
|
|
812
812
|
}
|
|
813
813
|
let l, c;
|
|
814
814
|
for (let y = 0; y < e.length; y++) {
|
|
815
|
-
const
|
|
816
|
-
for (let S = 0; S <
|
|
817
|
-
const
|
|
818
|
-
for (let F = P.OFFSET.FRC0; F < P.OFFSET.FRC23 && F <
|
|
819
|
-
(!l ||
|
|
815
|
+
const E = e[y];
|
|
816
|
+
for (let S = 0; S < E.splats.length; S++) {
|
|
817
|
+
const v = E.splats[S];
|
|
818
|
+
for (let F = P.OFFSET.FRC0; F < P.OFFSET.FRC23 && F < v.length; F++)
|
|
819
|
+
(!l || v[F] < l) && (l = v[F]), (!c || v[F] > c) && (c = v[F]);
|
|
820
820
|
}
|
|
821
821
|
}
|
|
822
822
|
l = l || -_e, c = c || _e;
|
|
823
823
|
const { bytesPerSplat: d } = I.calculateComponentStorage(t, a), u = I.CompressionLevels[t].ScaleRange, h = [], f = [];
|
|
824
824
|
let p = 0;
|
|
825
825
|
for (let y = 0; y < e.length; y++) {
|
|
826
|
-
const
|
|
827
|
-
for (let Z = 0; Z <
|
|
828
|
-
const G =
|
|
826
|
+
const E = e[y], S = new P(a);
|
|
827
|
+
for (let Z = 0; Z < E.splatCount; Z++) {
|
|
828
|
+
const G = E.splats[Z];
|
|
829
829
|
(G[P.OFFSET.OPACITY] || 0) >= s && S.addSplat(G);
|
|
830
830
|
}
|
|
831
|
-
const
|
|
831
|
+
const v = o[y] || {}, F = (v.blockSizeFactor || 1) * (r || I.BucketBlockSize), D = Math.ceil((v.bucketSizeFactor || 1) * (i || I.BucketSize)), b = I.computeBucketsForUncompressedSplatArray(S, F, D), R = b.fullBuckets.length, k = b.partiallyFullBuckets.map((Z) => Z.splats.length), M = k.length, O = [...b.fullBuckets, ...b.partiallyFullBuckets], L = S.splats.length * d, U = M * 4, _ = t >= 1 ? O.length * I.BucketStorageSizeBytes + U : 0, H = L + _, Q = new ArrayBuffer(H), ee = u / (F * 0.5), le = new B();
|
|
832
832
|
let V = 0;
|
|
833
833
|
for (let Z = 0; Z < O.length; Z++) {
|
|
834
834
|
const G = O[Z];
|
|
@@ -921,11 +921,11 @@ class I {
|
|
|
921
921
|
], g = Math.floor((C[0] - i.x) / s), x = Math.floor((C[1] - i.y) / s), w = Math.floor((C[2] - i.z) / s);
|
|
922
922
|
d.x = g * s + i.x + r, d.y = x * s + i.y + r, d.z = w * s + i.z + r;
|
|
923
923
|
const y = g * (l * c) + x * c + w;
|
|
924
|
-
let
|
|
925
|
-
|
|
924
|
+
let E = h[y];
|
|
925
|
+
E || (h[y] = E = {
|
|
926
926
|
splats: [],
|
|
927
927
|
center: d.toArray()
|
|
928
|
-
}),
|
|
928
|
+
}), E.splats.push(p), E.splats.length >= t && (u.push(E), h[y] = null);
|
|
929
929
|
}
|
|
930
930
|
const f = [];
|
|
931
931
|
for (let p in h)
|
|
@@ -978,7 +978,7 @@ const Ts = new Uint8Array([112, 108, 121, 10]), ws = new Uint8Array([10, 101, 11
|
|
|
978
978
|
]), Re = (m, e) => {
|
|
979
979
|
const s = (1 << e) - 1;
|
|
980
980
|
return (m & s) / s;
|
|
981
|
-
},
|
|
981
|
+
}, Es = (m, e) => {
|
|
982
982
|
m.x = Re(e >>> 21, 11), m.y = Re(e >>> 11, 10), m.z = Re(e, 11);
|
|
983
983
|
}, Jn = (m, e) => {
|
|
984
984
|
m.x = Re(e >>> 24, 8), m.y = Re(e >>> 16, 8), m.z = Re(e >>> 8, 8), m.w = Re(e, 8);
|
|
@@ -1158,7 +1158,7 @@ class W {
|
|
|
1158
1158
|
static getElementStorageArrays(e, s, t) {
|
|
1159
1159
|
const n = {};
|
|
1160
1160
|
if (s) {
|
|
1161
|
-
const r = ae(e, "min_r"), i = ae(e, "min_g"), o = ae(e, "min_b"), a = ae(e, "max_r"), l = ae(e, "max_g"), c = ae(e, "max_b"), d = ae(e, "min_x"), u = ae(e, "min_y"), h = ae(e, "min_z"), f = ae(e, "max_x"), p = ae(e, "max_y"), A = ae(e, "max_z"), C = ae(e, "min_scale_x"), g = ae(e, "min_scale_y"), x = ae(e, "min_scale_z"), w = ae(e, "max_scale_x"), y = ae(e, "max_scale_y"),
|
|
1161
|
+
const r = ae(e, "min_r"), i = ae(e, "min_g"), o = ae(e, "min_b"), a = ae(e, "max_r"), l = ae(e, "max_g"), c = ae(e, "max_b"), d = ae(e, "min_x"), u = ae(e, "min_y"), h = ae(e, "min_z"), f = ae(e, "max_x"), p = ae(e, "max_y"), A = ae(e, "max_z"), C = ae(e, "min_scale_x"), g = ae(e, "min_scale_y"), x = ae(e, "min_scale_z"), w = ae(e, "max_scale_x"), y = ae(e, "max_scale_y"), E = ae(e, "max_scale_z"), S = ae(s, "packed_position"), v = ae(s, "packed_rotation"), F = ae(s, "packed_scale"), D = ae(s, "packed_color");
|
|
1162
1162
|
n.colorExtremes = {
|
|
1163
1163
|
minR: r,
|
|
1164
1164
|
maxR: a,
|
|
@@ -1179,8 +1179,8 @@ class W {
|
|
|
1179
1179
|
minScaleY: g,
|
|
1180
1180
|
maxScaleY: y,
|
|
1181
1181
|
minScaleZ: x,
|
|
1182
|
-
maxScaleZ:
|
|
1183
|
-
}, n.position = S, n.rotation =
|
|
1182
|
+
maxScaleZ: E
|
|
1183
|
+
}, n.position = S, n.rotation = v, n.scale = F, n.color = D;
|
|
1184
1184
|
}
|
|
1185
1185
|
if (t) {
|
|
1186
1186
|
const r = {};
|
|
@@ -1200,7 +1200,7 @@ class W {
|
|
|
1200
1200
|
return function(i, o, a, l, c, d, u, h, f, p) {
|
|
1201
1201
|
p = p || P.createSplat();
|
|
1202
1202
|
const A = Math.floor((o + i) / 256);
|
|
1203
|
-
return
|
|
1203
|
+
return Es(e, a[i]), Zn(s, u[i]), Es(t, c[i]), Jn(n, f[i]), p[r.X] = ke(l.minX[A], l.maxX[A], e.x), p[r.Y] = ke(l.minY[A], l.maxY[A], e.y), p[r.Z] = ke(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(ke(d.minScaleX[A], d.maxScaleX[A], t.x)), p[r.SCALE1] = Math.exp(ke(d.minScaleY[A], d.maxScaleY[A], t.y)), p[r.SCALE2] = Math.exp(ke(d.minScaleZ[A], d.maxScaleZ[A], t.z)), h.minR && h.maxR ? p[r.FDC0] = oe(Math.round(ke(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(ke(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(ke(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;
|
|
1204
1204
|
};
|
|
1205
1205
|
})();
|
|
1206
1206
|
static decompressSphericalHarmonics = /* @__PURE__ */ (function() {
|
|
@@ -1396,7 +1396,7 @@ const Ie = {
|
|
|
1396
1396
|
ts,
|
|
1397
1397
|
ss,
|
|
1398
1398
|
ns
|
|
1399
|
-
] = [0, 1, 2, 3, 4, 5, 6],
|
|
1399
|
+
] = [0, 1, 2, 3, 4, 5, 6], vs = {
|
|
1400
1400
|
double: ln,
|
|
1401
1401
|
int: Zt,
|
|
1402
1402
|
uint: $t,
|
|
@@ -1430,8 +1430,8 @@ class q {
|
|
|
1430
1430
|
const x = g.split(" ");
|
|
1431
1431
|
let w = 0;
|
|
1432
1432
|
for (let y of x) {
|
|
1433
|
-
const
|
|
1434
|
-
|
|
1433
|
+
const E = y.trim();
|
|
1434
|
+
E.length > 0 && (w++, w === 2 ? l = E : w === 3 && (o = parseInt(E)));
|
|
1435
1435
|
}
|
|
1436
1436
|
}
|
|
1437
1437
|
else if (g.startsWith("property")) {
|
|
@@ -1439,10 +1439,10 @@ class q {
|
|
|
1439
1439
|
if (x) {
|
|
1440
1440
|
const w = x[2], y = x[3];
|
|
1441
1441
|
u.push(y);
|
|
1442
|
-
const
|
|
1442
|
+
const E = s[y];
|
|
1443
1443
|
h[y] = w;
|
|
1444
|
-
const S =
|
|
1445
|
-
|
|
1444
|
+
const S = vs[w];
|
|
1445
|
+
E !== void 0 && (c.push(E), d[E] = S);
|
|
1446
1446
|
}
|
|
1447
1447
|
}
|
|
1448
1448
|
if (g === q.HeaderEndToken) {
|
|
@@ -1459,7 +1459,7 @@ class q {
|
|
|
1459
1459
|
const x = s[C];
|
|
1460
1460
|
x !== void 0 && (f[x] = p);
|
|
1461
1461
|
}
|
|
1462
|
-
p += $n[
|
|
1462
|
+
p += $n[vs[g]];
|
|
1463
1463
|
}
|
|
1464
1464
|
const A = q.decodeSphericalHarmonicsFromSectionHeader(u, s);
|
|
1465
1465
|
return {
|
|
@@ -1710,19 +1710,19 @@ class xe {
|
|
|
1710
1710
|
const s = new ge(), t = P.OFFSET.X, n = P.OFFSET.Y, r = P.OFFSET.Z, i = P.OFFSET.SCALE0, o = P.OFFSET.SCALE1, a = P.OFFSET.SCALE2, l = P.OFFSET.ROTATION0, c = P.OFFSET.ROTATION1, d = P.OFFSET.ROTATION2, u = P.OFFSET.ROTATION3, h = P.OFFSET.FDC0, f = P.OFFSET.FDC1, p = P.OFFSET.FDC2, A = P.OFFSET.OPACITY, C = [];
|
|
1711
1711
|
for (let g = 0; g < 45; g++)
|
|
1712
1712
|
C[g] = P.OFFSET.FRC0 + g;
|
|
1713
|
-
return function(g, x, w, y = 0,
|
|
1714
|
-
|
|
1715
|
-
const S = P.createSplat(
|
|
1713
|
+
return function(g, x, w, y = 0, E = 0) {
|
|
1714
|
+
E = Math.min(E, w.sphericalHarmonicsDegree), xe.readSplat(g, w, x, y, e);
|
|
1715
|
+
const S = P.createSplat(E);
|
|
1716
1716
|
if (e[Bs] !== void 0 ? (S[i] = Math.exp(e[Bs]), S[o] = Math.exp(e[tr]), S[a] = Math.exp(e[sr])) : (S[i] = 0.01, S[o] = 0.01, S[a] = 0.01), e[Fs] !== void 0) {
|
|
1717
|
-
const
|
|
1718
|
-
S[h] = (0.5 +
|
|
1717
|
+
const v = 0.28209479177387814;
|
|
1718
|
+
S[h] = (0.5 + v * e[Fs]) * 255, S[f] = (0.5 + v * e[dr]) * 255, S[p] = (0.5 + v * e[hr]) * 255;
|
|
1719
1719
|
} else e[Ds] !== void 0 ? (S[h] = e[Ds] * 255, S[f] = e[ur] * 255, S[p] = e[pr] * 255) : (S[h] = 0, S[f] = 0, S[p] = 0);
|
|
1720
|
-
if (e[bs] !== void 0 && (S[A] = 1 / (1 + Math.exp(-e[bs])) * 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),
|
|
1721
|
-
for (let
|
|
1722
|
-
S[C[
|
|
1723
|
-
if (
|
|
1724
|
-
for (let
|
|
1725
|
-
S[C[9 +
|
|
1720
|
+
if (e[bs] !== void 0 && (S[A] = 1 / (1 + Math.exp(-e[bs])) * 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), E >= 1 && e[fr] !== void 0) {
|
|
1721
|
+
for (let v = 0; v < 9; v++)
|
|
1722
|
+
S[C[v]] = e[w.sphericalHarmonicsDegree1Fields[v]];
|
|
1723
|
+
if (E >= 2)
|
|
1724
|
+
for (let v = 0; v < 15; v++)
|
|
1725
|
+
S[C[9 + v]] = e[w.sphericalHarmonicsDegree2Fields[v]];
|
|
1726
1726
|
}
|
|
1727
1727
|
return s.set(e[nr], e[rr], e[or], e[ir]), s.normalize(), S[l] = s.x, S[c] = s.y, S[d] = s.z, S[u] = s.w, S[t] = e[ar], S[n] = e[lr], S[r] = e[cr], S;
|
|
1728
1728
|
};
|
|
@@ -1849,8 +1849,8 @@ const dn = [
|
|
|
1849
1849
|
Ir,
|
|
1850
1850
|
Tr,
|
|
1851
1851
|
wr,
|
|
1852
|
-
vr,
|
|
1853
1852
|
Er,
|
|
1853
|
+
vr,
|
|
1854
1854
|
Wt,
|
|
1855
1855
|
un,
|
|
1856
1856
|
pn,
|
|
@@ -1859,7 +1859,7 @@ const dn = [
|
|
|
1859
1859
|
const e = (31744 & m) >> 10, s = 1023 & m;
|
|
1860
1860
|
return (m >> 15 ? -1 : 1) * (e ? e === 31 ? s ? NaN : 1 / 0 : Math.pow(2, e - 15) * (1 + s / 1024) : s / 1024 * 6103515625e-14);
|
|
1861
1861
|
};
|
|
1862
|
-
class
|
|
1862
|
+
class ve {
|
|
1863
1863
|
static decodeSectionHeadersFromHeaderLines(e) {
|
|
1864
1864
|
const s = Gt.reduce((c, d) => (c[hn[d]] = d, c), {}), t = St.reduce((c, d) => (c[dn[d]] = d, c), {}), n = q.getHeaderSectionNames(e);
|
|
1865
1865
|
let r;
|
|
@@ -1876,7 +1876,7 @@ class Ee {
|
|
|
1876
1876
|
}
|
|
1877
1877
|
static decodeSectionHeadersFromHeaderText(e) {
|
|
1878
1878
|
const s = q.convertHeaderTextToLines(e);
|
|
1879
|
-
return
|
|
1879
|
+
return ve.decodeSectionHeadersFromHeaderLines(s);
|
|
1880
1880
|
}
|
|
1881
1881
|
static getSplatCountFromSectionHeaders(e) {
|
|
1882
1882
|
let s = 0;
|
|
@@ -1885,7 +1885,7 @@ class Ee {
|
|
|
1885
1885
|
return s;
|
|
1886
1886
|
}
|
|
1887
1887
|
static decodeHeaderFromHeaderText(e) {
|
|
1888
|
-
const s = e.indexOf(q.HeaderEndToken) + q.HeaderEndToken.length + 1, t =
|
|
1888
|
+
const s = e.indexOf(q.HeaderEndToken) + q.HeaderEndToken.length + 1, t = ve.decodeSectionHeadersFromHeaderText(e), n = ve.getSplatCountFromSectionHeaders(t);
|
|
1889
1889
|
return {
|
|
1890
1890
|
headerSizeBytes: s,
|
|
1891
1891
|
sectionHeaders: t,
|
|
@@ -1894,7 +1894,7 @@ class Ee {
|
|
|
1894
1894
|
}
|
|
1895
1895
|
static decodeHeaderFromBuffer(e) {
|
|
1896
1896
|
const s = q.readHeaderFromBuffer(e);
|
|
1897
|
-
return
|
|
1897
|
+
return ve.decodeHeaderFromHeaderText(s);
|
|
1898
1898
|
}
|
|
1899
1899
|
static findVertexData(e, s, t) {
|
|
1900
1900
|
let n = s.headerSizeBytes;
|
|
@@ -1927,7 +1927,7 @@ class Ee {
|
|
|
1927
1927
|
r = Math.min(r, t.sphericalHarmonicsDegree);
|
|
1928
1928
|
const i = new P(r);
|
|
1929
1929
|
for (let o = 0; o < s; o++) {
|
|
1930
|
-
const a =
|
|
1930
|
+
const a = ve.parseToUncompressedSplat(
|
|
1931
1931
|
e,
|
|
1932
1932
|
o,
|
|
1933
1933
|
t,
|
|
@@ -1944,41 +1944,41 @@ class Ee {
|
|
|
1944
1944
|
const s = new ge(), t = P.OFFSET.X, n = P.OFFSET.Y, r = P.OFFSET.Z, i = P.OFFSET.SCALE0, o = P.OFFSET.SCALE1, a = P.OFFSET.SCALE2, l = P.OFFSET.ROTATION0, c = P.OFFSET.ROTATION1, d = P.OFFSET.ROTATION2, u = P.OFFSET.ROTATION3, h = P.OFFSET.FDC0, f = P.OFFSET.FDC1, p = P.OFFSET.FDC2, A = P.OFFSET.OPACITY, C = [];
|
|
1945
1945
|
for (let g = 0; g < 45; g++)
|
|
1946
1946
|
C[g] = P.OFFSET.FRC0 + g;
|
|
1947
|
-
return function(g, x, w, y,
|
|
1948
|
-
S = Math.min(S, w.sphericalHarmonicsDegree),
|
|
1949
|
-
const
|
|
1950
|
-
if (e[Ps] !== void 0 ? (
|
|
1947
|
+
return function(g, x, w, y, E = 0, S = 0) {
|
|
1948
|
+
S = Math.min(S, w.sphericalHarmonicsDegree), ve.readSplat(g, w, x, E, e);
|
|
1949
|
+
const v = P.createSplat(S);
|
|
1950
|
+
if (e[Ps] !== void 0 ? (v[i] = y[xt][e[Ps]], v[o] = y[xt][e[Cr]], v[a] = y[xt][e[Sr]]) : (v[i] = 0.01, v[o] = 0.01, v[a] = 0.01), e[Wt] !== void 0 ? (v[h] = y[yt][e[Wt]], v[f] = y[yt][e[un]], v[p] = y[yt][e[pn]]) : e[ks] !== void 0 ? (v[h] = e[ks] * 255, v[f] = e[Br] * 255, v[p] = e[Fr] * 255) : (v[h] = 0, v[f] = 0, v[p] = 0), e[Os] !== void 0 && (v[A] = y[Rs][e[Os]]), v[h] = oe(Math.floor(v[h]), 0, 255), v[f] = oe(Math.floor(v[f]), 0, 255), v[p] = oe(Math.floor(v[p]), 0, 255), v[A] = oe(Math.floor(v[A]), 0, 255), S >= 1 && w.sphericalHarmonicsDegree >= 1) {
|
|
1951
1951
|
for (let k = 0; k < 9; k++) {
|
|
1952
1952
|
const M = y[mr + k % 3];
|
|
1953
|
-
|
|
1953
|
+
v[C[k]] = M[e[w.sphericalHarmonicsDegree1Fields[k]]];
|
|
1954
1954
|
}
|
|
1955
1955
|
if (S >= 2 && w.sphericalHarmonicsDegree >= 2)
|
|
1956
1956
|
for (let k = 0; k < 15; k++) {
|
|
1957
1957
|
const M = y[Ar + k % 5];
|
|
1958
|
-
|
|
1958
|
+
v[C[9 + k]] = M[e[w.sphericalHarmonicsDegree2Fields[k]]];
|
|
1959
1959
|
}
|
|
1960
1960
|
}
|
|
1961
1961
|
const F = y[gr][e[yr]], D = y[Ut][e[xr]], b = y[Ut][e[Ir]], R = y[Ut][e[Tr]];
|
|
1962
|
-
return s.set(F, D, b, R), s.normalize(),
|
|
1962
|
+
return s.set(F, D, b, R), s.normalize(), v[l] = s.x, v[c] = s.y, v[d] = s.z, v[u] = s.w, v[t] = It(e[wr]), v[n] = It(e[Er]), v[r] = It(e[vr]), v;
|
|
1963
1963
|
};
|
|
1964
1964
|
})();
|
|
1965
1965
|
static readSplat(e, s, t, n, r) {
|
|
1966
1966
|
return q.readVertex(e, s, t, n, Gt, r, !1);
|
|
1967
1967
|
}
|
|
1968
1968
|
static parseToUncompressedSplatArray(e, s = 0) {
|
|
1969
|
-
const t = [], n =
|
|
1969
|
+
const t = [], n = ve.decodeHeaderFromBuffer(e, s);
|
|
1970
1970
|
let r;
|
|
1971
1971
|
for (let o = 0; o < n.sectionHeaders.length; o++) {
|
|
1972
1972
|
const a = n.sectionHeaders[o];
|
|
1973
1973
|
if (a.sectionName === "codebook_centers") {
|
|
1974
|
-
const l =
|
|
1975
|
-
r =
|
|
1974
|
+
const l = ve.findVertexData(e, n, o);
|
|
1975
|
+
r = ve.decodeCodeBook(l, a);
|
|
1976
1976
|
}
|
|
1977
1977
|
}
|
|
1978
1978
|
for (let o = 0; o < n.sectionHeaders.length; o++) {
|
|
1979
1979
|
const a = n.sectionHeaders[o];
|
|
1980
1980
|
if (a.sectionName !== "codebook_centers") {
|
|
1981
|
-
const l = a.vertexCount, c =
|
|
1981
|
+
const l = a.vertexCount, c = ve.findVertexData(e, n, o), d = ve.decodeSectionSplatData(
|
|
1982
1982
|
c,
|
|
1983
1983
|
l,
|
|
1984
1984
|
a,
|
|
@@ -2003,7 +2003,7 @@ class Ls {
|
|
|
2003
2003
|
if (t === Ie.INRIAV1)
|
|
2004
2004
|
return xe.parseToUncompressedSplatArray(e, s);
|
|
2005
2005
|
if (t === Ie.INRIAV2)
|
|
2006
|
-
return
|
|
2006
|
+
return ve.parseToUncompressedSplatArray(e, s);
|
|
2007
2007
|
}
|
|
2008
2008
|
static parseToUncompressedSplatBuffer(e, s = 0) {
|
|
2009
2009
|
const t = q.determineHeaderFormatFromPlyBuffer(e);
|
|
@@ -2139,7 +2139,7 @@ class os {
|
|
|
2139
2139
|
let f;
|
|
2140
2140
|
!t && !o ? f = te.DownloadBeforeProcessing : o ? f = te.ProgressiveToSplatArray : f = te.ProgressiveToSplatBuffer;
|
|
2141
2141
|
const p = Y.ProgressiveLoadSectionSize, A = I.HeaderSizeBytes + I.SectionHeaderSizeBytes, C = 1;
|
|
2142
|
-
let g, x, w, y,
|
|
2142
|
+
let g, x, w, y, E, S = 0, v = 0, F = 0, D = !1, b = !1, R = !1;
|
|
2143
2143
|
const k = jt();
|
|
2144
2144
|
let M = 0, O = 0, L = 0, U = 0, _ = "", H = null, Q = [], ee;
|
|
2145
2145
|
const le = new TextDecoder(), V = (se, Z, G) => {
|
|
@@ -2155,9 +2155,9 @@ class os {
|
|
|
2155
2155
|
if (D) {
|
|
2156
2156
|
if (g === Ie.PlayCanvasCompressed && !b) {
|
|
2157
2157
|
const ce = H.headerSizeBytes + H.chunkElement.storageSizeBytes;
|
|
2158
|
-
|
|
2158
|
+
E = Hs(Q, E), E.byteLength >= ce && (W.readElementData(
|
|
2159
2159
|
H.chunkElement,
|
|
2160
|
-
|
|
2160
|
+
E,
|
|
2161
2161
|
H.headerSizeBytes
|
|
2162
2162
|
), M = ce, O = ce, b = !0);
|
|
2163
2163
|
}
|
|
@@ -2210,13 +2210,13 @@ class os {
|
|
|
2210
2210
|
), F += pe);
|
|
2211
2211
|
else {
|
|
2212
2212
|
if (f === te.ProgressiveToSplatBuffer) {
|
|
2213
|
-
const Me = I.CompressionLevels[0].SphericalHarmonicsDegrees[a], Ce =
|
|
2213
|
+
const Me = I.CompressionLevels[0].SphericalHarmonicsDegrees[a], Ce = v * Me.BytesPerSplat + A;
|
|
2214
2214
|
g === Ie.PlayCanvasCompressed ? W.parseToUncompressedSplatBufferSection(
|
|
2215
2215
|
H.chunkElement,
|
|
2216
2216
|
H.vertexElement,
|
|
2217
2217
|
0,
|
|
2218
2218
|
pe - 1,
|
|
2219
|
-
|
|
2219
|
+
v,
|
|
2220
2220
|
Fe,
|
|
2221
2221
|
w,
|
|
2222
2222
|
Ce
|
|
@@ -2236,7 +2236,7 @@ class os {
|
|
|
2236
2236
|
H.vertexElement,
|
|
2237
2237
|
0,
|
|
2238
2238
|
pe - 1,
|
|
2239
|
-
|
|
2239
|
+
v,
|
|
2240
2240
|
Fe,
|
|
2241
2241
|
ee
|
|
2242
2242
|
) : xe.parseToUncompressedSplatArraySection(
|
|
@@ -2248,9 +2248,9 @@ class os {
|
|
|
2248
2248
|
ee,
|
|
2249
2249
|
a
|
|
2250
2250
|
);
|
|
2251
|
-
|
|
2251
|
+
v += pe, f === te.ProgressiveToSplatBuffer && (y || (I.writeSectionHeaderToBuffer({
|
|
2252
2252
|
maxSplatCount: S,
|
|
2253
|
-
splatCount:
|
|
2253
|
+
splatCount: v,
|
|
2254
2254
|
bucketSize: 0,
|
|
2255
2255
|
bucketCount: 0,
|
|
2256
2256
|
bucketBlockSize: 0,
|
|
@@ -2259,7 +2259,7 @@ class os {
|
|
|
2259
2259
|
fullBucketCount: 0,
|
|
2260
2260
|
partiallyFilledBucketCount: 0,
|
|
2261
2261
|
sphericalHarmonicsDegree: a
|
|
2262
|
-
}, 0, w, I.HeaderSizeBytes), y = new I(w, !1)), y.updateLoadedCounts(1,
|
|
2262
|
+
}, 0, w, I.HeaderSizeBytes), y = new I(w, !1)), y.updateLoadedCounts(1, v)), L >= U && (R = !0);
|
|
2263
2263
|
}
|
|
2264
2264
|
if (fe === 0)
|
|
2265
2265
|
Q = [];
|
|
@@ -2409,11 +2409,11 @@ const Hr = (function() {
|
|
|
2409
2409
|
w = Math.min(x, w);
|
|
2410
2410
|
const y = P.createSplat(w);
|
|
2411
2411
|
g.scale[0] !== void 0 ? (y[r] = g.scale[0], y[i] = g.scale[1], y[o] = g.scale[2]) : (y[r] = 0.01, y[i] = 0.01, y[o] = 0.01), g.color[0] !== void 0 ? (y[u] = g.color[0], y[h] = g.color[1], y[f] = g.color[2]) : m[RED] !== void 0 ? (y[u] = m[RED] * 255, y[h] = m[GREEN] * 255, y[f] = m[BLUE] * 255) : (y[u] = 0, y[h] = 0, y[f] = 0), g.alpha !== void 0 && (y[p] = g.alpha), y[u] = oe(Math.floor(y[u]), 0, 255), y[h] = oe(Math.floor(y[h]), 0, 255), y[f] = oe(Math.floor(y[f]), 0, 255), y[p] = oe(Math.floor(y[p]), 0, 255);
|
|
2412
|
-
let
|
|
2413
|
-
for (let
|
|
2412
|
+
let E = A[w], S = A[x];
|
|
2413
|
+
for (let v = 0; v < 3; ++v)
|
|
2414
2414
|
for (let F = 0; F < 15; ++F) {
|
|
2415
|
-
const D = C[
|
|
2416
|
-
F <
|
|
2415
|
+
const D = C[v * 15 + F];
|
|
2416
|
+
F < E && F < S && (y[P.OFFSET.FRC0 + D] = g.sh[v * S + F]);
|
|
2417
2417
|
}
|
|
2418
2418
|
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;
|
|
2419
2419
|
};
|
|
@@ -2574,8 +2574,8 @@ class j {
|
|
|
2574
2574
|
(A[0] - 128) / 128
|
|
2575
2575
|
);
|
|
2576
2576
|
C.normalize();
|
|
2577
|
-
const g = d * c + i, x = new Float32Array(r, g, 3), w = new Float32Array(r, g + o, 3), y = new Float32Array(r, g + o + a, 4),
|
|
2578
|
-
x[0] = h[0], x[1] = h[1], x[2] = h[2], w[0] = f[0], w[1] = f[1], w[2] = f[2], y[0] = C.w, y[1] = C.x, y[2] = C.y, y[3] = C.z,
|
|
2577
|
+
const g = d * c + i, x = new Float32Array(r, g, 3), w = new Float32Array(r, g + o, 3), y = new Float32Array(r, g + o + a, 4), E = new Uint8Array(r, g + o + a + l, 4);
|
|
2578
|
+
x[0] = h[0], x[1] = h[1], x[2] = h[2], w[0] = f[0], w[1] = f[1], w[2] = f[2], y[0] = C.w, y[1] = C.x, y[2] = C.y, y[3] = C.z, E[0] = p[0], E[1] = p[1], E[2] = p[2], E[3] = p[3];
|
|
2579
2579
|
}
|
|
2580
2580
|
}
|
|
2581
2581
|
static parseToUncompressedSplatArraySection(e, s, t, n, r) {
|
|
@@ -2648,9 +2648,9 @@ class as {
|
|
|
2648
2648
|
let h = t ? te.ProgressiveToSplatBuffer : te.ProgressiveToSplatArray;
|
|
2649
2649
|
o && (h = te.ProgressiveToSplatArray);
|
|
2650
2650
|
const f = I.HeaderSizeBytes + I.SectionHeaderSizeBytes, p = Y.ProgressiveLoadSectionSize, A = 1;
|
|
2651
|
-
let C, g, x, w = 0, y = 0,
|
|
2651
|
+
let C, g, x, w = 0, y = 0, E;
|
|
2652
2652
|
const S = jt();
|
|
2653
|
-
let
|
|
2653
|
+
let v = 0, F = 0, D = [];
|
|
2654
2654
|
const b = (R, k, M, O) => {
|
|
2655
2655
|
const L = R >= 100;
|
|
2656
2656
|
if (M && D.push(M), h === te.DownloadBeforeProcessing) {
|
|
@@ -2675,11 +2675,11 @@ class as {
|
|
|
2675
2675
|
splatCount: y,
|
|
2676
2676
|
compressionLevel: 0,
|
|
2677
2677
|
sceneCenter: new B()
|
|
2678
|
-
}, g)) :
|
|
2678
|
+
}, g)) : E = new P(0);
|
|
2679
2679
|
}
|
|
2680
2680
|
if (M) {
|
|
2681
2681
|
new Uint8Array(C, F, M.byteLength).set(new Uint8Array(M)), F += M.byteLength;
|
|
2682
|
-
const U = F -
|
|
2682
|
+
const U = F - v;
|
|
2683
2683
|
if (U > p || L) {
|
|
2684
2684
|
const H = (L ? U : p) / j.RowSizeBytes, Q = y + H;
|
|
2685
2685
|
h === te.ProgressiveToSplatBuffer ? j.parseToUncompressedSplatBufferSection(
|
|
@@ -2694,7 +2694,7 @@ class as {
|
|
|
2694
2694
|
Q - 1,
|
|
2695
2695
|
C,
|
|
2696
2696
|
0,
|
|
2697
|
-
|
|
2697
|
+
E
|
|
2698
2698
|
), y = Q, h === te.ProgressiveToSplatBuffer && (x || (I.writeSectionHeaderToBuffer({
|
|
2699
2699
|
maxSplatCount: w,
|
|
2700
2700
|
splatCount: y,
|
|
@@ -2705,10 +2705,10 @@ class as {
|
|
|
2705
2705
|
storageSizeBytes: 0,
|
|
2706
2706
|
fullBucketCount: 0,
|
|
2707
2707
|
partiallyFilledBucketCount: 0
|
|
2708
|
-
}, 0, g, I.HeaderSizeBytes), x = new I(g, !1)), x.updateLoadedCounts(1, y), n && n(x, L)),
|
|
2708
|
+
}, 0, g, I.HeaderSizeBytes), x = new I(g, !1)), x.updateLoadedCounts(1, y), n && n(x, L)), v += p;
|
|
2709
2709
|
}
|
|
2710
2710
|
}
|
|
2711
|
-
L && (h === te.ProgressiveToSplatBuffer ? S.resolve(x) : S.resolve(
|
|
2711
|
+
L && (h === te.ProgressiveToSplatBuffer ? S.resolve(x) : S.resolve(E)), s && s(R, k, ue.Downloading);
|
|
2712
2712
|
};
|
|
2713
2713
|
return s && s(0, "0%", ue.Downloading), Dt(e, b, !1, a).then(() => (s && s(0, "0%", ue.Processing), S.promise.then((R) => (s && s(100, "100%", ue.Done), h === te.DownloadBeforeProcessing ? new Blob(D).arrayBuffer().then((k) => as.loadFromFileData(
|
|
2714
2714
|
k,
|
|
@@ -2754,9 +2754,9 @@ class dt {
|
|
|
2754
2754
|
throw new Error(`KSplat version not supported: v${n.versionMajor}.${n.versionMinor}. Minimum required: v${s}.${t}`);
|
|
2755
2755
|
}
|
|
2756
2756
|
static loadFromURL(e, s, t, n, r) {
|
|
2757
|
-
let i, o, a, l, c = !1, d = !1, u, h = [], f = !1, p = !1, A = 0, C = 0, g = 0, x = !1, w = !1, y = !1,
|
|
2758
|
-
const S = jt(),
|
|
2759
|
-
!c && !d && A >= I.HeaderSizeBytes && (d = !0, new Blob(
|
|
2757
|
+
let i, o, a, l, c = !1, d = !1, u, h = [], f = !1, p = !1, A = 0, C = 0, g = 0, x = !1, w = !1, y = !1, E = [];
|
|
2758
|
+
const S = jt(), v = () => {
|
|
2759
|
+
!c && !d && A >= I.HeaderSizeBytes && (d = !0, new Blob(E).arrayBuffer().then((O) => {
|
|
2760
2760
|
a = new ArrayBuffer(I.HeaderSizeBytes), new Uint8Array(a).set(new Uint8Array(O, 0, I.HeaderSizeBytes)), dt.checkVersion(a), d = !1, c = !0, l = I.parseHeader(a), window.setTimeout(() => {
|
|
2761
2761
|
b();
|
|
2762
2762
|
}, 1);
|
|
@@ -2769,7 +2769,7 @@ class dt {
|
|
|
2769
2769
|
}, 1));
|
|
2770
2770
|
}, b = () => {
|
|
2771
2771
|
const M = () => {
|
|
2772
|
-
p = !0, new Blob(
|
|
2772
|
+
p = !0, new Blob(E).arrayBuffer().then((L) => {
|
|
2773
2773
|
p = !1, f = !0, u = new ArrayBuffer(l.maxSectionCount * I.SectionHeaderSizeBytes), new Uint8Array(u).set(new Uint8Array(
|
|
2774
2774
|
L,
|
|
2775
2775
|
I.HeaderSizeBytes,
|
|
@@ -2782,8 +2782,8 @@ class dt {
|
|
|
2782
2782
|
if (!i) {
|
|
2783
2783
|
i = new ArrayBuffer(_);
|
|
2784
2784
|
let H = 0;
|
|
2785
|
-
for (let Q = 0; Q <
|
|
2786
|
-
const ee =
|
|
2785
|
+
for (let Q = 0; Q < E.length; Q++) {
|
|
2786
|
+
const ee = E[Q];
|
|
2787
2787
|
new Uint8Array(i, H, ee.byteLength).set(new Uint8Array(ee)), H += ee.byteLength;
|
|
2788
2788
|
}
|
|
2789
2789
|
}
|
|
@@ -2824,7 +2824,7 @@ class dt {
|
|
|
2824
2824
|
window.setTimeout(M, Y.ProgressiveLoadSectionDelayDuration);
|
|
2825
2825
|
};
|
|
2826
2826
|
return Dt(e, (M, O, L) => {
|
|
2827
|
-
L && (
|
|
2827
|
+
L && (E.push(L), i && new Uint8Array(i, A, L.byteLength).set(new Uint8Array(L)), A += L.byteLength), t ? (v(), b(), R()) : s && s(M, O, ue.Downloading);
|
|
2828
2828
|
}, !t, r).then((M) => (s && s(0, "0%", ue.Processing), (t ? S.promise : dt.loadFromFileData(M)).then((L) => (s && s(100, "100%", ue.Done), L))));
|
|
2829
2829
|
}
|
|
2830
2830
|
static loadFromFileData(e) {
|
|
@@ -2867,15 +2867,15 @@ class wt extends Dn {
|
|
|
2867
2867
|
}, this.clearDampedPan = function() {
|
|
2868
2868
|
c.set(0, 0, 0);
|
|
2869
2869
|
}, this.update = (function() {
|
|
2870
|
-
const T = new B(), z = new ge().setFromUnitVectors(e.up, new B(0, 1, 0)), he = z.clone().invert(), me = new B(),
|
|
2870
|
+
const T = new B(), z = new ge().setFromUnitVectors(e.up, new B(0, 1, 0)), he = z.clone().invert(), me = new B(), Ee = new ge(), Ge = new B(), Ue = 2 * Math.PI;
|
|
2871
2871
|
return function() {
|
|
2872
2872
|
z.setFromUnitVectors(e.up, new B(0, 1, 0)), he.copy(z).invert();
|
|
2873
2873
|
const fs = t.object.position;
|
|
2874
2874
|
T.copy(fs).sub(t.target), T.applyQuaternion(z), o.setFromVector3(T), t.autoRotate && r === n.NONE && b(F()), t.enableDamping ? (o.theta += a.theta * t.dampingFactor, o.phi += a.phi * t.dampingFactor) : (o.theta += a.theta, o.phi += a.phi);
|
|
2875
2875
|
let Pe = t.minAzimuthAngle, Oe = t.maxAzimuthAngle;
|
|
2876
|
-
isFinite(Pe) && isFinite(Oe) && (Pe < -Math.PI ? Pe += Ue : Pe > Math.PI && (Pe -= Ue), Oe < -Math.PI ? Oe += Ue : Oe > Math.PI && (Oe -= Ue), Pe <= Oe ? o.theta = Math.max(Pe, Math.min(Oe, o.theta)) : o.theta = o.theta > (Pe + Oe) / 2 ? Math.max(Pe, o.theta) : Math.min(Oe, o.theta)), o.phi = Math.max(t.minPolarAngle, Math.min(t.maxPolarAngle, o.phi)), o.makeSafe(), t.enableDamping === !0 ? t.target.addScaledVector(c, t.dampingFactor) : t.target.add(c), t.zoomToCursor &&
|
|
2876
|
+
isFinite(Pe) && isFinite(Oe) && (Pe < -Math.PI ? Pe += Ue : Pe > Math.PI && (Pe -= Ue), Oe < -Math.PI ? Oe += Ue : Oe > Math.PI && (Oe -= Ue), Pe <= Oe ? o.theta = Math.max(Pe, Math.min(Oe, o.theta)) : o.theta = o.theta > (Pe + Oe) / 2 ? Math.max(Pe, o.theta) : Math.min(Oe, o.theta)), o.phi = Math.max(t.minPolarAngle, Math.min(t.maxPolarAngle, o.phi)), o.makeSafe(), t.enableDamping === !0 ? t.target.addScaledVector(c, t.dampingFactor) : t.target.add(c), t.zoomToCursor && E || t.object.isOrthographicCamera ? o.radius = H(o.radius) : o.radius = H(o.radius * l), T.setFromSpherical(o), T.applyQuaternion(he), fs.copy(t.target).add(T), t.object.lookAt(t.target), t.enableDamping === !0 ? (a.theta *= 1 - t.dampingFactor, a.phi *= 1 - t.dampingFactor, c.multiplyScalar(1 - t.dampingFactor)) : (a.set(0, 0, 0), c.set(0, 0, 0));
|
|
2877
2877
|
let gt = !1;
|
|
2878
|
-
if (t.zoomToCursor &&
|
|
2878
|
+
if (t.zoomToCursor && E) {
|
|
2879
2879
|
let rt = null;
|
|
2880
2880
|
if (t.object.isPerspectiveCamera) {
|
|
2881
2881
|
const ot = T.length();
|
|
@@ -2891,7 +2891,7 @@ class wt extends Dn {
|
|
|
2891
2891
|
console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), t.zoomToCursor = !1;
|
|
2892
2892
|
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)) < Vr ? e.lookAt(t.target) : (Gs.setFromNormalAndCoplanarPoint(t.object.up, t.target), Tt.intersectPlane(Gs, t.target))));
|
|
2893
2893
|
} else t.object.isOrthographicCamera && (t.object.zoom = Math.max(t.minZoom, Math.min(t.maxZoom, t.object.zoom / l)), t.object.updateProjectionMatrix(), gt = !0);
|
|
2894
|
-
return l = 1,
|
|
2894
|
+
return l = 1, E = !1, gt || me.distanceToSquared(t.object.position) > i || 8 * (1 - Ee.dot(t.object.quaternion)) > i || Ge.distanceToSquared(t.target) > 0 ? (t.dispatchEvent(Ns), me.copy(t.object.position), Ee.copy(t.object.quaternion), Ge.copy(t.target), gt = !1, !0) : !1;
|
|
2895
2895
|
};
|
|
2896
2896
|
})(), this.dispose = function() {
|
|
2897
2897
|
t.domElement.removeEventListener("contextmenu", us), t.domElement.removeEventListener("pointerdown", Ce), t.domElement.removeEventListener("pointercancel", He), t.domElement.removeEventListener("wheel", hs), t.domElement.removeEventListener("pointermove", we), t.domElement.removeEventListener("pointerup", He), t._domElementKeyEvents !== null && (t._domElementKeyEvents.removeEventListener("keydown", Mt), t._domElementKeyEvents = null);
|
|
@@ -2910,8 +2910,8 @@ class wt extends Dn {
|
|
|
2910
2910
|
const i = 1e-6, o = new xs(), a = new xs();
|
|
2911
2911
|
let l = 1;
|
|
2912
2912
|
const c = new B(), d = new N(), u = new N(), h = new N(), f = new N(), p = new N(), A = new N(), C = new N(), g = new N(), x = new N(), w = new B(), y = new N();
|
|
2913
|
-
let
|
|
2914
|
-
const S = [],
|
|
2913
|
+
let E = !1;
|
|
2914
|
+
const S = [], v = {};
|
|
2915
2915
|
function F() {
|
|
2916
2916
|
return 2 * Math.PI / 60 / 60 * t.autoRotateSpeed;
|
|
2917
2917
|
}
|
|
@@ -2937,13 +2937,13 @@ class wt extends Dn {
|
|
|
2937
2937
|
})(), O = (function() {
|
|
2938
2938
|
const T = new B();
|
|
2939
2939
|
return function(he, me) {
|
|
2940
|
-
const
|
|
2940
|
+
const Ee = t.domElement;
|
|
2941
2941
|
if (t.object.isPerspectiveCamera) {
|
|
2942
2942
|
const Ge = t.object.position;
|
|
2943
2943
|
T.copy(Ge).sub(t.target);
|
|
2944
2944
|
let Ue = T.length();
|
|
2945
|
-
Ue *= Math.tan(t.object.fov / 2 * Math.PI / 180), k(2 * he * Ue /
|
|
2946
|
-
} else t.object.isOrthographicCamera ? (k(he * (t.object.right - t.object.left) / t.object.zoom /
|
|
2945
|
+
Ue *= Math.tan(t.object.fov / 2 * Math.PI / 180), k(2 * he * Ue / Ee.clientHeight, t.object.matrix), M(2 * me * Ue / Ee.clientHeight, t.object.matrix);
|
|
2946
|
+
} else t.object.isOrthographicCamera ? (k(he * (t.object.right - t.object.left) / t.object.zoom / Ee.clientWidth, t.object.matrix), M(me * (t.object.top - t.object.bottom) / t.object.zoom / Ee.clientHeight, t.object.matrix)) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."), t.enablePan = !1);
|
|
2947
2947
|
};
|
|
2948
2948
|
})();
|
|
2949
2949
|
function L(T) {
|
|
@@ -2955,9 +2955,9 @@ class wt extends Dn {
|
|
|
2955
2955
|
function _(T) {
|
|
2956
2956
|
if (!t.zoomToCursor)
|
|
2957
2957
|
return;
|
|
2958
|
-
|
|
2959
|
-
const z = t.domElement.getBoundingClientRect(), he = T.clientX - z.left, me = T.clientY - z.top,
|
|
2960
|
-
y.x = he /
|
|
2958
|
+
E = !0;
|
|
2959
|
+
const z = t.domElement.getBoundingClientRect(), he = T.clientX - z.left, me = T.clientY - z.top, Ee = z.width, Ge = z.height;
|
|
2960
|
+
y.x = he / Ee * 2 - 1, y.y = -(me / Ge) * 2 + 1, w.set(y.x, y.y, 1).unproject(e).sub(e.position).normalize();
|
|
2961
2961
|
}
|
|
2962
2962
|
function H(T) {
|
|
2963
2963
|
return Math.max(t.minDistance, Math.min(t.maxDistance, T));
|
|
@@ -3033,8 +3033,8 @@ class wt extends Dn {
|
|
|
3033
3033
|
if (S.length == 1)
|
|
3034
3034
|
u.set(T.pageX, T.pageY);
|
|
3035
3035
|
else {
|
|
3036
|
-
const he = Rt(T), me = 0.5 * (T.pageX + he.x),
|
|
3037
|
-
u.set(me,
|
|
3036
|
+
const he = Rt(T), me = 0.5 * (T.pageX + he.x), Ee = 0.5 * (T.pageY + he.y);
|
|
3037
|
+
u.set(me, Ee);
|
|
3038
3038
|
}
|
|
3039
3039
|
h.subVectors(u, d).multiplyScalar(t.rotateSpeed);
|
|
3040
3040
|
const z = t.domElement;
|
|
@@ -3050,8 +3050,8 @@ class wt extends Dn {
|
|
|
3050
3050
|
A.subVectors(p, f).multiplyScalar(t.panSpeed), O(A.x, A.y), f.copy(p);
|
|
3051
3051
|
}
|
|
3052
3052
|
function $(T) {
|
|
3053
|
-
const z = Rt(T), he = T.pageX - z.x, me = T.pageY - z.y,
|
|
3054
|
-
g.set(0,
|
|
3053
|
+
const z = Rt(T), he = T.pageX - z.x, me = T.pageY - z.y, Ee = Math.sqrt(he * he + me * me);
|
|
3054
|
+
g.set(0, Ee), x.set(0, Math.pow(g.y / C.y, t.zoomSpeed)), L(x.y), C.copy(g);
|
|
3055
3055
|
}
|
|
3056
3056
|
function Fe(T) {
|
|
3057
3057
|
t.enableZoom && $(T), t.enablePan && fe(T);
|
|
@@ -3197,7 +3197,7 @@ class wt extends Dn {
|
|
|
3197
3197
|
S.push(T);
|
|
3198
3198
|
}
|
|
3199
3199
|
function Sn(T) {
|
|
3200
|
-
delete
|
|
3200
|
+
delete v[T.pointerId];
|
|
3201
3201
|
for (let z = 0; z < S.length; z++)
|
|
3202
3202
|
if (S[z].pointerId == T.pointerId) {
|
|
3203
3203
|
S.splice(z, 1);
|
|
@@ -3205,12 +3205,12 @@ class wt extends Dn {
|
|
|
3205
3205
|
}
|
|
3206
3206
|
}
|
|
3207
3207
|
function ps(T) {
|
|
3208
|
-
let z =
|
|
3209
|
-
z === void 0 && (z = new N(),
|
|
3208
|
+
let z = v[T.pointerId];
|
|
3209
|
+
z === void 0 && (z = new N(), v[T.pointerId] = z), z.set(T.pageX, T.pageY);
|
|
3210
3210
|
}
|
|
3211
3211
|
function Rt(T) {
|
|
3212
3212
|
const z = T.pointerId === S[0].pointerId ? S[1] : S[0];
|
|
3213
|
-
return
|
|
3213
|
+
return v[z.pointerId];
|
|
3214
3214
|
}
|
|
3215
3215
|
t.domElement.addEventListener("contextmenu", us), t.domElement.addEventListener("pointerdown", Ce), t.domElement.addEventListener("pointercancel", He), t.domElement.addEventListener("wheel", hs, { passive: !1 }), this.update();
|
|
3216
3216
|
}
|
|
@@ -3578,10 +3578,10 @@ class ht {
|
|
|
3578
3578
|
}
|
|
3579
3579
|
updateSplatRenderTargetForRenderDimensions(e, s) {
|
|
3580
3580
|
this.destroySplatRendertarget(), this.splatRenderTarget = new wn(e, s, {
|
|
3581
|
-
format:
|
|
3581
|
+
format: vt,
|
|
3582
3582
|
stencilBuffer: !1,
|
|
3583
3583
|
depthBuffer: !0
|
|
3584
|
-
}), this.splatRenderTarget.depthTexture = new
|
|
3584
|
+
}), this.splatRenderTarget.depthTexture = new En(e, s), this.splatRenderTarget.depthTexture.format = vn, this.splatRenderTarget.depthTexture.type = at;
|
|
3585
3585
|
}
|
|
3586
3586
|
destroySplatRendertarget() {
|
|
3587
3587
|
this.splatRenderTarget && (this.splatRenderTarget = null);
|
|
@@ -3969,16 +3969,16 @@ class Zr {
|
|
|
3969
3969
|
if (p.splatMesh.getScene(w).visible && (p.splatMesh.getSplatColor(x, e), p.splatMesh.getSplatCenter(x, s), p.splatMesh.getSplatScaleAndRotation(x, t, n), !(t.x <= i || t.y <= i || p.splatMesh.splatRenderMode === Le.ThreeD && t.z <= i)))
|
|
3970
3970
|
if (this.raycastAgainstTrueSplatEllipsoid) {
|
|
3971
3971
|
l.makeScale(t.x, t.y, t.z), c.makeRotationFromQuaternion(n);
|
|
3972
|
-
const
|
|
3973
|
-
if (a.makeScale(
|
|
3972
|
+
const E = Math.log10(e.w) * 2;
|
|
3973
|
+
if (a.makeScale(E, E, E), u.copy(a).multiply(c).multiply(l), d.copy(u).invert(), h.origin.copy(f.origin).sub(s).applyMatrix4(d), h.direction.copy(f.origin).add(f.direction).sub(s), h.direction.applyMatrix4(d).sub(h.origin).normalize(), h.intersectSphere(o, 1, r)) {
|
|
3974
3974
|
const S = r.clone();
|
|
3975
3975
|
S.splatIndex = x, S.origin.applyMatrix4(u).add(s), C.push(S);
|
|
3976
3976
|
}
|
|
3977
3977
|
} else {
|
|
3978
|
-
let
|
|
3979
|
-
if (p.splatMesh.splatRenderMode === Le.ThreeD && (
|
|
3980
|
-
const
|
|
3981
|
-
|
|
3978
|
+
let E = t.x + t.y, S = 2;
|
|
3979
|
+
if (p.splatMesh.splatRenderMode === Le.ThreeD && (E += t.z, S = 3), E = E / S, f.intersectSphere(s, E, r)) {
|
|
3980
|
+
const v = r.clone();
|
|
3981
|
+
v.splatIndex = x, C.push(v);
|
|
3982
3982
|
}
|
|
3983
3983
|
}
|
|
3984
3984
|
}
|
|
@@ -5232,7 +5232,7 @@ function io(m, e, s) {
|
|
|
5232
5232
|
let o = s.precision !== void 0 ? s.precision : "highp";
|
|
5233
5233
|
const a = r(o);
|
|
5234
5234
|
a !== o && (console.warn("THREE.WebGLRenderer:", o, "not supported, using", a, "instead."), o = a);
|
|
5235
|
-
const l = i || e.has("WEBGL_draw_buffers"), c = s.logarithmicDepthBuffer === !0, d = m.getParameter(m.MAX_TEXTURE_IMAGE_UNITS), u = m.getParameter(m.MAX_VERTEX_TEXTURE_IMAGE_UNITS), h = m.getParameter(m.MAX_TEXTURE_SIZE), f = m.getParameter(m.MAX_CUBE_MAP_TEXTURE_SIZE), p = m.getParameter(m.MAX_VERTEX_ATTRIBS), A = m.getParameter(m.MAX_VERTEX_UNIFORM_VECTORS), C = m.getParameter(m.MAX_VARYING_VECTORS), g = m.getParameter(m.MAX_FRAGMENT_UNIFORM_VECTORS), x = u > 0, w = i || e.has("OES_texture_float"), y = x && w,
|
|
5235
|
+
const l = i || e.has("WEBGL_draw_buffers"), c = s.logarithmicDepthBuffer === !0, d = m.getParameter(m.MAX_TEXTURE_IMAGE_UNITS), u = m.getParameter(m.MAX_VERTEX_TEXTURE_IMAGE_UNITS), h = m.getParameter(m.MAX_TEXTURE_SIZE), f = m.getParameter(m.MAX_CUBE_MAP_TEXTURE_SIZE), p = m.getParameter(m.MAX_VERTEX_ATTRIBS), A = m.getParameter(m.MAX_VERTEX_UNIFORM_VECTORS), C = m.getParameter(m.MAX_VARYING_VECTORS), g = m.getParameter(m.MAX_FRAGMENT_UNIFORM_VECTORS), x = u > 0, w = i || e.has("OES_texture_float"), y = x && w, E = i ? m.getParameter(m.MAX_SAMPLES) : 0;
|
|
5236
5236
|
return {
|
|
5237
5237
|
isWebGL2: i,
|
|
5238
5238
|
drawBuffers: l,
|
|
@@ -5251,7 +5251,7 @@ function io(m, e, s) {
|
|
|
5251
5251
|
vertexTextures: x,
|
|
5252
5252
|
floatFragmentTextures: w,
|
|
5253
5253
|
floatVertexTextures: y,
|
|
5254
|
-
maxSamples:
|
|
5254
|
+
maxSamples: E
|
|
5255
5255
|
};
|
|
5256
5256
|
}
|
|
5257
5257
|
const pt = {
|
|
@@ -5260,7 +5260,7 @@ const pt = {
|
|
|
5260
5260
|
}, tt = {
|
|
5261
5261
|
None: 0,
|
|
5262
5262
|
Info: 3
|
|
5263
|
-
}, qs = new sn(), ao = new ft(),
|
|
5263
|
+
}, qs = new sn(), ao = new ft(), Et = 6, lo = 4, co = 4, ho = 4, uo = 6, po = 8, Qt = 4, Nt = 4, Ks = 1, fo = 0.012, mo = 3e-3, js = 1, Ys = 16777216;
|
|
5264
5264
|
class ye extends be {
|
|
5265
5265
|
constructor(e = Le.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) {
|
|
5266
5266
|
super(qs, ao), 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 = {
|
|
@@ -5557,20 +5557,20 @@ class ye extends be {
|
|
|
5557
5557
|
setupDataTextures() {
|
|
5558
5558
|
const e = this.getMaxSplatCount(), s = this.getSplatCount(!0);
|
|
5559
5559
|
this.disposeTextures();
|
|
5560
|
-
const t = (S,
|
|
5560
|
+
const t = (S, v) => {
|
|
5561
5561
|
const F = new N(4096, 1024);
|
|
5562
|
-
for (; F.x * F.y * S < e *
|
|
5562
|
+
for (; F.x * F.y * S < e * v; ) F.y *= 2;
|
|
5563
5563
|
return F;
|
|
5564
5564
|
}, n = (S) => S >= 1 ? uo : co, r = (S) => {
|
|
5565
|
-
const
|
|
5566
|
-
return { elementsPerTexelStored:
|
|
5565
|
+
const v = n(S), F = t(v, 6);
|
|
5566
|
+
return { elementsPerTexelStored: v, texSize: F };
|
|
5567
5567
|
};
|
|
5568
5568
|
let i = this.getTargetCovarianceCompressionLevel();
|
|
5569
5569
|
const o = 0, a = this.getTargetSphericalHarmonicsCompressionLevel();
|
|
5570
5570
|
let l, c, d;
|
|
5571
5571
|
if (this.splatRenderMode === Le.ThreeD) {
|
|
5572
5572
|
const S = r(i);
|
|
5573
|
-
S.texSize.x * S.texSize.y > Ys && i === 0 && (i = 1), l = new Float32Array(e *
|
|
5573
|
+
S.texSize.x * S.texSize.y > Ys && i === 0 && (i = 1), l = new Float32Array(e * Et);
|
|
5574
5574
|
} else
|
|
5575
5575
|
c = new Float32Array(e * 3), d = new Float32Array(e * 4);
|
|
5576
5576
|
const u = new Float32Array(e * 3), h = new Uint8Array(e * 4);
|
|
@@ -5600,7 +5600,7 @@ class ye extends be {
|
|
|
5600
5600
|
size: C
|
|
5601
5601
|
}
|
|
5602
5602
|
}, this.splatRenderMode === Le.ThreeD) {
|
|
5603
|
-
const S = r(i),
|
|
5603
|
+
const S = r(i), v = S.elementsPerTexelStored, F = S.texSize;
|
|
5604
5604
|
let D = i >= 1 ? Uint32Array : Float32Array;
|
|
5605
5605
|
const b = i >= 1 ? po : ho, R = new D(F.x * F.y * b);
|
|
5606
5606
|
i === 0 ? R.set(l) : ye.updatePaddedCompressedCovariancesTextureData(l, R, 0, 0, l.length);
|
|
@@ -5614,7 +5614,7 @@ class ye extends be {
|
|
|
5614
5614
|
at
|
|
5615
5615
|
), k.internalFormat = "RGBA32UI", this.material.uniforms.covariancesTextureHalfFloat.value = k;
|
|
5616
5616
|
else {
|
|
5617
|
-
k = new ze(R, F.x, F.y,
|
|
5617
|
+
k = new ze(R, F.x, F.y, vt, ms), this.material.uniforms.covariancesTexture.value = k;
|
|
5618
5618
|
const M = new ze(new Uint32Array(32), 2, 2, Pt, at);
|
|
5619
5619
|
M.internalFormat = "RGBA32UI", this.material.uniforms.covariancesTextureHalfFloat.value = M, M.needsUpdate = !0;
|
|
5620
5620
|
}
|
|
@@ -5623,45 +5623,45 @@ class ye extends be {
|
|
|
5623
5623
|
texture: k,
|
|
5624
5624
|
size: F,
|
|
5625
5625
|
compressionLevel: i,
|
|
5626
|
-
elementsPerTexelStored:
|
|
5626
|
+
elementsPerTexelStored: v,
|
|
5627
5627
|
elementsPerTexelAllocated: b
|
|
5628
5628
|
};
|
|
5629
5629
|
} else {
|
|
5630
|
-
const
|
|
5630
|
+
const v = t(Qt, 6);
|
|
5631
5631
|
let F = Float32Array, D = ms;
|
|
5632
|
-
const b = new F(
|
|
5632
|
+
const b = new F(v.x * v.y * Qt);
|
|
5633
5633
|
ye.updateScaleRotationsPaddedData(0, s - 1, c, d, b);
|
|
5634
5634
|
const R = new ze(
|
|
5635
5635
|
b,
|
|
5636
|
-
|
|
5637
|
-
|
|
5638
|
-
|
|
5636
|
+
v.x,
|
|
5637
|
+
v.y,
|
|
5638
|
+
vt,
|
|
5639
5639
|
D
|
|
5640
5640
|
);
|
|
5641
|
-
R.needsUpdate = !0, this.material.uniforms.scaleRotationsTexture.value = R, this.material.uniforms.scaleRotationsTextureSize.value.copy(
|
|
5641
|
+
R.needsUpdate = !0, this.material.uniforms.scaleRotationsTexture.value = R, this.material.uniforms.scaleRotationsTextureSize.value.copy(v), this.splatDataTextures.scaleRotations = {
|
|
5642
5642
|
data: b,
|
|
5643
5643
|
texture: R,
|
|
5644
|
-
size:
|
|
5644
|
+
size: v,
|
|
5645
5645
|
compressionLevel: o
|
|
5646
5646
|
};
|
|
5647
5647
|
}
|
|
5648
5648
|
if (A) {
|
|
5649
5649
|
const S = a === 2 ? yn : xn;
|
|
5650
|
-
let
|
|
5651
|
-
|
|
5652
|
-
const F = 4, D =
|
|
5653
|
-
let b = t(F,
|
|
5650
|
+
let v = p;
|
|
5651
|
+
v % 2 !== 0 && v++;
|
|
5652
|
+
const F = 4, D = vt;
|
|
5653
|
+
let b = t(F, v);
|
|
5654
5654
|
if (b.x * b.y <= Ys) {
|
|
5655
5655
|
const R = b.x * b.y * F, k = new f(R);
|
|
5656
5656
|
for (let O = 0; O < s; O++) {
|
|
5657
|
-
const L = p * O, U =
|
|
5657
|
+
const L = p * O, U = v * O;
|
|
5658
5658
|
for (let _ = 0; _ < p; _++)
|
|
5659
5659
|
k[U + _] = A[L + _];
|
|
5660
5660
|
}
|
|
5661
5661
|
const M = new ze(k, b.x, b.y, D, S);
|
|
5662
5662
|
M.needsUpdate = !0, this.material.uniforms.sphericalHarmonicsTexture.value = M, this.splatDataTextures.sphericalHarmonics = {
|
|
5663
5663
|
componentCount: p,
|
|
5664
|
-
paddedComponentCount:
|
|
5664
|
+
paddedComponentCount: v,
|
|
5665
5665
|
data: k,
|
|
5666
5666
|
textureCount: 1,
|
|
5667
5667
|
texture: M,
|
|
@@ -5671,7 +5671,7 @@ class ye extends be {
|
|
|
5671
5671
|
};
|
|
5672
5672
|
} else {
|
|
5673
5673
|
const R = p / 3;
|
|
5674
|
-
|
|
5674
|
+
v = R, v % 2 !== 0 && v++, b = t(F, v);
|
|
5675
5675
|
const k = b.x * b.y * F, M = [
|
|
5676
5676
|
this.material.uniforms.sphericalHarmonicsTextureR,
|
|
5677
5677
|
this.material.uniforms.sphericalHarmonicsTextureG,
|
|
@@ -5681,7 +5681,7 @@ class ye extends be {
|
|
|
5681
5681
|
const _ = new f(k);
|
|
5682
5682
|
O.push(_);
|
|
5683
5683
|
for (let Q = 0; Q < s; Q++) {
|
|
5684
|
-
const ee = p * Q, le =
|
|
5684
|
+
const ee = p * Q, le = v * Q;
|
|
5685
5685
|
if (R >= 3) {
|
|
5686
5686
|
for (let V = 0; V < 3; V++) _[le + V] = A[ee + U * 3 + V];
|
|
5687
5687
|
if (R >= 8)
|
|
@@ -5694,7 +5694,7 @@ class ye extends be {
|
|
|
5694
5694
|
this.material.uniforms.sphericalHarmonicsMultiTextureMode.value = 1, this.splatDataTextures.sphericalHarmonics = {
|
|
5695
5695
|
componentCount: p,
|
|
5696
5696
|
componentCountPerChannel: R,
|
|
5697
|
-
paddedComponentCount:
|
|
5697
|
+
paddedComponentCount: v,
|
|
5698
5698
|
data: O,
|
|
5699
5699
|
textureCount: 3,
|
|
5700
5700
|
textures: L,
|
|
@@ -5712,16 +5712,16 @@ class ye extends be {
|
|
|
5712
5712
|
}
|
|
5713
5713
|
const w = t(Ks, 4), y = new Uint32Array(w.x * w.y * Ks);
|
|
5714
5714
|
for (let S = 0; S < s; S++) y[S] = this.globalSplatIndexToSceneIndexMap[S];
|
|
5715
|
-
const
|
|
5715
|
+
const E = new ze(
|
|
5716
5716
|
y,
|
|
5717
5717
|
w.x,
|
|
5718
5718
|
w.y,
|
|
5719
5719
|
In,
|
|
5720
5720
|
at
|
|
5721
5721
|
);
|
|
5722
|
-
|
|
5722
|
+
E.internalFormat = "R32UI", E.needsUpdate = !0, this.material.uniforms.sceneIndexesTexture.value = E, this.material.uniforms.sceneIndexesTextureSize.value.copy(w), this.material.uniformsNeedUpdate = !0, this.splatDataTextures.sceneIndexes = {
|
|
5723
5723
|
data: y,
|
|
5724
|
-
texture:
|
|
5724
|
+
texture: E,
|
|
5725
5725
|
size: w
|
|
5726
5726
|
}, this.material.uniforms.sceneCount.value = this.scenes.length;
|
|
5727
5727
|
}
|
|
@@ -5764,11 +5764,11 @@ class ye extends be {
|
|
|
5764
5764
|
e,
|
|
5765
5765
|
s
|
|
5766
5766
|
), t) {
|
|
5767
|
-
const g = t.texture, x = e *
|
|
5767
|
+
const g = t.texture, x = e * Et, w = s * Et;
|
|
5768
5768
|
if (n === 0)
|
|
5769
|
-
for (let
|
|
5770
|
-
const S = this.splatDataTextures.baseData.covariances[
|
|
5771
|
-
t.data[
|
|
5769
|
+
for (let E = x; E <= w; E++) {
|
|
5770
|
+
const S = this.splatDataTextures.baseData.covariances[E];
|
|
5771
|
+
t.data[E] = S;
|
|
5772
5772
|
}
|
|
5773
5773
|
else
|
|
5774
5774
|
ye.updatePaddedCompressedCovariancesTextureData(
|
|
@@ -5785,7 +5785,7 @@ class ye extends be {
|
|
|
5785
5785
|
t.size,
|
|
5786
5786
|
y,
|
|
5787
5787
|
t.elementsPerTexelStored,
|
|
5788
|
-
|
|
5788
|
+
Et,
|
|
5789
5789
|
4,
|
|
5790
5790
|
e,
|
|
5791
5791
|
s
|
|
@@ -5810,12 +5810,12 @@ class ye extends be {
|
|
|
5810
5810
|
this.splatDataTextures.baseData.rotations,
|
|
5811
5811
|
g
|
|
5812
5812
|
);
|
|
5813
|
-
const
|
|
5814
|
-
!
|
|
5813
|
+
const E = this.renderer ? this.renderer.properties.get(x) : null;
|
|
5814
|
+
!E || !E.__webglTexture ? x.needsUpdate = !0 : this.updateDataTexture(
|
|
5815
5815
|
g,
|
|
5816
5816
|
r.texture,
|
|
5817
5817
|
r.size,
|
|
5818
|
-
|
|
5818
|
+
E,
|
|
5819
5819
|
Qt,
|
|
5820
5820
|
w,
|
|
5821
5821
|
y,
|
|
@@ -5827,14 +5827,14 @@ class ye extends be {
|
|
|
5827
5827
|
if (h) {
|
|
5828
5828
|
let g = 4;
|
|
5829
5829
|
a === 1 ? g = 2 : a === 2 && (g = 1);
|
|
5830
|
-
const x = (
|
|
5831
|
-
const b = this.renderer ? this.renderer.properties.get(
|
|
5832
|
-
!b || !b.__webglTexture ?
|
|
5830
|
+
const x = (E, S, v, F, D) => {
|
|
5831
|
+
const b = this.renderer ? this.renderer.properties.get(E) : null;
|
|
5832
|
+
!b || !b.__webglTexture ? E.needsUpdate = !0 : this.updateDataTexture(
|
|
5833
5833
|
F,
|
|
5834
|
-
|
|
5834
|
+
E,
|
|
5835
5835
|
S,
|
|
5836
5836
|
b,
|
|
5837
|
-
|
|
5837
|
+
v,
|
|
5838
5838
|
D,
|
|
5839
5839
|
g,
|
|
5840
5840
|
e,
|
|
@@ -5842,36 +5842,36 @@ class ye extends be {
|
|
|
5842
5842
|
);
|
|
5843
5843
|
}, w = o.componentCount, y = o.paddedComponentCount;
|
|
5844
5844
|
if (o.textureCount === 1) {
|
|
5845
|
-
const
|
|
5845
|
+
const E = o.data;
|
|
5846
5846
|
for (let S = e; S <= s; S++) {
|
|
5847
|
-
const
|
|
5847
|
+
const v = w * S, F = y * S;
|
|
5848
5848
|
for (let D = 0; D < w; D++)
|
|
5849
|
-
|
|
5849
|
+
E[F + D] = h[v + D];
|
|
5850
5850
|
}
|
|
5851
5851
|
x(
|
|
5852
5852
|
o.texture,
|
|
5853
5853
|
o.size,
|
|
5854
5854
|
o.elementsPerTexel,
|
|
5855
|
-
|
|
5855
|
+
E,
|
|
5856
5856
|
y
|
|
5857
5857
|
);
|
|
5858
5858
|
} else {
|
|
5859
|
-
const
|
|
5859
|
+
const E = o.componentCountPerChannel;
|
|
5860
5860
|
for (let S = 0; S < 3; S++) {
|
|
5861
|
-
const
|
|
5861
|
+
const v = o.data[S];
|
|
5862
5862
|
for (let F = e; F <= s; F++) {
|
|
5863
5863
|
const D = w * F, b = y * F;
|
|
5864
|
-
if (
|
|
5865
|
-
for (let R = 0; R < 3; R++)
|
|
5866
|
-
if (
|
|
5867
|
-
for (let R = 0; R < 5; R++)
|
|
5864
|
+
if (E >= 3) {
|
|
5865
|
+
for (let R = 0; R < 3; R++) v[b + R] = h[D + S * 3 + R];
|
|
5866
|
+
if (E >= 8)
|
|
5867
|
+
for (let R = 0; R < 5; R++) v[b + 3 + R] = h[D + 9 + S * 5 + R];
|
|
5868
5868
|
}
|
|
5869
5869
|
}
|
|
5870
5870
|
x(
|
|
5871
5871
|
o.textures[S],
|
|
5872
5872
|
o.size,
|
|
5873
5873
|
o.elementsPerTexel,
|
|
5874
|
-
|
|
5874
|
+
v,
|
|
5875
5875
|
y
|
|
5876
5876
|
);
|
|
5877
5877
|
}
|
|
@@ -6315,14 +6315,14 @@ class ye extends be {
|
|
|
6315
6315
|
for (let x = C; x <= g; x++) {
|
|
6316
6316
|
o == null && (o = !this.dynamicMode);
|
|
6317
6317
|
const w = this.getScene(x), y = w.splatBuffer;
|
|
6318
|
-
let
|
|
6319
|
-
if (o && (this.getSceneTransform(x, A),
|
|
6318
|
+
let E;
|
|
6319
|
+
if (o && (this.getSceneTransform(x, A), E = A), e && y.fillSplatCovarianceArray(e, E, d, u, h, a), s || t) {
|
|
6320
6320
|
if (!s || !t)
|
|
6321
6321
|
throw new Error('SplatMesh::fillSplatDataArrays() -> "scales" and "rotations" must both be valid.');
|
|
6322
6322
|
y.fillSplatScaleRotationArray(
|
|
6323
6323
|
s,
|
|
6324
6324
|
t,
|
|
6325
|
-
|
|
6325
|
+
E,
|
|
6326
6326
|
d,
|
|
6327
6327
|
u,
|
|
6328
6328
|
h,
|
|
@@ -6330,10 +6330,10 @@ class ye extends be {
|
|
|
6330
6330
|
p
|
|
6331
6331
|
);
|
|
6332
6332
|
}
|
|
6333
|
-
n && y.fillSplatCenterArray(n,
|
|
6333
|
+
n && y.fillSplatCenterArray(n, E, d, u, h), r && y.fillSplatColorArray(r, w.minimumAlpha, d, u, h), i && y.fillSphericalHarmonicsArray(
|
|
6334
6334
|
i,
|
|
6335
6335
|
this.minSphericalHarmonicsDegree,
|
|
6336
|
-
|
|
6336
|
+
E,
|
|
6337
6337
|
d,
|
|
6338
6338
|
u,
|
|
6339
6339
|
h,
|
|
@@ -6501,7 +6501,7 @@ class ye extends be {
|
|
|
6501
6501
|
var Ao = "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", Xs = "AGFzbQEAAAAADwhkeWxpbmsuMAEEAAAAAAEXAmAAAGAQf39/f39/f39/f39/f39/fwACEgEDZW52Bm1lbW9yeQIDAICABAMDAgABBz4DEV9fd2FzbV9jYWxsX2N0b3JzAAAYX193YXNtX2FwcGx5X2RhdGFfcmVsb2NzAAALc29ydEluZGV4ZXMAAQqiDwICAAucDwMBfAd9Bn8gCyAKayEMAkACQCAOBEAgDQRAQfj///8HIQpBiICAgHghDSALIAxNDQMgDCEFA0AgAyAFQQJ0IgFqIAIgACABaigCAEECdGooAgAiATYCACABIAogASAKSBshCiABIA0gASANShshDSAFQQFqIgUgC0cNAAsMAwsgDwRAIAsgDE0NAkF/IQ9B+P///wchCkGIgICAeCENIAwhAgNAIA8gByAAIAJBAnQiGmooAgBBAnQiG2ooAgAiDkcEQAJ/IAUqAjgiESAIIA5BBnRqIg8qAjyUIAUqAigiEiAPKgI4lCAFKgIIIhMgDyoCMJQgBSoCGCIUIA8qAjSUkpKSu0QAAAAAAECPQKIiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLIRgCfyARIA8qAiyUIBIgDyoCKJQgEyAPKgIglCAUIA8qAiSUkpKSu0QAAAAAAECPQKIiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLIRkCfyARIA8qAhyUIBIgDyoCGJQgEyAPKgIQlCAUIA8qAhSUkpKSu0QAAAAAAECPQKIiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLIRwCfyARIA8qAgyUIBIgDyoCCJQgEyAPKgIAlCAUIA8qAgSUkpKSu0QAAAAAAECPQKIiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLIR0gDiEPCyADIBpqIAEgG0ECdGoiDigCBCAcbCAOKAIAIB1saiAOKAIIIBlsaiAOKAIMIBhsaiIONgIAIA4gCiAKIA5KGyEKIA4gDSANIA5IGyENIAJBAWoiAiALRw0ACwwDCwJ/IAUqAii7RAAAAAAAQI9AoiIQmUQAAAAAAADgQWMEQCAQqgwBC0GAgICAeAshAgJ/IAUqAhi7RAAAAAAAQI9AoiIQmUQAAAAAAADgQWMEQCAQqgwBC0GAgICAeAshByALIAxNAn8gBSoCCLtEAAAAAABAj0CiIhCZRAAAAAAAAOBBYwRAIBCqDAELQYCAgIB4CyEPQfj///8HIQpBiICAgHghDQ0CIAwhBQNAIAMgBUECdCIIaiABIAAgCGooAgBBBHRqIggoAgQgB2wgCCgCACAPbGogCCgCCCACbGoiCDYCACAIIAogCCAKSBshCiAIIA0gCCANShshDSAFQQFqIgUgC0cNAAsMAgsgDQRAQfj///8HIQpBiICAgHghDSALIAxNDQIgDCEFA0AgAyAFQQJ0IgFqAn8gAiAAIAFqKAIAQQJ0aioCALtEAAAAAAAAsECiIhCZRAAAAAAAAOBBYwRAIBCqDAELQYCAgIB4CyIONgIAIAogDiAKIA5IGyEKIA0gDiANIA5KGyENIAVBAWoiBSALRw0ACwwCCyAPRQRAIAsgDE0NASAFKgIoIREgBSoCGCESIAUqAgghE0H4////ByEKQYiAgIB4IQ0gDCEFA0ACfyARIAEgACAFQQJ0IgdqKAIAQQR0aiICKgIIlCATIAIqAgCUIBIgAioCBJSSkrtEAAAAAAAAsECiIhCZRAAAAAAAAOBBYwRAIBCqDAELQYCAgIB4CyEOIAMgB2ogDjYCACAKIA4gCiAOSBshCiANIA4gDSAOShshDSAFQQFqIgUgC0cNAAsMAgsgCyAMTQ0AQX8hD0H4////ByEKQYiAgIB4IQ0gDCECA0AgDyAHIAAgAkECdCIYaigCAEECdCIZaigCACIORwRAIAUqAjgiESAIIA5BBnRqIg8qAjyUIAUqAigiEiAPKgI4lCAFKgIIIhMgDyoCMJQgBSoCGCIUIA8qAjSUkpKSIRUgESAPKgIslCASIA8qAiiUIBMgDyoCIJQgFCAPKgIklJKSkiEWIBEgDyoCHJQgEiAPKgIYlCATIA8qAhCUIBQgDyoCFJSSkpIhFyARIA8qAgyUIBIgDyoCCJQgEyAPKgIAlCAUIA8qAgSUkpKSIREgDiEPCyADIBhqAn8gFSABIBlBAnRqIg4qAgyUIBYgDioCCJQgESAOKgIAlCAXIA4qAgSUkpKSu0QAAAAAAACwQKIiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLIg42AgAgCiAOIAogDkgbIQogDSAOIA0gDkobIQ0gAkEBaiICIAtHDQALDAELQYiAgIB4IQ1B+P///wchCgsgCyAMSwRAIAlBAWuzIA2yIAqyk5UhESAMIQ0DQAJ/IBEgAyANQQJ0aiIBKAIAIAprspQiEotDAAAAT10EQCASqAwBC0GAgICAeAshDiABIA42AgAgBCAOQQJ0aiIBIAEoAgBBAWo2AgAgDUEBaiINIAtHDQALCyAJQQJPBEAgBCgCACENQQEhCgNAIAQgCkECdGoiASABKAIAIA1qIg02AgAgCkEBaiIKIAlHDQALCyAMQQBKBEAgDCEKA0AgBiAKQQFrIgFBAnQiAmogACACaigCADYCACAKQQFLIAEhCg0ACwsgCyAMSgRAIAshCgNAIAYgCyAEIAMgCkEBayIKQQJ0IgFqKAIAQQJ0aiICKAIAIgVrQQJ0aiAAIAFqKAIANgIAIAIgBUEBazYCACAKIAxKDQALCws=", go = "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", Co = "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";
|
|
6502
6502
|
function So(m) {
|
|
6503
6503
|
let e, s, t, n, r, i, o, a, l, c, d, u, h, f, p, A, C, g, x, w;
|
|
6504
|
-
function y(
|
|
6504
|
+
function y(E, S, v, F, D, b, R) {
|
|
6505
6505
|
const k = performance.now();
|
|
6506
6506
|
if (!t && (new Uint32Array(s, o, D.byteLength / w.BytesPerInt).set(D), new Float32Array(s, c, R.byteLength / w.BytesPerFloat).set(R), F)) {
|
|
6507
6507
|
let _;
|
|
@@ -6515,7 +6515,7 @@ function So(m) {
|
|
|
6515
6515
|
b.byteLength / w.BytesPerFloat
|
|
6516
6516
|
), _.set(b);
|
|
6517
6517
|
}
|
|
6518
|
-
A || (A = new Uint32Array(g)), new Float32Array(s, p, 16).set(
|
|
6518
|
+
A || (A = new Uint32Array(g)), new Float32Array(s, p, 16).set(v), new Uint32Array(s, h, g).set(A), e.exports.sortIndexes(
|
|
6519
6519
|
o,
|
|
6520
6520
|
f,
|
|
6521
6521
|
d,
|
|
@@ -6526,7 +6526,7 @@ function So(m) {
|
|
|
6526
6526
|
l,
|
|
6527
6527
|
c,
|
|
6528
6528
|
g,
|
|
6529
|
-
|
|
6529
|
+
E,
|
|
6530
6530
|
S,
|
|
6531
6531
|
i,
|
|
6532
6532
|
F,
|
|
@@ -6535,7 +6535,7 @@ function So(m) {
|
|
|
6535
6535
|
);
|
|
6536
6536
|
const M = {
|
|
6537
6537
|
sortDone: !0,
|
|
6538
|
-
splatSortCount:
|
|
6538
|
+
splatSortCount: E,
|
|
6539
6539
|
splatRenderCount: S,
|
|
6540
6540
|
sortTime: 0
|
|
6541
6541
|
};
|
|
@@ -6546,36 +6546,36 @@ function So(m) {
|
|
|
6546
6546
|
const O = performance.now();
|
|
6547
6547
|
M.sortTime = O - k, m.postMessage(M);
|
|
6548
6548
|
}
|
|
6549
|
-
m.onmessage = (
|
|
6550
|
-
if (
|
|
6551
|
-
centers =
|
|
6549
|
+
m.onmessage = (E) => {
|
|
6550
|
+
if (E.data.centers)
|
|
6551
|
+
centers = E.data.centers, sceneIndexes = E.data.sceneIndexes, n ? new Int32Array(
|
|
6552
6552
|
s,
|
|
6553
|
-
f +
|
|
6554
|
-
|
|
6553
|
+
f + E.data.range.from * w.BytesPerInt * 4,
|
|
6554
|
+
E.data.range.count * 4
|
|
6555
6555
|
).set(new Int32Array(centers)) : new Float32Array(
|
|
6556
6556
|
s,
|
|
6557
|
-
f +
|
|
6558
|
-
|
|
6557
|
+
f + E.data.range.from * w.BytesPerFloat * 4,
|
|
6558
|
+
E.data.range.count * 4
|
|
6559
6559
|
).set(new Float32Array(centers)), r && new Uint32Array(
|
|
6560
6560
|
s,
|
|
6561
|
-
l +
|
|
6562
|
-
|
|
6563
|
-
).set(new Uint32Array(sceneIndexes)), x =
|
|
6564
|
-
else if (
|
|
6565
|
-
const S = Math.min(
|
|
6561
|
+
l + E.data.range.from * 4,
|
|
6562
|
+
E.data.range.count
|
|
6563
|
+
).set(new Uint32Array(sceneIndexes)), x = E.data.range.from + E.data.range.count;
|
|
6564
|
+
else if (E.data.sort) {
|
|
6565
|
+
const S = Math.min(E.data.sort.splatRenderCount || 0, x), v = Math.min(E.data.sort.splatSortCount || 0, x), F = E.data.sort.usePrecomputedDistances;
|
|
6566
6566
|
let D, b, R;
|
|
6567
|
-
t || (D =
|
|
6568
|
-
|
|
6567
|
+
t || (D = E.data.sort.indexesToSort, R = E.data.sort.transforms, F && (b = E.data.sort.precomputedDistances)), y(
|
|
6568
|
+
v,
|
|
6569
6569
|
S,
|
|
6570
|
-
|
|
6570
|
+
E.data.sort.modelViewProj,
|
|
6571
6571
|
F,
|
|
6572
6572
|
D,
|
|
6573
6573
|
b,
|
|
6574
6574
|
R
|
|
6575
6575
|
);
|
|
6576
|
-
} else if (
|
|
6577
|
-
w =
|
|
6578
|
-
const S = n ? w.BytesPerInt * 4 : w.BytesPerFloat * 4,
|
|
6576
|
+
} else if (E.data.init) {
|
|
6577
|
+
w = E.data.init.Constants, i = E.data.init.splatCount, t = E.data.init.useSharedMemory, n = E.data.init.integerBasedSort, r = E.data.init.dynamicMode, g = E.data.init.distanceMapRange, x = 0;
|
|
6578
|
+
const S = n ? w.BytesPerInt * 4 : w.BytesPerFloat * 4, v = new Uint8Array(E.data.init.sorterWasmBytes), F = 16 * w.BytesPerFloat, D = i * w.BytesPerInt, b = i * S, R = F, k = n ? i * w.BytesPerInt : i * w.BytesPerFloat, M = i * w.BytesPerInt, O = i * w.BytesPerInt, L = n ? g * w.BytesPerInt * 2 : g * w.BytesPerFloat * 2, U = r ? i * w.BytesPerInt : 0, _ = r ? w.MaxScenes * F : 0, H = w.MemoryPageSize * 32, Q = D + b + R + k + M + L + O + U + _ + H, ee = Math.floor(Q / w.MemoryPageSize) + 1, le = {
|
|
6579
6579
|
module: {},
|
|
6580
6580
|
env: {
|
|
6581
6581
|
memory: new WebAssembly.Memory({
|
|
@@ -6585,7 +6585,7 @@ function So(m) {
|
|
|
6585
6585
|
})
|
|
6586
6586
|
}
|
|
6587
6587
|
};
|
|
6588
|
-
WebAssembly.compile(
|
|
6588
|
+
WebAssembly.compile(v).then((V) => WebAssembly.instantiate(V, le)).then((V) => {
|
|
6589
6589
|
e = V, o = 0, f = o + D, p = f + b, d = p + R, u = d + k, h = u + M, a = h + L, l = a + O, c = l + U, s = le.env.memory.buffer, t ? m.postMessage({
|
|
6590
6590
|
sortSetupPhase1Complete: !0,
|
|
6591
6591
|
indexesToSortBuffer: s,
|
|
@@ -6763,7 +6763,7 @@ class xo {
|
|
|
6763
6763
|
const Vt = {
|
|
6764
6764
|
Always: 0,
|
|
6765
6765
|
Never: 2
|
|
6766
|
-
}, Io = 50, To = 0.75, wo = 15e5,
|
|
6766
|
+
}, Io = 50, To = 0.75, wo = 15e5, Eo = 10, vo = 2.5, Bo = 60;
|
|
6767
6767
|
class Ze {
|
|
6768
6768
|
constructor(e = {}) {
|
|
6769
6769
|
if (e.cameraUp || (e.cameraUp = [0, 1, 0]), this.cameraUp = new B().fromArray(e.cameraUp), e.initialCameraPosition || (e.initialCameraPosition = [0, 10, 15]), this.initialCameraPosition = new B().fromArray(e.initialCameraPosition), e.initialCameraLookAt || (e.initialCameraLookAt = [0, 0, 0]), this.initialCameraLookAt = new B().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()) {
|
|
@@ -7582,13 +7582,13 @@ class Ze {
|
|
|
7582
7582
|
if (this.getRenderDimensions(e), this.transitioningCameraTarget) {
|
|
7583
7583
|
this.sceneHelper.setFocusMarkerVisibility(!0);
|
|
7584
7584
|
const n = Math.max(this.sceneHelper.getFocusMarkerOpacity(), 0);
|
|
7585
|
-
let r = Math.min(n +
|
|
7585
|
+
let r = Math.min(n + Eo * t, 1);
|
|
7586
7586
|
this.sceneHelper.setFocusMarkerOpacity(r), this.sceneHelper.updateFocusMarker(this.nextCameraTarget, this.camera, e), s = !0, this.forceRenderNextFrame();
|
|
7587
7587
|
} else {
|
|
7588
7588
|
let n;
|
|
7589
7589
|
if (s ? n = 1 : n = Math.min(this.sceneHelper.getFocusMarkerOpacity(), 1), n > 0) {
|
|
7590
7590
|
this.sceneHelper.updateFocusMarker(this.nextCameraTarget, this.camera, e);
|
|
7591
|
-
let r = Math.max(n -
|
|
7591
|
+
let r = Math.max(n - vo * t, 0);
|
|
7592
7592
|
this.sceneHelper.setFocusMarkerOpacity(r), r === 0 && this.sceneHelper.setFocusMarkerVisibility(!1);
|
|
7593
7593
|
}
|
|
7594
7594
|
n > 0 && this.forceRenderNextFrame(), s = !1;
|
|
@@ -7665,8 +7665,8 @@ class Ze {
|
|
|
7665
7665
|
else {
|
|
7666
7666
|
for (let y of a)
|
|
7667
7667
|
if (d < y.angleThreshold) {
|
|
7668
|
-
for (let
|
|
7669
|
-
o.push(Math.floor(this.splatRenderCount *
|
|
7668
|
+
for (let E of y.sortFractions)
|
|
7669
|
+
o.push(Math.floor(this.splatRenderCount * E));
|
|
7670
7670
|
break;
|
|
7671
7671
|
}
|
|
7672
7672
|
o.push(this.splatRenderCount);
|
|
@@ -7704,11 +7704,11 @@ class Ze {
|
|
|
7704
7704
|
o.copy(this.camera.matrixWorld).invert(), this.splatMesh.dynamicMode || o.multiply(this.splatMesh.matrixWorld);
|
|
7705
7705
|
let w = 0, y = 0;
|
|
7706
7706
|
for (let S = 0; S < x.subTrees.length; S++) {
|
|
7707
|
-
const
|
|
7707
|
+
const v = x.subTrees[S];
|
|
7708
7708
|
i.copy(o), this.splatMesh.dynamicMode && (this.splatMesh.getSceneTransform(S, a), i.multiply(a));
|
|
7709
|
-
const F =
|
|
7709
|
+
const F = v.nodesWithIndexes.length;
|
|
7710
7710
|
for (let D = 0; D < F; D++) {
|
|
7711
|
-
const b =
|
|
7711
|
+
const b = v.nodesWithIndexes[D];
|
|
7712
7712
|
if (!b.data || !b.data.indexes || b.data.indexes.length === 0) continue;
|
|
7713
7713
|
r.copy(b.center).applyMatrix4(i);
|
|
7714
7714
|
const R = r.length();
|
|
@@ -7717,15 +7717,15 @@ class Ze {
|
|
|
7717
7717
|
!h && (U || L) && R > O || (y += b.data.indexes.length, e[w] = b, b.data.distanceToNode = R, w++);
|
|
7718
7718
|
}
|
|
7719
7719
|
}
|
|
7720
|
-
e.length = w, e.sort((S,
|
|
7721
|
-
let
|
|
7720
|
+
e.length = w, e.sort((S, v) => S.data.distanceToNode < v.data.distanceToNode ? -1 : 1);
|
|
7721
|
+
let E = y * Y.BytesPerInt;
|
|
7722
7722
|
for (let S = 0; S < w; S++) {
|
|
7723
|
-
const
|
|
7723
|
+
const v = e[S], F = v.data.indexes.length, D = F * Y.BytesPerInt;
|
|
7724
7724
|
new Uint32Array(
|
|
7725
7725
|
this.sortWorkerIndexesToSort.buffer,
|
|
7726
|
-
|
|
7726
|
+
E - D,
|
|
7727
7727
|
F
|
|
7728
|
-
).set(
|
|
7728
|
+
).set(v.data.indexes), E -= D;
|
|
7729
7729
|
}
|
|
7730
7730
|
return {
|
|
7731
7731
|
splatRenderCount: y,
|