@realsee/five 6.8.1 → 6.8.2

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 (181) hide show
  1. package/docs/assets/hierarchy.js +1 -1
  2. package/docs/assets/navigation.js +1 -1
  3. package/docs/assets/search.js +1 -1
  4. package/docs/classes/five.AdaptiveLuminancePass.html +1 -1
  5. package/docs/classes/five.BoundingMesh.html +1 -1
  6. package/docs/classes/five.EyeDomeLightingPass.html +1 -1
  7. package/docs/classes/five.Five.html +1 -1
  8. package/docs/classes/five.FivePass.html +1 -1
  9. package/docs/classes/five.Model.html +1 -1
  10. package/docs/classes/five.ModelScene.html +1 -1
  11. package/docs/classes/five.PBMContainer.html +1 -1
  12. package/docs/classes/five.PBMCustomShader.html +1 -1
  13. package/docs/classes/five.PBMGSObject.html +1 -1
  14. package/docs/classes/five.PBMGroup.html +1 -1
  15. package/docs/classes/five.PBMMesh.html +1 -1
  16. package/docs/classes/five.PBMMeshMaterial.html +1 -1
  17. package/docs/classes/five.PBMPanoFilter.html +1 -1
  18. package/docs/classes/five.PBMPointCloud.html +1 -1
  19. package/docs/classes/five.PBMPointCloudMaterial.html +1 -1
  20. package/docs/classes/five.PBMSkinnedMesh.html +1 -1
  21. package/docs/classes/five.PBMUpdateable.html +1 -1
  22. package/docs/classes/five.PanoCircleMesh.html +1 -1
  23. package/docs/classes/five.PanoCircleMeshCustom.html +1 -1
  24. package/docs/classes/five.PanoCircleMeshSolid.html +1 -1
  25. package/docs/classes/five.Parameter.html +1 -1
  26. package/docs/classes/five.Tile3D.html +1 -1
  27. package/docs/classes/five.TileNode.html +1 -1
  28. package/docs/classes/five.TrajectoryNode.html +1 -1
  29. package/docs/classes/five.WorkResolvedObserver.html +1 -1
  30. package/docs/classes/gltf-loader.DDSLoader.html +1 -1
  31. package/docs/classes/gltf-loader.DRACOLoader.html +1 -1
  32. package/docs/classes/gltf-loader.GLTFObject.html +1 -1
  33. package/docs/classes/gltf-loader.THREEGLTFLoader.html +1 -1
  34. package/docs/classes/line.LineGeometry.html +1 -1
  35. package/docs/classes/line.LineMaterial.html +1 -1
  36. package/docs/classes/line.LineSegmentsGeometry.html +1 -1
  37. package/docs/classes/line.THREE_Line2.html +1 -1
  38. package/docs/classes/line.THREE_LineSegments2.html +1 -1
  39. package/docs/classes/plugins.CSS2DObject.html +1 -1
  40. package/docs/classes/plugins.CSS3DObject.html +1 -1
  41. package/docs/classes/plugins.CSS3DSprite.html +1 -1
  42. package/docs/classes/plugins.InstancedPrefabBufferGeometry.html +18 -0
  43. package/docs/classes/plugins.Object3DHelperController.html +1 -1
  44. package/docs/classes/plugins.PointBufferGeometry.html +12 -0
  45. package/docs/classes/plugins.PrefabBufferGeometry.html +24 -0
  46. package/docs/classes/plugins.RoundedBoxGeometry.html +1 -1
  47. package/docs/classes/vfx.Airflow.html +1 -1
  48. package/docs/classes/vfx.Flame.html +1 -1
  49. package/docs/classes/vfx.Particle.html +1 -1
  50. package/docs/classes/vfx.ParticleGPU.html +1 -1
  51. package/docs/classes/vfx.SpotLight.html +1 -1
  52. package/docs/functions/react.useFivePlugin.html +5 -4
  53. package/docs/hierarchy.html +1 -1
  54. package/docs/interfaces/five.AddableObject.html +1 -1
  55. package/docs/interfaces/five.EventCallback.html +1 -1
  56. package/docs/interfaces/five.GestureEvent.html +13 -13
  57. package/docs/interfaces/five.GesturePointer.html +9 -9
  58. package/docs/interfaces/five.ImageOptions.html +1 -1
  59. package/docs/interfaces/five.IntersectMesh.html +1 -1
  60. package/docs/interfaces/five.IntersectMeshInterface.html +1 -1
  61. package/docs/interfaces/five.Intersection.html +1 -1
  62. package/docs/interfaces/five.LooseWorkWithExtrinsics.html +1 -1
  63. package/docs/interfaces/five.ModeChangeEvent.html +2 -2
  64. package/docs/interfaces/five.ModelControllerCustomInitArgs.html +1 -1
  65. package/docs/interfaces/five.ModelEvent.html +3 -3
  66. package/docs/interfaces/five.ModelSceneEvent.html +2 -2
  67. package/docs/interfaces/five.ModelTileEvent.html +3 -3
  68. package/docs/interfaces/five.MovePanoOptions.html +1 -1
  69. package/docs/interfaces/five.NetworkResourceEvent.html +2 -2
  70. package/docs/interfaces/five.ObjectEvent.html +2 -2
  71. package/docs/interfaces/five.PBMMaterial.html +1 -1
  72. package/docs/interfaces/five.PBMMeshMaterialParameters.html +1 -1
  73. package/docs/interfaces/five.PBMPointCloudMaterialParameters.html +1 -1
  74. package/docs/interfaces/five.PanoCircleMeshInterface.html +1 -1
  75. package/docs/interfaces/five.PanoPrepareEvent.html +8 -4
  76. package/docs/interfaces/five.PanoTextureEvent.html +5 -5
  77. package/docs/interfaces/five.PanoramaControllerCustomInitArgs.html +9 -9
  78. package/docs/interfaces/five.PanoramaLikeControllerCustomInitArgs.html +1 -1
  79. package/docs/interfaces/five.ParameterMaterialValue.html +1 -1
  80. package/docs/interfaces/five.ParameterTilesetValue.html +1 -1
  81. package/docs/interfaces/five.ParameterValue.html +1 -1
  82. package/docs/interfaces/five.Pose.html +1 -1
  83. package/docs/interfaces/five.RenderEvent.html +2 -2
  84. package/docs/interfaces/five.ResolvedParameterValue.html +1 -1
  85. package/docs/interfaces/five.State.html +1 -1
  86. package/docs/interfaces/five.StateEvent.html +1 -1
  87. package/docs/interfaces/five.TextureOptions.html +1 -1
  88. package/docs/interfaces/five.TopviewControllerCustomInitArgs.html +1 -1
  89. package/docs/interfaces/five.VRPanoramaControllerCustomInitArgs.html +9 -9
  90. package/docs/interfaces/five.ViewLayer.html +1 -1
  91. package/docs/interfaces/five.WorkCubeImage.html +1 -1
  92. package/docs/interfaces/five.WorkImage.html +1 -1
  93. package/docs/interfaces/five.WorkObserver.html +1 -1
  94. package/docs/interfaces/five.WorkObserverProto.html +1 -1
  95. package/docs/interfaces/five.WorkTile.html +1 -1
  96. package/docs/interfaces/five.WorksEvent.html +3 -3
  97. package/docs/interfaces/five.XRControllerEvent.html +4 -4
  98. package/docs/interfaces/five.XRControllerState.html +4 -4
  99. package/docs/interfaces/five.XRGestureEvent.html +7 -7
  100. package/docs/interfaces/five.XRPanoramaControllerCustomInitArgs.html +9 -9
  101. package/docs/interfaces/five.XRSessionEvent.html +3 -3
  102. package/docs/interfaces/plugins.BackgroundPluginController.html +1 -1
  103. package/docs/interfaces/plugins.BackgroundPluginType.EventMap.html +1 -1
  104. package/docs/interfaces/plugins.CSS2DPluginController.html +1 -1
  105. package/docs/interfaces/plugins.CSS2DPluginType.EventMap.html +1 -1
  106. package/docs/interfaces/plugins.CSS2DPluginType.State.html +1 -1
  107. package/docs/interfaces/plugins.CSS3DPluginController.html +1 -1
  108. package/docs/interfaces/plugins.CSS3DPluginType.EventMap.html +1 -1
  109. package/docs/interfaces/plugins.CSS3DPluginType.State.html +1 -1
  110. package/docs/interfaces/plugins.DynamicPathLinePluginController.html +1 -1
  111. package/docs/interfaces/plugins.DynamicPathLinePluginType.EventMap.html +1 -1
  112. package/docs/interfaces/plugins.DynamicPathLinePluginType.State.html +1 -1
  113. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationController.html +1 -1
  114. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.EventMap.html +1 -1
  115. package/docs/interfaces/plugins.GaussianSplattingEntranceAnimationPluginType.State.html +1 -1
  116. package/docs/interfaces/plugins.ItemMaskController.html +1 -1
  117. package/docs/interfaces/plugins.ItemMaskPluginType.EventMap.html +1 -1
  118. package/docs/interfaces/plugins.ItemMaskPluginType.State.html +1 -1
  119. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseController.html +1 -1
  120. package/docs/interfaces/plugins.Object3DHelperPluginType.BaseHelper.html +1 -1
  121. package/docs/interfaces/plugins.Object3DHelperPluginType.BoundingBoxController.html +1 -1
  122. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveController.html +1 -1
  123. package/docs/interfaces/plugins.Object3DHelperPluginType.MoveHelperAbstract.html +1 -1
  124. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateController.html +1 -1
  125. package/docs/interfaces/plugins.Object3DHelperPluginType.RotateHelperAbstract.html +1 -1
  126. package/docs/interfaces/plugins.OrientationPluginController.html +1 -1
  127. package/docs/interfaces/plugins.OrientationPluginType.EventMap.html +1 -1
  128. package/docs/interfaces/plugins.OrientationPluginType.State.html +1 -1
  129. package/docs/interfaces/plugins.PanoAnimeController.html +1 -1
  130. package/docs/interfaces/plugins.PanoAnimePluginType.EventMap.html +1 -1
  131. package/docs/interfaces/plugins.PanoAnimePluginType.State.html +1 -1
  132. package/docs/interfaces/plugins.PluginTemplateType.EventMap.html +1 -1
  133. package/docs/interfaces/plugins.PluginTemplateType.State.html +1 -1
  134. package/docs/interfaces/plugins.TrajectoryController.html +1 -1
  135. package/docs/interfaces/react.FiveAppProps.html +3 -3
  136. package/docs/interfaces/react.FiveInjectionTypes.html +1 -1
  137. package/docs/interfaces/react.UseFivePluginOptions.html +5 -0
  138. package/docs/interfaces/react.UseFivePluginOptionsWithCreate.html +5 -0
  139. package/docs/modules/plugins.html +1 -1
  140. package/docs/modules/react.html +1 -1
  141. package/docs/types/five.ParseOptions.html +1 -1
  142. package/docs/variables/react.FiveApp.html +1 -1
  143. package/five/controllers/panorama.d.ts +2 -2
  144. package/five/controllers/xrPanorama.d.ts +4 -2
  145. package/five/index.js +22 -22
  146. package/five/index.mjs +502 -488
  147. package/five/utils/event.d.ts +5 -1
  148. package/gltf-loader/index.js +3 -3
  149. package/gltf-loader/index.mjs +3 -3
  150. package/line/index.js +3 -3
  151. package/line/index.mjs +3 -3
  152. package/package.json +1 -1
  153. package/plugins/index.d.ts +3 -0
  154. package/plugins/index.js +3 -3
  155. package/plugins/index.mjs +587 -468
  156. package/plugins/thirdParty/instancedPrefabBufferGeometry.d.ts +32 -0
  157. package/plugins/thirdParty/pointBufferGeometry.d.ts +22 -0
  158. package/plugins/thirdParty/prefabBufferGeometry.d.ts +38 -0
  159. package/react/hooks/useFivePlugin.d.ts +7 -11
  160. package/react/index.d.ts +1 -1
  161. package/react/index.js +3 -3
  162. package/react/index.mjs +11 -10
  163. package/shader-lib/index.js +2 -2
  164. package/shader-lib/index.mjs +2 -2
  165. package/sticker/index.js +3 -3
  166. package/sticker/index.mjs +3 -3
  167. package/umd/five-gltf-loader.js +3 -3
  168. package/umd/five-line.js +3 -3
  169. package/umd/five-plugins.js +3 -3
  170. package/umd/five-react.js +3 -3
  171. package/umd/five-shader-lib.js +2 -2
  172. package/umd/five-sticker.js +3 -3
  173. package/umd/five-vfx.js +2 -2
  174. package/umd/five-vue.js +2 -2
  175. package/umd/five.js +7 -7
  176. package/vfx/index.js +2 -2
  177. package/vfx/index.mjs +2 -2
  178. package/vue/index.js +2 -2
  179. package/vue/index.mjs +2 -2
  180. package/work-downloader/index.js +2 -2
  181. package/work-downloader/index.mjs +2 -2
package/plugins/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * @license
3
3
  * @realsee/five
4
- * Generated: 2026/4/28
5
- * Version: 6.8.1
4
+ * Generated: 5/8/2026
5
+ * Version: 6.8.2
6
6
  * Terms:
7
7
  * Realsee SDK License Agreement
8
8
  * Update: July 28, 2021
@@ -254,18 +254,18 @@
254
254
  * Agreement and all related documents shall be drafted in English.
255
255
  */import { AnimationFrameLoop as e, Camera as t, PanoCircleMesh as n, Subscribe as r } from "@realsee/five";
256
256
  import * as i from "three";
257
- import { EventDispatcher as a, MOUSE as o, Matrix4 as s, Object3D as c, Quaternion as l, Spherical as u, TOUCH as d, Vector2 as f, Vector3 as p } from "three";
258
- import { BasePlugin as m } from "@realsee/five/plugins";
257
+ import { BufferAttribute as a, BufferGeometry as o, EventDispatcher as s, InstancedBufferAttribute as c, InstancedBufferGeometry as l, MOUSE as u, Matrix4 as d, Object3D as f, Quaternion as p, Spherical as m, TOUCH as h, Vector2 as g, Vector3 as _ } from "three";
258
+ import { BasePlugin as v } from "@realsee/five/plugins";
259
259
  //#region build/plugins/utils/absoluteUrl.js
260
- function h(e) {
260
+ function y(e) {
261
261
  return /^https?:\/\/|^\/\//.test(e) || /^data:/.test(e);
262
262
  }
263
- function g(e, t) {
264
- return h(t) ? t : `${e}${t}`;
263
+ function b(e, t) {
264
+ return y(t) ? t : `${e}${t}`;
265
265
  }
266
266
  //#endregion
267
267
  //#region build/plugins/BasePlugin/index.js
268
- var _;
268
+ var x;
269
269
  (function(e) {
270
270
  class t {
271
271
  constructor(e, t) {
@@ -275,14 +275,14 @@ var _;
275
275
  return this.state;
276
276
  }
277
277
  absoluteUrl(e) {
278
- return g(this.staticPrefix, e);
278
+ return b(this.staticPrefix, e);
279
279
  }
280
280
  }
281
281
  e.Controller = t;
282
- })(_ || (_ = {}));
282
+ })(x || (x = {}));
283
283
  //#endregion
284
284
  //#region node_modules/tslib/tslib.es6.mjs
