@realsee/five 6.7.0-alpha.27 → 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.
Files changed (94) hide show
  1. package/docs/assets/hierarchy.js +1 -1
  2. package/docs/assets/search.js +1 -1
  3. package/docs/classes/five.AdaptiveLuminancePass.html +1 -1
  4. package/docs/classes/five.EyeDomeLightingPass.html +1 -1
  5. package/docs/classes/five.Five.html +31 -31
  6. package/docs/classes/five.FivePass.html +1 -1
  7. package/docs/classes/five.Model.html +1 -1
  8. package/docs/classes/five.ModelScene.html +1 -1
  9. package/docs/classes/five.PBMMeshMaterial.html +6 -6
  10. package/docs/classes/five.PBMPointCloudMaterial.html +5 -5
  11. package/docs/classes/five.Parameter.html +1 -1
  12. package/docs/classes/five.TextureLoader.html +2 -2
  13. package/docs/classes/five.Tile3D.html +1 -1
  14. package/docs/classes/five.TileNode.html +3 -2
  15. package/docs/classes/five.TrajectoryNode.html +1 -1
  16. package/docs/classes/five.WorkResolvedObserver.html +1 -1
  17. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  18. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  19. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  20. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  21. package/docs/classes/line.LineGeometry.html +1 -1
  22. package/docs/classes/line.LineMaterial.html +1 -1
  23. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  24. package/docs/classes/line.THREE_Line2.html +1 -1
  25. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  26. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  27. package/docs/classes/vfx.Airflow.html +1 -1
  28. package/docs/classes/vfx.Flame.html +1 -1
  29. package/docs/classes/vfx.Particle.html +1 -1
  30. package/docs/classes/vfx.ParticleGPU.html +1 -1
  31. package/docs/classes/vfx.SpotLight.html +1 -1
  32. package/docs/hierarchy.html +1 -1
  33. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +1 -1
  34. package/docs/interfaces/five.PBMMeshMaterialParameters.html +2 -2
  35. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +2 -2
  36. package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
  37. package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
  38. package/docs/interfaces/five.ParameterValue.html +1 -1
  39. package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
  40. package/docs/interfaces/five.ViewLayer.html +1 -1
  41. package/docs/interfaces/five.WorkCubeImage.html +1 -1
  42. package/docs/interfaces/five.WorkImage.html +1 -1
  43. package/docs/interfaces/five.WorkObserver.html +1 -1
  44. package/docs/interfaces/five.WorkTile.html +1 -1
  45. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  46. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  47. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +1 -1
  48. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
  49. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
  50. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  51. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  52. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  53. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  54. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  55. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  56. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  57. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  58. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  59. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  60. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  61. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  62. package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
  63. package/docs/types/five.ParseOptions.html +1 -1
  64. package/five/index.d.ts +2 -1
  65. package/five/index.js +39 -39
  66. package/five/index.mjs +721 -672
  67. package/gltf-loader/index.js +3 -3
  68. package/gltf-loader/index.mjs +3 -3
  69. package/line/index.js +3 -3
  70. package/line/index.mjs +3 -3
  71. package/package.json +1 -1
  72. package/plugins/index.js +2 -2
  73. package/plugins/index.mjs +2 -2
  74. package/react/index.js +2 -2
  75. package/react/index.mjs +2 -2
  76. package/shader-lib/index.js +2 -2
  77. package/shader-lib/index.mjs +2 -2
  78. package/sticker/index.js +3 -3
  79. package/sticker/index.mjs +3 -3
  80. package/umd/five-gltf-loader.js +3 -3
  81. package/umd/five-line.js +3 -3
  82. package/umd/five-plugins.js +2 -2
  83. package/umd/five-react.js +2 -2
  84. package/umd/five-shader-lib.js +2 -2
  85. package/umd/five-sticker.js +3 -3
  86. package/umd/five-vfx.js +2 -2
  87. package/umd/five-vue.js +2 -2
  88. package/umd/five.js +39 -39
  89. package/vfx/index.js +2 -2
  90. package/vfx/index.mjs +2 -2
  91. package/vue/index.js +2 -2
  92. package/vue/index.mjs +2 -2
  93. package/work-downloader/index.js +2 -2
  94. package/work-downloader/index.mjs +2 -2
package/five/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2025/12/11
5
- * Version: 6.7.0-alpha.27
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
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) {
9134
- o.normalMap = d, e.disposeSet.add(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() {
@@ -9250,6 +9283,26 @@ var Parser = (
9250
9283
  return s = s.then(function(d) {
9251
9284
  return e.disposeSet.add(d), d;
9252
9285
  }), this.cache.set(r, s), s;
9286
+ }, n.prototype.normalizeSkinWeights = function(t) {
9287
+ var e = t.geometry, r = e.attributes.skinWeight;
9288
+ if (!r.normalized)
9289
+ t.normalizeSkinWeights();
9290
+ else {
9291
+ var o = 0;
9292
+ if (r.array instanceof Uint8Array)
9293
+ o = 255;
9294
+ else if (r.array instanceof Uint16Array)
9295
+ o = 65535;
9296
+ else if (r.array instanceof Uint32Array)
9297
+ o = 4294967295;
9298
+ else
9299
+ return;
9300
+ for (var s = new THREE.Vector4(), u = 0, l = r.count; u < l; u++) {
9301
+ s.x = r.getX(u), s.y = r.getY(u), s.z = r.getZ(u), s.w = r.getW(u);
9302
+ var c = o / s.manhattanLength();
9303
+ c !== 1 && (!isNaN(c) && isFinite(c) ? s.multiplyScalar(c) : s.set(o, 0, 0, 0), r.setXYZW(u, s.x, s.y, s.z, s.w));
9304
+ }
9305
+ }
9253
9306
  }, n.prototype.loadMesh = function(t) {
9254
9307
  for (var e = this, r = null, o = 0, s = values(this.extensions); o < s.length; o++) {
9255
9308
  var u = s[o];
@@ -9268,7 +9321,7 @@ var Parser = (
9268
9321
  if (T === WEBGL_CONSTANTS.TRIANGLES || T === WEBGL_CONSTANTS.TRIANGLE_STRIP || T === WEBGL_CONSTANTS.TRIANGLE_FAN)
9269
9322
  if (T === WEBGL_CONSTANTS.TRIANGLE_STRIP ? A = e.toGeometryTrianglesDrawMode(A, THREE.TriangleStripDrawMode) : T === WEBGL_CONSTANTS.TRIANGLE_FAN && (A = e.toGeometryTrianglesDrawMode(A, THREE.TriangleFanDrawMode)), e.disposeSet.add(A), l.isSkinnedMesh) {
9270
9323
  var R = new THREE.SkinnedMesh(A, b);
9271
- A.attributes.skinWeight.normalized || R.normalizeSkinWeights(), S = R;
9324
+ e.normalizeSkinWeights(R), S = R;
9272
9325
  } else
9273
9326
  S = new THREE.Mesh(A, b);
9274
9327
  else if (T === WEBGL_CONSTANTS.POINTS)
@@ -9299,11 +9352,11 @@ var Parser = (
9299
9352
  }
9300
9353
  if (E.length === 1)
9301
9354
  return E[0];
9302
- 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++) {
9303
9356
  var S = I[C];
9304
- O.add(S);
9357
+ F.add(S);
9305
9358
  }
9306
- return O;
9359
+ return F;
9307
9360
  });
9308
9361
  }
9309
9362
  return r;
@@ -9420,26 +9473,31 @@ var Parser = (
9420
9473
  t.boundingBox = f;
9421
9474
  var T = new THREE.Sphere();
9422
9475
  return f.getCenter(T.center), T.radius = f.min.distanceTo(f.max) / 2, t.boundingSphere = T, Promise.all(s).then(function() {
9423
- if (t.attributes.uv && !t.attributes.uv2 && r.options.copyUV2 && t.setAttribute("uv2", t.attributes.uv), e.targets) {
9424
- for (var S = !1, R = !1, M = 0, w = e.targets.length; M < w; M++) {
9425
- var P = e.targets[M];
9426
- 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)
9427
9485
  break;
9428
9486
  }
9429
- if (!S && !R)
9487
+ if (!M && !w)
9430
9488
  return t;
9431
- var O = [];
9489
+ var I = [];
9432
9490
  t.morphTargetsRelative = !0;
9433
- for (var C = function(I, H) {
9434
- var F = e.targets[I];
9435
- S ? O.push(r.loadAccessor(F.POSITION).then(function(L) {
9436
- L && (t.morphAttributes.position = t.morphAttributes.position || [], t.morphAttributes.position[I] = L);
9437
- })) : 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) {
9438
- L && (t.morphAttributes.normal = t.morphAttributes.normal || [], t.morphAttributes.normal[I] = L);
9439
- })) : t.attributes.normal && (t.morphAttributes.normal = t.morphAttributes.normal || [], t.morphAttributes.normal[I] = t.attributes.normal);
9440
- }, M = 0, w = e.targets.length; M < w; M++)
9441
- C(M, w);
9442
- 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() {
9443
9501
  return t;
9444
9502
  });
9445
9503
  } else
@@ -10482,9 +10540,9 @@ var BaseExtension = (
10482
10540
  return A.buffer.slice(0, S);
10483
10541
  }
10484
10542
  function c(v, A, b, T, S, R) {
10485
- var M = s.exports.sbrk, w = b + 3 & -4, P = M(w * T), O = M(S.length), C = new Uint8Array(s.exports.memory.buffer);
10486
- C.set(S, O);
10487
- 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);
10488
10546
  if (I == 0 && R && R(P, w, T), A.set(C.subarray(P, P + b * T)), M(P - M(0)), I != 0)
10489
10547
  throw new Error("Malformed buffer data: " + I);
10490
10548
  }
@@ -10518,8 +10576,8 @@ var BaseExtension = (
10518
10576
  for (var R = h[0], M = 1; M < h.length; ++M)
10519
10577
  h[M].pending < R.pending && (R = h[M]);
10520
10578
  return new Promise(function(w, P) {
10521
- var O = new Uint8Array(b), C = p++;
10522
- 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]);
10523
10581
  });
10524
10582
  }
10525
10583
  function y(v) {
@@ -10644,7 +10702,7 @@ var BaseExtension = (
10644
10702
  if (b === WEBGL_CONSTANTS.TRIANGLES || b === WEBGL_CONSTANTS.TRIANGLE_STRIP || b === WEBGL_CONSTANTS.TRIANGLE_FAN)
10645
10703
  if (b === WEBGL_CONSTANTS.TRIANGLE_STRIP ? v = r.toGeometryTrianglesDrawMode(v, THREE.TriangleStripDrawMode) : b === WEBGL_CONSTANTS.TRIANGLE_FAN && (v = r.toGeometryTrianglesDrawMode(v, THREE.TriangleFanDrawMode)), v.clearGroups(), v.addGroup(0, v.index ? v.index.count : v.attributes.position.count, 0), r.disposeSet.add(v), s.isSkinnedMesh) {
10646
10704
  var S = new PBMSkinnedMesh(v, [A]);
10647
- v.attributes.skinWeight.normalized || S.normalizeSkinWeights(), T = S;
10705
+ r.normalizeSkinWeights(S), T = S;
10648
10706
  } else
10649
10707
  T = new PBMMesh(v, [A]);
10650
10708
  else if (b === WEBGL_CONSTANTS.POINTS)
@@ -10669,8 +10727,8 @@ var BaseExtension = (
10669
10727
  }
10670
10728
  if (m.length === 1)
10671
10729
  return m[0];
10672
- for (var P = new THREE.Group(), O = 0, C = m; O < C.length; O++) {
10673
- var T = C[O];
10730
+ for (var P = new THREE.Group(), F = 0, C = m; F < C.length; F++) {
10731
+ var T = C[F];
10674
10732
  P.add(T);
10675
10733
  }
10676
10734
  return P;
@@ -10692,7 +10750,7 @@ var BaseExtension = (
10692
10750
  });
10693
10751
  }), u;
10694
10752
  }, t.prototype.extendTexture = function(e, r, o) {
10695
- return e.minFilter = THREE.LinearFilter, e.magFilter = THREE.LinearFilter, e.generateMipmaps = !1, e;
10753
+ return e instanceof THREE.CompressedTexture || (e.minFilter = THREE.LinearFilter, e.magFilter = THREE.LinearFilter, e.generateMipmaps = !1), e;
10696
10754
  }, t.prototype.loadPBMPointCloudMaterial = function(e, r) {
10697
10755
  var o = new PBMPointCloudMaterial();
10698
10756
  return r.disposeSet.add(o), Promise.resolve(o);
@@ -10707,9 +10765,9 @@ var BaseExtension = (
10707
10765
  u.color = new THREE.Color().fromArray(f), u.colorAlpha = f[3];
10708
10766
  }
10709
10767
  c.baseColorTexture !== void 0 && o.push(r.createMaterialTexture(c.baseColorTexture).then(function(p) {
10710
- r.disposeSet.add(p), p.encoding = THREE.sRGBEncoding, u.map = p;
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);
10711
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) {
10712
- r.disposeSet.add(p), p.encoding = THREE.sRGBEncoding, u.roughnessMap = p, u.metalnessMap = p;
10770
+ p.format = THREE.RGBFormat, u.roughnessMap = p, u.metalnessMap = p, r.disposeSet.add(p);
10713
10771
  })), l.doubleSided === !0 && (u.side = THREE.DoubleSide);
10714
10772
  var d = l.alphaMode || ALPHA_MODES.OPAQUE;
