qg3dviewer 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,11 +1,11 @@
1
- var or = Object.defineProperty;
2
- var rr = (n, t, e) => t in n ? or(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
- var sn = (n, t, e) => rr(n, typeof t != "symbol" ? t + "" : t, e);
4
- import { Matrix4 as $t, Vector3 as Q, Vector4 as Gt, InstancedBufferGeometry as mi, BufferAttribute as Ce, InstancedBufferAttribute as cr, DynamicDrawUsage as lr, ShaderMaterial as Na, DoubleSide as Jt, NormalBlending as Ar, DataTexture as se, RGBAIntegerFormat as ae, UnsignedIntType as oe, Mesh as pt, Vector2 as ft, Loader as ur, FileLoader as hr, Color as Wi, SRGBColorSpace as dr, Group as tn, BufferGeometry as Sn, Float32BufferAttribute as Vt, LineBasicMaterial as pn, Material as Is, PointsMaterial as an, MeshPhongMaterial as gr, LineSegments as Ci, Points as qn, WebGLRenderer as za, PerspectiveCamera as Ha, Object3D as Nn, CylinderGeometry as ws, MeshBasicMaterial as ee, PlaneGeometry as fr, Quaternion as be, Controls as pr, MOUSE as Wt, TOUCH as Zt, Spherical as Es, Ray as mr, Plane as Cr, MathUtils as te, InstancedInterleavedBuffer as yi, InterleavedBufferAttribute as ye, WireframeGeometry as yr, Box3 as $i, Sphere as Oa, ShaderLib as mn, UniformsUtils as Ya, UniformsLib as Cn, Line3 as Ir, CircleGeometry as re, Raycaster as wr, CatmullRomCurve3 as vs, Scene as Ga, AmbientLight as qa, FogExp2 as xs, DirectionalLight as Er, EventDispatcher as vr, Clock as xr } from "three";
5
- import * as Ss from "@gotoeasy/three-tile";
1
+ var cr = Object.defineProperty;
2
+ var lr = (n, t, e) => t in n ? cr(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
3
+ var sn = (n, t, e) => lr(n, typeof t != "symbol" ? t + "" : t, e);
4
+ import { Matrix4 as $t, Vector3 as Q, Vector4 as Gt, InstancedBufferGeometry as Ci, BufferAttribute as Ce, InstancedBufferAttribute as Ar, DynamicDrawUsage as ur, ShaderMaterial as za, DoubleSide as Jt, NormalBlending as hr, DataTexture as se, RGBAIntegerFormat as ae, UnsignedIntType as oe, Mesh as pt, Vector2 as ft, Loader as dr, FileLoader as gr, Color as $i, SRGBColorSpace as fr, Group as tn, BufferGeometry as Sn, Float32BufferAttribute as Vt, LineBasicMaterial as pn, Material as ws, PointsMaterial as an, MeshPhongMaterial as pr, LineSegments as yi, Points as Vn, WebGLRenderer as Ha, PerspectiveCamera as Oa, Object3D as zn, CylinderGeometry as Es, MeshBasicMaterial as ee, PlaneGeometry as mr, Quaternion as be, Controls as Cr, MOUSE as Wt, TOUCH as Zt, Spherical as vs, Ray as yr, Plane as Ir, MathUtils as te, InstancedInterleavedBuffer as Ii, InterleavedBufferAttribute as ye, WireframeGeometry as wr, Box3 as Ji, Sphere as Ya, ShaderLib as mn, UniformsUtils as Ga, UniformsLib as Cn, Line3 as Er, CircleGeometry as re, Raycaster as vr, CatmullRomCurve3 as xs, Scene as qa, AmbientLight as Va, FogExp2 as Ss, DirectionalLight as xr, EventDispatcher as Sr, Clock as br } from "three";
5
+ import * as bs from "@gotoeasy/three-tile";
6
6
  let I = 1;
7
- const Me = I++, Va = I++, Ie = I++, Sr = I++, Ii = I++, wi = I++, Wa = I++, Vn = I++, $a = I++, ke = I++, dt = I++, Z = I++, Ja = I++, Ei = I++, Ot = I++, Be = I++, Lt = I++, en = I++, ja = I++, Ka = I++, Xa = I++, Za = I++, to = I++, eo = I++, Ji = I++, br = I++, Mr = I++, bs = I++, ht = I++, FA = I++, it = I++, Ee = I++, ve = I++, Ms = I++, Bs = I++, Qs = I++, no = I++, Br = I++, Ds = I++, on = I++, rn = I++, ks = I++, Ts = I++, Ls = I++, ce = I++, Rs = I++, qe = I++, io = I++, Le = I++, Re = I++, yn = I++, so = I++, vi = I++, Qr = I++, bn = I++, Wn = I++, $n = I++, Mn = I++, Bn = I++, Qn = I++, Dn = I++, ao = I++, ji = I++, _ = I++, he = I++, Ve = I++, Y = I++, zn = I++, Ki = I++, Dr = I++, Ct = I++, xi = I++, St = I++, oo = I++, ro = I++, co = I++, lo = I++, Si = I++, Ao = I++, le = I++, Xi = I++, Zi = I++, He = I++, kr = I++, uo = I++, ho = I++, PA = I++, Hn = I++, Jn = I++, _s = I++, Fs = I++, bi = I++, kn = I++, Mi = I++, Oe = I++, Mt = I++, ts = I++, UA = I++, go = I++, fo = I++, cn = I++, jn = I++, Bi = I++, Tr = I++, In = I++, Tn = I++, es = I++, xe = I++, de = I++, We = I++, ln = I++, po = I++, et = I++, ct = I++, Lr = I++, Ps = I++, Ln = I++, Rn = I++, Rr = I++, ns = I++, is = I++, ne = I++, Ye = I++, Te = I++, _r = I++, mo = I++, Fr = I++, NA = I++, zA = I++, HA = I++, OA = I++, YA = I++, ie = I++, $e = I++, wn = I++, Qi = I++, Co = I++, yo = I++, Di = I++, jt = I++, Pe = I++, Io = I++, ss = I++, Us = I++, Pr = I++, Ur = I++, as = I++, os = I++, rs = I++, cs = I++, ls = I++, Je = I++, wo = I++, Ns = I++, _n = I++, xt = I++, Eo = I++, ki = I++, vo = I++, Ue = I++, xo = I++, So = I++, As = I++, bo = I++, Mo = I++, zs = I++, Bo = I++, Qo = I++, Do = I++, Ne = I++, ko = I++, Ti = I++, Nr = I++, To = I++, Fn = I++, En = I++, Pn = I++, Kn = I++, Xn = I++, Zn = I++, Li = I++, Lo = I++, Ro = I++, GA = I++, _o = I++, Fo = I++, ot = I++, Ri = I++, _i = I++, Fi = I++, zr = I++, Po = I++, Hr = I++, Or = I++, Yr = I++, Gr = I++, qr = I++, Uo = I++, No = I++, qA = I++, VA = I++, WA = I++, $A = I++, JA = I++, jA = I++, KA = I++, XA = I++, Pi = I++, Ui = I++, ti = I++, ei = I++, us = I++, Hs = I++, zo = I++, ZA = I++, tu = I++, eu = I++, nu = I++, iu = I++;
8
- class hs {
7
+ const Me = I++, Wa = I++, Ie = I++, Mr = I++, wi = I++, Ei = I++, $a = I++, Wn = I++, Ja = I++, ke = I++, dt = I++, Z = I++, ja = I++, vi = I++, Ot = I++, Be = I++, Lt = I++, en = I++, Ka = I++, Xa = I++, Za = I++, to = I++, eo = I++, no = I++, ji = I++, Br = I++, Qr = I++, Ms = I++, ht = I++, UA = I++, it = I++, Ee = I++, ve = I++, Bs = I++, Qs = I++, Ds = I++, io = I++, Dr = I++, ks = I++, on = I++, rn = I++, Ts = I++, Ls = I++, Rs = I++, ce = I++, _s = I++, qe = I++, so = I++, Le = I++, Re = I++, yn = I++, ao = I++, xi = I++, kr = I++, bn = I++, $n = I++, Jn = I++, Mn = I++, Bn = I++, Qn = I++, Dn = I++, oo = I++, Ki = I++, _ = I++, he = I++, Ve = I++, Y = I++, Hn = I++, Xi = I++, Tr = I++, Ct = I++, Si = I++, St = I++, ro = I++, co = I++, lo = I++, Ao = I++, bi = I++, uo = I++, le = I++, Zi = I++, ts = I++, He = I++, Lr = I++, ho = I++, go = I++, NA = I++, On = I++, jn = I++, Fs = I++, Ps = I++, Mi = I++, kn = I++, Bi = I++, Oe = I++, Mt = I++, es = I++, zA = I++, fo = I++, po = I++, cn = I++, Kn = I++, Qi = I++, Rr = I++, In = I++, Tn = I++, ns = I++, xe = I++, de = I++, We = I++, ln = I++, mo = I++, et = I++, ct = I++, _r = I++, Us = I++, Ln = I++, Rn = I++, Fr = I++, is = I++, ss = I++, ne = I++, Ye = I++, Te = I++, Pr = I++, Co = I++, Ur = I++, HA = I++, OA = I++, YA = I++, GA = I++, qA = I++, ie = I++, $e = I++, wn = I++, Di = I++, yo = I++, Io = I++, ki = I++, jt = I++, Pe = I++, wo = I++, as = I++, Ns = I++, Nr = I++, zr = I++, os = I++, rs = I++, cs = I++, ls = I++, As = I++, Je = I++, Eo = I++, zs = I++, _n = I++, xt = I++, vo = I++, Ti = I++, xo = I++, Ue = I++, So = I++, bo = I++, us = I++, Mo = I++, Bo = I++, Hs = I++, Qo = I++, Do = I++, ko = I++, Ne = I++, To = I++, Li = I++, Hr = I++, Lo = I++, Fn = I++, En = I++, Pn = I++, Xn = I++, Zn = I++, ti = I++, Ri = I++, Ro = I++, _o = I++, VA = I++, Fo = I++, Po = I++, ot = I++, _i = I++, Fi = I++, Pi = I++, Or = I++, Uo = I++, Yr = I++, Gr = I++, qr = I++, Vr = I++, Wr = I++, No = I++, zo = I++, WA = I++, $A = I++, JA = I++, jA = I++, KA = I++, XA = I++, ZA = I++, tu = I++, Ui = I++, Ni = I++, ei = I++, ni = I++, hs = I++, Os = I++, Ho = I++, eu = I++, nu = I++, iu = I++, su = I++, au = I++, ou = I++, ru = I++, Oo = I++, Un = I++;
8
+ class ds {
9
9
  constructor() {
10
10
  this.functions = /* @__PURE__ */ new Map(), this.map = /* @__PURE__ */ new Map();
11
11
  }
@@ -56,9 +56,9 @@ class hs {
56
56
  return i(...e);
57
57
  }
58
58
  }
59
- class Vr {
59
+ class $r {
60
60
  }
61
- class Wr {
61
+ class Jr {
62
62
  constructor(t, e = {}) {
63
63
  this.fileSize = 0, this.downloadSize = 0, this.status = 0, this.splatData = null, this.watermarkData = null, this.dataSplatCount = 0, this.watermarkCount = 0, this.sh12Data = [], this.sh3Data = [], this.sh12Count = 0, this.sh3Count = 0, this.rowLength = 0, this.modelSplatCount = -1, this.downloadSplatCount = 0, this.renderSplatCount = 0, this.header = null, this.CompressionRatio = "", this.dataShDegree = 0, this.minX = 1 / 0, this.maxX = -1 / 0, this.minY = 1 / 0, this.maxY = -1 / 0, this.minZ = 1 / 0, this.maxZ = -1 / 0, this.topY = 0, this.currentRadius = 0, this.maxRadius = 0, this.textWatermarkVersion = 0, this.lastTextWatermarkVersion = 0, this.fetchLimit = 0, this.opts = { ...t };
64
64
  const i = this;
@@ -66,9 +66,9 @@ class Wr {
66
66
  }
67
67
  }
68
68
  var P = /* @__PURE__ */ ((n) => (n[n.FetchReady = 0] = "FetchReady", n[n.Fetching = 1] = "Fetching", n[n.FetchDone = 2] = "FetchDone", n[n.FetchAborted = 3] = "FetchAborted", n[n.FetchFailed = 4] = "FetchFailed", n[n.Invalid = 5] = "Invalid", n))(P || {});
69
- const ds = "v2.0.0-dev", yt = navigator.userAgent.includes("Mobi"), $r = "QWERTYUIOPLKJHGFDSAZXCVBNM1234567890qwertyuioplkjhgfdsazxcvbnm`~!@#$%^&*()-_=+\\|]}[{'\";::,<.>//? ", Jr = yt ? 600 : 300, jr = yt ? 2e3 : 300, fe = 128, vn = 32, O = 32, Kr = 20, Xr = 16, Ho = 64 * 1024, Zr = 1024 * 1e4, tc = 10240 * 1e4, Ut = 0.28209479177387814, ec = 1, Qe = 5, nc = 9, ic = 0, sc = 20, ac = 190, je = 1, Yt = 2, ge = 3, oc = 4, rc = 3141592653;
69
+ const gs = "v2.0.0-dev", yt = navigator.userAgent.includes("Mobi"), jr = "QWERTYUIOPLKJHGFDSAZXCVBNM1234567890qwertyuioplkjhgfdsazxcvbnm`~!@#$%^&*()-_=+\\|]}[{'\";::,<.>//? ", Kr = yt ? 600 : 300, Xr = yt ? 2e3 : 300, fe = 128, vn = 32, O = 32, Zr = 20, tc = 16, Yo = 64 * 1024, ec = 1024 * 1e4, nc = 10240 * 1e4, Ut = 0.28209479177387814, ic = 1, Qe = 5, sc = 9, ac = 0, oc = 20, rc = 190, je = 1, Yt = 2, ge = 3, cc = 4, lc = 3141592653;
70
70
  var Ke = /* @__PURE__ */ ((n) => (n[n.Default = 1] = "Default", n[n.ZdepthFrontNearest2010 = 2010] = "ZdepthFrontNearest2010", n[n.ZdepthFront2011 = 2011] = "ZdepthFront2011", n[n.ZdepthFrontNearFar2012 = 2012] = "ZdepthFrontNearFar2012", n[n.ZdepthFullNearFar2112 = 2112] = "ZdepthFullNearFar2112", n))(Ke || {});
71
- function cc(n) {
71
+ function Ac(n) {
72
72
  if (Object.prototype.hasOwnProperty.call(n, "__esModule")) return n;
73
73
  var t = n.default;
74
74
  if (typeof t == "function") {
@@ -88,21 +88,21 @@ function cc(n) {
88
88
  }), e;
89
89
  }
90
90
  var xn = { exports: {} };
91
- const lc = {}, Ac = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
91
+ const uc = {}, hc = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
92
92
  __proto__: null,
93
- default: lc
94
- }, Symbol.toStringTag, { value: "Module" })), uc = /* @__PURE__ */ cc(Ac);
93
+ default: uc
94
+ }, Symbol.toStringTag, { value: "Module" })), dc = /* @__PURE__ */ Ac(hc);
95
95
  /*!
96
96
  * Based on xzwasm (c) Steve Sanderson. License: MIT - https://github.com/SteveSanderson/xzwasm
97
97
  * Contains xz-embedded by Lasse Collin and Igor Pavlov. License: Public domain - https://tukaani.org/xz/embedded.html
98
98
  * and walloc (c) 2020 Igalia, S.L. License: MIT - https://github.com/wingo/walloc
99
99
  */
100
- var hc = xn.exports, Os;
101
- function dc() {
102
- return Os || (Os = 1, function(n, t) {
100
+ var gc = xn.exports, Ys;
101
+ function fc() {
102
+ return Ys || (Ys = 1, function(n, t) {
103
103
  (function(i, a) {
104
- n.exports = a(uc);
105
- })(hc, (e) => (
104
+ n.exports = a(dc);
105
+ })(gc, (e) => (
106
106
  /******/
107
107
  (() => {
108
108
  var i = [
@@ -208,12 +208,12 @@ function dc() {
208
208
  }
209
209
  const d = class d extends c {
210
210
  static async _getModuleInstance() {
211
- const f = r.replace("data:application/wasm;base64,", ""), p = Uint8Array.from(atob(f), (b) => b.charCodeAt(0)).buffer, y = {}, E = await WebAssembly.instantiate(p, y);
212
- d._moduleInstance = E.instance;
211
+ const f = r.replace("data:application/wasm;base64,", ""), p = Uint8Array.from(atob(f), (b) => b.charCodeAt(0)).buffer, y = {}, w = await WebAssembly.instantiate(p, y);
212
+ d._moduleInstance = w.instance;
213
213
  }
214
214
  constructor(f) {
215
215
  let p, y = null;
216
- const E = f.getReader();
216
+ const w = f.getReader();
217
217
  super({
218
218
  async start(b) {
219
219
  await d._contextMutex.acquire();
@@ -227,7 +227,7 @@ function dc() {
227
227
  try {
228
228
  if (p.needsMoreInput()) {
229
229
  if (y === null || y.byteLength === 0) {
230
- const { done: x, value: m } = await E.read();
230
+ const { done: x, value: m } = await w.read();
231
231
  x || (y = m);
232
232
  }
233
233
  const v = Math.min(p.bufSize, y.byteLength);
@@ -241,7 +241,7 @@ function dc() {
241
241
  },
242
242
  cancel() {
243
243
  try {
244
- return p && p.dispose(), E.cancel();
244
+ return p && p.dispose(), w.cancel();
245
245
  } finally {
246
246
  d._contextMutex.release();
247
247
  }
@@ -256,7 +256,7 @@ function dc() {
256
256
  ));
257
257
  }(xn)), xn.exports;
258
258
  }
259
- var gc = dc(), bt = Uint8Array, we = Uint16Array, fc = Int32Array, Oo = new bt([
259
+ var pc = fc(), bt = Uint8Array, we = Uint16Array, mc = Int32Array, Go = new bt([
260
260
  0,
261
261
  0,
262
262
  0,
@@ -291,7 +291,7 @@ var gc = dc(), bt = Uint8Array, we = Uint16Array, fc = Int32Array, Oo = new bt([
291
291
  0,
292
292
  /* impossible */
293
293
  0
294
- ]), Yo = new bt([
294
+ ]), qo = new bt([
295
295
  0,
296
296
  0,
297
297
  0,
@@ -325,19 +325,19 @@ var gc = dc(), bt = Uint8Array, we = Uint16Array, fc = Int32Array, Oo = new bt([
325
325
  /* unused */
326
326
  0,
327
327
  0
328
- ]), pc = new bt([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), Go = function(n, t) {
328
+ ]), Cc = new bt([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), Vo = function(n, t) {
329
329
  for (var e = new we(31), i = 0; i < 31; ++i)
330
330
  e[i] = t += 1 << n[i - 1];
331
- for (var a = new fc(e[30]), i = 1; i < 30; ++i)
331
+ for (var a = new mc(e[30]), i = 1; i < 30; ++i)
332
332
  for (var o = e[i]; o < e[i + 1]; ++o)
333
333
  a[o] = o - e[i] << 5 | i;
334
334
  return { b: e, r: a };
335
- }, qo = Go(Oo, 2), Vo = qo.b, mc = qo.r;
336
- Vo[28] = 258, mc[258] = 28;
337
- var Cc = Go(Yo, 0), yc = Cc.b, Ni = new we(32768);
335
+ }, Wo = Vo(Go, 2), $o = Wo.b, yc = Wo.r;
336
+ $o[28] = 258, yc[258] = 28;
337
+ var Ic = Vo(qo, 0), wc = Ic.b, zi = new we(32768);
338
338
  for (var nt = 0; nt < 32768; ++nt) {
339
339
  var Kt = (nt & 43690) >> 1 | (nt & 21845) << 1;
340
- Kt = (Kt & 52428) >> 2 | (Kt & 13107) << 2, Kt = (Kt & 61680) >> 4 | (Kt & 3855) << 4, Ni[nt] = ((Kt & 65280) >> 8 | (Kt & 255) << 8) >> 1;
340
+ Kt = (Kt & 52428) >> 2 | (Kt & 13107) << 2, Kt = (Kt & 61680) >> 4 | (Kt & 3855) << 4, zi[nt] = ((Kt & 65280) >> 8 | (Kt & 255) << 8) >> 1;
341
341
  }
342
342
  var Ge = function(n, t, e) {
343
343
  for (var i = n.length, a = 0, o = new we(t); a < i; ++a)
@@ -352,10 +352,10 @@ var Ge = function(n, t, e) {
352
352
  for (a = 0; a < i; ++a)
353
353
  if (n[a])
354
354
  for (var A = a << 4 | n[a], l = t - n[a], u = s[n[a] - 1]++ << l, g = u | (1 << l) - 1; u <= g; ++u)
355
- r[Ni[u] >> c] = A;
355
+ r[zi[u] >> c] = A;
356
356
  } else
357
357
  for (r = new we(i), a = 0; a < i; ++a)
358
- n[a] && (r[a] = Ni[s[n[a] - 1]++] >> 15 - n[a]);
358
+ n[a] && (r[a] = zi[s[n[a] - 1]++] >> 15 - n[a]);
359
359
  return r;
360
360
  }, nn = new bt(288);
361
361
  for (var nt = 0; nt < 144; ++nt)
@@ -366,24 +366,24 @@ for (var nt = 256; nt < 280; ++nt)
366
366
  nn[nt] = 7;
367
367
  for (var nt = 280; nt < 288; ++nt)
368
368
  nn[nt] = 8;
369
- var Wo = new bt(32);
369
+ var Jo = new bt(32);
370
370
  for (var nt = 0; nt < 32; ++nt)
371
- Wo[nt] = 5;
372
- var Ic = /* @__PURE__ */ Ge(nn, 9, 1), wc = /* @__PURE__ */ Ge(Wo, 5, 1), ni = function(n) {
371
+ Jo[nt] = 5;
372
+ var Ec = /* @__PURE__ */ Ge(nn, 9, 1), vc = /* @__PURE__ */ Ge(Jo, 5, 1), ii = function(n) {
373
373
  for (var t = n[0], e = 1; e < n.length; ++e)
374
374
  n[e] > t && (t = n[e]);
375
375
  return t;
376
376
  }, kt = function(n, t, e) {
377
377
  var i = t / 8 | 0;
378
378
  return (n[i] | n[i + 1] << 8) >> (t & 7) & e;
379
- }, ii = function(n, t) {
379
+ }, si = function(n, t) {
380
380
  var e = t / 8 | 0;
381
381
  return (n[e] | n[e + 1] << 8 | n[e + 2] << 16) >> (t & 7);
382
- }, Ec = function(n) {
382
+ }, xc = function(n) {
383
383
  return (n + 7) / 8 | 0;
384
- }, gs = function(n, t, e) {
384
+ }, fs = function(n, t, e) {
385
385
  return (t == null || t < 0) && (t = 0), (e == null || e > n.length) && (e = n.length), new bt(n.subarray(t, e));
386
- }, vc = [
386
+ }, Sc = [
387
387
  "unexpected EOF",
388
388
  "invalid block type",
389
389
  "invalid length/literal",
@@ -400,11 +400,11 @@ var Ic = /* @__PURE__ */ Ge(nn, 9, 1), wc = /* @__PURE__ */ Ge(Wo, 5, 1), ni = f
400
400
  "invalid zip data"
401
401
  // determined by unknown compression method
402
402
  ], Qt = function(n, t, e) {
403
- var i = new Error(t || vc[n]);
403
+ var i = new Error(t || Sc[n]);
404
404
  if (i.code = n, Error.captureStackTrace && Error.captureStackTrace(i, Qt), !e)
405
405
  throw i;
406
406
  return i;
407
- }, xc = function(n, t, e, i) {
407
+ }, bc = function(n, t, e, i) {
408
408
  var a = n.length, o = i ? i.length : 0;
409
409
  if (!a || t.f && !t.l)
410
410
  return e || new bt(0);
@@ -423,36 +423,36 @@ var Ic = /* @__PURE__ */ Ge(nn, 9, 1), wc = /* @__PURE__ */ Ge(Wo, 5, 1), ni = f
423
423
  var y = kt(n, u + 1, 3);
424
424
  if (u += 3, y)
425
425
  if (y == 1)
426
- h = Ic, d = wc, C = 9, f = 5;
426
+ h = Ec, d = vc, C = 9, f = 5;
427
427
  else if (y == 2) {
428
428
  var v = kt(n, u, 31) + 257, x = kt(n, u + 10, 15) + 4, m = v + kt(n, u + 5, 31) + 1;
429
429
  u += 14;
430
- for (var w = new bt(m), M = new bt(19), S = 0; S < x; ++S)
431
- M[pc[S]] = kt(n, u + S * 3, 7);
430
+ for (var E = new bt(m), M = new bt(19), S = 0; S < x; ++S)
431
+ M[Cc[S]] = kt(n, u + S * 3, 7);
432
432
  u += x * 3;
433
- for (var L = ni(M), T = (1 << L) - 1, R = Ge(M, L, 1), S = 0; S < m; ) {
433
+ for (var L = ii(M), T = (1 << L) - 1, R = Ge(M, L, 1), S = 0; S < m; ) {
434
434
  var B = R[kt(n, u, T)];
435
435
  u += B & 15;
436
- var E = B >> 4;
437
- if (E < 16)
438
- w[S++] = E;
436
+ var w = B >> 4;
437
+ if (w < 16)
438
+ E[S++] = w;
439
439
  else {
440
440
  var k = 0, U = 0;
441
- for (E == 16 ? (U = 3 + kt(n, u, 3), u += 2, k = w[S - 1]) : E == 17 ? (U = 3 + kt(n, u, 7), u += 3) : E == 18 && (U = 11 + kt(n, u, 127), u += 7); U--; )
442
- w[S++] = k;
441
+ for (w == 16 ? (U = 3 + kt(n, u, 3), u += 2, k = E[S - 1]) : w == 17 ? (U = 3 + kt(n, u, 7), u += 3) : w == 18 && (U = 11 + kt(n, u, 127), u += 7); U--; )
442
+ E[S++] = k;
443
443
  }
444
444
  }
445
- var z = w.subarray(0, v), F = w.subarray(v);
446
- C = ni(z), f = ni(F), h = Ge(z, C, 1), d = Ge(F, f, 1);
445
+ var z = E.subarray(0, v), F = E.subarray(v);
446
+ C = ii(z), f = ii(F), h = Ge(z, C, 1), d = Ge(F, f, 1);
447
447
  } else
448
448
  Qt(1);
449
449
  else {
450
- var E = Ec(u) + 4, b = n[E - 4] | n[E - 3] << 8, D = E + b;
450
+ var w = xc(u) + 4, b = n[w - 4] | n[w - 3] << 8, D = w + b;
451
451
  if (D > a) {
452
452
  c && Qt(0);
453
453
  break;
454
454
  }
455
- r && A(g + b), e.set(n.subarray(E, D), g), t.b = g += b, t.p = u = D * 8, t.f = l;
455
+ r && A(g + b), e.set(n.subarray(w, D), g), t.b = g += b, t.p = u = D * 8, t.f = l;
456
456
  continue;
457
457
  }
458
458
  if (u > p) {
@@ -462,7 +462,7 @@ var Ic = /* @__PURE__ */ Ge(nn, 9, 1), wc = /* @__PURE__ */ Ge(Wo, 5, 1), ni = f
462
462
  }
463
463
  r && A(g + 131072);
464
464
  for (var H = (1 << C) - 1, G = (1 << f) - 1, q = u; ; q = u) {
465
- var k = h[ii(n, u) & H], V = k >> 4;
465
+ var k = h[si(n, u) & H], V = k >> 4;
466
466
  if (u += k & 15, u > p) {
467
467
  c && Qt(0);
468
468
  break;
@@ -475,15 +475,15 @@ var Ic = /* @__PURE__ */ Ge(nn, 9, 1), wc = /* @__PURE__ */ Ge(Wo, 5, 1), ni = f
475
475
  } else {
476
476
  var $ = V - 254;
477
477
  if (V > 264) {
478
- var S = V - 257, N = Oo[S];
479
- $ = kt(n, u, (1 << N) - 1) + Vo[S], u += N;
478
+ var S = V - 257, N = Go[S];
479
+ $ = kt(n, u, (1 << N) - 1) + $o[S], u += N;
480
480
  }
481
- var rt = d[ii(n, u) & G], st = rt >> 4;
481
+ var rt = d[si(n, u) & G], st = rt >> 4;
482
482
  rt || Qt(3), u += rt & 15;
483
- var F = yc[st];
483
+ var F = wc[st];
484
484
  if (st > 3) {
485
- var N = Yo[st];
486
- F += ii(n, u) & (1 << N) - 1, u += N;
485
+ var N = qo[st];
486
+ F += si(n, u) & (1 << N) - 1, u += N;
487
487
  }
488
488
  if (u > p) {
489
489
  c && Qt(0);
@@ -502,53 +502,53 @@ var Ic = /* @__PURE__ */ Ge(nn, 9, 1), wc = /* @__PURE__ */ Ge(Wo, 5, 1), ni = f
502
502
  }
503
503
  t.l = h, t.p = q, t.b = g, t.f = l, h && (l = 1, t.m = C, t.d = d, t.n = f);
504
504
  } while (!l);
505
- return g != e.length && s ? gs(e, 0, g) : e.subarray(0, g);
506
- }, Sc = /* @__PURE__ */ new bt(0), zt = function(n, t) {
505
+ return g != e.length && s ? fs(e, 0, g) : e.subarray(0, g);
506
+ }, Mc = /* @__PURE__ */ new bt(0), zt = function(n, t) {
507
507
  return n[t] | n[t + 1] << 8;
508
508
  }, Tt = function(n, t) {
509
509
  return (n[t] | n[t + 1] << 8 | n[t + 2] << 16 | n[t + 3] << 24) >>> 0;
510
- }, si = function(n, t) {
510
+ }, ai = function(n, t) {
511
511
  return Tt(n, t) + Tt(n, t + 4) * 4294967296;
512
512
  };
513
- function bc(n, t) {
514
- return xc(n, { i: 2 }, t && t.out, t && t.dictionary);
513
+ function Bc(n, t) {
514
+ return bc(n, { i: 2 }, t && t.out, t && t.dictionary);
515
515
  }
516
- var zi = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(), Mc = 0;
516
+ var Hi = typeof TextDecoder < "u" && /* @__PURE__ */ new TextDecoder(), Qc = 0;
517
517
  try {
518
- zi.decode(Sc, { stream: !0 }), Mc = 1;
518
+ Hi.decode(Mc, { stream: !0 }), Qc = 1;
519
519
  } catch {
520
520
  }
521
- var Bc = function(n) {
521
+ var Dc = function(n) {
522
522
  for (var t = "", e = 0; ; ) {
523
523
  var i = n[e++], a = (i > 127) + (i > 223) + (i > 239);
524
524
  if (e + a > n.length)
525
- return { s: t, r: gs(n, e - 1) };
525
+ return { s: t, r: fs(n, e - 1) };
526
526
  a ? a == 3 ? (i = ((i & 15) << 18 | (n[e++] & 63) << 12 | (n[e++] & 63) << 6 | n[e++] & 63) - 65536, t += String.fromCharCode(55296 | i >> 10, 56320 | i & 1023)) : a & 1 ? t += String.fromCharCode((i & 31) << 6 | n[e++] & 63) : t += String.fromCharCode((i & 15) << 12 | (n[e++] & 63) << 6 | n[e++] & 63) : t += String.fromCharCode(i);
527
527
  }
528
528
  };
529
- function Qc(n, t) {
529
+ function kc(n, t) {
530
530
  if (t) {
531
531
  for (var e = "", i = 0; i < n.length; i += 16384)
532
532
  e += String.fromCharCode.apply(null, n.subarray(i, i + 16384));
533
533
  return e;
534
534
  } else {
535
- if (zi)
536
- return zi.decode(n);
537
- var a = Bc(n), o = a.s, e = a.r;
535
+ if (Hi)
536
+ return Hi.decode(n);
537
+ var a = Dc(n), o = a.s, e = a.r;
538
538
  return e.length && Qt(8), o;
539
539
  }
540
540
  }
541
- var Dc = function(n, t) {
541
+ var Tc = function(n, t) {
542
542
  return t + 30 + zt(n, t + 26) + zt(n, t + 28);
543
- }, kc = function(n, t, e) {
544
- var i = zt(n, t + 28), a = Qc(n.subarray(t + 46, t + 46 + i), !(zt(n, t + 8) & 2048)), o = t + 46 + i, s = Tt(n, t + 20), r = e && s == 4294967295 ? Tc(n, o) : [s, Tt(n, t + 24), Tt(n, t + 42)], c = r[0], A = r[1], l = r[2];
543
+ }, Lc = function(n, t, e) {
544
+ var i = zt(n, t + 28), a = kc(n.subarray(t + 46, t + 46 + i), !(zt(n, t + 8) & 2048)), o = t + 46 + i, s = Tt(n, t + 20), r = e && s == 4294967295 ? Rc(n, o) : [s, Tt(n, t + 24), Tt(n, t + 42)], c = r[0], A = r[1], l = r[2];
545
545
  return [zt(n, t + 10), c, A, a, o + zt(n, t + 30) + zt(n, t + 32), l];
546
- }, Tc = function(n, t) {
546
+ }, Rc = function(n, t) {
547
547
  for (; zt(n, t) != 1; t += 4 + zt(n, t + 2))
548
548
  ;
549
- return [si(n, t + 12), si(n, t + 4), si(n, t + 20)];
549
+ return [ai(n, t + 12), ai(n, t + 4), ai(n, t + 20)];
550
550
  };
551
- function Lc(n, t) {
551
+ function _c(n, t) {
552
552
  for (var e = {}, i = n.length - 22; Tt(n, i) != 101010256; --i)
553
553
  (!i || n.length - i > 65558) && Qt(13);
554
554
  var a = zt(n, i + 8);
@@ -560,15 +560,15 @@ function Lc(n, t) {
560
560
  s = Tt(n, r) == 101075792, s && (a = Tt(n, r + 32), o = Tt(n, r + 48));
561
561
  }
562
562
  for (var c = 0; c < a; ++c) {
563
- var A = kc(n, o, s), l = A[0], u = A[1], g = A[2], h = A[3], d = A[4], C = A[5], f = Dc(n, C);
564
- o = d, l ? l == 8 ? e[h] = bc(n.subarray(f, f + u), { out: new bt(g) }) : Qt(14, "unknown compression type " + l) : e[h] = gs(n, f, f + u);
563
+ var A = Lc(n, o, s), l = A[0], u = A[1], g = A[2], h = A[3], d = A[4], C = A[5], f = Tc(n, C);
564
+ o = d, l ? l == 8 ? e[h] = Bc(n.subarray(f, f + u), { out: new bt(g) }) : Qt(14, "unknown compression type " + l) : e[h] = fs(n, f, f + u);
565
565
  }
566
566
  return e;
567
567
  }
568
- function fs(n) {
568
+ function ps(n) {
569
569
  let t = !1;
570
570
  const e = (h, d, C) => n.on(h, d, C), i = (h, ...d) => n.fire(h, ...d);
571
- e(St, () => i(_).debugMode), e(ji, () => t = !0);
571
+ e(St, () => i(_).debugMode), e(Ki, () => t = !0);
572
572
  let a = 0;
573
573
  (function h() {
574
574
  a++, !t && requestAnimationFrame(h);
@@ -577,14 +577,14 @@ function fs(n) {
577
577
  t || (C > 0 ? !(a % C) && h(a) : h(a), d && d() && requestAnimationFrame(f));
578
578
  };
579
579
  f();
580
- }), e(Va, (h, d = null, C = 20) => {
580
+ }), e(Wa, (h, d = null, C = 20) => {
581
581
  const f = () => {
582
582
  t || (h(), d && d() && setTimeout(f, C));
583
583
  };
584
584
  f();
585
585
  });
586
586
  let o = !1, s = 0, r = 0;
587
- e(Xi, () => {
587
+ e(Zi, () => {
588
588
  o = !0, (async () => {
589
589
  const h = document.querySelector("#gsviewer #progressBarWrap");
590
590
  if (h) {
@@ -598,23 +598,23 @@ function fs(n) {
598
598
  const d = document.querySelector("#gsviewer #progressBarWrap");
599
599
  d && (d.style.display = "none");
600
600
  })(), (async () => document.querySelector("#gsviewer .logo")?.classList.remove("loading"))(), parent?.onProgress && parent.onProgress(0, "100%", 9), window.onProgress && window.onProgress(0, "100%", 9));
601
- }), e(Zi, (h) => {
601
+ }), e(ts, (h) => {
602
602
  o = !0, (async () => {
603
603
  const d = document.querySelector("#gsviewer #progressBar");
604
604
  d && (d.style.width = `${h}%`);
605
605
  })(), parent?.onProgress && parent.onProgress(h, `${h}%`), window.onProgress && window.onProgress(h, `${h}%`);
606
- }), e(kr, () => o), e(uo, (h) => {
606
+ }), e(Lr, () => o), e(ho, (h) => {
607
607
  r = h;
608
- }), e(ho, () => !o && s && r >= s), e(he, () => {
608
+ }), e(go, () => !o && s && r >= s), e(he, () => {
609
609
  const d = i(ke).parentElement.getBoundingClientRect();
610
610
  return { width: d.width, height: d.height, left: d.left, top: d.top };
611
611
  }), e(le, (h) => {
612
612
  let d = h.x.toFixed(3).split("."), C = h.y.toFixed(3).split("."), f = h.z.toFixed(3).split(".");
613
613
  return (d[1] === "000" || d[1] === "00000") && (d[1] = "0"), (C[1] === "000" || C[1] === "00000") && (C[1] = "0"), (f[1] === "000" || f[1] === "00000") && (f[1] = "0"), `${d.join(".")}, ${C.join(".")}, ${f.join(".")}`;
614
- }), e(br, (h) => btoa(h)), e(Mr, (h) => atob(h));
614
+ }), e(Br, (h) => btoa(h)), e(Qr, (h) => atob(h));
615
615
  const c = 1e-3;
616
616
  let A = new Q(), l = new Q(), u = 0;
617
- e(Dr, () => {
617
+ e(Tr, () => {
618
618
  const h = i(dt), d = h.fov, C = h.position.clone(), f = h.getWorldDirection(new Q());
619
619
  return Math.abs(u - d) < c && Math.abs(C.x - A.x) < c && Math.abs(C.y - A.y) < c && Math.abs(C.z - A.z) < c && Math.abs(f.x - l.x) < c && Math.abs(f.y - l.y) < c && Math.abs(f.z - l.z) < c ? !1 : (u = d, A = C, l = f, !0);
620
620
  }), e(jt, (h) => {
@@ -632,13 +632,13 @@ function fs(n) {
632
632
  fps: f,
633
633
  realFps: p,
634
634
  sortTime: y,
635
- bucketBits: E,
635
+ bucketBits: w,
636
636
  sortType: b,
637
637
  qualityLevel: D,
638
638
  fov: v,
639
639
  position: x,
640
640
  lookUp: m,
641
- lookAt: w,
641
+ lookAt: E,
642
642
  worker: M,
643
643
  scene: S,
644
644
  // updateSceneData,
@@ -647,7 +647,7 @@ function fs(n) {
647
647
  shDegree: R
648
648
  } = {}) => {
649
649
  if (!i(St)) return;
650
- R !== void 0 && g("shDegree", `${R}`), h !== void 0 && g("renderSplatCount", `${h}`), d !== void 0 && g("visibleSplatCount", `${d}`), C !== void 0 && g("modelSplatCount", `${C}`), f !== void 0 && g("fps", f), p !== void 0 && g("realFps", `raw ${p}`), y !== void 0 && g("sort", `${y} ms (L ${i(_).qualityLevel || Qe}, ${E} B, T ${b})`), T !== void 0 && g("cuts", T === "" ? "" : `(${T} cuts)`), M && g("worker", `${M}`), S && g("scene", S), v && g("fov", v), x && g("position", x), m && g("lookUp", m), w && g("lookAt", w), w && g("viewer-version", ds);
650
+ R !== void 0 && g("shDegree", `${R}`), h !== void 0 && g("renderSplatCount", `${h}`), d !== void 0 && g("visibleSplatCount", `${d}`), C !== void 0 && g("modelSplatCount", `${C}`), f !== void 0 && g("fps", f), p !== void 0 && g("realFps", `raw ${p}`), y !== void 0 && g("sort", `${y} ms (L ${i(_).qualityLevel || Qe}, ${w} B, T ${b})`), T !== void 0 && g("cuts", T === "" ? "" : `(${T} cuts)`), M && g("worker", `${M}`), S && g("scene", S), v && g("fov", v), x && g("position", x), m && g("lookUp", m), E && g("lookAt", E), E && g("viewer-version", gs);
651
651
  let B = performance.memory || { usedJSHeapSize: 0, totalJSHeapSize: 0, jsHeapSizeLimit: 0 }, k = "", U = B.usedJSHeapSize / 1024 / 1024;
652
652
  U > 1e3 ? k += (U / 1024).toFixed(2) + " G" : k += U.toFixed(0) + " M", k += " / ";
653
653
  let z = B.totalJSHeapSize / 1024 / 1024;
@@ -661,7 +661,7 @@ function fs(n) {
661
661
  C && (C.innerText = d);
662
662
  }
663
663
  }
664
- function Rc(n = 0) {
664
+ function Fc(n = 0) {
665
665
  const t = /* @__PURE__ */ new Date();
666
666
  return t.setDate(t.getDate() - 7), n >= t.getFullYear() * 1e4 + (t.getMonth() + 1) * 100 + t.getDate();
667
667
  }
@@ -672,10 +672,10 @@ function An(n) {
672
672
  const t = j(Math.round(n * 128) + 128);
673
673
  return j(Math.floor((t + 4) / 8) * 8);
674
674
  }
675
- function Un(n, t) {
675
+ function Nn(n, t) {
676
676
  return ((1500 + n * 248) / t).toFixed(2) + "x";
677
677
  }
678
- async function $o(n) {
678
+ async function jo(n) {
679
679
  try {
680
680
  const t = new ReadableStream({
681
681
  async start(i) {
@@ -687,15 +687,15 @@ async function $o(n) {
687
687
  return console.error("Decompress gzip failed:", t), null;
688
688
  }
689
689
  }
690
- async function _c(n) {
690
+ async function Pc(n) {
691
691
  try {
692
- const t = URL.createObjectURL(new Blob([n], { type: "application/octet-stream" })), e = await fetch(t), i = new Response(new gc.XzReadableStream(e.body));
692
+ const t = URL.createObjectURL(new Blob([n], { type: "application/octet-stream" })), e = await fetch(t), i = new Response(new pc.XzReadableStream(e.body));
693
693
  return new Uint8Array(await i.arrayBuffer());
694
694
  } catch (t) {
695
695
  return console.error("Decompress xz failed:", t), null;
696
696
  }
697
697
  }
698
- async function Fc(n) {
698
+ async function Uc(n) {
699
699
  const t = new Uint32Array(n.slice(0, 12).buffer), e = t[0], i = t[2];
700
700
  let a = 8;
701
701
  const o = n.slice(a + 4, a + 4 + i), { rgba: s } = await Et(o);
@@ -747,7 +747,7 @@ async function Fc(n) {
747
747
  f[p++] = C[y * 4 + 2];
748
748
  return f;
749
749
  }
750
- async function Pc(n) {
750
+ async function Nc(n) {
751
751
  const e = new Uint32Array(n.slice(0, 8).buffer)[0], i = n.slice(8), { rgba: a } = await Et(i), o = new Uint8Array(8 + e * 9);
752
752
  let s = 0;
753
753
  o[s] = n[s++], o[s] = n[s++], o[s] = n[s++], o[s] = n[s++], o[s++] = 1, o[s++] = 0, o[s++] = 0, o[s++] = 0;
@@ -756,7 +756,7 @@ async function Pc(n) {
756
756
  o[s++] = a[r * 60 + c * 4 + 0], o[s++] = a[r * 60 + c * 4 + 1], o[s++] = a[r * 60 + c * 4 + 2];
757
757
  return o;
758
758
  }
759
- async function Ys(n) {
759
+ async function Gs(n) {
760
760
  const e = new Uint32Array(n.slice(0, 8).buffer)[0], i = n.slice(8), { rgba: a } = await Et(i), o = new Uint8Array(8 + e * 24);
761
761
  let s = 0;
762
762
  o[s] = n[s++], o[s] = n[s++], o[s] = n[s++], o[s] = n[s++], o[s++] = 2, o[s++] = 0, o[s++] = 0, o[s++] = 0;
@@ -765,7 +765,7 @@ async function Ys(n) {
765
765
  o[s++] = a[r * 60 + c * 4 + 0], o[s++] = a[r * 60 + c * 4 + 1], o[s++] = a[r * 60 + c * 4 + 2];
766
766
  return o;
767
767
  }
768
- async function Uc(n) {
768
+ async function zc(n) {
769
769
  const e = new Uint32Array(n.slice(0, 8).buffer)[0], i = n.slice(8), { rgba: a } = await Et(i), o = new Uint8Array(8 + e * 21);
770
770
  let s = 0;
771
771
  o[s] = n[s++], o[s] = n[s++], o[s] = n[s++], o[s] = n[s++], o[s++] = 3, o[s++] = 0, o[s++] = 0, o[s++] = 0;
@@ -780,10 +780,10 @@ async function Et(n) {
780
780
  const s = o.getImageData(0, 0, i.width, i.height), r = i.width, c = i.height;
781
781
  return i.close(), URL.revokeObjectURL(e), { width: r, height: c, rgba: s.data };
782
782
  }
783
- function Nc(n) {
783
+ function Hc(n) {
784
784
  const t = /* @__PURE__ */ new Map();
785
785
  try {
786
- const e = Lc(n);
786
+ const e = _c(n);
787
787
  for (const [i, a] of Object.entries(e))
788
788
  if (a) {
789
789
  const o = new Uint8Array(a);
@@ -794,57 +794,57 @@ function Nc(n) {
794
794
  }
795
795
  return t;
796
796
  }
797
- function zc(n) {
797
+ function Oc(n) {
798
798
  return new TextDecoder("utf-8").decode(n);
799
799
  }
800
- const ps = "AGFzbQEAAAAADwhkeWxpbmsuMAEEAAAAAAEeBmABfQF9YAAAYAF9AX9gAX8Bf2ACf38AYAJ/fwF/AhoCA2VudgRleHBmAAADZW52Bm1lbW9yeQIAAAMGBQECAwQFByEEEV9fd2FzbV9jYWxsX2N0b3JzAAEBSAADAXcABAFEAAUKigsFAwABC3IBBH8gALwiBEH///8DcSEBAkAgBEEXdkH/AXEiAkUNACACQfAATQRAIAFBgICABHJB8QAgAmt2IQEMAQsgAkGNAUsEQEGA+AEhA0EAIQEMAQsgAkEKdEGAgAdrIQMLIAMgBEEQdkGAgAJxciABQQ12cgsyAQJ/QcGmFiEBA0AgACACai0AACABQSFscyEBIAJBAWoiAkH8AEcNAAsgASAAKAJ8RwszACAAQQhBBCABQQFGG2pBADYCACAAQQA2ABwgAP0MAAABAIwRFgCVAWwS7YEyE/0LAgwLqQkDKH8OfQR8IAEoAgRBi/AJRgR/IAEoAgAiBEEASgRAIAFBCWoiAiAEQRNsaiEIIAIgBEESbGohCSACIARBEWxqIQogAiAEQQR0aiELIAIgBEEPbGohDCACIARBDmxqIQ0gAiAEQQ1saiEOIAIgBEEMbGohDyACIARBC2xqIRAgAiAEQQpsaiERIAIgBEEJbGohEiACIARBBmxqIRMgAiAEQQNsaiEUIAEtAAghFUEAIQIDQCACIAlqLQAAIQcgAiAKai0AACEWIAIgC2otAAAhFyACIAxqLQAAIRggAiANai0AACEZIAIgDmotAAAhGiACIA9qLQAAIRsgAiAQai0AACEcIAIgEWotAAAhHSACIBJqLQAAIR4gEyACQQNsIgNqIgUtAAAhHyADIBRqIgYtAAAhICABIANqIgMtAAohISADLQAJISIgBS0AASEjIAYtAAEhJCADLQALIiXAISYgBS0AAiInwCEoIAYtAAIiBsAhKUEAIQUgFQRAIAggAkEBdGoiAy0AASIFQQh0QYD+AXEgAy0AAHIgBUEJdEGAgARxciEFCyAes0MAAIA9lEMAACDBkhAAIS8gHbNDAACAPZRDAAAgwZIQACExIByzQwAAgD2UQwAAIMGSEAAhMkMAAAAAQwAAgD8gB7NDAAAAw5JDAAAAPJQiKiAqlCAXs0MAAADDkkMAAAA8lCIrICuUIBazQwAAAMOSQwAAADyUIiwgLJSSkpMiLZEgLUMAAAAAXRshLSAAIAJBBXRqIgMgIUEIdCAiciAlQRB0ciIHQYCAgHhyIAcgJkEASBuyQwAAgDmUOAIAIAMgBTYCDCADICNBCHQgH3IgJ0EQdHIiBUGAgIB4ciAFIChBAEgbskMAAIA5lDgCCCADICRBCHQgIHIgBkEQdHIiBUGAgIB4ciAFIClBAEgbskMAAIA5lDgCBCADICsgKiAqlCAsICyUIC0gLZQgKyArlJKSkpEiLpUiKyAqIC6VIiqUIjQgLSAulSIwICwgLpUiLJQiNZK7IjggOKAgMrsiOKK2Ii0gLZREAAAAAAAA8D8gLCAslCIyICogKpQiNpK7IjogOqChIC+7IjqitiIuIC6UICsgLJQiMyAwICqUIjeTuyI7IDugIDG7IjuitiIvIC+UkpJDAACAQJQQAiAtICwgKpQiMSAwICuUIjCTuyI5IDmgIDiitiIqlCAuIDMgN5K7IjkgOaAgOqK2IiyUIC9EAAAAAAAA8D8gKyArlCIzIDaSuyI5IDmgoSA7orYiK5SSkkMAAIBAlBACQRB0cjYCECADIC1EAAAAAAAA8D8gMyAykrsiOSA5oKEgOKK2Ii2UIC4gNCA1k7siOCA4oCA6orYiLpQgLyAxIDCSuyI4IDigIDuitiIvlJKSQwAAgECUEAIgKiAqlCAsICyUICsgK5SSkkMAAIBAlBACQRB0cjYCFCADIBpBCHQgG3IgGUEQdHIgGEEYdHI2AhwgAyAqIC2UICwgLpQgKyAvlJKSQwAAgECUEAIgLSAtlCAuIC6UIC8gL5SSkkMAAIBAlBACQRB0cjYCGCACQQFqIgIgBEcNAAsLQQAFQQELCw==", ms = "AGFzbQEAAAAADwhkeWxpbmsuMAEEAAAAAAEpBmACf38Bf2ABfQF9YAAAYAF9AX9gAX8Bf2ANf399fX19fX19fX19fwACGgIDZW52BGV4cGYAAQNlbnYGbWVtb3J5AgAAAwcGAgMEBQAAByEEEV9fd2FzbV9jYWxsX2N0b3JzAAEBSAADAXMABQFEAAYKuB8GAwABC3IBBH8gALwiBEH///8DcSEBAkAgBEEXdkH/AXEiAkUNACACQfAATQRAIAFBgICABHJB8QAgAmt2IQEMAQsgAkGNAUsEQEGA+AEhA0EAIQEMAQsgAkEKdEGAgAdrIQMLIAMgBEEQdkGAgAJxciABQQ12cgsyAQJ/QZWjAyEBA0AgACACai0AACABQSFscyEBIAJBAWoiAkH8AEcNAAsgASAAKAJ8RwvpAwIEfAR9IAAgAUECdGoiACACOAIAIABBADYCDCAAIAQ4AgggACADOAIEIAAgCSALIAuUIAogCpQgCCAIlCAJIAmUkpKSkSIElSICIAsgBJUiA5QiCSAIIASVIgggCiAElSIElCIKkrsiDSANoCAHuyINorYiByAHlEQAAAAAAADwPyAEIASUIgsgAyADlCISkrsiDyAPoKEgBbsiD6K2IgUgBZQgAiAElCIRIAggA5QiE5O7IhAgEKAgBrsiEKK2IgYgBpSSkkMAAIBAlBACIAcgBCADlCIUIAggApQiCJO7Ig4gDqAgDaK2IgOUIAUgESATkrsiDiAOoCAPorYiBJQgBkQAAAAAAADwPyACIAKUIhEgEpK7Ig4gDqChIBCitiIClJKSQwAAgECUEAJBEHRyNgIQIAAgB0QAAAAAAADwPyARIAuSuyIOIA6goSANorYiB5QgBSAJIAqTuyINIA2gIA+itiIFlCAGIBQgCJK7Ig0gDaAgEKK2IgaUkpJDAACAQJQQAiADIAOUIAQgBJQgAiAClJKSQwAAgECUEAJBEHRyNgIUIAAgDDYCHCAAIAMgB5QgBCAFlCACIAaUkpJDAACAQJQQAiAHIAeUIAUgBZQgBiAGlJKSQwAAgECUEAJBEHRyNgIYC70BAQJ/IAFBAEoEQANAIAAgA0EDdCAAIANBBXRqIgIqAgAgAioCBCACKgIIIAIqAgwgAioCECACKgIUIAItABy4RAAAAAAAAGDAoEQAAAAAAACAP6K2IAItAB24RAAAAAAAAGDAoEQAAAAAAACAP6K2IAItAB64RAAAAAAAAGDAoEQAAAAAAACAP6K2IAItAB+4RAAAAAAAAGDAoEQAAAAAAACAP6K2IAIoAhgQBCADQQFqIgMgAUcNAAsLQQAL4RgCH38KfQJAAkACQAJAAkACQCABKAIEIgNBAWsOAwECAwALQQEhAgJAAkACQCADQRBrDgUCBwcBAAcLIAEoAgAiA0EASgRAIAFBCGoiAiADQRNsaiEFIAIgA0ESbGohBiACIANBEWxqIQcgAiADQQR0aiEIIAIgA0EPbGohCSACIANBDmxqIQogAiADQQ1saiELIAIgA0EMbGohDCACIANBC2xqIQ0gAiADQQpsaiEPIAIgA0EJbGohECACIANBBmxqIREgAiADQQNsaiESQQAhAgNAIAIgC2otAAAhEyACIAxqLQAAIRQgAiAKai0AACEVIAIgCWotAAAhFiACIAVqLQAAIRcgAiAGai0AACEYIAIgB2otAAAhGSACIAhqLQAAIRogAiANai0AACEbIAIgD2otAAAhHCAAIAJBA3QgASACQQNsIgRqIg4vAAggDiwACiIOQf8BcUEQdHIiHUGAgIB4ciAdIA5BAEgbskMAAIA5lCAEIBJqIg4vAAAgDiwAAiIOQf8BcUEQdHIiHUGAgIB4ciAdIA5BAEgbskMAAIA5lCAEIBFqIgQvAAAgBCwAAiIEQf8BcUEQdHIiDkGAgIB4ciAOIARBAEgbskMAAIA5lCACIBBqLQAAs0MAAIA9lEMAACDBkhAAIByzQwAAgD2UQwAAIMGSEAAgG7NDAACAPZRDAAAgwZIQACAauEQAAAAAAABgwKBEAAAAAAAAgD+itiAZuEQAAAAAAABgwKBEAAAAAAAAgD+itiAYuEQAAAAAAABgwKBEAAAAAAAAgD+itiAXuEQAAAAAAABgwKBEAAAAAAAAgD+itiAUIBNBCHRyIBVBEHRyIBZBGHRyEAQgAkEBaiICIANHDQALCwwFCyABKAIAIgJBAEoEQCABQQhqIgMgAkESbGohBCADIAJBEWxqIQUgAyACQQ9saiEGIAMgAkEObGohByADIAJBDWxqIQggAyACQQxsaiEJIAMgAkELbGohCiADIAJBCmxqIQsgAyACQQlsaiEMIAMgAkEDdGohDSADIAJBB2xqIQ8gAyACQQZsaiEQIAMgAkEFbGohESADIAJBAnRqIRIgAyACQQNsaiETIAMgAkEBdGohFCABIAJqQQhqIRUgASACQQR0akEIaiEWQQAhAQNAIAEgBWotAAAhFyABIBZqLQAAIRggASAEai0AACEZIAEgCGotAAAhGiABIAlqLQAAIRsgASAHai0AACEcIAEgBmotAAAhDiABIApqLQAAIR0gASALai0AACEgIAAgAUEDdCABIANqLQAAIAEgE2otAABBCHRyIAEgEGosAAAiHkH/AXFBEHRyIh9BgICAeHIgHyAeQQBIG7JDAACAOZQgASAVai0AACABIBJqLQAAQQh0ciABIA9qLAAAIh5B/wFxQRB0ciIfQYCAgHhyIB8gHkEASBuyQwAAgDmUIAEgFGotAAAgASARai0AAEEIdHIgASANaiwAACIeQf8BcUEQdHIiH0GAgIB4ciAfIB5BAEgbskMAAIA5lCABIAxqLQAAs0MAAIA9lEMAACDBkhAAICCzQwAAgD2UQwAAIMGSEAAgHbNDAACAPZRDAAAgwZIQAEMAAAAAQwAAgD8gGbNDAAAAw5JDAAAAPJQiISAhlCAYs0MAAADDkkMAAAA8lCIiICKUIBezQwAAAMOSQwAAADyUIiMgI5SSkpMiJJEgJEMAAAAAXRsgIiAjICEgGyAaQQh0ciAcQRB0ciAOQRh0chAEIAFBAWoiASACRw0ACwsMBAsgASgCACICQQBKBEAgASoCHCABKgIYIiSTQwD/f0eVISUgASoCFCABKgIQIiaTQwD/f0eVIScgASoCDCABQQhqIgMqAgAiKJNDAP9/R5UhKSADIAJBD2xqIQQgAyACQQ5saiEFIAMgAkENbGohBiADIAJBDGxqIQcgAyACQQtsaiEIIAMgAkEKbGohCSADIAJBCWxqIQogAyACQQN0aiELIAMgAkEHbGohDCADIAJBBmxqIQ0gAyACQQVsaiEPIAMgAkECdGohECADIAJBA2xqIREgAyACQQF0aiESIAEgAmpBCGohE0EAIQEDQCABIAVqLQAAIRQgASAGai0AACEVIAEgBGotAAAhFiABIAlqLQAAIRcgASAKai0AACEYIAEgCGotAAAhGSABIAdqLQAAIRogASALai0AACEbIAEgDGotAAAhHCAAIAFBA3QgASADai0AACABIBFqLQAAQQh0crMgKZQgKJIgASATai0AACABIBBqLQAAQQh0crMgJ5QgJpIgASASai0AACABIA9qLQAAQQh0crMgJZQgJJIgASANai0AALNDAACAPZRDAAAgwZIQACAcs0MAAIA9lEMAACDBkhAAIBuzQwAAgD2UQwAAIMGSEABDAAAAAEMAAIA/IBazQwAAAMOSQwAAADyUIiEgIZQgFbNDAAAAw5JDAAAAPJQiIiAilCAUs0MAAADDkkMAAAA8lCIjICOUkpKTIiqRICpDAAAAAF0bICIgIyAhIBggF0EIdHIgGUEQdHIgGkEYdHIQBCABQQFqIgEgAkcNAAsLDAMLQQAhAyABKAIAIgVBAEoEQANAIAEgA0EJbGoiAi0ADSEGIAItAAwhByACLQALIQggAi0ACiEJIAItAAkhCiACLQAIIQsgAi0AECEMIAItAA8hDSACLQAOIQIgACADQQR0aiIEQoCAgIAQNwIIIAQgDEEQdEGAgOAHcSANQRV0QYCAgPgBcSACQRp0QYCAgIB+cXJyNgIEIAQgBkEBdkH8AHEgB0EEdEGAH3EgCEEJdEGA4AdxIAlBDnRBgID4AXEgCkETdEGAgIA+cSALQRh0QYCAgEBxcnJycnIgAkEGdnI2AgAgA0EBaiIDIAVHDQALCwwCC0EAIQMgASgCACIHQQBKBEADQCABIANBGGxqIgItABohCCACLQAZIQkgAi0AGCEKIAItABchCyACLQAWIQwgAi0AFSENIAItAA0hDyACLQAMIRAgAi0ACyERIAItAAohEiACLQAJIRMgAi0ACCEUIAItABQhBSACLQATIRUgAi0AEiEWIAItABEhFyACLQAQIRggAi0ADyEZIAItAA4hBiAAIANBBHRqIgQgAi0AH0EFdEGAPnEgAi0AHkEKdEGAwA9xIAItAB1BD3RBgIDwA3EgAi0AHEEUdEGAgID8AHEgAi0AGyICQRl0QYCAgIB/cXJycnJBAXI2AgwgBCAVQQF0QfADcSAWQQZ0QYD8AHEgF0ELdEGAgB9xIBhBEHRBgIDgB3EgGUEVdEGAgID4AXEgBkEadEGAgICAfnFycnJyciAFQQR2cjYCBCAEIA9BAXZB/ABxIBBBBHRBgB9xIBFBCXRBgOAHcSASQQ50QYCA+AFxIBNBE3RBgICAPnEgFEEYdEGAgIBAcXJycnJyIAZBBnZyNgIAIAQgCEECdkE+cSAJQQN0QcAPcSAKQQh0QYDwA3EgC0ENdEGAgPwAcSAMQRJ0QYCAgB9xIA1BF3RBgICA4AdxIAVBHHRBgICAgHhxcnJycnJyIAJBB3ZyNgIIIANBAWoiAyAHRw0ACwsMAQtBACEDIAEoAgAiB0EASgRAA0AgASADQRVsaiICLQAaIQggAi0AGSEJIAItABghCiACLQAXIQsgAi0AFiEMIAItABUhDSACLQANIQ8gAi0ADCEQIAItAAshESACLQAKIRIgAi0ACSETIAItAAghFCACLQAUIQUgAi0AEyEVIAItABIhFiACLQARIRcgAi0AECEYIAItAA8hGSACLQAOIQYgACADQQR0aiIEIAItABxBFHRBgICA/ABxIAItABsiAkEZdEGAgICAf3FyQQFyNgIMIAQgFUEBdEHwA3EgFkEGdEGA/ABxIBdBC3RBgIAfcSAYQRB0QYCA4AdxIBlBFXRBgICA+AFxIAZBGnRBgICAgH5xcnJycnIgBUEEdnI2AgQgBCAPQQF2QfwAcSAQQQR0QYAfcSARQQl0QYDgB3EgEkEOdEGAgPgBcSATQRN0QYCAgD5xIBRBGHRBgICAQHFycnJyciAGQQZ2cjYCACAEIAhBAnZBPnEgCUEDdEHAD3EgCkEIdEGA8ANxIAtBDXRBgID8AHEgDEESdEGAgIAfcSANQRd0QYCAgOAHcSAFQRx0QYCAgIB4cXJycnJyciACQQd2cjYCCCADQQFqIgMgB0cNAAsLC0EAIQILIAIL";
801
- async function Hc(n) {
802
- const t = new Uint32Array(n.buffer), e = new Float32Array(n.buffer), i = new Vr();
800
+ const ms = "AGFzbQEAAAAADwhkeWxpbmsuMAEEAAAAAAEeBmABfQF9YAAAYAF9AX9gAX8Bf2ACf38AYAJ/fwF/AhoCA2VudgRleHBmAAADZW52Bm1lbW9yeQIAAAMGBQECAwQFByEEEV9fd2FzbV9jYWxsX2N0b3JzAAEBSAADAXcABAFEAAUKigsFAwABC3IBBH8gALwiBEH///8DcSEBAkAgBEEXdkH/AXEiAkUNACACQfAATQRAIAFBgICABHJB8QAgAmt2IQEMAQsgAkGNAUsEQEGA+AEhA0EAIQEMAQsgAkEKdEGAgAdrIQMLIAMgBEEQdkGAgAJxciABQQ12cgsyAQJ/QcGmFiEBA0AgACACai0AACABQSFscyEBIAJBAWoiAkH8AEcNAAsgASAAKAJ8RwszACAAQQhBBCABQQFGG2pBADYCACAAQQA2ABwgAP0MAAABAIwRFgCVAWwS7YEyE/0LAgwLqQkDKH8OfQR8IAEoAgRBi/AJRgR/IAEoAgAiBEEASgRAIAFBCWoiAiAEQRNsaiEIIAIgBEESbGohCSACIARBEWxqIQogAiAEQQR0aiELIAIgBEEPbGohDCACIARBDmxqIQ0gAiAEQQ1saiEOIAIgBEEMbGohDyACIARBC2xqIRAgAiAEQQpsaiERIAIgBEEJbGohEiACIARBBmxqIRMgAiAEQQNsaiEUIAEtAAghFUEAIQIDQCACIAlqLQAAIQcgAiAKai0AACEWIAIgC2otAAAhFyACIAxqLQAAIRggAiANai0AACEZIAIgDmotAAAhGiACIA9qLQAAIRsgAiAQai0AACEcIAIgEWotAAAhHSACIBJqLQAAIR4gEyACQQNsIgNqIgUtAAAhHyADIBRqIgYtAAAhICABIANqIgMtAAohISADLQAJISIgBS0AASEjIAYtAAEhJCADLQALIiXAISYgBS0AAiInwCEoIAYtAAIiBsAhKUEAIQUgFQRAIAggAkEBdGoiAy0AASIFQQh0QYD+AXEgAy0AAHIgBUEJdEGAgARxciEFCyAes0MAAIA9lEMAACDBkhAAIS8gHbNDAACAPZRDAAAgwZIQACExIByzQwAAgD2UQwAAIMGSEAAhMkMAAAAAQwAAgD8gB7NDAAAAw5JDAAAAPJQiKiAqlCAXs0MAAADDkkMAAAA8lCIrICuUIBazQwAAAMOSQwAAADyUIiwgLJSSkpMiLZEgLUMAAAAAXRshLSAAIAJBBXRqIgMgIUEIdCAiciAlQRB0ciIHQYCAgHhyIAcgJkEASBuyQwAAgDmUOAIAIAMgBTYCDCADICNBCHQgH3IgJ0EQdHIiBUGAgIB4ciAFIChBAEgbskMAAIA5lDgCCCADICRBCHQgIHIgBkEQdHIiBUGAgIB4ciAFIClBAEgbskMAAIA5lDgCBCADICsgKiAqlCAsICyUIC0gLZQgKyArlJKSkpEiLpUiKyAqIC6VIiqUIjQgLSAulSIwICwgLpUiLJQiNZK7IjggOKAgMrsiOKK2Ii0gLZREAAAAAAAA8D8gLCAslCIyICogKpQiNpK7IjogOqChIC+7IjqitiIuIC6UICsgLJQiMyAwICqUIjeTuyI7IDugIDG7IjuitiIvIC+UkpJDAACAQJQQAiAtICwgKpQiMSAwICuUIjCTuyI5IDmgIDiitiIqlCAuIDMgN5K7IjkgOaAgOqK2IiyUIC9EAAAAAAAA8D8gKyArlCIzIDaSuyI5IDmgoSA7orYiK5SSkkMAAIBAlBACQRB0cjYCECADIC1EAAAAAAAA8D8gMyAykrsiOSA5oKEgOKK2Ii2UIC4gNCA1k7siOCA4oCA6orYiLpQgLyAxIDCSuyI4IDigIDuitiIvlJKSQwAAgECUEAIgKiAqlCAsICyUICsgK5SSkkMAAIBAlBACQRB0cjYCFCADIBpBCHQgG3IgGUEQdHIgGEEYdHI2AhwgAyAqIC2UICwgLpQgKyAvlJKSQwAAgECUEAIgLSAtlCAuIC6UIC8gL5SSkkMAAIBAlBACQRB0cjYCGCACQQFqIgIgBEcNAAsLQQAFQQELCw==", Cs = "AGFzbQEAAAAADwhkeWxpbmsuMAEEAAAAAAEpBmACf38Bf2ABfQF9YAAAYAF9AX9gAX8Bf2ANf399fX19fX19fX19fwACGgIDZW52BGV4cGYAAQNlbnYGbWVtb3J5AgAAAwcGAgMEBQAAByEEEV9fd2FzbV9jYWxsX2N0b3JzAAEBSAADAXMABQFEAAYKuB8GAwABC3IBBH8gALwiBEH///8DcSEBAkAgBEEXdkH/AXEiAkUNACACQfAATQRAIAFBgICABHJB8QAgAmt2IQEMAQsgAkGNAUsEQEGA+AEhA0EAIQEMAQsgAkEKdEGAgAdrIQMLIAMgBEEQdkGAgAJxciABQQ12cgsyAQJ/QZWjAyEBA0AgACACai0AACABQSFscyEBIAJBAWoiAkH8AEcNAAsgASAAKAJ8RwvpAwIEfAR9IAAgAUECdGoiACACOAIAIABBADYCDCAAIAQ4AgggACADOAIEIAAgCSALIAuUIAogCpQgCCAIlCAJIAmUkpKSkSIElSICIAsgBJUiA5QiCSAIIASVIgggCiAElSIElCIKkrsiDSANoCAHuyINorYiByAHlEQAAAAAAADwPyAEIASUIgsgAyADlCISkrsiDyAPoKEgBbsiD6K2IgUgBZQgAiAElCIRIAggA5QiE5O7IhAgEKAgBrsiEKK2IgYgBpSSkkMAAIBAlBACIAcgBCADlCIUIAggApQiCJO7Ig4gDqAgDaK2IgOUIAUgESATkrsiDiAOoCAPorYiBJQgBkQAAAAAAADwPyACIAKUIhEgEpK7Ig4gDqChIBCitiIClJKSQwAAgECUEAJBEHRyNgIQIAAgB0QAAAAAAADwPyARIAuSuyIOIA6goSANorYiB5QgBSAJIAqTuyINIA2gIA+itiIFlCAGIBQgCJK7Ig0gDaAgEKK2IgaUkpJDAACAQJQQAiADIAOUIAQgBJQgAiAClJKSQwAAgECUEAJBEHRyNgIUIAAgDDYCHCAAIAMgB5QgBCAFlCACIAaUkpJDAACAQJQQAiAHIAeUIAUgBZQgBiAGlJKSQwAAgECUEAJBEHRyNgIYC70BAQJ/IAFBAEoEQANAIAAgA0EDdCAAIANBBXRqIgIqAgAgAioCBCACKgIIIAIqAgwgAioCECACKgIUIAItABy4RAAAAAAAAGDAoEQAAAAAAACAP6K2IAItAB24RAAAAAAAAGDAoEQAAAAAAACAP6K2IAItAB64RAAAAAAAAGDAoEQAAAAAAACAP6K2IAItAB+4RAAAAAAAAGDAoEQAAAAAAACAP6K2IAIoAhgQBCADQQFqIgMgAUcNAAsLQQAL4RgCH38KfQJAAkACQAJAAkACQCABKAIEIgNBAWsOAwECAwALQQEhAgJAAkACQCADQRBrDgUCBwcBAAcLIAEoAgAiA0EASgRAIAFBCGoiAiADQRNsaiEFIAIgA0ESbGohBiACIANBEWxqIQcgAiADQQR0aiEIIAIgA0EPbGohCSACIANBDmxqIQogAiADQQ1saiELIAIgA0EMbGohDCACIANBC2xqIQ0gAiADQQpsaiEPIAIgA0EJbGohECACIANBBmxqIREgAiADQQNsaiESQQAhAgNAIAIgC2otAAAhEyACIAxqLQAAIRQgAiAKai0AACEVIAIgCWotAAAhFiACIAVqLQAAIRcgAiAGai0AACEYIAIgB2otAAAhGSACIAhqLQAAIRogAiANai0AACEbIAIgD2otAAAhHCAAIAJBA3QgASACQQNsIgRqIg4vAAggDiwACiIOQf8BcUEQdHIiHUGAgIB4ciAdIA5BAEgbskMAAIA5lCAEIBJqIg4vAAAgDiwAAiIOQf8BcUEQdHIiHUGAgIB4ciAdIA5BAEgbskMAAIA5lCAEIBFqIgQvAAAgBCwAAiIEQf8BcUEQdHIiDkGAgIB4ciAOIARBAEgbskMAAIA5lCACIBBqLQAAs0MAAIA9lEMAACDBkhAAIByzQwAAgD2UQwAAIMGSEAAgG7NDAACAPZRDAAAgwZIQACAauEQAAAAAAABgwKBEAAAAAAAAgD+itiAZuEQAAAAAAABgwKBEAAAAAAAAgD+itiAYuEQAAAAAAABgwKBEAAAAAAAAgD+itiAXuEQAAAAAAABgwKBEAAAAAAAAgD+itiAUIBNBCHRyIBVBEHRyIBZBGHRyEAQgAkEBaiICIANHDQALCwwFCyABKAIAIgJBAEoEQCABQQhqIgMgAkESbGohBCADIAJBEWxqIQUgAyACQQ9saiEGIAMgAkEObGohByADIAJBDWxqIQggAyACQQxsaiEJIAMgAkELbGohCiADIAJBCmxqIQsgAyACQQlsaiEMIAMgAkEDdGohDSADIAJBB2xqIQ8gAyACQQZsaiEQIAMgAkEFbGohESADIAJBAnRqIRIgAyACQQNsaiETIAMgAkEBdGohFCABIAJqQQhqIRUgASACQQR0akEIaiEWQQAhAQNAIAEgBWotAAAhFyABIBZqLQAAIRggASAEai0AACEZIAEgCGotAAAhGiABIAlqLQAAIRsgASAHai0AACEcIAEgBmotAAAhDiABIApqLQAAIR0gASALai0AACEgIAAgAUEDdCABIANqLQAAIAEgE2otAABBCHRyIAEgEGosAAAiHkH/AXFBEHRyIh9BgICAeHIgHyAeQQBIG7JDAACAOZQgASAVai0AACABIBJqLQAAQQh0ciABIA9qLAAAIh5B/wFxQRB0ciIfQYCAgHhyIB8gHkEASBuyQwAAgDmUIAEgFGotAAAgASARai0AAEEIdHIgASANaiwAACIeQf8BcUEQdHIiH0GAgIB4ciAfIB5BAEgbskMAAIA5lCABIAxqLQAAs0MAAIA9lEMAACDBkhAAICCzQwAAgD2UQwAAIMGSEAAgHbNDAACAPZRDAAAgwZIQAEMAAAAAQwAAgD8gGbNDAAAAw5JDAAAAPJQiISAhlCAYs0MAAADDkkMAAAA8lCIiICKUIBezQwAAAMOSQwAAADyUIiMgI5SSkpMiJJEgJEMAAAAAXRsgIiAjICEgGyAaQQh0ciAcQRB0ciAOQRh0chAEIAFBAWoiASACRw0ACwsMBAsgASgCACICQQBKBEAgASoCHCABKgIYIiSTQwD/f0eVISUgASoCFCABKgIQIiaTQwD/f0eVIScgASoCDCABQQhqIgMqAgAiKJNDAP9/R5UhKSADIAJBD2xqIQQgAyACQQ5saiEFIAMgAkENbGohBiADIAJBDGxqIQcgAyACQQtsaiEIIAMgAkEKbGohCSADIAJBCWxqIQogAyACQQN0aiELIAMgAkEHbGohDCADIAJBBmxqIQ0gAyACQQVsaiEPIAMgAkECdGohECADIAJBA2xqIREgAyACQQF0aiESIAEgAmpBCGohE0EAIQEDQCABIAVqLQAAIRQgASAGai0AACEVIAEgBGotAAAhFiABIAlqLQAAIRcgASAKai0AACEYIAEgCGotAAAhGSABIAdqLQAAIRogASALai0AACEbIAEgDGotAAAhHCAAIAFBA3QgASADai0AACABIBFqLQAAQQh0crMgKZQgKJIgASATai0AACABIBBqLQAAQQh0crMgJ5QgJpIgASASai0AACABIA9qLQAAQQh0crMgJZQgJJIgASANai0AALNDAACAPZRDAAAgwZIQACAcs0MAAIA9lEMAACDBkhAAIBuzQwAAgD2UQwAAIMGSEABDAAAAAEMAAIA/IBazQwAAAMOSQwAAADyUIiEgIZQgFbNDAAAAw5JDAAAAPJQiIiAilCAUs0MAAADDkkMAAAA8lCIjICOUkpKTIiqRICpDAAAAAF0bICIgIyAhIBggF0EIdHIgGUEQdHIgGkEYdHIQBCABQQFqIgEgAkcNAAsLDAMLQQAhAyABKAIAIgVBAEoEQANAIAEgA0EJbGoiAi0ADSEGIAItAAwhByACLQALIQggAi0ACiEJIAItAAkhCiACLQAIIQsgAi0AECEMIAItAA8hDSACLQAOIQIgACADQQR0aiIEQoCAgIAQNwIIIAQgDEEQdEGAgOAHcSANQRV0QYCAgPgBcSACQRp0QYCAgIB+cXJyNgIEIAQgBkEBdkH8AHEgB0EEdEGAH3EgCEEJdEGA4AdxIAlBDnRBgID4AXEgCkETdEGAgIA+cSALQRh0QYCAgEBxcnJycnIgAkEGdnI2AgAgA0EBaiIDIAVHDQALCwwCC0EAIQMgASgCACIHQQBKBEADQCABIANBGGxqIgItABohCCACLQAZIQkgAi0AGCEKIAItABchCyACLQAWIQwgAi0AFSENIAItAA0hDyACLQAMIRAgAi0ACyERIAItAAohEiACLQAJIRMgAi0ACCEUIAItABQhBSACLQATIRUgAi0AEiEWIAItABEhFyACLQAQIRggAi0ADyEZIAItAA4hBiAAIANBBHRqIgQgAi0AH0EFdEGAPnEgAi0AHkEKdEGAwA9xIAItAB1BD3RBgIDwA3EgAi0AHEEUdEGAgID8AHEgAi0AGyICQRl0QYCAgIB/cXJycnJBAXI2AgwgBCAVQQF0QfADcSAWQQZ0QYD8AHEgF0ELdEGAgB9xIBhBEHRBgIDgB3EgGUEVdEGAgID4AXEgBkEadEGAgICAfnFycnJyciAFQQR2cjYCBCAEIA9BAXZB/ABxIBBBBHRBgB9xIBFBCXRBgOAHcSASQQ50QYCA+AFxIBNBE3RBgICAPnEgFEEYdEGAgIBAcXJycnJyIAZBBnZyNgIAIAQgCEECdkE+cSAJQQN0QcAPcSAKQQh0QYDwA3EgC0ENdEGAgPwAcSAMQRJ0QYCAgB9xIA1BF3RBgICA4AdxIAVBHHRBgICAgHhxcnJycnJyIAJBB3ZyNgIIIANBAWoiAyAHRw0ACwsMAQtBACEDIAEoAgAiB0EASgRAA0AgASADQRVsaiICLQAaIQggAi0AGSEJIAItABghCiACLQAXIQsgAi0AFiEMIAItABUhDSACLQANIQ8gAi0ADCEQIAItAAshESACLQAKIRIgAi0ACSETIAItAAghFCACLQAUIQUgAi0AEyEVIAItABIhFiACLQARIRcgAi0AECEYIAItAA8hGSACLQAOIQYgACADQQR0aiIEIAItABxBFHRBgICA/ABxIAItABsiAkEZdEGAgICAf3FyQQFyNgIMIAQgFUEBdEHwA3EgFkEGdEGA/ABxIBdBC3RBgIAfcSAYQRB0QYCA4AdxIBlBFXRBgICA+AFxIAZBGnRBgICAgH5xcnJycnIgBUEEdnI2AgQgBCAPQQF2QfwAcSAQQQR0QYAfcSARQQl0QYDgB3EgEkEOdEGAgPgBcSATQRN0QYCAgD5xIBRBGHRBgICAQHFycnJyciAGQQZ2cjYCACAEIAhBAnZBPnEgCUEDdEHAD3EgCkEIdEGA8ANxIAtBDXRBgID8AHEgDEESdEGAgIAfcSANQRd0QYCAgOAHcSAFQRx0QYCAgIB4cXJycnJyciACQQd2cjYCCCADQQFqIgMgB0cNAAsLC0EAIQILIAIL";
801
+ async function Yc(n) {
802
+ const t = new Uint32Array(n.buffer), e = new Float32Array(n.buffer), i = new $r();
803
803
  i.Fixed = String.fromCharCode(n[0]) + String.fromCharCode(n[1]) + String.fromCharCode(n[2]), i.Version = n[3], i.SplatCount = t[1], i.MinX = e[2], i.MaxX = e[3], i.MinY = e[4], i.MaxY = e[5], i.MinZ = e[6], i.MaxZ = e[7], i.MinTopY = e[8], i.MaxTopY = e[9], i.CreateDate = t[10], i.CreaterId = t[11], i.ExclusiveId = t[12], i.ShDegree = n[52], i.Flag1 = n[53], i.Flag2 = n[54], i.Flag3 = n[55], i.Reserve1 = t[14], i.Reserve2 = t[15];
804
804
  let a = "";
805
805
  for (let g = 64; g < 124; g++)
806
806
  a += String.fromCharCode(n[g]);
807
807
  if (i.Comment = a.trim(), i.HashCheck = !0, i.Fixed !== "spx" && i.Version !== 1)
808
808
  return null;
809
- const o = i.CreaterId == 1202056903 ? ms : ps, s = WebAssembly.compile(Uint8Array.from(atob(o), (g) => g.charCodeAt(0)).buffer), r = new WebAssembly.Memory({ initial: 1, maximum: 1 }), A = (await WebAssembly.instantiate(await s, { env: { memory: r, expf: On } })).exports.H;
809
+ const o = i.CreaterId == 1202056903 ? Cs : ms, s = WebAssembly.compile(Uint8Array.from(atob(o), (g) => g.charCodeAt(0)).buffer), r = new WebAssembly.Memory({ initial: 1, maximum: 1 }), A = (await WebAssembly.instantiate(await s, { env: { memory: r, expf: Yn } })).exports.H;
810
810
  return new Uint8Array(r.buffer).set(n, 0), A(0) && (i.HashCheck = !1), i;
811
811
  }
812
812
  async function vt(n, t = null) {
813
813
  let e = new Uint32Array(n.slice(0, 8).buffer);
814
814
  const i = e[0], a = e[1];
815
- if (a == oc) {
815
+ if (a == cc) {
816
816
  if (t.ShDegree == je) {
817
- const o = await Pc(n);
817
+ const o = await Nc(n);
818
818
  return _e(i, je, o);
819
819
  } else if (t.ShDegree == Yt) {
820
- const o = await Ys(n);
820
+ const o = await Gs(n);
821
821
  return _e(i, Yt, o);
822
822
  } else if (t.ShDegree == ge) {
823
- const o = await Ys(n), s = await Uc(n), r = await _e(i, Yt, o), c = await _e(i, ge, s);
823
+ const o = await Gs(n), s = await zc(n), r = await _e(i, Yt, o), c = await _e(i, ge, s);
824
824
  return r.success = r.success && c.success, r.isSh23 = !0, r.dataSh3 = c.datas, r;
825
825
  }
826
826
  }
827
- return a == ac && (n = await Fc(n)), _e(i, a, n);
827
+ return a == rc && (n = await Uc(n)), _e(i, a, n);
828
828
  }
829
829
  async function _e(n, t, e) {
830
- const i = je == t, a = Yt == t, o = ge == t, s = i || a || o, r = !s, A = t <= 255 || s ? ms : ps, l = n * (s ? Xr : O), u = WebAssembly.compile(Uint8Array.from(atob(A), (y) => y.charCodeAt(0)).buffer), g = Math.floor((l + e.byteLength) / Ho) + 2, h = new WebAssembly.Memory({ initial: g, maximum: g }), C = (await WebAssembly.instantiate(await u, { env: { memory: h, expf: On } })).exports.D, f = new Uint8Array(h.buffer);
830
+ const i = je == t, a = Yt == t, o = ge == t, s = i || a || o, r = !s, A = t <= 255 || s ? Cs : ms, l = n * (s ? tc : O), u = WebAssembly.compile(Uint8Array.from(atob(A), (y) => y.charCodeAt(0)).buffer), g = Math.floor((l + e.byteLength) / Yo) + 2, h = new WebAssembly.Memory({ initial: g, maximum: g }), C = (await WebAssembly.instantiate(await u, { env: { memory: h, expf: Yn } })).exports.D, f = new Uint8Array(h.buffer);
831
831
  return f.set(e, l), C(0, l) ? { splatCount: n, blockFormat: t, success: !1 } : { splatCount: n, blockFormat: t, success: !0, datas: f.slice(0, l), isSplat: r, isSh: s, isSh1: i, isSh2: a, isSh3: o };
832
832
  }
833
833
  async function Xe(n, t) {
834
- const e = WebAssembly.compile(Uint8Array.from(atob(ms), (A) => A.charCodeAt(0)).buffer), i = Math.floor(t * O / Ho) + 2, a = new WebAssembly.Memory({ initial: i, maximum: i }), s = (await WebAssembly.instantiate(await e, { env: { memory: a, expf: On } })).exports.s, r = new Uint8Array(a.buffer);
834
+ const e = WebAssembly.compile(Uint8Array.from(atob(Cs), (A) => A.charCodeAt(0)).buffer), i = Math.floor(t * O / Yo) + 2, a = new WebAssembly.Memory({ initial: i, maximum: i }), s = (await WebAssembly.instantiate(await e, { env: { memory: a, expf: Yn } })).exports.s, r = new Uint8Array(a.buffer);
835
835
  r.set(n.slice(0, t * O), 0);
836
836
  const c = s(0, t);
837
837
  return c ? (console.error("splat data parser failed:", c), new Uint8Array(0)) : r.slice(0, t * O);
838
838
  }
839
- async function Oc(n, t, e = !0, i = !0) {
840
- const a = WebAssembly.compile(Uint8Array.from(atob(ps), (u) => u.charCodeAt(0)).buffer), o = new WebAssembly.Memory({ initial: 1, maximum: 1 }), r = (await WebAssembly.instantiate(await a, { env: { memory: o, expf: On } })).exports.w, c = new Uint8Array(o.buffer), A = new Float32Array(c.buffer), l = i ? -1 : 1;
839
+ async function Gc(n, t, e = !0, i = !0) {
840
+ const a = WebAssembly.compile(Uint8Array.from(atob(ms), (u) => u.charCodeAt(0)).buffer), o = new WebAssembly.Memory({ initial: 1, maximum: 1 }), r = (await WebAssembly.instantiate(await a, { env: { memory: o, expf: Yn } })).exports.w, c = new Uint8Array(o.buffer), A = new Float32Array(c.buffer), l = i ? -1 : 1;
841
841
  return A[0] = n, e ? A[1] = l * t : A[2] = l * t, r(0, e ? 1 : 0), c.slice(0, O);
842
842
  }
843
- function On(n) {
843
+ function Yn(n) {
844
844
  return Math.exp(n);
845
845
  }
846
846
  const Fe = yt ? 20480 : 51200;
847
- async function Yc(n) {
847
+ async function qc(n) {
848
848
  try {
849
849
  n.status = P.Fetching;
850
850
  const a = n.abortController.signal, o = n.opts.fetchReload ? "reload" : "default", s = await fetch(n.opts.url, { mode: "cors", credentials: "omit", cache: o, signal: a });
@@ -884,10 +884,10 @@ async function Yc(n) {
884
884
  const h = async () => {
885
885
  if (l > Fe) {
886
886
  const d = await e(a, g, Fe);
887
- Gs(o, d), o.downloadSplatCount += Fe, l -= Fe, g = g.slice(Fe * o.rowLength), setTimeout(h);
887
+ qs(o, d), o.downloadSplatCount += Fe, l -= Fe, g = g.slice(Fe * o.rowLength), setTimeout(h);
888
888
  } else {
889
889
  const d = await e(a, g, l);
890
- Gs(o, d), o.downloadSplatCount += l, A(u);
890
+ qs(o, d), o.downloadSplatCount += l, A(u);
891
891
  }
892
892
  };
893
893
  await h();
@@ -903,13 +903,13 @@ async function Yc(n) {
903
903
  const d = new Uint32Array(2);
904
904
  d[0] = s, d[1] = ge, g.set(new Uint8Array(d.buffer), 0);
905
905
  for (let p = 0, y = 0; p < s; p++)
906
- for (let E = 0; E < 8; E++)
906
+ for (let w = 0; w < 8; w++)
907
907
  for (let b = 0; b < 3; b++)
908
- u[8 + y++] = An(c[(p * n.rowLength + a.offsets["f_rest_" + (E + b * 15)]) / 4]);
908
+ u[8 + y++] = An(c[(p * n.rowLength + a.offsets["f_rest_" + (w + b * 15)]) / 4]);
909
909
  for (let p = 0, y = 0; p < s; p++)
910
- for (let E = 8; E < 15; E++)
910
+ for (let w = 8; w < 15; w++)
911
911
  for (let b = 0; b < 3; b++)
912
- g[8 + y++] = An(c[(p * n.rowLength + a.offsets["f_rest_" + (E + b * 15)]) / 4]);
912
+ g[8 + y++] = An(c[(p * n.rowLength + a.offsets["f_rest_" + (w + b * 15)]) / 4]);
913
913
  const C = await vt(u);
914
914
  n.sh12Data.push(C.datas);
915
915
  const f = await vt(g);
@@ -958,8 +958,8 @@ async function Yc(n) {
958
958
  };
959
959
  for (let C of o.slice(0, r).split(`
960
960
  `).filter((f) => f.startsWith("property "))) {
961
- const [f, p, y] = C.split(" "), E = g[p] || "getInt8";
962
- u[y] = E, l[y] = A, A += parseInt(E.replace(/[^\d]/g, "")) / 8;
961
+ const [f, p, y] = C.split(" "), w = g[p] || "getInt8";
962
+ u[y] = w, l[y] = A, A += parseInt(w.replace(/[^\d]/g, "")) / 8;
963
963
  }
964
964
  let h = 0;
965
965
  u.f_rest_44 ? h = 3 : u.f_rest_23 ? h = 2 : u.f_rest_8 && (h = 1);
@@ -972,7 +972,7 @@ async function Yc(n) {
972
972
  return { headerLength: r + s.length, offsets: l, rowLength: A, vertexCount: c, shDegree: h };
973
973
  }
974
974
  }
975
- function Gs(n, t) {
975
+ function qs(n, t) {
976
976
  let e = t.byteLength / O;
977
977
  const i = Math.min(n.fetchLimit, n.modelSplatCount);
978
978
  n.dataSplatCount + e > i ? (e = i - n.dataSplatCount, n.splatData.set(t.slice(0, e * O), n.dataSplatCount * O)) : n.splatData.set(t, n.dataSplatCount * O);
@@ -984,7 +984,7 @@ function Gs(n, t) {
984
984
  n.currentRadius = Math.sqrt(n.maxX * n.maxX + o * o + n.maxZ * n.maxZ), n.aabbCenter = new Q((n.minX + n.maxX) / 2, (n.minY + n.maxY) / 2, (n.minZ + n.maxZ) / 2), n.maxRadius = 0.5 * Math.sqrt(Math.pow(n.maxX - n.minX, 2) + Math.pow(n.maxY - n.minY, 2) + Math.pow(n.maxZ - n.minZ, 2)), n.metaMatrix && n.aabbCenter.applyMatrix4(n.metaMatrix);
985
985
  }
986
986
  const pe = yt ? 20480 : 51200;
987
- async function Gc(n) {
987
+ async function Vc(n) {
988
988
  let t = 0;
989
989
  try {
990
990
  n.status = P.Fetching;
@@ -1024,17 +1024,17 @@ async function Gc(n) {
1024
1024
  const u = async () => {
1025
1025
  if (c > pe) {
1026
1026
  const g = await Xe(l, pe);
1027
- qs(i, g), i.downloadSplatCount += pe, t += pe * i.rowLength, i.downloadSize = t, c -= pe, l = l.slice(pe * i.rowLength), setTimeout(u);
1027
+ Vs(i, g), i.downloadSplatCount += pe, t += pe * i.rowLength, i.downloadSize = t, c -= pe, l = l.slice(pe * i.rowLength), setTimeout(u);
1028
1028
  } else {
1029
1029
  const g = await Xe(l, c);
1030
- qs(i, g), i.downloadSplatCount += c, t += c * i.rowLength, i.downloadSize = t, r(A);
1030
+ Vs(i, g), i.downloadSplatCount += c, t += c * i.rowLength, i.downloadSize = t, r(A);
1031
1031
  }
1032
1032
  };
1033
1033
  await u();
1034
1034
  });
1035
1035
  }
1036
1036
  }
1037
- function qs(n, t) {
1037
+ function Vs(n, t) {
1038
1038
  let e = t.byteLength / O;
1039
1039
  const i = (n.dataSplatCount + e) * O;
1040
1040
  if (i > n.splatData.length) {
@@ -1056,8 +1056,8 @@ function qs(n, t) {
1056
1056
  const s = n.header?.MinTopY || 0;
1057
1057
  n.currentRadius = Math.sqrt(n.maxX * n.maxX + s * s + n.maxZ * n.maxZ), n.aabbCenter = new Q((n.minX + n.maxX) / 2, (n.minY + n.maxY) / 2, (n.minZ + n.maxZ) / 2), n.maxRadius = 0.5 * Math.sqrt(Math.pow(n.maxX - n.minX, 2) + Math.pow(n.maxY - n.minY, 2) + Math.pow(n.maxZ - n.minZ, 2)), n.metaMatrix && n.aabbCenter.applyMatrix4(n.metaMatrix);
1058
1058
  }
1059
- const qc = [ic, rc];
1060
- async function Vc(n) {
1059
+ const Wc = [ac, lc];
1060
+ async function $c(n) {
1061
1061
  try {
1062
1062
  n.status = P.Fetching;
1063
1063
  const t = n.abortController.signal, e = n.opts.fetchReload ? "reload" : "default", i = await fetch(n.opts.url, { mode: "cors", credentials: "omit", cache: e, signal: t });
@@ -1066,7 +1066,7 @@ async function Vc(n) {
1066
1066
  return;
1067
1067
  }
1068
1068
  const a = i.body.getReader(), o = parseInt(i.headers.get("content-length") || "0");
1069
- if (o - fe < Kr) {
1069
+ if (o - fe < Zr) {
1070
1070
  console.warn("spx data empty", n.opts.url), n.status === P.Fetching && (n.status = P.Invalid);
1071
1071
  return;
1072
1072
  }
@@ -1085,16 +1085,16 @@ async function Vc(n) {
1085
1085
  let v = 0;
1086
1086
  for (let m = 0; m < r.length; m++)
1087
1087
  v + r[m].byteLength < fe ? (c.set(r[m], v), v += r[m].byteLength) : (c.set(r[m].slice(0, fe - v), v), y = new Uint8Array(r[m].slice(fe - v)));
1088
- const x = await Hc(c);
1088
+ const x = await Yc(c);
1089
1089
  if (!x) {
1090
1090
  n.abortController.abort(), n.status === P.Fetching && (n.status = P.Invalid), console.error("invalid spx format");
1091
1091
  continue;
1092
1092
  }
1093
- if (n.meta.autoCut > 1 && !$c(x)) {
1093
+ if (n.meta.autoCut > 1 && !jc(x)) {
1094
1094
  n.abortController.abort(), n.status === P.Fetching && (n.status = P.Invalid), console.error("invalid LOD format");
1095
1095
  continue;
1096
1096
  }
1097
- if (n.header = x, n.CompressionRatio = Un(x.SplatCount, o), n.modelSplatCount = x.SplatCount, n.dataShDegree = x.ShDegree, n.aabbCenter = new Q((x.MinX + x.MaxX) / 2, (x.MinY + x.MaxY) / 2, (x.MinZ + x.MaxZ) / 2), n.maxRadius = 0.5 * Math.sqrt(Math.pow(x.MaxX - x.MinX, 2) + Math.pow(x.MaxY - x.MinY, 2) + Math.pow(x.MaxZ - x.MinZ, 2)), n.metaMatrix && n.aabbCenter.applyMatrix4(n.metaMatrix), r = null, c = null, !qc.includes(x.ExclusiveId)) {
1097
+ if (n.header = x, n.CompressionRatio = Nn(x.SplatCount, o), n.modelSplatCount = x.SplatCount, n.dataShDegree = x.ShDegree, n.aabbCenter = new Q((x.MinX + x.MaxX) / 2, (x.MinY + x.MaxY) / 2, (x.MinZ + x.MaxZ) / 2), n.maxRadius = 0.5 * Math.sqrt(Math.pow(x.MaxX - x.MinX, 2) + Math.pow(x.MaxY - x.MinY, 2) + Math.pow(x.MaxZ - x.MinZ, 2)), n.metaMatrix && n.aabbCenter.applyMatrix4(n.metaMatrix), r = null, c = null, !Wc.includes(x.ExclusiveId)) {
1098
1098
  n.abortController.abort(), n.status = P.Invalid, console.error("Unrecognized format, creater id =", x.CreaterId, ", exclusive id =", x.ExclusiveId, x.Comment);
1099
1099
  continue;
1100
1100
  }
@@ -1109,45 +1109,45 @@ async function Vc(n) {
1109
1109
  const v = new Int32Array(D.slice(0, 4).buffer)[0];
1110
1110
  C = v < 0, f = Math.abs(v) >> 28 >>> 0, g = Math.abs(v) << 4 >>> 4;
1111
1111
  }
1112
- let E = h + y.byteLength;
1113
- if (d.push(y), E < g) {
1112
+ let w = h + y.byteLength;
1113
+ if (d.push(y), w < g) {
1114
1114
  h += y.byteLength;
1115
1115
  continue;
1116
1116
  }
1117
- for (; E >= g; ) {
1117
+ for (; w >= g; ) {
1118
1118
  let D = new Uint8Array(g), v = 0;
1119
1119
  for (let m = 0; m < d.length; m++)
1120
1120
  v + d[m].byteLength < g ? (D.set(d[m], v), v += d[m].byteLength) : (D.set(d[m].slice(0, g - v), v), y = new Uint8Array(d[m].slice(g - v)));
1121
- C && (f === 0 ? D = await $o(D) : f === 1 ? D = await _c(D) : console.error("unsuported compress type:", f));
1121
+ C && (f === 0 ? D = await jo(D) : f === 1 ? D = await Pc(D) : console.error("unsuported compress type:", f));
1122
1122
  const x = await vt(D, n.header);
1123
1123
  if (!x.success) {
1124
1124
  console.error("spx block data parser failed. block format:", x.blockFormat), n.abortController.abort(), n.status = P.Invalid;
1125
1125
  break;
1126
1126
  }
1127
1127
  if (x.isSplat)
1128
- n.downloadSplatCount += x.splatCount, Wc(n, x.datas);
1128
+ n.downloadSplatCount += x.splatCount, Jc(n, x.datas);
1129
1129
  else {
1130
1130
  const m = Math.min(n.fetchLimit, n.modelSplatCount);
1131
1131
  if (x.isSh23) {
1132
1132
  if (n.sh12Count + x.splatCount > m) {
1133
- const w = m - n.sh12Count;
1134
- n.sh12Data.push(x.datas.slice(0, w * 16)), n.sh12Count += w;
1133
+ const E = m - n.sh12Count;
1134
+ n.sh12Data.push(x.datas.slice(0, E * 16)), n.sh12Count += E;
1135
1135
  } else
1136
1136
  n.sh12Data.push(x.datas), n.sh12Count += x.splatCount;
1137
1137
  if (n.sh3Count + x.splatCount > m) {
1138
- const w = m - n.sh3Count;
1139
- n.sh3Data.push(x.dataSh3.slice(0, w * 16)), n.sh3Count += w;
1138
+ const E = m - n.sh3Count;
1139
+ n.sh3Data.push(x.dataSh3.slice(0, E * 16)), n.sh3Count += E;
1140
1140
  } else
1141
1141
  n.sh3Data.push(x.dataSh3), n.sh3Count += x.splatCount;
1142
1142
  } else if (x.isSh3)
1143
1143
  if (n.sh3Count + x.splatCount > m) {
1144
- const w = m - n.sh3Count;
1145
- n.sh3Data.push(x.datas.slice(0, w * 16)), n.sh3Count += w;
1144
+ const E = m - n.sh3Count;
1145
+ n.sh3Data.push(x.datas.slice(0, E * 16)), n.sh3Count += E;
1146
1146
  } else
1147
1147
  n.sh3Data.push(x.datas), n.sh3Count += x.splatCount;
1148
1148
  else if (n.sh12Count + x.splatCount > m) {
1149
- const w = m - n.sh12Count;
1150
- n.sh12Data.push(x.datas.slice(0, w * 16)), n.sh12Count += w;
1149
+ const E = m - n.sh12Count;
1150
+ n.sh12Data.push(x.datas.slice(0, E * 16)), n.sh12Count += E;
1151
1151
  } else
1152
1152
  n.sh12Data.push(x.datas), n.sh12Count += x.splatCount;
1153
1153
  }
@@ -1156,7 +1156,7 @@ async function Vc(n) {
1156
1156
  break;
1157
1157
  } else {
1158
1158
  const m = new Int32Array(y.slice(0, 4).buffer)[0];
1159
- C = m < 0, f = Math.abs(m) >> 28 >>> 0, g = Math.abs(m) << 4 >>> 4, y = y.slice(4), E = y.byteLength, d = [y], h = y.byteLength;
1159
+ C = m < 0, f = Math.abs(m) >> 28 >>> 0, g = Math.abs(m) << 4 >>> 4, y = y.slice(4), w = y.byteLength, d = [y], h = y.byteLength;
1160
1160
  }
1161
1161
  }
1162
1162
  const b = n.fetchLimit;
@@ -1168,7 +1168,7 @@ async function Vc(n) {
1168
1168
  n.status === P.Fetching && (n.status = P.FetchDone);
1169
1169
  }
1170
1170
  }
1171
- function Wc(n, t) {
1171
+ function Jc(n, t) {
1172
1172
  let e = !!n.meta.autoCut, i = t.byteLength / 32;
1173
1173
  const a = 4096;
1174
1174
  if (!e) {
@@ -1213,17 +1213,17 @@ function Wc(n, t) {
1213
1213
  b.set(f.splatData, 0), f.splatData = b;
1214
1214
  }
1215
1215
  f.minX = Math.min(f.minX, l), f.maxX = Math.max(f.maxX, l), f.minY = Math.min(f.minY, u), f.maxY = Math.max(f.maxY, u), f.minZ = Math.min(f.minZ, g), f.maxZ = Math.max(f.maxZ, g), f.center = new Q((f.maxX + f.minX) / 2, (f.maxY + f.minY) / 2, (f.maxZ + f.minZ) / 2), n.metaMatrix && f.center.applyMatrix4(n.metaMatrix);
1216
- const p = f.maxX - f.minX, y = f.maxY - f.minY, E = f.maxZ - f.minZ;
1217
- f.radius = Math.sqrt(p * p + y * y + E * E) / 2, n.metaMatrix && (f.radius *= n.metaMatrix.getMaxScaleOnAxis()), f.splatData.set(t.slice(c * O, c * O + O), f.splatCount++ * O);
1216
+ const p = f.maxX - f.minX, y = f.maxY - f.minY, w = f.maxZ - f.minZ;
1217
+ f.radius = Math.sqrt(p * p + y * y + w * w) / 2, n.metaMatrix && (f.radius *= n.metaMatrix.getMaxScaleOnAxis()), f.splatData.set(t.slice(c * O, c * O + O), f.splatCount++ * O);
1218
1218
  }
1219
1219
  n.dataSplatCount++;
1220
1220
  }
1221
1221
  }
1222
- function $c(n) {
1222
+ function jc(n) {
1223
1223
  return ((n?.Flag1 || 0) & 128) > 0;
1224
1224
  }
1225
- const X = yt ? 20480 : 51200, ai = 16, Vs = 511;
1226
- async function Jc(n) {
1225
+ const X = yt ? 20480 : 51200, oi = 16, Ws = 511;
1226
+ async function Kc(n) {
1227
1227
  try {
1228
1228
  n.status = P.Fetching;
1229
1229
  const a = n.abortController.signal, o = n.opts.fetchReload ? "reload" : "default", s = await fetch(n.opts.url, { mode: "cors", credentials: "omit", cache: o, signal: a });
@@ -1239,25 +1239,25 @@ async function Jc(n) {
1239
1239
  if (g) break;
1240
1240
  A.set(h, n.downloadSize), n.downloadSize += h.length;
1241
1241
  }
1242
- const l = await $o(A);
1242
+ const l = await jo(A);
1243
1243
  if (!l || l.length < 16) {
1244
1244
  console.error("Invalid spz format"), n.status = P.Invalid;
1245
1245
  return;
1246
1246
  }
1247
1247
  const u = i(l);
1248
- n.CompressionRatio = Un(u.numPoints, c), n.spzVersion = u.version, n.modelSplatCount = u.numPoints, n.dataShDegree = u.shDegree, n.splatData = new Uint8Array(Math.min(n.modelSplatCount, n.fetchLimit) * 32), await t(u, n, l);
1248
+ n.CompressionRatio = Nn(u.numPoints, c), n.spzVersion = u.version, n.modelSplatCount = u.numPoints, n.dataShDegree = u.shDegree, n.splatData = new Uint8Array(Math.min(n.modelSplatCount, n.fetchLimit) * 32), await t(u, n, l);
1249
1249
  } catch (a) {
1250
1250
  a.name === "AbortError" ? (n.opts.url, n.status === P.Fetching && (n.status = P.FetchAborted)) : (console.error(a), n.status === P.Fetching && (n.status = P.FetchFailed));
1251
1251
  } finally {
1252
1252
  n.status === P.Fetching && (n.status = P.FetchDone);
1253
1253
  }
1254
1254
  async function t(a, o, s) {
1255
- const r = a.numPoints * 9, c = a.numPoints, A = a.numPoints * 3, l = a.numPoints * 3, u = a.numPoints * (a.version == 2 ? 3 : 4), g = ai, h = g + r, d = h + c, C = d + A, f = C + l, p = f + u, y = Math.min(a.numPoints, o.fetchLimit), E = Math.ceil(y / X);
1256
- for (let b = 0; b < E; b++) {
1257
- let D = b < E - 1 ? X : y - b * X;
1255
+ const r = a.numPoints * 9, c = a.numPoints, A = a.numPoints * 3, l = a.numPoints * 3, u = a.numPoints * (a.version == 2 ? 3 : 4), g = oi, h = g + r, d = h + c, C = d + A, f = C + l, p = f + u, y = Math.min(a.numPoints, o.fetchLimit), w = Math.ceil(y / X);
1256
+ for (let b = 0; b < w; b++) {
1257
+ let D = b < w - 1 ? X : y - b * X;
1258
1258
  o.dataSplatCount + D > o.fetchLimit && (D = o.fetchLimit - o.dataSplatCount);
1259
1259
  const v = new Uint8Array(D * 20 + 8), x = new Uint32Array(2);
1260
- x[0] = D, x[1] = sc, v.set(new Uint8Array(x.buffer), 0);
1260
+ x[0] = D, x[1] = oc, v.set(new Uint8Array(x.buffer), 0);
1261
1261
  let m = 8;
1262
1262
  for (let S = 0; S < D; S++)
1263
1263
  v[m++] = s[g + (b * X + S) * 9 + 0], v[m++] = s[g + (b * X + S) * 9 + 1], v[m++] = s[g + (b * X + S) * 9 + 2];
@@ -1272,15 +1272,15 @@ async function Jc(n) {
1272
1272
  for (let S = 0; S < D; S++)
1273
1273
  v[m++] = s[C + (b * X + S) * 3 + 2];
1274
1274
  for (let S = 0; S < D; S++)
1275
- v[m++] = oi(s[d + (b * X + S) * 3]);
1275
+ v[m++] = ri(s[d + (b * X + S) * 3]);
1276
1276
  for (let S = 0; S < D; S++)
1277
- v[m++] = oi(s[d + (b * X + S) * 3 + 1]);
1277
+ v[m++] = ri(s[d + (b * X + S) * 3 + 1]);
1278
1278
  for (let S = 0; S < D; S++)
1279
- v[m++] = oi(s[d + (b * X + S) * 3 + 2]);
1280
- const w = [];
1279
+ v[m++] = ri(s[d + (b * X + S) * 3 + 2]);
1280
+ const E = [];
1281
1281
  if (a.version == 2)
1282
1282
  for (let S = 0, L = 0, T = 0, R = 0; S < D; S++)
1283
- v[m++] = s[h + (b * X + S)], L = s[f + (b * X + S) * 3 + 0], T = s[f + (b * X + S) * 3 + 1], R = s[f + (b * X + S) * 3 + 2], w.push(jc(L, T, R));
1283
+ v[m++] = s[h + (b * X + S)], L = s[f + (b * X + S) * 3 + 0], T = s[f + (b * X + S) * 3 + 1], R = s[f + (b * X + S) * 3 + 2], E.push(Xc(L, T, R));
1284
1284
  else
1285
1285
  for (let S = 0, L = 0, T = 0, R = 0, B = 0; S < D; S++) {
1286
1286
  v[m++] = s[h + (b * X + S)], L = s[f + (b * X + S) * 4 + 0], T = s[f + (b * X + S) * 4 + 1], R = s[f + (b * X + S) * 4 + 2], B = s[f + (b * X + S) * 4 + 3];
@@ -1288,22 +1288,22 @@ async function Jc(n) {
1288
1288
  let z = k, F = 0, H = [];
1289
1289
  for (let G = 3; G >= 0; G--)
1290
1290
  if (G !== U) {
1291
- const q = z & Vs, V = (z >> 9 & 1) > 0;
1292
- H[G] = Math.SQRT1_2 * (q / Vs), V && (H[G] = -H[G]), F += H[G] * H[G], z = z >> 10;
1291
+ const q = z & Ws, V = (z >> 9 & 1) > 0;
1292
+ H[G] = Math.SQRT1_2 * (q / Ws), V && (H[G] = -H[G]), F += H[G] * H[G], z = z >> 10;
1293
1293
  }
1294
1294
  H[U] = Math.sqrt(Math.max(1 - F, 0));
1295
1295
  for (let G = 0; G < 4; G++)
1296
1296
  H[G] = j(H[G] * 128 + 128);
1297
- w.push(H);
1297
+ E.push(H);
1298
1298
  }
1299
1299
  for (let S = 0; S < D; S++)
1300
- v[m++] = w[S][0];
1300
+ v[m++] = E[S][0];
1301
1301
  for (let S = 0; S < D; S++)
1302
- v[m++] = w[S][1];
1302
+ v[m++] = E[S][1];
1303
1303
  for (let S = 0; S < D; S++)
1304
- v[m++] = w[S][2];
1304
+ v[m++] = E[S][2];
1305
1305
  for (let S = 0; S < D; S++)
1306
- v[m++] = w[S][3];
1306
+ v[m++] = E[S][3];
1307
1307
  const M = await vt(v);
1308
1308
  if (e(a, o, M.datas), a.shDegree === 1) {
1309
1309
  const S = new Uint8Array(D * 9 + 8), L = new Uint32Array(2);
@@ -1349,22 +1349,22 @@ async function Jc(n) {
1349
1349
  o.currentRadius = Math.sqrt(o.maxX * o.maxX + l * l + o.maxZ * o.maxZ), o.aabbCenter = new Q((o.minX + o.maxX) / 2, (o.minY + o.maxY) / 2, (o.minZ + o.maxZ) / 2), o.maxRadius = 0.5 * Math.sqrt(Math.pow(o.maxX - o.minX, 2) + Math.pow(o.maxY - o.minY, 2) + Math.pow(o.maxZ - o.minZ, 2)), o.metaMatrix && o.aabbCenter.applyMatrix4(o.metaMatrix);
1350
1350
  }
1351
1351
  function i(a) {
1352
- const o = a.slice(0, ai), s = new Uint32Array(o.buffer), r = {};
1352
+ const o = a.slice(0, oi), s = new Uint32Array(o.buffer), r = {};
1353
1353
  if (r.magic = s[0], r.version = s[1], r.numPoints = s[2], r.shDegree = o[12], r.fractionalBits = o[13], r.flags = o[14], r.reserved = o[15], r.magic !== 1347635022) throw new Error("[SPZ ERROR] header not found");
1354
1354
  if (r.version < 2 || r.version > 3) throw new Error("[SPZ ERROR] version not supported:" + r.version);
1355
1355
  if (r.shDegree > 3) throw new Error("[SPZ ERROR] unsupported SH degree:" + r.shDegree);
1356
1356
  if (r.fractionalBits !== 12) throw new Error("[SPZ ERROR] unsupported FractionalBits:" + r.fractionalBits);
1357
1357
  const c = r.version == 2 ? 19 : 20;
1358
1358
  let A = 0;
1359
- if (r.shDegree === 1 ? A = 9 : r.shDegree === 2 ? A = 24 : r.shDegree === 3 && (A = 45), a.length !== ai + r.numPoints * (c + A)) throw new Error("[SPZ ERROR] invalid spz data");
1359
+ if (r.shDegree === 1 ? A = 9 : r.shDegree === 2 ? A = 24 : r.shDegree === 3 && (A = 45), a.length !== oi + r.numPoints * (c + A)) throw new Error("[SPZ ERROR] invalid spz data");
1360
1360
  return r;
1361
1361
  }
1362
1362
  }
1363
- function oi(n) {
1363
+ function ri(n) {
1364
1364
  const t = (n - 127.5) / 38.25;
1365
1365
  return j((0.5 + Ut * t) * 255);
1366
1366
  }
1367
- function jc(n, t, e) {
1367
+ function Xc(n, t, e) {
1368
1368
  const i = n / 127.5 - 1, a = t / 127.5 - 1, o = e / 127.5 - 1, s = Math.sqrt(Math.max(0, 1 - (i * i + a * a + o * o)));
1369
1369
  return [j(s * 128 + 128), j(i * 128 + 128), j(a * 128 + 128), j(o * 128 + 128)];
1370
1370
  }
@@ -1372,7 +1372,7 @@ async function Xt(n, t) {
1372
1372
  if (!n) return new Uint8Array(0);
1373
1373
  const e = new AbortController(), i = e.signal;
1374
1374
  try {
1375
- t?.fire(Xi);
1375
+ t?.fire(Zi);
1376
1376
  const a = await fetch(n, { mode: "cors", credentials: "omit", cache: "reload", signal: i });
1377
1377
  if (a.status != 200)
1378
1378
  return console.warn(`fetch error: ${a.status}`), null;
@@ -1381,7 +1381,7 @@ async function Xt(n, t) {
1381
1381
  for (; ; ) {
1382
1382
  let { done: A, value: l } = await o.read();
1383
1383
  if (A) break;
1384
- r.set(l, c), c += l.length, t?.fire(Zi, 100 * c / s);
1384
+ r.set(l, c), c += l.length, t?.fire(ts, 100 * c / s);
1385
1385
  }
1386
1386
  return r;
1387
1387
  } catch (a) {
@@ -1389,8 +1389,8 @@ async function Xt(n, t) {
1389
1389
  }
1390
1390
  return null;
1391
1391
  }
1392
- const Ws = yt ? 20480 : 51200, me = Math.sqrt(2);
1393
- async function Kc(n) {
1392
+ const $s = yt ? 20480 : 51200, me = Math.sqrt(2);
1393
+ async function Zc(n) {
1394
1394
  try {
1395
1395
  if (n.status = P.Fetching, n.opts.url.startsWith("blob:") || n.opts.url.endsWith(".sog")) {
1396
1396
  n.status = P.Fetching;
@@ -1407,8 +1407,8 @@ async function Kc(n) {
1407
1407
  if (l) break;
1408
1408
  s.set(u, n.downloadSize), n.downloadSize += u.length;
1409
1409
  }
1410
- const r = Nc(s), c = JSON.parse(zc(r.get("meta.json"))), A = c.count || c.means.shape[0];
1411
- n.modelSplatCount = A, n.CompressionRatio = Un(A, o), n.sogVersion = c.version ? c.version : 1, await $s(n, r, c);
1410
+ const r = Hc(s), c = JSON.parse(Oc(r.get("meta.json"))), A = c.count || c.means.shape[0];
1411
+ n.modelSplatCount = A, n.CompressionRatio = Nn(A, o), n.sogVersion = c.version ? c.version : 1, await Js(n, r, c);
1412
1412
  } else {
1413
1413
  const t = await fetch(n.opts.url, { mode: "cors", credentials: "omit", cache: "reload" });
1414
1414
  if (t.status != 200) return console.error(`fetch error: ${t.status}`);
@@ -1428,18 +1428,18 @@ async function Kc(n) {
1428
1428
  i[i.length - 1] = f;
1429
1429
  const p = i.join("/"), y = e.shN ? e.shN.files[1] : "shN_labels.webp";
1430
1430
  i[i.length - 1] = y;
1431
- const E = i.join("/"), [b, D, v, x, m, w, M] = await Promise.all([
1431
+ const w = i.join("/"), [b, D, v, x, m, E, M] = await Promise.all([
1432
1432
  Xt(r),
1433
1433
  Xt(A),
1434
1434
  Xt(u),
1435
1435
  Xt(h),
1436
1436
  Xt(C),
1437
1437
  Xt(e.shN ? p : ""),
1438
- Xt(e.shN ? E : "")
1438
+ Xt(e.shN ? w : "")
1439
1439
  ]);
1440
- a.set(s, b), a.set(c, D), a.set(l, v), a.set(g, x), a.set(d, m), a.set(f, w), a.set(y, M);
1441
- const S = JSON.stringify(e).length + b.length + D.length + v.length + x.length + m.length + w.length + M.length;
1442
- n.fileSize = S, n.downloadSize = S, n.watermarkData = new Uint8Array(0), n.CompressionRatio = Un(o, S), n.sogVersion = e.version ? e.version : 1, await $s(n, a, e);
1440
+ a.set(s, b), a.set(c, D), a.set(l, v), a.set(g, x), a.set(d, m), a.set(f, E), a.set(y, M);
1441
+ const S = JSON.stringify(e).length + b.length + D.length + v.length + x.length + m.length + E.length + M.length;
1442
+ n.fileSize = S, n.downloadSize = S, n.watermarkData = new Uint8Array(0), n.CompressionRatio = Nn(o, S), n.sogVersion = e.version ? e.version : 1, await Js(n, a, e);
1443
1443
  }
1444
1444
  } catch (t) {
1445
1445
  t.name === "AbortError" ? (n.opts.url, n.status === P.Fetching && (n.status = P.FetchAborted)) : (console.error(t), n.status === P.Fetching && (n.status = P.FetchFailed));
@@ -1447,17 +1447,17 @@ async function Kc(n) {
1447
1447
  n.status === P.Fetching && (n.status = P.FetchDone);
1448
1448
  }
1449
1449
  }
1450
- async function $s(n, t, e) {
1450
+ async function Js(n, t, e) {
1451
1451
  const i = !e.version, a = i ? e.means.shape[0] : e.count, o = Math.min(a, n.fetchLimit), s = e.shN ? 3 : 0, r = new Uint8Array(o * vn);
1452
1452
  n.modelSplatCount = a, n.dataShDegree = s, n.splatData = r;
1453
1453
  const { rgba: c } = await Et(t.get(e.means.files[0])), { rgba: A } = await Et(t.get(e.means.files[1])), { rgba: l } = await Et(t.get(e.scales.files[0])), { rgba: u } = await Et(t.get(e.quats.files[0])), { rgba: g } = await Et(t.get(e.sh0.files[0])), { rgba: h, width: d } = e.shN ? await Et(t.get(e.shN.files[0])) : { rgba: null, width: 0 }, { rgba: C } = e.shN ? await Et(t.get(e.shN.files[1])) : { rgba: null };
1454
1454
  for (; o > n.dataSplatCount; ) {
1455
- const E = i ? await f(n.dataSplatCount) : await p(n.dataSplatCount);
1456
- n.splatData.set(E.slice(0), n.dataSplatCount * O), y(n, E), n.dataSplatCount += E.byteLength / O, n.downloadSplatCount = n.dataSplatCount;
1455
+ const w = i ? await f(n.dataSplatCount) : await p(n.dataSplatCount);
1456
+ n.splatData.set(w.slice(0), n.dataSplatCount * O), y(n, w), n.dataSplatCount += w.byteLength / O, n.downloadSplatCount = n.dataSplatCount;
1457
1457
  }
1458
- async function f(E) {
1459
- const b = Math.min(E + Ws, o), D = b - E, v = new Uint8Array(D * vn), x = new Float32Array(v.buffer);
1460
- for (let m = E, w = 0; m < b; m++) {
1458
+ async function f(w) {
1459
+ const b = Math.min(w + $s, o), D = b - w, v = new Uint8Array(D * vn), x = new Float32Array(v.buffer);
1460
+ for (let m = w, E = 0; m < b; m++) {
1461
1461
  let M = (A[m * 4 + 0] << 8 | c[m * 4 + 0]) / 65535, S = (A[m * 4 + 1] << 8 | c[m * 4 + 1]) / 65535, L = (A[m * 4 + 2] << 8 | c[m * 4 + 2]) / 65535, T = e.means.mins[0] + (e.means.maxs[0] - e.means.mins[0]) * M, R = e.means.mins[1] + (e.means.maxs[1] - e.means.mins[1]) * S, B = e.means.mins[2] + (e.means.maxs[2] - e.means.mins[2]) * L;
1462
1462
  T = Math.sign(T) * (Math.exp(Math.abs(T)) - 1), R = Math.sign(R) * (Math.exp(Math.abs(R)) - 1), B = Math.sign(B) * (Math.exp(Math.abs(B)) - 1);
1463
1463
  let k = l[m * 4 + 0] / 255, U = l[m * 4 + 1] / 255, z = l[m * 4 + 2] / 255;
@@ -1465,18 +1465,18 @@ async function $s(n, t, e) {
1465
1465
  let F = (u[m * 4 + 0] / 255 - 0.5) * me, H = (u[m * 4 + 1] / 255 - 0.5) * me, G = (u[m * 4 + 2] / 255 - 0.5) * me, q = Math.sqrt(Math.max(0, 1 - F * F - H * H - G * G)), V = u[m * 4 + 3] - 252, $, N, rt, st;
1466
1466
  V == 0 ? ($ = q, N = F, rt = H, st = G) : V == 1 ? ($ = F, N = q, rt = H, st = G) : V == 2 ? ($ = F, N = H, rt = q, st = G) : ($ = F, N = H, rt = G, st = q);
1467
1467
  let Rt = e.sh0.mins[0] + (e.sh0.maxs[0] - e.sh0.mins[0]) * (g[m * 4 + 0] / 255), Dt = e.sh0.mins[1] + (e.sh0.maxs[1] - e.sh0.mins[1]) * (g[m * 4 + 1] / 255), W = e.sh0.mins[2] + (e.sh0.maxs[2] - e.sh0.mins[2]) * (g[m * 4 + 2] / 255), K = e.sh0.mins[3] + (e.sh0.maxs[3] - e.sh0.mins[3]) * (g[m * 4 + 3] / 255);
1468
- x[w * 8 + 0] = T, x[w * 8 + 1] = R, x[w * 8 + 2] = B, x[w * 8 + 3] = k, x[w * 8 + 4] = U, x[w * 8 + 5] = z, v[w * 32 + 24] = j((0.5 + Ut * Rt) * 255), v[w * 32 + 25] = j((0.5 + Ut * Dt) * 255), v[w * 32 + 26] = j((0.5 + Ut * W) * 255), v[w * 32 + 27] = j(1 / (1 + Math.exp(-K)) * 255), v[w * 32 + 28] = j($ * 128 + 128), v[w * 32 + 29] = j(N * 128 + 128), v[w * 32 + 30] = j(rt * 128 + 128), v[w * 32 + 31] = j(st * 128 + 128), w++;
1468
+ x[E * 8 + 0] = T, x[E * 8 + 1] = R, x[E * 8 + 2] = B, x[E * 8 + 3] = k, x[E * 8 + 4] = U, x[E * 8 + 5] = z, v[E * 32 + 24] = j((0.5 + Ut * Rt) * 255), v[E * 32 + 25] = j((0.5 + Ut * Dt) * 255), v[E * 32 + 26] = j((0.5 + Ut * W) * 255), v[E * 32 + 27] = j(1 / (1 + Math.exp(-K)) * 255), v[E * 32 + 28] = j($ * 128 + 128), v[E * 32 + 29] = j(N * 128 + 128), v[E * 32 + 30] = j(rt * 128 + 128), v[E * 32 + 31] = j(st * 128 + 128), E++;
1469
1469
  }
1470
1470
  if (s > 0) {
1471
1471
  const m = new Uint32Array(2);
1472
1472
  m[0] = D, m[1] = Yt;
1473
- const w = new Uint8Array(8 + D * 24);
1474
- w.set(new Uint8Array(m.buffer), 0);
1473
+ const E = new Uint8Array(8 + D * 24);
1474
+ E.set(new Uint8Array(m.buffer), 0);
1475
1475
  const M = new Uint32Array(2);
1476
1476
  M[0] = D, M[1] = ge;
1477
1477
  const S = new Uint8Array(8 + D * 21);
1478
1478
  S.set(new Uint8Array(M.buffer), 0);
1479
- for (let R = E, B = 0; R < b; R++) {
1479
+ for (let R = w, B = 0; R < b; R++) {
1480
1480
  const k = C[R * 4 + 0] + (C[R * 4 + 1] << 8), U = (k & 63) * 15, F = (k >> 6) * d + U, H = new Uint8Array(9), G = new Uint8Array(15), q = new Uint8Array(21);
1481
1481
  let V;
1482
1482
  for (let $ = 0; $ < 3; $++) {
@@ -1487,35 +1487,35 @@ async function $s(n, t, e) {
1487
1487
  for (let N = 0; N < 7; N++)
1488
1488
  V = (e.shN.maxs - e.shN.mins) * h[(F + 8 + N) * 4 + $] / 255 + e.shN.mins, q[N * 3 + $] = j(Math.round(V * 128) + 128);
1489
1489
  }
1490
- w.set(H, 8 + B * 24), w.set(G, 8 + B * 24 + 9), S.set(q, 8 + B * 21), B++;
1490
+ E.set(H, 8 + B * 24), E.set(G, 8 + B * 24 + 9), S.set(q, 8 + B * 21), B++;
1491
1491
  }
1492
- const L = await vt(w);
1492
+ const L = await vt(E);
1493
1493
  n.sh12Data.push(L.datas);
1494
1494
  const T = await vt(S);
1495
1495
  n.sh3Data.push(T.datas);
1496
1496
  }
1497
1497
  return await Xe(v, D);
1498
1498
  }
1499
- async function p(E) {
1500
- const b = Math.min(E + Ws, o), D = b - E, v = new Uint8Array(D * vn), x = new Float32Array(v.buffer);
1501
- for (let m = E, w = 0; m < b; m++) {
1499
+ async function p(w) {
1500
+ const b = Math.min(w + $s, o), D = b - w, v = new Uint8Array(D * vn), x = new Float32Array(v.buffer);
1501
+ for (let m = w, E = 0; m < b; m++) {
1502
1502
  let M = (A[m * 4 + 0] << 8 | c[m * 4 + 0]) / 65535, S = (A[m * 4 + 1] << 8 | c[m * 4 + 1]) / 65535, L = (A[m * 4 + 2] << 8 | c[m * 4 + 2]) / 65535, T = e.means.mins[0] + (e.means.maxs[0] - e.means.mins[0]) * M, R = e.means.mins[1] + (e.means.maxs[1] - e.means.mins[1]) * S, B = e.means.mins[2] + (e.means.maxs[2] - e.means.mins[2]) * L;
1503
1503
  T = Math.sign(T) * (Math.exp(Math.abs(T)) - 1), R = Math.sign(R) * (Math.exp(Math.abs(R)) - 1), B = Math.sign(B) * (Math.exp(Math.abs(B)) - 1);
1504
1504
  let k = Math.exp(e.scales.codebook[l[m * 4 + 0]]), U = Math.exp(e.scales.codebook[l[m * 4 + 1]]), z = Math.exp(e.scales.codebook[l[m * 4 + 2]]), F = (u[m * 4 + 0] / 255 - 0.5) * me, H = (u[m * 4 + 1] / 255 - 0.5) * me, G = (u[m * 4 + 2] / 255 - 0.5) * me, q = Math.sqrt(Math.max(0, 1 - F * F - H * H - G * G)), V = u[m * 4 + 3] - 252, $, N, rt, st;
1505
1505
  V == 0 ? ($ = q, N = F, rt = H, st = G) : V == 1 ? ($ = F, N = q, rt = H, st = G) : V == 2 ? ($ = F, N = H, rt = q, st = G) : ($ = F, N = H, rt = G, st = q);
1506
1506
  let Rt = e.sh0.codebook[g[m * 4 + 0]], Dt = e.sh0.codebook[g[m * 4 + 1]], W = e.sh0.codebook[g[m * 4 + 2]], K = g[m * 4 + 3];
1507
- x[w * 8 + 0] = T, x[w * 8 + 1] = R, x[w * 8 + 2] = B, x[w * 8 + 3] = k, x[w * 8 + 4] = U, x[w * 8 + 5] = z, v[w * 32 + 24] = j((0.5 + Ut * Rt) * 255), v[w * 32 + 25] = j((0.5 + Ut * Dt) * 255), v[w * 32 + 26] = j((0.5 + Ut * W) * 255), v[w * 32 + 27] = K, v[w * 32 + 28] = j($ * 128 + 128), v[w * 32 + 29] = j(N * 128 + 128), v[w * 32 + 30] = j(rt * 128 + 128), v[w * 32 + 31] = j(st * 128 + 128), w++;
1507
+ x[E * 8 + 0] = T, x[E * 8 + 1] = R, x[E * 8 + 2] = B, x[E * 8 + 3] = k, x[E * 8 + 4] = U, x[E * 8 + 5] = z, v[E * 32 + 24] = j((0.5 + Ut * Rt) * 255), v[E * 32 + 25] = j((0.5 + Ut * Dt) * 255), v[E * 32 + 26] = j((0.5 + Ut * W) * 255), v[E * 32 + 27] = K, v[E * 32 + 28] = j($ * 128 + 128), v[E * 32 + 29] = j(N * 128 + 128), v[E * 32 + 30] = j(rt * 128 + 128), v[E * 32 + 31] = j(st * 128 + 128), E++;
1508
1508
  }
1509
1509
  if (s > 0) {
1510
1510
  const m = new Uint32Array(2);
1511
1511
  m[0] = D, m[1] = Yt;
1512
- const w = new Uint8Array(8 + D * 24);
1513
- w.set(new Uint8Array(m.buffer), 0);
1512
+ const E = new Uint8Array(8 + D * 24);
1513
+ E.set(new Uint8Array(m.buffer), 0);
1514
1514
  const M = new Uint32Array(2);
1515
1515
  M[0] = D, M[1] = ge;
1516
1516
  const S = new Uint8Array(8 + D * 21);
1517
1517
  S.set(new Uint8Array(M.buffer), 0);
1518
- for (let R = E, B = 0; R < b; R++) {
1518
+ for (let R = w, B = 0; R < b; R++) {
1519
1519
  const k = C[R * 4 + 0] + (C[R * 4 + 1] << 8), U = (k & 63) * 15, F = (k >> 6) * d + U, H = new Uint8Array(9), G = new Uint8Array(15), q = new Uint8Array(21);
1520
1520
  let V;
1521
1521
  for (let $ = 0; $ < 3; $++) {
@@ -1526,43 +1526,43 @@ async function $s(n, t, e) {
1526
1526
  for (let N = 0; N < 7; N++)
1527
1527
  V = e.shN.codebook[h[(F + 8 + N) * 4 + $]], q[N * 3 + $] = j(Math.round(V * 128) + 128);
1528
1528
  }
1529
- w.set(H, 8 + B * 24), w.set(G, 8 + B * 24 + 9), S.set(q, 8 + B * 21), B++;
1529
+ E.set(H, 8 + B * 24), E.set(G, 8 + B * 24 + 9), S.set(q, 8 + B * 21), B++;
1530
1530
  }
1531
- const L = await vt(w);
1531
+ const L = await vt(E);
1532
1532
  n.sh12Data.push(L.datas);
1533
1533
  const T = await vt(S);
1534
1534
  n.sh3Data.push(T.datas);
1535
1535
  }
1536
1536
  return await Xe(v, D);
1537
1537
  }
1538
- function y(E, b) {
1538
+ function y(w, b) {
1539
1539
  const D = b.byteLength / O, v = new Float32Array(b.buffer);
1540
- for (let m = 0, w = 0, M = 0, S = 0; m < D; m++)
1541
- w = v[m * 8], M = v[m * 8 + 1], S = v[m * 8 + 2], E.minX = Math.min(E.minX, w), E.maxX = Math.max(E.maxX, w), E.minY = Math.min(E.minY, M), E.maxY = Math.max(E.maxY, M), E.minZ = Math.min(E.minZ, S), E.maxZ = Math.max(E.maxZ, S);
1540
+ for (let m = 0, E = 0, M = 0, S = 0; m < D; m++)
1541
+ E = v[m * 8], M = v[m * 8 + 1], S = v[m * 8 + 2], w.minX = Math.min(w.minX, E), w.maxX = Math.max(w.maxX, E), w.minY = Math.min(w.minY, M), w.maxY = Math.max(w.maxY, M), w.minZ = Math.min(w.minZ, S), w.maxZ = Math.max(w.maxZ, S);
1542
1542
  const x = 0;
1543
- E.currentRadius = Math.sqrt(E.maxX * E.maxX + x * x + E.maxZ * E.maxZ), E.aabbCenter = new Q((E.minX + E.maxX) / 2, (E.minY + E.maxY) / 2, (E.minZ + E.maxZ) / 2), E.maxRadius = 0.5 * Math.sqrt(Math.pow(E.maxX - E.minX, 2) + Math.pow(E.maxY - E.minY, 2) + Math.pow(E.maxZ - E.minZ, 2)), E.metaMatrix && E.aabbCenter.applyMatrix4(E.metaMatrix);
1543
+ w.currentRadius = Math.sqrt(w.maxX * w.maxX + x * x + w.maxZ * w.maxZ), w.aabbCenter = new Q((w.minX + w.maxX) / 2, (w.minY + w.maxY) / 2, (w.minZ + w.maxZ) / 2), w.maxRadius = 0.5 * Math.sqrt(Math.pow(w.maxX - w.minX, 2) + Math.pow(w.maxY - w.minY, 2) + Math.pow(w.maxZ - w.minZ, 2)), w.metaMatrix && w.aabbCenter.applyMatrix4(w.metaMatrix);
1544
1544
  }
1545
1545
  }
1546
- function Xc(n) {
1547
- const t = (m, w, M) => n.on(m, w, M), e = (m, ...w) => n.fire(m, ...w);
1546
+ function tl(n) {
1547
+ const t = (m, E, M) => n.on(m, E, M), e = (m, ...E) => n.fire(m, ...E);
1548
1548
  let i, a = Date.now() + 36e5, o = null, s, r = { index: 0, version: 0 }, c = { index: 1, version: 0 }, A = !1;
1549
1549
  const l = e(Ct);
1550
1550
  let u = !1, g = 0;
1551
- t(Mo, () => s?.aabbCenter || new Q());
1551
+ t(Bo, () => s?.aabbCenter || new Q());
1552
1552
  let h;
1553
1553
  const d = new Promise((m) => h = m);
1554
1554
  t(Ee, async () => {
1555
1555
  const m = e(_);
1556
- let w = yt ? m.maxRenderCountOfMobile : m.maxRenderCountOfPc;
1556
+ let E = yt ? m.maxRenderCountOfMobile : m.maxRenderCountOfPc;
1557
1557
  if (!m.bigSceneMode) {
1558
1558
  let M = await d;
1559
- w = Math.min(M, w) + 10240;
1559
+ E = Math.min(M, E) + 10240;
1560
1560
  }
1561
- return w;
1561
+ return E;
1562
1562
  }), t(Ue, async (m) => {
1563
- const w = e(_);
1564
- if (w.bigSceneMode) return 1;
1565
- let M = yt ? w.maxRenderCountOfMobile : w.maxRenderCountOfPc, S = await d;
1563
+ const E = e(_);
1564
+ if (E.bigSceneMode) return 1;
1565
+ let M = yt ? E.maxRenderCountOfMobile : E.maxRenderCountOfPc, S = await d;
1566
1566
  if (M = Math.min(S, M), !s.dataShDegree) return 1;
1567
1567
  if (m >= 3) {
1568
1568
  if (s.dataShDegree < 3) return 1;
@@ -1572,23 +1572,23 @@ function Xc(n) {
1572
1572
  return 1;
1573
1573
  const L = 1024 * 2;
1574
1574
  return Math.ceil(M / L);
1575
- }), t(As, async () => e(_).bigSceneMode ? 0 : (await d, s.dataShDegree)), t(ss, async (m, w = !0) => {
1575
+ }), t(us, async () => e(_).bigSceneMode ? 0 : (await d, s.dataShDegree)), t(as, async (m, E = !0) => {
1576
1576
  try {
1577
1577
  await d;
1578
1578
  const M = !!s.header?.Flag2;
1579
- o = await e(Io, m, w, M), s && (s.textWatermarkVersion = Date.now());
1579
+ o = await e(wo, m, E, M), s && (s.textWatermarkVersion = Date.now());
1580
1580
  } catch {
1581
1581
  console.info("failed to generate watermark");
1582
1582
  }
1583
- }), t(vo, (m) => {
1583
+ }), t(xo, (m) => {
1584
1584
  l && (m ? (!c.active && (c.activeTime = Date.now()), c.active = !0) : (!r.active && (r.activeTime = Date.now()), r.active = !0));
1585
- }), t(bi, () => {
1585
+ }), t(Mi, () => {
1586
1586
  if (l) return r.version <= c.version ? r.xyz : c.xyz;
1587
1587
  if (s?.status === P.FetchDone || s?.status === P.FetchAborted) {
1588
1588
  if (s.activePoints && s.activePoints.length === void 0) return s.activePoints;
1589
- const m = {}, w = r.xyz;
1590
- for (let M = 0, S = w.length / 3, L = 0, T = 0, R = 0, B = ""; M < S; M++)
1591
- L = w[M * 3], T = w[M * 3 + 1], R = w[M * 3 + 2], B = `${Math.floor(L / 2) * 2 + 1},${Math.floor(T / 2) * 2 + 1},${Math.floor(R / 2) * 2 + 1}`, (m[B] = m[B] || []).push(L, T, R);
1589
+ const m = {}, E = r.xyz;
1590
+ for (let M = 0, S = E.length / 3, L = 0, T = 0, R = 0, B = ""; M < S; M++)
1591
+ L = E[M * 3], T = E[M * 3 + 1], R = E[M * 3 + 2], B = `${Math.floor(L / 2) * 2 + 1},${Math.floor(T / 2) * 2 + 1},${Math.floor(R / 2) * 2 + 1}`, (m[B] = m[B] || []).push(L, T, R);
1592
1592
  return s.activePoints = m;
1593
1593
  }
1594
1594
  return r.xyz;
@@ -1598,39 +1598,39 @@ function Xc(n) {
1598
1598
  if (s && (s.status === P.Invalid || s.status === P.FetchFailed))
1599
1599
  return e(_).viewerEvents?.fire(ht), e(He, 0) || e(it, { renderSplatCount: 0, visibleSplatCount: 0, modelSplatCount: 0 });
1600
1600
  if (!s || !s.downloadSize) return;
1601
- const w = s.status !== P.FetchReady && s.status !== P.Fetching;
1602
- if (b(w), w) {
1601
+ const E = s.status !== P.FetchReady && s.status !== P.Fetching;
1602
+ if (b(E), E) {
1603
1603
  const M = Math.min(s.fetchLimit, s.downloadSplatCount);
1604
1604
  M && !s.notifyFetchStopDone && (s.notifyFetchStopDone = !0) && e(He, M);
1605
1605
  } else
1606
- e(Zi, 100 * s.downloadSize / s.fileSize);
1606
+ e(ts, 100 * s.downloadSize / s.fileSize);
1607
1607
  s.dataSplatCount && (A || (A = !0, setTimeout(async () => {
1608
- m ? await p(w) : await f(w), A = !1;
1608
+ m ? await p(E) : await f(E), A = !1;
1609
1609
  })));
1610
1610
  }
1611
1611
  async function f(m) {
1612
1612
  if (i) return;
1613
- const w = r, M = await e(Ee), S = o;
1613
+ const E = r, M = await e(Ee), S = o;
1614
1614
  let L = s.dataSplatCount, T = m ? s.watermarkCount : 0, R = s.meta.showWatermark && m ? (S?.byteLength || 0) / 32 : 0;
1615
- if (s.renderSplatCount = L + T + R, s.renderSplatCount >= M && (s.renderSplatCount = M, T = 0, R = 0, L > M && (L = M)), e(it, { visibleSplatCount: s.renderSplatCount, modelSplatCount: s.modelSplatCount + R }), Date.now() - w.textureReadyTime < Jr || s.smallSceneUploadDone && s.lastTextWatermarkVersion == s.textWatermarkVersion) return;
1616
- if (!w.version) {
1617
- e(io, (s.header?.Flag2 ? s.header.MaxTopY : s.header?.MinTopY) || 0);
1615
+ if (s.renderSplatCount = L + T + R, s.renderSplatCount >= M && (s.renderSplatCount = M, T = 0, R = 0, L > M && (L = M)), e(it, { visibleSplatCount: s.renderSplatCount, modelSplatCount: s.modelSplatCount + R }), Date.now() - E.textureReadyTime < Kr || s.smallSceneUploadDone && s.lastTextWatermarkVersion == s.textWatermarkVersion) return;
1616
+ if (!E.version) {
1617
+ e(so, (s.header?.Flag2 ? s.header.MaxTopY : s.header?.MinTopY) || 0);
1618
1618
  let q = s.opts.format, V = " ";
1619
1619
  s.opts.format == "spx" ? (q = "spx v" + s.header.Version + (s.header.ExclusiveId ? (", " + s.header.ExclusiveId).substring(0, 5) : ""), V += s.CompressionRatio) : s.opts.format == "spz" ? (q = "spz v" + s.spzVersion, V += s.CompressionRatio) : s.opts.format == "sog" ? (q = "sog v" + s.sogVersion, V += s.CompressionRatio) : s.opts.format == "splat" && (V += s.CompressionRatio);
1620
1620
  const $ = " " + (s.fileSize / 1024 / 1024).toFixed(1) + "M";
1621
1621
  e(it, { scene: `small (${q}) ${V}${$}` });
1622
1622
  }
1623
- s.lastTextWatermarkVersion = s.textWatermarkVersion, w.textureReady = !1;
1623
+ s.lastTextWatermarkVersion = s.textWatermarkVersion, E.textureReady = !1;
1624
1624
  const B = 1024 * 2, k = Math.ceil(2 * M / B), U = new Uint32Array(B * k * 4), z = new Float32Array(U.buffer), F = new Uint8Array(U.buffer);
1625
1625
  F.set(s.splatData.slice(0, L * 32), 0), T && F.set(s.watermarkData.slice(0, T * 32), L * 32), R && F.set(S.slice(0, R * 32), (L + T) * 32);
1626
1626
  const H = new Float32Array(s.renderSplatCount * 3);
1627
1627
  for (let q = 0, V = 0; q < s.renderSplatCount; q++)
1628
1628
  H[q * 3] = z[q * 8], H[q * 3 + 1] = z[q * 8 + 1], H[q * 3 + 2] = z[q * 8 + 2];
1629
1629
  const G = Date.now();
1630
- if (w.version = G, w.txdata = U, w.xyz = H, w.renderSplatCount = s.renderSplatCount, w.visibleSplatCount = s.downloadSplatCount + R, w.modelSplatCount = s.downloadSplatCount + R, w.watermarkCount = T + R, w.minX = s.minX, w.maxX = s.maxX, w.minY = s.minY, w.maxY = s.maxY, w.minZ = s.minZ, w.maxZ = s.maxZ, s.meta.particleMode && !g && (g = performance.now(), e(Fn, g), e(ce, !1), e(Pn, 1)), s.maxRadius && e(To, s.maxRadius), e(ki, w, s.currentRadius, s.currentRadius), a = G, m && !s.smallSceneUploadDone) {
1631
- s.smallSceneUploadDone = !0, e(xo, s.sh12Data), e(So, s.sh3Data), s.sh12Data = null, s.sh3Data = null;
1630
+ if (E.version = G, E.txdata = U, E.xyz = H, E.renderSplatCount = s.renderSplatCount, E.visibleSplatCount = s.downloadSplatCount + R, E.modelSplatCount = s.downloadSplatCount + R, E.watermarkCount = T + R, E.minX = s.minX, E.maxX = s.maxX, E.minY = s.minY, E.maxY = s.maxY, E.minZ = s.minZ, E.maxZ = s.maxZ, s.meta.particleMode && !g && (g = performance.now(), e(Fn, g), e(ce, !1), e(Pn, 1)), s.maxRadius && e(Lo, s.maxRadius), e(Ti, E, s.currentRadius, s.currentRadius), a = G, m && !s.smallSceneUploadDone) {
1631
+ s.smallSceneUploadDone = !0, e(So, s.sh12Data), e(bo, s.sh3Data), s.sh12Data = null, s.sh3Data = null;
1632
1632
  const q = e(_);
1633
- e(bn, q.shDegree === void 0 ? 3 : q.shDegree), e(bi), s.meta.particleMode && setTimeout(() => {
1633
+ e(bn, q.shDegree === void 0 ? 3 : q.shDegree), e(Mi), s.meta.particleMode && setTimeout(() => {
1634
1634
  e(Fn, performance.now() + 5e3), e(Pn, 2), setTimeout(() => e(En, !0), 5e3);
1635
1635
  }, Math.max(5e3 + g - performance.now(), 0));
1636
1636
  }
@@ -1638,13 +1638,13 @@ function Xc(n) {
1638
1638
  }
1639
1639
  async function p(m) {
1640
1640
  if (i) return;
1641
- const w = await e(Ee), M = 1024 * 2, S = Math.ceil(2 * w / M), L = o, T = 0, R = (L?.byteLength || 0) / 32, B = w - T - R;
1641
+ const E = await e(Ee), M = 1024 * 2, S = Math.ceil(2 * E / M), L = o, T = 0, R = (L?.byteLength || 0) / 32, B = E - T - R;
1642
1642
  e(it, { modelSplatCount: s.downloadSplatCount + R });
1643
1643
  let k = r.version <= c.version ? r : c;
1644
- if (r.version && (!k.index && !c.active || k.index && !r.active) || Date.now() - k.activeTime < jr) return;
1644
+ if (r.version && (!k.index && !c.active || k.index && !r.active) || Date.now() - k.activeTime < Xr) return;
1645
1645
  if (m) {
1646
1646
  const W = e(_).viewerEvents;
1647
- if (W && !W.fire(Ki)) return;
1647
+ if (W && !W.fire(Xi)) return;
1648
1648
  }
1649
1649
  if (!k.version) {
1650
1650
  let W = s.opts.format, K = " ";
@@ -1655,9 +1655,9 @@ function Xc(n) {
1655
1655
  const U = Date.now();
1656
1656
  k.version = U, k.active = !1;
1657
1657
  let z = 0;
1658
- const F = [], H = e(Za), G = e(Lt), q = e(Ot);
1658
+ const F = [], H = e(to), G = e(Lt), q = e(Ot);
1659
1659
  for (const W of s.map.values())
1660
- E(H, G, q, W) && (F.push(W), W.currentRenderCnt = W.splatCount, z += W.splatCount);
1660
+ w(H, G, q, W) && (F.push(W), W.currentRenderCnt = W.splatCount, z += W.splatCount);
1661
1661
  e(it, { cuts: `${F.length} / ${s.map.size}` });
1662
1662
  const V = Math.min(B / z, 1);
1663
1663
  if (V > 0.95)
@@ -1683,8 +1683,8 @@ function Xc(n) {
1683
1683
  if (gt.splatCount - gt.currentRenderCnt >= K)
1684
1684
  gt.currentRenderCnt += K, K = 0;
1685
1685
  else {
1686
- const ys = gt.splatCount - gt.currentRenderCnt;
1687
- gt.currentRenderCnt += ys, K -= ys;
1686
+ const Is = gt.splatCount - gt.currentRenderCnt;
1687
+ gt.currentRenderCnt += Is, K -= Is;
1688
1688
  }
1689
1689
  }
1690
1690
  }
@@ -1697,15 +1697,15 @@ function Xc(n) {
1697
1697
  const Rt = st + T + R, Dt = new Float32Array(Rt * 3);
1698
1698
  for (let W = 0, K = 0; W < Rt; W++)
1699
1699
  Dt[W * 3] = N[W * 8], Dt[W * 3 + 1] = N[W * 8 + 1], Dt[W * 3 + 2] = N[W * 8 + 2];
1700
- k.txdata = $, k.xyz = Dt, k.renderSplatCount = Rt, k.visibleSplatCount = z + s.watermarkCount + R, k.modelSplatCount = s.downloadSplatCount + R, k.watermarkCount = T + R, k.minX = s.header.MinX, k.maxX = s.header.MaxX, k.minY = s.header.MinY, k.maxY = s.header.MaxY, k.minZ = s.header.MinZ, k.maxZ = s.header.MaxZ, e(ki, k), a = U, e(it, { visibleSplatCount: k.visibleSplatCount, modelSplatCount: k.modelSplatCount });
1700
+ k.txdata = $, k.xyz = Dt, k.renderSplatCount = Rt, k.visibleSplatCount = z + s.watermarkCount + R, k.modelSplatCount = s.downloadSplatCount + R, k.watermarkCount = T + R, k.minX = s.header.MinX, k.maxX = s.header.MaxX, k.minY = s.header.MinY, k.maxY = s.header.MaxY, k.minZ = s.header.MinZ, k.maxZ = s.header.MaxZ, e(Ti, k), a = U, e(it, { visibleSplatCount: k.visibleSplatCount, modelSplatCount: k.modelSplatCount });
1701
1701
  }
1702
- function y(m, w) {
1702
+ function y(m, E) {
1703
1703
  const M = m.map((T) => 1 / (T.distance + 1e-6)), S = M.reduce((T, R) => T + R, 0);
1704
1704
  let L = 0;
1705
1705
  if (m.forEach((T, R) => {
1706
- T.currentRenderCnt = Math.min(Math.floor(M[R] / S * w), T.splatCount), L += T.currentRenderCnt;
1707
- }), L < w) {
1708
- const T = w - L, R = m.map((k, U) => k.currentRenderCnt < k.splatCount ? M[U] : 0), B = R.reduce((k, U) => k + U, 0);
1706
+ T.currentRenderCnt = Math.min(Math.floor(M[R] / S * E), T.splatCount), L += T.currentRenderCnt;
1707
+ }), L < E) {
1708
+ const T = E - L, R = m.map((k, U) => k.currentRenderCnt < k.splatCount ? M[U] : 0), B = R.reduce((k, U) => k + U, 0);
1709
1709
  m.forEach((k, U) => {
1710
1710
  if (B > 0 && k.currentRenderCnt < k.splatCount) {
1711
1711
  const z = Math.min(
@@ -1717,8 +1717,8 @@ function Xc(n) {
1717
1717
  });
1718
1718
  }
1719
1719
  }
1720
- function E(m, w, M, S) {
1721
- if (S.distance = Math.max(S.center.distanceTo(w) - S.radius, 0), !S.distance || S.center.distanceTo(M) <= 2 * S.radius) return !0;
1720
+ function w(m, E, M, S) {
1721
+ if (S.distance = Math.max(S.center.distanceTo(E) - S.radius, 0), !S.distance || S.center.distanceTo(M) <= 2 * S.radius) return !0;
1722
1722
  const L = new Gt(S.center.x, S.center.y, S.center.z, 1).applyMatrix4(m), T = 3 * L.w;
1723
1723
  return !(L.z < -T || L.x < -T || L.x > T || L.y < -T || L.y > T);
1724
1724
  }
@@ -1726,12 +1726,12 @@ function Xc(n) {
1726
1726
  if (!u) {
1727
1727
  if (s.header) {
1728
1728
  u = !0;
1729
- const w = new Q(s.header.MinX, s.header.MinY, s.header.MinZ), M = new Q(s.header.MaxX, s.header.MaxY, s.header.MaxZ);
1730
- e(Ti, w.x, w.y, w.z, M.x, M.y, M.z, s.meta.showBoundBox, s);
1729
+ const E = new Q(s.header.MinX, s.header.MinY, s.header.MinZ), M = new Q(s.header.MaxX, s.header.MaxY, s.header.MaxZ);
1730
+ e(Li, E.x, E.y, E.z, M.x, M.y, M.z, s.meta.showBoundBox, s);
1731
1731
  } else if (m) {
1732
1732
  u = !0;
1733
- const w = new Q(s.minX, s.minY, s.minZ), M = new Q(s.maxX, s.maxY, s.maxZ);
1734
- e(Ti, w.x, w.y, w.z, M.x, M.y, M.z, s.meta.showBoundBox, s);
1733
+ const E = new Q(s.minX, s.minY, s.minZ), M = new Q(s.maxX, s.maxY, s.maxZ);
1734
+ e(Li, E.x, E.y, E.z, M.x, M.y, M.z, s.meta.showBoundBox, s);
1735
1735
  }
1736
1736
  }
1737
1737
  }
@@ -1740,62 +1740,62 @@ function Xc(n) {
1740
1740
  }
1741
1741
  function v(m) {
1742
1742
  if (m.opts.format === "spx")
1743
- Vc(m);
1743
+ $c(m);
1744
1744
  else if (m.opts.format === "splat")
1745
- Gc(m);
1745
+ Vc(m);
1746
1746
  else if (m.opts.format === "ply")
1747
- Yc(m);
1747
+ qc(m);
1748
1748
  else if (m.opts.format === "spz")
1749
- Jc(m);
1750
- else if (m.opts.format === "sog")
1751
1749
  Kc(m);
1750
+ else if (m.opts.format === "sog")
1751
+ Zc(m);
1752
1752
  else
1753
1753
  return !1;
1754
1754
  return !0;
1755
1755
  }
1756
- async function x(m, w) {
1756
+ async function x(m, E) {
1757
1757
  if (i) return;
1758
1758
  const M = e(_), S = yt ? M.maxRenderCountOfMobile : M.maxRenderCountOfPc, L = e(Ct);
1759
- if (m.fetchReload = Rc(w.updateDate || 0), s = new Wr(m, w), L && w.autoCut) {
1760
- const R = w.pcDownloadLimitSplatCount || tc, B = w.mobileDownloadLimitSplatCount || Zr, k = yt ? B : R;
1761
- s.fetchLimit = Math.min(w.autoCut * w.autoCut * S + S, k);
1759
+ if (m.fetchReload = Fc(E.updateDate || 0), s = new Jr(m, E), L && E.autoCut) {
1760
+ const R = E.pcDownloadLimitSplatCount || nc, B = E.mobileDownloadLimitSplatCount || ec, k = yt ? B : R;
1761
+ s.fetchLimit = Math.min(E.autoCut * E.autoCut * S + S, k);
1762
1762
  } else
1763
1763
  s.fetchLimit = S;
1764
1764
  const T = () => {
1765
1765
  if (!s || s.status == P.Invalid || s.status == P.FetchFailed)
1766
1766
  return h(0);
1767
- s.modelSplatCount > 0 ? (h(s.modelSplatCount), !s.meta.particleMode && s.dataSplatCount ? setTimeout(() => e(Ao), 5) : setTimeout(T, 10)) : setTimeout(T, 10);
1767
+ s.modelSplatCount > 0 ? (h(s.modelSplatCount), !s.meta.particleMode && s.dataSplatCount ? setTimeout(() => e(uo), 5) : setTimeout(T, 10)) : setTimeout(T, 10);
1768
1768
  };
1769
1769
  if (T(), !v(s)) {
1770
1770
  console.error("Unsupported format:", m.format), e(He, 0);
1771
1771
  return;
1772
1772
  }
1773
- e(Xi), e(it, { cuts: "" });
1773
+ e(Zi), e(it, { cuts: "" });
1774
1774
  }
1775
- t(oo, async (m, w) => await x(m, w)), t(ro, (m = 1e4) => Date.now() - a < m), t(co, () => D()), e(
1775
+ t(ro, async (m, E) => await x(m, E)), t(co, (m = 1e4) => Date.now() - a < m), t(lo, () => D()), e(
1776
1776
  Me,
1777
1777
  async () => await C(l),
1778
1778
  () => !i
1779
1779
  );
1780
1780
  }
1781
- var Yn = /* @__PURE__ */ ((n) => (n[n.ModelCenterCirccle = 1] = "ModelCenterCirccle", n[n.ScreenCenterCircle = 2] = "ScreenCenterCircle", n[n.ScreenMiddleToLeftRight = 3] = "ScreenMiddleToLeftRight", n[n.ScreenMiddleToTopBottom = 4] = "ScreenMiddleToTopBottom", n))(Yn || {});
1782
- const Js = "currentVisibleRadius", js = "currentLightRadius", Ks = "transitionEffect", ri = "splatShTexture12", Xs = "maxPixelDiameter", Zs = "minPixelDiameter", ci = "splatShTexture3", ta = "performanceNow", li = "performanceAct", Zc = "waterMarkColor", ea = "showWaterMark", na = "useSimilarExp", Ai = "splatTexture0", ui = "splatTexture1", ia = "particleMode", sa = "bigSceneMode", aa = "lightFactor", oa = "debugEffect", ra = "usingIndex", tl = "splatIndex", ca = "maxRadius", la = "flagValue", Aa = "pointMode", ua = "markPoint", ha = "shDegree", da = "viewport", ga = "minAlpha", fa = "focal", pa = "topY";
1781
+ var Gn = /* @__PURE__ */ ((n) => (n[n.ModelCenterCirccle = 1] = "ModelCenterCirccle", n[n.ScreenCenterCircle = 2] = "ScreenCenterCircle", n[n.ScreenMiddleToLeftRight = 3] = "ScreenMiddleToLeftRight", n[n.ScreenMiddleToTopBottom = 4] = "ScreenMiddleToTopBottom", n))(Gn || {});
1782
+ const js = "currentVisibleRadius", Ks = "currentLightRadius", Xs = "transitionEffect", ci = "splatShTexture12", Zs = "maxPixelDiameter", ta = "minPixelDiameter", li = "splatShTexture3", ea = "performanceNow", Ai = "performanceAct", el = "waterMarkColor", na = "showWaterMark", ia = "useSimilarExp", ui = "splatTexture0", hi = "splatTexture1", sa = "particleMode", aa = "bigSceneMode", oa = "lightFactor", ra = "debugEffect", ca = "usingIndex", nl = "splatIndex", la = "maxRadius", Aa = "flagValue", ua = "pointMode", ha = "markPoint", da = "shDegree", ga = "viewport", fa = "minAlpha", pa = "focal", ma = "topY";
1783
1783
  let J = 0;
1784
1784
  J++;
1785
- const ma = `$${J++}`, el = `$${J++}`;
1785
+ const Ca = `$${J++}`, il = `$${J++}`;
1786
1786
  J++;
1787
1787
  J++;
1788
1788
  J++;
1789
- const Ca = `$${J++}`, nl = `$${J++}`, ya = `$${J++}`, il = `$${J++}`, sl = `$${J++}`, al = `$${J++}`, ol = `$${J++}`, rl = `$${J++}`;
1789
+ const ya = `$${J++}`, sl = `$${J++}`, Ia = `$${J++}`, al = `$${J++}`, ol = `$${J++}`, rl = `$${J++}`, cl = `$${J++}`, ll = `$${J++}`;
1790
1790
  J++;
1791
- const cl = `$${J++}`, ll = `$${J++}`;
1791
+ const Al = `$${J++}`, ul = `$${J++}`;
1792
1792
  J++;
1793
- const Al = `$${J++}`;
1793
+ const hl = `$${J++}`;
1794
1794
  J++;
1795
- const ul = `$${J++}`;
1795
+ const dl = `$${J++}`;
1796
1796
  J++;
1797
- const hl = `$${J++}`, dl = `$${J++}`, gl = `$${J++}`, fl = `$${J++}`, pl = `$${J++}`, ml = `$${J++}`, Cl = `$${J++}`, yl = `$${J++}`, Il = `$${J++}`, wl = `$${J++}`, Ia = `$${J++}`, El = `$${J++}`, vl = `$${J++}`, Hi = `$${J++}`, wa = `$${J++}`, Ea = `$${J++}`;
1798
- var xl = `precision highp float;\r
1797
+ const gl = `$${J++}`, fl = `$${J++}`, pl = `$${J++}`, ml = `$${J++}`, Cl = `$${J++}`, yl = `$${J++}`, Il = `$${J++}`, wl = `$${J++}`, El = `$${J++}`, vl = `$${J++}`, wa = `$${J++}`, xl = `$${J++}`, Sl = `$${J++}`, Oi = `$${J++}`, Ea = `$${J++}`, va = `$${J++}`;
1798
+ var bl = `precision highp float;\r
1799
1799
  precision highp int;
1800
1800
 
1801
1801
  uniform highp usampler2D splatTexture0, splatTexture1, splatShTexture12, splatShTexture3;\r
@@ -2113,7 +2113,7 @@ void main() {\r
2113
2113
 
2114
2114
  vec2 v2Center = vec2(pos2d) / pos2d.w;
2115
2115
  gl_Position = vec4(v2Center + vPosition.x * majorAxis / viewport + vPosition.y * minorAxis / viewport, 1.0, 1.0);\r
2116
- }`, Sl = `precision highp float;
2116
+ }`, Ml = `precision highp float;
2117
2117
 
2118
2118
  uniform float lightFactor;\r
2119
2119
  uniform float minAlpha;\r
@@ -2145,65 +2145,65 @@ void main() {\r
2145
2145
 
2146
2146
  gl_FragColor = vec4(lightFactor * vColor.rgb, alpha);\r
2147
2147
  }`;
2148
- function bl(n) {
2148
+ function Bl(n) {
2149
2149
  let t = !1;
2150
2150
  const e = (h, d, C) => n.on(h, d, C), i = (h, ...d) => n.fire(h, ...d);
2151
2151
  let a = 0, o = 0;
2152
2152
  const s = [];
2153
2153
  let r = 0, c = 0, A = 0;
2154
- e(bo, () => A), e(Wn, () => {
2155
- }, !0), e($n, () => {
2154
+ e(Mo, () => A), e($n, () => {
2155
+ }, !0), e(Jn, () => {
2156
2156
  }, !0), e(on, () => {
2157
2157
  }, !0), e(rn, () => {
2158
- }, !0), e(Bs, async () => {
2159
- const h = new mi();
2158
+ }, !0), e(Qs, async () => {
2159
+ const h = new Ci();
2160
2160
  h.setIndex([0, 1, 2, 0, 2, 3]);
2161
2161
  const d = new Float32Array(4 * 3), C = new Ce(d, 3);
2162
2162
  h.setAttribute("position", C), C.setXYZ(0, -2, -2, 0), C.setXYZ(1, -2, 2, 0), C.setXYZ(2, 2, 2, 0), C.setXYZ(3, 2, -2, 0), C.needsUpdate = !0;
2163
- let f = new mi().copy(h);
2163
+ let f = new Ci().copy(h);
2164
2164
  const p = await i(Ee);
2165
2165
  if (t) return;
2166
- const y = new Uint32Array(p), E = new cr(y, 1, !1);
2167
- return E.setUsage(lr), E.needsUpdate = !0, f.setAttribute(tl, E), f.instanceCount = 0, e(ks, (b, D, v, x, m) => {
2168
- i(Ls, D), y.set(b, 0), E.clearUpdateRanges(), E.addUpdateRange(0, m), E.needsUpdate = !0, E.onUpload(() => {
2169
- i(vo, D), i(it, { renderSplatCount: m });
2166
+ const y = new Uint32Array(p), w = new Ar(y, 1, !1);
2167
+ return w.setUsage(ur), w.needsUpdate = !0, f.setAttribute(nl, w), f.instanceCount = 0, e(Ts, (b, D, v, x, m) => {
2168
+ i(Rs, D), y.set(b, 0), w.clearUpdateRanges(), w.addUpdateRange(0, m), w.needsUpdate = !0, w.onUpload(() => {
2169
+ i(xo, D), i(it, { renderSplatCount: m });
2170
2170
  }), f.instanceCount = m, i(et), i(it, { sortTime: `${v} / ${Date.now() - x}`, bucketBits: r, sortType: c });
2171
- }), e(Br, () => f), e(
2172
- Wn,
2171
+ }), e(Dr, () => f), e(
2172
+ $n,
2173
2173
  () => {
2174
- E.array = null, f.dispose();
2174
+ w.array = null, f.dispose();
2175
2175
  },
2176
2176
  !0
2177
2177
  ), f;
2178
- }), e(Qs, async () => {
2178
+ }), e(Ds, async () => {
2179
2179
  const h = await i(Ee);
2180
2180
  if (t) return;
2181
- const d = 1024 * 2, C = Math.ceil(2 * h / d), f = i(_), p = new Na({
2182
- uniforms: i(Ms),
2183
- vertexShader: xl,
2184
- fragmentShader: Sl,
2181
+ const d = 1024 * 2, C = Math.ceil(2 * h / d), f = i(_), p = new za({
2182
+ uniforms: i(Bs),
2183
+ vertexShader: bl,
2184
+ fragmentShader: Ml,
2185
2185
  transparent: !0,
2186
2186
  alphaTest: 1,
2187
- blending: Ar,
2187
+ blending: hr,
2188
2188
  depthTest: f.depthTest !== !1,
2189
2189
  // 是否启用深度测试。深度测试用于确保只有离相机更近的物体才会被渲染
2190
2190
  depthWrite: !1,
2191
2191
  // 是否将深度值写入深度缓冲区
2192
2192
  side: Jt
2193
2193
  }), y = new Uint32Array(d * C * 4);
2194
- let E = new se(y, d, C, ae, oe);
2195
- E.internalFormat = "RGBA32UI", E.needsUpdate = !0, p.uniforms[Ai].value = E;
2194
+ let w = new se(y, d, C, ae, oe);
2195
+ w.internalFormat = "RGBA32UI", w.needsUpdate = !0, p.uniforms[ui].value = w;
2196
2196
  const b = i(Ct) ? C : 1, D = new Uint32Array(d * b * 4);
2197
2197
  let v = new se(D, d, b, ae, oe);
2198
- v.internalFormat = "RGBA32UI", v.needsUpdate = !0, p.uniforms[ui].value = v;
2198
+ v.internalFormat = "RGBA32UI", v.needsUpdate = !0, p.uniforms[hi].value = v;
2199
2199
  const x = await i(Ue, 1), m = new Uint32Array(d * x * 4);
2200
- let w = new se(m, d, x, ae, oe);
2201
- w.internalFormat = "RGBA32UI", w.needsUpdate = !0, p.uniforms[ri].value = w;
2200
+ let E = new se(m, d, x, ae, oe);
2201
+ E.internalFormat = "RGBA32UI", E.needsUpdate = !0, p.uniforms[ci].value = E;
2202
2202
  const M = await i(Ue, 3), S = new Uint32Array(d * M * 4);
2203
2203
  let L = new se(S, d, M, ae, oe);
2204
- L.internalFormat = "RGBA32UI", L.needsUpdate = !0, p.uniforms[ci].value = L, p.needsUpdate = !0;
2204
+ L.internalFormat = "RGBA32UI", L.needsUpdate = !0, p.uniforms[li].value = L, p.needsUpdate = !0;
2205
2205
  let T = !1;
2206
- e(Ts, (B) => {
2206
+ e(Ls, (B) => {
2207
2207
  if (!i(Ct)) {
2208
2208
  if (T && !B.renderSplatCount) return;
2209
2209
  T = !B.renderSplatCount;
@@ -2212,113 +2212,113 @@ function bl(n) {
2212
2212
  B.txdata = null;
2213
2213
  const U = new se(k, d, C, ae, oe);
2214
2214
  U.onUpdate = () => {
2215
- B.textureReady = !0, B.textureReadyTime = Date.now(), g(B), i(uo, B.renderSplatCount);
2216
- }, U.internalFormat = "RGBA32UI", U.needsUpdate = !0, B.index ? (p.uniforms[ui].value = U, v = U) : (p.uniforms[Ai].value = U, E = U), p.needsUpdate = !0, i(et);
2217
- }), e(xo, async (B) => {
2215
+ B.textureReady = !0, B.textureReadyTime = Date.now(), g(B), i(ho, B.renderSplatCount);
2216
+ }, U.internalFormat = "RGBA32UI", U.needsUpdate = !0, B.index ? (p.uniforms[hi].value = U, v = U) : (p.uniforms[ui].value = U, w = U), p.needsUpdate = !0, i(et);
2217
+ }), e(So, async (B) => {
2218
2218
  if (i(Ct) || !B || !B.length) return;
2219
2219
  const k = new Uint32Array(d * await i(Ue, 1) * 4), U = new Uint8Array(k.buffer);
2220
2220
  for (let F = 0, H = 0; F < B.length; F++)
2221
2221
  U.set(B[F], H), H += B[F].byteLength;
2222
2222
  const z = new se(k, d, x, ae, oe);
2223
- z.internalFormat = "RGBA32UI", z.needsUpdate = !0, p.uniforms[ri].value = z, p.needsUpdate = !0, i(et);
2224
- }), e(So, async (B) => {
2223
+ z.internalFormat = "RGBA32UI", z.needsUpdate = !0, p.uniforms[ci].value = z, p.needsUpdate = !0, i(et);
2224
+ }), e(bo, async (B) => {
2225
2225
  if (i(Ct) || !B || !B.length) return;
2226
2226
  const k = new Uint32Array(d * await i(Ue, 3) * 4), U = new Uint8Array(k.buffer);
2227
2227
  for (let F = 0, H = 0; F < B.length; F++)
2228
2228
  U.set(B[F], H), H += B[F].byteLength;
2229
2229
  const z = new se(k, d, x, ae, oe);
2230
- z.internalFormat = "RGBA32UI", z.needsUpdate = !0, p.uniforms[ci].value = z, p.needsUpdate = !0, i(et);
2231
- }), e(Ds, () => p), e(
2230
+ z.internalFormat = "RGBA32UI", z.needsUpdate = !0, p.uniforms[li].value = z, p.needsUpdate = !0, i(et);
2231
+ }), e(ks, () => p), e(
2232
2232
  on,
2233
2233
  () => {
2234
- const B = i(dt), { width: k, height: U } = i(he), z = Math.abs(B.projectionMatrix.elements[0]) * 0.5 * k, F = Math.abs(B.projectionMatrix.elements[5]) * 0.5 * U, H = i(Ds);
2235
- H.uniforms[fa].value.set(z, F), H.uniformsNeedUpdate = !0, i(et);
2234
+ const B = i(dt), { width: k, height: U } = i(he), z = Math.abs(B.projectionMatrix.elements[0]) * 0.5 * k, F = Math.abs(B.projectionMatrix.elements[5]) * 0.5 * U, H = i(ks);
2235
+ H.uniforms[pa].value.set(z, F), H.uniformsNeedUpdate = !0, i(et);
2236
2236
  },
2237
2237
  !0
2238
2238
  ), e(
2239
2239
  rn,
2240
2240
  () => {
2241
2241
  const { width: B, height: k } = i(he);
2242
- p.uniforms[da].value.set(B, k), p.uniformsNeedUpdate = !0, i(et);
2242
+ p.uniforms[ga].value.set(B, k), p.uniformsNeedUpdate = !0, i(et);
2243
2243
  },
2244
2244
  !0
2245
- ), e(Ls, (B) => {
2246
- p.uniforms[ra].value = B, p.uniformsNeedUpdate = !0, i(et);
2247
- }), e(Hs, (B) => {
2248
- p.uniforms[Ks].value = B, p.uniformsNeedUpdate = !0, i(et);
2245
+ ), e(Rs, (B) => {
2246
+ p.uniforms[ca].value = B, p.uniformsNeedUpdate = !0, i(et);
2247
+ }), e(Os, (B) => {
2248
+ p.uniforms[Xs].value = B, p.uniformsNeedUpdate = !0, i(et);
2249
2249
  }), e(ce, (B) => {
2250
2250
  const k = i(_);
2251
- B === void 0 && (B = !k.pointcloudMode), p.uniforms[Aa].value = B, p.uniformsNeedUpdate = !0, k.pointcloudMode = B, i(et), k.viewerEvents && (k.viewerEvents.fire(_).pointcloudMode = B);
2252
- }), e(Rs, (B) => {
2253
- p.uniforms[sa].value = B, p.uniformsNeedUpdate = !0;
2251
+ B === void 0 && (B = !k.pointcloudMode), p.uniforms[ua].value = B, p.uniformsNeedUpdate = !0, k.pointcloudMode = B, i(et), k.viewerEvents && (k.viewerEvents.fire(_).pointcloudMode = B);
2252
+ }), e(_s, (B) => {
2253
+ p.uniforms[aa].value = B, p.uniformsNeedUpdate = !0;
2254
2254
  const k = i(_);
2255
2255
  k.bigSceneMode = B, i(et);
2256
2256
  }), e(qe, (B) => {
2257
- p.uniforms[aa].value = B, p.uniformsNeedUpdate = !0;
2257
+ p.uniforms[oa].value = B, p.uniformsNeedUpdate = !0;
2258
2258
  const k = i(_);
2259
2259
  k.lightFactor = B, i(et);
2260
2260
  });
2261
2261
  let R = !1;
2262
- return e(io, (B) => {
2263
- i(Ct) || R || (R = !0, p.uniforms[pa].value = B, p.uniformsNeedUpdate = !0, i(et));
2262
+ return e(so, (B) => {
2263
+ i(Ct) || R || (R = !0, p.uniforms[ma].value = B, p.uniformsNeedUpdate = !0, i(et));
2264
2264
  }), e(Le, (B) => {
2265
- p.uniforms[Js].value = B, p.uniformsNeedUpdate = !0, i(et);
2266
- }), e(Re, (B) => {
2267
2265
  p.uniforms[js].value = B, p.uniformsNeedUpdate = !0, i(et);
2268
- }), e(To, (B) => {
2269
- p.uniforms[ca].value = B, p.uniformsNeedUpdate = !0, i(et);
2266
+ }), e(Re, (B) => {
2267
+ p.uniforms[Ks].value = B, p.uniformsNeedUpdate = !0, i(et);
2268
+ }), e(Lo, (B) => {
2269
+ p.uniforms[la].value = B, p.uniformsNeedUpdate = !0, i(et);
2270
2270
  }), e(yn, (B, k, U, z) => {
2271
- p.uniforms[ua].value = [B, k, U, z ? 1 : -1], p.uniformsNeedUpdate = !0, i(et);
2272
- }), e(vi, (B = !0) => {
2273
- p.uniforms[ea].value = B, p.uniformsNeedUpdate = !0, i(et);
2274
- }), e(so, (B) => {
2275
- p.uniforms[ta].value = B, p.uniformsNeedUpdate = !0;
2276
- }), e(Fn, (B) => {
2277
- p.uniforms[li].value = B, p.uniformsNeedUpdate = !0, i(et);
2278
- }), e(Kn, (B, k) => {
2279
- p.uniforms[Zs].value = B, p.uniforms[Xs].value = k, p.uniformsNeedUpdate = !0, i(et);
2280
- }), e(Xn, (B) => {
2281
- p.uniforms[ga].value = Math.min(Math.max(0, B), 255) / 255, p.uniformsNeedUpdate = !0, i(et);
2282
- }), e(Zn, (B = !1) => {
2271
+ p.uniforms[ha].value = [B, k, U, z ? 1 : -1], p.uniformsNeedUpdate = !0, i(et);
2272
+ }), e(xi, (B = !0) => {
2283
2273
  p.uniforms[na].value = B, p.uniformsNeedUpdate = !0, i(et);
2284
- }), e(Pn, (B) => {
2274
+ }), e(ao, (B) => {
2275
+ p.uniforms[ea].value = B, p.uniformsNeedUpdate = !0;
2276
+ }), e(Fn, (B) => {
2277
+ p.uniforms[Ai].value = B, p.uniformsNeedUpdate = !0, i(et);
2278
+ }), e(Xn, (B, k) => {
2279
+ p.uniforms[ta].value = B, p.uniforms[Zs].value = k, p.uniformsNeedUpdate = !0, i(et);
2280
+ }), e(Zn, (B) => {
2281
+ p.uniforms[fa].value = Math.min(Math.max(0, B), 255) / 255, p.uniformsNeedUpdate = !0, i(et);
2282
+ }), e(ti, (B = !1) => {
2285
2283
  p.uniforms[ia].value = B, p.uniformsNeedUpdate = !0, i(et);
2286
- }), e(Qr, (B) => {
2287
- p.uniforms[oa].value = B, p.uniformsNeedUpdate = !0;
2284
+ }), e(Pn, (B) => {
2285
+ p.uniforms[sa].value = B, p.uniformsNeedUpdate = !0, i(et);
2286
+ }), e(kr, (B) => {
2287
+ p.uniforms[ra].value = B, p.uniformsNeedUpdate = !0;
2288
2288
  }), e(bn, async (B) => {
2289
2289
  if (i(Ct)) return;
2290
- const k = await i(As);
2291
- B < 0 && (B = 0), B > k && (B = k), A = B, p.uniforms[ha].value = B, p.uniformsNeedUpdate = !0, i(it, { shDegree: `${B} / max ${k}` }), i(et);
2292
- }), e(Do, (B = 0, k = 0) => {
2293
- p.uniforms[la].value = B << 16 | k, p.uniforms[li].value = performance.now(), p.uniformsNeedUpdate = !0, i(et);
2290
+ const k = await i(us);
2291
+ B < 0 && (B = 0), B > k && (B = k), A = B, p.uniforms[da].value = B, p.uniformsNeedUpdate = !0, i(it, { shDegree: `${B} / max ${k}` }), i(et);
2292
+ }), e(ko, (B = 0, k = 0) => {
2293
+ p.uniforms[Aa].value = B << 16 | k, p.uniforms[Ai].value = performance.now(), p.uniformsNeedUpdate = !0, i(et);
2294
2294
  }), e(
2295
- $n,
2295
+ Jn,
2296
2296
  () => {
2297
- p.dispose(), E && E.dispose(), v && v.dispose(), w && w.dispose(), L && L.dispose();
2297
+ p.dispose(), w && w.dispose(), v && v.dispose(), E && E.dispose(), L && L.dispose();
2298
2298
  },
2299
2299
  !0
2300
2300
  ), p;
2301
- }), e(no, async () => {
2302
- const h = new pt(await i(Bs), await i(Qs));
2303
- return i(on), i(rn), i(Rs, i(Ct)), i(ce, i(xi)), h;
2301
+ }), e(io, async () => {
2302
+ const h = new pt(await i(Qs), await i(Ds));
2303
+ return i(on), i(rn), i(_s, i(Ct)), i(ce, i(Si)), h;
2304
2304
  });
2305
2305
  function l() {
2306
2306
  i(on), i(rn);
2307
2307
  }
2308
- window.addEventListener("resize", l), e(lo, () => {
2309
- t = !0, window.removeEventListener("resize", l), i(Wn), i($n);
2310
- }), e(Li, () => {
2311
- if (!i(zo)) return;
2308
+ window.addEventListener("resize", l), e(Ao, () => {
2309
+ t = !0, window.removeEventListener("resize", l), i($n), i(Jn);
2310
+ }), e(Ri, () => {
2311
+ if (!i(Ho)) return;
2312
2312
  const h = i(_), d = i(xt)?.meta || {}, C = h.qualityLevel || Qe;
2313
2313
  if (i(bn, [0, 1, 2, 3, 3, 3, 3, 3, 3][C - 1]), yt) {
2314
- const p = [4, 3, 3, 2, 2, 2, 1, 1, 1], y = [7, 6, 5, 4, 4, 3, 2, 2, 2], E = d.minPixelDiameter || p[C - 1], b = d.maxPixelDiameter || (C < 4 ? 128 : C > 6 ? 512 : 256);
2315
- i(Kn, E, b), i(Xn, d.minAlpha || y[C - 1]), i(Zn, !1);
2314
+ const p = [4, 3, 3, 2, 2, 2, 1, 1, 1], y = [7, 6, 5, 4, 4, 3, 2, 2, 2], w = d.minPixelDiameter || p[C - 1], b = d.maxPixelDiameter || (C < 4 ? 128 : C > 6 ? 512 : 256);
2315
+ i(Xn, w, b), i(Zn, d.minAlpha || y[C - 1]), i(ti, !1);
2316
2316
  } else {
2317
- const p = [128, 256, 256, 512, 512, 1024, 1024, 1024, 1024], y = [5, 4, 3, 2, 2, 1, 1, 1, 1], E = d.minPixelDiameter || (C < 4 ? 2 : 1), b = d.maxPixelDiameter || p[C - 1];
2318
- i(Kn, E, b), i(Xn, d.minAlpha || y[C - 1]), i(Zn, C > 6);
2317
+ const p = [128, 256, 256, 512, 512, 1024, 1024, 1024, 1024], y = [5, 4, 3, 2, 2, 1, 1, 1, 1], w = d.minPixelDiameter || (C < 4 ? 2 : 1), b = d.maxPixelDiameter || p[C - 1];
2318
+ i(Xn, w, b), i(Zn, d.minAlpha || y[C - 1]), i(ti, C > 6);
2319
2319
  }
2320
- i(us);
2321
- }), e(Ao, async () => {
2320
+ i(hs);
2321
+ }), e(uo, async () => {
2322
2322
  if (i(Ct)) return;
2323
2323
  if (i(_).disableTransitionEffectOnLoad) return i(Le, 0);
2324
2324
  let d = 0.01, C = 0.01, f = !1, p = 0;
@@ -2327,25 +2327,25 @@ function bl(n) {
2327
2327
  () => {
2328
2328
  if (t) return;
2329
2329
  C += (o - C) * d, i(Le, C);
2330
- let y = i(ho);
2330
+ let y = i(go);
2331
2331
  y && !p && (p = Date.now());
2332
- let E = C / a;
2333
- y && (E > 0.9 || Date.now() - p > 2500) ? (i(xi) && i(Si, !0), i(Le, 0), f = !0, setTimeout(() => i(_)?.viewerEvents?.fire(Ne), 5e3)) : y && E > 0.7 ? d = Math.min(d * 1.2, 0.3) : y && E > 0.5 ? d = Math.min(d * 1.2, 0.2) : E > 0.4 && (d = Math.min(d * 1.05, 0.1));
2332
+ let w = C / a;
2333
+ y && (w > 0.9 || Date.now() - p > 2500) ? (i(Si) && i(bi, !0), i(Le, 0), f = !0, setTimeout(() => i(_)?.viewerEvents?.fire(Ne), 5e3)) : y && w > 0.7 ? d = Math.min(d * 1.2, 0.3) : y && w > 0.5 ? d = Math.min(d * 1.2, 0.2) : w > 0.4 && (d = Math.min(d * 1.05, 0.1));
2334
2334
  },
2335
2335
  () => !t && !f,
2336
2336
  3
2337
2337
  );
2338
- }), e(Si, (h = !1) => {
2338
+ }), e(bi, (h = !1) => {
2339
2339
  if (i(Ct)) return;
2340
2340
  const d = i(_);
2341
- if (i(Hs, d.transitionEffect), d.transitionEffect === Yn.ModelCenterCirccle) {
2341
+ if (i(Os, d.transitionEffect), d.transitionEffect === Gn.ModelCenterCirccle) {
2342
2342
  for (; s.length; ) s.pop().stop = !0;
2343
2343
  const C = a * 1e-3;
2344
2344
  let f = { currentPointMode: d.pointcloudMode, stepRate: 15e-4, currentLightRadius: C, stop: !1 };
2345
2345
  s.push(f), i(
2346
2346
  Me,
2347
2347
  () => {
2348
- t || (f.currentLightRadius += a * f.stepRate, i(Re, f.currentLightRadius), f.currentLightRadius > a ? (i(ce, !f.currentPointMode), i(Re, 0), f.stop = !0, s.length === 1 && s[0] === f && s.pop(), i(En, h)) : f.currentLightRadius / a < 0.4 ? f.stepRate = Math.min(f.stepRate * 1.02, 0.03) : f.stepRate *= 1.04);
2348
+ t || (f.currentLightRadius += a * f.stepRate, i(Re, f.currentLightRadius), f.currentLightRadius > a ? (i(ce, !f.currentPointMode), i(Re, 0), f.stop = !0, s.length === 1 && s[0] === f && s.pop(), i(En, h), i(Un)) : f.currentLightRadius / a < 0.4 ? f.stepRate = Math.min(f.stepRate * 1.02, 0.03) : f.stepRate *= 1.04);
2349
2349
  },
2350
2350
  () => !t && !f.stop
2351
2351
  );
@@ -2354,110 +2354,110 @@ function bl(n) {
2354
2354
  i(ce), i(Re, 0), i(En, h);
2355
2355
  }, 500);
2356
2356
  }), e(En, (h = !1) => {
2357
- i(Pn, 0), h && i(_).viewerEvents?.fire($e), i(_).viewerEvents?.fire(wo);
2358
- }), e(Ms, () => ({
2359
- [Ai]: { type: "t", value: null },
2357
+ i(Pn, 0), h && i(_).viewerEvents?.fire($e), i(_).viewerEvents?.fire(Eo);
2358
+ }), e(Bs, () => ({
2360
2359
  [ui]: { type: "t", value: null },
2361
- [ri]: { type: "t", value: null },
2360
+ [hi]: { type: "t", value: null },
2362
2361
  [ci]: { type: "t", value: null },
2363
- [fa]: { type: "v2", value: new ft() },
2364
- [da]: { type: "v2", value: new ft() },
2365
- [ra]: { type: "int", value: 0 },
2366
- [Ks]: { type: "int", value: 1 },
2367
- [Aa]: { type: "bool", value: !1 },
2368
- [oa]: { type: "bool", value: !0 },
2369
- [sa]: { type: "bool", value: !1 },
2370
- [ha]: { type: "int", value: 0 },
2371
- [aa]: { type: "float", value: 1 },
2372
- [pa]: { type: "float", value: 0 },
2373
- [Js]: { type: "float", value: 0 },
2362
+ [li]: { type: "t", value: null },
2363
+ [pa]: { type: "v2", value: new ft() },
2364
+ [ga]: { type: "v2", value: new ft() },
2365
+ [ca]: { type: "int", value: 0 },
2366
+ [Xs]: { type: "int", value: 1 },
2367
+ [ua]: { type: "bool", value: !1 },
2368
+ [ra]: { type: "bool", value: !0 },
2369
+ [aa]: { type: "bool", value: !1 },
2370
+ [da]: { type: "int", value: 0 },
2371
+ [oa]: { type: "float", value: 1 },
2372
+ [ma]: { type: "float", value: 0 },
2374
2373
  [js]: { type: "float", value: 0 },
2375
- [ca]: { type: "float", value: 0 },
2376
- [ua]: { type: "v4", value: new Gt(0, 0, 0, -1) },
2377
- [ia]: { type: "int", value: 0 },
2378
- [ta]: { type: "float", value: performance.now() },
2379
- [li]: { type: "float", value: 0 },
2380
- [Zs]: { type: "float", value: 1 },
2381
- [Xs]: { type: "float", value: 1024 },
2382
- [ga]: { type: "float", value: 2 / 255 },
2383
- [Zc]: { type: "v4", value: new Gt(1, 1, 0, 0.5) },
2384
- [ea]: { type: "bool", value: !0 },
2374
+ [Ks]: { type: "float", value: 0 },
2375
+ [la]: { type: "float", value: 0 },
2376
+ [ha]: { type: "v4", value: new Gt(0, 0, 0, -1) },
2377
+ [sa]: { type: "int", value: 0 },
2378
+ [ea]: { type: "float", value: performance.now() },
2379
+ [Ai]: { type: "float", value: 0 },
2380
+ [ta]: { type: "float", value: 1 },
2381
+ [Zs]: { type: "float", value: 1024 },
2382
+ [fa]: { type: "float", value: 2 / 255 },
2383
+ [el]: { type: "v4", value: new Gt(1, 1, 0, 0.5) },
2385
2384
  [na]: { type: "bool", value: !0 },
2386
- [la]: { type: "uint", value: 1 }
2385
+ [ia]: { type: "bool", value: !0 },
2386
+ [Aa]: { type: "uint", value: 1 }
2387
2387
  }));
2388
- const u = i($a);
2388
+ const u = i(Ja);
2389
2389
  u.onmessage = (h) => {
2390
2390
  const d = h.data;
2391
- if (d[ma]) {
2392
- r = d[vl], c = d[Hi];
2393
- const C = d[ma];
2394
- i(ks, C, d[Ca], d[ol], d[al], d[ya]), C.length && u.postMessage({ [el]: C }, [C.buffer]);
2391
+ if (d[Ca]) {
2392
+ r = d[Sl], c = d[Oi];
2393
+ const C = d[Ca];
2394
+ i(Ts, C, d[ya], d[cl], d[rl], d[Ia]), C.length && u.postMessage({ [il]: C }, [C.buffer]);
2395
2395
  }
2396
- }, e(ki, (h, d, C) => {
2397
- i(Ct) || (o = d, a = C), i(Ts, h);
2396
+ }, e(Ti, (h, d, C) => {
2397
+ i(Ct) || (o = d, a = C), i(Ls, h);
2398
2398
  });
2399
2399
  function g(h) {
2400
2400
  const d = h.xyz.slice(0);
2401
2401
  u.postMessage(
2402
2402
  {
2403
- [rl]: !0,
2404
- [ul]: d,
2405
- [yl]: h.watermarkCount,
2406
- [Ca]: h.index,
2407
- [nl]: h.version,
2408
- [ya]: h.renderSplatCount,
2409
- [il]: h.visibleSplatCount,
2410
- [sl]: h.modelSplatCount,
2411
- [hl]: h.minX,
2412
- [dl]: h.maxX,
2413
- [gl]: h.minY,
2414
- [fl]: h.maxY,
2415
- [pl]: h.minZ,
2416
- [ml]: h.maxZ
2403
+ [ll]: !0,
2404
+ [dl]: d,
2405
+ [wl]: h.watermarkCount,
2406
+ [ya]: h.index,
2407
+ [sl]: h.version,
2408
+ [Ia]: h.renderSplatCount,
2409
+ [al]: h.visibleSplatCount,
2410
+ [ol]: h.modelSplatCount,
2411
+ [gl]: h.minX,
2412
+ [fl]: h.maxX,
2413
+ [pl]: h.minY,
2414
+ [ml]: h.maxY,
2415
+ [Cl]: h.minZ,
2416
+ [yl]: h.maxZ
2417
2417
  },
2418
2418
  [d.buffer]
2419
2419
  );
2420
2420
  }
2421
2421
  }
2422
- function Ml(n) {
2423
- const t = (a, ...o) => n.fire(a, ...o), e = (a, o, s) => n.on(a, o, s), i = new Set($r.split(""));
2424
- e(Io, async (a = "", o = !0, s = !0) => {
2422
+ function Ql(n) {
2423
+ const t = (a, ...o) => n.fire(a, ...o), e = (a, o, s) => n.on(a, o, s), i = new Set(jr.split(""));
2424
+ e(wo, async (a = "", o = !0, s = !0) => {
2425
2425
  const r = a.trim().substring(0, 100);
2426
- let c = await t(Sr, r), A = [];
2427
- for (let E = 0; E < c.length; E++) {
2428
- let b = [], D = c[E];
2426
+ let c = await t(Mr, r), A = [];
2427
+ for (let w = 0; w < c.length; w++) {
2428
+ let b = [], D = c[w];
2429
2429
  for (let v = 0; v < D.length; v++)
2430
2430
  b.push([(D[v] % 20 - 10) * 0.02, ((D[v] / 20 | 0) - 10) * 0.02]);
2431
2431
  A.push(b);
2432
2432
  }
2433
2433
  let l = [], u = r.split("");
2434
- for (let E = 0; E < u.length; E++)
2435
- l[E] = i.has(u[E]) ? 0.22 : 0.4;
2434
+ for (let w = 0; w < u.length; w++)
2435
+ l[w] = i.has(u[w]) ? 0.22 : 0.4;
2436
2436
  let g = u.length / 2 | 0, h = l[g] / 2, d = !(u.length % 2), C = d ? 0 : -h;
2437
- for (let E = g - 1; E >= 0; E--) {
2438
- C -= l[E] / 2;
2439
- for (let b of A[E]) b[0] += C;
2440
- C -= l[E] / 2;
2437
+ for (let w = g - 1; w >= 0; w--) {
2438
+ C -= l[w] / 2;
2439
+ for (let b of A[w]) b[0] += C;
2440
+ C -= l[w] / 2;
2441
2441
  }
2442
2442
  h = l[g] / 2, C = d ? 0 : h;
2443
- for (let E = A.length - g; E < A.length; E++) {
2444
- C += l[E] / 2;
2445
- for (let b of A[E]) b[0] += C;
2446
- C += l[E] / 2;
2443
+ for (let w = A.length - g; w < A.length; w++) {
2444
+ C += l[w] / 2;
2445
+ for (let b of A[w]) b[0] += C;
2446
+ C += l[w] / 2;
2447
2447
  }
2448
2448
  let f = 0;
2449
- for (let E of A)
2450
- f += E.length;
2449
+ for (let w of A)
2450
+ f += w.length;
2451
2451
  const p = new Uint8Array(f * O);
2452
2452
  let y = 0;
2453
- for (let E of A)
2454
- for (let b of E)
2455
- p.set(await Oc(b[0], b[1], o, s), O * y++);
2453
+ for (let w of A)
2454
+ for (let b of w)
2455
+ p.set(await Gc(b[0], b[1], o, s), O * y++);
2456
2456
  return p;
2457
2457
  });
2458
2458
  }
2459
- const Bl = /^[og]\s*(.+)?/, Ql = /^mtllib /, Dl = /^usemtl /, kl = /^usemap /, va = /\s+/, xa = new Q(), hi = new Q(), Sa = new Q(), ba = new Q(), Bt = new Q(), un = new Wi();
2460
- function Tl() {
2459
+ const Dl = /^[og]\s*(.+)?/, kl = /^mtllib /, Tl = /^usemtl /, Ll = /^usemap /, xa = /\s+/, Sa = new Q(), di = new Q(), ba = new Q(), Ma = new Q(), Bt = new Q(), un = new $i();
2460
+ function Rl() {
2461
2461
  const n = {
2462
2462
  objects: [],
2463
2463
  object: {},
@@ -2566,7 +2566,7 @@ function Tl() {
2566
2566
  },
2567
2567
  addFaceNormal: function(t, e, i) {
2568
2568
  const a = this.vertices, o = this.object.geometry.normals;
2569
- xa.fromArray(a, t), hi.fromArray(a, e), Sa.fromArray(a, i), Bt.subVectors(Sa, hi), ba.subVectors(xa, hi), Bt.cross(ba), Bt.normalize(), o.push(Bt.x, Bt.y, Bt.z), o.push(Bt.x, Bt.y, Bt.z), o.push(Bt.x, Bt.y, Bt.z);
2569
+ Sa.fromArray(a, t), di.fromArray(a, e), ba.fromArray(a, i), Bt.subVectors(ba, di), Ma.subVectors(Sa, di), Bt.cross(Ma), Bt.normalize(), o.push(Bt.x, Bt.y, Bt.z), o.push(Bt.x, Bt.y, Bt.z), o.push(Bt.x, Bt.y, Bt.z);
2570
2570
  },
2571
2571
  addColor: function(t, e, i) {
2572
2572
  const a = this.colors, o = this.object.geometry.colors;
@@ -2617,12 +2617,12 @@ function Tl() {
2617
2617
  };
2618
2618
  return n.startObject("", !1), n;
2619
2619
  }
2620
- class Ll extends ur {
2620
+ class _l extends dr {
2621
2621
  constructor(t) {
2622
2622
  super(t), this.materials = null;
2623
2623
  }
2624
2624
  load(t, e, i, a) {
2625
- const o = this, s = new hr(this.manager);
2625
+ const o = this, s = new gr(this.manager);
2626
2626
  s.setPath(this.path), s.setRequestHeader(this.requestHeader), s.setWithCredentials(this.withCredentials), s.load(t, function(r) {
2627
2627
  try {
2628
2628
  e(o.parse(r));
@@ -2635,7 +2635,7 @@ class Ll extends ur {
2635
2635
  return this.materials = t, this;
2636
2636
  }
2637
2637
  parse(t) {
2638
- const e = new Tl();
2638
+ const e = new Rl();
2639
2639
  t.indexOf(`\r
2640
2640
  `) !== -1 && (t = t.replace(/\r\n/g, `
2641
2641
  `)), t.indexOf(`\\
@@ -2649,7 +2649,7 @@ class Ll extends ur {
2649
2649
  const l = A.charAt(0);
2650
2650
  if (l !== "#")
2651
2651
  if (l === "v") {
2652
- const u = A.split(va);
2652
+ const u = A.split(xa);
2653
2653
  switch (u[0]) {
2654
2654
  case "v":
2655
2655
  e.vertices.push(
@@ -2660,7 +2660,7 @@ class Ll extends ur {
2660
2660
  parseFloat(u[4]),
2661
2661
  parseFloat(u[5]),
2662
2662
  parseFloat(u[6]),
2663
- dr
2663
+ fr
2664
2664
  ), e.colors.push(un.r, un.g, un.b)) : e.colors.push(void 0, void 0, void 0);
2665
2665
  break;
2666
2666
  case "vn":
@@ -2678,7 +2678,7 @@ class Ll extends ur {
2678
2678
  break;
2679
2679
  }
2680
2680
  } else if (l === "f") {
2681
- const g = A.slice(1).trim().split(va), h = [];
2681
+ const g = A.slice(1).trim().split(xa), h = [];
2682
2682
  for (let C = 0, f = g.length; C < f; C++) {
2683
2683
  const p = g[C];
2684
2684
  if (p.length > 0) {
@@ -2716,14 +2716,14 @@ class Ll extends ur {
2716
2716
  } else if (l === "p") {
2717
2717
  const g = A.slice(1).trim().split(" ");
2718
2718
  e.addPointGeometry(g);
2719
- } else if ((a = Bl.exec(A)) !== null) {
2719
+ } else if ((a = Dl.exec(A)) !== null) {
2720
2720
  const u = (" " + a[0].slice(1).trim()).slice(1);
2721
2721
  e.startObject(u);
2722
- } else if (Dl.test(A))
2722
+ } else if (Tl.test(A))
2723
2723
  e.object.startMaterial(A.substring(7).trim(), e.materialLibraries);
2724
- else if (Ql.test(A))
2725
- e.materialLibraries.push(A.substring(7).trim());
2726
2724
  else if (kl.test(A))
2725
+ e.materialLibraries.push(A.substring(7).trim());
2726
+ else if (Ll.test(A))
2727
2727
  console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');
2728
2728
  else if (l === "s") {
2729
2729
  if (a = A.split(" "), a.length > 1) {
@@ -2748,44 +2748,44 @@ class Ll extends ur {
2748
2748
  const C = new Sn();
2749
2749
  C.setAttribute("position", new Vt(l.vertices, 3)), l.normals.length > 0 && C.setAttribute("normal", new Vt(l.normals, 3)), l.colors.length > 0 && (d = !0, C.setAttribute("color", new Vt(l.colors, 3))), l.hasUVIndices === !0 && C.setAttribute("uv", new Vt(l.uvs, 2));
2750
2750
  const f = [];
2751
- for (let y = 0, E = u.length; y < E; y++) {
2751
+ for (let y = 0, w = u.length; y < w; y++) {
2752
2752
  const b = u[y], D = b.name + "_" + b.smooth + "_" + d;
2753
2753
  let v = e.materials[D];
2754
2754
  if (this.materials !== null) {
2755
2755
  if (v = this.materials.create(b.name), g && v && !(v instanceof pn)) {
2756
2756
  const x = new pn();
2757
- Is.prototype.copy.call(x, v), x.color.copy(v.color), v = x;
2757
+ ws.prototype.copy.call(x, v), x.color.copy(v.color), v = x;
2758
2758
  } else if (h && v && !(v instanceof an)) {
2759
2759
  const x = new an({ size: 10, sizeAttenuation: !1 });
2760
- Is.prototype.copy.call(x, v), x.color.copy(v.color), x.map = v.map, v = x;
2760
+ ws.prototype.copy.call(x, v), x.color.copy(v.color), x.map = v.map, v = x;
2761
2761
  }
2762
2762
  }
2763
- v === void 0 && (g ? v = new pn() : h ? v = new an({ size: 1, sizeAttenuation: !1 }) : v = new gr(), v.name = b.name, v.flatShading = !b.smooth, v.vertexColors = d, e.materials[D] = v), f.push(v);
2763
+ v === void 0 && (g ? v = new pn() : h ? v = new an({ size: 1, sizeAttenuation: !1 }) : v = new pr(), v.name = b.name, v.flatShading = !b.smooth, v.vertexColors = d, e.materials[D] = v), f.push(v);
2764
2764
  }
2765
2765
  let p;
2766
2766
  if (f.length > 1) {
2767
- for (let y = 0, E = u.length; y < E; y++) {
2767
+ for (let y = 0, w = u.length; y < w; y++) {
2768
2768
  const b = u[y];
2769
2769
  C.addGroup(b.groupStart, b.groupCount, y);
2770
2770
  }
2771
- g ? p = new Ci(C, f) : h ? p = new qn(C, f) : p = new pt(C, f);
2771
+ g ? p = new yi(C, f) : h ? p = new Vn(C, f) : p = new pt(C, f);
2772
2772
  } else
2773
- g ? p = new Ci(C, f[0]) : h ? p = new qn(C, f[0]) : p = new pt(C, f[0]);
2773
+ g ? p = new yi(C, f[0]) : h ? p = new Vn(C, f[0]) : p = new pt(C, f[0]);
2774
2774
  p.name = A.name, o.add(p);
2775
2775
  }
2776
2776
  else if (e.vertices.length > 0) {
2777
2777
  const r = new an({ size: 1, sizeAttenuation: !1 }), c = new Sn();
2778
2778
  c.setAttribute("position", new Vt(e.vertices, 3)), e.colors.length > 0 && e.colors[0] !== void 0 && (c.setAttribute("color", new Vt(e.colors, 3)), r.vertexColors = !0);
2779
- const A = new qn(c, r);
2779
+ const A = new Vn(c, r);
2780
2780
  o.add(A);
2781
2781
  }
2782
2782
  return o;
2783
2783
  }
2784
2784
  }
2785
- function Rl(n) {
2785
+ function Fl(n) {
2786
2786
  let t = !1;
2787
2787
  const e = (r, c, A) => n.on(r, c, A), i = (r, ...c) => n.fire(r, ...c);
2788
- e(ao, () => t = !0);
2788
+ e(oo, () => t = !0);
2789
2789
  const a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
2790
2790
  e(Mn, () => i(St) && a.set(Date.now(), 1)), e(Bn, () => i(St) && i(ve, a)), e(Qn, () => i(St) && o.set(Date.now(), 1)), e(Dn, () => i(St) && i(ve, o)), e(
2791
2791
  de,
@@ -2803,7 +2803,7 @@ function Rl(n) {
2803
2803
  e(
2804
2804
  xe,
2805
2805
  () => {
2806
- t || (i(ja), i(St) && (i(Mn), !(s++ % 5) && i(it, { fps: i(Bn), realFps: i(Dn) })));
2806
+ t || (i(Ka), i(St) && (i(Mn), !(s++ % 5) && i(it, { fps: i(Bn), realFps: i(Dn) })));
2807
2807
  },
2808
2808
  !0
2809
2809
  ), e(ve, (r) => {
@@ -2811,48 +2811,48 @@ function Rl(n) {
2811
2811
  for (const u of r.keys())
2812
2812
  A - u <= 1e3 ? l++ : c.push(u);
2813
2813
  return c.forEach((u) => r.delete(u)), Math.min(l, 30);
2814
- }), window.addEventListener("beforeunload", () => i(zn)), e(Bo, async (r) => {
2814
+ }), window.addEventListener("beforeunload", () => i(Hn)), e(Qo, async (r) => {
2815
2815
  i(it, { scene: "small (obj)" });
2816
2816
  const c = await Xt(r, n);
2817
2817
  if (c) {
2818
2818
  const A = URL.createObjectURL(new Blob([c], { type: "application/octet-stream" }));
2819
- new Ll().load(A, (l) => i(Y).add(l)), i(ct, !0), i(Je, !0);
2819
+ new _l().load(A, (l) => i(Y).add(l)), i(ct, !0), i(Je, !0);
2820
2820
  }
2821
2821
  i(He, 0);
2822
2822
  });
2823
2823
  }
2824
- function _l(n) {
2824
+ function Pl(n) {
2825
2825
  const t = { ...n };
2826
2826
  return t.bigSceneMode ?? (t.bigSceneMode = !1), t.pointcloudMode ?? (t.pointcloudMode = !t.bigSceneMode), t.lightFactor ?? (t.lightFactor = 1), t.name ?? (t.name = ""), t.showWatermark ?? (t.showWatermark = !0), t.shDegree ?? (t.shDegree = 0), t.depthTest ?? (t.depthTest = !0), t.debugMode ?? (t.debugMode = !1), t.maxRenderCountOfMobile ?? (t.maxRenderCountOfMobile = t.bigSceneMode ? 256 * 1e4 : 384 * 10240), t.maxRenderCountOfPc ?? (t.maxRenderCountOfPc = t.bigSceneMode ? 320 * 1e4 : 384 * 1e4), t;
2827
2827
  }
2828
- function Ma(n) {
2828
+ function Ba(n) {
2829
2829
  const t = { ...n };
2830
- return t.position = t.position ? [...t.position] : [0, -5, 15], t.lookAt = t.lookAt ? [...t.lookAt] : [0, 0, 0], t.lookUp = t.lookUp ? [...t.lookUp] : [0, -1, 0], t.fov ?? (t.fov = 45), t.near ?? (t.near = 1e-3), t.far ?? (t.far = 1e3), t.enableDamping ?? (t.enableDamping = !0), t.autoRotate ?? (t.autoRotate = !0), t.enableZoom ?? (t.enableZoom = !0), t.enableRotate ?? (t.enableRotate = !0), t.enablePan ?? (t.enablePan = !0), t.enableKeyboard ?? (t.enableKeyboard = !0), t.bigSceneMode ?? (t.bigSceneMode = !1), t.pointcloudMode ?? (t.pointcloudMode = !t.bigSceneMode), t.lightFactor ?? (t.lightFactor = 1.1), t.debugMode ?? (t.debugMode = location.protocol === "http:" || /^test\./.test(location.host)), t.markMode ?? (t.markMode = !1), t.markVisible ?? (t.markVisible = !0), t.meterScale ?? (t.meterScale = 1), t.background ?? (t.background = "#000000"), t.minDistance ?? (t.minDistance = 0.1), t.maxDistance ?? (t.maxDistance = 1e3), t.qualityLevel ?? (t.qualityLevel = Qe), t.sortType ?? (t.sortType = Ke.Default), t.transitionEffect ?? (t.transitionEffect = Yn.ModelCenterCirccle), t;
2830
+ return t.position = t.position ? [...t.position] : [0, -5, 15], t.lookAt = t.lookAt ? [...t.lookAt] : [0, 0, 0], t.lookUp = t.lookUp ? [...t.lookUp] : [0, -1, 0], t.fov ?? (t.fov = 45), t.near ?? (t.near = 1e-3), t.far ?? (t.far = 1e3), t.enableDamping ?? (t.enableDamping = !0), t.autoRotate ?? (t.autoRotate = !0), t.enableZoom ?? (t.enableZoom = !0), t.enableRotate ?? (t.enableRotate = !0), t.enablePan ?? (t.enablePan = !0), t.enableKeyboard ?? (t.enableKeyboard = !0), t.bigSceneMode ?? (t.bigSceneMode = !1), t.pointcloudMode ?? (t.pointcloudMode = !t.bigSceneMode), t.lightFactor ?? (t.lightFactor = 1.1), t.debugMode ?? (t.debugMode = location.protocol === "http:" || /^test\./.test(location.host)), t.markMode ?? (t.markMode = !1), t.markVisible ?? (t.markVisible = !0), t.meterScale ?? (t.meterScale = 1), t.background ?? (t.background = "#000000"), t.minDistance ?? (t.minDistance = 0.1), t.maxDistance ?? (t.maxDistance = 1e3), t.qualityLevel ?? (t.qualityLevel = Qe), t.sortType ?? (t.sortType = Ke.Default), t.transitionEffect ?? (t.transitionEffect = Gn.ModelCenterCirccle), t;
2831
2831
  }
2832
- function Fl(n) {
2832
+ function Ul(n) {
2833
2833
  let t;
2834
2834
  n.root ? t = typeof n.root == "string" ? document.querySelector(n.root) || document.querySelector("#gsviewer") : n.root : t = document.querySelector("#gsviewer"), t || (t = document.createElement("div"), t.id = "gsviewer", document.body.appendChild(t));
2835
2835
  let e = null;
2836
- return n.renderer ? e = n.renderer : (e = new za({ antialias: !1, stencil: !0, logarithmicDepthBuffer: !0, precision: "highp" }), e.setSize(t.clientWidth, t.clientHeight), e.setPixelRatio(Math.min(devicePixelRatio, 2)), n.renderer = e), e.domElement.classList.add("gsviewer-canvas"), t.appendChild(e.domElement), e;
2836
+ return n.renderer ? e = n.renderer : (e = new Ha({ antialias: !1, stencil: !0, logarithmicDepthBuffer: !0, precision: "highp" }), e.setSize(t.clientWidth, t.clientHeight), e.setPixelRatio(Math.min(devicePixelRatio, 2)), n.renderer = e), e.domElement.classList.add("gsviewer-canvas"), t.appendChild(e.domElement), e;
2837
2837
  }
2838
- function Pl(n) {
2838
+ function Nl(n) {
2839
2839
  let t = n.camera;
2840
2840
  if (!t) {
2841
2841
  const e = n.renderer.domElement, i = e.width / e.height;
2842
2842
  let a = new Q().fromArray(n.lookUp), o = new Q().fromArray(n.lookAt), s = new Q().fromArray(n.position);
2843
- t = new Ha(n.fov, i, n.near, n.far), t.position.copy(s), t.up.copy(a).normalize(), t.lookAt(o), n.camera = t;
2843
+ t = new Oa(n.fov, i, n.near, n.far), t.position.copy(s), t.up.copy(a).normalize(), t.lookAt(o), n.camera = t;
2844
2844
  }
2845
2845
  return n.camera;
2846
2846
  }
2847
- function Ul(n) {
2847
+ function zl(n) {
2848
2848
  const { renderer: t, scene: e } = n, i = { renderer: t, scene: e };
2849
- return i.viewerEvents = n.viewerEvents, i.debugMode = n.debugMode, i.renderer = n.renderer, i.scene = n.scene, i.controls = n.controls, i.bigSceneMode = n.bigSceneMode, i.pointcloudMode = n.pointcloudMode, i.maxRenderCountOfMobile = n.maxRenderCountOfMobile, i.maxRenderCountOfPc = n.maxRenderCountOfPc, i.lightFactor = n.lightFactor, i.shDegree = n.shDegree, i.qualityLevel = n.qualityLevel, i.sortType = n.sortType, i.disableTransitionEffectOnLoad = !!n.disableTransitionEffectOnLoad, i.transitionEffect = n.transitionEffect || Yn.ModelCenterCirccle, i;
2849
+ return i.viewerEvents = n.viewerEvents, i.debugMode = n.debugMode, i.renderer = n.renderer, i.scene = n.scene, i.controls = n.controls, i.bigSceneMode = n.bigSceneMode, i.pointcloudMode = n.pointcloudMode, i.maxRenderCountOfMobile = n.maxRenderCountOfMobile, i.maxRenderCountOfPc = n.maxRenderCountOfPc, i.lightFactor = n.lightFactor, i.shDegree = n.shDegree, i.qualityLevel = n.qualityLevel, i.sortType = n.sortType, i.disableTransitionEffectOnLoad = !!n.disableTransitionEffectOnLoad, i.transitionEffect = n.transitionEffect || Gn.ModelCenterCirccle, i;
2850
2850
  }
2851
- const Jo = '(function(){"use strict";let l=0;l++;const _=`$${l++}`,tt=`$${l++}`;l++,l++,l++;const A=`$${l++}`,L=`$${l++}`,Q=`$${l++}`,U=`$${l++}`,j=`$${l++}`,et=`$${l++}`,nt=`$${l++}`,xt=`$${l++}`;l++;const kt=`$${l++}`,Mt=`$${l++}`;l++;const at=`$${l++}`;l++;const Ct=`$${l++}`;l++;const Dt=`$${l++}`,It=`$${l++}`,yt=`$${l++}`,Wt=`$${l++}`,bt=`$${l++}`,wt=`$${l++}`,gt=`$${l++}`,Zt=`$${l++}`,Nt=`$${l++}`,vt=`$${l++}`,ot=`$${l++}`,Ft=`$${l++}`,Bt=`$${l++}`,O=`$${l++}`,rt=`$${l++}`,it=`$${l++}`,lt=navigator.userAgent.includes("Mobi"),st=1,T=5,ct=9;var F=(t=>(t[t.Default=1]="Default",t[t.ZdepthFrontNearest2010=2010]="ZdepthFrontNearest2010",t[t.ZdepthFront2011=2011]="ZdepthFront2011",t[t.ZdepthFrontNearFar2012=2012]="ZdepthFrontNearFar2012",t[t.ZdepthFullNearFar2112=2112]="ZdepthFullNearFar2112",t))(F||{});const q=self;let E={index:0,version:0},G={index:1,version:0},dt=!1,V=T,g=F.Default,y=0,H,Pt=lt?.5:.2,J,X=[],N=new Int32Array(0),S=new Float32Array(0),Z=new Int32Array(0),R=new Int32Array(0),b=new Int32Array(0),ht=[],K,ut,mt=0,ft,B=.4,P=0;function St(t,n,a){if(!dt)return;let r=E.version>G.version?E:G;if(!r.version)return;const{xyz:o,renderSplatCount:d,visibleSplatCount:p,modelSplatCount:x,watermarkCount:$,index:W,version:m}=r;if(mt===m&&Math.abs(X[2]-t[2])+Math.abs(X[6]-t[6])+Math.abs(X[10]-t[10])+Math.abs(X[14]-t[14])<Pt)return;X=t,mt=m;let s=Date.now(),k;if(!d){const e=new Uint32Array(0);q.postMessage({[_]:e,[Q]:0,[U]:p,[j]:x,[A]:W,[L]:m,[nt]:0,[et]:s},[e.buffer]);return}let I=0,f=0,i=Qt();const u=d-$,M=g===1?V>T?At:z:Y,h=g===1?t:n,c=n[0]*a[0]+n[1]*a[1]+n[2]*a[2];let{maxDepth:D,minDepth:w}=Lt(r,h,M,c);if(D-w<=1e-5){for(let e=0;e<u;++e)i[e]=e;k=u+$}else{let e=v(y).bucketCnt;b.length<e?b=new Int32Array(e):b.fill(0),N.length<y&&(N=new Int32Array(y)),g!==F.Default&&S.length<y&&(S=new Float32Array(y)),g===F.ZdepthFrontNearest2010?(Z.length<y&&(Z=new Int32Array(y)),{renderCount:k,bucketBits:f}=Rt({depthIndex:i,depths:S,distances:N,counters:b,int32Tmp1:Z,xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,dotPos:c,sortCameraDir:n,depthNearRate:B,depthNearValue:P})):g===F.ZdepthFront2011?(Z.length<y&&(Z=new Int32Array(y)),{renderCount:k,bucketBits:f}=Vt({depthIndex:i,depths:S,distances:N,counters:b,int32Tmp1:Z,xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,dotPos:c,sortCameraDir:n})):g===F.ZdepthFrontNearFar2012?(Z.length<y&&(Z=new Int32Array(y)),R.length<y&&(R=new Int32Array(y)),{renderCount:k,bucketBits:f}=Xt({depthIndex:i,depths:S,distances:N,counters:b,int32Tmp1:Z,int32Tmp2:R,xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,dotPos:c,sortCameraDir:n,depthNearRate:B,depthNearValue:P})):g===F.ZdepthFullNearFar2112?(Z.length<y&&(Z=new Int32Array(y)),R.length<y&&(R=new Int32Array(y)),{renderCount:k,bucketBits:f}=Yt({depthIndex:i,depths:S,distances:N,counters:b,int32Tmp1:Z,int32Tmp2:R,xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,dotPos:c,sortCameraDir:n,depthNearRate:B,depthNearValue:P})):{renderCount:k,bucketBits:f}=Tt({depthIndex:i,distances:N,counters:b,xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,fnCalcDepth:M,sortViewProj:t})}$&&zt({xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,sortViewProj:t,depthIndex:i}),I=Date.now()-s,q.postMessage({[_]:i,[Q]:k,[U]:p,[j]:x,[A]:W,[L]:m,[et]:s,[nt]:I,[Bt]:f||16,[O]:g||1},[i.buffer])}function Rt(t){const{depthIndex:n,depths:a,distances:r,counters:o,int32Tmp1:d,xyz:p,dataCount:x,watermarkCount:$,minDepth:W,dotPos:m,sortCameraDir:s}=t,k=Math.min(t.maxDepth,0),I=t.depthNearValue?k-Math.abs(t.depthNearValue):k-(k-W)*t.depthNearRate;let f=0;for(let c=0;c<x;++c)a[c]=Y(s,p[3*c],p[3*c+1],p[3*c+2],m),d[f]=c,f+=(a[c]<=0&&a[c]>=I)|0;const i=f+$,{bucketBits:u,bucketCnt:M}=v(f),h=(M-1)/(k-I);for(let c=0,D=0;c<f;++c)D=(a[d[c]]-I)*h|0,o[r[c]=D]++;for(let c=1;c<M;++c)o[c]+=o[c-1];for(let c=0;c<f;++c)n[--o[r[c]]]=d[c];return{renderCount:i,bucketBits:u}}function Vt(t){const{depthIndex:n,depths:a,distances:r,counters:o,int32Tmp1:d,xyz:p,dataCount:x,watermarkCount:$,minDepth:W,dotPos:m,sortCameraDir:s}=t,k=Math.min(t.maxDepth,0);let I=0;for(let h=0;h<x;++h)a[h]=Y(s,p[3*h],p[3*h+1],p[3*h+2],m),d[I]=h,I+=a[h]<=0|0;const f=I+$,{bucketBits:i,bucketCnt:u}=v(I),M=(u-1)/(k-W);for(let h=0,c=0;h<I;++h)c=(a[d[h]]-W)*M|0,o[r[h]=c]++;for(let h=1;h<u;++h)o[h]+=o[h-1];for(let h=0;h<I;++h)n[--o[r[h]]]=d[h];return{renderCount:f,bucketBits:i}}function Xt(t){const{depthIndex:n,depths:a,distances:r,counters:o,int32Tmp1:d,int32Tmp2:p,xyz:x,dataCount:$,watermarkCount:W,maxDepth:m,minDepth:s,dotPos:k,sortCameraDir:I}=t,f=Math.min(m,0),i=t.depthNearValue?f-Math.abs(t.depthNearValue):f-(f-s)*t.depthNearRate;let u=0,M=0;for(let e=0,C=0,$t=0;e<$;++e)a[e]=Y(I,x[3*e],x[3*e+1],x[3*e+2],k),d[u]=e,p[M]=e,C=(a[e]<=0&&a[e]>=i)|0,$t=a[e]<i|0,u+=C,M+=$t;const h=u+M+W;let{bucketBits:c,bucketCnt:D}=v(M),w=(D-1)/(i-s);for(let e=0,C=0;e<M;++e)C=(a[p[e]]-s)*w|0,o[r[e]=C]++;for(let e=1;e<D;++e)o[e]+=o[e-1];for(let e=0;e<M;++e)n[--o[r[e]]]=p[e];o.fill(0),D=v(u).bucketCnt,w=(D-1)/(f-i);for(let e=0,C=0;e<u;++e)C=(a[d[e]]-i)*w|0,o[r[e]=C]++;for(let e=1;e<D;++e)o[e]+=o[e-1];for(let e=0;e<u;++e)n[--o[r[e]]+M]=d[e];return{renderCount:h,bucketBits:c}}function Yt(t){const{depthIndex:n,depths:a,distances:r,counters:o,int32Tmp1:d,int32Tmp2:p,xyz:x,dataCount:$,watermarkCount:W,maxDepth:m,minDepth:s,dotPos:k,sortCameraDir:I}=t,f=Math.min(m,0),i=t.depthNearValue?f-Math.abs(t.depthNearValue):f-(f-s)*t.depthNearRate;let u=0,M=0;for(let e=0,C=0;e<$;++e)a[e]=Y(I,x[3*e],x[3*e+1],x[3*e+2],k),d[u]=e,p[M]=e,C=(a[e]<=0&&a[e]>=i)|0,u+=C,M+=C^1;const h=u+M+W;let{bucketBits:c,bucketCnt:D}=v(M),w=(D-1)/(i-s);for(let e=0,C=0;e<M;++e)C=(a[p[e]]-s)*w|0,o[r[e]=C]++;for(let e=1;e<D;++e)o[e]+=o[e-1];for(let e=0;e<M;++e)n[--o[r[e]]]=p[e];o.fill(0),D=v(u).bucketCnt,w=(D-1)/(f-i);for(let e=0,C=0;e<u;++e)C=(a[d[e]]-i)*w|0,o[r[e]=C]++;for(let e=1;e<D;++e)o[e]+=o[e-1];for(let e=0;e<u;++e)n[--o[r[e]]+M]=d[e];return{renderCount:h,bucketBits:c}}function Tt(t){const{depthIndex:n,distances:a,counters:r,xyz:o,dataCount:d,watermarkCount:p,maxDepth:x,minDepth:$,fnCalcDepth:W,sortViewProj:m}=t,s=d+p;let{bucketBits:k,bucketCnt:I}=v(d),f=(I-1)/(x-$);for(let i=0,u=0;i<d;++i)u=(W(m,o[3*i],o[3*i+1],o[3*i+2])-$)*f|0,r[a[i]=u]++;for(let i=1;i<I;++i)r[i]+=r[i-1];for(let i=0;i<d;++i)n[--r[a[i]]]=i;return{renderCount:s,bucketBits:k}}function zt(t){let{xyz:n,dataCount:a,watermarkCount:r,maxDepth:o,minDepth:d,sortViewProj:p,depthIndex:x}=t;const $=a+r;let{bucketCnt:W}=v(r,1);o=d=z(p,n[3*a],n[3*a+1],n[3*a+2]);for(let m=a,s=0;m<$;++m)s=z(p,n[3*m],n[3*m+1],n[3*m+2]),o=Math.max(s,o),d=Math.min(s,d);if(o-d<=1e-5)for(let m=0;m<r;++m)x[a+m]=a+m;else{let m=(W-1)/(o-d);b.length<W?b=new Int32Array(W):b.fill(0);for(let s=a,k=0;s<$;++s)k=(z(p,n[3*s],n[3*s+1],n[3*s+2])-d)*m|0,b[N[s-a]=k]++;for(let s=1;s<W;++s)b[s]+=b[s-1];for(let s=0;s<r;++s)x[a+--b[N[s]]]=a+s}}function z(t,n,a,r){return t[2]*n+t[6]*a+t[10]*r}function At(t,n,a,r){return t[2]*n+t[6]*a+t[10]*r+t[14]}function Y(t,n,a,r,o){return o-t[0]*n-t[1]*a-t[2]*r}function Lt(t,n,a,r){let o=-1/0,d=1/0;const p=[[t.minX,t.minY,t.minZ],[t.minX,t.minY,t.maxZ],[t.minX,t.maxY,t.minZ],[t.minX,t.maxY,t.maxZ],[t.maxX,t.minY,t.minZ],[t.maxX,t.minY,t.maxZ],[t.maxX,t.maxY,t.minZ],[t.maxX,t.maxY,t.maxZ]];for(const x of p){const $=a(n,x[0],x[1],x[2],r);o=Math.max(o,$),d=Math.min(d,$)}return{maxDepth:o,minDepth:d}}const pt=()=>{if(!H){H=!0;const t=J,n=K;St(t,n,ut),setTimeout(()=>!(H=!1)&&(g===1?t!==J:n!=K)&&pt())}};function v(t,n=0){if(!t)return{bucketBits:1,bucketCnt:1};let a=n?Math.min(n,V):V,r=11+(lt?Math.max(a-1,1):a);return a<3?r=Math.max(Math.min(r,Math.round(Math.log2(t/32))),8):a<4?r=Math.max(Math.min(r,Math.round(Math.log2(t/16))),8):a<5&&(r=Math.max(Math.min(r,Math.round(Math.log2(t/8))),8)),a>=5&&(r=Math.min(r,Math.round(Math.log2(t/4)))),{bucketBits:r,bucketCnt:2**r}}function Qt(){return ht.pop()||new Uint32Array(y)}function Ut(t){t.fill(0)&&ht.push(t)}q.onmessage=t=>{const n=t.data;if(n[xt]){let a=!ft||n[A]===0?E:G;a.minX=n[Dt],a.maxX=n[It],a.minY=n[yt],a.maxY=n[Wt],a.minZ=n[bt],a.maxZ=n[wt],a.xyz=new Float32Array(n[Ct].buffer),a.watermarkCount=n[Zt],a.version=n[L],a.renderSplatCount=n[Q],a.visibleSplatCount=n[U],a.modelSplatCount=n[j],a.textureReady=!0,a.textureReadyTime=Date.now()}else if(n[at]){const a=n[at];K=n[Nt],ut=n[vt],a[2]*=-1,a[6]*=-1,a[10]*=-1,a[14]*=-1,J=a,pt()}else n[Ft]?(V=Math.max(st,Math.min(n[ot]||T,ct)),g=n[O]||g,B=n[rt]||B,P=n[it]||P):n[tt]?Ut(n[tt]):n[gt]&&(ft=n[kt],y=n[Mt],V=Math.max(st,Math.min(n[ot]||T,ct)),g=n[O]||g,B=n[rt]||B,P=n[it]||P,dt=!0)}})();\n', Ba = typeof self < "u" && self.Blob && new Blob([Jo], { type: "text/javascript;charset=utf-8" });
2852
- function Nl(n) {
2851
+ const Ko = '(function(){"use strict";let l=0;l++;const _=`$${l++}`,tt=`$${l++}`;l++,l++,l++;const A=`$${l++}`,L=`$${l++}`,Q=`$${l++}`,U=`$${l++}`,j=`$${l++}`,et=`$${l++}`,nt=`$${l++}`,xt=`$${l++}`;l++;const kt=`$${l++}`,Mt=`$${l++}`;l++;const at=`$${l++}`;l++;const Ct=`$${l++}`;l++;const Dt=`$${l++}`,It=`$${l++}`,yt=`$${l++}`,Wt=`$${l++}`,bt=`$${l++}`,wt=`$${l++}`,gt=`$${l++}`,Zt=`$${l++}`,Nt=`$${l++}`,vt=`$${l++}`,ot=`$${l++}`,Ft=`$${l++}`,Bt=`$${l++}`,O=`$${l++}`,rt=`$${l++}`,it=`$${l++}`,lt=navigator.userAgent.includes("Mobi"),st=1,T=5,ct=9;var F=(t=>(t[t.Default=1]="Default",t[t.ZdepthFrontNearest2010=2010]="ZdepthFrontNearest2010",t[t.ZdepthFront2011=2011]="ZdepthFront2011",t[t.ZdepthFrontNearFar2012=2012]="ZdepthFrontNearFar2012",t[t.ZdepthFullNearFar2112=2112]="ZdepthFullNearFar2112",t))(F||{});const q=self;let E={index:0,version:0},G={index:1,version:0},dt=!1,V=T,g=F.Default,y=0,H,Pt=lt?.5:.2,J,X=[],N=new Int32Array(0),S=new Float32Array(0),Z=new Int32Array(0),R=new Int32Array(0),b=new Int32Array(0),ht=[],K,ut,mt=0,ft,B=.4,P=0;function St(t,n,a){if(!dt)return;let r=E.version>G.version?E:G;if(!r.version)return;const{xyz:o,renderSplatCount:d,visibleSplatCount:p,modelSplatCount:x,watermarkCount:$,index:W,version:m}=r;if(mt===m&&Math.abs(X[2]-t[2])+Math.abs(X[6]-t[6])+Math.abs(X[10]-t[10])+Math.abs(X[14]-t[14])<Pt)return;X=t,mt=m;let s=Date.now(),k;if(!d){const e=new Uint32Array(0);q.postMessage({[_]:e,[Q]:0,[U]:p,[j]:x,[A]:W,[L]:m,[nt]:0,[et]:s},[e.buffer]);return}let I=0,f=0,i=Qt();const u=d-$,M=g===1?V>T?At:z:Y,h=g===1?t:n,c=n[0]*a[0]+n[1]*a[1]+n[2]*a[2];let{maxDepth:D,minDepth:w}=Lt(r,h,M,c);if(D-w<=1e-5){for(let e=0;e<u;++e)i[e]=e;k=u+$}else{let e=v(y).bucketCnt;b.length<e?b=new Int32Array(e):b.fill(0),N.length<y&&(N=new Int32Array(y)),g!==F.Default&&S.length<y&&(S=new Float32Array(y)),g===F.ZdepthFrontNearest2010?(Z.length<y&&(Z=new Int32Array(y)),{renderCount:k,bucketBits:f}=Rt({depthIndex:i,depths:S,distances:N,counters:b,int32Tmp1:Z,xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,dotPos:c,sortCameraDir:n,depthNearRate:B,depthNearValue:P})):g===F.ZdepthFront2011?(Z.length<y&&(Z=new Int32Array(y)),{renderCount:k,bucketBits:f}=Vt({depthIndex:i,depths:S,distances:N,counters:b,int32Tmp1:Z,xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,dotPos:c,sortCameraDir:n})):g===F.ZdepthFrontNearFar2012?(Z.length<y&&(Z=new Int32Array(y)),R.length<y&&(R=new Int32Array(y)),{renderCount:k,bucketBits:f}=Xt({depthIndex:i,depths:S,distances:N,counters:b,int32Tmp1:Z,int32Tmp2:R,xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,dotPos:c,sortCameraDir:n,depthNearRate:B,depthNearValue:P})):g===F.ZdepthFullNearFar2112?(Z.length<y&&(Z=new Int32Array(y)),R.length<y&&(R=new Int32Array(y)),{renderCount:k,bucketBits:f}=Yt({depthIndex:i,depths:S,distances:N,counters:b,int32Tmp1:Z,int32Tmp2:R,xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,dotPos:c,sortCameraDir:n,depthNearRate:B,depthNearValue:P})):{renderCount:k,bucketBits:f}=Tt({depthIndex:i,distances:N,counters:b,xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,fnCalcDepth:M,sortViewProj:t})}$&&zt({xyz:o,dataCount:u,watermarkCount:$,maxDepth:D,minDepth:w,sortViewProj:t,depthIndex:i}),I=Date.now()-s,q.postMessage({[_]:i,[Q]:k,[U]:p,[j]:x,[A]:W,[L]:m,[et]:s,[nt]:I,[Bt]:f||16,[O]:g||1},[i.buffer])}function Rt(t){const{depthIndex:n,depths:a,distances:r,counters:o,int32Tmp1:d,xyz:p,dataCount:x,watermarkCount:$,minDepth:W,dotPos:m,sortCameraDir:s}=t,k=Math.min(t.maxDepth,0),I=t.depthNearValue?k-Math.abs(t.depthNearValue):k-(k-W)*t.depthNearRate;let f=0;for(let c=0;c<x;++c)a[c]=Y(s,p[3*c],p[3*c+1],p[3*c+2],m),d[f]=c,f+=(a[c]<=0&&a[c]>=I)|0;const i=f+$,{bucketBits:u,bucketCnt:M}=v(f),h=(M-1)/(k-I);for(let c=0,D=0;c<f;++c)D=(a[d[c]]-I)*h|0,o[r[c]=D]++;for(let c=1;c<M;++c)o[c]+=o[c-1];for(let c=0;c<f;++c)n[--o[r[c]]]=d[c];return{renderCount:i,bucketBits:u}}function Vt(t){const{depthIndex:n,depths:a,distances:r,counters:o,int32Tmp1:d,xyz:p,dataCount:x,watermarkCount:$,minDepth:W,dotPos:m,sortCameraDir:s}=t,k=Math.min(t.maxDepth,0);let I=0;for(let h=0;h<x;++h)a[h]=Y(s,p[3*h],p[3*h+1],p[3*h+2],m),d[I]=h,I+=a[h]<=0|0;const f=I+$,{bucketBits:i,bucketCnt:u}=v(I),M=(u-1)/(k-W);for(let h=0,c=0;h<I;++h)c=(a[d[h]]-W)*M|0,o[r[h]=c]++;for(let h=1;h<u;++h)o[h]+=o[h-1];for(let h=0;h<I;++h)n[--o[r[h]]]=d[h];return{renderCount:f,bucketBits:i}}function Xt(t){const{depthIndex:n,depths:a,distances:r,counters:o,int32Tmp1:d,int32Tmp2:p,xyz:x,dataCount:$,watermarkCount:W,maxDepth:m,minDepth:s,dotPos:k,sortCameraDir:I}=t,f=Math.min(m,0),i=t.depthNearValue?f-Math.abs(t.depthNearValue):f-(f-s)*t.depthNearRate;let u=0,M=0;for(let e=0,C=0,$t=0;e<$;++e)a[e]=Y(I,x[3*e],x[3*e+1],x[3*e+2],k),d[u]=e,p[M]=e,C=(a[e]<=0&&a[e]>=i)|0,$t=a[e]<i|0,u+=C,M+=$t;const h=u+M+W;let{bucketBits:c,bucketCnt:D}=v(M),w=(D-1)/(i-s);for(let e=0,C=0;e<M;++e)C=(a[p[e]]-s)*w|0,o[r[e]=C]++;for(let e=1;e<D;++e)o[e]+=o[e-1];for(let e=0;e<M;++e)n[--o[r[e]]]=p[e];o.fill(0),D=v(u).bucketCnt,w=(D-1)/(f-i);for(let e=0,C=0;e<u;++e)C=(a[d[e]]-i)*w|0,o[r[e]=C]++;for(let e=1;e<D;++e)o[e]+=o[e-1];for(let e=0;e<u;++e)n[--o[r[e]]+M]=d[e];return{renderCount:h,bucketBits:c}}function Yt(t){const{depthIndex:n,depths:a,distances:r,counters:o,int32Tmp1:d,int32Tmp2:p,xyz:x,dataCount:$,watermarkCount:W,maxDepth:m,minDepth:s,dotPos:k,sortCameraDir:I}=t,f=Math.min(m,0),i=t.depthNearValue?f-Math.abs(t.depthNearValue):f-(f-s)*t.depthNearRate;let u=0,M=0;for(let e=0,C=0;e<$;++e)a[e]=Y(I,x[3*e],x[3*e+1],x[3*e+2],k),d[u]=e,p[M]=e,C=(a[e]<=0&&a[e]>=i)|0,u+=C,M+=C^1;const h=u+M+W;let{bucketBits:c,bucketCnt:D}=v(M),w=(D-1)/(i-s);for(let e=0,C=0;e<M;++e)C=(a[p[e]]-s)*w|0,o[r[e]=C]++;for(let e=1;e<D;++e)o[e]+=o[e-1];for(let e=0;e<M;++e)n[--o[r[e]]]=p[e];o.fill(0),D=v(u).bucketCnt,w=(D-1)/(f-i);for(let e=0,C=0;e<u;++e)C=(a[d[e]]-i)*w|0,o[r[e]=C]++;for(let e=1;e<D;++e)o[e]+=o[e-1];for(let e=0;e<u;++e)n[--o[r[e]]+M]=d[e];return{renderCount:h,bucketBits:c}}function Tt(t){const{depthIndex:n,distances:a,counters:r,xyz:o,dataCount:d,watermarkCount:p,maxDepth:x,minDepth:$,fnCalcDepth:W,sortViewProj:m}=t,s=d+p;let{bucketBits:k,bucketCnt:I}=v(d),f=(I-1)/(x-$);for(let i=0,u=0;i<d;++i)u=(W(m,o[3*i],o[3*i+1],o[3*i+2])-$)*f|0,r[a[i]=u]++;for(let i=1;i<I;++i)r[i]+=r[i-1];for(let i=0;i<d;++i)n[--r[a[i]]]=i;return{renderCount:s,bucketBits:k}}function zt(t){let{xyz:n,dataCount:a,watermarkCount:r,maxDepth:o,minDepth:d,sortViewProj:p,depthIndex:x}=t;const $=a+r;let{bucketCnt:W}=v(r,1);o=d=z(p,n[3*a],n[3*a+1],n[3*a+2]);for(let m=a,s=0;m<$;++m)s=z(p,n[3*m],n[3*m+1],n[3*m+2]),o=Math.max(s,o),d=Math.min(s,d);if(o-d<=1e-5)for(let m=0;m<r;++m)x[a+m]=a+m;else{let m=(W-1)/(o-d);b.length<W?b=new Int32Array(W):b.fill(0);for(let s=a,k=0;s<$;++s)k=(z(p,n[3*s],n[3*s+1],n[3*s+2])-d)*m|0,b[N[s-a]=k]++;for(let s=1;s<W;++s)b[s]+=b[s-1];for(let s=0;s<r;++s)x[a+--b[N[s]]]=a+s}}function z(t,n,a,r){return t[2]*n+t[6]*a+t[10]*r}function At(t,n,a,r){return t[2]*n+t[6]*a+t[10]*r+t[14]}function Y(t,n,a,r,o){return o-t[0]*n-t[1]*a-t[2]*r}function Lt(t,n,a,r){let o=-1/0,d=1/0;const p=[[t.minX,t.minY,t.minZ],[t.minX,t.minY,t.maxZ],[t.minX,t.maxY,t.minZ],[t.minX,t.maxY,t.maxZ],[t.maxX,t.minY,t.minZ],[t.maxX,t.minY,t.maxZ],[t.maxX,t.maxY,t.minZ],[t.maxX,t.maxY,t.maxZ]];for(const x of p){const $=a(n,x[0],x[1],x[2],r);o=Math.max(o,$),d=Math.min(d,$)}return{maxDepth:o,minDepth:d}}const pt=()=>{if(!H){H=!0;const t=J,n=K;St(t,n,ut),setTimeout(()=>!(H=!1)&&(g===1?t!==J:n!=K)&&pt())}};function v(t,n=0){if(!t)return{bucketBits:1,bucketCnt:1};let a=n?Math.min(n,V):V,r=11+(lt?Math.max(a-1,1):a);return a<3?r=Math.max(Math.min(r,Math.round(Math.log2(t/32))),8):a<4?r=Math.max(Math.min(r,Math.round(Math.log2(t/16))),8):a<5&&(r=Math.max(Math.min(r,Math.round(Math.log2(t/8))),8)),a>=5&&(r=Math.min(r,Math.round(Math.log2(t/4)))),{bucketBits:r,bucketCnt:2**r}}function Qt(){return ht.pop()||new Uint32Array(y)}function Ut(t){t.fill(0)&&ht.push(t)}q.onmessage=t=>{const n=t.data;if(n[xt]){let a=!ft||n[A]===0?E:G;a.minX=n[Dt],a.maxX=n[It],a.minY=n[yt],a.maxY=n[Wt],a.minZ=n[bt],a.maxZ=n[wt],a.xyz=new Float32Array(n[Ct].buffer),a.watermarkCount=n[Zt],a.version=n[L],a.renderSplatCount=n[Q],a.visibleSplatCount=n[U],a.modelSplatCount=n[j],a.textureReady=!0,a.textureReadyTime=Date.now()}else if(n[at]){const a=n[at];K=n[Nt],ut=n[vt],a[2]*=-1,a[6]*=-1,a[10]*=-1,a[14]*=-1,J=a,pt()}else n[Ft]?(V=Math.max(st,Math.min(n[ot]||T,ct)),g=n[O]||g,B=n[rt]||B,P=n[it]||P):n[tt]?Ut(n[tt]):n[gt]&&(ft=n[kt],y=n[Mt],V=Math.max(st,Math.min(n[ot]||T,ct)),g=n[O]||g,B=n[rt]||B,P=n[it]||P,dt=!0)}})();\n', Qa = typeof self < "u" && self.Blob && new Blob([Ko], { type: "text/javascript;charset=utf-8" });
2852
+ function Hl(n) {
2853
2853
  let t;
2854
2854
  try {
2855
- if (t = Ba && (self.URL || self.webkitURL).createObjectURL(Ba), !t) throw "";
2855
+ if (t = Qa && (self.URL || self.webkitURL).createObjectURL(Qa), !t) throw "";
2856
2856
  const e = new Worker(t, {
2857
2857
  name: n?.name
2858
2858
  });
@@ -2861,7 +2861,7 @@ function Nl(n) {
2861
2861
  }), e;
2862
2862
  } catch {
2863
2863
  return new Worker(
2864
- "data:text/javascript;charset=utf-8," + encodeURIComponent(Jo),
2864
+ "data:text/javascript;charset=utf-8," + encodeURIComponent(Ko),
2865
2865
  {
2866
2866
  name: n?.name
2867
2867
  }
@@ -2870,39 +2870,39 @@ function Nl(n) {
2870
2870
  t && (self.URL || self.webkitURL).revokeObjectURL(t);
2871
2871
  }
2872
2872
  }
2873
- function zl(n) {
2874
- const t = (a, o, s) => n.on(a, o, s), e = (a, ...o) => n.fire(a, ...o), i = new Nl();
2875
- t($a, () => i), t(
2876
- to,
2873
+ function Ol(n) {
2874
+ const t = (a, o, s) => n.on(a, o, s), e = (a, ...o) => n.fire(a, ...o), i = new Hl();
2875
+ t(Ja, () => i), t(
2876
+ eo,
2877
2877
  () => i.postMessage({
2878
- [Al]: e(Xa),
2879
- [Il]: e(fo),
2880
- [wl]: e(Lt).toArray()
2878
+ [hl]: e(Za),
2879
+ [El]: e(po),
2880
+ [vl]: e(Lt).toArray()
2881
2881
  })
2882
- ), t(eo, () => i.terminate()), t(
2883
- us,
2882
+ ), t(no, () => i.terminate()), t(
2883
+ hs,
2884
2884
  () => i.postMessage({
2885
- [El]: !0,
2886
- [Ia]: e(Pi),
2887
- [Hi]: e(Ui),
2888
- [wa]: e(xt)?.meta?.depthNearRate,
2889
- [Ea]: e(xt)?.meta?.depthNearValue
2885
+ [xl]: !0,
2886
+ [wa]: e(Ui),
2887
+ [Oi]: e(Ni),
2888
+ [Ea]: e(xt)?.meta?.depthNearRate,
2889
+ [va]: e(xt)?.meta?.depthNearValue
2890
2890
  })
2891
2891
  ), (async () => i.postMessage({
2892
- [Cl]: !0,
2893
- [ll]: await e(Ee),
2894
- [cl]: e(Ct),
2895
- [Ia]: e(Pi),
2896
- [Hi]: e(Ui),
2897
- [wa]: e(xt)?.meta?.depthNearRate,
2898
- [Ea]: e(xt)?.meta?.depthNearValue
2892
+ [Il]: !0,
2893
+ [ul]: await e(Ee),
2894
+ [Al]: e(Ct),
2895
+ [wa]: e(Ui),
2896
+ [Oi]: e(Ni),
2897
+ [Ea]: e(xt)?.meta?.depthNearRate,
2898
+ [va]: e(xt)?.meta?.depthNearValue
2899
2899
  }))();
2900
2900
  }
2901
- class Hl extends Nn {
2901
+ class Yl extends zn {
2902
2902
  constructor(t = 0, e = 0, i = 0, a = 0, o = 0, s = 0) {
2903
2903
  super();
2904
2904
  const r = this, c = new Sn(), A = new pn({ color: "#ffffff" });
2905
- r.boxLines = new Ci(c, A), r.update(t, e, i, a, o, s), r.add(r.boxLines);
2905
+ r.boxLines = new yi(c, A), r.update(t, e, i, a, o, s), r.add(r.boxLines);
2906
2906
  }
2907
2907
  update(t, e, i, a, o, s, r) {
2908
2908
  const c = (a - t) / 8, A = (o - e) / 8, l = (s - i) / 8, u = [
@@ -2931,7 +2931,7 @@ class Hl extends Nn {
2931
2931
  this.boxLines = null;
2932
2932
  }
2933
2933
  }
2934
- function Ol(n, t) {
2934
+ function Gl(n, t) {
2935
2935
  const e = new DataView(n.buffer, n.byteOffset), i = 32, a = 500;
2936
2936
  let o = [], s = { x: 0, y: 0, z: 0 };
2937
2937
  for (let h = 0; h < t; h += a) {
@@ -2957,22 +2957,28 @@ class Nt extends pt {
2957
2957
  * 构造函数
2958
2958
  * @param options 渲染器、场景、相机都应该传入
2959
2959
  */
2960
- constructor(t) {
2960
+ constructor(t, e) {
2961
2961
  super(), this.isSplatMesh = !0, this.disposed = !1;
2962
- const e = this, i = new hs(), a = (l, u, g) => i.on(l, u, g), o = (l, ...u) => i.fire(l, ...u);
2963
- let s = !1;
2964
- const r = _l(t), c = r.controls.object;
2965
- a(_, () => r), a(ke, () => r.renderer.domElement), a(dt, () => c), a(en, () => c.fov), a(Lt, (l = !1) => l ? c.position.clone() : c.position), a(Ot, (l = !1) => l ? r.controls.target.clone() : r.controls.target), a(Xa, () => c.projectionMatrix.clone().multiply(c.matrixWorldInverse).multiply(e.matrix).toArray()), a(Za, () => c.projectionMatrix.clone().multiply(c.matrixWorldInverse)), a(fo, () => c.getWorldDirection(new Q()).toArray()), a(Ve, () => r.renderer), a(Y, () => r.scene), a(Ct, () => r.bigSceneMode), a(xi, () => r.pointcloudMode), a(xt, () => e), a(Pi, () => r.qualityLevel || Qe), a(Ui, () => r.sortType || Ke.Default), a(zo, () => s), a(et, () => r.viewerEvents?.fire(ct)), fs(i), Xc(i), zl(i), bl(i), Ml(i), e.name = `${r.name || e.id}`, e.events = i, e.opts = r, (async () => (e.copy(await i.fire(no)), e.meta.transform && e.applyMatrix4(new $t().fromArray(e.meta.transform)), e.frustumCulled = !1, e.onBeforeRender = () => {
2966
- o(to), o(so, performance.now());
2967
- }, e.onAfterRender = () => {
2968
- o(ro, 1e4) && o(et);
2969
- }, s = !0, o(Li)))();
2970
- const A = new Hl();
2971
- A.visible = !1, A.renderOrder = 99999, e.boundBox = A, e.add(A), a(Ti, (l, u, g, h, d, C, f, p) => {
2972
- A.update(l, u, g, h, d, C, f);
2973
- const y = Ol(p.splatData, p.dataSplatCount);
2974
- e.dir = new Q(y.x, y.y, y.z), e.len = C - g;
2975
- }), a(Nr, (l = !0) => A.visible = l);
2962
+ const i = this, a = new ds(), o = (u, g, h) => a.on(u, g, h), s = (u, ...g) => a.fire(u, ...g);
2963
+ let r = !1;
2964
+ const c = Pl(t), A = c.controls.object;
2965
+ o(_, () => c), o(ke, () => c.renderer.domElement), o(dt, () => A), o(en, () => A.fov), o(Lt, (u = !1) => u ? A.position.clone() : A.position), o(Ot, (u = !1) => u ? c.controls.target.clone() : c.controls.target), o(Za, () => A.projectionMatrix.clone().multiply(A.matrixWorldInverse).multiply(i.matrix).toArray()), o(to, () => A.projectionMatrix.clone().multiply(A.matrixWorldInverse)), o(po, () => A.getWorldDirection(new Q()).toArray()), o(Ve, () => c.renderer), o(Y, () => c.scene), o(Ct, () => c.bigSceneMode), o(Si, () => c.pointcloudMode), o(xt, () => i), o(Ui, () => c.qualityLevel || Qe), o(Ni, () => c.sortType || Ke.Default), o(Ho, () => r), o(et, () => c.viewerEvents?.fire(ct)), o(Un, () => {
2966
+ e?.fire(Un);
2967
+ }), ps(a), tl(a), Ol(a), Bl(a), Ql(a), i.name = `${c.name || i.id}`, i.globalEvent = e, i.events = a, i.opts = c, (async () => (i.copy(await a.fire(io)), i.meta.transform && i.applyMatrix4(new $t().fromArray(i.meta.transform)), i.frustumCulled = !1, i.onBeforeRender = () => {
2968
+ s(eo), s(ao, performance.now());
2969
+ }, i.onAfterRender = () => {
2970
+ s(co, 1e4) && s(et);
2971
+ }, r = !0, s(Ri)))();
2972
+ const l = new Yl();
2973
+ l.visible = !1, l.renderOrder = 99999, i.boundBox = l, i.add(l), o(Li, (u, g, h, d, C, f, p, y) => {
2974
+ l.update(u, g, h, d, C, f, p);
2975
+ try {
2976
+ const w = Gl(y.splatData, y.dataSplatCount);
2977
+ i.dir = new Q(w.x, w.y, w.z), i.len = f - h;
2978
+ } catch {
2979
+ }
2980
+ i.globalEvent?.fire(Oo, 0);
2981
+ }), o(Hr, (u = !0) => l.visible = u);
2976
2982
  }
2977
2983
  /**
2978
2984
  * 设定或者获取最新配置项
@@ -2983,7 +2989,7 @@ class Nt extends pt {
2983
2989
  const e = this;
2984
2990
  if (e.disposed) return;
2985
2991
  const i = (o, ...s) => e.events.fire(o, ...s), a = e.opts;
2986
- return t && (t.pointcloudMode !== void 0 && i(ce, t.pointcloudMode), t.lightFactor !== void 0 && i(qe, t.lightFactor), t.maxRenderCountOfMobile !== void 0 && (a.maxRenderCountOfMobile = t.maxRenderCountOfMobile), t.maxRenderCountOfPc !== void 0 && (a.maxRenderCountOfPc = t.maxRenderCountOfPc), t.qualityLevel !== void 0 && (a.qualityLevel = t.qualityLevel) && i(Li), !a.mapMode && t.sortType !== void 0 && (a.sortType = t.sortType) && i(us), i(et)), { ...a };
2992
+ return t && (t.pointcloudMode !== void 0 && i(ce, t.pointcloudMode), t.lightFactor !== void 0 && i(qe, t.lightFactor), t.maxRenderCountOfMobile !== void 0 && (a.maxRenderCountOfMobile = t.maxRenderCountOfMobile), t.maxRenderCountOfPc !== void 0 && (a.maxRenderCountOfPc = t.maxRenderCountOfPc), t.qualityLevel !== void 0 && (a.qualityLevel = t.qualityLevel) && i(Ri), !a.mapMode && t.sortType !== void 0 && (a.sortType = t.sortType) && i(hs), i(et)), { ...a };
2987
2993
  }
2988
2994
  /**
2989
2995
  * 添加渲染指定高斯模型
@@ -2992,7 +2998,7 @@ class Nt extends pt {
2992
2998
  */
2993
2999
  async addModel(t, e = {}) {
2994
3000
  const i = this;
2995
- i.disposed || (i.meta = e, await i.events.fire(oo, t, e));
3001
+ i.disposed || (i.meta = e, await i.events.fire(ro, t, e));
2996
3002
  }
2997
3003
  fire(t, ...e) {
2998
3004
  const i = this;
@@ -3007,15 +3013,15 @@ class Nt extends pt {
3007
3013
  if (t.disposed) return;
3008
3014
  t.disposed = !0;
3009
3015
  const e = (i, ...a) => t.events.fire(i, ...a);
3010
- e(jt, t), e(jt, t.boundBox), e(Y).remove(t), e(Y).remove(t.boundBox), e(ji), e(co), e(eo), e(lo), t.events.clear(), t.events = null, t.opts = null, t.onAfterRender = null, t.boundBox = null;
3016
+ e(jt, t), e(jt, t.boundBox), e(Y).remove(t), e(Y).remove(t.boundBox), e(Ki), e(lo), e(no), e(Ao), t.events.clear(), t.events = null, t.opts = null, t.onAfterRender = null, t.boundBox = null;
3011
3017
  }
3012
3018
  }
3013
- class Yl extends Nn {
3019
+ class ql extends zn {
3014
3020
  constructor(t = new Q(0, 0, 1), e = new Q(0, 0, 0), i = 1, a = 0.1, o = 16776960, s = i * 0.2, r = s * 0.2) {
3015
3021
  super(), this._axis = new Q(), this.type = "ArrowHelper";
3016
- const c = new ws(a, a, i, 32);
3022
+ const c = new Es(a, a, i, 32);
3017
3023
  c.translate(0, i / 2, 0);
3018
- const A = new ws(0, r, s, 32);
3024
+ const A = new Es(0, r, s, 32);
3019
3025
  A.translate(0, i, 0), this.position.copy(e);
3020
3026
  const l = new ee({ color: o, toneMapped: !1 });
3021
3027
  l.side = Jt, this.line = new pt(c, l), this.line.matrixAutoUpdate = !1, this.line.ignoreIntersect = !0, this.add(this.line);
@@ -3043,8 +3049,8 @@ class Yl extends Nn {
3043
3049
  this.line.geometry.dispose(), this.line.material.dispose(), this.cone.geometry.dispose(), this.cone.material.dispose();
3044
3050
  }
3045
3051
  }
3046
- function Gl(n) {
3047
- const t = (C, f, p) => n.on(C, f, p), e = (C, ...f) => n.fire(C, ...f), i = new fr(1, 1);
3052
+ function Vl(n) {
3053
+ const t = (C, f, p) => n.on(C, f, p), e = (C, ...f) => n.fire(C, ...f), i = new mr(1, 1);
3048
3054
  i.rotateX(-Math.PI / 2);
3049
3055
  const a = new ee({ color: 16777215 });
3050
3056
  a.transparent = !0, a.opacity = 0.6, a.depthTest = !1, a.depthWrite = !1, a.side = Jt;
@@ -3052,17 +3058,17 @@ function Gl(n) {
3052
3058
  o.ignoreIntersect = !0;
3053
3059
  const s = new Q(0, -1, 0);
3054
3060
  s.normalize();
3055
- const r = new Q(0, 0, 0), c = 0.5, A = 0.01, l = 16777062, u = 0.1, g = 0.03, h = new Yl(s, r, c, A, l, u, g), d = new Nn();
3056
- d.add(o), d.add(h), d.renderOrder = 99999, o.renderOrder = 99999, d.visible = !1, e(Y).add(d), t(Tr, () => d), t(In, (C) => {
3061
+ const r = new Q(0, 0, 0), c = 0.5, A = 0.01, l = 16777062, u = 0.1, g = 0.03, h = new ql(s, r, c, A, l, u, g), d = new zn();
3062
+ d.add(o), d.add(h), d.renderOrder = 99999, o.renderOrder = 99999, d.visible = !1, e(Y).add(d), t(Rr, () => d), t(In, (C) => {
3057
3063
  e(Tn, !0), d.visible = C === void 0 ? !d.visible : C, e(ct);
3058
- }), t(es, () => d.visible), t(Tn, (C = !1) => {
3064
+ }), t(ns, () => d.visible), t(Tn, (C = !1) => {
3059
3065
  if (C || d.visible) {
3060
3066
  const f = new be(), p = new Q(0, -1, 0);
3061
3067
  f.setFromUnitVectors(p, e(Be)), d.position.copy(e(Ot)), d.quaternion.copy(f);
3062
3068
  }
3063
3069
  });
3064
3070
  }
3065
- const Qa = { type: "change" }, Cs = { type: "start" }, jo = { type: "end" }, hn = new mr(), Da = new Cr(), ql = Math.cos(70 * te.DEG2RAD), at = new Q(), wt = 2 * Math.PI, tt = {
3071
+ const Da = { type: "change" }, ys = { type: "start" }, Xo = { type: "end" }, hn = new yr(), ka = new Ir(), Wl = Math.cos(70 * te.DEG2RAD), at = new Q(), wt = 2 * Math.PI, tt = {
3066
3072
  NONE: -1,
3067
3073
  ROTATE: 0,
3068
3074
  DOLLY: 1,
@@ -3071,10 +3077,10 @@ const Qa = { type: "change" }, Cs = { type: "start" }, jo = { type: "end" }, hn
3071
3077
  TOUCH_PAN: 4,
3072
3078
  TOUCH_DOLLY_PAN: 5,
3073
3079
  TOUCH_DOLLY_ROTATE: 6
3074
- }, di = 1e-6;
3075
- class Ko extends pr {
3080
+ }, gi = 1e-6;
3081
+ class Zo extends Cr {
3076
3082
  constructor(t, e = null) {
3077
- super(t, e), this.state = tt.NONE, this.enabled = !0, this.target = new Q(), this.cursor = new Q(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 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: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: Wt.ROTATE, MIDDLE: Wt.DOLLY, RIGHT: Wt.PAN }, this.touches = { ONE: Zt.ROTATE, TWO: Zt.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new Q(), this._lastQuaternion = new be(), this._lastTargetPosition = new Q(), this._quat = new be().setFromUnitVectors(t.up, new Q(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new Es(), this._sphericalDelta = new Es(), this._scale = 1, this._panOffset = new Q(), this._rotateStart = new ft(), this._rotateEnd = new ft(), this._rotateDelta = new ft(), this._panStart = new ft(), this._panEnd = new ft(), this._panDelta = new ft(), this._dollyStart = new ft(), this._dollyEnd = new ft(), this._dollyDelta = new ft(), this._dollyDirection = new Q(), this._mouse = new ft(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = Wl.bind(this), this._onPointerDown = Vl.bind(this), this._onPointerUp = $l.bind(this), this._onContextMenu = eA.bind(this), this._onMouseWheel = Kl.bind(this), this._onKeyDown = Xl.bind(this), this._onTouchStart = Zl.bind(this), this._onTouchMove = tA.bind(this), this._onMouseDown = Jl.bind(this), this._onMouseMove = jl.bind(this), this._interceptControlDown = nA.bind(this), this._interceptControlUp = iA.bind(this), this.domElement !== null && this.connect(), this.update();
3083
+ super(t, e), this.state = tt.NONE, this.enabled = !0, this.target = new Q(), this.cursor = new Q(), this.minDistance = 0, this.maxDistance = 1 / 0, this.minZoom = 0, this.maxZoom = 1 / 0, this.minTargetRadius = 0, this.maxTargetRadius = 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: "ArrowLeft", UP: "ArrowUp", RIGHT: "ArrowRight", BOTTOM: "ArrowDown" }, this.mouseButtons = { LEFT: Wt.ROTATE, MIDDLE: Wt.DOLLY, RIGHT: Wt.PAN }, this.touches = { ONE: Zt.ROTATE, TWO: Zt.DOLLY_PAN }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this._domElementKeyEvents = null, this._lastPosition = new Q(), this._lastQuaternion = new be(), this._lastTargetPosition = new Q(), this._quat = new be().setFromUnitVectors(t.up, new Q(0, 1, 0)), this._quatInverse = this._quat.clone().invert(), this._spherical = new vs(), this._sphericalDelta = new vs(), this._scale = 1, this._panOffset = new Q(), this._rotateStart = new ft(), this._rotateEnd = new ft(), this._rotateDelta = new ft(), this._panStart = new ft(), this._panEnd = new ft(), this._panDelta = new ft(), this._dollyStart = new ft(), this._dollyEnd = new ft(), this._dollyDelta = new ft(), this._dollyDirection = new Q(), this._mouse = new ft(), this._performCursorZoom = !1, this._pointers = [], this._pointerPositions = {}, this._controlActive = !1, this._onPointerMove = Jl.bind(this), this._onPointerDown = $l.bind(this), this._onPointerUp = jl.bind(this), this._onContextMenu = iA.bind(this), this._onMouseWheel = Zl.bind(this), this._onKeyDown = tA.bind(this), this._onTouchStart = eA.bind(this), this._onTouchMove = nA.bind(this), this._onMouseDown = Kl.bind(this), this._onMouseMove = Xl.bind(this), this._interceptControlDown = sA.bind(this), this._interceptControlUp = aA.bind(this), this.domElement !== null && this.connect(), this.update();
3078
3084
  }
3079
3085
  connect() {
3080
3086
  this.domElement.addEventListener("pointerdown", this._onPointerDown), this.domElement.addEventListener("pointercancel", this._onPointerUp), this.domElement.addEventListener("contextmenu", this._onContextMenu), this.domElement.addEventListener("wheel", this._onMouseWheel, { passive: !1 }), this.domElement.getRootNode().addEventListener("keydown", this._interceptControlDown, { passive: !0, capture: !0 }), this.domElement.style.touchAction = "none";
@@ -3104,7 +3110,7 @@ class Ko extends pr {
3104
3110
  this.target0.copy(this.target), this.position0.copy(this.object.position), this.zoom0 = this.object.zoom;
3105
3111
  }
3106
3112
  reset() {
3107
- this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(Qa), this.update(), this.state = tt.NONE;
3113
+ this.target.copy(this.target0), this.object.position.copy(this.position0), this.object.zoom = this.zoom0, this.object.updateProjectionMatrix(), this.dispatchEvent(Da), this.update(), this.state = tt.NONE;
3108
3114
  }
3109
3115
  update(t = null) {
3110
3116
  const e = this.object.position;
@@ -3134,12 +3140,12 @@ class Ko extends pr {
3134
3140
  A.unproject(this.object), this.object.position.sub(A).add(r), this.object.updateMatrixWorld(), s = at.length();
3135
3141
  } else
3136
3142
  console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."), this.zoomToCursor = !1;
3137
- s !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(s).add(this.object.position) : (hn.origin.copy(this.object.position), hn.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot(hn.direction)) < ql ? this.object.lookAt(this.target) : (Da.setFromNormalAndCoplanarPoint(this.object.up, this.target), hn.intersectPlane(Da, this.target))));
3143
+ s !== null && (this.screenSpacePanning ? this.target.set(0, 0, -1).transformDirection(this.object.matrix).multiplyScalar(s).add(this.object.position) : (hn.origin.copy(this.object.position), hn.direction.set(0, 0, -1).transformDirection(this.object.matrix), Math.abs(this.object.up.dot(hn.direction)) < Wl ? this.object.lookAt(this.target) : (ka.setFromNormalAndCoplanarPoint(this.object.up, this.target), hn.intersectPlane(ka, this.target))));
3138
3144
  } else if (this.object.isOrthographicCamera) {
3139
3145
  const s = this.object.zoom;
3140
3146
  this.object.zoom = Math.max(this.minZoom, Math.min(this.maxZoom, this.object.zoom / this._scale)), s !== this.object.zoom && (this.object.updateProjectionMatrix(), o = !0);
3141
3147
  }
3142
- return this._scale = 1, this._performCursorZoom = !1, o || this._lastPosition.distanceToSquared(this.object.position) > di || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > di || this._lastTargetPosition.distanceToSquared(this.target) > di ? (this.dispatchEvent(Qa), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), !0) : !1;
3148
+ return this._scale = 1, this._performCursorZoom = !1, o || this._lastPosition.distanceToSquared(this.object.position) > gi || 8 * (1 - this._lastQuaternion.dot(this.object.quaternion)) > gi || this._lastTargetPosition.distanceToSquared(this.target) > gi ? (this.dispatchEvent(Da), this._lastPosition.copy(this.object.position), this._lastQuaternion.copy(this.object.quaternion), this._lastTargetPosition.copy(this.target), !0) : !1;
3143
3149
  }
3144
3150
  _getAutoRotationAngle(t) {
3145
3151
  return t !== null ? wt / 60 * this.autoRotateSpeed * t : wt / 60 / 60 * this.autoRotateSpeed;
@@ -3331,16 +3337,16 @@ class Ko extends pr {
3331
3337
  return t.ctrlKey && !this._controlActive && (i.deltaY *= 10), i;
3332
3338
  }
3333
3339
  }
3334
- function Vl(n) {
3340
+ function $l(n) {
3335
3341
  this.enabled !== !1 && (this._pointers.length === 0 && (this.domElement.setPointerCapture(n.pointerId), this.domElement.addEventListener("pointermove", this._onPointerMove), this.domElement.addEventListener("pointerup", this._onPointerUp)), !this._isTrackingPointer(n) && (this._addPointer(n), n.pointerType === "touch" ? this._onTouchStart(n) : this._onMouseDown(n)));
3336
3342
  }
3337
- function Wl(n) {
3343
+ function Jl(n) {
3338
3344
  this.enabled !== !1 && (n.pointerType === "touch" ? this._onTouchMove(n) : this._onMouseMove(n));
3339
3345
  }
3340
- function $l(n) {
3346
+ function jl(n) {
3341
3347
  switch (this._removePointer(n), this._pointers.length) {
3342
3348
  case 0:
3343
- this.domElement.releasePointerCapture(n.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.domElement.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(jo), this.state = tt.NONE;
3349
+ this.domElement.releasePointerCapture(n.pointerId), this.domElement.removeEventListener("pointermove", this._onPointerMove), this.domElement.removeEventListener("pointerup", this._onPointerUp), this.dispatchEvent(Xo), this.state = tt.NONE;
3344
3350
  break;
3345
3351
  case 1:
3346
3352
  const t = this._pointers[0], e = this._pointerPositions[t];
@@ -3348,7 +3354,7 @@ function $l(n) {
3348
3354
  break;
3349
3355
  }
3350
3356
  }
3351
- function Jl(n) {
3357
+ function Kl(n) {
3352
3358
  let t;
3353
3359
  switch (n.button) {
3354
3360
  case 0:
@@ -3389,9 +3395,9 @@ function Jl(n) {
3389
3395
  default:
3390
3396
  this.state = tt.NONE;
3391
3397
  }
3392
- this.state !== tt.NONE && this.dispatchEvent(Cs);
3398
+ this.state !== tt.NONE && this.dispatchEvent(ys);
3393
3399
  }
3394
- function jl(n) {
3400
+ function Xl(n) {
3395
3401
  switch (this.state) {
3396
3402
  case tt.ROTATE:
3397
3403
  if (this.enableRotate === !1) return;
@@ -3407,13 +3413,13 @@ function jl(n) {
3407
3413
  break;
3408
3414
  }
3409
3415
  }
3410
- function Kl(n) {
3411
- this.enabled === !1 || this.enableZoom === !1 || this.state !== tt.NONE || (n.preventDefault(), this.dispatchEvent(Cs), this._handleMouseWheel(this._customWheelEvent(n)), this.dispatchEvent(jo));
3416
+ function Zl(n) {
3417
+ this.enabled === !1 || this.enableZoom === !1 || this.state !== tt.NONE || (n.preventDefault(), this.dispatchEvent(ys), this._handleMouseWheel(this._customWheelEvent(n)), this.dispatchEvent(Xo));
3412
3418
  }
3413
- function Xl(n) {
3419
+ function tA(n) {
3414
3420
  this.enabled !== !1 && this._handleKeyDown(n);
3415
3421
  }
3416
- function Zl(n) {
3422
+ function eA(n) {
3417
3423
  switch (this._trackPointer(n), this._pointers.length) {
3418
3424
  case 1:
3419
3425
  switch (this.touches.ONE) {
@@ -3446,9 +3452,9 @@ function Zl(n) {
3446
3452
  default:
3447
3453
  this.state = tt.NONE;
3448
3454
  }
3449
- this.state !== tt.NONE && this.dispatchEvent(Cs);
3455
+ this.state !== tt.NONE && this.dispatchEvent(ys);
3450
3456
  }
3451
- function tA(n) {
3457
+ function nA(n) {
3452
3458
  switch (this._trackPointer(n), this.state) {
3453
3459
  case tt.TOUCH_ROTATE:
3454
3460
  if (this.enableRotate === !1) return;
@@ -3470,16 +3476,16 @@ function tA(n) {
3470
3476
  this.state = tt.NONE;
3471
3477
  }
3472
3478
  }
3473
- function eA(n) {
3479
+ function iA(n) {
3474
3480
  this.enabled !== !1 && n.preventDefault();
3475
3481
  }
3476
- function nA(n) {
3482
+ function sA(n) {
3477
3483
  n.key === "Control" && (this._controlActive = !0, this.domElement.getRootNode().addEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
3478
3484
  }
3479
- function iA(n) {
3485
+ function aA(n) {
3480
3486
  n.key === "Control" && (this._controlActive = !1, this.domElement.getRootNode().removeEventListener("keyup", this._interceptControlUp, { passive: !0, capture: !0 }));
3481
3487
  }
3482
- class sA extends Ko {
3488
+ class oA extends Zo {
3483
3489
  constructor(t) {
3484
3490
  const e = t.camera;
3485
3491
  super(e, t.renderer.domElement);
@@ -3500,13 +3506,13 @@ class sA extends Ko {
3500
3506
  this._quat?.setFromUnitVectors?.(this.object.up, new Q(0, 1, 0)), this._quatInverse = this._quat?.clone?.()?.invert?.();
3501
3507
  }
3502
3508
  }
3503
- class aA extends Ko {
3509
+ class rA extends Zo {
3504
3510
  constructor(t, e) {
3505
3511
  super(t, e), this.screenSpacePanning = !1, this.mouseButtons = { LEFT: Wt.PAN, MIDDLE: Wt.DOLLY, RIGHT: Wt.ROTATE }, this.touches = { ONE: Zt.PAN, TWO: Zt.DOLLY_ROTATE };
3506
3512
  }
3507
3513
  }
3508
- const ka = new $i(), dn = new Q();
3509
- class Xo extends mi {
3514
+ const Ta = new Ji(), dn = new Q();
3515
+ class tr extends Ci {
3510
3516
  constructor() {
3511
3517
  super(), this.isLineSegmentsGeometry = !0, this.type = "LineSegmentsGeometry";
3512
3518
  const t = [-1, 2, 0, 1, 2, 0, -1, 1, 0, 1, 1, 0, -1, 0, 0, 1, 0, 0, -1, -1, 0, 1, -1, 0], e = [-1, 2, 1, 2, -1, 1, 1, 1, -1, -1, 1, -1, -1, -2, 1, -2], i = [0, 2, 1, 2, 3, 1, 2, 4, 3, 4, 5, 3, 4, 6, 5, 6, 7, 5];
@@ -3519,13 +3525,13 @@ class Xo extends mi {
3519
3525
  setPositions(t) {
3520
3526
  let e;
3521
3527
  t instanceof Float32Array ? e = t : Array.isArray(t) && (e = new Float32Array(t));
3522
- const i = new yi(e, 6, 1);
3528
+ const i = new Ii(e, 6, 1);
3523
3529
  return this.setAttribute("instanceStart", new ye(i, 3, 0)), this.setAttribute("instanceEnd", new ye(i, 3, 3)), this.instanceCount = this.attributes.instanceStart.count, this.computeBoundingBox(), this.computeBoundingSphere(), this;
3524
3530
  }
3525
3531
  setColors(t) {
3526
3532
  let e;
3527
3533
  t instanceof Float32Array ? e = t : Array.isArray(t) && (e = new Float32Array(t));
3528
- const i = new yi(e, 6, 1);
3534
+ const i = new Ii(e, 6, 1);
3529
3535
  return this.setAttribute("instanceColorStart", new ye(i, 3, 0)), this.setAttribute("instanceColorEnd", new ye(i, 3, 3)), this;
3530
3536
  }
3531
3537
  fromWireframeGeometry(t) {
@@ -3535,19 +3541,19 @@ class Xo extends mi {
3535
3541
  return this.setPositions(t.attributes.position.array), this;
3536
3542
  }
3537
3543
  fromMesh(t) {
3538
- return this.fromWireframeGeometry(new yr(t.geometry)), this;
3544
+ return this.fromWireframeGeometry(new wr(t.geometry)), this;
3539
3545
  }
3540
3546
  fromLineSegments(t) {
3541
3547
  const e = t.geometry;
3542
3548
  return this.setPositions(e.attributes.position.array), this;
3543
3549
  }
3544
3550
  computeBoundingBox() {
3545
- this.boundingBox === null && (this.boundingBox = new $i());
3551
+ this.boundingBox === null && (this.boundingBox = new Ji());
3546
3552
  const t = this.attributes.instanceStart, e = this.attributes.instanceEnd;
3547
- t !== void 0 && e !== void 0 && (this.boundingBox.setFromBufferAttribute(t), ka.setFromBufferAttribute(e), this.boundingBox.union(ka));
3553
+ t !== void 0 && e !== void 0 && (this.boundingBox.setFromBufferAttribute(t), Ta.setFromBufferAttribute(e), this.boundingBox.union(Ta));
3548
3554
  }
3549
3555
  computeBoundingSphere() {
3550
- this.boundingSphere === null && (this.boundingSphere = new Oa()), this.boundingBox === null && this.computeBoundingBox();
3556
+ this.boundingSphere === null && (this.boundingSphere = new Ya()), this.boundingBox === null && this.computeBoundingBox();
3551
3557
  const t = this.attributes.instanceStart, e = this.attributes.instanceEnd;
3552
3558
  if (t !== void 0 && e !== void 0) {
3553
3559
  const i = this.boundingSphere.center;
@@ -3575,7 +3581,7 @@ Cn.line = {
3575
3581
  // todo FIX - maybe change to totalSize
3576
3582
  };
3577
3583
  mn.line = {
3578
- uniforms: Ya.merge([
3584
+ uniforms: Ga.merge([
3579
3585
  Cn.common,
3580
3586
  Cn.fog,
3581
3587
  Cn.line
@@ -3959,11 +3965,11 @@ mn.line = {
3959
3965
  `
3960
3966
  )
3961
3967
  };
3962
- class De extends Na {
3968
+ class De extends za {
3963
3969
  constructor(t) {
3964
3970
  super({
3965
3971
  type: "LineMaterial",
3966
- uniforms: Ya.clone(mn.line.uniforms),
3972
+ uniforms: Ga.clone(mn.line.uniforms),
3967
3973
  vertexShader: mn.line.vertexShader,
3968
3974
  fragmentShader: mn.line.fragmentShader,
3969
3975
  clipping: !0
@@ -4037,12 +4043,12 @@ class De extends Na {
4037
4043
  this.defines && (t === !0 !== this.alphaToCoverage && (this.needsUpdate = !0), t === !0 ? this.defines.USE_ALPHA_TO_COVERAGE = "" : delete this.defines.USE_ALPHA_TO_COVERAGE);
4038
4044
  }
4039
4045
  }
4040
- const gi = new Gt(), Ta = new Q(), La = new Q(), lt = new Gt(), At = new Gt(), _t = new Gt(), fi = new Q(), pi = new $t(), ut = new Ir(), Ra = new Q(), gn = new $i(), fn = new Oa(), Ft = new Gt();
4046
+ const fi = new Gt(), La = new Q(), Ra = new Q(), lt = new Gt(), At = new Gt(), _t = new Gt(), pi = new Q(), mi = new $t(), ut = new Er(), _a = new Q(), gn = new Ji(), fn = new Ya(), Ft = new Gt();
4041
4047
  let Ht, Ae;
4042
- function _a(n, t, e) {
4048
+ function Fa(n, t, e) {
4043
4049
  return Ft.set(0, 0, -t, 1).applyMatrix4(n.projectionMatrix), Ft.multiplyScalar(1 / Ft.w), Ft.x = Ae / e.width, Ft.y = Ae / e.height, Ft.applyMatrix4(n.projectionMatrixInverse), Ft.multiplyScalar(1 / Ft.w), Math.abs(Math.max(Ft.x, Ft.y));
4044
4050
  }
4045
- function oA(n, t) {
4051
+ function cA(n, t) {
4046
4052
  const e = n.matrixWorld, i = n.geometry, a = i.attributes.instanceStart, o = i.attributes.instanceEnd, s = Math.min(i.instanceCount, a.count);
4047
4053
  for (let r = 0, c = s; r < c; r++) {
4048
4054
  ut.start.fromBufferAttribute(a, r), ut.end.fromBufferAttribute(o, r), ut.applyMatrix4(e);
@@ -4059,29 +4065,29 @@ function oA(n, t) {
4059
4065
  });
4060
4066
  }
4061
4067
  }
4062
- function rA(n, t, e) {
4068
+ function lA(n, t, e) {
4063
4069
  const i = t.projectionMatrix, o = n.material.resolution, s = n.matrixWorld, r = n.geometry, c = r.attributes.instanceStart, A = r.attributes.instanceEnd, l = Math.min(r.instanceCount, c.count), u = -t.near;
4064
- Ht.at(1, _t), _t.w = 1, _t.applyMatrix4(t.matrixWorldInverse), _t.applyMatrix4(i), _t.multiplyScalar(1 / _t.w), _t.x *= o.x / 2, _t.y *= o.y / 2, _t.z = 0, fi.copy(_t), pi.multiplyMatrices(t.matrixWorldInverse, s);
4070
+ Ht.at(1, _t), _t.w = 1, _t.applyMatrix4(t.matrixWorldInverse), _t.applyMatrix4(i), _t.multiplyScalar(1 / _t.w), _t.x *= o.x / 2, _t.y *= o.y / 2, _t.z = 0, pi.copy(_t), mi.multiplyMatrices(t.matrixWorldInverse, s);
4065
4071
  for (let g = 0, h = l; g < h; g++) {
4066
- if (lt.fromBufferAttribute(c, g), At.fromBufferAttribute(A, g), lt.w = 1, At.w = 1, lt.applyMatrix4(pi), At.applyMatrix4(pi), lt.z > u && At.z > u)
4072
+ if (lt.fromBufferAttribute(c, g), At.fromBufferAttribute(A, g), lt.w = 1, At.w = 1, lt.applyMatrix4(mi), At.applyMatrix4(mi), lt.z > u && At.z > u)
4067
4073
  continue;
4068
4074
  if (lt.z > u) {
4069
- const E = lt.z - At.z, b = (lt.z - u) / E;
4075
+ const w = lt.z - At.z, b = (lt.z - u) / w;
4070
4076
  lt.lerp(At, b);
4071
4077
  } else if (At.z > u) {
4072
- const E = At.z - lt.z, b = (At.z - u) / E;
4078
+ const w = At.z - lt.z, b = (At.z - u) / w;
4073
4079
  At.lerp(lt, b);
4074
4080
  }
4075
4081
  lt.applyMatrix4(i), At.applyMatrix4(i), lt.multiplyScalar(1 / lt.w), At.multiplyScalar(1 / At.w), lt.x *= o.x / 2, lt.y *= o.y / 2, At.x *= o.x / 2, At.y *= o.y / 2, ut.start.copy(lt), ut.start.z = 0, ut.end.copy(At), ut.end.z = 0;
4076
- const C = ut.closestPointToPointParameter(fi, !0);
4077
- ut.at(C, Ra);
4078
- const f = te.lerp(lt.z, At.z, C), p = f >= -1 && f <= 1, y = fi.distanceTo(Ra) < Ae * 0.5;
4082
+ const C = ut.closestPointToPointParameter(pi, !0);
4083
+ ut.at(C, _a);
4084
+ const f = te.lerp(lt.z, At.z, C), p = f >= -1 && f <= 1, y = pi.distanceTo(_a) < Ae * 0.5;
4079
4085
  if (p && y) {
4080
4086
  ut.start.fromBufferAttribute(c, g), ut.end.fromBufferAttribute(A, g), ut.start.applyMatrix4(s), ut.end.applyMatrix4(s);
4081
- const E = new Q(), b = new Q();
4082
- Ht.distanceSqToSegment(ut.start, ut.end, b, E), e.push({
4087
+ const w = new Q(), b = new Q();
4088
+ Ht.distanceSqToSegment(ut.start, ut.end, b, w), e.push({
4083
4089
  point: b,
4084
- pointOnLine: E,
4090
+ pointOnLine: w,
4085
4091
  distance: Ht.origin.distanceTo(b),
4086
4092
  object: n,
4087
4093
  face: null,
@@ -4092,16 +4098,16 @@ function rA(n, t, e) {
4092
4098
  }
4093
4099
  }
4094
4100
  }
4095
- class cA extends pt {
4096
- constructor(t = new Xo(), e = new De({ color: Math.random() * 16777215 })) {
4101
+ class AA extends pt {
4102
+ constructor(t = new tr(), e = new De({ color: Math.random() * 16777215 })) {
4097
4103
  super(t, e), this.isLineSegments2 = !0, this.type = "LineSegments2";
4098
4104
  }
4099
4105
  // for backwards-compatibility, but could be a method of LineSegmentsGeometry...
4100
4106
  computeLineDistances() {
4101
4107
  const t = this.geometry, e = t.attributes.instanceStart, i = t.attributes.instanceEnd, a = new Float32Array(2 * e.count);
4102
4108
  for (let s = 0, r = 0, c = e.count; s < c; s++, r += 2)
4103
- Ta.fromBufferAttribute(e, s), La.fromBufferAttribute(i, s), a[r] = r === 0 ? 0 : a[r - 1], a[r + 1] = a[r] + Ta.distanceTo(La);
4104
- const o = new yi(a, 2, 1);
4109
+ La.fromBufferAttribute(e, s), Ra.fromBufferAttribute(i, s), a[r] = r === 0 ? 0 : a[r - 1], a[r + 1] = a[r] + La.distanceTo(Ra);
4110
+ const o = new Ii(a, 2, 1);
4105
4111
  return t.setAttribute("instanceDistanceStart", new ye(o, 1, 0)), t.setAttribute("instanceDistanceEnd", new ye(o, 1, 1)), this;
4106
4112
  }
4107
4113
  raycast(t, e) {
@@ -4116,7 +4122,7 @@ class cA extends pt {
4116
4122
  A = Ae * 0.5;
4117
4123
  else {
4118
4124
  const u = Math.max(a.near, fn.distanceToPoint(Ht.origin));
4119
- A = _a(a, u, c.resolution);
4125
+ A = Fa(a, u, c.resolution);
4120
4126
  }
4121
4127
  if (fn.radius += A, Ht.intersectsSphere(fn) === !1)
4122
4128
  return;
@@ -4126,16 +4132,16 @@ class cA extends pt {
4126
4132
  l = Ae * 0.5;
4127
4133
  else {
4128
4134
  const u = Math.max(a.near, gn.distanceToPoint(Ht.origin));
4129
- l = _a(a, u, c.resolution);
4135
+ l = Fa(a, u, c.resolution);
4130
4136
  }
4131
- gn.expandByScalar(l), Ht.intersectsBox(gn) !== !1 && (i ? oA(this, e) : rA(this, a, e));
4137
+ gn.expandByScalar(l), Ht.intersectsBox(gn) !== !1 && (i ? cA(this, e) : lA(this, a, e));
4132
4138
  }
4133
4139
  onBeforeRender(t) {
4134
4140
  const e = this.material.uniforms;
4135
- e && e.resolution && (t.getViewport(gi), this.material.uniforms.resolution.value.set(gi.z, gi.w));
4141
+ e && e.resolution && (t.getViewport(fi), this.material.uniforms.resolution.value.set(fi.z, fi.w));
4136
4142
  }
4137
4143
  }
4138
- class Ze extends Xo {
4144
+ class Ze extends tr {
4139
4145
  constructor() {
4140
4146
  super(), this.isLineGeometry = !0, this.type = "LineGeometry";
4141
4147
  }
@@ -4162,13 +4168,13 @@ class Ze extends Xo {
4162
4168
  return this.setPositions(e.attributes.position.array), this;
4163
4169
  }
4164
4170
  }
4165
- class ue extends cA {
4171
+ class ue extends AA {
4166
4172
  constructor(t = new Ze(), e = new De({ color: Math.random() * 16777215 })) {
4167
4173
  super(t, e), this.isLine2 = !0, this.type = "Line2";
4168
4174
  }
4169
4175
  }
4170
- const Fa = new Q(), lA = new be(), Pa = new Q();
4171
- class AA extends Nn {
4176
+ const Pa = new Q(), uA = new be(), Ua = new Q();
4177
+ class hA extends zn {
4172
4178
  constructor(t = document.createElement("div")) {
4173
4179
  super(), this.isCSS3DObject = !0, this.element = t, this.element.style.position = "absolute", this.element.style.pointerEvents = "auto", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.addEventListener("removed", function() {
4174
4180
  this.traverse(function(e) {
@@ -4180,7 +4186,7 @@ class AA extends Nn {
4180
4186
  return super.copy(t, e), this.element = t.element.cloneNode(!0), this;
4181
4187
  }
4182
4188
  }
4183
- class mt extends AA {
4189
+ class mt extends hA {
4184
4190
  constructor(t) {
4185
4191
  super(t), this.isCSS3DSprite = !0, this.rotation2D = 0;
4186
4192
  }
@@ -4188,8 +4194,8 @@ class mt extends AA {
4188
4194
  return super.copy(t, e), this.rotation2D = t.rotation2D, this;
4189
4195
  }
4190
4196
  }
4191
- const Pt = new $t(), uA = new $t();
4192
- class hA {
4197
+ const Pt = new $t(), dA = new $t();
4198
+ class gA {
4193
4199
  constructor(t = {}) {
4194
4200
  const e = this;
4195
4201
  let i, a, o, s;
@@ -4209,9 +4215,9 @@ class hA {
4209
4215
  }, this.render = function(f, p) {
4210
4216
  const y = p.projectionMatrix.elements[5] * s;
4211
4217
  p.view && p.view.enabled ? (A.style.transform = `translate( ${-p.view.offsetX * (i / p.view.width)}px, ${-p.view.offsetY * (a / p.view.height)}px )`, A.style.transform += `scale( ${p.view.fullWidth / p.view.width}, ${p.view.fullHeight / p.view.height} )`) : A.style.transform = "", f.matrixWorldAutoUpdate === !0 && f.updateMatrixWorld(), p.parent === null && p.matrixWorldAutoUpdate === !0 && p.updateMatrixWorld();
4212
- let E, b;
4213
- p.isOrthographicCamera && (E = -(p.right + p.left) / 2, b = (p.top + p.bottom) / 2);
4214
- const D = p.view && p.view.enabled ? p.view.height / p.view.fullHeight : 1, v = p.isOrthographicCamera ? `scale( ${D} )scale(` + y + ")translate(" + u(E) + "px," + u(b) + "px)" + g(p.matrixWorldInverse) : `scale( ${D} )translateZ(` + y + "px)" + g(p.matrixWorldInverse), m = (p.isPerspectiveCamera ? "perspective(" + y + "px) " : "") + v + "translate(" + o + "px," + s + "px)";
4218
+ let w, b;
4219
+ p.isOrthographicCamera && (w = -(p.right + p.left) / 2, b = (p.top + p.bottom) / 2);
4220
+ const D = p.view && p.view.enabled ? p.view.height / p.view.fullHeight : 1, v = p.isOrthographicCamera ? `scale( ${D} )scale(` + y + ")translate(" + u(w) + "px," + u(b) + "px)" + g(p.matrixWorldInverse) : `scale( ${D} )translateZ(` + y + "px)" + g(p.matrixWorldInverse), m = (p.isPerspectiveCamera ? "perspective(" + y + "px) " : "") + v + "translate(" + o + "px," + s + "px)";
4215
4221
  r.camera.style !== m && (l.style.transform = m, r.camera.style = m), C(f, f, p);
4216
4222
  }, this.setSize = function(f, p) {
4217
4223
  i = f, a = p, o = i / 2, s = a / 2, c.style.width = f + "px", c.style.height = p + "px", A.style.width = f + "px", A.style.height = p + "px", l.style.width = f + "px", l.style.height = p + "px";
@@ -4232,7 +4238,7 @@ class hA {
4232
4238
  for (let p = 0, y = f.children.length; p < y; p++)
4233
4239
  d(f.children[p]);
4234
4240
  }
4235
- function C(f, p, y, E) {
4241
+ function C(f, p, y, w) {
4236
4242
  if (f.visible === !1) {
4237
4243
  d(f);
4238
4244
  return;
@@ -4242,7 +4248,7 @@ class hA {
4242
4248
  if (D.style.display = b === !0 ? "" : "none", b === !0) {
4243
4249
  f.onBeforeRender(e, p, y);
4244
4250
  let v;
4245
- f.isCSS3DSprite ? (Pt.copy(y.matrixWorldInverse), Pt.transpose(), f.rotation2D !== 0 && Pt.multiply(uA.makeRotationZ(f.rotation2D)), f.matrixWorld.decompose(Fa, lA, Pa), Pt.setPosition(Fa), Pt.scale(Pa), Pt.elements[3] = 0, Pt.elements[7] = 0, Pt.elements[11] = 0, Pt.elements[15] = 1, v = h(Pt)) : v = h(f.matrixWorld);
4251
+ f.isCSS3DSprite ? (Pt.copy(y.matrixWorldInverse), Pt.transpose(), f.rotation2D !== 0 && Pt.multiply(dA.makeRotationZ(f.rotation2D)), f.matrixWorld.decompose(Pa, uA, Ua), Pt.setPosition(Pa), Pt.scale(Ua), Pt.elements[3] = 0, Pt.elements[7] = 0, Pt.elements[11] = 0, Pt.elements[15] = 1, v = h(Pt)) : v = h(f.matrixWorld);
4246
4252
  const x = r.objects.get(f);
4247
4253
  if (x === void 0 || x.style !== v) {
4248
4254
  D.style.transform = v;
@@ -4257,7 +4263,7 @@ class hA {
4257
4263
  }
4258
4264
  }
4259
4265
  }
4260
- class Oi extends ue {
4266
+ class Yi extends ue {
4261
4267
  constructor(t) {
4262
4268
  super(), this.isMark = !0, this.disposed = !1, this.events = t;
4263
4269
  }
@@ -4396,9 +4402,9 @@ class Oi extends ue {
4396
4402
  }, C.oncontextmenu = (D) => D.preventDefault();
4397
4403
  const f = new mt(C);
4398
4404
  f.position.copy(a), f.element.style.pointerEvents = "none", f.scale.set(0.01, 0.01, 0.01), f.visible = i.mainTagVisible;
4399
- const y = (a.distanceTo(o) * e.events.fire(_).meterScale).toFixed(2) + " m", E = document.createElement("div");
4400
- E.innerHTML = `<span class="${d}-distance-tag ${d}-distance-tag0" style="color:${i.distanceTagColor};background:${i.distanceTagBackground};opacity:${i.distanceTagOpacity};padding: 1px 5px;border-radius: 4px;margin-bottom: 5px;user-select: none;font-size: 12px;pointer-events: none;">${y}</span>`, E.classList.add("mark-wrap-line", `${d}`, "distance-warp"), E.style.position = "absolute", E.style.borderRadius = "4px", E.style.pointerEvents = "none";
4401
- const b = new mt(E);
4405
+ const y = (a.distanceTo(o) * e.events.fire(_).meterScale).toFixed(2) + " m", w = document.createElement("div");
4406
+ w.innerHTML = `<span class="${d}-distance-tag ${d}-distance-tag0" style="color:${i.distanceTagColor};background:${i.distanceTagBackground};opacity:${i.distanceTagOpacity};padding: 1px 5px;border-radius: 4px;margin-bottom: 5px;user-select: none;font-size: 12px;pointer-events: none;">${y}</span>`, w.classList.add("mark-wrap-line", `${d}`, "distance-warp"), w.style.position = "absolute", w.style.borderRadius = "4px", w.style.pointerEvents = "none";
4407
+ const b = new mt(w);
4402
4408
  b.position.copy(s), b.element.style.pointerEvents = "none", b.scale.set(8e-3, 8e-3, 8e-3), b.visible = i.distanceTagVisible, e.add(u, g, f, b), e.data = i, e.circleStart = u, e.circleEnd = g, e.css3dTag = b, e.css3dMainTag = f, e.events.fire(ne, e);
4403
4409
  }
4404
4410
  getMarkData(t = !1) {
@@ -4411,7 +4417,7 @@ class Oi extends ue {
4411
4417
  t.disposed = !0, t.events.fire(jt, t), t.events.fire(Y).remove(t), t.events.fire(Te, t), document.querySelectorAll(`.${t.data.name}`).forEach((i) => i.parentElement?.removeChild(i)), t.events = null, t.data = null, t.circleStart = null, t.circleEnd = null, t.css3dTag = null, t.css3dMainTag = null;
4412
4418
  }
4413
4419
  }
4414
- class Yi extends ue {
4420
+ class Gi extends ue {
4415
4421
  constructor(t) {
4416
4422
  super(), this.isMark = !0, this.disposed = !1, this.css3dTags = [], this.group = new tn(), this.add(this.group), this.events = t;
4417
4423
  }
@@ -4545,7 +4551,7 @@ class Yi extends ue {
4545
4551
  t.disposed = !0, t.events.fire(jt, t), t.events.fire(Y).remove(t), t.events.fire(Te, t), t.geometry.dispose(), t.material.dispose(), document.querySelectorAll(`.${t.data.name}`).forEach((i) => i.parentElement?.removeChild(i)), t.events = null, t.data = null, t.css3dTags = null, t.group = null;
4546
4552
  }
4547
4553
  }
4548
- class Zo extends tn {
4554
+ class er extends tn {
4549
4555
  constructor(t, e, i) {
4550
4556
  super(), this.isMark = !0, this.disposed = !1, this.events = t;
4551
4557
  const a = this;
@@ -4639,7 +4645,7 @@ class Zo extends tn {
4639
4645
  e?.parentElement?.removeChild?.(e), t.events = null, t.data = null, t.css3dTag = null;
4640
4646
  }
4641
4647
  }
4642
- class Gi extends ue {
4648
+ class qi extends ue {
4643
4649
  constructor(t) {
4644
4650
  super(), this.isMark = !0, this.disposed = !1, this.css3dTags = [], this.group = new tn(), this.add(this.group), this.events = t;
4645
4651
  }
@@ -4684,9 +4690,9 @@ class Gi extends ue {
4684
4690
  o.data.points[s - 3] = i.x, o.data.points[s - 2] = i.y, o.data.points[s - 1] = i.z;
4685
4691
  const r = o.css3dTags.length - 1, c = new Q().fromArray(o.data.points.slice(s - 6, s - 3)), A = new Q().fromArray(o.data.points.slice(s - 3)), l = new Q((c.x + A.x) / 2, (c.y + A.y) / 2, (c.z + A.z) / 2), u = c.distanceTo(A), g = (u * o.events.fire(_).meterScale).toFixed(2) + " m";
4686
4692
  o.css3dTags[r].element.innerText = g, o.geometry.setPositions([...o.data.points]), o.css3dTags[r].position.set(l.x, l.y, l.z), o.css3dTags[r].visible = a ? !0 : u > 0.5, o.meshPlans.geometry.setAttribute("position", new Ce(new Float32Array(o.data.points), 3)), o.meshPlans.geometry.attributes.position.needsUpdate = !0;
4687
- const h = o.events.fire(Ii, o.data.points);
4693
+ const h = o.events.fire(wi, o.data.points);
4688
4694
  o.css3dAreaTag.position.copy(h);
4689
- const d = o.events.fire(wi, o.data.points);
4695
+ const d = o.events.fire(Ei, o.data.points);
4690
4696
  o.css3dAreaTag.element.childNodes[0].innerText = d.toFixed(2) + " m²";
4691
4697
  }
4692
4698
  if (t?.lineColor && (e && (o.data.lineColor = t.lineColor), o.material.color.set(t.lineColor), o.meshPlans.material.color.set(t.lineColor)), t?.lineWidth && (e && (o.data.lineWidth = t.lineWidth), o.material.linewidth = t.lineWidth), t?.mainTagColor && (e && (o.data.mainTagColor = t.mainTagColor), document.querySelector(`.${o.data.name}-main-tag`).style.color = t.mainTagColor), t?.mainTagBackground && (e && (o.data.mainTagBackground = t.mainTagBackground), document.querySelector(`.${o.data.name}-main-tag`).style.background = t.mainTagBackground), t?.mainTagOpacity && (e && (o.data.mainTagOpacity = t.mainTagOpacity), document.querySelector(`.${o.data.name}-main-tag`).style.opacity = t.mainTagOpacity.toString()), t?.mainTagVisible !== void 0 && (e && (o.data.mainTagVisible = t.mainTagVisible), o.css3dMainTag.visible = t.mainTagVisible), t?.areaTagVisible !== void 0 && (e && (o.data.areaTagVisible = t.areaTagVisible), o.css3dAreaTag.visible = t.areaTagVisible), t?.areaTagColor) {
@@ -4716,7 +4722,7 @@ class Gi extends ue {
4716
4722
  let a, o;
4717
4723
  for (let r = 1; r < i.length; r++)
4718
4724
  a = i[r - 1], o = i[r], e.css3dTags[r - 1].element.innerText = (a.distanceTo(o) * t).toFixed(2) + " m";
4719
- const s = e.events.fire(Wa, i, t);
4725
+ const s = e.events.fire($a, i, t);
4720
4726
  e.css3dAreaTag.element.childNodes[0].innerText = s.toFixed(2) + " m²";
4721
4727
  }
4722
4728
  /**
@@ -4779,7 +4785,7 @@ class Gi extends ue {
4779
4785
  const d = new mt(h);
4780
4786
  d.position.set(a.points[0], a.points[1], a.points[2]), d.element.style.pointerEvents = "none", d.scale.set(0.01, 0.01, 0.01), d.visible = a.mainTagVisible, i.group.add(d), i.css3dMainTag = d;
4781
4787
  }
4782
- const u = i.events.fire(wi, a.points).toFixed(2) + " m²", g = i.events.fire(Ii, a.points);
4788
+ const u = i.events.fire(Ei, a.points).toFixed(2) + " m²", g = i.events.fire(wi, a.points);
4783
4789
  if (i.css3dAreaTag)
4784
4790
  i.css3dAreaTag.position.copy(g), i.css3dAreaTag.element.childNodes[0].innerText = u;
4785
4791
  else {
@@ -4790,9 +4796,9 @@ class Gi extends ue {
4790
4796
  }
4791
4797
  i.css3dAreaTag.visible = a.points.length > 6 && a.areaTagVisible;
4792
4798
  for (let h = i.css3dTags.length; h < l; h++) {
4793
- const d = new Q().fromArray(a.points.slice(h * 3, h * 3 + 3)), C = new Q().fromArray(a.points.slice(h * 3 + 3, h * 3 + 6)), f = new Q((d.x + C.x) / 2, (d.y + C.y) / 2, (d.z + C.z) / 2), y = (d.distanceTo(C) * i.events.fire(_).meterScale).toFixed(2) + " m", E = document.createElement("div");
4794
- E.innerText = y, E.style.color = "white", E.classList.add("mark-wrap-plans", `${A}`, "distance-warp"), E.style.position = "absolute", E.style.borderRadius = "4px", E.style.display = "none";
4795
- const b = new mt(E);
4799
+ const d = new Q().fromArray(a.points.slice(h * 3, h * 3 + 3)), C = new Q().fromArray(a.points.slice(h * 3 + 3, h * 3 + 6)), f = new Q((d.x + C.x) / 2, (d.y + C.y) / 2, (d.z + C.z) / 2), y = (d.distanceTo(C) * i.events.fire(_).meterScale).toFixed(2) + " m", w = document.createElement("div");
4800
+ w.innerText = y, w.style.color = "white", w.classList.add("mark-wrap-plans", `${A}`, "distance-warp"), w.style.position = "absolute", w.style.borderRadius = "4px", w.style.display = "none";
4801
+ const b = new mt(w);
4796
4802
  b.position.copy(f), b.element.style.pointerEvents = "none", b.scale.set(8e-3, 8e-3, 8e-3), b.visible = a.distanceTagVisible, i.css3dTags.push(b), i.group.add(b);
4797
4803
  }
4798
4804
  i.drawPlans(a), e || (i.css3dTags[i.css3dTags.length - 1].visible = !1), i.data = a, i.events.fire(ne, i);
@@ -4833,7 +4839,7 @@ class Gi extends ue {
4833
4839
  t.disposed = !0, t.events.fire(jt, t), t.events.fire(Y).remove(t), t.events.fire(Te, t), t.geometry.dispose(), t.material.dispose(), document.querySelectorAll(`.${t.data.name}`).forEach((i) => i.parentElement?.removeChild(i)), t.events = null, t.data = null, t.css3dTags = null, t.group = null, t.meshPlans = null, t.css3dMainTag = null, t.css3dAreaTag = null;
4834
4840
  }
4835
4841
  }
4836
- class tr extends tn {
4842
+ class nr extends tn {
4837
4843
  constructor(t) {
4838
4844
  super(), this.isMark = !0, this.disposed = !1, this.events = t;
4839
4845
  }
@@ -4970,38 +4976,38 @@ class tr extends tn {
4970
4976
  t.disposed = !0, t.events.fire(jt, t), t.events.fire(Y).remove(t), t.events.fire(Te, t), document.querySelectorAll(`.${t.data.name}`).forEach((i) => i.parentElement?.removeChild(i)), t.events = null, t.data = null, t.circleMesh = null, t.css3dTag = null, t.css3dMainTag = null;
4971
4977
  }
4972
4978
  }
4973
- let dA = class {
4979
+ let fA = class {
4974
4980
  constructor() {
4975
4981
  this.down = 0, this.move = !1, this.downTime = 0, this.isDbClick = !1, this.x = 0, this.y = 0, this.lastClickX = 0, this.lastClickY = 0, this.lastClickPointTime = 0, this.lastMovePoint = null, this.lastMovePointTime = 0;
4976
4982
  }
4977
4983
  };
4978
- function gA(n) {
4979
- const t = (m, w, M) => n.on(m, w, M), e = (m, ...w) => n.fire(m, ...w), i = e(ke);
4980
- let a = /* @__PURE__ */ new Set(), o, s = new dA(), r;
4981
- t(bs, () => {
4984
+ function pA(n) {
4985
+ const t = (m, E, M) => n.on(m, E, M), e = (m, ...E) => n.fire(m, ...E), i = e(ke);
4986
+ let a = /* @__PURE__ */ new Set(), o, s = new fA(), r;
4987
+ t(Ms, () => {
4982
4988
  e(Z).autoRotate = e(_).autoRotate = !0;
4983
4989
  }), t(ht, (m = !0) => {
4984
4990
  e(Z).autoRotate = e(_).autoRotate = !1, m && e(_n);
4985
- }), t(Jn, (m = !0) => {
4991
+ }), t(jn, (m = !0) => {
4986
4992
  if (o) return;
4987
- const w = e(Z), M = m ? Math.PI / 128 : -(Math.PI / 128), S = new $t().makeRotationAxis(new Q(0, 0, -1).transformDirection(w.object.matrixWorld), M);
4988
- w.object.up.transformDirection(S), e(ct);
4989
- }), t(_s, () => {
4990
- o || n.fire(Jn, !0);
4993
+ const E = e(Z), M = m ? Math.PI / 128 : -(Math.PI / 128), S = new $t().makeRotationAxis(new Q(0, 0, -1).transformDirection(E.object.matrixWorld), M);
4994
+ E.object.up.transformDirection(S), e(ct);
4991
4995
  }), t(Fs, () => {
4992
- o || n.fire(Jn, !1);
4996
+ o || n.fire(jn, !0);
4997
+ }), t(Ps, () => {
4998
+ o || n.fire(jn, !1);
4993
4999
  }), t(Ln, (m) => {
4994
- const w = e(_);
4995
- m ?? (m = !w.pointcloudMode), w.pointcloudMode = m, e(Y).traverse((S) => S instanceof Nt && S.fire(ce, m));
5000
+ const E = e(_);
5001
+ m ?? (m = !E.pointcloudMode), E.pointcloudMode = m, e(Y).traverse((S) => S instanceof Nt && S.fire(ce, m));
4996
5002
  }), t(Rn, () => {
4997
- e(Y).traverse((w) => w instanceof Nt && w.fire(Si));
5003
+ e(Y).traverse((E) => E instanceof Nt && E.fire(bi));
4998
5004
  }), t(qe, (m) => {
4999
5005
  e(Y).traverse((M) => M instanceof Nt && M.fire(qe, m));
5000
- }), t(zs, () => {
5006
+ }), t(Hs, () => {
5001
5007
  const m = e(Y);
5002
- let w;
5003
- m.traverse((M) => M instanceof Nt && (w = M)), w && e(Ei, w.fire(Mo));
5004
- }), t(Hn, () => {
5008
+ let E;
5009
+ m.traverse((M) => M instanceof Nt && (E = M)), E && e(vi, E.fire(Bo));
5010
+ }), t(On, () => {
5005
5011
  if (!a.size) return;
5006
5012
  const m = e(_);
5007
5013
  if (!m.enableKeyboard) return a.clear();
@@ -5009,31 +5015,31 @@ function gA(n) {
5009
5015
  e(Pe), a.clear();
5010
5016
  return;
5011
5017
  }
5012
- a.has("Space") ? (m.bigSceneMode ? e(Ln) : e(Rn), a.clear()) : a.has("KeyR") ? (m.autoRotate ? e(ht) : e(bs), a.clear()) : a.has("KeyM") ? (e($e, !m.markVisible), a.clear()) : a.has("ArrowLeft") ? (e(_s), e(In, !0), a.clear()) : a.has("ArrowRight") ? (e(Fs), e(In, !0), a.clear()) : a.has("KeyP") ? (e(Je, !0), a.clear()) : a.has("Equal") ? (e(as), a.clear()) : a.has("Minus") ? (e(rs), a.clear()) : a.has("KeyY") ? (e(os, !1), e(Qi), a.clear()) : a.has("KeyI") ? (e(Eo), a.clear()) : a.has("KeyF") ? (e(zs), a.clear()) : a.has("F2") ? (!m.bigSceneMode && window.open("/editor/index.html?url=" + encodeURIComponent(e(xt).meta.url)), a.clear()) : a.has("KeyW") ? (mA(e(Z), 0.15), a.clear()) : a.has("KeyS") ? (CA(e(Z), 0.15), a.clear()) : a.has("KeyA") ? (fA(e(Z), 0.15), a.clear()) : a.has("KeyD") ? (pA(e(Z), 0.15), a.clear()) : a.has("KeyQ") ? (yA(e(Z)), a.clear()) : a.has("KeyE") ? (IA(e(Z)), a.clear()) : a.has("KeyC") ? (wA(e(Z)), a.clear()) : a.has("KeyZ") && (EA(e(Z)), a.clear());
5013
- }), t(Oe, async (m, w) => {
5018
+ a.has("Space") ? (m.bigSceneMode ? e(Ln) : e(Rn), a.clear()) : a.has("KeyR") ? (m.autoRotate ? e(ht) : e(Ms), a.clear()) : a.has("KeyM") ? (e($e, !m.markVisible), a.clear()) : a.has("ArrowLeft") ? (e(Fs), e(In, !0), a.clear()) : a.has("ArrowRight") ? (e(Ps), e(In, !0), a.clear()) : a.has("KeyP") ? (e(Je, !0), a.clear()) : a.has("Equal") ? (e(os), a.clear()) : a.has("Minus") ? (e(cs), a.clear()) : a.has("KeyY") ? (e(rs, !1), e(Di), a.clear()) : a.has("KeyI") ? (e(vo), a.clear()) : a.has("KeyF") ? (e(Hs), a.clear()) : a.has("F2") ? (!m.bigSceneMode && window.open("/editor/index.html?url=" + encodeURIComponent(e(xt).meta.url)), a.clear()) : a.has("KeyW") ? (yA(e(Z), 0.15), a.clear()) : a.has("KeyS") ? (IA(e(Z), 0.15), a.clear()) : a.has("KeyA") ? (mA(e(Z), 0.15), a.clear()) : a.has("KeyD") ? (CA(e(Z), 0.15), a.clear()) : a.has("KeyQ") ? (wA(e(Z)), a.clear()) : a.has("KeyE") ? (EA(e(Z)), a.clear()) : a.has("KeyC") ? (vA(e(Z)), a.clear()) : a.has("KeyZ") && (xA(e(Z)), a.clear());
5019
+ }), t(Oe, async (m, E) => {
5014
5020
  if (s.move) return;
5015
- const M = await e(kn, m, w);
5016
- M.length && e(Ei, M[0], !0, !1);
5017
- }), t(Mt, async (m, w) => {
5021
+ const M = await e(kn, m, E);
5022
+ M.length && e(vi, M[0], !0, !1);
5023
+ }), t(Mt, async (m, E) => {
5018
5024
  const M = e(Y), S = [];
5019
5025
  M.traverse((T) => T instanceof Nt && S.push(T));
5020
- const L = await e(kn, m, w);
5026
+ const L = await e(kn, m, E);
5021
5027
  return L.length ? (S.length && S[0].fire(yn, L[0].x, L[0].y, L[0].z, !0), new Q(L[0].x, L[0].y, L[0].z)) : (S.length && S[0].fire(yn, 0, 0, 0, !1), null);
5022
- }), t(ts, async () => {
5023
- const m = e(Y), w = [];
5024
- m.traverse((M) => M instanceof Nt && w.push(M));
5025
- for (let M = 0; M < w.length; M++)
5026
- w[M].fire(yn, 0, 0, 0, !1);
5028
+ }), t(es, async () => {
5029
+ const m = e(Y), E = [];
5030
+ m.traverse((M) => M instanceof Nt && E.push(M));
5031
+ for (let M = 0; M < E.length; M++)
5032
+ E[M].fire(yn, 0, 0, 0, !1);
5027
5033
  });
5028
5034
  const c = (m) => {
5029
5035
  m.target.type !== "text" && (o || m.code === "F5" || (m.preventDefault(), m.code !== "KeyR" && (a.add(m.code), e(ht)), r = Date.now()));
5030
5036
  }, A = (m) => {
5031
- m.target.type !== "text" && (o || (m.code === "KeyR" && a.add(m.code), (m.code === "ArrowLeft" || m.code === "ArrowRight") && e(Ka), r = Date.now()));
5037
+ m.target.type !== "text" && (o || (m.code === "KeyR" && a.add(m.code), (m.code === "ArrowLeft" || m.code === "ArrowRight") && e(Xa), r = Date.now()));
5032
5038
  };
5033
5039
  t(
5034
5040
  de,
5035
5041
  () => {
5036
- e(es) && Date.now() - r > 2e3 && (e(In, !1), e(Qi));
5042
+ e(ns) && Date.now() - r > 2e3 && (e(In, !1), e(Di));
5037
5043
  },
5038
5044
  !0
5039
5045
  );
@@ -5053,31 +5059,31 @@ function gA(n) {
5053
5059
  }, y = async (m) => {
5054
5060
  if (m.preventDefault(), o) return;
5055
5061
  s.down && (s.move = !0, r = Date.now());
5056
- const w = e(_);
5057
- if (w.markMode) {
5062
+ const E = e(_);
5063
+ if (E.markMode) {
5058
5064
  const M = await e(Mt, m.clientX, m.clientY);
5059
- M && !s.down && w.markType === "distance" && h ? h.drawUpdate({ endPoint: M.toArray() }) : !s.down && w.markType === "circle" && f ? M ? (f.drawUpdate(null, !0, M), s.lastMovePoint = M, s.lastMovePointTime = Date.now()) : (s.lastMovePoint = null, s.lastMovePointTime = 0) : !s.down && w.markType === "lines" && d ? M ? (d.drawUpdate(null, !0, M), s.lastMovePoint = M, s.lastMovePointTime = Date.now()) : (s.lastMovePoint = null, s.lastMovePointTime = 0) : !s.down && w.markType === "plans" && C && (M ? (C.drawUpdate(null, !0, M), s.lastMovePoint = M, s.lastMovePointTime = Date.now()) : (s.lastMovePoint = null, s.lastMovePointTime = 0));
5065
+ M && !s.down && E.markType === "distance" && h ? h.drawUpdate({ endPoint: M.toArray() }) : !s.down && E.markType === "circle" && f ? M ? (f.drawUpdate(null, !0, M), s.lastMovePoint = M, s.lastMovePointTime = Date.now()) : (s.lastMovePoint = null, s.lastMovePointTime = 0) : !s.down && E.markType === "lines" && d ? M ? (d.drawUpdate(null, !0, M), s.lastMovePoint = M, s.lastMovePointTime = Date.now()) : (s.lastMovePoint = null, s.lastMovePointTime = 0) : !s.down && E.markType === "plans" && C && (M ? (C.drawUpdate(null, !0, M), s.lastMovePoint = M, s.lastMovePointTime = Date.now()) : (s.lastMovePoint = null, s.lastMovePointTime = 0));
5060
5066
  }
5061
- }, E = async (m) => {
5067
+ }, w = async (m) => {
5062
5068
  if (m.preventDefault(), o) return;
5063
- const w = e(_);
5064
- if (s.isDbClick && (d ? Math.abs(m.clientX - s.lastClickX) < 2 && Math.abs(m.clientY - s.lastClickY) < 2 && (d.drawFinish(s.lastClickPointTime > 0), d = null, s.lastMovePoint = null) : C && Math.abs(m.clientX - s.lastClickX) < 2 && Math.abs(m.clientY - s.lastClickY) < 2 && (C.drawFinish(s.lastClickPointTime > 0), C = null, s.lastMovePoint = null)), w.markMode && s.down === 1 && !s.move && Date.now() - s.downTime < 500) {
5065
- if (w.markType === "point") {
5069
+ const E = e(_);
5070
+ if (s.isDbClick && (d ? Math.abs(m.clientX - s.lastClickX) < 2 && Math.abs(m.clientY - s.lastClickY) < 2 && (d.drawFinish(s.lastClickPointTime > 0), d = null, s.lastMovePoint = null) : C && Math.abs(m.clientX - s.lastClickX) < 2 && Math.abs(m.clientY - s.lastClickY) < 2 && (C.drawFinish(s.lastClickPointTime > 0), C = null, s.lastMovePoint = null)), E.markMode && s.down === 1 && !s.move && Date.now() - s.downTime < 500) {
5071
+ if (E.markType === "point") {
5066
5072
  if (await e(Mt, m.clientX, m.clientY)) {
5067
- const S = new Zo(n, await e(Mt, m.clientX, m.clientY));
5073
+ const S = new er(n, await e(Mt, m.clientX, m.clientY));
5068
5074
  e(Y).add(S), S.drawFinish();
5069
5075
  }
5070
- } else if (w.markType === "distance")
5076
+ } else if (E.markType === "distance")
5071
5077
  if (h) {
5072
5078
  const M = await e(Mt, m.clientX, m.clientY);
5073
5079
  M ? (h.drawFinish(M), h = null) : s.isDbClick && e(Pe);
5074
5080
  } else {
5075
5081
  const M = await e(Mt, m.clientX, m.clientY);
5076
- M && (h = new Oi(n), h.drawStart(M), e(Y).add(h));
5082
+ M && (h = new Yi(n), h.drawStart(M), e(Y).add(h));
5077
5083
  }
5078
- else if (w.markType === "lines")
5084
+ else if (E.markType === "lines")
5079
5085
  if (d)
5080
- if (s.lastMovePoint && e(Mi, m.clientX, m.clientY, s.lastMovePoint) < 0.03)
5086
+ if (s.lastMovePoint && e(Bi, m.clientX, m.clientY, s.lastMovePoint) < 0.03)
5081
5087
  d.drawUpdate(null, !0, s.lastMovePoint, !0), s.lastClickPointTime = Date.now();
5082
5088
  else {
5083
5089
  const M = await e(Mt, m.clientX, m.clientY);
@@ -5085,11 +5091,11 @@ function gA(n) {
5085
5091
  }
5086
5092
  else {
5087
5093
  const M = await e(Mt, m.clientX, m.clientY);
5088
- M && (d = new Yi(n), d.drawStart(M), e(Y).add(d));
5094
+ M && (d = new Gi(n), d.drawStart(M), e(Y).add(d));
5089
5095
  }
5090
- else if (w.markType === "plans")
5096
+ else if (E.markType === "plans")
5091
5097
  if (C)
5092
- if (s.lastMovePoint && e(Mi, m.clientX, m.clientY, s.lastMovePoint) < 0.03)
5098
+ if (s.lastMovePoint && e(Bi, m.clientX, m.clientY, s.lastMovePoint) < 0.03)
5093
5099
  C.drawUpdate(null, !0, s.lastMovePoint, !0), s.lastClickPointTime = Date.now();
5094
5100
  else {
5095
5101
  const M = await e(Mt, m.clientX, m.clientY);
@@ -5097,15 +5103,15 @@ function gA(n) {
5097
5103
  }
5098
5104
  else {
5099
5105
  const M = await e(Mt, m.clientX, m.clientY);
5100
- M && (C = new Gi(n), C.drawStart(M), e(Y).add(C));
5106
+ M && (C = new qi(n), C.drawStart(M), e(Y).add(C));
5101
5107
  }
5102
- else if (w.markType === "circle")
5108
+ else if (E.markType === "circle")
5103
5109
  if (f) {
5104
5110
  const M = await e(Mt, m.clientX, m.clientY);
5105
5111
  M ? (f.drawFinish(M), f = null) : s.isDbClick && e(Pe);
5106
5112
  } else {
5107
5113
  const M = await e(Mt, m.clientX, m.clientY);
5108
- M && (f = new tr(n), f.drawStart(M), e(Y).add(f));
5114
+ M && (f = new nr(n), f.drawStart(M), e(Y).add(f));
5109
5115
  }
5110
5116
  s.lastClickX = m.clientX, s.lastClickY = m.clientY;
5111
5117
  }
@@ -5120,56 +5126,56 @@ function gA(n) {
5120
5126
  function v(m) {
5121
5127
  s.down === 1 && !s.move && e(Oe, s.x, s.y);
5122
5128
  }
5123
- window.addEventListener("keydown", c), window.addEventListener("keyup", A), window.addEventListener("blur", l), window.addEventListener("wheel", u, { passive: !1 }), i.addEventListener("contextmenu", g), i.addEventListener("mousedown", p), i.addEventListener("mousemove", y), i.addEventListener("mouseup", E), i.addEventListener("touchstart", b, { passive: !1 }), i.addEventListener("touchmove", D, { passive: !1 }), i.addEventListener("touchend", v, { passive: !1 }), window.addEventListener("resize", x), x();
5129
+ window.addEventListener("keydown", c), window.addEventListener("keyup", A), window.addEventListener("blur", l), window.addEventListener("wheel", u, { passive: !1 }), i.addEventListener("contextmenu", g), i.addEventListener("mousedown", p), i.addEventListener("mousemove", y), i.addEventListener("mouseup", w), i.addEventListener("touchstart", b, { passive: !1 }), i.addEventListener("touchmove", D, { passive: !1 }), i.addEventListener("touchend", v, { passive: !1 }), window.addEventListener("resize", x), x();
5124
5130
  function x() {
5125
- const { width: m, height: w, top: M, left: S } = e(he), L = e(dt);
5126
- L.aspect = m / w, L.updateProjectionMatrix();
5127
- const T = e(ns);
5128
- T.setSize(m, w), T.domElement.style.position = "absolute", T.domElement.style.left = `${S}px`, T.domElement.style.top = `${M}px`;
5131
+ const { width: m, height: E, top: M, left: S } = e(he), L = e(dt);
5132
+ L.aspect = m / E, L.updateProjectionMatrix();
5133
+ const T = e(is);
5134
+ T.setSize(m, E), T.domElement.style.position = "absolute", T.domElement.style.left = `${S}px`, T.domElement.style.top = `${M}px`;
5129
5135
  const R = e(Ve);
5130
- R.setPixelRatio(Math.min(devicePixelRatio, 2)), R.setSize(m, w);
5136
+ R.setPixelRatio(Math.min(devicePixelRatio, 2)), R.setSize(m, E);
5131
5137
  }
5132
- t(Ji, () => {
5133
- o = !0, window.removeEventListener("keydown", c), window.removeEventListener("keyup", A), window.removeEventListener("blur", l), window.removeEventListener("wheel", u), i.removeEventListener("contextmenu", g), i.removeEventListener("mousedown", p), i.removeEventListener("mousemove", y), i.removeEventListener("mouseup", E), i.removeEventListener("touchstart", b), i.removeEventListener("touchmove", D), i.removeEventListener("touchend", v), window.removeEventListener("resize", x);
5138
+ t(ji, () => {
5139
+ o = !0, window.removeEventListener("keydown", c), window.removeEventListener("keyup", A), window.removeEventListener("blur", l), window.removeEventListener("wheel", u), i.removeEventListener("contextmenu", g), i.removeEventListener("mousedown", p), i.removeEventListener("mousemove", y), i.removeEventListener("mouseup", w), i.removeEventListener("touchstart", b), i.removeEventListener("touchmove", D), i.removeEventListener("touchend", v), window.removeEventListener("resize", x);
5134
5140
  });
5135
5141
  }
5136
- function Gn(n, t, e = 0.012) {
5142
+ function qn(n, t, e = 0.012) {
5137
5143
  const i = n.object.up.clone().normalize(), o = new Q().copy(t).projectOnPlane(i).normalize().multiplyScalar(e);
5138
5144
  n.object.position.add(o), n.target.add(o), n.update();
5139
5145
  }
5140
- function fA(n, t = 0.2) {
5146
+ function mA(n, t = 0.2) {
5141
5147
  const e = new Q();
5142
5148
  n.object.getWorldDirection(e);
5143
5149
  const i = new Q().crossVectors(n.object.up, e).normalize();
5144
- Gn(n, i, t);
5150
+ qn(n, i, t);
5145
5151
  }
5146
- function pA(n, t = 0.2) {
5152
+ function CA(n, t = 0.2) {
5147
5153
  const e = new Q();
5148
5154
  n.object.getWorldDirection(e);
5149
5155
  const i = new Q().crossVectors(n.object.up, e).normalize().negate();
5150
- Gn(n, i, t);
5156
+ qn(n, i, t);
5151
5157
  }
5152
- function mA(n, t = 0.2) {
5158
+ function yA(n, t = 0.2) {
5153
5159
  const e = new Q();
5154
- n.object.getWorldDirection(e), Gn(n, e, t);
5160
+ n.object.getWorldDirection(e), qn(n, e, t);
5155
5161
  }
5156
- function CA(n, t = 0.2) {
5162
+ function IA(n, t = 0.2) {
5157
5163
  const e = new Q();
5158
- n.object.getWorldDirection(e).negate(), Gn(n, e, t);
5164
+ n.object.getWorldDirection(e).negate(), qn(n, e, t);
5159
5165
  }
5160
- function er(n, t = 6e-3) {
5166
+ function ir(n, t = 6e-3) {
5161
5167
  const e = n.object.position.clone(), i = n.target.clone(), a = new Q().subVectors(i, e), o = n.object.up.clone().normalize(), s = new be();
5162
5168
  s.setFromAxisAngle(o, -t), a.applyQuaternion(s);
5163
5169
  const r = new Q().addVectors(e, a);
5164
5170
  n.target.copy(r), n.update();
5165
5171
  }
5166
- function yA(n) {
5167
- er(n, -0.01);
5172
+ function wA(n) {
5173
+ ir(n, -0.01);
5168
5174
  }
5169
- function IA(n) {
5170
- er(n, 0.01);
5175
+ function EA(n) {
5176
+ ir(n, 0.01);
5171
5177
  }
5172
- function nr(n, t = 6e-3) {
5178
+ function sr(n, t = 6e-3) {
5173
5179
  const e = n.object.position.clone(), i = n.target.clone(), a = new Q().subVectors(i, e), o = new Q();
5174
5180
  n.object.getWorldDirection(o);
5175
5181
  const s = new Q().crossVectors(n.object.up, o).normalize(), r = new be();
@@ -5177,14 +5183,14 @@ function nr(n, t = 6e-3) {
5177
5183
  const c = new Q().addVectors(e, a);
5178
5184
  n.target.copy(c), n.update();
5179
5185
  }
5180
- function wA(n, t = 0.01) {
5181
- nr(n, -t);
5186
+ function vA(n, t = 0.01) {
5187
+ sr(n, -t);
5182
5188
  }
5183
- function EA(n, t = 0.01) {
5184
- nr(n, t);
5189
+ function xA(n, t = 0.01) {
5190
+ sr(n, t);
5185
5191
  }
5186
- function ir(n) {
5187
- const t = new wr(), e = 5, i = (o, s, r) => n.on(o, s, r), a = (o, ...s) => n.fire(o, ...s);
5192
+ function ar(n) {
5193
+ const t = new vr(), e = 5, i = (o, s, r) => n.on(o, s, r), a = (o, ...s) => n.fire(o, ...s);
5188
5194
  i(kn, async (o, s) => {
5189
5195
  const { width: r, height: c, left: A, top: l } = a(he), u = new ft();
5190
5196
  u.x = (o - A) / r * 2 - 1, u.y = (l - s) / c * 2 + 1;
@@ -5194,26 +5200,26 @@ function ir(n) {
5194
5200
  f.traverse(function(x) {
5195
5201
  x instanceof Nt ? y.push(x) : x.isMesh && !x.ignoreIntersect && !x.isMark && p.push(x);
5196
5202
  });
5197
- const E = t.intersectObjects(p, !0);
5198
- for (let x = 0; x < E.length; x++)
5199
- C.push({ point: E[x].point, d: t.ray.distanceToPoint(E[x].point), p: 1 });
5200
- const b = a(ko), D = d.projectionMatrix.clone().multiply(d.matrixWorldInverse);
5203
+ const w = t.intersectObjects(p, !0);
5204
+ for (let x = 0; x < w.length; x++)
5205
+ C.push({ point: w[x].point, d: t.ray.distanceToPoint(w[x].point), p: 1 });
5206
+ const b = a(To), D = d.projectionMatrix.clone().multiply(d.matrixWorldInverse);
5201
5207
  for (let x = 0; x < y.length; x++) {
5202
- const m = y[x].fire(bi);
5208
+ const m = y[x].fire(Mi);
5203
5209
  if (m)
5204
5210
  if (m.length !== void 0) {
5205
- const w = m, M = w.length / 3;
5211
+ const E = m, M = E.length / 3;
5206
5212
  for (let S = 0; S < M; S++) {
5207
- const L = new Q(w[3 * S + 0], w[3 * S + 1], w[3 * S + 2]);
5213
+ const L = new Q(E[3 * S + 0], E[3 * S + 1], E[3 * S + 2]);
5208
5214
  b && L.applyMatrix4(b);
5209
5215
  const T = new Gt(L.x, L.y, L.z, 1).applyMatrix4(D), R = (T.x / T.w + 1) / 2 * r, B = (1 - T.y / T.w) / 2 * c, k = Math.sqrt((R - g) ** 2 + (B - h) ** 2);
5210
5216
  k <= e && C.push({ point: L, d: d.position.distanceTo(L), p: k });
5211
5217
  }
5212
5218
  } else
5213
- for (let w of Object.keys(m)) {
5214
- const M = w.split(","), S = new Q(Number(M[0]), Number(M[1]), Number(M[2]));
5219
+ for (let E of Object.keys(m)) {
5220
+ const M = E.split(","), S = new Q(Number(M[0]), Number(M[1]), Number(M[2]));
5215
5221
  if (t.ray.distanceToPoint(S) <= 1.4143) {
5216
- const L = m[w];
5222
+ const L = m[E];
5217
5223
  for (let T = 0, R = L.length / 3; T < R; T++) {
5218
5224
  const B = new Q(L[3 * T + 0], L[3 * T + 1], L[3 * T + 2]);
5219
5225
  b && B.applyMatrix4(b);
@@ -5226,26 +5232,26 @@ function ir(n) {
5226
5232
  if (!C.length) return [];
5227
5233
  C.sort((x, m) => x.d - m.d);
5228
5234
  const v = [];
5229
- for (let x = 0, m = C[0].d, w = Math.min(C.length, 20); x < w; x++)
5235
+ for (let x = 0, m = C[0].d, E = Math.min(C.length, 20); x < E; x++)
5230
5236
  C[x].d - m < 0.01 && v.push(C[x]);
5231
5237
  return v.sort((x, m) => x.p - m.p), [v[0].point];
5232
- }), i(Mi, (o, s, r) => {
5238
+ }), i(Bi, (o, s, r) => {
5233
5239
  const { width: c, height: A, left: l, top: u } = a(he), g = new ft();
5234
5240
  g.x = (o - l) / c * 2 - 1, g.y = (u - s) / A * 2 + 1;
5235
5241
  const h = a(dt);
5236
5242
  return t.setFromCamera(g, h), t.ray.distanceToPoint(r);
5237
5243
  });
5238
5244
  }
5239
- function vA(n) {
5245
+ function SA(n) {
5240
5246
  const t = (l, u, g) => n.on(l, u, g), e = (l, ...u) => n.fire(l, ...u), i = e(Z);
5241
5247
  t(en, () => e(dt).fov), t(Lt, (l = !1) => l ? i.object.position.clone() : i.object.position), t(Ot, (l = !1) => l ? i.target.clone() : i.target), t(Be, (l = !1) => l ? e(dt).up.clone() : e(dt).up);
5242
5248
  let a;
5243
5249
  const o = [];
5244
- t(Ei, (l, u = !1, g) => {
5245
- if (e(go, l), !u) {
5250
+ t(vi, (l, u = !1, g) => {
5251
+ if (e(fo, l), !u) {
5246
5252
  i.target.copy(l);
5247
5253
  const y = new Q().subVectors(l, i.object.position);
5248
- y.length() < 1 && i.object.position.copy(l).sub(y.setLength(1)), y.length() > 50 && i.object.position.copy(l).sub(y.setLength(50)), e(Tn), e(Bi);
5254
+ y.length() < 1 && i.object.position.copy(l).sub(y.setLength(1)), y.length() > 50 && i.object.position.copy(l).sub(y.setLength(50)), e(Tn), e(Qi);
5249
5255
  return;
5250
5256
  }
5251
5257
  for (; o.length; ) o.pop().stop = !0;
@@ -5255,34 +5261,34 @@ function vA(n) {
5255
5261
  e(
5256
5262
  Me,
5257
5263
  () => {
5258
- h.alpha = (Date.now() - h.time) / 600, e(Z).target.copy(d.clone().lerp(l, h.alpha)), !g && e(Z).object.position.copy(C.clone().lerp(p, h.alpha)), e(Tn), h.alpha >= 0.9 && (i.enablePan = a.enablePan, i.enableRotate = a.enableRotate), h.alpha >= 1 && (h.stop = !0, e(Bi));
5264
+ h.alpha = (Date.now() - h.time) / 600, e(Z).target.copy(d.clone().lerp(l, h.alpha)), !g && e(Z).object.position.copy(C.clone().lerp(p, h.alpha)), e(Tn), h.alpha >= 0.9 && (i.enablePan = a.enablePan, i.enableRotate = a.enableRotate), h.alpha >= 1 && (h.stop = !0, e(Qi));
5259
5265
  },
5260
5266
  () => !h.stop
5261
5267
  );
5262
- }), t(Ja, () => {
5268
+ }), t(ja, () => {
5263
5269
  let l = e(Lt).toArray(), u = e(Be).toArray(), g = e(Ot).toArray();
5264
5270
  return { position: l, lookUp: u, lookAt: g };
5265
- }), t(ja, () => e(Z).update()), t(Ka, () => e(Z).updateRotateAxis());
5271
+ }), t(Ka, () => e(Z).update()), t(Xa, () => e(Z).updateRotateAxis());
5266
5272
  const s = 0.01;
5267
5273
  let r = new Q(), c = new Q(), A = 0;
5268
- t(Ki, () => {
5274
+ t(Xi, () => {
5269
5275
  const l = e(Z).object, u = l.fov, g = l.position.clone(), h = l.getWorldDirection(new Q());
5270
5276
  return Math.abs(A - u) < s && Math.abs(g.x - r.x) < s && Math.abs(g.y - r.y) < s && Math.abs(g.z - r.z) < s && Math.abs(h.x - c.x) < s && Math.abs(h.y - c.y) < s && Math.abs(h.z - c.z) < s ? !1 : (A = u, r = g, c = h, !0);
5271
5277
  });
5272
5278
  }
5273
- function xA(n) {
5279
+ function bA(n) {
5274
5280
  const t = (s, r, c) => n.on(s, r, c), e = (s, ...r) => n.fire(s, ...r);
5275
5281
  let i = o();
5276
5282
  const a = [];
5277
- t(jn, () => {
5283
+ t(Kn, () => {
5278
5284
  const { height: s } = e(he), r = e(Lt).distanceTo(i.position) * 3.2 / s;
5279
5285
  i.scale.set(r, r, r);
5280
5286
  }), t(cn, (s) => {
5281
- e(jn), i.visible = s > 0.1, i.element.style.opacity = s + "", e(ct);
5282
- }), t(go, (s) => {
5287
+ e(Kn), i.visible = s > 0.1, i.element.style.opacity = s + "", e(ct);
5288
+ }), t(fo, (s) => {
5283
5289
  for (i.position.copy(s); a.length; ) a.pop().stop = !0;
5284
5290
  e(cn, 1), e(ct);
5285
- }), t(Bi, () => {
5291
+ }), t(Qi, () => {
5286
5292
  for (; a.length; ) a.pop().stop = !0;
5287
5293
  let s = { opacity: 1, time: Date.now(), stop: !1 };
5288
5294
  a.push(s), e(
@@ -5297,28 +5303,28 @@ function xA(n) {
5297
5303
  const s = document.createElement("div");
5298
5304
  s.innerHTML = '<svg height="16" width="16" style="fill:white;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M108.8 469.333333C128 279.466667 279.466667 128 469.333333 108.8V64c0-23.466667 19.2-42.666667 42.666667-42.666667s42.666667 19.2 42.666667 42.666667v44.8c189.866667 19.2 341.333333 170.666667 360.533333 360.533333H960c23.466667 0 42.666667 19.2 42.666667 42.666667s-19.2 42.666667-42.666667 42.666667h-44.8c-19.2 189.866667-170.666667 341.333333-360.533333 360.533333V960c0 23.466667-19.2 42.666667-42.666667 42.666667s-42.666667-19.2-42.666667-42.666667v-44.8C279.466667 896 128 744.533333 108.8 554.666667H64c-23.466667 0-42.666667-19.2-42.666667-42.666667s19.2-42.666667 42.666667-42.666667h44.8zM469.333333 194.133333C326.4 213.333333 215.466667 326.4 196.266667 469.333333H234.666667c23.466667 0 42.666667 19.2 42.666666 42.666667s-19.2 42.666667-42.666666 42.666667H196.266667c19.2 142.933333 132.266667 256 275.2 273.066666V789.333333c0-23.466667 19.2-42.666667 42.666666-42.666666s42.666667 19.2 42.666667 42.666666v38.4C697.6 810.666667 810.666667 697.6 829.866667 554.666667H789.333333c-23.466667 0-42.666667-19.2-42.666666-42.666667s19.2-42.666667 42.666666-42.666667h40.533334C810.666667 326.4 697.6 213.333333 554.666667 194.133333V234.666667c0 23.466667-19.2 42.666667-42.666667 42.666666s-42.666667-19.2-42.666667-42.666666V194.133333z"></path></svg>', s.classList.add("css3d-focus-marker"), s.style.position = "absolute";
5299
5305
  const r = new mt(s);
5300
- return r.element.style.pointerEvents = "none", r.element.style.opacity = "1", r.visible = !1, e(Y).add(r), r.onBeforeRender = () => e(jn), r;
5306
+ return r.element.style.pointerEvents = "none", r.element.style.opacity = "1", r.visible = !1, e(Y).add(r), r.onBeforeRender = () => e(Kn), r;
5301
5307
  }
5302
5308
  }
5303
- function sr(n) {
5309
+ function or(n) {
5304
5310
  const t = (s, r, c) => n.on(s, r, c), e = (s, ...r) => n.fire(s, ...r), i = /* @__PURE__ */ new Map(), a = document.createElement("div");
5305
5311
  a.classList.add("mark-warp"), document.body.appendChild(a);
5306
- const o = new hA();
5307
- o.setSize(innerWidth, innerHeight), o.domElement.style.position = "absolute", o.domElement.style.top = "0px", o.domElement.style.pointerEvents = "none", a.appendChild(o.domElement), t(Rr, () => a), t(ns, () => o), t(is, () => document.body.removeChild(a)), t(de, () => o.render(e(Y), e(dt)), !0), t(ne, (s) => {
5312
+ const o = new gA();
5313
+ o.setSize(innerWidth, innerHeight), o.domElement.style.position = "absolute", o.domElement.style.top = "0px", o.domElement.style.pointerEvents = "none", a.appendChild(o.domElement), t(Fr, () => a), t(is, () => o), t(ss, () => document.body.removeChild(a)), t(de, () => o.render(e(Y), e(dt)), !0), t(ne, (s) => {
5308
5314
  const r = s?.getMarkData?.()?.name || s?.name;
5309
5315
  r && i.set(r, new WeakRef(s));
5310
5316
  }), t(Te, (s) => {
5311
5317
  const r = s?.getMarkData?.()?.name || s?.name;
5312
5318
  i.delete(r);
5313
- }), t(Ye, (s) => i.get(s)?.deref()), t(_r, (s, r) => {
5319
+ }), t(Ye, (s) => i.get(s)?.deref()), t(Pr, (s, r) => {
5314
5320
  const c = e(Ye, s);
5315
5321
  !c || !r || c.drawUpdate?.(r);
5316
- }), t(Fr, (s) => {
5322
+ }), t(Ur, (s) => {
5317
5323
  const r = e(Ye, s);
5318
5324
  return r ? r.getMarkData?.() : {};
5319
5325
  }), t($e, (s) => {
5320
5326
  s !== void 0 && (e(_).markVisible = s), e(Y).traverse((r) => r.isMark && (r.visible = e(_).markVisible)), e(ct);
5321
- }), t(Qi, async () => {
5327
+ }), t(Di, async () => {
5322
5328
  const s = [];
5323
5329
  e(Y).traverse((c) => {
5324
5330
  if (c.isMark) {
@@ -5327,7 +5333,7 @@ function sr(n) {
5327
5333
  }
5328
5334
  });
5329
5335
  const r = e(xt).meta || {};
5330
- return s.length ? r.marks = s : delete r.marks, r.cameraInfo = e(Ja), await e(Ie, r);
5336
+ return s.length ? r.marks = s : delete r.marks, r.cameraInfo = e(ja), await e(Ie, r);
5331
5337
  }), t(wn, async () => {
5332
5338
  const s = [];
5333
5339
  e(Y).traverse((c) => {
@@ -5338,40 +5344,40 @@ function sr(n) {
5338
5344
  });
5339
5345
  const r = e(xt).meta || {};
5340
5346
  return s.length ? r.marks = s : delete r.marks, await e(Ie, r);
5341
- }), t(Co, async () => {
5347
+ }), t(yo, async () => {
5342
5348
  const s = e(xt).meta || {};
5343
5349
  delete s.marks;
5344
5350
  const r = await e(Ie, s), c = [];
5345
5351
  return i.forEach((A) => c.push(A)), c.forEach((A) => A.deref()?.dispose?.()), e(ct), r;
5346
- }), t(yo, async () => {
5352
+ }), t(Io, async () => {
5347
5353
  e(Y).traverse((r) => {
5348
5354
  r.isMark && r.getMarkData?.();
5349
5355
  });
5350
5356
  const s = e(xt).meta || {};
5351
- return s.watermark = e(po) || "", await e(Ie, s);
5352
- }), t(Di, (s) => {
5357
+ return s.watermark = e(mo) || "", await e(Ie, s);
5358
+ }), t(ki, (s) => {
5353
5359
  s.meterScale && (e(_).meterScale = s.meterScale, e(it, { scale: `1 : ${e(_).meterScale} m` })), e(Z).updateByOptions({ ...s, ...s.cameraInfo || {} }), (s.marks || []).forEach((c) => {
5354
5360
  if (c.type === "MarkSinglePoint") {
5355
- const A = new Zo(n, c);
5361
+ const A = new er(n, c);
5356
5362
  A.visible = !1, e(Y).add(A);
5357
5363
  } else if (c.type === "MarkDistanceLine") {
5358
- const A = new Oi(n);
5364
+ const A = new Yi(n);
5359
5365
  A.draw(c), A.visible = !1, e(Y).add(A);
5360
5366
  } else if (c.type === "MarkMultiLines") {
5361
- const A = new Yi(n);
5367
+ const A = new Gi(n);
5362
5368
  A.draw(c, !0), A.visible = !1, e(Y).add(A);
5363
5369
  } else if (c.type === "MarkMultiPlans") {
5364
- const A = new Gi(n);
5370
+ const A = new qi(n);
5365
5371
  A.draw(c, !0), A.visible = !1, e(Y).add(A);
5366
5372
  } else if (c.type === "MarkCirclePlan") {
5367
- const A = new tr(n);
5373
+ const A = new nr(n);
5368
5374
  A.draw(c), A.visible = !1, e(Y).add(A);
5369
5375
  }
5370
- }), e(cs, s.flyPositions || []), e(ls, s.flyTargets || []);
5376
+ }), e(ls, s.flyPositions || []), e(As, s.flyTargets || []);
5371
5377
  }), t(ie, () => {
5372
5378
  const s = e(_);
5373
- s.markMode = !1, e(ts), e(ct);
5374
- }), t(mo, (s, r = !0) => {
5379
+ s.markMode = !1, e(es), e(ct);
5380
+ }), t(Co, (s, r = !0) => {
5375
5381
  const c = s?.meterScale;
5376
5382
  if (c) {
5377
5383
  if (typeof c != "number" || c <= 0) {
@@ -5381,15 +5387,15 @@ function sr(n) {
5381
5387
  r && (e(_).meterScale = s.meterScale), e(it, { scale: `1 : ${c} m` });
5382
5388
  for (const A of i.values()) {
5383
5389
  const l = A.deref();
5384
- l && (l instanceof Oi || l instanceof Yi || l instanceof Gi) && l.updateByMeterScale(c);
5390
+ l && (l instanceof Yi || l instanceof Gi || l instanceof qi) && l.updateByMeterScale(c);
5385
5391
  }
5386
5392
  }
5387
- }), t(Ii, (s) => {
5393
+ }), t(wi, (s) => {
5388
5394
  const r = new Q().fromArray(s.slice(0, 3)), c = new Q().fromArray(s.slice(-6, -3)), A = new Q().fromArray(s.slice(-3)), l = r.distanceTo(A) < 1e-4, u = c.distanceTo(A) < 1e-4, g = new Q(), h = l || u ? s.length / 3 - 1 : s.length / 3;
5389
5395
  for (let d = 0; d < h; d++)
5390
5396
  g.add(new Q(s[d * 3], s[d * 3 + 1], s[d * 3 + 2]));
5391
5397
  return g.divideScalar(h), g;
5392
- }), t(wi, (s) => {
5398
+ }), t(Ei, (s) => {
5393
5399
  const r = [];
5394
5400
  for (let u = 0, g = s.length / 3; u < g; u++)
5395
5401
  r.push(new Q(s[u * 3], s[u * 3 + 1], s[u * 3 + 2]));
@@ -5397,44 +5403,44 @@ function sr(n) {
5397
5403
  if ((c || A) && r.pop(), r.length < 3) return 0;
5398
5404
  let l = 0;
5399
5405
  for (let u = 0, g = r.length - 2; u < g; u++)
5400
- l += e(Vn, r[0], r[u + 1], r[u + 2], e(_).meterScale);
5406
+ l += e(Wn, r[0], r[u + 1], r[u + 2], e(_).meterScale);
5401
5407
  return l;
5402
- }), t(Wa, (s, r) => {
5408
+ }), t($a, (s, r) => {
5403
5409
  let c = 0;
5404
5410
  for (let A = 0, l = s.length - 2; A < l; A++)
5405
- c += e(Vn, s[0], s[A + 1], s[A + 2], r);
5411
+ c += e(Wn, s[0], s[A + 1], s[A + 2], r);
5406
5412
  return c;
5407
- }), t(Vn, (s, r, c, A) => {
5413
+ }), t(Wn, (s, r, c, A) => {
5408
5414
  const l = s.distanceTo(r) * A, u = r.distanceTo(c) * A, g = c.distanceTo(s) * A, h = (l + u + g) / 2;
5409
5415
  return Math.sqrt(h * (h - l) * (h - u) * (h - g));
5410
5416
  });
5411
5417
  }
5412
- function SA(n) {
5418
+ function MA(n) {
5413
5419
  const t = (g, ...h) => n.fire(g, ...h), e = (g, h, d) => n.on(g, h, d), i = [], a = [];
5414
5420
  let o = !1, s = !1;
5415
- e(_n, () => o = !1), e(Ns, () => o = !0), e(Us, () => i), e(Pr, () => {
5421
+ e(_n, () => o = !1), e(zs, () => o = !0), e(Ns, () => i), e(Nr, () => {
5416
5422
  const g = [];
5417
5423
  for (let h = 0, d = i.length; h < d; h++)
5418
5424
  g.push(...i[h].toArray());
5419
5425
  return g;
5420
- }), e(Ur, () => {
5426
+ }), e(zr, () => {
5421
5427
  const g = [];
5422
5428
  for (let h = 0, d = a.length; h < d; h++)
5423
5429
  g.push(...a[h].toArray());
5424
5430
  return g;
5425
- }), e(cs, (g) => {
5431
+ }), e(ls, (g) => {
5426
5432
  for (let h = 0, d = g.length / 3 | 0; h < d; h++)
5427
5433
  i[h] = new Q(g[h * 3 + 0], g[h * 3 + 1], g[h * 3 + 2]);
5428
- }), e(ls, (g) => {
5434
+ }), e(As, (g) => {
5429
5435
  for (let h = 0, d = g.length / 3 | 0; h < d; h++)
5430
5436
  a[h] = new Q(g[h * 3 + 0], g[h * 3 + 1], g[h * 3 + 2]);
5431
- }), e(as, () => {
5437
+ }), e(os, () => {
5432
5438
  const g = t(Z);
5433
5439
  i.push(g.object.position.clone()), a.push(g.target.clone());
5434
- }), e(rs, () => {
5440
+ }), e(cs, () => {
5435
5441
  i.length = 0, a.length = 0;
5436
- }), e(os, async (g = !0) => {
5437
- const h = t(xt).meta || t(Qo);
5442
+ }), e(rs, async (g = !0) => {
5443
+ const h = t(xt).meta || t(Do);
5438
5444
  if (i.length) {
5439
5445
  const d = [], C = [];
5440
5446
  for (let f = 0, p = i.length; f < p; f++)
@@ -5443,7 +5449,7 @@ function SA(n) {
5443
5449
  } else
5444
5450
  delete h.flyPositions, delete h.flyTargets;
5445
5451
  g && await t(Ie, h);
5446
- }), e(wo, () => {
5452
+ }), e(Eo, () => {
5447
5453
  s || (s = !0) && t(Je, !0);
5448
5454
  });
5449
5455
  let r = 0;
@@ -5451,10 +5457,10 @@ function SA(n) {
5451
5457
  let A = 0, l, u;
5452
5458
  e(Je, (g) => {
5453
5459
  if (r = 0, A = Date.now(), l = null, u = null, !i.length || !g && !t(Z).autoRotate) return;
5454
- const h = t(Z), d = [h.object.position.clone()], C = [h.target.clone()], f = t(Us) || [];
5460
+ const h = t(Z), d = [h.object.position.clone()], C = [h.target.clone()], f = t(Ns) || [];
5455
5461
  for (let p = 0, y = Math.min(f.length, 100); p < y; p++)
5456
5462
  f[p] && d.push(f[p]), a[p] && C.push(a[p]);
5457
- l = new vs(d), l.closed = !0, u = new vs(C), u.closed = !0, t(Ns), t(ht, !1);
5463
+ l = new xs(d), l.closed = !0, u = new xs(C), u.closed = !0, t(zs), t(ht, !1);
5458
5464
  }), e(
5459
5465
  We,
5460
5466
  () => {
@@ -5467,38 +5473,42 @@ function SA(n) {
5467
5473
  !0
5468
5474
  );
5469
5475
  }
5470
- class au {
5476
+ class lu {
5471
5477
  constructor(t = {}) {
5472
- this.disposed = !1, this.updateTime = 0, this.needUpdate = !0, console.info("Reall3dViewer", ds, this), this.opts = Ma(t), this.init(this.opts), !t.disableDropLocalFile && this.enableDropLocalFile();
5478
+ this.disposed = !1, this.updateTime = 0, this.needUpdate = !0, console.info("Reall3dViewer", gs, this), this.opts = Ba(t), this.init(this.opts), !t.disableDropLocalFile && this.enableDropLocalFile();
5473
5479
  }
5474
5480
  init(t) {
5475
5481
  const e = this;
5476
5482
  t.position = t.position ? [...t.position] : [0, -5, 15], t.lookAt = t.lookAt ? [...t.lookAt] : [0, 0, 0], t.lookUp = t.lookUp ? [...t.lookUp] : [0, -1, 0];
5477
- const i = Fl(t), a = t.scene = t.scene || new Ga();
5478
- a.background = new Wi(t.background), Pl(t);
5479
- const o = t.controls = new sA(t), s = new hs();
5483
+ const i = Ul(t), a = t.scene = t.scene || new qa();
5484
+ a.background = new $i(t.background), Nl(t);
5485
+ const o = t.controls = new oA(t), s = new ds();
5480
5486
  t.viewerEvents = s, e.events = s;
5481
5487
  const r = (g, h, d) => s.on(g, h, d), c = (g, ...h) => s.fire(g, ...h);
5482
- r(ko, () => e.metaMatrix), r(_, () => t), r(ke, () => i.domElement), r(Ve, () => i), r(Y, () => a), r(Z, () => o), r(dt, () => o.object), r(Ct, () => t.bigSceneMode), r(Lr, (g) => t.pointcloudMode = g);
5488
+ r(To, () => e.metaMatrix), r(_, () => t), r(ke, () => i.domElement), r(Ve, () => i), r(Y, () => a), r(Z, () => o), r(dt, () => o.object), r(Ct, () => t.bigSceneMode), r(_r, (g) => t.pointcloudMode = g);
5483
5489
  const A = [];
5484
5490
  r(ct, () => {
5485
5491
  for (e.needUpdate = !0; A.length; ) A.pop().stop = !0;
5486
5492
  let g = { count: 0, stop: !1 };
5487
5493
  A.push(g), c(
5488
- Va,
5494
+ Wa,
5489
5495
  () => {
5490
5496
  !e.disposed && (e.needUpdate = !0), g.count++ >= 600 && (g.stop = !0);
5491
5497
  },
5492
- () => !e.disposed && (c(es) || !g.stop),
5498
+ () => !e.disposed && (c(ns) || !g.stop),
5493
5499
  10
5494
5500
  );
5495
- }), fs(s), Rl(s), vA(s), sr(s), gA(s), ir(s), xA(s), SA(s), e.splatMesh = new Nt(Ul(t)), r(xt, () => e.splatMesh), a.add(e.splatMesh), Gl(s), r(ei, (g) => {
5501
+ }), ps(s), Fl(s), SA(s), or(s), pA(s), ar(s), bA(s), MA(s), r(Oo, () => {
5502
+ c("onDataloadStop"), c("onFetchStop");
5503
+ }, !0), r(Un, () => {
5504
+ c("onSceneReady");
5505
+ }), e.splatMesh = new Nt(zl(t), s), r(xt, () => e.splatMesh), a.add(e.splatMesh), Vl(s), r(ni, (g) => {
5496
5506
  t.qualityLevel = g, e.splatMesh.options({ qualityLevel: g, renderer: void 0, scene: void 0 });
5497
- }), r(ti, (g) => {
5507
+ }), r(ei, (g) => {
5498
5508
  t.sortType = g, e.splatMesh.options({ sortType: g, renderer: void 0, scene: void 0 });
5499
- }), a.add(new qa("#ffffff", 2)), i.setAnimationLoop(e.update.bind(e)), r(Ps, () => {
5500
- o.update(), !e.needUpdate && c(Ki) && c(ct);
5501
- }), r(xe, () => c(Hn), !0), r(xe, () => c(Ps), !0), r(
5509
+ }), a.add(new Va("#ffffff", 2)), i.setAnimationLoop(e.update.bind(e)), r(Us, () => {
5510
+ o.update(), !e.needUpdate && c(Xi) && c(ct);
5511
+ }), r(xe, () => c(On), !0), r(xe, () => c(Us), !0), r(
5502
5512
  de,
5503
5513
  () => {
5504
5514
  try {
@@ -5509,18 +5519,18 @@ class au {
5509
5519
  },
5510
5520
  !0
5511
5521
  ), r(We, () => {
5512
- }, !0), r(zn, () => e.dispose()), r(Eo, () => console.info(JSON.stringify(c(xt).meta || {}, null, 2)));
5522
+ }, !0), r(Hn, () => e.dispose()), r(vo, () => console.info(JSON.stringify(c(xt).meta || {}, null, 2)));
5513
5523
  let l = "";
5514
5524
  r(ln, (g = "") => {
5515
- l = g, e.splatMesh.fire(ss, l, !0);
5516
- }), r(po, () => l), c(it, { scale: `1 : ${c(_).meterScale} m` }), e.initGsApi();
5525
+ l = g, e.splatMesh.fire(as, l, !0);
5526
+ }), r(mo, () => l), c(it, { scale: `1 : ${c(_).meterScale} m` }), e.initGsApi();
5517
5527
  let u;
5518
5528
  r(Ne, (g = !0, h = 1, d = 2) => {
5519
5529
  u && clearTimeout(u), u = null;
5520
5530
  const C = 16;
5521
5531
  if (d > C && g) return c(Ne, g, C, 1);
5522
5532
  if (d < 1 && !g) return c(Ne, !g, 1, C);
5523
- e.splatMesh.fire(Do, h, d), u = setTimeout(() => c(Ne, g, d, g ? d * 2 : d / 2), 6 * 1e3);
5533
+ e.splatMesh.fire(ko, h, d), u = setTimeout(() => c(Ne, g, d, g ? d * 2 : d / 2), 6 * 1e3);
5524
5534
  });
5525
5535
  }
5526
5536
  //
@@ -5578,23 +5588,23 @@ class au {
5578
5588
  // 开发调试用临时接口
5579
5589
  fire(t, e, i) {
5580
5590
  const a = this;
5581
- if (t === 1 && a.splatMesh.fire(vi, e), t === 2 && a.events.fire(as), t === 3 && a.events.fire(Je, !0), t === 4 && a.events.fire(rs), t === 5 && a.events.fire(os), t === 6 && a.events.fire(wn), t === 7 && a.events.fire(Co), t === 8 && (async () => {
5582
- let o = await a.splatMesh.fire(As);
5583
- e && (o = a.splatMesh.fire(bo) + e), a.splatMesh.fire(bn, o);
5591
+ if (t === 1 && a.splatMesh.fire(xi, e), t === 2 && a.events.fire(os), t === 3 && a.events.fire(Je, !0), t === 4 && a.events.fire(cs), t === 5 && a.events.fire(rs), t === 6 && a.events.fire(wn), t === 7 && a.events.fire(yo), t === 8 && (async () => {
5592
+ let o = await a.splatMesh.fire(us);
5593
+ e && (o = a.splatMesh.fire(Mo) + e), a.splatMesh.fire(bn, o);
5584
5594
  })(), t === 9)
5585
5595
  if (!e)
5586
- a.events.fire(ei, Qe);
5596
+ a.events.fire(ni, Qe);
5587
5597
  else {
5588
5598
  const o = a.events.fire(_).qualityLevel;
5589
- a.events.fire(ei, Math.max(ec, Math.min(o + e, nc)));
5599
+ a.events.fire(ni, Math.max(ic, Math.min(o + e, sc)));
5590
5600
  }
5591
5601
  if (t === 10)
5592
5602
  if (!e)
5593
- a.events.fire(ti, Ke.Default);
5603
+ a.events.fire(ei, Ke.Default);
5594
5604
  else {
5595
5605
  const o = [1, 2010, 2011, 2012, 2112], s = a.events.fire(_).sortType;
5596
5606
  let r = o.indexOf(s) + e;
5597
- r = Math.max(0, Math.min(r, o.length - 1)), a.events.fire(ti, o[r]);
5607
+ r = Math.max(0, Math.min(r, o.length - 1)), a.events.fire(ei, o[r]);
5598
5608
  }
5599
5609
  }
5600
5610
  /**
@@ -5609,7 +5619,7 @@ class au {
5609
5619
  let a;
5610
5620
  if (i(Y).traverse((r) => !a && r instanceof Nt && (a = r.options())), t) {
5611
5621
  const r = i(_);
5612
- t.autoRotate !== void 0 && (r.autoRotate = t.autoRotate, i(Z).autoRotate = t.autoRotate), t.pointcloudMode !== void 0 && i(Ln, t.pointcloudMode), t.lightFactor !== void 0 && i(qe, t.lightFactor), t.maxRenderCountOfMobile && (r.maxRenderCountOfMobile = t.maxRenderCountOfMobile), t.maxRenderCountOfPc && (r.maxRenderCountOfPc = t.maxRenderCountOfPc), t.debugMode !== void 0 && (r.debugMode = t.debugMode), t.qualityLevel !== void 0 && (r.qualityLevel = t.qualityLevel) && this.splatMesh.options({ qualityLevel: t.qualityLevel }), t.sortType !== void 0 && (r.sortType = t.sortType) && this.splatMesh.options({ sortType: t.sortType }), t.markType !== void 0 && (r.markType = t.markType), t.markVisible !== void 0 && i($e, t.markVisible), t.meterScale !== void 0 && (r.meterScale = t.meterScale), t.markMode !== void 0 && (r.markMode = t.markMode, !t.markMode && i(ts), i(Z).autoRotate = i(_).autoRotate = !1);
5622
+ t.autoRotate !== void 0 && (r.autoRotate = t.autoRotate, i(Z).autoRotate = t.autoRotate), t.pointcloudMode !== void 0 && i(Ln, t.pointcloudMode), t.lightFactor !== void 0 && i(qe, t.lightFactor), t.maxRenderCountOfMobile && (r.maxRenderCountOfMobile = t.maxRenderCountOfMobile), t.maxRenderCountOfPc && (r.maxRenderCountOfPc = t.maxRenderCountOfPc), t.debugMode !== void 0 && (r.debugMode = t.debugMode), t.qualityLevel !== void 0 && (r.qualityLevel = t.qualityLevel) && this.splatMesh.options({ qualityLevel: t.qualityLevel }), t.sortType !== void 0 && (r.sortType = t.sortType) && this.splatMesh.options({ sortType: t.sortType }), t.markType !== void 0 && (r.markType = t.markType), t.markVisible !== void 0 && i($e, t.markVisible), t.meterScale !== void 0 && (r.meterScale = t.meterScale), t.markMode !== void 0 && (r.markMode = t.markMode, !t.markMode && i(es), i(Z).autoRotate = i(_).autoRotate = !1);
5613
5623
  }
5614
5624
  return i(Z).updateByOptions(t), i(it, { scale: `1 : ${i(_).meterScale} m` }), Object.assign({ ...i(_) }, a);
5615
5625
  }
@@ -5618,7 +5628,7 @@ class au {
5618
5628
  */
5619
5629
  reset(t = {}) {
5620
5630
  const e = this;
5621
- e.dispose(), e.disposed = !1, e.init(Ma(t));
5631
+ e.dispose(), e.disposed = !1, e.init(Ba(t));
5622
5632
  }
5623
5633
  /**
5624
5634
  * 光圈过渡切换显示
@@ -5649,7 +5659,7 @@ class au {
5649
5659
  if (!a.url) return console.error("missing model file url");
5650
5660
  if (!a.url.endsWith(".spx")) return console.error("The format is unsupported in the large scene mode", a.url);
5651
5661
  const o = { ...a, ...a.cameraInfo || {} };
5652
- a.autoCut = Math.min(Math.max(a.autoCut || 0, 0), 50), o.bigSceneMode = a.autoCut > 1, e.reset({ ...o }), !o.bigSceneMode && delete a.autoCut, e.metaMatrix = a.transform ? new $t().fromArray(a.transform) : null, e.splatMesh.meta = a, yt && (a.cameraInfo?.position || a.cameraInfo?.lookAt) && e.events.fire(Z)._dollyOut(0.75), o.bigSceneMode ? (i(cs, a.flyPositions || []), i(ls, a.flyTargets || [])) : i(Di, a), await e.splatMesh.addModel({ url: a.url }, a), await i(ln, a.watermark), i(Z).updateRotateAxis();
5662
+ a.autoCut = Math.min(Math.max(a.autoCut || 0, 0), 50), o.bigSceneMode = a.autoCut > 1, e.reset({ ...o }), !o.bigSceneMode && delete a.autoCut, e.metaMatrix = a.transform ? new $t().fromArray(a.transform) : null, e.splatMesh.meta = a, yt && (a.cameraInfo?.position || a.cameraInfo?.lookAt) && e.events.fire(Z)._dollyOut(0.75), o.bigSceneMode ? (i(ls, a.flyPositions || []), i(As, a.flyTargets || [])) : i(ki, a), await e.splatMesh.addModel({ url: a.url }, a), await i(ln, a.watermark), i(Z).updateRotateAxis();
5653
5663
  }
5654
5664
  /**
5655
5665
  * 添加要渲染的高斯模型(小场景模式)
@@ -5689,7 +5699,7 @@ class au {
5689
5699
  console.error("unknow format!", r.url);
5690
5700
  return;
5691
5701
  }
5692
- A.qualityLevel = A.qualityLevel || c.qualityLevel || Qe, A.sortType = A.sortType || c.sortType || Ke.Default, a(Qo, () => A), i.metaMatrix = A.transform ? new $t().fromArray(A.transform) : null, o(Di, A), this.options({ qualityLevel: A.qualityLevel, sortType: A.sortType }), r.format === "obj" ? (this.options({ autoRotate: !1 }), await o(Bo, r.url)) : (this.splatMesh.addModel(r, A), await o(ln, A.watermark)), yt && o(Z)._dollyOut?.(0.75);
5702
+ A.qualityLevel = A.qualityLevel || c.qualityLevel || Qe, A.sortType = A.sortType || c.sortType || Ke.Default, a(Do, () => A), i.metaMatrix = A.transform ? new $t().fromArray(A.transform) : null, o(ki, A), this.options({ qualityLevel: A.qualityLevel, sortType: A.sortType }), r.format === "obj" ? (this.options({ autoRotate: !1 }), await o(Qo, r.url)) : (this.splatMesh.addModel(r, A), await o(ln, A.watermark)), yt && o(Z)._dollyOut?.(0.75);
5693
5703
  }
5694
5704
  /**
5695
5705
  * 根据需要暴露的接口
@@ -5718,10 +5728,10 @@ class au {
5718
5728
  else
5719
5729
  return !1;
5720
5730
  return u.markMode = !0, t(ht), !0;
5721
- }, s = async (l) => (setTimeout(() => window.focus()), l ? (t(Ye, l)?.dispose(), t(ct), await t(wn)) : !1), r = async (l, u = !0) => (t(mo, l, u), t(Ye, l?.name)?.drawUpdate?.(l, u), t(ct), u ? (setTimeout(() => window.focus()), await t(wn)) : !0), c = (l = !0) => {
5722
- setTimeout(() => window.focus()), t(vi, !!l);
5731
+ }, s = async (l) => (setTimeout(() => window.focus()), l ? (t(Ye, l)?.dispose(), t(ct), await t(wn)) : !1), r = async (l, u = !0) => (t(Co, l, u), t(Ye, l?.name)?.drawUpdate?.(l, u), t(ct), u ? (setTimeout(() => window.focus()), await t(wn)) : !0), c = (l = !0) => {
5732
+ setTimeout(() => window.focus()), t(xi, !!l);
5723
5733
  }, A = (l, u = !0) => {
5724
- t(ln, l), u && t(yo, l);
5734
+ t(ln, l), u && t(Io, l);
5725
5735
  };
5726
5736
  window.$api = { switchAutoRotate: e, changePointCloudMode: i, showMark: a, startMark: o, deleteMark: s, updateMark: r, showWaterMark: c, setWaterMark: A };
5727
5737
  }
@@ -5733,10 +5743,10 @@ class au {
5733
5743
  if (t.disposed) return;
5734
5744
  t.disposed = !0;
5735
5745
  const e = (o, ...s) => t.events.fire(o, ...s), i = e(Ve), a = i.domElement;
5736
- e(ji), e(ao), e(is), e(Ji), e(Z).dispose(), e(jt, e(Y)), i.clear(), i.dispose(), a.parentElement.removeChild(a), t.splatMesh = null, t.events.clear(), t.events = null;
5746
+ e(Ki), e(oo), e(ss), e(ji), e(Z).dispose(), e(jt, e(Y)), i.clear(), i.dispose(), a.parentElement.removeChild(a), t.splatMesh = null, t.events.clear(), t.events = null;
5737
5747
  }
5738
5748
  }
5739
- function bA(n) {
5749
+ function BA(n) {
5740
5750
  const t = (s, r, c) => n.on(s, r, c), e = (s, ...r) => n.fire(s, ...r), i = yt ? 2 : 20, a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
5741
5751
  t(Mn, () => e(St) && a.set(Date.now(), 1)), t(Bn, () => e(St) && e(ve, a)), t(Qn, () => e(St) && o.set(Date.now(), 1)), t(Dn, () => e(St) && e(ve, o)), t(ve, (s) => {
5742
5752
  let r = [], c = Date.now(), A = 0;
@@ -5751,91 +5761,91 @@ function bA(n) {
5751
5761
  for (let A = 0; A < c.length; A++)
5752
5762
  c[A].splatMesh.boundBox.visible = A < 1;
5753
5763
  return window.splat = c[0]?.splatMesh, c[0]?.splatMesh;
5754
- }), t(Uo, () => {
5764
+ }), t(No, () => {
5755
5765
  const s = e(Y), r = e(dt), c = [];
5756
5766
  s?.traverse(function(A) {
5757
5767
  A.isWarpSplatMesh && c.push(A);
5758
5768
  }), c.sort((A, l) => r.position.distanceTo(A.position) - r.position.distanceTo(l.position));
5759
5769
  for (let A = 0; A < c.length; A++)
5760
5770
  c[A].active = A < i, c[A].splatMesh && (c[A].splatMesh.renderOrder = 1e3 - A);
5761
- }), t(No, () => {
5771
+ }), t(zo, () => {
5762
5772
  const s = e(Y), r = [];
5763
5773
  s?.traverse((c) => r.push(c)), r.forEach((c) => {
5764
5774
  c.dispose ? c.dispose() : (c.geometry?.dispose?.(), c.material && c.material instanceof Array ? c.material.forEach((A) => A?.dispose?.()) : c.material?.dispose?.());
5765
5775
  }), s?.clear();
5766
- }), t(Ri, (s = 0.1) => {
5776
+ }), t(_i, (s = 0.1) => {
5767
5777
  const r = e(ot);
5768
5778
  r && r.visible && r.rotateOnAxis(new Q(1, 0, 0), te.degToRad(s));
5769
- }), t(_i, (s = 0.1) => {
5779
+ }), t(Fi, (s = 0.1) => {
5770
5780
  const r = e(ot);
5771
5781
  r && r.visible && r.rotateOnAxis(new Q(0, 1, 0), te.degToRad(s));
5772
- }), t(Fi, (s = 0.1) => {
5782
+ }), t(Pi, (s = 0.1) => {
5773
5783
  const r = e(ot);
5774
5784
  r && r.visible && r.rotateOnAxis(new Q(0, 0, 1), te.degToRad(s));
5775
- }), t(zr, (s = 0.01) => {
5785
+ }), t(Or, (s = 0.01) => {
5776
5786
  const r = e(ot);
5777
5787
  r && r.visible && (r.position.x += s);
5778
- }), t(Po, (s = 0.01) => {
5788
+ }), t(Uo, (s = 0.01) => {
5779
5789
  const r = e(ot);
5780
5790
  r && r.visible && (r.position.y += s);
5781
- }), t(Hr, (s = 0.01) => {
5791
+ }), t(Yr, (s = 0.01) => {
5782
5792
  const r = e(ot);
5783
5793
  r && r.visible && (r.position.z += s);
5784
- }), t(Or, (s) => {
5794
+ }), t(Gr, (s) => {
5785
5795
  const r = e(ot);
5786
5796
  r && r.visible && s && r.position.copy(s), console.info(r, s);
5787
- }), t(Yr, (s = 0.01) => {
5797
+ }), t(qr, (s = 0.01) => {
5788
5798
  const r = e(ot);
5789
5799
  r && r.visible && r.scale.set(r.scale.x + s, r.scale.y + s, r.scale.z + s);
5790
- }), t(Gr, () => {
5800
+ }), t(Vr, () => {
5791
5801
  const s = e(ot);
5792
5802
  s && (s.visible = !s.visible);
5793
- }), t(qr, async (s) => {
5803
+ }), t(Wr, async (s) => {
5794
5804
  if (!s && (s = e(ot)), !s) return;
5795
5805
  const r = s.meta || {};
5796
5806
  return r.transform = s.matrix.toArray(), await e(Ie, JSON.stringify(r), s.meta.url);
5797
- }), t(Lo, () => {
5798
- const s = e(_).root, r = new za({ antialias: !1, logarithmicDepthBuffer: !0, stencil: !0, alpha: !0, precision: "highp" });
5799
- return r.setSize(s.clientWidth, s.clientHeight), r.setPixelRatio(Math.min(devicePixelRatio, 2)), t(Ve, () => r), t(ke, () => r.domElement), r;
5800
5807
  }), t(Ro, () => {
5801
- const s = e(_), r = new Ga(), c = s.background || "#dbf0ff";
5802
- return r.background = new Wi(c), r.fog = new xs(c, 0), t(Y, () => r), r;
5808
+ const s = e(_).root, r = new Ha({ antialias: !1, logarithmicDepthBuffer: !0, stencil: !0, alpha: !0, precision: "highp" });
5809
+ return r.setSize(s.clientWidth, s.clientHeight), r.setPixelRatio(Math.min(devicePixelRatio, 2)), t(Ve, () => r), t(ke, () => r.domElement), r;
5803
5810
  }), t(_o, () => {
5804
- const r = e(dt), c = e(Y), A = e(_), l = new aA(e(dt), A.root);
5811
+ const s = e(_), r = new qa(), c = s.background || "#dbf0ff";
5812
+ return r.background = new $i(c), r.fog = new Ss(c, 0), t(Y, () => r), r;
5813
+ }), t(Fo, () => {
5814
+ const r = e(dt), c = e(Y), A = e(_), l = new rA(e(dt), A.root);
5805
5815
  l.screenSpacePanning = !1, l.minDistance = 0.1, l.maxDistance = 6e4, l.maxPolarAngle = 1.2, l.enableDamping = !0, l.dampingFactor = 0.07, l.zoomToCursor = !0;
5806
5816
  const u = new Q().fromArray(A.minPan || [-2e4, 0.1, -6e4]), g = new Q().fromArray(A.maxPan || [5e4, 1e4, 0]), h = new Q();
5807
5817
  return l.addEventListener("change", () => {
5808
5818
  const d = Math.max(l.getPolarAngle(), 0.1), C = Math.max(l.getDistance(), 0.1);
5809
- l.zoomSpeed = Math.max(Math.log(C), 0) + 0.5, r.far = te.clamp(C / d * 8, 100, 1e5), r.near = r.far / 1e3, r.updateProjectionMatrix(), c.fog instanceof xs && (c.fog.density = d / (C + 5) * 1 * 0.25), l.maxPolarAngle = Math.min(Math.pow(1e4 / C, 4), 1.2), h.copy(l.target), l.target.clamp(u, g), h.sub(l.target), r.position.sub(h);
5819
+ l.zoomSpeed = Math.max(Math.log(C), 0) + 0.5, r.far = te.clamp(C / d * 8, 100, 1e5), r.near = r.far / 1e3, r.updateProjectionMatrix(), c.fog instanceof Ss && (c.fog.density = d / (C + 5) * 1 * 0.25), l.maxPolarAngle = Math.min(Math.pow(1e4 / C, 4), 1.2), h.copy(l.target), l.target.clamp(u, g), h.sub(l.target), r.position.sub(h);
5810
5820
  }), t(Z, () => l), t(en, () => r.fov), t(Lt, (d = !1) => d ? r.position.clone() : r.position), t(Ot, (d = !1) => d ? l.target.clone() : l.target), t(Be, (d = !1) => d ? r.up.clone() : r.up), l;
5811
- }), t(Fo, () => {
5812
- const s = new Er(16777215, 1);
5821
+ }), t(Po, () => {
5822
+ const s = new xr(16777215, 1);
5813
5823
  return s.position.set(0, 2e3, 1e3), s;
5814
- }), window.addEventListener("beforeunload", () => e(zn));
5824
+ }), window.addEventListener("beforeunload", () => e(Hn));
5815
5825
  }
5816
- function MA(n) {
5826
+ function QA(n) {
5817
5827
  let { root: t = "#map", debugMode: e } = n;
5818
5828
  t ? t = typeof t == "string" ? document.querySelector(t) || document.querySelector("#map") : t : t = document.querySelector("#map"), t || (t = document.createElement("div"), t.id = "map", (document.querySelector("#gsviewer") || document.querySelector("body")).appendChild(t));
5819
5829
  const i = { ...n };
5820
5830
  return i.root = t, i;
5821
5831
  }
5822
- function BA() {
5823
- const n = Ss.TileSource.create({
5832
+ function DA() {
5833
+ const n = bs.TileSource.create({
5824
5834
  dataType: "image",
5825
5835
  attribution: "ArcGIS",
5826
5836
  url: "https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"
5827
- }), t = new Ss.TileMap({ imgSource: n, lon0: 90, minLevel: 2, maxLevel: 16 });
5837
+ }), t = new bs.TileMap({ imgSource: n, lon0: 90, minLevel: 2, maxLevel: 16 });
5828
5838
  return t.scale.set(10, 10, 10), t.rotateX(-Math.PI / 2), t.autoUpdate = !1, t;
5829
5839
  }
5830
- class QA {
5840
+ class kA {
5831
5841
  constructor() {
5832
5842
  this.down = 0, this.move = !1, this.downTime = 0, this.isDbClick = !1, this.x = 0, this.y = 0, this.lastClickX = 0, this.lastClickY = 0, this.lastClickPointTime = 0, this.lastMovePoint = null, this.lastMovePointTime = 0;
5833
5843
  }
5834
5844
  }
5835
- function DA(n) {
5845
+ function TA(n) {
5836
5846
  const t = (v, x, m) => n.on(v, x, m), e = (v, ...x) => n.fire(v, ...x), i = e(ke);
5837
- let a = /* @__PURE__ */ new Set(), o, s = new QA();
5838
- t(Hn, () => {
5847
+ let a = /* @__PURE__ */ new Set(), o, s = new kA();
5848
+ t(On, () => {
5839
5849
  if (!a.size) return;
5840
5850
  if (!e(_).enableKeyboard) return a.clear();
5841
5851
  if (a.has("KeyH")) {
@@ -5875,7 +5885,7 @@ function DA(n) {
5875
5885
  const m = x.meta || {};
5876
5886
  m.transform = x.matrix.toArray();
5877
5887
  }
5878
- } else a.has("KeyQ") ? e(Ri, 0.1) : a.has("KeyW") ? e(_i, 0.1) : a.has("KeyE") ? e(Fi, 0.1) : a.has("KeyA") ? e(Ri, -0.1) : a.has("KeyS") ? e(_i, -0.1) : a.has("KeyD") ? e(Fi, -0.1) : a.has("KeyY") ? e(Po, a.has("ShiftLeft") || a.has("ShiftRight") ? -0.1 : 0.1) : a.has("KeyC") && console.info("position=", e(Lt).toArray(), "lookat=", e(Ot).toArray());
5888
+ } else a.has("KeyQ") ? e(_i, 0.1) : a.has("KeyW") ? e(Fi, 0.1) : a.has("KeyE") ? e(Pi, 0.1) : a.has("KeyA") ? e(_i, -0.1) : a.has("KeyS") ? e(Fi, -0.1) : a.has("KeyD") ? e(Pi, -0.1) : a.has("KeyY") ? e(Uo, a.has("ShiftLeft") || a.has("ShiftRight") ? -0.1 : 0.1) : a.has("KeyC") && console.info("position=", e(Lt).toArray(), "lookat=", e(Ot).toArray());
5879
5889
  });
5880
5890
  const r = (v) => {
5881
5891
  console.info(v.code), v.target.type !== "text" && (o || v.code === "F5" || (v.preventDefault(), a.add(v.code)));
@@ -5899,7 +5909,7 @@ function DA(n) {
5899
5909
  }, y = async (v) => {
5900
5910
  v.preventDefault(), !o && (s.down = 0, s.move = !1);
5901
5911
  };
5902
- function E(v) {
5912
+ function w(v) {
5903
5913
  v.preventDefault(), !o && (s.down = v.touches.length, s.down === 1 && (s.move = !1, s.x = v.touches[0].clientX, s.y = v.touches[0].clientY));
5904
5914
  }
5905
5915
  function b(v) {
@@ -5908,8 +5918,8 @@ function DA(n) {
5908
5918
  function D(v) {
5909
5919
  s.down === 1 && !s.move && e(Oe, s.x, s.y);
5910
5920
  }
5911
- window.addEventListener("keydown", r), window.addEventListener("keyup", c), window.addEventListener("blur", A), window.addEventListener("wheel", l, { passive: !1 }), i.addEventListener("contextmenu", u), i.addEventListener("mousedown", f), i.addEventListener("mousemove", p), i.addEventListener("mouseup", y), i.addEventListener("touchstart", E, { passive: !1 }), i.addEventListener("touchmove", b, { passive: !1 }), i.addEventListener("touchend", D, { passive: !1 }), t(Ji, () => {
5912
- o = !0, window.removeEventListener("keydown", r), window.removeEventListener("keyup", c), window.removeEventListener("blur", A), window.removeEventListener("wheel", l), i.removeEventListener("contextmenu", u), i.removeEventListener("mousedown", f), i.removeEventListener("mousemove", p), i.removeEventListener("mouseup", y), i.removeEventListener("touchstart", E), i.removeEventListener("touchmove", b), i.removeEventListener("touchend", D);
5921
+ window.addEventListener("keydown", r), window.addEventListener("keyup", c), window.addEventListener("blur", A), window.addEventListener("wheel", l, { passive: !1 }), i.addEventListener("contextmenu", u), i.addEventListener("mousedown", f), i.addEventListener("mousemove", p), i.addEventListener("mouseup", y), i.addEventListener("touchstart", w, { passive: !1 }), i.addEventListener("touchmove", b, { passive: !1 }), i.addEventListener("touchend", D, { passive: !1 }), t(ji, () => {
5922
+ o = !0, window.removeEventListener("keydown", r), window.removeEventListener("keyup", c), window.removeEventListener("blur", A), window.removeEventListener("wheel", l), i.removeEventListener("contextmenu", u), i.removeEventListener("mousedown", f), i.removeEventListener("mousemove", p), i.removeEventListener("mouseup", y), i.removeEventListener("touchstart", w), i.removeEventListener("touchmove", b), i.removeEventListener("touchend", D);
5913
5923
  }), t(Oe, async (v, x) => await e(kn, v, x));
5914
5924
  }
5915
5925
  var Se = Object.freeze({
@@ -6055,7 +6065,7 @@ var Se = Object.freeze({
6055
6065
  }
6056
6066
  }), ze = function() {
6057
6067
  return performance.now();
6058
- }, kA = (
6068
+ }, LA = (
6059
6069
  /** @class */
6060
6070
  function() {
6061
6071
  function n() {
@@ -6102,9 +6112,9 @@ var Se = Object.freeze({
6102
6112
  }
6103
6113
  }, n;
6104
6114
  }()
6105
- ), qi = {
6115
+ ), Vi = {
6106
6116
  Linear: function(n, t) {
6107
- var e = n.length - 1, i = e * t, a = Math.floor(i), o = qi.Utils.Linear;
6117
+ var e = n.length - 1, i = e * t, a = Math.floor(i), o = Vi.Utils.Linear;
6108
6118
  return t < 0 ? o(n[0], n[1], i) : t > 1 ? o(n[e], n[e - 1], e - i) : o(n[a], n[a + 1 > e ? e : a + 1], i - a);
6109
6119
  },
6110
6120
  Utils: {
@@ -6112,7 +6122,7 @@ var Se = Object.freeze({
6112
6122
  return (t - n) * e + n;
6113
6123
  }
6114
6124
  }
6115
- }, ar = (
6125
+ }, rr = (
6116
6126
  /** @class */
6117
6127
  function() {
6118
6128
  function n() {
@@ -6121,11 +6131,11 @@ var Se = Object.freeze({
6121
6131
  return n._nextId++;
6122
6132
  }, n._nextId = 0, n;
6123
6133
  }()
6124
- ), Vi = new kA(), TA = (
6134
+ ), Wi = new LA(), RA = (
6125
6135
  /** @class */
6126
6136
  function() {
6127
6137
  function n(t, e) {
6128
- this._isPaused = !1, this._pauseStart = 0, this._valuesStart = {}, this._valuesEnd = {}, this._valuesStartRepeat = {}, this._duration = 1e3, this._isDynamic = !1, this._initialRepeat = 0, this._repeat = 0, this._yoyo = !1, this._isPlaying = !1, this._reversed = !1, this._delayTime = 0, this._startTime = 0, this._easingFunction = Se.Linear.None, this._interpolationFunction = qi.Linear, this._chainedTweens = [], this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._id = ar.nextId(), this._isChainStopped = !1, this._propertiesAreSetUp = !1, this._goToEnd = !1, this._object = t, typeof e == "object" ? (this._group = e, e.add(this)) : e === !0 && (this._group = Vi, Vi.add(this));
6138
+ this._isPaused = !1, this._pauseStart = 0, this._valuesStart = {}, this._valuesEnd = {}, this._valuesStartRepeat = {}, this._duration = 1e3, this._isDynamic = !1, this._initialRepeat = 0, this._repeat = 0, this._yoyo = !1, this._isPlaying = !1, this._reversed = !1, this._delayTime = 0, this._startTime = 0, this._easingFunction = Se.Linear.None, this._interpolationFunction = Vi.Linear, this._chainedTweens = [], this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._id = rr.nextId(), this._isChainStopped = !1, this._propertiesAreSetUp = !1, this._goToEnd = !1, this._object = t, typeof e == "object" ? (this._group = e, e.add(this)) : e === !0 && (this._group = Wi, Wi.add(this));
6129
6139
  }
6130
6140
  return n.prototype.getId = function() {
6131
6141
  return this._id;
@@ -6227,7 +6237,7 @@ var Se = Object.freeze({
6227
6237
  }, n.prototype.easing = function(t) {
6228
6238
  return t === void 0 && (t = Se.Linear.None), this._easingFunction = t, this;
6229
6239
  }, n.prototype.interpolation = function(t) {
6230
- return t === void 0 && (t = qi.Linear), this._interpolationFunction = t, this;
6240
+ return t === void 0 && (t = Vi.Linear), this._interpolationFunction = t, this;
6231
6241
  }, n.prototype.chain = function() {
6232
6242
  for (var t = [], e = 0; e < arguments.length; e++)
6233
6243
  t[e] = arguments[e];
@@ -6293,15 +6303,15 @@ var Se = Object.freeze({
6293
6303
  }, n.autoStartOnUpdate = !1, n;
6294
6304
  }()
6295
6305
  );
6296
- ar.nextId;
6297
- var qt = Vi;
6306
+ rr.nextId;
6307
+ var qt = Wi;
6298
6308
  qt.getAll.bind(qt);
6299
6309
  qt.removeAll.bind(qt);
6300
6310
  qt.add.bind(qt);
6301
6311
  qt.remove.bind(qt);
6302
6312
  qt.update.bind(qt);
6303
- const Ua = navigator.userAgent.includes("Mobi");
6304
- class LA extends pt {
6313
+ const Na = navigator.userAgent.includes("Mobi");
6314
+ class _A extends pt {
6305
6315
  constructor(t, e) {
6306
6316
  super(), this.isWarpSplatMesh = !0, this.lastActiveTime = Date.now(), this.active = !1, this.disposed = !1;
6307
6317
  const i = this;
@@ -6332,8 +6342,8 @@ class LA extends pt {
6332
6342
  let o = null;
6333
6343
  a.onclick = () => {
6334
6344
  if (o) return;
6335
- const c = i.target.clone(), A = i.object.position.clone(), l = e.position.clone(), u = Ua ? 6 : 2, h = c.clone().sub(A).normalize().clone(), d = l.clone().sub(h.multiplyScalar(u)), C = { x: A.x, y: A.y, z: A.z, tx: c.x, ty: c.y, tz: c.z }, f = { x: d.x, y: d.y, z: d.z, tx: l.x, ty: l.y, tz: l.z };
6336
- o = new TA(C).to(f, 3500), o.easing(Se.Sinusoidal.InOut).start().onUpdate(() => {
6345
+ const c = i.target.clone(), A = i.object.position.clone(), l = e.position.clone(), u = Na ? 6 : 2, h = c.clone().sub(A).normalize().clone(), d = l.clone().sub(h.multiplyScalar(u)), C = { x: A.x, y: A.y, z: A.z, tx: c.x, ty: c.y, tz: c.z }, f = { x: d.x, y: d.y, z: d.z, tx: l.x, ty: l.y, tz: l.z };
6346
+ o = new RA(C).to(f, 3500), o.easing(Se.Sinusoidal.InOut).start().onUpdate(() => {
6337
6347
  i.object.position.set(C.x, C.y, C.z), i.target.set(C.tx, C.ty, C.tz);
6338
6348
  }).onComplete(() => {
6339
6349
  o = null;
@@ -6344,7 +6354,7 @@ class LA extends pt {
6344
6354
  const r = (c) => e.mapViewer.controls._onMouseWheel(c);
6345
6355
  a.addEventListener("wheel", r, { passive: !1 }), s.dispose = () => a.removeEventListener("wheel", r), e.onBeforeRender = () => {
6346
6356
  o?.update();
6347
- const c = Ua ? 60 : 30, A = 100, l = e.position.distanceTo(e.mapViewer.controls.object.position);
6357
+ const c = Na ? 60 : 30, A = 100, l = e.position.distanceTo(e.mapViewer.controls.object.position);
6348
6358
  if (l > c) {
6349
6359
  e.css3dTag.visible = e.opts.controls.object.position.y > 2;
6350
6360
  let u = 2e-3 * l;
@@ -6364,7 +6374,7 @@ class LA extends pt {
6364
6374
  const h = new Nt(g);
6365
6375
  e.splatMesh = h, e.opts.scene.add(h), h.meta = u;
6366
6376
  const d = u.watermark || u.name || "";
6367
- u.showWatermark = u.showWatermark !== !1, h.fire(ss, d, !0, !1), h.addModel({ url: u.url }, u);
6377
+ u.showWatermark = u.showWatermark !== !1, h.fire(as, d, !0, !1), h.addModel({ url: u.url }, u);
6368
6378
  }
6369
6379
  e.splatMesh.meta.showBoundBox && (e.splatMesh.boundBox.visible = !0);
6370
6380
  }
@@ -6382,18 +6392,18 @@ class LA extends pt {
6382
6392
  t.disposed || (t.disposed = !0, t.opts.scene.remove(t.css3dTag), t.splatMesh?.dispose(), t.meta = null, t.splatMesh = null, t.opts = null, t.css3dTag = null, t.mapViewer = null, t.metaMatrix = null);
6383
6393
  }
6384
6394
  }
6385
- class ou extends vr {
6395
+ class Au extends Sr {
6386
6396
  constructor(t = {}) {
6387
- console.info("Reall3dMapViewer", ds), super(), this.clock = new xr(), this.updateTime = 0, this.disposed = !1;
6388
- const e = this, i = new hs();
6397
+ console.info("Reall3dMapViewer", gs), super(), this.clock = new br(), this.updateTime = 0, this.disposed = !1;
6398
+ const e = this, i = new ds();
6389
6399
  e.events = i;
6390
6400
  const a = (r, c, A) => i.on(r, c, A), o = (r, ...c) => i.fire(r, ...c);
6391
- e.tileMap = BA();
6392
- const s = MA(t);
6393
- a(_, () => s), fs(i), bA(i), ir(i), e.camera = new Ha(60, 1, 0.01, 100), a(dt, () => e.camera), e.container = s.root, e.renderer = o(Lo), e.scene = o(Ro), e.controls = o(_o), e.ambLight = new qa(16777215, 1), e.scene.add(e.ambLight), e.dirLight = o(Fo), e.scene.add(e.dirLight), e.scene.add(e.tileMap), e.container.appendChild(e.renderer.domElement), sr(i), DA(i), window.addEventListener("resize", e.resize.bind(e)), e.resize(), e.renderer.setAnimationLoop(e.animate.bind(e)), yt && e.controls._dollyOut?.(0.75), a(zn, () => e.dispose()), a(
6401
+ e.tileMap = DA();
6402
+ const s = QA(t);
6403
+ a(_, () => s), ps(i), BA(i), ar(i), e.camera = new Oa(60, 1, 0.01, 100), a(dt, () => e.camera), e.container = s.root, e.renderer = o(Ro), e.scene = o(_o), e.controls = o(Fo), e.ambLight = new Va(16777215, 1), e.scene.add(e.ambLight), e.dirLight = o(Po), e.scene.add(e.dirLight), e.scene.add(e.tileMap), e.container.appendChild(e.renderer.domElement), or(i), TA(i), window.addEventListener("resize", e.resize.bind(e)), e.resize(), e.renderer.setAnimationLoop(e.animate.bind(e)), yt && e.controls._dollyOut?.(0.75), a(Hn, () => e.dispose()), a(
6394
6404
  xe,
6395
6405
  () => {
6396
- o(Qn), e.controls.update(), o(Uo), o(Hn);
6406
+ o(Qn), e.controls.update(), o(No), o(On);
6397
6407
  },
6398
6408
  !0
6399
6409
  ), a(
@@ -6433,7 +6443,7 @@ class ou extends vr {
6433
6443
  e.controls.object.position.copy(a), e.controls.target.copy(o), e.dirLight.target.position.copy(o);
6434
6444
  const s = /* @__PURE__ */ new Set();
6435
6445
  for (let r of i.scenes)
6436
- s.has(r) || (new LA(r, e), s.add(r));
6446
+ s.has(r) || (new _A(r, e), s.add(r));
6437
6447
  }).catch((i) => {
6438
6448
  console.error(i.message);
6439
6449
  });
@@ -6443,7 +6453,7 @@ class ou extends vr {
6443
6453
  if (t.disposed) return;
6444
6454
  const { width: e, height: i, top: a, left: o } = t.container.getBoundingClientRect();
6445
6455
  t.renderer.setPixelRatio(Math.min(devicePixelRatio, 2)), t.renderer.setSize(e, i), t.camera.aspect = e / i, t.camera.updateProjectionMatrix();
6446
- const s = t.events.fire(ns);
6456
+ const s = t.events.fire(is);
6447
6457
  s.setSize(e, i), s.domElement.style.position = "absolute", s.domElement.style.left = `${o}px`, s.domElement.style.top = `${a}px`;
6448
6458
  }
6449
6459
  animate() {
@@ -6458,10 +6468,10 @@ class ou extends vr {
6458
6468
  if (t.disposed) return;
6459
6469
  t.disposed = !0;
6460
6470
  const e = t.renderer.domElement;
6461
- t.events.fire(is), t.events.fire(No), t.renderer.clear(), t.renderer.dispose(), t.events.clear(), t.scene = null, t.renderer = null, t.camera = null, t.controls = null, t.ambLight = null, t.dirLight = null, t.container.removeChild(e), t.container.classList.add("hidden"), t.container = null, t.clock = null, t.events = null, t.tileMap = null, document.querySelector("#gsviewer .debug.dev-panel")?.classList?.remove("map");
6471
+ t.events.fire(ss), t.events.fire(zo), t.renderer.clear(), t.renderer.dispose(), t.events.clear(), t.scene = null, t.renderer = null, t.camera = null, t.controls = null, t.ambLight = null, t.dirLight = null, t.container.removeChild(e), t.container.classList.add("hidden"), t.container = null, t.clock = null, t.events = null, t.tileMap = null, document.querySelector("#gsviewer .debug.dev-panel")?.classList?.remove("map");
6462
6472
  }
6463
6473
  }
6464
- class ru {
6474
+ class uu {
6465
6475
  constructor(t) {
6466
6476
  this.tools = /* @__PURE__ */ new Map(), this.active = null, this.events = t, this.events.on("tool.deactivate", () => {
6467
6477
  this.activate(null);
@@ -6488,7 +6498,7 @@ class ru {
6488
6498
  t === this.active ? t && this.activate(null) : (this.active && (this.tools.get(this.active).deactivate(), this.events.fire(`tool.${this.active}.deactivated`), this.events.fire("tool.deactivated", this.active)), this.active = t, this.active && this.tools.get(this.active).activate(), this.events.fire(`tool.${t}.activated`), this.events.fire("tool.activated", t));
6489
6499
  }
6490
6500
  }
6491
- class cu {
6501
+ class hu {
6492
6502
  constructor(t, e, i) {
6493
6503
  let a = 40;
6494
6504
  const o = document.createElementNS("http://www.w3.org/2000/svg", "svg");
@@ -6498,8 +6508,8 @@ class cu {
6498
6508
  const { canvas: r, context: c } = i, A = { x: 0, y: 0 };
6499
6509
  let l;
6500
6510
  const u = (p) => {
6501
- const y = p.offsetX, E = p.offsetY;
6502
- s.setAttribute("cx", y.toString()), s.setAttribute("cy", E.toString()), l !== void 0 && (c.beginPath(), c.strokeStyle = "#f60", c.lineCap = "round", c.lineWidth = a * 2, c.moveTo(A.x, A.y), c.lineTo(y, E), c.stroke(), A.x = y, A.y = E);
6511
+ const y = p.offsetX, w = p.offsetY;
6512
+ s.setAttribute("cx", y.toString()), s.setAttribute("cy", w.toString()), l !== void 0 && (c.beginPath(), c.strokeStyle = "#f60", c.lineCap = "round", c.lineWidth = a * 2, c.moveTo(A.x, A.y), c.lineTo(y, w), c.stroke(), A.x = y, A.y = w);
6503
6513
  }, g = (p) => {
6504
6514
  l === void 0 && (p.pointerType === "mouse" ? p.button === 0 : p.isPrimary) && (p.preventDefault(), p.stopPropagation(), l = p.pointerId, e.setPointerCapture(l), (r.width !== e.clientWidth || r.height !== e.clientHeight) && (r.width = e.clientWidth, r.height = e.clientHeight), c.clearRect(0, 0, r.width, r.height), r.style.display = "inline", A.x = p.offsetX, A.y = p.offsetY, u(p));
6505
6515
  }, h = (p) => {
@@ -6510,8 +6520,8 @@ class cu {
6510
6520
  p.pointerId === l && (p.preventDefault(), p.stopPropagation(), d(), t.fire("select.byMask", p.shiftKey ? "add" : p.ctrlKey ? "remove" : "set", r, c));
6511
6521
  }, f = (p) => {
6512
6522
  if (p.altKey || p.metaKey) {
6513
- const { deltaX: y, deltaY: E } = p;
6514
- t.fire((Math.abs(y) > Math.abs(E) ? y : E) > 0 ? "tool.brushSelection.smaller" : "tool.brushSelection.bigger"), p.preventDefault(), p.stopPropagation();
6523
+ const { deltaX: y, deltaY: w } = p;
6524
+ t.fire((Math.abs(y) > Math.abs(w) ? y : w) > 0 ? "tool.brushSelection.smaller" : "tool.brushSelection.bigger"), p.preventDefault(), p.stopPropagation();
6515
6525
  }
6516
6526
  };
6517
6527
  this.activate = () => {
@@ -6525,7 +6535,7 @@ class cu {
6525
6535
  }), o.appendChild(s), e.appendChild(o);
6526
6536
  }
6527
6537
  }
6528
- class lu {
6538
+ class du {
6529
6539
  constructor(t, e, i) {
6530
6540
  let a = [], o = null, s = 0;
6531
6541
  const r = document.createElementNS("http://www.w3.org/2000/svg", "svg");
@@ -6541,8 +6551,8 @@ class lu {
6541
6551
  let d;
6542
6552
  const C = (D) => {
6543
6553
  o = { x: D.offsetX, y: D.offsetY };
6544
- const v = a.length === 0 ? 0 : u(o, a[a.length - 1]), x = Date.now() - s, m = v > 20, w = x > 500 && v > 2, M = x > 200 && v > 10, S = a.length === 0;
6545
- d !== void 0 && (m || w || M || S) && (a.push(o), s = Date.now()), h();
6554
+ const v = a.length === 0 ? 0 : u(o, a[a.length - 1]), x = Date.now() - s, m = v > 20, E = x > 500 && v > 2, M = x > 200 && v > 10, S = a.length === 0;
6555
+ d !== void 0 && (m || E || M || S) && (a.push(o), s = Date.now()), h();
6546
6556
  }, f = (D) => {
6547
6557
  (A.width !== e.clientWidth || A.height !== e.clientHeight) && (A.width = e.clientWidth, A.height = e.clientHeight), l.clearRect(0, 0, A.width, A.height), l.beginPath(), l.fillStyle = "#f60", l.beginPath(), a.forEach((v, x) => {
6548
6558
  x === 0 ? l.moveTo(v.x, v.y) : l.lineTo(v.x, v.y);
@@ -6551,33 +6561,33 @@ class lu {
6551
6561
  d === void 0 && (D.pointerType === "mouse" ? D.button === 0 : D.isPrimary) && (D.preventDefault(), D.stopPropagation(), d = D.pointerId, e.setPointerCapture(d), C(D));
6552
6562
  }, y = (D) => {
6553
6563
  d !== void 0 && (D.preventDefault(), D.stopPropagation()), C(D);
6554
- }, E = () => {
6564
+ }, w = () => {
6555
6565
  e.releasePointerCapture(d), d = void 0;
6556
6566
  }, b = (D) => {
6557
- D.pointerId === d && (D.preventDefault(), D.stopPropagation(), E(), f(D), a = [], h());
6567
+ D.pointerId === d && (D.preventDefault(), D.stopPropagation(), w(), f(D), a = [], h());
6558
6568
  };
6559
6569
  this.activate = () => {
6560
6570
  r.style.display = "inline", e.style.display = "block", e.addEventListener("pointerdown", p), e.addEventListener("pointermove", y), e.addEventListener("pointerup", b);
6561
6571
  }, this.deactivate = () => {
6562
- d !== void 0 && E(), r.style.display = "none", e.style.display = "none", e.removeEventListener("pointerdown", p), e.removeEventListener("pointermove", y), e.removeEventListener("pointerup", b);
6572
+ d !== void 0 && w(), r.style.display = "none", e.style.display = "none", e.removeEventListener("pointerdown", p), e.removeEventListener("pointermove", y), e.removeEventListener("pointerup", b);
6563
6573
  }, r.appendChild(c), e.appendChild(r);
6564
6574
  }
6565
6575
  }
6566
- class Au {
6576
+ class gu {
6567
6577
  constructor(t, e, i) {
6568
6578
  let a = [], o = null;
6569
6579
  const s = document.createElementNS("http://www.w3.org/2000/svg", "svg");
6570
6580
  s.id = "polygon-select-svg", s.classList.add("select-svg");
6571
6581
  const r = document.createElementNS(s.namespaceURI, "polyline");
6572
6582
  r.setAttribute("fill", "none"), r.setAttribute("stroke-width", "1"), r.setAttribute("stroke-dasharray", "5, 5"), r.setAttribute("stroke-dashoffset", "0");
6573
- const { canvas: c, context: A } = i, l = (y, E) => Math.sqrt((y.x - E.x) ** 2 + (y.y - E.y) ** 2), u = () => a.length > 1 && l(o, a[0]) < 8, g = () => {
6583
+ const { canvas: c, context: A } = i, l = (y, w) => Math.sqrt((y.x - w.x) ** 2 + (y.y - w.y) ** 2), u = () => a.length > 1 && l(o, a[0]) < 8, g = () => {
6574
6584
  r.setAttribute(
6575
6585
  "points",
6576
- [...a, o].filter((y) => y).reduce((y, E) => `${y}${E.x}, ${E.y} `, "")
6586
+ [...a, o].filter((y) => y).reduce((y, w) => `${y}${w.x}, ${w.y} `, "")
6577
6587
  ), r.setAttribute("stroke", u() ? "#fa6" : "#f60");
6578
6588
  }, h = (y) => {
6579
- (c.width !== e.clientWidth || c.height !== e.clientHeight) && (c.width = e.clientWidth, c.height = e.clientHeight), A.clearRect(0, 0, c.width, c.height), A.beginPath(), A.fillStyle = "#f60", A.beginPath(), a.forEach((E, b) => {
6580
- b === 0 ? A.moveTo(E.x, E.y) : A.lineTo(E.x, E.y);
6589
+ (c.width !== e.clientWidth || c.height !== e.clientHeight) && (c.width = e.clientWidth, c.height = e.clientHeight), A.clearRect(0, 0, c.width, c.height), A.beginPath(), A.fillStyle = "#f60", A.beginPath(), a.forEach((w, b) => {
6590
+ b === 0 ? A.moveTo(w.x, w.y) : A.lineTo(w.x, w.y);
6581
6591
  }), A.closePath(), A.fill(), t.fire("select.byMask", y.shiftKey ? "add" : y.ctrlKey ? "remove" : "set", c, A), a = [], g();
6582
6592
  }, d = (y) => {
6583
6593
  o = { x: y.offsetX, y: y.offsetY }, a.length > 0 && g();
@@ -6595,7 +6605,7 @@ class Au {
6595
6605
  }, s.appendChild(r), e.appendChild(s);
6596
6606
  }
6597
6607
  }
6598
- class uu {
6608
+ class fu {
6599
6609
  constructor(t, e) {
6600
6610
  const i = document.createElementNS("http://www.w3.org/2000/svg", "svg");
6601
6611
  i.id = "rect-select-svg", i.classList.add("select-svg");
@@ -6635,233 +6645,237 @@ class uu {
6635
6645
  }
6636
6646
  }
6637
6647
  export {
6638
- as as AddFlyPosition,
6648
+ os as AddFlyPosition,
6639
6649
  ne as AddMarkToWeakRef,
6640
- cu as BrushSelection,
6641
- is as CSS3DRendererDispose,
6642
- Ei as CameraSetLookAt,
6643
- PA as CanUpdateTexture,
6650
+ hu as BrushSelection,
6651
+ ss as CSS3DRendererDispose,
6652
+ vi as CameraSetLookAt,
6653
+ NA as CanUpdateTexture,
6644
6654
  Pe as CancelCurrentMark,
6645
- rs as ClearFlyPosition,
6646
- ts as ClearMarkPoint,
6647
- ji as CommonUtilsDispose,
6655
+ cs as ClearFlyPosition,
6656
+ es as ClearMarkPoint,
6657
+ Ki as CommonUtilsDispose,
6648
6658
  ve as ComputeFps,
6649
- wi as ComputePlansArea,
6650
- Ii as ComputePlansCenter,
6651
- Vn as ComputePoint3Area,
6659
+ Ei as ComputePlansArea,
6660
+ wi as ComputePlansCenter,
6661
+ Wn as ComputePoint3Area,
6652
6662
  In as ControlPlaneSwitchVisible,
6653
6663
  Tn as ControlPlaneUpdate,
6654
- ja as ControlsUpdate,
6655
- Ka as ControlsUpdateRotateAxis,
6664
+ Ka as ControlsUpdate,
6665
+ Xa as ControlsUpdateRotateAxis,
6656
6666
  Mn as CountFpsDefault,
6657
6667
  Qn as CountFpsReal,
6658
- Bs as CreateSplatGeometry,
6659
- Qs as CreateSplatMaterial,
6660
- no as CreateSplatMesh,
6661
- Ms as CreateSplatUniforms,
6662
- Mr as DecodeBase64,
6668
+ Qs as CreateSplatGeometry,
6669
+ Ds as CreateSplatMaterial,
6670
+ io as CreateSplatMesh,
6671
+ Bs as CreateSplatUniforms,
6672
+ Qr as DecodeBase64,
6663
6673
  Te as DeleteMarkWeakRef,
6664
- br as EncodeBase64,
6665
- Ji as EventListenerDispose,
6666
- hs as Events,
6674
+ Br as EncodeBase64,
6675
+ ji as EventListenerDispose,
6676
+ ds as Events,
6667
6677
  _n as FlyDisable,
6668
- Ns as FlyEnable,
6669
- wo as FlyOnce,
6670
- os as FlySavePositions,
6678
+ zs as FlyEnable,
6679
+ Eo as FlyOnce,
6680
+ rs as FlySavePositions,
6671
6681
  Je as Flying,
6672
- KA as FlyingContinue,
6673
- jA as FlyingPause,
6674
- XA as FlyingPlay,
6675
- zs as FocusAabbCenter,
6676
- Bi as FocusMarkerAutoDisappear,
6682
+ ZA as FlyingContinue,
6683
+ XA as FlyingPause,
6684
+ tu as FlyingPlay,
6685
+ Hs as FocusAabbCenter,
6686
+ Qi as FocusMarkerAutoDisappear,
6677
6687
  cn as FocusMarkerSetOpacity,
6678
- go as FocusMarkerUpdate,
6679
- jn as FocusMarkerUpdateScale,
6680
- Mo as GetAabbCenter,
6681
- ZA as GetBgAudio,
6682
- ns as GetCSS3DRenderer,
6683
- po as GetCachedWaterMark,
6688
+ fo as FocusMarkerUpdate,
6689
+ Kn as FocusMarkerUpdateScale,
6690
+ Bo as GetAabbCenter,
6691
+ eu as GetBgAudio,
6692
+ is as GetCSS3DRenderer,
6693
+ mo as GetCachedWaterMark,
6684
6694
  dt as GetCamera,
6685
- fo as GetCameraDirection,
6695
+ po as GetCameraDirection,
6686
6696
  en as GetCameraFov,
6687
- Ja as GetCameraInfo,
6697
+ ja as GetCameraInfo,
6688
6698
  Ot as GetCameraLookAt,
6689
6699
  Be as GetCameraLookUp,
6690
6700
  Lt as GetCameraPosition,
6691
6701
  ke as GetCanvas,
6692
6702
  he as GetCanvasSize,
6693
- Tr as GetControlPlane,
6703
+ Rr as GetControlPlane,
6694
6704
  Z as GetControls,
6695
- bo as GetCurrentDisplayShDegree,
6696
- Pr as GetFlyPositionArray,
6697
- Us as GetFlyPositions,
6698
- Ur as GetFlyTargetArray,
6699
- UA as GetFocusMarkerMaterial,
6705
+ Mo as GetCurrentDisplayShDegree,
6706
+ Nr as GetFlyPositionArray,
6707
+ Ns as GetFlyPositions,
6708
+ zr as GetFlyTargetArray,
6709
+ zA as GetFocusMarkerMaterial,
6700
6710
  Bn as GetFpsDefault,
6701
6711
  Dn as GetFpsReal,
6702
- Io as GetGaussianText,
6703
- Fr as GetMarkDataByName,
6712
+ wo as GetGaussianText,
6713
+ Ur as GetMarkDataByName,
6704
6714
  Ye as GetMarkFromWeakRef,
6705
- Rr as GetMarkWarpElement,
6715
+ Fr as GetMarkWarpElement,
6706
6716
  Ee as GetMaxRenderCount,
6707
- Qo as GetMeta,
6708
- ko as GetMetaMatrix,
6709
- As as GetModelShDegree,
6717
+ Do as GetMeta,
6718
+ To as GetMetaMatrix,
6719
+ us as GetModelShDegree,
6710
6720
  _ as GetOptions,
6711
- Pi as GetRenderQualityLevel,
6721
+ Ui as GetRenderQualityLevel,
6712
6722
  Ve as GetRenderer,
6713
6723
  Y as GetScene,
6714
6724
  Ue as GetShTexheight,
6715
- Ui as GetSortType,
6716
- bi as GetSplatActivePoints,
6717
- Br as GetSplatGeometry,
6718
- Ds as GetSplatMaterial,
6725
+ Ni as GetSortType,
6726
+ Mi as GetSplatActivePoints,
6727
+ Dr as GetSplatGeometry,
6728
+ ks as GetSplatMaterial,
6719
6729
  xt as GetSplatMesh,
6720
- Za as GetViewProjectionMatrix,
6721
- Xa as GetViewProjectionMatrixArray,
6722
- $a as GetWorker,
6730
+ to as GetViewProjectionMatrix,
6731
+ Za as GetViewProjectionMatrixArray,
6732
+ Ja as GetWorker,
6723
6733
  Ie as HttpPostMetaData,
6724
- Sr as HttpQueryGaussianText,
6734
+ Mr as HttpQueryGaussianText,
6725
6735
  it as Information,
6726
6736
  Ct as IsBigSceneMode,
6727
- Dr as IsCameraChangedNeedLoadData,
6728
- Ki as IsCameraChangedNeedUpdate,
6729
- es as IsControlPlaneVisible,
6737
+ Tr as IsCameraChangedNeedLoadData,
6738
+ Xi as IsCameraChangedNeedUpdate,
6739
+ ns as IsControlPlaneVisible,
6730
6740
  St as IsDebugMode,
6731
- kr as IsFetching,
6732
- xi as IsPointcloudMode,
6733
- ho as IsSmallSceneRenderDataReady,
6734
- zo as IsSplatMeshCreated,
6735
- Hn as KeyActionCheckAndExecute,
6736
- lu as LassoSelection,
6737
- Di as LoadSmallSceneMetaData,
6738
- FA as LoaderModelStart,
6739
- GA as MapCreateCamera,
6740
- _o as MapCreateControls,
6741
- Fo as MapCreateDirLight,
6742
- Lo as MapCreateRenderer,
6743
- Ro as MapCreateScene,
6744
- qA as MapFlyToTarget,
6741
+ Lr as IsFetching,
6742
+ Si as IsPointcloudMode,
6743
+ go as IsSmallSceneRenderDataReady,
6744
+ Ho as IsSplatMeshCreated,
6745
+ On as KeyActionCheckAndExecute,
6746
+ du as LassoSelection,
6747
+ ki as LoadSmallSceneMetaData,
6748
+ UA as LoaderModelStart,
6749
+ VA as MapCreateCamera,
6750
+ Fo as MapCreateControls,
6751
+ Po as MapCreateDirLight,
6752
+ Ro as MapCreateRenderer,
6753
+ _o as MapCreateScene,
6754
+ WA as MapFlyToTarget,
6745
6755
  ot as MapGetSplatMesh,
6746
- No as MapSceneTraverseDispose,
6747
- Uo as MapSortSplatMeshRenderOrder,
6748
- zr as MapSplatMeshMoveX,
6749
- Po as MapSplatMeshMoveY,
6750
- Hr as MapSplatMeshMoveZ,
6751
- Ri as MapSplatMeshRotateX,
6752
- _i as MapSplatMeshRotateY,
6753
- Fi as MapSplatMeshRotateZ,
6754
- qr as MapSplatMeshSaveModelMatrix,
6755
- Yr as MapSplatMeshScale,
6756
- Or as MapSplatMeshSetPosition,
6757
- Gr as MapSplatMeshShowHide,
6758
- YA as MarkArea,
6759
- OA as MarkDistance,
6756
+ zo as MapSceneTraverseDispose,
6757
+ No as MapSortSplatMeshRenderOrder,
6758
+ Or as MapSplatMeshMoveX,
6759
+ Uo as MapSplatMeshMoveY,
6760
+ Yr as MapSplatMeshMoveZ,
6761
+ _i as MapSplatMeshRotateX,
6762
+ Fi as MapSplatMeshRotateY,
6763
+ Pi as MapSplatMeshRotateZ,
6764
+ Wr as MapSplatMeshSaveModelMatrix,
6765
+ qr as MapSplatMeshScale,
6766
+ Gr as MapSplatMeshSetPosition,
6767
+ Vr as MapSplatMeshShowHide,
6768
+ qA as MarkArea,
6769
+ GA as MarkDistance,
6760
6770
  ie as MarkFinish,
6761
- zA as MarkLine,
6762
- HA as MarkPlan,
6763
- NA as MarkPoint,
6771
+ OA as MarkLine,
6772
+ YA as MarkPlan,
6773
+ HA as MarkPoint,
6764
6774
  $e as MarkUpdateVisible,
6765
- Co as MetaMarkRemoveData,
6775
+ yo as MetaMarkRemoveData,
6766
6776
  wn as MetaMarkSaveData,
6767
- Qi as MetaSaveSmallSceneCameraInfo,
6768
- yo as MetaSaveWatermark,
6777
+ Di as MetaSaveSmallSceneCameraInfo,
6778
+ Io as MetaSaveWatermark,
6769
6779
  et as NotifyViewerNeedUpdate,
6770
- Xi as OnFetchStart,
6780
+ Zi as OnFetchStart,
6771
6781
  He as OnFetchStop,
6772
- Zi as OnFetching,
6773
- Bo as OnLoadAndRenderObj,
6774
- Li as OnQualityLevelChanged,
6775
- cs as OnSetFlyPositions,
6776
- ls as OnSetFlyTargets,
6782
+ ts as OnFetching,
6783
+ Qo as OnLoadAndRenderObj,
6784
+ Ri as OnQualityLevelChanged,
6785
+ ls as OnSetFlyPositions,
6786
+ As as OnSetFlyTargets,
6777
6787
  ln as OnSetWaterMark,
6778
6788
  En as OnSmallSceneShowDone,
6779
6789
  Ne as OnSmallSceneTimeChange,
6780
- uo as OnTextureReadySplatCount,
6790
+ ho as OnTextureReadySplatCount,
6781
6791
  We as OnViewerAfterUpdate,
6782
6792
  xe as OnViewerBeforeUpdate,
6783
6793
  de as OnViewerUpdate,
6784
- tu as PlaytBgAudio,
6785
- Au as PolygonSelection,
6786
- Eo as PrintInfo,
6787
- Mi as RaycasterRayDistanceToPoint,
6794
+ nu as PlaytBgAudio,
6795
+ gu as PolygonSelection,
6796
+ vo as PrintInfo,
6797
+ Bi as RaycasterRayDistanceToPoint,
6788
6798
  kn as RaycasterRayIntersectPoints,
6789
- Wa as ReComputePlansArea,
6790
- ou as Reall3dMapViewer,
6791
- au as Reall3dViewer,
6792
- uu as RectSelection,
6793
- Jn as RotateAt,
6794
- _s as RotateLeft,
6795
- Fs as RotateRight,
6799
+ $a as ReComputePlansArea,
6800
+ Au as Reall3dMapViewer,
6801
+ lu as Reall3dViewer,
6802
+ fu as RectSelection,
6803
+ jn as RotateAt,
6804
+ Fs as RotateLeft,
6805
+ Ps as RotateRight,
6796
6806
  Me as RunLoopByFrame,
6797
- Va as RunLoopByTime,
6807
+ Wa as RunLoopByTime,
6798
6808
  Mt as SelectMarkPoint,
6799
6809
  Oe as SelectPointAndLookAt,
6800
- eu as SetBgAudioVolumeDown,
6801
- nu as SetBgAudioVolumeUp,
6802
- ss as SetGaussianText,
6803
- Wn as SplatGeometryDispose,
6804
- $n as SplatMaterialDispose,
6810
+ iu as SetBgAudioVolumeDown,
6811
+ su as SetBgAudioVolumeUp,
6812
+ as as SetGaussianText,
6813
+ $n as SplatGeometryDispose,
6814
+ Jn as SplatMaterialDispose,
6805
6815
  Nt as SplatMesh,
6806
- Ao as SplatMeshCycleZoom,
6807
- lo as SplatMeshDispose,
6808
- Si as SplatMeshSwitchDisplayMode,
6809
- Nr as SplatSetBoundBoxVisible,
6816
+ uo as SplatMeshCycleZoom,
6817
+ Ao as SplatMeshDispose,
6818
+ bi as SplatMeshSwitchDisplayMode,
6819
+ Hr as SplatSetBoundBoxVisible,
6810
6820
  Ln as SplatSetPointcloudMode,
6811
6821
  Rn as SplatSwitchDisplayMode,
6812
- oo as SplatTexdataManagerAddModel,
6813
- ro as SplatTexdataManagerDataChanged,
6814
- co as SplatTexdataManagerDispose,
6815
- Rs as SplatUpdateBigSceneMode,
6816
- Ti as SplatUpdateBoundBox,
6822
+ ro as SplatTexdataManagerAddModel,
6823
+ co as SplatTexdataManagerDataChanged,
6824
+ lo as SplatTexdataManagerDispose,
6825
+ _s as SplatUpdateBigSceneMode,
6826
+ Li as SplatUpdateBoundBox,
6817
6827
  Re as SplatUpdateCurrentLightRadius,
6818
6828
  Le as SplatUpdateCurrentVisibleRadius,
6819
- Qr as SplatUpdateDebugEffect,
6820
- Do as SplatUpdateFlagValue,
6829
+ kr as SplatUpdateDebugEffect,
6830
+ ko as SplatUpdateFlagValue,
6821
6831
  on as SplatUpdateFocal,
6822
6832
  qe as SplatUpdateLightFactor,
6823
6833
  yn as SplatUpdateMarkPoint,
6824
- To as SplatUpdateMaxRadius,
6825
- Xn as SplatUpdateMinAlpha,
6826
- Kn as SplatUpdateMinMaxPixelDiameter,
6834
+ Lo as SplatUpdateMaxRadius,
6835
+ Zn as SplatUpdateMinAlpha,
6836
+ Xn as SplatUpdateMinMaxPixelDiameter,
6827
6837
  Pn as SplatUpdateParticleMode,
6828
6838
  Fn as SplatUpdatePerformanceAct,
6829
- so as SplatUpdatePerformanceNow,
6839
+ ao as SplatUpdatePerformanceNow,
6830
6840
  ce as SplatUpdatePointMode,
6831
- xo as SplatUpdateSh12Texture,
6832
- So as SplatUpdateSh3Texture,
6841
+ So as SplatUpdateSh12Texture,
6842
+ bo as SplatUpdateSh3Texture,
6833
6843
  bn as SplatUpdateShDegree,
6834
- vi as SplatUpdateShowWaterMark,
6835
- ks as SplatUpdateSplatIndex,
6836
- Ts as SplatUpdateTexture,
6837
- io as SplatUpdateTopY,
6838
- Hs as SplatUpdateTransitionEffect,
6839
- Zn as SplatUpdateUseSimilarExp,
6840
- Ls as SplatUpdateUsingIndex,
6844
+ xi as SplatUpdateShowWaterMark,
6845
+ Ts as SplatUpdateSplatIndex,
6846
+ Ls as SplatUpdateTexture,
6847
+ so as SplatUpdateTopY,
6848
+ Os as SplatUpdateTransitionEffect,
6849
+ ti as SplatUpdateUseSimilarExp,
6850
+ Rs as SplatUpdateUsingIndex,
6841
6851
  rn as SplatUpdateViewport,
6842
- bs as StartAutoRotate,
6852
+ Ms as StartAutoRotate,
6843
6853
  ht as StopAutoRotate,
6844
- iu as StopBgAudio,
6845
- ru as ToolManager,
6854
+ au as StopBgAudio,
6855
+ uu as ToolManager,
6846
6856
  jt as TraverseDisposeAndClear,
6847
- VA as TweenFly,
6848
- JA as TweenFlyDisable,
6849
- $A as TweenFlyEnable,
6850
- WA as TweenFlyOnce,
6851
- mo as UpdateAllMarkByMeterScale,
6852
- _r as UpdateMarkByName,
6853
- ei as UpdateQualityLevel,
6854
- ti as UpdateSortType,
6855
- ki as UploadSplatTexture,
6856
- vo as UploadSplatTextureDone,
6857
+ $A as TweenFly,
6858
+ KA as TweenFlyDisable,
6859
+ jA as TweenFlyEnable,
6860
+ JA as TweenFlyOnce,
6861
+ Co as UpdateAllMarkByMeterScale,
6862
+ Pr as UpdateMarkByName,
6863
+ ni as UpdateQualityLevel,
6864
+ ei as UpdateSortType,
6865
+ Ti as UploadSplatTexture,
6866
+ xo as UploadSplatTextureDone,
6857
6867
  le as Vector3ToString,
6858
- Ps as ViewerCheckNeedUpdate,
6859
- zn as ViewerDispose,
6868
+ Us as ViewerCheckNeedUpdate,
6869
+ Hn as ViewerDispose,
6860
6870
  ct as ViewerNeedUpdate,
6861
- Lr as ViewerSetPointcloudMode,
6862
- ao as ViewerUtilsDispose,
6863
- eo as WorkerDispose,
6864
- to as WorkerSort,
6865
- us as WorkerUpdateParams,
6866
- gA as setupEventListener
6871
+ _r as ViewerSetPointcloudMode,
6872
+ oo as ViewerUtilsDispose,
6873
+ no as WorkerDispose,
6874
+ eo as WorkerSort,
6875
+ hs as WorkerUpdateParams,
6876
+ ou as onDataloadBefore,
6877
+ Oo as onDataloadStop,
6878
+ ru as onDataloading,
6879
+ Un as onSceneReady,
6880
+ pA as setupEventListener
6867
6881
  };