@realsee/five 6.7.0-alpha.28 → 6.7.0-alpha.29

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/five/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 12/12/2025
5
- * Version: 6.7.0-alpha.28
4
+ * Generated: 12/15/2025
5
+ * Version: 6.7.0-alpha.29
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -524,10 +524,10 @@ var KJUR = {}, CryptoJS = CryptoJS || (function(n, t) {
524
524
  if (16 > P)
525
525
  p[P] = m[E + P] | 0;
526
526
  else {
527
- var O = p[P - 15], C = p[P - 2];
528
- p[P] = ((O << 25 | O >>> 7) ^ (O << 14 | O >>> 18) ^ O >>> 3) + p[P - 7] + ((C << 15 | C >>> 17) ^ (C << 13 | C >>> 19) ^ C >>> 10) + p[P - 16];
527
+ var F = p[P - 15], C = p[P - 2];
528
+ p[P] = ((F << 25 | F >>> 7) ^ (F << 14 | F >>> 18) ^ F >>> 3) + p[P - 7] + ((C << 15 | C >>> 17) ^ (C << 13 | C >>> 19) ^ C >>> 10) + p[P - 16];
529
529
  }
530
- O = w + ((S << 26 | S >>> 6) ^ (S << 21 | S >>> 11) ^ (S << 7 | S >>> 25)) + (S & R ^ ~S & M) + s[P] + p[P], C = ((v << 30 | v >>> 2) ^ (v << 19 | v >>> 13) ^ (v << 10 | v >>> 22)) + (v & A ^ v & b ^ A & b), w = M, M = R, R = S, S = T + O | 0, T = b, b = A, A = v, v = O + C | 0;
530
+ F = w + ((S << 26 | S >>> 6) ^ (S << 21 | S >>> 11) ^ (S << 7 | S >>> 25)) + (S & R ^ ~S & M) + s[P] + p[P], C = ((v << 30 | v >>> 2) ^ (v << 19 | v >>> 13) ^ (v << 10 | v >>> 22)) + (v & A ^ v & b ^ A & b), w = M, M = R, R = S, S = T + F | 0, T = b, b = A, A = v, v = F + C | 0;
531
531
  }
532
532
  y[0] = y[0] + v | 0, y[1] = y[1] + A | 0, y[2] = y[2] + b | 0, y[3] = y[3] + T | 0, y[4] = y[4] + S | 0, y[5] = y[5] + R | 0, y[6] = y[6] + M | 0, y[7] = y[7] + w | 0;
533
533
  },