10715
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) {
@@ -10719,9 +10777,9 @@ var BaseExtension = (
10719
10777
  u.normalScale.set(h, h);
10720
10778
  }
10721
10779
  l.occlusionTexture !== void 0 && (o.push(r.createMaterialTexture(l.occlusionTexture).then(function(p) {
10722
- u.aoMap = p, r.disposeSet.add(p);
10780
+ p.format = THREE.RGBFormat, u.aoMap = p, r.disposeSet.add(p);
10723
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) {
10724
- u.emissiveMap = p, r.disposeSet.add(p);
10782
+ p.format = THREE.RGBFormat, u.emissiveMap = p, r.disposeSet.add(p);
10725
10783
  }));
10726
10784
  }
10727
10785
  return r.disposeSet.add(u), Promise.all(o).then(function() {
@@ -10787,7 +10845,7 @@ function parseGltf(n, t) {
10787
10845
  s[p] || (EXTENSIONS[p] ? s[p] = new EXTENSIONS[p]() : d.indexOf(p) >= 0 && console.warn('glTF: Unknown extension "' + p + '".'));
10788
10846
  }
10789
10847
  var g = new Parser(f, s, {
10790
- copyUV2: (e = t.copyUV2) !== null && e !== void 0 ? e : !0,
10848
+ copyUV2: (e = t.copyUV2) !== null && e !== void 0 ? e : !1,
10791
10849
  resourcePath: (r = t.resourcePath) !== null && r !== void 0 ? r : "",
10792
10850
  search: (o = t.search) !== null && o !== void 0 ? o : "",
10793
10851
  fetcher: t.fetcher
@@ -11636,11 +11694,11 @@ var flrm = /* @__PURE__ */ hMap(flt, 9, 1), fdrm = /* @__PURE__ */ hMap(fdt, 5,
11636
11694
  else if (A == 2) {
11637
11695
  var R = bits(n, h, 31) + 257, M = bits(n, h + 10, 15) + 4, w = R + bits(n, h + 5, 31) + 1;
11638
11696
  h += 14;
11639
- for (var P = new u8(w), O = new u8(19), C = 0; C < M; ++C)
11640
- 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);
11641
11699
  h += M * 3;
11642
- for (var I = max(O), H = (1 << I) - 1, F = hMap(O, I, 1), C = 0; C < w; ) {
11643
- 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)];
11644
11702
  h += L & 15;
11645
11703
  var b = L >> 4;
11646
11704
  if (b < 16)
@@ -11651,8 +11709,8 @@ var flrm = /* @__PURE__ */ hMap(flt, 9, 1), fdrm = /* @__PURE__ */ hMap(fdt, 5,
11651
11709
  P[C++] = k;
11652
11710
  }
11653
11711
  }
11654
- var U = P.subarray(0, R), z = P.subarray(R);
11655
- 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);
11656
11714
  } else
11657
11715
  err(1);
11658
11716
  else {
@@ -11670,7 +11728,7 @@ var flrm = /* @__PURE__ */ hMap(flt, 9, 1), fdrm = /* @__PURE__ */ hMap(fdt, 5,
11670
11728
  }
11671
11729
  }
11672
11730
  l && f(p + 131072);
11673
- 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) {
11674
11732
  var k = g[bits16(n, h) & J], j = k >> 4;
11675
11733
  if (h += k & 15, h > v) {
11676
11734
  c && err(0);
@@ -11679,7 +11737,7 @@ var flrm = /* @__PURE__ */ hMap(flt, 9, 1), fdrm = /* @__PURE__ */ hMap(fdt, 5,
11679
11737
  if (k || err(2), j < 256)
11680
11738
  e[p++] = j;
11681
11739
  else if (j == 256) {
11682
- q = h, g = null;
11740
+ U = h, g = null;
11683
11741
  break;
11684
11742
  } else {
11685
11743
  var G = j - 254;
@@ -11709,7 +11767,7 @@ var flrm = /* @__PURE__ */ hMap(flt, 9, 1), fdrm = /* @__PURE__ */ hMap(fdt, 5,
11709
11767
  e[p] = e[p - z];
11710
11768
  }
11711
11769
  }
11712
- 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);
11713
11771
  } while (!d);
11714
11772
  return p != e.length && u ? slc(e, 0, p) : e.subarray(0, p);
11715
11773
  }, et = /* @__PURE__ */ new u8(0), b2 = function(n, t) {
@@ -11850,7 +11908,7 @@ var FBXTreeParser = (
11850
11908
  }
11851
11909
  }
11852
11910
  return Promise.all(d).then(function(P) {
11853
- var O;
11911
+ var F;
11854
11912
  return {
11855
11913
  scene: f,
11856
11914
  textures: P,
@@ -11858,7 +11916,7 @@ var FBXTreeParser = (
11858
11916
  upAxis: ["X", "Y", "Z"][y],
11859
11917
  frontAxis: ["X", "Y", "Z"][v],
11860
11918
  unitScale: A,
11861
- animations: (O = f.animations) !== null && O !== void 0 ? O : [],
11919
+ animations: (F = f.animations) !== null && F !== void 0 ? F : [],
11862
11920
  dispose: function() {
11863
11921
  P.forEach(function(C) {
11864
11922
  return C.dispose();
@@ -12407,12 +12465,12 @@ var FBXTreeParser = (
12407
12465
  s || (console.warn("THREE.FBXLoader: Vertex has more than 4 skinning weights assigned to vertex. Deleting additional weights."), s = !0);
12408
12466
  var T = [0, 0, 0, 0], S = [0, 0, 0, 0];
12409
12467
  A.forEach(function(M, w) {
12410
- var P = M, O = v[w];
12468
+ var P = M, F = v[w];
12411
12469
  S.forEach(function(C, I, H) {
12412
12470
  if (P > C) {
12413
12471
  H[I] = P, P = C;
12414
- var F = T[I];
12415
- T[I] = O, O = F;
12472
+ var O = T[I];
12473
+ T[I] = F, F = O;
12416
12474
  }
12417
12475
  });
12418
12476
  }), v = T, A = S;
@@ -12458,13 +12516,13 @@ var FBXTreeParser = (
12458
12516
  h = THREE.ShapeUtils.triangulateShape(A, []);
12459
12517
  } else
12460
12518
  h = [[0, 1, 2]];
12461
- for (var R = function(H, F, L) {
12462
- 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) {
12463
- 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]);
12464
12522
  });
12465
12523
  }, M = 0, w = h; M < w.length; M++) {
12466
- var P = w[M], O = P[0], C = P[1], I = P[2];
12467
- R(O, C, I);
12524
+ var P = w[M], F = P[0], C = P[1], I = P[2];
12525
+ R(F, C, I);
12468
12526
  }
12469
12527
  }, n.prototype.addMorphTargets = function(t, e, r, o, s) {
12470
12528
  if (o.length !== 0) {
@@ -13166,8 +13224,8 @@ function generateTransform(n) {
13166
13224
  var M = new THREE.Matrix4().scale(new THREE.Vector3().setFromMatrixScale(h)), w = new THREE.Matrix4().getInverse(M), P = T.clone().multiply(w);
13167
13225
  R.copy(v).multiply(y).multiply(P).multiply(S);
13168
13226
  }
13169
- 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);
13170
- 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;
13171
13229
  }
13172
13230
  function getEulerOrder(n) {
13173
13231
  n = n || 0;
@@ -13296,7 +13354,7 @@ function calcBasisFunctionDerivatives(n, t, e, r, o) {
13296
13354
  for (var S = 1; S <= r; ++S) {
13297
13355
  var R = 0, M = v - S, w = e - S;
13298
13356
  v >= S && (T[b][0] = T[A][0] / c[w + 1][M], R = T[b][0] * c[M][w]);
13299
- 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)
13300
13358
  T[b][C] = (T[A][C] - T[A][C - 1]) / c[w + 1][M + C], R += T[b][C] * c[M + C][w];
13301
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;
13302
13360
  var h = A;
@@ -13401,7 +13459,7 @@ function loadX3p(n, t) {
13401
13459
  });
13402
13460
  }
13403
13461
  function parse$1(n, t) {
13404
- 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++) {
13405
13463
  var ue = Ae[ge];
13406
13464
  /(^|\/)main\.xml$/i.test(ue) && (me = se[ue], le = ue.slice(0, ue.lastIndexOf("/") + 1));
13407
13465
  }
@@ -13424,12 +13482,12 @@ function parse$1(n, t) {
13424
13482
  },
13425
13483
  z: {
13426
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",
13427
- 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",
13428
- 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"),
13429
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")
13430
13488
  }
13431
13489
  }, ye = null, Be = xe.querySelector("Record1 Axes Rotation");
13432
- 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)));
13433
13491
  var Ie = (ie = xe.querySelector("Record3 DataLink PointDataLink")) === null || ie === void 0 ? void 0 : ie.textContent;
13434
13492
  if (typeof Ie != "string")
13435
13493
  throw new Error("X3p: PointDataLink not found.");
@@ -14072,27 +14130,27 @@ var BVHVector3 = (
14072
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;
14073
14131
  }
14074
14132
  else {
14075
- 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) {
14076
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;
14077
- 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);
14078
14136
  }
14079
- o = [S, R, M, w, P, O];
14137
+ o = [S, R, M, w, P, F];
14080
14138
  }
14081
14139
  var C = new BVHNode(++d, o, 0, s, 0);
14082
14140
  c[f++] = C;
14083
- var I = [], H = [0, 1, 2], F = function(k, D) {
14141
+ var I = [], H = [0, 1, 2], O = function(k, D) {
14084
14142
  return I[D] - I[k];
14085
14143
  };
14086
14144
  function L(k) {
14087
- var D = k.startIndex, U = k.endIndex, z = k.extents;
14088
- 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);
14089
14147
  for (var J = 0; J < 3; J++) {
14090
- for (var Q = H[J], q = z[Q] + z[Q + 3], j = D, G = U - 1, ae = -1, ee = void 0; j <= G; )
14091
- 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--);
14092
- 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) {
14093
14151
  var Z = new BVHNode(++d, calcExtents(u, l, D, j, EPSILON$1), D, j, k.deepth + 1);
14094
14152
  Z.deepth < r && Z.endIndex - Z.startIndex > e && (c[f++] = Z);
14095
- 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);
14096
14154
  $.deepth < r && $.endIndex - $.startIndex > e && (c[f++] = $), k.node0 = Z, k.node1 = $, k.startIndex = 0, k.endIndex = 0;
14097
14155
  break;
14098
14156
  }
@@ -14125,21 +14183,21 @@ var BVHVector3 = (
14125
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];
14126
14184
  var b = intersectNodeBox(e, g, y, o);
14127
14185
  if (b !== null && !(s && b > v)) {
14128
- 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++) {
14129
- var H = c[I], F = H * 3, L = new BVHVector3(0, 0, 0);
14130
- this.getPositionByIndex(F, L);
14131
- var k = L.x, D = L.y, U = L.z, z = new BVHVector3(0, 0, 0);
14132
- this.getPositionByIndex(F + 1, z);
14133
- var J = z.x, Q = z.y, q = z.z, j = new BVHVector3(0, 0, 0);
14134
- this.getPositionByIndex(F + 2, j);
14135
- 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;
14136
14194
  if (ve > 0)
14137
14195
  oe = 1;
14138
14196
  else if (ve < 0)
14139
14197
  oe = -1, ve = -ve;
14140
14198
  else
14141
14199
  continue;
14142
- 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));
14143
14201
  if (!(le < 0)) {
14144
14202
  var me = oe * (M * ($ * se - X * Ee) + w * (X * de - Z * se) + P * (Z * Ee - $ * de));
14145
14203
  if (!(me < 0) && !(le + me > ve)) {
@@ -14202,27 +14260,27 @@ var EPSILON = 1e-6, ORDER_AXISES = ["x", "y", "z"], scratchVector3$8 = new BVHVe
14202
14260
  }
14203
14261
  var S = new BVHNode(++d, o, 0, u, 0);
14204
14262
  c[f++] = S;
14205
- var R = [], M = [0, 1, 2], w = function(O, C) {
14206
- return R[C] - R[O];
14263
+ var R = [], M = [0, 1, 2], w = function(F, C) {
14264
+ return R[C] - R[F];
14207
14265
  };
14208
- function P(O) {
14209
- 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;
14210
14268
  R[0] = H[3] - H[0], R[1] = H[4] - H[1], R[2] = H[5] - H[2];
14211
- 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; )
14212
- 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--);
14213
14271
  if (D > C) {
14214
14272
  var Q = H.slice();
14215
- Q[F + 3] = k + EPSILON;
14216
- var q = new BVHNode(++d, Q, C, D, O.deepth + 1);
14217
- 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;
14218
14276
  }
14219
14277
  if (I > D) {
14220
14278
  var j = H.slice();
14221
- j[F] = k - EPSILON;
14222
- var G = new BVHNode(++d, j, D, I, O.deepth + 1);
14223
- 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;
14224
14282
  }
14225
- O.startIndex = 0, O.endIndex = 0;
14283
+ F.startIndex = 0, F.endIndex = 0;
14226
14284
  }
14227
14285
  for (; f; )
14228
14286
  P(c[--f]);
@@ -14237,13 +14295,13 @@ var EPSILON = 1e-6, ORDER_AXISES = ["x", "y", "z"], scratchVector3$8 = new BVHVe
14237
14295
  for (var S = h[b + 6], R = h[b + 7], M = S; M < R; M++) {
14238
14296
  var w = c[M], P = new BVHVector3(0, 0, 0);
14239
14297
  this.getPositionByIndex(w, P);
14240
- 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);
14241
- 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) {
14242
- 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);
14243
14301
  (!u || u(Q)) && (s ? z < A && (A = z, l.length > 0 && (l.length = 0), l.push(Q)) : l.push(Q));
14244
14302
  }
14245
14303
  }
14246
- 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];
14247
14305
  j && E.push(j), G && E.push(G);
