@realsee/five 6.8.0-alpha.20 → 6.8.0-alpha.21
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/ai_guides/features/material.md +1 -1
- package/ai_guides/release_notes/6.8.md +1 -1
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/five.Five.html +41 -41
- package/docs/classes/five.PBMContainer.html +1 -1
- package/docs/classes/five.PBMGSObject.html +5 -3
- package/docs/classes/five.PBMGroup.html +1 -1
- package/docs/classes/five.PBMMesh.html +1 -1
- package/docs/classes/five.PBMPointCloud.html +1 -1
- package/docs/classes/five.PBMSkinnedMesh.html +1 -1
- package/docs/classes/five.Parameter.html +5 -5
- package/docs/documents/features_material.html +1 -1
- package/docs/documents/release_notes_6.8.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/five.EventCallback.html +1 -1
- package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.ParameterMaterialValue.html +6 -6
- package/docs/interfaces/five.ParameterValue.html +6 -6
- package/docs/interfaces/five.ResolvedParameterValue.html +6 -6
- package/docs/interfaces/five.SplatData.html +2 -2
- package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +1 -1
- package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +1 -1
- package/five/application/five.d.ts +1 -6
- package/five/gaussian-splatting/util/renderData.d.ts +52 -0
- package/five/index.js +9 -9
- package/five/index.mjs +443 -230
- package/five/model/index.d.ts +1 -1
- package/five/model/loaders/glTF-helpers/extensions/KHR_gaussian_splatting_compression_spz.d.ts +2 -2
- package/five/model/loaders/spz.d.ts +2 -2
- package/five/model/objects/{pbmGSObject.d.ts → pbmGaussianSplattingObject.d.ts} +4 -1
- package/five/model/objects/pbmGaussianSplattingRenderMesh.d.ts +55 -0
- package/five/model/objects/pbmGaussianSplattingTestMesh.d.ts +7 -0
- package/five/model/parameter.d.ts +1 -1
- package/five/model/tile3d/tile-node.d.ts +2 -2
- package/five/utils/memoryUsage.d.ts +2 -2
- package/gltf-loader/index.js +2 -2
- package/gltf-loader/index.mjs +2 -2
- package/line/index.js +2 -2
- package/line/index.mjs +2 -2
- package/package.json +1 -1
- package/plugins/index.js +1 -1
- package/plugins/index.mjs +1 -1
- package/react/index.js +1 -1
- package/react/index.mjs +1 -1
- package/shader-lib/index.js +1 -1
- package/shader-lib/index.mjs +1 -1
- package/sticker/index.js +2 -2
- package/sticker/index.mjs +2 -2
- package/umd/five-gltf-loader.js +2 -2
- package/umd/five-line.js +2 -2
- package/umd/five-plugins.js +1 -1
- package/umd/five-react.js +1 -1
- package/umd/five-shader-lib.js +1 -1
- package/umd/five-sticker.js +2 -2
- package/umd/five-vfx.js +1 -1
- package/umd/five-vue.js +1 -1
- package/umd/five.js +10 -10
- package/vfx/index.js +1 -1
- package/vfx/index.mjs +1 -1
- package/vue/index.js +1 -1
- package/vue/index.mjs +1 -1
- package/work-downloader/index.js +1 -1
- package/work-downloader/index.mjs +1 -1
- package/five/gs/util/renderData.d.ts +0 -32
- package/five/model/objects/pbmGSRenderMesh.d.ts +0 -32
- /package/five/{gs → gaussian-splatting}/wasm/data.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/wasm/sort.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/worker/dataWorker.d.ts +0 -0
- /package/five/{gs → gaussian-splatting}/worker/sortWorker.d.ts +0 -0
package/five/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @license
|
|
3
3
|
* @realsee/five
|
|
4
4
|
* Generated: 3/19/2026
|
|
5
|
-
* Version: 6.8.0-alpha.
|
|
5
|
+
* Version: 6.8.0-alpha.21
|
|
6
6
|
* Terms:
|
|
7
7
|
* Realsee SDK License Agreement
|
|
8
8
|
* Update: July 28, 2021
|
|
@@ -761,17 +761,17 @@ function ee(e, t) {
|
|
|
761
761
|
for (n = e - 1; n >= 0; --n) t[n] = 0;
|
|
762
762
|
t.t = this.t + e, t.s = this.s;
|
|
763
763
|
}
|
|
764
|
-
function
|
|
764
|
+
function te(e, t) {
|
|
765
765
|
for (var n = e; n < this.t; ++n) t[n - e] = this[n];
|
|
766
766
|
t.t = Math.max(this.t - e, 0), t.s = this.s;
|
|
767
767
|
}
|
|
768
|
-
function
|
|
768
|
+
function ne(e, t) {
|
|
769
769
|
var n = e % this.DB, r = this.DB - n, i = (1 << r) - 1, a = Math.floor(e / this.DB), o = this.s << n & this.DM, s;
|
|
770
770
|
for (s = this.t - 1; s >= 0; --s) t[s + a + 1] = this[s] >> r | o, o = (this[s] & i) << n;
|
|
771
771
|
for (s = a - 1; s >= 0; --s) t[s] = 0;
|
|
772
772
|
t[a] = o, t.t = this.t + a + 1, t.s = this.s, t.clamp();
|
|
773
773
|
}
|
|
774
|
-
function
|
|
774
|
+
function re(e, t) {
|
|
775
775
|
t.s = this.s;
|
|
776
776
|
var n = Math.floor(e / this.DB);
|
|
777
777
|
if (n >= this.t) {
|
|
@@ -783,7 +783,7 @@ function ne(e, t) {
|
|
|
783
783
|
for (var o = n + 1; o < this.t; ++o) t[o - n - 1] |= (this[o] & a) << i, t[o - n] = this[o] >> r;
|
|
784
784
|
r > 0 && (t[this.t - n - 1] |= (this.s & a) << i), t.t = this.t - n, t.clamp();
|
|
785
785
|
}
|
|
786
|
-
function
|
|
786
|
+
function ie(e, t) {
|
|
787
787
|
for (var n = 0, r = 0, i = Math.min(e.t, this.t); n < i;) r += this[n] - e[n], t[n++] = r & this.DM, r >>= this.DB;
|
|
788
788
|
if (e.t < this.t) {
|
|
789
789
|
for (r -= e.s; n < this.t;) r += this[n], t[n++] = r & this.DM, r >>= this.DB;
|
|
@@ -794,13 +794,13 @@ function re(e, t) {
|
|
|
794
794
|
}
|
|
795
795
|
t.s = r < 0 ? -1 : 0, r < -1 ? t[n++] = this.DV + r : r > 0 && (t[n++] = r), t.t = n, t.clamp();
|
|
796
796
|
}
|
|
797
|
-
function
|
|
797
|
+
function ae(e, t) {
|
|
798
798
|
var n = this.abs(), r = e.abs(), i = n.t;
|
|
799
799
|
for (t.t = i + r.t; --i >= 0;) t[i] = 0;
|
|
800
800
|
for (i = 0; i < r.t; ++i) t[i + n.t] = n.am(0, r[i], t, i, 0, n.t);
|
|
801
801
|
t.s = 0, t.clamp(), this.s != e.s && d.ZERO.subTo(t, t);
|
|
802
802
|
}
|
|
803
|
-
function
|
|
803
|
+
function oe(e) {
|
|
804
804
|
for (var t = this.abs(), n = e.t = 2 * t.t; --n >= 0;) e[n] = 0;
|
|
805
805
|
for (n = 0; n < t.t - 1; ++n) {
|
|
806
806
|
var r = t.am(n, t[n], e, 2 * n, 0, 1);
|
|
@@ -808,7 +808,7 @@ function ae(e) {
|
|
|
808
808
|
}
|
|
809
809
|
e.t > 0 && (e[e.t - 1] += t.am(n, t[n], e, 2 * n, 0, 1)), e.s = 0, e.clamp();
|
|
810
810
|
}
|
|
811
|
-
function
|
|
811
|
+
function se(e, t, n) {
|
|
812
812
|
var r = e.abs();
|
|
813
813
|
if (!(r.t <= 0)) {
|
|
814
814
|
var i = this.abs();
|
|
@@ -831,7 +831,7 @@ function oe(e, t, n) {
|
|
|
831
831
|
}
|
|
832
832
|
}
|
|
833
833
|
}
|
|
834
|
-
function
|
|
834
|
+
function P(e) {
|
|
835
835
|
var t = f();
|
|
836
836
|
return this.abs().divRemTo(e, null, t), this.s < 0 && t.compareTo(d.ZERO) > 0 && e.subTo(t, t), t;
|
|
837
837
|
}
|
|
@@ -904,7 +904,7 @@ function Se(e, t) {
|
|
|
904
904
|
var n = e < 256 || t.isEven() ? new ce(t) : new me(t);
|
|
905
905
|
return this.exp(e, n);
|
|
906
906
|
}
|
|
907
|
-
d.prototype.copyTo = C, d.prototype.fromInt = w, d.prototype.fromString = E, d.prototype.clamp = D, d.prototype.dlShiftTo = ee, d.prototype.drShiftTo =
|
|
907
|
+
d.prototype.copyTo = C, d.prototype.fromInt = w, d.prototype.fromString = E, d.prototype.clamp = D, d.prototype.dlShiftTo = ee, d.prototype.drShiftTo = te, d.prototype.lShiftTo = ne, d.prototype.rShiftTo = re, d.prototype.subTo = ie, d.prototype.multiplyTo = ae, d.prototype.squareTo = oe, d.prototype.divRemTo = se, d.prototype.invDigit = pe, d.prototype.isEven = be, d.prototype.exp = xe, d.prototype.toString = O, d.prototype.negate = k, d.prototype.abs = A, d.prototype.compareTo = j, d.prototype.bitLength = N, d.prototype.mod = P, d.prototype.modPowInt = Se, d.ZERO = T(0), d.ONE = T(1);
|
|
908
908
|
function Ce() {
|
|
909
909
|
if (this.s < 0) {
|
|
910
910
|
if (this.t == 1) return this[0] - this.DV;
|
|
@@ -1692,10 +1692,10 @@ ut.getKey = function(e, t, n) {
|
|
|
1692
1692
|
return M.readPKCS5PrvKeyHex(j), M;
|
|
1693
1693
|
}
|
|
1694
1694
|
if (e.indexOf("-END EC PRIVATE KEY-") != -1 && e.indexOf("4,ENCRYPTED") != -1) {
|
|
1695
|
-
var T = p.getDecryptedKeyHex(e, t), m = a(T, 0, [1], "04"), N = a(T, 0, [2, 0], "06"), ee = a(T, 0, [3, 0], "03").substr(2),
|
|
1696
|
-
if (s.crypto.OID.oidhex2name[N] !== void 0)
|
|
1695
|
+
var T = p.getDecryptedKeyHex(e, t), m = a(T, 0, [1], "04"), N = a(T, 0, [2, 0], "06"), ee = a(T, 0, [3, 0], "03").substr(2), te = "";
|
|
1696
|
+
if (s.crypto.OID.oidhex2name[N] !== void 0) te = s.crypto.OID.oidhex2name[N];
|
|
1697
1697
|
else throw "undefined OID(hex) in KJUR.crypto.OID: " + N;
|
|
1698
|
-
var h = new c({ curve:
|
|
1698
|
+
var h = new c({ curve: te });
|
|
1699
1699
|
return h.setPublicKeyHex(ee), h.setPrivateKeyHex(m), h.isPublic = !1, h;
|
|
1700
1700
|
}
|
|
1701
1701
|
if (e.indexOf("-END DSA PRIVATE KEY-") != -1 && e.indexOf("4,ENCRYPTED") != -1) {
|
|
@@ -3945,7 +3945,7 @@ var jn = {
|
|
|
3945
3945
|
distanceGain: G,
|
|
3946
3946
|
gradientTexture: G,
|
|
3947
3947
|
boundingBox: An,
|
|
3948
|
-
|
|
3948
|
+
gaussianSplattingSHDegree: G,
|
|
3949
3949
|
minLevelOfDetail: G,
|
|
3950
3950
|
maxLevelOfDetail: G,
|
|
3951
3951
|
minGeometricError: G,
|
|
@@ -4003,7 +4003,7 @@ function Rn() {
|
|
|
4003
4003
|
distanceGain: void 0,
|
|
4004
4004
|
useAddBlend: void 0,
|
|
4005
4005
|
boundingBox: void 0,
|
|
4006
|
-
|
|
4006
|
+
gaussianSplattingSHDegree: void 0,
|
|
4007
4007
|
minLevelOfDetail: void 0,
|
|
4008
4008
|
maxLevelOfDetail: void 0,
|
|
4009
4009
|
minGeometricError: void 0,
|
|
@@ -4059,7 +4059,7 @@ function zn() {
|
|
|
4059
4059
|
distanceGain: 0,
|
|
4060
4060
|
useAddBlend: !1,
|
|
4061
4061
|
boundingBox: Fn,
|
|
4062
|
-
|
|
4062
|
+
gaussianSplattingSHDegree: 0,
|
|
4063
4063
|
minLevelOfDetail: 0,
|
|
4064
4064
|
maxLevelOfDetail: 20,
|
|
4065
4065
|
minGeometricError: 0,
|
|
@@ -4180,7 +4180,7 @@ function Wn(t, n) {
|
|
|
4180
4180
|
for (let t of r) t.customShaders = n.customShaders, t.pointScale = n.pointScale, t.pointMinPixel = n.pointMinPixel, t.pointMaxPixel = n.pointMaxPixel, t.pointSize = n.pointSize, t.pointShape = n.pointShape, t.pointBack = n.pointBack, t.modelAlpha = n.modelAlpha, t.opacity = n.opacity, t.floorStyle = n.floorStyle, t.constantColor = n.constantColor, t.shownFloorIndex = n.shownFloorIndex, t.clippers = n.clippers, t.brightness = n.brightness, t.useHQWeight = n.useHQWeight, t.useHQDepth = n.useHQDepth, t.colorSaturation = n.colorSaturation, t.colorBrightness = n.colorBrightness, t.outlineGain = n.outlineGain, t.distanceGain = n.distanceGain, t.gradientTexture = n.gradientTexture, t.transparent = !1, t.blending = e.NormalBlending, t.blendDst = e.OneMinusSrcAlphaFactor, t.blendEquation = e.AddEquation, t.blendSrcAlpha = null, t.blendDstAlpha = null, t.blendEquationAlpha = null, t.depthWrite = !0, t.depthTest = !0, t.shownFloorIndex > -1 && (t.transparent = t.shownFloorIndex !== t.floorIndex), t.modelAlpha < 1 && (t.transparent = !0), t.opacity < 1 && (t.transparent = !0), t.brightness < 1 && (t.transparent = !0), n.useAddBlend && (t.depthWrite = !1, t.depthTest = !1, t.blending = e.AdditiveBlending), t.useHQWeight && (t.depthWrite = !1, t.blending = e.CustomBlending, t.blendSrc = e.SrcAlphaFactor, t.blendSrcAlpha = e.SrcAlphaFactor, t.blendDst = e.OneFactor, t.blendDstAlpha = e.OneFactor);
|
|
4181
4181
|
}
|
|
4182
4182
|
//#endregion
|
|
4183
|
-
//#region build/five/model/objects/
|
|
4183
|
+
//#region build/five/model/objects/pbmGaussianSplattingObject.js
|
|
4184
4184
|
var Gn = class t extends e.Points {
|
|
4185
4185
|
get positions() {
|
|
4186
4186
|
let e = this.geometry.getAttribute("position");
|
|
@@ -4217,7 +4217,7 @@ var Gn = class t extends e.Points {
|
|
|
4217
4217
|
constructor(t) {
|
|
4218
4218
|
var n;
|
|
4219
4219
|
let r = new e.BufferGeometry();
|
|
4220
|
-
super(r), this.transformChanged = !1, this.selectedChanged = !1, this.transferDetached = !1, this.maxSHDegree = 0, this.usedSHDegree = 0, this._selected = !1, this.material.visible = !1, this.numPoints = t ? t.numPoints : 0, this.maxSHDegree = (n = t == null ? void 0 : t.shDegree) == null ? 0 : n, this.usedSHDegree = 0, t && t.positions ? r.setAttribute("position", new e.BufferAttribute(t.positions, 3)) : r.setAttribute("position", new e.BufferAttribute(new Float32Array(), 3)), t && t.rotations ? r.setAttribute("rotation", new e.BufferAttribute(t.rotations, 4)) : r.setAttribute("rotation", new e.BufferAttribute(new Float32Array(), 4)), t && t.scales ? r.setAttribute("scale", new e.BufferAttribute(t.scales, 3)) : r.setAttribute("scale", new e.BufferAttribute(new Float32Array(), 3)), t && t.colors ? r.setAttribute("color", new e.BufferAttribute(t.colors, 4, !0)) : r.setAttribute("color", new e.BufferAttribute(new Uint8Array(), 4, !0));
|
|
4220
|
+
super(r), this.transformChanged = !1, this.selectedChanged = !1, this.transferDetached = !1, this.maxSHDegree = 0, this.usedSHDegree = 0, this.gsViewLayerKey = "", this.gsClippers = [], this._selected = !1, this.material.visible = !1, this.numPoints = t ? t.numPoints : 0, this.maxSHDegree = (n = t == null ? void 0 : t.shDegree) == null ? 0 : n, this.usedSHDegree = 0, t && t.positions ? r.setAttribute("position", new e.BufferAttribute(t.positions, 3)) : r.setAttribute("position", new e.BufferAttribute(new Float32Array(), 3)), t && t.rotations ? r.setAttribute("rotation", new e.BufferAttribute(t.rotations, 4)) : r.setAttribute("rotation", new e.BufferAttribute(new Float32Array(), 4)), t && t.scales ? r.setAttribute("scale", new e.BufferAttribute(t.scales, 3)) : r.setAttribute("scale", new e.BufferAttribute(new Float32Array(), 3)), t && t.colors ? r.setAttribute("color", new e.BufferAttribute(t.colors, 4, !0)) : r.setAttribute("color", new e.BufferAttribute(new Uint8Array(), 4, !0));
|
|
4221
4221
|
let i = new Uint8Array(this.numPoints);
|
|
4222
4222
|
if (r.setAttribute("selection", new e.BufferAttribute(i, 1)), t != null && t.sh1 && r.setAttribute("sh1", new e.BufferAttribute(t.sh1, 9)), t != null && t.sh2 && r.setAttribute("sh2", new e.BufferAttribute(t.sh2, 15)), t != null && t.sh3 && r.setAttribute("sh3", new e.BufferAttribute(t.sh3, 21)), this._boundingBox = new e.Box3(new e.Vector3(Infinity, Infinity, Infinity), new e.Vector3(-Infinity, -Infinity, -Infinity)), t && t.positions) for (let n = 0; n < this.numPoints; n++) this._boundingBox.expandByPoint(new e.Vector3(t.positions[3 * n], t.positions[3 * n + 1], t.positions[3 * n + 2]));
|
|
4223
4223
|
this.matrixAutoUpdate = !1, this.lastMatrixWorld = null;
|
|
@@ -7163,8 +7163,8 @@ var za = class {
|
|
|
7163
7163
|
if (n.bufferView !== void 0) {
|
|
7164
7164
|
let e = this.json.bufferViews[n.bufferView];
|
|
7165
7165
|
t = this.loadBuffer(e.buffer).then((t) => {
|
|
7166
|
-
let r = e.byteOffset || 0, i = e.byteLength || 0
|
|
7167
|
-
return ai(new Blob([
|
|
7166
|
+
let r = e.byteOffset || 0, i = e.byteLength || 0;
|
|
7167
|
+
return ai(new Blob([new Uint8Array(t, r, i)], { type: n.mimeType }));
|
|
7168
7168
|
});
|
|
7169
7169
|
} else if (n.uri) {
|
|
7170
7170
|
let e = this.resolveResouce(n.uri);
|
|
@@ -8469,8 +8469,7 @@ var Wo = class {
|
|
|
8469
8469
|
for (let e = 0; e < 21; ++e) i[e] = (t[o + e] - 128) / 128;
|
|
8470
8470
|
o += 21;
|
|
8471
8471
|
}
|
|
8472
|
-
|
|
8473
|
-
a == null || a(e, s, c, l);
|
|
8472
|
+
a == null || a(e, new Float32Array(n), r ? new Float32Array(r) : void 0, i ? new Float32Array(i) : void 0);
|
|
8474
8473
|
}
|
|
8475
8474
|
}
|
|
8476
8475
|
});
|
|
@@ -9407,8 +9406,8 @@ var Ws = /* @__PURE__ */ Vs(Hs, 9, 1), Gs = /* @__PURE__ */ Vs(Us, 5, 1), Ks = f
|
|
|
9407
9406
|
for (y == 16 ? (N = 3 + qs(e, d, 3), d += 2, M = T[D - 1]) : y == 17 ? (N = 3 + qs(e, d, 7), d += 3) : y == 18 && (N = 11 + qs(e, d, 127), d += 7); N--;) T[D++] = M;
|
|
9408
9407
|
}
|
|
9409
9408
|
}
|
|
9410
|
-
var ee = T.subarray(0, S),
|
|
9411
|
-
h = Ks(ee), g = Ks(
|
|
9409
|
+
var ee = T.subarray(0, S), te = T.subarray(S);
|
|
9410
|
+
h = Ks(ee), g = Ks(te), p = Vs(ee, h, 1), m = Vs(te, g, 1);
|
|
9412
9411
|
} else Qs(1);
|
|
9413
9412
|
if (d > _) {
|
|
9414
9413
|
c && Qs(0);
|
|
@@ -9416,43 +9415,43 @@ var Ws = /* @__PURE__ */ Vs(Hs, 9, 1), Gs = /* @__PURE__ */ Vs(Us, 5, 1), Ks = f
|
|
|
9416
9415
|
}
|
|
9417
9416
|
}
|
|
9418
9417
|
s && l(f + 131072);
|
|
9419
|
-
for (var
|
|
9420
|
-
var M = p[Js(e, d) &
|
|
9418
|
+
for (var ne = (1 << h) - 1, re = (1 << g) - 1, ie = d;; ie = d) {
|
|
9419
|
+
var M = p[Js(e, d) & ne], ae = M >> 4;
|
|
9421
9420
|
if (d += M & 15, d > _) {
|
|
9422
9421
|
c && Qs(0);
|
|
9423
9422
|
break;
|
|
9424
9423
|
}
|
|
9425
|
-
if (M || Qs(2),
|
|
9426
|
-
else if (
|
|
9427
|
-
|
|
9424
|
+
if (M || Qs(2), ae < 256) n[f++] = ae;
|
|
9425
|
+
else if (ae == 256) {
|
|
9426
|
+
ie = d, p = null;
|
|
9428
9427
|
break;
|
|
9429
9428
|
} else {
|
|
9430
|
-
var
|
|
9431
|
-
if (
|
|
9432
|
-
var D =
|
|
9433
|
-
|
|
9429
|
+
var oe = ae - 254;
|
|
9430
|
+
if (ae > 264) {
|
|
9431
|
+
var D = ae - 257, se = ks[D];
|
|
9432
|
+
oe = qs(e, d, (1 << se) - 1) + Ps[D], d += se;
|
|
9434
9433
|
}
|
|
9435
|
-
var
|
|
9436
|
-
|
|
9437
|
-
var
|
|
9434
|
+
var P = m[Js(e, d) & re], ce = P >> 4;
|
|
9435
|
+
P || Qs(3), d += P & 15;
|
|
9436
|
+
var te = Ls[ce];
|
|
9438
9437
|
if (ce > 3) {
|
|
9439
|
-
var
|
|
9440
|
-
|
|
9438
|
+
var se = As[ce];
|
|
9439
|
+
te += Js(e, d) & (1 << se) - 1, d += se;
|
|
9441
9440
|
}
|
|
9442
9441
|
if (d > _) {
|
|
9443
9442
|
c && Qs(0);
|
|
9444
9443
|
break;
|
|
9445
9444
|
}
|
|
9446
9445
|
s && l(f + 131072);
|
|
9447
|
-
var F = f +
|
|
9448
|
-
if (f <
|
|
9449
|
-
var le = a -
|
|
9446
|
+
var F = f + oe;
|
|
9447
|
+
if (f < te) {
|
|
9448
|
+
var le = a - te, ue = Math.min(te, F);
|
|
9450
9449
|
for (le + f < 0 && Qs(3); f < ue; ++f) n[f] = r[le + f];
|
|
9451
9450
|
}
|
|
9452
|
-
for (; f < F; ++f) n[f] = n[f -
|
|
9451
|
+
for (; f < F; ++f) n[f] = n[f - te];
|
|
9453
9452
|
}
|
|
9454
9453
|
}
|
|
9455
|
-
t.l = p, t.p =
|
|
9454
|
+
t.l = p, t.p = ie, t.b = f, t.f = u, p && (u = 1, t.m = h, t.d = m, t.n = g);
|
|
9456
9455
|
} while (!u);
|
|
9457
9456
|
return f != n.length && o ? Xs(n, 0, f) : n.subarray(0, f);
|
|
9458
9457
|
}, ec = /* @__PURE__ */ new Es(0), tc = function(e, t) {
|
|
@@ -11136,7 +11135,7 @@ function Jc(t, n = {}) {
|
|
|
11136
11135
|
});
|
|
11137
11136
|
}
|
|
11138
11137
|
function Yc(t, n) {
|
|
11139
|
-
var r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T, E, D, O, k, A, j, M, N, ee,
|
|
11138
|
+
var r, i, a, o, s, c, l, u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T, E, D, O, k, A, j, M, N, ee, te, ne, re, ie, ae, oe, se, P, ce, F, le, ue, de, fe, pe, me, he, ge, _e, ve, ye, be;
|
|
11140
11139
|
let xe = pc(t), Se = "", Ce = null;
|
|
11141
11140
|
for (let e of Object.keys(xe)) /(^|\/)main\.xml$/i.test(e) && (Ce = xe[e], Se = e.slice(0, e.lastIndexOf("/") + 1));
|
|
11142
11141
|
if (!Ce) throw Error("X3p: main.xml not found.");
|
|
@@ -11161,7 +11160,7 @@ function Yc(t, n) {
|
|
|
11161
11160
|
offset: Number((N = (M = I == null ? void 0 : I.querySelector("CZ Offset")) == null ? void 0 : M.textContent) == null ? "0" : N)
|
|
11162
11161
|
}
|
|
11163
11162
|
}, ke = null, L = De.querySelector("Record1 Axes Rotation");
|
|
11164
|
-
L && (ke = new e.Matrix3(), ke.set(Number((
|
|
11163
|
+
L && (ke = new e.Matrix3(), ke.set(Number((te = (ee = L.querySelector("r11")) == null ? void 0 : ee.textContent) == null ? 0 : te), Number((re = (ne = L.querySelector("r12")) == null ? void 0 : ne.textContent) == null ? 0 : re), Number((ae = (ie = L.querySelector("r13")) == null ? void 0 : ie.textContent) == null ? 0 : ae), Number((se = (oe = L.querySelector("r21")) == null ? void 0 : oe.textContent) == null ? 0 : se), Number((ce = (P = L.querySelector("r22")) == null ? void 0 : P.textContent) == null ? 0 : ce), Number((le = (F = L.querySelector("r23")) == null ? void 0 : F.textContent) == null ? 0 : le), Number((de = (ue = L.querySelector("r31")) == null ? void 0 : ue.textContent) == null ? 0 : de), Number((pe = (fe = L.querySelector("r32")) == null ? void 0 : fe.textContent) == null ? 0 : pe), Number((he = (me = L.querySelector("r33")) == null ? void 0 : me.textContent) == null ? 0 : he)));
|
|
11165
11164
|
let Ae = (ge = De.querySelector("Record3 DataLink PointDataLink")) == null ? void 0 : ge.textContent;
|
|
11166
11165
|
if (typeof Ae != "string") throw Error("X3p: PointDataLink not found.");
|
|
11167
11166
|
Ae = gr(Se, Ae);
|
|
@@ -11904,17 +11903,17 @@ var Bl = class e {
|
|
|
11904
11903
|
this.getPositionByIndex(n + 1, _);
|
|
11905
11904
|
let u = _.x, d = _.y, f = _.z;
|
|
11906
11905
|
this.getPositionByIndex(n + 2, v);
|
|
11907
|
-
let p = v.x, h = v.y, y = v.z, E = u - s, D = d - c, O = f - l, k = p - s, A = h - c, j = y - l, M = D * j - O * A, N = O * k - E * j, ee = E * A - D * k,
|
|
11908
|
-
if (
|
|
11909
|
-
else if (
|
|
11906
|
+
let p = v.x, h = v.y, y = v.z, E = u - s, D = d - c, O = f - l, k = p - s, A = h - c, j = y - l, M = D * j - O * A, N = O * k - E * j, ee = E * A - D * k, te = C * M + w * N + T * ee, ne;
|
|
11907
|
+
if (te > 0) ne = 1;
|
|
11908
|
+
else if (te < 0) ne = -1, te = -te;
|
|
11910
11909
|
else continue;
|
|
11911
|
-
let
|
|
11912
|
-
if (
|
|
11913
|
-
let
|
|
11914
|
-
if (
|
|
11915
|
-
let
|
|
11916
|
-
if (
|
|
11917
|
-
let ce =
|
|
11910
|
+
let re = b - s, ie = x - c, ae = S - l, oe = ne * (C * (ie * j - ae * A) + w * (ae * k - re * j) + T * (re * A - ie * k));
|
|
11911
|
+
if (oe < 0) continue;
|
|
11912
|
+
let se = ne * (C * (D * ae - O * ie) + w * (O * re - E * ae) + T * (E * ie - D * re));
|
|
11913
|
+
if (se < 0 || oe + se > te) continue;
|
|
11914
|
+
let P = -ne * (re * M + ie * N + ae * ee);
|
|
11915
|
+
if (P < 0) continue;
|
|
11916
|
+
let ce = P / te, F = new Vl(g, _, v, t, new Bl(b + C * ce, x + w * ce, S + T * ce));
|
|
11918
11917
|
(!i || i(F)) && (r ? ce < m && (m = ce, a.length > 0 && (a.length = 0), a.push(F)) : a.push(F));
|
|
11919
11918
|
}
|
|
11920
11919
|
let O = p * 36 / 2, k = u[O + 16], A = u[O + 17];
|
|
@@ -12447,7 +12446,7 @@ var Fu = function(e) {
|
|
|
12447
12446
|
update(e, t, n, r, i, a) {
|
|
12448
12447
|
let o = !1;
|
|
12449
12448
|
r.visible && i.state.selectedFrameNumber === i.tileset.frameNumber ? this.appearMotion.getTargetKeyframe().value.appear !== 1 && this.appearMotion.set({ appear: 1 }, Ru).catch(q) : this.appearMotion.getTargetKeyframe().value.appear !== 0 && this.appearMotion.set({ appear: 0 }, 0).catch(q), this.appearMotion.ended !== !0 && this.appearMotion.update(t.time);
|
|
12450
|
-
for (let
|
|
12449
|
+
for (let s of this.pbmObjects) s instanceof hn || s instanceof gn ? Uu(s, this.appearMotion, e, t, n, i, a) === !0 && (o = !0) : s instanceof Tn ? Wu(s, this.appearMotion, e, t, n, i, a) === !0 && (o = !0) : s instanceof Gn && Gu(s, this.appearMotion, e, t, n, r, i, a) === !0 && (o = !0);
|
|
12451
12450
|
return o;
|
|
12452
12451
|
}
|
|
12453
12452
|
dispose() {
|
|
@@ -12484,9 +12483,9 @@ function Wu(t, n, r, i, a, o, s) {
|
|
|
12484
12483
|
}
|
|
12485
12484
|
return u;
|
|
12486
12485
|
}
|
|
12487
|
-
function Gu(t, n, r, i, a, o, s) {
|
|
12488
|
-
let
|
|
12489
|
-
return t.updateMatrix(), t.updateMatrixWorld(), t.usedSHDegree =
|
|
12486
|
+
function Gu(t, n, r, i, a, o, s, c) {
|
|
12487
|
+
let l = !1, u = o.uuid;
|
|
12488
|
+
return t.gsViewLayerKey !== u && (t.gsViewLayerKey = u, l = !0), t.gsClippers !== c.clippers && (t.gsClippers = c.clippers, l = !0), t.updateMatrix(), t.updateMatrixWorld(), t.usedSHDegree = c.gaussianSplattingSHDegree, t.lastMatrixWorld ? t.transformChanged = !t.lastMatrixWorld.equals(t.matrixWorld) : (t.lastMatrixWorld = new e.Matrix4(), t.transformChanged = !0, l = !0), t.lastMatrixWorld.copy(t.matrixWorld), t.transformChanged && (l = !0), l;
|
|
12490
12489
|
}
|
|
12491
12490
|
//#endregion
|
|
12492
12491
|
//#region build/five/model/tile3d/trajectory.js
|
|
@@ -17729,7 +17728,7 @@ var Rh = (function(e, t, n, r) {
|
|
|
17729
17728
|
var n = t.ownerDocument || t;
|
|
17730
17729
|
return n.defaultView || n.parentWindow || e;
|
|
17731
17730
|
}
|
|
17732
|
-
var N = /mobile|tablet|ip(ad|hone|od)|android/i, ee = "ontouchstart" in e,
|
|
17731
|
+
var N = /mobile|tablet|ip(ad|hone|od)|android/i, ee = "ontouchstart" in e, te = k(e, "PointerEvent") !== r, ne = ee && N.test(navigator.userAgent), re = "touch", ie = "pen", ae = "mouse", oe = "kinect", se = 25, P = 1, ce = 2, F = 4, le = 8, ue = 1, de = 2, fe = 4, pe = 8, me = 16, he = de | fe, ge = pe | me, _e = he | ge, ve = ["x", "y"], ye = ["clientX", "clientY"];
|
|
17733
17732
|
function be(e, t) {
|
|
17734
17733
|
var n = this;
|
|
17735
17734
|
this.manager = e, this.callback = t, this.element = e.element, this.target = e.options.inputTarget, this.domHandler = function(t) {
|
|
@@ -17747,10 +17746,10 @@ var Rh = (function(e, t, n, r) {
|
|
|
17747
17746
|
};
|
|
17748
17747
|
function xe(e) {
|
|
17749
17748
|
var t;
|
|
17750
|
-
return t = e.options.inputClass || (
|
|
17749
|
+
return t = e.options.inputClass || (te ? ze : ne ? qe : ee ? Ze : Pe), new t(e, Se);
|
|
17751
17750
|
}
|
|
17752
17751
|
function Se(e, t, n) {
|
|
17753
|
-
var r = n.pointers.length, i = n.changedPointers.length, a = t &
|
|
17752
|
+
var r = n.pointers.length, i = n.changedPointers.length, a = t & P && r - i === 0, o = t & (F | le) && r - i === 0;
|
|
17754
17753
|
n.isFirst = !!a, n.isFinal = !!o, a && (e.session = {}), n.eventType = t, Ce(e, n), e.emit("hammer.input", n), e.recognize(n), e.session.prevInput = n;
|
|
17755
17754
|
}
|
|
17756
17755
|
function Ce(e, t) {
|
|
@@ -17765,7 +17764,7 @@ var Rh = (function(e, t, n, r) {
|
|
|
17765
17764
|
}
|
|
17766
17765
|
function we(e, t) {
|
|
17767
17766
|
var n = t.center, r = e.offsetDelta || {}, i = e.prevDelta || {}, a = e.prevInput || {};
|
|
17768
|
-
(t.eventType ===
|
|
17767
|
+
(t.eventType === P || a.eventType === F) && (i = e.prevDelta = {
|
|
17769
17768
|
x: a.deltaX || 0,
|
|
17770
17769
|
y: a.deltaY || 0
|
|
17771
17770
|
}, r = e.offsetDelta = {
|
|
@@ -17775,7 +17774,7 @@ var Rh = (function(e, t, n, r) {
|
|
|
17775
17774
|
}
|
|
17776
17775
|
function Te(e, t) {
|
|
17777
17776
|
var n = e.lastInterval || t, i = t.timeStamp - n.timeStamp, a, o, s, l;
|
|
17778
|
-
if (t.eventType != le && (i >
|
|
17777
|
+
if (t.eventType != le && (i > se || n.velocity === r)) {
|
|
17779
17778
|
var u = t.deltaX - n.deltaX, d = t.deltaY - n.deltaY, f = I(i, u, d);
|
|
17780
17779
|
o = f.x, s = f.y, a = c(f.x) > c(f.y) ? f.x : f.y, l = Oe(u, d), e.lastInterval = t;
|
|
17781
17780
|
} else a = n.velocity, o = n.velocityX, s = n.velocityY, l = n.direction;
|
|
@@ -17832,7 +17831,7 @@ var Rh = (function(e, t, n, r) {
|
|
|
17832
17831
|
return ke(t[0], t[1], ye) / ke(e[0], e[1], ye);
|
|
17833
17832
|
}
|
|
17834
17833
|
var Me = {
|
|
17835
|
-
mousedown:
|
|
17834
|
+
mousedown: P,
|
|
17836
17835
|
mousemove: ce,
|
|
17837
17836
|
mouseup: F
|
|
17838
17837
|
}, R = "mousedown", Ne = "mousemove mouseup";
|
|
@@ -17841,32 +17840,32 @@ var Rh = (function(e, t, n, r) {
|
|
|
17841
17840
|
}
|
|
17842
17841
|
_(Pe, be, { handler: function(e) {
|
|
17843
17842
|
var t = Me[e.type];
|
|
17844
|
-
t &
|
|
17843
|
+
t & P && (e.button === 0 || e.button === 2) && (this.pressed = !0), t & ce && e.which !== 1 && (t = F), this.pressed && (t & F && (this.pressed = !1), this.callback(this.manager, t, {
|
|
17845
17844
|
pointers: [e],
|
|
17846
17845
|
changedPointers: [e],
|
|
17847
|
-
pointerType:
|
|
17846
|
+
pointerType: ae,
|
|
17848
17847
|
srcEvent: e
|
|
17849
17848
|
}));
|
|
17850
17849
|
} });
|
|
17851
17850
|
var Fe = {
|
|
17852
|
-
pointerdown:
|
|
17851
|
+
pointerdown: P,
|
|
17853
17852
|
pointermove: ce,
|
|
17854
17853
|
pointerup: F,
|
|
17855
17854
|
pointercancel: le,
|
|
17856
17855
|
pointerout: le
|
|
17857
17856
|
}, Ie = {
|
|
17858
|
-
2:
|
|
17859
|
-
3:
|
|
17860
|
-
4:
|
|
17861
|
-
5:
|
|
17857
|
+
2: re,
|
|
17858
|
+
3: ie,
|
|
17859
|
+
4: ae,
|
|
17860
|
+
5: oe
|
|
17862
17861
|
}, Le = "pointerdown", Re = "pointermove pointerup pointercancel";
|
|
17863
17862
|
e.MSPointerEvent && !e.PointerEvent && (Le = "MSPointerDown", Re = "MSPointerMove MSPointerUp MSPointerCancel");
|
|
17864
17863
|
function ze() {
|
|
17865
17864
|
this.evEl = Le, this.evWin = Re, be.apply(this, arguments), this.store = this.manager.session.pointerEvents = [];
|
|
17866
17865
|
}
|
|
17867
17866
|
_(ze, be, { handler: function(e) {
|
|
17868
|
-
var t = this.store, n = !1, r = !1, i = Fe[e.type.toLowerCase().replace("ms", "")], a = Ie[e.pointerType] || e.pointerType, o = a ==
|
|
17869
|
-
i &
|
|
17867
|
+
var t = this.store, n = !1, r = !1, i = Fe[e.type.toLowerCase().replace("ms", "")], a = Ie[e.pointerType] || e.pointerType, o = a == re, s = E(t, e.pointerId, "pointerId");
|
|
17868
|
+
i & P && (e.button === 0 || e.button === 2 || o) ? s < 0 && (t.push(e), s = t.length - 1) : i & (F | le) ? n = !0 : !o && e.buttons === 0 && (n = !0, r = !0, i = Fe.pointerup), !(s < 0) && (r || (t[s] = e), this.callback(this.manager, i, {
|
|
17870
17869
|
pointers: t,
|
|
17871
17870
|
changedPointers: [e],
|
|
17872
17871
|
pointerType: a,
|
|
@@ -17874,7 +17873,7 @@ var Rh = (function(e, t, n, r) {
|
|
|
17874
17873
|
}), n && t.splice(s, 1));
|
|
17875
17874
|
} });
|
|
17876
17875
|
var Be = {
|
|
17877
|
-
touchstart:
|
|
17876
|
+
touchstart: P,
|
|
17878
17877
|
touchmove: ce,
|
|
17879
17878
|
touchend: F,
|
|
17880
17879
|
touchcancel: le
|
|
@@ -17884,12 +17883,12 @@ var Rh = (function(e, t, n, r) {
|
|
|
17884
17883
|
}
|
|
17885
17884
|
_(Ue, be, { handler: function(e) {
|
|
17886
17885
|
var t = Be[e.type];
|
|
17887
|
-
if (t ===
|
|
17886
|
+
if (t === P && (this.started = !0), this.started) {
|
|
17888
17887
|
var n = We.call(this, e, t);
|
|
17889
17888
|
t & (F | le) && n[0].length - n[1].length === 0 && (this.started = !1), this.callback(this.manager, t, {
|
|
17890
17889
|
pointers: n[0],
|
|
17891
17890
|
changedPointers: n[1],
|
|
17892
|
-
pointerType:
|
|
17891
|
+
pointerType: re,
|
|
17893
17892
|
srcEvent: e
|
|
17894
17893
|
});
|
|
17895
17894
|
}
|
|
@@ -17899,7 +17898,7 @@ var Rh = (function(e, t, n, r) {
|
|
|
17899
17898
|
return t & (F | le) && (n = O(n.concat(r), "identifier", !0)), [n, r];
|
|
17900
17899
|
}
|
|
17901
17900
|
var Ge = {
|
|
17902
|
-
touchstart:
|
|
17901
|
+
touchstart: P,
|
|
17903
17902
|
touchmove: ce,
|
|
17904
17903
|
touchend: F,
|
|
17905
17904
|
touchcancel: le
|
|
@@ -17912,17 +17911,17 @@ var Rh = (function(e, t, n, r) {
|
|
|
17912
17911
|
n && this.callback(this.manager, t, {
|
|
17913
17912
|
pointers: n[0],
|
|
17914
17913
|
changedPointers: n[1],
|
|
17915
|
-
pointerType:
|
|
17914
|
+
pointerType: re,
|
|
17916
17915
|
srcEvent: e
|
|
17917
17916
|
});
|
|
17918
17917
|
} });
|
|
17919
17918
|
function Je(e, t) {
|
|
17920
17919
|
var n = D(e.touches), r = this.targetIds;
|
|
17921
|
-
if (t & (
|
|
17920
|
+
if (t & (P | ce) && n.length === 1) return r[n[0].identifier] = !0, [n, n];
|
|
17922
17921
|
var i, a, o = D(e.changedTouches), s = [], c = this.target;
|
|
17923
17922
|
if (a = n.filter(function(e) {
|
|
17924
17923
|
return C(e.target, c);
|
|
17925
|
-
}), t ===
|
|
17924
|
+
}), t === P) for (i = 0; i < a.length;) r[a[i].identifier] = !0, i++;
|
|
17926
17925
|
for (i = 0; i < o.length;) r[o[i].identifier] && s.push(o[i]), t & (F | le) && delete r[o[i].identifier], i++;
|
|
17927
17926
|
if (s.length) return [O(a.concat(s), "identifier", !0), s];
|
|
17928
17927
|
}
|
|
@@ -17934,7 +17933,7 @@ var Rh = (function(e, t, n, r) {
|
|
|
17934
17933
|
}
|
|
17935
17934
|
_(Ze, be, {
|
|
17936
17935
|
handler: function(e, t, n) {
|
|
17937
|
-
var r = n.pointerType ==
|
|
17936
|
+
var r = n.pointerType == re, i = n.pointerType == ae;
|
|
17938
17937
|
if (!(i && n.sourceCapabilities && n.sourceCapabilities.firesTouchEvents)) {
|
|
17939
17938
|
if (r) Qe.call(this, t, n);
|
|
17940
17939
|
else if (i && et.call(this, n)) return;
|
|
@@ -17946,7 +17945,7 @@ var Rh = (function(e, t, n, r) {
|
|
|
17946
17945
|
}
|
|
17947
17946
|
});
|
|
17948
17947
|
function Qe(e, t) {
|
|
17949
|
-
e &
|
|
17948
|
+
e & P ? (this.primaryTouch = t.changedPointers[0].identifier, $e.call(this, t)) : e & (F | le) && $e.call(this, t);
|
|
17950
17949
|
}
|
|
17951
17950
|
function $e(e) {
|
|
17952
17951
|
var t = e.changedPointers[0];
|
|
@@ -18177,7 +18176,7 @@ var Rh = (function(e, t, n, r) {
|
|
|
18177
18176
|
process: function(e) {
|
|
18178
18177
|
var t = this.options, n = e.pointers.length === t.pointers, r = e.distance < t.threshold, i = e.deltaTime > t.time;
|
|
18179
18178
|
if (this._input = e, !r || !n || e.eventType & (F | le) && !i) this.reset();
|
|
18180
|
-
else if (e.eventType &
|
|
18179
|
+
else if (e.eventType & P) this.reset(), this._timer = u(function() {
|
|
18181
18180
|
this.state = ht, this.tryEmit();
|
|
18182
18181
|
}, t.time, this);
|
|
18183
18182
|
else if (e.eventType & F) return ht;
|
|
@@ -18247,7 +18246,7 @@ var Rh = (function(e, t, n, r) {
|
|
|
18247
18246
|
},
|
|
18248
18247
|
process: function(e) {
|
|
18249
18248
|
var t = this.options, n = e.pointers.length === t.pointers, r = e.distance < t.threshold, i = e.deltaTime < t.time;
|
|
18250
|
-
if (this.reset(), e.eventType &
|
|
18249
|
+
if (this.reset(), e.eventType & P && this.count === 0) return this.failTimeout();
|
|
18251
18250
|
if (r && i && n) {
|
|
18252
18251
|
if (e.eventType != F) return this.failTimeout();
|
|
18253
18252
|
var a = this.pTime ? e.timeStamp - this.pTime < t.interval : !0, o = !this.pCenter || ke(this.pCenter, e.center) < t.posThreshold;
|
|
@@ -18396,7 +18395,7 @@ var Rh = (function(e, t, n, r) {
|
|
|
18396
18395
|
r.initEvent(e, !0, !0), r.gesture = n, n.target.dispatchEvent(r);
|
|
18397
18396
|
}
|
|
18398
18397
|
return m(Ot, {
|
|
18399
|
-
INPUT_START:
|
|
18398
|
+
INPUT_START: P,
|
|
18400
18399
|
INPUT_MOVE: ce,
|
|
18401
18400
|
INPUT_END: F,
|
|
18402
18401
|
INPUT_CANCEL: le,
|
|
@@ -23785,7 +23784,7 @@ Object.assign(cv.prototype, { isLineGeometry: !0 });
|
|
|
23785
23784
|
//#region build/line/index.js
|
|
23786
23785
|
var lv = 14467195, uv = 8, dv = 2, fv = 20, pv = null, mv = class extends e.Object3D {
|
|
23787
23786
|
static get version() {
|
|
23788
|
-
return "6.8.0-alpha.
|
|
23787
|
+
return "6.8.0-alpha.21";
|
|
23789
23788
|
}
|
|
23790
23789
|
constructor(t = new e.Vector3(), n = new e.Vector3()) {
|
|
23791
23790
|
super(), this.type = "FiveLine", this.needsRender = !0, this.line = new sv(new cv(), new av({
|
|
@@ -25305,7 +25304,7 @@ function ny(t) {
|
|
|
25305
25304
|
}
|
|
25306
25305
|
}
|
|
25307
25306
|
//#endregion
|
|
25308
|
-
//#region build/five/
|
|
25307
|
+
//#region build/five/gaussian-splatting/worker/dataWorker.js?worker&inline
|
|
25309
25308
|
var ry = "(function(){function e(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}async function t(e={}){var t,n=e,r=!1,i=!0,a=self.location.href;if(r||i)try{new URL(`.`,a).href}catch{}console.log.bind(console),console.error.bind(console);var o=!1;function s(e){for(var t=0,n=e.length,r=new Uint8Array(n),i;t<n;++t)i=e.charCodeAt(t),r[t]=~i>>8&i;return r}var c,l,u=!1;function d(){var e=M.buffer;new Int8Array(e),new Int16Array(e),n.HEAPU8=l=new Uint8Array(e),new Uint16Array(e),new Int32Array(e),n.HEAPU32=new Uint32Array(e),n.HEAPF32=new Float32Array(e),new Float64Array(e),new BigInt64Array(e),new BigUint64Array(e)}function f(){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)T(n.preRun.shift());x(w)}function p(){u=!0,I.c()}function m(){if(n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)C(n.postRun.shift());x(S)}var h;function g(){return s(`\\0asm\\0\\0\\0&\\`\\`}}\\`}\\`\\0\\`\\v\\0\\`\\0\\0\\x07aa\\0\\0\\b\\x07\\0\\0\\x07\\bA\\v\\x07b\\0c\\0\\x07d\\0e\\0f\\0\\f\n@\\x07T~@A\\b(\\0\" \\0B\\x07|Bøÿÿÿ|\"BÿÿÿÿX@ §\"\\0?\\0AtM\\r \\0\\0\\r\\vA\\bA06\\0A\\vA\\b \\x006\\0 \\v\\0 \\0 Atr\\vr \\0¼\"Aÿÿÿq!@ AvAÿq\"E\\r\\0 Að\\0M@ ArAñ\\0 kv!\\f\\v AK@Aø!A\\0!\\f\\v A\ntA\\x07k!\\v AvAqr A\\rvr\\vß\\v\\b@ \\0E\\r\\0 \\0A\\bk\" \\0Ak(\\0\"Axq\"\\0j!@ Aq\\r\\0 AqE\\r (\\0\"k\"A\\b(\\0I\\r \\0 j!\\0@@@A\\b(\\0 G@ (\\f! AÿM@ (\\b\"G\\rA\\bA\\b(\\0A~ Avwq6\\0\\f\\v (!\\x07 G@ (\\b\" 6\\f 6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v (\"AqAG\\rA\\b \\x006\\0 A~q6 \\0Ar6 \\x006\\0\\v 6\\f 6\\b\\f\\vA\\0!\\v \\x07E\\r\\0@ (\"At\"(¸\n F@ A¸\nj 6\\0 \\rA\\bA\\b(\\0A~ wq6\\0\\f\\v@ \\x07(F@ \\x07 6\\f\\v \\x07 6\\v E\\r\\v \\x076 (\"@ 6 6\\v (\"E\\r\\0 6 6\\v O\\r\\0 (\"AqE\\r\\0@@@@ AqE@A\\xA0\\b(\\0 F@A\\xA0\\b 6\\0A\\bA\\b(\\0 \\0j\"\\x006\\0 \\0Ar6 A\\b(\\0G\\rA\\bA\\x006\\0A\\bA\\x006\\0\\vA\\b(\\0\"\\x07 F@A\\b 6\\0A\\bA\\b(\\0 \\0j\"\\x006\\0 \\0Ar6 \\0 j \\x006\\0\\v Axq \\0j!\\0 (\\f! AÿM@ (\\b\" F@A\\bA\\b(\\0A~ Avwq6\\0\\f\\v 6\\f 6\\b\\f\\v (!\\b G@ (\\b\" 6\\f 6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v A~q6 \\0Ar6 \\0 j \\x006\\0\\f\\vA\\0!\\v \\bE\\r\\0@ (\"At\"(¸\n F@ A¸\nj 6\\0 \\rA\\bA\\b(\\0A~ wq6\\0\\f\\v@ \\b(F@ \\b 6\\f\\v \\b 6\\v E\\r\\v \\b6 (\"@ 6 6\\v (\"E\\r\\0 6 6\\v \\0Ar6 \\0 j \\x006\\0 \\x07G\\r\\0A\\b \\x006\\0\\v \\0AÿM@ \\0AøqA°\\bj!A\\b(\\0\"A \\0Avt\"\\0qE@A\\b \\0 r6\\0 \\f\\v (\\b\\v!\\0 6\\b \\0 6\\f 6\\f \\x006\\b\\vA! \\0Aÿÿÿ\\x07M@ \\0A& \\0A\\bvg\"kvAq AtrA>s!\\v 6 B\\x007 AtA¸\nj!@A\\b(\\0\"A t\"qE@A\\b r6\\0 6\\0A!A\\b\\f\\v \\0A AvkA\\0 AG\\x1Bt! (\\0!@ \"(Axq \\0F\\r Av! At! Aqj\"(\"\\r\\0\\v 6A! !A\\b\\v!\\0 \"\\f\\v (\\b\" 6\\f 6\\bA!\\0A\\b!A\\0\\v! j 6\\0 6\\f \\0 j 6\\0A¨\\bA¨\\b(\\0Ak\"\\0A \\0\\x1B6\\0\\v\\v¸'\\v#\\0Ak\"\n$\\0@@@@@@@@@@ \\0AôM@A\\b(\\0\"A \\0A\\vjAøq \\0A\\vI\\x1B\"Av\"\\0v\"Aq@@ AsAq \\0j\"At\"A°\\bj\"\\0 (¸\\b\"(\\b\"F@A\\b A~ wq6\\0\\f\\v \\x006\\f \\0 6\\b\\v A\\bj!\\0 Ar6 j\" (Ar6\\f\\v\\v A\\b(\\0\"\\bM\\r @@A \\0t\"A\\0 kr \\0tqh\"At\"A°\\bj\" (¸\\b\"\\0(\\b\"F@A\\b A~ wq\"6\\0\\f\\v 6\\f 6\\b\\v \\0 Ar6 \\0 j\"\\x07 k\"Ar6 \\0 j 6\\0 \\b@ \\bAxqA°\\bj!A\\b(\\0! A \\bAvt\"qE@A\\b r6\\0 \\f\\v (\\b\\v! 6\\b 6\\f 6\\f 6\\b\\v \\0A\\bj!\\0A\\b \\x076\\0A\\b 6\\0\\f\\v\\vA\\b(\\0\"\\vE\\r \\vhAt(¸\n\"(Axq k! !@@ (\"\\0E@ (\"\\0E\\r\\v \\0(Axq k\" I\"\\x1B! \\0 \\x1B! \\0!\\f\\v\\v (! (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\n\\v (\" Aj (\"E\\r Aj\\v!@ !\\x07 \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v \\x07A\\x006\\0\\f \\vA! \\0A¿K\\r\\0 \\0A\\vj\"Axq!A\\b(\\0\"\\x07E\\r\\0A!\\bA\\0 k! \\0Aôÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtkA>j!\\b\\v@@@ \\bAt(¸\n\"E@A\\0!\\0\\f\\vA\\0!\\0 A \\bAvkA\\0 \\bAG\\x1Bt!@@ (Axq k\" O\\r\\0 ! \"\\r\\0A\\0! !\\0\\f\\v \\0 (\" AvAqj(\"F\\x1B \\0 \\x1B!\\0 At! \\r\\0\\v\\v \\0 rE@A\\0!A \\bt\"\\0A\\0 \\0kr \\x07q\"\\0E\\r \\0hAt(¸\n!\\0\\v \\0E\\r\\v@ \\0(Axq k\" I! \\x1B! \\0 \\x1B! \\0(\" \\0(\\v\"\\0\\r\\0\\v\\v E\\r\\0 A\\b(\\0 kO\\r\\0 (!\\b (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\\b\\v (\" Aj (\"E\\r Aj\\v!@ ! \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v A\\x006\\0\\f\\x07\\v A\\b(\\0\"M@A\\b(\\0!\\0@ k\"AO@ \\0 j\" Ar6 \\0 j 6\\0 \\0 Ar6\\f\\v \\0 Ar6 \\0 j\" (Ar6A\\0!A\\0!\\vA\\b 6\\0A\\b 6\\0 \\0A\\bj!\\0\\f \\v A\\b(\\0\"I@A\\b k\"6\\0A\\xA0\\bA\\xA0\\b(\\0\"\\0 j\"6\\0 Ar6 \\0 Ar6 \\0A\\bj!\\0\\f \\vA\\0!\\0 A/j\"Aà\\v(\\0@Aè\\v(\\0\\f\\vAì\\vB7\\0Aä\\vB\\xA07\\0Aà\\v \nA\\fjApqAتժs6\\0Aô\\vA\\x006\\0AÄ\\vA\\x006\\0A \\v\"j\"A\\0 k\"\\x07q\" M\\r\\bAÀ\\v(\\0\"@A¸\\v(\\0\"\\b j\" \\bM Ir\\r \\v@AÄ\\v-\\0\\0AqE@@@@@A\\xA0\\b(\\0\"@AÈ\\v!\\0@ \\0(\\0\"\\b M@ \\b \\0(jI\\r\\v \\0(\\b\"\\0\\r\\0\\v\\vA\\0\"AF\\r !Aä\\v(\\0\"\\0Ak\" q@ k jA\\0 \\0kqj!\\v M\\rAÀ\\v(\\0\"\\0@A¸\\v(\\0\" j\"\\x07 M \\0 \\x07Ir\\r\\v \"\\0 G\\r\\f\\v k \\x07q\"\" \\0(\\0 \\0(jF\\r !\\0\\v \\0AF\\r A0j M@ \\0!\\f\\vAè\\v(\\0\" kjA\\0 kq\"AF\\r j! \\0!\\f\\v AG\\r\\vAÄ\\vAÄ\\v(\\0Ar6\\0\\v \"AFA\\0\"\\0AFr \\0 Mr\\r \\0 k\" A(jM\\r\\vA¸\\vA¸\\v(\\0 j\"\\x006\\0A¼\\v(\\0 \\0I@A¼\\v \\x006\\0\\v@A\\xA0\\b(\\0\"@AÈ\\v!\\0@ \\0(\\0\" \\0(\"jF\\r \\0(\\b\"\\0\\r\\0\\v\\f\\vA\\b(\\0\"\\0A\\0 \\0 M\\x1BE@A\\b 6\\0\\vA\\0!\\0AÌ\\v 6\\0AÈ\\v 6\\0A¨\\bA6\\0A¬\\bAà\\v(\\x006\\0AÔ\\vA\\x006\\0@ \\0At\" A°\\bj\"6¸\\b 6¼\\b \\0Aj\"\\0A G\\r\\0\\vA\\b A(k\"\\0Ax kA\\x07q\"k\"6\\0A\\xA0\\b j\"6\\0 Ar6 \\0 jA(6A¤\\bAð\\v(\\x006\\0\\f\\v M Kr\\r \\0(\\fA\\bq\\r \\0 j6A\\xA0\\b Ax kA\\x07q\"\\0j\"6\\0A\\bA\\b(\\0 j\" \\0k\"\\x006\\0 \\0Ar6 jA(6A¤\\bAð\\v(\\x006\\0\\f\\vA\\0!\\0\\f\\vA\\0!\\0\\f\\vA\\b(\\0 K@A\\b 6\\0\\v j!AÈ\\v!\\0@@ \\0(\\0\"G@ \\0(\\b\"\\0\\r\\f\\v\\v \\0-\\0\\fA\\bqE\\r\\vAÈ\\v!\\0@@ \\0(\\0\" M@ \\0(j\"I\\r\\v \\0(\\b!\\0\\f\\v\\vA\\b A(k\"\\0Ax kA\\x07q\"k\"\\x076\\0A\\xA0\\b j\"6\\0 \\x07Ar6 \\0 jA(6A¤\\bAð\\v(\\x006\\0 A' kA\\x07qjA/k\"\\0 \\0 AjI\\x1B\"A\\x1B6 AÐ\\v)\\x007 AÈ\\v)\\x007\\bAÐ\\v A\\bj6\\0AÌ\\v 6\\0AÈ\\v 6\\0AÔ\\vA\\x006\\0 Aj!\\0@ \\0A\\x076 \\0A\\bj \\0Aj!\\0 I\\r\\0\\v F\\r\\0 (A~q6 k\"Ar6 6\\0 AÿM@ AøqA°\\bj!\\0A\\b(\\0\"A Avt\"qE@A\\b r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\fA\\f!A\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v \\x006 B\\x007 \\0AtA¸\nj!@@A\\b(\\0\"A \\0t\"qE@A\\b r6\\0 6\\0\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0 Aqj\"(\"\\r\\0\\v 6\\v 6A\\b! \"!\\0A\\f\\f\\v (\\b\"\\0 6\\f 6\\b \\x006\\bA\\0!\\0A!A\\f\\v j 6\\0 j \\x006\\0\\vA\\b(\\0\"\\0 M\\r\\0A\\b \\0 k\"6\\0A\\xA0\\bA\\xA0\\b(\\0\"\\0 j\"6\\0 Ar6 \\0 Ar6 \\0A\\bj!\\0\\f\\vA\\bA06\\0A\\0!\\0\\f\\v \\0 6\\0 \\0 \\0( j6 Ax kA\\x07qj\"\\b Ar6 Ax kA\\x07qj\" \\bj\"k!\\x07@A\\xA0\\b(\\0 F@A\\xA0\\b 6\\0A\\bA\\b(\\0 \\x07j\"\\x006\\0 \\0Ar6\\f\\vA\\b(\\0 F@A\\b 6\\0A\\bA\\b(\\0 \\x07j\"\\x006\\0 \\0Ar6 \\0 j \\x006\\0\\f\\v (\"\\0AqAF@ \\0Axq! (\\f!@ \\0AÿM@ (\\b\" F@A\\bA\\b(\\0A~ \\0Avwq6\\0\\f\\v 6\\f 6\\b\\f\\v (!@ G@ (\\b\"\\0 6\\f \\x006\\b\\f\\v@ (\"\\0 Aj (\"\\0E\\r Aj\\v!@ ! \\0\"Aj! \\0(\"\\0\\r\\0 Aj! (\"\\0\\r\\0\\v A\\x006\\0\\f\\vA\\0!\\v E\\r\\0@ (\"\\0At\"(¸\n F@ A¸\nj 6\\0 \\rA\\bA\\b(\\0A~ \\0wq6\\0\\f\\v@ (F@ 6\\f\\v 6\\v E\\r\\v 6 (\"\\0@ \\x006 \\0 6\\v (\"\\0E\\r\\0 \\x006 \\0 6\\v \\x07 j!\\x07 j\"(!\\0\\v \\0A~q6 \\x07Ar6 \\x07j \\x076\\0 \\x07AÿM@ \\x07AøqA°\\bj!\\0A\\b(\\0\"A \\x07Avt\"qE@A\\b r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\f \\x006\\f 6\\b\\f\\vA! \\x07Aÿÿÿ\\x07M@ \\x07A& \\x07A\\bvg\"\\0kvAq \\0AtrA>s!\\v 6 B\\x007 AtA¸\nj!\\0@@A\\b(\\0\"A t\"qE@A\\b r6\\0 \\0 6\\0\\f\\v \\x07A AvkA\\0 AG\\x1Bt! \\0(\\0!@ \"\\0(Axq \\x07F\\r Av! At! \\0 Aqj\"(\"\\r\\0\\v 6\\v \\x006 6\\f 6\\b\\f\\v \\0(\\b\" 6\\f \\0 6\\b A\\x006 \\x006\\f 6\\b\\v \\bA\\bj!\\0\\f\\v@ \\bE\\r\\0@ (\"At\"(¸\n F@ A¸\nj \\x006\\0 \\0\\rA\\b \\x07A~ wq\"\\x076\\0\\f\\v@ \\b(F@ \\b \\x006\\f\\v \\b \\x006\\v \\0E\\r\\v \\0 \\b6 (\"@ \\0 6 \\x006\\v (\"E\\r\\0 \\0 6 \\x006\\v@ AM@ j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v Ar6 j\" Ar6 j 6\\0 AÿM@ AøqA°\\bj!\\0A\\b(\\0\"A Avt\"qE@A\\b r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\f \\x006\\f 6\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v \\x006 B\\x007 \\0AtA¸\nj!@@ \\x07A \\0t\"qE@A\\b \\x07r6\\0 6\\0 6\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0 Aqj\"\\x07(\"\\r\\0\\v \\x07 6 6\\v 6\\f 6\\b\\f\\v (\\b\"\\0 6\\f 6\\b A\\x006 6\\f \\x006\\b\\v A\\bj!\\0\\f\\v@ E\\r\\0@ (\"At\"(¸\n F@ A¸\nj \\x006\\0 \\0\\rA\\b \\vA~ wq6\\0\\f\\v@ (F@ \\x006\\f\\v \\x006\\v \\0E\\r\\v \\0 6 (\"@ \\0 6 \\x006\\v (\"E\\r\\0 \\0 6 \\x006\\v@ AM@ j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v Ar6 j\" Ar6 j 6\\0 \\b@ \\bAxqA°\\bj!\\0A\\b(\\0!A \\bAvt\"\\x07 qE@A\\b \\x07r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\f \\x006\\f 6\\b\\vA\\b 6\\0A\\b 6\\0\\v A\\bj!\\0\\v \nAj$\\0 \\0\\v¡\\v\\v }#\\0A\\xA0k\"\\v$\\0 \\vA0jA\\0A$ü\\v\\0@ G@ Al\"\\fAjAt\"j*\\0! \\fAjAt\"j*\\0! \\b \\fAt\"j j*\\0\"8\\0 \\b j 8\\0 \\b j 8\\0 \\x07 Atj\"\\rA\\x006\\f \\r 8\\b \\r 8 \\r 8\\0@ \\0E@ j-\\0\\0E\\r\\v \\rA\\b6\\f\\v \\r At\"\\fAr\"j-\\0\\0A\\bt \\fj-\\0\\0r \\fAr\"j-\\0\\0Atr \\fAr\"\\fj-\\0\\0Atr6 \\v At\"j*\\0\"8 \\v At\"j*\\0\"8 \\v \\fAt\"j*\\0\"8 \\v At\"j*\\0\"8 \\vAà\\0j\"\\f \\v*\"C\\0\\0\\0À \\v*\"C\\0\\0\\0À C\\0\\0?8\\0 \\f \\v*\" \\v* \\v*\" \\v*8 \\f \\v*\" \\v* \\v*\" \\v*8\\b \\f \\v*\" \\v* \\v*\" \\v*8\\f \\f \\v*\"C\\0\\0\\0À \\v*\"C\\0\\0\\0À C\\0\\0?8 \\f \\v*\" \\v* \\v*\" \\v*8 \\f \\v*\" \\v* \\v*\" \\v*8 \\f \\v*\" \\v* \\v*\" \\v*8 \\f \\v*\"C\\0\\0\\0À \\v*\"C\\0\\0\\0À C\\0\\0?8 j 8\\0 j 8\\0 j 8\\0 j 8\\0 \\v j*\\0\"80 \\v j*\\0\"8@ \\v j*\\0\"8P \n j 8\\0 \n j 8\\0 \n j 8\\0 \\v \\f* \\v*8 \\f*\\0 \\v*0 \\f*\\f \\v*48\\0 \\v \\f* \\v*8 \\f* \\v*0 \\f* \\v*48 \\v \\f* \\v*8 \\f*\\b \\v*0 \\f* \\v*48\\b \\v \\f* \\v*D \\f*\\0 \\v*< \\f*\\f \\v*@8\\f \\v \\f* \\v*D \\f* \\v*< \\f* \\v*@8 \\v \\f* \\v*D \\f*\\b \\v*< \\f* \\v*@8 \\v \\f* \\v*P \\f*\\0 \\v*H \\f*\\f \\v*L8 \\v \\f* \\v*P \\f* \\v*H \\f* \\v*L8 \\v \\f* \\v*P \\f*\\b \\v*H \\f* \\v*L8 \\v* ! \\v*\\b! \\v*! \\r \\v*\" \\v*\\0\" \\v*\\f\"\\x1B \\x1BC\\0\\0@ \\v*\" \\v*\" \\x1B \\v*\"C\\0\\0@6 \\r \\x1B C\\0\\0@ C\\0\\0@6 \\r C\\0\\0@ C\\0\\0@6 Aj!\\f\\v\\v \\vA\\xA0j$\\0\\v\\0\\v\\v \\0A\\b\\v`)}function _(e){return e}function v(e,t){var n,r=_(e);return n=new WebAssembly.Module(r),[new WebAssembly.Instance(n,t),n]}function y(){return{a:P}}function b(){function e(e,t){return I=e.exports,N(I),d(),I}var t=y();return n.instantiateWasm?new Promise((r,i)=>{n.instantiateWasm(t,(t,n)=>{r(e(t,n))})}):(h??=g(),e(v(h,t)[0]))}for(var x=e=>{for(;e.length>0;)e.shift()(n)},S=[],C=e=>S.push(e),w=[],T=e=>w.push(e),E=()=>2147483648,D=(e,t)=>Math.ceil(e/t)*t,O=e=>{var t=(e-M.buffer.byteLength+65535)/65536|0;try{return M.grow(t),d(),1}catch{}},k=e=>{var t=l.length;e>>>=0;var n=E();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),O(Math.min(n,D(Math.max(e,i),65536))))return!0}return!1},A=new Uint8Array(123),j=25;j>=0;--j)A[48+j]=52+j,A[65+j]=j,A[97+j]=26+j;if(A[43]=62,A[47]=63,n.noExitRuntime&&n.noExitRuntime,n.print&&n.print,n.printErr&&n.printErr,n.wasmBinary&&n.wasmBinary,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram,n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();var M;function N(e){n._pack=e.d,n._malloc=e.e,n._free=e.f,M=e.b,e.__indirect_function_table}var P={a:k};function F(){f();function e(){n.calledRun=!0,!o&&(p(),c?.(n),n.onRuntimeInitialized?.(),m())}n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),e()},1)):e()}var I=b();return F(),t=u?n:new Promise((e,t)=>{c=e}),t}let n;function r(){return e(this,void 0,void 0,function*(){n=yield t()})}let i=0,a=[],o=!1,s=!1,c,l,u,d,f,p,m,h,g,_=t=>e(void 0,void 0,void 0,function*(){for(;s;)yield new Promise(e=>setTimeout(e,0));n||(s=!0,yield r(),s=!1);let e=2**Math.ceil(Math.log2(t.vertexCount));e>i&&(i>0&&(n._free(c),n._free(l),n._free(u),n._free(d),n._free(f),n._free(p),n._free(m),n._free(h),n._free(g)),i=e,c=n._malloc(3*i*4),l=n._malloc(4*i*4),u=n._malloc(3*i*4),d=n._malloc(4*i),f=n._malloc(i),p=n._malloc(8*i*4),m=n._malloc(3*i*4),h=n._malloc(4*i*4),g=n._malloc(3*i*4)),n.HEAPF32.set(t.positions,c/4),n.HEAPF32.set(t.rotations,l/4),n.HEAPF32.set(t.scales,u/4),n.HEAPU8.set(t.colors,d),n.HEAPU8.set(t.selection,f),n._pack(t.selected,t.vertexCount,c,l,u,d,f,p,m,h,g);let a=new Uint32Array(n.HEAPU32.buffer,p,t.vertexCount*8),_=new Uint32Array(a.slice().buffer),v=new Float32Array(n.HEAPF32.buffer,m,t.vertexCount*3),y=new Float32Array(v.slice().buffer),b=new Float32Array(n.HEAPF32.buffer,h,t.vertexCount*4),x=new Float32Array(b.slice().buffer),S=new Float32Array(n.HEAPF32.buffer,g,t.vertexCount*3),C={data:_,worldPositions:y,worldRotations:x,worldScales:new Float32Array(S.slice().buffer),offset:t.offset,vertexCount:t.vertexCount,positions:t.positions.buffer,rotations:t.rotations.buffer,scales:t.scales.buffer,colors:t.colors.buffer,selection:t.selection.buffer};self.postMessage({response:C},[C.data.buffer,C.worldPositions.buffer,C.worldRotations.buffer,C.worldScales.buffer,C.positions,C.rotations,C.scales,C.colors,C.selection]),o=!1}),v=()=>{a.length!==0&&(o||(o=!0,_(a.shift()),setTimeout(()=>{o=!1,v()},0)))};self.onmessage=e=>new Promise((t,n)=>{if(e.data.splat){let n=e.data.splat;for(let e=0;e<a.length;e++)if(a[e].offset===n.offset){a[e]=n,t(!0);return}a.push(n),v(),t(!0)}})})();", iy = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", ry], { type: "text/javascript;charset=utf-8" });
|
|
25310
25309
|
function ay(e) {
|
|
25311
25310
|
let t;
|
|
@@ -25320,7 +25319,7 @@ function ay(e) {
|
|
|
25320
25319
|
}
|
|
25321
25320
|
}
|
|
25322
25321
|
//#endregion
|
|
25323
|
-
//#region \0@oxc-project+runtime@0.
|
|
25322
|
+
//#region \0@oxc-project+runtime@0.120.0/helpers/asyncToGenerator.js
|
|
25324
25323
|
function oy(e, t, n, r, i, a, o) {
|
|
25325
25324
|
try {
|
|
25326
25325
|
var s = e[a](o), c = s.value;
|
|
@@ -25346,7 +25345,7 @@ function sy(e) {
|
|
|
25346
25345
|
};
|
|
25347
25346
|
}
|
|
25348
25347
|
//#endregion
|
|
25349
|
-
//#region build/five/
|
|
25348
|
+
//#region build/five/gaussian-splatting/wasm/data.js
|
|
25350
25349
|
function cy() {
|
|
25351
25350
|
return ly.apply(this, arguments);
|
|
25352
25351
|
}
|
|
@@ -25384,7 +25383,7 @@ function ly() {
|
|
|
25384
25383
|
x(w);
|
|
25385
25384
|
}
|
|
25386
25385
|
function p() {
|
|
25387
|
-
u = !0,
|
|
25386
|
+
u = !0, ne.c();
|
|
25388
25387
|
}
|
|
25389
25388
|
function m() {
|
|
25390
25389
|
if (n.postRun) for (typeof n.postRun == "function" && (n.postRun = [n.postRun]); n.postRun.length;) C(n.postRun.shift());
|
|
@@ -25406,7 +25405,7 @@ function ly() {
|
|
|
25406
25405
|
}
|
|
25407
25406
|
function b() {
|
|
25408
25407
|
function e(e, t) {
|
|
25409
|
-
return
|
|
25408
|
+
return ne = e.exports, N(ne), d(), ne;
|
|
25410
25409
|
}
|
|
25411
25410
|
var t = y();
|
|
25412
25411
|
return n.instantiateWasm ? new Promise((r, i) => {
|
|
@@ -25439,7 +25438,7 @@ function ly() {
|
|
|
25439
25438
|
n._pack = e.d, n._malloc = e.e, n._free = e.f, M = e.b, e.__indirect_function_table;
|
|
25440
25439
|
}
|
|
25441
25440
|
var ee = { a: k };
|
|
25442
|
-
function
|
|
25441
|
+
function te() {
|
|
25443
25442
|
f();
|
|
25444
25443
|
function e() {
|
|
25445
25444
|
var e;
|
|
@@ -25449,54 +25448,113 @@ function ly() {
|
|
|
25449
25448
|
setTimeout(() => n.setStatus(""), 1), e();
|
|
25450
25449
|
}, 1)) : e();
|
|
25451
25450
|
}
|
|
25452
|
-
var
|
|
25453
|
-
return
|
|
25451
|
+
var ne = b();
|
|
25452
|
+
return te(), t = u ? n : new Promise((e, t) => {
|
|
25454
25453
|
c = e;
|
|
25455
25454
|
}), t;
|
|
25456
25455
|
}), ly.apply(this, arguments);
|
|
25457
25456
|
}
|
|
25458
25457
|
//#endregion
|
|
25459
|
-
//#region build/five/
|
|
25460
|
-
var uy =
|
|
25461
|
-
|
|
25462
|
-
|
|
25463
|
-
|
|
25464
|
-
|
|
25465
|
-
|
|
25458
|
+
//#region build/five/gaussian-splatting/util/renderData.js
|
|
25459
|
+
var uy = null;
|
|
25460
|
+
function dy() {
|
|
25461
|
+
return uy || (uy = cy()), uy;
|
|
25462
|
+
}
|
|
25463
|
+
var fy = class {
|
|
25464
|
+
static warmupWasm() {
|
|
25465
|
+
dy();
|
|
25466
|
+
}
|
|
25467
|
+
constructor(e, t = 0) {
|
|
25468
|
+
this.dataChanged = !1, this.transformsChanged = !1, this.maxShDegree = 0, this.initialBuildComplete = !1, this.pendingInitialBuildCount = 0, this.disposed = !1, this.resolveReadyPromise = null, this.objectsInOrder = [], this.generation = t, this.readyPromise = new Promise((e) => {
|
|
25469
|
+
this.resolveReadyPromise = e;
|
|
25470
|
+
});
|
|
25471
|
+
let n = 0, r = 0;
|
|
25472
|
+
this.splatIndices = /* @__PURE__ */ new Map(), this.offsets = /* @__PURE__ */ new Map(), this.layerKeys = [], this.layerKeyToIndex = /* @__PURE__ */ new Map(), this.objectLayerIndices = /* @__PURE__ */ new Map();
|
|
25473
|
+
let i = /* @__PURE__ */ new Map();
|
|
25466
25474
|
e.forEach((e) => {
|
|
25467
|
-
this.splatIndices.set(e,
|
|
25468
|
-
|
|
25469
|
-
|
|
25475
|
+
this.splatIndices.set(e, r), this.offsets.set(e, n), i.set(n, e);
|
|
25476
|
+
let t = e.gsViewLayerKey || e.uuid, a = this.layerKeyToIndex.get(t);
|
|
25477
|
+
a === void 0 && (a = this.layerKeys.length, this.layerKeys.push(t), this.layerKeyToIndex.set(t, a)), this.objectLayerIndices.set(e, a), n += e.numPoints, r++, this.objectsInOrder.push(e);
|
|
25478
|
+
}), this.numPoints = n, this.pendingInitialBuildCount = e.length, this.initialBuildComplete = this.pendingInitialBuildCount === 0, this.width = 2048, this.height = Math.ceil(2 * this.numPoints / this.width), this.data = new Uint32Array(this.width * this.height * 4), this.transformsWidth = 5, this.transformsHeight = i.size, this.transforms = new Float32Array(this.transformsWidth * this.transformsHeight * 4), this.transformIndicesWidth = 1024, this.transformIndicesHeight = Math.ceil(this.numPoints / this.transformIndicesWidth), this.transformIndices = new Uint32Array(this.transformIndicesWidth * this.transformIndicesHeight), this.layerIndicesWidth = 1024, this.layerIndicesHeight = Math.ceil(this.numPoints / this.layerIndicesWidth), this.layerIndices = new Uint32Array(this.layerIndicesWidth * this.layerIndicesHeight), this.positions = new Float32Array(this.numPoints * 3), this.rotations = new Float32Array(this.numPoints * 4), this.scales = new Float32Array(this.numPoints * 3);
|
|
25479
|
+
let a = 0;
|
|
25470
25480
|
e.forEach((e) => {
|
|
25471
|
-
e.maxSHDegree >
|
|
25472
|
-
}), this.maxShDegree =
|
|
25481
|
+
e.maxSHDegree > a && (a = e.maxSHDegree);
|
|
25482
|
+
}), this.maxShDegree = a, a >= 1 && (this.sh1 = new Float32Array(this.numPoints * 9)), a >= 2 && (this.sh2 = new Float32Array(this.numPoints * 15)), a >= 3 && (this.sh3 = new Float32Array(this.numPoints * 21)), e.forEach((e) => {
|
|
25473
25483
|
let t = this.offsets.get(e);
|
|
25474
25484
|
e.sh1 && this.sh1 && this.sh1.set(e.sh1, t * 9), e.sh2 && this.sh2 && this.sh2.set(e.sh2, t * 15), e.sh3 && this.sh3 && this.sh3.set(e.sh3, t * 21);
|
|
25475
25485
|
}), this.worker = new ay(), this.worker.onmessage = (e) => {
|
|
25476
|
-
if (e.data.response) {
|
|
25477
|
-
let t = e.data.response, n =
|
|
25486
|
+
if (!this.disposed && e.data.response) {
|
|
25487
|
+
let t = e.data.response, n = i.get(t.offset);
|
|
25488
|
+
if (!n) return;
|
|
25478
25489
|
this.updateTransform(n);
|
|
25479
|
-
let
|
|
25480
|
-
for (let e = 0; e < n.numPoints; e++) this.transformIndices[t.offset + e] =
|
|
25490
|
+
let r = this.splatIndices.get(n), a = this.objectLayerIndices.get(n);
|
|
25491
|
+
for (let e = 0; e < n.numPoints; e++) this.transformIndices[t.offset + e] = r, this.layerIndices[t.offset + e] = a;
|
|
25481
25492
|
this.data.set(t.data, t.offset * 8), n.reattach(t.positions, t.rotations, t.scales, t.colors, t.selection), this.positions.set(t.worldPositions, t.offset * 3), this.rotations.set(t.worldRotations, t.offset * 4), this.scales.set(t.worldScales, t.offset * 3), n.selectedChanged = !1, this.dataChanged = !0;
|
|
25482
25493
|
}
|
|
25483
|
-
},
|
|
25494
|
+
}, dy().then((e) => {
|
|
25495
|
+
if (this.disposed) {
|
|
25496
|
+
this.completeInitialBuild();
|
|
25497
|
+
return;
|
|
25498
|
+
}
|
|
25484
25499
|
this.splatIndices.forEach((t, n) => {
|
|
25485
|
-
this.buildImmediate(e, n);
|
|
25500
|
+
this.disposed || this.buildImmediate(e, n);
|
|
25486
25501
|
});
|
|
25487
|
-
})
|
|
25502
|
+
}).catch((e) => {
|
|
25503
|
+
console.warn("RenderData wasm load failed:", e), this.completeInitialBuild();
|
|
25504
|
+
}), this.pendingInitialBuildCount === 0 && this.completeInitialBuild();
|
|
25488
25505
|
}
|
|
25489
25506
|
updateTransform(e) {
|
|
25490
25507
|
let t = this.splatIndices.get(e);
|
|
25491
25508
|
this.transforms.set(e.matrixWorld.elements, t * 20), this.transforms[t * 20 + 16] = e.selected ? 1 : 0, e.transformChanged = !1, e.selectedChanged = !1, this.transformsChanged = !0;
|
|
25492
25509
|
}
|
|
25510
|
+
getObjectsInOrder() {
|
|
25511
|
+
return this.objectsInOrder;
|
|
25512
|
+
}
|
|
25513
|
+
canIncrementalAppend(e) {
|
|
25514
|
+
if (this.disposed || e.length <= this.objectsInOrder.length) return !1;
|
|
25515
|
+
for (let t = 0; t < this.objectsInOrder.length; t++) if (e[t] !== this.objectsInOrder[t]) return !1;
|
|
25516
|
+
return !0;
|
|
25517
|
+
}
|
|
25518
|
+
appendObjects(e) {
|
|
25519
|
+
return Lo(this, void 0, void 0, function* () {
|
|
25520
|
+
if (this.disposed) return !1;
|
|
25521
|
+
if (e.length === 0) return !0;
|
|
25522
|
+
let t = yield dy();
|
|
25523
|
+
if (this.disposed) return !1;
|
|
25524
|
+
let n = this.numPoints, r = this.objectsInOrder.length, i = n + e.reduce((e, t) => e + t.numPoints, 0), a = r + e.length;
|
|
25525
|
+
this.numPoints = i, this.height = Math.ceil(2 * this.numPoints / this.width), this.data = this.expandUint32Array(this.data, this.width * this.height * 4), this.transformsHeight = a, this.transforms = this.expandFloat32Array(this.transforms, this.transformsWidth * this.transformsHeight * 4), this.transformIndicesHeight = Math.ceil(this.numPoints / this.transformIndicesWidth), this.transformIndices = this.expandUint32Array(this.transformIndices, this.transformIndicesWidth * this.transformIndicesHeight), this.layerIndicesHeight = Math.ceil(this.numPoints / this.layerIndicesWidth), this.layerIndices = this.expandUint32Array(this.layerIndices, this.layerIndicesWidth * this.layerIndicesHeight), this.positions = this.expandFloat32Array(this.positions, this.numPoints * 3), this.rotations = this.expandFloat32Array(this.rotations, this.numPoints * 4), this.scales = this.expandFloat32Array(this.scales, this.numPoints * 3);
|
|
25526
|
+
let o = e.reduce((e, t) => Math.max(e, t.maxSHDegree), this.maxShDegree);
|
|
25527
|
+
o > this.maxShDegree && (this.maxShDegree = o), this.maxShDegree >= 1 && (this.sh1 = this.expandFloat32Array(this.sh1, this.numPoints * 9)), this.maxShDegree >= 2 && (this.sh2 = this.expandFloat32Array(this.sh2, this.numPoints * 15)), this.maxShDegree >= 3 && (this.sh3 = this.expandFloat32Array(this.sh3, this.numPoints * 21));
|
|
25528
|
+
let s = n, c = r;
|
|
25529
|
+
return e.forEach((e) => {
|
|
25530
|
+
this.splatIndices.set(e, c), this.offsets.set(e, s), this.objectsInOrder.push(e);
|
|
25531
|
+
let t = e.gsViewLayerKey || e.uuid, n = this.layerKeyToIndex.get(t);
|
|
25532
|
+
n === void 0 && (n = this.layerKeys.length, this.layerKeys.push(t), this.layerKeyToIndex.set(t, n)), this.objectLayerIndices.set(e, n), e.sh1 && this.sh1 && this.sh1.set(e.sh1, s * 9), e.sh2 && this.sh2 && this.sh2.set(e.sh2, s * 15), e.sh3 && this.sh3 && this.sh3.set(e.sh3, s * 21), s += e.numPoints, c++;
|
|
25533
|
+
}), e.forEach((e) => {
|
|
25534
|
+
this.buildImmediate(t, e);
|
|
25535
|
+
}), !0;
|
|
25536
|
+
});
|
|
25537
|
+
}
|
|
25493
25538
|
buildImmediate(e, t) {
|
|
25539
|
+
if (this.disposed) return;
|
|
25494
25540
|
this.updateTransform(t);
|
|
25495
25541
|
let n = e._malloc(3 * t.numPoints * 4), r = e._malloc(4 * t.numPoints * 4), i = e._malloc(3 * t.numPoints * 4), a = e._malloc(4 * t.numPoints), o = e._malloc(t.numPoints), s = e._malloc(8 * t.numPoints * 4), c = e._malloc(3 * t.numPoints * 4), l = e._malloc(4 * t.numPoints * 4), u = e._malloc(3 * t.numPoints * 4);
|
|
25496
25542
|
e.HEAPF32.set(t.positions, n / 4), e.HEAPF32.set(t.rotations, r / 4), e.HEAPF32.set(t.scales, i / 4), e.HEAPU8.set(t.colors, a), e.HEAPU8.set(t.selection, o), e._pack(t.selected, t.numPoints, n, r, i, a, o, s, c, l, u);
|
|
25497
|
-
let d = new Uint32Array(e.HEAPU32.buffer, s, t.numPoints * 8), f = new Float32Array(e.HEAPF32.buffer, c, t.numPoints * 3), p = new Float32Array(e.HEAPF32.buffer, l, t.numPoints * 4), m = new Float32Array(e.HEAPF32.buffer, u, t.numPoints * 3), h = this.splatIndices.get(t), g = this.offsets.get(t);
|
|
25498
|
-
for (let e = 0; e < t.numPoints; e++) this.transformIndices[g + e] = h;
|
|
25499
|
-
this.data.set(d, g * 8), this.positions.set(f, g * 3), this.rotations.set(p, g * 4), this.scales.set(m, g * 3), e._free(n), e._free(r), e._free(i), e._free(a), e._free(o), e._free(s), e._free(c), e._free(l), e._free(u), this.dataChanged = !0;
|
|
25543
|
+
let d = new Uint32Array(e.HEAPU32.buffer, s, t.numPoints * 8), f = new Float32Array(e.HEAPF32.buffer, c, t.numPoints * 3), p = new Float32Array(e.HEAPF32.buffer, l, t.numPoints * 4), m = new Float32Array(e.HEAPF32.buffer, u, t.numPoints * 3), h = this.splatIndices.get(t), g = this.offsets.get(t), _ = this.objectLayerIndices.get(t);
|
|
25544
|
+
for (let e = 0; e < t.numPoints; e++) this.transformIndices[g + e] = h, this.layerIndices[g + e] = _;
|
|
25545
|
+
this.data.set(d, g * 8), this.positions.set(f, g * 3), this.rotations.set(p, g * 4), this.scales.set(m, g * 3), e._free(n), e._free(r), e._free(i), e._free(a), e._free(o), e._free(s), e._free(c), e._free(l), e._free(u), this.dataChanged = !0, this.pendingInitialBuildCount = Math.max(0, this.pendingInitialBuildCount - 1), this.pendingInitialBuildCount === 0 && this.completeInitialBuild();
|
|
25546
|
+
}
|
|
25547
|
+
expandFloat32Array(e, t) {
|
|
25548
|
+
if (!e) return new Float32Array(t);
|
|
25549
|
+
if (e.length >= t) return e;
|
|
25550
|
+
let n = new Float32Array(t);
|
|
25551
|
+
return n.set(e.subarray(0, e.length)), n;
|
|
25552
|
+
}
|
|
25553
|
+
expandUint32Array(e, t) {
|
|
25554
|
+
if (!e) return new Uint32Array(t);
|
|
25555
|
+
if (e.length >= t) return e;
|
|
25556
|
+
let n = new Uint32Array(t);
|
|
25557
|
+
return n.set(e.subarray(0, e.length)), n;
|
|
25500
25558
|
}
|
|
25501
25559
|
getSplat(e) {
|
|
25502
25560
|
let t = null;
|
|
@@ -25509,74 +25567,74 @@ var uy = class {
|
|
|
25509
25567
|
return t - this.offsets.get(e);
|
|
25510
25568
|
}
|
|
25511
25569
|
dispose() {
|
|
25512
|
-
this.worker.terminate();
|
|
25570
|
+
this.disposed || (this.disposed = !0, this.worker.terminate(), this.completeInitialBuild());
|
|
25571
|
+
}
|
|
25572
|
+
completeInitialBuild() {
|
|
25573
|
+
this.initialBuildComplete || (this.initialBuildComplete = !0), this.resolveReadyPromise && (this.resolveReadyPromise(), this.resolveReadyPromise = null);
|
|
25513
25574
|
}
|
|
25514
|
-
}, dy = "(function(){function e(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}async function t(e={}){var t,n=e,r=!1,i=!0,a=self.location.href;if(r||i)try{new URL(`.`,a).href}catch{}console.log.bind(console),console.error.bind(console);var o=!1;function s(e){for(var t=0,n=e.length,r=new Uint8Array(n),i;t<n;++t)i=e.charCodeAt(t),r[t]=~i>>8&i;return r}var c,l,u=!1;function d(){var e=M.buffer;new Int8Array(e),new Int16Array(e),n.HEAPU8=l=new Uint8Array(e),new Uint16Array(e),new Int32Array(e),n.HEAPU32=new Uint32Array(e),n.HEAPF32=new Float32Array(e),new Float64Array(e),new BigInt64Array(e),new BigUint64Array(e)}function f(){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)T(n.preRun.shift());x(w)}function p(){u=!0,I.c()}function m(){if(n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)C(n.postRun.shift());x(S)}var h;function g(){return s(`\\0asm\\0\\0\\0\\`\\`\\0\\` \\0\\`\\0\\0\\x07aa\\0\\0\\0\\0\\x07\\bA\\v\\x07b\\0c\\0d\\0e\\0f\\0\\f\n¼8T~@A\\b(\\0\" \\0B\\x07|Bøÿÿÿ|\"BÿÿÿÿX@ §\"\\0?\\0AtM\\r \\0\\0\\r\\vA\\bA06\\0A\\vA\\b \\x006\\0 \\vß\\v\\b@ \\0E\\r\\0 \\0A\\bk\" \\0Ak(\\0\"Axq\"\\0j!@ Aq\\r\\0 AqE\\r (\\0\"k\"A\\b(\\0I\\r \\0 j!\\0@@@A\\b(\\0 G@ (\\f! AÿM@ (\\b\"G\\rA\\bA\\b(\\0A~ Avwq6\\0\\f\\v (!\\x07 G@ (\\b\" 6\\f 6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v (\"AqAG\\rA\\b \\x006\\0 A~q6 \\0Ar6 \\x006\\0\\v 6\\f 6\\b\\f\\vA\\0!\\v \\x07E\\r\\0@ (\"At\"(¸\n F@ A¸\nj 6\\0 \\rA\\bA\\b(\\0A~ wq6\\0\\f\\v@ \\x07(F@ \\x07 6\\f\\v \\x07 6\\v E\\r\\v \\x076 (\"@ 6 6\\v (\"E\\r\\0 6 6\\v O\\r\\0 (\"AqE\\r\\0@@@@ AqE@A\\xA0\\b(\\0 F@A\\xA0\\b 6\\0A\\bA\\b(\\0 \\0j\"\\x006\\0 \\0Ar6 A\\b(\\0G\\rA\\bA\\x006\\0A\\bA\\x006\\0\\vA\\b(\\0\"\\x07 F@A\\b 6\\0A\\bA\\b(\\0 \\0j\"\\x006\\0 \\0Ar6 \\0 j \\x006\\0\\v Axq \\0j!\\0 (\\f! AÿM@ (\\b\" F@A\\bA\\b(\\0A~ Avwq6\\0\\f\\v 6\\f 6\\b\\f\\v (!\\b G@ (\\b\" 6\\f 6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v A~q6 \\0Ar6 \\0 j \\x006\\0\\f\\vA\\0!\\v \\bE\\r\\0@ (\"At\"(¸\n F@ A¸\nj 6\\0 \\rA\\bA\\b(\\0A~ wq6\\0\\f\\v@ \\b(F@ \\b 6\\f\\v \\b 6\\v E\\r\\v \\b6 (\"@ 6 6\\v (\"E\\r\\0 6 6\\v \\0Ar6 \\0 j \\x006\\0 \\x07G\\r\\0A\\b \\x006\\0\\v \\0AÿM@ \\0AøqA°\\bj!A\\b(\\0\"A \\0Avt\"\\0qE@A\\b \\0 r6\\0 \\f\\v (\\b\\v!\\0 6\\b \\0 6\\f 6\\f \\x006\\b\\vA! \\0Aÿÿÿ\\x07M@ \\0A& \\0A\\bvg\"kvAq AtrA>s!\\v 6 B\\x007 AtA¸\nj!@A\\b(\\0\"A t\"qE@A\\b r6\\0 6\\0A!A\\b\\f\\v \\0A AvkA\\0 AG\\x1Bt! (\\0!@ \"(Axq \\0F\\r Av! At! Aqj\"(\"\\r\\0\\v 6A! !A\\b\\v!\\0 \"\\f\\v (\\b\" 6\\f 6\\bA!\\0A\\b!A\\0\\v! j 6\\0 6\\f \\0 j 6\\0A¨\\bA¨\\b(\\0Ak\"\\0A \\0\\x1B6\\0\\v\\v¸'\\v#\\0Ak\"\n$\\0@@@@@@@@@@ \\0AôM@A\\b(\\0\"A \\0A\\vjAøq \\0A\\vI\\x1B\"Av\"\\0v\"Aq@@ AsAq \\0j\"At\"A°\\bj\"\\0 (¸\\b\"(\\b\"F@A\\b A~ wq6\\0\\f\\v \\x006\\f \\0 6\\b\\v A\\bj!\\0 Ar6 j\" (Ar6\\f\\v\\v A\\b(\\0\"\\bM\\r @@A \\0t\"A\\0 kr \\0tqh\"At\"A°\\bj\" (¸\\b\"\\0(\\b\"F@A\\b A~ wq\"6\\0\\f\\v 6\\f 6\\b\\v \\0 Ar6 \\0 j\"\\x07 k\"Ar6 \\0 j 6\\0 \\b@ \\bAxqA°\\bj!A\\b(\\0! A \\bAvt\"qE@A\\b r6\\0 \\f\\v (\\b\\v! 6\\b 6\\f 6\\f 6\\b\\v \\0A\\bj!\\0A\\b \\x076\\0A\\b 6\\0\\f\\v\\vA\\b(\\0\"\\vE\\r \\vhAt(¸\n\"(Axq k! !@@ (\"\\0E@ (\"\\0E\\r\\v \\0(Axq k\" I\"\\x1B! \\0 \\x1B! \\0!\\f\\v\\v (! (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\n\\v (\" Aj (\"E\\r Aj\\v!@ !\\x07 \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v \\x07A\\x006\\0\\f \\vA! \\0A¿K\\r\\0 \\0A\\vj\"Axq!A\\b(\\0\"\\x07E\\r\\0A!\\bA\\0 k! \\0Aôÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtkA>j!\\b\\v@@@ \\bAt(¸\n\"E@A\\0!\\0\\f\\vA\\0!\\0 A \\bAvkA\\0 \\bAG\\x1Bt!@@ (Axq k\" O\\r\\0 ! \"\\r\\0A\\0! !\\0\\f\\v \\0 (\" AvAqj(\"F\\x1B \\0 \\x1B!\\0 At! \\r\\0\\v\\v \\0 rE@A\\0!A \\bt\"\\0A\\0 \\0kr \\x07q\"\\0E\\r \\0hAt(¸\n!\\0\\v \\0E\\r\\v@ \\0(Axq k\" I! \\x1B! \\0 \\x1B! \\0(\" \\0(\\v\"\\0\\r\\0\\v\\v E\\r\\0 A\\b(\\0 kO\\r\\0 (!\\b (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\\b\\v (\" Aj (\"E\\r Aj\\v!@ ! \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v A\\x006\\0\\f\\x07\\v A\\b(\\0\"M@A\\b(\\0!\\0@ k\"AO@ \\0 j\" Ar6 \\0 j 6\\0 \\0 Ar6\\f\\v \\0 Ar6 \\0 j\" (Ar6A\\0!A\\0!\\vA\\b 6\\0A\\b 6\\0 \\0A\\bj!\\0\\f \\v A\\b(\\0\"I@A\\b k\"6\\0A\\xA0\\bA\\xA0\\b(\\0\"\\0 j\"6\\0 Ar6 \\0 Ar6 \\0A\\bj!\\0\\f \\vA\\0!\\0 A/j\"Aà\\v(\\0@Aè\\v(\\0\\f\\vAì\\vB7\\0Aä\\vB\\xA07\\0Aà\\v \nA\\fjApqAتժs6\\0Aô\\vA\\x006\\0AÄ\\vA\\x006\\0A \\v\"j\"A\\0 k\"\\x07q\" M\\r\\bAÀ\\v(\\0\"@A¸\\v(\\0\"\\b j\" \\bM Ir\\r \\v@AÄ\\v-\\0\\0AqE@@@@@A\\xA0\\b(\\0\"@AÈ\\v!\\0@ \\0(\\0\"\\b M@ \\b \\0(jI\\r\\v \\0(\\b\"\\0\\r\\0\\v\\vA\\0\"AF\\r !Aä\\v(\\0\"\\0Ak\" q@ k jA\\0 \\0kqj!\\v M\\rAÀ\\v(\\0\"\\0@A¸\\v(\\0\" j\"\\x07 M \\0 \\x07Ir\\r\\v \"\\0 G\\r\\f\\v k \\x07q\"\" \\0(\\0 \\0(jF\\r !\\0\\v \\0AF\\r A0j M@ \\0!\\f\\vAè\\v(\\0\" kjA\\0 kq\"AF\\r j! \\0!\\f\\v AG\\r\\vAÄ\\vAÄ\\v(\\0Ar6\\0\\v \"AFA\\0\"\\0AFr \\0 Mr\\r \\0 k\" A(jM\\r\\vA¸\\vA¸\\v(\\0 j\"\\x006\\0A¼\\v(\\0 \\0I@A¼\\v \\x006\\0\\v@A\\xA0\\b(\\0\"@AÈ\\v!\\0@ \\0(\\0\" \\0(\"jF\\r \\0(\\b\"\\0\\r\\0\\v\\f\\vA\\b(\\0\"\\0A\\0 \\0 M\\x1BE@A\\b 6\\0\\vA\\0!\\0AÌ\\v 6\\0AÈ\\v 6\\0A¨\\bA6\\0A¬\\bAà\\v(\\x006\\0AÔ\\vA\\x006\\0@ \\0At\" A°\\bj\"6¸\\b 6¼\\b \\0Aj\"\\0A G\\r\\0\\vA\\b A(k\"\\0Ax kA\\x07q\"k\"6\\0A\\xA0\\b j\"6\\0 Ar6 \\0 jA(6A¤\\bAð\\v(\\x006\\0\\f\\v M Kr\\r \\0(\\fA\\bq\\r \\0 j6A\\xA0\\b Ax kA\\x07q\"\\0j\"6\\0A\\bA\\b(\\0 j\" \\0k\"\\x006\\0 \\0Ar6 jA(6A¤\\bAð\\v(\\x006\\0\\f\\vA\\0!\\0\\f\\vA\\0!\\0\\f\\vA\\b(\\0 K@A\\b 6\\0\\v j!AÈ\\v!\\0@@ \\0(\\0\"G@ \\0(\\b\"\\0\\r\\f\\v\\v \\0-\\0\\fA\\bqE\\r\\vAÈ\\v!\\0@@ \\0(\\0\" M@ \\0(j\"I\\r\\v \\0(\\b!\\0\\f\\v\\vA\\b A(k\"\\0Ax kA\\x07q\"k\"\\x076\\0A\\xA0\\b j\"6\\0 \\x07Ar6 \\0 jA(6A¤\\bAð\\v(\\x006\\0 A' kA\\x07qjA/k\"\\0 \\0 AjI\\x1B\"A\\x1B6 AÐ\\v)\\x007 AÈ\\v)\\x007\\bAÐ\\v A\\bj6\\0AÌ\\v 6\\0AÈ\\v 6\\0AÔ\\vA\\x006\\0 Aj!\\0@ \\0A\\x076 \\0A\\bj \\0Aj!\\0 I\\r\\0\\v F\\r\\0 (A~q6 k\"Ar6 6\\0 AÿM@ AøqA°\\bj!\\0A\\b(\\0\"A Avt\"qE@A\\b r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\fA\\f!A\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v \\x006 B\\x007 \\0AtA¸\nj!@@A\\b(\\0\"A \\0t\"qE@A\\b r6\\0 6\\0\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0 Aqj\"(\"\\r\\0\\v 6\\v 6A\\b! \"!\\0A\\f\\f\\v (\\b\"\\0 6\\f 6\\b \\x006\\bA\\0!\\0A!A\\f\\v j 6\\0 j \\x006\\0\\vA\\b(\\0\"\\0 M\\r\\0A\\b \\0 k\"6\\0A\\xA0\\bA\\xA0\\b(\\0\"\\0 j\"6\\0 Ar6 \\0 Ar6 \\0A\\bj!\\0\\f\\vA\\bA06\\0A\\0!\\0\\f\\v \\0 6\\0 \\0 \\0( j6 Ax kA\\x07qj\"\\b Ar6 Ax kA\\x07qj\" \\bj\"k!\\x07@A\\xA0\\b(\\0 F@A\\xA0\\b 6\\0A\\bA\\b(\\0 \\x07j\"\\x006\\0 \\0Ar6\\f\\vA\\b(\\0 F@A\\b 6\\0A\\bA\\b(\\0 \\x07j\"\\x006\\0 \\0Ar6 \\0 j \\x006\\0\\f\\v (\"\\0AqAF@ \\0Axq! (\\f!@ \\0AÿM@ (\\b\" F@A\\bA\\b(\\0A~ \\0Avwq6\\0\\f\\v 6\\f 6\\b\\f\\v (!@ G@ (\\b\"\\0 6\\f \\x006\\b\\f\\v@ (\"\\0 Aj (\"\\0E\\r Aj\\v!@ ! \\0\"Aj! \\0(\"\\0\\r\\0 Aj! (\"\\0\\r\\0\\v A\\x006\\0\\f\\vA\\0!\\v E\\r\\0@ (\"\\0At\"(¸\n F@ A¸\nj 6\\0 \\rA\\bA\\b(\\0A~ \\0wq6\\0\\f\\v@ (F@ 6\\f\\v 6\\v E\\r\\v 6 (\"\\0@ \\x006 \\0 6\\v (\"\\0E\\r\\0 \\x006 \\0 6\\v \\x07 j!\\x07 j\"(!\\0\\v \\0A~q6 \\x07Ar6 \\x07j \\x076\\0 \\x07AÿM@ \\x07AøqA°\\bj!\\0A\\b(\\0\"A \\x07Avt\"qE@A\\b r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\f \\x006\\f 6\\b\\f\\vA! \\x07Aÿÿÿ\\x07M@ \\x07A& \\x07A\\bvg\"\\0kvAq \\0AtrA>s!\\v 6 B\\x007 AtA¸\nj!\\0@@A\\b(\\0\"A t\"qE@A\\b r6\\0 \\0 6\\0\\f\\v \\x07A AvkA\\0 AG\\x1Bt! \\0(\\0!@ \"\\0(Axq \\x07F\\r Av! At! \\0 Aqj\"(\"\\r\\0\\v 6\\v \\x006 6\\f 6\\b\\f\\v \\0(\\b\" 6\\f \\0 6\\b A\\x006 \\x006\\f 6\\b\\v \\bA\\bj!\\0\\f\\v@ \\bE\\r\\0@ (\"At\"(¸\n F@ A¸\nj \\x006\\0 \\0\\rA\\b \\x07A~ wq\"\\x076\\0\\f\\v@ \\b(F@ \\b \\x006\\f\\v \\b \\x006\\v \\0E\\r\\v \\0 \\b6 (\"@ \\0 6 \\x006\\v (\"E\\r\\0 \\0 6 \\x006\\v@ AM@ j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v Ar6 j\" Ar6 j 6\\0 AÿM@ AøqA°\\bj!\\0A\\b(\\0\"A Avt\"qE@A\\b r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\f \\x006\\f 6\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v \\x006 B\\x007 \\0AtA¸\nj!@@ \\x07A \\0t\"qE@A\\b \\x07r6\\0 6\\0 6\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0 Aqj\"\\x07(\"\\r\\0\\v \\x07 6 6\\v 6\\f 6\\b\\f\\v (\\b\"\\0 6\\f 6\\b A\\x006 6\\f \\x006\\b\\v A\\bj!\\0\\f\\v@ E\\r\\0@ (\"At\"(¸\n F@ A¸\nj \\x006\\0 \\0\\rA\\b \\vA~ wq6\\0\\f\\v@ (F@ \\x006\\f\\v \\x006\\v \\0E\\r\\v \\0 6 (\"@ \\0 6 \\x006\\v (\"E\\r\\0 \\0 6 \\x006\\v@ AM@ j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v Ar6 j\" Ar6 j 6\\0 \\b@ \\bAxqA°\\bj!\\0A\\b(\\0!A \\bAvt\"\\x07 qE@A\\b \\x07r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\f \\x006\\f 6\\b\\vA\\b 6\\0A\\b 6\\0\\v A\\bj!\\0\\v \nAj$\\0 \\0\\vÆ\n}Aÿÿÿÿ\\x07!\\fAx!\\rA! @ \nF@A\\0!\\0 \\bA\\0Aü\\v\\0C\\0ÿG \\r \\fk²! \nA\\flj\"\\v*\\0! \\v*\\b! \\v*! \nAt\"j(\\0\"\\vG@ \\vAÐ\\0lj\" *< \\0*8\" *8 \\0*(\" *0 \\0*\\b\" \\0*\" *4! *, *( * *$! * * * *! *\\f *\\b *\\0 * ! \\v! \\v j C\\0\\0Eü\\0\"\\v6\\0 \\f \\v \\v \\fJ\\x1B!\\f \\r \\v \\v \\rH\\x1B!\\r \nAj!\n\\f\\v\\v@ \\0 FE@ \\0Atj\" (\\0 \\fk³ü\"6\\0 \\b Atj\" (\\0Aj6\\0 \\0Aj!\\0\\f\\v\\vA\\0!\\0 \\x07A\\x006üÿAþÿ!\n@ \nA\\0H@@@ \\0 F\\r\\0 \\x07 \\0Atj(\\0Atj\" (\\0\"Aj6\\0 Atj \\x006\\0 \\0Aj!\\0\\f\\v\\v \\x07 \nAt\"j \\b Aj\"j(\\0 \\x07j(\\0j6\\0 \nAk!\n\\f\\v\\v\\v\\0\\v\\v \\0A\\b\\v`)}function _(e){return e}function v(e,t){var n,r=_(e);return n=new WebAssembly.Module(r),[new WebAssembly.Instance(n,t),n]}function y(){return{a:P}}function b(){function e(e,t){return I=e.exports,N(I),d(),I}var t=y();return n.instantiateWasm?new Promise((r,i)=>{n.instantiateWasm(t,(t,n)=>{r(e(t,n))})}):(h??=g(),e(v(h,t)[0]))}for(var x=e=>{for(;e.length>0;)e.shift()(n)},S=[],C=e=>S.push(e),w=[],T=e=>w.push(e),E=()=>2147483648,D=(e,t)=>Math.ceil(e/t)*t,O=e=>{var t=(e-M.buffer.byteLength+65535)/65536|0;try{return M.grow(t),d(),1}catch{}},k=e=>{var t=l.length;e>>>=0;var n=E();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),O(Math.min(n,D(Math.max(e,i),65536))))return!0}return!1},A=new Uint8Array(123),j=25;j>=0;--j)A[48+j]=52+j,A[65+j]=j,A[97+j]=26+j;if(A[43]=62,A[47]=63,n.noExitRuntime&&n.noExitRuntime,n.print&&n.print,n.printErr&&n.printErr,n.wasmBinary&&n.wasmBinary,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram,n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();var M;function N(e){n._sort=e.d,n._malloc=e.e,n._free=e.f,M=e.b,e.__indirect_function_table}var P={a:k};function F(){f();function e(){n.calledRun=!0,!o&&(p(),c?.(n),n.onRuntimeInitialized?.(),m())}n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),e()},1)):e()}var I=b();return F(),t=u?n:new Promise((e,t)=>{c=e}),t}let n;function r(){return e(this,void 0,void 0,function*(){n=yield t()})}let i,a,o,s,c,l,u,d,f,p=0,m=0,h=[],g=!0,_=!1,v=!1,y=!1,b=()=>e(void 0,void 0,void 0,function*(){if(_){v=!0;return}_=!0,v=!1,n||(yield r());let e=2**Math.ceil(Math.log2(i.vertexCount));p<e&&(p>0&&(n._free(a),n._free(s),n._free(c),n._free(l),n._free(u),n._free(d),n._free(f)),p=e,a=n._malloc(64),s=n._malloc(p*4),c=n._malloc(3*p*4),l=n._malloc(p*4),u=n._malloc(p*4),d=n._malloc(p*4),f=n._malloc(p*4)),m<i.transforms.length&&(m>0&&n._free(o),m=i.transforms.length,o=n._malloc(m*4)),_=!1,v&&(v=!1,yield b())}),x=()=>{if(_||v||!n)return;_=!0,n.HEAPF32.set(i.positions,c/4),n.HEAPF32.set(i.transforms,o/4),n.HEAPU32.set(i.transformIndices,s/4),n.HEAPF32.set(new Float32Array(h),a/4),n._sort(a,o,s,i.vertexCount,c,l,u,d,f);let e=new Uint32Array(n.HEAPU32.buffer,u,i.vertexCount),t=new Uint32Array(e.slice().buffer);self.postMessage({depthIndex:t},[t.buffer]),_=!1,g=!1},S=()=>{y||(y=!0,g&&x(),setTimeout(()=>{y=!1,S()}))};self.onmessage=e=>new Promise((t,n)=>{e.data.sortData&&(i={positions:new Float32Array(e.data.sortData.positions),transforms:new Float32Array(e.data.sortData.transforms),transformIndices:new Uint32Array(e.data.sortData.transformIndices),vertexCount:e.data.sortData.vertexCount},g=!0,b()),e.data.viewProj&&(e.data.viewProj.every(e=>h.includes(e))===!1&&(h=e.data.viewProj,g=!0),S(),t(!0))})})();", fy = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", dy], { type: "text/javascript;charset=utf-8" });
|
|
25515
|
-
function
|
|
25575
|
+
}, py = "(function(){function e(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}async function t(e={}){var t,n=e,r=!1,i=!0,a=self.location.href;if(r||i)try{new URL(`.`,a).href}catch{}console.log.bind(console),console.error.bind(console);var o=!1;function s(e){for(var t=0,n=e.length,r=new Uint8Array(n),i;t<n;++t)i=e.charCodeAt(t),r[t]=~i>>8&i;return r}var c,l,u=!1;function d(){var e=M.buffer;new Int8Array(e),new Int16Array(e),n.HEAPU8=l=new Uint8Array(e),new Uint16Array(e),new Int32Array(e),n.HEAPU32=new Uint32Array(e),n.HEAPF32=new Float32Array(e),new Float64Array(e),new BigInt64Array(e),new BigUint64Array(e)}function f(){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)T(n.preRun.shift());x(w)}function p(){u=!0,I.c()}function m(){if(n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)C(n.postRun.shift());x(S)}var h;function g(){return s(`\\0asm\\0\\0\\0\\`\\`\\0\\` \\0\\`\\0\\0\\x07aa\\0\\0\\0\\0\\x07\\bA\\v\\x07b\\0c\\0d\\0e\\0f\\0\\f\n¼8T~@A\\b(\\0\" \\0B\\x07|Bøÿÿÿ|\"BÿÿÿÿX@ §\"\\0?\\0AtM\\r \\0\\0\\r\\vA\\bA06\\0A\\vA\\b \\x006\\0 \\vß\\v\\b@ \\0E\\r\\0 \\0A\\bk\" \\0Ak(\\0\"Axq\"\\0j!@ Aq\\r\\0 AqE\\r (\\0\"k\"A\\b(\\0I\\r \\0 j!\\0@@@A\\b(\\0 G@ (\\f! AÿM@ (\\b\"G\\rA\\bA\\b(\\0A~ Avwq6\\0\\f\\v (!\\x07 G@ (\\b\" 6\\f 6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v (\"AqAG\\rA\\b \\x006\\0 A~q6 \\0Ar6 \\x006\\0\\v 6\\f 6\\b\\f\\vA\\0!\\v \\x07E\\r\\0@ (\"At\"(¸\n F@ A¸\nj 6\\0 \\rA\\bA\\b(\\0A~ wq6\\0\\f\\v@ \\x07(F@ \\x07 6\\f\\v \\x07 6\\v E\\r\\v \\x076 (\"@ 6 6\\v (\"E\\r\\0 6 6\\v O\\r\\0 (\"AqE\\r\\0@@@@ AqE@A\\xA0\\b(\\0 F@A\\xA0\\b 6\\0A\\bA\\b(\\0 \\0j\"\\x006\\0 \\0Ar6 A\\b(\\0G\\rA\\bA\\x006\\0A\\bA\\x006\\0\\vA\\b(\\0\"\\x07 F@A\\b 6\\0A\\bA\\b(\\0 \\0j\"\\x006\\0 \\0Ar6 \\0 j \\x006\\0\\v Axq \\0j!\\0 (\\f! AÿM@ (\\b\" F@A\\bA\\b(\\0A~ Avwq6\\0\\f\\v 6\\f 6\\b\\f\\v (!\\b G@ (\\b\" 6\\f 6\\b\\f\\v (\" Aj (\"E\\r Aj\\v!@ ! \"Aj! (\"\\r\\0 Aj! (\"\\r\\0\\v A\\x006\\0\\f\\v A~q6 \\0Ar6 \\0 j \\x006\\0\\f\\vA\\0!\\v \\bE\\r\\0@ (\"At\"(¸\n F@ A¸\nj 6\\0 \\rA\\bA\\b(\\0A~ wq6\\0\\f\\v@ \\b(F@ \\b 6\\f\\v \\b 6\\v E\\r\\v \\b6 (\"@ 6 6\\v (\"E\\r\\0 6 6\\v \\0Ar6 \\0 j \\x006\\0 \\x07G\\r\\0A\\b \\x006\\0\\v \\0AÿM@ \\0AøqA°\\bj!A\\b(\\0\"A \\0Avt\"\\0qE@A\\b \\0 r6\\0 \\f\\v (\\b\\v!\\0 6\\b \\0 6\\f 6\\f \\x006\\b\\vA! \\0Aÿÿÿ\\x07M@ \\0A& \\0A\\bvg\"kvAq AtrA>s!\\v 6 B\\x007 AtA¸\nj!@A\\b(\\0\"A t\"qE@A\\b r6\\0 6\\0A!A\\b\\f\\v \\0A AvkA\\0 AG\\x1Bt! (\\0!@ \"(Axq \\0F\\r Av! At! Aqj\"(\"\\r\\0\\v 6A! !A\\b\\v!\\0 \"\\f\\v (\\b\" 6\\f 6\\bA!\\0A\\b!A\\0\\v! j 6\\0 6\\f \\0 j 6\\0A¨\\bA¨\\b(\\0Ak\"\\0A \\0\\x1B6\\0\\v\\v¸'\\v#\\0Ak\"\n$\\0@@@@@@@@@@ \\0AôM@A\\b(\\0\"A \\0A\\vjAøq \\0A\\vI\\x1B\"Av\"\\0v\"Aq@@ AsAq \\0j\"At\"A°\\bj\"\\0 (¸\\b\"(\\b\"F@A\\b A~ wq6\\0\\f\\v \\x006\\f \\0 6\\b\\v A\\bj!\\0 Ar6 j\" (Ar6\\f\\v\\v A\\b(\\0\"\\bM\\r @@A \\0t\"A\\0 kr \\0tqh\"At\"A°\\bj\" (¸\\b\"\\0(\\b\"F@A\\b A~ wq\"6\\0\\f\\v 6\\f 6\\b\\v \\0 Ar6 \\0 j\"\\x07 k\"Ar6 \\0 j 6\\0 \\b@ \\bAxqA°\\bj!A\\b(\\0! A \\bAvt\"qE@A\\b r6\\0 \\f\\v (\\b\\v! 6\\b 6\\f 6\\f 6\\b\\v \\0A\\bj!\\0A\\b \\x076\\0A\\b 6\\0\\f\\v\\vA\\b(\\0\"\\vE\\r \\vhAt(¸\n\"(Axq k! !@@ (\"\\0E@ (\"\\0E\\r\\v \\0(Axq k\" I\"\\x1B! \\0 \\x1B! \\0!\\f\\v\\v (! (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\n\\v (\" Aj (\"E\\r Aj\\v!@ !\\x07 \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v \\x07A\\x006\\0\\f \\vA! \\0A¿K\\r\\0 \\0A\\vj\"Axq!A\\b(\\0\"\\x07E\\r\\0A!\\bA\\0 k! \\0Aôÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtkA>j!\\b\\v@@@ \\bAt(¸\n\"E@A\\0!\\0\\f\\vA\\0!\\0 A \\bAvkA\\0 \\bAG\\x1Bt!@@ (Axq k\" O\\r\\0 ! \"\\r\\0A\\0! !\\0\\f\\v \\0 (\" AvAqj(\"F\\x1B \\0 \\x1B!\\0 At! \\r\\0\\v\\v \\0 rE@A\\0!A \\bt\"\\0A\\0 \\0kr \\x07q\"\\0E\\r \\0hAt(¸\n!\\0\\v \\0E\\r\\v@ \\0(Axq k\" I! \\x1B! \\0 \\x1B! \\0(\" \\0(\\v\"\\0\\r\\0\\v\\v E\\r\\0 A\\b(\\0 kO\\r\\0 (!\\b (\\f\"\\0G@ (\\b\" \\x006\\f \\0 6\\b\\f\\b\\v (\" Aj (\"E\\r Aj\\v!@ ! \"\\0Aj! \\0(\"\\r\\0 \\0Aj! \\0(\"\\r\\0\\v A\\x006\\0\\f\\x07\\v A\\b(\\0\"M@A\\b(\\0!\\0@ k\"AO@ \\0 j\" Ar6 \\0 j 6\\0 \\0 Ar6\\f\\v \\0 Ar6 \\0 j\" (Ar6A\\0!A\\0!\\vA\\b 6\\0A\\b 6\\0 \\0A\\bj!\\0\\f \\v A\\b(\\0\"I@A\\b k\"6\\0A\\xA0\\bA\\xA0\\b(\\0\"\\0 j\"6\\0 Ar6 \\0 Ar6 \\0A\\bj!\\0\\f \\vA\\0!\\0 A/j\"Aà\\v(\\0@Aè\\v(\\0\\f\\vAì\\vB7\\0Aä\\vB\\xA07\\0Aà\\v \nA\\fjApqAتժs6\\0Aô\\vA\\x006\\0AÄ\\vA\\x006\\0A \\v\"j\"A\\0 k\"\\x07q\" M\\r\\bAÀ\\v(\\0\"@A¸\\v(\\0\"\\b j\" \\bM Ir\\r \\v@AÄ\\v-\\0\\0AqE@@@@@A\\xA0\\b(\\0\"@AÈ\\v!\\0@ \\0(\\0\"\\b M@ \\b \\0(jI\\r\\v \\0(\\b\"\\0\\r\\0\\v\\vA\\0\"AF\\r !Aä\\v(\\0\"\\0Ak\" q@ k jA\\0 \\0kqj!\\v M\\rAÀ\\v(\\0\"\\0@A¸\\v(\\0\" j\"\\x07 M \\0 \\x07Ir\\r\\v \"\\0 G\\r\\f\\v k \\x07q\"\" \\0(\\0 \\0(jF\\r !\\0\\v \\0AF\\r A0j M@ \\0!\\f\\vAè\\v(\\0\" kjA\\0 kq\"AF\\r j! \\0!\\f\\v AG\\r\\vAÄ\\vAÄ\\v(\\0Ar6\\0\\v \"AFA\\0\"\\0AFr \\0 Mr\\r \\0 k\" A(jM\\r\\vA¸\\vA¸\\v(\\0 j\"\\x006\\0A¼\\v(\\0 \\0I@A¼\\v \\x006\\0\\v@A\\xA0\\b(\\0\"@AÈ\\v!\\0@ \\0(\\0\" \\0(\"jF\\r \\0(\\b\"\\0\\r\\0\\v\\f\\vA\\b(\\0\"\\0A\\0 \\0 M\\x1BE@A\\b 6\\0\\vA\\0!\\0AÌ\\v 6\\0AÈ\\v 6\\0A¨\\bA6\\0A¬\\bAà\\v(\\x006\\0AÔ\\vA\\x006\\0@ \\0At\" A°\\bj\"6¸\\b 6¼\\b \\0Aj\"\\0A G\\r\\0\\vA\\b A(k\"\\0Ax kA\\x07q\"k\"6\\0A\\xA0\\b j\"6\\0 Ar6 \\0 jA(6A¤\\bAð\\v(\\x006\\0\\f\\v M Kr\\r \\0(\\fA\\bq\\r \\0 j6A\\xA0\\b Ax kA\\x07q\"\\0j\"6\\0A\\bA\\b(\\0 j\" \\0k\"\\x006\\0 \\0Ar6 jA(6A¤\\bAð\\v(\\x006\\0\\f\\vA\\0!\\0\\f\\vA\\0!\\0\\f\\vA\\b(\\0 K@A\\b 6\\0\\v j!AÈ\\v!\\0@@ \\0(\\0\"G@ \\0(\\b\"\\0\\r\\f\\v\\v \\0-\\0\\fA\\bqE\\r\\vAÈ\\v!\\0@@ \\0(\\0\" M@ \\0(j\"I\\r\\v \\0(\\b!\\0\\f\\v\\vA\\b A(k\"\\0Ax kA\\x07q\"k\"\\x076\\0A\\xA0\\b j\"6\\0 \\x07Ar6 \\0 jA(6A¤\\bAð\\v(\\x006\\0 A' kA\\x07qjA/k\"\\0 \\0 AjI\\x1B\"A\\x1B6 AÐ\\v)\\x007 AÈ\\v)\\x007\\bAÐ\\v A\\bj6\\0AÌ\\v 6\\0AÈ\\v 6\\0AÔ\\vA\\x006\\0 Aj!\\0@ \\0A\\x076 \\0A\\bj \\0Aj!\\0 I\\r\\0\\v F\\r\\0 (A~q6 k\"Ar6 6\\0 AÿM@ AøqA°\\bj!\\0A\\b(\\0\"A Avt\"qE@A\\b r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\fA\\f!A\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v \\x006 B\\x007 \\0AtA¸\nj!@@A\\b(\\0\"A \\0t\"qE@A\\b r6\\0 6\\0\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0 Aqj\"(\"\\r\\0\\v 6\\v 6A\\b! \"!\\0A\\f\\f\\v (\\b\"\\0 6\\f 6\\b \\x006\\bA\\0!\\0A!A\\f\\v j 6\\0 j \\x006\\0\\vA\\b(\\0\"\\0 M\\r\\0A\\b \\0 k\"6\\0A\\xA0\\bA\\xA0\\b(\\0\"\\0 j\"6\\0 Ar6 \\0 Ar6 \\0A\\bj!\\0\\f\\vA\\bA06\\0A\\0!\\0\\f\\v \\0 6\\0 \\0 \\0( j6 Ax kA\\x07qj\"\\b Ar6 Ax kA\\x07qj\" \\bj\"k!\\x07@A\\xA0\\b(\\0 F@A\\xA0\\b 6\\0A\\bA\\b(\\0 \\x07j\"\\x006\\0 \\0Ar6\\f\\vA\\b(\\0 F@A\\b 6\\0A\\bA\\b(\\0 \\x07j\"\\x006\\0 \\0Ar6 \\0 j \\x006\\0\\f\\v (\"\\0AqAF@ \\0Axq! (\\f!@ \\0AÿM@ (\\b\" F@A\\bA\\b(\\0A~ \\0Avwq6\\0\\f\\v 6\\f 6\\b\\f\\v (!@ G@ (\\b\"\\0 6\\f \\x006\\b\\f\\v@ (\"\\0 Aj (\"\\0E\\r Aj\\v!@ ! \\0\"Aj! \\0(\"\\0\\r\\0 Aj! (\"\\0\\r\\0\\v A\\x006\\0\\f\\vA\\0!\\v E\\r\\0@ (\"\\0At\"(¸\n F@ A¸\nj 6\\0 \\rA\\bA\\b(\\0A~ \\0wq6\\0\\f\\v@ (F@ 6\\f\\v 6\\v E\\r\\v 6 (\"\\0@ \\x006 \\0 6\\v (\"\\0E\\r\\0 \\x006 \\0 6\\v \\x07 j!\\x07 j\"(!\\0\\v \\0A~q6 \\x07Ar6 \\x07j \\x076\\0 \\x07AÿM@ \\x07AøqA°\\bj!\\0A\\b(\\0\"A \\x07Avt\"qE@A\\b r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\f \\x006\\f 6\\b\\f\\vA! \\x07Aÿÿÿ\\x07M@ \\x07A& \\x07A\\bvg\"\\0kvAq \\0AtrA>s!\\v 6 B\\x007 AtA¸\nj!\\0@@A\\b(\\0\"A t\"qE@A\\b r6\\0 \\0 6\\0\\f\\v \\x07A AvkA\\0 AG\\x1Bt! \\0(\\0!@ \"\\0(Axq \\x07F\\r Av! At! \\0 Aqj\"(\"\\r\\0\\v 6\\v \\x006 6\\f 6\\b\\f\\v \\0(\\b\" 6\\f \\0 6\\b A\\x006 \\x006\\f 6\\b\\v \\bA\\bj!\\0\\f\\v@ \\bE\\r\\0@ (\"At\"(¸\n F@ A¸\nj \\x006\\0 \\0\\rA\\b \\x07A~ wq\"\\x076\\0\\f\\v@ \\b(F@ \\b \\x006\\f\\v \\b \\x006\\v \\0E\\r\\v \\0 \\b6 (\"@ \\0 6 \\x006\\v (\"E\\r\\0 \\0 6 \\x006\\v@ AM@ j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v Ar6 j\" Ar6 j 6\\0 AÿM@ AøqA°\\bj!\\0A\\b(\\0\"A Avt\"qE@A\\b r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\f \\x006\\f 6\\b\\f\\vA!\\0 Aÿÿÿ\\x07M@ A& A\\bvg\"\\0kvAq \\0AtrA>s!\\0\\v \\x006 B\\x007 \\0AtA¸\nj!@@ \\x07A \\0t\"qE@A\\b \\x07r6\\0 6\\0 6\\f\\v A \\0AvkA\\0 \\0AG\\x1Bt!\\0 (\\0!@ \"(Axq F\\r \\0Av! \\0At!\\0 Aqj\"\\x07(\"\\r\\0\\v \\x07 6 6\\v 6\\f 6\\b\\f\\v (\\b\"\\0 6\\f 6\\b A\\x006 6\\f \\x006\\b\\v A\\bj!\\0\\f\\v@ E\\r\\0@ (\"At\"(¸\n F@ A¸\nj \\x006\\0 \\0\\rA\\b \\vA~ wq6\\0\\f\\v@ (F@ \\x006\\f\\v \\x006\\v \\0E\\r\\v \\0 6 (\"@ \\0 6 \\x006\\v (\"E\\r\\0 \\0 6 \\x006\\v@ AM@ j\"\\0Ar6 \\0 j\"\\0 \\0(Ar6\\f\\v Ar6 j\" Ar6 j 6\\0 \\b@ \\bAxqA°\\bj!\\0A\\b(\\0!A \\bAvt\"\\x07 qE@A\\b \\x07r6\\0 \\0\\f\\v \\0(\\b\\v! \\0 6\\b 6\\f \\x006\\f 6\\b\\vA\\b 6\\0A\\b 6\\0\\v A\\bj!\\0\\v \nAj$\\0 \\0\\vÆ\n}Aÿÿÿÿ\\x07!\\fAx!\\rA! @ \nF@A\\0!\\0 \\bA\\0Aü\\v\\0C\\0ÿG \\r \\fk²! \nA\\flj\"\\v*\\0! \\v*\\b! \\v*! \nAt\"j(\\0\"\\vG@ \\vAÐ\\0lj\" *< \\0*8\" *8 \\0*(\" *0 \\0*\\b\" \\0*\" *4! *, *( * *$! * * * *! *\\f *\\b *\\0 * ! \\v! \\v j C\\0\\0Eü\\0\"\\v6\\0 \\f \\v \\v \\fJ\\x1B!\\f \\r \\v \\v \\rH\\x1B!\\r \nAj!\n\\f\\v\\v@ \\0 FE@ \\0Atj\" (\\0 \\fk³ü\"6\\0 \\b Atj\" (\\0Aj6\\0 \\0Aj!\\0\\f\\v\\vA\\0!\\0 \\x07A\\x006üÿAþÿ!\n@ \nA\\0H@@@ \\0 F\\r\\0 \\x07 \\0Atj(\\0Atj\" (\\0\"Aj6\\0 Atj \\x006\\0 \\0Aj!\\0\\f\\v\\v \\x07 \nAt\"j \\b Aj\"j(\\0 \\x07j(\\0j6\\0 \nAk!\n\\f\\v\\v\\v\\0\\v\\v \\0A\\b\\v`)}function _(e){return e}function v(e,t){var n,r=_(e);return n=new WebAssembly.Module(r),[new WebAssembly.Instance(n,t),n]}function y(){return{a:P}}function b(){function e(e,t){return I=e.exports,N(I),d(),I}var t=y();return n.instantiateWasm?new Promise((r,i)=>{n.instantiateWasm(t,(t,n)=>{r(e(t,n))})}):(h??=g(),e(v(h,t)[0]))}for(var x=e=>{for(;e.length>0;)e.shift()(n)},S=[],C=e=>S.push(e),w=[],T=e=>w.push(e),E=()=>2147483648,D=(e,t)=>Math.ceil(e/t)*t,O=e=>{var t=(e-M.buffer.byteLength+65535)/65536|0;try{return M.grow(t),d(),1}catch{}},k=e=>{var t=l.length;e>>>=0;var n=E();if(e>n)return!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);if(i=Math.min(i,e+100663296),O(Math.min(n,D(Math.max(e,i),65536))))return!0}return!1},A=new Uint8Array(123),j=25;j>=0;--j)A[48+j]=52+j,A[65+j]=j,A[97+j]=26+j;if(A[43]=62,A[47]=63,n.noExitRuntime&&n.noExitRuntime,n.print&&n.print,n.printErr&&n.printErr,n.wasmBinary&&n.wasmBinary,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram,n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.shift()();var M;function N(e){n._sort=e.d,n._malloc=e.e,n._free=e.f,M=e.b,e.__indirect_function_table}var P={a:k};function F(){f();function e(){n.calledRun=!0,!o&&(p(),c?.(n),n.onRuntimeInitialized?.(),m())}n.setStatus?(n.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>n.setStatus(``),1),e()},1)):e()}var I=b();return F(),t=u?n:new Promise((e,t)=>{c=e}),t}let n;function r(){return e(this,void 0,void 0,function*(){n=yield t()})}let i,a,o,s,c,l,u,d,f,p=0,m=0,h=[],g=!0,_=!1,v=!1,y=!1,b=()=>e(void 0,void 0,void 0,function*(){if(_){v=!0;return}_=!0,v=!1,n||(yield r());let e=2**Math.ceil(Math.log2(i.vertexCount));p<e&&(p>0&&(n._free(a),n._free(s),n._free(c),n._free(l),n._free(u),n._free(d),n._free(f)),p=e,a=n._malloc(64),s=n._malloc(p*4),c=n._malloc(3*p*4),l=n._malloc(p*4),u=n._malloc(p*4),d=n._malloc(p*4),f=n._malloc(p*4)),m<i.transforms.length&&(m>0&&n._free(o),m=i.transforms.length,o=n._malloc(m*4)),_=!1,v&&(v=!1,yield b())}),x=()=>{if(_||v||!n)return;_=!0,n.HEAPF32.set(i.positions,c/4),n.HEAPF32.set(i.transforms,o/4),n.HEAPU32.set(i.transformIndices,s/4),n.HEAPF32.set(new Float32Array(h),a/4),n._sort(a,o,s,i.vertexCount,c,l,u,d,f);let e=new Uint32Array(n.HEAPU32.buffer,u,i.vertexCount),t=new Uint32Array(e.slice().buffer);self.postMessage({depthIndex:t,generation:i.generation},[t.buffer]),_=!1,g=!1},S=()=>{y||(y=!0,g&&x(),setTimeout(()=>{y=!1,S()}))};self.onmessage=e=>new Promise(t=>{if(e.data.warmup){r().finally(()=>t(!0));return}e.data.sortData&&(i={positions:new Float32Array(e.data.sortData.positions),transforms:new Float32Array(e.data.sortData.transforms),transformIndices:new Uint32Array(e.data.sortData.transformIndices),vertexCount:e.data.sortData.vertexCount,generation:e.data.sortData.generation??0},g=!0,b()),e.data.viewProj?(e.data.viewProj.every(e=>h.includes(e))===!1&&(h=e.data.viewProj,g=!0),S(),t(!0)):t(!0)})})();", my = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", py], { type: "text/javascript;charset=utf-8" });
|
|
25576
|
+
function hy(e) {
|
|
25516
25577
|
let t;
|
|
25517
25578
|
try {
|
|
25518
|
-
if (t =
|
|
25579
|
+
if (t = my && (self.URL || self.webkitURL).createObjectURL(my), !t) throw "";
|
|
25519
25580
|
let n = new Worker(t, { name: e == null ? void 0 : e.name });
|
|
25520
25581
|
return n.addEventListener("error", () => {
|
|
25521
25582
|
(self.URL || self.webkitURL).revokeObjectURL(t);
|
|
25522
25583
|
}), n;
|
|
25523
25584
|
} catch (t) {
|
|
25524
|
-
return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(
|
|
25585
|
+
return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(py), { name: e == null ? void 0 : e.name });
|
|
25525
25586
|
}
|
|
25526
25587
|
}
|
|
25527
25588
|
//#endregion
|
|
25528
25589
|
//#region build/five/model/shaders/pbm_gaussian_splatting/vertex.js
|
|
25529
|
-
var
|
|
25590
|
+
var gy = function(...e) {
|
|
25530
25591
|
return e[0].split("").map((e) => e.charCodeAt(0) > 126 ? e : String.fromCharCode((e.charCodeAt(0) + 113) % 126)).join("");
|
|
25531
|
-
}("}rpvv|{-uvtu}-sy|nH}rpvv|{-uvtu}-v{H
|
|
25592
|
+
}("}rpvv|{-uvtu}-sy|nH}rpvv|{-uvtu}-v{Hnvor-sy|n-}ynV{qr\x07H{vs|z-uvtu}-nz}yr?Q-lr\x07rH{vs|z-uvtu}-nz}yr?Q-ln{s|zH{vs|z-uvtu}-nz}yr?Q-ln{s|zV{qvprH{vs|z-uvtu}-nz}yr?Q-lyn\brV{qvprH{vs|z-uvtu}-nz}yr?Q-luar\x07rH{vs|z-rp?-luar\x07r`v rH{vs|z-v{-lzn\x07`uQrtrrH0vs-[bZlT`lPYV]]R_`-K-=----{vs|z-rp?-lyn\brPyv}}r_n{trh[bZlT`lYNfR_`jH----{vs|z-znA-lpyv}}rZnvprV{rrh[bZlT`lPYV]]R_`jH0r{qvs{vs|z-rp?-r|yv|{Hn\bv{t-rpA-P|y|Hn\bv{t-rp?-]|vv|{Hn\bv{t-rp?-bH<<参考Tnvn{`}yn@qp|{-sy|n-\0E-J-\05E;=6H<<原版的固定xr{ry`v r,不要轻易调整这个数p|{-sy|n-xr{ry?Q`v r-J-=;@Hp|{-sy|n-zn\x07`prr{`}npr`}yn`v r-J-?=AE;=H<<固定的u相关系数p|{-sy|n-`UlP>-J-=;AEEC=?B>>F=?F>FFHp|{-sy|n-`UlP?l=-J->;=F?BAEAHp|{-sy|n-`UlP?l>-J-:>;=F?BAEAHp|{-sy|n-`UlP?l?-J-=;@>B@F>CHp|{-sy|n-`UlP?l@-J-:>;=F?BAEAHp|{-sy|n-`UlP?lA-J-=;BAC?DA?Hrp?-tr`UQnnbc5v{-}ynVq\x079-v{-p|z}|{r{\\ssr9-rp?-r\x07r`v r6-\n----v{-uP|z}|{r{P|{-J-=H----vs-5lzn\x07`uQrtrr-KJ->6-uP|z}|{r{P|{-8J-FH----vs-5lzn\x07`uQrtrr-KJ-?6-uP|z}|{r{P|{-8J->BH----vs-5lzn\x07`uQrtrr-KJ-@6-uP|z}|{r{P|{-8J-?>H--------v{-}nqqrqP|z}|{r{P|{-J-uP|z}|{r{P|{H----vs-5}nqqrqP|z}|{r{P|{-2-A-.J-=6-\n--------}nqqrqP|z}|{r{P|{-J-55}nqqrqP|z}|{r{P|{-<-A6-8->6-7-AH----\f--------sy|n-yv{rnP|z}|{r{V{qr\x07-J-sy|n5}ynVq\x07-7-}nqqrqP|z}|{r{P|{-8-p|z}|{r{\\ssr6H----sy|n-r\x07ryV{qr\x07-J-yv{rnP|z}|{r{V{qr\x07-<-A;=H------sy|n-q-J-r\x07ryV{qr\x07-<-r\x07r`v r;\x07H----sy|n-\b-J-sy||5q6-<-r\x07r`v r;\bH----sy|n-\x07-J-snp5q6H----r{-rp?5\x079-\b6H\f|vq-znv{-56-\n----v{-}ynV{qr\x07b-J-v{5}ynV{qr\x07-8-=;B6H----v{-}ynV{qr\x07V-J-v{5}ynV{qr\x07b6H----rpA-pr{-J-r\x07rySrpu5lr\x07r9-vrp?55}ynV{qr\x07b-3-=\x07@ss6-II->9-}ynV{qr\x07b-KK->=69-=6H--------v{-n{s|zV{qr\x07-J-r\x07rySrpu5ln{s|zV{qvpr9-vrp?5}ynV{qr\x07b-3-=\x07@ss9-}ynV{qr\x07b-KK->=69-=6;\x07H----znA-n{s|z-J-znA5--------r\x07rySrpu5ln{s|z9-vrp?5=9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5>9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5?9-n{s|zV{qr\x0769-=69--------r\x07rySrpu5ln{s|z9-vrp?5@9-n{s|zV{qr\x0769-=6----6H----znA-n{s|zZ|qrycvrZnv\x07-J-vrZnv\x07-7-n{s|zH----rp@-}ynPr{r-J-v{Ova|Sy|n5pr{;\x07\b 6H----rpA-|yqPr{r-J-n{s|z-7-rpA5}ynPr{r9->;=6H----0vs-[bZlT`lPYV]]R_`-K-=----v{-yn\brV{qr\x07-J-v{5r\x07rySrpu5lyn\brV{qvpr9-vrp?5}ynV{qr\x07b-3-=\x07@ss9-}ynV{qr\x07b-KK->=69-=6;\x076H----vs-5yn\brV{qr\x07-KJ-=-33-yn\brV{qr\x07-I-[bZlT`lYNfR_`6-\n--------rp?-pyv}_n{tr-J-lyn\brPyv}}r_n{trhyn\brV{qr\x07jH--------v{-pyv}`n-J-v{5pyv}_n{tr;\x07-8-=;B6H--------v{-pyv}P|{-J-v{5pyv}_n{tr;\b-8-=;B6H--------v{-pyv}R{q-J-pyv}`n-8-pyv}P|{H--------s|-5v{-v-J-=H-v-I-[bZlT`lPYV]]R_`H-v886-\n----------------vs-5v-I-pyv}`n-\v\v-v-KJ-pyv}R{q6-\n--------------------p|{v{rH----------------\f----------------rpA-pyv}}r]|vv|{-J-lpyv}}rZnvprV{rrhvj-7-|yqPr{rH----------------o||y-pyv}}rq-J-pyv}}r]|vv|{;\x07-K-:=;B-33-pyv}}r]|vv|{;\x07-I-=;BH----------------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{;\b-K-:=;B-33-pyv}}r]|vv|{;\b-I-=;BH----------------pyv}}rq-J-pyv}}rq-33-pyv}}r]|vv|{; -K-:=;B-33-pyv}}r]|vv|{; -I-=;BH----------------vs-5pyv}}rq6-\n--------------------tyl]|vv|{-J-rpA5=;=9-=;=9-?;=9->;=6H--------------------r{H----------------\f--------\f----\f----0r{qvs----rpA-vrPr{r-J-n{s|zZ|qrycvrZnv\x07-7-rpA5}ynPr{r9->;=6H----rpA-pyv}Pr{r-J-}|wrpv|{Znv\x07-7-vrPr{rH----<<剔除超出视锥体的}yn----sy|n-pyv}-J->;?-7-pyv}Pr{r;H----vs-5pyv}Pr{r; -I-:pyv}Pr{r;-\v\v-pyv}Pr{r; -K-pyv}Pr{r;-\v\v---------pyv}Pr{r;\x07-I-:pyv}-\v\v-pyv}Pr{r;\x07-K-pyv}-\v\v---------pyv}Pr{r;\b-I-:pyv}-\v\v-pyv}Pr{r;\b-K-pyv}6-\n--------tyl]|vv|{-J-rpA5=;=9-=;=9-?;=9->;=6H--------r{H----\f----rp@-{qpPr{r-J-pyv}Pr{r;\x07\b -<-pyv}Pr{r;H----rp?-s|pny-J-rp?5--------}|wrpv|{Znv\x07h=jh=j-7-r|yv|{;\x07-7-=;B9--------}|wrpv|{Znv\x07h>jh>j-7-r|yv|{;\b-7-=;B----6H--------]|vv|{-J-}|vv|{;\x07\bH----<<-读取协方差数据(使用-unys?\x07>C-打包)----rpA-p|-J-r\x07rySrpu5lr\x07r9-vrp?555}ynV{qr\x07b-3-=\x07@ss6-II->6-\v->9-}ynV{qr\x07b-KK->=69-=6H----rp?->-J-{}npxUnys?\x07>C5p|;\x076H-----rp?-?-J-{}npxUnys?\x07>C5p|;\b6H------rp?-@-J-{}npxUnys?\x07>C5p|; 6H----------sy|n-Z>>-J->;\x07-<-A;=H----sy|n-Z>?-J->;\b-<-A;=H----sy|n-Z>@-J-?;\x07-<-A;=H----sy|n-Z??-J-?;\b-<-A;=H----sy|n-Z?@-J-@;\x07-<-A;=H----sy|n-Z@@-J-@;\b-<-A;=H--------zn@-cx-J-zn@5--------Z>>9-Z>?9-Z>@9--------Z>?9-Z??9-Z?@9----------Z>@9-Z?@9-Z@@-------6H----<<-判断是否是正交模式:透视时-}|wrpv|{Znv\x07h@jh@j-J-=,正交时-J->----o||y-v\\u|tn}uvp-J-}|wrpv|{Znv\x07h@jh@j-K-=;DH----sy|n-n{vznv|{]|tr-J--}|wrpv|{Znv\x07h@jh@jH----zn@-WH----vs-5v\\u|tn}uvp6-\n--------<<-正交模式的雅可比矩阵--------W-J-n{}|r5zn@5------------s|pny;\x079-=;=9-=;=9------------=;=9-s|pny;\b9-=;=9------------=;=9-=;=9-=;=--------66H----\f-ryr-\n--------<<-透视模式的雅可比矩阵--------sy|n--J->;=-<-5vrPr{r; -7-vrPr{r; 6H--------W-J-zn@5------------s|pny;\x07-<-vrPr{r; 9-=;=9-:5s|pny;\x07-7-vrPr{r;\x076-7-9------------=;=9-s|pny;\b-<-vrPr{r; 9-:5s|pny;\b-7-vrPr{r;\b6-7-9------------=;=9-=;=9-=;=--------6H----\f----zn@-d-J-n{}|r5zn@5n{s|zZ|qrycvrZnv\x0766H----zn@-a-J-d-7-WH----<<-将-@Q-协方差矩阵变换为-?Q-协方差矩阵----zn@-p|?Qz-J-n{}|r5a6-7-cx-7-aH----p|?Qzh=jh=j-8J-xr{ry?Q`v rH----p|?Qzh>jh>j-8J-xr{ry?Q`v rH----rp@-p|?Q-J-rp@5p|?Qzh=jh=j9-p|?Qzh=jh>j9-p|?Qzh>jh>j6H----sy|n-n-J-p|?Q;\x07H----sy|n-q-J-p|?Q; H----sy|n-o-J-p|?Q;\bH----sy|n-Q-J-n-7-q-:-o-7-oH----sy|n-npr-J-n-8-qH----sy|n-npr\\r?-J-=;B-7-nprH----sy|n-rz?-J-\05zn\x075=;>9-npr\\r?-7-npr\\r?-:-Q66H----sy|n-rvtr{cnyr>-J-npr\\r?-8-rz?H----sy|n-rvtr{cnyr?-J-npr\\r?-:-rz?H----vs-5rvtr{cnyr?-IJ-=;=6-\n--------r{H----\f----rp?-rvtr{crp|>-J-{|znyv r5rp?5o9-rvtr{cnyr>-:-n66H----rp?-rvtr{crp|?-J-rp?5rvtr{crp|>;\b9-:rvtr{crp|>;\x076H----rp?-onvcrp|>-J-rvtr{crp|>--7-zv{5\0E-7-\05rvtr{cnyr>69-zn\x07`prr{`}npr`}yn`v r6H----rp?-onvcrp|?-J-rvtr{crp|?--7-zv{5\0E-7-\05rvtr{cnyr?69-zn\x07`prr{`}npr`}yn`v r6H----rp?-onvcvr}|-J-rp?5>;=-<-r|yv|{;\x079->;=-<-r|yv|{;\b6H----rp?-{qp\\ssr-J-rp?5]|vv|{;\x07-7-onvcrp|>-8-]|vv|{;\b-7-onvcrp|?6-7---------------------onvcvr}|-7-?;=H----rpA-\0nq]|-J-rpA5{qpPr{r;\x07\b-8-{qp\\ssr9-{qpPr{r; 9->;=6H----tyl]|vv|{-J-\0nq]|H----<<-读取颜色----rpA-p|y|-J-rpA5--------5p|;6-3-=\x07ss9--------5p|;-KK-E6-3-=\x07ss9--------5p|;-KK->C6-3-=\x07ss9--------5p|;-KK-?A6-3-=\x07ss----6-<-?BB;=H----<<应用球谐光照,目前只兼容=>?----vs-5lzn\x07`uQrtrr-KJ->6-\n--------rp@-pnzrn]|V{\\owrp-J-rp@5v{rr5n{s|z6-7-rpA5pnzrn]|vv|{9->;=66H--------rp@-|owrpcvrQv-J-{|znyv r5}ynPr{r-:-pnzrn]|V{\\owrp6H----------------rpA-u=>?@-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-=9-luar\x07r`v r66H----------rpA-uABCD-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-A9-luar\x07r`v r66H----------rpA-uEF>=>>-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-E9-luar\x07r`v r66H-----------------rp@-u>-J-u=>?@;toH-----------------------------------rp@-u?-J-rp@5u=>?@;n9-uABCD;t6H---------------------rp@-u@-J-rp@5uABCD;on9-uEF>=>>;6H-----------------------------sy|n-\x07-J-|owrpcvrQv;\x07H--------sy|n-\b-J-|owrpcvrQv;\bH--------sy|n- -J-|owrpcvrQv; H--------rp@-uP|y|-J-u>-7-5:=;AEEC=?B-7-\b6-8-u?-7-5=;AEEC=?B-7- 6-8-u@-7-5:=;AEEC=?B-7-\x076H--------p|y|;to-8J-uP|y|H----------------vs-5lzn\x07`uQrtrr-KJ-?6-\n----------------------rpA-u>?>@>A>B-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9->?9-luar\x07r`v r66H------------rpA-u>C>D>E>F-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9->C9-luar\x07r`v r66H-------------rpA-u?=?>???@-J-r\x07r5luar\x07r9-tr`UQnnbc5}ynV{qr\x07V9-?=9-luar\x07r`v r66H-------------------------rp@-uA-J-uEF>=>>;tonH------------------------------------rp@-uB-J-u>?>@>A>B;toH----------------------------------rp@-uC-J-rp@5u>?>@>A>B;n9-u>C>D>E>F;t6H---------------rp@-uD-J-rp@5u>C>D>E>F;on9-u?=?>???@;6H---------------rp@-uElqrt?-J-u?=?>???@;tonH-----------------------------------------sy|n-\x07\x07-J-\x07-7-\x07H------------sy|n-\b\b-J-\b-7-\bH------------sy|n- -J- -7- H------------sy|n-\x07\b-J-\x07-7-\bH------------sy|n-\b -J-\b-7- H------------sy|n-\x07 -J-\x07-7- H------------------------p|y|;to-8J----------------5`UlP?l=-7-\x07\b6-7-uA-8----------------5`UlP?l>-7-\b 6-7-uB-8----------------5`UlP?l?-7-5?;=-7- -:-\x07\x07-:-\b\b66-7-uC-8----------------5`UlP?l@-7-\x07 6-7-uD-8----------------5`UlP?lA-7-5\x07\x07-:-\b\b66-7-uElqrt?H--------\f----\f--------p|y|;to-J-pynz}5p|y|;to9-rp@5=;=69-rp@5>;=66H----P|y|-J-p|y|H----]|vv|{-7J-\0EH----b-J-}|vv|{;\x07\bH\f"), _y = function(...e) {
|
|
25532
25593
|
return e[0].split("").map((e) => e.charCodeAt(0) > 126 ? e : String.fromCharCode((e.charCodeAt(0) + 113) % 126)).join("");
|
|
25533
|
-
}("}rpvv|{-uvtu}-sy|nH0v{pyqr-Ip|zz|{Kn\bv{t-rpA-P|y|Hn\bv{t-rp?-]|vv|{Hn\bv{t-rp?-bH|vq-znv{-56-\n----<<-计算从-}yn-中心到当前片段的平方距离----<<-由于-]|vv|{-已经按-\05E6-缩放,平方结果会被缩放-E-倍----<<-如果平方结果大于-E,说明在椭圆外,距离均值超过-\05E6-个标准差----sy|n-N-J-q|5]|vv|{9-]|vv|{6H----vs-5N-K-E;=6-qvpnqH--------rp@-p|y|-J-P|y|;toH--------<<-由于渲染的-}yn-按-\05E6-缩放,高斯公式中的逆协方差矩阵部分变成单位矩阵----<<-因此只剩下-5e-:-zrn{6-7-5e-:-zrn{6,而-zrn{-为零,所以是-e-7-e,即-N----sy|n-|}npv\b-J-r\x07}5:=;B-7-N6-7-P|y|;nH--------tylSntP|y|-J-rpA5p|y|;to9-|}npv\b6H\f"),
|
|
25594
|
+
}("}rpvv|{-uvtu}-sy|nH0v{pyqr-Ip|zz|{Kn\bv{t-rpA-P|y|Hn\bv{t-rp?-]|vv|{Hn\bv{t-rp?-bH|vq-znv{-56-\n----<<-计算从-}yn-中心到当前片段的平方距离----<<-由于-]|vv|{-已经按-\05E6-缩放,平方结果会被缩放-E-倍----<<-如果平方结果大于-E,说明在椭圆外,距离均值超过-\05E6-个标准差----sy|n-N-J-q|5]|vv|{9-]|vv|{6H----vs-5N-K-E;=6-qvpnqH--------rp@-p|y|-J-P|y|;toH--------<<-由于渲染的-}yn-按-\05E6-缩放,高斯公式中的逆协方差矩阵部分变成单位矩阵----<<-因此只剩下-5e-:-zrn{6-7-5e-:-zrn{6,而-zrn{-为零,所以是-e-7-e,即-N----sy|n-|}npv\b-J-r\x07}5:=;B-7-N6-7-P|y|;nH--------tylSntP|y|-J-rpA5p|y|;to9-|}npv\b6H\f"), vy = class extends e.Mesh {
|
|
25534
25595
|
constructor() {
|
|
25535
|
-
super(), this.renderData = null, this.needsRender = !1, this.sortWorker = null, this.depthIndex = new Uint32Array(), this.splatIndexCapacity = 0, this.dataTexture = null, this.transformsTexture = null, this.transformIndicesTexture = null, this.shTexture = null, this.usedSHDegree = 0, this.onBeforeRender = (t, n, r) => {
|
|
25536
|
-
|
|
25537
|
-
|
|
25538
|
-
if (s.length === 0) {
|
|
25596
|
+
super(), this.renderData = null, this.needsRender = !1, this.sortWorker = null, this.depthIndex = new Uint32Array(), this.splatIndexCapacity = 0, this.activeSlot = null, this.pendingSlot = null, this.rebuildGeneration = 0, this.forceClipperUniformRefresh = !1, this.incrementalUpdateInFlight = !1, this.dataTexture = null, this.transformsTexture = null, this.transformIndicesTexture = null, this.layerIndicesTexture = null, this.shTexture = null, this.usedSHDegree = 0, this.onBeforeRender = (t, n, r) => {
|
|
25597
|
+
let i = r, a = this.collectObjects(n);
|
|
25598
|
+
if (a.length === 0) {
|
|
25539
25599
|
this.geometry.instanceCount = 0;
|
|
25540
25600
|
return;
|
|
25541
25601
|
}
|
|
25542
|
-
let
|
|
25543
|
-
|
|
25544
|
-
e.usedSHDegree >
|
|
25545
|
-
}), this.setMaxShDegree(
|
|
25546
|
-
|
|
25547
|
-
|
|
25548
|
-
|
|
25549
|
-
|
|
25550
|
-
|
|
25551
|
-
|
|
25552
|
-
|
|
25553
|
-
|
|
25554
|
-
|
|
25555
|
-
|
|
25556
|
-
|
|
25557
|
-
|
|
25558
|
-
n.buffer
|
|
25559
|
-
]);
|
|
25560
|
-
}
|
|
25561
|
-
this.renderData.dataChanged && this.dataTexture && (this.dataTexture.needsUpdate = !0, this.renderData.dataChanged = !1), this.renderData.transformsChanged && this.transformsTexture && this.transformIndicesTexture && (this.transformsTexture.needsUpdate = !0, this.transformIndicesTexture.needsUpdate = !0, this.renderData.transformsChanged = !1);
|
|
25562
|
-
let l = Math.min(this.usedSHDegree, this.renderData.maxShDegree);
|
|
25563
|
-
this.material.uniforms.u_maxShDegree.value = l, l > 0 && !this.shTexture ? this.createSHTexture() : l === 0 && this.shTexture && (this.shTexture.dispose(), this.shTexture = null, this.material.uniforms.u_shTexture.value = null);
|
|
25564
|
-
let u = new e.Matrix4().multiplyMatrices(o.perspectiveProjectionMatrix, o.matrixWorldInverse);
|
|
25565
|
-
(a = this.sortWorker) == null || a.postMessage({ viewProj: u.elements }), this.material.uniforms.resolution.value.set(o.resolution.x, o.resolution.y);
|
|
25602
|
+
let o = 0;
|
|
25603
|
+
a.forEach((e) => {
|
|
25604
|
+
e.usedSHDegree > o && (o = e.usedSHDegree);
|
|
25605
|
+
}), this.setMaxShDegree(o), this.isSceneNeedsRebuild(a) && (this.tryStartIncrementalUpdate(a) || (this.startPendingRebuild(a), this.gsSceneState.lastClipperHash = ""));
|
|
25606
|
+
let s = a.filter((e) => e.transformChanged);
|
|
25607
|
+
s.length > 0 && (this.syncTransformsForSlot(this.activeSlot, s), this.syncTransformsForSlot(this.pendingSlot, s), s.forEach((e) => {
|
|
25608
|
+
e.transformChanged = !1, e.selectedChanged = !1;
|
|
25609
|
+
})), this.activeSlot && this.updateSlotTextures(this.activeSlot), this.pendingSlot && this.updateSlotTextures(this.pendingSlot);
|
|
25610
|
+
let c = new e.Matrix4().multiplyMatrices(i.perspectiveProjectionMatrix, i.matrixWorldInverse).elements;
|
|
25611
|
+
this.pendingSlot && this.pendingSlot.renderData.initialBuildComplete && this.pendingSlot.awaitingFirstSort ? this.requestSort(this.pendingSlot, c) : this.activeSlot && this.requestSort(this.activeSlot, c);
|
|
25612
|
+
let l = this.getClipperHash(a);
|
|
25613
|
+
if ((this.forceClipperUniformRefresh || l !== this.gsSceneState.lastClipperHash) && (this.updateClipperUniforms(a), this.gsSceneState.lastClipperHash = l, this.forceClipperUniformRefresh = !1, this.needsRender = !0), this.activeSlot) {
|
|
25614
|
+
let e = Math.min(this.usedSHDegree, this.activeSlot.renderData.maxShDegree);
|
|
25615
|
+
this.material.uniforms.u_maxShDegree.value = e, e > 0 && !this.activeSlot.textures.shTexture ? this.createSHTexture(this.activeSlot) : e === 0 && this.activeSlot.textures.shTexture && (this.activeSlot.textures.shTexture.dispose(), this.activeSlot.textures.shTexture = null), this.material.uniforms.u_shTexture.value = this.activeSlot.textures.shTexture, this.renderData = this.activeSlot.renderData;
|
|
25616
|
+
} else this.pendingSlot || (this.bindSlotTextures(null), this.material.uniforms.u_maxShDegree.value = 0, this.geometry.instanceCount = 0);
|
|
25617
|
+
this.material.uniforms.resolution.value.set(i.resolution.x, i.resolution.y);
|
|
25566
25618
|
};
|
|
25567
25619
|
let t = this.createGeometry(), n = this.createMaterial();
|
|
25568
|
-
this.geometry = t, this.material = n, this.frustumCulled = !1, this.renderOrder = -99999999999, this.gsSceneState = {
|
|
25620
|
+
this.geometry = t, this.material = n, this.frustumCulled = !1, this.renderOrder = -99999999999, this.gsSceneState = {
|
|
25621
|
+
lastObjectsHash: "",
|
|
25622
|
+
lastClipperHash: ""
|
|
25623
|
+
}, this.sortWorker = new hy(), this.sortWorker.postMessage({ warmup: !0 }), fy.warmupWasm(), this.sortWorker.onmessage = (e) => {
|
|
25569
25624
|
if (e.data.depthIndex) {
|
|
25570
|
-
|
|
25571
|
-
|
|
25572
|
-
|
|
25625
|
+
let t = e.data.generation;
|
|
25626
|
+
if (this.pendingSlot && t === this.pendingSlot.generation) {
|
|
25627
|
+
this.pendingSlot.awaitingFirstSort = !1, this.swapPendingToActive(e.data.depthIndex);
|
|
25628
|
+
return;
|
|
25629
|
+
}
|
|
25630
|
+
this.activeSlot && t === this.activeSlot.generation && (this.activeSlot.awaitingFirstSort = !1, this.applyDepthIndex(e.data.depthIndex));
|
|
25573
25631
|
}
|
|
25574
25632
|
};
|
|
25575
25633
|
}
|
|
25576
25634
|
ensureSplatIndexCapacity(t) {
|
|
25577
25635
|
let n = this.geometry.getAttribute("splatIndex");
|
|
25578
25636
|
if (t <= this.splatIndexCapacity) return n;
|
|
25579
|
-
let r = this.getExpandedCapacity(t), i = n.array, a = new
|
|
25637
|
+
let r = this.getExpandedCapacity(t), i = n.array, a = new Float32Array(r);
|
|
25580
25638
|
a.set(i.subarray(0, Math.min(i.length, r)));
|
|
25581
25639
|
let o = new e.InstancedBufferAttribute(a, 1, !1, 1);
|
|
25582
25640
|
return o.setUsage(e.DynamicDrawUsage), this.geometry.setAttribute("splatIndex", o), this.splatIndexCapacity = r, this.geometry._maxInstanceCount = r, o;
|
|
@@ -25611,19 +25669,28 @@ var my = function(...e) {
|
|
|
25611
25669
|
3
|
|
25612
25670
|
]);
|
|
25613
25671
|
t.setIndex(new e.BufferAttribute(r, 1)), this.splatIndexCapacity = 1;
|
|
25614
|
-
let i = new
|
|
25672
|
+
let i = new Float32Array(this.splatIndexCapacity);
|
|
25615
25673
|
for (let e = 0; e < i.length; e++) i[e] = e;
|
|
25616
25674
|
let a = new e.InstancedBufferAttribute(i, 1, !1, 1);
|
|
25617
25675
|
return a.setUsage(e.DynamicDrawUsage), t.setAttribute("splatIndex", a), t._maxInstanceCount = this.splatIndexCapacity, t.instanceCount = 0, t;
|
|
25618
25676
|
}
|
|
25619
25677
|
createMaterial() {
|
|
25620
25678
|
return new e.ShaderMaterial({
|
|
25621
|
-
vertexShader:
|
|
25622
|
-
fragmentShader:
|
|
25679
|
+
vertexShader: gy,
|
|
25680
|
+
fragmentShader: _y,
|
|
25681
|
+
defines: {
|
|
25682
|
+
NUM_GS_LAYERS: 0,
|
|
25683
|
+
NUM_GS_CLIPPERS: 0
|
|
25684
|
+
},
|
|
25623
25685
|
uniforms: {
|
|
25624
25686
|
u_texture: { value: null },
|
|
25625
25687
|
u_transforms: { value: null },
|
|
25626
25688
|
u_transformIndices: { value: null },
|
|
25689
|
+
u_layerIndices: { value: null },
|
|
25690
|
+
u_numGsLayers: { value: 0 },
|
|
25691
|
+
u_numGsClippers: { value: 0 },
|
|
25692
|
+
u_layerClipperRanges: { value: [] },
|
|
25693
|
+
u_clipperMatricesInverse: { value: [] },
|
|
25627
25694
|
u_shTexture: { value: null },
|
|
25628
25695
|
u_shTextureSize: { value: new e.Vector2() },
|
|
25629
25696
|
u_maxShDegree: { value: 0 },
|
|
@@ -25636,58 +25703,210 @@ var my = function(...e) {
|
|
|
25636
25703
|
depthWrite: !1
|
|
25637
25704
|
});
|
|
25638
25705
|
}
|
|
25639
|
-
|
|
25640
|
-
|
|
25706
|
+
createDefaultLayerClipperRanges(t) {
|
|
25707
|
+
return Array.from({ length: t }, () => new e.Vector2(-1, 0));
|
|
25708
|
+
}
|
|
25709
|
+
createDefaultClipperMatrices(t) {
|
|
25710
|
+
return Array.from({ length: t }, () => new e.Matrix4());
|
|
25711
|
+
}
|
|
25712
|
+
createTextures(t) {
|
|
25713
|
+
let n = new e.DataTexture(t.data, t.width, t.height, e.RGBAIntegerFormat, e.UnsignedIntType);
|
|
25714
|
+
n.internalFormat = "RGBA32UI", n.minFilter = e.NearestFilter, n.magFilter = e.NearestFilter, n.needsUpdate = !0;
|
|
25715
|
+
let r = new e.DataTexture(t.transforms, t.transformsWidth, t.transformsHeight, e.RGBAFormat, e.FloatType);
|
|
25716
|
+
r.internalFormat = "RGBA32F", r.minFilter = e.NearestFilter, r.magFilter = e.NearestFilter, r.needsUpdate = !0;
|
|
25717
|
+
let i = new e.DataTexture(t.transformIndices, t.transformIndicesWidth, t.transformIndicesHeight, e.RedIntegerFormat, e.UnsignedIntType);
|
|
25718
|
+
i.internalFormat = "R32UI", i.minFilter = e.NearestFilter, i.magFilter = e.NearestFilter, i.needsUpdate = !0;
|
|
25719
|
+
let a = new e.DataTexture(t.layerIndices, t.layerIndicesWidth, t.layerIndicesHeight, e.RedIntegerFormat, e.UnsignedIntType);
|
|
25720
|
+
return a.internalFormat = "R32UI", a.minFilter = e.NearestFilter, a.magFilter = e.NearestFilter, a.needsUpdate = !0, {
|
|
25721
|
+
dataTexture: n,
|
|
25722
|
+
transformsTexture: r,
|
|
25723
|
+
transformIndicesTexture: i,
|
|
25724
|
+
layerIndicesTexture: a,
|
|
25725
|
+
shTexture: null
|
|
25726
|
+
};
|
|
25641
25727
|
}
|
|
25642
|
-
createSHTexture() {
|
|
25643
|
-
|
|
25644
|
-
|
|
25645
|
-
let
|
|
25646
|
-
if (
|
|
25647
|
-
let
|
|
25648
|
-
|
|
25649
|
-
let
|
|
25650
|
-
for (let e = 0; e <
|
|
25651
|
-
let
|
|
25652
|
-
if (
|
|
25653
|
-
let
|
|
25654
|
-
s
|
|
25728
|
+
createSHTexture(t) {
|
|
25729
|
+
let { renderData: n, textures: r } = t;
|
|
25730
|
+
r.shTexture && (r.shTexture.dispose(), r.shTexture = null);
|
|
25731
|
+
let i = Math.min(this.usedSHDegree, n.maxShDegree), a = 0;
|
|
25732
|
+
if (i >= 1 && (a += 9), i >= 2 && (a += 15), i >= 3 && (a += 21), a === 0) return;
|
|
25733
|
+
let o = a;
|
|
25734
|
+
o % 4 != 0 && (o = Math.ceil(o / 4) * 4);
|
|
25735
|
+
let s = n.numPoints * o / 4, c = 2048, l = Math.ceil(s / c), u = new Float32Array(c * l * 4);
|
|
25736
|
+
for (let e = 0; e < n.numPoints; e++) {
|
|
25737
|
+
let t = o / 4 * e, r = 0;
|
|
25738
|
+
if (n.sh1 && i >= 1) for (let i = 0; i < 9; i++) {
|
|
25739
|
+
let a = t + Math.floor(r / 4), o = r % 4, s = a * 4 + o;
|
|
25740
|
+
u[s] = n.sh1[e * 9 + i], r++;
|
|
25655
25741
|
}
|
|
25656
|
-
if (
|
|
25657
|
-
let
|
|
25658
|
-
s
|
|
25742
|
+
if (n.sh2 && i >= 2) for (let i = 0; i < 15; i++) {
|
|
25743
|
+
let a = t + Math.floor(r / 4), o = r % 4, s = a * 4 + o;
|
|
25744
|
+
u[s] = n.sh2[e * 15 + i], r++;
|
|
25659
25745
|
}
|
|
25660
|
-
if (
|
|
25661
|
-
let
|
|
25662
|
-
s
|
|
25746
|
+
if (n.sh3 && i >= 3) for (let i = 0; i < 21; i++) {
|
|
25747
|
+
let a = t + Math.floor(r / 4), o = r % 4, s = a * 4 + o;
|
|
25748
|
+
u[s] = n.sh3[e * 21 + i], r++;
|
|
25663
25749
|
}
|
|
25664
25750
|
}
|
|
25665
|
-
|
|
25751
|
+
r.shTexture = new e.DataTexture(u, c, l, e.RGBAFormat, e.FloatType), r.shTexture.internalFormat = "RGBA32F", r.shTexture.minFilter = e.NearestFilter, r.shTexture.magFilter = e.NearestFilter, r.shTexture.needsUpdate = !0, this.material.uniforms.u_shTextureSize.value.set(c, l), this.material.uniforms.u_maxShDegree.value = i;
|
|
25666
25752
|
}
|
|
25667
25753
|
setMaxShDegree(e) {
|
|
25754
|
+
var t, n;
|
|
25668
25755
|
if (e < 0 || e > 2) {
|
|
25669
25756
|
console.warn(`现在只支持012三种阶数,你输入的是${e}`);
|
|
25670
25757
|
return;
|
|
25671
25758
|
}
|
|
25672
|
-
let
|
|
25673
|
-
this.usedSHDegree = e,
|
|
25759
|
+
let r = this.usedSHDegree;
|
|
25760
|
+
this.usedSHDegree = e, r !== e && ((t = this.activeSlot) != null && t.textures.shTexture && (this.activeSlot.textures.shTexture.dispose(), this.activeSlot.textures.shTexture = null), (n = this.pendingSlot) != null && n.textures.shTexture && (this.pendingSlot.textures.shTexture.dispose(), this.pendingSlot.textures.shTexture = null), this.material.uniforms.u_maxShDegree.value = e, e === 0 ? this.material.uniforms.u_shTexture.value = null : this.activeSlot && this.activeSlot.renderData.maxShDegree > 0 && (this.createSHTexture(this.activeSlot), this.material.uniforms.u_shTexture.value = this.activeSlot.textures.shTexture));
|
|
25761
|
+
}
|
|
25762
|
+
bindSlotTextures(e) {
|
|
25763
|
+
if (!e) {
|
|
25764
|
+
this.dataTexture = null, this.transformsTexture = null, this.transformIndicesTexture = null, this.layerIndicesTexture = null, this.shTexture = null, this.material.uniforms.u_texture.value = null, this.material.uniforms.u_transforms.value = null, this.material.uniforms.u_transformIndices.value = null, this.material.uniforms.u_layerIndices.value = null, this.material.uniforms.u_shTexture.value = null;
|
|
25765
|
+
return;
|
|
25766
|
+
}
|
|
25767
|
+
this.dataTexture = e.textures.dataTexture, this.transformsTexture = e.textures.transformsTexture, this.transformIndicesTexture = e.textures.transformIndicesTexture, this.layerIndicesTexture = e.textures.layerIndicesTexture, this.shTexture = e.textures.shTexture, this.material.uniforms.u_texture.value = this.dataTexture, this.material.uniforms.u_transforms.value = this.transformsTexture, this.material.uniforms.u_transformIndices.value = this.transformIndicesTexture, this.material.uniforms.u_layerIndices.value = this.layerIndicesTexture, this.material.uniforms.u_shTexture.value = this.shTexture;
|
|
25768
|
+
}
|
|
25769
|
+
disposeSlot(e) {
|
|
25770
|
+
e && (e.renderData.dispose(), this.disposeTextures(e.textures));
|
|
25771
|
+
}
|
|
25772
|
+
disposeTextures(e) {
|
|
25773
|
+
e.dataTexture.dispose(), e.transformsTexture.dispose(), e.transformIndicesTexture.dispose(), e.layerIndicesTexture.dispose(), e.shTexture && (e.shTexture.dispose(), e.shTexture = null);
|
|
25774
|
+
}
|
|
25775
|
+
applyDepthIndex(e) {
|
|
25776
|
+
this.depthIndex = e;
|
|
25777
|
+
let t = this.depthIndex.length, n = this.ensureSplatIndexCapacity(t);
|
|
25778
|
+
n.array.set(this.depthIndex, 0), n.count = this.depthIndex.length, n.updateRange.offset = 0, n.updateRange.count = t, n.needsUpdate = !0, this.geometry.instanceCount = this.depthIndex.length, this.needsRender = !0;
|
|
25779
|
+
}
|
|
25780
|
+
swapPendingToActive(e) {
|
|
25781
|
+
if (!this.pendingSlot) return;
|
|
25782
|
+
let t = this.activeSlot;
|
|
25783
|
+
this.activeSlot = this.pendingSlot, this.pendingSlot = null, this.renderData = this.activeSlot.renderData, this.ensureSplatIndexCapacity(this.activeSlot.renderData.numPoints), this.bindSlotTextures(this.activeSlot), this.activeSlot.sortDataUploaded = !0, this.forceClipperUniformRefresh = !0, this.applyDepthIndex(e), t && this.disposeSlot(t);
|
|
25784
|
+
}
|
|
25785
|
+
createSlot(e) {
|
|
25786
|
+
let t = {
|
|
25787
|
+
generation: e.generation,
|
|
25788
|
+
renderData: e,
|
|
25789
|
+
textures: this.createTextures(e),
|
|
25790
|
+
awaitingFirstSort: !0,
|
|
25791
|
+
sortDataUploaded: !1
|
|
25792
|
+
};
|
|
25793
|
+
return this.usedSHDegree > 0 && e.maxShDegree > 0 && this.createSHTexture(t), t;
|
|
25794
|
+
}
|
|
25795
|
+
updateSlotTextures(e) {
|
|
25796
|
+
e.renderData.dataChanged && (e.textures.dataTexture.needsUpdate = !0, e.renderData.dataChanged = !1), e.renderData.transformsChanged && (e.textures.transformsTexture.needsUpdate = !0, e.textures.transformIndicesTexture.needsUpdate = !0, e.renderData.transformsChanged = !1);
|
|
25797
|
+
}
|
|
25798
|
+
postSortData(e) {
|
|
25799
|
+
var t;
|
|
25800
|
+
let n = new Float32Array(e.renderData.positions.slice().buffer), r = new Float32Array(e.renderData.transforms.slice().buffer), i = new Uint32Array(e.renderData.transformIndices.slice().buffer);
|
|
25801
|
+
(t = this.sortWorker) == null || t.postMessage({ sortData: {
|
|
25802
|
+
positions: n,
|
|
25803
|
+
transforms: r,
|
|
25804
|
+
transformIndices: i,
|
|
25805
|
+
vertexCount: e.renderData.numPoints,
|
|
25806
|
+
generation: e.generation
|
|
25807
|
+
} }, [
|
|
25808
|
+
n.buffer,
|
|
25809
|
+
r.buffer,
|
|
25810
|
+
i.buffer
|
|
25811
|
+
]), e.sortDataUploaded = !0;
|
|
25812
|
+
}
|
|
25813
|
+
requestSort(e, t) {
|
|
25814
|
+
var n;
|
|
25815
|
+
e.renderData.initialBuildComplete && ((e.renderData.dataChanged || e.renderData.transformsChanged || !e.sortDataUploaded) && this.postSortData(e), (n = this.sortWorker) == null || n.postMessage({ viewProj: t }));
|
|
25816
|
+
}
|
|
25817
|
+
syncTransformsForSlot(e, t) {
|
|
25818
|
+
e && t.forEach((t) => {
|
|
25819
|
+
e.renderData.splatIndices.has(t) && e.renderData.updateTransform(t);
|
|
25820
|
+
});
|
|
25674
25821
|
}
|
|
25675
25822
|
collectObjects(e) {
|
|
25676
25823
|
let t = [];
|
|
25677
25824
|
return e.traverse((e) => {
|
|
25678
25825
|
e instanceof Gn && e.visible && t.push(e);
|
|
25826
|
+
}), t.sort((e, t) => {
|
|
25827
|
+
let n = e.uuid + e.gsViewLayerKey, r = t.uuid + t.gsViewLayerKey;
|
|
25828
|
+
return n < r ? -1 : n > r ? 1 : 0;
|
|
25679
25829
|
}), t;
|
|
25680
25830
|
}
|
|
25681
25831
|
isSceneNeedsRebuild(e) {
|
|
25682
|
-
let t = e.
|
|
25832
|
+
let t = e.map((e) => `${e.uuid}:${e.gsViewLayerKey}`).join("|"), n = t !== this.gsSceneState.lastObjectsHash;
|
|
25683
25833
|
return this.gsSceneState.lastObjectsHash = t, n;
|
|
25684
25834
|
}
|
|
25835
|
+
getClipperHash(e) {
|
|
25836
|
+
return e.map((e) => {
|
|
25837
|
+
let t = e.gsClippers.map((e) => {
|
|
25838
|
+
var t;
|
|
25839
|
+
return `${(t = e.floorIndex) == null ? -1 : t}:${e.clippingBoxMatrix.elements.join(",")}`;
|
|
25840
|
+
}).join(";");
|
|
25841
|
+
return `${e.gsViewLayerKey}:${t}`;
|
|
25842
|
+
}).join("|");
|
|
25843
|
+
}
|
|
25844
|
+
updateClipperCounts(e, t) {
|
|
25845
|
+
let n = Math.max(0, e | 0), r = Math.max(0, t | 0), i = this.material.defines;
|
|
25846
|
+
(i.NUM_GS_LAYERS !== n || i.NUM_GS_CLIPPERS !== r) && (i.NUM_GS_LAYERS = n, i.NUM_GS_CLIPPERS = r, this.material.needsUpdate = !0), this.material.uniforms.u_numGsLayers.value = e, this.material.uniforms.u_numGsClippers.value = t;
|
|
25847
|
+
}
|
|
25848
|
+
updateClipperUniforms(e) {
|
|
25849
|
+
var t, n, r, i;
|
|
25850
|
+
let a = (n = (t = this.activeSlot) == null ? void 0 : t.renderData) == null ? null : n;
|
|
25851
|
+
if (!a) {
|
|
25852
|
+
this.material.uniforms.u_layerClipperRanges.value = [], this.material.uniforms.u_clipperMatricesInverse.value = [], this.updateClipperCounts(0, 0);
|
|
25853
|
+
return;
|
|
25854
|
+
}
|
|
25855
|
+
let o = /* @__PURE__ */ new Map();
|
|
25856
|
+
for (let t of e) o.has(t.gsViewLayerKey) || o.set(t.gsViewLayerKey, t.gsClippers);
|
|
25857
|
+
let s = a.layerKeys.length, c = 0;
|
|
25858
|
+
for (let e of a.layerKeys) c += ((r = o.get(e)) == null ? [] : r).length;
|
|
25859
|
+
let l = this.createDefaultLayerClipperRanges(s), u = this.createDefaultClipperMatrices(c), d = 0;
|
|
25860
|
+
for (let e of a.layerKeys) {
|
|
25861
|
+
let t = a.layerKeyToIndex.get(e);
|
|
25862
|
+
if (t === void 0) continue;
|
|
25863
|
+
let n = (i = o.get(e)) == null ? [] : i, r = d, s = 0;
|
|
25864
|
+
for (let e of n) u[d].getInverse(e.clippingBoxMatrix), d++, s++;
|
|
25865
|
+
s > 0 && l[t].set(r, s);
|
|
25866
|
+
}
|
|
25867
|
+
this.material.uniforms.u_layerClipperRanges.value = l, this.material.uniforms.u_clipperMatricesInverse.value = u, this.updateClipperCounts(s, d);
|
|
25868
|
+
}
|
|
25869
|
+
startPendingRebuild(e) {
|
|
25870
|
+
this.pendingSlot && (this.disposeSlot(this.pendingSlot), this.pendingSlot = null), this.rebuildGeneration += 1;
|
|
25871
|
+
let t = new fy(e, this.rebuildGeneration);
|
|
25872
|
+
this.pendingSlot = this.createSlot(t);
|
|
25873
|
+
}
|
|
25874
|
+
tryStartIncrementalUpdate(e) {
|
|
25875
|
+
if (!this.activeSlot || this.pendingSlot || this.incrementalUpdateInFlight) return !1;
|
|
25876
|
+
let t = this.activeSlot.renderData.getObjectsInOrder();
|
|
25877
|
+
if (!this.activeSlot.renderData.canIncrementalAppend(e)) return !1;
|
|
25878
|
+
let n = e.slice(t.length);
|
|
25879
|
+
if (n.length === 0) return !1;
|
|
25880
|
+
this.incrementalUpdateInFlight = !0;
|
|
25881
|
+
let r = this.activeSlot;
|
|
25882
|
+
return r.renderData.appendObjects(n).then((e) => {
|
|
25883
|
+
if (!e || this.activeSlot !== r || r.renderData.disposed) return;
|
|
25884
|
+
let t = r.textures;
|
|
25885
|
+
r.textures = this.createTextures(r.renderData), this.usedSHDegree > 0 && r.renderData.maxShDegree > 0 && this.createSHTexture(r), this.bindSlotTextures(r), this.ensureSplatIndexCapacity(r.renderData.numPoints), r.sortDataUploaded = !1, r.awaitingFirstSort = !0, this.disposeTextures(t), this.forceClipperUniformRefresh = !0, this.gsSceneState.lastClipperHash = "", this.needsRender = !0;
|
|
25886
|
+
}).catch((e) => {
|
|
25887
|
+
console.warn("Incremental append failed, fallback to rebuild:", e);
|
|
25888
|
+
}).finally(() => {
|
|
25889
|
+
this.incrementalUpdateInFlight = !1;
|
|
25890
|
+
}), !0;
|
|
25891
|
+
}
|
|
25685
25892
|
dispose() {
|
|
25686
|
-
this.
|
|
25893
|
+
this.disposeSlot(this.pendingSlot), this.pendingSlot = null, this.disposeSlot(this.activeSlot), this.activeSlot = null, this.renderData = null, this.sortWorker && this.sortWorker.terminate(), this.bindSlotTextures(null), this.geometry.dispose(), this.material.dispose();
|
|
25894
|
+
}
|
|
25895
|
+
}, yy = class extends e.Mesh {
|
|
25896
|
+
constructor() {
|
|
25897
|
+
super(), this.onBeforeRender = (e, t, n) => {
|
|
25898
|
+
this.collectObjects(t).length > 0 && console.warn("未开启webgl2, 3dgs仅支持在开启webgl2模式后使用");
|
|
25899
|
+
};
|
|
25900
|
+
}
|
|
25901
|
+
collectObjects(e) {
|
|
25902
|
+
let t = [];
|
|
25903
|
+
return e.traverse((e) => {
|
|
25904
|
+
e instanceof Gn && e.visible && t.push(e);
|
|
25905
|
+
}), t;
|
|
25687
25906
|
}
|
|
25688
|
-
},
|
|
25907
|
+
}, by = 1e3, xy = 90, Sy = (e) => e.replace("//vrlab-public.ljcdn.com/", "//vr-public.realsee-cdn.cn/").replace("//vrlab-image4.ljcdn.com/", "//vr-image-4.realsee-cdn.cn/").replace("//vrlab-image3.ljcdn.com/", "//vr-image-3.realsee-cdn.cn/").replace("//vrlab-image2.ljcdn.com/", "//vr-image-2.realsee-cdn.cn/").replace("//vrlab-image1.ljcdn.com/", "//vr-image-1.realsee-cdn.cn/"), Cy = new e.Sphere(), wy = new e.Box3(), Ty = new e.Vector4(), Ey = new e.Vector4(), Dy = new e.Color(), Oy = new e.Vector2(), ky = /* @__PURE__ */ new WeakMap(), Ay = Qp([Yp(null)]), jy = {}, My = class t extends rn {
|
|
25689
25908
|
static get version() {
|
|
25690
|
-
return "6.8.0-alpha.
|
|
25909
|
+
return "6.8.0-alpha.21";
|
|
25691
25910
|
}
|
|
25692
25911
|
static get dracoPath() {
|
|
25693
25912
|
return Xa.decoderPath;
|
|
@@ -25709,7 +25928,7 @@ var my = function(...e) {
|
|
|
25709
25928
|
}
|
|
25710
25929
|
constructor(t = {}) {
|
|
25711
25930
|
var n, r, i, a, o, s, c, l, u, d, f;
|
|
25712
|
-
if (super(), this.
|
|
25931
|
+
if (super(), this.pbmGaussianSplattingRenderMesh = null, this.fiveId = Qt(), jy[this.fiveId] = this, this.currentUpdateArgs = {
|
|
25713
25932
|
time: U(),
|
|
25714
25933
|
args: []
|
|
25715
25934
|
}, this.currentMode = "Panorama", this.pano = {
|
|
@@ -25726,7 +25945,7 @@ var my = function(...e) {
|
|
|
25726
25945
|
}, this.fps = {
|
|
25727
25946
|
testCount: 0,
|
|
25728
25947
|
testTime: U()
|
|
25729
|
-
}, this.modeChangeDuration = (c = t.modeChangeDuration) == null ?
|
|
25948
|
+
}, this.modeChangeDuration = (c = t.modeChangeDuration) == null ? by : c, this.enableWheel = (l = t.enableWheel) == null ? !0 : l, typeof window < "u") if ("renderer" in t) t.renderer instanceof Gm && this.throwError(/* @__PURE__ */ Error("cannot render a internal renderer")), this.renderer = t.renderer;
|
|
25730
25949
|
else try {
|
|
25731
25950
|
this.renderer = new Gm({
|
|
25732
25951
|
preserveDrawingBuffer: t.preserveDrawingBuffer,
|
|
@@ -25750,7 +25969,7 @@ var my = function(...e) {
|
|
|
25750
25969
|
bottom: 0,
|
|
25751
25970
|
width: 1,
|
|
25752
25971
|
height: 1
|
|
25753
|
-
}, t.viewport), this.camera = new Xt(
|
|
25972
|
+
}, t.viewport), this.camera = new Xt(xy), this.scene = new Qm(), this.xrCustomObjectsScene = new e.Scene(), this.scene.add(this.xrCustomObjectsScene), this.scene.matrixAutoUpdate = !1, this.loadWorkTask = Promise.resolve(), this.requestProxy = (f = t.requestProxy) == null ? Sy : f, this.networkSubscribe = new rr(), this.networkSubscribe.on("network", (e, t, n, r) => {
|
|
25754
25973
|
var i;
|
|
25755
25974
|
this.emit("network.resource", $("network.resource", {
|
|
25756
25975
|
source: e,
|
|
@@ -25758,10 +25977,10 @@ var my = function(...e) {
|
|
|
25758
25977
|
requestState: n,
|
|
25759
25978
|
detail: r
|
|
25760
25979
|
})), (i = this.analysis) == null || i.network(this.works, e, t, n, r);
|
|
25761
|
-
}), this.readyCallbacks = [], this.syncingState = !1, this.helperGroup = new e.Group(), this.helperGroup.name = "helper", this.helperGroup.matrixAutoUpdate = !1, this.scene.add(this.helperGroup),
|
|
25980
|
+
}), this.readyCallbacks = [], this.syncingState = !1, this.helperGroup = new e.Group(), this.helperGroup.name = "helper", this.helperGroup.matrixAutoUpdate = !1, this.scene.add(this.helperGroup), ky.set(this, Ay), this.modelScene = new Uf({ fiveId: this.fiveId }), this.modelScene.addEventListener("model.create", (e) => {
|
|
25762
25981
|
this.bindModel(e.model);
|
|
25763
25982
|
}), this.scene.add(this.modelScene);
|
|
25764
|
-
let [p] = this.modelScene.setModels(
|
|
25983
|
+
let [p] = this.modelScene.setModels(Ay, { forceReplaceImmediately: !0 });
|
|
25765
25984
|
H(p, "loaded", {
|
|
25766
25985
|
get() {
|
|
25767
25986
|
return !1;
|
|
@@ -25788,7 +26007,7 @@ var my = function(...e) {
|
|
|
25788
26007
|
};
|
|
25789
26008
|
if (typeof document < "u" && document.addEventListener("fullscreenchange", h, !1), this.renderer && this.renderer.domElement.addEventListener("webglcontextrestored", g, !1), this.removeEventListeners = () => {
|
|
25790
26009
|
typeof document < "u" && document.removeEventListener("fullscreenchange", h, !1), this.renderer && this.renderer.domElement.removeEventListener("webglcontextrestored", g, !1);
|
|
25791
|
-
}, this.
|
|
26010
|
+
}, this.plugins = {}, t.plugins && t.plugins.length) {
|
|
25792
26011
|
for (let e of t.plugins) if (typeof e == "function") e(this);
|
|
25793
26012
|
else if (Array.isArray(e)) {
|
|
25794
26013
|
let [t, n, r] = e;
|
|
@@ -25798,7 +26017,7 @@ var my = function(...e) {
|
|
|
25798
26017
|
}
|
|
25799
26018
|
}
|
|
25800
26019
|
}
|
|
25801
|
-
Rv(this), this.fiveRenderer = new Wm(), this.adaptiveLuminancePass = new Cm(), this.adaptiveLuminancePass.enabled = !1, this.fiveRenderer.composer.addPass(this.adaptiveLuminancePass), this.eyeDomeLightingPass = new Em(this.camera), this.eyeDomeLightingPass.enabled = !1, this.fiveRenderer.composer.addPass(this.eyeDomeLightingPass), t.webgl2 ? (this.
|
|
26020
|
+
Rv(this), this.fiveRenderer = new Wm(), this.adaptiveLuminancePass = new Cm(), this.adaptiveLuminancePass.enabled = !1, this.fiveRenderer.composer.addPass(this.adaptiveLuminancePass), this.eyeDomeLightingPass = new Em(this.camera), this.eyeDomeLightingPass.enabled = !1, this.fiveRenderer.composer.addPass(this.eyeDomeLightingPass), t.webgl2 ? (this.pbmGaussianSplattingRenderMesh = new vy(), this.scene.add(this.pbmGaussianSplattingRenderMesh)) : this.scene.add(new yy());
|
|
25802
26021
|
}
|
|
25803
26022
|
get ident() {
|
|
25804
26023
|
return this.fiveId;
|
|
@@ -25809,17 +26028,14 @@ var my = function(...e) {
|
|
|
25809
26028
|
get panoId() {
|
|
25810
26029
|
return Q(this.pano);
|
|
25811
26030
|
}
|
|
25812
|
-
prepare() {
|
|
25813
|
-
return Promise.all([Tr().catch(q)]).then(q);
|
|
25814
|
-
}
|
|
25815
26031
|
dispose() {
|
|
25816
26032
|
var t;
|
|
25817
26033
|
if (this.destroyed === !0) return;
|
|
25818
|
-
delete
|
|
26034
|
+
delete jy[this.fiveId], this.emit("dispose"), this.destroyed = !0, this.pause(), this.stopAnimationLoop && (this.stopAnimationLoop(), this.stopAnimationLoop = void 0), this.off(), this.networkSubscribe.off(), this.controller && (this.controller.destroy(), this.controller = void 0);
|
|
25819
26035
|
let n = this.getElement();
|
|
25820
26036
|
n && n.parentNode && n.parentNode.removeChild(n);
|
|
25821
26037
|
let r = this.modelScene.parameter;
|
|
25822
|
-
r.pano0 && r.pano0.map.dispose(), r.pano1 && r.pano1.map !== ((t = r.pano0) == null ? void 0 : t.map) && r.pano1.map.dispose(), r.reset("pano0", "pano1"), this.modelScene.dispose(), this.scene.dispose(), this.xrCustomObjectsScene.dispose(),
|
|
26038
|
+
r.pano0 && r.pano0.map.dispose(), r.pano1 && r.pano1.map !== ((t = r.pano0) == null ? void 0 : t.map) && r.pano1.map.dispose(), r.reset("pano0", "pano1"), this.modelScene.dispose(), this.scene.dispose(), this.xrCustomObjectsScene.dispose(), ky.set(this, Ay), this.renderer && this.renderer.render(new e.Scene(), new e.Camera()), this.fiveRenderer.dispose(), this.renderer instanceof Gm && (this.renderer.forceContextLoss && this.renderer.forceContextLoss(), this.renderer.dispose());
|
|
25823
26039
|
}
|
|
25824
26040
|
setViewport(e) {
|
|
25825
26041
|
Object.assign(this.viewport, e), this.needsRender = !0;
|
|
@@ -25888,7 +26104,7 @@ var my = function(...e) {
|
|
|
25888
26104
|
return this.controller.updateCameraWithKeyframes(e, t, n);
|
|
25889
26105
|
}
|
|
25890
26106
|
get works() {
|
|
25891
|
-
return
|
|
26107
|
+
return ky.get(this) || Ay;
|
|
25892
26108
|
}
|
|
25893
26109
|
get work() {
|
|
25894
26110
|
return this.works[0];
|
|
@@ -25912,7 +26128,7 @@ var my = function(...e) {
|
|
|
25912
26128
|
load_(n, r, i, a = !0) {
|
|
25913
26129
|
var o, s, c, l, u, d, f, p, m, h;
|
|
25914
26130
|
let g = {};
|
|
25915
|
-
typeof i == "number" ? g.duration = i : typeof i == "object" && Object.assign(g, i), this.works ===
|
|
26131
|
+
typeof i == "number" ? g.duration = i : typeof i == "object" && Object.assign(g, i), this.works === Ay && (g.duration === void 0 && (g.duration = 0), g.effect === void 0 && (g.effect = "instant"));
|
|
25916
26132
|
let _ = {};
|
|
25917
26133
|
Object.assign(_, g.model), !_["3d-tiles"] && g["3d-tiles"] && (_["3d-tiles"] = g["3d-tiles"]), !_.textureOptions && g.textureOptions && (_.textureOptions = g.textureOptions), !_.textureOptions && this.textureOptions && (_.textureOptions = this.textureOptions);
|
|
25918
26134
|
let v = [];
|
|
@@ -25926,7 +26142,7 @@ var my = function(...e) {
|
|
|
25926
26142
|
return this.throwError(e), Promise.reject(e);
|
|
25927
26143
|
}
|
|
25928
26144
|
for (let e of y) this.bindWorkFetcher(e);
|
|
25929
|
-
r === void 0 && (r = "inherit"), r === "inherit" && this.works ===
|
|
26145
|
+
r === void 0 && (r = "inherit"), r === "inherit" && this.works === Ay && (r = "initial");
|
|
25930
26146
|
let b = this.currentMode, x = y.initial, S = x.work.observers[0], C = S ? {
|
|
25931
26147
|
workCode: S.work.workCode,
|
|
25932
26148
|
panoIndex: S.panoIndex
|
|
@@ -26026,7 +26242,7 @@ var my = function(...e) {
|
|
|
26026
26242
|
}
|
|
26027
26243
|
this.updateTime(this.currentUpdateArgs.time, 0, ...this.currentUpdateArgs.args);
|
|
26028
26244
|
};
|
|
26029
|
-
|
|
26245
|
+
ky.set(this, y);
|
|
26030
26246
|
let k = Promise.resolve();
|
|
26031
26247
|
if (w === t.Mode.Floorplan || w === t.Mode.Topview || w === t.Mode.Mapview || w === t.Mode.Model) {
|
|
26032
26248
|
this.modelScene.loaded === !1 && (this.camera.setFromPose(T), Eh(this.state, this.camera.pose));
|
|
@@ -26077,12 +26293,12 @@ var my = function(...e) {
|
|
|
26077
26293
|
pano0: null,
|
|
26078
26294
|
pano1: null,
|
|
26079
26295
|
modelAlpha: 1
|
|
26080
|
-
}),
|
|
26296
|
+
}), ky.set(this, Ay), this.modelScene.setModels(Ay, { forceReplaceImmediately: !0 }), this.renderer && this.modelScene.update(this.renderer, this.camera), this.needsRender = !0, this.currentMode = "Panorama", this.pano = {
|
|
26081
26297
|
workCode: "",
|
|
26082
26298
|
panoIndex: 0
|
|
26083
26299
|
}, this.camera.setFromPose({
|
|
26084
26300
|
distance: 0,
|
|
26085
|
-
fov:
|
|
26301
|
+
fov: xy,
|
|
26086
26302
|
longitude: 0,
|
|
26087
26303
|
latitude: 0,
|
|
26088
26304
|
offset: new e.Vector3(0, 0, 0)
|
|
@@ -26169,14 +26385,14 @@ var my = function(...e) {
|
|
|
26169
26385
|
this.helperVisible = v == null ? this.helperVisible : v, y && (this.controller instanceof Fv.Panorama || this.controller instanceof Fv.VRPanorama || this.controller instanceof Fv.XRPanorama) && y === !0 && this.modelScene.parameter.set("modelAlpha", 1), this.modelScene.update(this.renderer, this.camera);
|
|
26170
26386
|
let C = this.getPixelsRenderTarget;
|
|
26171
26387
|
C.setSize(m * g, h * g), this.renderer.setRenderTarget(C), this.camera.pixelRatio = g, this.camera.resolution.set(m, h), this.camera.setViewOffset(d.width, d.height, f, d.height - p - h, m, h), this.camera.aspect = d.width / d.height, this.camera.updateTime(c), this.scene.update(this.renderer, this.camera);
|
|
26172
|
-
let w = this.renderer.autoClear, T = this.renderer.autoClearColor, E = this.renderer.autoClearDepth, D = this.renderer.autoClearStencil, O =
|
|
26388
|
+
let w = this.renderer.autoClear, T = this.renderer.autoClearColor, E = this.renderer.autoClearDepth, D = this.renderer.autoClearStencil, O = Dy.copy(this.renderer.getClearColor()), k = this.renderer.getClearAlpha(), A = this.renderer.getScissorTest();
|
|
26173
26389
|
this.renderer.autoClear = !0, this.renderer.autoClearColor = !0, this.renderer.autoClearDepth = !0, this.renderer.autoClearStencil = !0, this.renderer.setScissorTest(!1);
|
|
26174
26390
|
let j = this.scene.background;
|
|
26175
26391
|
this.scene.background = this.camera.isOrthographicCamera ? null : j, this.renderer.render(this.scene, this.camera), this.scene.background = j, this.renderer.autoClear = w, this.renderer.autoClearColor = T, this.renderer.autoClearDepth = E, this.renderer.autoClearStencil = D, this.renderer.setClearColor(O, k), this.renderer.setScissorTest(A), this.helperVisible = x, S === void 0 ? this.modelScene.parameter.reset("modelAlpha") : this.modelScene.parameter.set("modelAlpha", S), this.renderer.setRenderTarget(u), this.camera.clearViewOffset(), this.camera.pixelRatio = l, this.camera.resolution.copy(d), this.camera.aspect = this.camera.resolution.width / this.camera.resolution.height, this.camera.updateTime(c), this.modelScene.update(this.renderer, this.camera), this.scene.update(this.renderer, this.camera);
|
|
26176
|
-
let M = m * g, N = h * g, ee = M * N,
|
|
26392
|
+
let M = m * g, N = h * g, ee = M * N, te = ee * 4;
|
|
26177
26393
|
if (b) {
|
|
26178
|
-
if (b.length !==
|
|
26179
|
-
} else b = new Uint8Array(
|
|
26394
|
+
if (b.length !== te) throw Error(`buffer length is not equals pixels ${te}`);
|
|
26395
|
+
} else b = new Uint8Array(te);
|
|
26180
26396
|
if (this.renderer.readRenderTargetPixels(C, 0, 0, m * g, h * g, b), _) {
|
|
26181
26397
|
let e = ee / 2;
|
|
26182
26398
|
for (let t = 0, n = 0, r = 0, i = 0; n < e; n++) for (i = (N - Math.floor(n / M) - 1) * M + n % M, r = 0; r < 4; r++) t = b[n * 4 + r], b[n * 4 + r] = b[i * 4 + r], b[i * 4 + r] = t;
|
|
@@ -26192,9 +26408,9 @@ var my = function(...e) {
|
|
|
26192
26408
|
if (!t) return;
|
|
26193
26409
|
let n = t.getRenderTarget();
|
|
26194
26410
|
t.setRenderTarget(null);
|
|
26195
|
-
let r = t.autoClear, i = t.autoClearColor, a = t.autoClearDepth, o = t.autoClearStencil, s =
|
|
26411
|
+
let r = t.autoClear, i = t.autoClearColor, a = t.autoClearDepth, o = t.autoClearStencil, s = Dy.copy(t.getClearColor()), c = t.getClearAlpha(), l = t.getViewport(Ty), u = t.getScissor(Ey), d = t.getScissorTest();
|
|
26196
26412
|
t.autoClear = !0, t.autoClearColor = !0, t.autoClearDepth = !0, t.autoClearStencil = !0;
|
|
26197
|
-
let f = t.getSize(
|
|
26413
|
+
let f = t.getSize(Oy), p = Math.floor(f.x * this.viewport.left), m = Math.floor(f.y * this.viewport.bottom), h = Math.floor(f.x * this.viewport.width), g = Math.floor(f.y * this.viewport.height);
|
|
26198
26414
|
t.setClearColor(this.backgroundColor, this.backgroundAlpha), t.setViewport(p, m, h, g), t.setScissor(p, m, h, g);
|
|
26199
26415
|
let _ = this.viewport.bottom !== 0 || this.viewport.left !== 0 || this.viewport.width !== 1 || this.viewport.height !== 1;
|
|
26200
26416
|
t.setScissorTest(_);
|
|
@@ -26221,17 +26437,17 @@ var my = function(...e) {
|
|
|
26221
26437
|
}, !0, 0, 10);
|
|
26222
26438
|
}
|
|
26223
26439
|
if (this.camera.autoNearFar) {
|
|
26224
|
-
|
|
26225
|
-
let t =
|
|
26226
|
-
t.containsPoint(this.camera.position) || (n = this.camera.position.distanceTo(t.center) + t.radius);
|
|
26227
|
-
let r =
|
|
26228
|
-
this.camera.near !== r && (this.camera.near = r), this.camera.far !==
|
|
26440
|
+
wy.makeEmpty(), wy.expandByObject(this.modelScene.boundingMesh);
|
|
26441
|
+
let t = wy.getBoundingSphere(Cy), n = t.radius * 2;
|
|
26442
|
+
t.containsPoint(this.camera.position) || (n = this.camera.position.distanceTo(t.center) + t.radius), n = W(n, 800);
|
|
26443
|
+
let r = n / 1e4;
|
|
26444
|
+
r = W(r, .03, .1), this.camera.near !== r && (this.camera.near = r), this.camera.far !== n && (this.camera.far = n), this.camera.updateTime(e);
|
|
26229
26445
|
}
|
|
26230
26446
|
if (this.renderer) {
|
|
26231
26447
|
let e = this.modelScene.visible;
|
|
26232
26448
|
this.modelScene.visible = !1, this.scene.update(this.renderer, this.camera), this.modelScene.visible = e;
|
|
26233
26449
|
}
|
|
26234
|
-
if (this.syncingState = !1, this.controller && this.controller.needsRender === !0 && (this.controller.needsRender = !1, this.needsRender = !0), this.camera.needsRender === !0 && (this.camera.needsRender = !1, this.needsRender = !0), this.modelScene.needsRender === !0 && (this.modelScene.needsRender = !1, this.needsRender = !0), this.scene.needsRender === !0 && (this.scene.needsRender = !1, this.needsRender = !0), this.
|
|
26450
|
+
if (this.syncingState = !1, this.controller && this.controller.needsRender === !0 && (this.controller.needsRender = !1, this.needsRender = !0), this.camera.needsRender === !0 && (this.camera.needsRender = !1, this.needsRender = !0), this.modelScene.needsRender === !0 && (this.modelScene.needsRender = !1, this.needsRender = !0), this.scene.needsRender === !0 && (this.scene.needsRender = !1, this.needsRender = !0), this.pbmGaussianSplattingRenderMesh && this.pbmGaussianSplattingRenderMesh.needsRender === !0 && (this.pbmGaussianSplattingRenderMesh.needsRender = !1, this.needsRender = !0), this.onlyRenderIfNeeds !== !0 && (this.needsRender = !0), this.paused === !0) return;
|
|
26235
26451
|
let r = $("render.prepare", { needsRender: this.needsRender });
|
|
26236
26452
|
this.emit("render.prepare", r), r.defaultPrevented && (this.needsRender = !1);
|
|
26237
26453
|
let i = this.needsRender;
|
|
@@ -26750,7 +26966,7 @@ var my = function(...e) {
|
|
|
26750
26966
|
this.modelScene.needsRender = e;
|
|
26751
26967
|
}
|
|
26752
26968
|
};
|
|
26753
|
-
|
|
26969
|
+
My.Mode = {
|
|
26754
26970
|
Panorama: "Panorama",
|
|
26755
26971
|
Model: "Model",
|
|
26756
26972
|
Floorplan: "Floorplan",
|
|
@@ -26758,17 +26974,14 @@ if (ky.Mode = {
|
|
|
26758
26974
|
Mapview: "Mapview",
|
|
26759
26975
|
VRPanorama: "VRPanorama",
|
|
26760
26976
|
XRPanorama: "XRPanorama"
|
|
26761
|
-
}, typeof window < "u"
|
|
26762
|
-
|
|
26763
|
-
|
|
26764
|
-
|
|
26765
|
-
|
|
26766
|
-
};
|
|
26767
|
-
Object.assign(window, { __FIVE_DEBUG__: t });
|
|
26768
|
-
}
|
|
26977
|
+
}, typeof window < "u" && Object.assign(window, { __FIVE_DEBUG__: {
|
|
26978
|
+
THREE: e,
|
|
26979
|
+
constructor: My,
|
|
26980
|
+
instances: jy
|
|
26981
|
+
} });
|
|
26769
26982
|
//#endregion
|
|
26770
26983
|
//#region build/five/webxr/xrButton.js
|
|
26771
|
-
var
|
|
26984
|
+
var Ny = class {
|
|
26772
26985
|
static createButton(e) {
|
|
26773
26986
|
let t = document.createElement("button");
|
|
26774
26987
|
function n() {
|
|
@@ -26799,4 +27012,4 @@ var Ay = class {
|
|
|
26799
27012
|
}
|
|
26800
27013
|
};
|
|
26801
27014
|
//#endregion
|
|
26802
|
-
export { Cm as AdaptiveLuminancePass, $r as AnimationFrameLoop, Vf as BoundingMesh, Xt as Camera, on as CustomShader, on as PBMCustomShader, $p as EffectComposer, Em as EyeDomeLightingPass, cr as Fetcher,
|
|
27015
|
+
export { Cm as AdaptiveLuminancePass, $r as AnimationFrameLoop, Vf as BoundingMesh, Xt as Camera, on as CustomShader, on as PBMCustomShader, $p as EffectComposer, Em as EyeDomeLightingPass, cr as Fetcher, My as Five, tm as FivePass, Wm as FiveRenderer, em as FullScreenQuad, pm as Histogram, Gm as InternalWebGLRenderer, Mf as Model, Uf as ModelScene, Z as Motion, rr as NetworkSubscribe, Hn as PBMContainer, Gn as PBMGSObject, yt as PBMGroup, hn as PBMMesh, mn as PBMMeshMaterial, sn as PBMPanoFilter, Tn as PBMPointCloud, wn as PBMPointCloudMaterial, gn as PBMSkinnedMesh, an as PBMUpdateable, Lv as PROXY_CONTROLLER_EVENT_NAMES, rh as PanoCircleMesh, ph as PanoCircleMeshCustom, ch as PanoCircleMeshSolid, K as Parameter, Qm as Scene, rn as Subscribe, di as TextureLoader, Dl as Tile, df as Tile3D, df as Tile3DModel, $u as TileCache, Hu as TileNode, Xu as TileRequestScheduler, ad as Tileset, Ku as Trajectory, qu as TrajectoryNode, Jp as Work, Zp as WorkResolvedObserver, Ny as XRButton, Iv as controllersDefaultInitArgs, Lt as coordinatesToVector, Sl as createDebugBoundingMesh, Qp as createWorks, Hr as defaultImageURLTransform, Xa as draco, Hv as getViewportScale, Bt as headingToLongitude, Tr as imageSupport, _l as isBoundingVolume, pp as isPanoId, io as ktx2, Xi as loadAt3d, $o as loadB3dm, ea as loadDome, sa as loadDomez, mc as loadFbx, cs as loadGltf, Oi as loadPbm, us as loadPly, os as loadPnts, Zc as loadSplat, Jo as loadSpz, Jc as loadX3p, zt as longitudeToHeading, vl as makeBoundingVolume, fp as panoEqual, dp as panoParse, Q as panoStringify, Yp as parseWork, Rt as vectorToCoordinates, Jf as workToJson };
|