@@ -740,15 +740,15 @@ CryptoJS.lib.Cipher || (function(n) {
740
740
  54
741
741
  ], R = R.AES = t.extend({
742
742
  _doReset: function() {
743
- for (var P = this._key, M = P.words, w = P.sigBytes / 4, P = 4 * ((this._nRounds = w + 6) + 1), O = this._keySchedule = [], C = 0; C < P; C++)
743
+ for (var P = this._key, M = P.words, w = P.sigBytes / 4, P = 4 * ((this._nRounds = w + 6) + 1), F = this._keySchedule = [], C = 0; C < P; C++)
744
744
  if (C < w)
745
- O[C] = M[C];
745
+ F[C] = M[C];
746
746
  else {
747
- var I = O[C - 1];
748
- C % w ? 6 < w && C % w == 4 && (I = e[I >>> 24] << 24 | e[I >>> 16 & 255] << 16 | e[I >>> 8 & 255] << 8 | e[I & 255]) : (I = I << 8 | I >>> 24, I = e[I >>> 24] << 24 | e[I >>> 16 & 255] << 16 | e[I >>> 8 & 255] << 8 | e[I & 255], I ^= S[C / w | 0] << 24), O[C] = O[C - w] ^ I;
747
+ var I = F[C - 1];
748
+ C % w ? 6 < w && C % w == 4 && (I = e[I >>> 24] << 24 | e[I >>> 16 & 255] << 16 | e[I >>> 8 & 255] << 8 | e[I & 255]) : (I = I << 8 | I >>> 24, I = e[I >>> 24] << 24 | e[I >>> 16 & 255] << 16 | e[I >>> 8 & 255] << 8 | e[I & 255], I ^= S[C / w | 0] << 24), F[C] = F[C - w] ^ I;
749
749
  }
750
750
  for (M = this._invKeySchedule = [], w = 0; w < P; w++)
751
- C = P - w, I = w % 4 ? O[C] : O[C - 4], M[w] = 4 > w || 4 >= C ? I : c[e[I >>> 24]] ^ f[e[I >>> 16 & 255]] ^ d[e[I >>> 8 & 255]] ^ h[e[I & 255]];
751
+ C = P - w, I = w % 4 ? F[C] : F[C - 4], M[w] = 4 > w || 4 >= C ? I : c[e[I >>> 24]] ^ f[e[I >>> 16 & 255]] ^ d[e[I >>> 8 & 255]] ^ h[e[I & 255]];
752
752
  },
753
753
  encryptBlock: function(M, w) {
754
754
  this._doCryptBlock(M, w, this._keySchedule, o, s, u, l, e);
@@ -757,10 +757,10 @@ CryptoJS.lib.Cipher || (function(n) {
757
757
  var P = M[w + 1];
758
758
  M[w + 1] = M[w + 3], M[w + 3] = P, this._doCryptBlock(M, w, this._invKeySchedule, c, f, d, h, r), P = M[w + 1], M[w + 1] = M[w + 3], M[w + 3] = P;
759
759
  },
760
- _doCryptBlock: function(M, w, P, O, C, I, H, F) {
761
- for (var L = this._nRounds, q = M[w] ^ P[0], j = M[w + 1] ^ P[1], G = M[w + 2] ^ P[2], Q = M[w + 3] ^ P[3], k = 4, D = 1; D < L; D++)
762
- var U = O[q >>> 24] ^ C[j >>> 16 & 255] ^ I[G >>> 8 & 255] ^ H[Q & 255] ^ P[k++], z = O[j >>> 24] ^ C[G >>> 16 & 255] ^ I[Q >>> 8 & 255] ^ H[q & 255] ^ P[k++], J = O[G >>> 24] ^ C[Q >>> 16 & 255] ^ I[q >>> 8 & 255] ^ H[j & 255] ^ P[k++], Q = O[Q >>> 24] ^ C[q >>> 16 & 255] ^ I[j >>> 8 & 255] ^ H[G & 255] ^ P[k++], q = U, j = z, G = J;
763
- U = (F[q >>> 24] << 24 | F[j >>> 16 & 255] << 16 | F[G >>> 8 & 255] << 8 | F[Q & 255]) ^ P[k++], z = (F[j >>> 24] << 24 | F[G >>> 16 & 255] << 16 | F[Q >>> 8 & 255] << 8 | F[q & 255]) ^ P[k++], J = (F[G >>> 24] << 24 | F[Q >>> 16 & 255] << 16 | F[q >>> 8 & 255] << 8 | F[j & 255]) ^ P[k++], Q = (F[Q >>> 24] << 24 | F[q >>> 16 & 255] << 16 | F[j >>> 8 & 255] << 8 | F[G & 255]) ^ P[k++], M[w] = U, M[w + 1] = z, M[w + 2] = J, M[w + 3] = Q;
760
+ _doCryptBlock: function(M, w, P, F, C, I, H, O) {
761
+ for (var L = this._nRounds, U = M[w] ^ P[0], j = M[w + 1] ^ P[1], G = M[w + 2] ^ P[2], Q = M[w + 3] ^ P[3], k = 4, D = 1; D < L; D++)
762
+ var q = F[U >>> 24] ^ C[j >>> 16 & 255] ^ I[G >>> 8 & 255] ^ H[Q & 255] ^ P[k++], z = F[j >>> 24] ^ C[G >>> 16 & 255] ^ I[Q >>> 8 & 255] ^ H[U & 255] ^ P[k++], J = F[G >>> 24] ^ C[Q >>> 16 & 255] ^ I[U >>> 8 & 255] ^ H[j & 255] ^ P[k++], Q = F[Q >>> 24] ^ C[U >>> 16 & 255] ^ I[j >>> 8 & 255] ^ H[G & 255] ^ P[k++], U = q, j = z, G = J;
763
+ q = (O[U >>> 24] << 24 | O[j >>> 16 & 255] << 16 | O[G >>> 8 & 255] << 8 | O[Q & 255]) ^ P[k++], z = (O[j >>> 24] << 24 | O[G >>> 16 & 255] << 16 | O[Q >>> 8 & 255] << 8 | O[U & 255]) ^ P[k++], J = (O[G >>> 24] << 24 | O[Q >>> 16 & 255] << 16 | O[U >>> 8 & 255] << 8 | O[j & 255]) ^ P[k++], Q = (O[Q >>> 24] << 24 | O[U >>> 16 & 255] << 16 | O[j >>> 8 & 255] << 8 | O[G & 255]) ^ P[k++], M[w] = q, M[w + 1] = z, M[w + 2] = J, M[w + 3] = Q;
764
764
  },
765
765
  keySize: 8
766
766
  });
@@ -1866,7 +1866,7 @@ var KEYUTIL = /* @__PURE__ */ (function() {
1866
1866
  var P = v(m, w[1]);
1867
1867
  try {
1868
1868
  A.pbkdf2Iter = parseInt(P, 16);
1869
- } catch (O) {
1869
+ } catch (F) {
1870
1870
  throw "malformed format pbkdf2Iter: " + P;
1871
1871
  }
1872
1872
  return A;
@@ -2060,8 +2060,8 @@ KEYUTIL.getKey = function(n, t, e) {
2060
2060
  return h.getKey(R, null, "pkcs5prv");
2061
2061
  }
2062
2062
  if (n.indexOf("-END DSA PRIVATE KEY-") != -1 && n.indexOf("4,ENCRYPTED") == -1) {
2063
- var M = d(n, "DSA PRIVATE KEY"), w = s(M, 0, [1], "02"), P = s(M, 0, [2], "02"), O = s(M, 0, [3], "02"), C = s(M, 0, [4], "02"), I = s(M, 0, [5], "02"), p = new c();
2064
- return p.setPrivate(new BigInteger(w, 16), new BigInteger(P, 16), new BigInteger(O, 16), new BigInteger(C, 16), new BigInteger(I, 16)), p;
2063
+ var M = d(n, "DSA PRIVATE KEY"), w = s(M, 0, [1], "02"), P = s(M, 0, [2], "02"), F = s(M, 0, [3], "02"), C = s(M, 0, [4], "02"), I = s(M, 0, [5], "02"), p = new c();
2064
+ return p.setPrivate(new BigInteger(w, 16), new BigInteger(P, 16), new BigInteger(F, 16), new BigInteger(C, 16), new BigInteger(I, 16)), p;
2065
2065
  }
2066
2066
  if (n.indexOf("-END EC PRIVATE KEY-") != -1 && n.indexOf("4,ENCRYPTED") == -1) {
2067
2067
  var R = d(n, "EC PRIVATE KEY");
@@ -2070,8 +2070,8 @@ KEYUTIL.getKey = function(n, t, e) {
2070
2070
  if (n.indexOf("-END PRIVATE KEY-") != -1)
2071
2071
  return h.getKeyFromPlainPrivatePKCS8PEM(n);
2072
2072
  if (n.indexOf("-END RSA PRIVATE KEY-") != -1 && n.indexOf("4,ENCRYPTED") != -1) {
2073
- var H = h.getDecryptedKeyHex(n, t), F = new RSAKey();
2074
- return F.readPKCS5PrvKeyHex(H), F;
2073
+ var H = h.getDecryptedKeyHex(n, t), O = new RSAKey();
2074
+ return O.readPKCS5PrvKeyHex(H), O;
2075
2075
  }
2076
2076
  if (n.indexOf("-END EC PRIVATE KEY-") != -1 && n.indexOf("4,ENCRYPTED") != -1) {
2077
2077
  var M = h.getDecryptedKeyHex(n, t), p = s(M, 0, [1], "04"), L = s(M, 0, [2, 0], "06"), k = s(M, 0, [3, 0], "03").substr(2), D = "";
@@ -2085,8 +2085,8 @@ KEYUTIL.getKey = function(n, t, e) {
2085
2085
  return g.setPublicKeyHex(k), g.setPrivateKeyHex(p), g.isPublic = !1, g;
2086
2086
  }
2087
2087
  if (n.indexOf("-END DSA PRIVATE KEY-") != -1 && n.indexOf("4,ENCRYPTED") != -1) {
2088
- var M = h.getDecryptedKeyHex(n, t), w = s(M, 0, [1], "02"), P = s(M, 0, [2], "02"), O = s(M, 0, [3], "02"), C = s(M, 0, [4], "02"), I = s(M, 0, [5], "02"), p = new c();
2089
- return p.setPrivate(new BigInteger(w, 16), new BigInteger(P, 16), new BigInteger(O, 16), new BigInteger(C, 16), new BigInteger(I, 16)), p;
2088
+ var M = h.getDecryptedKeyHex(n, t), w = s(M, 0, [1], "02"), P = s(M, 0, [2], "02"), F = s(M, 0, [3], "02"), C = s(M, 0, [4], "02"), I = s(M, 0, [5], "02"), p = new c();
2089
+ return p.setPrivate(new BigInteger(w, 16), new BigInteger(P, 16), new BigInteger(F, 16), new BigInteger(C, 16), new BigInteger(I, 16)), p;
2090
2090
  }
2091
2091
  if (n.indexOf("-END ENCRYPTED PRIVATE KEY-") != -1)
2092
2092
  return h.getKeyFromEncryptedPKCS8PEM(n, t);
@@ -2727,8 +2727,8 @@ function X509(n) {
2727
2727
  M.critical = !1;
2728
2728
  var w = e(T, b[R]), P = 0;
2729
2729
  w.length === 3 && (M.critical = !0, P = 1), M.oid = t.hextooidstr(s(T, b[R], [0], "06"));
2730
- var O = f(T, b[R], [1 + P]);
2731
- M.vidx = h(T, O), this.aExtInfo.push(M);
2730
+ var F = f(T, b[R], [1 + P]);
2731
+ M.vidx = h(T, F), this.aExtInfo.push(M);
2732
2732
  }
2733
2733
  }, this.getExtInfo = function(v) {
2734
2734
  var A = this.aExtInfo, b = v;
@@ -3090,17 +3090,17 @@ function X509(n) {
3090
3090
  for (var S = v[T], R = 0; R < S.length; R++)
3091
3091
  b.push(S[R]);
3092
3092
  for (var T = 0; T < b.length; T++) {
3093
- var M = b[T], w = M.ds, P = M.value, O = M.type;
3093
+ var M = b[T], w = M.ds, P = M.value, F = M.type;
3094
3094
  if (w != "prn" && w != "utf8" && w != "ia5")
3095
3095
  return "mixed";
3096
3096
  if (w == "ia5") {
3097
- if (O != "CN")
3097
+ if (F != "CN")
3098
3098
  return "mixed";
3099
3099
  if (KJUR.lang.String.isMail(P))
3100
3100
  continue;
3101
3101
  return "mixed";
3102
3102
  }
3103
- if (O == "C") {
3103
+ if (F == "C") {
3104
3104
  if (w == "prn")
3105
3105
  continue;
3106
3106
  return "mixed";
@@ -3187,41 +3187,41 @@ function X509(n) {
3187
3187
  return A(T).replace(/\//, "\\/");
3188
3188
  }).join("/");
3189
3189
  }, this.getInfo = function() {
3190
- var v = function(U) {
3191
- var z = JSON.stringify(U.array).replace(/[\[\]\{\}\"]/g, "");
3190
+ var v = function(q) {
3191
+ var z = JSON.stringify(q.array).replace(/[\[\]\{\}\"]/g, "");
3192
3192
  return z;
3193
- }, A = function(U) {
3194
- for (var z = "", J = U.array, Q = 0; Q < J.length; Q++) {
3195
- var q = J[Q];
3196
- if (z += " policy oid: " + q.policyoid + `
3197
- `, q.array !== void 0)
3198
- for (var j = 0; j < q.array.length; j++) {
3199
- var G = q.array[j];
3193
+ }, A = function(q) {
3194
+ for (var z = "", J = q.array, Q = 0; Q < J.length; Q++) {
3195
+ var U = J[Q];
3196
+ if (z += " policy oid: " + U.policyoid + `
3197
+ `, U.array !== void 0)
3198
+ for (var j = 0; j < U.array.length; j++) {
3199
+ var G = U.array[j];
3200
3200
  G.cps !== void 0 && (z += " cps: " + G.cps + `
3201
3201
  `);
3202
3202
  }
3203
3203
  }
3204
3204
  return z;
3205
- }, b = function(U) {
3206
- for (var z = "", J = U.array, Q = 0; Q < J.length; Q++) {
3207
- var q = J[Q];
3205
+ }, b = function(q) {
3206
+ for (var z = "", J = q.array, Q = 0; Q < J.length; Q++) {
3207
+ var U = J[Q];
3208
3208
  try {
3209
- q.dpname.full[0].uri !== void 0 && (z += " " + q.dpname.full[0].uri + `
3209
+ U.dpname.full[0].uri !== void 0 && (z += " " + U.dpname.full[0].uri + `
3210
3210
  `);
3211
3211
  } catch (j) {
3212
3212
  }
3213
3213
  try {
3214
- q.dname.full[0].dn.hex !== void 0 && (z += " " + X509.hex2dn(q.dpname.full[0].dn.hex) + `
3214
+ U.dname.full[0].dn.hex !== void 0 && (z += " " + X509.hex2dn(U.dpname.full[0].dn.hex) + `
3215
3215
  `);
3216
3216
  } catch (j) {
3217
3217
  }
3218
3218
  }
3219
3219
  return z;
3220
- }, T = function(U) {
3221
- for (var z = "", J = U.array, Q = 0; Q < J.length; Q++) {
3222
- var q = J[Q];
3223
- q.caissuer !== void 0 && (z += " caissuer: " + q.caissuer + `
3224
- `), q.ocsp !== void 0 && (z += " ocsp: " + q.ocsp + `
3220
+ }, T = function(q) {
3221
+ for (var z = "", J = q.array, Q = 0; Q < J.length; Q++) {
3222
+ var U = J[Q];
3223
+ U.caissuer !== void 0 && (z += " caissuer: " + U.caissuer + `
3224
+ `), U.ocsp !== void 0 && (z += " ocsp: " + U.ocsp + `
3225
3225
  `);
3226
3226
  }
3227
3227
  return z;
@@ -3241,41 +3241,41 @@ function X509(n) {
3241
3241
  S += `X509v3 Extensions:
3242
3242
  `;
3243
3243
  for (var w = 0; w < M.length; w++) {
3244
- var P = M[w], O = KJUR.asn1.x509.OID.oid2name(P.oid);
3245
- O === "" && (O = P.oid);
3244
+ var P = M[w], F = KJUR.asn1.x509.OID.oid2name(P.oid);
3245
+ F === "" && (F = P.oid);
3246
3246
  var C = "";
3247
- if (P.critical === !0 && (C = "CRITICAL"), S += " " + O + " " + C + `:
3248
- `, O === "basicConstraints") {
3247
+ if (P.critical === !0 && (C = "CRITICAL"), S += " " + F + " " + C + `:
3248
+ `, F === "basicConstraints") {
3249
3249
  var I = this.getExtBasicConstraints();
3250
3250
  I.cA === void 0 ? S += ` {}
3251
3251
  ` : (S += " cA=true", I.pathLen !== void 0 && (S += ", pathLen=" + I.pathLen), S += `
3252
3252
  `);
3253
- } else if (O === "keyUsage")
3253
+ } else if (F === "keyUsage")
3254
3254
  S += " " + this.getExtKeyUsageString() + `
3255
3255
  `;
3256
- else if (O === "subjectKeyIdentifier")
3256
+ else if (F === "subjectKeyIdentifier")
3257
3257
  S += " " + this.getExtSubjectKeyIdentifier().kid.hex + `
3258
3258
  `;
3259
- else if (O === "authorityKeyIdentifier") {
3259
+ else if (F === "authorityKeyIdentifier") {
3260
3260
  var H = this.getExtAuthorityKeyIdentifier();
3261
3261
  H.kid !== void 0 && (S += " kid=" + H.kid.hex + `
3262
3262
  `);
3263
- } else if (O === "extKeyUsage") {
3264
- var F = this.getExtExtKeyUsage().array;
3265
- S += " " + F.join(", ") + `
3263
+ } else if (F === "extKeyUsage") {
3264
+ var O = this.getExtExtKeyUsage().array;
3265
+ S += " " + O.join(", ") + `
3266
3266
  `;
3267
- } else if (O === "subjectAltName") {
3267
+ } else if (F === "subjectAltName") {
3268
3268
  var L = v(this.getExtSubjectAltName());
3269
3269
  S += " " + L + `
3270
3270
  `;
3271
- } else if (O === "cRLDistributionPoints") {
3271
+ } else if (F === "cRLDistributionPoints") {
3272
3272
  var k = this.getExtCRLDistributionPoints();
3273
3273
  S += b(k);
3274
- } else if (O === "authorityInfoAccess") {
3274
+ } else if (F === "authorityInfoAccess") {
3275
3275
  var D = this.getExtAuthorityInfoAccess();
3276
3276
  S += T(D);
3277
3277
  } else
3278
- O === "certificatePolicies" && (S += A(this.getExtCertificatePolicies()));
3278
+ F === "certificatePolicies" && (S += A(this.getExtCertificatePolicies()));
3279
3279
  }
3280
3280
  }
3281
3281
  return S += "signature algorithm: " + this.getSignatureAlgorithmName() + `
@@ -3526,7 +3526,7 @@ const meshNoneVertexShader = (function() {
3526
3526
  return t[s].split(u).map(function(l) {
3527
3527
  return l.charCodeAt(s) > o ? l : String.fromCharCode((l.charCodeAt(s) + r) % o);
3528
3528
  }).join(u);
3529
- })("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n--rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H--rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H--rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H--sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H--sy|n-r-J->;=r:>=H--r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n--rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H--rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H--r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-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--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--<<-nppzynv|{-5onxrq-v{qvrp-yvtuv{t-|{y\b6--0vsqrs-b`RlYVTUaZN]----rpA-yvtuZn}ar\x07ryJ-r\x07r?Q5-yvtuZn}9-b?-6H----rsyrprqYvtu;v{qvrpQvssr-8J-yvtuZn}ar\x07rya|Yv{rn5-yvtuZn}ar\x07ry-6;to-7-yvtuZn}V{r{v\bH--0ryr----rsyrprqYvtu;v{qvrpQvssr-8J-rp@5->;=-6H--0r{qvs--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rsyrprqYvtu;v{qvrpQvssr-7J-qvssrP|y|;toH--rp@-|t|v{tYvtu-J-rsyrprqYvtu;v{qvrpQvssrH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJ-颜色增益调整-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNQWb`aZR[a6----rp@-uP|y|-J-to?u5tylSntP|y|;to6H----uP|y|;\b-8J-p|y|`nnv|{H----uP|y|; -8J-p|y|Ovtu{rH----tylSntP|y|;to-J-zn\x075u?to5uP|y|69-=;=6H--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--ZNV[lR[Q\f"), meshPhongVertexShader = (function() {
3529
+ })("0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-cvr]|vv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n--rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H--rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H--rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H--sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H--sy|n-r-J->;=r:>=H--r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n--rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H--rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H--r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-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--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--<<-nppzynv|{-5onxrq-v{qvrp-yvtuv{t-|{y\b6--0vsqrs-b`RlYVTUaZN]----rpA-yvtuZn}ar\x07ryJ-r\x07r?Q5-yvtuZn}9-b?-6H----rsyrprqYvtu;v{qvrpQvssr-8J-yvtuZn}ar\x07rya|Yv{rn5-yvtuZn}ar\x07ry-6;to-7-yvtuZn}V{r{v\bH--0ryr----rsyrprqYvtu;v{qvrpQvssr-8J-rp@5->;=-6H--0r{qvs--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rsyrprqYvtu;v{qvrpQvssr-7J-qvssrP|y|;toH--rp@-|t|v{tYvtu-J-rsyrprqYvtu;v{qvrpQvssrH--0v{pyqr-Ir{zn}lsntzr{K--qvssrP|y|;n-J-qvssrP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--0vs-qrsv{rq5b`Rl\\]N^bR6----qvssrP|y|;n-J->;=H--0r{qvs--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--<<-JJJ-颜色增益调整-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNQWb`aZR[a6----rp@-uP|y|-J-to?u5tylSntP|y|;to6H----uP|y|;\b-8J-p|y|`nnv|{H----uP|y|; -8J-p|y|Ovtu{rH----tylSntP|y|;to-J-zn\x075u?to5uP|y|69-=;=6H--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--ZNV[lR[Q\f"), meshPhongVertexShader = (function() {
3530
3530
  for (var t = [], e = 0; e < arguments.length; e++)
3531
3531
  t[e] = arguments[e];
3532
3532
  var r = 113, o = 126, s = 0, u = "";
@@ -3540,7 +3540,7 @@ const meshNoneVertexShader = (function() {
3540
3540
  return t[s].split(u).map(function(l) {
3541
3541
  return l.charCodeAt(s) > o ? l : String.fromCharCode((l.charCodeAt(s) + r) % o);
3542
3542
  }).join(u);
3543
- })("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n--rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H--rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H--rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H--sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H--sy|n-r-J->;=r:>=H--r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n--rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H--rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H--r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-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--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--0v{pyqr-Ir{zn}lsntzr{K--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJ-颜色增益调整-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNQWb`aZR[a6----rp@-uP|y|-J-to?u5tylSntP|y|;to6H----uP|y|;\b-8J-p|y|`nnv|{H----uP|y|; -8J-p|y|Ovtu{rH----tylSntP|y|;to-J-zn\x075u?to5uP|y|69-=;=6H--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--ZNV[lR[Q\f"), meshStandardVertexShader = (function() {
3543
+ })("0qrsv{r-]U\\[T0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-rp@-rzvvrH{vs|z-rp@-}rpynH{vs|z-sy|n-uv{v{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rH0vs{qrs-SYNal`UNQRQ--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u|{tl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I}rpynzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n--rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H--rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H--rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H--sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H--sy|n-r-J->;=r:>=H--r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n--rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H--rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H--r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-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--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I}rpynzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u|{tlsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--0v{pyqr-Ir{zn}lsntzr{K--qvssrP|y|;n-J-qvssrP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--0vs-qrsv{rq5b`Rl\\]N^bR6----qvssrP|y|;n-J->;=H--0r{qvs--tylSntP|y|-J-rpA5|t|v{tYvtu9-qvssrP|y|;n6H--<<-JJJ-颜色增益调整-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNQWb`aZR[a6----rp@-uP|y|-J-to?u5tylSntP|y|;to6H----uP|y|;\b-8J-p|y|`nnv|{H----uP|y|; -8J-p|y|Ovtu{rH----tylSntP|y|;to-J-zn\x075u?to5uP|y|69-=;=6H--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--ZNV[lR[Q\f"), meshStandardVertexShader = (function() {
3544
3544
  for (var t = [], e = 0; e < arguments.length; e++)
3545
3545
  t[e] = arguments[e];
3546
3546
  var r = 113, o = 126, s = 0, u = "";
@@ -3554,7 +3554,7 @@ const meshNoneVertexShader = (function() {
3554
3554
  return t[s].split(u).map(function(l) {
3555
3555
  return l.charCodeAt(s) > o ? l : String.fromCharCode((l.charCodeAt(s) + r) % o);
3556
3556
  }).join(u);
3557
- })("0qrsv{r-`aN[QN_Q0qrsv{r-_RSYRPaVcVaf0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-rp@-rzvvrH{vs|z-sy|n-|tu{rH{vs|z-sy|n-zrny{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH0vsqrs-_RSYRPaVcVaf--{vs|z-sy|n-rsyrpvv\bH0r{qvs{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rHn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}u\bvpnyl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u\bvpnyl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I|tu{rzn}l}nlsntzr{K0v{pyqr-Izrny{rzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n--rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H--rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H--rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H--sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H--sy|n-r-J->;=r:>=H--r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n--rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H--rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H--r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-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--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I|tu{rzn}lsntzr{K0v{pyqr-Izrny{rzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u\bvpnylsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--tylSntP|y|-J-rpA5-|t|v{tYvtu9-qvssrP|y|;n-6H--tylSntP|y|;n-J-tylSntP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--<<-JJJ-颜色增益调整-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNQWb`aZR[a6----rp@-uP|y|-J-to?u5tylSntP|y|;to6H----uP|y|;\b-8J-p|y|`nnv|{H----uP|y|; -8J-p|y|Ovtu{rH----tylSntP|y|;to-J-zn\x075u?to5uP|y|69-=;=6H--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--ZNV[lR[Q\f");
3557
+ })("0qrsv{r-`aN[QN_Q0qrsv{r-_RSYRPaVcVaf0qrsv{r-OYNPXlP\\Y\\_-rpA5=;=EC9-=;>=C9-=;>AF9->;=60qrsv{r-a_N[`]N_R[alP\\Y\\_-rpA5=;=9-=;=9-=;=9-=;=60qrsv{r-SYV]lPbORlZN]-:>;=p-]n{|-\n--nz}yrPor-zn}H--znA-znv\x07H--sy|n- ||zH\fH{vs|z-]n{|-}n{|=H{vs|z-]n{|-}n{|>H0vs-qrsv{rq5b`Rl]N[\\lQR]aU6--p-]n{|Qr}u-\n----nz}yrPor-zn}H----sy|n-zn\x07Qr}uH--\fH--{vs|z-]n{|Qr}u-}n{|=Qr}uH--{vs|z-]n{|Qr}u-}n{|>Qr}uH0r{qvs0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6--p-_rsv{rq`prr{-\n----nz}yr?Q-zn}H----znA-}|wrpv|{Znv\x07H----znA-znv\x07V{rrH----sy|n-|}npv\bH----sy|n-}n{|H--\fH--{vs|z-_rsv{rq`prr{-rsv{rq`prr{H0r{qvs{vs|z-sy|n-sy||V{qr\x07H{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-}|trH0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6--{vs|z-rp@-p|{n{P|y|H0r{qvs0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6--{vs|z-nz}yr?Q-tnqvr{ar\x07rH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-sy|n-_||sZnxH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp?-r|yv|{H{vs|z-sy|n-}v\x07ry_nv|H{vs|z-rp@-qvssrH{vs|z-sy|n-p|y|Ny}unH{vs|z-rp@-rzvvrH{vs|z-sy|n-|tu{rH{vs|z-sy|n-zrny{rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-ovtu{rH0vsqrs-_RSYRPaVcVaf--{vs|z-sy|n-rsyrpvv\bH0r{qvs{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H<<u调整{vs|z-sy|n-p|y|`nnv|{H{vs|z-sy|n-p|y|Ovtu{rHn\bv{t-rp@-cvr]|vv|{H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH--0vsqrs-b`RlaN[TR[a----n\bv{t-rp@-an{tr{H----n\bv{t-rp@-Ovn{tr{H--0r{qvs0r{qvs0v{pyqr-Ip|zz|{K0v{pyqr-I}npxv{tK0v{pyqr-Iqvurv{tl}nlsntzr{K0v{pyqr-Ip|y|l}nlsntzr{K0v{pyqr-Il}nlsntzr{K0v{pyqr-I?l}nlsntzr{K0v{pyqr-Izn}l}nlsntzr{K0v{pyqr-Iny}unzn}l}nlsntzr{K0v{pyqr-In|zn}l}nlsntzr{K0v{pyqr-Iyvtuzn}l}nlsntzr{K0v{pyqr-Irzvvrzn}l}nlsntzr{K0v{pyqr-IoqsK0v{pyqr-Iporllrsyrpv|{lsntzr{K0v{pyqr-Ir{zn}lp|zz|{l}nlsntzr{K0v{pyqr-Ir{zn}l}u\bvpnyl}nlsntzr{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iyvtul}nlortv{K0v{pyqr-Iyvtul}u\bvpnyl}nlsntzr{K0v{pyqr-Iunq|zn}l}nlsntzr{K0v{pyqr-Ioz}zn}l}nlsntzr{K0v{pyqr-I{|znyzn}l}nlsntzr{K0v{pyqr-I|tu{rzn}l}nlsntzr{K0v{pyqr-Izrny{rzn}l}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{Krp@- ||zcrp|5rp@-qvrpv|{9-rp@-rp|9-sy|n- ||z6-\n--sy|n-urn-J-q|5qvrpv|{9-rp|6H--rp@-q-J-qvrpv|{-7-urnH--rp@-}-J-rp|-:-qH--rp@-\0-J-}-<- ||zH--r{-{|znyv r5q-8-\x006H\frp@-to?u5rp@-p6-\n--rpA-X-J-rpA5=;=9-:>;=-<-@;=9-?;=-<-@;=9-:>;=6H--rpA-}-J-zv\x075rpA5p;ot9-X; 69-rpA5p;to9-X;\x07\b69-r}5p;o9-p;t66H--rpA-\0-J-zv\x075rpA5};\x07\b9-p;69-rpA5p;9-};\b \x0769-r}5};\x079-p;66H--sy|n-q-J-\0;\x07-:-zv{5\0;9-\0;\b6H--sy|n-r-J->;=r:>=H--r{-rp@5no5\0; -8-5\0;-:-\0;\b6-<-5C;=-7-q-8-r669-q-<-5\0;\x07-8-r69-\0;\x076H\frp@-u?to5rp@-p6-\n--rpA-X-J-rpA5>;=9-?;=-<-@;=9->;=-<-@;=9-@;=6H--rp@-}-J-no5snp5p;\x07\x07\x07-8-X;\x07\b 6-7-C;=-:-X;6H--r{-p; -7-zv\x075X;\x07\x07\x079-pynz}5}-:-X;\x07\x07\x079-=;=9->;=69-p;\b6H\frp@-trP|y|O\bUrvtu5nz}yr?Q-tnqvr{ar\x07r9-rpA-Sv{ny]|vv|{6-\n--sy|n--J-5Sv{ny]|vv|{;\b-:-z|qryO|{qv{tZv{;\b6-<-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6H--r{-r\x07r?Q5tnqvr{ar\x07r9-rp?59-=;B66;toH\fZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-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--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--rpA-qvssrP|y|-J-rpA5-qvssr9-p|y|Ny}un-7-|}npv\b-6H--<<-JJJ-高度色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNYaVabQR6----qvssrP|y|;to-J-trP|y|O\bUrvtu5tnqvr{ar\x07r9-Sv{ny]|vv|{6H--0r{qvs--<<-JJJJJJJJJJJ--<<-JJJ-纯色-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lP\\[`aN[a6----qvssrP|y|;to-J-p|{n{P|y|H--0r{qvs--<<-JJJJJJJJJJJ--_rsyrprqYvtu-rsyrprqYvtu-J-_rsyrprqYvtu5-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-69-rp@5-=;=-6-6H--rp@-|nyRzvvr_nqvn{pr-J-rzvvrH--0v{pyqr-Iy|tqr}uoslsntzr{K--0v{pyqr-Izn}lsntzr{K--0v{pyqr-Ip|y|lsntzr{K--0v{pyqr-Iny}unzn}lsntzr{K--0v{pyqr-Iny}unrlsntzr{K--0v{pyqr-I|tu{rzn}lsntzr{K0v{pyqr-Izrny{rzn}lsntzr{K--0v{pyqr-I{|znylsntzr{lortv{K--0v{pyqr-I{|znylsntzr{lzn}K--0v{pyqr-Irzvvrzn}lsntzr{K--<<-nppzynv|{--0v{pyqr-Iyvtul}u\bvpnylsntzr{K--0v{pyqr-Iyvtulsntzr{lortv{K--0v{pyqr-Iyvtulsntzr{lzn}K--0v{pyqr-Iyvtulsntzr{lr{qK--<<-z|qynv|{--0v{pyqr-In|zn}lsntzr{K--rp@-|t|v{tYvtu-J-rsyrprqYvtu;qvrpQvssr-8-rsyrprqYvtu;v{qvrpQvssr-8-rsyrprqYvtu;qvrp`}rpyn-8-rsyrprqYvtu;v{qvrp`}rpyn-8-|nyRzvvr_nqvn{prH--qvssrP|y|;n-J-qvssrP|y|;n-7-sy||\\}npv\b-7-ovtu{rH--0vs-qrsv{rq5b`Rl\\]N^bR6----qvssrP|y|;n-J->;=H--0r{qvs--tylSntP|y|-J-rpA5|t|v{tYvtu9-qvssrP|y|;n6H--<<-JJJ-颜色增益调整-JJJ--0vs-qrsv{rq5b`RlP\\Y\\_lNQWb`aZR[a6----rp@-uP|y|-J-to?u5tylSntP|y|;to6H----uP|y|;\b-8J-p|y|`nnv|{H----uP|y|; -8J-p|y|Ovtu{rH----tylSntP|y|;to-J-zn\x075u?to5uP|y|69-=;=6H--0r{qvs--<<-JJJJJJJJJJJJJJJJJJ--ZNV[lZ\\QRYlP\\Y\\_--<<色调映射-色彩空间转换--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0v{pyqr-Iqvurv{tlsntzr{K--<<-JJJ-全景图-JJJ--rp@-}n{|=a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 6H--}n{|=a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|=a|crr\x079-}n{|=; ||z6H--}n{|=a|crr\x07-J-}n{|=a|crr\x07-7-zn@5}n{|=;znv\x076H--rp@-}n{|>a|crr\x07-J-{|znyv r5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 6H--}n{|>a|crr\x07-J- ||zcrp|5PnzrnQvrpv|{9-}n{|>a|crr\x079-}n{|>; ||z6H--}n{|>a|crr\x07-J-}n{|>a|crr\x07-7-zn@5}n{|>;znv\x076H--rpA-}n{|=P|y|-J-r\x07rPor5}n{|=;zn}9-rp@5SYV]lPbORlZN]-7-}n{|=a|crr\x07;\x079-}n{|=a|crr\x07;\b 66H--rpA-}n{|>P|y|-J-r\x07rPor5}n{|>;zn}9-rp@5SYV]lPbORlZN]-7-}n{|>a|crr\x07;\x079-}n{|>a|crr\x07;\b 66H--<<-JJJ-全景图瓦片细化-JJJ--0vs-qrsv{rq5b`Rl_RSV[RQl`P_RR[6----rpA-rsv{rqPnzrn]|v|{-J-rsv{rq`prr{;znv\x07V{rr-7-Sv{ny]|vv|{H----sy|n-rsv{rqg||z-J-zv\x075}n{|=; ||z9-}n{|>; ||z9-rsv{rq`prr{;}n{|6H----rp@-rsv{rqPnzrncrr\x07-J-{|znyv r5rsv{rqPnzrn]|v|{;\x07\b 6H----rsv{rqPnzrncrr\x07-J- ||zcrp|5rp@5=;=9-=;=9->;=69-rsv{rqPnzrncrr\x079-rsv{rqg||z6H----rpA-rsv{rq]|v|{-J-rsv{rq`prr{;}|wrpv|{Znv\x07-7-rpA5rsv{rqPnzrncrr\x079->;=6H----rsv{rq]|v|{-J-rsv{rq]|v|{-<-rsv{rq]|v|{;H----rpA-rsv{rqP|y|-J-r\x07r?Q5rsv{rq`prr{;zn}9-5rsv{rq]|v|{;\x07\b-8->;=6-<-?;=6H----rsv{rqP|y|;n-J-rsv{rqP|y|;n-7-rsv{rq`prr{;|}npv\bH----sy|n-rsv{rq\\rsy|]|tr-J-r}5no5rsv{rq]|v|{;\x0769->;=6-7-r}5no5rsv{rq]|v|{;\b69->;=6-7-r}5rsv{rqPnzrn]|v|{; 9-=;=6H----rsv{rqP|y|-J-zv\x075a_N[`]N_R[alP\\Y\\_9-rsv{rqP|y|9-rsv{rq\\rsy|]|tr6H----rpA-rsv{rq]n{|=P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9-rsv{rq`prr{;}n{|6H----rpA-rsv{rq]n{|>P|y|-J-zv\x075rsv{rqP|y|9-a_N[`]N_R[alP\\Y\\_9->;=-:-rsv{rq`prr{;}n{|6H----}n{|=P|y|-J-zv\x075}n{|=P|y|9-rpA5rsv{rq]n{|=P|y|;to9-}n{|=P|y|;n69-rsv{rq]n{|=P|y|;n6H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-rpA5rsv{rq]n{|>P|y|;to9-}n{|>P|y|;n69-rsv{rq]n{|>P|y|;n6H--0r{qvs--<<-JJJ-运动过程全景图通过深度剔除-JJJ--0vs-qrsv{rq5b`Rl]N[\\lQR]aU6----sy|n-}n{|=crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|=;znv\x07h@j;\x07\b 69-=;=9-}n{|=Qr}u;zn\x07Qr}u6H----sy|n-}n{|>crr\x07Qr}u-J-pynz}5yr{tu5Sv{ny]|vv|{;\x07\b -:-}n{|>;znv\x07h@j;\x07\b 69-=;=9-}n{|>Qr}u;zn\x07Qr}u6H----sy|n-}n{|=Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|=Qr}u;zn}9-}n{|=a|crr\x0766-7-}n{|=Qr}u;zn\x07Qr}uH----sy|n-}n{|>Qr}uZn}Qr}u-J-{}npx_TONa|Qr}u5r\x07rPor5}n{|>Qr}u;zn}9-}n{|>a|crr\x0766-7-}n{|>Qr}u;zn\x07Qr}uH----sy|n-}n{|=Qr}uQryn-J-no5}n{|=Qr}uZn}Qr}u-:-}n{|=crr\x07Qr}u6H----sy|n-}n{|>Qr}uQryn-J-no5}n{|>Qr}uZn}Qr}u-:-}n{|>crr\x07Qr}u6H----sy|n-zn\x07]n{|=Qr}uQryn-J-=;=@-7-}n{|=crr\x07Qr}uH----sy|n-zn\x07]n{|>Qr}uQryn-J-=;=@-7-}n{|>crr\x07Qr}uH----}n{|=P|y|-J-zv\x075}n{|=P|y|9-zv\x075}n{|=P|y|9-tylSntP|y|9-pynz}5}|tr-7->=;=9-=;=9->;=669-r}5zn\x07]n{|=Qr}uQryn9-}n{|=Qr}uQryn66H----}n{|>P|y|-J-zv\x075}n{|>P|y|9-zv\x075}n{|>P|y|9-tylSntP|y|9-pynz}55>;=-:-}|tr6-7->=;=9-=;=9->;=669-r}5zn\x07]n{|>Qr}uQryn9-}n{|>Qr}uQryn66H--0r{qvs--<<-JJJ-全景图颜色混合-JJJ--rpA-}n{|P|y|H--0vs-qrsv{rq5b`RlOYNPXla_N[`VaV\\[6----sy|n-oynpx]|tr-J-np|5:?;=-7-}|tr-8->;=6H----}n{|P|y|-J-zv\x075}n{|=P|y|9-OYNPXlP\\Y\\_9-zv{5>;=9-oynpx]|tr66H----}n{|P|y|-J-zv\x075}n{|P|y|9-}n{|>P|y|9-zn\x075=;=9-oynpx]|tr-:-]V-8->;=66H--0ryvs-qrsv{rq5b`Rl`]_RNQla_N[`VaV\\[6----rp?-prr{Pr{rP||q-J-r|yv|{-7-}v\x07ry_nv|-<-?;=H----sy|n-n{vv|{_nqv-J-qvn{pr5rp?5=;=9-=;=69-prr{Pr{rP||q6-7->;?H----sy|n-n{vv|{]|tr-J-qvn{pr5tylSntP||q;\x07\b9-prr{Pr{rP||q6-<-n{vv|{_nqvH----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-z||ur}5=;=9-=;?9-}|tr-:-n{vv|{]|tr66H--0ryr----}n{|P|y|-J-zv\x075}n{|=P|y|9-}n{|>P|y|9-}|tr6H--0r{qvs--tylSntP|y|-J-zv\x075}n{|P|y|9-tylSntP|y|9-z|qryNy}un6H--ZNV[lR[Q\f");
3558
3558
  var Uniform = (
3559
3559
  /** @class */
3560
3560
  (function(n) {
@@ -3878,6 +3878,7 @@ var PBMCustomShader = (
3878
3878
  fragmentShader: meshStandardFragmentShader
3879
3879
  }
3880
3880
  }, uniformsLib$1 = mergeUniforms(THREE.ShaderLib.basic.uniforms, THREE.ShaderLib.phong.uniforms, THREE.ShaderLib.standard.uniforms, pbmUniforms$1), definesLib$1 = {
3881
+ USE_OPAQUE: !1,
3881
3882
  USE_VERTEX_MARK: !1,
3882
3883
  USE_COLOR_CONSTANT: !1,
3883
3884
  USE_COLOR_ALTITUDE: !1,
@@ -3907,57 +3908,57 @@ var PBMCustomShader = (
3907
3908
  var w = M[R];
3908
3909
  w in definesLib$1 || delete u[w];
3909
3910
  }
3910
- for (var P = 0, O = Object.keys(l); P < O.length; P++) {
3911
- var C = O[P];
3911
+ for (var P = 0, F = Object.keys(l); P < F.length; P++) {
3912
+ var C = F[P];
3912
3913
  C in uniformsLib$1 || delete l[C];
3913
3914
  }
3914
- for (var I = r.customShaders.filter(function(q) {
3915
- return q.type.includes(S);
3916
- }), H = 0, F = I; H < F.length; H++) {
3917
- var L = F[H];
3915
+ for (var I = r.customShaders.filter(function(U) {
3916
+ return U.type.includes(S);
3917
+ }), H = 0, O = I; H < O.length; H++) {
3918
+ var L = O[H];
3918
3919
  for (var k in L.defines)
3919
3920
  k in u || Object.assign(u, (b = {}, b[k] = L.defines[k], b));
3920
3921
  for (var D in L.uniforms)
3921
3922
  D in l || Object.assign(l, (T = {}, T[D] = L.uniforms[D], T));
3922
3923
  }
3923
- v.vertexShader = v.vertexShader.replace(/MAIN_BEFORE/g, I.map(function(q) {
3924
- return q.vertex.mainBefore;
3925
- }).filter(function(q) {
3926
- return !!q;
3924
+ v.vertexShader = v.vertexShader.replace(/MAIN_BEFORE/g, I.map(function(U) {
3925
+ return U.vertex.mainBefore;
3926
+ }).filter(function(U) {
3927
+ return !!U;
3927
3928
  }).join(`
3928
- `)), v.vertexShader = v.vertexShader.replace(/MAIN_START/g, I.map(function(q) {
3929
- return q.vertex.mainStart;
3930
- }).filter(function(q) {
3931
- return !!q;
3929
+ `)), v.vertexShader = v.vertexShader.replace(/MAIN_START/g, I.map(function(U) {
3930
+ return U.vertex.mainStart;
3931
+ }).filter(function(U) {
3932
+ return !!U;
3932
3933
  }).join(`
3933
- `)), v.vertexShader = v.vertexShader.replace(/MAIN_END/g, I.map(function(q) {
3934
- return q.vertex.mainEnd;
3935
- }).filter(function(q) {
3936
- return !!q;
3934
+ `)), v.vertexShader = v.vertexShader.replace(/MAIN_END/g, I.map(function(U) {
3935
+ return U.vertex.mainEnd;
3936
+ }).filter(function(U) {
3937
+ return !!U;
3937
3938
  }).join(`
3938
- `)), v.fragmentShader = v.fragmentShader.replace(/MAIN_BEFORE/g, I.map(function(q) {
3939
- return q.fragment.mainBefore;
3940
- }).filter(function(q) {
3941
- return !!q;
3939
+ `)), v.fragmentShader = v.fragmentShader.replace(/MAIN_BEFORE/g, I.map(function(U) {
3940
+ return U.fragment.mainBefore;
3941
+ }).filter(function(U) {
3942
+ return !!U;
3942
3943
  }).join(`
3943
- `)), v.fragmentShader = v.fragmentShader.replace(/MAIN_START/g, I.map(function(q) {
3944
- return q.fragment.mainStart;
3945
- }).filter(function(q) {
3946
- return !!q;
3944
+ `)), v.fragmentShader = v.fragmentShader.replace(/MAIN_START/g, I.map(function(U) {
3945
+ return U.fragment.mainStart;
3946
+ }).filter(function(U) {
3947
+ return !!U;
3947
3948
  }).join(`
3948
- `)), v.fragmentShader = v.fragmentShader.replace(/MAIN_END/g, I.map(function(q) {
3949
- return q.fragment.mainEnd;
3950
- }).filter(function(q) {
3951
- return !!q;
3949
+ `)), v.fragmentShader = v.fragmentShader.replace(/MAIN_END/g, I.map(function(U) {
3950
+ return U.fragment.mainEnd;
3951
+ }).filter(function(U) {
3952
+ return !!U;
3952
3953
  }).join(`
3953
- `)), v.fragmentShader = v.fragmentShader.replace(/MAIN_MODEL_COLOR/g, I.map(function(q) {
3954
- return q.fragment.mainModelColor;
3955
- }).filter(function(q) {
3956
- return !!q;
3954
+ `)), v.fragmentShader = v.fragmentShader.replace(/MAIN_MODEL_COLOR/g, I.map(function(U) {
3955
+ return U.fragment.mainModelColor;
3956
+ }).filter(function(U) {
3957
+ return !!U;
3957
3958
  }).join(`
3958
3959
  `));
3959
- var U = String(r.clippers.length);
3960
- v.vertexShader = v.vertexShader.replace(/NUM_CLIPPERS/g, U), v.fragmentShader = v.fragmentShader.replace(/NUM_CLIPPERS/g, U);
3960
+ var q = String(r.clippers.length);
3961
+ v.vertexShader = v.vertexShader.replace(/NUM_CLIPPERS/g, q), v.fragmentShader = v.fragmentShader.replace(/NUM_CLIPPERS/g, q);
3961
3962
  for (var z = 0, J = I; z < J.length; z++) {
3962
3963
  var Q = J[z];
3963
3964
  Q.onBeforeCompile && Q.onBeforeCompile(v, A);
@@ -3967,12 +3968,14 @@ var PBMCustomShader = (
3967
3968
  r.onBeforeRender = function(v, A, b, T, S, R) {
3968
3969
  var M = r.shaderType;
3969
3970
  b instanceof Camera ? (l.pixelRatio.value = b.pixelRatio, l.resolution.value.copy(b.resolution)) : (l.pixelRatio.value = v.getPixelRatio(), v.getViewport(scratchViewport$5), l.resolution.value.set(scratchViewport$5.width, scratchViewport$5.height));
3970
- var w = r.customShaders.filter(function(O) {
3971
- return O.type.includes(M);
3972
- }), P = w.map(function(O) {
3973
- return "".concat(O.id, ":").concat(O.version);
3971
+ var w = r.transparent === !1 && r.blending === THREE.NormalBlending;
3972
+ u.USE_OPAQUE !== w && (u.USE_OPAQUE = w, r.needsUpdate = !0);
3973
+ var P = r.customShaders.filter(function(C) {
3974
+ return C.type.includes(M);
3975
+ }), F = P.map(function(C) {
3976
+ return "".concat(C.id, ":").concat(C.version);
3974
3977
  }).join("|");
3975
- c !== P && (c = P, r.needsUpdate = !0);
3978
+ c !== F && (c = F, r.needsUpdate = !0);
3976
3979
  }, Object.defineProperty(r, "uniform", {
3977
3980
  configurable: !1,
3978
3981
  enumerable: !1,
@@ -4302,7 +4305,7 @@ const pointCloudFragmentShader = (function() {
4302
4305
  return t[s].split(u).map(function(l) {
4303
4306
  return l.charCodeAt(s) > o ? l : String.fromCharCode((l.charCodeAt(s) + r) % o);
4304
4307
  }).join(u);
4305
- })("{vs|z-sy|n-sy||V{qr\x07H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-sy|n-_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-点-大小-形状-剔除-JJJ--vs-5]|v{`v r-I-=;==>6-\n----qvpnqH--\f--sy|n-}-J-?;=-7-tyl]|v{P||q;\x07-:->;=H--sy|n-}-J-?;=-7-tyl]|v{P||q;\b-:->;=H--sy|n-}-J-}-7-}-8-}-7-}H--<<-JJJ-形状裁切-JJJ--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----vs-5]|v{`v r-K-@;=-33-}-K->;=6-\n------qvpnqH----\f--0r{qvs--<<-JJJJJJJJJJJJJ--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-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--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--0v{pyqr-Iy|tqr}uoslsntzr{K--<<-JJJ-颜色-JJJ--tylSntP|y|-J-rpA5P|y|9-|}npv\b-7-sy||\\}npv\b-7-z|qryNy}un6H--ZNV[lZ\\QRYlP\\Y\\_--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\x07\b-:-=;B6H----sy|n-rvtu-J-zn\x075=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;to-J-tylSntP|y|;to-7-rvtuH--0r{qvs--ZNV[lR[Q\f"), pointCloudVertexShader = (function() {
4308
+ })("{vs|z-sy|n-sy||V{qr\x07H0vs{qrs-SYNal`UNQRQ--n\bv{t-rp@-[|znyH0r{qvsp-Pyv}}r-\n--znA-znv\x07V{rrH--sy|n-sy||V{qr\x07H\fH0vs-[bZlPYV]]R_`-K-=--{vs|z-Pyv}}r-pyv}}rh[bZlPYV]]R_`jH0r{qvsn\bv{t-sy|n-_||sZnxHn\bv{t-rpA-d|yq]|vv|{Hn\bv{t-rpA-Sv{ny]|vv|{Hn\bv{t-rp@-PnzrnQvrpv|{Hn\bv{t-rp@-P|y|Hn\bv{t-sy|n-]|v{`v rH{vs|z-sy|n-|}npv\bH{vs|z-sy|n-z|qryNy}unH{vs|z-sy|n-u|{Sy||V{qr\x07H{vs|z-rp@-z|qryO|{qv{tZn\x07H{vs|z-rp@-z|qryO|{qv{tZv{H0v{pyqr-Ip|zz|{K0v{pyqr-Is|tl}nlsntzr{K0v{pyqr-Iy|tqr}uosl}nlsntzr{K0v{pyqr-Ipyv}}v{tl}yn{rl}nlsntzr{KZNV[lORS\\_R|vq-znv{56-\n--ZNV[l`aN_a--<<-JJJ-点-大小-形状-剔除-JJJ--vs-5]|v{`v r-I-=;==>6-\n----qvpnqH--\f--sy|n-}-J-?;=-7-tyl]|v{P||q;\x07-:->;=H--sy|n-}-J-?;=-7-tyl]|v{P||q;\b-:->;=H--sy|n-}-J-}-7-}-8-}-7-}H--<<-JJJ-形状裁切-JJJ--0vs-qrsv{rq5b`Rl]\\V[al`UN]RlPV_PYR6----vs-5]|v{`v r-K-@;=-33-}-K->;=6-\n------qvpnqH----\f--0r{qvs--<<-JJJJJJJJJJJJJ--<<-JJJ-楼层-JJJ--o||y-vPr{Sy||-J-u|{Sy||V{qr\x07-I-:=;=>-\v\v-no5sy||V{qr\x07-:-u|{Sy||V{qr\x076-I-=;FFH--sy|n-sy||\\}npv\b-J->;=H--vs-5.vPr{Sy||6-\n----0vs-qrsv{rq5b`RlSY\\\\_l`afYRlcV`VOVYVaf6------qvpnqH----0r{qvs----sy||\\}npv\b-J-pynz}5=;?-7-zv{55>;=-8-PnzrnQvrpv|{;\b69->;=69-=;=9->;=6H--\f--<<-JJJJJJJJJJJ--<<-JJJ-顶部裁切-JJJ--sy|n-||sP]|tr-J-}|5pynz}5:PnzrnQvrpv|{;\b9-=;=9->;=69-@;=6H--vs-5----_||sZnx-K-=;==>-33----Sv{ny]|vv|{;\b-K-z|qryO|{qv{tZn\x07;\b-:-||sP]|tr-7-5z|qryO|{qv{tZn\x07;\b-:-z|qryO|{qv{tZv{;\b6--6-\n----qvpnqH--\f--<<-JJJJJJJJJJJJJJ--<<-JJJ-前置裁切计算-JJJ--0vs-[bZlPYV]]R_`-K-=----o||y-pyv}}rqH----rpA-pyv}}r]|vv|{H----0}ntzn-{|yyly||}ln----s|-5-v{-v-J-=H-v-I-[bZlPYV]]R_`H-v-88-6-\n------pyv}}r]|vv|{-J-pyv}}rh-v-j;znv\x07V{rr-7-Sv{ny]|vv|{H------pyv}}rq-J-5pyv}}rh-v-j;sy||V{qr\x07-I-=;=-\v\v-no5sy||V{qr\x07-:-pyv}}rh-v-j;sy||V{qr\x076-I->;=6H------pyv}}rq-J-pyv}}rq-33-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--------qvpnqH------\f----\f----0}ntzn-{|yyly||}lr{q--0r{qvs--<<-JJJJJJJJJJJJJJJJ--0v{pyqr-Ipyv}}v{tl}yn{rlsntzr{K--0v{pyqr-Iy|tqr}uoslsntzr{K--<<-JJJ-颜色-JJJ--rpA-qvssrP|y|-J-rpA5P|y|9-|}npv\b6H--qvssrP|y|;n-J-qvssrP|y|;n-7-sy||\\}npv\b-7-z|qryNy}unH--0vs-qrsv{rq5b`Rl\\]N^bR6----qvssrP|y|;n-J->;=H--0r{qvs--tylSntP|y|-J-qvssrP|y|H--ZNV[lZ\\QRYlP\\Y\\_--0v{pyqr-I|{rzn}}v{tlsntzr{K--0v{pyqr-Ir{p|qv{tlsntzr{K--0v{pyqr-Is|tlsntzr{K--0v{pyqr-I}rzyv}yvrqlny}unlsntzr{K--0vs-qrsv{rq5b`RlU^ldRVTUa6----sy|n-qvn{pr-J-?;=-7-yr{tu5tyl]|v{P||q;\x07\b-:-=;B6H----sy|n-rvtu-J-zn\x075=;=9->;=-:-qvn{pr6H----rvtu-J-}|5rvtu9->;B6H----tylSntP|y|;n-J-rvtuH----tylSntP|y|;to-J-tylSntP|y|;to-7-rvtuH--0r{qvs--ZNV[lR[Q\f"), pointCloudVertexShader = (function() {
4306
4309
  for (var t = [], e = 0; e < arguments.length; e++)
4307
4310
  t[e] = arguments[e];
4308
4311
  var r = 113, o = 126, s = 0, u = "";
@@ -4339,6 +4342,7 @@ var scratchViewport$4 = new THREE.Vector4(), pbmUniforms = {
4339
4342
  value: 1
4340
4343
  }
4341
4344
  }, pbmUniforms), definesLib = {
4345
+ USE_OPAQUE: !1,
4342
4346
  USE_VERTEX_MARK: !1,
4343
4347
  USE_COLOR_CONSTANT: !1,
4344
4348
  USE_COLOR_ALTITUDE: !1,
@@ -4416,8 +4420,8 @@ var scratchViewport$4 = new THREE.Vector4(), pbmUniforms = {
4416
4420
  `));
4417
4421
  var P = String(r.clippers.length);
4418
4422
  c.vertexShader = c.vertexShader.replace(/NUM_CLIPPERS/g, P), c.fragmentShader = c.fragmentShader.replace(/NUM_CLIPPERS/g, P);
4419
- for (var O = 0, C = b; O < C.length; O++) {
4420
- var I = C[O];
4423
+ for (var F = 0, C = b; F < C.length; F++) {
4424
+ var I = C[F];
4421
4425
  I.onBeforeCompile && I.onBeforeCompile(c, f);
4422
4426
  }
4423
4427
  };
@@ -4425,12 +4429,14 @@ var scratchViewport$4 = new THREE.Vector4(), pbmUniforms = {
4425
4429
  r.onBeforeRender = function(c, f, d, h, p, g) {
4426
4430
  var m = r.shaderType;
4427
4431
  d instanceof Camera ? (s.pixelRatio.value = d.pixelRatio, s.resolution.value.copy(d.resolution)) : (s.pixelRatio.value = c.getPixelRatio(), c.getViewport(scratchViewport$4), s.resolution.value.set(scratchViewport$4.width, scratchViewport$4.height));
4428
- var E = r.customShaders.filter(function(v) {
4429
- return v.type.includes(m);
4430
- }), y = E.map(function(v) {
4431
- return "".concat(v.id, ":").concat(v.version);
4432
+ var E = r.transparent === !1 && r.blending === THREE.NormalBlending;
4433
+ o.USE_OPAQUE !== E && (o.USE_OPAQUE = E, r.needsUpdate = !0);
4434
+ var y = r.customShaders.filter(function(A) {
4435
+ return A.type.includes(m);
4436
+ }), v = y.map(function(A) {
4437
+ return "".concat(A.id, ":").concat(A.version);
4432
4438
  }).join("|");
4433
- u !== y && (u = y, r.needsUpdate = !0);
4439
+ u !== v && (u = v, r.needsUpdate = !0);
4434
4440
  }, Object.defineProperty(r, "uniform", {
4435
4441
  configurable: !1,
4436
4442
  enumerable: !1,
@@ -5184,24 +5190,24 @@ function ajax(n, t, e, r, o) {
5184
5190
  r(P), f(P), (w = t.networkSubscribe) === null || w === void 0 || w.emit("network", l, "XMLHttpRequest", "timeout", P.message);
5185
5191
  }
5186
5192
  }, y = function(w) {
5187
- var P, O, C = now(), I = C - s;
5193
+ var P, F, C = now(), I = C - s;
5188
5194
  if (delete h[d], m.parentNode && m.parentNode.removeChild(m), p !== null && (window.clearTimeout(p), p = null), g !== !0) {
5189
5195
  if (w.indexOf("data:") !== 0) {
5190
5196
  var H = new NetworkResponseError(l, "XMLHttpRequest", 500);
5191
5197
  r(H), f(H), (P = t.networkSubscribe) === null || P === void 0 || P.emit("network", l, "XMLHttpRequest", "error", H.message);
5192
5198
  return;
5193
5199
  }
5194
- var F = w.split(","), L = (F[0].match(/:(.*?);/) || [])[1], k = F[1];
5200
+ var O = w.split(","), L = (O[0].match(/:(.*?);/) || [])[1], k = O[1];
5195
5201
  if (t.responseType === "arraybuffer" || t.responseType === "blob") {
5196
- for (var D = atob(F[1]), U = D.length, z = new Uint8Array(U), J = 0; J < U; J++)
5202
+ for (var D = atob(O[1]), q = D.length, z = new Uint8Array(q), J = 0; J < q; J++)
5197
5203
  z[J] = D.charCodeAt(J);
5198
5204
  t.responseType === "arraybuffer" ? k = z.buffer : k = new Blob([z], { type: L });
5199
5205
  }
5200
- var Q = {}, q = {
5206
+ var Q = {}, U = {
5201
5207
  body: k,
5202
5208
  meta: { origin: u, source: l, requestTime: s, responseTime: C, costs: I, headers: Q }
5203
5209
  };
5204
- e(q), c(q), (O = t.networkSubscribe) === null || O === void 0 || O.emit("network", l, "XMLHttpRequest", "ok", JSON.stringify(q.meta)), g = !0;
5210
+ e(U), c(U), (F = t.networkSubscribe) === null || F === void 0 || F.emit("network", l, "XMLHttpRequest", "ok", JSON.stringify(U.meta)), g = !0;
5205
5211
  }
5206
5212
  };
5207
5213
  h[d] = y, m.src = l, document.body.appendChild(m), typeof t.timeout == "number" && (p = window.setTimeout(E, t.timeout));
@@ -5220,12 +5226,12 @@ function ajax(n, t, e, r, o) {
5220
5226
  }, R = function(w) {
5221
5227
  var P;
5222
5228
  if (v !== !0) {
5223
- var O = this.status;
5224
- if (O === 0 || O >= 200 && O < 400) {
5229
+ var F = this.status;
5230
+ if (F === 0 || F >= 200 && F < 400) {
5225
5231
  v = !0, b();
5226
- var C = now(), I = C - s, H = parseHeaders(this.getAllResponseHeaders()), F = w.total, L = {
5232
+ var C = now(), I = C - s, H = parseHeaders(this.getAllResponseHeaders()), O = w.total, L = {
5227
5233
  body: this.response,
5228
- meta: { origin: u, source: l, requestTime: s, responseTime: C, costs: I, headers: H, size: F }
5234
+ meta: { origin: u, source: l, requestTime: s, responseTime: C, costs: I, headers: H, size: O }
5229
5235
  };
5230
5236
  e(L), c(L), (P = t.networkSubscribe) === null || P === void 0 || P.emit("network", l, "XMLHttpRequest", "ok", JSON.stringify(L.meta));
5231
5237
  } else
@@ -5465,6 +5471,15 @@ function normalizeURL(n) {
5465
5471
  }
5466
5472
  return r + "//" + c + "/" + d.join("/") + "/" + f;
5467
5473
  }
5474
+ function getExtname(n) {
5475
+ var t = /([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(n);
5476
+ if (t) {
5477
+ var e = String(t[1]).trim().split(".").slice(1).reverse()[0];
5478
+ if (e)
5479
+ return "." + e;
5480
+ }
5481
+ return "";
5482
+ }
5468
5483
  var webp = "data:image/webp;base64,UklGRiQAAABXRUJQVlA4IBgAAAAwAQCdASoCAAIAAUAmJaQAA3AA/vz0AAA=", avif = "data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAAGhbWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAsaWxvYwAAAABEAAACAAEAAAABAAAB3gAAABkAAgAAAAEAAAHJAAAAFQAAAEJpaW5mAAAAAAACAAAAGmluZmUCAAAAAAEAAGF2MDFDb2xvcgAAAAAaaW5mZQIAAAAAAgAAYXYwMUFscGhhAAAAABppcmVmAAAAAAAAAA5hdXhsAAIAAQABAAAA12lwcnAAAACxaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIAAoAAAAAUaXNwZQAAAAAAAAACAAAAAgAAAA5waXhpAAAAAAEIAAAADGF2MUOBABwAAAAAOGF1eEMAAAAAdXJuOm1wZWc6bXBlZ0I6Y2ljcDpzeXN0ZW1zOmF1eGlsaWFyeTphbHBoYQAAAAAeaXBtYQAAAAAAAAACAAEEAQKDBAACBAUGhwgAAAA2bWRhdBIACgQYADLVMgsWQBhhIAQqrNj/+BIACgUYADLEoDIOFkADDDDCQAACDaqCCb4=", heif = "data:image/heif;base64,AAAAGGZ0eXBoZWljAAAAAG1pZjFoZWljAAABL21ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAHBpY3QAAAAAAAAAAAAAAAAAAAAADnBpdG0AAAAAAAEAAAAjaWluZgAAAAAAAQAAABVpbmZlAgAAAAABAABodmMxAAAAAK9pcHJwAAAAkmlwY28AAAB2aHZjQwEBYAAAAAAAAAAAAADwAPz9+PgAACcDoAABAB5AAQwG//8BYAAAAwAAAwAAAwAAAwAAAwAAreTLgSChAAEAI0IBBwFgAAADAAADAAADAAADAAADAAChInJJlreTLySZNdggogABAAdEAcA98DMkAAAAFGlzcGUAAAAAAAAAAgAAAAIAAAAVaXBtYQAAAAAAAAABAAECgQIAAAAiaWxvYwAAAABEQAABAAEAAAAAAU8AAQAAAAAAAAAOAAAAFm1kYXQAAAAKJgGvLvkQwuWM4A==";
5469
5484
  function checkImage(n) {
5470
5485
  return new Promise(function(t) {
@@ -5984,96 +5999,114 @@ var FACE_ORDER$2 = ["right", "left", "up", "down", "front", "back"], TextureLoad
5984
5999
  var l, c, f, d, h, p, g;
5985
6000
  r === void 0 && (r = noop), o === void 0 && (o = noop), s === void 0 && (s = noop);
5986
6001
  var m = {};
5987
- typeof e.flipY != "undefined" && (m.flipY = e.flipY), typeof e.format != "undefined" && (m.format = e.format), typeof e.encoding != "undefined" && (m.encoding = e.encoding), m.generateMipmaps = (l = e.generateMipmaps) !== null && l !== void 0 ? l : !1, m.minFilter = (c = e.minFilter) !== null && c !== void 0 ? c : THREE.LinearFilter, m.magFilter = (f = e.magFilter) !== null && f !== void 0 ? f : THREE.LinearFilter;
5988
- var E = (h = (d = e.imageURL) === null || d === void 0 ? void 0 : d.options) !== null && h !== void 0 ? h : { key: "unknown" };
5989
- t = applyImageURLOptions(t, (p = e.imageURL) === null || p === void 0 ? void 0 : p.transform, E);
5990
- var y = (g = e.viaAjax) !== null && g !== void 0 ? g : canUseNativeImageBitmap;
5991
- if (y) {
5992
- var v = null, A = "blob";
5993
- return e.fetcher.ajax(t, { timeout: e.timeout, responseType: A }, void 0, void 0, s).then(function(S) {
5994
- return createImageBitmapLike(S.body);
5995
- }).then(function(S) {
5996
- return imageBitmapToTexture(S, e.maxSize);
5997
- }).then(function(S) {
5998
- return Object.assign(S, m), S;
5999
- }).then(function(S) {
6000
- var R = { meta: v, body: S };
6001
- return r(R), R;
6002
- }).catch(function(S) {
6003
- return o(S), Promise.reject(S);
6002
+ if (typeof e.flipY != "undefined" && (m.flipY = e.flipY), typeof e.format != "undefined")
6003
+ m.format = e.format;
6004
+ else {
6005
+ var E = getExtname(t);
6006
+ (E === ".jpg" || E === ".jpeg") && (m.format = THREE.RGBFormat);
6007
+ }
6008
+ typeof e.encoding != "undefined" && (m.encoding = e.encoding), m.generateMipmaps = (l = e.generateMipmaps) !== null && l !== void 0 ? l : !1, m.minFilter = (c = e.minFilter) !== null && c !== void 0 ? c : THREE.LinearFilter, m.magFilter = (f = e.magFilter) !== null && f !== void 0 ? f : THREE.LinearFilter;
6009
+ var y = (h = (d = e.imageURL) === null || d === void 0 ? void 0 : d.options) !== null && h !== void 0 ? h : { key: "unknown" };
6010
+ t = applyImageURLOptions(t, (p = e.imageURL) === null || p === void 0 ? void 0 : p.transform, y);
6011
+ var v = (g = e.viaAjax) !== null && g !== void 0 ? g : canUseNativeImageBitmap;
6012
+ if (v) {
6013
+ var A = null, b = "blob";
6014
+ return e.fetcher.ajax(t, { timeout: e.timeout, responseType: b }, void 0, void 0, s).then(function(R) {
6015
+ return createImageBitmapLike(R.body);
6016
+ }).then(function(R) {
6017
+ return imageBitmapToTexture(R, e.maxSize);
6018
+ }).then(function(R) {
6019
+ return Object.assign(R, m), R;
6020
+ }).then(function(R) {
6021
+ var M = { meta: A, body: R };
6022
+ return r(M), M;
6023
+ }).catch(function(R) {
6024
+ return o(R), Promise.reject(R);
6004
6025
  });
6005
6026
  } else {
6006
- var b = null, T;
6027
+ var T = null, S;
6007
6028
  return Promise.resolve().then(function() {
6008
6029
  return createImageBitmapLikeImage();
6009
- }).then(function(S) {
6010
- return T = S, e.fetcher.loadImage(t, { timeout: e.timeout }, void 0, void 0, s, S);
6011
- }).then(function(S) {
6012
- return b = S.meta, imageBitmapToTexture(S.body, e.maxSize);
6013
- }).then(function(S) {
6014
- return Object.assign(S, m), S;
6015
- }).then(function(S) {
6016
- var R = { meta: b, body: S };
6017
- return r(R), R;
6018
- }).catch(function(S) {
6019
- return T && T.close(), o(S), Promise.reject(S);
6030
+ }).then(function(R) {
6031
+ return S = R, e.fetcher.loadImage(t, { timeout: e.timeout }, void 0, void 0, s, R);
6032
+ }).then(function(R) {
6033
+ return T = R.meta, imageBitmapToTexture(R.body, e.maxSize);
6034
+ }).then(function(R) {
6035
+ return Object.assign(R, m), R;
6036
+ }).then(function(R) {
6037
+ var M = { meta: T, body: R };
6038
+ return r(M), M;
6039
+ }).catch(function(R) {
6040
+ return S && S.close(), o(R), Promise.reject(R);
6020
6041
  });
6021
6042
  }
6022
6043
  }, n.prototype.loadCubeTexture = function(t, e, r, o, s, u) {
6023
6044
  var l, c, f, d, h, p, g;
6024
6045
  r === void 0 && (r = noop), o === void 0 && (o = noop), s === void 0 && (s = noop);
6025
6046
  var m = {};
6026
- typeof e.format != "undefined" && (m.format = e.format), m.generateMipmaps = (l = e.generateMipmaps) !== null && l !== void 0 ? l : !1, m.minFilter = (c = e.minFilter) !== null && c !== void 0 ? c : THREE.LinearFilter, m.magFilter = (f = e.magFilter) !== null && f !== void 0 ? f : THREE.LinearFilter;
6027
- for (var E = [
6047
+ if (typeof e.format != "undefined")
6048
+ m.format = e.format;
6049
+ else {
6050
+ for (var E = !0, y = 0, v = FACE_ORDER$2; y < v.length; y++) {
6051
+ var A = v[y], b = getExtname(t[A]);
6052
+ if (b !== ".jpg" && b !== ".jpeg") {
6053
+ E = !1;
6054
+ break;
6055
+ }
6056
+ }
6057
+ E && (m.format = THREE.RGBFormat);
6058
+ }
6059
+ m.generateMipmaps = (l = e.generateMipmaps) !== null && l !== void 0 ? l : !1, m.minFilter = (c = e.minFilter) !== null && c !== void 0 ? c : THREE.LinearFilter, m.magFilter = (f = e.magFilter) !== null && f !== void 0 ? f : THREE.LinearFilter;
6060
+ for (var T = [
6028
6061
  t[FACE_ORDER$2[0]],
6029
6062
  t[FACE_ORDER$2[1]],
6030
6063
  t[FACE_ORDER$2[2]],
6031
6064
  t[FACE_ORDER$2[3]],
6032
6065
  t[FACE_ORDER$2[4]],
6033
6066
  t[FACE_ORDER$2[5]]
6034
- ], y = [], v = [0, 0, 0, 0, 0, 0], A = [], b = function(S) {
6035
- var R = (h = (d = e.imageURL) === null || d === void 0 ? void 0 : d.options) !== null && h !== void 0 ? h : { key: "unknown" }, M = applyImageURLOptions(E[S], (p = e.imageURL) === null || p === void 0 ? void 0 : p.transform, __assign(__assign({}, R), { key: R.key + "." + FACE_ORDER$2[S] })), w = function(H) {
6036
- v[S] = H, s(v.reduce(function(F, L) {
6037
- return F + L;
6067
+ ], S = [], R = [0, 0, 0, 0, 0, 0], M = [], w = function(F) {
6068
+ var C = (h = (d = e.imageURL) === null || d === void 0 ? void 0 : d.options) !== null && h !== void 0 ? h : { key: "unknown" }, I = applyImageURLOptions(T[F], (p = e.imageURL) === null || p === void 0 ? void 0 : p.transform, __assign(__assign({}, C), { key: C.key + "." + FACE_ORDER$2[F] })), H = function(q) {
6069
+ R[F] = q, s(R.reduce(function(z, J) {
6070
+ return z + J;
6038
6071
  }, 0) / 6);
6039
- }, P = (g = e.viaAjax) !== null && g !== void 0 ? g : !1;
6040
- if (P) {
6041
- var O = "blob", C = e.fetcher.ajax(M, { timeout: e.timeout, responseType: O }, void 0, void 0, w).then(function(H) {
6042
- return A[S] = H.meta, createImageBitmapLike(H.body);
6072
+ }, O = (g = e.viaAjax) !== null && g !== void 0 ? g : !1;
6073
+ if (O) {
6074
+ var L = "blob", k = e.fetcher.ajax(I, { timeout: e.timeout, responseType: L }, void 0, void 0, H).then(function(q) {
6075
+ return M[F] = q.meta, createImageBitmapLike(q.body);
6043
6076
  });
6044
- y.push(C);
6077
+ S.push(k);
6045
6078
  } else {
6046
- var I, C = Promise.resolve().then(function() {
6079
+ var D, k = Promise.resolve().then(function() {
6047
6080
  return createImageBitmapLikeImage();
6048
- }).then(function(F) {
6049
- return I = F, e.fetcher.loadImage(M, { timeout: e.timeout }, void 0, void 0, w, F);
6050
- }).then(function(F) {
6051
- return A[S] = F.meta, F.body;
6052
- }).catch(function(F) {
6053
- return I && I.close(), Promise.reject(F);
6081
+ }).then(function(z) {
6082
+ return D = z, e.fetcher.loadImage(I, { timeout: e.timeout }, void 0, void 0, H, z);
6083
+ }).then(function(z) {
6084
+ return M[F] = z.meta, z.body;
6085
+ }).catch(function(z) {
6086
+ return D && D.close(), Promise.reject(z);
6054
6087
  });
6055
- y.push(C);
6056
- }
6057
- }, T = 0; T < 6; T++)
6058
- b(T);
6059
- return Promise.all(y).then(function(S) {
6060
- return imageBitmapsToCubeTexture(S);
6061
- }).then(function(S) {
6062
- return Object.assign(S, __assign({ encoding: THREE.sRGBEncoding }, m)), S;
6063
- }).then(function(S) {
6064
- var R = {
6065
- body: S,
6066
- meta: A
6088
+ S.push(k);
6089
+ }
6090
+ }, P = 0; P < 6; P++)
6091
+ w(P);
6092
+ return Promise.all(S).then(function(F) {
6093
+ return imageBitmapsToCubeTexture(F);
6094
+ }).then(function(F) {
6095
+ return Object.assign(F, __assign({ encoding: THREE.sRGBEncoding }, m)), F;
6096
+ }).then(function(F) {
6097
+ var C = {
6098
+ body: F,
6099
+ meta: M
6067
6100
  };
6068
- return r(R), R;
6069
- }).catch(function(S) {
6070
- for (var R = 0, M = y; R < M.length; R++) {
6071
- var w = M[R];
6072
- w.then(function(P) {
6073
- return P.close();
6101
+ return r(C), C;
6102
+ }).catch(function(F) {
6103
+ for (var C = 0, I = S; C < I.length; C++) {
6104
+ var H = I[C];
6105
+ H.then(function(O) {
6106
+ return O.close();
6074
6107
  }).catch(noop);
6075
6108
  }
6076
- return o(S), Promise.reject(S);
6109
+ return o(F), Promise.reject(F);
6077
6110
  });
6078
6111
  }, n;
6079
6112
  })()
@@ -7419,15 +7452,15 @@ function parsePBMModel(n) {
7419
7452
  var h = T[R];
7420
7453
  S += h.faces.indices.length;
7421
7454
  }
7422
- for (var M = new Float32Array(S * 3), w = new Float32Array(S * 2), P = new Float32Array(S * 3), O = c ? new Float32Array(S) : void 0, C = [], I = [1 / 0, 1 / 0, 1 / 0, -1 / 0, -1 / 0, -1 / 0], H = 0, F = 0; F < T.length; F++) {
7423
- for (var L = [1 / 0, 1 / 0, 1 / 0, -1 / 0, -1 / 0, -1 / 0], h = T[F], k = h.vertices.xyz, D = h.vertices.uvs, U = h.faces.indices, z = h.faces.normals, J = h.vertices.marks, Q = U.length, R = 0; R < Q; R++) {
7424
- var q = U[R], j = M[H * 3 + R * 3] = k[q * 3], G = M[H * 3 + R * 3 + 1] = k[q * 3 + 1], ae = M[H * 3 + R * 3 + 2] = k[q * 3 + 2];
7425
- O && (O[H + R] = J[q]), w[H * 2 + R * 2] = D[q * 2], w[H * 2 + R * 2 + 1] = D[q * 2 + 1];
7455
+ for (var M = new Float32Array(S * 3), w = new Float32Array(S * 2), P = new Float32Array(S * 3), F = c ? new Float32Array(S) : void 0, C = [], I = [1 / 0, 1 / 0, 1 / 0, -1 / 0, -1 / 0, -1 / 0], H = 0, O = 0; O < T.length; O++) {
7456
+ for (var L = [1 / 0, 1 / 0, 1 / 0, -1 / 0, -1 / 0, -1 / 0], h = T[O], k = h.vertices.xyz, D = h.vertices.uvs, q = h.faces.indices, z = h.faces.normals, J = h.vertices.marks, Q = q.length, R = 0; R < Q; R++) {
7457
+ var U = q[R], j = M[H * 3 + R * 3] = k[U * 3], G = M[H * 3 + R * 3 + 1] = k[U * 3 + 1], ae = M[H * 3 + R * 3 + 2] = k[U * 3 + 2];
7458
+ F && (F[H + R] = J[U]), w[H * 2 + R * 2] = D[U * 2], w[H * 2 + R * 2 + 1] = D[U * 2 + 1];
7426
7459
  var ee = Math.floor(R / 3) * 3;
7427
7460
  P[H * 3 + R * 3] = z[ee], P[H * 3 + R * 3 + 1] = z[ee + 1], P[H * 3 + R * 3 + 2] = z[ee + 2], j < L[0] && (L[0] = j), G < L[1] && (L[1] = G), ae < L[2] && (L[2] = ae), j > L[3] && (L[3] = j), G > L[4] && (L[4] = G), ae > L[5] && (L[5] = ae);
7428
7461
  }
7429
7462
  L[0] < I[0] && (I[0] = L[0]), L[1] < I[1] && (I[1] = L[1]), L[2] < I[2] && (I[2] = L[2]), L[3] > I[3] && (I[3] = L[3]), L[4] > I[4] && (I[4] = L[4]), L[5] > I[5] && (I[5] = L[5]), C.push({
7430
- materialIndex: F,
7463
+ materialIndex: O,
7431
7464
  name: h.name,
7432
7465
  chunkName: parseChunkName(h.name),
7433
7466
  start: H,
@@ -7441,7 +7474,7 @@ function parsePBMModel(n) {
7441
7474
  vertices: M,
7442
7475
  uvs: w,
7443
7476
  normals: P,
7444
- masks: O,
7477
+ masks: F,
7445
7478
  indices: null,
7446
7479
  floorIndex: b,
7447
7480
  groups: C,
@@ -7453,16 +7486,16 @@ function parsePBMModel(n) {
7453
7486
  var h = T[R];
7454
7487
  $ += h.vertices.xyz.length / 3, S += h.faces.indices.length;
7455
7488
  }
7456
- for (var M = new Float32Array($ * 3), w = new Float32Array($ * 2), P = void 0, X = new Float32Array($), ne = new Uint32Array(S), O = c ? new Float32Array(S) : void 0, C = [], I = [1 / 0, 1 / 0, 1 / 0, -1 / 0, -1 / 0, -1 / 0], W = 0, H = 0, F = 0; F < T.length; F++) {
7457
- for (var L = [1 / 0, 1 / 0, 1 / 0, -1 / 0, -1 / 0, -1 / 0], h = T[F], k = h.vertices.xyz, K = h.vertices.marks, D = h.vertices.uvs, U = h.faces.indices, re = k.length / 3, Q = U.length, R = 0; R < re; R++) {
7489
+ for (var M = new Float32Array($ * 3), w = new Float32Array($ * 2), P = void 0, X = new Float32Array($), ne = new Uint32Array(S), F = c ? new Float32Array(S) : void 0, C = [], I = [1 / 0, 1 / 0, 1 / 0, -1 / 0, -1 / 0, -1 / 0], W = 0, H = 0, O = 0; O < T.length; O++) {
7490
+ for (var L = [1 / 0, 1 / 0, 1 / 0, -1 / 0, -1 / 0, -1 / 0], h = T[O], k = h.vertices.xyz, K = h.vertices.marks, D = h.vertices.uvs, q = h.faces.indices, re = k.length / 3, Q = q.length, R = 0; R < re; R++) {
7458
7491
  var j = M[H * 3 + R * 3] = k[R * 3], G = M[H * 3 + R * 3 + 1] = k[R * 3 + 1], ae = M[H * 3 + R * 3 + 2] = k[R * 3 + 2];
7459
- O && (O[H + R] = K[R]), w[H * 2 + R * 2] = D[R * 2], w[H * 2 + R * 2 + 1] = D[R * 2 + 1], X[H + R] = b, j < L[0] && (L[0] = j), G < L[1] && (L[1] = G), ae < L[2] && (L[2] = ae), j > L[3] && (L[3] = j), G > L[4] && (L[4] = G), ae > L[5] && (L[5] = ae);
7492
+ F && (F[H + R] = K[R]), w[H * 2 + R * 2] = D[R * 2], w[H * 2 + R * 2 + 1] = D[R * 2 + 1], X[H + R] = b, j < L[0] && (L[0] = j), G < L[1] && (L[1] = G), ae < L[2] && (L[2] = ae), j > L[3] && (L[3] = j), G > L[4] && (L[4] = G), ae > L[5] && (L[5] = ae);
7460
7493
  }
7461
7494
  L[0] < I[0] && (I[0] = L[0]), L[1] < I[1] && (I[1] = L[1]), L[2] < I[2] && (I[2] = L[2]), L[3] > I[3] && (I[3] = L[3]), L[4] > I[4] && (I[4] = L[4]), L[5] > I[5] && (I[5] = L[5]);
7462
7495
  for (var R = 0; R < Q; R++)
7463
- ne[W + R] = H + U[R];
7496
+ ne[W + R] = H + q[R];
7464
7497
  C.push({
7465
- materialIndex: F,
7498
+ materialIndex: O,
7466
7499
  name: h.name,
7467
7500
  chunkName: parseChunkName(h.name),
7468
7501
  start: W,
@@ -7476,7 +7509,7 @@ function parsePBMModel(n) {
7476
7509
  vertices: M,
7477
7510
  uvs: w,
7478
7511
  normals: P,
7479
- masks: O,
7512
+ masks: F,
7480
7513
  indices: ne,
7481
7514
  floorIndex: b,
7482
7515
  groups: C,
@@ -7507,23 +7540,23 @@ function loadTexture$1(n, t, e, r) {
7507
7540
  }
7508
7541
  function parse$4(n, t, e, r, o, s, u) {
7509
7542
  for (var l = parsePBMModel(n), c = 0, f = "", d = [], h = {}, p = /* @__PURE__ */ new Set(), g = 0, m = 0, E = l; m < E.length; m++) {
7510
- var y = E[m], v = y.createAt, A = y.description, b = y.vertices, T = y.masks, S = y.uvs, R = y.normals, M = y.indices, w = y.floorIndex, P = y.groups, O = y.extents, C = new THREE.Box3();
7511
- C.min.x = O[0], C.min.y = O[1], C.min.z = O[2], C.max.x = O[3], C.max.y = O[4], C.max.z = O[5];
7543
+ var y = E[m], v = y.createAt, A = y.description, b = y.vertices, T = y.masks, S = y.uvs, R = y.normals, M = y.indices, w = y.floorIndex, P = y.groups, F = y.extents, C = new THREE.Box3();
7544
+ C.min.x = F[0], C.min.y = F[1], C.min.z = F[2], C.max.x = F[3], C.max.y = F[4], C.max.z = F[5];
7512
7545
  var I = new THREE.BufferGeometry();
7513
7546
  I.setAttribute("position", new THREE.BufferAttribute(b, 3)), I.setAttribute("uv", new THREE.BufferAttribute(S, 2)), R && I.setAttribute("normal", new THREE.BufferAttribute(R, 3)), T && I.setAttribute("_feature_id_rsmask", new THREE.BufferAttribute(T, 1)), M && I.setIndex(new THREE.BufferAttribute(M, 1)), I.boundingBox = C, I.boundingSphere = C.getBoundingSphere(new THREE.Sphere());
7514
- for (var H = 0, F = P; H < F.length; H++) {
7515
- var L = F[H];
7547
+ for (var H = 0, O = P; H < O.length; H++) {
7548
+ var L = O[H];
7516
7549
  I.addGroup(L.start, L.count, L.materialIndex);
7517
7550
  }
7518
7551
  p.add(I);
7519
- for (var k = [], D = 0, U = P; D < U.length; D++) {
7520
- var L = U[D], z = void 0;
7552
+ for (var k = [], D = 0, q = P; D < q.length; D++) {
7553
+ var L = q[D], z = void 0;
7521
7554
  if (L.texture) {
7522
7555
  if (z = L.texture, r.length > 0 && r.indexOf(L.texture) === -1) {
7523
7556
  for (var J = 0, Q = r; J < Q.length; J++) {
7524
- var q = Q[J], j = isAbsoluteURL(q) ? q : pathJoin(e, q), G = j.slice(L.texture.length * -1) === L.texture;
7557
+ var U = Q[J], j = isAbsoluteURL(U) ? U : pathJoin(e, U), G = j.slice(L.texture.length * -1) === L.texture;
7525
7558
  if (G) {
7526
- z = q;
7559
+ z = U;
7527
7560
  break;
7528
7561
  }
7529
7562
  }
@@ -8529,15 +8562,15 @@ function parse$3(n, t, e, r, o) {
8529
8562
  for (var R = 0, M = S; R < M.length; R++) {
8530
8563
  var w = M[R];
8531
8564
  d.elements = w.elements;
8532
- for (var P = new THREE.Group(), O = 0; O < T.length; O++) {
8533
- var C = parseGeometry(T[O].geometry);
8565
+ for (var P = new THREE.Group(), F = 0; F < T.length; F++) {
8566
+ var C = parseGeometry(T[F].geometry);
8534
8567
  C.applyMatrix4(d), d.decompose(h, p, g), g.x * g.y * g.z < 0 && C.attributes.normal && C.attributes.position && C.attributes.uv && flipBufferGeometryNormals(C), l.add(C);
8535
- for (var I = [], H = 0, F = T[O].material; H < F.length; H++) {
8536
- var L = F[H], k = parseMaterial(L, t, e || "", r, f, o, m, l, E), D = k.material, U = k.textureReady;
8537
- u.push(U), I.push(D);
8568
+ for (var I = [], H = 0, O = T[F].material; H < O.length; H++) {
8569
+ var L = O[H], k = parseMaterial(L, t, e || "", r, f, o, m, l, E), D = k.material, q = k.textureReady;
8570
+ u.push(q), I.push(D);
8538
8571
  }
8539
8572
  var z = new PBMMesh(C, I);
8540
- z.name = "chunk_" + O, z.matrix.compose(z.position, z.quaternion, z.scale), z.matrixAutoUpdate = !1, z.frustumCulled = !1, P.add(z);
8573
+ z.name = "chunk_" + F, z.matrix.compose(z.position, z.quaternion, z.scale), z.matrixAutoUpdate = !1, z.frustumCulled = !1, P.add(z);
8541
8574
  }
8542
8575
  P.name = b, s.push(P);
8543
8576
  }
@@ -8956,8 +8989,8 @@ var Parser = (
8956
8989
  Promise.all(g),
8957
8990
  Promise.all(m)
8958
8991
  ]).then(function(M) {
8959
- for (var w = M[0], P = M[1], O = M[2], C = M[3], I = M[4], H = [], F = function(U, z) {
8960
- var J = w[U], Q = P[U], q = O[U], j = C[U], G = I[U];
8992
+ for (var w = M[0], P = M[1], F = M[2], C = M[3], I = M[4], H = [], O = function(q, z) {
8993
+ var J = w[q], Q = P[q], U = F[q], j = C[q], G = I[q];
8961
8994
  if (J === void 0)
8962
8995
  return "continue";
8963
8996
  J.updateMatrix(), J.matrixAutoUpdate = !0;
@@ -8979,8 +9012,8 @@ var Parser = (
8979
9012
  PATH_PROPERTIES[G.path] === PATH_PROPERTIES.weights ? J.traverse(function(ie) {
8980
9013
  ie.morphTargetInfluences && $.push(ie.name ? ie.name : ie.uuid);
8981
9014
  }) : $.push(ee);
8982
- var X = q.array;
8983
- if (q.normalized) {
9015
+ var X = U.array;
9016
+ if (U.normalized) {
8984
9017
  for (var ne = getNormalizedComponentScale(X.constructor), W = new Float32Array(X.length), K = 0, re = X.length; K < re; K++)
8985
9018
  W[K] = X[K] * ne;
8986
9019
  X = W;
@@ -8990,7 +9023,7 @@ var Parser = (
8990
9023
  H.push(te);
8991
9024
  }
8992
9025
  }, L = 0, k = w.length; L < k; L++)
8993
- F(L);
9026
+ O(L);
8994
9027
  var D = f.name ? f.name : "animation_" + t;
8995
9028
  return new THREE.AnimationClip(D, void 0, H);
8996
9029
  });
@@ -9053,11 +9086,11 @@ var Parser = (
9053
9086
  } else
9054
9087
  f === null ? v = new h(u.count * d) : v = new h(f, m, u.count * d), A = new THREE.BufferAttribute(v, d, y);
9055
9088
  if (u.sparse !== void 0) {
9056
- var R = WEBGL_TYPE_SIZES.SCALAR, M = WEBGL_COMPONENT_TYPES[u.sparse.indices.componentType], w = u.sparse.indices.byteOffset || 0, P = u.sparse.values.byteOffset || 0, O = new M(c[1], w, u.sparse.count * R), C = new h(c[2], P, u.sparse.count * d);
9089
+ var R = WEBGL_TYPE_SIZES.SCALAR, M = WEBGL_COMPONENT_TYPES[u.sparse.indices.componentType], w = u.sparse.indices.byteOffset || 0, P = u.sparse.values.byteOffset || 0, F = new M(c[1], w, u.sparse.count * R), C = new h(c[2], P, u.sparse.count * d);
9057
9090
  f !== null && (A = new THREE.BufferAttribute(A.array.slice(), A.itemSize, A.normalized));
9058
- for (var I = 0, H = O.length; I < H; I++) {
9059
- var F = O[I];
9060
- if (A.setX(F, C[I * d]), d >= 2 && A.setY(F, C[I * d + 1]), d >= 3 && A.setZ(F, C[I * d + 2]), d >= 4 && A.setW(F, C[I * d + 3]), d >= 5)
9091
+ for (var I = 0, H = F.length; I < H; I++) {
9092
+ var O = F[I];
9093
+ if (A.setX(O, C[I * d]), d >= 2 && A.setY(O, C[I * d + 1]), d >= 3 && A.setZ(O, C[I * d + 2]), d >= 4 && A.setW(O, C[I * d + 3]), d >= 5)
9061
9094
  throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.");
9062
9095
  }
9063
9096
  }
@@ -9127,19 +9160,19 @@ var Parser = (
9127
9160
  u.baseColorTexture !== void 0 && r.push(this.createMaterialTexture(u.baseColorTexture).then(function(d) {
9128
9161
  d.encoding = THREE.sRGBEncoding, o.map = d, e.disposeSet.add(d);
9129
9162
  })), o.metalness = u.metallicFactor !== void 0 ? u.metallicFactor : 1, o.roughness = u.roughnessFactor !== void 0 ? u.roughnessFactor : 1, u.metallicRoughnessTexture !== void 0 && r.push(this.createMaterialTexture(u.metallicRoughnessTexture).then(function(d) {
9130
- o.metalnessMap = d, o.roughnessMap = d, e.disposeSet.add(d);
9163
+ d.format = THREE.RGBFormat, o.metalnessMap = d, o.roughnessMap = d, e.disposeSet.add(d);
9131
9164
  })), s.doubleSided === !0 && (o.side = THREE.DoubleSide);
9132
9165
  var c = s.alphaMode || ALPHA_MODES.OPAQUE;
9133
- if (c === ALPHA_MODES.BLEND ? (o.transparent = !0, o.depthWrite = !1) : (o.transparent = !1, c === ALPHA_MODES.MASK && (o.alphaTest = s.alphaCutoff !== void 0 ? s.alphaCutoff : 0.5, o.blending = THREE.CustomBlending, o.blendSrcAlpha = THREE.OneFactor)), s.normalTexture !== void 0 && (r.push(this.createMaterialTexture(s.normalTexture).then(function(d) {
9134
- o.normalMap = d, e.disposeSet.add(d);
9166
+ if (c === ALPHA_MODES.BLEND ? (o.transparent = !0, o.depthWrite = !1) : (o.transparent = !1, c === ALPHA_MODES.MASK && (o.alphaTest = s.alphaCutoff !== void 0 ? s.alphaCutoff : 0.5)), s.normalTexture !== void 0 && (r.push(this.createMaterialTexture(s.normalTexture).then(function(d) {
9167
+ d.format = THREE.RGBFormat, o.normalMap = d, e.disposeSet.add(d);
9135
9168
  })), o.normalScale = new THREE.Vector2(1, 1), s.normalTexture.scale !== void 0)) {
9136
9169
  var f = s.normalTexture.scale;
9137
9170
  o.normalScale.set(f, f);
9138
9171
  }
9139
9172
  s.occlusionTexture !== void 0 && (r.push(this.createMaterialTexture(s.occlusionTexture).then(function(d) {
9140
- o.aoMap = d, e.disposeSet.add(d);
9173
+ d.format = THREE.RGBFormat, o.aoMap = d, e.disposeSet.add(d);
9141
9174
  })), s.occlusionTexture.strength !== void 0 && (o.aoMapIntensity = s.occlusionTexture.strength)), s.emissiveFactor !== void 0 && (o.emissive = new THREE.Color().fromArray(s.emissiveFactor)), s.emissiveTexture !== void 0 && r.push(this.createMaterialTexture(s.emissiveTexture).then(function(d) {
9142
- o.emissiveMap = d, e.disposeSet.add(d);
9175
+ d.format = THREE.RGBFormat, o.emissiveMap = d, e.disposeSet.add(d);
9143
9176
  }));
9144
9177
  }
9145
9178
  return this.disposeSet.add(o), Promise.all(r).then(function() {
@@ -9319,11 +9352,11 @@ var Parser = (
9319
9352
  }
9320
9353
  if (E.length === 1)
9321
9354
  return E[0];
9322
- for (var O = new THREE.Group(), C = 0, I = E; C < I.length; C++) {
9355
+ for (var F = new THREE.Group(), C = 0, I = E; C < I.length; C++) {
9323
9356
  var S = I[C];
9324
- O.add(S);
9357
+ F.add(S);
9325
9358
  }
9326
- return O;
9359
+ return F;
9327
9360
  });
9328
9361
  }
9329
9362
  return r;
@@ -9440,26 +9473,31 @@ var Parser = (
9440
9473
  t.boundingBox = f;
9441
9474
  var T = new THREE.Sphere();
9442
9475
  return f.getCenter(T.center), T.radius = f.min.distanceTo(f.max) / 2, t.boundingSphere = T, Promise.all(s).then(function() {
9443
- if (t.attributes.uv && !t.attributes.uv2 && r.options.copyUV2 && t.setAttribute("uv2", t.attributes.uv), e.targets) {
9444
- for (var S = !1, R = !1, M = 0, w = e.targets.length; M < w; M++) {
9445
- var P = e.targets[M];
9446
- if (P.POSITION !== void 0 && (S = !0), P.NORMAL !== void 0 && (R = !0), S && R)
9476
+ var S = !1;
9477
+ if (e.material !== void 0) {
9478
+ var R = r.json.materials[e.material];
9479
+ R.occlusionTexture && (S = !0);
9480
+ }
9481
+ if ((S || r.options.copyUV2) && t.attributes.uv && !t.attributes.uv2 && t.setAttribute("uv2", t.attributes.uv), e.targets) {
9482
+ for (var M = !1, w = !1, P = 0, F = e.targets.length; P < F; P++) {
9483
+ var C = e.targets[P];
9484
+ if (C.POSITION !== void 0 && (M = !0), C.NORMAL !== void 0 && (w = !0), M && w)
9447
9485
  break;
9448
9486
  }
9449
- if (!S && !R)
9487
+ if (!M && !w)
9450
9488
  return t;
9451
- var O = [];
9489
+ var I = [];
9452
9490
  t.morphTargetsRelative = !0;
9453
- for (var C = function(I, H) {
9454
- var F = e.targets[I];
9455
- S ? O.push(r.loadAccessor(F.POSITION).then(function(L) {
9456
- L && (t.morphAttributes.position = t.morphAttributes.position || [], t.morphAttributes.position[I] = L);
9457
- })) : t.attributes.position && (t.morphAttributes.position = t.morphAttributes.position || [], t.morphAttributes.position[I] = t.attributes.position), R ? O.push(r.loadAccessor(F.NORMAL).then(function(L) {
9458
- L && (t.morphAttributes.normal = t.morphAttributes.normal || [], t.morphAttributes.normal[I] = L);
9459
- })) : t.attributes.normal && (t.morphAttributes.normal = t.morphAttributes.normal || [], t.morphAttributes.normal[I] = t.attributes.normal);
9460
- }, M = 0, w = e.targets.length; M < w; M++)
9461
- C(M, w);
9462
- return Promise.all(O).then(function() {
9491
+ for (var H = function(O, L) {
9492
+ var k = e.targets[O];
9493
+ M ? I.push(r.loadAccessor(k.POSITION).then(function(D) {
9494
+ D && (t.morphAttributes.position = t.morphAttributes.position || [], t.morphAttributes.position[O] = D);
9495
+ })) : t.attributes.position && (t.morphAttributes.position = t.morphAttributes.position || [], t.morphAttributes.position[O] = t.attributes.position), w ? I.push(r.loadAccessor(k.NORMAL).then(function(D) {
9496
+ D && (t.morphAttributes.normal = t.morphAttributes.normal || [], t.morphAttributes.normal[O] = D);
9497
+ })) : t.attributes.normal && (t.morphAttributes.normal = t.morphAttributes.normal || [], t.morphAttributes.normal[O] = t.attributes.normal);
9498
+ }, P = 0, F = e.targets.length; P < F; P++)
9499
+ H(P, F);
9500
+ return Promise.all(I).then(function() {
9463
9501
  return t;
9464
9502
  });
9465
9503
  } else
@@ -10502,9 +10540,9 @@ var BaseExtension = (
10502
10540
  return A.buffer.slice(0, S);
10503
10541
  }
10504
10542
  function c(v, A, b, T, S, R) {
10505
- var M = s.exports.sbrk, w = b + 3 & -4, P = M(w * T), O = M(S.length), C = new Uint8Array(s.exports.memory.buffer);
10506
- C.set(S, O);
10507
- var I = v(P, b, T, O, S.length);
10543
+ var M = s.exports.sbrk, w = b + 3 & -4, P = M(w * T), F = M(S.length), C = new Uint8Array(s.exports.memory.buffer);
10544
+ C.set(S, F);
10545
+ var I = v(P, b, T, F, S.length);
10508
10546
  if (I == 0 && R && R(P, w, T), A.set(C.subarray(P, P + b * T)), M(P - M(0)), I != 0)
10509
10547
  throw new Error("Malformed buffer data: " + I);
10510
10548
  }
@@ -10538,8 +10576,8 @@ var BaseExtension = (
10538
10576
  for (var R = h[0], M = 1; M < h.length; ++M)
10539
10577
  h[M].pending < R.pending && (R = h[M]);
10540
10578
  return new Promise(function(w, P) {
10541
- var O = new Uint8Array(b), C = p++;
10542
- R.pending += v, R.requests[C] = { resolve: w, reject: P }, R.object.postMessage({ id: C, count: v, size: A, source: O, mode: T, filter: S }, [O.buffer]);
10579
+ var F = new Uint8Array(b), C = p++;
10580
+ R.pending += v, R.requests[C] = { resolve: w, reject: P }, R.object.postMessage({ id: C, count: v, size: A, source: F, mode: T, filter: S }, [F.buffer]);
10543
10581
  });
10544
10582
  }
10545
10583
  function y(v) {
@@ -10689,8 +10727,8 @@ var BaseExtension = (
10689
10727
  }
10690
10728
  if (m.length === 1)
10691
10729
  return m[0];
10692
- for (var P = new THREE.Group(), O = 0, C = m; O < C.length; O++) {
10693
- var T = C[O];
10730
+ for (var P = new THREE.Group(), F = 0, C = m; F < C.length; F++) {
10731
+ var T = C[F];
10694
10732
  P.add(T);
10695
10733
  }
10696
10734
  return P;
@@ -10729,19 +10767,19 @@ var BaseExtension = (
10729
10767
  c.baseColorTexture !== void 0 && o.push(r.createMaterialTexture(c.baseColorTexture).then(function(p) {
10730
10768
  p.encoding = THREE.sRGBEncoding, u.map = p, l.alphaMode === ALPHA_MODES.MASK && !(p instanceof THREE.CompressedTexture) && p.minFilter !== THREE.LinearMipmapLinearFilter && (p.minFilter = THREE.LinearMipmapLinearFilter, p.generateMipmaps = !0), r.disposeSet.add(p);
10731
10769
  })), u.metalness = c.metallicFactor !== void 0 ? c.metallicFactor : 1, u.roughness = c.roughnessFactor !== void 0 ? c.roughnessFactor : 1, c.metallicRoughnessTexture !== void 0 && o.push(r.createMaterialTexture(c.metallicRoughnessTexture).then(function(p) {
10732
- u.roughnessMap = p, u.metalnessMap = p, r.disposeSet.add(p);
10770
+ p.format = THREE.RGBFormat, u.roughnessMap = p, u.metalnessMap = p, r.disposeSet.add(p);
10733
10771
  })), l.doubleSided === !0 && (u.side = THREE.DoubleSide);
10734
10772
  var d = l.alphaMode || ALPHA_MODES.OPAQUE;
10735
- if (u.alphaMode = "OPAQUE", d === ALPHA_MODES.BLEND ? (u.alphaMode = "BLEND", u.transparent = !0, u.depthWrite = !1) : (u.transparent = !1, d === ALPHA_MODES.MASK && (u.alphaMode = "MASK", u.alphaTest = l.alphaCutoff !== void 0 ? l.alphaCutoff : 0.5, u.blending = THREE.CustomBlending, u.blendSrcAlpha = THREE.OneFactor)), l.normalTexture !== void 0 && (o.push(r.createMaterialTexture(l.normalTexture).then(function(p) {
10773
+ if (u.alphaMode = "OPAQUE", d === ALPHA_MODES.BLEND ? (u.alphaMode = "BLEND", u.transparent = !0, u.depthWrite = !1) : (u.transparent = !1, d === ALPHA_MODES.MASK && (u.alphaMode = "MASK", u.alphaTest = l.alphaCutoff !== void 0 ? l.alphaCutoff : 0.5)), l.normalTexture !== void 0 && (o.push(r.createMaterialTexture(l.normalTexture).then(function(p) {
10736
10774
  r.disposeSet.add(p), u.normalMap = p;
10737
10775
  })), u.normalScale = new THREE.Vector2(1, 1), l.normalTexture.scale !== void 0)) {
10738
10776
  var h = l.normalTexture.scale;
10739
10777
  u.normalScale.set(h, h);
10740
10778
  }
10741
10779
  l.occlusionTexture !== void 0 && (o.push(r.createMaterialTexture(l.occlusionTexture).then(function(p) {
10742
- u.aoMap = p, r.disposeSet.add(p);
10780
+ p.format = THREE.RGBFormat, u.aoMap = p, r.disposeSet.add(p);
10743
10781
  })), l.occlusionTexture.strength !== void 0 && (u.aoMapIntensity = l.occlusionTexture.strength)), l.emissiveFactor !== void 0 && (u.emissive = new THREE.Color().fromArray(l.emissiveFactor)), l.emissiveTexture !== void 0 && o.push(r.createMaterialTexture(l.emissiveTexture).then(function(p) {
10744
- u.emissiveMap = p, r.disposeSet.add(p);
10782
+ p.format = THREE.RGBFormat, u.emissiveMap = p, r.disposeSet.add(p);
10745
10783
  }));
10746
10784
  }
10747
10785
  return r.disposeSet.add(u), Promise.all(o).then(function() {
@@ -10807,7 +10845,7 @@ function parseGltf(n, t) {
10807
10845
  s[p] || (EXTENSIONS[p] ? s[p] = new EXTENSIONS[p]() : d.indexOf(p) >= 0 && console.warn('glTF: Unknown extension "' + p + '".'));
10808
10846
  }
10809
10847
  var g = new Parser(f, s, {
10810
- copyUV2: (e = t.copyUV2) !== null && e !== void 0 ? e : !0,
10848
+ copyUV2: (e = t.copyUV2) !== null && e !== void 0 ? e : !1,
10811
10849
  resourcePath: (r = t.resourcePath) !== null && r !== void 0 ? r : "",
10812
10850
  search: (o = t.search) !== null && o !== void 0 ? o : "",
10813
10851
  fetcher: t.fetcher
@@ -11656,11 +11694,11 @@ var flrm = /* @__PURE__ */ hMap(flt, 9, 1), fdrm = /* @__PURE__ */ hMap(fdt, 5,
11656
11694
  else if (A == 2) {
11657
11695
  var R = bits(n, h, 31) + 257, M = bits(n, h + 10, 15) + 4, w = R + bits(n, h + 5, 31) + 1;
11658
11696
  h += 14;
11659
- for (var P = new u8(w), O = new u8(19), C = 0; C < M; ++C)
11660
- O[clim[C]] = bits(n, h + C * 3, 7);
11697
+ for (var P = new u8(w), F = new u8(19), C = 0; C < M; ++C)
11698
+ F[clim[C]] = bits(n, h + C * 3, 7);
11661
11699
  h += M * 3;
11662
- for (var I = max(O), H = (1 << I) - 1, F = hMap(O, I, 1), C = 0; C < w; ) {
11663
- var L = F[bits(n, h, H)];
11700
+ for (var I = max(F), H = (1 << I) - 1, O = hMap(F, I, 1), C = 0; C < w; ) {
11701
+ var L = O[bits(n, h, H)];
11664
11702
  h += L & 15;
11665
11703
  var b = L >> 4;
11666
11704
  if (b < 16)
@@ -11671,8 +11709,8 @@ var flrm = /* @__PURE__ */ hMap(flt, 9, 1), fdrm = /* @__PURE__ */ hMap(fdt, 5,
11671
11709
  P[C++] = k;
11672
11710
  }
11673
11711
  }
11674
- var U = P.subarray(0, R), z = P.subarray(R);
11675
- E = max(U), y = max(z), g = hMap(U, E, 1), m = hMap(z, y, 1);
11712
+ var q = P.subarray(0, R), z = P.subarray(R);
11713
+ E = max(q), y = max(z), g = hMap(q, E, 1), m = hMap(z, y, 1);
11676
11714
  } else
11677
11715
  err(1);
11678
11716
  else {
@@ -11690,7 +11728,7 @@ var flrm = /* @__PURE__ */ hMap(flt, 9, 1), fdrm = /* @__PURE__ */ hMap(fdt, 5,
11690
11728
  }
11691
11729
  }
11692
11730
  l && f(p + 131072);
11693
- for (var J = (1 << E) - 1, Q = (1 << y) - 1, q = h; ; q = h) {
11731
+ for (var J = (1 << E) - 1, Q = (1 << y) - 1, U = h; ; U = h) {
11694
11732
  var k = g[bits16(n, h) & J], j = k >> 4;
11695
11733
  if (h += k & 15, h > v) {
11696
11734
  c && err(0);
@@ -11699,7 +11737,7 @@ var flrm = /* @__PURE__ */ hMap(flt, 9, 1), fdrm = /* @__PURE__ */ hMap(fdt, 5,
11699
11737
  if (k || err(2), j < 256)
11700
11738
  e[p++] = j;
11701
11739
  else if (j == 256) {
11702
- q = h, g = null;
11740
+ U = h, g = null;
11703
11741
  break;
11704
11742
  } else {
11705
11743
  var G = j - 254;
@@ -11729,7 +11767,7 @@ var flrm = /* @__PURE__ */ hMap(flt, 9, 1), fdrm = /* @__PURE__ */ hMap(fdt, 5,
11729
11767
  e[p] = e[p - z];
11730
11768
  }
11731
11769
  }
11732
- t.l = g, t.p = q, t.b = p, t.f = d, g && (d = 1, t.m = E, t.d = m, t.n = y);
11770
+ t.l = g, t.p = U, t.b = p, t.f = d, g && (d = 1, t.m = E, t.d = m, t.n = y);
11733
11771
  } while (!d);
11734
11772
  return p != e.length && u ? slc(e, 0, p) : e.subarray(0, p);
11735
11773
  }, et = /* @__PURE__ */ new u8(0), b2 = function(n, t) {
@@ -11870,7 +11908,7 @@ var FBXTreeParser = (
11870
11908
  }
11871
11909
  }
11872
11910
  return Promise.all(d).then(function(P) {
11873
- var O;
11911
+ var F;
11874
11912
  return {
11875
11913
  scene: f,
11876
11914
  textures: P,
@@ -11878,7 +11916,7 @@ var FBXTreeParser = (
11878
11916
  upAxis: ["X", "Y", "Z"][y],
11879
11917
  frontAxis: ["X", "Y", "Z"][v],
11880
11918
  unitScale: A,
11881
- animations: (O = f.animations) !== null && O !== void 0 ? O : [],
11919
+ animations: (F = f.animations) !== null && F !== void 0 ? F : [],
11882
11920
  dispose: function() {
11883
11921
  P.forEach(function(C) {
11884
11922
  return C.dispose();
@@ -12427,12 +12465,12 @@ var FBXTreeParser = (
12427
12465
  s || (console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."), s = !0);
12428
12466
  var T = [0, 0, 0, 0], S = [0, 0, 0, 0];
12429
12467
  A.forEach(function(M, w) {
12430
- var P = M, O = v[w];
12468
+ var P = M, F = v[w];
12431
12469
  S.forEach(function(C, I, H) {
12432
12470
  if (P > C) {
12433
12471
  H[I] = P, P = C;
12434
- var F = T[I];
12435
- T[I] = O, O = F;
12472
+ var O = T[I];
12473
+ T[I] = F, F = O;
12436
12474
  }
12437
12475
  });
12438
12476
  }), v = T, A = S;
@@ -12478,13 +12516,13 @@ var FBXTreeParser = (
12478
12516
  h = THREE.ShapeUtils.triangulateShape(A, []);
12479
12517
  } else
12480
12518
  h = [[0, 1, 2]];
12481
- for (var R = function(H, F, L) {
12482
- t.vertex.push(e.vertexPositions[r[H * 3]]), t.vertex.push(e.vertexPositions[r[H * 3 + 1]]), t.vertex.push(e.vertexPositions[r[H * 3 + 2]]), t.vertex.push(e.vertexPositions[r[F * 3]]), t.vertex.push(e.vertexPositions[r[F * 3 + 1]]), t.vertex.push(e.vertexPositions[r[F * 3 + 2]]), t.vertex.push(e.vertexPositions[r[L * 3]]), t.vertex.push(e.vertexPositions[r[L * 3 + 1]]), t.vertex.push(e.vertexPositions[r[L * 3 + 2]]), e.skeleton && (t.vertexWeights.push(c[H * 4]), t.vertexWeights.push(c[H * 4 + 1]), t.vertexWeights.push(c[H * 4 + 2]), t.vertexWeights.push(c[H * 4 + 3]), t.vertexWeights.push(c[F * 4]), t.vertexWeights.push(c[F * 4 + 1]), t.vertexWeights.push(c[F * 4 + 2]), t.vertexWeights.push(c[F * 4 + 3]), t.vertexWeights.push(c[L * 4]), t.vertexWeights.push(c[L * 4 + 1]), t.vertexWeights.push(c[L * 4 + 2]), t.vertexWeights.push(c[L * 4 + 3]), t.weightsIndices.push(f[H * 4]), t.weightsIndices.push(f[H * 4 + 1]), t.weightsIndices.push(f[H * 4 + 2]), t.weightsIndices.push(f[H * 4 + 3]), t.weightsIndices.push(f[F * 4]), t.weightsIndices.push(f[F * 4 + 1]), t.weightsIndices.push(f[F * 4 + 2]), t.weightsIndices.push(f[F * 4 + 3]), t.weightsIndices.push(f[L * 4]), t.weightsIndices.push(f[L * 4 + 1]), t.weightsIndices.push(f[L * 4 + 2]), t.weightsIndices.push(f[L * 4 + 3])), e.color && (t.colors.push(u[H * 3]), t.colors.push(u[H * 3 + 1]), t.colors.push(u[H * 3 + 2]), t.colors.push(u[F * 3]), t.colors.push(u[F * 3 + 1]), t.colors.push(u[F * 3 + 2]), t.colors.push(u[L * 3]), t.colors.push(u[L * 3 + 1]), t.colors.push(u[L * 3 + 2])), e.material && e.material.mappingType !== "AllSame" && (t.materialIndex.push(o), t.materialIndex.push(o), t.materialIndex.push(o)), e.normal && (t.normal.push(s[H * 3]), t.normal.push(s[H * 3 + 1]), t.normal.push(s[H * 3 + 2]), t.normal.push(s[F * 3]), t.normal.push(s[F * 3 + 1]), t.normal.push(s[F * 3 + 2]), t.normal.push(s[L * 3]), t.normal.push(s[L * 3 + 1]), t.normal.push(s[L * 3 + 2])), e.uv && e.uv.forEach(function(k, D) {
12483
- t.uvs[D] === void 0 && (t.uvs[D] = []), t.uvs[D].push(l[D][H * 2]), t.uvs[D].push(l[D][H * 2 + 1]), t.uvs[D].push(l[D][F * 2]), t.uvs[D].push(l[D][F * 2 + 1]), t.uvs[D].push(l[D][L * 2]), t.uvs[D].push(l[D][L * 2 + 1]);
12519
+ for (var R = function(H, O, L) {
12520
+ t.vertex.push(e.vertexPositions[r[H * 3]]), t.vertex.push(e.vertexPositions[r[H * 3 + 1]]), t.vertex.push(e.vertexPositions[r[H * 3 + 2]]), t.vertex.push(e.vertexPositions[r[O * 3]]), t.vertex.push(e.vertexPositions[r[O * 3 + 1]]), t.vertex.push(e.vertexPositions[r[O * 3 + 2]]), t.vertex.push(e.vertexPositions[r[L * 3]]), t.vertex.push(e.vertexPositions[r[L * 3 + 1]]), t.vertex.push(e.vertexPositions[r[L * 3 + 2]]), e.skeleton && (t.vertexWeights.push(c[H * 4]), t.vertexWeights.push(c[H * 4 + 1]), t.vertexWeights.push(c[H * 4 + 2]), t.vertexWeights.push(c[H * 4 + 3]), t.vertexWeights.push(c[O * 4]), t.vertexWeights.push(c[O * 4 + 1]), t.vertexWeights.push(c[O * 4 + 2]), t.vertexWeights.push(c[O * 4 + 3]), t.vertexWeights.push(c[L * 4]), t.vertexWeights.push(c[L * 4 + 1]), t.vertexWeights.push(c[L * 4 + 2]), t.vertexWeights.push(c[L * 4 + 3]), t.weightsIndices.push(f[H * 4]), t.weightsIndices.push(f[H * 4 + 1]), t.weightsIndices.push(f[H * 4 + 2]), t.weightsIndices.push(f[H * 4 + 3]), t.weightsIndices.push(f[O * 4]), t.weightsIndices.push(f[O * 4 + 1]), t.weightsIndices.push(f[O * 4 + 2]), t.weightsIndices.push(f[O * 4 + 3]), t.weightsIndices.push(f[L * 4]), t.weightsIndices.push(f[L * 4 + 1]), t.weightsIndices.push(f[L * 4 + 2]), t.weightsIndices.push(f[L * 4 + 3])), e.color && (t.colors.push(u[H * 3]), t.colors.push(u[H * 3 + 1]), t.colors.push(u[H * 3 + 2]), t.colors.push(u[O * 3]), t.colors.push(u[O * 3 + 1]), t.colors.push(u[O * 3 + 2]), t.colors.push(u[L * 3]), t.colors.push(u[L * 3 + 1]), t.colors.push(u[L * 3 + 2])), e.material && e.material.mappingType !== "AllSame" && (t.materialIndex.push(o), t.materialIndex.push(o), t.materialIndex.push(o)), e.normal && (t.normal.push(s[H * 3]), t.normal.push(s[H * 3 + 1]), t.normal.push(s[H * 3 + 2]), t.normal.push(s[O * 3]), t.normal.push(s[O * 3 + 1]), t.normal.push(s[O * 3 + 2]), t.normal.push(s[L * 3]), t.normal.push(s[L * 3 + 1]), t.normal.push(s[L * 3 + 2])), e.uv && e.uv.forEach(function(k, D) {
12521
+ t.uvs[D] === void 0 && (t.uvs[D] = []), t.uvs[D].push(l[D][H * 2]), t.uvs[D].push(l[D][H * 2 + 1]), t.uvs[D].push(l[D][O * 2]), t.uvs[D].push(l[D][O * 2 + 1]), t.uvs[D].push(l[D][L * 2]), t.uvs[D].push(l[D][L * 2 + 1]);
12484
12522
  });
12485
12523
  }, M = 0, w = h; M < w.length; M++) {
12486
- var P = w[M], O = P[0], C = P[1], I = P[2];
12487
- R(O, C, I);
12524
+ var P = w[M], F = P[0], C = P[1], I = P[2];
12525
+ R(F, C, I);
12488
12526
  }
12489
12527
  }, n.prototype.addMorphTargets = function(t, e, r, o, s) {
12490
12528
  if (o.length !== 0) {
@@ -13186,8 +13224,8 @@ function generateTransform(n) {
13186
13224
  var M = new THREE.Matrix4().scale(new THREE.Vector3().setFromMatrixScale(h)), w = new THREE.Matrix4().getInverse(M), P = T.clone().multiply(w);
13187
13225
  R.copy(v).multiply(y).multiply(P).multiply(S);
13188
13226
  }
13189
- var O = new THREE.Matrix4().getInverse(f), C = new THREE.Matrix4().getInverse(u), I = t.clone().multiply(c).multiply(f).multiply(e).multiply(r).multiply(o).multiply(O).multiply(l).multiply(u).multiply(s).multiply(C), H = new THREE.Matrix4().copyPosition(I), F = d.clone().multiply(H);
13190
- return p.copyPosition(F), I = p.clone().multiply(R), I.premultiply(new THREE.Matrix4().getInverse(d)), I;
13227
+ var F = new THREE.Matrix4().getInverse(f), C = new THREE.Matrix4().getInverse(u), I = t.clone().multiply(c).multiply(f).multiply(e).multiply(r).multiply(o).multiply(F).multiply(l).multiply(u).multiply(s).multiply(C), H = new THREE.Matrix4().copyPosition(I), O = d.clone().multiply(H);
13228
+ return p.copyPosition(O), I = p.clone().multiply(R), I.premultiply(new THREE.Matrix4().getInverse(d)), I;
13191
13229
  }
13192
13230
  function getEulerOrder(n) {
13193
13231
  n = n || 0;
@@ -13316,7 +13354,7 @@ function calcBasisFunctionDerivatives(n, t, e, r, o) {
13316
13354
  for (var S = 1; S <= r; ++S) {
13317
13355
  var R = 0, M = v - S, w = e - S;
13318
13356
  v >= S && (T[b][0] = T[A][0] / c[w + 1][M], R = T[b][0] * c[M][w]);
13319
- for (var P = M >= -1 ? 1 : -M, O = v - 1 <= w ? S - 1 : e - v, C = P; C <= O; ++C)
13357
+ for (var P = M >= -1 ? 1 : -M, F = v - 1 <= w ? S - 1 : e - v, C = P; C <= F; ++C)
13320
13358
  T[b][C] = (T[A][C] - T[A][C - 1]) / c[w + 1][M + C], R += T[b][C] * c[M + C][w];
13321
13359
  v <= w && (T[b][S] = -T[A][S - 1] / c[w + 1][v], R += T[b][S] * c[v][w]), l[S][v] = R;
13322
13360
  var h = A;
@@ -13421,7 +13459,7 @@ function loadX3p(n, t) {
13421
13459
  });
13422
13460
  }
13423
13461
  function parse$1(n, t) {
13424
- for (var e, r, o, s, u, l, c, f, d, h, p, g, m, E, y, v, A, b, T, S, R, M, w, P, O, C, I, H, F, L, k, D, U, z, J, Q, q, j, G, ae, ee, Z, $, X, ne, W, K, re, te, ie, ve, oe, de, Ee, se = unzipSync(n), le = "", me = null, ge = 0, Ae = Object.keys(se); ge < Ae.length; ge++) {
13462
+ for (var e, r, o, s, u, l, c, f, d, h, p, g, m, E, y, v, A, b, T, S, R, M, w, P, F, C, I, H, O, L, k, D, q, z, J, Q, U, j, G, ae, ee, Z, $, X, ne, W, K, re, te, ie, ve, oe, de, Ee, se = unzipSync(n), le = "", me = null, ge = 0, Ae = Object.keys(se); ge < Ae.length; ge++) {
13425
13463
  var ue = Ae[ge];
13426
13464
  /(^|\/)main\.xml$/i.test(ue) && (me = se[ue], le = ue.slice(0, ue.lastIndexOf("/") + 1));
13427
13465
  }
@@ -13444,12 +13482,12 @@ function parse$1(n, t) {
13444
13482
  },
13445
13483
  z: {
13446
13484
  type: (P = (w = (M = he == null ? void 0 : he.querySelector("CZ AxisType")) === null || M === void 0 ? void 0 : M.textContent) === null || w === void 0 ? void 0 : w.toUpperCase()) !== null && P !== void 0 ? P : "A",
13447
- dataType: (I = (C = (O = he == null ? void 0 : he.querySelector("CZ DataType")) === null || O === void 0 ? void 0 : O.textContent) === null || C === void 0 ? void 0 : C.toUpperCase()) !== null && I !== void 0 ? I : "D",
13448
- increment: Number((F = (H = he == null ? void 0 : he.querySelector("CZ Increment")) === null || H === void 0 ? void 0 : H.textContent) !== null && F !== void 0 ? F : "1"),
13485
+ dataType: (I = (C = (F = he == null ? void 0 : he.querySelector("CZ DataType")) === null || F === void 0 ? void 0 : F.textContent) === null || C === void 0 ? void 0 : C.toUpperCase()) !== null && I !== void 0 ? I : "D",
13486
+ increment: Number((O = (H = he == null ? void 0 : he.querySelector("CZ Increment")) === null || H === void 0 ? void 0 : H.textContent) !== null && O !== void 0 ? O : "1"),
13449
13487
  offset: Number((k = (L = he == null ? void 0 : he.querySelector("CZ Offset")) === null || L === void 0 ? void 0 : L.textContent) !== null && k !== void 0 ? k : "0")
13450
13488
  }
13451
13489
  }, ye = null, Be = xe.querySelector("Record1 Axes Rotation");
13452
- Be && (ye = new THREE.Matrix3(), ye.set(Number((U = (D = Be.querySelector("r11")) === null || D === void 0 ? void 0 : D.textContent) !== null && U !== void 0 ? U : 0), Number((J = (z = Be.querySelector("r12")) === null || z === void 0 ? void 0 : z.textContent) !== null && J !== void 0 ? J : 0), Number((q = (Q = Be.querySelector("r13")) === null || Q === void 0 ? void 0 : Q.textContent) !== null && q !== void 0 ? q : 0), Number((G = (j = Be.querySelector("r21")) === null || j === void 0 ? void 0 : j.textContent) !== null && G !== void 0 ? G : 0), Number((ee = (ae = Be.querySelector("r22")) === null || ae === void 0 ? void 0 : ae.textContent) !== null && ee !== void 0 ? ee : 0), Number(($ = (Z = Be.querySelector("r23")) === null || Z === void 0 ? void 0 : Z.textContent) !== null && $ !== void 0 ? $ : 0), Number((ne = (X = Be.querySelector("r31")) === null || X === void 0 ? void 0 : X.textContent) !== null && ne !== void 0 ? ne : 0), Number((K = (W = Be.querySelector("r32")) === null || W === void 0 ? void 0 : W.textContent) !== null && K !== void 0 ? K : 0), Number((te = (re = Be.querySelector("r33")) === null || re === void 0 ? void 0 : re.textContent) !== null && te !== void 0 ? te : 0)));
13490
+ Be && (ye = new THREE.Matrix3(), ye.set(Number((q = (D = Be.querySelector("r11")) === null || D === void 0 ? void 0 : D.textContent) !== null && q !== void 0 ? q : 0), Number((J = (z = Be.querySelector("r12")) === null || z === void 0 ? void 0 : z.textContent) !== null && J !== void 0 ? J : 0), Number((U = (Q = Be.querySelector("r13")) === null || Q === void 0 ? void 0 : Q.textContent) !== null && U !== void 0 ? U : 0), Number((G = (j = Be.querySelector("r21")) === null || j === void 0 ? void 0 : j.textContent) !== null && G !== void 0 ? G : 0), Number((ee = (ae = Be.querySelector("r22")) === null || ae === void 0 ? void 0 : ae.textContent) !== null && ee !== void 0 ? ee : 0), Number(($ = (Z = Be.querySelector("r23")) === null || Z === void 0 ? void 0 : Z.textContent) !== null && $ !== void 0 ? $ : 0), Number((ne = (X = Be.querySelector("r31")) === null || X === void 0 ? void 0 : X.textContent) !== null && ne !== void 0 ? ne : 0), Number((K = (W = Be.querySelector("r32")) === null || W === void 0 ? void 0 : W.textContent) !== null && K !== void 0 ? K : 0), Number((te = (re = Be.querySelector("r33")) === null || re === void 0 ? void 0 : re.textContent) !== null && te !== void 0 ? te : 0)));
13453
13491
  var Ie = (ie = xe.querySelector("Record3 DataLink PointDataLink")) === null || ie === void 0 ? void 0 : ie.textContent;
13454
13492
  if (typeof Ie != "string")
13455
13493
  throw new Error("X3p: PointDataLink not found.");
@@ -14092,27 +14130,27 @@ var BVHVector3 = (
14092
14130
  u[h] = h, this.getPositionByIndex(p, scratchVector3A), this.getPositionByIndex(p + 1, scratchVector3B), this.getPositionByIndex(p + 2, scratchVector3C), m = v = scratchVector3A.x, T = scratchVector3B.x, T < m && (m = T), T > v && (v = T), T = scratchVector3C.x, T < m && (m = T), T > v && (v = T), E = A = scratchVector3A.y, T = scratchVector3B.y, T < E && (E = T), T > A && (A = T), T = scratchVector3C.y, T < E && (E = T), T > A && (A = T), y = b = scratchVector3A.z, T = scratchVector3B.z, T < y && (y = T), T > b && (b = T), T = scratchVector3C.z, T < y && (y = T), T > b && (b = T), l[g] = m, l[g + 1] = E, l[g + 2] = y, l[g + 3] = v, l[g + 4] = A, l[g + 5] = b;
14093
14131
  }
14094
14132
  else {
14095
- for (var S = 1 / 0, R = 1 / 0, M = 1 / 0, w = -1 / 0, P = -1 / 0, O = -1 / 0, h = 0; h < s; h += 1) {
14133
+ for (var S = 1 / 0, R = 1 / 0, M = 1 / 0, w = -1 / 0, P = -1 / 0, F = -1 / 0, h = 0; h < s; h += 1) {
14096
14134
  var p = h * 3, g = h * 6, m = void 0, E = void 0, y = void 0, v = void 0, A = void 0, b = void 0, T = void 0;
14097
- u[h] = h, this.getPositionByIndex(p, scratchVector3A), this.getPositionByIndex(p + 1, scratchVector3B), this.getPositionByIndex(p + 2, scratchVector3C), m = v = scratchVector3A.x, T = scratchVector3B.x, T < m && (m = T), T > v && (v = T), T = scratchVector3C.x, T < m && (m = T), T > v && (v = T), E = A = scratchVector3A.y, T = scratchVector3B.y, T < E && (E = T), T > A && (A = T), T = scratchVector3C.y, T < E && (E = T), T > A && (A = T), y = b = scratchVector3A.z, T = scratchVector3B.z, T < y && (y = T), T > b && (b = T), T = scratchVector3C.z, T < y && (y = T), T > b && (b = T), l[g] = m, l[g + 1] = E, l[g + 2] = y, l[g + 3] = v, l[g + 4] = A, l[g + 5] = b, m < S && (S = m), v > w && (w = v), E < R && (R = E), A > P && (P = A), y < M && (M = y), b > O && (O = b);
14135
+ u[h] = h, this.getPositionByIndex(p, scratchVector3A), this.getPositionByIndex(p + 1, scratchVector3B), this.getPositionByIndex(p + 2, scratchVector3C), m = v = scratchVector3A.x, T = scratchVector3B.x, T < m && (m = T), T > v && (v = T), T = scratchVector3C.x, T < m && (m = T), T > v && (v = T), E = A = scratchVector3A.y, T = scratchVector3B.y, T < E && (E = T), T > A && (A = T), T = scratchVector3C.y, T < E && (E = T), T > A && (A = T), y = b = scratchVector3A.z, T = scratchVector3B.z, T < y && (y = T), T > b && (b = T), T = scratchVector3C.z, T < y && (y = T), T > b && (b = T), l[g] = m, l[g + 1] = E, l[g + 2] = y, l[g + 3] = v, l[g + 4] = A, l[g + 5] = b, m < S && (S = m), v > w && (w = v), E < R && (R = E), A > P && (P = A), y < M && (M = y), b > F && (F = b);
14098
14136
  }
14099
- o = [S, R, M, w, P, O];
14137
+ o = [S, R, M, w, P, F];
14100
14138
  }
14101
14139
  var C = new BVHNode(++d, o, 0, s, 0);
14102
14140
  c[f++] = C;
14103
- var I = [], H = [0, 1, 2], F = function(k, D) {
14141
+ var I = [], H = [0, 1, 2], O = function(k, D) {
14104
14142
  return I[D] - I[k];
14105
14143
  };
14106
14144
  function L(k) {
14107
- var D = k.startIndex, U = k.endIndex, z = k.extents;
14108
- I[0] = z[3] - z[0], I[1] = z[4] - z[1], I[2] = z[5] - z[2], H.sort(F);
14145
+ var D = k.startIndex, q = k.endIndex, z = k.extents;
14146
+ I[0] = z[3] - z[0], I[1] = z[4] - z[1], I[2] = z[5] - z[2], H.sort(O);
14109
14147
  for (var J = 0; J < 3; J++) {
14110
- for (var Q = H[J], q = z[Q] + z[Q + 3], j = D, G = U - 1, ae = -1, ee = void 0; j <= G; )
14111
- ae === -1 ? (ee = u[j], l[ee * 6 + Q] + l[ee * 6 + Q + 3] < q ? j++ : ae = ee) : (ee = u[G], l[ee * 6 + Q] + l[ee * 6 + Q + 3] >= q || (u[j] = ee, u[G] = ae, ae = -1, j++), G--);
14112
- if (j > D && j < U) {
14148
+ for (var Q = H[J], U = z[Q] + z[Q + 3], j = D, G = q - 1, ae = -1, ee = void 0; j <= G; )
14149
+ ae === -1 ? (ee = u[j], l[ee * 6 + Q] + l[ee * 6 + Q + 3] < U ? j++ : ae = ee) : (ee = u[G], l[ee * 6 + Q] + l[ee * 6 + Q + 3] >= U || (u[j] = ee, u[G] = ae, ae = -1, j++), G--);
14150
+ if (j > D && j < q) {
14113
14151
  var Z = new BVHNode(++d, calcExtents(u, l, D, j, EPSILON$1), D, j, k.deepth + 1);
14114
14152
  Z.deepth < r && Z.endIndex - Z.startIndex > e && (c[f++] = Z);
14115
- var $ = new BVHNode(++d, calcExtents(u, l, j, U, EPSILON$1), j, U, k.deepth + 1);
14153
+ var $ = new BVHNode(++d, calcExtents(u, l, j, q, EPSILON$1), j, q, k.deepth + 1);
14116
14154
  $.deepth < r && $.endIndex - $.startIndex > e && (c[f++] = $), k.node0 = Z, k.node1 = $, k.startIndex = 0, k.endIndex = 0;
14117
14155
  break;
14118
14156
  }
@@ -14145,21 +14183,21 @@ var BVHVector3 = (
14145
14183
  y.min.x = d[A], y.min.y = d[A + 1], y.min.z = d[A + 2], y.max.x = d[A + 3], y.max.y = d[A + 4], y.max.z = d[A + 5];
14146
14184
  var b = intersectNodeBox(e, g, y, o);
14147
14185
  if (b !== null && !(s && b > v)) {
14148
- for (var T = e.x, S = e.y, R = e.z, M = r.x, w = r.y, P = r.z, O = h[A + 6], C = h[A + 7], I = O; I < C; I++) {
14149
- var H = c[I], F = H * 3, L = new BVHVector3(0, 0, 0);
14150
- this.getPositionByIndex(F, L);
14151
- var k = L.x, D = L.y, U = L.z, z = new BVHVector3(0, 0, 0);
14152
- this.getPositionByIndex(F + 1, z);
14153
- var J = z.x, Q = z.y, q = z.z, j = new BVHVector3(0, 0, 0);
14154
- this.getPositionByIndex(F + 2, j);
14155
- var G = j.x, ae = j.y, ee = j.z, Z = J - k, $ = Q - D, X = q - U, ne = G - k, W = ae - D, K = ee - U, re = $ * K - X * W, te = X * ne - Z * K, ie = Z * W - $ * ne, ve = M * re + w * te + P * ie, oe = void 0;
14186
+ for (var T = e.x, S = e.y, R = e.z, M = r.x, w = r.y, P = r.z, F = h[A + 6], C = h[A + 7], I = F; I < C; I++) {
14187
+ var H = c[I], O = H * 3, L = new BVHVector3(0, 0, 0);
14188
+ this.getPositionByIndex(O, L);
14189
+ var k = L.x, D = L.y, q = L.z, z = new BVHVector3(0, 0, 0);
14190
+ this.getPositionByIndex(O + 1, z);
14191
+ var J = z.x, Q = z.y, U = z.z, j = new BVHVector3(0, 0, 0);
14192
+ this.getPositionByIndex(O + 2, j);
14193
+ var G = j.x, ae = j.y, ee = j.z, Z = J - k, $ = Q - D, X = U - q, ne = G - k, W = ae - D, K = ee - q, re = $ * K - X * W, te = X * ne - Z * K, ie = Z * W - $ * ne, ve = M * re + w * te + P * ie, oe = void 0;
14156
14194
  if (ve > 0)
14157
14195
  oe = 1;
14158
14196
  else if (ve < 0)
14159
14197
  oe = -1, ve = -ve;
14160
14198
  else
14161
14199
  continue;
14162
- var de = T - k, Ee = S - D, se = R - U, le = oe * (M * (Ee * K - se * W) + w * (se * ne - de * K) + P * (de * W - Ee * ne));
14200
+ var de = T - k, Ee = S - D, se = R - q, le = oe * (M * (Ee * K - se * W) + w * (se * ne - de * K) + P * (de * W - Ee * ne));
14163
14201
  if (!(le < 0)) {
14164
14202
  var me = oe * (M * ($ * se - X * Ee) + w * (X * de - Z * se) + P * (Z * Ee - $ * de));
14165
14203
  if (!(me < 0) && !(le + me > ve)) {
@@ -14222,27 +14260,27 @@ var EPSILON = 1e-6, ORDER_AXISES = ["x", "y", "z"], scratchVector3$8 = new BVHVe
14222
14260
  }
14223
14261
  var S = new BVHNode(++d, o, 0, u, 0);
14224
14262
  c[f++] = S;
14225
- var R = [], M = [0, 1, 2], w = function(O, C) {
14226
- return R[C] - R[O];
14263
+ var R = [], M = [0, 1, 2], w = function(F, C) {
14264
+ return R[C] - R[F];
14227
14265
  };
14228
- function P(O) {
14229
- var C = O.startIndex, I = O.endIndex, H = O.extents;
14266
+ function P(F) {
14267
+ var C = F.startIndex, I = F.endIndex, H = F.extents;
14230
14268
  R[0] = H[3] - H[0], R[1] = H[4] - H[1], R[2] = H[5] - H[2];
14231
- for (var F = M.sort(w)[0], L = ORDER_AXISES[F], k = (H[F] + H[F + 3]) / 2, D = C, U = I - 1, z = -1, J; D <= U; )
14232
- z === -1 ? (J = l[D], s(J, scratchVector3$8), scratchVector3$8[L] < k ? D++ : z = J) : (J = l[U], s(J, scratchVector3$8), scratchVector3$8[L] >= k || (l[D] = J, l[U] = z, z = -1, D++), U--);
14269
+ for (var O = M.sort(w)[0], L = ORDER_AXISES[O], k = (H[O] + H[O + 3]) / 2, D = C, q = I - 1, z = -1, J; D <= q; )
14270
+ z === -1 ? (J = l[D], s(J, scratchVector3$8), scratchVector3$8[L] < k ? D++ : z = J) : (J = l[q], s(J, scratchVector3$8), scratchVector3$8[L] >= k || (l[D] = J, l[q] = z, z = -1, D++), q--);
14233
14271
  if (D > C) {
14234
14272
  var Q = H.slice();
14235
- Q[F + 3] = k + EPSILON;
14236
- var q = new BVHNode(++d, Q, C, D, O.deepth + 1);
14237
- q.deepth < r && q.endIndex - q.startIndex > e && (c[f++] = q), O.node0 = q;
14273
+ Q[O + 3] = k + EPSILON;
14274
+ var U = new BVHNode(++d, Q, C, D, F.deepth + 1);
14275
+ U.deepth < r && U.endIndex - U.startIndex > e && (c[f++] = U), F.node0 = U;
14238
14276
  }
14239
14277
  if (I > D) {
14240
14278
  var j = H.slice();
14241
- j[F] = k - EPSILON;
14242
- var G = new BVHNode(++d, j, D, I, O.deepth + 1);
14243
- G.deepth < r && G.endIndex - G.startIndex > e && (c[f++] = G), O.node1 = G;
14279
+ j[O] = k - EPSILON;
14280
+ var G = new BVHNode(++d, j, D, I, F.deepth + 1);
14281
+ G.deepth < r && G.endIndex - G.startIndex > e && (c[f++] = G), F.node1 = G;
14244
14282
  }
14245
- O.startIndex = 0, O.endIndex = 0;
14283
+ F.startIndex = 0, F.endIndex = 0;
14246
14284
  }
14247
14285
  for (; f; )
14248
14286
  P(c[--f]);
@@ -14257,13 +14295,13 @@ var EPSILON = 1e-6, ORDER_AXISES = ["x", "y", "z"], scratchVector3$8 = new BVHVe
14257
14295
  for (var S = h[b + 6], R = h[b + 7], M = S; M < R; M++) {
14258
14296
  var w = c[M], P = new BVHVector3(0, 0, 0);
14259
14297
  this.getPositionByIndex(w, P);
14260
- var O = P.x, C = P.y, I = P.z, H = e.x, F = e.y, L = e.z, k = r.x, D = r.y, U = r.z, z = k * (O - H) + D * (C - F) + U * (I - L);
14261
- if (z > 0 ? (H += k * z, F += D * z, L += U * z) : z < 0 && (z = 0), k = O - H, D = C - F, U = I - L, k * k + D * D + U * U <= g) {
14262
- var J = new BVHVector3(H, F, L), Q = new BVHIntersect(P, P, P, w, J);
14298
+ var F = P.x, C = P.y, I = P.z, H = e.x, O = e.y, L = e.z, k = r.x, D = r.y, q = r.z, z = k * (F - H) + D * (C - O) + q * (I - L);
14299
+ if (z > 0 ? (H += k * z, O += D * z, L += q * z) : z < 0 && (z = 0), k = F - H, D = C - O, q = I - L, k * k + D * D + q * q <= g) {
14300
+ var J = new BVHVector3(H, O, L), Q = new BVHIntersect(P, P, P, w, J);
14263
14301
  (!u || u(Q)) && (s ? z < A && (A = z, l.length > 0 && (l.length = 0), l.push(Q)) : l.push(Q));
14264
14302
  }
14265
14303
  }
14266
- var q = y * BYTES_PER_NODE / 2, j = p[q + 16], G = p[q + 17];
14304
+ var U = y * BYTES_PER_NODE / 2, j = p[U + 16], G = p[U + 17];
14267
14305
  j && E.push(j), G && E.push(G);
14268
14306
  }
14269
14307
  }
@@ -14317,21 +14355,21 @@ function raycastMesh(n, t, e, r) {
14317
14355
  S = d;
14318
14356
  if (!S)
14319
14357
  return !1;
14320
- var P = v.intersectionPoint, O = new THREE.Vector3(P.x, P.y, P.z).applyMatrix4(u), C = e.ray.origin.distanceTo(O);
14358
+ var P = v.intersectionPoint, F = new THREE.Vector3(P.x, P.y, P.z).applyMatrix4(u), C = e.ray.origin.distanceTo(F);
14321
14359
  if (C < e.near || C > e.far)
14322
14360
  return !1;
14323
- var I = v.pointA, H = v.pointB, F = v.pointC, L = THREE.Triangle.getNormal(scratchIntersectionFaceA.set(I.x, I.y, I.z).applyMatrix4(u), scratchIntersectionFaceB.set(H.x, H.y, H.z).applyMatrix4(u), scratchIntersectionFaceC.set(F.x, F.y, F.z).applyMatrix4(u), new THREE.Vector3()), k = e.ray.direction.dot(L);
14361
+ var I = v.pointA, H = v.pointB, O = v.pointC, L = THREE.Triangle.getNormal(scratchIntersectionFaceA.set(I.x, I.y, I.z).applyMatrix4(u), scratchIntersectionFaceB.set(H.x, H.y, H.z).applyMatrix4(u), scratchIntersectionFaceC.set(O.x, O.y, O.z).applyMatrix4(u), new THREE.Vector3()), k = e.ray.direction.dot(L);
14324
14362
  if (S.side === THREE.FrontSide && k >= 0 || S.side === THREE.BackSide && k <= 0)
14325
14363
  return !1;
14326
- var D = new THREE.Face3(p ? p.array[T] : T, p ? p.array[T + 1] : T + 1, p ? p.array[T + 2] : T + 2, L), U = {
14364
+ var D = new THREE.Face3(p ? p.array[T] : T, p ? p.array[T + 1] : T + 1, p ? p.array[T + 2] : T + 2, L), q = {
14327
14365
  distance: C,
14328
14366
  object: n,
14329
14367
  face: D,
14330
- point: O,
14368
+ point: F,
14331
14369
  distanceToRay: 0,
14332
14370
  faceIndex: b
14333
14371
  };
14334
- return intersectsMap.set(v, U), l(U);
14372
+ return intersectsMap.set(v, q), l(q);
14335
14373
  }), m = g.length, E = 0; E < m; E++) {
14336
14374
  var y = intersectsMap.get(g[E]);
14337
14375
  y && r.push(y);
@@ -14347,20 +14385,20 @@ function raycastPoints(n, t, e, r) {
14347
14385
  var S = T.intersectionPoint, R = new THREE.Vector3(S.x, S.y, S.z).applyMatrix4(c), M = e.ray.origin.distanceTo(R);
14348
14386
  if (M < e.near || M > e.far)
14349
14387
  return !1;
14350
- var w = T.pointA, P = scratchIntersectionFaceA.set(w.x, w.y, w.z).applyMatrix4(c), O = T.index, C = g ? g.array[O] : O, I;
14388
+ var w = T.pointA, P = scratchIntersectionFaceA.set(w.x, w.y, w.z).applyMatrix4(c), F = T.index, C = g ? g.array[F] : F, I;
14351
14389
  if (E) {
14352
14390
  var H = new THREE.Vector3().fromBufferAttribute(m, C).applyNormalMatrix(scratchNormalMatrix);
14353
14391
  I = new THREE.Face3(C, C, C, H);
14354
14392
  }
14355
- var F = {
14393
+ var O = {
14356
14394
  distance: M,
14357
14395
  object: n,
14358
14396
  face: I,
14359
14397
  point: R,
14360
14398
  distanceToRay: R.distanceTo(P),
14361
- index: O
14399
+ index: F
14362
14400
  };
14363
- return intersectsMap.set(T, F), d(F);
14401
+ return intersectsMap.set(T, O), d(O);
14364
14402
  }), v = y.length, A = 0; A < v; A++) {
14365
14403
  var b = intersectsMap.get(y[A]);
14366
14404
  b && r.push(b);
@@ -14638,7 +14676,7 @@ function updatePBMMesh(n, t, e, r, o, s, u) {
14638
14676
  versionMap$1.set(n, u.version), l = !0, n.castShadow = u.castShadow, n.receiveShadow = u.receiveShadow;
14639
14677
  for (var c = n.material, f = 0, d = c; f < d.length; f++) {
14640
14678
  var h = d[f];
14641
- h.customShaders = u.customShaders, h.pano0 = u.pano0, h.pano1 = u.pano1, h.pano0Depth = u.pano0Depth, h.pano1Depth = u.pano1Depth, h.refinedScreen = u.refinedScreen, h.modelAlpha = u.modelAlpha, h.progress = u.progress, h.transition = u.transition, h.opacity = u.opacity, h.floorStyle = u.floorStyle, h.constantColor = u.constantColor, h.shownFloorIndex = u.shownFloorIndex, h.clippers = u.clippers, h.brightness = u.brightness, h.useHQWeight = u.useHQWeight, h.useHQDepth = u.useHQDepth, h.colorSaturation = u.colorSaturation, h.colorBrightness = u.colorBrightness, h.gradientTexture = u.gradientTexture, h.vertexMarks = u.vertexMarks, h.modelBoundingMax.copy(u.boundingBox.max), h.modelBoundingMin.copy(u.boundingBox.min), h.shaderType === "none" ? (h.transparent = !0, h.blending = THREE.NormalBlending, h.blendDst = THREE.OneMinusSrcAlphaFactor, h.blendEquation = THREE.AddEquation, h.blendSrcAlpha = null, h.blendDstAlpha = null, h.blendEquationAlpha = null, h.depthWrite = !1, h.depthTest = !0) : (h.transparent = h.alphaMode === "BLEND", h.blending = THREE.NormalBlending, h.blendDst = THREE.OneMinusSrcAlphaFactor, h.blendEquation = THREE.AddEquation, h.blendSrcAlpha = null, h.blendDstAlpha = null, h.blendEquationAlpha = null, h.alphaMode === "MASK" && (h.blending = THREE.CustomBlending, h.blendSrcAlpha = THREE.OneFactor), h.depthWrite = !0, h.depthTest = !0, u.useAddBlend && (h.depthWrite = !1, h.depthTest = !1, h.blending = THREE.AdditiveBlending), h.shownFloorIndex > -1 && h.shownFloorIndex !== h.floorIndex && (h.transparent = !0), h.opacity < 1 && (h.transparent = !0), h.alphaMap && (h.transparent = !0), h.brightness < 1 && (h.transparent = !0), h.modelAlpha <= 0 && (h.transparent = !1), h.depthWrite = !h.transparent, u.useAddBlend && (h.depthWrite = !1, h.depthTest = !1, h.blending = THREE.AdditiveBlending));
14679
+ h.customShaders = u.customShaders, h.pano0 = u.pano0, h.pano1 = u.pano1, h.pano0Depth = u.pano0Depth, h.pano1Depth = u.pano1Depth, h.refinedScreen = u.refinedScreen, h.modelAlpha = u.modelAlpha, h.progress = u.progress, h.transition = u.transition, h.opacity = u.opacity, h.floorStyle = u.floorStyle, h.constantColor = u.constantColor, h.shownFloorIndex = u.shownFloorIndex, h.clippers = u.clippers, h.brightness = u.brightness, h.useHQWeight = u.useHQWeight, h.useHQDepth = u.useHQDepth, h.colorSaturation = u.colorSaturation, h.colorBrightness = u.colorBrightness, h.gradientTexture = u.gradientTexture, h.vertexMarks = u.vertexMarks, h.modelBoundingMax.copy(u.boundingBox.max), h.modelBoundingMin.copy(u.boundingBox.min), h.shaderType === "none" ? (h.transparent = !0, h.blending = THREE.NormalBlending, h.blendDst = THREE.OneMinusSrcAlphaFactor, h.blendEquation = THREE.AddEquation, h.blendSrcAlpha = null, h.blendDstAlpha = null, h.blendEquationAlpha = null, h.depthWrite = !1, h.depthTest = !0) : (h.transparent = h.alphaMode === "BLEND", h.blending = THREE.NormalBlending, h.blendDst = THREE.OneMinusSrcAlphaFactor, h.blendEquation = THREE.AddEquation, h.blendSrcAlpha = null, h.blendDstAlpha = null, h.blendEquationAlpha = null, h.depthWrite = !0, h.depthTest = !0, u.useAddBlend && (h.depthWrite = !1, h.depthTest = !1, h.blending = THREE.AdditiveBlending), h.shownFloorIndex > -1 && h.shownFloorIndex !== h.floorIndex && (h.transparent = !0), h.opacity < 1 && (h.transparent = !0), h.alphaMap && (h.transparent = !0), h.brightness < 1 && (h.transparent = !0), h.modelAlpha <= 0 && (h.transparent = !1), h.depthWrite = !h.transparent, u.useAddBlend && (h.depthWrite = !1, h.depthTest = !1, h.blending = THREE.AdditiveBlending));
14642
14680
  }
14643
14681
  }
14644
14682
  return l;
@@ -15426,8 +15464,8 @@ var _object_pattern = /^[og]\s*(.+)?/, _material_library_pattern = /^mtllib /, _
15426
15464
  (d.hasNormal === !0 && v === void 0 || A === void 0 || b === void 0) && (d.hasNormal = !1), (d.hasUV === !0 && T === void 0 || S === void 0 || R === void 0) && (d.hasUV = !1);
15427
15465
  var M = [m, T, v].join(":"), w = d.indexMap[M];
15428
15466
  w === void 0 && (w = d.vertices.length / 3, d.indexMap[M] = w, d.vertices.push(this.vertices[m + 0], this.vertices[m + 1], this.vertices[m + 2]), d.hasColor && (this.colors[m] === void 0 ? d.hasColor = !1 : d.colors.push(this.colors[m + 0], this.colors[m + 1], this.colors[m + 2])), d.hasNormal && d.normals.push(this.normals[m + 0], this.normals[m + 1], this.normals[m + 2]), d.hasUV && d.uvs.push(this.uvs[T + 0], this.uvs[T + 1])), d.index.push(w);
15429
- var P = [E, S, A].join(":"), O = d.indexMap[P];
15430
- O === void 0 && (O = d.vertices.length / 3, d.indexMap[P] = O, d.vertices.push(this.vertices[E + 0], this.vertices[E + 1], this.vertices[E + 2]), d.hasColor && (this.colors[E] === void 0 ? d.hasColor = !1 : d.colors.push(this.colors[E + 0], this.colors[E + 1], this.colors[E + 2])), d.hasNormal && d.normals.push(this.normals[E + 0], this.normals[E + 1], this.normals[E + 2]), d.hasUV && d.uvs.push(this.uvs[S + 0], this.uvs[S + 1])), d.index.push(O);
15467
+ var P = [E, S, A].join(":"), F = d.indexMap[P];
15468
+ F === void 0 && (F = d.vertices.length / 3, d.indexMap[P] = F, d.vertices.push(this.vertices[E + 0], this.vertices[E + 1], this.vertices[E + 2]), d.hasColor && (this.colors[E] === void 0 ? d.hasColor = !1 : d.colors.push(this.colors[E + 0], this.colors[E + 1], this.colors[E + 2])), d.hasNormal && d.normals.push(this.normals[E + 0], this.normals[E + 1], this.normals[E + 2]), d.hasUV && d.uvs.push(this.uvs[S + 0], this.uvs[S + 1])), d.index.push(F);
15431
15469
  var C = [y, R, b].join(":"), I = d.indexMap[C];
15432
15470
  I === void 0 && (I = d.vertices.length / 3, d.indexMap[C] = I, d.vertices.push(this.vertices[y + 0], this.vertices[y + 1], this.vertices[y + 2]), d.hasColor && (this.colors[y] === void 0 ? d.hasColor = !1 : d.colors.push(this.colors[y + 0], this.colors[y + 1], this.colors[y + 2])), d.hasNormal && d.normals.push(this.normals[y + 0], this.normals[y + 1], this.normals[y + 2]), d.hasUV && d.uvs.push(this.uvs[R + 0], this.uvs[R + 1])), d.index.push(I);
15433
15471
  }, n;
@@ -15569,23 +15607,23 @@ function build(n, t) {
15569
15607
  return E.dispose();
15570
15608
  }), E.setAttribute("position", new THREE.BufferAttribute(new Float32Array(p.vertices), 3)), p.normals.length > 0 && E.setAttribute("normal", new THREE.BufferAttribute(new Float32Array(p.normals), 3)), p.colors.length > 0 && (m = !0, E.setAttribute("color", new THREE.BufferAttribute(new Float32Array(p.colors), 3))), p.uvs.length > 0 && E.setAttribute("uv", new THREE.BufferAttribute(new Float32Array(p.uvs), 2)), p.index.length > 0 && E.setIndex(new THREE.BufferAttribute(new Uint32Array(p.index), 1)), E.computeBoundingBox(), E.computeBoundingSphere();
15571
15609
  for (var y = [], v = function(R, M) {
15572
- var w = g[R], P = w.name + "_" + w.smooth + "_" + m, O = n.materials[P];
15573
- if (!O) {
15610
+ var w = g[R], P = w.name + "_" + w.smooth + "_" + m, F = n.materials[P];
15611
+ if (!F) {
15574
15612
  for (var C = null, I = 0, H = t; I < H.length; I++) {
15575
- var F = H[I], L = F.name, k = F.create;
15613
+ var O = H[I], L = O.name, k = O.create;
15576
15614
  L === w.mtllib && (C = k(w.name));
15577
15615
  }
15578
15616
  if (!C) {
15579
15617
  var D = new PBMMeshMaterial();
15580
15618
  C = [D, Promise.resolve([])];
15581
15619
  }
15582
- O = C[0], O.name = w.name, O.flatShading = !(w.smooth || E.attributes.normal), O.vertexColors = m, n.materials[P] = O;
15583
- var U = C[1];
15584
- r.push(U), o.push(function() {
15585
- return O.dispose();
15620
+ F = C[0], F.name = w.name, F.flatShading = !(w.smooth || E.attributes.normal), F.vertexColors = m, n.materials[P] = F;
15621
+ var q = C[1];
15622
+ r.push(q), o.push(function() {
15623
+ return F.dispose();
15586
15624
  });
15587
15625
  }
15588
- y.push(O);
15626
+ y.push(F);
15589
15627
  }, A = 0, b = g.length; A < b; A++)
15590
15628
  v(A);
15591
15629
  E.clearGroups();
@@ -15730,11 +15768,11 @@ function loadTileContent(n, t) {
15730
15768
  }).then(function(w) {
15731
15769
  if (w.scene.applyMatrix4(n.transform), w.scene.updateWorldMatrix(!1, !0), w.scene.matrixAutoUpdate = !1, n.boundingVolume) {
15732
15770
  var P = n.boundingVolume;
15733
- w.scene.traverse(function(O) {
15734
- if (O instanceof PBMPointCloud) {
15735
- scratchMatrix4$4.getInverse(O.matrixWorld);
15771
+ w.scene.traverse(function(F) {
15772
+ if (F instanceof PBMPointCloud) {
15773
+ scratchMatrix4$4.getInverse(F.matrixWorld);
15736
15774
  var C = new THREE.Box3();
15737
- P.getBoundingBox(C), C.applyMatrix4(scratchMatrix4$4), O.geometry.boundingBox = C;
15775
+ P.getBoundingBox(C), C.applyMatrix4(scratchMatrix4$4), F.geometry.boundingBox = C;
15738
15776
  }
15739
15777
  });
15740
15778
  }
@@ -16032,8 +16070,8 @@ function createPipeBufferGeometry(n, t, e, r) {
16032
16070
  var S = (g * r + y) * 6, R = (r + 1) * g + y, M = (r + 1) * (g + 1) + y, w = (r + 1) * (g + 1) + (y + 1), P = (r + 1) * g + (y + 1);
16033
16071
  l[S] = R, l[S + 1] = M, l[S + 2] = P, l[S + 3] = M, l[S + 4] = w, l[S + 5] = P;
16034
16072
  }
16035
- var O = new THREE.BufferGeometry();
16036
- return O.setIndex(new THREE.BufferAttribute(l, 1)), O.setAttribute("position", new THREE.BufferAttribute(o, 3)), O.setAttribute("normal", new THREE.BufferAttribute(s, 3)), O.setAttribute("uv", new THREE.BufferAttribute(u, 2)), O;
16073
+ var F = new THREE.BufferGeometry();
16074
+ return F.setIndex(new THREE.BufferAttribute(l, 1)), F.setAttribute("position", new THREE.BufferAttribute(o, 3)), F.setAttribute("normal", new THREE.BufferAttribute(s, 3)), F.setAttribute("uv", new THREE.BufferAttribute(u, 2)), F;
16037
16075
  }
16038
16076
  function parseTrajectoryObject(n, t) {
16039
16077
  for (var e = new THREE.Color(0).convertSRGBToLinear(), r = new THREE.Color(52949).convertSRGBToLinear(), o = new THREE.Color(3370495).convertSRGBToLinear(), s = new THREE.Color(16777215).convertSRGBToLinear(), u = 0, l = new THREE.CurvePath(), c = n.length, f = 3; f < c; f += 3) {
@@ -16081,8 +16119,8 @@ function parseTrajectoryObject(n, t) {
16081
16119
  side: THREE.FrontSide
16082
16120
  });
16083
16121
  P.uniforms.displacementScalar.value = -0.01, P.uniforms.diffuse.value = r;
16084
- var O = new THREE.Mesh(M, [w, P]);
16085
- O.position.fromArray(n, 0), T.add(O);
16122
+ var F = new THREE.Mesh(M, [w, P]);
16123
+ F.position.fromArray(n, 0), T.add(F);
16086
16124
  var C = new THREE.ShaderMaterial({
16087
16125
  vertexShader: TRAJECTOR_SPHERE_SHADER.vertexShader,
16088
16126
  fragmentShader: TRAJECTOR_SPHERE_SHADER.fragmentShader,
@@ -16447,8 +16485,8 @@ var Tile3D = (
16447
16485
  this.updateWorldMatrix(!0, !1), this.tileset.transform.equals(this.matrixWorld) || (this.tileset.transform.copy(this.matrixWorld), m = !0);
16448
16486
  var P = !this.autoRefine;
16449
16487
  if (P === !1) {
16450
- var O = E.progress >= 0.01 && E.progress <= 0.99;
16451
- if (O) {
16488
+ var F = E.progress >= 0.01 && E.progress <= 0.99;
16489
+ if (F) {
16452
16490
  var C = new THREE.Vector3();
16453
16491
  E.pano0 && C.setFromMatrixPosition(E.pano0.matrix);
16454
16492
  var I = C.clone();
@@ -16482,21 +16520,21 @@ var Tile3D = (
16482
16520
  }), H && this.tileset.selectedTiles.length === 0 && this.tileset.frameNumber < 500 && (this.loaded = !1), this.loaded === !0 && (this.refined = !1, this.refineProgress[1]++);
16483
16521
  }
16484
16522
  this.renderObjects.length = 0, this.backfaceObjects.length = 0, this.tileObjects.length = 0;
16485
- for (var F = this.children.length - 1; F >= 0; F--)
16486
- this.remove(this.children[F]);
16523
+ for (var O = this.children.length - 1; O >= 0; O--)
16524
+ this.remove(this.children[O]);
16487
16525
  M.skipLevelOfDetail || this.tileset.selectedTiles.sort(function(ue, be) {
16488
16526
  return ue.floor !== be.floor ? ue.floor - be.floor : ue.levelOfContent !== be.levelOfContent ? be.levelOfContent - ue.levelOfContent : ue.state.distanceToCamera !== be.state.distanceToCamera ? ue.state.distanceToCamera - be.state.distanceToCamera : ue.state.centerZDepth - be.state.centerZDepth;
16489
16527
  });
16490
16528
  for (var L = [], k = 0, D = this.tileset.selectedTiles; k < D.length; k++) {
16491
- var U = D[k], z = (p = (h = U.content) === null || h === void 0 ? void 0 : h.data) === null || p === void 0 ? void 0 : p.object;
16529
+ var q = D[k], z = (p = (h = q.content) === null || h === void 0 ? void 0 : h.data) === null || p === void 0 ? void 0 : p.object;
16492
16530
  if (z) {
16493
- var J = z.update(e, r, o, this, U, E);
16494
- if (L.push(U.id), J && (m = !0), this.tileset.hasMixedContent && M.skipLevelOfDetail) {
16495
- if (!U.state.finalResolution) {
16531
+ var J = z.update(e, r, o, this, q, E);
16532
+ if (L.push(q.id), J && (m = !0), this.tileset.hasMixedContent && M.skipLevelOfDetail) {
16533
+ if (!q.state.finalResolution) {
16496
16534
  var Q = cloneSkipBackfaceObject(z);
16497
16535
  Q.name = "skipBackface:" + z.name, this.backfaceObjects.push(Q);
16498
16536
  }
16499
- for (var q = U.state.selectionDepth, j = STENCIL_CONSTANT.TILE_MASK | q << STENCIL_CONSTANT.SKIP_LOD_BIT_SHIFT, G = THREE.GreaterEqualStencilFunc, ae = STENCIL_CONSTANT.SKIP_LOD_MASK, ee = THREE.ReplaceStencilOp, Z = STENCIL_CONSTANT.TILE_MASK | STENCIL_CONSTANT.SKIP_LOD_MASK, $ = 0, X = z.materials; $ < X.length; $++) {
16537
+ for (var U = q.state.selectionDepth, j = STENCIL_CONSTANT.TILE_MASK | U << STENCIL_CONSTANT.SKIP_LOD_BIT_SHIFT, G = THREE.GreaterEqualStencilFunc, ae = STENCIL_CONSTANT.SKIP_LOD_MASK, ee = THREE.ReplaceStencilOp, Z = STENCIL_CONSTANT.TILE_MASK | STENCIL_CONSTANT.SKIP_LOD_MASK, $ = 0, X = z.materials; $ < X.length; $++) {
16500
16538
  var ne = X[$];
16501
16539
  ne.stencilWrite = !0, ne.stencilRef = j, ne.stencilFunc = G, ne.stencilFuncMask = ae, ne.stencilZPass = ee, ne.stencilWriteMask = Z;
16502
16540
  }
@@ -16510,11 +16548,11 @@ var Tile3D = (
16510
16548
  }
16511
16549
  var re = L.toString();
16512
16550
  if (tileVersionMap.get(this) !== re && (tileVersionMap.set(this, re), m = !0), M.skipLevelOfDetail && this.backfaceObjects.length)
16513
- for (var F = 0; F < this.backfaceObjects.length; F++)
16514
- this.renderObjects.push(this.backfaceObjects[F]);
16551
+ for (var O = 0; O < this.backfaceObjects.length; O++)
16552
+ this.renderObjects.push(this.backfaceObjects[O]);
16515
16553
  if (this.tileObjects.length)
16516
- for (var F = 0; F < this.tileObjects.length; F++)
16517
- this.renderObjects.push(this.tileObjects[F]);
16554
+ for (var O = 0; O < this.tileObjects.length; O++)
16555
+ this.renderObjects.push(this.tileObjects[O]);
16518
16556
  M.skipLevelOfDetail && this.renderObjects.push(this.clearStencilObject);
16519
16557
  for (var te = [], ie = 0, ve = this.tileset.selectedTrajectories; ie < ve.length; ie++) {
16520
16558
  var oe = ve[ie], de = (g = oe.content.data) === null || g === void 0 ? void 0 : g.object;
@@ -16530,11 +16568,11 @@ var Tile3D = (
16530
16568
  be.traverse(function(Ce) {
16531
16569
  (Ce instanceof THREE.Mesh || Ce instanceof THREE.Line || Ce instanceof THREE.Points) && (Ce.renderOrder = He);
16532
16570
  });
16533
- }, Ae = this, F = 0; F < this.renderObjects.length; F++)
16534
- ge(F);
16571
+ }, Ae = this, O = 0; O < this.renderObjects.length; O++)
16572
+ ge(O);
16535
16573
  if (this.loaded)
16536
- for (var F = 0; F < this.renderObjects.length; F++)
16537
- this.add(this.renderObjects[F]);
16574
+ for (var O = 0; O < this.renderObjects.length; O++)
16575
+ this.add(this.renderObjects[O]);
16538
16576
  return m;
16539
16577
  }, t.prototype.dispose = function() {
16540
16578
  this.disposed = !0, this.tileset.reset(), this.tileset.root.children.length = 0, /^blob\:/.test(this.tileset.id) && URL.revokeObjectURL(this.tileset.id);
@@ -16823,15 +16861,6 @@ function getEcefToEnuMatrixFromUpAxis(n, t, e) {
16823
16861
  }
16824
16862
  return e;
16825
16863
  }
16826
- function getExt(n) {
16827
- var t = /([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(n);
16828
- if (t) {
16829
- var e = String(t[1]).trim().split(".").slice(1).reverse()[0];
16830
- if (e)
16831
- return e;
16832
- }
16833
- return "";
16834
- }
16835
16864
  function loadViewLayer(n) {
16836
16865
  var t, e = n.tilesetUrl.split("#"), r = e[0], o = e[1], s = (t = (o || r).split("?")[1]) !== null && t !== void 0 ? t : "";
16837
16866
  return n.fetcher.ajax(n.tilesetUrl, { responseType: "text" }).catch(function(u) {
@@ -16938,7 +16967,7 @@ function loadViewLayers(n, t) {
16938
16967
  }
16939
16968
  }
16940
16969
  if (s === !1) {
16941
- var f = getExt(n.file) || "at3d", d = JSON.stringify({
16970
+ var f = getExtname(n.file) || ".at3d", d = JSON.stringify({
16942
16971
  tilesetUrl: "",
16943
16972
  asset: {
16944
16973
  version: "0.0"
@@ -16968,7 +16997,7 @@ function loadViewLayers(n, t) {
16968
16997
  content: {
16969
16998
  uri: n.work.getURL(n.file)
16970
16999
  },
16971
- extras: (e = {}, e[f] = {
17000
+ extras: (e = {}, e[f.slice(1)] = {
16972
17001
  /**
16973
17002
  * upAxis 只针对 obj,ply 等上方向不明确的模型生效,其他模型走默认自身标准。
16974
17003
  */
@@ -17142,16 +17171,16 @@ function mergeVertices(n, t) {
17142
17171
  else {
17143
17172
  for (var T = 0, g = l.length; T < g; T++)
17144
17173
  for (var m = l[T], S = n.getAttribute(m), E = n.morphAttributes[m], R = S.itemSize, w = c[m], P = f[m], M = 0; M < R; M++) {
17145
- var O = h[M];
17146
- if (w.push(S[O](A)), E)
17174
+ var F = h[M];
17175
+ if (w.push(S[F](A)), E)
17147
17176
  for (var C = 0, I = E.length; C < I; C++)
17148
- P[C].push(E[C][O](A));
17177
+ P[C].push(E[C][F](A));
17149
17178
  }
17150
17179
  e[b] = u, d.push(u), u++;
17151
17180
  }
17152
17181
  }
17153
17182
  for (var H = n.clone(), p = 0, g = l.length; p < g; p++) {
17154
- var m = l[p], F = n.getAttribute(m), L = new F.array.constructor(c[m]), S = new THREE.BufferAttribute(L, F.itemSize, F.normalized);
17183
+ var m = l[p], O = n.getAttribute(m), L = new O.array.constructor(c[m]), S = new THREE.BufferAttribute(L, O.itemSize, O.normalized);
17155
17184
  if (H.setAttribute(m, S), m in f)
17156
17185
  for (var T = 0; T < f[m].length; T++) {
17157
17186
  var k = n.morphAttributes[m][T], L = new k.array.constructor(f[m][T]), D = new THREE.BufferAttribute(L, k.itemSize, k.normalized);
@@ -17171,10 +17200,10 @@ function getEdgesBySphere(n, t, e) {
17171
17200
  var g = [];
17172
17201
  if (p.traverseVisible(function(Q) {
17173
17202
  if (Q instanceof THREE.Mesh) {
17174
- var q = getBvhTreeForMesh(Q);
17175
- if (q) {
17203
+ var U = getBvhTreeForMesh(Q);
17204
+ if (U) {
17176
17205
  scratchMatrix4$1.copy(Q.matrixWorld), scratchMatrix4Inverse.getInverse(scratchMatrix4$1), scratchSphere$1.copy(t).applyMatrix4(scratchMatrix4Inverse);
17177
- var j = q.trianglesInSphere(scratchSphere$1.center, scratchSphere$1.radius), G = new THREE.BufferGeometry();
17206
+ var j = U.trianglesInSphere(scratchSphere$1.center, scratchSphere$1.radius), G = new THREE.BufferGeometry();
17178
17207
  G.setAttribute("position", new THREE.BufferAttribute(j, 3)), G.applyMatrix4(Q.matrixWorld), G = mergeVertices(G, 0.01), g.push(G);
17179
17208
  }
17180
17209
  }
@@ -17185,18 +17214,18 @@ function getEdgesBySphere(n, t, e) {
17185
17214
  A.push(R);
17186
17215
  }
17187
17216
  for (var T = 0, S = v.length; T < S; T += 3) {
17188
- var M = v[T], w = v[T + 1], P = v[T + 2], O = new THREE.Vector3().crossVectors(A[w].clone().sub(A[M]), A[P].clone().sub(A[M])).normalize();
17189
- b.push({ a: M, b: w, c: P, normal: O });
17217
+ var M = v[T], w = v[T + 1], P = v[T + 2], F = new THREE.Vector3().crossVectors(A[w].clone().sub(A[M]), A[P].clone().sub(A[M])).normalize();
17218
+ b.push({ a: M, b: w, c: P, normal: F });
17190
17219
  }
17191
17220
  for (var C = {}, T = 0, S = b.length; T < S; T++)
17192
17221
  for (var I = b[T], H = 0; H < 3; H++) {
17193
- var F = I[m[H]], L = I[m[(H + 1) % 3]], k = [Math.min(F, L), Math.max(F, L)], D = k[0] + "-" + k[1];
17222
+ var O = I[m[H]], L = I[m[(H + 1) % 3]], k = [Math.min(O, L), Math.max(O, L)], D = k[0] + "-" + k[1];
17194
17223
  C[D] === void 0 ? C[D] = { index1: k[0], index2: k[1], face1: T } : C[D].face2 = T;
17195
17224
  }
17196
17225
  for (var D in C) {
17197
- var U = C[D];
17198
- if (U.face2 === void 0 || b[U.face1].normal.dot(b[U.face2].normal) <= r) {
17199
- var z = A[U.index1], J = A[U.index2];
17226
+ var q = C[D];
17227
+ if (q.face2 === void 0 || b[q.face1].normal.dot(b[q.face2].normal) <= r) {
17228
+ var z = A[q.index1], J = A[q.index2];
17200
17229
  o.push(new THREE.Line3(z, J));
17201
17230
  }
17202
17231
  }
@@ -18055,10 +18084,10 @@ function parse(n, t) {
18055
18084
  issuer: P.issuer
18056
18085
  }, S.push(workToJson(P));
18057
18086
  else {
18058
- var O = typeof P == "string" ? JSON.parse(P) : jsonClone(P), C = verify(O);
18087
+ var F = typeof P == "string" ? JSON.parse(P) : jsonClone(P), C = verify(F);
18059
18088
  if (C instanceof Error)
18060
18089
  return C;
18061
- R === null && (R = C), S.push(O);
18090
+ R === null && (R = C), S.push(F);
18062
18091
  }
18063
18092
  }
18064
18093
  if (R === null)
@@ -18225,9 +18254,9 @@ function parse(n, t) {
18225
18254
  writable: !1,
18226
18255
  value: H
18227
18256
  });
18228
- var F = [];
18257
+ var O = [];
18229
18258
  if (Array.isArray(I.observers) && I.panorama && Array.isArray(I.panorama.list || I.panorama.info)) {
18230
- for (var L = I.observers, k = (r = I.panorama.list || I.panorama.info) !== null && r !== void 0 ? r : [], D = (f = (l = (s = (o = I.panorama) === null || o === void 0 ? void 0 : o.pano_high_cube_base_url) !== null && s !== void 0 ? s : (u = I.panorama) === null || u === void 0 ? void 0 : u.pano_cube_base_url) !== null && l !== void 0 ? l : (c = I.panorama) === null || c === void 0 ? void 0 : c.base_url) !== null && f !== void 0 ? f : "", U = Math.min(L.length, k.length), z = {}, J = function(W) {
18259
+ for (var L = I.observers, k = (r = I.panorama.list || I.panorama.info) !== null && r !== void 0 ? r : [], D = (f = (l = (s = (o = I.panorama) === null || o === void 0 ? void 0 : o.pano_high_cube_base_url) !== null && s !== void 0 ? s : (u = I.panorama) === null || u === void 0 ? void 0 : u.pano_cube_base_url) !== null && l !== void 0 ? l : (c = I.panorama) === null || c === void 0 ? void 0 : c.base_url) !== null && f !== void 0 ? f : "", q = Math.min(L.length, k.length), z = {}, J = function(W) {
18231
18260
  var K = W, re = I.panorama.pattern[K];
18232
18261
  if (typeof re == "string") {
18233
18262
  var te = new StringPattern(re);
@@ -18238,8 +18267,8 @@ function parse(n, t) {
18238
18267
  z[K] = function() {
18239
18268
  return re;
18240
18269
  };
18241
- }, Q = 0, q = Object.keys((d = I.panorama.pattern) !== null && d !== void 0 ? d : {}); Q < q.length; Q++) {
18242
- var j = q[Q];
18270
+ }, Q = 0, U = Object.keys((d = I.panorama.pattern) !== null && d !== void 0 ? d : {}); Q < U.length; Q++) {
18271
+ var j = U[Q];
18243
18272
  J(j);
18244
18273
  }
18245
18274
  for (var G = function(W, K) {
@@ -18320,25 +18349,25 @@ function parse(n, t) {
18320
18349
  if (accessibleNodesSet.clear(), K.accessible_nodes && Array.isArray(K.accessible_nodes))
18321
18350
  for (var ie = 0, ve = K.accessible_nodes; ie < ve.length; ie++) {
18322
18351
  var oe = ve[ie];
18323
- oe >= U || oe === W || accessibleNodesSet.add(oe);
18352
+ oe >= q || oe === W || accessibleNodesSet.add(oe);
18324
18353
  }
18325
18354
  else if (K.accessibleNodes && Array.isArray(K.accessibleNodes))
18326
18355
  for (var de = 0, Ee = K.accessibleNodes; de < Ee.length; de++) {
18327
18356
  var oe = Ee[de];
18328
- oe >= U || oe === W || accessibleNodesSet.add(oe);
18357
+ oe >= q || oe === W || accessibleNodesSet.add(oe);
18329
18358
  }
18330
18359
  else if (K.visible_nodes && Array.isArray(K.visible_nodes))
18331
18360
  for (var se = 0, le = K.visible_nodes; se < le.length; se++) {
18332
18361
  var oe = le[se];
18333
- oe >= U || oe === W || accessibleNodesSet.add(oe);
18362
+ oe >= q || oe === W || accessibleNodesSet.add(oe);
18334
18363
  }
18335
18364
  else if (K.visibleNodes && Array.isArray(K.visibleNodes))
18336
18365
  for (var me = 0, ge = K.visibleNodes; me < ge.length; me++) {
18337
18366
  var oe = ge[me];
18338
- oe >= U || oe === W || accessibleNodesSet.add(oe);
18367
+ oe >= q || oe === W || accessibleNodesSet.add(oe);
18339
18368
  }
18340
18369
  if (accessibleNodesSet.size === 0)
18341
- for (var Ae = 0; Ae < U; Ae++)
18370
+ for (var Ae = 0; Ae < q; Ae++)
18342
18371
  Ae !== W && accessibleNodesSet.add(Ae);
18343
18372
  var ue = Array.from(accessibleNodesSet);
18344
18373
  return accessibleNodesSet.clear(), Object.freeze(ue);
@@ -18510,15 +18539,15 @@ function parse(n, t) {
18510
18539
  })()
18511
18540
  }), ie;
18512
18541
  })()
18513
- }), F.push(te);
18514
- }, ee = 0; ee < U; ee++)
18542
+ }), O.push(te);
18543
+ }, ee = 0; ee < q; ee++)
18515
18544
  ae(ee);
18516
18545
  }
18517
18546
  defineProperty(t, "observers", {
18518
18547
  enumerable: !0,
18519
18548
  configurable: !1,
18520
18549
  writable: !1,
18521
- value: Object.freeze(F)
18550
+ value: Object.freeze(O)
18522
18551
  });
18523
18552
  var Z = {};
18524
18553
  if (defineProperty(Z, "work", {
@@ -20985,7 +21014,7 @@ var Hammer = (function(n, t, e, r) {
20985
21014
  function P(B) {
20986
21015
  return B.trim().split(/\s+/g);
20987
21016
  }
20988
- function O(B, _, N) {
21017
+ function F(B, _, N) {
20989
21018
  if (B.indexOf && !N)
20990
21019
  return B.indexOf(_);
20991
21020
  for (var V = 0; V < B.length; ) {
@@ -21001,7 +21030,7 @@ var Hammer = (function(n, t, e, r) {
21001
21030
  function I(B, _, N) {
21002
21031
  for (var V = [], Y = [], ce = 0; ce < B.length; ) {
21003
21032
  var Te = B[ce][_];
21004
- O(Y, Te) < 0 && V.push(B[ce]), Y[ce] = Te, ce++;
21033
+ F(Y, Te) < 0 && V.push(B[ce]), Y[ce] = Te, ce++;
21005
21034
  }
21006
21035
  return V = V.sort(function(Ze, De) {
21007
21036
  return Ze[_] > De[_];
@@ -21015,15 +21044,15 @@ var Hammer = (function(n, t, e, r) {
21015
21044
  }
21016
21045
  return r;
21017
21046
  }
21018
- var F = 1;
21047
+ var O = 1;
21019
21048
  function L() {
21020
- return F++;
21049
+ return O++;
21021
21050
  }
21022
21051
  function k(B) {
21023
21052
  var _ = B.ownerDocument || B;
21024
21053
  return _.defaultView || _.parentWindow || n;
21025
21054
  }
21026
- var D = /mobile|tablet|ip(ad|hone|od)|android/i, U = "ontouchstart" in n, z = H(n, "PointerEvent") !== r, J = U && D.test(navigator.userAgent), Q = "touch", q = "pen", j = "mouse", G = "kinect", ae = 25, ee = 1, Z = 2, $ = 4, X = 8, ne = 1, W = 2, K = 4, re = 8, te = 16, ie = W | K, ve = re | te, oe = ie | ve, de = ["x", "y"], Ee = ["clientX", "clientY"];
21055
+ var D = /mobile|tablet|ip(ad|hone|od)|android/i, q = "ontouchstart" in n, z = H(n, "PointerEvent") !== r, J = q && D.test(navigator.userAgent), Q = "touch", U = "pen", j = "mouse", G = "kinect", ae = 25, ee = 1, Z = 2, $ = 4, X = 8, ne = 1, W = 2, K = 4, re = 8, te = 16, ie = W | K, ve = re | te, oe = ie | ve, de = ["x", "y"], Ee = ["clientX", "clientY"];
21027
21056
  function se(B, _) {
21028
21057
  var N = this;
21029
21058
  this.manager = B, this.callback = _, this.element = B.element, this.target = B.options.inputTarget, this.domHandler = function(V) {
@@ -21052,7 +21081,7 @@ var Hammer = (function(n, t, e, r) {
21052
21081
  };
21053
21082
  function le(B) {
21054
21083
  var _, N = B.options.inputClass;
21055
- return N ? _ = N : z ? _ = tt : J ? _ = Ne : U ? _ = yt : _ = ze, new _(B, me);
21084
+ return N ? _ = N : z ? _ = tt : J ? _ = Ne : q ? _ = yt : _ = ze, new _(B, me);
21056
21085
  }
21057
21086
  function me(B, _, N) {
21058
21087
  var V = N.pointers.length, Y = N.changedPointers.length, ce = _ & ee && V - Y === 0, Te = _ & ($ | X) && V - Y === 0;
@@ -21171,7 +21200,7 @@ var Hammer = (function(n, t, e, r) {
21171
21200
  pointerout: X
21172
21201
  }, Oe = {
21173
21202
  2: Q,
21174
- 3: q,
21203
+ 3: U,
21175
21204
  4: j,
21176
21205
  5: G
21177
21206
  // see https://twitter.com/jacobrossi/status/480596438489890816
@@ -21186,7 +21215,7 @@ var Hammer = (function(n, t, e, r) {
21186
21215
  * @param {Object} ev
21187
21216
  */
21188
21217
  handler: function(_) {
21189
- var N = this.store, V = !1, Y = !1, ce = _.type.toLowerCase().replace("ms", ""), Te = Fe[ce], Ge = Oe[_.pointerType] || _.pointerType, Ze = Ge == Q, De = O(N, _.pointerId, "pointerId");
21218
+ var N = this.store, V = !1, Y = !1, ce = _.type.toLowerCase().replace("ms", ""), Te = Fe[ce], Ge = Oe[_.pointerType] || _.pointerType, Ze = Ge == Q, De = F(N, _.pointerId, "pointerId");
21190
21219
  Te & ee && (_.button === 0 || _.button === 2 || Ze) ? De < 0 && (N.push(_), De = N.length - 1) : Te & ($ | X) ? V = !0 : !Ze && _.buttons === 0 && (V = !0, Y = !0, Te = Fe.pointerup), !(De < 0) && (Y || (N[De] = _), this.callback(this.manager, Te, {
21191
21220
  pointers: N,
21192
21221
  changedPointers: [_],
@@ -21429,7 +21458,7 @@ var Hammer = (function(n, t, e, r) {
21429
21458
  if (h(B, "requireFailure", this))
21430
21459
  return this;
21431
21460
  var _ = this.requireFail;
21432
- return B = _t(B, this), O(_, B) === -1 && (_.push(B), B.requireFailure(this)), this;
21461
+ return B = _t(B, this), F(_, B) === -1 && (_.push(B), B.requireFailure(this)), this;
21433
21462
  },
21434
21463
  /**
21435
21464
  * drop the requireFailure link. it does not remove the link on the other recognizer.
@@ -21440,7 +21469,7 @@ var Hammer = (function(n, t, e, r) {
21440
21469
  if (h(B, "dropRequireFailure", this))
21441
21470
  return this;
21442
21471
  B = _t(B, this);
21443
- var _ = O(this.requireFail, B);
21472
+ var _ = F(this.requireFail, B);
21444
21473
  return _ > -1 && this.requireFail.splice(_, 1), this;
21445
21474
  },
21446
21475
  /**
@@ -21948,7 +21977,7 @@ var Hammer = (function(n, t, e, r) {
21948
21977
  if (h(B, "remove", this))
21949
21978
  return this;
21950
21979
  if (B = this.get(B), B) {
21951
- var _ = this.recognizers, N = O(_, B);
21980
+ var _ = this.recognizers, N = F(_, B);
21952
21981
  N !== -1 && (_.splice(N, 1), this.touchAction.update());
21953
21982
  }
21954
21983
  return this;
@@ -21977,7 +22006,7 @@ var Hammer = (function(n, t, e, r) {
21977
22006
  if (B !== r) {
21978
22007
  var N = this.handlers;
21979
22008
  return p(P(B), function(V) {
21980
- _ ? N[V] && N[V].splice(O(N[V], _), 1) : delete N[V];
22009
+ _ ? N[V] && N[V].splice(F(N[V], _), 1) : delete N[V];
21981
22010
  }), this;
21982
22011
  }
21983
22012
  },
@@ -22235,11 +22264,11 @@ var Hammer = (function(n, t, e, r) {
22235
22264
  target: C.target,
22236
22265
  pointerType: C.pointerType,
22237
22266
  srcEvent: C.srcEvent,
22238
- pointers: C.pointers.map(function(F) {
22239
- var L = r.relativeClientPosition(F), k = r.createRaycasterFromCamera(L, r.camera);
22267
+ pointers: C.pointers.map(function(O) {
22268
+ var L = r.relativeClientPosition(O), k = r.createRaycasterFromCamera(L, r.camera);
22240
22269
  return {
22241
- x: F.x,
22242
- y: F.y,
22270
+ x: O.x,
22271
+ y: O.y,
22243
22272
  delta: 0,
22244
22273
  buttons: 0,
22245
22274
  coords: L,
@@ -22249,11 +22278,11 @@ var Hammer = (function(n, t, e, r) {
22249
22278
  isFirst: C.isFirst,
22250
22279
  isFinal: C.isFinal,
22251
22280
  scale: C.scale,
22252
- center: (function(F) {
22253
- var L = r.relativeClientPosition(F), k = r.createRaycasterFromCamera(L, r.camera);
22281
+ center: (function(O) {
22282
+ var L = r.relativeClientPosition(O), k = r.createRaycasterFromCamera(L, r.camera);
22254
22283
  return {
22255
- x: F.x,
22256
- y: F.y,
22284
+ x: O.x,
22285
+ y: O.y,
22257
22286
  delta: 0,
22258
22287
  buttons: 0,
22259
22288
  coords: L,
@@ -22277,11 +22306,11 @@ var Hammer = (function(n, t, e, r) {
22277
22306
  target: C.target,
22278
22307
  pointerType: C.pointerType,
22279
22308
  srcEvent: C.srcEvent,
22280
- pointers: C.pointers.map(function(F) {
22281
- var L = r.relativeClientPosition(F), k = r.createRaycasterFromCamera(L, r.camera);
22309
+ pointers: C.pointers.map(function(O) {
22310
+ var L = r.relativeClientPosition(O), k = r.createRaycasterFromCamera(L, r.camera);
22282
22311
  return {
22283
- x: F.x,
22284
- y: F.y,
22312
+ x: O.x,
22313
+ y: O.y,
22285
22314
  delta: 0,
22286
22315
  buttons: 0,
22287
22316
  coords: L,
@@ -22291,11 +22320,11 @@ var Hammer = (function(n, t, e, r) {
22291
22320
  isFirst: !0,
22292
22321
  isFinal: !0,
22293
22322
  scale: C.scale,
22294
- center: (function(F) {
22295
- var L = r.relativeClientPosition(F), k = r.createRaycasterFromCamera(L, r.camera);
22323
+ center: (function(O) {
22324
+ var L = r.relativeClientPosition(O), k = r.createRaycasterFromCamera(L, r.camera);
22296
22325
  return {
22297
- x: F.x,
22298
- y: F.y,
22326
+ x: O.x,
22327
+ y: O.y,
22299
22328
  delta: 0,
22300
22329
  buttons: 0,
22301
22330
  coords: L,
@@ -22319,12 +22348,12 @@ var Hammer = (function(n, t, e, r) {
22319
22348
  target: C.target,
22320
22349
  pointerType: C.pointerType,
22321
22350
  srcEvent: C.srcEvent,
22322
- pointers: C.pointers.map(function(F) {
22323
- var L, k = r.relativeClientPosition(F), D = new THREE.Raycaster();
22351
+ pointers: C.pointers.map(function(O) {
22352
+ var L, k = r.relativeClientPosition(O), D = new THREE.Raycaster();
22324
22353
  return D.params.Points = { threshold: 0.1 }, D.setFromCamera(k, r.camera), {
22325
- x: F.x,
22326
- y: F.y,
22327
- delta: (L = F.delta) !== null && L !== void 0 ? L : 0,
22354
+ x: O.x,
22355
+ y: O.y,
22356
+ delta: (L = O.delta) !== null && L !== void 0 ? L : 0,
22328
22357
  buttons: 0,
22329
22358
  coords: k,
22330
22359
  raycaster: D
@@ -22333,11 +22362,11 @@ var Hammer = (function(n, t, e, r) {
22333
22362
  isFirst: C.type === "pinchstart",
22334
22363
  isFinal: C.type === "pinchend",
22335
22364
  scale: C.scale,
22336
- center: (function(F) {
22337
- var L = r.relativeClientPosition(F), k = r.createRaycasterFromCamera(L, r.camera);
22365
+ center: (function(O) {
22366
+ var L = r.relativeClientPosition(O), k = r.createRaycasterFromCamera(L, r.camera);
22338
22367
  return {
22339
- x: F.x,
22340
- y: F.y,
22368
+ x: O.x,
22369
+ y: O.y,
22341
22370
  delta: 0,
22342
22371
  buttons: 0,
22343
22372
  coords: L,
@@ -22361,11 +22390,11 @@ var Hammer = (function(n, t, e, r) {
22361
22390
  target: C.target,
22362
22391
  pointerType: C.pointerType,
22363
22392
  srcEvent: C.srcEvent,
22364
- pointers: C.pointers.map(function(F) {
22365
- var L = r.relativeClientPosition(F), k = r.createRaycasterFromCamera(L, r.camera);
22393
+ pointers: C.pointers.map(function(O) {
22394
+ var L = r.relativeClientPosition(O), k = r.createRaycasterFromCamera(L, r.camera);
22366
22395
  return {
22367
- x: F.x,
22368
- y: F.y,
22396
+ x: O.x,
22397
+ y: O.y,
22369
22398
  delta: 0,
22370
22399
  buttons: 0,
22371
22400
  coords: L,
@@ -22375,11 +22404,11 @@ var Hammer = (function(n, t, e, r) {
22375
22404
  isFirst: !0,
22376
22405
  isFinal: !0,
22377
22406
  scale: C.scale,
22378
- center: (function(F) {
22379
- var L = r.relativeClientPosition(F), k = r.createRaycasterFromCamera(L, r.camera);
22407
+ center: (function(O) {
22408
+ var L = r.relativeClientPosition(O), k = r.createRaycasterFromCamera(L, r.camera);
22380
22409
  return {
22381
- x: F.x,
22382
- y: F.y,
22410
+ x: O.x,
22411
+ y: O.y,
22383
22412
  delta: 0,
22384
22413
  buttons: 0,
22385
22414
  coords: L,
@@ -22398,17 +22427,17 @@ var Hammer = (function(n, t, e, r) {
22398
22427
  }
22399
22428
  });
22400
22429
  var d = null, h = null, p = function(C, I, H) {
22401
- var F = {
22430
+ var O = {
22402
22431
  x: H.clientX,
22403
22432
  y: H.clientY
22404
- }, L = r.relativeClientPosition(F), k = r.createRaycasterFromCamera(L, r.camera), D = __assign(__assign({}, F), { coords: L, raycaster: k, buttons: H.buttons, delta: 0 }), U = C === "pinchend" ? I : I - H.deltaY / 280, z = createEvent("gesture.pinch", {
22433
+ }, L = r.relativeClientPosition(O), k = r.createRaycasterFromCamera(L, r.camera), D = __assign(__assign({}, O), { coords: L, raycaster: k, buttons: H.buttons, delta: 0 }), q = C === "pinchend" ? I : I - H.deltaY / 280, z = createEvent("gesture.pinch", {
22405
22434
  target: H.target,
22406
22435
  pointerType: "mouse",
22407
22436
  srcEvent: H,
22408
22437
  pointers: [__assign({}, D)],
22409
22438
  isFirst: C === "pinchstart",
22410
22439
  isFinal: C === "pinchend",
22411
- scale: clamp$1(U, 0.1, 10),
22440
+ scale: clamp$1(q, 0.1, 10),
22412
22441
  center: __assign({}, D),
22413
22442
  velocityX: 0,
22414
22443
  velocityY: 0,
@@ -22422,21 +22451,21 @@ var Hammer = (function(n, t, e, r) {
22422
22451
  var I, H = { x: C.clientX, y: C.clientY };
22423
22452
  if (o(H)) {
22424
22453
  if (C.preventDefault(), C.ctrlKey) {
22425
- var F = (I = d == null ? void 0 : d.prevEvent.scale) !== null && I !== void 0 ? I : 1, L = p(d ? "pinch" : "pinchstart", F, C);
22454
+ var O = (I = d == null ? void 0 : d.prevEvent.scale) !== null && I !== void 0 ? I : 1, L = p(d ? "pinch" : "pinchstart", O, C);
22426
22455
  d === null ? d = {
22427
22456
  firstEvent: L,
22428
22457
  prevEvent: L
22429
22458
  } : d.prevEvent = L, r.onPinchGesture(L), h !== null && window.clearTimeout(h), h = window.setTimeout(function() {
22430
- var q;
22459
+ var U;
22431
22460
  h = null;
22432
- var j = (q = d == null ? void 0 : d.prevEvent.scale) !== null && q !== void 0 ? q : 1, G = p("pinchend", j, C);
22461
+ var j = (U = d == null ? void 0 : d.prevEvent.scale) !== null && U !== void 0 ? U : 1, G = p("pinchend", j, C);
22433
22462
  d = null, r.onPinchGesture(G);
22434
22463
  }, 200);
22435
22464
  } else {
22436
- var k = (Math.abs(C.deltaY) > Math.abs(C.deltaX) ? C.deltaY : C.deltaX) / -60, D = r.mouseWheelState !== void 0, U = {
22465
+ var k = (Math.abs(C.deltaY) > Math.abs(C.deltaX) ? C.deltaY : C.deltaX) / -60, D = r.mouseWheelState !== void 0, q = {
22437
22466
  x: C.clientX,
22438
22467
  y: C.clientY
22439
- }, z = r.relativeClientPosition(U), J = r.createRaycasterFromCamera(z, r.camera), Q = __assign(__assign({}, U), { coords: z, raycaster: J, buttons: C.buttons, delta: k }), L = createEvent("gesture.mousewheel", {
22468
+ }, z = r.relativeClientPosition(q), J = r.createRaycasterFromCamera(z, r.camera), Q = __assign(__assign({}, q), { coords: z, raycaster: J, buttons: C.buttons, delta: k }), L = createEvent("gesture.mousewheel", {
22440
22469
  target: C.target,
22441
22470
  pointerType: "mouse",
22442
22471
  srcEvent: C,
@@ -22488,7 +22517,7 @@ var Hammer = (function(n, t, e, r) {
22488
22517
  var H = {
22489
22518
  x: C.clientX,
22490
22519
  y: C.clientY
22491
- }, F = r.relativeClientPosition(H), L = r.createRaycasterFromCamera(F, r.camera), k = __assign(__assign({}, H), { coords: F, raycaster: L, buttons: C.buttons, delta: 0 }), D = createEvent("gesture.mousemove", {
22520
+ }, O = r.relativeClientPosition(H), L = r.createRaycasterFromCamera(O, r.camera), k = __assign(__assign({}, H), { coords: O, raycaster: L, buttons: C.buttons, delta: 0 }), D = createEvent("gesture.mousemove", {
22492
22521
  target: C.target,
22493
22522
  pointerType: "mouse",
22494
22523
  srcEvent: C,
@@ -22526,10 +22555,10 @@ var Hammer = (function(n, t, e, r) {
22526
22555
  timeStamp: now(),
22527
22556
  stop: noop
22528
22557
  });
22529
- var H = now() - r.pressState.timeStamp, F = createEvent(r.pressState.event.type, __assign(__assign({}, r.pressState.event), { isFirst: I, isFinal: !1, center: __assign(__assign({}, r.pressState.event.center), { delta: H }), pointers: r.pressState.event.pointers.map(function(L) {
22558
+ var H = now() - r.pressState.timeStamp, O = createEvent(r.pressState.event.type, __assign(__assign({}, r.pressState.event), { isFirst: I, isFinal: !1, center: __assign(__assign({}, r.pressState.event.center), { delta: H }), pointers: r.pressState.event.pointers.map(function(L) {
22530
22559
  return __assign(__assign({}, L), { delta: H });
22531
22560
  }) }));
22532
- r.onPressGesture(F), r.pressState && (r.pressState.stop = AnimationFrameLoop.shared.add(function(L) {
22561
+ r.onPressGesture(O), r.pressState && (r.pressState.stop = AnimationFrameLoop.shared.add(function(L) {
22533
22562
  y(C);
22534
22563
  }, !0, 1));
22535
22564
  }, v = function(C) {
@@ -22537,7 +22566,7 @@ var Hammer = (function(n, t, e, r) {
22537
22566
  var I = {
22538
22567
  x: C.changedTouches[0].clientX,
22539
22568
  y: C.changedTouches[0].clientY
22540
- }, H = r.relativeClientPosition(I), F = r.createRaycasterFromCamera(H, r.camera), L = __assign(__assign({}, I), { coords: H, raycaster: F, buttons: 0, delta: 0 }), k = createEvent("gesture.press", {
22569
+ }, H = r.relativeClientPosition(I), O = r.createRaycasterFromCamera(H, r.camera), L = __assign(__assign({}, I), { coords: H, raycaster: O, buttons: 0, delta: 0 }), k = createEvent("gesture.press", {
22541
22570
  target: C.target,
22542
22571
  pointerType: "touch",
22543
22572
  srcEvent: C,
@@ -22560,7 +22589,7 @@ var Hammer = (function(n, t, e, r) {
22560
22589
  var I = {
22561
22590
  x: C.clientX,
22562
22591
  y: C.clientY
22563
- }, H = r.relativeClientPosition(I), F = r.createRaycasterFromCamera(H, r.camera), L = __assign(__assign({}, I), { coords: H, raycaster: F, buttons: C.buttons, delta: 0 }), k = createEvent("gesture.press", {
22592
+ }, H = r.relativeClientPosition(I), O = r.createRaycasterFromCamera(H, r.camera), L = __assign(__assign({}, I), { coords: H, raycaster: O, buttons: C.buttons, delta: 0 }), k = createEvent("gesture.press", {
22564
22593
  target: C.target,
22565
22594
  pointerType: "mouse",
22566
22595
  srcEvent: C,
@@ -22580,33 +22609,33 @@ var Hammer = (function(n, t, e, r) {
22580
22609
  }, b = function() {
22581
22610
  var C;
22582
22611
  if (r.pressState) {
22583
- var I = now() - r.pressState.timeStamp, H = createEvent(r.pressState.event.type, __assign(__assign({}, r.pressState.event), { center: __assign(__assign({}, r.pressState.event.center), { delta: I }), isFirst: !1, isFinal: !0, pointers: r.pressState.event.pointers.map(function(F) {
22584
- return __assign(__assign({}, F), { delta: I });
22612
+ var I = now() - r.pressState.timeStamp, H = createEvent(r.pressState.event.type, __assign(__assign({}, r.pressState.event), { center: __assign(__assign({}, r.pressState.event.center), { delta: I }), isFirst: !1, isFinal: !0, pointers: r.pressState.event.pointers.map(function(O) {
22613
+ return __assign(__assign({}, O), { delta: I });
22585
22614
  }) }));
22586
22615
  r.onPressGesture(H), (C = r.pressState) === null || C === void 0 || C.stop(), r.pressState = void 0;
22587
22616
  }
22588
22617
  }, T = null, S = function(C) {
22589
- var I, H = !1, F = !1;
22618
+ var I, H = !1, O = !1;
22590
22619
  switch (C.type) {
22591
22620
  case "gesturestart":
22592
22621
  H = !0;
22593
22622
  break;
22594
22623
  case "gestureend":
22595
- F = !0;
22624
+ O = !0;
22596
22625
  break;
22597
22626
  }
22598
22627
  var L = {
22599
22628
  x: C.clientX,
22600
22629
  y: C.clientY
22601
- }, k = r.relativeClientPosition(L), D = r.createRaycasterFromCamera(k, r.camera), U = __assign(__assign({}, L), { coords: k, raycaster: D, buttons: 0, delta: 0 }), z = createEvent("gesture.pinch", {
22630
+ }, k = r.relativeClientPosition(L), D = r.createRaycasterFromCamera(k, r.camera), q = __assign(__assign({}, L), { coords: k, raycaster: D, buttons: 0, delta: 0 }), z = createEvent("gesture.pinch", {
22602
22631
  target: C.target,
22603
22632
  pointerType: "mouse",
22604
22633
  srcEvent: C,
22605
- pointers: [__assign({}, U)],
22634
+ pointers: [__assign({}, q)],
22606
22635
  isFirst: H,
22607
- isFinal: F,
22636
+ isFinal: O,
22608
22637
  scale: (I = C.scale) !== null && I !== void 0 ? I : 1,
22609
- center: __assign({}, U),
22638
+ center: __assign({}, q),
22610
22639
  velocityX: 0,
22611
22640
  velocityY: 0,
22612
22641
  overallVelocityX: 0,
@@ -22641,10 +22670,10 @@ var Hammer = (function(n, t, e, r) {
22641
22670
  }
22642
22671
  };
22643
22672
  this.enableWheel && e.addEventListener("wheel", g, { passive: !1 }), e.addEventListener("mousemove", m, !1), e.addEventListener("mouseout", E, !1), e.addEventListener("touchstart", v, { passive: !0 }), e.addEventListener("touchend", b, !1), e.addEventListener("touchcancel", b, !1), e.addEventListener("mousedown", A, !1), e.addEventListener("mouseup", b, !1), e.addEventListener("gesturestart", R, { passive: !1 }), e.addEventListener("gesturechange", M, { passive: !1 }), e.addEventListener("gestureend", w, { passive: !1 }), e.addEventListener("touchstart", P, { passive: !1 }), e.addEventListener("contextmenu", P, !1);
22644
- var O = function() {
22673
+ var F = function() {
22645
22674
  s.destroy(), e.removeEventListener("wheel", g, !1), e.removeEventListener("mousemove", m, !1), e.removeEventListener("mouseout", E, !1), e.removeEventListener("touchstart", v, !1), e.removeEventListener("touchend", b, !1), e.removeEventListener("touchcancel", b, !1), e.removeEventListener("mousedown", A, !1), e.removeEventListener("mouseup", b, !1), e.removeEventListener("gesturestart", R, !1), e.removeEventListener("gesturechange", M, !1), e.removeEventListener("gestureend", w, !1), e.removeEventListener("touchstart", P, !1), e.removeEventListener("contextmenu", P, !1);
22646
22675
  };
22647
- return Object.assign(O, { element: e });
22676
+ return Object.assign(F, { element: e });
22648
22677
  }, t;
22649
22678
  })(Subscribe)
22650
22679
  ), sharedGeometry$2 = new THREE.CircleBufferGeometry(0.1, 16), vertexShader$1 = `
@@ -23036,7 +23065,7 @@ void main() {
23036
23065
  transform: g,
23037
23066
  options: m
23038
23067
  },
23039
- format: THREE.RGBAFormat,
23068
+ format: THREE.RGBFormat,
23040
23069
  viaAjax: !0,
23041
23070
  fetcher: getFetcher(this.fiveId, u.work)
23042
23071
  }, void 0, void 0, void 0, this.renderer).then(function(A) {
@@ -23773,10 +23802,10 @@ void main() {
23773
23802
  var K = w.get(ne);
23774
23803
  return K === void 0 && (K = ne.box.getCenter(scratchSortVector3).angleTo(R), w.set(ne, K)), W - K;
23775
23804
  });
23776
- var P = /* @__PURE__ */ new WeakSet(), O = this.observer.images.tiles;
23777
- if (O)
23805
+ var P = /* @__PURE__ */ new WeakSet(), F = this.observer.images.tiles;
23806
+ if (F)
23778
23807
  for (var C = function(X) {
23779
- var ne = O.find(function(me) {
23808
+ var ne = F.find(function(me) {
23780
23809
  return me.level === X.level;
23781
23810
  });
23782
23811
  if (!ne)
@@ -23819,8 +23848,8 @@ void main() {
23819
23848
  }, function(me) {
23820
23849
  return e.pedding--, Promise.reject(me);
23821
23850
  }), W = new TileMesh(X, le), W.name = "tiling:tile-".concat(ve), W.visible = !1, W.appearDuration = I.appearDuration, I.tileMeshes.set(X, W), I.scene.add(W), W.updateTime(o), r = !0;
23822
- }, I = this, H = 0, F = M; H < F.length; H++) {
23823
- var L = F[H];
23851
+ }, I = this, H = 0, O = M; H < O.length; H++) {
23852
+ var L = O[H];
23824
23853
  C(L);
23825
23854
  }
23826
23855
  var k = [], D = [];
@@ -23829,17 +23858,17 @@ void main() {
23829
23858
  var W = ne.level >= g && ne.level <= m;
23830
23859
  X.visible !== W && (X.visible = W, r = !0);
23831
23860
  });
23832
- for (var U = D.sort(function(X, ne) {
23861
+ for (var q = D.sort(function(X, ne) {
23833
23862
  return ne.activeTime - X.activeTime;
23834
- }).slice(Math.max(0, this.maxCacheTile - k.length)), z = 0, J = U; z < J.length; z++) {
23863
+ }).slice(Math.max(0, this.maxCacheTile - k.length)), z = 0, J = q; z < J.length; z++) {
23835
23864
  var Q = J[z];
23836
23865
  this.tileMeshes.delete(Q.node), this.scene.remove(Q), Q.dispose(), r = !0;
23837
23866
  }
23838
23867
  if (r) {
23839
- var q = l.getRenderTarget();
23868
+ var U = l.getRenderTarget();
23840
23869
  scratchPrevClearColor$1.copy(l.getClearColor());
23841
23870
  var j = l.getClearAlpha(), G = l.autoClear, ae = l.autoClearColor, ee = l.autoClearDepth, Z = l.autoClearStencil, $ = l.clippingPlanes;
23842
- l.autoClear = !0, l.autoClearColor = !0, l.autoClearDepth = !0, l.autoClearStencil = !0, l.clippingPlanes = clippingPlanes, l.setRenderTarget(this.renderTarget), l.setClearColor(clearColor$1, clearAlpha), l.render(this.scene, this.camera), l.setRenderTarget(q), l.setClearColor(scratchPrevClearColor$1, j), l.autoClear = G, l.autoClearColor = ae, l.autoClearDepth = ee, l.autoClearStencil = Z, l.clippingPlanes = $;
23871
+ l.autoClear = !0, l.autoClearColor = !0, l.autoClearDepth = !0, l.autoClearStencil = !0, l.clippingPlanes = clippingPlanes, l.setRenderTarget(this.renderTarget), l.setClearColor(clearColor$1, clearAlpha), l.render(this.scene, this.camera), l.setRenderTarget(U), l.setClearColor(scratchPrevClearColor$1, j), l.autoClear = G, l.autoClearColor = ae, l.autoClearDepth = ee, l.autoClearStencil = Z, l.clippingPlanes = $;
23843
23872
  }
23844
23873
  return this.forceRenderWhenNextUpdate = !1, r;
23845
23874
  }, n;
@@ -24134,7 +24163,7 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24134
24163
  var h = {}, p = {}, g = this.camera.getDirection(new THREE.Vector3()), m = this.locationMotion.keyframes[0], E = this.locationMotion.keyframes[this.locationMotion.keyframes.length - 1], y = this.locationMotion.getKeyFrameSegment(e), v = y[0], A = y[1], b = this.panoResourceFromLocationMotionKeyframe(v), T = this.panoResourceFromLocationMotionKeyframe(A), S = this.panoResourceFromLocationMotionKeyframe(m), R = this.panoResourceFromLocationMotionKeyframe(E), M = !1;
24135
24164
  if (this.cameraMotion.ended === !1 && (this.cameraMotion.update(e), p.longitude = this.cameraMotion.value.longitude, p.latitude = this.cameraMotion.value.latitude, p.fov = this.cameraMotion.value.fov), this.modelAlphaMotion.ended === !1 && (this.modelAlphaMotion.update(e), h.modelAlpha = this.modelAlphaMotion.value.modelAlpha), this.perspToOrthoMotion.ended === !1 && (this.perspToOrthoMotion.update(e), this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho, 0, 1))), this.locationMotion.ended === !1) {
24136
24165
  this.locationMotion.update(e);
24137
- var w = this.locationMotion.value.count - A.value.count + 1, P = new THREE.Vector3().copy(b.position), O = new THREE.Vector3().copy(T.position);
24166
+ var w = this.locationMotion.value.count - A.value.count + 1, P = new THREE.Vector3().copy(b.position), F = new THREE.Vector3().copy(T.position);
24138
24167
  if (h.progress = T.effectEasing(w), w >= 0.01 && w <= 0.99 && (h.progress = clamp$1(T.effectEasing(w), 0.01, 0.99)), T.panoPicture && (w < 1 ? b.panoPicture && (h.pano0 = b.panoPicture) : h.pano0 = T.panoPicture, h.pano1 = T.panoPicture), T.effect === "montage" ? h.transition = "BLACK" : T.effect === "spread" ? h.transition = "SPREAD" : h.transition = "FADE", T.effect === "zoomin" || T.effect === "zoomout")
24139
24168
  h.progress = Math.pow(w, 3);
24140
24169
  else if (T.effect === "model" && this.camera.pose.distance < 0.01) {
@@ -24152,15 +24181,15 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24152
24181
  }, H = this.panoPictureObserverMap.get(h.pano0);
24153
24182
  H && this.panoPictureObserverMap.set(I, H), h.pano0 = I;
24154
24183
  }
24155
- P.copy(O), M = !0;
24184
+ P.copy(F), M = !0;
24156
24185
  }
24157
- p.distance = this.locationMotion.value.distance, p.offset = new THREE.Vector3(P.x + (O.x - P.x) * w, P.y + (O.y - P.y) * w, P.z + (O.z - P.z) * w);
24158
- for (var F = [], L = [], k = 0, D = this.locationMotion.keyframes; k < D.length; k++) {
24159
- var U = D[k], z = U.key, J = U.progress;
24160
- z !== void 0 && (F.push(z), J > this.locationMotion.progress && L.push(z));
24186
+ p.distance = this.locationMotion.value.distance, p.offset = new THREE.Vector3(P.x + (F.x - P.x) * w, P.y + (F.y - P.y) * w, P.z + (F.z - P.z) * w);
24187
+ for (var O = [], L = [], k = 0, D = this.locationMotion.keyframes; k < D.length; k++) {
24188
+ var q = D[k], z = q.key, J = q.progress;
24189
+ z !== void 0 && (O.push(z), J > this.locationMotion.progress && L.push(z));
24161
24190
  }
24162
- for (var Q = 0, q = Object.keys(this.panoResources); Q < q.length; Q++) {
24163
- var j = q[Q];
24191
+ for (var Q = 0, U = Object.keys(this.panoResources); Q < U.length; Q++) {
24192
+ var j = U[Q];
24164
24193
  if (!(L.indexOf(j) >= 0)) {
24165
24194
  var G = this.panoResources[j];
24166
24195
  if (G.panoPicture) {
@@ -24171,7 +24200,7 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24171
24200
  ae.dispose(), G.panoPicture = null;
24172
24201
  }
24173
24202
  }
24174
- F.indexOf(j) >= 0 || delete this.panoResources[j];
24203
+ O.indexOf(j) >= 0 || delete this.panoResources[j];
24175
24204
  }
24176
24205
  }
24177
24206
  var ee = panoParse(T.panoId);
@@ -24479,7 +24508,7 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24479
24508
  P.dispose();
24480
24509
  else {
24481
24510
  P.name = E;
24482
- var O = Array.isArray(P.image) ? P.image[0] : P.image, C = (M = O == null ? void 0 : O.width) !== null && M !== void 0 ? M : 2048, I = {
24511
+ var F = Array.isArray(P.image) ? P.image[0] : P.image, C = (M = F == null ? void 0 : F.width) !== null && M !== void 0 ? M : 2048, I = {
24483
24512
  panoId: d,
24484
24513
  effect: f,
24485
24514
  effectEasing: (w = r.effectEasing) !== null && w !== void 0 ? w : defaultEffectEase,
@@ -24521,7 +24550,7 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24521
24550
  transform: p,
24522
24551
  options: g
24523
24552
  },
24524
- format: THREE.RGBAFormat,
24553
+ format: THREE.RGBFormat,
24525
24554
  viaAjax: !0,
24526
24555
  fetcher: getFetcher(this.fiveId, h.work)
24527
24556
  }, void 0, void 0, function(R) {
@@ -24618,34 +24647,34 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24618
24647
  if (this.locationMotion.ended) {
24619
24648
  var M = this.locationMotion.getKeyFrameSegment(v);
24620
24649
  M[0];
24621
- var w = M[1], P = this.locationMotion.value, O = ((u = this.panoResourceFromLocationMotionKeyframe(w)) !== null && u !== void 0 ? u : this.camera).position, C = r.position;
24622
- T = Math.max(O.distanceTo(C), b), S = [
24650
+ var w = M[1], P = this.locationMotion.value, F = ((u = this.panoResourceFromLocationMotionKeyframe(w)) !== null && u !== void 0 ? u : this.camera).position, C = r.position;
24651
+ T = Math.max(F.distanceTo(C), b), S = [
24623
24652
  { key: w.key, progress: 0, value: __assign(__assign({}, P), { count: 0 }) },
24624
24653
  { key: A, progress: 1, value: { distance: 0, count: 1 } }
24625
24654
  ], R = 0;
24626
24655
  } else {
24627
- var I = this.locationMotion.getKeyFrameSegment(v), H = I[0], w = I[1], P = this.locationMotion.value, F = this.panoResourceFromLocationMotionKeyframe(H).position, O = this.panoResourceFromLocationMotionKeyframe(w).position, C = r.position, L = w.value.count - P.count, k = Math.max(F.distanceTo(O), b) * L, D = Math.max(O.distanceTo(C), b);
24656
+ var I = this.locationMotion.getKeyFrameSegment(v), H = I[0], w = I[1], P = this.locationMotion.value, O = this.panoResourceFromLocationMotionKeyframe(H).position, F = this.panoResourceFromLocationMotionKeyframe(w).position, C = r.position, L = w.value.count - P.count, k = Math.max(O.distanceTo(F), b) * L, D = Math.max(F.distanceTo(C), b);
24628
24657
  T = k + D, S = [
24629
24658
  { key: H.key, progress: 0, value: __assign({}, P) },
24630
24659
  { key: w.key, progress: k / T, value: w.value },
24631
24660
  { key: A, progress: 1, value: { count: w.value.count + 1, distance: 0 } }
24632
24661
  ];
24633
- var U = this.locationMotionKeyframesLength(this.locationMotion.keyframes), z = this.locationMotionKeyframesLength(S);
24634
- U === 0 || U === 0 ? R = 0 : R = this.locationMotion.getProgressVelocity(v) * U / z;
24662
+ var q = this.locationMotionKeyframesLength(this.locationMotion.keyframes), z = this.locationMotionKeyframesLength(S);
24663
+ q === 0 || q === 0 ? R = 0 : R = this.locationMotion.getProgressVelocity(v) * q / z;
24635
24664
  }
24636
24665
  var J = r.effect === "instant" ? 0 : this.calculateMovingDuration(o.duration, r.effect === "fly" || r.effect === "model" ? T : 0), Q = {
24637
24666
  longitude: o.longitude,
24638
24667
  latitude: o.latitude,
24639
24668
  fov: o.fov
24640
- }, q = __assign(__assign({}, e), { mode: this.mode, longitude: (l = Q.longitude) !== null && l !== void 0 ? l : this.camera.pose.longitude, latitude: (c = Q.latitude) !== null && c !== void 0 ? c : this.camera.pose.latitude, fov: (f = Q.fov) !== null && f !== void 0 ? f : this.camera.pose.fov, offset: r.position.clone(), distance: this.camera.pose.distance }), j = this.currentPano;
24669
+ }, U = __assign(__assign({}, e), { mode: this.mode, longitude: (l = Q.longitude) !== null && l !== void 0 ? l : this.camera.pose.longitude, latitude: (c = Q.latitude) !== null && c !== void 0 ? c : this.camera.pose.latitude, fov: (f = Q.fov) !== null && f !== void 0 ? f : this.camera.pose.fov, offset: r.position.clone(), distance: this.camera.pose.distance }), j = this.currentPano;
24641
24670
  if (this.emit("pano.moveTo", createEvent("pano.moveTo", {
24642
24671
  options: o,
24643
24672
  prevPano: j,
24644
24673
  progress: 0,
24645
- state: q,
24674
+ state: U,
24646
24675
  userAction: this.userAction,
24647
24676
  error: null
24648
- })), o.moveStartCallback && o.moveStartCallback(q), this.videoTexture && this.videoTexture.image instanceof HTMLVideoElement && this.videoTexture.image.getAttribute("src") && (this.videoTexture.image.pause(), this.videoTexture.image.removeAttribute("uuid"), this.videoTexture.image.removeAttribute("src"), this.videoTexture.image.oncanplay = noop, this.videoTexture.needsUpdate = !0), this.panoVideo.setMaterial(null), r.effect === "fly" || r.effect === "model")
24677
+ })), o.moveStartCallback && o.moveStartCallback(U), this.videoTexture && this.videoTexture.image instanceof HTMLVideoElement && this.videoTexture.image.getAttribute("src") && (this.videoTexture.image.pause(), this.videoTexture.image.removeAttribute("uuid"), this.videoTexture.image.removeAttribute("src"), this.videoTexture.image.oncanplay = noop, this.videoTexture.needsUpdate = !0), this.panoVideo.setMaterial(null), r.effect === "fly" || r.effect === "model")
24649
24678
  this.cameraMotion.set(Q, J).catch(noop);
24650
24679
  else {
24651
24680
  var G = coordinatesToVector({
@@ -24742,7 +24771,7 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24742
24771
  options: o,
24743
24772
  prevPano: j,
24744
24773
  progress: 0,
24745
- state: q,
24774
+ state: U,
24746
24775
  userAction: s.userAction,
24747
24776
  error: null
24748
24777
  })), o.moveCancelCallback && o.moveCancelCallback();
@@ -24764,19 +24793,19 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24764
24793
  var h = this.modelScene.intersectRaycaster(u)[0], p = h ? h.point : u.ray.origin.clone().add(u.ray.direction.clone().normalize().multiplyScalar(3)), g = p.clone().sub(l).normalize();
24765
24794
  if (g.length() === 0)
24766
24795
  return null;
24767
- var m = s.work.observers, E = s.accessibleNodes.filter(function(U) {
24768
- if (U === o.currentPano.panoIndex && s.work.workCode === o.currentPano.workCode)
24796
+ var m = s.work.observers, E = s.accessibleNodes.filter(function(q) {
24797
+ if (q === o.currentPano.panoIndex && s.work.workCode === o.currentPano.workCode)
24769
24798
  return !1;
24770
- var z = m[U];
24799
+ var z = m[q];
24771
24800
  if (!z)
24772
24801
  return !1;
24773
24802
  var J = z.standingPosition.clone().applyMatrix4(z.work.transform).project(e);
24774
24803
  return Math.abs(J.z) > 1 || Math.abs(J.x) > 1 || Math.abs(J.y) > 1 ? !1 : z.loadable || z.active;
24775
- }), y = /* @__PURE__ */ new Map(), v = E.slice().sort(function(U, z) {
24776
- var J = m[U], Q = y.get(J);
24804
+ }), y = /* @__PURE__ */ new Map(), v = E.slice().sort(function(q, z) {
24805
+ var J = m[q], Q = y.get(J);
24777
24806
  typeof Q == "undefined" && (Q = scratchVector3$3.copy(J.standingPosition).applyMatrix4(J.work.transform).distanceTo(l), y.set(J, Q));
24778
- var q = m[z], j = y.get(q);
24779
- return typeof j == "undefined" && (j = scratchVector3$3.copy(q.standingPosition).applyMatrix4(q.work.transform).distanceTo(l), y.set(q, j)), Q - j;
24807
+ var U = m[z], j = y.get(U);
24808
+ return typeof j == "undefined" && (j = scratchVector3$3.copy(U.standingPosition).applyMatrix4(U.work.transform).distanceTo(l), y.set(U, j)), Q - j;
24780
24809
  });
24781
24810
  y.clear();
24782
24811
  for (var A = 0, b = [Math.PI / 8, Math.PI / 6, Math.PI / 4, Math.PI / 3]; A < b.length; A++)
@@ -24788,35 +24817,35 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24788
24817
  return w;
24789
24818
  }
24790
24819
  }
24791
- var O = null;
24820
+ var F = null;
24792
24821
  if (r) {
24793
24822
  var C = r.ray.intersectBox(this.modelScene.boundingBox, scratchVector3$3);
24794
- C && (C.project(e), Math.abs(C.z) <= 1 && (O = C.clone()));
24823
+ C && (C.project(e), Math.abs(C.z) <= 1 && (F = C.clone()));
24795
24824
  } else
24796
- O = new THREE.Vector3(0, 0, 0);
24797
- if (O) {
24798
- var I = 0.4, H = s.accessibleNodes.filter(function(U) {
24799
- if (U === o.currentPano.panoIndex && s.work.workCode === o.currentPano.workCode)
24825
+ F = new THREE.Vector3(0, 0, 0);
24826
+ if (F) {
24827
+ var I = 0.4, H = s.accessibleNodes.filter(function(q) {
24828
+ if (q === o.currentPano.panoIndex && s.work.workCode === o.currentPano.workCode)
24800
24829
  return !1;
24801
- var z = m[U];
24830
+ var z = m[q];
24802
24831
  if (!z)
24803
24832
  return !1;
24804
24833
  var J = z.position.clone().applyMatrix4(z.work.transform).project(e);
24805
24834
  return Math.abs(J.z) > 1 || Math.abs(J.x) > 1 || Math.abs(J.y) > 1 ? !1 : z.loadable || z.active;
24806
- }), F = /* @__PURE__ */ new Map(), L = H.slice().sort(function(U, z) {
24807
- var J = m[U], Q = F.get(J);
24808
- typeof Q == "undefined" && (Q = scratchVector3$3.copy(J.position).applyMatrix4(J.work.transform).distanceTo(e.position), F.set(J, Q));
24809
- var q = m[z], j = F.get(q);
24810
- return typeof j == "undefined" && (j = scratchVector3$3.copy(q.position).applyMatrix4(q.work.transform).distanceTo(e.position), F.set(q, j)), Q - j;
24835
+ }), O = /* @__PURE__ */ new Map(), L = H.slice().sort(function(q, z) {
24836
+ var J = m[q], Q = O.get(J);
24837
+ typeof Q == "undefined" && (Q = scratchVector3$3.copy(J.position).applyMatrix4(J.work.transform).distanceTo(e.position), O.set(J, Q));
24838
+ var U = m[z], j = O.get(U);
24839
+ return typeof j == "undefined" && (j = scratchVector3$3.copy(U.position).applyMatrix4(U.work.transform).distanceTo(e.position), O.set(U, j)), Q - j;
24811
24840
  });
24812
- F.clear();
24841
+ O.clear();
24813
24842
  for (var k = 0, D = L; k < D.length; k++) {
24814
24843
  var M = D[k], w = m[M];
24815
24844
  if (w) {
24816
24845
  var C = scratchVector3$3.copy(w.position).applyMatrix4(w.work.transform);
24817
24846
  if (C.project(e), Math.abs(C.z) > 1)
24818
24847
  continue;
24819
- if (Math.pow(O.x - C.x, 2) + Math.pow(O.y - C.y, 2) < Math.pow(I, 2))
24848
+ if (Math.pow(F.x - C.x, 2) + Math.pow(F.y - C.y, 2) < Math.pow(I, 2))
24820
24849
  return w;
24821
24850
  }
24822
24851
  }
@@ -24859,13 +24888,13 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24859
24888
  if (!l)
24860
24889
  this.emit("gesture.tap", e), e.defaultPrevented || this.locationMotion.ended === !0 && this.cameraBounce();
24861
24890
  else {
24862
- for (var b = {}, T = Math.PI / 6, S = Math.PI / 12, R = l.position.clone().applyMatrix4(l.work.transform).setY(0).sub(c.position.clone().applyMatrix4(l.work.transform).setY(0)).normalize(), M = [], w = [], P = [], O = l.work.observers, C = 0, I = l.accessibleNodes; C < I.length; C++) {
24891
+ for (var b = {}, T = Math.PI / 6, S = Math.PI / 12, R = l.position.clone().applyMatrix4(l.work.transform).setY(0).sub(c.position.clone().applyMatrix4(l.work.transform).setY(0)).normalize(), M = [], w = [], P = [], F = l.work.observers, C = 0, I = l.accessibleNodes; C < I.length; C++) {
24863
24892
  var g = I[C];
24864
24893
  if (l.panoIndex !== g && !(g === this.currentPano.panoIndex && l.work.workCode === this.currentPano.workCode)) {
24865
- var H = O[g];
24894
+ var H = F[g];
24866
24895
  if (H) {
24867
- var F = H.position.clone().applyMatrix4(H.work.transform).sub(l.position.clone().applyMatrix4(l.work.transform)).setY(0).normalize();
24868
- R.angleTo(F) < T && P.push(F);
24896
+ var O = H.position.clone().applyMatrix4(H.work.transform).sub(l.position.clone().applyMatrix4(l.work.transform)).setY(0).normalize();
24897
+ R.angleTo(O) < T && P.push(O);
24869
24898
  }
24870
24899
  }
24871
24900
  }
@@ -24873,8 +24902,8 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24873
24902
  return j.angleTo(R) - G.angleTo(R);
24874
24903
  })[0];
24875
24904
  if (k && k.angleTo(u) > S && (b.longitude = Math.atan2(-k.x, -k.z)), this.cameraMotion.value.latitude < -Math.PI / 4) {
24876
- var D = e.state.fov, U = clamp$1(typeof this.minLatitude == "function" ? this.minLatitude(D) : this.minLatitude, -Math.PI / 2, Math.PI / 2), z = clamp$1(typeof this.maxLatitude == "function" ? this.maxLatitude(D) : this.maxLatitude, -Math.PI / 2, Math.PI / 2);
24877
- b.latitude = clamp$1(0, U, z);
24905
+ var D = e.state.fov, q = clamp$1(typeof this.minLatitude == "function" ? this.minLatitude(D) : this.minLatitude, -Math.PI / 2, Math.PI / 2), z = clamp$1(typeof this.maxLatitude == "function" ? this.maxLatitude(D) : this.maxLatitude, -Math.PI / 2, Math.PI / 2);
24906
+ b.latitude = clamp$1(0, q, z);
24878
24907
  }
24879
24908
  var J = __assign({}, e.state);
24880
24909
  if (J.workCode = l.work.workCode, J.panoIndex = l.panoIndex, b.longitude !== void 0 && (J.longitude = b.longitude), b.latitude !== void 0 && (J.latitude = b.latitude), b.fov !== void 0 && (J.fov = b.fov), J.distance = 0, J.offset = l.position.clone(), e.state = J, this.emit("gesture.tap", e), !e.defaultPrevented) {
@@ -24889,8 +24918,8 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24889
24918
  var Q = panoStringify({
24890
24919
  panoIndex: l.panoIndex,
24891
24920
  workCode: l.work.workCode
24892
- }), q = this.panoMeshes.get(Q);
24893
- q && (q.setDisabled(!1), q.setLoading(!0));
24921
+ }), U = this.panoMeshes.get(Q);
24922
+ U && (U.setDisabled(!1), U.setLoading(!0));
24894
24923
  }
24895
24924
  l && l.active && this.emit("pano.request", createEvent("pano.request", {
24896
24925
  userAction: e.userAction,
@@ -24992,8 +25021,8 @@ var updateEyeViewMatrices = /* @__PURE__ */ (function() {
24992
25021
  return o === r ? (r[12] = o[0] * u + o[4] * l + o[8] * c + o[12], r[13] = o[1] * u + o[5] * l + o[9] * c + o[13], r[14] = o[2] * u + o[6] * l + o[10] * c + o[14], r[15] = o[3] * u + o[7] * l + o[11] * c + o[15]) : (f = o[0], d = o[1], h = o[2], p = o[3], g = o[4], m = o[5], E = o[6], y = o[7], v = o[8], A = o[9], b = o[10], T = o[11], r[0] = f, r[1] = d, r[2] = h, r[3] = p, r[4] = g, r[5] = m, r[6] = E, r[7] = y, r[8] = v, r[9] = A, r[10] = b, r[11] = T, r[12] = f * u + g * l + v * c + o[12], r[13] = d * u + m * l + A * c + o[13], r[14] = h * u + E * l + b * c + o[14], r[15] = p * u + y * l + T * c + o[15]), r;
24993
25022
  }
24994
25023
  function e(r, o) {
24995
- var s = o[0], u = o[1], l = o[2], c = o[3], f = o[4], d = o[5], h = o[6], p = o[7], g = o[8], m = o[9], E = o[10], y = o[11], v = o[12], A = o[13], b = o[14], T = o[15], S = s * d - u * f, R = s * h - l * f, M = s * p - c * f, w = u * h - l * d, P = u * p - c * d, O = l * p - c * h, C = g * A - m * v, I = g * b - E * v, H = g * T - y * v, F = m * b - E * A, L = m * T - y * A, k = E * T - y * b, D = S * k - R * L + M * F + w * H - P * I + O * C;
24996
- return D ? (D = 1 / D, r[0] = (d * k - h * L + p * F) * D, r[1] = (l * L - u * k - c * F) * D, r[2] = (A * O - b * P + T * w) * D, r[3] = (E * P - m * O - y * w) * D, r[4] = (h * H - f * k - p * I) * D, r[5] = (s * k - l * H + c * I) * D, r[6] = (b * M - v * O - T * R) * D, r[7] = (g * O - E * M + y * R) * D, r[8] = (f * L - d * H + p * C) * D, r[9] = (u * H - s * L - c * C) * D, r[10] = (v * P - A * M + T * S) * D, r[11] = (m * M - g * P - y * S) * D, r[12] = (d * I - f * F - h * C) * D, r[13] = (s * F - u * I + l * C) * D, r[14] = (A * R - v * w - b * S) * D, r[15] = (g * w - m * R + E * S) * D, r) : null;
25024
+ var s = o[0], u = o[1], l = o[2], c = o[3], f = o[4], d = o[5], h = o[6], p = o[7], g = o[8], m = o[9], E = o[10], y = o[11], v = o[12], A = o[13], b = o[14], T = o[15], S = s * d - u * f, R = s * h - l * f, M = s * p - c * f, w = u * h - l * d, P = u * p - c * d, F = l * p - c * h, C = g * A - m * v, I = g * b - E * v, H = g * T - y * v, O = m * b - E * A, L = m * T - y * A, k = E * T - y * b, D = S * k - R * L + M * O + w * H - P * I + F * C;
25025
+ return D ? (D = 1 / D, r[0] = (d * k - h * L + p * O) * D, r[1] = (l * L - u * k - c * O) * D, r[2] = (A * F - b * P + T * w) * D, r[3] = (E * P - m * F - y * w) * D, r[4] = (h * H - f * k - p * I) * D, r[5] = (s * k - l * H + c * I) * D, r[6] = (b * M - v * F - T * R) * D, r[7] = (g * F - E * M + y * R) * D, r[8] = (f * L - d * H + p * C) * D, r[9] = (u * H - s * L - c * C) * D, r[10] = (v * P - A * M + T * S) * D, r[11] = (m * M - g * P - y * S) * D, r[12] = (d * I - f * O - h * C) * D, r[13] = (s * O - u * I + l * C) * D, r[14] = (A * R - v * w - b * S) * D, r[15] = (g * w - m * R + E * S) * D, r) : null;
24997
25026
  }
24998
25027
  return function(r, o, s) {
24999
25028
  n(r, o), s && t(r, r, s), e(r, r);
@@ -25808,8 +25837,8 @@ void main() {
25808
25837
  if (h.progress = M, M >= 0.01 && M <= 0.99 && (h.progress = clamp$1(b.effectEasing(M), 0.01, 0.99)), b.panoPicture && (M < 1 ? A.panoPicture && (h.pano0 = A.panoPicture) : h.pano0 = b.panoPicture, h.pano1 = b.panoPicture), b.effect === "montage" ? h.transition = "BLACK" : b.effect === "spread" ? h.transition = "SPREAD" : h.transition = "FADE", b.effect === "zoomin" || b.effect === "zoomout")
25809
25838
  h.progress = Math.pow(M, 3);
25810
25839
  else if (b.effect === "model" && this.camera.pose.distance < 0.01) {
25811
- var O = 1 - Math.pow(clamp$1(Math.abs(M - 0.5) * 2, 0, 1), 4);
25812
- h.modelAlpha = O;
25840
+ var F = 1 - Math.pow(clamp$1(Math.abs(M - 0.5) * 2, 0, 1), 4);
25841
+ h.modelAlpha = F;
25813
25842
  }
25814
25843
  if (M < 1 && b.effect !== "fly") {
25815
25844
  if (h.pano0 && A.panoPicture) {
@@ -25825,14 +25854,14 @@ void main() {
25825
25854
  w.copy(P), R = !0;
25826
25855
  }
25827
25856
  p.distance = this.locationMotion.value.distance, p.offset = new THREE.Vector3(w.x + (P.x - w.x) * M, w.y + (P.y - w.y) * M, w.z + (P.z - w.z) * M);
25828
- for (var H = [], F = [], L = 0, k = this.locationMotion.keyframes; L < k.length; L++) {
25829
- var D = k[L], U = D.key, z = D.progress;
25830
- U !== void 0 && (H.push(U), z > this.locationMotion.progress && F.push(U));
25857
+ for (var H = [], O = [], L = 0, k = this.locationMotion.keyframes; L < k.length; L++) {
25858
+ var D = k[L], q = D.key, z = D.progress;
25859
+ q !== void 0 && (H.push(q), z > this.locationMotion.progress && O.push(q));
25831
25860
  }
25832
25861
  for (var J = 0, Q = Object.keys(this.panoResources); J < Q.length; J++) {
25833
- var q = Q[J];
25834
- if (!(F.indexOf(q) >= 0)) {
25835
- var j = this.panoResources[q];
25862
+ var U = Q[J];
25863
+ if (!(O.indexOf(U) >= 0)) {
25864
+ var j = this.panoResources[U];
25836
25865
  if (j.panoPicture) {
25837
25866
  var G = j.panoPicture.map;
25838
25867
  if (G) {
@@ -25841,7 +25870,7 @@ void main() {
25841
25870
  G.dispose(), j.panoPicture = null;
25842
25871
  }
25843
25872
  }
25844
- H.indexOf(q) >= 0 || delete this.panoResources[q];
25873
+ H.indexOf(U) >= 0 || delete this.panoResources[U];
25845
25874
  }
25846
25875
  }
25847
25876
  this.currentPano = panoParse(b.panoId), this.emit("pano.moving", createEvent("pano.moving", {
@@ -26164,8 +26193,8 @@ void main() {
26164
26193
  if (this.perspToOrthoMotion.ended || (this.perspToOrthoMotion.update(e), this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho, 0, 1))), !this.locationMotion.ended) {
26165
26194
  this.locationMotion.update(e), s.distance = this.locationMotion.value.distance, s.offset = new THREE.Vector3(this.locationMotion.value.x, this.locationMotion.value.y, this.locationMotion.value.z);
26166
26195
  for (var f = new THREE.Vector3(this.locationMotion.value.x, this.locationMotion.value.y, this.locationMotion.value.z), d = [], h = function(S) {
26167
- var R = p.modelScene.models.find(function(O) {
26168
- return O.work === S;
26196
+ var R = p.modelScene.models.find(function(F) {
26197
+ return F.work === S;
26169
26198
  });
26170
26199
  if (!R || R.visible === !1 || S.observers.length <= 0)
26171
26200
  return "continue";
@@ -26257,34 +26286,34 @@ void main() {
26257
26286
  y: e.y,
26258
26287
  z: e.z,
26259
26288
  distance: 0
26260
- }, O = {
26289
+ }, F = {
26261
26290
  longitude: r.longitude,
26262
26291
  latitude: r.latitude,
26263
26292
  fov: r.fov
26264
26293
  }, C = [], I = function(Q) {
26265
- var q = H.modelScene.models.find(function(ee) {
26294
+ var U = H.modelScene.models.find(function(ee) {
26266
26295
  return ee.work === Q;
26267
26296
  });
26268
- if (!q || q.visible === !1 || Q.observers.length <= 0)
26297
+ if (!U || U.visible === !1 || Q.observers.length <= 0)
26269
26298
  return "continue";
26270
26299
  if (scratchObserverBox$1.copy(Q.observerBox).expandByScalar(10).applyMatrix4(Q.transform), scratchObserverBox$1.containsPoint(d))
26271
26300
  for (var j = 0, G = Q.observers; j < G.length; j++) {
26272
26301
  var ae = G[j];
26273
26302
  C.push(ae);
26274
26303
  }
26275
- }, H = this, F = 0, L = this.works; F < L.length; F++) {
26276
- var k = L[F];
26304
+ }, H = this, O = 0, L = this.works; O < L.length; O++) {
26305
+ var k = L[O];
26277
26306
  I(k);
26278
26307
  }
26279
26308
  var D = arrayMin(C, function(Q) {
26280
26309
  return scratchVector3$2.copy(Q.position).applyMatrix4(Q.work.transform).distanceTo(d);
26281
- }), U = D ? {
26310
+ }), q = D ? {
26282
26311
  workCode: D.work.workCode,
26283
26312
  panoIndex: D.panoIndex
26284
26313
  } : {
26285
26314
  workCode: "",
26286
26315
  panoIndex: 0
26287
- }, z = __assign(__assign({}, U), { mode: this.mode, longitude: (u = O.longitude) !== null && u !== void 0 ? u : this.camera.pose.longitude, latitude: (l = O.latitude) !== null && l !== void 0 ? l : this.camera.pose.latitude, fov: (c = O.fov) !== null && c !== void 0 ? c : this.camera.pose.fov, offset: e.clone(), distance: 0 }), J = this.currentPano;
26316
+ }, z = __assign(__assign({}, q), { mode: this.mode, longitude: (u = F.longitude) !== null && u !== void 0 ? u : this.camera.pose.longitude, latitude: (l = F.latitude) !== null && l !== void 0 ? l : this.camera.pose.latitude, fov: (c = F.fov) !== null && c !== void 0 ? c : this.camera.pose.fov, offset: e.clone(), distance: 0 }), J = this.currentPano;
26288
26317
  this.emit("pano.moveTo", createEvent("pano.moveTo", {
26289
26318
  options: r,
26290
26319
  prevPano: J,
@@ -26292,15 +26321,15 @@ void main() {
26292
26321
  state: z,
26293
26322
  userAction: this.userAction,
26294
26323
  error: null
26295
- })), r.moveStartCallback && r.moveStartCallback(z), this.cameraMotion.set(O, w).catch(noop), this.locationMotion.set(P, w, M).then(
26324
+ })), r.moveStartCallback && r.moveStartCallback(z), this.cameraMotion.set(F, w).catch(noop), this.locationMotion.set(P, w, M).then(
26296
26325
  // resolve
26297
26326
  // 动画结束
26298
26327
  function() {
26299
- for (var Q = 0, q = s.modelScene.children; Q < q.length; Q++) {
26300
- var j = q[Q];
26328
+ for (var Q = 0, U = s.modelScene.children; Q < U.length; Q++) {
26329
+ var j = U[Q];
26301
26330
  j instanceof Model && j.show();
26302
26331
  }
26303
- var G = __assign(__assign(__assign({}, U), { mode: s.mode }), clonePose(s.camera.pose));
26332
+ var G = __assign(__assign(__assign({}, q), { mode: s.mode }), clonePose(s.camera.pose));
26304
26333
  s.emit("pano.arrived", createEvent("pano.arrived", {
26305
26334
  options: r,
26306
26335
  prevPano: J,
@@ -26704,8 +26733,8 @@ void main() {
26704
26733
  y: w.offset.y,
26705
26734
  z: w.offset.z
26706
26735
  }, 0).catch(noop)), e.isFinal) {
26707
- var P = this.renderer.getSize(new THREE.Vector2()), O = 2 * e.velocityX * b / P.y, C = 2 * e.velocityY * b / P.y, I = new THREE.Vector3(), H = new THREE.Vector3();
26708
- I.setFromMatrixColumn(this.camera.matrix, 0), I.multiplyScalar(-O), H.add(I), this.camera.pose.latitude < PANGESTURE_FORWARD_ANGLE ? I.setFromMatrixColumn(this.camera.matrix, 1) : (I.setFromMatrixColumn(this.camera.matrix, 0), I.crossVectors(this.camera.up, I)), I.multiplyScalar(C), H.add(I), this.inMomentumMovement = {
26736
+ var P = this.renderer.getSize(new THREE.Vector2()), F = 2 * e.velocityX * b / P.y, C = 2 * e.velocityY * b / P.y, I = new THREE.Vector3(), H = new THREE.Vector3();
26737
+ I.setFromMatrixColumn(this.camera.matrix, 0), I.multiplyScalar(-F), H.add(I), this.camera.pose.latitude < PANGESTURE_FORWARD_ANGLE ? I.setFromMatrixColumn(this.camera.matrix, 1) : (I.setFromMatrixColumn(this.camera.matrix, 0), I.crossVectors(this.camera.up, I)), I.multiplyScalar(C), H.add(I), this.inMomentumMovement = {
26709
26738
  uuid: createUuid()
26710
26739
  }, this.requestMomentumMovement(e, !0, { longitude: 0, latitude: 0, x: H.x, y: H.y, z: H.z }, 0);
26711
26740
  }
@@ -26713,7 +26742,7 @@ void main() {
26713
26742
  var y = {
26714
26743
  x: e.center.x - o.x,
26715
26744
  y: e.center.y - o.y
26716
- }, F = this.coordinatesForOffset(y), L = formatRad$1(this.cameraMotion.value.longitude + F.longitude), k = this.camera.pose.fov, D = clamp$1(typeof this.minLatitude == "function" ? this.minLatitude(k) : this.minLatitude, -Math.PI / 2, Math.PI / 2), U = clamp$1(typeof this.maxLatitude == "function" ? this.maxLatitude(k) : this.maxLatitude, -Math.PI / 2, Math.PI / 2), z = clamp$1(this.cameraMotion.value.latitude + F.latitude, D, U);
26745
+ }, O = this.coordinatesForOffset(y), L = formatRad$1(this.cameraMotion.value.longitude + O.longitude), k = this.camera.pose.fov, D = clamp$1(typeof this.minLatitude == "function" ? this.minLatitude(k) : this.minLatitude, -Math.PI / 2, Math.PI / 2), q = clamp$1(typeof this.maxLatitude == "function" ? this.maxLatitude(k) : this.maxLatitude, -Math.PI / 2, Math.PI / 2), z = clamp$1(this.cameraMotion.value.latitude + O.latitude, D, q);
26717
26746
  this.camera.aspect < 1 && Math.abs(e.overallVelocityX) > 0.2 && Math.atan2(Math.abs(e.overallVelocityY), Math.abs(e.overallVelocityX)) < Math.PI / 6.923 && (z = this.cameraMotion.value.latitude);
26718
26747
  var w = __assign(__assign({}, this.currentPano), { mode: this.mode, longitude: L, latitude: z, fov: k, offset: this.camera.pose.offset, distance: this.camera.pose.distance });
26719
26748
  if (e.isFinal && Object.assign(e, { __fixFinalState: !0 }), e.state = w, this.emit("gesture.pan", e), e.defaultPrevented)
@@ -26875,7 +26904,7 @@ void main() {
26875
26904
  transform: g,
26876
26905
  options: m
26877
26906
  },
26878
- format: THREE.RGBAFormat,
26907
+ format: THREE.RGBFormat,
26879
26908
  viaAjax: !0,
26880
26909
  fetcher: getFetcher(this.fiveId, u.work)
26881
26910
  }, void 0, void 0, void 0, this.renderer).then(function(A) {
@@ -27496,14 +27525,14 @@ var LineSegments2 = (
27496
27525
  g.x *= f.x / 2, g.y *= f.y / 2, m.x *= f.x / 2, m.y *= f.y / 2, A.start.copy(g), A.start.z = 0, A.end.copy(m), A.end.z = 0;
27497
27526
  var P = A.closestPointToPointParameter(y, !0);
27498
27527
  A.at(P, b);
27499
- var O = THREE.MathUtils.lerp(g.z, m.z, P), C = O >= -1 && O <= 1, I = y.distanceTo(b) < d * 0.5;
27528
+ var F = THREE.MathUtils.lerp(g.z, m.z, P), C = F >= -1 && F <= 1, I = y.distanceTo(b) < d * 0.5;
27500
27529
  if (C && I) {
27501
27530
  A.start.fromBufferAttribute(h, S), A.end.fromBufferAttribute(p, S), A.start.applyMatrix4(T), A.end.applyMatrix4(T);
27502
- var H = new THREE.Vector3(), F = new THREE.Vector3();
27503
- o.distanceSqToSegment(A.start, A.end, F, H), r.push({
27504
- point: F,
27531
+ var H = new THREE.Vector3(), O = new THREE.Vector3();
27532
+ o.distanceSqToSegment(A.start, A.end, O, H), r.push({
27533
+ point: O,
27505
27534
  pointOnLine: H,
27506
- distance: o.origin.distanceTo(F),
27535
+ distance: o.origin.distanceTo(O),
27507
27536
  object: this,
27508
27537
  faceIndex: S
27509
27538
  });
@@ -27581,7 +27610,7 @@ var circleImageURL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYA
27581
27610
  }
27582
27611
  return Object.defineProperty(t, "version", {
27583
27612
  get: function() {
27584
- return "6.7.0-alpha.28";
27613
+ return "6.7.0-alpha.29";
27585
27614
  },
27586
27615
  enumerable: !1,
27587
27616
  configurable: !0
@@ -28068,8 +28097,8 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28068
28097
  if (!h)
28069
28098
  throw new Error("Invalid PanoIndex");
28070
28099
  getImageSizeFromURL(h.images.up), this.imageOptions.size;
28071
- var p = this.imageOptions.transform, g = function(P, O) {
28072
- return mapPanoResource(applyImageURLOptions(P, p, O));
28100
+ var p = this.imageOptions.transform, g = function(P, F) {
28101
+ return mapPanoResource(applyImageURLOptions(P, p, F));
28073
28102
  }, m = __assign({ key: "pano.".concat(d) }, pick(this.imageOptions, ["format", "size", "quality"])), E = {
28074
28103
  right: h.images.work.getURL(h.images.right),
28075
28104
  left: h.images.work.getURL(h.images.left),
@@ -28113,19 +28142,19 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28113
28142
  panoId: d,
28114
28143
  hash: y,
28115
28144
  onLoad: function(P) {
28116
- var O, C, I = P.body;
28145
+ var F, C, I = P.body;
28117
28146
  if (s.destroyed)
28118
28147
  I.dispose();
28119
28148
  else {
28120
28149
  I.name = y;
28121
- var H = Array.isArray(I.image) ? I.image[0] : I.image, F = (O = H == null ? void 0 : H.width) !== null && O !== void 0 ? O : 2048, L = {
28150
+ var H = Array.isArray(I.image) ? I.image[0] : I.image, O = (F = H == null ? void 0 : H.width) !== null && F !== void 0 ? F : 2048, L = {
28122
28151
  panoId: d,
28123
28152
  effect: f,
28124
28153
  effectEasing: (C = r.effectEasing) !== null && C !== void 0 ? C : defaultEffectEase,
28125
28154
  leftPanoPicture: {
28126
28155
  panoId: d,
28127
28156
  map: I,
28128
- mapSize: F,
28157
+ mapSize: O,
28129
28158
  matrix: h.matrix.clone(),
28130
28159
  zoom: 1
28131
28160
  },
@@ -28136,21 +28165,21 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28136
28165
  }
28137
28166
  },
28138
28167
  onError: function(P) {
28139
- var O = __assign(__assign(__assign({}, e), { mode: s.mode }), clonePose(s.camera.pose));
28168
+ var F = __assign(__assign(__assign({}, e), { mode: s.mode }), clonePose(s.camera.pose));
28140
28169
  s.emit("pano.error", createEvent("pano.error", {
28141
28170
  error: P,
28142
28171
  userAction: s.userAction,
28143
28172
  options: r,
28144
28173
  prevPano: s.currentPano,
28145
28174
  progress: 0,
28146
- state: O
28175
+ state: F
28147
28176
  })), s.emit("pano.cancel", createEvent("pano.cancel", {
28148
28177
  error: null,
28149
28178
  userAction: s.userAction,
28150
28179
  options: r,
28151
28180
  prevPano: s.currentPano,
28152
28181
  progress: 0,
28153
- state: O
28182
+ state: F
28154
28183
  })), r.moveCancelCallback && r.moveCancelCallback();
28155
28184
  }
28156
28185
  };
@@ -28160,27 +28189,27 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28160
28189
  transform: g,
28161
28190
  options: m
28162
28191
  },
28163
- format: THREE.RGBAFormat,
28192
+ format: THREE.RGBFormat,
28164
28193
  fetcher: getFetcher(this.fiveId, h.work)
28165
28194
  }, void 0, void 0, function(P) {
28166
- var O, C;
28167
- ((O = s.pendingTextureTask) === null || O === void 0 ? void 0 : O.hash) === y && ((C = s.panoMeshes.get(d)) === null || C === void 0 || C.setProgress(P)), s.emit("pano.texture.progress", createEvent("pano.texture.progress", {
28195
+ var F, C;
28196
+ ((F = s.pendingTextureTask) === null || F === void 0 ? void 0 : F.hash) === y && ((C = s.panoMeshes.get(d)) === null || C === void 0 || C.setProgress(P)), s.emit("pano.texture.progress", createEvent("pano.texture.progress", {
28168
28197
  error: null,
28169
28198
  progress: P,
28170
28199
  meta: null,
28171
28200
  pano: e
28172
28201
  }));
28173
28202
  }, this.renderer).then(function(P) {
28174
- var O, C;
28175
- s.pending.delete(M), ((O = s.pendingTextureTask) === null || O === void 0 ? void 0 : O.hash) === y ? (s.pendingTextureTask.onLoad(P), s.pendingTextureTask = void 0, (C = s.panoMeshes.get(d)) === null || C === void 0 || C.setProgress(0)) : P.body.dispose(), s.emit("pano.texture.success", createEvent("pano.texture.success", {
28203
+ var F, C;
28204
+ s.pending.delete(M), ((F = s.pendingTextureTask) === null || F === void 0 ? void 0 : F.hash) === y ? (s.pendingTextureTask.onLoad(P), s.pendingTextureTask = void 0, (C = s.panoMeshes.get(d)) === null || C === void 0 || C.setProgress(0)) : P.body.dispose(), s.emit("pano.texture.success", createEvent("pano.texture.success", {
28176
28205
  error: null,
28177
28206
  progress: 1,
28178
28207
  meta: P.meta,
28179
28208
  pano: e
28180
28209
  }));
28181
28210
  }).catch(function(P) {
28182
- var O, C;
28183
- s.pending.delete(M), ((O = s.pendingTextureTask) === null || O === void 0 ? void 0 : O.hash) === y && (s.pendingTextureTask.onError(P), s.pendingTextureTask = void 0, (C = s.panoMeshes.get(d)) === null || C === void 0 || C.setProgress(0)), s.emit("pano.texture.error", createEvent("pano.texture.error", {
28211
+ var F, C;
28212
+ s.pending.delete(M), ((F = s.pendingTextureTask) === null || F === void 0 ? void 0 : F.hash) === y && (s.pendingTextureTask.onError(P), s.pendingTextureTask = void 0, (C = s.panoMeshes.get(d)) === null || C === void 0 || C.setProgress(0)), s.emit("pano.texture.error", createEvent("pano.texture.error", {
28184
28213
  error: P,
28185
28214
  progress: 0,
28186
28215
  meta: null,
@@ -28201,29 +28230,29 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28201
28230
  if (this.locationMotion.ended) {
28202
28231
  var R = this.locationMotion.getKeyFrameSegment(y);
28203
28232
  R[0];
28204
- var M = R[1], w = this.locationMotion.value, P = this.panoResourceFromLocationMotionKeyframe(M).position, O = r.position;
28205
- b = Math.max(P.distanceTo(O), A), T = [
28233
+ var M = R[1], w = this.locationMotion.value, P = this.panoResourceFromLocationMotionKeyframe(M).position, F = r.position;
28234
+ b = Math.max(P.distanceTo(F), A), T = [
28206
28235
  { key: M.key, progress: 0, value: __assign(__assign({}, w), { count: 0 }) },
28207
28236
  { key: v, progress: 1, value: { distance: 0, count: 1 } }
28208
28237
  ], S = 0;
28209
28238
  } else {
28210
- var C = this.locationMotion.getKeyFrameSegment(y), I = C[0], M = C[1], w = this.locationMotion.value, H = this.panoResourceFromLocationMotionKeyframe(I).position, P = this.panoResourceFromLocationMotionKeyframe(M).position, O = r.position, F = M.value.count - w.count, L = Math.max(H.distanceTo(P), A) * F, k = Math.max(P.distanceTo(O), A);
28239
+ var C = this.locationMotion.getKeyFrameSegment(y), I = C[0], M = C[1], w = this.locationMotion.value, H = this.panoResourceFromLocationMotionKeyframe(I).position, P = this.panoResourceFromLocationMotionKeyframe(M).position, F = r.position, O = M.value.count - w.count, L = Math.max(H.distanceTo(P), A) * O, k = Math.max(P.distanceTo(F), A);
28211
28240
  b = L + k, T = [
28212
28241
  { key: I.key, progress: 0, value: __assign({}, w) },
28213
28242
  { key: M.key, progress: L / b, value: M.value },
28214
28243
  { key: v, progress: 1, value: { count: M.value.count + 1, distance: 0 } }
28215
28244
  ];
28216
- var D = this.locationMotionKeyframesLength(this.locationMotion.keyframes), U = this.locationMotionKeyframesLength(T);
28217
- S = this.locationMotion.getProgressVelocity(y) * D / U;
28245
+ var D = this.locationMotionKeyframesLength(this.locationMotion.keyframes), q = this.locationMotionKeyframesLength(T);
28246
+ S = this.locationMotion.getProgressVelocity(y) * D / q;
28218
28247
  }
28219
28248
  var z = r.effect === "instant" ? 0 : this.calculateMovingDuration(o.duration, r.effect === "fly" || r.effect === "model" ? b : 0), J = {
28220
28249
  longitude: o.longitude,
28221
28250
  latitude: o.latitude,
28222
28251
  fov: o.fov
28223
- }, Q = __assign(__assign({}, e), { mode: this.mode, longitude: (u = J.longitude) !== null && u !== void 0 ? u : this.camera.pose.longitude, latitude: (l = J.latitude) !== null && l !== void 0 ? l : this.camera.pose.latitude, fov: (c = J.fov) !== null && c !== void 0 ? c : this.camera.pose.fov, offset: r.position.clone(), distance: 0 }), q = this.currentPano;
28252
+ }, Q = __assign(__assign({}, e), { mode: this.mode, longitude: (u = J.longitude) !== null && u !== void 0 ? u : this.camera.pose.longitude, latitude: (l = J.latitude) !== null && l !== void 0 ? l : this.camera.pose.latitude, fov: (c = J.fov) !== null && c !== void 0 ? c : this.camera.pose.fov, offset: r.position.clone(), distance: 0 }), U = this.currentPano;
28224
28253
  if (this.emit("pano.moveTo", createEvent("pano.moveTo", {
28225
28254
  options: o,
28226
- prevPano: q,
28255
+ prevPano: U,
28227
28256
  progress: 0,
28228
28257
  state: Q,
28229
28258
  userAction: this.userAction,
@@ -28289,7 +28318,7 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28289
28318
  var se = __assign(__assign({}, e), { mode: s.mode, longitude: s.camera.pose.longitude, latitude: s.camera.pose.latitude, fov: s.camera.pose.fov, offset: s.camera.pose.offset.clone(), distance: 0 });
28290
28319
  s.emit("pano.arrived", createEvent("pano.arrived", {
28291
28320
  options: o,
28292
- prevPano: q,
28321
+ prevPano: U,
28293
28322
  progress: 1,
28294
28323
  state: se,
28295
28324
  userAction: s.userAction,
@@ -28320,7 +28349,7 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28320
28349
  function() {
28321
28350
  s.emit("pano.cancel", createEvent("pano.cancel", {
28322
28351
  options: o,
28323
- prevPano: q,
28352
+ prevPano: U,
28324
28353
  progress: 0,
28325
28354
  state: Q,
28326
28355
  userAction: s.userAction,
@@ -28419,10 +28448,10 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28419
28448
  for (var o = this, s, u, l, c, f, d, h, p, g, m = [], E = 2; E < arguments.length; E++)
28420
28449
  m[E - 2] = arguments[E];
28421
28450
  this.userAction = !0;
28422
- var y = {}, v = {}, A = this.camera.getDirection(new THREE.Vector3()), b = this.locationMotion.keyframes[0], T = this.locationMotion.keyframes[this.locationMotion.keyframes.length - 1], S = this.locationMotion.getKeyFrameSegment(e), R = S[0], M = S[1], w = this.panoResourceFromLocationMotionKeyframe(R), P = this.panoResourceFromLocationMotionKeyframe(M), O = this.panoResourceFromLocationMotionKeyframe(b), C = this.panoResourceFromLocationMotionKeyframe(T), I = !1;
28451
+ var y = {}, v = {}, A = this.camera.getDirection(new THREE.Vector3()), b = this.locationMotion.keyframes[0], T = this.locationMotion.keyframes[this.locationMotion.keyframes.length - 1], S = this.locationMotion.getKeyFrameSegment(e), R = S[0], M = S[1], w = this.panoResourceFromLocationMotionKeyframe(R), P = this.panoResourceFromLocationMotionKeyframe(M), F = this.panoResourceFromLocationMotionKeyframe(b), C = this.panoResourceFromLocationMotionKeyframe(T), I = !1;
28423
28452
  if (this.cameraMotion.ended === !1 && (this.cameraMotion.update(e), v.fov = this.cameraMotion.value.fov), this.modelAlphaMotion.ended === !1 && (this.modelAlphaMotion.update(e), y.modelAlpha = this.modelAlphaMotion.value.modelAlpha), this.perspToOrthoMotion.ended === !1 && (this.perspToOrthoMotion.update(e), this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho, 0, 1))), this.locationMotion.ended === !1) {
28424
28453
  this.locationMotion.update(e);
28425
- var H = this.locationMotion.value.count - M.value.count + 1, F = new THREE.Vector3().copy(w.position), L = new THREE.Vector3().copy(P.position);
28454
+ var H = this.locationMotion.value.count - M.value.count + 1, O = new THREE.Vector3().copy(w.position), L = new THREE.Vector3().copy(P.position);
28426
28455
  if (y.progress = H, H >= 0.01 && H <= 0.99 && (y.progress = clamp$1(P.effectEasing(H), 0.01, 0.99)), P.leftPanoPicture && (H < 1 ? w.leftPanoPicture && (y.pano0 = w.leftPanoPicture) : y.pano0 = P.leftPanoPicture, y.pano1 = P.leftPanoPicture), P.effect === "montage" ? y.transition = "BLACK" : P.effect === "spread" ? y.transition = "SPREAD" : y.transition = "FADE", P.effect === "zoomin" || P.effect === "zoomout")
28427
28456
  y.progress = Math.pow(H, 3);
28428
28457
  else if (P.effect === "model" && this.camera.pose.distance < 0.01) {
@@ -28437,14 +28466,14 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28437
28466
  mapSize: y.pano0.mapSize,
28438
28467
  zoom: y.pano0.zoom,
28439
28468
  matrix: w.leftPanoPicture.matrix.clone().setPosition(P.position)
28440
- }, U = this.panoPictureObserverMap.get(y.pano0);
28441
- U && this.panoPictureObserverMap.set(D, U), y.pano0 = D;
28469
+ }, q = this.panoPictureObserverMap.get(y.pano0);
28470
+ q && this.panoPictureObserverMap.set(D, q), y.pano0 = D;
28442
28471
  }
28443
- F.copy(L), I = !0;
28472
+ O.copy(L), I = !0;
28444
28473
  }
28445
- v.distance = this.locationMotion.value.distance, v.offset = new THREE.Vector3(F.x + (L.x - F.x) * H, F.y + (L.y - F.y) * H, F.z + (L.z - F.z) * H);
28446
- for (var z = [], J = [], Q = 0, q = this.locationMotion.keyframes; Q < q.length; Q++) {
28447
- var j = q[Q], G = j.key, ae = j.progress;
28474
+ v.distance = this.locationMotion.value.distance, v.offset = new THREE.Vector3(O.x + (L.x - O.x) * H, O.y + (L.y - O.y) * H, O.z + (L.z - O.z) * H);
28475
+ for (var z = [], J = [], Q = 0, U = this.locationMotion.keyframes; Q < U.length; Q++) {
28476
+ var j = U[Q], G = j.key, ae = j.progress;
28448
28477
  G !== void 0 && (z.push(G), ae > this.locationMotion.progress && J.push(G));
28449
28478
  }
28450
28479
  for (var ee = 0, Z = Object.keys(this.panoResources); ee < Z.length; ee++) {
@@ -28465,7 +28494,7 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28465
28494
  var W = panoParse(P.panoId);
28466
28495
  W !== this.currentPano && (this.currentPano = W, this.accessibleObserverFloorCheckCount = 0), this.emit("pano.moving", createEvent("pano.moving", {
28467
28496
  userAction: this.userAction,
28468
- prevPano: panoParse(O.panoId),
28497
+ prevPano: panoParse(F.panoId),
28469
28498
  state: __assign(__assign(__assign(__assign({}, panoParse(C.panoId)), { mode: this.mode }), clonePose(this.camera.pose)), v),
28470
28499
  options: {},
28471
28500
  progress: this.locationMotion.progress,
@@ -28540,8 +28569,8 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28540
28569
  var Ie = this.works.getResolvedObserver(this.currentPano), $e = this.locationMotion.ended ? this.getForwardObserverOrNot(this.xrManager.cameraVR) : null, Se = this.works.getObserver(w.panoId), ze = this.works.getObserver(P.panoId);
28541
28570
  if (this.adjustPanoCircleMeshPositionBasedOnModel && this.helper.visible && Ie) {
28542
28571
  for (var Fe = [], Oe = Ie.work.observers, Le = 0, Ue = Ie.accessibleNodes; Le < Ue.length; Le++) {
28543
- var tt = Ue[Le], U = Oe[tt];
28544
- U && Fe.push(U);
28572
+ var tt = Ue[Le], q = Oe[tt];
28573
+ q && Fe.push(q);
28545
28574
  }
28546
28575
  var lt = /* @__PURE__ */ new Map();
28547
28576
  if (Fe.sort(function(pe, Pe) {
@@ -28580,24 +28609,24 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28580
28609
  var rt = /* @__PURE__ */ new Map();
28581
28610
  if (Se)
28582
28611
  for (var it = 0, ct = Se.accessibleNodes; it < ct.length; it++) {
28583
- var tt = ct[it], U = Se.work.observers[tt];
28584
- if (U) {
28612
+ var tt = ct[it], q = Se.work.observers[tt];
28613
+ if (q) {
28585
28614
  var Ne = panoStringify({
28586
- panoIndex: U.panoIndex,
28587
- workCode: U.work.workCode
28615
+ panoIndex: q.panoIndex,
28616
+ workCode: q.work.workCode
28588
28617
  });
28589
- rt.set(Ne, U);
28618
+ rt.set(Ne, q);
28590
28619
  }
28591
28620
  }
28592
28621
  if (ze)
28593
28622
  for (var Xe = 0, fe = ze.accessibleNodes; Xe < fe.length; Xe++) {
28594
- var tt = fe[Xe], U = ze.work.observers[tt];
28595
- if (U) {
28623
+ var tt = fe[Xe], q = ze.work.observers[tt];
28624
+ if (q) {
28596
28625
  var Ne = panoStringify({
28597
- panoIndex: U.panoIndex,
28598
- workCode: U.work.workCode
28626
+ panoIndex: q.panoIndex,
28627
+ workCode: q.work.workCode
28599
28628
  });
28600
- rt.set(Ne, U);
28629
+ rt.set(Ne, q);
28601
28630
  }
28602
28631
  }
28603
28632
  if (this.panoMeshes.forEach(function(pe, Pe) {
@@ -28668,8 +28697,8 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28668
28697
  });
28669
28698
  }
28670
28699
  {
28671
- var H = (d = this.modelScene.parameter.progress) !== null && d !== void 0 ? d : 1, st = Math.round(H), Qe = this.modelScene.parameter.pano0, Je = this.modelScene.parameter.pano1, ft = st === 0 ? Qe : Je, U = void 0;
28672
- if (ft && (U = this.works.getObserver(ft.panoId), U || (U = this.panoPictureObserverMap.get(ft))), this.tiling.appearDuration = this.tileAppearDuration, this.tiling.maxRequest = H < (canUseNativeImageBitmap() ? 0.6 : 0.99) ? 0 : this.tileMaxRequest, this.tiling.imageOptions = this.imageOptions, !U || !ft || this.tileLevelForFov === !1 || this.camera.perspToOrtho.x > 0) {
28700
+ var H = (d = this.modelScene.parameter.progress) !== null && d !== void 0 ? d : 1, st = Math.round(H), Qe = this.modelScene.parameter.pano0, Je = this.modelScene.parameter.pano1, ft = st === 0 ? Qe : Je, q = void 0;
28701
+ if (ft && (q = this.works.getObserver(ft.panoId), q || (q = this.panoPictureObserverMap.get(ft))), this.tiling.appearDuration = this.tileAppearDuration, this.tiling.maxRequest = H < (canUseNativeImageBitmap() ? 0.6 : 0.99) ? 0 : this.tileMaxRequest, this.tiling.imageOptions = this.imageOptions, !q || !ft || this.tileLevelForFov === !1 || this.camera.perspToOrtho.x > 0) {
28673
28702
  this.tiling.setObserver(null);
28674
28703
  var Ht = {
28675
28704
  renderer: this.renderer,
@@ -28687,7 +28716,7 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28687
28716
  this.tiling.update(Ht), this.modelScene.parameter.set("refinedScreen", null);
28688
28717
  } else {
28689
28718
  var Ft = getImageSizeLevel(ft.mapSize), dt = Ft + 1, Pt = 4;
28690
- this.tiling.setObserver(U);
28719
+ this.tiling.setObserver(q);
28691
28720
  var Ht = {
28692
28721
  renderer: this.renderer,
28693
28722
  resolution: ie,
@@ -29243,14 +29272,14 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29243
29272
  m.getPixelsRenderTarget = new THREE.WebGLRenderTarget(1, 1, {
29244
29273
  encoding: (p = (h = m.renderer) === null || h === void 0 ? void 0 : h.outputEncoding) !== null && p !== void 0 ? p : THREE.sRGBEncoding,
29245
29274
  generateMipmaps: !1
29246
- }), m.viewport = Object.assign({ left: 0, bottom: 0, width: 1, height: 1 }, e.viewport), m.camera = new Camera(DEFAULT_CAMERA_FOV), m.scene = new Scene(), m.xrCustomObjectsScene = new THREE.Scene(), m.scene.add(m.xrCustomObjectsScene), m.scene.matrixAutoUpdate = !1, m.loadWorkTask = Promise.resolve(), m.requestProxy = (g = e.requestProxy) !== null && g !== void 0 ? g : DEFAULT_REQUEST_PROXY, m.networkSubscribe = new NetworkSubscribe(), m.networkSubscribe.on("network", function(I, H, F, L) {
29275
+ }), m.viewport = Object.assign({ left: 0, bottom: 0, width: 1, height: 1 }, e.viewport), m.camera = new Camera(DEFAULT_CAMERA_FOV), m.scene = new Scene(), m.xrCustomObjectsScene = new THREE.Scene(), m.scene.add(m.xrCustomObjectsScene), m.scene.matrixAutoUpdate = !1, m.loadWorkTask = Promise.resolve(), m.requestProxy = (g = e.requestProxy) !== null && g !== void 0 ? g : DEFAULT_REQUEST_PROXY, m.networkSubscribe = new NetworkSubscribe(), m.networkSubscribe.on("network", function(I, H, O, L) {
29247
29276
  var k;
29248
29277
  m.emit("network.resource", createEvent("network.resource", {
29249
29278
  source: I,
29250
29279
  requestType: H,
29251
- requestState: F,
29280
+ requestState: O,
29252
29281
  detail: L
29253
- })), (k = m.analysis) === null || k === void 0 || k.network(m.works, I, H, F, L);
29282
+ })), (k = m.analysis) === null || k === void 0 || k.network(m.works, I, H, O, L);
29254
29283
  }), m.readyCallbacks = [], m.syncingState = !1, m.helperGroup = new THREE.Group(), m.helperGroup.name = "helper", m.helperGroup.matrixAutoUpdate = !1, m.scene.add(m.helperGroup), worksMap.set(m, emptyWorks), m.modelScene = new ModelScene({
29255
29284
  fiveId: m.fiveId
29256
29285
  }), m.modelScene.addEventListener("model.create", function(I) {
@@ -29275,9 +29304,9 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29275
29304
  offset: m.camera.pose.offset.clone(),
29276
29305
  distance: m.camera.pose.distance
29277
29306
  }, m.stateSynced = !1, m.destroyed = !1, m.paused = !0, typeof window != "undefined" && (e.play !== !1 && m.play(), m.stopAnimationLoop = AnimationFrameLoop.shared.add(function(I, H) {
29278
- for (var F = [], L = 2; L < arguments.length; L++)
29279
- F[L - 2] = arguments[L];
29280
- m.updateTime.apply(m, __spreadArray([I, H], F, !1));
29307
+ for (var O = [], L = 2; L < arguments.length; L++)
29308
+ O[L - 2] = arguments[L];
29309
+ m.updateTime.apply(m, __spreadArray([I, H], O, !1));
29281
29310
  }, !1, 0, 10));
29282
29311
  var b = function() {
29283
29312
  typeof document != "undefined" && document.fullscreenElement === null && m.currentMode === "VRPanorama" && m.controller.emit("vr.requestExit", createEvent("vr.requestExit", {}));
@@ -29292,9 +29321,9 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29292
29321
  if (typeof M == "function")
29293
29322
  M(m);
29294
29323
  else if (Array.isArray(M)) {
29295
- var w = M[0], P = M[1], O = M[2];
29324
+ var w = M[0], P = M[1], F = M[2];
29296
29325
  if (typeof w == "function") {
29297
- var C = w(m, O);
29326
+ var C = w(m, F);
29298
29327
  typeof P == "string" && (m.plugins[P] ? m.throwError(new Error("plugin name ".concat(P, " is exists."))) : m.plugins[P] = C);
29299
29328
  }
29300
29329
  }
@@ -29303,7 +29332,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29303
29332
  }
29304
29333
  return Object.defineProperty(t, "version", {
29305
29334
  get: function() {
29306
- return "6.7.0-alpha.28";
29335
+ return "6.7.0-alpha.29";
29307
29336
  },
29308
29337
  enumerable: !1,
29309
29338
  configurable: !0
@@ -29489,7 +29518,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29489
29518
  var v = {};
29490
29519
  typeof o == "number" ? v.duration = o : typeof o == "object" && Object.assign(v, o), this.works === emptyWorks && (v.duration === void 0 && (v.duration = 0), v.effect === void 0 && (v.effect = "instant"));
29491
29520
  var A = {};
29492
- Object.assign(A, v.model), v["3d-tiles"] && !A["3d-tiles"] && (A["3d-tiles"] = v["3d-tiles"]), v.textureOptions && !A.textureOptions && (A.textureOptions = v.textureOptions);
29521
+ Object.assign(A, v.model), !A["3d-tiles"] && v["3d-tiles"] && (A["3d-tiles"] = v["3d-tiles"]), !A.textureOptions && v.textureOptions && (A.textureOptions = v.textureOptions), !A.textureOptions && this.textureOptions && (A.textureOptions = this.textureOptions);
29493
29522
  var b = [];
29494
29523
  if (Array.isArray(e))
29495
29524
  for (var T = 0, S = e; T < S.length; T++) {
@@ -29506,8 +29535,8 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29506
29535
  return this.throwError(Z), Promise.reject(Z);
29507
29536
  }
29508
29537
  for (var w = 0, P = M; w < P.length; w++) {
29509
- var O = P[w];
29510
- this.bindWorkFetcher(O);
29538
+ var F = P[w];
29539
+ this.bindWorkFetcher(F);
29511
29540
  }
29512
29541
  r === void 0 && (r = "inherit"), r === "inherit" && this.works === emptyWorks && (r = "initial");
29513
29542
  var C = M.initial, I = C.work.observers[0], H = I ? {
@@ -29516,9 +29545,9 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29516
29545
  } : {
29517
29546
  workCode: C.work.workCode,
29518
29547
  panoIndex: 0
29519
- }, F = (l = C.mode) !== null && l !== void 0 ? l : I ? "Panorama" : "Mapview", L = {};
29548
+ }, O = (l = C.mode) !== null && l !== void 0 ? l : I ? "Panorama" : "Mapview", L = {};
29520
29549
  if (r === "inherit") {
29521
- F = this.currentMode;
29550
+ O = this.currentMode;
29522
29551
  var k = (f = (c = M[0]) === null || c === void 0 ? void 0 : c.observers) === null || f === void 0 ? void 0 : f[this.panoIndex];
29523
29552
  k ? H = {
29524
29553
  workCode: k.work.workCode,
@@ -29526,7 +29555,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29526
29555
  } : typeof M.initial.panoIndex == "number" ? H = {
29527
29556
  workCode: M.initial.work.workCode,
29528
29557
  panoIndex: M.initial.panoIndex
29529
- } : (F === "Panorama" || F === "VRPanorama" || F === "XRPanorama") && (F = "Mapview"), L = {
29558
+ } : (O === "Panorama" || O === "VRPanorama" || O === "XRPanorama") && (O = "Mapview"), L = {
29530
29559
  longitude: this.camera.pose.longitude,
29531
29560
  latitude: this.camera.pose.latitude,
29532
29561
  fov: this.camera.pose.fov,
@@ -29537,7 +29566,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29537
29566
  typeof C.panoIndex == "number" && (H = {
29538
29567
  workCode: C.work.workCode,
29539
29568
  panoIndex: C.panoIndex
29540
- }), C.mode && (F = C.mode), L = {
29569
+ }), C.mode && (O = C.mode), L = {
29541
29570
  longitude: C.longitude,
29542
29571
  latitude: C.latitude,
29543
29572
  fov: C.fov,
@@ -29545,7 +29574,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29545
29574
  offset: (d = C.offset) === null || d === void 0 ? void 0 : d.clone()
29546
29575
  };
29547
29576
  else {
29548
- if (F = (h = r.mode) !== null && h !== void 0 ? h : this.currentMode, typeof r.panoIndex == "number") {
29577
+ if (O = (h = r.mode) !== null && h !== void 0 ? h : this.currentMode, typeof r.panoIndex == "number") {
29549
29578
  var k = M.getObserver({
29550
29579
  workCode: (g = (p = r.workCode) !== null && p !== void 0 ? p : C.work.workCode) !== null && g !== void 0 ? g : "",
29551
29580
  panoIndex: r.panoIndex
@@ -29563,10 +29592,10 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29563
29592
  offset: r.offset
29564
29593
  };
29565
29594
  }
29566
- var D = __assign(__assign(__assign({}, H), { mode: F }), L), U = this.getCurrentState(), z = (m = v.duration) !== null && m !== void 0 ? m : this.modeChangeDuration;
29567
- (F === "Floorplan" || F === "Topview" || F === "Mapview") && this.currentMode === F && (z = 0);
29595
+ var D = __assign(__assign(__assign({}, H), { mode: O }), L), q = this.getCurrentState(), z = (m = v.duration) !== null && m !== void 0 ? m : this.modeChangeDuration;
29596
+ (O === "Floorplan" || O === "Topview" || O === "Mapview") && this.currentMode === O && (z = 0);
29568
29597
  var J = "fly";
29569
- (F === "Panorama" || F === "VRPanorama" || F === "XRPanorama") && this.currentMode === F && (J = (E = v.effect) !== null && E !== void 0 ? E : "fade"), this.emit("works.request", createEvent("works.request", {
29598
+ (O === "Panorama" || O === "VRPanorama" || O === "XRPanorama") && this.currentMode === O && (J = (E = v.effect) !== null && E !== void 0 ? E : "fade"), this.emit("works.request", createEvent("works.request", {
29570
29599
  input: e,
29571
29600
  works: M,
29572
29601
  state: D,
@@ -29576,28 +29605,28 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29576
29605
  u.pano = H;
29577
29606
  var Z = __assign(__assign({ initial: {
29578
29607
  state: D,
29579
- currentState: U,
29608
+ currentState: q,
29580
29609
  duration: z,
29581
29610
  effect: J,
29582
29611
  userAction: s
29583
- } }, u.commonParams()), u.controllerInits[F]), $ = Controllers[F].initAnimationEndState(Z);
29584
- if (u.controller && u.currentMode === F)
29585
- u.controller.updateWork(M, $, { effect: J, duration: z }, s) === !1 && (u.controller.destroy(), u.controller = u.applyController(F, Z));
29612
+ } }, u.commonParams()), u.controllerInits[O]), $ = Controllers[O].initAnimationEndState(Z);
29613
+ if (u.controller && u.currentMode === O)
29614
+ u.controller.updateWork(M, $, { effect: J, duration: z }, s) === !1 && (u.controller.destroy(), u.controller = u.applyController(O, Z));
29586
29615
  else {
29587
29616
  var X = u.currentMode;
29588
29617
  if (u.controller)
29589
29618
  u.controller.destroy();
29590
29619
  else {
29591
- var ne = Controllers[F].initAnimationEndState(Z);
29620
+ var ne = Controllers[O].initAnimationEndState(Z);
29592
29621
  u.camera.setFromPose(ne), u.emit("camera.update", createEvent("camera.update", {
29593
29622
  state: u.getCurrentState(),
29594
29623
  userAction: s
29595
29624
  }));
29596
29625
  }
29597
- u.controller = u.applyController(F, Z);
29626
+ u.controller = u.applyController(O, Z);
29598
29627
  var W = createEvent("mode.change", {
29599
29628
  prevMode: X,
29600
- mode: F,
29629
+ mode: O,
29601
29630
  state: $,
29602
29631
  userAction: s
29603
29632
  });
@@ -29610,11 +29639,11 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29610
29639
  u.updateTime.apply(u, __spreadArray([u.currentUpdateArgs.time, 0], u.currentUpdateArgs.args, !1));
29611
29640
  };
29612
29641
  worksMap.set(this, M);
29613
- var q = Promise.resolve();
29614
- if (F === t.Mode.Floorplan || F === t.Mode.Topview || F === t.Mode.Mapview || F === t.Mode.Model) {
29615
- this.modelScene.loaded === !1 && (this.camera.setFromPose(D), assignPose(this.state, this.camera.pose)), this.controller || (this.currentMode = F);
29642
+ var U = Promise.resolve();
29643
+ if (O === t.Mode.Floorplan || O === t.Mode.Topview || O === t.Mode.Mapview || O === t.Mode.Model) {
29644
+ this.modelScene.loaded === !1 && (this.camera.setFromPose(D), assignPose(this.state, this.camera.pose)), this.controller || (this.currentMode = O);
29616
29645
  var j = this.modelScene.setModels(M, A);
29617
- q = Promise.all(j.map(function(Z) {
29646
+ U = Promise.all(j.map(function(Z) {
29618
29647
  return Z.loadedReady;
29619
29648
  })).then(function() {
29620
29649
  u.needsRender = !0, Q(), u.emit("camera.update", createEvent("camera.update", {
@@ -29632,7 +29661,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29632
29661
  userAction: s
29633
29662
  })), ae = !0, u.modelScene.autoRefine = !0), G.off("pano.arrived", ee), G.off("pano.cancel", ee);
29634
29663
  }, j = this.modelScene.setModels(M, A);
29635
- q = Promise.all(j.map(function($) {
29664
+ U = Promise.all(j.map(function($) {
29636
29665
  return $.initReady;
29637
29666
  })).then(noop), G.once("pano.arrived", ee), G.once("pano.cancel", ee), setTimeout(ee, ((y = v.duration) !== null && y !== void 0 ? y : this.modeChangeDuration) + 1e3);
29638
29667
  }
@@ -29641,7 +29670,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29641
29670
  state: this.getCurrentState(),
29642
29671
  userAction: s,
29643
29672
  works: M
29644
- })), q.then(function() {
29673
+ })), U.then(function() {
29645
29674
  return u.ready();
29646
29675
  }).then(function() {
29647
29676
  var Z;
@@ -29729,13 +29758,13 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29729
29758
  });
29730
29759
  if (l.emit("mode.change.request", P), !P.defaultPrevented) {
29731
29760
  A && A.destroy(), l.controller = l.applyController(e, M);
29732
- var O = createEvent("mode.change", {
29761
+ var F = createEvent("mode.change", {
29733
29762
  prevMode: l.currentMode,
29734
29763
  mode: e,
29735
29764
  state: w,
29736
29765
  userAction: s
29737
29766
  });
29738
- l.emit("mode.change", O);
29767
+ l.emit("mode.change", F);
29739
29768
  }
29740
29769
  }
29741
29770
  c();
@@ -29761,20 +29790,20 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29761
29790
  this.helperVisible = b != null ? b : this.helperVisible, T && (this.controller instanceof Controllers.Panorama || this.controller instanceof Controllers.VRPanorama || this.controller instanceof Controllers.XRPanorama) && T === !0 && this.modelScene.parameter.set("modelAlpha", 1), this.modelScene.update(this.renderer, this.camera);
29762
29791
  var w = this.getPixelsRenderTarget;
29763
29792
  w.setSize(E * v, y * v), this.renderer.setRenderTarget(w), this.camera.pixelRatio = v, this.camera.resolution.set(E, y), this.camera.setViewOffset(p.width, p.height, g, p.height - m - y, E, y), this.camera.aspect = p.width / p.height, this.camera.updateTime(f), this.scene.update(this.renderer, this.camera);
29764
- var P = this.renderer.autoClear, O = this.renderer.autoClearColor, C = this.renderer.autoClearDepth, I = this.renderer.autoClearStencil, H = scratchClearColor.copy(this.renderer.getClearColor()), F = this.renderer.getClearAlpha(), L = this.renderer.getScissorTest();
29793
+ var P = this.renderer.autoClear, F = this.renderer.autoClearColor, C = this.renderer.autoClearDepth, I = this.renderer.autoClearStencil, H = scratchClearColor.copy(this.renderer.getClearColor()), O = this.renderer.getClearAlpha(), L = this.renderer.getScissorTest();
29765
29794
  this.renderer.autoClear = !0, this.renderer.autoClearColor = !0, this.renderer.autoClearDepth = !0, this.renderer.autoClearStencil = !0, this.renderer.setScissorTest(!1);
29766
29795
  var k = this.scene.background;
29767
- this.scene.background = this.camera.isOrthographicCamera ? null : k, this.renderer.render(this.scene, this.camera), this.scene.background = k, this.renderer.autoClear = P, this.renderer.autoClearColor = O, this.renderer.autoClearDepth = C, this.renderer.autoClearStencil = I, this.renderer.setClearColor(H, F), this.renderer.setScissorTest(L), this.helperVisible = R, M === void 0 ? this.modelScene.parameter.reset("modelAlpha") : this.modelScene.parameter.set("modelAlpha", M), this.renderer.setRenderTarget(h), this.camera.clearViewOffset(), this.camera.pixelRatio = d, this.camera.resolution.copy(p), this.camera.aspect = this.camera.resolution.width / this.camera.resolution.height, this.camera.updateTime(f), this.modelScene.update(this.renderer, this.camera), this.scene.update(this.renderer, this.camera);
29768
- var D = E * v, U = y * v, z = D * U, J = z * 4;
29796
+ this.scene.background = this.camera.isOrthographicCamera ? null : k, this.renderer.render(this.scene, this.camera), this.scene.background = k, this.renderer.autoClear = P, this.renderer.autoClearColor = F, this.renderer.autoClearDepth = C, this.renderer.autoClearStencil = I, this.renderer.setClearColor(H, O), this.renderer.setScissorTest(L), this.helperVisible = R, M === void 0 ? this.modelScene.parameter.reset("modelAlpha") : this.modelScene.parameter.set("modelAlpha", M), this.renderer.setRenderTarget(h), this.camera.clearViewOffset(), this.camera.pixelRatio = d, this.camera.resolution.copy(p), this.camera.aspect = this.camera.resolution.width / this.camera.resolution.height, this.camera.updateTime(f), this.modelScene.update(this.renderer, this.camera), this.scene.update(this.renderer, this.camera);
29797
+ var D = E * v, q = y * v, z = D * q, J = z * 4;
29769
29798
  if (S) {
29770
29799
  if (S.length !== J)
29771
29800
  throw new Error("buffer length is not equals pixels ".concat(J));
29772
29801
  } else
29773
29802
  S = new Uint8Array(J);
29774
29803
  if (this.renderer.readRenderTargetPixels(w, 0, 0, E * v, y * v, S), A)
29775
- for (var Q = z / 2, q = 0, j = 0, G = 0, ae = 0; j < Q; j++)
29776
- for (ae = (U - Math.floor(j / D) - 1) * D + j % D, G = 0; G < 4; G++)
29777
- q = S[j * 4 + G], S[j * 4 + G] = S[ae * 4 + G], S[ae * 4 + G] = q;
29804
+ for (var Q = z / 2, U = 0, j = 0, G = 0, ae = 0; j < Q; j++)
29805
+ for (ae = (q - Math.floor(j / D) - 1) * D + j % D, G = 0; G < 4; G++)
29806
+ U = S[j * 4 + G], S[j * 4 + G] = S[ae * 4 + G], S[ae * 4 + G] = U;
29778
29807
  return S;
29779
29808
  }, t.prototype.getElement = function() {
29780
29809
  var e;
@@ -29947,8 +29976,8 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29947
29976
  duration: this.modeChangeDuration,
29948
29977
  effect: "fly",
29949
29978
  userAction: !1
29950
- } }, this.commonParams()), this.controllerInits[A]), O = Controllers[A].initAnimationEndState(P);
29951
- b = O.longitude, T = O.latitude, S = O.fov, R = O.offset, M = O.distance;
29979
+ } }, this.commonParams()), this.controllerInits[A]), F = Controllers[A].initAnimationEndState(P);
29980
+ b = F.longitude, T = F.latitude, S = F.fov, R = F.offset, M = F.distance;
29952
29981
  } else
29953
29982
  b = (c = e.longitude) !== null && c !== void 0 ? c : this.state.longitude, T = (f = e.latitude) !== null && f !== void 0 ? f : this.state.latitude, S = (d = e.fov) !== null && d !== void 0 ? d : this.state.fov, R = (h = e.offset) !== null && h !== void 0 ? h : this.state.offset, M = (p = e.distance) !== null && p !== void 0 ? p : this.state.distance;
29954
29983
  var C = {
@@ -30026,7 +30055,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
30026
30055
  }), this.controller.stopMomentumMovement(), this.controller.cameraMotion.set(w, 0).catch(noop), this.controller.locationMotion.set(M, 0).catch(noop), !0;
30027
30056
  }
30028
30057
  } else {
30029
- var P = 1, O = Math.PI / 45, g = o ? this.state.fov : stepNumber(this.camera.pose.fov, this.state.fov, P), C = o ? { longitude: this.state.longitude, latitude: this.state.latitude } : stepCoordinates({ longitude: this.camera.pose.longitude, latitude: this.camera.pose.latitude }, { longitude: this.state.longitude, latitude: this.state.latitude }, O), S = C.longitude, R = C.latitude, y = this.state.distance, b = new THREE.Vector3().copy(this.state.offset);
30058
+ var P = 1, F = Math.PI / 45, g = o ? this.state.fov : stepNumber(this.camera.pose.fov, this.state.fov, P), C = o ? { longitude: this.state.longitude, latitude: this.state.latitude } : stepCoordinates({ longitude: this.camera.pose.longitude, latitude: this.camera.pose.latitude }, { longitude: this.state.longitude, latitude: this.state.latitude }, F), S = C.longitude, R = C.latitude, y = this.state.distance, b = new THREE.Vector3().copy(this.state.offset);
30030
30059
  if (notSimilarValue(y, this.camera.pose.distance) && (this.state.distance = this.camera.pose.distance), notSimilarVector3(b, this.camera.pose.offset) && (this.state.offset = this.camera.pose.offset.clone()), notSimilarValue(S, this.camera.pose.longitude, Math.PI * 2) || notSimilarValue(R, this.camera.pose.latitude) || notSimilarValue(g, this.camera.pose.fov))
30031
30060
  return this.controller.stopMomentumMovement(), this.controller.cameraMotion.set({ longitude: S, latitude: R, fov: g }, 0).catch(noop), !0;
30032
30061
  }
@@ -30036,9 +30065,9 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
30036
30065
  })), this.readyCallbacks.length && this.stateSynced) {
30037
30066
  var I = this.currentMode, H = I === t.Mode.Floorplan || I === t.Mode.Topview || I === t.Mode.Mapview || I === t.Mode.Model;
30038
30067
  if (!H || this.modelScene.loaded) {
30039
- var F = this.readyCallbacks.slice();
30068
+ var O = this.readyCallbacks.slice();
30040
30069
  this.readyCallbacks.length = 0;
30041
- for (var L = 0, k = F; L < k.length; L++) {
30070
+ for (var L = 0, k = O; L < k.length; L++) {
30042
30071
  var D = k[L];
30043
30072
  this.controller instanceof Controllers.Panorama && D.tile === !0 && !this.controller.isTileReady() ? this.readyCallbacks.push(D) : D();
30044
30073
  }