14248
14306
  }
14249
14307
  }
@@ -14297,21 +14355,21 @@ function raycastMesh(n, t, e, r) {
14297
14355
  S = d;
14298
14356
  if (!S)
14299
14357
  return !1;
14300
- 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);
14301
14359
  if (C < e.near || C > e.far)
14302
14360
  return !1;
14303
- 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);
14304
14362
  if (S.side === THREE.FrontSide && k >= 0 || S.side === THREE.BackSide && k <= 0)
14305
14363
  return !1;
14306
- 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 = {
14307
14365
  distance: C,
14308
14366
  object: n,
14309
14367
  face: D,
14310
- point: O,
14368
+ point: F,
14311
14369
  distanceToRay: 0,
14312
14370
  faceIndex: b
14313
14371
  };
14314
- return intersectsMap.set(v, U), l(U);
14372
+ return intersectsMap.set(v, q), l(q);
14315
14373
  }), m = g.length, E = 0; E < m; E++) {
14316
14374
  var y = intersectsMap.get(g[E]);
14317
14375
  y && r.push(y);
@@ -14327,20 +14385,20 @@ function raycastPoints(n, t, e, r) {
14327
14385
  var S = T.intersectionPoint, R = new THREE.Vector3(S.x, S.y, S.z).applyMatrix4(c), M = e.ray.origin.distanceTo(R);
14328
14386
  if (M < e.near || M > e.far)
14329
14387
  return !1;
14330
- 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;
14331
14389
  if (E) {
14332
14390
  var H = new THREE.Vector3().fromBufferAttribute(m, C).applyNormalMatrix(scratchNormalMatrix);
14333
14391
  I = new THREE.Face3(C, C, C, H);
14334
14392
  }
14335
- var F = {
14393
+ var O = {
14336
14394
  distance: M,
14337
14395
  object: n,
14338
14396
  face: I,
14339
14397
  point: R,
14340
14398
  distanceToRay: R.distanceTo(P),
14341
- index: O
14399
+ index: F
14342
14400
  };
14343
- return intersectsMap.set(T, F), d(F);
14401
+ return intersectsMap.set(T, O), d(O);
14344
14402
  }), v = y.length, A = 0; A < v; A++) {
14345
14403
  var b = intersectsMap.get(y[A]);
14346
14404
  b && r.push(b);
@@ -14536,20 +14594,20 @@ var Motion = (
14536
14594
  /** @class */
14537
14595
  (function(n) {
14538
14596
  __extends(t, n);
14539
- function t(e, r, o) {
14540
- o === void 0 && (o = noop);
14541
- var s = n.call(this) || this;
14542
- return s.name = e, s.materials = [], s.pbmObjects = [], s.contentObject = r, s.appearMotion = new Motion({ appear: 0 }), s.disposers = [o], s.add(r), r.traverse(function(u) {
14543
- if (u instanceof THREE.Mesh || u instanceof THREE.Points) {
14544
- var l = u.material;
14545
- if (Array.isArray(l))
14546
- for (var c = 0; c < l.length; c++)
14547
- s.materials.push(l[c]);
14597
+ function t(e, r, o, s) {
14598
+ s === void 0 && (s = noop);
14599
+ var u = n.call(this) || this;
14600
+ return u.name = e, u.materials = [], u.pbmObjects = [], u.contentObject = r, u.animations = o, u.appearMotion = new Motion({ appear: 0 }), u.disposers = [s], u.add(r), r.traverse(function(l) {
14601
+ if (l instanceof THREE.Mesh || l instanceof THREE.Points) {
14602
+ var c = l.material;
14603
+ if (Array.isArray(c))
14604
+ for (var f = 0; f < c.length; f++)
14605
+ u.materials.push(c[f]);
14548
14606
  else
14549
- s.materials.push(l);
14607
+ u.materials.push(c);
14550
14608
  }
14551
- (u instanceof PBMMesh || u instanceof PBMSkinnedMesh || u instanceof PBMPointCloud) && s.pbmObjects.push(u);
14552
- }), s;
14609
+ (l instanceof PBMMesh || l instanceof PBMSkinnedMesh || l instanceof PBMPointCloud) && u.pbmObjects.push(l);
14610
+ }), u;
14553
14611
  }
14554
14612
  return t.prototype.generateBvhTree = function() {
14555
14613
  return generateBvhTree(this, !0, 200, 20);
@@ -14608,7 +14666,7 @@ var Motion = (
14608
14666
  }
14609
14667
  this.disposers.length = 0, this.pbmObjects.length = 0;
14610
14668
  }, t.prototype.clone = function() {
14611
- return new t(this.name, this.contentObject.clone());
14669
+ return new t(this.name, this.contentObject.clone(), this.animations);
14612
14670
  }, t;
14613
14671
  })(THREE.Object3D)
14614
14672
  );
@@ -15406,8 +15464,8 @@ var _object_pattern = /^[og]\s*(.+)?/, _material_library_pattern = /^mtllib /, _
15406
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);
15407
15465
  var M = [m, T, v].join(":"), w = d.indexMap[M];
15408
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);
15409
- var P = [E, S, A].join(":"), O = d.indexMap[P];
15410
- 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);
15411
15469
  var C = [y, R, b].join(":"), I = d.indexMap[C];
15412
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);
15413
15471
  }, n;