285
- function v(e, t, n, r) {
285
+ function S(e, t, n, r) {
286
286
  function i(e) {
287
287
  return e instanceof n ? e : new n(function(t) {
288
288
  t(e);
@@ -311,7 +311,7 @@ function v(e, t, n, r) {
311
311
  }
312
312
  //#endregion
313
313
  //#region build/plugins/utils/loadImage.js
314
- function y(e) {
314
+ function C(e) {
315
315
  return new Promise((t, n) => {
316
316
  let r = new Image();
317
317
  r.onload = function() {
@@ -323,34 +323,34 @@ function y(e) {
323
323
  }
324
324
  //#endregion
325
325
  //#region build/plugins/utils/now.js
326
- var b = typeof performance < "u" && performance.timing !== void 0 ? performance.timing.navigationStart : Date.now(), x = typeof performance < "u" ? (() => b + performance.now()) : (() => Date.now());
326
+ var w = typeof performance < "u" && performance.timing !== void 0 ? performance.timing.navigationStart : Date.now(), T = typeof performance < "u" ? (() => w + performance.now()) : (() => Date.now());
327
327
  //#endregion
328
328
  //#region build/plugins/utils/motion.js
329
- function S(e, t, n) {
329
+ function E(e, t, n) {
330
330
  return e + (t - e) * n;
331
331
  }
332
- function C(e, t, n, r) {
332
+ function D(e, t, n, r) {
333
333
  let i = (t * n + 2 * e) / Math.pow(n, 3), a = -(2 * t * n + 3 * e) / Math.pow(n, 2), o = t, s = e;
334
334
  return i * Math.pow(r, 3) + a * Math.pow(r, 2) + o * r + s;
335
335
  }
336
- function w(e, t, n, r) {
336
+ function O(e, t, n, r) {
337
337
  let i = (t * n + 2 * e) / Math.pow(n, 3), a = -(2 * t * n + 3 * e) / Math.pow(n, 2), o = t;
338
338
  return 3 * i * Math.pow(r, 2) + 2 * a * r + o;
339
339
  }
340
- function T(e, t, n, r) {
340
+ function ee(e, t, n, r) {
341
341
  let i = r[1] - r[0];
342
- return e = E(e, r), t = E(t, r), t - e > i / 2 ? S(e + i, t, n) : e - t > i / 2 ? S(e - i, t, n) : S(e, t, n);
342
+ return e = k(e, r), t = k(t, r), t - e > i / 2 ? E(e + i, t, n) : e - t > i / 2 ? E(e - i, t, n) : E(e, t, n);
343
343
  }
344
- function E(e, t) {
344
+ function k(e, t) {
345
345
  let n = t[1] - t[0];
346
- return e < t[0] ? E(e + n, t) : e >= t[1] ? E(e - n, t) : e;
346
+ return e < t[0] ? k(e + n, t) : e >= t[1] ? k(e - n, t) : e;
347
347
  }
348
- function D(e, t, n, r) {
349
- return r ? T(e, t, n, r) : S(e, t, n);
348
+ function te(e, t, n, r) {
349
+ return r ? ee(e, t, n, r) : E(e, t, n);
350
350
  }
351
- var O = class {
351
+ var ne = class {
352
352
  constructor(e) {
353
- this.config = {}, this.progress = 1, this.ended = !0, this.value = {}, this.startTime = x(), this.startVelocity = 0, this.duration = 0, this.keyframes = [];
353
+ this.config = {}, this.progress = 1, this.ended = !0, this.value = {}, this.startTime = T(), this.startVelocity = 0, this.duration = 0, this.keyframes = [];
354
354
  for (let t in e) {
355
355
  let n = e[t];
356
356
  typeof n == "number" ? (this.value[t] = n, this.config[t] = { circle: !1 }) : (this.value[t] = n.value, this.config[t] = { circle: n.circle });
@@ -365,14 +365,14 @@ var O = class {
365
365
  }
366
366
  getProgress(e) {
367
367
  let t = e - this.startTime;
368
- return t < 0 ? 0 : t >= this.duration ? 1 : 1 - C(1, this.startVelocity, this.duration, t);
368
+ return t < 0 ? 0 : t >= this.duration ? 1 : 1 - D(1, this.startVelocity, this.duration, t);
369
369
  }
370
370
  getValue(e) {
371
371
  for (let t = 1; t < this.keyframes.length; t++) if (this.keyframes[t].progress > e) {
372
372
  let n = this.keyframes[t - 1], r = this.keyframes[t], i = {};
373
373
  for (let t in this.config) {
374
374
  let a = (e - n.progress) / (r.progress - n.progress);
375
- i[t] = D(n.value[t], r.value[t], a, this.config[t].circle);
375
+ i[t] = te(n.value[t], r.value[t], a, this.config[t].circle);
376
376
  }
377
377
  return i;
378
378
  }
@@ -380,7 +380,7 @@ var O = class {
380
380
  }
381
381
  getProgressVelocity(e) {
382
382
  let t = e - this.startTime;
383
- return t >= this.duration ? 0 : w(1, this.startVelocity, this.duration, t);
383
+ return t >= this.duration ? 0 : O(1, this.startVelocity, this.duration, t);
384
384
  }
385
385
  update(e) {
386
386
  return this.ended ? !0 : (this.progress = Math.min(1, Math.max(0, this.progress, this.getProgress(e))), this.value = this.getValue(this.progress), this.ended = this.progress >= 1, this.ended && this.callbacks && (this.callbacks[0](), this.callbacks = void 0), this.ended);
@@ -395,7 +395,7 @@ var O = class {
395
395
  }
396
396
  set(e, t, n = 0, r) {
397
397
  var i;
398
- isNaN(t) && (t = 0), isNaN(n) && (n = 0), r = r == null ? x() : r;
398
+ isNaN(t) && (t = 0), isNaN(n) && (n = 0), r = r == null ? T() : r;
399
399
  let a = this.getProgress(r), o = this.getValue(a), s = {};
400
400
  for (let t in this.config) s[t] = (i = e[t]) == null ? o[t] : i;
401
401
  let c = [{
@@ -410,13 +410,13 @@ var O = class {
410
410
  setKeyframes(e, t, n = 0, r) {
411
411
  if (e.length < 2) throw Error("keyframes invalid.");
412
412
  return isNaN(t) && (t = 0), isNaN(n) && (n = 0), this.callbacks && (this.callbacks[1](/* @__PURE__ */ Error("motion aborted.")), this.callbacks = void 0), new Promise((i, a) => {
413
- r = r == null ? x() : r, this.progress = 0, this.ended = !1, this.startTime = r, this.startVelocity = n, this.keyframes = e, this.duration = t, t === 0 ? (this.progress = 1, this.value = Object.assign({}, e[e.length - 1].value)) : this.value = Object.assign({}, e[0].value), this.callbacks = [i, a];
413
+ r = r == null ? T() : r, this.progress = 0, this.ended = !1, this.startTime = r, this.startVelocity = n, this.keyframes = e, this.duration = t, t === 0 ? (this.progress = 1, this.value = Object.assign({}, e[e.length - 1].value)) : this.value = Object.assign({}, e[0].value), this.callbacks = [i, a];
414
414
  });
415
415
  }
416
416
  dispose() {
417
417
  this.callbacks && (this.callbacks[1](/* @__PURE__ */ Error("motion dispose.")), this.callbacks = void 0);
418
418
  }
419
- }, ee = [
419
+ }, re = [
420
420
  {
421
421
  progress: 0,
422
422
  value: {
@@ -449,7 +449,7 @@ var O = class {
449
449
  shadow: .5
450
450
  }
451
451
  }
452
- ], te = [
452
+ ], ie = [
453
453
  {
454
454
  progress: 0,
455
455
  value: {
@@ -482,7 +482,7 @@ var O = class {
482
482
  shadow: .5
483
483
  }
484
484
  }
485
- ], ne = "\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n", re = "\nvarying vec2 vUv;\nuniform sampler2D map;\nuniform vec4 color;\n\nfloat colorGap(vec3 color1, vec3 color2) {\n float gap = abs(color1.r - color2.r) + abs(color1.g - color2.g) + abs(color1.b - color2.b);\n return gap;\n}\n\nvoid main() {\n vec3 u_outlineColor = vec3(1.0, 0.0, 0.0);\n vec4 image = texture2D(map, vUv);\n vec2 invSize = 1.0 / vec2(2048, 1024);\n if (colorGap(image.rgb, color.rgb) < 0.05 && colorGap(color.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\n }\n else {\n vec2 offsetX = vec2(1.0, 0.0);\n vec2 offsetY = vec2(0.0, 1.0);\n vec2 offsetXY = vec2(1.0, 1.0);\n vec2 offsetYX = vec2(-1.0, 1.0);\n float count = 0.0;\n for (float i = -4.0; i <= 4.0; i++) {\n vec4 c1 = texture2D(map, vUv + i * invSize * offsetX / 4.0);\n vec4 c2 = texture2D(map, vUv + i * invSize * offsetY / 4.0);\n vec4 c3 = texture2D(map, vUv + i * invSize * offsetXY / 4.0);\n vec4 c4 = texture2D(map, vUv + i * invSize * offsetYX / 4.0);\n if (colorGap(c1.rgb, color.rgb) < 0.05 && colorGap(c1.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n if (colorGap(c2.rgb, color.rgb) < 0.05 && colorGap(c2.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n if (colorGap(c3.rgb, color.rgb) < 0.05 && colorGap(c3.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n if (colorGap(c4.rgb, color.rgb) < 0.05 && colorGap(c4.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n }\n if (count > 0.0) {\n gl_FragColor = vec4(1.0, 1.0, 1.0, mix(0.0, 1.0, count / (4.0 * 8.0 + 1.0)));\n }\n }\n}\n", ie = class extends _.Controller {
485
+ ], ae = "\nvarying vec2 vUv;\nvoid main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n", oe = "\nvarying vec2 vUv;\nuniform sampler2D map;\nuniform vec4 color;\n\nfloat colorGap(vec3 color1, vec3 color2) {\n float gap = abs(color1.r - color2.r) + abs(color1.g - color2.g) + abs(color1.b - color2.b);\n return gap;\n}\n\nvoid main() {\n vec3 u_outlineColor = vec3(1.0, 0.0, 0.0);\n vec4 image = texture2D(map, vUv);\n vec2 invSize = 1.0 / vec2(2048, 1024);\n if (colorGap(image.rgb, color.rgb) < 0.05 && colorGap(color.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\n }\n else {\n vec2 offsetX = vec2(1.0, 0.0);\n vec2 offsetY = vec2(0.0, 1.0);\n vec2 offsetXY = vec2(1.0, 1.0);\n vec2 offsetYX = vec2(-1.0, 1.0);\n float count = 0.0;\n for (float i = -4.0; i <= 4.0; i++) {\n vec4 c1 = texture2D(map, vUv + i * invSize * offsetX / 4.0);\n vec4 c2 = texture2D(map, vUv + i * invSize * offsetY / 4.0);\n vec4 c3 = texture2D(map, vUv + i * invSize * offsetXY / 4.0);\n vec4 c4 = texture2D(map, vUv + i * invSize * offsetYX / 4.0);\n if (colorGap(c1.rgb, color.rgb) < 0.05 && colorGap(c1.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n if (colorGap(c2.rgb, color.rgb) < 0.05 && colorGap(c2.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n if (colorGap(c3.rgb, color.rgb) < 0.05 && colorGap(c3.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n if (colorGap(c4.rgb, color.rgb) < 0.05 && colorGap(c4.rgb, vec3(0.0, 0.0, 0.0)) > 0.1) {\n count++;\n }\n }\n if (count > 0.0) {\n gl_FragColor = vec4(1.0, 1.0, 1.0, mix(0.0, 1.0, count / (4.0 * 8.0 + 1.0)));\n }\n }\n}\n", se = class extends x.Controller {
486
486
  get config() {
487
487
  return Object.assign({}, this._config);
488
488
  }
@@ -497,8 +497,8 @@ var O = class {
497
497
  constructor(t, n) {
498
498
  super(t), this.canvas = document.createElement("canvas"), this.group = new i.Group(), this.wrapper = document.createElement("div"), this.style = document.createElement("style"), this.itemMaskMesh = (() => {
499
499
  let e = new i.Mesh(new i.SphereBufferGeometry(1, 60, 40), new i.ShaderMaterial({
500
- vertexShader: ne,
501
- fragmentShader: re,
500
+ vertexShader: ae,
501
+ fragmentShader: oe,
502
502
  uniforms: {
503
503
  map: { value: new i.Texture() },
504
504
  color: { value: new i.Vector4() }
@@ -512,11 +512,11 @@ var O = class {
512
512
  this.state.mode === "mask" && this.loadPanoMask(e);
513
513
  }, this.onFiveWantsMoveToPano = (e) => {
514
514
  this.state.mode === "box" && this.select();
515
- }, this.loadPanoMask = (e) => v(this, void 0, void 0, function* () {
515
+ }, this.loadPanoMask = (e) => S(this, void 0, void 0, function* () {
516
516
  var t;
517
517
  let { five: n, canvas: r, itemMaskMesh: a, data: o } = this, s = r.getContext("2d"), c = n.observers[e], l = (t = o == null ? void 0 : o.object_mask_list.find((e) => e.derived_id === String(c.derivedId))) == null ? void 0 : t.object_mask_url;
518
518
  if (!l) return;
519
- let u = yield y(l);
519
+ let u = yield C(l);
520
520
  r.width = u.width, r.height = u.height, s == null || s.drawImage(u, 0, 0, u.width, u.height), a.material.uniforms.map.value.image = u, a.material.uniforms.map.value.minFilter = i.LinearFilter, a.material.uniforms.map.value.needsUpdate = !0, a.position.copy(c.position), a.quaternion.copy(c.quaternion), n.scene.add(a), n.needsRender = !0;
521
521
  }), this.onFiveMouseMove = (e) => {
522
522
  var t;
@@ -532,16 +532,16 @@ var O = class {
532
532
  let [i] = t.intersectObjects(this.group.children.filter((e) => e.userData.visible_viewpoint.includes(String(r.derivedId))), !0);
533
533
  if (i) {
534
534
  this.select(i.object.name), this.stopAnimation && this.stopAnimation(), this.tapPosition = i.point, this.changeTapScreenPosition();
535
- let t = new O({
535
+ let t = new ne({
536
536
  opacity: 0,
537
537
  scale: 0,
538
538
  shadow: 2
539
- }), r = new O({
539
+ }), r = new ne({
540
540
  opacity: 0,
541
541
  scale: 0,
542
542
  shadow: 2
543
543
  });
544
- return t.setKeyframes(ee, 1e3), r.setKeyframes(te, 1e3), this.stopAnimation = e.shared.add((e, i, ...a) => {
544
+ return t.setKeyframes(re, 1e3), r.setKeyframes(ie, 1e3), this.stopAnimation = e.shared.add((e, i, ...a) => {
545
545
  var o;
546
546
  let s = t.update(e), c = r.update(e);
547
547
  this.wrapper.firstChild.style.opacity = `${t.value.opacity}`, this.wrapper.firstChild.style.transform = `scale(${t.value.scale})`, this.wrapper.firstChild.style.boxShadow = `0 0 0 ${t.value.shadow}px #fff`, this.wrapper.lastChild.style.opacity = `${r.value.opacity}`, this.wrapper.lastChild.style.transform = `scale(${r.value.scale})`, this.wrapper.lastChild.style.boxShadow = `0 0 0 ${r.value.shadow}px #fff`, s && c && ((o = this.stopAnimation) == null || o.call(this), this.stopAnimation = void 0, n.getElement().parentElement.removeChild(this.wrapper));
@@ -565,7 +565,7 @@ var O = class {
565
565
  }, n == null ? void 0 : n.initialState), this._config = Object.assign({}, n == null ? void 0 : n.config), this.group.rotateX(Math.PI), this.wrapper.className = "ItemMaskPlugin", this.wrapper.innerHTML = "<span class=\"ItemMaskPluginCircle\"></span><span class=\"ItemMaskPluginCircle\"></span>", this.style.innerHTML = "\n .ItemMaskPlugin {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n pointer-events: none;\n }\n .ItemMaskPluginCircle {\n position: absolute;\n top: -10px;\n left: -10px;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n box-shadow: 0px 0px 0px 2px #fff;\n }\n ", this.state.enabled && this._enable({ userAction: !1 });
566
566
  }
567
567
  load(e) {
568
- return v(this, void 0, void 0, function* () {
568
+ return S(this, void 0, void 0, function* () {
569
569
  this.data = e;
570
570
  let t = e.data_list.map((e) => {
571
571
  let t = e.position.end.map((e) => Number(e)), n = e.position.start.map((e) => Number(e)), r = Math.abs(t[0] - n[0]), a = Math.abs(t[1] - n[1]), o = Math.abs(t[2] - n[2]), s = t[0] / 2 + n[0] / 2, c = t[1] / 2 + n[1] / 2, l = t[2] / 2 + n[2] / 2, u = new i.Vector3(s, c, l), d = new i.BoxBufferGeometry(r, a, o), f = new i.ShaderMaterial({
@@ -624,7 +624,7 @@ var O = class {
624
624
  let n = (t = e == null ? void 0 : e.userAction) == null ? !0 : t;
625
625
  this.updateState({ enabled: !1 }, n), this._disable({ userAction: n });
626
626
  }
627
- }, ae = (e, t) => new ie(e, t), k = (function(e, t, n, r) {
627
+ }, ce = (e, t) => new se(e, t), le = (function(e, t, n, r) {
628
628
  var i = [
629
629
  "",
630
630
  "webkit",
@@ -730,15 +730,15 @@ var O = class {
730
730
  }
731
731
  return r;
732
732
  }
733
- var te = 1;
734
- function ne() {
735
- return te++;
733
+ var k = 1;
734
+ function te() {
735
+ return k++;
736
736
  }
737
- function re(t) {
737
+ function ne(t) {
738
738
  var n = t.ownerDocument || t;
739
739
  return n.defaultView || n.parentWindow || e;
740
740
  }
741
- var ie = /mobile|tablet|ip(ad|hone|od)|android/i, ae = "ontouchstart" in e, k = ee(e, "PointerEvent") !== r, A = ae && ie.test(navigator.userAgent), j = "touch", oe = "pen", se = "mouse", ce = "kinect", le = 25, M = 1, N = 2, P = 4, F = 8, I = 1, L = 2, R = 4, z = 8, B = 16, V = L | R, H = z | B, ue = V | H, de = ["x", "y"], fe = ["clientX", "clientY"];
741
+ var re = /mobile|tablet|ip(ad|hone|od)|android/i, ie = "ontouchstart" in e, ae = ee(e, "PointerEvent") !== r, oe = ie && re.test(navigator.userAgent), se = "touch", ce = "pen", le = "mouse", A = "kinect", ue = 25, j = 1, M = 2, N = 4, P = 8, de = 1, F = 2, I = 4, L = 8, R = 16, z = F | I, B = L | R, V = z | B, H = ["x", "y"], fe = ["clientX", "clientY"];
742
742
  function U(e, t) {
743
743
  var n = this;
744
744
  this.manager = e, this.callback = t, this.element = e.element, this.target = e.options.inputTarget, this.domHandler = function(t) {
@@ -748,18 +748,18 @@ var O = class {
748
748
  U.prototype = {
749
749
  handler: function() {},
750
750
  init: function() {
751
- this.evEl && x(this.element, this.evEl, this.domHandler), this.evTarget && x(this.target, this.evTarget, this.domHandler), this.evWin && x(re(this.element), this.evWin, this.domHandler);
751
+ this.evEl && x(this.element, this.evEl, this.domHandler), this.evTarget && x(this.target, this.evTarget, this.domHandler), this.evWin && x(ne(this.element), this.evWin, this.domHandler);
752
752
  },
753
753
  destroy: function() {
754
- this.evEl && S(this.element, this.evEl, this.domHandler), this.evTarget && S(this.target, this.evTarget, this.domHandler), this.evWin && S(re(this.element), this.evWin, this.domHandler);
754
+ this.evEl && S(this.element, this.evEl, this.domHandler), this.evTarget && S(this.target, this.evTarget, this.domHandler), this.evWin && S(ne(this.element), this.evWin, this.domHandler);
755
755
  }
756
756
  };
757
757
  function pe(e) {
758
758
  var t;
759
- return t = e.options.inputClass || (k ? Pe : A ? He : ae ? Ke : ke), new t(e, me);
759
+ return t = e.options.inputClass || (ae ? Pe : oe ? He : ie ? Ke : ke), new t(e, me);
760
760
  }
761
761
  function me(e, t, n) {
762
- var r = n.pointers.length, i = n.changedPointers.length, a = t & M && r - i === 0, o = t & (P | F) && r - i === 0;
762
+ var r = n.pointers.length, i = n.changedPointers.length, a = t & j && r - i === 0, o = t & (N | P) && r - i === 0;
763
763
  n.isFirst = !!a, n.isFinal = !!o, a && (e.session = {}), n.eventType = t, he(e, n), e.emit("hammer.input", n), e.recognize(n), e.session.prevInput = n;
764
764
  }
765
765
  function he(e, t) {
@@ -774,7 +774,7 @@ var O = class {
774
774
  }
775
775
  function ge(e, t) {
776
776
  var n = t.center, r = e.offsetDelta || {}, i = e.prevDelta || {}, a = e.prevInput || {};
777
- (t.eventType === M || a.eventType === P) && (i = e.prevDelta = {
777
+ (t.eventType === j || a.eventType === N) && (i = e.prevDelta = {
778
778
  x: a.deltaX || 0,
779
779
  y: a.deltaY || 0
780
780
  }, r = e.offsetDelta = {
@@ -784,7 +784,7 @@ var O = class {
784
784
  }
785
785
  function _e(e, t) {
786
786
  var n = e.lastInterval || t, i = t.timeStamp - n.timeStamp, a, o, s, l;
787
- if (t.eventType != F && (i > le || n.velocity === r)) {
787
+ if (t.eventType != P && (i > ue || n.velocity === r)) {
788
788
  var u = t.deltaX - n.deltaX, d = t.deltaY - n.deltaY, f = be(i, u, d);
789
789
  o = f.x, s = f.y, a = c(f.x) > c(f.y) ? f.x : f.y, l = xe(u, d), e.lastInterval = t;
790
790
  } else a = n.velocity, o = n.velocityX, s = n.velocityY, l = n.direction;
@@ -822,15 +822,15 @@ var O = class {
822
822
  };
823
823
  }
824
824
  function xe(e, t) {
825
- return e === t ? I : c(e) >= c(t) ? e < 0 ? L : R : t < 0 ? z : B;
825
+ return e === t ? de : c(e) >= c(t) ? e < 0 ? F : I : t < 0 ? L : R;
826
826
  }
827
827
  function Se(e, t, n) {
828
- n || (n = de);
828
+ n || (n = H);
829
829
  var r = t[n[0]] - e[n[0]], i = t[n[1]] - e[n[1]];
830
830
  return Math.sqrt(r * r + i * i);
831
831
  }
832
832
  function Ce(e, t, n) {
833
- n || (n = de);
833
+ n || (n = H);
834
834
  var r = t[n[0]] - e[n[0]], i = t[n[1]] - e[n[1]];
835
835
  return Math.atan2(i, r) * 180 / Math.PI;
836
836
  }
@@ -841,41 +841,41 @@ var O = class {
841
841
  return Se(t[0], t[1], fe) / Se(e[0], e[1], fe);
842
842
  }
843
843
  var Ee = {
844
- mousedown: M,
845
- mousemove: N,
846
- mouseup: P
844
+ mousedown: j,
845
+ mousemove: M,
846
+ mouseup: N
847
847
  }, De = "mousedown", Oe = "mousemove mouseup";
848
848
  function ke() {
849
849
  this.evEl = De, this.evWin = Oe, this.pressed = !1, U.apply(this, arguments);
850
850
  }
851
851
  _(ke, U, { handler: function(e) {
852
852
  var t = Ee[e.type];
853
- t & M && (e.button === 0 || e.button === 2) && (this.pressed = !0), t & N && e.which !== 1 && (t = P), this.pressed && (t & P && (this.pressed = !1), this.callback(this.manager, t, {
853
+ t & j && (e.button === 0 || e.button === 2) && (this.pressed = !0), t & M && e.which !== 1 && (t = N), this.pressed && (t & N && (this.pressed = !1), this.callback(this.manager, t, {
854
854
  pointers: [e],
855
855
  changedPointers: [e],
856
- pointerType: se,
856
+ pointerType: le,
857
857
  srcEvent: e
858
858
  }));
859
859
  } });
860
860
  var Ae = {
861
- pointerdown: M,
862
- pointermove: N,
863
- pointerup: P,
864
- pointercancel: F,
865
- pointerout: F
861
+ pointerdown: j,
862
+ pointermove: M,
863
+ pointerup: N,
864
+ pointercancel: P,
865
+ pointerout: P
866
866
  }, je = {
867
- 2: j,
868
- 3: oe,
869
- 4: se,
870
- 5: ce
867
+ 2: se,
868
+ 3: ce,
869
+ 4: le,
870
+ 5: A
871
871
  }, Me = "pointerdown", Ne = "pointermove pointerup pointercancel";
872
872
  e.MSPointerEvent && !e.PointerEvent && (Me = "MSPointerDown", Ne = "MSPointerMove MSPointerUp MSPointerCancel");
873
873
  function Pe() {
874
874
  this.evEl = Me, this.evWin = Ne, U.apply(this, arguments), this.store = this.manager.session.pointerEvents = [];
875
875
  }
876
876
  _(Pe, U, { handler: function(e) {
877
- var t = this.store, n = !1, r = !1, i = Ae[e.type.toLowerCase().replace("ms", "")], a = je[e.pointerType] || e.pointerType, o = a == j, s = E(t, e.pointerId, "pointerId");
878
- i & M && (e.button === 0 || e.button === 2 || o) ? s < 0 && (t.push(e), s = t.length - 1) : i & (P | F) ? n = !0 : !o && e.buttons === 0 && (n = !0, r = !0, i = Ae.pointerup), !(s < 0) && (r || (t[s] = e), this.callback(this.manager, i, {
877
+ var t = this.store, n = !1, r = !1, i = Ae[e.type.toLowerCase().replace("ms", "")], a = je[e.pointerType] || e.pointerType, o = a == se, s = E(t, e.pointerId, "pointerId");
878
+ i & j && (e.button === 0 || e.button === 2 || o) ? s < 0 && (t.push(e), s = t.length - 1) : i & (N | P) ? n = !0 : !o && e.buttons === 0 && (n = !0, r = !0, i = Ae.pointerup), !(s < 0) && (r || (t[s] = e), this.callback(this.manager, i, {
879
879
  pointers: t,
880
880
  changedPointers: [e],
881
881
  pointerType: a,
@@ -883,35 +883,35 @@ var O = class {
883
883
  }), n && t.splice(s, 1));
884
884
  } });
885
885
  var Fe = {
886
- touchstart: M,
887
- touchmove: N,
888
- touchend: P,
889
- touchcancel: F
886
+ touchstart: j,
887
+ touchmove: M,
888
+ touchend: N,
889
+ touchcancel: P
890
890
  }, Ie = "touchstart", Le = "touchstart touchmove touchend touchcancel";
891
891
  function Re() {
892
892
  this.evTarget = Ie, this.evWin = Le, this.started = !1, U.apply(this, arguments);
893
893
  }
894
894
  _(Re, U, { handler: function(e) {
895
895
  var t = Fe[e.type];
896
- if (t === M && (this.started = !0), this.started) {
896
+ if (t === j && (this.started = !0), this.started) {
897
897
  var n = ze.call(this, e, t);
898
- t & (P | F) && n[0].length - n[1].length === 0 && (this.started = !1), this.callback(this.manager, t, {
898
+ t & (N | P) && n[0].length - n[1].length === 0 && (this.started = !1), this.callback(this.manager, t, {
899
899
  pointers: n[0],
900
900
  changedPointers: n[1],
901
- pointerType: j,
901
+ pointerType: se,
902
902
  srcEvent: e
903
903
  });
904
904
  }
905
905
  } });
906
906
  function ze(e, t) {
907
907
  var n = D(e.touches), r = D(e.changedTouches);
908
- return t & (P | F) && (n = O(n.concat(r), "identifier", !0)), [n, r];
908
+ return t & (N | P) && (n = O(n.concat(r), "identifier", !0)), [n, r];
909
909
  }
910
910
  var Be = {
911
- touchstart: M,
912
- touchmove: N,
913
- touchend: P,
914
- touchcancel: F
911
+ touchstart: j,
912
+ touchmove: M,
913
+ touchend: N,
914
+ touchcancel: P
915
915
  }, Ve = "touchstart touchmove touchend touchcancel";
916
916
  function He() {
917
917
  this.evTarget = Ve, this.targetIds = {}, U.apply(this, arguments);
@@ -921,18 +921,18 @@ var O = class {
921
921
  n && this.callback(this.manager, t, {
922
922
  pointers: n[0],
923
923
  changedPointers: n[1],
924
- pointerType: j,
924
+ pointerType: se,
925
925
  srcEvent: e
926
926
  });
927
927
  } });
928
928
  function Ue(e, t) {
929
929
  var n = D(e.touches), r = this.targetIds;
930
- if (t & (M | N) && n.length === 1) return r[n[0].identifier] = !0, [n, n];
930
+ if (t & (j | M) && n.length === 1) return r[n[0].identifier] = !0, [n, n];
931
931
  var i, a, o = D(e.changedTouches), s = [], c = this.target;
932
932
  if (a = n.filter(function(e) {
933
933
  return C(e.target, c);
934
- }), t === M) for (i = 0; i < a.length;) r[a[i].identifier] = !0, i++;
935
- for (i = 0; i < o.length;) r[o[i].identifier] && s.push(o[i]), t & (P | F) && delete r[o[i].identifier], i++;
934
+ }), t === j) for (i = 0; i < a.length;) r[a[i].identifier] = !0, i++;
935
+ for (i = 0; i < o.length;) r[o[i].identifier] && s.push(o[i]), t & (N | P) && delete r[o[i].identifier], i++;
936
936
  if (s.length) return [O(a.concat(s), "identifier", !0), s];
937
937
  }
938
938
  var We = 2500, Ge = 25;
@@ -943,7 +943,7 @@ var O = class {
943
943
  }
944
944
  _(Ke, U, {
945
945
  handler: function(e, t, n) {
946
- var r = n.pointerType == j, i = n.pointerType == se;
946
+ var r = n.pointerType == se, i = n.pointerType == le;
947
947
  if (!(i && n.sourceCapabilities && n.sourceCapabilities.firesTouchEvents)) {
948
948
  if (r) qe.call(this, t, n);
949
949
  else if (i && Ye.call(this, n)) return;
@@ -955,7 +955,7 @@ var O = class {
955
955
  }
956
956
  });
957
957
  function qe(e, t) {
958
- e & M ? (this.primaryTouch = t.changedPointers[0].identifier, Je.call(this, t)) : e & (P | F) && Je.call(this, t);
958
+ e & j ? (this.primaryTouch = t.changedPointers[0].identifier, Je.call(this, t)) : e & (N | P) && Je.call(this, t);
959
959
  }
960
960
  function Je(e) {
961
961
  var t = e.changedPointers[0];
@@ -979,13 +979,13 @@ var O = class {
979
979
  }
980
980
  return !1;
981
981
  }
982
- var Xe = a ? ee(a.style, "touchAction") : r, Ze = Xe !== r, Qe = "compute", $e = "auto", et = "manipulation", W = "none", tt = "pan-x", nt = "pan-y", G = it();
983
- function K(e, t) {
982
+ var Xe = a ? ee(a.style, "touchAction") : r, Ze = Xe !== r, Qe = "compute", $e = "auto", et = "manipulation", W = "none", tt = "pan-x", nt = "pan-y", rt = ot();
983
+ function it(e, t) {
984
984
  this.manager = e, this.set(t);
985
985
  }
986
- K.prototype = {
986
+ it.prototype = {
987
987
  set: function(e) {
988
- e == Qe && (e = this.compute()), Ze && this.manager.element.style && G[e] && (this.manager.element.style[Xe] = e), this.actions = e.toLowerCase().trim();
988
+ e == Qe && (e = this.compute()), Ze && this.manager.element.style && rt[e] && (this.manager.element.style[Xe] = e), this.actions = e.toLowerCase().trim();
989
989
  },
990
990
  update: function() {
991
991
  this.set(this.manager.options.touchAction);
@@ -994,7 +994,7 @@ var O = class {
994
994
  var e = [];
995
995
  return f(this.manager.recognizers, function(t) {
996
996
  y(t.options.enable, [t]) && (e = e.concat(t.getTouchAction()));
997
- }), rt(e.join(" "));
997
+ }), at(e.join(" "));
998
998
  },
999
999
  preventDefaults: function(e) {
1000
1000
  var t = e.srcEvent, n = e.offsetDirection;
@@ -1002,23 +1002,23 @@ var O = class {
1002
1002
  t.preventDefault();
1003
1003
  return;
1004
1004
  }
1005
- var r = this.actions, i = w(r, W) && !G[W], a = w(r, nt) && !G[nt], o = w(r, tt) && !G[tt];
1005
+ var r = this.actions, i = w(r, W) && !rt[W], a = w(r, nt) && !rt[nt], o = w(r, tt) && !rt[tt];
1006
1006
  if (i) {
1007
1007
  var s = e.pointers.length === 1, c = e.distance < 2, l = e.deltaTime < 250;
1008
1008
  if (s && c && l) return;
1009
1009
  }
1010
- if (!(o && a) && (i || a && n & V || o && n & H)) return this.preventSrc(t);
1010
+ if (!(o && a) && (i || a && n & z || o && n & B)) return this.preventSrc(t);
1011
1011
  },
1012
1012
  preventSrc: function(e) {
1013
1013
  this.manager.session.prevented = !0, e.preventDefault();
1014
1014
  }
1015
1015
  };
1016
- function rt(e) {
1016
+ function at(e) {
1017
1017
  if (w(e, W)) return W;
1018
1018
  var t = w(e, tt), n = w(e, nt);
1019
1019
  return t && n ? W : t || n ? t ? tt : nt : w(e, et) ? et : $e;
1020
1020
  }
1021
- function it() {
1021
+ function ot() {
1022
1022
  if (!Ze) return !1;
1023
1023
  var t = {}, n = e.CSS && e.CSS.supports;
1024
1024
  return [
@@ -1032,9 +1032,9 @@ var O = class {
1032
1032
  t[r] = n ? e.CSS.supports("touch-action", r) : !0;
1033
1033
  }), t;
1034
1034
  }
1035
- var at = 1, q = 2, ot = 4, J = 8, Y = J, st = 16, X = 32;
1035
+ var G = 1, K = 2, q = 4, J = 8, Y = J, st = 16, X = 32;
1036
1036
  function Z(e) {
1037
- this.options = m({}, this.defaults, e || {}), this.id = ne(), this.manager = null, this.options.enable = b(this.options.enable, !0), this.state = at, this.simultaneous = {}, this.requireFail = [];
1037
+ this.options = m({}, this.defaults, e || {}), this.id = te(), this.manager = null, this.options.enable = b(this.options.enable, !0), this.state = G, this.simultaneous = {}, this.requireFail = [];
1038
1038
  }
1039
1039
  Z.prototype = {
1040
1040
  defaults: {},
@@ -1079,7 +1079,7 @@ var O = class {
1079
1079
  },
1080
1080
  canEmit: function() {
1081
1081
  for (var e = 0; e < this.requireFail.length;) {
1082
- if (!(this.requireFail[e].state & (X | at))) return !1;
1082
+ if (!(this.requireFail[e].state & (X | G))) return !1;
1083
1083
  e++;
1084
1084
  }
1085
1085
  return !0;
@@ -1090,17 +1090,17 @@ var O = class {
1090
1090
  this.reset(), this.state = X;
1091
1091
  return;
1092
1092
  }
1093
- this.state & (Y | st | X) && (this.state = at), this.state = this.process(t), this.state & (q | ot | J | st) && this.tryEmit(t);
1093
+ this.state & (Y | st | X) && (this.state = G), this.state = this.process(t), this.state & (K | q | J | st) && this.tryEmit(t);
1094
1094
  },
1095
1095
  process: function(e) {},
1096
1096
  getTouchAction: function() {},
1097
1097
  reset: function() {}
1098
1098
  };
1099
1099
  function ct(e) {
1100
- return e & st ? "cancel" : e & J ? "end" : e & ot ? "move" : e & q ? "start" : "";
1100
+ return e & st ? "cancel" : e & J ? "end" : e & q ? "move" : e & K ? "start" : "";
1101
1101
  }
1102
1102
  function lt(e) {
1103
- return e == B ? "down" : e == z ? "up" : e == L ? "left" : e == R ? "right" : "";
1103
+ return e == R ? "down" : e == L ? "up" : e == F ? "left" : e == I ? "right" : "";
1104
1104
  }
1105
1105
  function ut(e, t) {
1106
1106
  var n = t.manager;
@@ -1116,8 +1116,8 @@ var O = class {
1116
1116
  return t === 0 || e.pointers.length === t;
1117
1117
  },
1118
1118
  process: function(e) {
1119
- var t = this.state, n = e.eventType, r = t & (q | ot), i = this.attrTest(e);
1120
- return r && (n & F || !i) ? t | st : r || i ? n & P ? t | J : t & q ? t | ot : q : X;
1119
+ var t = this.state, n = e.eventType, r = t & (K | q), i = this.attrTest(e);
1120
+ return r && (n & P || !i) ? t | st : r || i ? n & N ? t | J : t & K ? t | q : K : X;
1121
1121
  }
1122
1122
  });
1123
1123
  function dt() {
@@ -1128,18 +1128,18 @@ var O = class {
1128
1128
  event: "pan",
1129
1129
  threshold: 10,
1130
1130
  pointers: 1,
1131
- direction: ue
1131
+ direction: V
1132
1132
  },
1133
1133
  getTouchAction: function() {
1134
1134
  var e = this.options.direction, t = [];
1135
- return e & V && t.push(nt), e & H && t.push(tt), t;
1135
+ return e & z && t.push(nt), e & B && t.push(tt), t;
1136
1136
  },
1137
1137
  directionTest: function(e) {
1138
1138
  var t = this.options, n = !0, r = e.distance, i = e.direction, a = e.deltaX, o = e.deltaY;
1139
- return i & t.direction || (t.direction & V ? (i = a === 0 ? I : a < 0 ? L : R, n = a != this.pX, r = Math.abs(e.deltaX)) : (i = o === 0 ? I : o < 0 ? z : B, n = o != this.pY, r = Math.abs(e.deltaY))), e.direction = i, n && r > t.threshold && i & t.direction;
1139
+ return i & t.direction || (t.direction & z ? (i = a === 0 ? de : a < 0 ? F : I, n = a != this.pX, r = Math.abs(e.deltaX)) : (i = o === 0 ? de : o < 0 ? L : R, n = o != this.pY, r = Math.abs(e.deltaY))), e.direction = i, n && r > t.threshold && i & t.direction;
1140
1140
  },
1141
1141
  attrTest: function(e) {
1142
- return Q.prototype.attrTest.call(this, e) && (this.state & q || !(this.state & q) && this.directionTest(e));
1142
+ return Q.prototype.attrTest.call(this, e) && (this.state & K || !(this.state & K) && this.directionTest(e));
1143
1143
  },
1144
1144
  emit: function(e) {
1145
1145
  this.pX = e.deltaX, this.pY = e.deltaY;
@@ -1160,7 +1160,7 @@ var O = class {
1160
1160
  return [W];
1161
1161
  },
1162
1162
  attrTest: function(e) {
1163
- return this._super.attrTest.call(this, e) && (Math.abs(e.scale - 1) > this.options.threshold || this.state & q);
1163
+ return this._super.attrTest.call(this, e) && (Math.abs(e.scale - 1) > this.options.threshold || this.state & K);
1164
1164
  },
1165
1165
  emit: function(e) {
1166
1166
  if (e.scale !== 1) {
@@ -1185,18 +1185,18 @@ var O = class {
1185
1185
  },
1186
1186
  process: function(e) {
1187
1187
  var t = this.options, n = e.pointers.length === t.pointers, r = e.distance < t.threshold, i = e.deltaTime > t.time;
1188
- if (this._input = e, !r || !n || e.eventType & (P | F) && !i) this.reset();
1189
- else if (e.eventType & M) this.reset(), this._timer = u(function() {
1188
+ if (this._input = e, !r || !n || e.eventType & (N | P) && !i) this.reset();
1189
+ else if (e.eventType & j) this.reset(), this._timer = u(function() {
1190
1190
  this.state = Y, this.tryEmit();
1191
1191
  }, t.time, this);
1192
- else if (e.eventType & P) return Y;
1192
+ else if (e.eventType & N) return Y;
1193
1193
  return X;
1194
1194
  },
1195
1195
  reset: function() {
1196
1196
  clearTimeout(this._timer);
1197
1197
  },
1198
1198
  emit: function(e) {
1199
- this.state === Y && (e && e.eventType & P ? this.manager.emit(this.options.event + "up", e) : (this._input.timeStamp = l(), this.manager.emit(this.options.event, this._input)));
1199
+ this.state === Y && (e && e.eventType & N ? this.manager.emit(this.options.event + "up", e) : (this._input.timeStamp = l(), this.manager.emit(this.options.event, this._input)));
1200
1200
  }
1201
1201
  });
1202
1202
  function mt() {
@@ -1212,7 +1212,7 @@ var O = class {
1212
1212
  return [W];
1213
1213
  },
1214
1214
  attrTest: function(e) {
1215
- return this._super.attrTest.call(this, e) && (Math.abs(e.rotation) > this.options.threshold || this.state & q);
1215
+ return this._super.attrTest.call(this, e) && (Math.abs(e.rotation) > this.options.threshold || this.state & K);
1216
1216
  }
1217
1217
  });
1218
1218
  function ht() {
@@ -1223,7 +1223,7 @@ var O = class {
1223
1223
  event: "swipe",
1224
1224
  threshold: 10,
1225
1225
  velocity: .3,
1226
- direction: V | H,
1226
+ direction: z | B,
1227
1227
  pointers: 1
1228
1228
  },
1229
1229
  getTouchAction: function() {
@@ -1231,7 +1231,7 @@ var O = class {
1231
1231
  },
1232
1232
  attrTest: function(e) {
1233
1233
  var t = this.options.direction, n;
1234
- return t & (V | H) ? n = e.overallVelocity : t & V ? n = e.overallVelocityX : t & H && (n = e.overallVelocityY), this._super.attrTest.call(this, e) && t & e.offsetDirection && e.distance > this.options.threshold && e.maxPointers == this.options.pointers && c(n) > this.options.velocity && e.eventType & P;
1234
+ return t & (z | B) ? n = e.overallVelocity : t & z ? n = e.overallVelocityX : t & B && (n = e.overallVelocityY), this._super.attrTest.call(this, e) && t & e.offsetDirection && e.distance > this.options.threshold && e.maxPointers == this.options.pointers && c(n) > this.options.velocity && e.eventType & N;
1235
1235
  },
1236
1236
  emit: function(e) {
1237
1237
  var t = lt(e.offsetDirection);
@@ -1256,13 +1256,13 @@ var O = class {
1256
1256
  },
1257
1257
  process: function(e) {
1258
1258
  var t = this.options, n = e.pointers.length === t.pointers, r = e.distance < t.threshold, i = e.deltaTime < t.time;
1259
- if (this.reset(), e.eventType & M && this.count === 0) return this.failTimeout();
1259
+ if (this.reset(), e.eventType & j && this.count === 0) return this.failTimeout();
1260
1260
  if (r && i && n) {
1261
- if (e.eventType != P) return this.failTimeout();
1261
+ if (e.eventType != N) return this.failTimeout();
1262
1262
  var a = this.pTime ? e.timeStamp - this.pTime < t.interval : !0, o = !this.pCenter || Se(this.pCenter, e.center) < t.posThreshold;
1263
1263
  if (this.pTime = e.timeStamp, this.pCenter = e.center, !o || !a ? this.count = 1 : this.count += 1, this._input = e, this.count % t.taps === 0) return this.hasRequireFailures() ? (this._timer = u(function() {
1264
1264
  this.state = Y, this.tryEmit();
1265
- }, t.interval, this), q) : Y;
1265
+ }, t.interval, this), K) : Y;
1266
1266
  }
1267
1267
  return X;
1268
1268
  },
@@ -1294,10 +1294,10 @@ var O = class {
1294
1294
  { enable: !1 },
1295
1295
  ["rotate"]
1296
1296
  ],
1297
- [ht, { direction: V }],
1297
+ [ht, { direction: z }],
1298
1298
  [
1299
1299
  dt,
1300
- { direction: V },
1300
+ { direction: z },
1301
1301
  ["swipe"]
1302
1302
  ],
1303
1303
  [gt],
@@ -1322,7 +1322,7 @@ var O = class {
1322
1322
  };
1323
1323
  var vt = 1, yt = 2;
1324
1324
  function bt(e, t) {
1325
- this.options = m({}, _t.defaults, t || {}), this.options.inputTarget = this.options.inputTarget || e, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = e, this.input = pe(this), this.touchAction = new K(this, this.options.touchAction), xt(this, !0), f(this.options.recognizers, function(e) {
1325
+ this.options = m({}, _t.defaults, t || {}), this.options.inputTarget = this.options.inputTarget || e, this.handlers = {}, this.session = {}, this.recognizers = [], this.oldCssProps = {}, this.element = e, this.input = pe(this), this.touchAction = new it(this, this.options.touchAction), xt(this, !0), f(this.options.recognizers, function(e) {
1326
1326
  var t = this.add(new e[0](e[1]));
1327
1327
  e[2] && t.recognizeWith(e[2]), e[3] && t.requireFailure(e[3]);
1328
1328
  }, this);
@@ -1340,7 +1340,7 @@ var O = class {
1340
1340
  this.touchAction.preventDefaults(e);
1341
1341
  var n, r = this.recognizers, i = t.curRecognizer;
1342
1342
  (!i || i && i.state & Y) && (i = t.curRecognizer = null);
1343
- for (var a = 0; a < r.length;) n = r[a], t.stopped !== yt && (!i || n == i || n.canRecognizeWith(i)) ? n.recognize(e) : n.reset(), !i && n.state & (q | ot | J) && (i = t.curRecognizer = n), a++;
1343
+ for (var a = 0; a < r.length;) n = r[a], t.stopped !== yt && (!i || n == i || n.canRecognizeWith(i)) ? n.recognize(e) : n.reset(), !i && n.state & (K | q | J) && (i = t.curRecognizer = n), a++;
1344
1344
  }
1345
1345
  },
1346
1346
  get: function(e) {
@@ -1405,28 +1405,28 @@ var O = class {
1405
1405
  r.initEvent(e, !0, !0), r.gesture = n, n.target.dispatchEvent(r);
1406
1406
  }
1407
1407
  return m(_t, {
1408
- INPUT_START: M,
1409
- INPUT_MOVE: N,
1410
- INPUT_END: P,
1411
- INPUT_CANCEL: F,
1412
- STATE_POSSIBLE: at,
1413
- STATE_BEGAN: q,
1414
- STATE_CHANGED: ot,
1408
+ INPUT_START: j,
1409
+ INPUT_MOVE: M,
1410
+ INPUT_END: N,
1411
+ INPUT_CANCEL: P,
1412
+ STATE_POSSIBLE: G,
1413
+ STATE_BEGAN: K,
1414
+ STATE_CHANGED: q,
1415
1415
  STATE_ENDED: J,
1416
1416
  STATE_RECOGNIZED: Y,
1417
1417
  STATE_CANCELLED: st,
1418
1418
  STATE_FAILED: X,
1419
- DIRECTION_NONE: I,
1420
- DIRECTION_LEFT: L,
1421
- DIRECTION_RIGHT: R,
1422
- DIRECTION_UP: z,
1423
- DIRECTION_DOWN: B,
1424
- DIRECTION_HORIZONTAL: V,
1425
- DIRECTION_VERTICAL: H,
1426
- DIRECTION_ALL: ue,
1419
+ DIRECTION_NONE: de,
1420
+ DIRECTION_LEFT: F,
1421
+ DIRECTION_RIGHT: I,
1422
+ DIRECTION_UP: L,
1423
+ DIRECTION_DOWN: R,
1424
+ DIRECTION_HORIZONTAL: z,
1425
+ DIRECTION_VERTICAL: B,
1426
+ DIRECTION_ALL: V,
1427
1427
  Manager: bt,
1428
1428
  Input: U,
1429
- TouchAction: K,
1429
+ TouchAction: it,
1430
1430
  TouchInput: He,
1431
1431
  MouseInput: ke,
1432
1432
  PointerEventInput: Pe,
@@ -1451,36 +1451,36 @@ var O = class {
1451
1451
  prefixed: ee
1452
1452
  }), _t;
1453
1453
  })(typeof window < "u" ? window : {}, typeof document < "u" ? document : {}, "Hammer"), A = function(e, t) {
1454
- t === void 0 && console.warn("THREE.OrbitControls: The second parameter \"domElement\" is now mandatory."), t === document && console.error("THREE.OrbitControls: \"document\" should not be used as the target \"domElement\". Please use \"renderer.domElement\" instead."), this.object = e, this.domElement = t, this.enabled = !0, this.target = new p(), this.minDistance = 0, this.maxDistance = Infinity, this.minZoom = 0, this.maxZoom = Infinity, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -Infinity, this.maxAzimuthAngle = Infinity, this.enableDamping = !1, this.dampingFactor = .05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !1, this.keyPanSpeed = 7, this.autoRotate = !1, this.autoRotateSpeed = 2, this.enableKeys = !0, this.keys = {
1454
+ t === void 0 && console.warn("THREE.OrbitControls: The second parameter \"domElement\" is now mandatory."), t === document && console.error("THREE.OrbitControls: \"document\" should not be used as the target \"domElement\". Please use \"renderer.domElement\" instead."), this.object = e, this.domElement = t, this.enabled = !0, this.target = new _(), this.minDistance = 0, this.maxDistance = Infinity, this.minZoom = 0, this.maxZoom = Infinity, this.minPolarAngle = 0, this.maxPolarAngle = Math.PI, this.minAzimuthAngle = -Infinity, this.maxAzimuthAngle = Infinity, this.enableDamping = !1, this.dampingFactor = .05, this.enableZoom = !0, this.zoomSpeed = 1, this.enableRotate = !0, this.rotateSpeed = 1, this.enablePan = !0, this.panSpeed = 1, this.screenSpacePanning = !1, this.keyPanSpeed = 7, this.autoRotate = !1, this.autoRotateSpeed = 2, this.enableKeys = !0, this.keys = {
1455
1455
  LEFT: 37,
1456
1456
  UP: 38,
1457
1457
  RIGHT: 39,
1458
1458
  BOTTOM: 40
1459
1459
  }, this.mouseButtons = {
1460
- LEFT: o.ROTATE,
1461
- MIDDLE: o.DOLLY,
1462
- RIGHT: o.PAN
1460
+ LEFT: u.ROTATE,
1461
+ MIDDLE: u.DOLLY,
1462
+ RIGHT: u.PAN
1463
1463
  }, this.touches = {
1464
- ONE: d.ROTATE,
1465
- TWO: d.DOLLY_PAN
1464
+ ONE: h.ROTATE,
1465
+ TWO: h.DOLLY_PAN
1466
1466
  }, this.target0 = this.target.clone(), this.position0 = this.object.position.clone(), this.zoom0 = this.object.zoom, this.getPolarAngle = function() {
1467
- return h.phi;
1467
+ return l.phi;
1468
1468
  }, this.getAzimuthalAngle = function() {
1469
- return h.theta;
1469
+ return l.theta;
1470
1470
  }, this.saveState = function() {
1471
1471
  n.target0.copy(n.target), n.position0.copy(n.object.position), n.zoom0 = n.object.zoom;
1472
1472
  }, this.reset = function() {
1473
- n.target.copy(n.target0), n.object.position.copy(n.position0), n.object.zoom = n.zoom0, n.object.updateProjectionMatrix(), n.dispatchEvent(r), n.update(), c = s.NONE;
1473
+ n.target.copy(n.target0), n.object.position.copy(n.position0), n.object.zoom = n.zoom0, n.object.updateProjectionMatrix(), n.dispatchEvent(r), n.update(), s = o.NONE;
1474
1474
  }, this.update = function() {
1475
- var t = new p(), i = new l().setFromUnitVectors(e.up, new p(0, 1, 0)), a = i.clone().inverse(), o = new p(), u = new l();
1475
+ var t = new _(), i = new p().setFromUnitVectors(e.up, new _(0, 1, 0)), a = i.clone().inverse(), u = new _(), m = new p();
1476
1476
  return function() {
1477
1477
  var e = n.object.position;
1478
- return t.copy(e).sub(n.target), t.applyQuaternion(i), h.setFromVector3(t), n.autoRotate && c === s.NONE && ne(ee()), n.enableDamping ? (h.theta += g.theta * n.dampingFactor, h.phi += g.phi * n.dampingFactor) : (h.theta += g.theta, h.phi += g.phi), h.theta = Math.max(n.minAzimuthAngle, Math.min(n.maxAzimuthAngle, h.theta)), h.phi = Math.max(n.minPolarAngle, Math.min(n.maxPolarAngle, h.phi)), h.makeSafe(), h.radius *= _, h.radius = Math.max(n.minDistance, Math.min(n.maxDistance, h.radius)), n.enableDamping === !0 ? n.target.addScaledVector(v, n.dampingFactor) : n.target.add(v), t.setFromSpherical(h), t.applyQuaternion(a), e.copy(n.target).add(t), n.object.lookAt(n.target), n.enableDamping === !0 ? (g.theta *= 1 - n.dampingFactor, g.phi *= 1 - n.dampingFactor, v.multiplyScalar(1 - n.dampingFactor)) : (g.set(0, 0, 0), v.set(0, 0, 0)), _ = 1, y || o.distanceToSquared(n.object.position) > m || 8 * (1 - u.dot(n.object.quaternion)) > m ? (n.dispatchEvent(r), o.copy(n.object.position), u.copy(n.object.quaternion), y = !1, !0) : !1;
1478
+ return t.copy(e).sub(n.target), t.applyQuaternion(i), l.setFromVector3(t), n.autoRotate && s === o.NONE && te(ee()), n.enableDamping ? (l.theta += d.theta * n.dampingFactor, l.phi += d.phi * n.dampingFactor) : (l.theta += d.theta, l.phi += d.phi), l.theta = Math.max(n.minAzimuthAngle, Math.min(n.maxAzimuthAngle, l.theta)), l.phi = Math.max(n.minPolarAngle, Math.min(n.maxPolarAngle, l.phi)), l.makeSafe(), l.radius *= f, l.radius = Math.max(n.minDistance, Math.min(n.maxDistance, l.radius)), n.enableDamping === !0 ? n.target.addScaledVector(v, n.dampingFactor) : n.target.add(v), t.setFromSpherical(l), t.applyQuaternion(a), e.copy(n.target).add(t), n.object.lookAt(n.target), n.enableDamping === !0 ? (d.theta *= 1 - n.dampingFactor, d.phi *= 1 - n.dampingFactor, v.multiplyScalar(1 - n.dampingFactor)) : (d.set(0, 0, 0), v.set(0, 0, 0)), f = 1, y || u.distanceToSquared(n.object.position) > c || 8 * (1 - m.dot(n.object.quaternion)) > c ? (n.dispatchEvent(r), u.copy(n.object.position), m.copy(n.object.quaternion), y = !1, !0) : !1;
1479
1479
  };
1480
1480
  }(), this.dispose = function() {
1481
1481
  n.domElement.removeEventListener("contextmenu", be, !1), n.domElement.removeEventListener("mousedown", U, !1), n.domElement.removeEventListener("wheel", he, !1), n.domElement.removeEventListener("touchstart", _e, !1), n.domElement.removeEventListener("touchend", ye, !1), n.domElement.removeEventListener("touchmove", ve, !1), document.removeEventListener("mousemove", pe, !1), document.removeEventListener("mouseup", me, !1), n.domElement.removeEventListener("keydown", ge, !1);
1482
1482
  };
1483
- var n = this, r = { type: "change" }, i = { type: "start" }, a = { type: "end" }, s = {
1483
+ var n = this, r = { type: "change" }, i = { type: "start" }, a = { type: "end" }, o = {
1484
1484
  NONE: -1,
1485
1485
  ROTATE: 0,
1486
1486
  DOLLY: 1,
@@ -1489,113 +1489,113 @@ var O = class {
1489
1489
  TOUCH_PAN: 4,
1490
1490
  TOUCH_DOLLY_PAN: 5,
1491
1491
  TOUCH_DOLLY_ROTATE: 6
1492
- }, c = s.NONE, m = 1e-6, h = new u(), g = new u(), _ = 1, v = new p(), y = !1, b = new f(), x = new f(), S = new f(), C = new f(), w = new f(), T = new f(), E = new f(), D = new f(), O = new f();
1492
+ }, s = o.NONE, c = 1e-6, l = new m(), d = new m(), f = 1, v = new _(), y = !1, b = new g(), x = new g(), S = new g(), C = new g(), w = new g(), T = new g(), E = new g(), D = new g(), O = new g();
1493
1493
  function ee() {
1494
1494
  return 2 * Math.PI / 60 / 60 * n.autoRotateSpeed;
1495
1495
  }
1496
- function te() {
1496
+ function k() {
1497
1497
  return Math.pow(.95, n.zoomSpeed);
1498
1498
  }
1499
- function ne(e) {
1500
- g.theta -= e;
1499
+ function te(e) {
1500
+ d.theta -= e;
1501
1501
  }
1502
- function re(e) {
1503
- g.phi -= e;
1502
+ function ne(e) {
1503
+ d.phi -= e;
1504
1504
  }
1505
- var ie = function() {
1506
- var e = new p();
1505
+ var re = function() {
1506
+ var e = new _();
1507
1507
  return function(t, n) {
1508
1508
  e.setFromMatrixColumn(n, 0), e.multiplyScalar(-t), v.add(e);
1509
1509
  };
1510
- }(), ae = function() {
1511
- var e = new p();
1510
+ }(), ie = function() {
1511
+ var e = new _();
1512
1512
  return function(t, r) {
1513
1513
  n.screenSpacePanning === !0 ? e.setFromMatrixColumn(r, 1) : (e.setFromMatrixColumn(r, 0), e.crossVectors(n.object.up, e)), e.multiplyScalar(t), v.add(e);
1514
1514
  };
1515
- }(), k = function() {
1516
- var e = new p();
1515
+ }(), ae = function() {
1516
+ var e = new _();
1517
1517
  return function(t, r) {
1518
1518
  var i = n.domElement;
1519
1519
  if (n.object.isPerspectiveCamera) {
1520
1520
  var a = n.object.position;
1521
1521
  e.copy(a).sub(n.target);
1522
1522
  var o = e.length();
1523
- o *= Math.tan(n.object.fov / 2 * Math.PI / 180), ie(2 * t * o / i.clientHeight, n.object.matrix), ae(2 * r * o / i.clientHeight, n.object.matrix);
1524
- } else n.object.isOrthographicCamera ? (ie(t * (n.object.right - n.object.left) / n.object.zoom / i.clientWidth, n.object.matrix), ae(r * (n.object.top - n.object.bottom) / n.object.zoom / i.clientHeight, n.object.matrix)) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."), n.enablePan = !1);
1523
+ o *= Math.tan(n.object.fov / 2 * Math.PI / 180), re(2 * t * o / i.clientHeight, n.object.matrix), ie(2 * r * o / i.clientHeight, n.object.matrix);
1524
+ } else n.object.isOrthographicCamera ? (re(t * (n.object.right - n.object.left) / n.object.zoom / i.clientWidth, n.object.matrix), ie(r * (n.object.top - n.object.bottom) / n.object.zoom / i.clientHeight, n.object.matrix)) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."), n.enablePan = !1);
1525
1525
  };
1526
1526
  }();
1527
- function A(e) {
1528
- n.object.isPerspectiveCamera ? _ /= e : n.object.isOrthographicCamera ? (n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom * e)), n.object.updateProjectionMatrix(), y = !0) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."), n.enableZoom = !1);
1527
+ function oe(e) {
1528
+ n.object.isPerspectiveCamera ? f /= e : n.object.isOrthographicCamera ? (n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom * e)), n.object.updateProjectionMatrix(), y = !0) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."), n.enableZoom = !1);
1529
1529
  }
1530
- function j(e) {
1531
- n.object.isPerspectiveCamera ? _ *= e : n.object.isOrthographicCamera ? (n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom / e)), n.object.updateProjectionMatrix(), y = !0) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."), n.enableZoom = !1);
1530
+ function se(e) {
1531
+ n.object.isPerspectiveCamera ? f *= e : n.object.isOrthographicCamera ? (n.object.zoom = Math.max(n.minZoom, Math.min(n.maxZoom, n.object.zoom / e)), n.object.updateProjectionMatrix(), y = !0) : (console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."), n.enableZoom = !1);
1532
1532
  }
1533
- function oe(e) {
1533
+ function ce(e) {
1534
1534
  b.set(e.clientX, e.clientY);
1535
1535
  }
1536
- function se(e) {
1536
+ function le(e) {
1537
1537
  E.set(e.clientX, e.clientY);
1538
1538
  }
1539
- function ce(e) {
1539
+ function A(e) {
1540
1540
  C.set(e.clientX, e.clientY);
1541
1541
  }
1542
- function le(e) {
1542
+ function ue(e) {
1543
1543
  x.set(e.clientX, e.clientY), S.subVectors(x, b).multiplyScalar(n.rotateSpeed);
1544
1544
  var t = n.domElement;
1545
- ne(2 * Math.PI * S.x / t.clientHeight), re(2 * Math.PI * S.y / t.clientHeight), b.copy(x), n.update();
1545
+ te(2 * Math.PI * S.x / t.clientHeight), ne(2 * Math.PI * S.y / t.clientHeight), b.copy(x), n.update();
1546
+ }
1547
+ function j(e) {
1548
+ D.set(e.clientX, e.clientY), O.subVectors(D, E), O.y > 0 ? oe(k()) : O.y < 0 && se(k()), E.copy(D), n.update();
1546
1549
  }
1547
1550
  function M(e) {
1548
- D.set(e.clientX, e.clientY), O.subVectors(D, E), O.y > 0 ? A(te()) : O.y < 0 && j(te()), E.copy(D), n.update();
1551
+ w.set(e.clientX, e.clientY), T.subVectors(w, C).multiplyScalar(n.panSpeed), ae(T.x, T.y), C.copy(w), n.update();
1549
1552
  }
1550
1553
  function N(e) {
1551
- w.set(e.clientX, e.clientY), T.subVectors(w, C).multiplyScalar(n.panSpeed), k(T.x, T.y), C.copy(w), n.update();
1554
+ e.deltaY < 0 ? se(k()) : e.deltaY > 0 && oe(k()), n.update();
1552
1555
  }
1553
1556
  function P(e) {
1554
- e.deltaY < 0 ? j(te()) : e.deltaY > 0 && A(te()), n.update();
1555
- }
1556
- function F(e) {
1557
1557
  var t = !1;
1558
1558
  switch (e.keyCode) {
1559
1559
  case n.keys.UP:
1560
- k(0, n.keyPanSpeed), t = !0;
1560
+ ae(0, n.keyPanSpeed), t = !0;
1561
1561
  break;
1562
1562
  case n.keys.BOTTOM:
1563
- k(0, -n.keyPanSpeed), t = !0;
1563
+ ae(0, -n.keyPanSpeed), t = !0;
1564
1564
  break;
1565
1565
  case n.keys.LEFT:
1566
- k(n.keyPanSpeed, 0), t = !0;
1566
+ ae(n.keyPanSpeed, 0), t = !0;
1567
1567
  break;
1568
1568
  case n.keys.RIGHT:
1569
- k(-n.keyPanSpeed, 0), t = !0;
1569
+ ae(-n.keyPanSpeed, 0), t = !0;
1570
1570
  break;
1571
1571
  }
1572
1572
  t && (e.preventDefault(), n.update());
1573
1573
  }
1574
- function I(e) {
1574
+ function de(e) {
1575
1575
  if (e.touches.length == 1) b.set(e.touches[0].pageX, e.touches[0].pageY);
1576
1576
  else {
1577
1577
  var t = .5 * (e.touches[0].pageX + e.touches[1].pageX), n = .5 * (e.touches[0].pageY + e.touches[1].pageY);
1578
1578
  b.set(t, n);
1579
1579
  }
1580
1580
  }
1581
- function L(e) {
1581
+ function F(e) {
1582
1582
  if (e.touches.length == 1) C.set(e.touches[0].pageX, e.touches[0].pageY);
1583
1583
  else {
1584
1584
  var t = .5 * (e.touches[0].pageX + e.touches[1].pageX), n = .5 * (e.touches[0].pageY + e.touches[1].pageY);
1585
1585
  C.set(t, n);
1586
1586
  }
1587
1587
  }
1588
- function R(e) {
1588
+ function I(e) {
1589
1589
  var t = e.touches[0].pageX - e.touches[1].pageX, n = e.touches[0].pageY - e.touches[1].pageY, r = Math.sqrt(t * t + n * n);
1590
1590
  E.set(0, r);
1591
1591
  }
1592
- function z(e) {
1593
- n.enableZoom && R(e), n.enablePan && L(e);
1592
+ function L(e) {
1593
+ n.enableZoom && I(e), n.enablePan && F(e);
1594
1594
  }
1595
- function B(e) {
1596
- n.enableZoom && R(e), n.enableRotate && I(e);
1595
+ function R(e) {
1596
+ n.enableZoom && I(e), n.enableRotate && de(e);
1597
1597
  }
1598
- function V(e) {
1598
+ function z(e) {
1599
1599
  if (e.touches.length == 1) x.set(e.touches[0].pageX, e.touches[0].pageY);
1600
1600
  else {
1601
1601
  var t = .5 * (e.touches[0].pageX + e.touches[1].pageX), r = .5 * (e.touches[0].pageY + e.touches[1].pageY);
@@ -1603,25 +1603,25 @@ var O = class {
1603
1603
  }
1604
1604
  S.subVectors(x, b).multiplyScalar(n.rotateSpeed);
1605
1605
  var i = n.domElement;
1606
- ne(2 * Math.PI * S.x / i.clientHeight), re(2 * Math.PI * S.y / i.clientHeight), b.copy(x);
1606
+ te(2 * Math.PI * S.x / i.clientHeight), ne(2 * Math.PI * S.y / i.clientHeight), b.copy(x);
1607
1607
  }
1608
- function H(e) {
1608
+ function B(e) {
1609
1609
  if (e.touches.length == 1) w.set(e.touches[0].pageX, e.touches[0].pageY);
1610
1610
  else {
1611
1611
  var t = .5 * (e.touches[0].pageX + e.touches[1].pageX), r = .5 * (e.touches[0].pageY + e.touches[1].pageY);
1612
1612
  w.set(t, r);
1613
1613
  }
1614
- T.subVectors(w, C).multiplyScalar(n.panSpeed), k(T.x, T.y), C.copy(w);
1614
+ T.subVectors(w, C).multiplyScalar(n.panSpeed), ae(T.x, T.y), C.copy(w);
1615
1615
  }
1616
- function ue(e) {
1616
+ function V(e) {
1617
1617
  var t = e.touches[0].pageX - e.touches[1].pageX, r = e.touches[0].pageY - e.touches[1].pageY, i = Math.sqrt(t * t + r * r);
1618
- D.set(0, i), O.set(0, Math.pow(D.y / E.y, n.zoomSpeed)), A(O.y), E.copy(D);
1618
+ D.set(0, i), O.set(0, Math.pow(D.y / E.y, n.zoomSpeed)), oe(O.y), E.copy(D);
1619
1619
  }
1620
- function de(e) {
1621
- n.enableZoom && ue(e), n.enablePan && H(e);
1620
+ function H(e) {
1621
+ n.enableZoom && V(e), n.enablePan && B(e);
1622
1622
  }
1623
1623
  function fe(e) {
1624
- n.enableZoom && ue(e), n.enableRotate && V(e);
1624
+ n.enableZoom && V(e), n.enableRotate && z(e);
1625
1625
  }
1626
1626
  function U(e) {
1627
1627
  if (n.enabled !== !1) {
@@ -1640,129 +1640,129 @@ var O = class {
1640
1640
  default: t = -1;
1641
1641
  }
1642
1642
  switch (t) {
1643
- case o.DOLLY:
1643
+ case u.DOLLY:
1644
1644
  if (n.enableZoom === !1) return;
1645
- se(e), c = s.DOLLY;
1645
+ le(e), s = o.DOLLY;
1646
1646
  break;
1647
- case o.ROTATE:
1647
+ case u.ROTATE:
1648
1648
  if (e.ctrlKey || e.metaKey || e.shiftKey) {
1649
1649
  if (n.enablePan === !1) return;
1650
- ce(e), c = s.PAN;
1650
+ A(e), s = o.PAN;
1651
1651
  } else {
1652
1652
  if (n.enableRotate === !1) return;
1653
- oe(e), c = s.ROTATE;
1653
+ ce(e), s = o.ROTATE;
1654
1654
  }
1655
1655
  break;
1656
- case o.PAN:
1656
+ case u.PAN:
1657
1657
  if (e.ctrlKey || e.metaKey || e.shiftKey) {
1658
1658
  if (n.enableRotate === !1) return;
1659
- oe(e), c = s.ROTATE;
1659
+ ce(e), s = o.ROTATE;
1660
1660
  } else {
1661
1661
  if (n.enablePan === !1) return;
1662
- ce(e), c = s.PAN;
1662
+ A(e), s = o.PAN;
1663
1663
  }
1664
1664
  break;
1665
- default: c = s.NONE;
1665
+ default: s = o.NONE;
1666
1666
  }
1667
- c !== s.NONE && (document.addEventListener("mousemove", pe, !1), document.addEventListener("mouseup", me, !1), n.dispatchEvent(i));
1667
+ s !== o.NONE && (document.addEventListener("mousemove", pe, !1), document.addEventListener("mouseup", me, !1), n.dispatchEvent(i));
1668
1668
  }
1669
1669
  }
1670
1670
  function pe(e) {
1671
- if (n.enabled !== !1) switch (e.preventDefault(), c) {
1672
- case s.ROTATE:
1671
+ if (n.enabled !== !1) switch (e.preventDefault(), s) {
1672
+ case o.ROTATE:
1673
1673
  if (n.enableRotate === !1) return;
1674
- le(e);
1674
+ ue(e);
1675
1675
  break;
1676
- case s.DOLLY:
1676
+ case o.DOLLY:
1677
1677
  if (n.enableZoom === !1) return;
1678
- M(e);
1678
+ j(e);
1679
1679
  break;
1680
- case s.PAN:
1680
+ case o.PAN:
1681
1681
  if (n.enablePan === !1) return;
1682
- N(e);
1682
+ M(e);
1683
1683
  break;
1684
1684
  }
1685
1685
  }
1686
1686
  function me(e) {
1687
- n.enabled !== !1 && (document.removeEventListener("mousemove", pe, !1), document.removeEventListener("mouseup", me, !1), n.dispatchEvent(a), c = s.NONE);
1687
+ n.enabled !== !1 && (document.removeEventListener("mousemove", pe, !1), document.removeEventListener("mouseup", me, !1), n.dispatchEvent(a), s = o.NONE);
1688
1688
  }
1689
1689
  function he(e) {
1690
- n.enabled === !1 || n.enableZoom === !1 || c !== s.NONE && c !== s.ROTATE || (e.preventDefault(), e.stopPropagation(), n.dispatchEvent(i), P(e), n.dispatchEvent(a));
1690
+ n.enabled === !1 || n.enableZoom === !1 || s !== o.NONE && s !== o.ROTATE || (e.preventDefault(), e.stopPropagation(), n.dispatchEvent(i), N(e), n.dispatchEvent(a));
1691
1691
  }
1692
1692
  function ge(e) {
1693
- n.enabled === !1 || n.enableKeys === !1 || n.enablePan === !1 || F(e);
1693
+ n.enabled === !1 || n.enableKeys === !1 || n.enablePan === !1 || P(e);
1694
1694
  }
1695
1695
  function _e(e) {
1696
1696
  if (n.enabled !== !1) {
1697
1697
  switch (e.preventDefault(), e.touches.length) {
1698
1698
  case 1:
1699
1699
  switch (n.touches.ONE) {
1700
- case d.ROTATE:
1700
+ case h.ROTATE:
1701
1701
  if (n.enableRotate === !1) return;
1702
- I(e), c = s.TOUCH_ROTATE;
1702
+ de(e), s = o.TOUCH_ROTATE;
1703
1703
  break;
1704
- case d.PAN:
1704
+ case h.PAN:
1705
1705
  if (n.enablePan === !1) return;
1706
- L(e), c = s.TOUCH_PAN;
1706
+ F(e), s = o.TOUCH_PAN;
1707
1707
  break;
1708
- default: c = s.NONE;
1708
+ default: s = o.NONE;
1709
1709
  }
1710
1710
  break;
1711
1711
  case 2:
1712
1712
  switch (n.touches.TWO) {
1713
- case d.DOLLY_PAN:
1713
+ case h.DOLLY_PAN:
1714
1714
  if (n.enableZoom === !1 && n.enablePan === !1) return;
1715
- z(e), c = s.TOUCH_DOLLY_PAN;
1715
+ L(e), s = o.TOUCH_DOLLY_PAN;
1716
1716
  break;
1717
- case d.DOLLY_ROTATE:
1717
+ case h.DOLLY_ROTATE:
1718
1718
  if (n.enableZoom === !1 && n.enableRotate === !1) return;
1719
- B(e), c = s.TOUCH_DOLLY_ROTATE;
1719
+ R(e), s = o.TOUCH_DOLLY_ROTATE;
1720
1720
  break;
1721
- default: c = s.NONE;
1721
+ default: s = o.NONE;
1722
1722
  }
1723
1723
  break;
1724
- default: c = s.NONE;
1724
+ default: s = o.NONE;
1725
1725
  }
1726
- c !== s.NONE && n.dispatchEvent(i);
1726
+ s !== o.NONE && n.dispatchEvent(i);
1727
1727
  }
1728
1728
  }
1729
1729
  function ve(e) {
1730
- if (n.enabled !== !1) switch (e.preventDefault(), e.stopPropagation(), c) {
1731
- case s.TOUCH_ROTATE:
1730
+ if (n.enabled !== !1) switch (e.preventDefault(), e.stopPropagation(), s) {
1731
+ case o.TOUCH_ROTATE:
1732
1732
  if (n.enableRotate === !1) return;
1733
- V(e), n.update();
1733
+ z(e), n.update();
1734
1734
  break;
1735
- case s.TOUCH_PAN:
1735
+ case o.TOUCH_PAN:
1736
1736
  if (n.enablePan === !1) return;
1737
- H(e), n.update();
1737
+ B(e), n.update();
1738
1738
  break;
1739
- case s.TOUCH_DOLLY_PAN:
1739
+ case o.TOUCH_DOLLY_PAN:
1740
1740
  if (n.enableZoom === !1 && n.enablePan === !1) return;
1741
- de(e), n.update();
1741
+ H(e), n.update();
1742
1742
  break;
1743
- case s.TOUCH_DOLLY_ROTATE:
1743
+ case o.TOUCH_DOLLY_ROTATE:
1744
1744
  if (n.enableZoom === !1 && n.enableRotate === !1) return;
1745
1745
  fe(e), n.update();
1746
1746
  break;
1747
- default: c = s.NONE;
1747
+ default: s = o.NONE;
1748
1748
  }
1749
1749
  }
1750
1750
  function ye(e) {
1751
- n.enabled !== !1 && (n.dispatchEvent(a), c = s.NONE);
1751
+ n.enabled !== !1 && (n.dispatchEvent(a), s = o.NONE);
1752
1752
  }
1753
1753
  function be(e) {
1754
1754
  n.enabled !== !1 && e.preventDefault();
1755
1755
  }
1756
1756
  n.domElement.addEventListener("contextmenu", be, !1), n.domElement.addEventListener("mousedown", U, !1), n.domElement.addEventListener("wheel", he, !1), n.domElement.addEventListener("touchstart", _e, !1), n.domElement.addEventListener("touchend", ye, !1), n.domElement.addEventListener("touchmove", ve, !1), n.domElement.addEventListener("keydown", ge, !1), n.domElement.tabIndex === -1 && (n.domElement.tabIndex = 0), this.update();
1757
1757
  };
1758
- A.prototype = Object.create(a.prototype), A.prototype.constructor = A;
1759
- var j = function(e, t) {
1760
- A.call(this, e, t), this.mouseButtons.LEFT = o.PAN, this.mouseButtons.RIGHT = o.ROTATE, this.touches.ONE = d.PAN, this.touches.TWO = d.DOLLY_ROTATE;
1758
+ A.prototype = Object.create(s.prototype), A.prototype.constructor = A;
1759
+ var ue = function(e, t) {
1760
+ A.call(this, e, t), this.mouseButtons.LEFT = u.PAN, this.mouseButtons.RIGHT = u.ROTATE, this.touches.ONE = h.PAN, this.touches.TWO = h.DOLLY_ROTATE;
1761
1761
  };
1762
- j.prototype = Object.create(a.prototype), j.prototype.constructor = j;
1762
+ ue.prototype = Object.create(s.prototype), ue.prototype.constructor = ue;
1763
1763
  //#endregion
1764
1764
  //#region build/plugins/thirdParty/CSS3DRenderer.js
1765
- var oe = new p(), se = new l(), ce = new p(), le = class extends c {
1765
+ var j = new _(), M = new p(), N = new _(), P = class extends f {
1766
1766
  constructor(e = document.createElement("div")) {
1767
1767
  super(), this.isCSS3DObject = !0, this.element = e, this.element.style.position = "absolute", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.addEventListener("removed", function() {
1768
1768
  this.traverse(function(e) {
@@ -1773,14 +1773,14 @@ var oe = new p(), se = new l(), ce = new p(), le = class extends c {
1773
1773
  copy(e, t) {
1774
1774
  return super.copy(e, t), this.element = e.element.cloneNode(!0), this;
1775
1775
  }
1776
- }, M = class extends le {
1776
+ }, de = class extends P {
1777
1777
  constructor(e) {
1778
1778
  super(e), this.isCSS3DSprite = !0, this.rotation2D = 0;
1779
1779
  }
1780
1780
  copy(e, t) {
1781
1781
  return super.copy(e, t), this.rotation2D = e.rotation2D, this;
1782
1782
  }
1783
- }, N = new s(), P = new s(), F = class {
1783
+ }, F = new d(), I = new d(), L = class {
1784
1784
  constructor(e = {}) {
1785
1785
  let t = this, n, r, i, a, o = {
1786
1786
  camera: { style: "" },
@@ -1808,8 +1808,8 @@ var oe = new p(), se = new l(), ce = new p(), le = class extends c {
1808
1808
  if (e.visible === !1) return;
1809
1809
  let i = e.layers.test(r.layers) === !0, a = e.element;
1810
1810
  if (a.style.display = i === !0 ? "" : "none", i === !0) {
1811
- e.onBeforeRender(t, n, r), N.copy(r.matrixWorldInverse), N.transpose(), e.rotation2D !== 0 && N.multiply(P.makeRotationZ(e.rotation2D)), e.matrixWorld.decompose(oe, se, ce), N.setPosition(oe), N.scale(ce), N.elements[3] = 0, N.elements[7] = 0, N.elements[11] = 0, N.elements[15] = 1;
1812
- let i = h(N), s = o.objects.get(e);
1811
+ e.onBeforeRender(t, n, r), F.copy(r.matrixWorldInverse), F.transpose(), e.rotation2D !== 0 && F.multiply(I.makeRotationZ(e.rotation2D)), e.matrixWorld.decompose(j, M, N), F.setPosition(j), F.scale(N), F.elements[3] = 0, F.elements[7] = 0, F.elements[11] = 0, F.elements[15] = 1;
1812
+ let i = h(F), s = o.objects.get(e);
1813
1813
  (s === void 0 || s.style !== i) && (a.style.transform = i, o.objects.set(e, { style: i })), a.parentNode !== l && l.appendChild(a), e.onAfterRender(t, n, r);
1814
1814
  }
1815
1815
  }
@@ -1866,7 +1866,7 @@ var oe = new p(), se = new l(), ce = new p(), le = class extends c {
1866
1866
  if (a.style.display = i === !0 ? "" : "none", i === !0) {
1867
1867
  e.onBeforeRender(t, n, r);
1868
1868
  let i;
1869
- e.isCSS3DSprite ? (N.copy(r.matrixWorldInverse), N.transpose(), e.rotation2D !== 0 && N.multiply(P.makeRotationZ(e.rotation2D)), e.matrixWorld.decompose(oe, se, ce), N.setPosition(oe), N.scale(ce), N.elements[3] = 0, N.elements[7] = 0, N.elements[11] = 0, N.elements[15] = 1, i = h(N)) : i = h(e.matrixWorld);
1869
+ e.isCSS3DSprite ? (F.copy(r.matrixWorldInverse), F.transpose(), e.rotation2D !== 0 && F.multiply(I.makeRotationZ(e.rotation2D)), e.matrixWorld.decompose(j, M, N), F.setPosition(j), F.scale(N), F.elements[3] = 0, F.elements[7] = 0, F.elements[11] = 0, F.elements[15] = 1, i = h(F)) : i = h(e.matrixWorld);
1870
1870
  let s = o.objects.get(e);
1871
1871
  if (s === void 0 || s.style !== i) {
1872
1872
  a.style.transform = i;
@@ -1882,13 +1882,13 @@ var oe = new p(), se = new l(), ce = new p(), le = class extends c {
1882
1882
  };
1883
1883
  //#endregion
1884
1884
  //#region build/five/utils/calculateThreeMouse.js
1885
- function I(e, t, n) {
1885
+ function R(e, t, n) {
1886
1886
  let { top: r, left: a, width: o, height: s } = t.getBoundingClientRect();
1887
1887
  return n && (a += o * n.left, r += s * (1 - n.bottom - n.height), o *= n.width, s *= n.height), new i.Vector2((e.x - a) / o * 2 - 1, -(e.y - r) / s * 2 + 1);
1888
1888
  }
1889
1889
  //#endregion
1890
1890
  //#region build/plugins/OrientationPlugin/RoundedBoxGeometry.js
1891
- var L = class extends i.BufferGeometry {
1891
+ var z = class extends i.BufferGeometry {
1892
1892
  constructor(e, t, n, r, a) {
1893
1893
  super(), this.type = "RoundedBoxGeometry", a = isNaN(a) ? 1 : Math.max(1, Math.floor(a)), e = isNaN(e) ? 1 : e, t = isNaN(t) ? 1 : t, n = isNaN(n) ? 1 : n, r = isNaN(r) ? .15 : r, r = Math.min(r, Math.min(e, Math.min(t, Math.min(n))) / 2);
1894
1894
  let o = e / 2 - r, s = t / 2 - r, c = n / 2 - r;
@@ -2033,32 +2033,32 @@ var L = class extends i.BufferGeometry {
2033
2033
  };
2034
2034
  //#endregion
2035
2035
  //#region build/plugins/OrientationPlugin/Controller.js
2036
- function R(e, t) {
2036
+ function B(e, t) {
2037
2037
  return typeof e != "number" || typeof t != "number" ? !1 : Math.abs(e - t) < .001;
2038
2038
  }
2039
- function z(e, t, n, r = (e) => e) {
2039
+ function V(e, t, n, r = (e) => e) {
2040
2040
  let i = r(n);
2041
2041
  return e * (1 - i) + t * i;
2042
2042
  }
2043
- var B = Number((Math.PI / 2).toFixed(5));
2044
- function V(e, t, n) {
2043
+ var H = Number((Math.PI / 2).toFixed(5));
2044
+ function fe(e, t, n) {
2045
2045
  let r = new i.Shape();
2046
- return r.moveTo(n, 0), r.lineTo(e - n, 0), r.absarc(e - n, n, n, -B, 0, !1), r.lineTo(e, t - n), r.absarc(e - n, t - n, n, 0, B, !1), r.lineTo(n, t), r.absarc(n, t - n, n, B, Math.PI, !1), r.lineTo(0, n), r.absarc(n, n, n, Math.PI, Math.PI * 1.5, !1), r;
2046
+ return r.moveTo(n, 0), r.lineTo(e - n, 0), r.absarc(e - n, n, n, -H, 0, !1), r.lineTo(e, t - n), r.absarc(e - n, t - n, n, 0, H, !1), r.lineTo(n, t), r.absarc(n, t - n, n, H, Math.PI, !1), r.lineTo(0, n), r.absarc(n, n, n, Math.PI, Math.PI * 1.5, !1), r;
2047
2047
  }
2048
- var H = (e) => {
2048
+ var U = (e) => {
2049
2049
  let t = document.createElement("div");
2050
2050
  t.innerText = e;
2051
- let n = new le(t);
2051
+ let n = new P(t);
2052
2052
  return n.name = e, n.scale.set(.3, .3, .3), t.style.pointerEvents = "none", t.style.backfaceVisibility = "hidden", n;
2053
- }, ue = (e) => {
2053
+ }, pe = (e) => {
2054
2054
  let t = new i.PlaneGeometry(5, 5), n = new i.MeshBasicMaterial({
2055
2055
  transparent: !0,
2056
2056
  opacity: 0
2057
2057
  }), r = new i.Mesh(t, n), a = document.createElement("div");
2058
2058
  a.innerText = e;
2059
- let o = new le(a);
2060
- return o.name = e, o.scale.set(.3, .3, .3), a.style.color = "#ffffff", a.style.opacity = "0.5", a.style.pointerEvents = "none", a.style.backfaceVisibility = "hidden", r.rotateX(-B), r.add(o), r;
2061
- }, de = class extends _.Controller {
2059
+ let o = new P(a);
2060
+ return o.name = e, o.scale.set(.3, .3, .3), a.style.color = "#ffffff", a.style.opacity = "0.5", a.style.pointerEvents = "none", a.style.backfaceVisibility = "hidden", r.rotateX(-H), r.add(o), r;
2061
+ }, me = class extends x.Controller {
2062
2062
  get config() {
2063
2063
  return Object.assign({}, this._config);
2064
2064
  }
@@ -2074,7 +2074,7 @@ var H = (e) => {
2074
2074
  super(e), this.camera = new t(90), this.scene = new i.Scene(), this.renderer = new i.WebGLRenderer({
2075
2075
  antialias: !0,
2076
2076
  alpha: !0
2077
- }), this.css3drenderer = new F(), this.ambientLight = new i.AmbientLight(16777215, .7), this.wrapper = document.createElement("div"), this.arrows = document.createElement("div"), this.arrowLeft = document.createElement("div"), this.arrowRight = document.createElement("div"), this.arrowFront = document.createElement("div"), this.arrowBack = document.createElement("div"), this.arrowTop = document.createElement("div"), this.arrowBottom = document.createElement("div"), this.spherical = null, this.dragging = !1, this.style = document.createElement("style"), this.directionalLight = new i.DirectionalLight(16777215, .2), this.box = new i.Mesh(new L(8, 8, 8, .5, 20), new i.MeshPhongMaterial({ color: 16777215 })), this.faces = new i.Group(), this.orient = ({ longitude: e, latitude: t }) => {
2077
+ }), this.css3drenderer = new L(), this.ambientLight = new i.AmbientLight(16777215, .7), this.wrapper = document.createElement("div"), this.arrows = document.createElement("div"), this.arrowLeft = document.createElement("div"), this.arrowRight = document.createElement("div"), this.arrowFront = document.createElement("div"), this.arrowBack = document.createElement("div"), this.arrowTop = document.createElement("div"), this.arrowBottom = document.createElement("div"), this.spherical = null, this.dragging = !1, this.style = document.createElement("style"), this.directionalLight = new i.DirectionalLight(16777215, .2), this.box = new i.Mesh(new z(8, 8, 8, .5, 20), new i.MeshPhongMaterial({ color: 16777215 })), this.faces = new i.Group(), this.orient = ({ longitude: e, latitude: t }) => {
2078
2078
  this.dragging = !1, this.spherical = null, this.controls.enableDamping = !1, this.five.setState(Object.assign({ latitude: t }, e === void 0 ? {} : { longitude: e + this.config.fixedLongitude })), this.five.ready().then(() => {
2079
2079
  this.controls.enableDamping = !0, this.setState({ arrowsVisible: !0 });
2080
2080
  });
@@ -2090,7 +2090,7 @@ var H = (e) => {
2090
2090
  longitude: e,
2091
2091
  latitude: t
2092
2092
  });
2093
- } else if (this.spherical && (!R(this.spherical.pi, (t = this.controls) == null ? void 0 : t.getPolarAngle()) || !R(this.spherical.theta, (n = this.controls) == null ? void 0 : n.getAzimuthalAngle()))) {
2093
+ } else if (this.spherical && (!B(this.spherical.pi, (t = this.controls) == null ? void 0 : t.getPolarAngle()) || !B(this.spherical.theta, (n = this.controls) == null ? void 0 : n.getAzimuthalAngle()))) {
2094
2094
  this.spherical = {
2095
2095
  pi: (r = this.controls) == null ? void 0 : r.getPolarAngle(),
2096
2096
  theta: (i = this.controls) == null ? void 0 : i.getAzimuthalAngle()
@@ -2105,7 +2105,7 @@ var H = (e) => {
2105
2105
  });
2106
2106
  } else this.spherical = null;
2107
2107
  }, this.onTapGesture = (e) => {
2108
- let t = e.pointers[0].clientX, n = e.pointers[0].clientY, r = I({
2108
+ let t = e.pointers[0].clientX, n = e.pointers[0].clientY, r = R({
2109
2109
  x: t,
2110
2110
  y: n
2111
2111
  }, this.wrapper), a = new i.Raycaster();
@@ -2121,7 +2121,7 @@ var H = (e) => {
2121
2121
  }, this.onFiveWantsGesture = () => {
2122
2122
  if (this.spherical) return !1;
2123
2123
  }, this.onFiveModeChange = (e) => {
2124
- this.controls && (this.controls.maxPolarAngle = e === "Topview" ? 0 : B);
2124
+ this.controls && (this.controls.maxPolarAngle = e === "Topview" ? 0 : H);
2125
2125
  }, this.onCameraUpdate = ({ state: e }) => {
2126
2126
  if (this.dragging || this.spherical) return;
2127
2127
  let { longitude: t, latitude: n } = e;
@@ -2138,7 +2138,7 @@ var H = (e) => {
2138
2138
  this.dragging = !0, this.spherical = {};
2139
2139
  }, this.onMouseMove = (e) => {
2140
2140
  if (this.dragging) return;
2141
- let t = I({
2141
+ let t = R({
2142
2142
  x: e.clientX,
2143
2143
  y: e.clientY
2144
2144
  }, this.wrapper), n = new i.Raycaster();
@@ -2161,7 +2161,7 @@ var H = (e) => {
2161
2161
  }, n == null ? void 0 : n.initialState), this._config = Object.assign({
2162
2162
  fixedLongitude: 0,
2163
2163
  orthoView: !0
2164
- }, n == null ? void 0 : n.config), this.state.enabled && this._enable({ userAction: !1 }), this.mc = new k.Manager(this.wrapper), this.mc.add(new k.Tap({ interval: 410 })), this.mc.add(new k.Pan({
2164
+ }, n == null ? void 0 : n.config), this.state.enabled && this._enable({ userAction: !1 }), this.mc = new le.Manager(this.wrapper), this.mc.add(new le.Tap({ interval: 410 })), this.mc.add(new le.Pan({
2165
2165
  threshold: 10,
2166
2166
  pointers: 0
2167
2167
  })), this.camera.setFromPose({
@@ -2190,13 +2190,13 @@ var H = (e) => {
2190
2190
  this.renderer.setClearAlpha(0), this.renderer.domElement.style.outline = "none", this.initDom(), this.initFaces(), this.initControls(), this.initLights();
2191
2191
  let e = this.cylinder;
2192
2192
  e.position.y = -3;
2193
- let t = ue("西");
2193
+ let t = pe("西");
2194
2194
  t.position.set(-19, 0, 0), e.add(t);
2195
- let n = ue("东");
2195
+ let n = pe("东");
2196
2196
  n.position.set(19, 0, 0), e.add(n);
2197
- let r = ue("北");
2197
+ let r = pe("北");
2198
2198
  r.position.set(0, 0, -19), e.add(r);
2199
- let i = ue("南");
2199
+ let i = pe("南");
2200
2200
  i.position.set(0, 0, 19), e.add(i), this.updateByCamera(), this.scene.add(e, this.box, this.faces), this.scene.rotation.y = this.config.fixedLongitude;
2201
2201
  }
2202
2202
  initDom() {
@@ -2205,12 +2205,12 @@ var H = (e) => {
2205
2205
  bindEvents() {
2206
2206
  this.five.on("renderFrame", this.onRenderFrame), this.five.on("camera.update", this.onCameraUpdate), this.five.on("wantsGesture", this.onFiveWantsGesture), this.five.on("modeChange", this.onFiveModeChange), this.mc.on("tap", this.onTapGesture), this.mc.on("panstart", this.onPanStart), this.mc.on("panend", this.onPanEnd), this.wrapper.addEventListener("mousemove", this.onMouseMove), this.arrowTop.onclick = () => this.orient({
2207
2207
  longitude: 0,
2208
- latitude: B
2208
+ latitude: H
2209
2209
  }), this.arrowLeft.onclick = () => this.orient({
2210
- longitude: -B,
2210
+ longitude: -H,
2211
2211
  latitude: 0
2212
2212
  }), this.arrowRight.onclick = () => this.orient({
2213
- longitude: B,
2213
+ longitude: H,
2214
2214
  latitude: 0
2215
2215
  }), this.arrowFront.onclick = () => this.orient({
2216
2216
  longitude: 0,
@@ -2224,7 +2224,7 @@ var H = (e) => {
2224
2224
  this.five.off("renderFrame", this.onRenderFrame), this.five.off("camera.update", this.onCameraUpdate), this.five.off("wantsGesture", this.onFiveWantsGesture), this.five.off("modeChange", this.onFiveModeChange), this.mc.off("tap", this.onTapGesture), this.mc.off("panstart", this.onPanStart), this.mc.off("panend", this.onPanEnd), this.wrapper.removeEventListener("mousemove", this.onMouseMove), this.arrowTop.onclick = null, this.arrowLeft.onclick = null, this.arrowRight.onclick = null, this.arrowFront.onclick = null, this.arrowBack.onclick = null;
2225
2225
  }
2226
2226
  updateByCamera() {
2227
- let e = z(.2, 1, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), t = z(11, 13, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), n = z(12, 15, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), r = z(13, 19, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), a = z(-.2, .5, this.camera.pose.latitude / Math.PI * 2, (e) => e * e);
2227
+ let e = V(.2, 1, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), t = V(11, 13, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), n = V(12, 15, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), r = V(13, 19, this.camera.pose.latitude / Math.PI * 2, (e) => e * e), a = V(-.2, .5, this.camera.pose.latitude / Math.PI * 2, (e) => e * e);
2228
2228
  this.cylinder.geometry = new i.CylinderGeometry(t, n, .01, 50, 1, !0), this.cylinder.material.uniforms.radiusTop.value = t, this.cylinder.material.uniforms.radiusBottom.value = n, this.cylinder.material.needsUpdate = !0, this.cylinder.children.forEach((t) => {
2229
2229
  t.position.normalize().multiplyScalar(r), t.scale.set(e, e, e);
2230
2230
  let n = t.children[0];
@@ -2232,24 +2232,24 @@ var H = (e) => {
2232
2232
  }), this.css3drenderer.markDirty();
2233
2233
  }
2234
2234
  updateArrows({ longitude: e, latitude: t }) {
2235
- let n = B - t < .02;
2235
+ let n = H - t < .02;
2236
2236
  this.setState({ arrowsVisible: n });
2237
2237
  }
2238
2238
  handleArrowsVisible(e) {
2239
2239
  if (this.state.enabled) if (this.cylinder.material.uniforms.opacity.value = e ? .4 : 1, this.cylinder.material.needsUpdate = !0, e) {
2240
2240
  let { longitude: e, latitude: t } = this.five.getCurrentState();
2241
- if (B - t < .03) this.five.state.mode === "Topview" || this.five.state.mode === "Mapview" ? (this.faces.getObjectByName("上").element.className = "active", this.arrows.innerHTML = "", this.arrows.appendChild(this.arrowBack), this.arrows.appendChild(this.arrowLeft), this.arrows.appendChild(this.arrowRight), this.arrows.appendChild(this.arrowFront), this.arrows.style.transform = `rotate(${(e - this.config.fixedLongitude) / Math.PI * 180}deg)`) : (this.arrows.innerHTML = "", this.faces.getObjectByName("上").element.className = "");
2241
+ if (H - t < .03) this.five.state.mode === "Topview" || this.five.state.mode === "Mapview" ? (this.faces.getObjectByName("上").element.className = "active", this.arrows.innerHTML = "", this.arrows.appendChild(this.arrowBack), this.arrows.appendChild(this.arrowLeft), this.arrows.appendChild(this.arrowRight), this.arrows.appendChild(this.arrowFront), this.arrows.style.transform = `rotate(${(e - this.config.fixedLongitude) / Math.PI * 180}deg)`) : (this.arrows.innerHTML = "", this.faces.getObjectByName("上").element.className = "");
2242
2242
  else {
2243
2243
  switch (this.arrows.innerHTML = "", this.arrows.appendChild(this.arrowTop), this.config.orthoView && this.five.ready().then(() => {
2244
2244
  this.five.controller.cameraType = "orthographic", this.five.ready().then(() => this.five.controller.cameraMotion.ended = !1);
2245
2245
  }), !0) {
2246
- case R(0, e - this.config.fixedLongitude):
2246
+ case B(0, e - this.config.fixedLongitude):
2247
2247
  this.arrows.appendChild(this.arrowLeft), this.arrows.appendChild(this.arrowRight), this.arrows.appendChild(this.arrowBottom), this.faces.getObjectByName("前").element.className = "active";
2248
2248
  break;
2249
- case R(B, e - this.config.fixedLongitude):
2249
+ case B(H, e - this.config.fixedLongitude):
2250
2250
  this.arrows.appendChild(this.arrowFront), this.arrows.appendChild(this.arrowBack), this.arrows.appendChild(this.arrowBottom), this.faces.getObjectByName("右").element.className = "active";
2251
2251
  break;
2252
- case R(Math.PI, e - this.config.fixedLongitude):
2252
+ case B(Math.PI, e - this.config.fixedLongitude):
2253
2253
  this.arrows.appendChild(this.arrowRight), this.arrows.appendChild(this.arrowLeft), this.arrows.appendChild(this.arrowBottom), this.faces.getObjectByName("后").element.className = "active";
2254
2254
  break;
2255
2255
  default:
@@ -2274,7 +2274,7 @@ var H = (e) => {
2274
2274
  this.directionalLight.target = this.box, this.scene.add(this.ambientLight, this.directionalLight);
2275
2275
  }
2276
2276
  initFaces() {
2277
- let e = V(7, 7, .5), t = new i.ShapeGeometry(e);
2277
+ let e = fe(7, 7, .5), t = new i.ShapeGeometry(e);
2278
2278
  t.translate(-3.5, -3.5, 0);
2279
2279
  let n = new i.Mesh(t, new i.MeshBasicMaterial({
2280
2280
  transparent: !0,
@@ -2284,13 +2284,13 @@ var H = (e) => {
2284
2284
  n.userData = {
2285
2285
  longitude: 0,
2286
2286
  latitude: 0
2287
- }, n.position.z = 4.1, n.add(H("前"));
2287
+ }, n.position.z = 4.1, n.add(U("前"));
2288
2288
  let r = new i.Mesh(t, new i.MeshBasicMaterial({
2289
2289
  transparent: !0,
2290
2290
  color: 3370495,
2291
2291
  opacity: 0
2292
2292
  }));
2293
- r.rotateY(Math.PI), r.position.z = -4.1, r.add(H("后")), r.userData = {
2293
+ r.rotateY(Math.PI), r.position.z = -4.1, r.add(U("后")), r.userData = {
2294
2294
  longitude: Math.PI,
2295
2295
  latitude: 0
2296
2296
  };
@@ -2299,8 +2299,8 @@ var H = (e) => {
2299
2299
  color: 3370495,
2300
2300
  opacity: 0
2301
2301
  }));
2302
- a.rotateY(B), a.position.x = 4.1, a.add(H("右")), a.userData = {
2303
- longitude: B,
2302
+ a.rotateY(H), a.position.x = 4.1, a.add(U("右")), a.userData = {
2303
+ longitude: H,
2304
2304
  latitude: 0
2305
2305
  };
2306
2306
  let o = new i.Mesh(t, new i.MeshBasicMaterial({
@@ -2308,8 +2308,8 @@ var H = (e) => {
2308
2308
  color: 3370495,
2309
2309
  opacity: 0
2310
2310
  }));
2311
- o.rotateY(-B), o.position.x = -4.1, o.add(H("左")), o.userData = {
2312
- longitude: -B,
2311
+ o.rotateY(-H), o.position.x = -4.1, o.add(U("左")), o.userData = {
2312
+ longitude: -H,
2313
2313
  latitude: 0
2314
2314
  };
2315
2315
  let s = new i.Mesh(t, new i.MeshBasicMaterial({
@@ -2317,17 +2317,17 @@ var H = (e) => {
2317
2317
  color: 3370495,
2318
2318
  opacity: 0
2319
2319
  }));
2320
- s.rotateX(-B), s.position.y = 4.1, s.add(H("上")), s.userData = {
2320
+ s.rotateX(-H), s.position.y = 4.1, s.add(U("上")), s.userData = {
2321
2321
  longitude: 0,
2322
- latitude: B
2322
+ latitude: H
2323
2323
  }, this.faces.add(n, r, o, a, s);
2324
2324
  }
2325
2325
  initControls() {
2326
2326
  let e = this.controls = new A(this.camera, this.renderer.domElement);
2327
- e.enableZoom = !1, e.enableDamping = !0, e.enablePan = !1, e.maxPolarAngle = B, e.dampingFactor = .15, e.rotateSpeed = .25;
2327
+ e.enableZoom = !1, e.enableDamping = !0, e.enablePan = !1, e.maxPolarAngle = H, e.dampingFactor = .15, e.rotateSpeed = .25;
2328
2328
  }
2329
2329
  load(e) {
2330
- return v(this, void 0, void 0, function* () {});
2330
+ return S(this, void 0, void 0, function* () {});
2331
2331
  }
2332
2332
  _enable(e) {
2333
2333
  let { longitude: t, latitude: n } = this.five.getCurrentState();
@@ -2353,7 +2353,7 @@ var H = (e) => {
2353
2353
  let n = (t = e == null ? void 0 : e.userAction) == null ? !0 : t;
2354
2354
  this.updateState({ enabled: !1 }, n), this._disable({ userAction: n }), document.head.removeChild(this.style);
2355
2355
  }
2356
- }, fe = (e, t) => new de(e, t), U = class extends m.Controller {
2356
+ }, he = (e, t) => new me(e, t), ge = class extends v.Controller {
2357
2357
  constructor(e, t) {
2358
2358
  super(e), this.data = {}, this.pluginName = "BackgroundPlugin", this._onFiveCameraUpdate = (e) => {
2359
2359
  let t = (Math.PI / 2 - Math.max(e.latitude, 0)) / (Math.PI / 2), n = Math.max(.2 - t, 0) * 10;
@@ -2362,7 +2362,7 @@ var H = (e) => {
2362
2362
  this.five.on("cameraUpdate", this._onFiveCameraUpdate);
2363
2363
  }, this._removeEventListener = () => {
2364
2364
  this.five.off("cameraUpdate", this._onFiveCameraUpdate);
2365
- }, this.load = () => v(this, void 0, void 0, function* () {}), this.setState = (e, t = {}) => {}, this.enable = () => {
2365
+ }, this.load = () => S(this, void 0, void 0, function* () {}), this.setState = (e, t = {}) => {}, this.enable = () => {
2366
2366
  var e;
2367
2367
  let t = (e = this.five.getElement()) == null ? void 0 : e.parentNode;
2368
2368
  if (!t) {
@@ -2377,7 +2377,7 @@ var H = (e) => {
2377
2377
  this._removeEventListener(), this.hooks.emit("disable", { userAction: !0 }), this.state.enabled = !1;
2378
2378
  }, this.state = { enabled: !1 }, !(typeof document > "u") && (this.gradientBg = document.createElement("div"), this.groundBg = document.createElement("div"), this.style = document.createElement("style"), this.gradientBg.className = "BackgroundPluginBg", this.groundBg.className = "BackgroundPluginGroundBg", this.style.innerHTML = "\n .BackgroundPluginBg {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n height: 200%;\n background: linear-gradient(#0A0B0D, #2E3033);\n z-index: -1;\n pointerEvents: none;\n }\n .BackgroundPluginGroundBg {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n bottom: 0;\n background-image: radial-gradient(circle, #2E303350 0, transparent 0);\n z-index: -1;\n pointerEvents: none;\n }\n ", this.enable());
2379
2379
  }
2380
- }, pe = (e, t) => new U(e, t);
2380
+ }, _e = (e, t) => new ge(e, t);
2381
2381
  //#endregion
2382
2382
  //#region build/plugins/TrajectoryPlugin/Controller.js
2383
2383
  new i.Matrix4().fromArray([
@@ -2398,7 +2398,7 @@ new i.Matrix4().fromArray([
2398
2398
  0,
2399
2399
  1
2400
2400
  ]);
2401
- var me = class {
2401
+ var ve = class {
2402
2402
  constructor(e, t, n, r, i) {
2403
2403
  this.R = e, this.Q = t, this.A = n, this.B = r, this.C = i, this.cov = NaN, this.x = NaN;
2404
2404
  }
@@ -2410,7 +2410,7 @@ var me = class {
2410
2410
  }
2411
2411
  return this.x;
2412
2412
  }
2413
- }, he = class extends _.Controller {
2413
+ }, ye = class extends x.Controller {
2414
2414
  get config() {
2415
2415
  return Object.assign({}, this._config);
2416
2416
  }
@@ -2441,11 +2441,11 @@ var me = class {
2441
2441
  } });
2442
2442
  }
2443
2443
  load(e) {
2444
- return v(this, void 0, void 0, function* () {});
2444
+ return S(this, void 0, void 0, function* () {});
2445
2445
  }
2446
2446
  loadTrajectory(e) {
2447
2447
  this.trajectory = e, this.cancelAnimation && this.cancelAnimation(), this.playingState.keyframeIndex = null, this.playingState.progress = null;
2448
- let t = .01, n = .1, r = new me(t, n, 1, 0, 1), a = new me(t, n, 1, 0, 1), o = new me(t, n, 1, 0, 1);
2448
+ let t = .01, n = .1, r = new ve(t, n, 1, 0, 1), a = new ve(t, n, 1, 0, 1), o = new ve(t, n, 1, 0, 1);
2449
2449
  if (this.trajectory && this.trajectory.content.loadState === "READY") {
2450
2450
  let t = this.trajectory.content.data.positionArray;
2451
2451
  this.timeArray = this.trajectory.content.data.timeArray;
@@ -2651,15 +2651,15 @@ var me = class {
2651
2651
  let n = (t = e == null ? void 0 : e.userAction) == null ? !0 : t;
2652
2652
  this.updateState({ enabled: !1 }, n), this._disable({ userAction: n });
2653
2653
  }
2654
- }, ge = (e, t) => new he(e, t);
2654
+ }, be = (e, t) => new ye(e, t);
2655
2655
  //#endregion
2656
2656
  //#region build/plugins/utils/clamp.js
2657
- function _e(e, t, n) {
2657
+ function xe(e, t, n) {
2658
2658
  return e < t ? t : e > n ? n : e;
2659
2659
  }
2660
2660
  //#endregion
2661
2661
  //#region build/plugins/PanoAnimePlugin/Controller.js
2662
- var ve = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = uv;\n vPosition = position;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n", ye = "\nvarying vec2 vUv;\nuniform sampler2D map;\nuniform float progress;\nuniform float opacity;\nvarying vec3 vPosition;\n\nvoid main() {\n vec3 white = vec3(1.0, 1.0, 1.0);\n vec4 image = texture2D(map, vUv);\n if (vUv.y > progress) {\n discard;\n }\n gl_FragColor = vec4(white, 0.7 * (progress - vPosition.y));\n if (progress == 1.0) {\n gl_FragColor = gl_FragColor + vec4(image.rgb, image.a * (1.0 - vPosition.y));\n }\n gl_FragColor.a = gl_FragColor.a * opacity;\n}\n", be = [
2662
+ var Se = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = uv;\n vPosition = position;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n}\n", Ce = "\nvarying vec2 vUv;\nuniform sampler2D map;\nuniform float progress;\nuniform float opacity;\nvarying vec3 vPosition;\n\nvoid main() {\n vec3 white = vec3(1.0, 1.0, 1.0);\n vec4 image = texture2D(map, vUv);\n if (vUv.y > progress) {\n discard;\n }\n gl_FragColor = vec4(white, 0.7 * (progress - vPosition.y));\n if (progress == 1.0) {\n gl_FragColor = gl_FragColor + vec4(image.rgb, image.a * (1.0 - vPosition.y));\n }\n gl_FragColor.a = gl_FragColor.a * opacity;\n}\n", we = [
2663
2663
  1,
2664
2664
  5,
2665
2665
  2,
@@ -2676,7 +2676,7 @@ var ve = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = u
2676
2676
  15,
2677
2677
  12,
2678
2678
  16
2679
- ], xe = 512, Se = 512, Ce = 128, we = class extends m.Controller {
2679
+ ], Te = 512, Ee = 512, De = 128, Oe = class extends v.Controller {
2680
2680
  get config() {
2681
2681
  return Object.assign({}, this._config);
2682
2682
  }
@@ -2702,8 +2702,8 @@ var ve = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = u
2702
2702
  let e = new i.CylinderGeometry(.12, .12, 1, 32, 1, !0);
2703
2703
  e.translate(0, .5, 0);
2704
2704
  let t = new i.ShaderMaterial({
2705
- vertexShader: ve,
2706
- fragmentShader: ye,
2705
+ vertexShader: Se,
2706
+ fragmentShader: Ce,
2707
2707
  uniforms: {
2708
2708
  map: { value: new i.Texture() },
2709
2709
  progress: { value: 0 },
@@ -2717,24 +2717,24 @@ var ve = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = u
2717
2717
  if (!this.ctx) return;
2718
2718
  let n = (() => {
2719
2719
  var t;
2720
- return (xe / 16 | 0) * ((t = be[e]) == null ? 0 : t);
2721
- })(), r = (1 - (t + e * 150) % 1200 / 1200) * (Se + Ce), i = this.ctx.createLinearGradient(0, r - Ce, 0, r);
2722
- i.addColorStop(0, "rgba(255,255,255,0)"), i.addColorStop(.5, "rgba(255,255,255,1)"), i.addColorStop(1, "rgba(255,255,255,0)"), this.ctx.fillStyle = i, this.ctx.fillRect(n, r - Ce, 3, Ce);
2720
+ return (Te / 16 | 0) * ((t = we[e]) == null ? 0 : t);
2721
+ })(), r = (1 - (t + e * 150) % 1200 / 1200) * (Ee + De), i = this.ctx.createLinearGradient(0, r - De, 0, r);
2722
+ i.addColorStop(0, "rgba(255,255,255,0)"), i.addColorStop(.5, "rgba(255,255,255,1)"), i.addColorStop(1, "rgba(255,255,255,0)"), this.ctx.fillStyle = i, this.ctx.fillRect(n, r - De, 3, De);
2723
2723
  }, this.anime = (e) => {
2724
2724
  if (!this.ctx || !this.startTime) return;
2725
- this.ctx.clearRect(0, 0, xe, Se);
2725
+ this.ctx.clearRect(0, 0, Te, Ee);
2726
2726
  for (let t = 0; t < 16; t++) this.drawLine(t, e - this.startTime);
2727
- let t = _e((e - this.startTime) / 1e3, 0, 1), n = _e((e - this.startTime) / 300, 0, this.config.maxOpacity);
2727
+ let t = xe((e - this.startTime) / 1e3, 0, 1), n = xe((e - this.startTime) / 300, 0, this.config.maxOpacity);
2728
2728
  this.panoMesh.setOpacity(n), this.mesh.material.uniforms.progress.value = t, this.mesh.material.uniforms.opacity.value = n, this.mesh.material.uniforms.map.value.needsUpdate = !0, this.five.needsRender = !0;
2729
2729
  }, this.dispose = () => {
2730
2730
  this.disable();
2731
2731
  }, this.five = e, this.state = Object.assign({
2732
2732
  enabled: !1,
2733
2733
  visible: !0
2734
- }, t == null ? void 0 : t.initialState), this._config = Object.assign(Object.assign({}, t == null ? void 0 : t.config), { maxOpacity: 1 }), !(typeof document > "u") && (this.canvas = document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), this.canvas.width = xe, this.canvas.height = Se, this.ctx.shadowColor = "rgba(255,255,255,0.5)", this.ctx.shadowBlur = 6, this.ctx.shadowOffsetX = 0, this.ctx.shadowOffsetY = 0, this.mesh.material.uniforms.map.value = new i.CanvasTexture(this.canvas), this.group.add(this.mesh), this.panoMesh.setProgress(1), this.panoMesh.setOpacity(0), this.group.add(this.panoMesh), this.state.enabled && this._enable({ userAction: !1 }));
2734
+ }, t == null ? void 0 : t.initialState), this._config = Object.assign(Object.assign({}, t == null ? void 0 : t.config), { maxOpacity: 1 }), !(typeof document > "u") && (this.canvas = document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), this.canvas.width = Te, this.canvas.height = Ee, this.ctx.shadowColor = "rgba(255,255,255,0.5)", this.ctx.shadowBlur = 6, this.ctx.shadowOffsetX = 0, this.ctx.shadowOffsetY = 0, this.mesh.material.uniforms.map.value = new i.CanvasTexture(this.canvas), this.group.add(this.mesh), this.panoMesh.setProgress(1), this.panoMesh.setOpacity(0), this.group.add(this.panoMesh), this.state.enabled && this._enable({ userAction: !1 }));
2735
2735
  }
2736
2736
  load(e) {
2737
- return v(this, void 0, void 0, function* () {});
2737
+ return S(this, void 0, void 0, function* () {});
2738
2738
  }
2739
2739
  _enable(t) {
2740
2740
  this.mesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition), this.panoMesh.position.copy(this.five.observers[this.five.state.panoIndex].standingPosition), this.five.ready().then(() => {
@@ -2765,7 +2765,7 @@ var ve = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = u
2765
2765
  e.enabled ? this._enable(t) : this._disable(t);
2766
2766
  }
2767
2767
  }
2768
- }, Te = (e, t) => new we(e, t), Ee = class extends i.InstancedBufferGeometry {
2768
+ }, ke = (e, t) => new Oe(e, t), Ae = class extends i.InstancedBufferGeometry {
2769
2769
  constructor() {
2770
2770
  super(), this.type = "LineSegmentsGeometry", this.setIndex([
2771
2771
  0,
@@ -2884,10 +2884,10 @@ var ve = "\nvarying vec2 vUv;\nvarying vec3 vPosition;\nvoid main() {\n vUv = u
2884
2884
  }
2885
2885
  toJSON() {}
2886
2886
  };
2887
- Object.assign(Ee.prototype, { isLineSegmentsGeometry: !0 });
2887
+ Object.assign(Ae.prototype, { isLineSegmentsGeometry: !0 });
2888
2888
  //#endregion
2889
2889
  //#region build/plugins/DynamicPathLinePlugin/line2/LineMaterial.js
2890
- var De = {
2890
+ var je = {
2891
2891
  uniforms: i.UniformsUtils.merge([
2892
2892
  i.UniformsLib.common,
2893
2893
  i.UniformsLib.fog,
@@ -2911,12 +2911,12 @@ var De = {
2911
2911
  ]),
2912
2912
  vertexShader: "\n #include <common>\n #include <color_pars_vertex>\n #include <fog_pars_vertex>\n #include <logdepthbuf_pars_vertex>\n #include <clipping_planes_pars_vertex>\n\n uniform float linewidth;\n uniform vec2 resolution;\n uniform float totalLength;\n uniform float time;\n uniform float waveAmp;\n uniform float waveFreq;\n uniform float waveDir;\n uniform float startOffset;\n uniform float endOffset; // 新增\n\n attribute vec3 instanceStart;\n attribute vec3 instanceEnd;\n attribute float distanceProgress;\n attribute vec3 instanceColorStart;\n attribute vec3 instanceColorEnd;\n attribute float instanceDistanceStart;\n attribute float instanceDistanceEnd;\n\n varying vec2 vUv;\n varying float vDistanceProgress;\n\n #ifdef USE_DASH\n uniform float dashScale;\n varying float vLineDistance;\n #endif\n\n void trimSegment(const in vec4 start, inout vec4 end) {\n float a = projectionMatrix[2][2];\n float b = projectionMatrix[3][2];\n float nearEstimate = -0.5 * b / a;\n float alpha = (nearEstimate - start.z) / (end.z - start.z);\n end.xyz = mix(start.xyz, end.xyz, alpha);\n }\n\n void main() {\n #ifdef USE_COLOR\n vColor.xyz = (position.y < 0.5) ? instanceColorStart : instanceColorEnd;\n #endif\n\n #ifdef USE_DASH\n vLineDistance = (position.y < 0.5) ? dashScale * instanceDistanceStart : dashScale * instanceDistanceEnd;\n #endif\n\n float aspect = resolution.x / resolution.y;\n vUv = uv;\n\n // camera space\n vec4 start = modelViewMatrix * vec4(instanceStart, 1.0);\n vec4 end = modelViewMatrix * vec4(instanceEnd, 1.0);\n\n // ===== 波浪偏移逻辑 =====\n if (waveDir > 0.5) { // 0 表示不波动\n float adjustedDistanceStart = max(0.0, instanceDistanceStart - startOffset);\n float adjustedDistanceEnd = max(0.0, instanceDistanceEnd - startOffset);\n float adjustedTotalLength = totalLength - startOffset - endOffset;\n adjustedTotalLength = max(0.01, adjustedTotalLength);\n float phaseStart = adjustedDistanceStart / adjustedTotalLength;\n float phaseEnd = adjustedDistanceEnd / adjustedTotalLength;\n float waveStart = sin(phaseStart * waveFreq - time * 2.0) * waveAmp;\n float waveEnd = sin(phaseEnd * waveFreq - time * 2.0) * waveAmp;\n\n if (abs(waveDir - 1.0) < 0.1) { // X 方向\n start.x += waveStart;\n end.x += waveEnd;\n } else if (abs(waveDir - 2.0) < 0.1) { // Y 方向\n start.y += waveStart;\n end.y += waveEnd;\n } else if (abs(waveDir - 3.0) < 0.1) { // Z 方向\n start.z += waveStart;\n end.z += waveEnd;\n }\n }\n // ======================\n\n bool perspective = (projectionMatrix[2][3] == -1.0);\n if (perspective) {\n if (start.z < 0.0 && end.z >= 0.0) {\n trimSegment(start, end);\n } else if (end.z < 0.0 && start.z >= 0.0) {\n trimSegment(end, start);\n }\n }\n\n vec4 clipStart = projectionMatrix * start;\n vec4 clipEnd = projectionMatrix * end;\n\n vec2 ndcStart = clipStart.xy / clipStart.w;\n vec2 ndcEnd = clipEnd.xy / clipEnd.w;\n\n vec2 dir = ndcEnd - ndcStart;\n dir.x *= aspect;\n dir = normalize(dir);\n\n vec2 offset = vec2(dir.y, -dir.x);\n dir.x /= aspect;\n offset.x /= aspect;\n\n if (position.x < 0.0) offset *= -1.0;\n if (position.y < 0.0) {\n offset += -dir;\n } else if (position.y > 1.0) {\n offset += dir;\n }\n\n offset *= linewidth;\n offset /= resolution.y;\n\n vec4 clip = (position.y < 0.5) ? clipStart : clipEnd;\n offset *= clip.w;\n clip.xy += offset;\n \n gl_Position = clip;\n\n float adjustedDistanceEnd = max(0.0, instanceDistanceEnd - startOffset);\n float adjustedTotalLength = totalLength - startOffset - endOffset;\n adjustedTotalLength = max(0.01, adjustedTotalLength);\n vDistanceProgress = adjustedDistanceEnd / adjustedTotalLength;\n\n #include <logdepthbuf_vertex>\n #include <clipping_planes_vertex>\n #include <fog_vertex>\n }\n ",
2913
2913
  fragmentShader: "\n uniform vec3 diffuse;\n uniform float opacity;\n uniform float animationProgress;\n uniform float range;\n uniform float totalLength;\n varying float vDistanceProgress;\n\n #ifdef USE_DASH\n uniform float dashSize;\n uniform float gapSize;\n #endif\n\n varying float vLineDistance;\n #include <common>\n #include <color_pars_fragment>\n #include <fog_pars_fragment>\n #include <logdepthbuf_pars_fragment>\n #include <clipping_planes_pars_fragment>\n varying vec2 vUv;\n\n void main() {\n #include <clipping_planes_fragment>\n\n #ifdef USE_DASH\n if (vUv.y < -1.0 || vUv.y > 1.0) discard;\n if (mod(vLineDistance, dashSize + gapSize) > dashSize) discard;\n #endif\n\n if (abs(vUv.y) > 1.0) {\n float a = vUv.x;\n float b = (vUv.y > 0.0) ? vUv.y - 1.0 : vUv.y + 1.0;\n float len2 = a * a + b * b;\n if (len2 > 1.0) discard;\n }\n\n vec4 diffuseColor = vec4(diffuse, 1.0);\n #include <logdepthbuf_fragment>\n #include <color_fragment>\n\n gl_FragColor = vec4(diffuseColor.rgb, diffuseColor.a);\n\n float alpha = 0.0;\n float diff = (1.0 - 2.0 * range) * vDistanceProgress + range - animationProgress;\n // 使用绝对值计算,在animationProgress前后range范围内过渡\n if (abs(diff) < range) {\n alpha = 1.0 - abs(diff) / range;\n } else {\n alpha = 0.0;\n }\n\n alpha = clamp(alpha, 0.0, 1.0);\n gl_FragColor.a = alpha;\n\n // 增加开头和结尾的渐变alpha遮罩,固定物理距离为 1 米\n float startFadeLength = 1.0 / totalLength;\n if (vDistanceProgress < startFadeLength) {\n gl_FragColor.a *= vDistanceProgress / startFadeLength;\n }\n float endFadeStart = 1.0 - startFadeLength;\n if (vDistanceProgress > endFadeStart) {\n gl_FragColor.a *= (1.0 - vDistanceProgress) / startFadeLength;\n }\n gl_FragColor.a *= opacity;\n #include <tonemapping_fragment>\n #include <fog_fragment>\n #include <premultiplied_alpha_fragment>\n }\n "
2914
- }, Oe = class extends i.ShaderMaterial {
2914
+ }, Me = class extends i.ShaderMaterial {
2915
2915
  constructor(e) {
2916
2916
  super({
2917
- uniforms: i.UniformsUtils.clone(De.uniforms),
2918
- vertexShader: De.vertexShader,
2919
- fragmentShader: De.fragmentShader,
2917
+ uniforms: i.UniformsUtils.clone(je.uniforms),
2918
+ vertexShader: je.vertexShader,
2919
+ fragmentShader: je.fragmentShader,
2920
2920
  clipping: !0
2921
2921
  }), this.type = "LineMaterial", this.dashed = !1, Object.defineProperties(this, {
2922
2922
  color: {
@@ -3057,12 +3057,12 @@ var De = {
3057
3057
  }), this.setValues(e);
3058
3058
  }
3059
3059
  };
3060
- Object.assign(Oe.prototype, { isLineMaterial: !0 });
3060
+ Object.assign(Me.prototype, { isLineMaterial: !0 });
3061
3061
  //#endregion
3062
3062
  //#region build/plugins/DynamicPathLinePlugin/line2/LineSegments2.js
3063
- var ke = class extends i.Mesh {
3063
+ var Ne = class extends i.Mesh {
3064
3064
  constructor(e, t) {
3065
- super(), this.type = "LineSegments2", this.geometry = e === void 0 ? new Ee() : e, this.material = t === void 0 ? new Oe({ color: Math.random() * 16777215 }) : t;
3065
+ super(), this.type = "LineSegments2", this.geometry = e === void 0 ? new Ae() : e, this.material = t === void 0 ? new Me({ color: Math.random() * 16777215 }) : t;
3066
3066
  }
3067
3067
  computeLineDistances() {
3068
3068
  let e = this.geometry, t = e.attributes.instanceStart, n = e.attributes.instanceEnd, r = new Float32Array(2 * t.count), a = new i.Vector3(), o = new i.Vector3(), s = 0;
@@ -3105,18 +3105,18 @@ var ke = class extends i.Mesh {
3105
3105
  }
3106
3106
  }
3107
3107
  };
3108
- Object.assign(ke.prototype, { isLineSegments2: !0 });
3108
+ Object.assign(Ne.prototype, { isLineSegments2: !0 });
3109
3109
  //#endregion
3110
3110
  //#region build/plugins/DynamicPathLinePlugin/line2/Line2.js
3111
- var Ae = class extends ke {
3111
+ var Pe = class extends Ne {
3112
3112
  constructor(e, t) {
3113
3113
  super(e, t), this.type = "Line2";
3114
3114
  }
3115
3115
  };
3116
- Object.assign(Ae.prototype, { isLine2: !0 });
3116
+ Object.assign(Pe.prototype, { isLine2: !0 });
3117
3117
  //#endregion
3118
3118
  //#region build/plugins/DynamicPathLinePlugin/line2/LineGeometry.js
3119
- var je = class extends Ee {
3119
+ var Fe = class extends Ae {
3120
3120
  constructor() {
3121
3121
  super(), this.type = "LineGeometry";
3122
3122
  }
@@ -3142,10 +3142,10 @@ var je = class extends Ee {
3142
3142
  return this;
3143
3143
  }
3144
3144
  };
3145
- Object.assign(je.prototype, { isLineGeometry: !0 });
3145
+ Object.assign(Fe.prototype, { isLineGeometry: !0 });
3146
3146
  //#endregion
3147
3147
  //#region build/plugins/DynamicPathLinePlugin/Controller.js
3148
- var Me = class extends m.Controller {
3148
+ var Ie = class extends v.Controller {
3149
3149
  get config() {
3150
3150
  return Object.assign({}, this._config);
3151
3151
  }
@@ -3185,7 +3185,7 @@ var Me = class extends m.Controller {
3185
3185
  }), this.state.enabled && this._enable({ userAction: !1 });
3186
3186
  }
3187
3187
  load(e, t) {
3188
- return v(this, void 0, void 0, function* () {
3188
+ return S(this, void 0, void 0, function* () {
3189
3189
  this.clearAllPaths(), e.paths.forEach((e) => {
3190
3190
  var t, n;
3191
3191
  let r = e.points.map((e) => new i.Vector3(e.x, e.y, e.z));
@@ -3319,9 +3319,9 @@ var Me = class extends m.Controller {
3319
3319
  let r = (n - (c - 1) / 2) * l, a = e.points.map((a, o) => {
3320
3320
  let s = o / (e.points.length - 1), c = t.getTangent(s).normalize(), l = new i.Vector3().crossVectors(this.up, c).normalize(), u = r * Math.abs((o - e.points.length / 2) / e.points.length - .5) * -1;
3321
3321
  return a.clone().addScaledVector(l, r + u).add(new i.Vector3(0, f + .02 * (n % 2 == 0 ? 1 : 0), 0));
3322
- }), g = new i.CatmullRomCurve3(a), { positions: _ } = this.getPositions(g, s), v = new je();
3322
+ }), g = new i.CatmullRomCurve3(a), { positions: _ } = this.getPositions(g, s), v = new Fe();
3323
3323
  v.setPositions(_);
3324
- let y = new Oe({
3324
+ let y = new Me({
3325
3325
  color: m,
3326
3326
  linewidth: p * (n % 2 == 0 ? 1 : .5),
3327
3327
  transparent: !0,
@@ -3333,7 +3333,7 @@ var Me = class extends m.Controller {
3333
3333
  startOffset: { value: 0 },
3334
3334
  range: { value: h }
3335
3335
  });
3336
- let b = new Ae(v, y);
3336
+ let b = new Pe(v, y);
3337
3337
  b.computeLineDistances(), o.push(b), this.five.scene.add(b);
3338
3338
  }
3339
3339
  return o;
@@ -3649,14 +3649,14 @@ var Me = class extends m.Controller {
3649
3649
  dispose() {
3650
3650
  this.pause(), this.clearAllPaths(), this.hooks.emit("dispose");
3651
3651
  }
3652
- }, Ne = (e, t) => new Me(e, t), Pe = "#five-CSS3DPlugin {\n position: absolute;\n pointer-events: none;\n user-select: none;\n transform-origin: left top;\n}\n\n.five-CSS3DPlugin-X {\n --timeout: 300ms;\n transition: opacity ease-in-out var(--timeout);\n}\n\n.five-CSS3DPlugin-hidden {\n opacity: 0;\n}\n\n#five-CSS3DPlugin .five-CSS3DPlugin-hidden * {\n pointer-events: none;\n}";
3652
+ }, Le = (e, t) => new Ie(e, t), Re = "#five-CSS3DPlugin {\n position: absolute;\n pointer-events: none;\n user-select: none;\n transform-origin: left top;\n}\n\n.five-CSS3DPlugin-X {\n --timeout: 300ms;\n transition: opacity ease-in-out var(--timeout);\n}\n\n.five-CSS3DPlugin-hidden {\n opacity: 0;\n}\n\n#five-CSS3DPlugin .five-CSS3DPlugin-hidden * {\n pointer-events: none;\n}";
3653
3653
  //#endregion
3654
3654
  //#region build/plugins/utils/uuid.js
3655
- function Fe() {
3655
+ function ze() {
3656
3656
  return ((1 + Math.random()) * parseInt("10000", 36) | 0).toString(36).substring(1);
3657
3657
  }
3658
- function Ie() {
3659
- let e = Fe() + Fe().substr(0, 2) + Date.now().toString(36), t = e.length, n = "", r = Math.floor(Math.random() * Math.pow(2, t));
3658
+ function Be() {
3659
+ let e = ze() + ze().substr(0, 2) + Date.now().toString(36), t = e.length, n = "", r = Math.floor(Math.random() * Math.pow(2, t));
3660
3660
  for (let i = 0; i < t; i++) {
3661
3661
  let t = e[i];
3662
3662
  t >= "a" && t <= "z" && r >> i & 1 && (t = t.toUpperCase()), n += t;
@@ -3665,7 +3665,7 @@ function Ie() {
3665
3665
  }
3666
3666
  //#endregion
3667
3667
  //#region build/plugins/CSS3DPlugin/Controller.js
3668
- var Le = class extends _.Controller {
3668
+ var Ve = class extends x.Controller {
3669
3669
  updateState(e, t) {
3670
3670
  let n = this.state;
3671
3671
  this.state = Object.assign(Object.assign({}, this.state), e), this.hooks.emit("stateChange", {
@@ -3675,10 +3675,10 @@ var Le = class extends _.Controller {
3675
3675
  });
3676
3676
  }
3677
3677
  constructor(e, t) {
3678
- super(e), this.scene = new i.Scene(), this.styleSheet = new CSSStyleSheet(), this.camera = new i.PerspectiveCamera(), this.cacheMap = /* @__PURE__ */ new WeakMap(), this.createCSS3DObject = ({ id: e = Ie(), name: t, innerHTML: n, sprite: r, normal: a, position: o, scalar: s = .00216, visible: c = !0, timeout: l }) => {
3678
+ super(e), this.scene = new i.Scene(), this.styleSheet = new CSSStyleSheet(), this.camera = new i.PerspectiveCamera(), this.cacheMap = /* @__PURE__ */ new WeakMap(), this.createCSS3DObject = ({ id: e = Be(), name: t, innerHTML: n, sprite: r, normal: a, position: o, scalar: s = .00216, visible: c = !0, timeout: l }) => {
3679
3679
  let u = document.createElement("div");
3680
3680
  u.className = "five-CSS3DPlugin-X", c || u.classList.add("five-CSS3DPlugin-hidden"), l && u.style.setProperty("--timeout", l + "ms"), u.innerHTML = n;
3681
- let d = r ? new M(u) : new le(u);
3681
+ let d = r ? new de(u) : new P(u);
3682
3682
  if (d.userData = {
3683
3683
  id: e,
3684
3684
  _visible: c,
@@ -3711,13 +3711,13 @@ var Le = class extends _.Controller {
3711
3711
  this.five.off("render.prepare", this.render), (e = this.resizeObserver) == null || e.disconnect(), this.resizeObserver = void 0;
3712
3712
  }, this.dispose = () => {
3713
3713
  this.removeAll(), this._disable({ userAction: !1 });
3714
- }, this.five = e, this.renderer = new F(), this.renderer.domElement.id = "five-CSS3DPlugin", this.styleSheet.replaceSync(Pe), /Chrome/.test(navigator.userAgent) && !/Edge|Edg|OPR/.test(navigator.userAgent) && this.styleSheet.insertRule("#five-CSS3DPlugin * { transform-style: preserve-3d; }"), document && document.adoptedStyleSheets.push(this.styleSheet), this.state = Object.assign({
3714
+ }, this.five = e, this.renderer = new L(), this.renderer.domElement.id = "five-CSS3DPlugin", this.styleSheet.replaceSync(Re), /Chrome/.test(navigator.userAgent) && !/Edge|Edg|OPR/.test(navigator.userAgent) && this.styleSheet.insertRule("#five-CSS3DPlugin * { transform-style: preserve-3d; }"), document && document.adoptedStyleSheets.push(this.styleSheet), this.state = Object.assign({
3715
3715
  enabled: !0,
3716
3716
  visible: !0
3717
3717
  }, t == null ? void 0 : t.initialState), this.state.enabled ? this._enable({ userAction: !1 }) : this.styleSheet.disabled = !0;
3718
3718
  }
3719
3719
  load(e) {
3720
- return v(this, void 0, void 0, function* () {});
3720
+ return S(this, void 0, void 0, function* () {});
3721
3721
  }
3722
3722
  appendToFiveContainer() {
3723
3723
  var e;
@@ -3739,7 +3739,7 @@ var Le = class extends _.Controller {
3739
3739
  }
3740
3740
  remove(e) {
3741
3741
  this.scene.remove(e), e.traverse((e) => {
3742
- e instanceof le && e.element.remove();
3742
+ e instanceof P && e.element.remove();
3743
3743
  }), this.renderer.updateSpriteSet(this.scene), this.forceRender();
3744
3744
  }
3745
3745
  removeAll() {
@@ -3777,9 +3777,9 @@ var Le = class extends _.Controller {
3777
3777
  hide(e) {
3778
3778
  this.renderer.domElement.style.display = "none", this.updateState({ visible: !1 }, !0);
3779
3779
  }
3780
- }, Re = (e, t) => new Le(e, t), ze = class extends c {
3780
+ }, He = (e, t) => new Ve(e, t), Ue = class extends f {
3781
3781
  constructor(e = document.createElement("div")) {
3782
- super(), this.isCSS2DObject = !0, this.element = e, this.element.style.position = "absolute", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.center = new f(.5, .5), this.addEventListener("removed", function() {
3782
+ super(), this.isCSS2DObject = !0, this.element = e, this.element.style.position = "absolute", this.element.style.userSelect = "none", this.element.setAttribute("draggable", !1), this.center = new g(.5, .5), this.addEventListener("removed", function() {
3783
3783
  this.traverse(function(e) {
3784
3784
  e.element && e.element instanceof Element && e.element.parentNode !== null && e.element.remove();
3785
3785
  });
@@ -3788,7 +3788,7 @@ var Le = class extends _.Controller {
3788
3788
  copy(e, t) {
3789
3789
  return super.copy(e, t), this.element = e.element.cloneNode(!0), this.center = e.center.clone(), this;
3790
3790
  }
3791
- }, Be = new p(), Ve = new s(), He = new s(), Ue = new p(), We = new p(), Ge = class {
3791
+ }, We = new _(), Ge = new d(), Ke = new d(), qe = new _(), Je = new _(), Ye = class {
3792
3792
  constructor(e = {}) {
3793
3793
  let t = this, n, r, i, a, o = { objects: /* @__PURE__ */ new WeakMap() }, s = e.element === void 0 ? document.createElement("div") : e.element;
3794
3794
  s.style.overflow = "hidden", this.domElement = s, this.sortObjects = !0, this.getSize = function() {
@@ -3797,7 +3797,7 @@ var Le = class extends _.Controller {
3797
3797
  height: r
3798
3798
  };
3799
3799
  }, this.render = function(e, n) {
3800
- e.autoUpdate === !0 && e.updateMatrixWorld(), n.parent === null && n.updateMatrixWorld(), Ve.copy(n.matrixWorldInverse), He.multiplyMatrices(n.projectionMatrix, Ve), l(e, e, n), t.sortObjects && f(e);
3800
+ e.autoUpdate === !0 && e.updateMatrixWorld(), n.parent === null && n.updateMatrixWorld(), Ge.copy(n.matrixWorldInverse), Ke.multiplyMatrices(n.projectionMatrix, Ge), l(e, e, n), t.sortObjects && f(e);
3801
3801
  }, this.setSize = function(e, t) {
3802
3802
  n = e, r = t, i = n / 2, a = r / 2, s.style.width = e + "px", s.style.height = t + "px";
3803
3803
  };
@@ -3811,16 +3811,16 @@ var Le = class extends _.Controller {
3811
3811
  return;
3812
3812
  }
3813
3813
  if (e.isCSS2DObject) {
3814
- Be.setFromMatrixPosition(e.matrixWorld), Be.applyMatrix4(He);
3815
- let c = Be.z >= -1 && Be.z <= 1 && e.layers.test(r.layers) === !0, l = e.element;
3816
- l.style.display = c === !0 ? "" : "none", c === !0 && (e.onBeforeRender(t, n, r), l.style.transform = "translate(" + -100 * e.center.x + "%," + -100 * e.center.y + "%)translate(" + (Be.x * i + i) + "px," + (-Be.y * a + a) + "px)", l.parentNode !== s && s.appendChild(l), e.onAfterRender(t, n, r));
3814
+ We.setFromMatrixPosition(e.matrixWorld), We.applyMatrix4(Ke);
3815
+ let c = We.z >= -1 && We.z <= 1 && e.layers.test(r.layers) === !0, l = e.element;
3816
+ l.style.display = c === !0 ? "" : "none", c === !0 && (e.onBeforeRender(t, n, r), l.style.transform = "translate(" + -100 * e.center.x + "%," + -100 * e.center.y + "%)translate(" + (We.x * i + i) + "px," + (-We.y * a + a) + "px)", l.parentNode !== s && s.appendChild(l), e.onAfterRender(t, n, r));
3817
3817
  let d = { distanceToCameraSquared: u(r, e) };
3818
3818
  o.objects.set(e, d);
3819
3819
  }
3820
3820
  for (let t = 0, i = e.children.length; t < i; t++) l(e.children[t], n, r);
3821
3821
  }
3822
3822
  function u(e, t) {
3823
- return Ue.setFromMatrixPosition(e.matrixWorld), We.setFromMatrixPosition(t.matrixWorld), Ue.distanceToSquared(We);
3823
+ return qe.setFromMatrixPosition(e.matrixWorld), Je.setFromMatrixPosition(t.matrixWorld), qe.distanceToSquared(Je);
3824
3824
  }
3825
3825
  function d(e) {
3826
3826
  let t = [];
@@ -3835,7 +3835,7 @@ var Le = class extends _.Controller {
3835
3835
  for (let e = 0, r = t.length; e < r; e++) t[e].element.style.zIndex = n - e;
3836
3836
  }
3837
3837
  }
3838
- }, Ke = "#five-CSS2DPlugin {\n position: absolute;\n pointer-events: none;\n user-select: none;\n top: 0;\n left: 0;\n}\n\n.five-CSS2DPlugin-X {\n --timeout: 300ms;\n transition: opacity ease-in-out var(--timeout);\n}\n\n.five-CSS2DPlugin-hidden {\n opacity: 0;\n}\n\n#five-CSS2DPlugin .five-CSS2DPlugin-hidden * {\n pointer-events: none;\n}\n", qe = class extends _.Controller {
3838
+ }, Xe = "#five-CSS2DPlugin {\n position: absolute;\n pointer-events: none;\n user-select: none;\n top: 0;\n left: 0;\n}\n\n.five-CSS2DPlugin-X {\n --timeout: 300ms;\n transition: opacity ease-in-out var(--timeout);\n}\n\n.five-CSS2DPlugin-hidden {\n opacity: 0;\n}\n\n#five-CSS2DPlugin .five-CSS2DPlugin-hidden * {\n pointer-events: none;\n}\n", Ze = class extends x.Controller {
3839
3839
  updateState(e, t) {
3840
3840
  let n = this.state;
3841
3841
  this.state = Object.assign(Object.assign({}, this.state), e), this.hooks.emit("stateChange", {
@@ -3845,10 +3845,10 @@ var Le = class extends _.Controller {
3845
3845
  });
3846
3846
  }
3847
3847
  constructor(e, t) {
3848
- super(e), this.scene = new i.Scene(), this.styleSheet = new CSSStyleSheet(), this.camera = new i.PerspectiveCamera(), this.createCSS2DObject = ({ id: e = Ie(), name: t, innerHTML: n, center: r, position: i, visible: a = !0, timeout: o }) => {
3848
+ super(e), this.scene = new i.Scene(), this.styleSheet = new CSSStyleSheet(), this.camera = new i.PerspectiveCamera(), this.createCSS2DObject = ({ id: e = Be(), name: t, innerHTML: n, center: r, position: i, visible: a = !0, timeout: o }) => {
3849
3849
  let s = document.createElement("div");
3850
3850
  s.className = "five-CSS2DPlugin-X", a || s.classList.add("five-CSS2DPlugin-hidden"), o && s.style.setProperty("--timeout", o + "ms"), s.innerHTML = n;
3851
- let c = new ze(s);
3851
+ let c = new Ue(s);
3852
3852
  return c.userData = {
3853
3853
  id: e,
3854
3854
  _visible: a,
@@ -3875,13 +3875,13 @@ var Le = class extends _.Controller {
3875
3875
  this.five.off("render.prepare", this.render), (e = this.resizeObserver) == null || e.disconnect(), this.resizeObserver = void 0;
3876
3876
  }, this.dispose = () => {
3877
3877
  this.removeAll(), this._disable({ userAction: !1 });
3878
- }, this.five = e, this.renderer = new Ge(), this.renderer.domElement.id = "five-CSS2DPlugin", this.styleSheet.replaceSync(Ke), document && document.adoptedStyleSheets.push(this.styleSheet), this.state = Object.assign({
3878
+ }, this.five = e, this.renderer = new Ye(), this.renderer.domElement.id = "five-CSS2DPlugin", this.styleSheet.replaceSync(Xe), document && document.adoptedStyleSheets.push(this.styleSheet), this.state = Object.assign({
3879
3879
  enabled: !0,
3880
3880
  visible: !0
3881
3881
  }, t == null ? void 0 : t.initialState), this.state.enabled ? this._enable({ userAction: !1 }) : this.styleSheet.disabled = !0;
3882
3882
  }
3883
3883
  load(e) {
3884
- return v(this, void 0, void 0, function* () {});
3884
+ return S(this, void 0, void 0, function* () {});
3885
3885
  }
3886
3886
  appendToFiveContainer() {
3887
3887
  var e;
@@ -3903,7 +3903,7 @@ var Le = class extends _.Controller {
3903
3903
  }
3904
3904
  remove(e) {
3905
3905
  this.scene.remove(e), e.traverse((e) => {
3906
- e instanceof ze && e.element.remove();
3906
+ e instanceof Ue && e.element.remove();
3907
3907
  }), this.render();
3908
3908
  }
3909
3909
  removeAll() {
@@ -3941,10 +3941,10 @@ var Le = class extends _.Controller {
3941
3941
  hide(e) {
3942
3942
  this.renderer.domElement.style.display = "none", this.updateState({ visible: !1 }, !0);
3943
3943
  }
3944
- }, Je = (e, t) => new qe(e, t);
3944
+ }, Qe = (e, t) => new Ze(e, t);
3945
3945
  //#endregion
3946
3946
  //#region build/plugins/Object3DHelperPlugin/utils/setObjectQuaternion.js
3947
- function Ye(e, t, n) {
3947
+ function $e(e, t, n) {
3948
3948
  if (n) {
3949
3949
  let r = new i.Vector3().subVectors(e.position, n).applyQuaternion(e.quaternion.clone().inverse()).applyQuaternion(t).add(n);
3950
3950
  e.position.copy(r);
@@ -3953,12 +3953,12 @@ function Ye(e, t, n) {
3953
3953
  }
3954
3954
  //#endregion
3955
3955
  //#region build/five/utils/isNil.js
3956
- function Xe(e) {
3956
+ function et(e) {
3957
3957
  return e == null;
3958
3958
  }
3959
3959
  //#endregion
3960
3960
  //#region build/plugins/Object3DHelperPlugin/Helper/BaseHelper.js
3961
- var Ze = class extends i.Object3D {
3961
+ var W = class extends i.Object3D {
3962
3962
  removeChildren() {
3963
3963
  for (; this.children.length > 0;) this.remove(this.children[0]);
3964
3964
  return this;
@@ -4007,7 +4007,7 @@ var Ze = class extends i.Object3D {
4007
4007
  return e.intersectObject(this, !0, t);
4008
4008
  }
4009
4009
  initialPosition(e) {
4010
- this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" || this.positionFrom === "boundingSphere" ? this.position.copy(new i.Box3().expandByObject(this.originObject3D).getCenter(new i.Vector3())) : this.positionFrom instanceof p ? this.position.copy(this.positionFrom) : this.positionFrom instanceof Function && this.position.copy(this.positionFrom(this.originObject3D)), e && this.position.add(e);
4010
+ this.positionFrom === "objectPosition" ? this.position.copy(this.originObject3D.position) : this.positionFrom === "boundingBox" || this.positionFrom === "boundingSphere" ? this.position.copy(new i.Box3().expandByObject(this.originObject3D).getCenter(new i.Vector3())) : this.positionFrom instanceof _ ? this.position.copy(this.positionFrom) : this.positionFrom instanceof Function && this.position.copy(this.positionFrom(this.originObject3D)), e && this.position.add(e);
4011
4011
  }
4012
4012
  setScaleByCamera(e) {}
4013
4013
  initQuaternion(e) {
@@ -4029,7 +4029,7 @@ var Ze = class extends i.Object3D {
4029
4029
  a,
4030
4030
  o,
4031
4031
  s
4032
- ].filter((e) => !Xe(e)).length >= 2) {
4032
+ ].filter((e) => !et(e)).length >= 2) {
4033
4033
  a || (a = new i.Vector3().crossVectors(o, s).normalize()), o || (o = new i.Vector3().crossVectors(a, s).normalize()), s || (s = new i.Vector3().crossVectors(a, o).normalize()), a.applyQuaternion(this.quaternion), o.applyQuaternion(this.quaternion), s.applyQuaternion(this.quaternion);
4034
4034
  let e = new i.Matrix4().makeBasis(a, o, s), t = new i.Quaternion().setFromRotationMatrix(e);
4035
4035
  this.quaternion.copy(t);
@@ -4040,11 +4040,11 @@ var Ze = class extends i.Object3D {
4040
4040
  this.scale.applyMatrix4(e);
4041
4041
  }
4042
4042
  setHelperQuaternion(e, t) {
4043
- this.initQuaternion(), t ? Ye(this, this.quaternion.clone().premultiply(e), t) : this.quaternion.premultiply(e);
4043
+ this.initQuaternion(), t ? $e(this, this.quaternion.clone().premultiply(e), t) : this.quaternion.premultiply(e);
4044
4044
  }
4045
4045
  applyHelperQuaternion(e, t) {
4046
4046
  if (t) {
4047
- let n = new p().subVectors(this.position, t).applyQuaternion(e).add(t);
4047
+ let n = new _().subVectors(this.position, t).applyQuaternion(e).add(t);
4048
4048
  this.position.copy(n);
4049
4049
  }
4050
4050
  this.applyQuaternion(e);
@@ -4052,29 +4052,29 @@ var Ze = class extends i.Object3D {
4052
4052
  dispose() {
4053
4053
  this.removeFromParent();
4054
4054
  }
4055
- }, Qe = class extends Ze {}, $e = class extends Ze {}, et = class extends Ze {}, W = class extends i.Group {
4055
+ }, tt = class extends W {}, nt = class extends W {}, rt = class extends W {}, it = class extends i.Group {
4056
4056
  constructor(e) {
4057
4057
  super(), this.direction = e || "x";
4058
4058
  }
4059
4059
  };
4060
4060
  i.Line;
4061
- var tt = class extends i.Mesh {
4061
+ var at = class extends i.Mesh {
4062
4062
  constructor(e, t, n) {
4063
4063
  super(e, t), this.direction = n || "x";
4064
4064
  }
4065
- }, nt = {
4065
+ }, ot = {
4066
4066
  X: 16730698,
4067
4067
  Y: 54927,
4068
4068
  Z: 3368703
4069
4069
  }, G = class {
4070
4070
  static get X() {
4071
- return new i.Color(nt.X).convertSRGBToLinear().clone();
4071
+ return new i.Color(ot.X).convertSRGBToLinear().clone();
4072
4072
  }
4073
4073
  static get Y() {
4074
- return new i.Color(nt.Y).convertSRGBToLinear().clone();
4074
+ return new i.Color(ot.Y).convertSRGBToLinear().clone();
4075
4075
  }
4076
4076
  static get Z() {
4077
- return new i.Color(nt.Z).convertSRGBToLinear().clone();
4077
+ return new i.Color(ot.Z).convertSRGBToLinear().clone();
4078
4078
  }
4079
4079
  }, K = {
4080
4080
  ROTATE_HELPER: 9992,
@@ -4085,7 +4085,7 @@ var tt = class extends i.Mesh {
4085
4085
  MOVE_HELPER_CENTER: 10002,
4086
4086
  DRAG_GUIDE_LINE: 10003,
4087
4087
  DRAG_FACE_PATCH: 10004
4088
- }, rt = class extends W {
4088
+ }, q = class extends it {
4089
4089
  constructor(e) {
4090
4090
  var t;
4091
4091
  super(e.direction), this.lineHeight = .5, this.arrowHeight = .1, this.name = "ArrowGroup";
@@ -4096,15 +4096,15 @@ var tt = class extends i.Mesh {
4096
4096
  depthTest: !1,
4097
4097
  depthWrite: !1
4098
4098
  });
4099
- this.arrow = new tt(new i.ConeGeometry(.04, this.arrowHeight, 32), r(), e.direction), this.arrow.name = `arrow-${e.direction}`, this.arrow.renderOrder = K.MOVE_HELPER_ARROW, this.arrowNeg = new tt(new i.ConeGeometry(.04, this.arrowHeight, 32), r(), e.direction), this.arrowNeg.name = `arrow-neg-${e.direction}`, this.arrowNeg.renderOrder = K.MOVE_HELPER_ARROW;
4099
+ this.arrow = new at(new i.ConeGeometry(.04, this.arrowHeight, 32), r(), e.direction), this.arrow.name = `arrow-${e.direction}`, this.arrow.renderOrder = K.MOVE_HELPER_ARROW, this.arrowNeg = new at(new i.ConeGeometry(.04, this.arrowHeight, 32), r(), e.direction), this.arrowNeg.name = `arrow-neg-${e.direction}`, this.arrowNeg.renderOrder = K.MOVE_HELPER_ARROW;
4100
4100
  let a = .004;
4101
- this.line = new tt(new i.CylinderGeometry(a, a, this.lineHeight, 32), r(), e.direction), this.line.name = `line-${e.direction}`, this.line.renderOrder = K.MOVE_HELPER_ARROW, this.formatGeometries(), this.add(this.arrow, this.arrowNeg, this.line);
4101
+ this.line = new at(new i.CylinderGeometry(a, a, this.lineHeight, 32), r(), e.direction), this.line.name = `line-${e.direction}`, this.line.renderOrder = K.MOVE_HELPER_ARROW, this.formatGeometries(), this.add(this.arrow, this.arrowNeg, this.line);
4102
4102
  }
4103
4103
  formatGeometries() {
4104
4104
  let e = this.lineHeight, t = this.arrowHeight;
4105
4105
  this.arrow.geometry.translate(0, e + t / 2, 0), this.arrowNeg.geometry.rotateZ(Math.PI), this.arrowNeg.geometry.translate(0, -(e + t / 2), 0), this.line.geometry.translate(0, e / 2, 0), this.direction === "x" ? (this.arrow.geometry.rotateX(Math.PI / 2), this.arrow.geometry.rotateY(Math.PI / 2), this.arrowNeg.geometry.rotateX(Math.PI / 2), this.arrowNeg.geometry.rotateY(Math.PI / 2), this.line.geometry.rotateX(Math.PI / 2), this.line.geometry.rotateY(Math.PI / 2)) : this.direction === "z" && (this.arrow.geometry.rotateX(Math.PI / 2), this.arrowNeg.geometry.rotateX(Math.PI / 2), this.line.geometry.rotateX(Math.PI / 2));
4106
4106
  }
4107
- }, it = class extends W {
4107
+ }, J = class extends it {
4108
4108
  constructor(e) {
4109
4109
  var t, n;
4110
4110
  super("plane"), this.name = "CenterHandle", this.faceNormals = [
@@ -4146,7 +4146,7 @@ var tt = class extends i.Mesh {
4146
4146
  this.faceMaterials[e.index].color.copy(a[n]);
4147
4147
  });
4148
4148
  }
4149
- }, at = class extends W {
4149
+ }, Y = class extends it {
4150
4150
  constructor(e) {
4151
4151
  var t, n, r;
4152
4152
  super(e.direction), this.name = "PlaneHandle";
@@ -4174,32 +4174,32 @@ var tt = class extends i.Mesh {
4174
4174
  };
4175
4175
  //#endregion
4176
4176
  //#region build/plugins/Object3DHelperPlugin/utils/calculateScaleByCamera.js
4177
- function q(e, t, n) {
4177
+ function st(e, t, n) {
4178
4178
  let r = e.position.distanceTo(t), i = e.fov, a = e.distance || 3, o = r / 3, s = i / 90, c = a / 3, l = o * s * c, u = (n == null ? void 0 : n.min) || .6, d = n == null ? void 0 : n.max;
4179
4179
  return u && l < u ? u : d && l > d ? d : l;
4180
4180
  }
4181
4181
  //#endregion
4182
4182
  //#region build/plugins/Object3DHelperPlugin/utils/getOrthographicCameraDirection.js
4183
- function ot(e) {
4183
+ function X(e) {
4184
4184
  let { latitude: t, longitude: n } = e, r = new i.Vector3();
4185
- return J - t < .03 ? r.set(0, 1, 0) : Y(0, n) ? r.set(0, 0, 1) : Y(Math.PI, n) ? r.set(0, 0, -1) : Y(J, n) ? r.set(1, 0, 0) : r.set(-1, 0, 0), r;
4185
+ return Z - t < .03 ? r.set(0, 1, 0) : ct(0, n) ? r.set(0, 0, 1) : ct(Math.PI, n) ? r.set(0, 0, -1) : ct(Z, n) ? r.set(1, 0, 0) : r.set(-1, 0, 0), r;
4186
4186
  }
4187
- var J = Number((Math.PI / 2).toFixed(5));
4188
- function Y(e, t) {
4187
+ var Z = Number((Math.PI / 2).toFixed(5));
4188
+ function ct(e, t) {
4189
4189
  return typeof e != "number" || typeof t != "number" ? !1 : Math.abs(e - t) < .001;
4190
4190
  }
4191
4191
  //#endregion
4192
4192
  //#region build/plugins/Object3DHelperPlugin/utils/tipsDom.js
4193
- function st(e, t) {
4194
- return X(document.createElement(t == null ? "div" : t), e);
4193
+ function lt(e, t) {
4194
+ return ut(document.createElement(t == null ? "div" : t), e);
4195
4195
  }
4196
- function X(e, t) {
4196
+ function ut(e, t) {
4197
4197
  if (!t) return e;
4198
4198
  for (let n in t) n && t[n] && (e.style[n] = t[n]);
4199
4199
  return e;
4200
4200
  }
4201
- function Z(e) {
4202
- let t = st(Object.assign({
4201
+ function Q(e) {
4202
+ let t = lt(Object.assign({
4203
4203
  position: "absolute",
4204
4204
  display: "block",
4205
4205
  borderRadius: "4px",
@@ -4231,27 +4231,27 @@ function Z(e) {
4231
4231
  }
4232
4232
  //#endregion
4233
4233
  //#region build/plugins/Object3DHelperPlugin/Helper/MoveHelper.js
4234
- var ct = class extends Qe {
4234
+ var dt = class extends tt {
4235
4235
  constructor(e, t) {
4236
- super(e, t), this.name = "MoveHelper", (t == null ? void 0 : t.xArrowEnable) !== !1 && (this.xArrow = new rt({
4236
+ super(e, t), this.name = "MoveHelper", (t == null ? void 0 : t.xArrowEnable) !== !1 && (this.xArrow = new q({
4237
4237
  direction: "x",
4238
4238
  color: G.X
4239
- })), (t == null ? void 0 : t.yArrowEnable) !== !1 && (this.yArrow = new rt({
4239
+ })), (t == null ? void 0 : t.yArrowEnable) !== !1 && (this.yArrow = new q({
4240
4240
  direction: "y",
4241
4241
  color: G.Y
4242
- })), (t == null ? void 0 : t.zArrowEnable) !== !1 && (this.zArrow = new rt({
4242
+ })), (t == null ? void 0 : t.zArrowEnable) !== !1 && (this.zArrow = new q({
4243
4243
  direction: "z",
4244
4244
  color: G.Z
4245
- })), (t == null ? void 0 : t.centerHandleEnable) !== !1 && (this.centerHandle = new it()), (t == null ? void 0 : t.xyPlaneEnable) !== !1 && (this.xyPlane = new at({
4245
+ })), (t == null ? void 0 : t.centerHandleEnable) !== !1 && (this.centerHandle = new J()), (t == null ? void 0 : t.xyPlaneEnable) !== !1 && (this.xyPlane = new Y({
4246
4246
  direction: "xy",
4247
4247
  color: G.Z
4248
- })), (t == null ? void 0 : t.xzPlaneEnable) !== !1 && (this.xzPlane = new at({
4248
+ })), (t == null ? void 0 : t.xzPlaneEnable) !== !1 && (this.xzPlane = new Y({
4249
4249
  direction: "xz",
4250
4250
  color: G.Y
4251
- })), (t == null ? void 0 : t.yzPlaneEnable) !== !1 && (this.yzPlane = new at({
4251
+ })), (t == null ? void 0 : t.yzPlaneEnable) !== !1 && (this.yzPlane = new Y({
4252
4252
  direction: "yz",
4253
4253
  color: G.X
4254
- })), t != null && t.container && (t == null ? void 0 : t.moveTipsEnable) !== !1 && (this.container = t.container, this.moveTips = Z({ display: "none" }), this.container.appendChild(this.moveTips.element)), this.add(...[
4254
+ })), t != null && t.container && (t == null ? void 0 : t.moveTipsEnable) !== !1 && (this.container = t.container, this.moveTips = Q({ display: "none" }), this.container.appendChild(this.moveTips.element)), this.add(...[
4255
4255
  this.xArrow,
4256
4256
  this.yArrow,
4257
4257
  this.zArrow,
@@ -4263,7 +4263,7 @@ var ct = class extends Qe {
4263
4263
  }
4264
4264
  update(e) {
4265
4265
  if (this.xArrow && (this.xArrow.visible = !0), this.yArrow && (this.yArrow.visible = !0), this.zArrow && (this.zArrow.visible = !0), this.centerHandle && this.centerHandle.update(e), e.type === "OrthographicCamera") {
4266
- let t = new i.Vector3(1, 0, 0).applyQuaternion(this.quaternion), n = new i.Vector3(0, 1, 0).applyQuaternion(this.quaternion), r = new i.Vector3(0, 0, 1).applyQuaternion(this.quaternion), a = e.pose, o = ot(a), s = .0872665;
4266
+ let t = new i.Vector3(1, 0, 0).applyQuaternion(this.quaternion), n = new i.Vector3(0, 1, 0).applyQuaternion(this.quaternion), r = new i.Vector3(0, 0, 1).applyQuaternion(this.quaternion), a = e.pose, o = X(a), s = .0872665;
4267
4267
  Math.abs(t.angleTo(o) - 0) < s || Math.abs(t.angleTo(o) - Math.PI) < s ? this.xArrow && (this.xArrow.visible = !1) : Math.abs(n.angleTo(o) - 0) < s || Math.abs(n.angleTo(o) - Math.PI) < s ? this.yArrow && (this.yArrow.visible = !1) : (Math.abs(r.angleTo(o) - 0) < s || Math.abs(r.angleTo(o) - Math.PI) < s) && this.zArrow && (this.zArrow.visible = !1);
4268
4268
  }
4269
4269
  }
@@ -4272,7 +4272,7 @@ var ct = class extends Qe {
4272
4272
  super.show(), this.xArrow && this.add(this.xArrow), this.yArrow && this.add(this.yArrow), this.zArrow && this.add(this.zArrow), this.centerHandle && this.add(this.centerHandle), this.xyPlane && this.add(this.xyPlane), this.xzPlane && this.add(this.xzPlane), this.yzPlane && this.add(this.yzPlane), (e = this.moveTips) == null || e.hide();
4273
4273
  }
4274
4274
  setScaleByCamera(e) {
4275
- this.scale.setScalar(q(e, this.position));
4275
+ this.scale.setScalar(st(e, this.position));
4276
4276
  }
4277
4277
  showDraggingHelper(e) {
4278
4278
  this.xArrow && (e.includes("x") ? this.add(this.xArrow) : this.remove(this.xArrow)), this.yArrow && (e.includes("y") ? this.add(this.yArrow) : this.remove(this.yArrow)), this.zArrow && (e.includes("z") ? this.add(this.zArrow) : this.remove(this.zArrow)), this.centerHandle && (e.includes("plane") ? this.add(this.centerHandle) : this.remove(this.centerHandle)), this.xyPlane && (e.includes("xy") ? this.add(this.xyPlane) : this.remove(this.xyPlane)), this.xzPlane && (e.includes("xz") ? this.add(this.xzPlane) : this.remove(this.xzPlane)), this.yzPlane && (e.includes("yz") ? this.add(this.yzPlane) : this.remove(this.yzPlane));
@@ -4289,18 +4289,18 @@ var ct = class extends Qe {
4289
4289
  this.yzPlane
4290
4290
  ].filter(Boolean)), (t = (e = this.moveTips) == null ? void 0 : e.element) == null || t.remove(), super.dispose();
4291
4291
  }
4292
- }, lt = class extends et {
4292
+ }, ft = class extends rt {
4293
4293
  constructor(e, t) {
4294
- super(e, t), this.name = "RotateHelper", this.children = [], (t == null ? void 0 : t.yzCircleEnable) !== !1 && (this.xCircle = new ut({
4294
+ super(e, t), this.name = "RotateHelper", this.children = [], (t == null ? void 0 : t.yzCircleEnable) !== !1 && (this.xCircle = new pt({
4295
4295
  direction: "x",
4296
4296
  color: G.X
4297
- })), (t == null ? void 0 : t.xzCircleEnable) !== !1 && (this.yCircle = new ut({
4297
+ })), (t == null ? void 0 : t.xzCircleEnable) !== !1 && (this.yCircle = new pt({
4298
4298
  direction: "y",
4299
4299
  color: G.Y
4300
- })), (t == null ? void 0 : t.xyCircleEnable) !== !1 && (this.zCircle = new ut({
4300
+ })), (t == null ? void 0 : t.xyCircleEnable) !== !1 && (this.zCircle = new pt({
4301
4301
  direction: "z",
4302
4302
  color: G.Z
4303
- })), t != null && t.container && (t == null ? void 0 : t.angleTipsEnable) !== !1 && (this.container = t == null ? void 0 : t.container, this.angleTips = Z({ display: "none" }), this.container.appendChild(this.angleTips.element)), this.add(...[
4303
+ })), t != null && t.container && (t == null ? void 0 : t.angleTipsEnable) !== !1 && (this.container = t == null ? void 0 : t.container, this.angleTips = Q({ display: "none" }), this.container.appendChild(this.angleTips.element)), this.add(...[
4304
4304
  this.xCircle,
4305
4305
  this.yCircle,
4306
4306
  this.zCircle
@@ -4314,7 +4314,7 @@ var ct = class extends Qe {
4314
4314
  this.children.forEach((e) => e.showCircle()), (e = this.angleTips) == null || e.hide();
4315
4315
  }
4316
4316
  setScaleByCamera(e) {
4317
- this.scale.setScalar(q(e, this.position));
4317
+ this.scale.setScalar(st(e, this.position));
4318
4318
  }
4319
4319
  update(e) {
4320
4320
  if (e.type === "OrthographicCamera") return;
@@ -4342,9 +4342,9 @@ var ct = class extends Qe {
4342
4342
  var e, t;
4343
4343
  this.removeFromParent(), (t = (e = this.angleTips) == null ? void 0 : e.element) == null || t.remove();
4344
4344
  }
4345
- }, ut = class extends i.Group {
4345
+ }, pt = class extends i.Group {
4346
4346
  constructor(e) {
4347
- super(), this.direction = e.direction, this.circle = new Q(e), this.ring = new dt(e), this.angleSector = new ft(e), this.add(this.circle, this.ring, this.angleSector), this.direction === "y" ? this.rotation.x = Math.PI / 2 : this.direction === "x" && (this.rotation.y = -Math.PI / 2);
4347
+ super(), this.direction = e.direction, this.circle = new mt(e), this.ring = new ht(e), this.angleSector = new gt(e), this.add(this.circle, this.ring, this.angleSector), this.direction === "y" ? this.rotation.x = Math.PI / 2 : this.direction === "x" && (this.rotation.y = -Math.PI / 2);
4348
4348
  }
4349
4349
  showCircle() {
4350
4350
  this.add(this.circle), this.remove(this.ring, this.angleSector);
@@ -4355,7 +4355,7 @@ var ct = class extends Qe {
4355
4355
  hide() {
4356
4356
  this.remove(this.ring, this.angleSector, this.circle);
4357
4357
  }
4358
- }, Q = class extends i.Mesh {
4358
+ }, mt = class extends i.Mesh {
4359
4359
  constructor(e) {
4360
4360
  var t;
4361
4361
  super(), this.gapAngle = .02, this.geometry = new i.RingGeometry(.3, .35, 20, 8, this.gapAngle, Math.PI / 2 - this.gapAngle * 2), this.material = new i.MeshBasicMaterial({
@@ -4366,7 +4366,7 @@ var ct = class extends Qe {
4366
4366
  depthTest: !1
4367
4367
  }), this.direction = e.direction, this.renderOrder = K.ROTATE_HELPER, this.geometry.name = `RotateHelperCircleGeometry-${this.direction}`;
4368
4368
  }
4369
- }, dt = class extends i.Group {
4369
+ }, ht = class extends i.Group {
4370
4370
  constructor(e) {
4371
4371
  super(), this.direction = e.direction;
4372
4372
  let t = .015, n = Array(8).fill(null).map((e, n) => {
@@ -4382,7 +4382,7 @@ var ct = class extends Qe {
4382
4382
  });
4383
4383
  this.add(...n);
4384
4384
  }
4385
- }, ft = class extends i.Mesh {
4385
+ }, gt = class extends i.Mesh {
4386
4386
  constructor(e) {
4387
4387
  var t;
4388
4388
  switch (super(), this.offsetAngle = (e) => e, e.direction) {
@@ -4420,7 +4420,7 @@ var ct = class extends Qe {
4420
4420
  getDirection() {
4421
4421
  return this.angleDirection === -1 ? "clockwise" : "counterclockwise";
4422
4422
  }
4423
- }, pt = class extends $e {
4423
+ }, _t = class extends nt {
4424
4424
  constructor(e) {
4425
4425
  super(e), this.name = "BoundingBoxHelper", this.positionAttribute = new i.BufferAttribute(new Float32Array(24), 3), this.box = this.createBox(), this.outline = this.createOutline(), this.add(this.box, this.outline), this.update();
4426
4426
  }
@@ -4428,7 +4428,7 @@ var ct = class extends Qe {
4428
4428
  this.quaternion.copy(this.originObject3D.quaternion), this.scale.copy(this.originObject3D.scale);
4429
4429
  }
4430
4430
  setHelperQuaternion(e, t) {
4431
- Ye(this, e, t);
4431
+ $e(this, e, t);
4432
4432
  }
4433
4433
  raycasterIntersectObject(e, t) {
4434
4434
  return e.intersectObject(this, !1, t);
@@ -4541,27 +4541,27 @@ var ct = class extends Qe {
4541
4541
  });
4542
4542
  return new i.Mesh(t, n);
4543
4543
  }
4544
- }, mt = /* @__PURE__ */ new Map();
4545
- function ht(e) {
4546
- if (mt.has(e)) return mt.get(e).hooks;
4544
+ }, vt = /* @__PURE__ */ new Map();
4545
+ function yt(e) {
4546
+ if (vt.has(e)) return vt.get(e).hooks;
4547
4547
  let t = new r(), n = null, i, a = () => {
4548
4548
  n = requestAnimationFrame(a);
4549
4549
  let r = e.projectionMatrix.toArray().join(",") + e.matrixWorld.toArray().join(",");
4550
4550
  r !== i && (i = r, t.emit("cameraUpdate"));
4551
4551
  };
4552
- return a(), mt.set(e, {
4552
+ return a(), vt.set(e, {
4553
4553
  hooks: t,
4554
4554
  dispose: () => {
4555
- mt.delete(e), cancelAnimationFrame(n);
4555
+ vt.delete(e), cancelAnimationFrame(n);
4556
4556
  }
4557
4557
  }), t;
4558
4558
  }
4559
4559
  //#endregion
4560
4560
  //#region build/plugins/Object3DHelperPlugin/Controllers/BaseController.js
4561
- function gt(e) {
4561
+ function bt(e) {
4562
4562
  return arguments.length === 0 ? [] : Array.isArray(e) ? e : [e];
4563
4563
  }
4564
- var _t = class {
4564
+ var xt = class {
4565
4565
  updateOtherControllers(e) {
4566
4566
  this.otherControllers = e;
4567
4567
  }
@@ -4574,7 +4574,7 @@ var _t = class {
4574
4574
  if (this.getIntersectObject(e)) return !1;
4575
4575
  }, this.updateHelperScale = () => {
4576
4576
  "update" in this.helperObject3D && typeof this.helperObject3D.update == "function" && this.helperObject3D.update(this.camera), this.helperObject3D.setScaleByCamera(this.camera);
4577
- }, this.getBox = () => (this.boundingBox || (this.boundingBox = new i.Box3().expandByObject(this.originObject3D)), this.boundingBox), this.hooks = (n = e.sharedHooks) == null ? new r() : n, this.internalHooks = (a = e.sharedInternalHooks) == null ? new r() : a, this.camera = e.camera, this.model = e.model, this.originObject3D = e.originObject3D, this.helperObject3D = e.helperObject3D, this.container = e.container, this.scene = e.scene, this.domEvents = e.domEvents, this.onRender = (o = e.onRender) == null ? (() => {}) : o, this.config = t == null ? {} : t, this.otherControllers = e.otherControllers, this.initialHelperPosition(), this.initialHelperQuaternion(), this.updateHelperScale(), this.cameraHooks = ht(this.camera), this.enable();
4577
+ }, this.getBox = () => (this.boundingBox || (this.boundingBox = new i.Box3().expandByObject(this.originObject3D)), this.boundingBox), this.hooks = (n = e.sharedHooks) == null ? new r() : n, this.internalHooks = (a = e.sharedInternalHooks) == null ? new r() : a, this.camera = e.camera, this.model = e.model, this.originObject3D = e.originObject3D, this.helperObject3D = e.helperObject3D, this.container = e.container, this.scene = e.scene, this.domEvents = e.domEvents, this.onRender = (o = e.onRender) == null ? (() => {}) : o, this.config = t == null ? {} : t, this.otherControllers = e.otherControllers, this.initialHelperPosition(), this.initialHelperQuaternion(), this.updateHelperScale(), this.cameraHooks = yt(this.camera), this.enable();
4578
4578
  let s = this.onSetOriginObjectScale.bind(this), c = this.onSetOriginObjectRotate.bind(this), l = this.onSetOriginObjectPosition.bind(this), u = this.onApplyOriginObjectScale.bind(this), d = this.onApplyOriginObjectRotate.bind(this), f = this.onApplyOriginObjectPosition.bind(this), p = this.initialHelperPosition.bind(this);
4579
4579
  this.cameraHooks.on("cameraUpdate", this.updateHelperScale), this.internalHooks.on("initialHelperPosition", p), this.internalHooks.on("setObjectScale", s), this.internalHooks.on("setObjectRotate", c), this.internalHooks.on("setObjectPosition", l), this.internalHooks.on("applyObjectPosition", f), this.internalHooks.on("applyObjectRotate", d), this.internalHooks.on("applyObjectScale", u), this.hooks.on("moveEnd", this.updateHelperScale), this.internalHooks.on("setObjectPosition", this.updateHelperScale), this.internalHooks.on("initialHelperPosition", this.updateHelperScale), this.disposers.push(() => {
4580
4580
  this.cameraHooks.off("cameraUpdate", this.updateHelperScale), this.internalHooks.off("initialHelperPosition", p), this.internalHooks.off("setObjectScale", s), this.internalHooks.off("setObjectRotate", c), this.internalHooks.off("setObjectPosition", l), this.internalHooks.off("applyObjectPosition", f), this.internalHooks.off("applyObjectRotate", d), this.internalHooks.off("applyObjectScale", u), this.hooks.off("moveEnd", this.updateHelperScale), this.internalHooks.off("setObjectPosition", this.updateHelperScale), this.internalHooks.off("initialHelperPosition", this.updateHelperScale);
@@ -4648,7 +4648,7 @@ var _t = class {
4648
4648
  }
4649
4649
  }
4650
4650
  hoverListener(e, t = 16777215, n = 1) {
4651
- let r = gt(e).filter((e) => !Xe(e)), a = [];
4651
+ let r = bt(e).filter((e) => !et(e)), a = [];
4652
4652
  for (let e of r) if (e.material || e instanceof i.Group) {
4653
4653
  let r = e instanceof i.Group ? e.children.filter((e) => e instanceof i.Mesh) : [e];
4654
4654
  r.forEach((e) => {
@@ -4734,7 +4734,7 @@ var _t = class {
4734
4734
  };
4735
4735
  //#endregion
4736
4736
  //#region build/plugins/Object3DHelperPlugin/utils/solidGuide.js
4737
- function vt(e, t) {
4737
+ function St(e, t) {
4738
4738
  let n = 10, r = 10, i = e.isPerspectiveCamera, a = e.isOrthographicCamera;
4739
4739
  if (i) {
4740
4740
  let i = e, a = i.position.distanceTo(t), o = i.fov * Math.PI / 180;
@@ -4746,7 +4746,7 @@ function vt(e, t) {
4746
4746
  let o = Math.sqrt(n * n + r * r), s = o * .8, c = Math.min(n, r) * .25, l = o * 1.2;
4747
4747
  return Math.max(c, Math.min(s, l));
4748
4748
  }
4749
- var yt = class {
4749
+ var Ct = class {
4750
4750
  constructor(e, t, n) {
4751
4751
  this.camera = e, this.container = t, this.defaults = Object.assign({}, n || {});
4752
4752
  }
@@ -4784,7 +4784,7 @@ var yt = class {
4784
4784
  d && d.itemSize === 3 && d.array.length === l.length ? (d.array.set(l), d.needsUpdate = !0) : u.setAttribute("position", new i.BufferAttribute(l, 3)), (r == null ? void 0 : r.color) !== void 0 && e.material.color.setHex(r.color);
4785
4785
  }
4786
4786
  computeInfiniteLineLength(e) {
4787
- return vt(this.camera, e) * 10;
4787
+ return St(this.camera, e) * 10;
4788
4788
  }
4789
4789
  dispose(e) {
4790
4790
  if (!e) return;
@@ -4798,16 +4798,16 @@ var yt = class {
4798
4798
  };
4799
4799
  //#endregion
4800
4800
  //#region build/plugins/Object3DHelperPlugin/utils/getMouseRaycaster.js
4801
- function bt(e, t, n) {
4801
+ function wt(e, t, n) {
4802
4802
  if (!t || !n || !e) return;
4803
- let r = I(t, n);
4803
+ let r = R(t, n);
4804
4804
  if (Math.abs(r.x) === 1 || Math.abs(r.y) === 1) return;
4805
4805
  let a = new i.Raycaster();
4806
4806
  return a.setFromCamera(r, e), a.params.Points && (a.params.Points.threshold = .1), a;
4807
4807
  }
4808
4808
  //#endregion
4809
4809
  //#region build/plugins/Object3DHelperPlugin/Controllers/MoveController.js
4810
- function xt(e) {
4810
+ function Tt(e) {
4811
4811
  let { raycaster: t, line: n, clampToLine: r = !0 } = e, a = new i.Plane().setFromNormalAndCoplanarPoint(t.ray.direction.clone().normalize(), new i.Vector3()), o = a.projectPoint(n.start, new i.Vector3()), s = a.projectPoint(n.end, new i.Vector3()), c = new i.Line3(o, s), l = c.closestPointToPoint(t.ray.origin, r, new i.Vector3()), u = l.distanceTo(s), d = l.distanceTo(o), f = c.distance();
4812
4812
  if (u > d && u > f) {
4813
4813
  let e = -l.distanceTo(o) / f, t = n.start.clone().sub(n.end).normalize();
@@ -4817,13 +4817,13 @@ function xt(e) {
4817
4817
  return new i.Vector3().lerpVectors(n.start, n.end, e);
4818
4818
  }
4819
4819
  }
4820
- var St = class extends _t {
4820
+ var Et = class extends xt {
4821
4821
  get moveByMouseEnable() {
4822
4822
  return this._moveByMouse.enabled;
4823
4823
  }
4824
4824
  constructor(...e) {
4825
4825
  var t, n, r, a, o;
4826
- super(...e), this.name = "MoveController", this.solidGuide = new yt(this.camera, this.container, (n = (t = this.config) == null ? void 0 : t.solidGuide) == null ? {} : n), this._moveByMouse = { enabled: !1 }, this.dragStart = (e) => {
4826
+ super(...e), this.name = "MoveController", this.solidGuide = new Ct(this.camera, this.container, (n = (t = this.config) == null ? void 0 : t.solidGuide) == null ? {} : n), this._moveByMouse = { enabled: !1 }, this.dragStart = (e) => {
4827
4827
  if (this.moveByMouseEnable || this.isDragging) return;
4828
4828
  let t = e == null ? void 0 : e.intersect;
4829
4829
  if (!t) return this.dragEnd();
@@ -4901,7 +4901,7 @@ var St = class extends _t {
4901
4901
  this.helperObject3D.showDraggingHelper(l), this.hooks.emit("moveStart", n), this.isDragging = !0, this.setTipsText(this.originObject3D.position), this.setTipsPosition(c);
4902
4902
  }, this.dragging = (e) => {
4903
4903
  if (!this.isDragging || !this.startInfo) return;
4904
- let t = "touches" in e ? e.touches[0].clientX : e.x, n = "touches" in e ? e.touches[0].clientY : e.y, r = bt(this.camera, {
4904
+ let t = "touches" in e ? e.touches[0].clientX : e.x, n = "touches" in e ? e.touches[0].clientY : e.y, r = wt(this.camera, {
4905
4905
  x: t,
4906
4906
  y: n
4907
4907
  }, this.container);
@@ -4924,7 +4924,7 @@ var St = class extends _t {
4924
4924
  (r = s.xyPlane) == null ? void 0 : r.handle,
4925
4925
  (a = s.xzPlane) == null ? void 0 : a.handle,
4926
4926
  (o = s.yzPlane) == null ? void 0 : o.handle
4927
- ]), s.centerHandle && s.centerHandle instanceof it) {
4927
+ ]), s.centerHandle && s.centerHandle instanceof J) {
4928
4928
  let e = s.centerHandle, t = e.cube;
4929
4929
  this.domEvents.addEventListener(t, "mouseover", () => {
4930
4930
  this.isDragging || (Array.isArray(t.material) && t.material.forEach((e) => {
@@ -5010,7 +5010,7 @@ var St = class extends _t {
5010
5010
  let a = -(t.normal.dot(e.ray.origin) + t.constant) / r;
5011
5011
  if (a < 0) return;
5012
5012
  n.copy(e.ray.origin.clone().add(e.ray.direction.clone().multiplyScalar(a))), o = n;
5013
- } else o = xt({
5013
+ } else o = Tt({
5014
5014
  raycaster: e,
5015
5015
  line: t,
5016
5016
  clampToLine: !1
@@ -5064,7 +5064,7 @@ var St = class extends _t {
5064
5064
  let o = this.container.getBoundingClientRect(), s = (n + 1) / 2 * o.width, c = (-r + 1) / 2 * o.height;
5065
5065
  t.setLeftTop(s + "px", c + "px");
5066
5066
  }
5067
- }, Ct = class {
5067
+ }, Dt = class {
5068
5068
  constructor(e, t, n, r, i, a, o, s, c) {
5069
5069
  this.onFiveWantsTapGesture = (e) => {
5070
5070
  if (!this.helperController) return;
@@ -5098,13 +5098,13 @@ var St = class extends _t {
5098
5098
  var e;
5099
5099
  this.five.off("wantsTapGesture", this.onFiveWantsTapGesture), this.five.off("wantsGesture", this.onFiveWantsGesture), this.five.off("intersectionOnModelUpdate", this.onFiveIntersectionOnModelUpdate), (e = this.helperController) == null || e.dispose();
5100
5100
  }
5101
- }, wt = new i.Quaternion(), Tt = class extends _t {
5101
+ }, Ot = new i.Quaternion(), kt = class extends xt {
5102
5102
  get rotateCenter() {
5103
5103
  return this.helperObject3D.position.clone();
5104
5104
  }
5105
5105
  constructor(...e) {
5106
5106
  var t, n, r;
5107
- super(...e), this.name = "RotateController", this.solidGuide = new yt(this.camera, this.container), this.snapGuideLines = [];
5107
+ super(...e), this.name = "RotateController", this.solidGuide = new Ct(this.camera, this.container), this.snapGuideLines = [];
5108
5108
  let i = this.helperObject3D;
5109
5109
  this.hoverListener([
5110
5110
  (t = i.xCircle) == null ? void 0 : t.circle,
@@ -5124,7 +5124,7 @@ var St = class extends _t {
5124
5124
  let { x: t = 0, y: n = 0, z: r = 0 } = e, a = new i.Euler(i.MathUtils.degToRad(t), i.MathUtils.degToRad(n), i.MathUtils.degToRad(r)), o = new i.Quaternion().setFromEuler(a);
5125
5125
  if (this.hooks.emit("wantToRotate", o)) return;
5126
5126
  let { originObject3D: s, rotateCenter: c } = this;
5127
- Ye(s, o, c), this.internalHooks.emit("setObjectRotate", o, c), this.hooks.emit("rotate", o), this.render();
5127
+ $e(s, o, c), this.internalHooks.emit("setObjectRotate", o, c), this.hooks.emit("rotate", o), this.render();
5128
5128
  }
5129
5129
  getEulerAngle(e, t) {
5130
5130
  let { originObject3D: n } = this, r = new i.Euler().setFromQuaternion(n.quaternion), a = {
@@ -5165,7 +5165,7 @@ var St = class extends _t {
5165
5165
  angle: 0,
5166
5166
  helperQuaternion: o.clone(),
5167
5167
  startQuaternion: this.originObject3D.quaternion.clone()
5168
- }, wt = new i.Quaternion(), this.helperObject3D.showDraggingHelper([n]), this.hooks.emit("rotateStart", n), this.isDragging = !0;
5168
+ }, Ot = new i.Quaternion(), this.helperObject3D.showDraggingHelper([n]), this.hooks.emit("rotateStart", n), this.isDragging = !0;
5169
5169
  }
5170
5170
  getMatrix() {
5171
5171
  var e, t;
@@ -5194,7 +5194,7 @@ var St = class extends _t {
5194
5194
  }
5195
5195
  dragging(e) {
5196
5196
  if (!this.isDragging) return;
5197
- let t = "touches" in e ? e.touches[0].clientX : e.x, n = "touches" in e ? e.touches[0].clientY : e.y, r = bt(this.camera, {
5197
+ let t = "touches" in e ? e.touches[0].clientX : e.x, n = "touches" in e ? e.touches[0].clientY : e.y, r = wt(this.camera, {
5198
5198
  x: t,
5199
5199
  y: n
5200
5200
  }, this.container);
@@ -5222,7 +5222,7 @@ var St = class extends _t {
5222
5222
  let e = new i.Vector3().subVectors(s.position, l).applyQuaternion(O).add(l);
5223
5223
  s.position.copy(e);
5224
5224
  }
5225
- s.applyQuaternion(O), wt.premultiply(O), this.internalHooks.emit("applyObjectRotate", {
5225
+ s.applyQuaternion(O), Ot.premultiply(O), this.internalHooks.emit("applyObjectRotate", {
5226
5226
  quaternion: O,
5227
5227
  origin: l
5228
5228
  }), this.hooks.emit("rotate", s.quaternion), E || (this.startInfo.startVector = u);
@@ -5305,7 +5305,7 @@ var St = class extends _t {
5305
5305
  for (let e of this.snapGuideLines) this.scene.remove(e), this.solidGuide.dispose(e);
5306
5306
  this.snapGuideLines = [];
5307
5307
  }
5308
- }, Et = class extends _t {
5308
+ }, At = class extends xt {
5309
5309
  constructor(...e) {
5310
5310
  super(...e), this.name = "BoundingBoxController";
5311
5311
  let t = () => {
@@ -5521,13 +5521,13 @@ $.prototype.destroy = function() {
5521
5521
  };
5522
5522
  //#endregion
5523
5523
  //#region build/plugins/Object3DHelperPlugin/Controller.js
5524
- var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5525
- console.error(`${Ot} is disposed`);
5526
- }, At = () => {
5527
- console.warn(`${Ot} is disabled`);
5528
- }, jt = () => {
5529
- console.error(`${Ot} is disabled`);
5530
- }, Mt = class {
5524
+ var jt = "Object3DHelperPlugin", Mt = jt, Nt = () => {
5525
+ console.error(`${Mt} is disposed`);
5526
+ }, Pt = () => {
5527
+ console.warn(`${Mt} is disabled`);
5528
+ }, Ft = () => {
5529
+ console.error(`${Mt} is disabled`);
5530
+ }, It = class {
5531
5531
  constructor(e) {
5532
5532
  this.controllers = {}, this.state = {
5533
5533
  visible: !0,
@@ -5582,21 +5582,21 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5582
5582
  t && e(t);
5583
5583
  });
5584
5584
  }
5585
- }, Nt = class extends _.Controller {
5585
+ }, Lt = class extends x.Controller {
5586
5586
  constructor(e) {
5587
- super(e), this.name = Dt, this.state = {
5587
+ super(e), this.name = jt, this.state = {
5588
5588
  visible: !0,
5589
5589
  enabled: !0,
5590
5590
  disposed: !1
5591
5591
  }, this.objectHelperMap = /* @__PURE__ */ new Map(), this.five = e;
5592
5592
  }
5593
5593
  show(e) {
5594
- return v(this, void 0, void 0, function* () {
5594
+ return S(this, void 0, void 0, function* () {
5595
5595
  this.setState({ visible: !0 }, e);
5596
5596
  });
5597
5597
  }
5598
5598
  hide(e) {
5599
- return v(this, void 0, void 0, function* () {
5599
+ return S(this, void 0, void 0, function* () {
5600
5600
  this.setState({ visible: !1 }, e);
5601
5601
  });
5602
5602
  }
@@ -5610,12 +5610,12 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5610
5610
  this.setState({ disposed: !0 });
5611
5611
  }
5612
5612
  load(e) {
5613
- return v(this, void 0, void 0, function* () {});
5613
+ return S(this, void 0, void 0, function* () {});
5614
5614
  }
5615
5615
  setState(e, t) {
5616
5616
  var n;
5617
- if (this.state.disposed) return kt();
5618
- if (!this.state.enabled && e.enabled !== !0 && e.disposed !== !0) return jt();
5617
+ if (this.state.disposed) return Nt();
5618
+ if (!this.state.enabled && e.enabled !== !0 && e.disposed !== !0) return Ft();
5619
5619
  let r = Object.assign({}, this.state);
5620
5620
  this.state = Object.assign(Object.assign({}, this.state), e), e.disposed !== void 0 && e.disposed !== r.disposed && e.disposed && this.handleDispose(), e.visible !== void 0 && e.visible !== r.visible && this.handleVisible(e.visible), e.enabled !== void 0 && e.enabled !== r.enabled && this.handleEnable(e.enabled), this.hooks.emit("stateChange", {
5621
5621
  state: this.state,
@@ -5636,7 +5636,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5636
5636
  console.warn(`Object3DHelperPlugin: object3D ${e.name} already has helper`);
5637
5637
  return;
5638
5638
  }
5639
- let o = new Mt(), s = [], c = (n = this.five.getElement()) == null ? void 0 : n.parentElement;
5639
+ let o = new It(), s = [], c = (n = this.five.getElement()) == null ? void 0 : n.parentElement;
5640
5640
  this.five.camera;
5641
5641
  let l = Object.assign(Object.assign({}, {
5642
5642
  moveHelper: !0,
@@ -5650,18 +5650,18 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5650
5650
  if (e) return typeof e == "boolean" ? e : e.enable;
5651
5651
  }, v = {};
5652
5652
  if (_(u)) {
5653
- let t = Object.assign(Object.assign({}, this.getConfig(l.moveHelper)), l), n = new ct(e, Object.assign({
5653
+ let t = Object.assign(Object.assign({}, this.getConfig(l.moveHelper)), l), n = new dt(e, Object.assign({
5654
5654
  container: c == null ? void 0 : c,
5655
5655
  moveTipsEnable: (a = l.moveHelperTips) == null ? !1 : a
5656
- }, t)), r = new Ct(this.five, g, St, e, n, t, m, h, p);
5656
+ }, t)), r = new Dt(this.five, g, Et, e, n, t, m, h, p);
5657
5657
  v.moveController = r.helperController, s.push(() => r.dispose());
5658
5658
  }
5659
5659
  if (_(d)) {
5660
- let t = Object.assign(Object.assign({}, this.getConfig(l.rotateHelper)), l), n = new lt(e, Object.assign({ container: c == null ? void 0 : c }, t)), r = new Ct(this.five, g, Tt, e, n, t, m, h, p);
5660
+ let t = Object.assign(Object.assign({}, this.getConfig(l.rotateHelper)), l), n = new ft(e, Object.assign({ container: c == null ? void 0 : c }, t)), r = new Dt(this.five, g, kt, e, n, t, m, h, p);
5661
5661
  v.rotateController = r.helperController, s.push(() => r.dispose());
5662
5662
  }
5663
5663
  if (_(f)) {
5664
- let t = new pt(e), n = new Ct(this.five, g, Et, e, t, void 0, m, h, p);
5664
+ let t = new _t(e), n = new Dt(this.five, g, At, e, t, void 0, m, h, p);
5665
5665
  v.boundingBoxController = n.helperController, s.push(() => n.dispose());
5666
5666
  }
5667
5667
  return Object.values(v).forEach((e) => {
@@ -5695,12 +5695,12 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5695
5695
  }
5696
5696
  actionIfStateIsEnabled(e, t) {
5697
5697
  if (this.state.enabled) return e();
5698
- t != null && t.warnLog && At();
5698
+ t != null && t.warnLog && Pt();
5699
5699
  }
5700
5700
  getConfig(e) {
5701
5701
  if (e && typeof e != "boolean" && e.enable) return e;
5702
5702
  }
5703
- }, Pt = (e) => new Nt(e), Ft = class {
5703
+ }, Rt = (e) => new Lt(e), zt = class {
5704
5704
  constructor(e, t, n, r, i) {
5705
5705
  this.R = e, this.Q = t, this.A = n, this.B = r, this.C = i, this.cov = NaN, this.x = NaN;
5706
5706
  }
@@ -5712,7 +5712,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5712
5712
  }
5713
5713
  return this.x;
5714
5714
  }
5715
- }, It = class extends _.Controller {
5715
+ }, Bt = class extends x.Controller {
5716
5716
  updateState(e, t) {
5717
5717
  let n = this.state;
5718
5718
  this.state = Object.assign(Object.assign({}, this.state), e), this.hooks.emit("stateChange", {
@@ -5729,7 +5729,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5729
5729
  }, this.duration = (n = t == null ? void 0 : t.duration) == null ? 6e3 : n, this.curveHeight = (r = t == null ? void 0 : t.curveHeight) == null ? 1.5 : r, this.pointDuration = (i = t == null ? void 0 : t.pointDuration) == null ? 4e3 : i;
5730
5730
  }
5731
5731
  load() {
5732
- return v(this, void 0, void 0, function* () {});
5732
+ return S(this, void 0, void 0, function* () {});
5733
5733
  }
5734
5734
  enable(e) {
5735
5735
  var t;
@@ -5756,7 +5756,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5756
5756
  extractKeyframes(e) {
5757
5757
  let t = [];
5758
5758
  if (!e.content.data) throw Error("轨迹数据未加载");
5759
- let n = e.content.data.positionArray, r = n.length / 3, a = .01, o = .1, s = new Ft(a, o, 1, 0, 1), c = new Ft(a, o, 1, 0, 1), l = new Ft(a, o, 1, 0, 1), u = new Float32Array(r);
5759
+ let n = e.content.data.positionArray, r = n.length / 3, a = .01, o = .1, s = new zt(a, o, 1, 0, 1), c = new zt(a, o, 1, 0, 1), l = new zt(a, o, 1, 0, 1), u = new Float32Array(r);
5760
5760
  for (let e = 0; e < r; e++) if (e === 0) u[e] = 0;
5761
5761
  else {
5762
5762
  let t = new i.Vector3(n[(e - 1) * 3], n[(e - 1) * 3 + 1], n[(e - 1) * 3 + 2]);
@@ -5792,7 +5792,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5792
5792
  return r;
5793
5793
  }
5794
5794
  getCameraCurve() {
5795
- return v(this, void 0, void 0, function* () {
5795
+ return S(this, void 0, void 0, function* () {
5796
5796
  var t, n, r;
5797
5797
  let a = (r = (n = (t = this.five.model.viewLayers[0]) == null ? void 0 : t.scene) == null ? void 0 : n.trajectories) == null ? void 0 : r[0];
5798
5798
  if (!a) throw Error("未找到轨迹数据");
@@ -5844,7 +5844,7 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5844
5844
  });
5845
5845
  }
5846
5846
  playEntrance() {
5847
- return v(this, void 0, void 0, function* () {
5847
+ return S(this, void 0, void 0, function* () {
5848
5848
  let n = yield this.getCameraCurve(), r = this.boundingAABB, a = new i.Vector3((r.min.x + r.max.x) / 2, this.curveHeight, (r.min.y + r.max.y) / 2), o = n.getPointAt(0), s = new t(90).copy(this.five.camera);
5849
5849
  s.position.copy(o), s.lookAt(a), s.computePose(0), this.five.setState(Object.assign({}, s.pose)), this.setBounds();
5850
5850
  let c = this.findRenderMesh().material.uniforms;
@@ -5860,6 +5860,125 @@ var Dt = "Object3DHelperPlugin", Ot = Dt, kt = () => {
5860
5860
  });
5861
5861
  });
5862
5862
  }
5863
- }, Lt = (e, t) => new It(e, t);
5863
+ }, Vt = (e, t) => new Bt(e, t), Ht = class extends l {
5864
+ constructor(e, t) {
5865
+ super(), this.prefabGeometry = e, this.copy(e), this.instanceCount = t, this.prefabCount = t;
5866
+ }
5867
+ createAttribute(e, t, n) {
5868
+ let r = new c(new Float32Array(this.prefabCount * t), t);
5869
+ if (this.setAttribute(e, r), n) {
5870
+ let e = [];
5871
+ for (let t = 0; t < this.prefabCount; t++) n(e, t, this.prefabCount), this.setPrefabData(r, t, e);
5872
+ }
5873
+ return r;
5874
+ }
5875
+ setPrefabData(e, t, n) {
5876
+ let r = typeof e == "string" ? this.attributes[e] : e, i = t * r.itemSize, a = r.array;
5877
+ for (let e = 0; e < r.itemSize; e++) a[i++] = n[e];
5878
+ }
5879
+ }, Ut = class extends o {
5880
+ constructor(e, t) {
5881
+ super(), this.prefabGeometry = e, this.isPrefabBufferGeometry = e.isBufferGeometry, this.prefabCount = t, this.isPrefabBufferGeometry ? this.prefabVertexCount = e.attributes.position.count : this.prefabVertexCount = e.vertices.length, this.bufferIndices(), this.bufferPositions();
5882
+ }
5883
+ bufferIndices() {
5884
+ let e = [], t;
5885
+ if (this.isPrefabBufferGeometry) {
5886
+ let n = this.prefabGeometry;
5887
+ if (n.index) t = n.index.count, e = Array.from(n.index.array);
5888
+ else {
5889
+ t = this.prefabVertexCount;
5890
+ for (let n = 0; n < t; n++) e.push(n);
5891
+ }
5892
+ } else {
5893
+ let n = this.prefabGeometry, r = n.faces.length;
5894
+ t = r * 3;
5895
+ for (let t = 0; t < r; t++) {
5896
+ let r = n.faces[t];
5897
+ e.push(r.a, r.b, r.c);
5898
+ }
5899
+ }
5900
+ let n = new Uint32Array(this.prefabCount * t);
5901
+ this.setIndex(new a(n, 1));
5902
+ for (let r = 0; r < this.prefabCount; r++) for (let i = 0; i < t; i++) n[r * t + i] = e[i] + r * this.prefabVertexCount;
5903
+ }
5904
+ bufferPositions() {
5905
+ let e = this.createAttribute("position", 3).array;
5906
+ if (this.isPrefabBufferGeometry) {
5907
+ let t = this.prefabGeometry.attributes.position.array;
5908
+ for (let n = 0, r = 0; n < this.prefabCount; n++) for (let n = 0; n < this.prefabVertexCount; n++, r += 3) e[r] = t[n * 3], e[r + 1] = t[n * 3 + 1], e[r + 2] = t[n * 3 + 2];
5909
+ } else {
5910
+ let t = this.prefabGeometry;
5911
+ for (let n = 0, r = 0; n < this.prefabCount; n++) for (let n = 0; n < this.prefabVertexCount; n++, r += 3) {
5912
+ let i = t.vertices[n];
5913
+ e[r] = i.x, e[r + 1] = i.y, e[r + 2] = i.z;
5914
+ }
5915
+ }
5916
+ }
5917
+ bufferUvs() {
5918
+ let e = this.createAttribute("uv", 2).array;
5919
+ if (this.isPrefabBufferGeometry) {
5920
+ let t = this.prefabGeometry.attributes.uv.array;
5921
+ for (let n = 0, r = 0; n < this.prefabCount; n++) for (let n = 0; n < this.prefabVertexCount; n++, r += 2) e[r] = t[n * 2], e[r + 1] = t[n * 2 + 1];
5922
+ } else {
5923
+ let t = this.prefabGeometry, n = t.faces.length, r = [];
5924
+ for (let e = 0; e < n; e++) {
5925
+ let n = t.faces[e], i = t.faceVertexUvs[0][e];
5926
+ r[n.a] = i[0], r[n.b] = i[1], r[n.c] = i[2];
5927
+ }
5928
+ for (let t = 0, n = 0; t < this.prefabCount; t++) for (let t = 0; t < this.prefabVertexCount; t++, n += 2) {
5929
+ let i = r[t];
5930
+ e[n] = i.x, e[n + 1] = i.y;
5931
+ }
5932
+ }
5933
+ }
5934
+ bufferNormals() {
5935
+ let e = this.createAttribute("normal", 3).array;
5936
+ if (this.isPrefabBufferGeometry) {
5937
+ let t = this.prefabGeometry.attributes.normal.array;
5938
+ for (let n = 0, r = 0; n < this.prefabCount; n++) for (let n = 0; n < this.prefabVertexCount; n++, r += 3) e[r] = t[n * 3], e[r + 1] = t[n * 3 + 1], e[r + 2] = t[n * 3 + 2];
5939
+ } else {
5940
+ let t = this.prefabGeometry, n = t.faces.length, r = [];
5941
+ for (let e = 0; e < n; e++) {
5942
+ let n = t.faces[e];
5943
+ n.vertexNormals.length > 0 ? (r[n.a] = n.vertexNormals[0], r[n.b] = n.vertexNormals[1], r[n.c] = n.vertexNormals[2]) : (r[n.a] = n.normal, r[n.b] = n.normal, r[n.c] = n.normal);
5944
+ }
5945
+ for (let t = 0, n = 0; t < this.prefabCount; t++) for (let t = 0; t < this.prefabVertexCount; t++, n += 3) {
5946
+ let i = r[t];
5947
+ e[n] = i.x, e[n + 1] = i.y, e[n + 2] = i.z;
5948
+ }
5949
+ }
5950
+ }
5951
+ createAttribute(e, t, n) {
5952
+ let r = new a(new Float32Array(this.prefabCount * this.prefabVertexCount * t), t);
5953
+ if (this.setAttribute(e, r), n) {
5954
+ let e = [];
5955
+ for (let t = 0; t < this.prefabCount; t++) n(e, t, this.prefabCount), this.setPrefabData(r, t, e);
5956
+ }
5957
+ return r;
5958
+ }
5959
+ setPrefabData(e, t, n) {
5960
+ let r = typeof e == "string" ? this.attributes[e] : e, i = t * this.prefabVertexCount * r.itemSize, a = r.array;
5961
+ for (let e = 0; e < this.prefabVertexCount; e++) for (let e = 0; e < r.itemSize; e++) a[i++] = n[e];
5962
+ }
5963
+ }, Wt = class extends o {
5964
+ constructor(e) {
5965
+ super(), this.pointCount = e, this.bufferPositions();
5966
+ }
5967
+ bufferPositions() {
5968
+ this.createAttribute("position", 3);
5969
+ }
5970
+ createAttribute(e, t, n) {
5971
+ let r = new a(new Float32Array(this.pointCount * t), t);
5972
+ if (this.setAttribute(e, r), n) {
5973
+ let e = [];
5974
+ for (let t = 0; t < this.pointCount; t++) n(e, t, this.pointCount), this.setPointData(r, t, e);
5975
+ }
5976
+ return r;
5977
+ }
5978
+ setPointData(e, t, n) {
5979
+ let r = typeof e == "string" ? this.attributes[e] : e, i = t * r.itemSize, a = r.array;
5980
+ for (let e = 0; e < r.itemSize; e++) a[i++] = n[e];
5981
+ }
5982
+ };
5864
5983
  //#endregion
5865
- export { pe as BackgroundPlugin, _ as BasePlugin, ze as CSS2DObject, Je as CSS2DPlugin, Ge as CSS2DRenderer, le as CSS3DObject, Re as CSS3DPlugin, F as CSS3DRenderer, M as CSS3DSprite, Ne as DynamicPathLinePlugin, Lt as GaussianSplattingEntranceAnimationPlugin, ae as ItemMaskPlugin, Nt as Object3DHelperController, Pt as Object3DHelperPlugin, A as OrbitControls, fe as OrientationPlugin, Te as PanoAnimePlugin, L as RoundedBoxGeometry, ge as TrajectoryPlugin };
5984
+ export { _e as BackgroundPlugin, x as BasePlugin, Ue as CSS2DObject, Qe as CSS2DPlugin, Ye as CSS2DRenderer, P as CSS3DObject, He as CSS3DPlugin, L as CSS3DRenderer, de as CSS3DSprite, Le as DynamicPathLinePlugin, Vt as GaussianSplattingEntranceAnimationPlugin, Ht as InstancedPrefabBufferGeometry, ce as ItemMaskPlugin, Lt as Object3DHelperController, Rt as Object3DHelperPlugin, A as OrbitControls, he as OrientationPlugin, ke as PanoAnimePlugin, Wt as PointBufferGeometry, Ut as PrefabBufferGeometry, z as RoundedBoxGeometry, be as TrajectoryPlugin };