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.
@@ -1,8 +1,8 @@
1
- import { n as Js, C as st, s 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, q as it, aB as Ue, aC as Pt, aD as at, H as Et, aE as ms, aF as yn, aG as xn, aH as In, aI as Tn, z 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, ap as Je, am as Ss, D as Kt, ab as Dn, aA as ys, p as bn, u as We, aP as qe, au as xs, r as Mn, aQ as Rn, a2 as Pn, aR as On, aS as nn, aT as Is, aU as kn, a7 as Ln, aV as Qe, aW as mt } from "./three-vendor-Dbcwwhki.js";
2
- import { E as Hn } from "./engine-2d-DAiE1uAy.js";
3
- import { r as Un } from "./sdk-runtime-cY1Wn7o-.js";
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 zn {
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 _n {
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 Qn {
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
- })(), Nn = function(m, e) {
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 Vn {
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 Vn(
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 Gn = 14;
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 + Gn, this.defaultSphericalHarmonics = new Array(this.sphericalHarmonicsCount).fill(0), this.splats = [], this.splatCount = 0;
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 Wn = Y.SphericalHarmonics8BitCompressionRange, ze = Wn / 2, Ae = mt.toHalfFloat.bind(mt), Xt = mt.fromHalfFloat.bind(mt), re = (m, e, s = !1, t, n) => {
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)), qn = (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), Kn = /* @__PURE__ */ (function() {
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 = qn : 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);
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) => Kn(g, x, f);
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
- }, jn = (m, e) => {
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
- }, Yn = (m, e) => {
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]), Yn(s, u[i]), Bs(t, c[i]), jn(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;
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
- }, Xn = {
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 += Xn[Es[g]];
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
- ], Jn = cn.map((m, e) => e), [
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
- Ds,
1625
- bs,
1621
+ Fs,
1626
1622
  cr,
1627
1623
  dr,
1628
- hr
1629
- ] = Jn;
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[Zn]), S[a] = Math.exp(e[$n])) : (S[i] = 0.01, S[o] = 0.01, S[a] = 0.01), e[Fs] !== void 0) {
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[ar]) * 255, S[p] = (0.5 + E * e[lr]) * 255;
1722
- } else e[bs] !== void 0 ? (S[h] = e[bs] * 255, S[f] = e[cr] * 255, S[p] = e[dr] * 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[hr] !== void 0) {
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[er], e[tr], e[sr], e[nr]), s.normalize(), S[l] = s.x, S[c] = s.y, S[d] = s.z, S[u] = s.w, S[t] = e[rr], S[n] = e[or], S[r] = e[ir], S;
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
- ur,
1777
- pr,
1776
+ fr,
1777
+ mr,
1778
1778
  Rs,
1779
1779
  xt,