@@ -15549,23 +15607,23 @@ function build(n, t) {
15549
15607
  return E.dispose();
15550
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();
15551
15609
  for (var y = [], v = function(R, M) {
15552
- var w = g[R], P = w.name + "_" + w.smooth + "_" + m, O = n.materials[P];
15553
- if (!O) {
15610
+ var w = g[R], P = w.name + "_" + w.smooth + "_" + m, F = n.materials[P];
15611
+ if (!F) {
15554
15612
  for (var C = null, I = 0, H = t; I < H.length; I++) {
15555
- var F = H[I], L = F.name, k = F.create;
15613
+ var O = H[I], L = O.name, k = O.create;
15556
15614
  L === w.mtllib && (C = k(w.name));
15557
15615
  }
15558
15616
  if (!C) {
15559
15617
  var D = new PBMMeshMaterial();
15560
15618
  C = [D, Promise.resolve([])];
15561
15619
  }
15562
- O = C[0], O.name = w.name, O.flatShading = !(w.smooth || E.attributes.normal), O.vertexColors = m, n.materials[P] = O;
15563
- var U = C[1];
15564
- r.push(U), o.push(function() {
15565
- 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();
15566
15624
  });
15567
15625
  }
15568
- y.push(O);
15626
+ y.push(F);
15569
15627
  }, A = 0, b = g.length; A < b; A++)
15570
15628
  v(A);
15571
15629
  E.clearGroups();
@@ -15710,11 +15768,11 @@ function loadTileContent(n, t) {
15710
15768
  }).then(function(w) {
15711
15769
  if (w.scene.applyMatrix4(n.transform), w.scene.updateWorldMatrix(!1, !0), w.scene.matrixAutoUpdate = !1, n.boundingVolume) {
15712
15770
  var P = n.boundingVolume;
15713
- w.scene.traverse(function(O) {
15714
- if (O instanceof PBMPointCloud) {
15715
- scratchMatrix4$4.getInverse(O.matrixWorld);
15771
+ w.scene.traverse(function(F) {
15772
+ if (F instanceof PBMPointCloud) {
15773
+ scratchMatrix4$4.getInverse(F.matrixWorld);
15716
15774
  var C = new THREE.Box3();
15717
- P.getBoundingBox(C), C.applyMatrix4(scratchMatrix4$4), O.geometry.boundingBox = C;
15775
+ P.getBoundingBox(C), C.applyMatrix4(scratchMatrix4$4), F.geometry.boundingBox = C;
15718
15776
  }
15719
15777
  });
15720
15778
  }
@@ -15832,7 +15890,7 @@ function loadTileContent(n, t) {
15832
15890
  uri: s.uri,
15833
15891
  byteLength: s.byteLength,
15834
15892
  memoryUsage: s.memoryUsage,
15835
- object: new TileNode(n.id, s.scene, s.dispose)
15893
+ object: new TileNode(n.id, s.scene, s.animations, s.dispose)
15836
15894
  };
15837
15895
  return Promise.resolve().then(function() {
15838
15896
  u.object.traverse(function(l) {
@@ -16012,8 +16070,8 @@ function createPipeBufferGeometry(n, t, e, r) {
16012
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);
16013
16071
  l[S] = R, l[S + 1] = M, l[S + 2] = P, l[S + 3] = M, l[S + 4] = w, l[S + 5] = P;
16014
16072
  }
16015
- var O = new THREE.BufferGeometry();
16016
- 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;
16017
16075
  }
16018
16076
  function parseTrajectoryObject(n, t) {
16019
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) {
@@ -16061,8 +16119,8 @@ function parseTrajectoryObject(n, t) {
16061
16119
  side: THREE.FrontSide
16062
16120
  });
16063
16121
  P.uniforms.displacementScalar.value = -0.01, P.uniforms.diffuse.value = r;
16064
- var O = new THREE.Mesh(M, [w, P]);
16065
- 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);
16066
16124
  var C = new THREE.ShaderMaterial({
16067
16125
  vertexShader: TRAJECTOR_SPHERE_SHADER.vertexShader,
16068
16126
  fragmentShader: TRAJECTOR_SPHERE_SHADER.fragmentShader,
@@ -16427,8 +16485,8 @@ var Tile3D = (
16427
16485
  this.updateWorldMatrix(!0, !1), this.tileset.transform.equals(this.matrixWorld) || (this.tileset.transform.copy(this.matrixWorld), m = !0);
16428
16486
  var P = !this.autoRefine;
16429
16487
  if (P === !1) {
16430
- var O = E.progress >= 0.01 && E.progress <= 0.99;
16431
- if (O) {
16488
+ var F = E.progress >= 0.01 && E.progress <= 0.99;
16489
+ if (F) {
16432
16490
  var C = new THREE.Vector3();
16433
16491
  E.pano0 && C.setFromMatrixPosition(E.pano0.matrix);
16434
16492
  var I = C.clone();
@@ -16462,21 +16520,21 @@ var Tile3D = (
16462
16520
  }), H && this.tileset.selectedTiles.length === 0 && this.tileset.frameNumber < 500 && (this.loaded = !1), this.loaded === !0 && (this.refined = !1, this.refineProgress[1]++);
16463
16521
  }
16464
16522
  this.renderObjects.length = 0, this.backfaceObjects.length = 0, this.tileObjects.length = 0;
16465
- for (var F = this.children.length - 1; F >= 0; F--)
16466
- this.remove(this.children[F]);
16523
+ for (var O = this.children.length - 1; O >= 0; O--)
16524
+ this.remove(this.children[O]);
16467
16525
  M.skipLevelOfDetail || this.tileset.selectedTiles.sort(function(ue, be) {
16468
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;
16469
16527
  });
16470
16528
  for (var L = [], k = 0, D = this.tileset.selectedTiles; k < D.length; k++) {
16471
- 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;
16472
16530
  if (z) {
16473
- var J = z.update(e, r, o, this, U, E);
16474
- if (L.push(U.id), J && (m = !0), this.tileset.hasMixedContent && M.skipLevelOfDetail) {
16475
- 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) {
16476
16534
  var Q = cloneSkipBackfaceObject(z);
16477
16535
  Q.name = "skipBackface:" + z.name, this.backfaceObjects.push(Q);
16478
16536
  }
16479
- 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; $++) {
16480
16538
  var ne = X[$];
16481
16539
  ne.stencilWrite = !0, ne.stencilRef = j, ne.stencilFunc = G, ne.stencilFuncMask = ae, ne.stencilZPass = ee, ne.stencilWriteMask = Z;
16482
16540
  }
@@ -16490,11 +16548,11 @@ var Tile3D = (
16490
16548
  }
16491
16549
  var re = L.toString();
16492
16550
  if (tileVersionMap.get(this) !== re && (tileVersionMap.set(this, re), m = !0), M.skipLevelOfDetail && this.backfaceObjects.length)
16493
- for (var F = 0; F < this.backfaceObjects.length; F++)
16494
- this.renderObjects.push(this.backfaceObjects[F]);
16551
+ for (var O = 0; O < this.backfaceObjects.length; O++)
16552
+ this.renderObjects.push(this.backfaceObjects[O]);
16495
16553
  if (this.tileObjects.length)
16496
- for (var F = 0; F < this.tileObjects.length; F++)
16497
- this.renderObjects.push(this.tileObjects[F]);
16554
+ for (var O = 0; O < this.tileObjects.length; O++)
16555
+ this.renderObjects.push(this.tileObjects[O]);
16498
16556
  M.skipLevelOfDetail && this.renderObjects.push(this.clearStencilObject);
16499
16557
  for (var te = [], ie = 0, ve = this.tileset.selectedTrajectories; ie < ve.length; ie++) {
16500
16558
  var oe = ve[ie], de = (g = oe.content.data) === null || g === void 0 ? void 0 : g.object;
@@ -16510,11 +16568,11 @@ var Tile3D = (
16510
16568
  be.traverse(function(Ce) {
16511
16569
  (Ce instanceof THREE.Mesh || Ce instanceof THREE.Line || Ce instanceof THREE.Points) && (Ce.renderOrder = He);
16512
16570
  });
16513
- }, Ae = this, F = 0; F < this.renderObjects.length; F++)
16514
- ge(F);
16571
+ }, Ae = this, O = 0; O < this.renderObjects.length; O++)
16572
+ ge(O);
16515
16573
  if (this.loaded)
16516
- for (var F = 0; F < this.renderObjects.length; F++)
16517
- this.add(this.renderObjects[F]);
16574
+ for (var O = 0; O < this.renderObjects.length; O++)
16575
+ this.add(this.renderObjects[O]);
16518
16576
  return m;
16519
16577
  }, t.prototype.dispose = function() {
16520
16578
  this.disposed = !0, this.tileset.reset(), this.tileset.root.children.length = 0, /^blob\:/.test(this.tileset.id) && URL.revokeObjectURL(this.tileset.id);
@@ -16803,15 +16861,6 @@ function getEcefToEnuMatrixFromUpAxis(n, t, e) {
16803
16861
  }
16804
16862
  return e;
16805
16863
  }
16806
- function getExt(n) {
16807
- var t = /([0-9a-z\.\_\-]+)([\?\#].*)?$/i.exec(n);
16808
- if (t) {
16809
- var e = String(t[1]).trim().split(".").slice(1).reverse()[0];
16810
- if (e)
16811
- return e;
16812
- }
16813
- return "";
16814
- }
16815
16864
  function loadViewLayer(n) {
16816
16865
  var t, e = n.tilesetUrl.split("#"), r = e[0], o = e[1], s = (t = (o || r).split("?")[1]) !== null && t !== void 0 ? t : "";
16817
16866
  return n.fetcher.ajax(n.tilesetUrl, { responseType: "text" }).catch(function(u) {
@@ -16918,7 +16967,7 @@ function loadViewLayers(n, t) {
16918
16967
  }
16919
16968
  }
16920
16969
  if (s === !1) {
16921
- var f = getExt(n.file) || "at3d", d = JSON.stringify({
16970
+ var f = getExtname(n.file) || ".at3d", d = JSON.stringify({
16922
16971
  tilesetUrl: "",
16923
16972
  asset: {
16924
16973
  version: "0.0"
@@ -16948,7 +16997,7 @@ function loadViewLayers(n, t) {
16948
16997
  content: {
16949
16998
  uri: n.work.getURL(n.file)
16950
16999
  },
16951
- extras: (e = {}, e[f] = {
17000
+ extras: (e = {}, e[f.slice(1)] = {
16952
17001
  /**
16953
17002
  * upAxis 只针对 obj,ply 等上方向不明确的模型生效,其他模型走默认自身标准。
16954
17003
  */
@@ -17122,16 +17171,16 @@ function mergeVertices(n, t) {
17122
17171
  else {
17123
17172
  for (var T = 0, g = l.length; T < g; T++)
17124
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++) {
17125
- var O = h[M];
17126
- if (w.push(S[O](A)), E)
17174
+ var F = h[M];
17175
+ if (w.push(S[F](A)), E)
17127
17176
  for (var C = 0, I = E.length; C < I; C++)
17128
- P[C].push(E[C][O](A));
17177
+ P[C].push(E[C][F](A));
17129
17178
  }
17130
17179
  e[b] = u, d.push(u), u++;
17131
17180
  }
17132
17181
  }
17133
17182
  for (var H = n.clone(), p = 0, g = l.length; p < g; p++) {
17134
- 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);
17135
17184
  if (H.setAttribute(m, S), m in f)
17136
17185
  for (var T = 0; T < f[m].length; T++) {
17137
17186
  var k = n.morphAttributes[m][T], L = new k.array.constructor(f[m][T]), D = new THREE.BufferAttribute(L, k.itemSize, k.normalized);
@@ -17151,10 +17200,10 @@ function getEdgesBySphere(n, t, e) {
17151
17200
  var g = [];
17152
17201
  if (p.traverseVisible(function(Q) {
17153
17202
  if (Q instanceof THREE.Mesh) {
17154
- var q = getBvhTreeForMesh(Q);
17155
- if (q) {
17203
+ var U = getBvhTreeForMesh(Q);
17204
+ if (U) {
17156
17205
  scratchMatrix4$1.copy(Q.matrixWorld), scratchMatrix4Inverse.getInverse(scratchMatrix4$1), scratchSphere$1.copy(t).applyMatrix4(scratchMatrix4Inverse);
17157
- 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();
17158
17207
  G.setAttribute("position", new THREE.BufferAttribute(j, 3)), G.applyMatrix4(Q.matrixWorld), G = mergeVertices(G, 0.01), g.push(G);
17159
17208
  }
17160
17209
  }
@@ -17165,18 +17214,18 @@ function getEdgesBySphere(n, t, e) {
17165
17214
  A.push(R);
17166
17215
  }
17167
17216
  for (var T = 0, S = v.length; T < S; T += 3) {
17168
- 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();
17169
- 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 });
17170
17219
  }
17171
17220
  for (var C = {}, T = 0, S = b.length; T < S; T++)
17172
17221
  for (var I = b[T], H = 0; H < 3; H++) {
17173
- 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];
17174
17223
  C[D] === void 0 ? C[D] = { index1: k[0], index2: k[1], face1: T } : C[D].face2 = T;
17175
17224
  }
17176
17225
  for (var D in C) {
17177
- var U = C[D];
17178
- if (U.face2 === void 0 || b[U.face1].normal.dot(b[U.face2].normal) <= r) {
17179
- 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];
17180
17229
  o.push(new THREE.Line3(z, J));
17181
17230
  }
17182
17231
  }
@@ -18035,10 +18084,10 @@ function parse(n, t) {
18035
18084
  issuer: P.issuer
18036
18085
  }, S.push(workToJson(P));
18037
18086
  else {
18038
- 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);
18039
18088
  if (C instanceof Error)
18040
18089
  return C;
18041
- R === null && (R = C), S.push(O);
18090
+ R === null && (R = C), S.push(F);
18042
18091
  }
18043
18092
  }
18044
18093
  if (R === null)
@@ -18205,9 +18254,9 @@ function parse(n, t) {
18205
18254
  writable: !1,
18206
18255
  value: H
18207
18256
  });
18208
- var F = [];
18257
+ var O = [];
18209
18258
  if (Array.isArray(I.observers) && I.panorama && Array.isArray(I.panorama.list || I.panorama.info)) {
18210
- 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) {
18211
18260
  var K = W, re = I.panorama.pattern[K];
18212
18261
  if (typeof re == "string") {
18213
18262
  var te = new StringPattern(re);
@@ -18218,8 +18267,8 @@ function parse(n, t) {
18218
18267
  z[K] = function() {
18219
18268
  return re;
18220
18269
  };
18221
- }, Q = 0, q = Object.keys((d = I.panorama.pattern) !== null && d !== void 0 ? d : {}); Q < q.length; Q++) {
18222
- 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];
18223
18272
  J(j);
18224
18273
  }
18225
18274
  for (var G = function(W, K) {
@@ -18300,25 +18349,25 @@ function parse(n, t) {
18300
18349
  if (accessibleNodesSet.clear(), K.accessible_nodes && Array.isArray(K.accessible_nodes))
18301
18350
  for (var ie = 0, ve = K.accessible_nodes; ie < ve.length; ie++) {
18302
18351
  var oe = ve[ie];
18303
- oe >= U || oe === W || accessibleNodesSet.add(oe);
18352
+ oe >= q || oe === W || accessibleNodesSet.add(oe);
18304
18353
  }
18305
18354
  else if (K.accessibleNodes && Array.isArray(K.accessibleNodes))
18306
18355
  for (var de = 0, Ee = K.accessibleNodes; de < Ee.length; de++) {
18307
18356
  var oe = Ee[de];
18308
- oe >= U || oe === W || accessibleNodesSet.add(oe);
18357
+ oe >= q || oe === W || accessibleNodesSet.add(oe);
18309
18358
  }
18310
18359
  else if (K.visible_nodes && Array.isArray(K.visible_nodes))
18311
18360
  for (var se = 0, le = K.visible_nodes; se < le.length; se++) {
18312
18361
  var oe = le[se];
18313
- oe >= U || oe === W || accessibleNodesSet.add(oe);
18362
+ oe >= q || oe === W || accessibleNodesSet.add(oe);
18314
18363
  }
18315
18364
  else if (K.visibleNodes && Array.isArray(K.visibleNodes))
18316
18365
  for (var me = 0, ge = K.visibleNodes; me < ge.length; me++) {
18317
18366
  var oe = ge[me];
18318
- oe >= U || oe === W || accessibleNodesSet.add(oe);
18367
+ oe >= q || oe === W || accessibleNodesSet.add(oe);
18319
18368
  }
18320
18369
  if (accessibleNodesSet.size === 0)
18321
- for (var Ae = 0; Ae < U; Ae++)
18370
+ for (var Ae = 0; Ae < q; Ae++)
18322
18371
  Ae !== W && accessibleNodesSet.add(Ae);
18323
18372
  var ue = Array.from(accessibleNodesSet);
18324
18373
  return accessibleNodesSet.clear(), Object.freeze(ue);
@@ -18490,15 +18539,15 @@ function parse(n, t) {
18490
18539
  })()
18491
18540
  }), ie;
18492
18541
  })()
18493
- }), F.push(te);
18494
- }, ee = 0; ee < U; ee++)
18542
+ }), O.push(te);
18543
+ }, ee = 0; ee < q; ee++)
18495
18544
  ae(ee);
18496
18545
  }
18497
18546
  defineProperty(t, "observers", {
18498
18547
  enumerable: !0,
18499
18548
  configurable: !1,
18500
18549
  writable: !1,
18501
- value: Object.freeze(F)
18550
+ value: Object.freeze(O)
18502
18551
  });
18503
18552
  var Z = {};
18504
18553
  if (defineProperty(Z, "work", {
@@ -20965,7 +21014,7 @@ var Hammer = (function(n, t, e, r) {
20965
21014
  function P(B) {
20966
21015
  return B.trim().split(/\s+/g);
20967
21016
  }
20968
- function O(B, _, N) {
21017
+ function F(B, _, N) {
20969
21018
  if (B.indexOf && !N)
20970
21019
  return B.indexOf(_);
20971
21020
  for (var V = 0; V < B.length; ) {
@@ -20981,7 +21030,7 @@ var Hammer = (function(n, t, e, r) {
20981
21030
  function I(B, _, N) {
20982
21031
  for (var V = [], Y = [], ce = 0; ce < B.length; ) {
20983
21032
  var Te = B[ce][_];
20984
- 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++;
20985
21034
  }
20986
21035
  return V = V.sort(function(Ze, De) {
20987
21036
  return Ze[_] > De[_];
@@ -20995,15 +21044,15 @@ var Hammer = (function(n, t, e, r) {
20995
21044
  }
20996
21045
  return r;
20997
21046
  }
20998
- var F = 1;
21047
+ var O = 1;
20999
21048
  function L() {
21000
- return F++;
21049
+ return O++;
21001
21050
  }
21002
21051
  function k(B) {
21003
21052
  var _ = B.ownerDocument || B;
21004
21053
  return _.defaultView || _.parentWindow || n;
21005
21054
  }
21006
- 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"];
21007
21056
  function se(B, _) {
21008
21057
  var N = this;
21009
21058
  this.manager = B, this.callback = _, this.element = B.element, this.target = B.options.inputTarget, this.domHandler = function(V) {
@@ -21032,7 +21081,7 @@ var Hammer = (function(n, t, e, r) {
21032
21081
  };
21033
21082
  function le(B) {
21034
21083
  var _, N = B.options.inputClass;
21035
- 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);
21036
21085
  }
21037
21086
  function me(B, _, N) {
21038
21087
  var V = N.pointers.length, Y = N.changedPointers.length, ce = _ & ee && V - Y === 0, Te = _ & ($ | X) && V - Y === 0;
@@ -21151,7 +21200,7 @@ var Hammer = (function(n, t, e, r) {
21151
21200
  pointerout: X
21152
21201
  }, Oe = {
21153
21202
  2: Q,
21154
- 3: q,
21203
+ 3: U,
21155
21204
  4: j,
21156
21205
  5: G
21157
21206
  // see https://twitter.com/jacobrossi/status/480596438489890816
@@ -21166,7 +21215,7 @@ var Hammer = (function(n, t, e, r) {
21166
21215
  * @param {Object} ev
21167
21216
  */
21168
21217
  handler: function(_) {
21169
- 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");
21170
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, {
21171
21220
  pointers: N,
21172
21221
  changedPointers: [_],
@@ -21409,7 +21458,7 @@ var Hammer = (function(n, t, e, r) {
21409
21458
  if (h(B, "requireFailure", this))
21410
21459
  return this;
21411
21460
  var _ = this.requireFail;
21412
- 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;
21413
21462
  },
21414
21463
  /**
21415
21464
  * drop the requireFailure link. it does not remove the link on the other recognizer.
@@ -21420,7 +21469,7 @@ var Hammer = (function(n, t, e, r) {
21420
21469
  if (h(B, "dropRequireFailure", this))
21421
21470
  return this;
21422
21471
  B = _t(B, this);
21423
- var _ = O(this.requireFail, B);
21472
+ var _ = F(this.requireFail, B);
21424
21473
  return _ > -1 && this.requireFail.splice(_, 1), this;
21425
21474
  },
21426
21475
  /**
@@ -21928,7 +21977,7 @@ var Hammer = (function(n, t, e, r) {
21928
21977
  if (h(B, "remove", this))
21929
21978
  return this;
21930
21979
  if (B = this.get(B), B) {
21931
- var _ = this.recognizers, N = O(_, B);
21980
+ var _ = this.recognizers, N = F(_, B);
21932
21981
  N !== -1 && (_.splice(N, 1), this.touchAction.update());
21933
21982
  }
21934
21983
  return this;
@@ -21957,7 +22006,7 @@ var Hammer = (function(n, t, e, r) {
21957
22006
  if (B !== r) {
21958
22007
  var N = this.handlers;
21959
22008
  return p(P(B), function(V) {
21960
- _ ? 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];
21961
22010
  }), this;
21962
22011
  }
21963
22012
  },
@@ -22215,11 +22264,11 @@ var Hammer = (function(n, t, e, r) {
22215
22264
  target: C.target,
22216
22265
  pointerType: C.pointerType,
22217
22266
  srcEvent: C.srcEvent,
22218
- pointers: C.pointers.map(function(F) {
22219
- 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);
22220
22269
  return {
22221
- x: F.x,
22222
- y: F.y,
22270
+ x: O.x,
22271
+ y: O.y,
22223
22272
  delta: 0,
22224
22273
  buttons: 0,
22225
22274
  coords: L,
@@ -22229,11 +22278,11 @@ var Hammer = (function(n, t, e, r) {
22229
22278
  isFirst: C.isFirst,
22230
22279
  isFinal: C.isFinal,
22231
22280
  scale: C.scale,
22232
- center: (function(F) {
22233
- 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);
22234
22283
  return {
22235
- x: F.x,
22236
- y: F.y,
22284
+ x: O.x,
22285
+ y: O.y,
22237
22286
  delta: 0,
22238
22287
  buttons: 0,
22239
22288
  coords: L,
@@ -22257,11 +22306,11 @@ var Hammer = (function(n, t, e, r) {
22257
22306
  target: C.target,
22258
22307
  pointerType: C.pointerType,
22259
22308
  srcEvent: C.srcEvent,
22260
- pointers: C.pointers.map(function(F) {
22261
- 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);
22262
22311
  return {
22263
- x: F.x,
22264
- y: F.y,
22312
+ x: O.x,
22313
+ y: O.y,
22265
22314
  delta: 0,
22266
22315
  buttons: 0,
22267
22316
  coords: L,
@@ -22271,11 +22320,11 @@ var Hammer = (function(n, t, e, r) {
22271
22320
  isFirst: !0,
22272
22321
  isFinal: !0,
22273
22322
  scale: C.scale,
22274
- center: (function(F) {
22275
- 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);
22276
22325
  return {
22277
- x: F.x,
22278
- y: F.y,
22326
+ x: O.x,
22327
+ y: O.y,
22279
22328
  delta: 0,
22280
22329
  buttons: 0,
22281
22330
  coords: L,
@@ -22299,12 +22348,12 @@ var Hammer = (function(n, t, e, r) {
22299
22348
  target: C.target,
22300
22349
  pointerType: C.pointerType,
22301
22350
  srcEvent: C.srcEvent,
22302
- pointers: C.pointers.map(function(F) {
22303
- 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();
22304
22353
  return D.params.Points = { threshold: 0.1 }, D.setFromCamera(k, r.camera), {
22305
- x: F.x,
22306
- y: F.y,
22307
- 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,
22308
22357
  buttons: 0,
22309
22358
  coords: k,
22310
22359
  raycaster: D
@@ -22313,11 +22362,11 @@ var Hammer = (function(n, t, e, r) {
22313
22362
  isFirst: C.type === "pinchstart",
22314
22363
  isFinal: C.type === "pinchend",
22315
22364
  scale: C.scale,
22316
- center: (function(F) {
22317
- 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);
22318
22367
  return {
22319
- x: F.x,
22320
- y: F.y,
22368
+ x: O.x,
22369
+ y: O.y,
22321
22370
  delta: 0,
22322
22371
  buttons: 0,
22323
22372
  coords: L,
@@ -22341,11 +22390,11 @@ var Hammer = (function(n, t, e, r) {
22341
22390
  target: C.target,
22342
22391
  pointerType: C.pointerType,
22343
22392
  srcEvent: C.srcEvent,
22344
- pointers: C.pointers.map(function(F) {
22345
- 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);
22346
22395
  return {
22347
- x: F.x,
22348
- y: F.y,
22396
+ x: O.x,
22397
+ y: O.y,
22349
22398
  delta: 0,
22350
22399
  buttons: 0,
22351
22400
  coords: L,
@@ -22355,11 +22404,11 @@ var Hammer = (function(n, t, e, r) {
22355
22404
  isFirst: !0,
22356
22405
  isFinal: !0,
22357
22406
  scale: C.scale,
22358
- center: (function(F) {
22359
- 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);
22360
22409
  return {
22361
- x: F.x,
22362
- y: F.y,
22410
+ x: O.x,
22411
+ y: O.y,
22363
22412
  delta: 0,
22364
22413
  buttons: 0,
22365
22414
  coords: L,
@@ -22378,17 +22427,17 @@ var Hammer = (function(n, t, e, r) {
22378
22427
  }
22379
22428
  });
22380
22429
  var d = null, h = null, p = function(C, I, H) {
22381
- var F = {
22430
+ var O = {
22382
22431
  x: H.clientX,
22383
22432
  y: H.clientY
22384
- }, 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", {
22385
22434
  target: H.target,
22386
22435
  pointerType: "mouse",
22387
22436
  srcEvent: H,
22388
22437
  pointers: [__assign({}, D)],
22389
22438
  isFirst: C === "pinchstart",
22390
22439
  isFinal: C === "pinchend",
22391
- scale: clamp$1(U, 0.1, 10),
22440
+ scale: clamp$1(q, 0.1, 10),
22392
22441
  center: __assign({}, D),
22393
22442
  velocityX: 0,
22394
22443
  velocityY: 0,
@@ -22402,21 +22451,21 @@ var Hammer = (function(n, t, e, r) {
22402
22451
  var I, H = { x: C.clientX, y: C.clientY };
22403
22452
  if (o(H)) {
22404
22453
  if (C.preventDefault(), C.ctrlKey) {
22405
- 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);
22406
22455
  d === null ? d = {
22407
22456
  firstEvent: L,
22408
22457
  prevEvent: L
22409
22458
  } : d.prevEvent = L, r.onPinchGesture(L), h !== null && window.clearTimeout(h), h = window.setTimeout(function() {
22410
- var q;
22459
+ var U;
22411
22460
  h = null;
22412
- 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);
22413
22462
  d = null, r.onPinchGesture(G);
22414
22463
  }, 200);
22415
22464
  } else {
22416
- 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 = {
22417
22466
  x: C.clientX,
22418
22467
  y: C.clientY
22419
- }, 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", {
22420
22469
  target: C.target,
22421
22470
  pointerType: "mouse",
22422
22471
  srcEvent: C,
@@ -22468,7 +22517,7 @@ var Hammer = (function(n, t, e, r) {
22468
22517
  var H = {
22469
22518
  x: C.clientX,
22470
22519
  y: C.clientY
22471
- }, 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", {
22472
22521
  target: C.target,
22473
22522
  pointerType: "mouse",
22474
22523
  srcEvent: C,
@@ -22506,10 +22555,10 @@ var Hammer = (function(n, t, e, r) {
22506
22555
  timeStamp: now(),
22507
22556
  stop: noop
22508
22557
  });
22509
- 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) {
22510
22559
  return __assign(__assign({}, L), { delta: H });
22511
22560
  }) }));
22512
- 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) {
22513
22562
  y(C);
22514
22563
  }, !0, 1));
22515
22564
  }, v = function(C) {
@@ -22517,7 +22566,7 @@ var Hammer = (function(n, t, e, r) {
22517
22566
  var I = {
22518
22567
  x: C.changedTouches[0].clientX,
22519
22568
  y: C.changedTouches[0].clientY
22520
- }, 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", {
22521
22570
  target: C.target,
22522
22571
  pointerType: "touch",
22523
22572
  srcEvent: C,
@@ -22540,7 +22589,7 @@ var Hammer = (function(n, t, e, r) {
22540
22589
  var I = {
22541
22590
  x: C.clientX,
22542
22591
  y: C.clientY
22543
- }, 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", {
22544
22593
  target: C.target,
22545
22594
  pointerType: "mouse",
22546
22595
  srcEvent: C,
@@ -22560,33 +22609,33 @@ var Hammer = (function(n, t, e, r) {
22560
22609
  }, b = function() {
22561
22610
  var C;
22562
22611
  if (r.pressState) {
22563
- 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) {
22564
- 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 });
22565
22614
  }) }));
22566
22615
  r.onPressGesture(H), (C = r.pressState) === null || C === void 0 || C.stop(), r.pressState = void 0;
22567
22616
  }
22568
22617
  }, T = null, S = function(C) {
22569
- var I, H = !1, F = !1;
22618
+ var I, H = !1, O = !1;
22570
22619
  switch (C.type) {
22571
22620
  case "gesturestart":
22572
22621
  H = !0;
22573
22622
  break;
22574
22623
  case "gestureend":
22575
- F = !0;
22624
+ O = !0;
22576
22625
  break;
22577
22626
  }
22578
22627
  var L = {
22579
22628
  x: C.clientX,
22580
22629
  y: C.clientY
22581
- }, 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", {
22582
22631
  target: C.target,
22583
22632
  pointerType: "mouse",
22584
22633
  srcEvent: C,
22585
- pointers: [__assign({}, U)],
22634
+ pointers: [__assign({}, q)],
22586
22635
  isFirst: H,
22587
- isFinal: F,
22636
+ isFinal: O,
22588
22637
  scale: (I = C.scale) !== null && I !== void 0 ? I : 1,
22589
- center: __assign({}, U),
22638
+ center: __assign({}, q),
22590
22639
  velocityX: 0,
22591
22640
  velocityY: 0,
22592
22641
  overallVelocityX: 0,
@@ -22621,10 +22670,10 @@ var Hammer = (function(n, t, e, r) {
22621
22670
  }
22622
22671
  };
22623
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);
22624
- var O = function() {
22673
+ var F = function() {
22625
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);
22626
22675
  };
22627
- return Object.assign(O, { element: e });
22676
+ return Object.assign(F, { element: e });
22628
22677
  }, t;
22629
22678
  })(Subscribe)
22630
22679
  ), sharedGeometry$2 = new THREE.CircleBufferGeometry(0.1, 16), vertexShader$1 = `
@@ -23016,7 +23065,7 @@ void main() {
23016
23065
  transform: g,
23017
23066
  options: m
23018
23067
  },
23019
- format: THREE.RGBAFormat,
23068
+ format: THREE.RGBFormat,
23020
23069
  viaAjax: !0,
23021
23070
  fetcher: getFetcher(this.fiveId, u.work)
23022
23071
  }, void 0, void 0, void 0, this.renderer).then(function(A) {
@@ -23753,10 +23802,10 @@ void main() {
23753
23802
  var K = w.get(ne);
23754
23803
  return K === void 0 && (K = ne.box.getCenter(scratchSortVector3).angleTo(R), w.set(ne, K)), W - K;
23755
23804
  });
23756
- var P = /* @__PURE__ */ new WeakSet(), O = this.observer.images.tiles;
23757
- if (O)
23805
+ var P = /* @__PURE__ */ new WeakSet(), F = this.observer.images.tiles;
23806
+ if (F)
23758
23807
  for (var C = function(X) {
23759
- var ne = O.find(function(me) {
23808
+ var ne = F.find(function(me) {
23760
23809
  return me.level === X.level;
23761
23810
  });
23762
23811
  if (!ne)
@@ -23799,8 +23848,8 @@ void main() {
23799
23848
  }, function(me) {
23800
23849
  return e.pedding--, Promise.reject(me);
23801
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;
23802
- }, I = this, H = 0, F = M; H < F.length; H++) {
23803
- var L = F[H];
23851
+ }, I = this, H = 0, O = M; H < O.length; H++) {
23852
+ var L = O[H];
23804
23853
  C(L);
23805
23854
  }
23806
23855
  var k = [], D = [];
@@ -23809,17 +23858,17 @@ void main() {
23809
23858
  var W = ne.level >= g && ne.level <= m;
23810
23859
  X.visible !== W && (X.visible = W, r = !0);
23811
23860
  });
23812
- for (var U = D.sort(function(X, ne) {
23861
+ for (var q = D.sort(function(X, ne) {
23813
23862
  return ne.activeTime - X.activeTime;
23814
- }).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++) {
23815
23864
  var Q = J[z];
23816
23865
  this.tileMeshes.delete(Q.node), this.scene.remove(Q), Q.dispose(), r = !0;
23817
23866
  }
23818
23867
  if (r) {
23819
- var q = l.getRenderTarget();
23868
+ var U = l.getRenderTarget();
23820
23869
  scratchPrevClearColor$1.copy(l.getClearColor());
23821
23870
  var j = l.getClearAlpha(), G = l.autoClear, ae = l.autoClearColor, ee = l.autoClearDepth, Z = l.autoClearStencil, $ = l.clippingPlanes;
23822
- 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 = $;
23823
23872
  }
23824
23873
  return this.forceRenderWhenNextUpdate = !1, r;
23825
23874
  }, n;
@@ -24114,7 +24163,7 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24114
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;
24115
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) {
24116
24165
  this.locationMotion.update(e);
24117
- 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);
24118
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")
24119
24168
  h.progress = Math.pow(w, 3);
24120
24169
  else if (T.effect === "model" && this.camera.pose.distance < 0.01) {
@@ -24132,15 +24181,15 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24132
24181
  }, H = this.panoPictureObserverMap.get(h.pano0);
24133
24182
  H && this.panoPictureObserverMap.set(I, H), h.pano0 = I;
24134
24183
  }
24135
- P.copy(O), M = !0;
24184
+ P.copy(F), M = !0;
24136
24185
  }
24137
- 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);
24138
- for (var F = [], L = [], k = 0, D = this.locationMotion.keyframes; k < D.length; k++) {
24139
- var U = D[k], z = U.key, J = U.progress;
24140
- 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));
24141
24190
  }
24142
- for (var Q = 0, q = Object.keys(this.panoResources); Q < q.length; Q++) {
24143
- var j = q[Q];
24191
+ for (var Q = 0, U = Object.keys(this.panoResources); Q < U.length; Q++) {
24192
+ var j = U[Q];
24144
24193
  if (!(L.indexOf(j) >= 0)) {
24145
24194
  var G = this.panoResources[j];
24146
24195
  if (G.panoPicture) {
@@ -24151,7 +24200,7 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24151
24200
  ae.dispose(), G.panoPicture = null;
24152
24201
  }
24153
24202
  }
24154
- F.indexOf(j) >= 0 || delete this.panoResources[j];
24203
+ O.indexOf(j) >= 0 || delete this.panoResources[j];
24155
24204
  }
24156
24205
  }
24157
24206
  var ee = panoParse(T.panoId);
@@ -24459,7 +24508,7 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24459
24508
  P.dispose();
24460
24509
  else {
24461
24510
  P.name = E;
24462
- 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 = {
24463
24512
  panoId: d,
24464
24513
  effect: f,
24465
24514
  effectEasing: (w = r.effectEasing) !== null && w !== void 0 ? w : defaultEffectEase,
@@ -24501,7 +24550,7 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24501
24550
  transform: p,
24502
24551
  options: g
24503
24552
  },
24504
- format: THREE.RGBAFormat,
24553
+ format: THREE.RGBFormat,
24505
24554
  viaAjax: !0,
24506
24555
  fetcher: getFetcher(this.fiveId, h.work)
24507
24556
  }, void 0, void 0, function(R) {
@@ -24598,34 +24647,34 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24598
24647
  if (this.locationMotion.ended) {
24599
24648
  var M = this.locationMotion.getKeyFrameSegment(v);
24600
24649
  M[0];
24601
- var w = M[1], P = this.locationMotion.value, O = ((u = this.panoResourceFromLocationMotionKeyframe(w)) !== null && u !== void 0 ? u : this.camera).position, C = r.position;
24602
- 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 = [
24603
24652
  { key: w.key, progress: 0, value: __assign(__assign({}, P), { count: 0 }) },
24604
24653
  { key: A, progress: 1, value: { distance: 0, count: 1 } }
24605
24654
  ], R = 0;
24606
24655
  } else {
24607
- 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);
24608
24657
  T = k + D, S = [
24609
24658
  { key: H.key, progress: 0, value: __assign({}, P) },
24610
24659
  { key: w.key, progress: k / T, value: w.value },
24611
24660
  { key: A, progress: 1, value: { count: w.value.count + 1, distance: 0 } }
24612
24661
  ];
24613
- var U = this.locationMotionKeyframesLength(this.locationMotion.keyframes), z = this.locationMotionKeyframesLength(S);
24614
- 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;
24615
24664
  }
24616
24665
  var J = r.effect === "instant" ? 0 : this.calculateMovingDuration(o.duration, r.effect === "fly" || r.effect === "model" ? T : 0), Q = {
24617
24666
  longitude: o.longitude,
24618
24667
  latitude: o.latitude,
24619
24668
  fov: o.fov
24620
- }, 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;
24621
24670
  if (this.emit("pano.moveTo", createEvent("pano.moveTo", {
24622
24671
  options: o,
24623
24672
  prevPano: j,
24624
24673
  progress: 0,
24625
- state: q,
24674
+ state: U,
24626
24675
  userAction: this.userAction,
24627
24676
  error: null
24628
- })), 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")
24629
24678
  this.cameraMotion.set(Q, J).catch(noop);
24630
24679
  else {
24631
24680
  var G = coordinatesToVector({
@@ -24722,7 +24771,7 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24722
24771
  options: o,
24723
24772
  prevPano: j,
24724
24773
  progress: 0,
24725
- state: q,
24774
+ state: U,
24726
24775
  userAction: s.userAction,
24727
24776
  error: null
24728
24777
  })), o.moveCancelCallback && o.moveCancelCallback();
@@ -24744,19 +24793,19 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24744
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();
24745
24794
  if (g.length() === 0)
24746
24795
  return null;
24747
- var m = s.work.observers, E = s.accessibleNodes.filter(function(U) {
24748
- 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)
24749
24798
  return !1;
24750
- var z = m[U];
24799
+ var z = m[q];
24751
24800
  if (!z)
24752
24801
  return !1;
24753
24802
  var J = z.standingPosition.clone().applyMatrix4(z.work.transform).project(e);
24754
24803
  return Math.abs(J.z) > 1 || Math.abs(J.x) > 1 || Math.abs(J.y) > 1 ? !1 : z.loadable || z.active;
24755
- }), y = /* @__PURE__ */ new Map(), v = E.slice().sort(function(U, z) {
24756
- 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);
24757
24806
  typeof Q == "undefined" && (Q = scratchVector3$3.copy(J.standingPosition).applyMatrix4(J.work.transform).distanceTo(l), y.set(J, Q));
24758
- var q = m[z], j = y.get(q);
24759
- 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;
24760
24809
  });
24761
24810
  y.clear();
24762
24811
  for (var A = 0, b = [Math.PI / 8, Math.PI / 6, Math.PI / 4, Math.PI / 3]; A < b.length; A++)
@@ -24768,35 +24817,35 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24768
24817
  return w;
24769
24818
  }
24770
24819
  }
24771
- var O = null;
24820
+ var F = null;
24772
24821
  if (r) {
24773
24822
  var C = r.ray.intersectBox(this.modelScene.boundingBox, scratchVector3$3);
24774
- 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()));
24775
24824
  } else
24776
- O = new THREE.Vector3(0, 0, 0);
24777
- if (O) {
24778
- var I = 0.4, H = s.accessibleNodes.filter(function(U) {
24779
- 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)
24780
24829
  return !1;
24781
- var z = m[U];
24830
+ var z = m[q];
24782
24831
  if (!z)
24783
24832
  return !1;
24784
24833
  var J = z.position.clone().applyMatrix4(z.work.transform).project(e);
24785
24834
  return Math.abs(J.z) > 1 || Math.abs(J.x) > 1 || Math.abs(J.y) > 1 ? !1 : z.loadable || z.active;
24786
- }), F = /* @__PURE__ */ new Map(), L = H.slice().sort(function(U, z) {
24787
- var J = m[U], Q = F.get(J);
24788
- typeof Q == "undefined" && (Q = scratchVector3$3.copy(J.position).applyMatrix4(J.work.transform).distanceTo(e.position), F.set(J, Q));
24789
- var q = m[z], j = F.get(q);
24790
- 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;
24791
24840
  });
24792
- F.clear();
24841
+ O.clear();
24793
24842
  for (var k = 0, D = L; k < D.length; k++) {
24794
24843
  var M = D[k], w = m[M];
24795
24844
  if (w) {
24796
24845
  var C = scratchVector3$3.copy(w.position).applyMatrix4(w.work.transform);
24797
24846
  if (C.project(e), Math.abs(C.z) > 1)
24798
24847
  continue;
24799
- 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))
24800
24849
  return w;
24801
24850
  }
24802
24851
  }
@@ -24839,13 +24888,13 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24839
24888
  if (!l)
24840
24889
  this.emit("gesture.tap", e), e.defaultPrevented || this.locationMotion.ended === !0 && this.cameraBounce();
24841
24890
  else {
24842
- 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++) {
24843
24892
  var g = I[C];
24844
24893
  if (l.panoIndex !== g && !(g === this.currentPano.panoIndex && l.work.workCode === this.currentPano.workCode)) {
24845
- var H = O[g];
24894
+ var H = F[g];
24846
24895
  if (H) {
24847
- var F = H.position.clone().applyMatrix4(H.work.transform).sub(l.position.clone().applyMatrix4(l.work.transform)).setY(0).normalize();
24848
- 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);
24849
24898
  }
24850
24899
  }
24851
24900
  }
@@ -24853,8 +24902,8 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24853
24902
  return j.angleTo(R) - G.angleTo(R);
24854
24903
  })[0];
24855
24904
  if (k && k.angleTo(u) > S && (b.longitude = Math.atan2(-k.x, -k.z)), this.cameraMotion.value.latitude < -Math.PI / 4) {
24856
- 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);
24857
- 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);
24858
24907
  }
24859
24908
  var J = __assign({}, e.state);
24860
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) {
@@ -24869,8 +24918,8 @@ var scratchRaycaster$1 = new THREE.Raycaster(), scratchVector3$3 = new THREE.Vec
24869
24918
  var Q = panoStringify({
24870
24919
  panoIndex: l.panoIndex,
24871
24920
  workCode: l.work.workCode
24872
- }), q = this.panoMeshes.get(Q);
24873
- q && (q.setDisabled(!1), q.setLoading(!0));
24921
+ }), U = this.panoMeshes.get(Q);
24922
+ U && (U.setDisabled(!1), U.setLoading(!0));
24874
24923
  }
24875
24924
  l && l.active && this.emit("pano.request", createEvent("pano.request", {
24876
24925
  userAction: e.userAction,
@@ -24972,8 +25021,8 @@ var updateEyeViewMatrices = /* @__PURE__ */ (function() {
24972
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;
24973
25022
  }
24974
25023
  function e(r, o) {
24975
- 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;
24976
- 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;
24977
25026
  }
24978
25027
  return function(r, o, s) {
24979
25028
  n(r, o), s && t(r, r, s), e(r, r);
@@ -25788,8 +25837,8 @@ void main() {
25788
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")
25789
25838
  h.progress = Math.pow(M, 3);
25790
25839
  else if (b.effect === "model" && this.camera.pose.distance < 0.01) {
25791
- var O = 1 - Math.pow(clamp$1(Math.abs(M - 0.5) * 2, 0, 1), 4);
25792
- h.modelAlpha = O;
25840
+ var F = 1 - Math.pow(clamp$1(Math.abs(M - 0.5) * 2, 0, 1), 4);
25841
+ h.modelAlpha = F;
25793
25842
  }
25794
25843
  if (M < 1 && b.effect !== "fly") {
25795
25844
  if (h.pano0 && A.panoPicture) {
@@ -25805,14 +25854,14 @@ void main() {
25805
25854
  w.copy(P), R = !0;
25806
25855
  }
25807
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);
25808
- for (var H = [], F = [], L = 0, k = this.locationMotion.keyframes; L < k.length; L++) {
25809
- var D = k[L], U = D.key, z = D.progress;
25810
- 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));
25811
25860
  }
25812
25861
  for (var J = 0, Q = Object.keys(this.panoResources); J < Q.length; J++) {
25813
- var q = Q[J];
25814
- if (!(F.indexOf(q) >= 0)) {
25815
- var j = this.panoResources[q];
25862
+ var U = Q[J];
25863
+ if (!(O.indexOf(U) >= 0)) {
25864
+ var j = this.panoResources[U];
25816
25865
  if (j.panoPicture) {
25817
25866
  var G = j.panoPicture.map;
25818
25867
  if (G) {
@@ -25821,7 +25870,7 @@ void main() {
25821
25870
  G.dispose(), j.panoPicture = null;
25822
25871
  }
25823
25872
  }
25824
- H.indexOf(q) >= 0 || delete this.panoResources[q];
25873
+ H.indexOf(U) >= 0 || delete this.panoResources[U];
25825
25874
  }
25826
25875
  }
25827
25876
  this.currentPano = panoParse(b.panoId), this.emit("pano.moving", createEvent("pano.moving", {
@@ -26144,8 +26193,8 @@ void main() {
26144
26193
  if (this.perspToOrthoMotion.ended || (this.perspToOrthoMotion.update(e), this.camera.perspToOrtho.setScalar(clamp$1(this.perspToOrthoMotion.value.perspToOrtho, 0, 1))), !this.locationMotion.ended) {
26145
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);
26146
26195
  for (var f = new THREE.Vector3(this.locationMotion.value.x, this.locationMotion.value.y, this.locationMotion.value.z), d = [], h = function(S) {
26147
- var R = p.modelScene.models.find(function(O) {
26148
- return O.work === S;
26196
+ var R = p.modelScene.models.find(function(F) {
26197
+ return F.work === S;
26149
26198
  });
26150
26199
  if (!R || R.visible === !1 || S.observers.length <= 0)
26151
26200
  return "continue";
@@ -26237,34 +26286,34 @@ void main() {
26237
26286
  y: e.y,
26238
26287
  z: e.z,
26239
26288
  distance: 0
26240
- }, O = {
26289
+ }, F = {
26241
26290
  longitude: r.longitude,
26242
26291
  latitude: r.latitude,
26243
26292
  fov: r.fov
26244
26293
  }, C = [], I = function(Q) {
26245
- var q = H.modelScene.models.find(function(ee) {
26294
+ var U = H.modelScene.models.find(function(ee) {
26246
26295
  return ee.work === Q;
26247
26296
  });
26248
- if (!q || q.visible === !1 || Q.observers.length <= 0)
26297
+ if (!U || U.visible === !1 || Q.observers.length <= 0)
26249
26298
  return "continue";
26250
26299
  if (scratchObserverBox$1.copy(Q.observerBox).expandByScalar(10).applyMatrix4(Q.transform), scratchObserverBox$1.containsPoint(d))
26251
26300
  for (var j = 0, G = Q.observers; j < G.length; j++) {
26252
26301
  var ae = G[j];
26253
26302
  C.push(ae);
26254
26303
  }
26255
- }, H = this, F = 0, L = this.works; F < L.length; F++) {
26256
- var k = L[F];
26304
+ }, H = this, O = 0, L = this.works; O < L.length; O++) {
26305
+ var k = L[O];
26257
26306
  I(k);
26258
26307
  }
26259
26308
  var D = arrayMin(C, function(Q) {
26260
26309
  return scratchVector3$2.copy(Q.position).applyMatrix4(Q.work.transform).distanceTo(d);
26261
- }), U = D ? {
26310
+ }), q = D ? {
26262
26311
  workCode: D.work.workCode,
26263
26312
  panoIndex: D.panoIndex
26264
26313
  } : {
26265
26314
  workCode: "",
26266
26315
  panoIndex: 0
26267
- }, 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;
26268
26317
  this.emit("pano.moveTo", createEvent("pano.moveTo", {
26269
26318
  options: r,
26270
26319
  prevPano: J,
@@ -26272,15 +26321,15 @@ void main() {
26272
26321
  state: z,
26273
26322
  userAction: this.userAction,
26274
26323
  error: null
26275
- })), 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(
26276
26325
  // resolve
26277
26326
  // 动画结束
26278
26327
  function() {
26279
- for (var Q = 0, q = s.modelScene.children; Q < q.length; Q++) {
26280
- var j = q[Q];
26328
+ for (var Q = 0, U = s.modelScene.children; Q < U.length; Q++) {
26329
+ var j = U[Q];
26281
26330
  j instanceof Model && j.show();
26282
26331
  }
26283
- 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));
26284
26333
  s.emit("pano.arrived", createEvent("pano.arrived", {
26285
26334
  options: r,
26286
26335
  prevPano: J,
@@ -26684,8 +26733,8 @@ void main() {
26684
26733
  y: w.offset.y,
26685
26734
  z: w.offset.z
26686
26735
  }, 0).catch(noop)), e.isFinal) {
26687
- 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();
26688
- 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 = {
26689
26738
  uuid: createUuid()
26690
26739
  }, this.requestMomentumMovement(e, !0, { longitude: 0, latitude: 0, x: H.x, y: H.y, z: H.z }, 0);
26691
26740
  }
@@ -26693,7 +26742,7 @@ void main() {
26693
26742
  var y = {
26694
26743
  x: e.center.x - o.x,
26695
26744
  y: e.center.y - o.y
26696
- }, 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);
26697
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);
26698
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 });
26699
26748
  if (e.isFinal && Object.assign(e, { __fixFinalState: !0 }), e.state = w, this.emit("gesture.pan", e), e.defaultPrevented)
@@ -26855,7 +26904,7 @@ void main() {
26855
26904
  transform: g,
26856
26905
  options: m
26857
26906
  },
26858
- format: THREE.RGBAFormat,
26907
+ format: THREE.RGBFormat,
26859
26908
  viaAjax: !0,
26860
26909
  fetcher: getFetcher(this.fiveId, u.work)
26861
26910
  }, void 0, void 0, void 0, this.renderer).then(function(A) {
@@ -27476,14 +27525,14 @@ var LineSegments2 = (
27476
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;
27477
27526
  var P = A.closestPointToPointParameter(y, !0);
27478
27527
  A.at(P, b);
27479
- 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;
27480
27529
  if (C && I) {
27481
27530
  A.start.fromBufferAttribute(h, S), A.end.fromBufferAttribute(p, S), A.start.applyMatrix4(T), A.end.applyMatrix4(T);
27482
- var H = new THREE.Vector3(), F = new THREE.Vector3();
27483
- o.distanceSqToSegment(A.start, A.end, F, H), r.push({
27484
- 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,
27485
27534
  pointOnLine: H,
27486
- distance: o.origin.distanceTo(F),
27535
+ distance: o.origin.distanceTo(O),
27487
27536
  object: this,
27488
27537
  faceIndex: S
27489
27538
  });
@@ -27561,7 +27610,7 @@ var circleImageURL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYA
27561
27610
  }
27562
27611
  return Object.defineProperty(t, "version", {
27563
27612
  get: function() {
27564
- return "6.7.0-alpha.27";
27613
+ return "6.7.0-alpha.29";
27565
27614
  },
27566
27615
  enumerable: !1,
27567
27616
  configurable: !0
@@ -28048,8 +28097,8 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28048
28097
  if (!h)
28049
28098
  throw new Error("Invalid PanoIndex");
28050
28099
  getImageSizeFromURL(h.images.up), this.imageOptions.size;
28051
- var p = this.imageOptions.transform, g = function(P, O) {
28052
- return mapPanoResource(applyImageURLOptions(P, p, O));
28100
+ var p = this.imageOptions.transform, g = function(P, F) {
28101
+ return mapPanoResource(applyImageURLOptions(P, p, F));
28053
28102
  }, m = __assign({ key: "pano.".concat(d) }, pick(this.imageOptions, ["format", "size", "quality"])), E = {
28054
28103
  right: h.images.work.getURL(h.images.right),
28055
28104
  left: h.images.work.getURL(h.images.left),
@@ -28093,19 +28142,19 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28093
28142
  panoId: d,
28094
28143
  hash: y,
28095
28144
  onLoad: function(P) {
28096
- var O, C, I = P.body;
28145
+ var F, C, I = P.body;
28097
28146
  if (s.destroyed)
28098
28147
  I.dispose();
28099
28148
  else {
28100
28149
  I.name = y;
28101
- 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 = {
28102
28151
  panoId: d,
28103
28152
  effect: f,
28104
28153
  effectEasing: (C = r.effectEasing) !== null && C !== void 0 ? C : defaultEffectEase,
28105
28154
  leftPanoPicture: {
28106
28155
  panoId: d,
28107
28156
  map: I,
28108
- mapSize: F,
28157
+ mapSize: O,
28109
28158
  matrix: h.matrix.clone(),
28110
28159
  zoom: 1
28111
28160
  },
@@ -28116,21 +28165,21 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28116
28165
  }
28117
28166
  },
28118
28167
  onError: function(P) {
28119
- 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));
28120
28169
  s.emit("pano.error", createEvent("pano.error", {
28121
28170
  error: P,
28122
28171
  userAction: s.userAction,
28123
28172
  options: r,
28124
28173
  prevPano: s.currentPano,
28125
28174
  progress: 0,
28126
- state: O
28175
+ state: F
28127
28176
  })), s.emit("pano.cancel", createEvent("pano.cancel", {
28128
28177
  error: null,
28129
28178
  userAction: s.userAction,
28130
28179
  options: r,
28131
28180
  prevPano: s.currentPano,
28132
28181
  progress: 0,
28133
- state: O
28182
+ state: F
28134
28183
  })), r.moveCancelCallback && r.moveCancelCallback();
28135
28184
  }
28136
28185
  };
@@ -28140,27 +28189,27 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28140
28189
  transform: g,
28141
28190
  options: m
28142
28191
  },
28143
- format: THREE.RGBAFormat,
28192
+ format: THREE.RGBFormat,
28144
28193
  fetcher: getFetcher(this.fiveId, h.work)
28145
28194
  }, void 0, void 0, function(P) {
28146
- var O, C;
28147
- ((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", {
28148
28197
  error: null,
28149
28198
  progress: P,
28150
28199
  meta: null,
28151
28200
  pano: e
28152
28201
  }));
28153
28202
  }, this.renderer).then(function(P) {
28154
- var O, C;
28155
- 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", {
28156
28205
  error: null,
28157
28206
  progress: 1,
28158
28207
  meta: P.meta,
28159
28208
  pano: e
28160
28209
  }));
28161
28210
  }).catch(function(P) {
28162
- var O, C;
28163
- 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", {
28164
28213
  error: P,
28165
28214
  progress: 0,
28166
28215
  meta: null,
@@ -28181,29 +28230,29 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28181
28230
  if (this.locationMotion.ended) {
28182
28231
  var R = this.locationMotion.getKeyFrameSegment(y);
28183
28232
  R[0];
28184
- var M = R[1], w = this.locationMotion.value, P = this.panoResourceFromLocationMotionKeyframe(M).position, O = r.position;
28185
- 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 = [
28186
28235
  { key: M.key, progress: 0, value: __assign(__assign({}, w), { count: 0 }) },
28187
28236
  { key: v, progress: 1, value: { distance: 0, count: 1 } }
28188
28237
  ], S = 0;
28189
28238
  } else {
28190
- 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);
28191
28240
  b = L + k, T = [
28192
28241
  { key: I.key, progress: 0, value: __assign({}, w) },
28193
28242
  { key: M.key, progress: L / b, value: M.value },
28194
28243
  { key: v, progress: 1, value: { count: M.value.count + 1, distance: 0 } }
28195
28244
  ];
28196
- var D = this.locationMotionKeyframesLength(this.locationMotion.keyframes), U = this.locationMotionKeyframesLength(T);
28197
- 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;
28198
28247
  }
28199
28248
  var z = r.effect === "instant" ? 0 : this.calculateMovingDuration(o.duration, r.effect === "fly" || r.effect === "model" ? b : 0), J = {
28200
28249
  longitude: o.longitude,
28201
28250
  latitude: o.latitude,
28202
28251
  fov: o.fov
28203
- }, 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;
28204
28253
  if (this.emit("pano.moveTo", createEvent("pano.moveTo", {
28205
28254
  options: o,
28206
- prevPano: q,
28255
+ prevPano: U,
28207
28256
  progress: 0,
28208
28257
  state: Q,
28209
28258
  userAction: this.userAction,
@@ -28269,7 +28318,7 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28269
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 });
28270
28319
  s.emit("pano.arrived", createEvent("pano.arrived", {
28271
28320
  options: o,
28272
- prevPano: q,
28321
+ prevPano: U,
28273
28322
  progress: 1,
28274
28323
  state: se,
28275
28324
  userAction: s.userAction,
@@ -28300,7 +28349,7 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28300
28349
  function() {
28301
28350
  s.emit("pano.cancel", createEvent("pano.cancel", {
28302
28351
  options: o,
28303
- prevPano: q,
28352
+ prevPano: U,
28304
28353
  progress: 0,
28305
28354
  state: Q,
28306
28355
  userAction: s.userAction,
@@ -28399,10 +28448,10 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28399
28448
  for (var o = this, s, u, l, c, f, d, h, p, g, m = [], E = 2; E < arguments.length; E++)
28400
28449
  m[E - 2] = arguments[E];
28401
28450
  this.userAction = !0;
28402
- 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;
28403
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) {
28404
28453
  this.locationMotion.update(e);
28405
- 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);
28406
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")
28407
28456
  y.progress = Math.pow(H, 3);
28408
28457
  else if (P.effect === "model" && this.camera.pose.distance < 0.01) {
@@ -28417,14 +28466,14 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28417
28466
  mapSize: y.pano0.mapSize,
28418
28467
  zoom: y.pano0.zoom,
28419
28468
  matrix: w.leftPanoPicture.matrix.clone().setPosition(P.position)
28420
- }, U = this.panoPictureObserverMap.get(y.pano0);
28421
- 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;
28422
28471
  }
28423
- F.copy(L), I = !0;
28472
+ O.copy(L), I = !0;
28424
28473
  }
28425
- 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);
28426
- for (var z = [], J = [], Q = 0, q = this.locationMotion.keyframes; Q < q.length; Q++) {
28427
- 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;
28428
28477
  G !== void 0 && (z.push(G), ae > this.locationMotion.progress && J.push(G));
28429
28478
  }
28430
28479
  for (var ee = 0, Z = Object.keys(this.panoResources); ee < Z.length; ee++) {
@@ -28445,7 +28494,7 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28445
28494
  var W = panoParse(P.panoId);
28446
28495
  W !== this.currentPano && (this.currentPano = W, this.accessibleObserverFloorCheckCount = 0), this.emit("pano.moving", createEvent("pano.moving", {
28447
28496
  userAction: this.userAction,
28448
- prevPano: panoParse(O.panoId),
28497
+ prevPano: panoParse(F.panoId),
28449
28498
  state: __assign(__assign(__assign(__assign({}, panoParse(C.panoId)), { mode: this.mode }), clonePose(this.camera.pose)), v),
28450
28499
  options: {},
28451
28500
  progress: this.locationMotion.progress,
@@ -28520,8 +28569,8 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28520
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);
28521
28570
  if (this.adjustPanoCircleMeshPositionBasedOnModel && this.helper.visible && Ie) {
28522
28571
  for (var Fe = [], Oe = Ie.work.observers, Le = 0, Ue = Ie.accessibleNodes; Le < Ue.length; Le++) {
28523
- var tt = Ue[Le], U = Oe[tt];
28524
- U && Fe.push(U);
28572
+ var tt = Ue[Le], q = Oe[tt];
28573
+ q && Fe.push(q);
28525
28574
  }
28526
28575
  var lt = /* @__PURE__ */ new Map();
28527
28576
  if (Fe.sort(function(pe, Pe) {
@@ -28560,24 +28609,24 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28560
28609
  var rt = /* @__PURE__ */ new Map();
28561
28610
  if (Se)
28562
28611
  for (var it = 0, ct = Se.accessibleNodes; it < ct.length; it++) {
28563
- var tt = ct[it], U = Se.work.observers[tt];
28564
- if (U) {
28612
+ var tt = ct[it], q = Se.work.observers[tt];
28613
+ if (q) {
28565
28614
  var Ne = panoStringify({
28566
- panoIndex: U.panoIndex,
28567
- workCode: U.work.workCode
28615
+ panoIndex: q.panoIndex,
28616
+ workCode: q.work.workCode
28568
28617
  });
28569
- rt.set(Ne, U);
28618
+ rt.set(Ne, q);
28570
28619
  }
28571
28620
  }
28572
28621
  if (ze)
28573
28622
  for (var Xe = 0, fe = ze.accessibleNodes; Xe < fe.length; Xe++) {
28574
- var tt = fe[Xe], U = ze.work.observers[tt];
28575
- if (U) {
28623
+ var tt = fe[Xe], q = ze.work.observers[tt];
28624
+ if (q) {
28576
28625
  var Ne = panoStringify({
28577
- panoIndex: U.panoIndex,
28578
- workCode: U.work.workCode
28626
+ panoIndex: q.panoIndex,
28627
+ workCode: q.work.workCode
28579
28628
  });
28580
- rt.set(Ne, U);
28629
+ rt.set(Ne, q);
28581
28630
  }
28582
28631
  }
28583
28632
  if (this.panoMeshes.forEach(function(pe, Pe) {
@@ -28648,8 +28697,8 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28648
28697
  });
28649
28698
  }
28650
28699
  {
28651
- 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;
28652
- 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) {
28653
28702
  this.tiling.setObserver(null);
28654
28703
  var Ht = {
28655
28704
  renderer: this.renderer,
@@ -28667,7 +28716,7 @@ var CONTROLLER_EVNET_DELTA_TIME = 300, scratchRaycaster = new THREE.Raycaster(),
28667
28716
  this.tiling.update(Ht), this.modelScene.parameter.set("refinedScreen", null);
28668
28717
  } else {
28669
28718
  var Ft = getImageSizeLevel(ft.mapSize), dt = Ft + 1, Pt = 4;
28670
- this.tiling.setObserver(U);
28719
+ this.tiling.setObserver(q);
28671
28720
  var Ht = {
28672
28721
  renderer: this.renderer,
28673
28722
  resolution: ie,
@@ -29223,14 +29272,14 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29223
29272
  m.getPixelsRenderTarget = new THREE.WebGLRenderTarget(1, 1, {
29224
29273
  encoding: (p = (h = m.renderer) === null || h === void 0 ? void 0 : h.outputEncoding) !== null && p !== void 0 ? p : THREE.sRGBEncoding,
29225
29274
  generateMipmaps: !1
29226
- }), 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) {
29227
29276
  var k;
29228
29277
  m.emit("network.resource", createEvent("network.resource", {
29229
29278
  source: I,
29230
29279
  requestType: H,
29231
- requestState: F,
29280
+ requestState: O,
29232
29281
  detail: L
29233
- })), (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);
29234
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({
29235
29284
  fiveId: m.fiveId
29236
29285
  }), m.modelScene.addEventListener("model.create", function(I) {
@@ -29255,9 +29304,9 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29255
29304
  offset: m.camera.pose.offset.clone(),
29256
29305
  distance: m.camera.pose.distance
29257
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) {
29258
- for (var F = [], L = 2; L < arguments.length; L++)
29259
- F[L - 2] = arguments[L];
29260
- 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));
29261
29310
  }, !1, 0, 10));
29262
29311
  var b = function() {
29263
29312
  typeof document != "undefined" && document.fullscreenElement === null && m.currentMode === "VRPanorama" && m.controller.emit("vr.requestExit", createEvent("vr.requestExit", {}));
@@ -29272,9 +29321,9 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29272
29321
  if (typeof M == "function")
29273
29322
  M(m);
29274
29323
  else if (Array.isArray(M)) {
29275
- var w = M[0], P = M[1], O = M[2];
29324
+ var w = M[0], P = M[1], F = M[2];
29276
29325
  if (typeof w == "function") {
29277
- var C = w(m, O);
29326
+ var C = w(m, F);
29278
29327
  typeof P == "string" && (m.plugins[P] ? m.throwError(new Error("plugin name ".concat(P, " is exists."))) : m.plugins[P] = C);
29279
29328
  }
29280
29329
  }
@@ -29283,7 +29332,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29283
29332
  }
29284
29333
  return Object.defineProperty(t, "version", {
29285
29334
  get: function() {
29286
- return "6.7.0-alpha.27";
29335
+ return "6.7.0-alpha.29";
29287
29336
  },
29288
29337
  enumerable: !1,
29289
29338
  configurable: !0
@@ -29469,7 +29518,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29469
29518
  var v = {};
29470
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"));
29471
29520
  var A = {};
29472
- 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);
29473
29522
  var b = [];
29474
29523
  if (Array.isArray(e))
29475
29524
  for (var T = 0, S = e; T < S.length; T++) {
@@ -29486,8 +29535,8 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29486
29535
  return this.throwError(Z), Promise.reject(Z);
29487
29536
  }
29488
29537
  for (var w = 0, P = M; w < P.length; w++) {
29489
- var O = P[w];
29490
- this.bindWorkFetcher(O);
29538
+ var F = P[w];
29539
+ this.bindWorkFetcher(F);
29491
29540
  }
29492
29541
  r === void 0 && (r = "inherit"), r === "inherit" && this.works === emptyWorks && (r = "initial");
29493
29542
  var C = M.initial, I = C.work.observers[0], H = I ? {
@@ -29496,9 +29545,9 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29496
29545
  } : {
29497
29546
  workCode: C.work.workCode,
29498
29547
  panoIndex: 0
29499
- }, 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 = {};
29500
29549
  if (r === "inherit") {
29501
- F = this.currentMode;
29550
+ O = this.currentMode;
29502
29551
  var k = (f = (c = M[0]) === null || c === void 0 ? void 0 : c.observers) === null || f === void 0 ? void 0 : f[this.panoIndex];
29503
29552
  k ? H = {
29504
29553
  workCode: k.work.workCode,
@@ -29506,7 +29555,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29506
29555
  } : typeof M.initial.panoIndex == "number" ? H = {
29507
29556
  workCode: M.initial.work.workCode,
29508
29557
  panoIndex: M.initial.panoIndex
29509
- } : (F === "Panorama" || F === "VRPanorama" || F === "XRPanorama") && (F = "Mapview"), L = {
29558
+ } : (O === "Panorama" || O === "VRPanorama" || O === "XRPanorama") && (O = "Mapview"), L = {
29510
29559
  longitude: this.camera.pose.longitude,
29511
29560
  latitude: this.camera.pose.latitude,
29512
29561
  fov: this.camera.pose.fov,
@@ -29517,7 +29566,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29517
29566
  typeof C.panoIndex == "number" && (H = {
29518
29567
  workCode: C.work.workCode,
29519
29568
  panoIndex: C.panoIndex
29520
- }), C.mode && (F = C.mode), L = {
29569
+ }), C.mode && (O = C.mode), L = {
29521
29570
  longitude: C.longitude,
29522
29571
  latitude: C.latitude,
29523
29572
  fov: C.fov,
@@ -29525,7 +29574,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29525
29574
  offset: (d = C.offset) === null || d === void 0 ? void 0 : d.clone()
29526
29575
  };
29527
29576
  else {
29528
- 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") {
29529
29578
  var k = M.getObserver({
29530
29579
  workCode: (g = (p = r.workCode) !== null && p !== void 0 ? p : C.work.workCode) !== null && g !== void 0 ? g : "",
29531
29580
  panoIndex: r.panoIndex
@@ -29543,10 +29592,10 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29543
29592
  offset: r.offset
29544
29593
  };
29545
29594
  }
29546
- var D = __assign(__assign(__assign({}, H), { mode: F }), L), U = this.getCurrentState(), z = (m = v.duration) !== null && m !== void 0 ? m : this.modeChangeDuration;
29547
- (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);
29548
29597
  var J = "fly";
29549
- (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", {
29550
29599
  input: e,
29551
29600
  works: M,
29552
29601
  state: D,
@@ -29556,28 +29605,28 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29556
29605
  u.pano = H;
29557
29606
  var Z = __assign(__assign({ initial: {
29558
29607
  state: D,
29559
- currentState: U,
29608
+ currentState: q,
29560
29609
  duration: z,
29561
29610
  effect: J,
29562
29611
  userAction: s
29563
- } }, u.commonParams()), u.controllerInits[F]), $ = Controllers[F].initAnimationEndState(Z);
29564
- if (u.controller && u.currentMode === F)
29565
- 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));
29566
29615
  else {
29567
29616
  var X = u.currentMode;
29568
29617
  if (u.controller)
29569
29618
  u.controller.destroy();
29570
29619
  else {
29571
- var ne = Controllers[F].initAnimationEndState(Z);
29620
+ var ne = Controllers[O].initAnimationEndState(Z);
29572
29621
  u.camera.setFromPose(ne), u.emit("camera.update", createEvent("camera.update", {
29573
29622
  state: u.getCurrentState(),
29574
29623
  userAction: s
29575
29624
  }));
29576
29625
  }
29577
- u.controller = u.applyController(F, Z);
29626
+ u.controller = u.applyController(O, Z);
29578
29627
  var W = createEvent("mode.change", {
29579
29628
  prevMode: X,
29580
- mode: F,
29629
+ mode: O,
29581
29630
  state: $,
29582
29631
  userAction: s
29583
29632
  });
@@ -29590,11 +29639,11 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29590
29639
  u.updateTime.apply(u, __spreadArray([u.currentUpdateArgs.time, 0], u.currentUpdateArgs.args, !1));
29591
29640
  };
29592
29641
  worksMap.set(this, M);
29593
- var q = Promise.resolve();
29594
- if (F === t.Mode.Floorplan || F === t.Mode.Topview || F === t.Mode.Mapview || F === t.Mode.Model) {
29595
- 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);
29596
29645
  var j = this.modelScene.setModels(M, A);
29597
- q = Promise.all(j.map(function(Z) {
29646
+ U = Promise.all(j.map(function(Z) {
29598
29647
  return Z.loadedReady;
29599
29648
  })).then(function() {
29600
29649
  u.needsRender = !0, Q(), u.emit("camera.update", createEvent("camera.update", {
@@ -29612,7 +29661,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29612
29661
  userAction: s
29613
29662
  })), ae = !0, u.modelScene.autoRefine = !0), G.off("pano.arrived", ee), G.off("pano.cancel", ee);
29614
29663
  }, j = this.modelScene.setModels(M, A);
29615
- q = Promise.all(j.map(function($) {
29664
+ U = Promise.all(j.map(function($) {
29616
29665
  return $.initReady;
29617
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);
29618
29667
  }
@@ -29621,7 +29670,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29621
29670
  state: this.getCurrentState(),
29622
29671
  userAction: s,
29623
29672
  works: M
29624
- })), q.then(function() {
29673
+ })), U.then(function() {
29625
29674
  return u.ready();
29626
29675
  }).then(function() {
29627
29676
  var Z;
@@ -29709,13 +29758,13 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29709
29758
  });
29710
29759
  if (l.emit("mode.change.request", P), !P.defaultPrevented) {
29711
29760
  A && A.destroy(), l.controller = l.applyController(e, M);
29712
- var O = createEvent("mode.change", {
29761
+ var F = createEvent("mode.change", {
29713
29762
  prevMode: l.currentMode,
29714
29763
  mode: e,
29715
29764
  state: w,
29716
29765
  userAction: s
29717
29766
  });
29718
- l.emit("mode.change", O);
29767
+ l.emit("mode.change", F);
29719
29768
  }
29720
29769
  }
29721
29770
  c();
@@ -29741,20 +29790,20 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29741
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);
29742
29791
  var w = this.getPixelsRenderTarget;
29743
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);
29744
- 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();
29745
29794
  this.renderer.autoClear = !0, this.renderer.autoClearColor = !0, this.renderer.autoClearDepth = !0, this.renderer.autoClearStencil = !0, this.renderer.setScissorTest(!1);
29746
29795
  var k = this.scene.background;
29747
- 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);
29748
- 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;
29749
29798
  if (S) {
29750
29799
  if (S.length !== J)
29751
29800
  throw new Error("buffer length is not equals pixels ".concat(J));
29752
29801
  } else
29753
29802
  S = new Uint8Array(J);
29754
29803
  if (this.renderer.readRenderTargetPixels(w, 0, 0, E * v, y * v, S), A)
29755
- for (var Q = z / 2, q = 0, j = 0, G = 0, ae = 0; j < Q; j++)
29756
- for (ae = (U - Math.floor(j / D) - 1) * D + j % D, G = 0; G < 4; G++)
29757
- 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;
29758
29807
  return S;
29759
29808
  }, t.prototype.getElement = function() {
29760
29809
  var e;
@@ -29927,8 +29976,8 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
29927
29976
  duration: this.modeChangeDuration,
29928
29977
  effect: "fly",
29929
29978
  userAction: !1
29930
- } }, this.commonParams()), this.controllerInits[A]), O = Controllers[A].initAnimationEndState(P);
29931
- 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;
29932
29981
  } else
29933
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;
29934
29983
  var C = {
@@ -30006,7 +30055,7 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
30006
30055
  }), this.controller.stopMomentumMovement(), this.controller.cameraMotion.set(w, 0).catch(noop), this.controller.locationMotion.set(M, 0).catch(noop), !0;
30007
30056
  }
30008
30057
  } else {
30009
- 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);
30010
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))
30011
30060
  return this.controller.stopMomentumMovement(), this.controller.cameraMotion.set({ longitude: S, latitude: R, fov: g }, 0).catch(noop), !0;
30012
30061
  }
@@ -30016,9 +30065,9 @@ var DEFAULT_MODE_CHANGE_DURATION = 1e3, DEFAULT_CAMERA_FOV = 90, DEFAULT_REQUEST
30016
30065
  })), this.readyCallbacks.length && this.stateSynced) {
30017
30066
  var I = this.currentMode, H = I === t.Mode.Floorplan || I === t.Mode.Topview || I === t.Mode.Mapview || I === t.Mode.Model;
30018
30067
  if (!H || this.modelScene.loaded) {
30019
- var F = this.readyCallbacks.slice();
30068
+ var O = this.readyCallbacks.slice();
30020
30069
  this.readyCallbacks.length = 0;
30021
- for (var L = 0, k = F; L < k.length; L++) {
30070
+ for (var L = 0, k = O; L < k.length; L++) {
30022
30071
  var D = k[L];
30023
30072
  this.controller instanceof Controllers.Panorama && D.tile === !0 && !this.controller.isTileReady() ? this.readyCallbacks.push(D) : D();
30024
30073
  }