1780
- fr,
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, wr = un, Br = pn, It = (m) => {
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[mr]], E[a] = y[xt][e[Ar]]) : (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[wr] * 255, E[p] = e[Br] * 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) {
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[ur + k % 3];
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[pr + k % 5];
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[fr][e[gr]], b = y[Ut][e[Cr]], D = y[Ut][e[Sr]], R = y[Ut][e[yr]];
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[xr]), E[n] = It(e[Ir]), E[r] = It(e[Tr]), 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 Er = (m) => new ReadableStream({
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 vr(m) {
2327
+ async function Dr(m) {
2328
2328
  try {
2329
- const e = Er(m);
2329
+ const e = Fr(m);
2330
2330
  if (!e) throw new Error("Failed to create stream from data");
2331
- return await Fr(e);
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 Fr(m) {
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 Dr = 1347635022, br = 1, Mr = 0.15;
2341
- function Rr(m) {
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 Pr(m) {
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 Or = (function() {
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 kr(m, e, s, t) {
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 (!kr(m, r, i, o))
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] = Rr(l[h * 3 + 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) / Mr * u + 0.5) * 255);
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] = Pr(m.sh[d * 3 * h + x * 3 + g]);
2468
- const C = Or(a, m.shDegree, e);
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 Lr = 16, Hr = 1e7;
2477
- function Ur(m) {
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 += Lr, t.magic !== Dr)
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 > Hr)
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 & br) !== 0,
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 zr(m) {
2519
+ async function Qr(m) {
2520
2520
  try {
2521
- const e = await vr(m);
2522
- return Ur(e.buffer);
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 zr(e);
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(), _r = Math.cos(70 * tn.DEG2RAD);
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)) < _r ? e.lookAt(t.target) : (Gs.setFromNormalAndCoplanarPoint(t.object.up, t.target), Tt.intersectPlane(Gs, t.target))));
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 Qr = (m, e, s, t, n) => {
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
- }, Nr = 500;
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] = Qr(n, !r, o, Nr, () => {
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 Vr {
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 Gr {
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 Wr extends Je {
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 Wr(n, r, i, o, a, 0.1, 0.03);
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 qr = new v(1, 0, 0), Kr = new v(0, 1, 0), jr = new v(0, 0, 1);
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 ? qr : o == 1 ? Kr : jr, l = n[o] < 0 ? r.max : r.min;
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 Yr {
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 Xr {
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 Jr extends Je {
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 Zr(m) {
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 $r(m, e, s, t, n) {
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 eo() {
5081
+ function so() {
5082
5082
  return new Worker(
5083
5083
  URL.createObjectURL(
5084
- new Blob(["(", Zr.toString(), ")(self)"], {
5084
+ new Blob(["(", eo.toString(), ")(self)"], {
5085
5085
  type: "application/javascript"
5086
5086
  })
5087
5087
  )
5088
5088
  );
5089
5089
  }
5090
- class to {
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 = eo()), this.splatMesh = e, this.subTrees = [];
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
- $r(this.splatTreeWorker, l, c, this.maxDepth, this.maxCentersPerNode);
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 so(m) {
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 no(m, e, s) {
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(), ro = new ft(), Bt = 6, oo = 4, io = 4, ao = 4, lo = 6, co = 8, Qt = 4, Nt = 4, Ks = 1, ho = 0.012, uo = 3e-3, js = 1, Ys = 16777216;
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, ro), 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 = {
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 Jr(e, s, t, n, r, i, o);
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 to(8, 1e3);
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 = Xr.build(a), this.splatRenderMode === ke.ThreeD ? this.material = Ft.build(
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 ? lo : io, r = (S) => {
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 ? co : ao, R = new b(F.x * F.y * D);
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
- oo,
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] = Nn(n, o), r[l + 1] = Ot(t[a]), r[l + 2] = Ot(t[a + 1]), r[l + 3] = Ot(t[a + 2]);
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 = ho * this.sceneFadeInRateMultiplier, t = uo * this.sceneFadeInRateMultiplier, n = this.finalBuild ? s : t, r = e === pt.Default ? n : t;
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 so(s), n = new no(s, t, {});
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 = "AGFzbQEAAAAADwhkeWxpbmsuMAEEAAAAAAEXAmAAAGAQf39/f39/f39/f39/f39/fwACEgEDZW52Bm1lbW9yeQIDAICABAMDAgABBz4DEV9fd2FzbV9jYWxsX2N0b3JzAAAYX193YXNtX2FwcGx5X2RhdGFfcmVsb2NzAAALc29ydEluZGV4ZXMAAQqiDwICAAucDwMBfAd9Bn8gCyAKayEMAkACQCAOBEAgDQRAQfj///8HIQpBiICAgHghDSALIAxNDQMgDCEFA0AgAyAFQQJ0IgFqIAIgACABaigCAEECdGooAgAiATYCACABIAogASAKSBshCiABIA0gASANShshDSAFQQFqIgUgC0cNAAsMAwsgDwRAIAsgDE0NAkF/IQ9B+P///wchCkGIgICAeCENIAwhAgNAIA8gByAAIAJBAnQiGmooAgBBAnQiG2ooAgAiDkcEQAJ/IAUqAjgiESAIIA5BBnRqIg8qAjyUIAUqAigiEiAPKgI4lCAFKgIIIhMgDyoCMJQgBSoCGCIUIA8qAjSUkpKSu0QAAAAAAECPQKIiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLIRgCfyARIA8qAiyUIBIgDyoCKJQgEyAPKgIglCAUIA8qAiSUkpKSu0QAAAAAAECPQKIiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLIRkCfyARIA8qAhyUIBIgDyoCGJQgEyAPKgIQlCAUIA8qAhSUkpKSu0QAAAAAAECPQKIiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLIRwCfyARIA8qAgyUIBIgDyoCCJQgEyAPKgIAlCAUIA8qAgSUkpKSu0QAAAAAAECPQKIiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLIR0gDiEPCyADIBpqIAEgG0ECdGoiDigCBCAcbCAOKAIAIB1saiAOKAIIIBlsaiAOKAIMIBhsaiIONgIAIA4gCiAKIA5KGyEKIA4gDSANIA5IGyENIAJBAWoiAiALRw0ACwwDCwJ/IAUqAii7RAAAAAAAQI9AoiIQmUQAAAAAAADgQWMEQCAQqgwBC0GAgICAeAshAgJ/IAUqAhi7RAAAAAAAQI9AoiIQmUQAAAAAAADgQWMEQCAQqgwBC0GAgICAeAshByALIAxNAn8gBSoCCLtEAAAAAABAj0CiIhCZRAAAAAAAAOBBYwRAIBCqDAELQYCAgIB4CyEPQfj///8HIQpBiICAgHghDQ0CIAwhBQNAIAMgBUECdCIIaiABIAAgCGooAgBBBHRqIggoAgQgB2wgCCgCACAPbGogCCgCCCACbGoiCDYCACAIIAogCCAKSBshCiAIIA0gCCANShshDSAFQQFqIgUgC0cNAAsMAgsgDQRAQfj///8HIQpBiICAgHghDSALIAxNDQIgDCEFA0AgAyAFQQJ0IgFqAn8gAiAAIAFqKAIAQQJ0aioCALtEAAAAAAAAsECiIhCZRAAAAAAAAOBBYwRAIBCqDAELQYCAgIB4CyIONgIAIAogDiAKIA5IGyEKIA0gDiANIA5KGyENIAVBAWoiBSALRw0ACwwCCyAPRQRAIAsgDE0NASAFKgIoIREgBSoCGCESIAUqAgghE0H4////ByEKQYiAgIB4IQ0gDCEFA0ACfyARIAEgACAFQQJ0IgdqKAIAQQR0aiICKgIIlCATIAIqAgCUIBIgAioCBJSSkrtEAAAAAAAAsECiIhCZRAAAAAAAAOBBYwRAIBCqDAELQYCAgIB4CyEOIAMgB2ogDjYCACAKIA4gCiAOSBshCiANIA4gDSAOShshDSAFQQFqIgUgC0cNAAsMAgsgCyAMTQ0AQX8hD0H4////ByEKQYiAgIB4IQ0gDCECA0AgDyAHIAAgAkECdCIYaigCAEECdCIZaigCACIORwRAIAUqAjgiESAIIA5BBnRqIg8qAjyUIAUqAigiEiAPKgI4lCAFKgIIIhMgDyoCMJQgBSoCGCIUIA8qAjSUkpKSIRUgESAPKgIslCASIA8qAiiUIBMgDyoCIJQgFCAPKgIklJKSkiEWIBEgDyoCHJQgEiAPKgIYlCATIA8qAhCUIBQgDyoCFJSSkpIhFyARIA8qAgyUIBIgDyoCCJQgEyAPKgIAlCAUIA8qAgSUkpKSIREgDiEPCyADIBhqAn8gFSABIBlBAnRqIg4qAgyUIBYgDioCCJQgESAOKgIAlCAXIA4qAgSUkpKSu0QAAAAAAACwQKIiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLIg42AgAgCiAOIAogDkgbIQogDSAOIA0gDkobIQ0gAkEBaiICIAtHDQALDAELQYiAgIB4IQ1B+P///wchCgsgCyAMSwRAIAlBAWuzIA2yIAqyk5UhESAMIQ0DQAJ/IBEgAyANQQJ0aiIBKAIAIAprspQiEotDAAAAT10EQCASqAwBC0GAgICAeAshDiABIA42AgAgBCAOQQJ0aiIBIAEoAgBBAWo2AgAgDUEBaiINIAtHDQALCyAJQQJPBEAgBCgCACENQQEhCgNAIAQgCkECdGoiASABKAIAIA1qIg02AgAgCkEBaiIKIAlHDQALCyAMQQBKBEAgDCEKA0AgBiAKQQFrIgFBAnQiAmogACACaigCADYCACAKQQFLIAEhCg0ACwsgCyAMSgRAIAshCgNAIAYgCyAEIAMgCkEBayIKQQJ0IgFqKAIAQQJ0aiICKAIAIgVrQQJ0aiAAIAFqKAIANgIAIAIgBUEBazYCACAKIAxKDQALCws=", fo = "AGFzbQEAAAAADwhkeWxpbmsuMAEEAAAAAAEXAmAAAGAQf39/f39/f39/f39/f39/fwACDwEDZW52Bm1lbW9yeQIAAAMDAgABBz4DEV9fd2FzbV9jYWxsX2N0b3JzAAAYX193YXNtX2FwcGx5X2RhdGFfcmVsb2NzAAALc29ydEluZGV4ZXMAAQrrDwICAAvlDwQBfAN7B30DfyALIAprIQwCQAJAIA4EQCANBEBB+P///wchCkGIgICAeCENIAsgDE0NAyAMIQUDQCADIAVBAnQiAWogAiAAIAFqKAIAQQJ0aigCACIBNgIAIAEgCiABIApIGyEKIAEgDSABIA1KGyENIAVBAWoiBSALRw0ACwwDCyAPBEAgCyAMTQ0CQX8hD0H4////ByEKQYiAgIB4IQ0gDCECA0AgDyAHIAAgAkECdCIcaigCACIdQQJ0aigCACIbRwRAAn8gBf0JAjggCCAbQQZ0aiIO/QkCDCAOKgIc/SABIA4qAiz9IAIgDioCPP0gA/3mASAF/QkCKCAO/QkCCCAOKgIY/SABIA4qAij9IAIgDioCOP0gA/3mASAF/QkCCCAO/QkCACAOKgIQ/SABIA4qAiD9IAIgDioCMP0gA/3mASAF/QkCGCAO/QkCBCAOKgIU/SABIA4qAiT9IAIgDioCNP0gA/3mAf3kAf3kAf3kASIR/V/9DAAAAAAAQI9AAAAAAABAj0AiEv3yASIT/SEBIhCZRAAAAAAAAOBBYwRAIBCqDAELQYCAgIB4CyEOAn8gE/0hACIQmUQAAAAAAADgQWMEQCAQqgwBC0GAgICAeAv9ESAO/RwBAn8gESAR/Q0ICQoLDA0ODwABAgMAAQID/V8gEv3yASIR/SEAIhCZRAAAAAAAAOBBYwRAIBCqDAELQYCAgIB4C/0cAgJ/IBH9IQEiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgL/RwDIRIgGyEPCyADIBxqIAEgHUEEdGr9AAAAIBL9tQEiEf0bACAR/RsBaiAR/RsCaiAR/RsDaiIONgIAIA4gCiAKIA5KGyEKIA4gDSANIA5IGyENIAJBAWoiAiALRw0ACwwDCwJ/IAUqAgi7/RQgBSoCGLv9IgH9DAAAAAAAQI9AAAAAAABAj0D98gEiEf0hASIQmUQAAAAAAADgQWMEQCAQqgwBC0GAgICAeAshDgJ/IBH9IQAiEJlEAAAAAAAA4EFjBEAgEKoMAQtBgICAgHgLAn8gBSoCKLtEAAAAAABAj0CiIhCZRAAAAAAAAOBBYwRAIBCqDAELQYCAgIB4CyEFQfj///8HIQpBiICAgHghDSALIAxNDQL9ESAO/RwBIAX9HAIhEiAMIQUDQCADIAVBAnQiAmogASAAIAJqKAIAQQR0av0AAAAgEv21ASIR/RsAIBH9GwFqIBH9GwJqIgI2AgAgAiAKIAIgCkgbIQogAiANIAIgDUobIQ0gBUEBaiIFIAtHDQALDAILIA0EQEH4////ByEKQYiAgIB4IQ0gCyAMTQ0CIAwhBQNAIAMgBUECdCIBagJ/IAIgACABaigCAEECdGoqAgC7RAAAAAAAALBAoiIQmUQAAAAAAADgQWMEQCAQqgwBC0GAgICAeAsiDjYCACAKIA4gCiAOSBshCiANIA4gDSAOShshDSAFQQFqIgUgC0cNAAsMAgsgD0UEQCALIAxNDQEgBSoCKCEUIAUqAhghFSAFKgIIIRZB+P///wchCkGIgICAeCENIAwhBQNAAn8gFCABIAAgBUECdCIHaigCAEEEdGoiAioCCJQgFiACKgIAlCAVIAIqAgSUkpK7RAAAAAAAALBAoiIQmUQAAAAAAADgQWMEQCAQqgwBC0GAgICAeAshDiADIAdqIA42AgAgCiAOIAogDkgbIQogDSAOIA0gDkobIQ0gBUEBaiIFIAtHDQALDAILIAsgDE0NAEF/IQ9B+P///wchCkGIgICAeCENIAwhAgNAIA8gByAAIAJBAnQiG2ooAgBBAnQiHGooAgAiDkcEQCAFKgI4IhQgCCAOQQZ0aiIPKgI8lCAFKgIoIhUgDyoCOJQgBSoCCCIWIA8qAjCUIAUqAhgiFyAPKgI0lJKSkiEYIBQgDyoCLJQgFSAPKgIolCAWIA8qAiCUIBcgDyoCJJSSkpIhGSAUIA8qAhyUIBUgDyoCGJQgFiAPKgIQlCAXIA8qAhSUkpKSIRogFCAPKgIMlCAVIA8qAgiUIBYgDyoCAJQgFyAPKgIElJKSkiEUIA4hDwsgAyAbagJ/IBggASAcQQJ0aiIOKgIMlCAZIA4qAgiUIBQgDioCAJQgGiAOKgIElJKSkrtEAAAAAAAAsECiIhCZRAAAAAAAAOBBYwRAIBCqDAELQYCAgIB4CyIONgIAIAogDiAKIA5IGyEKIA0gDiANIA5KGyENIAJBAWoiAiALRw0ACwwBC0GIgICAeCENQfj///8HIQoLIAsgDEsEQCAJQQFrsyANsiAKspOVIRQgDCENA0ACfyAUIAMgDUECdGoiASgCACAKa7KUIhWLQwAAAE9dBEAgFagMAQtBgICAgHgLIQ4gASAONgIAIAQgDkECdGoiASABKAIAQQFqNgIAIA1BAWoiDSALRw0ACwsgCUECTwRAIAQoAgAhDUEBIQoDQCAEIApBAnRqIgEgASgCACANaiINNgIAIApBAWoiCiAJRw0ACwsgDEEASgRAIAwhCgNAIAYgCkEBayIBQQJ0IgJqIAAgAmooAgA2AgAgCkEBSyABIQoNAAsLIAsgDEoEQCALIQoDQCAGIAsgBCADIApBAWsiCkECdCIBaigCAEECdGoiAigCACIFa0ECdGogACABaigCADYCACACIAVBAWs2AgAgCiAMSg0ACwsL", mo = "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";
6505
- function Ao(m) {
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 go(m, e, s, t, n, r = Y.DefaultSplatSortDistanceMapPrecision) {
6609
+ function So(m, e, s, t, n, r = Y.DefaultSplatSortDistanceMapPrecision) {
6610
6610
  const i = new Worker(
6611
6611
  URL.createObjectURL(
6612
- new Blob(["(", Ao.toString(), ")(self)"], {
6612
+ new Blob(["(", Co.toString(), ")(self)"], {
6613
6613
  type: "application/javascript"
6614
6614
  })
6615
6615
  )
6616
6616
  );
6617
- let o = po;
6617
+ let o = mo;
6618
6618
  const a = Yt() ? on() : null;
6619
- !s && !e ? (o = Xs, a && a.major <= 16 && a.minor < 4 && (o = mo)) : s ? e || a && a.major <= 16 && a.minor < 4 && (o = fo) : o = Xs;
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 Co {
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
- }, So = 50, yo = 0.75, xo = 15e5, Io = 10, To = 2.5, wo = 60;
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 Yr(), 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 Vr(this.rootElement || document.body), this.loadingProgressBar.hide(), this.infoPanel = new Gr(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();
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(So, e.x / e.y, 0.1, 1e3), this.orthographicCamera = new $s(
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(Co.createButton(this.renderer, e)), this.renderer.xr.addEventListener("sessionstart", (s) => {
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() > yo && (this.previousCameraTarget.copy(this.controls.target), this.nextCameraTarget.copy(r), this.transitioningCameraTarget = !0, this.transitioningCameraTargetStartTime = Ke());
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 >= xo && !h && !e && (this.loadingSpinner.setMinimized(!0, !0), e = this.loadingSpinner.addTask("Optimizing data structures..."));
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 = go(
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 > wo) {
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 + Io * t, 1);
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 - To * t, 0);
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 Bo {
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 Eo = {
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 vo {
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 [...Eo[this.orientationPreset]];
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 Fo(m, e) {
7906
+ function bo(m, e) {
7906
7907
  return `${m}#${e}`;
7907
7908
  }
7908
- class Do {
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 ?? Fo(e, t),
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 Oo {
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 = Hn;
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 zn(), this.sceneModule = new _n(s.backgroundColor), this.cameraModule = new Qn(
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 vo(s.orientationPreset), this.renderModule = new Bo(
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 Do(
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 Un(
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
- Oo as EngineKernelGaussian
8090
+ Lo as EngineKernelGaussian
8090
8091
  };