@needle-tools/engine 4.1.0-experimental.13 → 4.1.1

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 (238) hide show
  1. package/CHANGELOG.md +75 -10
  2. package/README.md +28 -17
  3. package/components.needle.json +1 -1
  4. package/dist/gltf-progressive.js +220 -221
  5. package/dist/gltf-progressive.light.js +220 -221
  6. package/dist/gltf-progressive.light.min.js +6 -6
  7. package/dist/gltf-progressive.light.umd.cjs +7 -7
  8. package/dist/gltf-progressive.min.js +6 -6
  9. package/dist/gltf-progressive.umd.cjs +7 -7
  10. package/dist/needle-engine.bundle.js +8241 -7948
  11. package/dist/needle-engine.bundle.light.js +8194 -7901
  12. package/dist/needle-engine.bundle.light.min.js +140 -141
  13. package/dist/needle-engine.bundle.light.umd.cjs +138 -139
  14. package/dist/needle-engine.bundle.min.js +140 -141
  15. package/dist/needle-engine.bundle.umd.cjs +134 -135
  16. package/dist/needle-engine.d.ts +140 -0
  17. package/dist/needle-engine.js +597 -590
  18. package/dist/needle-engine.light.d.ts +140 -0
  19. package/dist/needle-engine.light.js +597 -590
  20. package/dist/needle-engine.light.min.js +1 -1
  21. package/dist/needle-engine.light.umd.cjs +1 -1
  22. package/dist/needle-engine.min.js +1 -1
  23. package/dist/needle-engine.umd.cjs +1 -1
  24. package/dist/postprocessing.js +1 -1
  25. package/dist/postprocessing.light.js +1 -1
  26. package/dist/postprocessing.light.min.js +1 -1
  27. package/dist/postprocessing.min.js +1 -1
  28. package/dist/three-examples.js +2809 -2450
  29. package/dist/three-examples.light.js +2809 -2450
  30. package/dist/three-examples.light.min.js +47 -15
  31. package/dist/three-examples.light.umd.cjs +47 -15
  32. package/dist/three-examples.min.js +47 -15
  33. package/dist/three-examples.umd.cjs +47 -15
  34. package/dist/three-mesh-ui.js +1 -1
  35. package/dist/three-mesh-ui.light.js +1 -1
  36. package/dist/three-mesh-ui.light.min.js +1 -1
  37. package/dist/three-mesh-ui.min.js +1 -1
  38. package/dist/three.js +577 -572
  39. package/dist/three.light.js +577 -572
  40. package/dist/three.light.min.js +170 -170
  41. package/dist/three.light.umd.cjs +170 -170
  42. package/dist/three.min.js +170 -170
  43. package/dist/three.umd.cjs +170 -170
  44. package/dist/vendor.js +1327 -1331
  45. package/dist/vendor.light.js +1327 -1331
  46. package/dist/vendor.light.min.js +33 -33
  47. package/dist/vendor.light.umd.cjs +33 -33
  48. package/dist/vendor.min.js +33 -33
  49. package/dist/vendor.umd.cjs +33 -33
  50. package/lib/engine/assets/index.js.map +1 -1
  51. package/lib/engine/engine.d.ts +4 -0
  52. package/lib/engine/engine.js +12 -0
  53. package/lib/engine/engine.js.map +1 -0
  54. package/lib/engine/engine_addressables.d.ts +6 -4
  55. package/lib/engine/engine_addressables.js +8 -1
  56. package/lib/engine/engine_addressables.js.map +1 -1
  57. package/lib/engine/engine_context.d.ts +3 -2
  58. package/lib/engine/engine_context.js +28 -4
  59. package/lib/engine/engine_context.js.map +1 -1
  60. package/lib/engine/engine_gameobject.d.ts +2 -12
  61. package/lib/engine/engine_gameobject.js +5 -15
  62. package/lib/engine/engine_gameobject.js.map +1 -1
  63. package/lib/engine/engine_gltf_builtin_components.js +5 -0
  64. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  65. package/lib/engine/engine_input.d.ts +23 -6
  66. package/lib/engine/engine_input.js +4 -10
  67. package/lib/engine/engine_input.js.map +1 -1
  68. package/lib/engine/engine_license.js +1 -1
  69. package/lib/engine/engine_license.js.map +1 -1
  70. package/lib/engine/engine_modules.d.ts +7 -0
  71. package/lib/engine/engine_modules.js +7 -0
  72. package/lib/engine/engine_modules.js.map +1 -1
  73. package/lib/engine/engine_networking_auto.js +6 -11
  74. package/lib/engine/engine_networking_auto.js.map +1 -1
  75. package/lib/engine/engine_networking_instantiate.d.ts +1 -1
  76. package/lib/engine/engine_physics_rapier.d.ts +6 -4
  77. package/lib/engine/engine_physics_rapier.js +38 -24
  78. package/lib/engine/engine_physics_rapier.js.map +1 -1
  79. package/lib/engine/engine_scenetools.js +6 -2
  80. package/lib/engine/engine_scenetools.js.map +1 -1
  81. package/lib/engine/engine_types.d.ts +9 -2
  82. package/lib/engine/engine_types.js +6 -0
  83. package/lib/engine/engine_types.js.map +1 -1
  84. package/lib/engine/engine_web_api.d.ts +12 -0
  85. package/lib/engine/engine_web_api.js +113 -0
  86. package/lib/engine/engine_web_api.js.map +1 -0
  87. package/lib/engine/export/gltf/Writers.js.map +1 -1
  88. package/lib/engine/export/gltf/index.js +11 -1
  89. package/lib/engine/export/gltf/index.js.map +1 -1
  90. package/lib/engine/export/utils.d.ts +2 -0
  91. package/lib/engine/export/utils.js +8 -0
  92. package/lib/engine/export/utils.js.map +1 -0
  93. package/lib/engine/extensions/NEEDLE_gameobject_data.js +1 -1
  94. package/lib/engine/extensions/NEEDLE_gameobject_data.js.map +1 -1
  95. package/lib/engine/js-extensions/Object3D.d.ts +5 -1
  96. package/lib/engine/js-extensions/Object3D.js.map +1 -1
  97. package/lib/engine/webcomponents/needle menu/needle-menu.js +8 -2
  98. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  99. package/lib/engine/xr/NeedleXRSession.js +3 -0
  100. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  101. package/lib/engine-components/AvatarLoader.js.map +1 -1
  102. package/lib/engine-components/Camera.d.ts +7 -4
  103. package/lib/engine-components/Camera.js +13 -10
  104. package/lib/engine-components/Camera.js.map +1 -1
  105. package/lib/engine-components/Collider.js +4 -5
  106. package/lib/engine-components/Collider.js.map +1 -1
  107. package/lib/engine-components/Component.d.ts +4 -3
  108. package/lib/engine-components/Component.js +6 -7
  109. package/lib/engine-components/Component.js.map +1 -1
  110. package/lib/engine-components/ContactShadows.d.ts +1 -1
  111. package/lib/engine-components/ContactShadows.js +7 -0
  112. package/lib/engine-components/ContactShadows.js.map +1 -1
  113. package/lib/engine-components/FlyControls.d.ts +10 -0
  114. package/lib/engine-components/FlyControls.js +29 -0
  115. package/lib/engine-components/FlyControls.js.map +1 -0
  116. package/lib/engine-components/GroundProjection.d.ts +1 -1
  117. package/lib/engine-components/GroundProjection.js +39 -32
  118. package/lib/engine-components/GroundProjection.js.map +1 -1
  119. package/lib/engine-components/OrbitControls.js +9 -1
  120. package/lib/engine-components/OrbitControls.js.map +1 -1
  121. package/lib/engine-components/RigidBody.d.ts +1 -0
  122. package/lib/engine-components/RigidBody.js +11 -4
  123. package/lib/engine-components/RigidBody.js.map +1 -1
  124. package/lib/engine-components/SceneSwitcher.d.ts +1 -1
  125. package/lib/engine-components/SceneSwitcher.js +1 -1
  126. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  127. package/lib/engine-components/SpatialTrigger.d.ts +2 -2
  128. package/lib/engine-components/SpatialTrigger.js +4 -4
  129. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  130. package/lib/engine-components/TransformGizmo.d.ts +7 -1
  131. package/lib/engine-components/TransformGizmo.js +39 -32
  132. package/lib/engine-components/TransformGizmo.js.map +1 -1
  133. package/lib/engine-components/VideoPlayer.js +0 -1
  134. package/lib/engine-components/VideoPlayer.js.map +1 -1
  135. package/lib/engine-components/export/gltf/GltfExport.js +23 -4
  136. package/lib/engine-components/export/gltf/GltfExport.js.map +1 -1
  137. package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +1 -1
  138. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +2 -2
  139. package/lib/engine-components/export/usdz/index.d.ts +1 -1
  140. package/lib/engine-components/export/usdz/index.js +1 -1
  141. package/lib/engine-components/export/usdz/index.js.map +1 -1
  142. package/lib/engine-components/particlesystem/ParticleSystem.d.ts +5 -6
  143. package/lib/engine-components/particlesystem/ParticleSystem.js +24 -9
  144. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  145. package/lib/engine-components/particlesystem/ParticleSystemModules.js +8 -2
  146. package/lib/engine-components/particlesystem/ParticleSystemModules.js.map +1 -1
  147. package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -1
  148. package/lib/engine-components/postprocessing/Effects/BloomEffect.js.map +1 -1
  149. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js.map +1 -1
  150. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js.map +1 -1
  151. package/lib/engine-components/postprocessing/Effects/Pixelation.js.map +1 -1
  152. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js.map +1 -1
  153. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js.map +1 -1
  154. package/lib/engine-components/postprocessing/Effects/Sharpening.d.ts +2 -0
  155. package/lib/engine-components/postprocessing/Effects/Sharpening.js +15 -6
  156. package/lib/engine-components/postprocessing/Effects/Sharpening.js.map +1 -1
  157. package/lib/engine-components/postprocessing/Effects/TiltShiftEffect.js.map +1 -1
  158. package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
  159. package/lib/engine-components/postprocessing/Effects/Vignette.js.map +1 -1
  160. package/lib/engine-components/postprocessing/PostProcessingHandler.js +1 -1
  161. package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
  162. package/lib/engine-components/webxr/Avatar.js +3 -3
  163. package/lib/engine-components/webxr/Avatar.js.map +1 -1
  164. package/lib/engine-components/webxr/WebXR.js +22 -13
  165. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  166. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +4 -0
  167. package/lib/engine-components/webxr/WebXRImageTracking.js +14 -4
  168. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  169. package/lib/engine-components/webxr/WebXRRig.d.ts +11 -1
  170. package/lib/engine-components/webxr/WebXRRig.js +13 -1
  171. package/lib/engine-components/webxr/WebXRRig.js.map +1 -1
  172. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +4 -1
  173. package/lib/engine-components-experimental/networking/PlayerSync.js +18 -30
  174. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  175. package/lib/needle-engine.js +5 -5
  176. package/lib/needle-engine.js.map +1 -1
  177. package/package.json +14 -8
  178. package/plugins/common/config.cjs +22 -6
  179. package/plugins/common/config.js +27 -11
  180. package/plugins/next/next.js +47 -4
  181. package/plugins/vite/transform.js +3 -3
  182. package/src/engine/assets/index.ts +1 -0
  183. package/src/engine/codegen/register_types.ts +2 -2
  184. package/src/engine/engine_addressables.ts +19 -12
  185. package/src/engine/engine_context.ts +33 -8
  186. package/src/engine/engine_gameobject.ts +12 -16
  187. package/src/engine/engine_gltf_builtin_components.ts +7 -1
  188. package/src/engine/engine_input.ts +16 -5
  189. package/src/engine/engine_license.ts +2 -1
  190. package/src/engine/engine_modules.ts +7 -0
  191. package/src/engine/engine_networking_auto.ts +7 -22
  192. package/src/engine/engine_networking_instantiate.ts +1 -1
  193. package/src/engine/engine_physics_rapier.ts +48 -26
  194. package/src/engine/engine_scenetools.ts +6 -2
  195. package/src/engine/engine_types.ts +10 -2
  196. package/src/engine/export/gltf/Writers.ts +0 -1
  197. package/src/engine/export/gltf/index.ts +13 -3
  198. package/src/engine/export/index.ts +1 -1
  199. package/src/engine/export/utils.ts +10 -0
  200. package/src/engine/extensions/NEEDLE_gameobject_data.ts +1 -2
  201. package/src/engine/js-extensions/Object3D.ts +6 -1
  202. package/src/engine/webcomponents/needle menu/needle-menu.ts +16 -10
  203. package/src/engine/xr/NeedleXRSession.ts +4 -1
  204. package/src/engine-components/AvatarLoader.ts +1 -1
  205. package/src/engine-components/Camera.ts +14 -11
  206. package/src/engine-components/Collider.ts +4 -4
  207. package/src/engine-components/Component.ts +13 -7
  208. package/src/engine-components/ContactShadows.ts +11 -2
  209. package/src/engine-components/GroundProjection.ts +46 -38
  210. package/src/engine-components/OrbitControls.ts +9 -1
  211. package/src/engine-components/RigidBody.ts +13 -5
  212. package/src/engine-components/SceneSwitcher.ts +1 -1
  213. package/src/engine-components/SpatialTrigger.ts +6 -6
  214. package/src/engine-components/TransformGizmo.ts +41 -33
  215. package/src/engine-components/VideoPlayer.ts +0 -1
  216. package/src/engine-components/export/gltf/GltfExport.ts +26 -6
  217. package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2 -2
  218. package/src/engine-components/export/usdz/index.ts +1 -1
  219. package/src/engine-components/particlesystem/ParticleSystem.ts +27 -10
  220. package/src/engine-components/particlesystem/ParticleSystemModules.ts +10 -3
  221. package/src/engine-components/postprocessing/Effects/Antialiasing.ts +0 -1
  222. package/src/engine-components/postprocessing/Effects/BloomEffect.ts +1 -1
  223. package/src/engine-components/postprocessing/Effects/ChromaticAberration.ts +1 -1
  224. package/src/engine-components/postprocessing/Effects/ColorAdjustments.ts +1 -1
  225. package/src/engine-components/postprocessing/Effects/Pixelation.ts +1 -1
  226. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.ts +1 -1
  227. package/src/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.ts +1 -1
  228. package/src/engine-components/postprocessing/Effects/Sharpening.ts +17 -7
  229. package/src/engine-components/postprocessing/Effects/TiltShiftEffect.ts +0 -1
  230. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +1 -1
  231. package/src/engine-components/postprocessing/Effects/Vignette.ts +1 -1
  232. package/src/engine-components/postprocessing/PostProcessingHandler.ts +2 -3
  233. package/src/engine-components/webxr/Avatar.ts +3 -3
  234. package/src/engine-components/webxr/WebXR.ts +23 -14
  235. package/src/engine-components/webxr/WebXRImageTracking.ts +23 -8
  236. package/src/engine-components/webxr/WebXRRig.ts +15 -2
  237. package/src/engine-components-experimental/networking/PlayerSync.ts +18 -37
  238. package/src/needle-engine.ts +5 -5
package/dist/three.js CHANGED
@@ -98,10 +98,10 @@ function jw(s) {
98
98
  function Qw(s) {
99
99
  return Math.pow(2, Math.ceil(Math.log(s) / Math.LN2));
100
100
  }
101
- function eA(s) {
101
+ function e1(s) {
102
102
  return Math.pow(2, Math.floor(Math.log(s) / Math.LN2));
103
103
  }
104
- function tA(s, e, t, n, i) {
104
+ function t1(s, e, t, n, i) {
105
105
  const r = Math.cos, o = Math.sin, a = r(t / 2), c = o(t / 2), l = r((e + n) / 2), u = o((e + n) / 2), h = r((e - n) / 2), d = o((e - n) / 2), p = r((n - e) / 2), f = o((n - e) / 2);
106
106
  switch (i) {
107
107
  case "XYX":
@@ -187,8 +187,8 @@ const Af = {
187
187
  radToDeg: Kw,
188
188
  isPowerOfTwo: jw,
189
189
  ceilPowerOfTwo: Qw,
190
- floorPowerOfTwo: eA,
191
- setQuaternionFromProperEuler: tA,
190
+ floorPowerOfTwo: e1,
191
+ setQuaternionFromProperEuler: t1,
192
192
  normalize: ct,
193
193
  denormalize: Xn
194
194
  };
@@ -579,7 +579,7 @@ function Y_(s) {
579
579
  return !0;
580
580
  return !1;
581
581
  }
582
- const nA = {
582
+ const n1 = {
583
583
  Int8Array,
584
584
  Uint8Array,
585
585
  Uint8ClampedArray,
@@ -591,7 +591,7 @@ const nA = {
591
591
  Float64Array
592
592
  };
593
593
  function Lo(s, e) {
594
- return new nA[s](e);
594
+ return new n1[s](e);
595
595
  }
596
596
  function tc(s) {
597
597
  return document.createElementNS("http://www.w3.org/1999/xhtml", s);
@@ -604,7 +604,7 @@ const Wg = {};
604
604
  function eu(s) {
605
605
  s in Wg || (Wg[s] = !0, console.warn(s));
606
606
  }
607
- function iA(s, e, t) {
607
+ function i1(s, e, t) {
608
608
  return new Promise(function(n, i) {
609
609
  function r() {
610
610
  switch (s.clientWaitSync(e, s.SYNC_FLUSH_COMMANDS_BIT, 0)) {
@@ -621,11 +621,11 @@ function iA(s, e, t) {
621
621
  setTimeout(r, t);
622
622
  });
623
623
  }
624
- function sA(s) {
624
+ function s1(s) {
625
625
  const e = s.elements;
626
626
  e[2] = 0.5 * e[2] + 0.5 * e[3], e[6] = 0.5 * e[6] + 0.5 * e[7], e[10] = 0.5 * e[10] + 0.5 * e[11], e[14] = 0.5 * e[14] + 0.5 * e[15];
627
627
  }
628
- function rA(s) {
628
+ function r1(s) {
629
629
  const e = s.elements;
630
630
  e[11] === -1 ? (e[10] = -e[10] - 1, e[14] = -e[14]) : (e[10] = -e[10], e[14] = -e[14] + 1);
631
631
  }
@@ -678,14 +678,14 @@ const Xg = /* @__PURE__ */ new je().set(
678
678
  toReference: (s) => s.convertSRGBToLinear().applyMatrix3(qg),
679
679
  fromReference: (s) => s.applyMatrix3(Xg).convertLinearToSRGB()
680
680
  }
681
- }, oA = /* @__PURE__ */ new Set([Mi, yc]), xt = {
681
+ }, o1 = /* @__PURE__ */ new Set([Mi, yc]), xt = {
682
682
  enabled: !0,
683
683
  _workingColorSpace: Mi,
684
684
  get workingColorSpace() {
685
685
  return this._workingColorSpace;
686
686
  },
687
687
  set workingColorSpace(s) {
688
- if (!oA.has(s))
688
+ if (!o1.has(s))
689
689
  throw new Error(`Unsupported working color space, "${s}".`);
690
690
  this._workingColorSpace = s;
691
691
  },
@@ -755,10 +755,10 @@ class J_ {
755
755
  return console.warn("THREE.ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied."), e;
756
756
  }
757
757
  }
758
- let aA = 0;
758
+ let a1 = 0;
759
759
  class Cr {
760
760
  constructor(e = null) {
761
- this.isSource = !0, Object.defineProperty(this, "id", { value: aA++ }), this.uuid = yi(), this.data = e, this.dataReady = !0, this.version = 0;
761
+ this.isSource = !0, Object.defineProperty(this, "id", { value: a1++ }), this.uuid = yi(), this.data = e, this.dataReady = !0, this.version = 0;
762
762
  }
763
763
  set needsUpdate(e) {
764
764
  e === !0 && this.version++;
@@ -792,10 +792,10 @@ function fd(s) {
792
792
  type: s.data.constructor.name
793
793
  } : (console.warn("THREE.Texture: Unable to serialize Texture."), {});
794
794
  }
795
- let cA = 0;
795
+ let c1 = 0;
796
796
  class Zt extends Di {
797
797
  constructor(e = Zt.DEFAULT_IMAGE, t = Zt.DEFAULT_MAPPING, n = Ci, i = Ci, r = Bt, o = ai, a = On, c = ls, l = Zt.DEFAULT_ANISOTROPY, u = Hi) {
798
- super(), this.isTexture = !0, Object.defineProperty(this, "id", { value: cA++ }), this.uuid = yi(), this.name = "", this.source = new Cr(e), this.mipmaps = [], this.mapping = t, this.channel = 0, this.wrapS = n, this.wrapT = i, this.magFilter = r, this.minFilter = o, this.anisotropy = l, this.format = a, this.internalFormat = null, this.type = c, this.offset = new J(0, 0), this.repeat = new J(1, 1), this.center = new J(0, 0), this.rotation = 0, this.matrixAutoUpdate = !0, this.matrix = new je(), this.generateMipmaps = !0, this.premultiplyAlpha = !1, this.flipY = !0, this.unpackAlignment = 4, this.colorSpace = u, this.userData = {}, this.version = 0, this.onUpdate = null, this.isRenderTargetTexture = !1, this.pmremVersion = 0;
798
+ super(), this.isTexture = !0, Object.defineProperty(this, "id", { value: c1++ }), this.uuid = yi(), this.name = "", this.source = new Cr(e), this.mipmaps = [], this.mapping = t, this.channel = 0, this.wrapS = n, this.wrapT = i, this.magFilter = r, this.minFilter = o, this.anisotropy = l, this.format = a, this.internalFormat = null, this.type = c, this.offset = new J(0, 0), this.repeat = new J(1, 1), this.center = new J(0, 0), this.rotation = 0, this.matrixAutoUpdate = !0, this.matrix = new je(), this.generateMipmaps = !0, this.premultiplyAlpha = !1, this.flipY = !0, this.unpackAlignment = 4, this.colorSpace = u, this.userData = {}, this.version = 0, this.onUpdate = null, this.isRenderTargetTexture = !1, this.pmremVersion = 0;
799
799
  }
800
800
  get image() {
801
801
  return this.source.data;
@@ -1159,7 +1159,7 @@ class vc extends Zt {
1159
1159
  this.layerUpdates.clear();
1160
1160
  }
1161
1161
  }
1162
- class lA extends Yi {
1162
+ class l1 extends Yi {
1163
1163
  constructor(e = 1, t = 1, n = 1, i = {}) {
1164
1164
  super(e, t, i), this.isWebGLArrayRenderTarget = !0, this.depth = n, this.texture = new vc(null, e, t, n), this.texture.isRenderTargetTexture = !0;
1165
1165
  }
@@ -1169,7 +1169,7 @@ class Nf extends Zt {
1169
1169
  super(null), this.isData3DTexture = !0, this.image = { data: e, width: t, height: n, depth: i }, this.magFilter = sn, this.minFilter = sn, this.wrapR = Ci, this.generateMipmaps = !1, this.flipY = !1, this.unpackAlignment = 1;
1170
1170
  }
1171
1171
  }
1172
- class uA extends Yi {
1172
+ class u1 extends Yi {
1173
1173
  constructor(e = 1, t = 1, n = 1, i = {}) {
1174
1174
  super(e, t, i), this.isWebGL3DRenderTarget = !0, this.depth = n, this.texture = new Nf(null, e, t, n), this.texture.isRenderTargetTexture = !0;
1175
1175
  }
@@ -1834,7 +1834,7 @@ function gd(s, e, t, n, i) {
1834
1834
  }
1835
1835
  return !0;
1836
1836
  }
1837
- const hA = /* @__PURE__ */ new Zn(), da = /* @__PURE__ */ new E(), xd = /* @__PURE__ */ new E();
1837
+ const h1 = /* @__PURE__ */ new Zn(), da = /* @__PURE__ */ new E(), xd = /* @__PURE__ */ new E();
1838
1838
  class zn {
1839
1839
  constructor(e = new E(), t = -1) {
1840
1840
  this.isSphere = !0, this.center = e, this.radius = t;
@@ -1844,7 +1844,7 @@ class zn {
1844
1844
  }
1845
1845
  setFromPoints(e, t) {
1846
1846
  const n = this.center;
1847
- t !== void 0 ? n.copy(t) : hA.setFromPoints(e).getCenter(n);
1847
+ t !== void 0 ? n.copy(t) : h1.setFromPoints(e).getCenter(n);
1848
1848
  let i = 0;
1849
1849
  for (let r = 0, o = e.length; r < o; r++)
1850
1850
  i = Math.max(i, n.distanceToSquared(e[r]));
@@ -2154,7 +2154,7 @@ class Oe {
2154
2154
  return t[3] = 0, t[7] = 0, t[11] = 0, t[12] = 0, t[13] = 0, t[14] = 0, t[15] = 1, this;
2155
2155
  }
2156
2156
  makeRotationFromQuaternion(e) {
2157
- return this.compose(dA, e, pA);
2157
+ return this.compose(d1, e, p1);
2158
2158
  }
2159
2159
  lookAt(e, t, n) {
2160
2160
  const i = this.elements;
@@ -2167,8 +2167,8 @@ class Oe {
2167
2167
  return this.multiplyMatrices(e, this);
2168
2168
  }
2169
2169
  multiplyMatrices(e, t) {
2170
- const n = e.elements, i = t.elements, r = this.elements, o = n[0], a = n[4], c = n[8], l = n[12], u = n[1], h = n[5], d = n[9], p = n[13], f = n[2], x = n[6], m = n[10], g = n[14], y = n[3], _ = n[7], v = n[11], I = n[15], T = i[0], w = i[4], C = i[8], F = i[12], M = i[1], b = i[5], H = i[9], W = i[13], $ = i[2], ie = i[6], q = i[10], he = i[14], Q = i[3], we = i[7], Ae = i[11], Ne = i[15];
2171
- return r[0] = o * T + a * M + c * $ + l * Q, r[4] = o * w + a * b + c * ie + l * we, r[8] = o * C + a * H + c * q + l * Ae, r[12] = o * F + a * W + c * he + l * Ne, r[1] = u * T + h * M + d * $ + p * Q, r[5] = u * w + h * b + d * ie + p * we, r[9] = u * C + h * H + d * q + p * Ae, r[13] = u * F + h * W + d * he + p * Ne, r[2] = f * T + x * M + m * $ + g * Q, r[6] = f * w + x * b + m * ie + g * we, r[10] = f * C + x * H + m * q + g * Ae, r[14] = f * F + x * W + m * he + g * Ne, r[3] = y * T + _ * M + v * $ + I * Q, r[7] = y * w + _ * b + v * ie + I * we, r[11] = y * C + _ * H + v * q + I * Ae, r[15] = y * F + _ * W + v * he + I * Ne, this;
2170
+ const n = e.elements, i = t.elements, r = this.elements, o = n[0], a = n[4], c = n[8], l = n[12], u = n[1], h = n[5], d = n[9], p = n[13], f = n[2], x = n[6], m = n[10], g = n[14], y = n[3], _ = n[7], v = n[11], I = n[15], T = i[0], w = i[4], C = i[8], F = i[12], M = i[1], b = i[5], H = i[9], W = i[13], $ = i[2], ie = i[6], q = i[10], he = i[14], Q = i[3], we = i[7], Ne = i[11], Ee = i[15];
2171
+ return r[0] = o * T + a * M + c * $ + l * Q, r[4] = o * w + a * b + c * ie + l * we, r[8] = o * C + a * H + c * q + l * Ne, r[12] = o * F + a * W + c * he + l * Ee, r[1] = u * T + h * M + d * $ + p * Q, r[5] = u * w + h * b + d * ie + p * we, r[9] = u * C + h * H + d * q + p * Ne, r[13] = u * F + h * W + d * he + p * Ee, r[2] = f * T + x * M + m * $ + g * Q, r[6] = f * w + x * b + m * ie + g * we, r[10] = f * C + x * H + m * q + g * Ne, r[14] = f * F + x * W + m * he + g * Ee, r[3] = y * T + _ * M + v * $ + I * Q, r[7] = y * w + _ * b + v * ie + I * we, r[11] = y * C + _ * H + v * q + I * Ne, r[15] = y * F + _ * W + v * he + I * Ee, this;
2172
2172
  }
2173
2173
  multiplyScalar(e) {
2174
2174
  const t = this.elements;
@@ -2414,7 +2414,7 @@ class Oe {
2414
2414
  return e[t] = n[0], e[t + 1] = n[1], e[t + 2] = n[2], e[t + 3] = n[3], e[t + 4] = n[4], e[t + 5] = n[5], e[t + 6] = n[6], e[t + 7] = n[7], e[t + 8] = n[8], e[t + 9] = n[9], e[t + 10] = n[10], e[t + 11] = n[11], e[t + 12] = n[12], e[t + 13] = n[13], e[t + 14] = n[14], e[t + 15] = n[15], e;
2415
2415
  }
2416
2416
  }
2417
- const uo = /* @__PURE__ */ new E(), Vi = /* @__PURE__ */ new Oe(), dA = /* @__PURE__ */ new E(0, 0, 0), pA = /* @__PURE__ */ new E(1, 1, 1), Os = /* @__PURE__ */ new E(), tl = /* @__PURE__ */ new E(), pi = /* @__PURE__ */ new E(), Yg = /* @__PURE__ */ new Oe(), Zg = /* @__PURE__ */ new ci();
2417
+ const uo = /* @__PURE__ */ new E(), Vi = /* @__PURE__ */ new Oe(), d1 = /* @__PURE__ */ new E(0, 0, 0), p1 = /* @__PURE__ */ new E(1, 1, 1), Os = /* @__PURE__ */ new E(), tl = /* @__PURE__ */ new E(), pi = /* @__PURE__ */ new E(), Yg = /* @__PURE__ */ new Oe(), Zg = /* @__PURE__ */ new ci();
2418
2418
  class Si {
2419
2419
  constructor(e = 0, t = 0, n = 0, i = Si.DEFAULT_ORDER) {
2420
2420
  this.isEuler = !0, this._x = e, this._y = t, this._z = n, this._order = i;
@@ -2535,11 +2535,11 @@ class _h {
2535
2535
  return (this.mask & (1 << e | 0)) !== 0;
2536
2536
  }
2537
2537
  }
2538
- let fA = 0;
2539
- const Jg = /* @__PURE__ */ new E(), ho = /* @__PURE__ */ new ci(), vs = /* @__PURE__ */ new Oe(), nl = /* @__PURE__ */ new E(), pa = /* @__PURE__ */ new E(), mA = /* @__PURE__ */ new E(), gA = /* @__PURE__ */ new ci(), Kg = /* @__PURE__ */ new E(1, 0, 0), jg = /* @__PURE__ */ new E(0, 1, 0), Qg = /* @__PURE__ */ new E(0, 0, 1), e0 = { type: "added" }, xA = { type: "removed" }, po = { type: "childadded", child: null }, Md = { type: "childremoved", child: null };
2538
+ let f1 = 0;
2539
+ const Jg = /* @__PURE__ */ new E(), ho = /* @__PURE__ */ new ci(), vs = /* @__PURE__ */ new Oe(), nl = /* @__PURE__ */ new E(), pa = /* @__PURE__ */ new E(), m1 = /* @__PURE__ */ new E(), g1 = /* @__PURE__ */ new ci(), Kg = /* @__PURE__ */ new E(1, 0, 0), jg = /* @__PURE__ */ new E(0, 1, 0), Qg = /* @__PURE__ */ new E(0, 0, 1), e0 = { type: "added" }, x1 = { type: "removed" }, po = { type: "childadded", child: null }, Md = { type: "childremoved", child: null };
2540
2540
  class Mt extends Di {
2541
2541
  constructor() {
2542
- super(), this.isObject3D = !0, Object.defineProperty(this, "id", { value: fA++ }), this.uuid = yi(), this.name = "", this.type = "Object3D", this.parent = null, this.children = [], this.up = Mt.DEFAULT_UP.clone();
2542
+ super(), this.isObject3D = !0, Object.defineProperty(this, "id", { value: f1++ }), this.uuid = yi(), this.name = "", this.type = "Object3D", this.parent = null, this.children = [], this.up = Mt.DEFAULT_UP.clone();
2543
2543
  const e = new E(), t = new Si(), n = new ci(), i = new E(1, 1, 1);
2544
2544
  function r() {
2545
2545
  n.setFromEuler(t, !1);
@@ -2655,7 +2655,7 @@ class Mt extends Di {
2655
2655
  return this;
2656
2656
  }
2657
2657
  const t = this.children.indexOf(e);
2658
- return t !== -1 && (e.parent = null, this.children.splice(t, 1), e.dispatchEvent(xA), Md.child = e, this.dispatchEvent(Md), Md.child = null), this;
2658
+ return t !== -1 && (e.parent = null, this.children.splice(t, 1), e.dispatchEvent(x1), Md.child = e, this.dispatchEvent(Md), Md.child = null), this;
2659
2659
  }
2660
2660
  removeFromParent() {
2661
2661
  const e = this.parent;
@@ -2693,10 +2693,10 @@ class Mt extends Di {
2693
2693
  return this.updateWorldMatrix(!0, !1), e.setFromMatrixPosition(this.matrixWorld);
2694
2694
  }
2695
2695
  getWorldQuaternion(e) {
2696
- return this.updateWorldMatrix(!0, !1), this.matrixWorld.decompose(pa, e, mA), e;
2696
+ return this.updateWorldMatrix(!0, !1), this.matrixWorld.decompose(pa, e, m1), e;
2697
2697
  }
2698
2698
  getWorldScale(e) {
2699
- return this.updateWorldMatrix(!0, !1), this.matrixWorld.decompose(pa, gA, e), e;
2699
+ return this.updateWorldMatrix(!0, !1), this.matrixWorld.decompose(pa, g1, e), e;
2700
2700
  }
2701
2701
  getWorldDirection(e) {
2702
2702
  this.updateWorldMatrix(!0, !1);
@@ -3302,10 +3302,10 @@ class _e {
3302
3302
  }
3303
3303
  const Un = /* @__PURE__ */ new _e();
3304
3304
  _e.NAMES = K_;
3305
- let _A = 0;
3305
+ let _1 = 0;
3306
3306
  class Sn extends Di {
3307
3307
  constructor() {
3308
- super(), this.isMaterial = !0, Object.defineProperty(this, "id", { value: _A++ }), this.uuid = yi(), this.name = "", this.type = "Material", this.blending = Xs, this.side = Rs, this.vertexColors = !1, this.opacity = 1, this.transparent = !1, this.alphaHash = !1, this.blendSrc = lu, this.blendDst = uu, this.blendEquation = Gs, this.blendSrcAlpha = null, this.blendDstAlpha = null, this.blendEquationAlpha = null, this.blendColor = new _e(0, 0, 0), this.blendAlpha = 0, this.depthFunc = Gr, this.depthTest = !0, this.depthWrite = !0, this.stencilWriteMask = 255, this.stencilFunc = Np, this.stencilRef = 0, this.stencilFuncMask = 255, this.stencilFail = Sr, this.stencilZFail = Sr, this.stencilZPass = Sr, this.stencilWrite = !1, this.clippingPlanes = null, this.clipIntersection = !1, this.clipShadows = !1, this.shadowSide = null, this.colorWrite = !0, this.precision = null, this.polygonOffset = !1, this.polygonOffsetFactor = 0, this.polygonOffsetUnits = 0, this.dithering = !1, this.alphaToCoverage = !1, this.premultipliedAlpha = !1, this.forceSinglePass = !1, this.visible = !0, this.toneMapped = !0, this.userData = {}, this.version = 0, this._alphaTest = 0;
3308
+ super(), this.isMaterial = !0, Object.defineProperty(this, "id", { value: _1++ }), this.uuid = yi(), this.name = "", this.type = "Material", this.blending = Xs, this.side = Rs, this.vertexColors = !1, this.opacity = 1, this.transparent = !1, this.alphaHash = !1, this.blendSrc = lu, this.blendDst = uu, this.blendEquation = Gs, this.blendSrcAlpha = null, this.blendDstAlpha = null, this.blendEquationAlpha = null, this.blendColor = new _e(0, 0, 0), this.blendAlpha = 0, this.depthFunc = Gr, this.depthTest = !0, this.depthWrite = !0, this.stencilWriteMask = 255, this.stencilFunc = Np, this.stencilRef = 0, this.stencilFuncMask = 255, this.stencilFail = Sr, this.stencilZFail = Sr, this.stencilZPass = Sr, this.stencilWrite = !1, this.clippingPlanes = null, this.clipIntersection = !1, this.clipShadows = !1, this.shadowSide = null, this.colorWrite = !0, this.precision = null, this.polygonOffset = !1, this.polygonOffsetFactor = 0, this.polygonOffsetUnits = 0, this.dithering = !1, this.alphaToCoverage = !1, this.premultipliedAlpha = !1, this.forceSinglePass = !1, this.visible = !0, this.toneMapped = !0, this.userData = {}, this.version = 0, this._alphaTest = 0;
3309
3309
  }
3310
3310
  get alphaTest() {
3311
3311
  return this._alphaTest;
@@ -3397,8 +3397,8 @@ class fs extends Sn {
3397
3397
  return super.copy(e), this.color.copy(e.color), this.map = e.map, this.lightMap = e.lightMap, this.lightMapIntensity = e.lightMapIntensity, this.aoMap = e.aoMap, this.aoMapIntensity = e.aoMapIntensity, this.specularMap = e.specularMap, this.alphaMap = e.alphaMap, this.envMap = e.envMap, this.envMapRotation.copy(e.envMapRotation), this.combine = e.combine, this.reflectivity = e.reflectivity, this.refractionRatio = e.refractionRatio, this.wireframe = e.wireframe, this.wireframeLinewidth = e.wireframeLinewidth, this.wireframeLinecap = e.wireframeLinecap, this.wireframeLinejoin = e.wireframeLinejoin, this.fog = e.fog, this;
3398
3398
  }
3399
3399
  }
3400
- const As = /* @__PURE__ */ yA();
3401
- function yA() {
3400
+ const As = /* @__PURE__ */ y1();
3401
+ function y1() {
3402
3402
  const s = new ArrayBuffer(4), e = new Float32Array(s), t = new Uint32Array(s), n = new Uint32Array(512), i = new Uint32Array(512);
3403
3403
  for (let c = 0; c < 256; ++c) {
3404
3404
  const l = c - 127;
@@ -3440,7 +3440,7 @@ function Ra(s) {
3440
3440
  const e = s >> 10;
3441
3441
  return As.uint32View[0] = As.mantissaTable[As.offsetTable[e] + (s & 1023)] + As.exponentTable[e], As.floatView[0];
3442
3442
  }
3443
- const vA = {
3443
+ const v1 = {
3444
3444
  toHalfFloat: ti,
3445
3445
  fromHalfFloat: Ra
3446
3446
  }, an = /* @__PURE__ */ new E(), sl = /* @__PURE__ */ new J();
@@ -3563,22 +3563,22 @@ class Ct {
3563
3563
  return this.name !== "" && (e.name = this.name), this.usage !== Go && (e.usage = this.usage), e;
3564
3564
  }
3565
3565
  }
3566
- class MA extends Ct {
3566
+ class M1 extends Ct {
3567
3567
  constructor(e, t, n) {
3568
3568
  super(new Int8Array(e), t, n);
3569
3569
  }
3570
3570
  }
3571
- class SA extends Ct {
3571
+ class S1 extends Ct {
3572
3572
  constructor(e, t, n) {
3573
3573
  super(new Uint8Array(e), t, n);
3574
3574
  }
3575
3575
  }
3576
- class TA extends Ct {
3576
+ class T1 extends Ct {
3577
3577
  constructor(e, t, n) {
3578
3578
  super(new Uint8ClampedArray(e), t, n);
3579
3579
  }
3580
3580
  }
3581
- class bA extends Ct {
3581
+ class b1 extends Ct {
3582
3582
  constructor(e, t, n) {
3583
3583
  super(new Int16Array(e), t, n);
3584
3584
  }
@@ -3588,7 +3588,7 @@ class Ef extends Ct {
3588
3588
  super(new Uint16Array(e), t, n);
3589
3589
  }
3590
3590
  }
3591
- class wA extends Ct {
3591
+ class w1 extends Ct {
3592
3592
  constructor(e, t, n) {
3593
3593
  super(new Int32Array(e), t, n);
3594
3594
  }
@@ -3645,11 +3645,11 @@ class ze extends Ct {
3645
3645
  super(new Float32Array(e), t, n);
3646
3646
  }
3647
3647
  }
3648
- let AA = 0;
3648
+ let A1 = 0;
3649
3649
  const wi = /* @__PURE__ */ new Oe(), Rd = /* @__PURE__ */ new Mt(), go = /* @__PURE__ */ new E(), fi = /* @__PURE__ */ new Zn(), fa = /* @__PURE__ */ new Zn(), gn = /* @__PURE__ */ new E();
3650
3650
  class lt extends Di {
3651
3651
  constructor() {
3652
- super(), this.isBufferGeometry = !0, Object.defineProperty(this, "id", { value: AA++ }), this.uuid = yi(), this.name = "", this.type = "BufferGeometry", this.index = null, this.attributes = {}, this.morphAttributes = {}, this.morphTargetsRelative = !1, this.groups = [], this.boundingBox = null, this.boundingSphere = null, this.drawRange = { start: 0, count: 1 / 0 }, this.userData = {};
3652
+ super(), this.isBufferGeometry = !0, Object.defineProperty(this, "id", { value: A1++ }), this.uuid = yi(), this.name = "", this.type = "BufferGeometry", this.index = null, this.attributes = {}, this.morphAttributes = {}, this.morphTargetsRelative = !1, this.groups = [], this.boundingBox = null, this.boundingSphere = null, this.drawRange = { start: 0, count: 1 / 0 }, this.userData = {};
3653
3653
  }
3654
3654
  getIndex() {
3655
3655
  return this.index;
@@ -4034,7 +4034,7 @@ class Ht extends Mt {
4034
4034
  }
4035
4035
  }
4036
4036
  }
4037
- function NA(s, e, t, n, i, r, o, a) {
4037
+ function N1(s, e, t, n, i, r, o, a) {
4038
4038
  let c;
4039
4039
  if (e.side === dn ? c = n.intersectTriangle(o, r, i, !0, a) : c = n.intersectTriangle(i, r, o, e.side === Rs, a), c === null)
4040
4040
  return null;
@@ -4048,7 +4048,7 @@ function NA(s, e, t, n, i, r, o, a) {
4048
4048
  }
4049
4049
  function hl(s, e, t, n, i, r, o, a, c, l) {
4050
4050
  s.getVertexPosition(a, ol), s.getVertexPosition(c, al), s.getVertexPosition(l, cl);
4051
- const u = NA(s, e, t, n, ol, al, cl, s0);
4051
+ const u = N1(s, e, t, n, ol, al, cl, s0);
4052
4052
  if (u) {
4053
4053
  const h = new E();
4054
4054
  oi.getBarycoord(s0, ol, al, cl, h), i && (u.uv = oi.getInterpolatedAttribute(i, a, c, l, h, new J())), r && (u.uv1 = oi.getInterpolatedAttribute(r, a, c, l, h, new J())), o && (u.normal = oi.getInterpolatedAttribute(o, a, c, l, h, new E()), u.normal.dot(n.direction) > 0 && u.normal.multiplyScalar(-1));
@@ -4082,16 +4082,16 @@ class Is extends lt {
4082
4082
  const M = v / w, b = I / C, H = v / 2, W = I / 2, $ = T / 2, ie = w + 1, q = C + 1;
4083
4083
  let he = 0, Q = 0;
4084
4084
  const we = new E();
4085
- for (let Ae = 0; Ae < q; Ae++) {
4086
- const Ne = Ae * b - W;
4085
+ for (let Ne = 0; Ne < q; Ne++) {
4086
+ const Ee = Ne * b - W;
4087
4087
  for (let Qe = 0; Qe < ie; Qe++) {
4088
4088
  const ut = Qe * M - H;
4089
- we[x] = ut * y, we[m] = Ne * _, we[g] = $, l.push(we.x, we.y, we.z), we[x] = 0, we[m] = 0, we[g] = T > 0 ? 1 : -1, u.push(we.x, we.y, we.z), h.push(Qe / w), h.push(1 - Ae / C), he += 1;
4089
+ we[x] = ut * y, we[m] = Ee * _, we[g] = $, l.push(we.x, we.y, we.z), we[x] = 0, we[m] = 0, we[g] = T > 0 ? 1 : -1, u.push(we.x, we.y, we.z), h.push(Qe / w), h.push(1 - Ne / C), he += 1;
4090
4090
  }
4091
4091
  }
4092
- for (let Ae = 0; Ae < C; Ae++)
4093
- for (let Ne = 0; Ne < w; Ne++) {
4094
- const Qe = d + Ne + ie * Ae, ut = d + Ne + ie * (Ae + 1), ne = d + (Ne + 1) + ie * (Ae + 1), ue = d + (Ne + 1) + ie * Ae;
4092
+ for (let Ne = 0; Ne < C; Ne++)
4093
+ for (let Ee = 0; Ee < w; Ee++) {
4094
+ const Qe = d + Ee + ie * Ne, ut = d + Ee + ie * (Ne + 1), ne = d + (Ee + 1) + ie * (Ne + 1), ue = d + (Ee + 1) + ie * Ne;
4095
4095
  c.push(Qe, ut, ue), c.push(ut, ne, ue), Q += 6;
4096
4096
  }
4097
4097
  a.addGroup(p, Q, F), p += Q, d += he;
@@ -4124,7 +4124,7 @@ function Gn(s) {
4124
4124
  }
4125
4125
  return e;
4126
4126
  }
4127
- function EA(s) {
4127
+ function E1(s) {
4128
4128
  const e = [];
4129
4129
  for (let t = 0; t < s.length; t++)
4130
4130
  e.push(s[t].clone());
@@ -4135,14 +4135,14 @@ function Q_(s) {
4135
4135
  return e === null ? s.outputColorSpace : e.isXRRenderTarget === !0 ? e.texture.colorSpace : xt.workingColorSpace;
4136
4136
  }
4137
4137
  const ey = { clone: Xo, merge: Gn };
4138
- var CA = `void main() {
4138
+ var C1 = `void main() {
4139
4139
  gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
4140
- }`, RA = `void main() {
4140
+ }`, R1 = `void main() {
4141
4141
  gl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0 );
4142
4142
  }`;
4143
4143
  class Zi extends Sn {
4144
4144
  constructor(e) {
4145
- super(), this.isShaderMaterial = !0, this.type = "ShaderMaterial", this.defines = {}, this.uniforms = {}, this.uniformsGroups = [], this.vertexShader = CA, this.fragmentShader = RA, this.linewidth = 1, this.wireframe = !1, this.wireframeLinewidth = 1, this.fog = !1, this.lights = !1, this.clipping = !1, this.forceSinglePass = !0, this.extensions = {
4145
+ super(), this.isShaderMaterial = !0, this.type = "ShaderMaterial", this.defines = {}, this.uniforms = {}, this.uniformsGroups = [], this.vertexShader = C1, this.fragmentShader = R1, this.linewidth = 1, this.wireframe = !1, this.wireframeLinewidth = 1, this.fog = !1, this.lights = !1, this.clipping = !1, this.forceSinglePass = !0, this.extensions = {
4146
4146
  clipCullDistance: !1,
4147
4147
  // set to use vertex shader clipping
4148
4148
  multiDraw: !1
@@ -4154,7 +4154,7 @@ class Zi extends Sn {
4154
4154
  }, this.index0AttributeName = void 0, this.uniformsNeedUpdate = !1, this.glslVersion = null, e !== void 0 && this.setValues(e);
4155
4155
  }
4156
4156
  copy(e) {
4157
- return super.copy(e), this.fragmentShader = e.fragmentShader, this.vertexShader = e.vertexShader, this.uniforms = Xo(e.uniforms), this.uniformsGroups = EA(e.uniformsGroups), this.defines = Object.assign({}, e.defines), this.wireframe = e.wireframe, this.wireframeLinewidth = e.wireframeLinewidth, this.fog = e.fog, this.lights = e.lights, this.clipping = e.clipping, this.extensions = Object.assign({}, e.extensions), this.glslVersion = e.glslVersion, this;
4157
+ return super.copy(e), this.fragmentShader = e.fragmentShader, this.vertexShader = e.vertexShader, this.uniforms = Xo(e.uniforms), this.uniformsGroups = E1(e.uniformsGroups), this.defines = Object.assign({}, e.defines), this.wireframe = e.wireframe, this.wireframeLinewidth = e.wireframeLinewidth, this.fog = e.fog, this.lights = e.lights, this.clipping = e.clipping, this.extensions = Object.assign({}, e.extensions), this.glslVersion = e.glslVersion, this;
4158
4158
  }
4159
4159
  toJSON(e) {
4160
4160
  const t = super.toJSON(e);
@@ -4455,7 +4455,7 @@ class If extends Yi {
4455
4455
  e.setRenderTarget(r);
4456
4456
  }
4457
4457
  }
4458
- const Pd = /* @__PURE__ */ new E(), IA = /* @__PURE__ */ new E(), PA = /* @__PURE__ */ new je();
4458
+ const Pd = /* @__PURE__ */ new E(), I1 = /* @__PURE__ */ new E(), P1 = /* @__PURE__ */ new je();
4459
4459
  class ws {
4460
4460
  constructor(e = new E(1, 0, 0), t = 0) {
4461
4461
  this.isPlane = !0, this.normal = e, this.constant = t;
@@ -4470,7 +4470,7 @@ class ws {
4470
4470
  return this.normal.copy(e), this.constant = -t.dot(this.normal), this;
4471
4471
  }
4472
4472
  setFromCoplanarPoints(e, t, n) {
4473
- const i = Pd.subVectors(n, t).cross(IA.subVectors(e, t)).normalize();
4473
+ const i = Pd.subVectors(n, t).cross(I1.subVectors(e, t)).normalize();
4474
4474
  return this.setFromNormalAndCoplanarPoint(i, e), this;
4475
4475
  }
4476
4476
  copy(e) {
@@ -4513,7 +4513,7 @@ class ws {
4513
4513
  return e.copy(this.normal).multiplyScalar(-this.constant);
4514
4514
  }
4515
4515
  applyMatrix4(e, t) {
4516
- const n = t || PA.getNormalMatrix(e), i = this.coplanarPoint(Pd).applyMatrix4(e), r = this.normal.applyMatrix3(n).normalize();
4516
+ const n = t || P1.getNormalMatrix(e), i = this.coplanarPoint(Pd).applyMatrix4(e), r = this.normal.applyMatrix3(n).normalize();
4517
4517
  return this.constant = -i.dot(r), this;
4518
4518
  }
4519
4519
  translate(e) {
@@ -4610,7 +4610,7 @@ function ty() {
4610
4610
  }
4611
4611
  };
4612
4612
  }
4613
- function LA(s) {
4613
+ function L1(s) {
4614
4614
  const e = /* @__PURE__ */ new WeakMap();
4615
4615
  function t(a, c) {
4616
4616
  const l = a.array, u = a.usage, h = l.byteLength, d = s.createBuffer();
@@ -4735,9 +4735,9 @@ class ea extends lt {
4735
4735
  return new ea(e.width, e.height, e.widthSegments, e.heightSegments);
4736
4736
  }
4737
4737
  }
4738
- var DA = `#ifdef USE_ALPHAHASH
4738
+ var D1 = `#ifdef USE_ALPHAHASH
4739
4739
  if ( diffuseColor.a < getAlphaHashThreshold( vPosition ) ) discard;
4740
- #endif`, UA = `#ifdef USE_ALPHAHASH
4740
+ #endif`, U1 = `#ifdef USE_ALPHAHASH
4741
4741
  const float ALPHA_HASH_SCALE = 0.05;
4742
4742
  float hash2D( vec2 value ) {
4743
4743
  return fract( 1.0e4 * sin( 17.0 * value.x + 0.1 * value.y ) * ( 0.1 + abs( sin( 13.0 * value.y + value.x ) ) ) );
@@ -4772,20 +4772,20 @@ var DA = `#ifdef USE_ALPHAHASH
4772
4772
  : cases.z;
4773
4773
  return clamp( threshold , 1.0e-6, 1.0 );
4774
4774
  }
4775
- #endif`, FA = `#ifdef USE_ALPHAMAP
4775
+ #endif`, F1 = `#ifdef USE_ALPHAMAP
4776
4776
  diffuseColor.a *= texture2D( alphaMap, vAlphaMapUv ).g;
4777
- #endif`, OA = `#ifdef USE_ALPHAMAP
4777
+ #endif`, O1 = `#ifdef USE_ALPHAMAP
4778
4778
  uniform sampler2D alphaMap;
4779
- #endif`, VA = `#ifdef USE_ALPHATEST
4779
+ #endif`, V1 = `#ifdef USE_ALPHATEST
4780
4780
  #ifdef ALPHA_TO_COVERAGE
4781
4781
  diffuseColor.a = smoothstep( alphaTest, alphaTest + fwidth( diffuseColor.a ), diffuseColor.a );
4782
4782
  if ( diffuseColor.a == 0.0 ) discard;
4783
4783
  #else
4784
4784
  if ( diffuseColor.a < alphaTest ) discard;
4785
4785
  #endif
4786
- #endif`, zA = `#ifdef USE_ALPHATEST
4786
+ #endif`, z1 = `#ifdef USE_ALPHATEST
4787
4787
  uniform float alphaTest;
4788
- #endif`, BA = `#ifdef USE_AOMAP
4788
+ #endif`, B1 = `#ifdef USE_AOMAP
4789
4789
  float ambientOcclusion = ( texture2D( aoMap, vAoMapUv ).r - 1.0 ) * aoMapIntensity + 1.0;
4790
4790
  reflectedLight.indirectDiffuse *= ambientOcclusion;
4791
4791
  #if defined( USE_CLEARCOAT )
@@ -4798,10 +4798,10 @@ var DA = `#ifdef USE_ALPHAHASH
4798
4798
  float dotNV = saturate( dot( geometryNormal, geometryViewDir ) );
4799
4799
  reflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.roughness );
4800
4800
  #endif
4801
- #endif`, kA = `#ifdef USE_AOMAP
4801
+ #endif`, k1 = `#ifdef USE_AOMAP
4802
4802
  uniform sampler2D aoMap;
4803
4803
  uniform float aoMapIntensity;
4804
- #endif`, HA = `#ifdef USE_BATCHING
4804
+ #endif`, H1 = `#ifdef USE_BATCHING
4805
4805
  #if ! defined( GL_ANGLE_multi_draw )
4806
4806
  #define gl_DrawID _gl_DrawID
4807
4807
  uniform int _gl_DrawID;
@@ -4835,15 +4835,15 @@ var DA = `#ifdef USE_ALPHAHASH
4835
4835
  int y = j / size;
4836
4836
  return texelFetch( batchingColorTexture, ivec2( x, y ), 0 ).rgb;
4837
4837
  }
4838
- #endif`, GA = `#ifdef USE_BATCHING
4838
+ #endif`, G1 = `#ifdef USE_BATCHING
4839
4839
  mat4 batchingMatrix = getBatchingMatrix( getIndirectIndex( gl_DrawID ) );
4840
- #endif`, WA = `vec3 transformed = vec3( position );
4840
+ #endif`, W1 = `vec3 transformed = vec3( position );
4841
4841
  #ifdef USE_ALPHAHASH
4842
4842
  vPosition = vec3( position );
4843
- #endif`, XA = `vec3 objectNormal = vec3( normal );
4843
+ #endif`, X1 = `vec3 objectNormal = vec3( normal );
4844
4844
  #ifdef USE_TANGENT
4845
4845
  vec3 objectTangent = vec3( tangent.xyz );
4846
- #endif`, qA = `float G_BlinnPhong_Implicit( ) {
4846
+ #endif`, q1 = `float G_BlinnPhong_Implicit( ) {
4847
4847
  return 0.25;
4848
4848
  }
4849
4849
  float D_BlinnPhong( const in float shininess, const in float dotNH ) {
@@ -4857,7 +4857,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve
4857
4857
  float G = G_BlinnPhong_Implicit( );
4858
4858
  float D = D_BlinnPhong( shininess, dotNH );
4859
4859
  return F * ( G * D );
4860
- } // validated`, $A = `#ifdef USE_IRIDESCENCE
4860
+ } // validated`, $1 = `#ifdef USE_IRIDESCENCE
4861
4861
  const mat3 XYZ_TO_REC709 = mat3(
4862
4862
  3.2404542, -0.9692660, 0.0556434,
4863
4863
  -1.5371385, 1.8760108, -0.2040259,
@@ -4920,7 +4920,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve
4920
4920
  }
4921
4921
  return max( I, vec3( 0.0 ) );
4922
4922
  }
4923
- #endif`, YA = `#ifdef USE_BUMPMAP
4923
+ #endif`, Y1 = `#ifdef USE_BUMPMAP
4924
4924
  uniform sampler2D bumpMap;
4925
4925
  uniform float bumpScale;
4926
4926
  vec2 dHdxy_fwd() {
@@ -4941,7 +4941,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve
4941
4941
  vec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );
4942
4942
  return normalize( abs( fDet ) * surf_norm - vGrad );
4943
4943
  }
4944
- #endif`, ZA = `#if NUM_CLIPPING_PLANES > 0
4944
+ #endif`, Z1 = `#if NUM_CLIPPING_PLANES > 0
4945
4945
  vec4 plane;
4946
4946
  #ifdef ALPHA_TO_COVERAGE
4947
4947
  float distanceToPlane, distanceGradient;
@@ -4987,26 +4987,26 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve
4987
4987
  if ( clipped ) discard;
4988
4988
  #endif
4989
4989
  #endif
4990
- #endif`, JA = `#if NUM_CLIPPING_PLANES > 0
4990
+ #endif`, J1 = `#if NUM_CLIPPING_PLANES > 0
4991
4991
  varying vec3 vClipPosition;
4992
4992
  uniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];
4993
- #endif`, KA = `#if NUM_CLIPPING_PLANES > 0
4993
+ #endif`, K1 = `#if NUM_CLIPPING_PLANES > 0
4994
4994
  varying vec3 vClipPosition;
4995
- #endif`, jA = `#if NUM_CLIPPING_PLANES > 0
4995
+ #endif`, j1 = `#if NUM_CLIPPING_PLANES > 0
4996
4996
  vClipPosition = - mvPosition.xyz;
4997
- #endif`, QA = `#if defined( USE_COLOR_ALPHA )
4997
+ #endif`, Q1 = `#if defined( USE_COLOR_ALPHA )
4998
4998
  diffuseColor *= vColor;
4999
4999
  #elif defined( USE_COLOR )
5000
5000
  diffuseColor.rgb *= vColor;
5001
- #endif`, e1 = `#if defined( USE_COLOR_ALPHA )
5001
+ #endif`, eA = `#if defined( USE_COLOR_ALPHA )
5002
5002
  varying vec4 vColor;
5003
5003
  #elif defined( USE_COLOR )
5004
5004
  varying vec3 vColor;
5005
- #endif`, t1 = `#if defined( USE_COLOR_ALPHA )
5005
+ #endif`, tA = `#if defined( USE_COLOR_ALPHA )
5006
5006
  varying vec4 vColor;
5007
5007
  #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )
5008
5008
  varying vec3 vColor;
5009
- #endif`, n1 = `#if defined( USE_COLOR_ALPHA )
5009
+ #endif`, nA = `#if defined( USE_COLOR_ALPHA )
5010
5010
  vColor = vec4( 1.0 );
5011
5011
  #elif defined( USE_COLOR ) || defined( USE_INSTANCING_COLOR ) || defined( USE_BATCHING_COLOR )
5012
5012
  vColor = vec3( 1.0 );
@@ -5020,7 +5020,7 @@ vec3 BRDF_BlinnPhong( const in vec3 lightDir, const in vec3 viewDir, const in ve
5020
5020
  #ifdef USE_BATCHING_COLOR
5021
5021
  vec3 batchingColor = getBatchingColor( getIndirectIndex( gl_DrawID ) );
5022
5022
  vColor.xyz *= batchingColor.xyz;
5023
- #endif`, i1 = `#define PI 3.141592653589793
5023
+ #endif`, iA = `#define PI 3.141592653589793
5024
5024
  #define PI2 6.283185307179586
5025
5025
  #define PI_HALF 1.5707963267948966
5026
5026
  #define RECIPROCAL_PI 0.3183098861837907
@@ -5094,7 +5094,7 @@ vec3 F_Schlick( const in vec3 f0, const in float f90, const in float dotVH ) {
5094
5094
  float F_Schlick( const in float f0, const in float f90, const in float dotVH ) {
5095
5095
  float fresnel = exp2( ( - 5.55473 * dotVH - 6.98316 ) * dotVH );
5096
5096
  return f0 * ( 1.0 - fresnel ) + ( f90 * fresnel );
5097
- } // validated`, s1 = `#ifdef ENVMAP_TYPE_CUBE_UV
5097
+ } // validated`, sA = `#ifdef ENVMAP_TYPE_CUBE_UV
5098
5098
  #define cubeUV_minMipLevel 4.0
5099
5099
  #define cubeUV_minTileSize 16.0
5100
5100
  float getFace( vec3 direction ) {
@@ -5187,7 +5187,7 @@ float F_Schlick( const in float f0, const in float f90, const in float dotVH ) {
5187
5187
  return vec4( mix( color0, color1, mipF ), 1.0 );
5188
5188
  }
5189
5189
  }
5190
- #endif`, r1 = `vec3 transformedNormal = objectNormal;
5190
+ #endif`, rA = `vec3 transformedNormal = objectNormal;
5191
5191
  #ifdef USE_TANGENT
5192
5192
  vec3 transformedTangent = objectTangent;
5193
5193
  #endif
@@ -5216,18 +5216,18 @@ transformedNormal = normalMatrix * transformedNormal;
5216
5216
  #ifdef FLIP_SIDED
5217
5217
  transformedTangent = - transformedTangent;
5218
5218
  #endif
5219
- #endif`, o1 = `#ifdef USE_DISPLACEMENTMAP
5219
+ #endif`, oA = `#ifdef USE_DISPLACEMENTMAP
5220
5220
  uniform sampler2D displacementMap;
5221
5221
  uniform float displacementScale;
5222
5222
  uniform float displacementBias;
5223
- #endif`, a1 = `#ifdef USE_DISPLACEMENTMAP
5223
+ #endif`, aA = `#ifdef USE_DISPLACEMENTMAP
5224
5224
  transformed += normalize( objectNormal ) * ( texture2D( displacementMap, vDisplacementMapUv ).x * displacementScale + displacementBias );
5225
- #endif`, c1 = `#ifdef USE_EMISSIVEMAP
5225
+ #endif`, cA = `#ifdef USE_EMISSIVEMAP
5226
5226
  vec4 emissiveColor = texture2D( emissiveMap, vEmissiveMapUv );
5227
5227
  totalEmissiveRadiance *= emissiveColor.rgb;
5228
- #endif`, l1 = `#ifdef USE_EMISSIVEMAP
5228
+ #endif`, lA = `#ifdef USE_EMISSIVEMAP
5229
5229
  uniform sampler2D emissiveMap;
5230
- #endif`, u1 = "gl_FragColor = linearToOutputTexel( gl_FragColor );", h1 = `
5230
+ #endif`, uA = "gl_FragColor = linearToOutputTexel( gl_FragColor );", hA = `
5231
5231
  const mat3 LINEAR_SRGB_TO_LINEAR_DISPLAY_P3 = mat3(
5232
5232
  vec3( 0.8224621, 0.177538, 0.0 ),
5233
5233
  vec3( 0.0331941, 0.9668058, 0.0 ),
@@ -5249,7 +5249,7 @@ vec4 LinearTransferOETF( in vec4 value ) {
5249
5249
  }
5250
5250
  vec4 sRGBTransferOETF( in vec4 value ) {
5251
5251
  return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );
5252
- }`, d1 = `#ifdef USE_ENVMAP
5252
+ }`, dA = `#ifdef USE_ENVMAP
5253
5253
  #ifdef ENV_WORLDPOS
5254
5254
  vec3 cameraToFrag;
5255
5255
  if ( isOrthographic ) {
@@ -5278,7 +5278,7 @@ vec4 sRGBTransferOETF( in vec4 value ) {
5278
5278
  #elif defined( ENVMAP_BLENDING_ADD )
5279
5279
  outgoingLight += envColor.xyz * specularStrength * reflectivity;
5280
5280
  #endif
5281
- #endif`, p1 = `#ifdef USE_ENVMAP
5281
+ #endif`, pA = `#ifdef USE_ENVMAP
5282
5282
  uniform float envMapIntensity;
5283
5283
  uniform float flipEnvMap;
5284
5284
  uniform mat3 envMapRotation;
@@ -5288,7 +5288,7 @@ vec4 sRGBTransferOETF( in vec4 value ) {
5288
5288
  uniform sampler2D envMap;
5289
5289
  #endif
5290
5290
 
5291
- #endif`, f1 = `#ifdef USE_ENVMAP
5291
+ #endif`, fA = `#ifdef USE_ENVMAP
5292
5292
  uniform float reflectivity;
5293
5293
  #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )
5294
5294
  #define ENV_WORLDPOS
@@ -5299,7 +5299,7 @@ vec4 sRGBTransferOETF( in vec4 value ) {
5299
5299
  #else
5300
5300
  varying vec3 vReflect;
5301
5301
  #endif
5302
- #endif`, m1 = `#ifdef USE_ENVMAP
5302
+ #endif`, mA = `#ifdef USE_ENVMAP
5303
5303
  #if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( LAMBERT )
5304
5304
  #define ENV_WORLDPOS
5305
5305
  #endif
@@ -5310,7 +5310,7 @@ vec4 sRGBTransferOETF( in vec4 value ) {
5310
5310
  varying vec3 vReflect;
5311
5311
  uniform float refractionRatio;
5312
5312
  #endif
5313
- #endif`, g1 = `#ifdef USE_ENVMAP
5313
+ #endif`, gA = `#ifdef USE_ENVMAP
5314
5314
  #ifdef ENV_WORLDPOS
5315
5315
  vWorldPosition = worldPosition.xyz;
5316
5316
  #else
@@ -5327,18 +5327,18 @@ vec4 sRGBTransferOETF( in vec4 value ) {
5327
5327
  vReflect = refract( cameraToVertex, worldNormal, refractionRatio );
5328
5328
  #endif
5329
5329
  #endif
5330
- #endif`, x1 = `#ifdef USE_FOG
5330
+ #endif`, xA = `#ifdef USE_FOG
5331
5331
  vFogDepth = - mvPosition.z;
5332
- #endif`, _1 = `#ifdef USE_FOG
5332
+ #endif`, _A = `#ifdef USE_FOG
5333
5333
  varying float vFogDepth;
5334
- #endif`, y1 = `#ifdef USE_FOG
5334
+ #endif`, yA = `#ifdef USE_FOG
5335
5335
  #ifdef FOG_EXP2
5336
5336
  float fogFactor = 1.0 - exp( - fogDensity * fogDensity * vFogDepth * vFogDepth );
5337
5337
  #else
5338
5338
  float fogFactor = smoothstep( fogNear, fogFar, vFogDepth );
5339
5339
  #endif
5340
5340
  gl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );
5341
- #endif`, v1 = `#ifdef USE_FOG
5341
+ #endif`, vA = `#ifdef USE_FOG
5342
5342
  uniform vec3 fogColor;
5343
5343
  varying float vFogDepth;
5344
5344
  #ifdef FOG_EXP2
@@ -5347,7 +5347,7 @@ vec4 sRGBTransferOETF( in vec4 value ) {
5347
5347
  uniform float fogNear;
5348
5348
  uniform float fogFar;
5349
5349
  #endif
5350
- #endif`, M1 = `#ifdef USE_GRADIENTMAP
5350
+ #endif`, MA = `#ifdef USE_GRADIENTMAP
5351
5351
  uniform sampler2D gradientMap;
5352
5352
  #endif
5353
5353
  vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {
@@ -5359,12 +5359,12 @@ vec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {
5359
5359
  vec2 fw = fwidth( coord ) * 0.5;
5360
5360
  return mix( vec3( 0.7 ), vec3( 1.0 ), smoothstep( 0.7 - fw.x, 0.7 + fw.x, coord.x ) );
5361
5361
  #endif
5362
- }`, S1 = `#ifdef USE_LIGHTMAP
5362
+ }`, SA = `#ifdef USE_LIGHTMAP
5363
5363
  uniform sampler2D lightMap;
5364
5364
  uniform float lightMapIntensity;
5365
- #endif`, T1 = `LambertMaterial material;
5365
+ #endif`, TA = `LambertMaterial material;
5366
5366
  material.diffuseColor = diffuseColor.rgb;
5367
- material.specularStrength = specularStrength;`, b1 = `varying vec3 vViewPosition;
5367
+ material.specularStrength = specularStrength;`, bA = `varying vec3 vViewPosition;
5368
5368
  struct LambertMaterial {
5369
5369
  vec3 diffuseColor;
5370
5370
  float specularStrength;
@@ -5378,7 +5378,7 @@ void RE_IndirectDiffuse_Lambert( const in vec3 irradiance, const in vec3 geometr
5378
5378
  reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
5379
5379
  }
5380
5380
  #define RE_Direct RE_Direct_Lambert
5381
- #define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`, w1 = `uniform bool receiveShadow;
5381
+ #define RE_IndirectDiffuse RE_IndirectDiffuse_Lambert`, wA = `uniform bool receiveShadow;
5382
5382
  uniform vec3 ambientLightColor;
5383
5383
  #if defined( USE_LIGHT_PROBES )
5384
5384
  uniform vec3 lightProbe[ 9 ];
@@ -5494,7 +5494,7 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi
5494
5494
  vec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );
5495
5495
  return irradiance;
5496
5496
  }
5497
- #endif`, A1 = `#ifdef USE_ENVMAP
5497
+ #endif`, AA = `#ifdef USE_ENVMAP
5498
5498
  vec3 getIBLIrradiance( const in vec3 normal ) {
5499
5499
  #ifdef ENVMAP_TYPE_CUBE_UV
5500
5500
  vec3 worldNormal = inverseTransformDirection( normal, viewMatrix );
@@ -5527,8 +5527,8 @@ float getSpotAttenuation( const in float coneCosine, const in float penumbraCosi
5527
5527
  #endif
5528
5528
  }
5529
5529
  #endif
5530
- #endif`, N1 = `ToonMaterial material;
5531
- material.diffuseColor = diffuseColor.rgb;`, E1 = `varying vec3 vViewPosition;
5530
+ #endif`, NA = `ToonMaterial material;
5531
+ material.diffuseColor = diffuseColor.rgb;`, EA = `varying vec3 vViewPosition;
5532
5532
  struct ToonMaterial {
5533
5533
  vec3 diffuseColor;
5534
5534
  };
@@ -5540,11 +5540,11 @@ void RE_IndirectDiffuse_Toon( const in vec3 irradiance, const in vec3 geometryPo
5540
5540
  reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
5541
5541
  }
5542
5542
  #define RE_Direct RE_Direct_Toon
5543
- #define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`, C1 = `BlinnPhongMaterial material;
5543
+ #define RE_IndirectDiffuse RE_IndirectDiffuse_Toon`, CA = `BlinnPhongMaterial material;
5544
5544
  material.diffuseColor = diffuseColor.rgb;
5545
5545
  material.specularColor = specular;
5546
5546
  material.specularShininess = shininess;
5547
- material.specularStrength = specularStrength;`, R1 = `varying vec3 vViewPosition;
5547
+ material.specularStrength = specularStrength;`, RA = `varying vec3 vViewPosition;
5548
5548
  struct BlinnPhongMaterial {
5549
5549
  vec3 diffuseColor;
5550
5550
  vec3 specularColor;
@@ -5561,7 +5561,7 @@ void RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in vec3 geom
5561
5561
  reflectedLight.indirectDiffuse += irradiance * BRDF_Lambert( material.diffuseColor );
5562
5562
  }
5563
5563
  #define RE_Direct RE_Direct_BlinnPhong
5564
- #define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`, I1 = `PhysicalMaterial material;
5564
+ #define RE_IndirectDiffuse RE_IndirectDiffuse_BlinnPhong`, IA = `PhysicalMaterial material;
5565
5565
  material.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );
5566
5566
  vec3 dxy = max( abs( dFdx( nonPerturbedNormal ) ), abs( dFdy( nonPerturbedNormal ) ) );
5567
5567
  float geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );
@@ -5647,7 +5647,7 @@ material.roughness = min( material.roughness, 1.0 );
5647
5647
  material.alphaT = mix( pow2( material.roughness ), 1.0, pow2( material.anisotropy ) );
5648
5648
  material.anisotropyT = tbn[ 0 ] * anisotropyV.x + tbn[ 1 ] * anisotropyV.y;
5649
5649
  material.anisotropyB = tbn[ 1 ] * anisotropyV.x - tbn[ 0 ] * anisotropyV.y;
5650
- #endif`, P1 = `struct PhysicalMaterial {
5650
+ #endif`, PA = `struct PhysicalMaterial {
5651
5651
  vec3 diffuseColor;
5652
5652
  float roughness;
5653
5653
  vec3 specularColor;
@@ -5948,7 +5948,7 @@ void RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradia
5948
5948
  #define RE_IndirectSpecular RE_IndirectSpecular_Physical
5949
5949
  float computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {
5950
5950
  return saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );
5951
- }`, L1 = `
5951
+ }`, LA = `
5952
5952
  vec3 geometryPosition = - vViewPosition;
5953
5953
  vec3 geometryNormal = normal;
5954
5954
  vec3 geometryViewDir = ( isOrthographic ) ? vec3( 0, 0, 1 ) : normalize( vViewPosition );
@@ -6063,7 +6063,7 @@ IncidentLight directLight;
6063
6063
  #if defined( RE_IndirectSpecular )
6064
6064
  vec3 radiance = vec3( 0.0 );
6065
6065
  vec3 clearcoatRadiance = vec3( 0.0 );
6066
- #endif`, D1 = `#if defined( RE_IndirectDiffuse )
6066
+ #endif`, DA = `#if defined( RE_IndirectDiffuse )
6067
6067
  #ifdef USE_LIGHTMAP
6068
6068
  vec4 lightMapTexel = texture2D( lightMap, vLightMapUv );
6069
6069
  vec3 lightMapIrradiance = lightMapTexel.rgb * lightMapIntensity;
@@ -6082,24 +6082,24 @@ IncidentLight directLight;
6082
6082
  #ifdef USE_CLEARCOAT
6083
6083
  clearcoatRadiance += getIBLRadiance( geometryViewDir, geometryClearcoatNormal, material.clearcoatRoughness );
6084
6084
  #endif
6085
- #endif`, U1 = `#if defined( RE_IndirectDiffuse )
6085
+ #endif`, UA = `#if defined( RE_IndirectDiffuse )
6086
6086
  RE_IndirectDiffuse( irradiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
6087
6087
  #endif
6088
6088
  #if defined( RE_IndirectSpecular )
6089
6089
  RE_IndirectSpecular( radiance, iblIrradiance, clearcoatRadiance, geometryPosition, geometryNormal, geometryViewDir, geometryClearcoatNormal, material, reflectedLight );
6090
- #endif`, F1 = `#if defined( USE_LOGDEPTHBUF )
6090
+ #endif`, FA = `#if defined( USE_LOGDEPTHBUF )
6091
6091
  gl_FragDepth = vIsPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;
6092
- #endif`, O1 = `#if defined( USE_LOGDEPTHBUF )
6092
+ #endif`, OA = `#if defined( USE_LOGDEPTHBUF )
6093
6093
  uniform float logDepthBufFC;
6094
6094
  varying float vFragDepth;
6095
6095
  varying float vIsPerspective;
6096
- #endif`, V1 = `#ifdef USE_LOGDEPTHBUF
6096
+ #endif`, VA = `#ifdef USE_LOGDEPTHBUF
6097
6097
  varying float vFragDepth;
6098
6098
  varying float vIsPerspective;
6099
- #endif`, z1 = `#ifdef USE_LOGDEPTHBUF
6099
+ #endif`, zA = `#ifdef USE_LOGDEPTHBUF
6100
6100
  vFragDepth = 1.0 + gl_Position.w;
6101
6101
  vIsPerspective = float( isPerspectiveMatrix( projectionMatrix ) );
6102
- #endif`, B1 = `#ifdef USE_MAP
6102
+ #endif`, BA = `#ifdef USE_MAP
6103
6103
  #ifdef USE_MIPMAP_BIAS
6104
6104
  vec4 sampledDiffuseColor = texture2D( map, vMapUv, mipmapBias );
6105
6105
  #else
@@ -6110,13 +6110,13 @@ IncidentLight directLight;
6110
6110
 
6111
6111
  #endif
6112
6112
  diffuseColor *= sampledDiffuseColor;
6113
- #endif`, k1 = `#ifdef USE_MAP
6113
+ #endif`, kA = `#ifdef USE_MAP
6114
6114
  uniform sampler2D map;
6115
6115
 
6116
6116
  #ifdef USE_MIPMAP_BIAS
6117
6117
  uniform float mipmapBias;
6118
6118
  #endif
6119
- #endif`, H1 = `#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
6119
+ #endif`, HA = `#if defined( USE_MAP ) || defined( USE_ALPHAMAP )
6120
6120
  #if defined( USE_POINTS_UV )
6121
6121
  vec2 uv = vUv;
6122
6122
  #else
@@ -6128,7 +6128,7 @@ IncidentLight directLight;
6128
6128
  #endif
6129
6129
  #ifdef USE_ALPHAMAP
6130
6130
  diffuseColor.a *= texture2D( alphaMap, uv ).g;
6131
- #endif`, G1 = `#if defined( USE_POINTS_UV )
6131
+ #endif`, GA = `#if defined( USE_POINTS_UV )
6132
6132
  varying vec2 vUv;
6133
6133
  #else
6134
6134
  #if defined( USE_MAP ) || defined( USE_ALPHAMAP )
@@ -6140,19 +6140,19 @@ IncidentLight directLight;
6140
6140
  #endif
6141
6141
  #ifdef USE_ALPHAMAP
6142
6142
  uniform sampler2D alphaMap;
6143
- #endif`, W1 = `float metalnessFactor = metalness;
6143
+ #endif`, WA = `float metalnessFactor = metalness;
6144
6144
  #ifdef USE_METALNESSMAP
6145
6145
  vec4 texelMetalness = texture2D( metalnessMap, vMetalnessMapUv );
6146
6146
  metalnessFactor *= texelMetalness.b;
6147
- #endif`, X1 = `#ifdef USE_METALNESSMAP
6147
+ #endif`, XA = `#ifdef USE_METALNESSMAP
6148
6148
  uniform sampler2D metalnessMap;
6149
- #endif`, q1 = `#ifdef USE_INSTANCING_MORPH
6149
+ #endif`, qA = `#ifdef USE_INSTANCING_MORPH
6150
6150
  float morphTargetInfluences[ MORPHTARGETS_COUNT ];
6151
6151
  float morphTargetBaseInfluence = texelFetch( morphTexture, ivec2( 0, gl_InstanceID ), 0 ).r;
6152
6152
  for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
6153
6153
  morphTargetInfluences[i] = texelFetch( morphTexture, ivec2( i + 1, gl_InstanceID ), 0 ).r;
6154
6154
  }
6155
- #endif`, $1 = `#if defined( USE_MORPHCOLORS )
6155
+ #endif`, $A = `#if defined( USE_MORPHCOLORS )
6156
6156
  vColor *= morphTargetBaseInfluence;
6157
6157
  for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
6158
6158
  #if defined( USE_COLOR_ALPHA )
@@ -6161,12 +6161,12 @@ IncidentLight directLight;
6161
6161
  if ( morphTargetInfluences[ i ] != 0.0 ) vColor += getMorph( gl_VertexID, i, 2 ).rgb * morphTargetInfluences[ i ];
6162
6162
  #endif
6163
6163
  }
6164
- #endif`, Y1 = `#ifdef USE_MORPHNORMALS
6164
+ #endif`, YA = `#ifdef USE_MORPHNORMALS
6165
6165
  objectNormal *= morphTargetBaseInfluence;
6166
6166
  for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
6167
6167
  if ( morphTargetInfluences[ i ] != 0.0 ) objectNormal += getMorph( gl_VertexID, i, 1 ).xyz * morphTargetInfluences[ i ];
6168
6168
  }
6169
- #endif`, Z1 = `#ifdef USE_MORPHTARGETS
6169
+ #endif`, ZA = `#ifdef USE_MORPHTARGETS
6170
6170
  #ifndef USE_INSTANCING_MORPH
6171
6171
  uniform float morphTargetBaseInfluence;
6172
6172
  uniform float morphTargetInfluences[ MORPHTARGETS_COUNT ];
@@ -6180,12 +6180,12 @@ IncidentLight directLight;
6180
6180
  ivec3 morphUV = ivec3( x, y, morphTargetIndex );
6181
6181
  return texelFetch( morphTargetsTexture, morphUV, 0 );
6182
6182
  }
6183
- #endif`, J1 = `#ifdef USE_MORPHTARGETS
6183
+ #endif`, JA = `#ifdef USE_MORPHTARGETS
6184
6184
  transformed *= morphTargetBaseInfluence;
6185
6185
  for ( int i = 0; i < MORPHTARGETS_COUNT; i ++ ) {
6186
6186
  if ( morphTargetInfluences[ i ] != 0.0 ) transformed += getMorph( gl_VertexID, i, 0 ).xyz * morphTargetInfluences[ i ];
6187
6187
  }
6188
- #endif`, K1 = `float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;
6188
+ #endif`, KA = `float faceDirection = gl_FrontFacing ? 1.0 : - 1.0;
6189
6189
  #ifdef FLAT_SHADED
6190
6190
  vec3 fdx = dFdx( vViewPosition );
6191
6191
  vec3 fdy = dFdy( vViewPosition );
@@ -6226,7 +6226,7 @@ IncidentLight directLight;
6226
6226
  tbn2[1] *= faceDirection;
6227
6227
  #endif
6228
6228
  #endif
6229
- vec3 nonPerturbedNormal = normal;`, j1 = `#ifdef USE_NORMALMAP_OBJECTSPACE
6229
+ vec3 nonPerturbedNormal = normal;`, jA = `#ifdef USE_NORMALMAP_OBJECTSPACE
6230
6230
  normal = texture2D( normalMap, vNormalMapUv ).xyz * 2.0 - 1.0;
6231
6231
  #ifdef FLIP_SIDED
6232
6232
  normal = - normal;
@@ -6241,7 +6241,7 @@ vec3 nonPerturbedNormal = normal;`, j1 = `#ifdef USE_NORMALMAP_OBJECTSPACE
6241
6241
  normal = normalize( tbn * mapN );
6242
6242
  #elif defined( USE_BUMPMAP )
6243
6243
  normal = perturbNormalArb( - vViewPosition, normal, dHdxy_fwd(), faceDirection );
6244
- #endif`, Q1 = `#ifndef FLAT_SHADED
6244
+ #endif`, QA = `#ifndef FLAT_SHADED
6245
6245
  varying vec3 vNormal;
6246
6246
  #ifdef USE_TANGENT
6247
6247
  varying vec3 vTangent;
@@ -8288,80 +8288,80 @@ void main() {
8288
8288
  #include <colorspace_fragment>
8289
8289
  #include <fog_fragment>
8290
8290
  }`, ht = {
8291
- alphahash_fragment: DA,
8292
- alphahash_pars_fragment: UA,
8293
- alphamap_fragment: FA,
8294
- alphamap_pars_fragment: OA,
8295
- alphatest_fragment: VA,
8296
- alphatest_pars_fragment: zA,
8297
- aomap_fragment: BA,
8298
- aomap_pars_fragment: kA,
8299
- batching_pars_vertex: HA,
8300
- batching_vertex: GA,
8301
- begin_vertex: WA,
8302
- beginnormal_vertex: XA,
8303
- bsdfs: qA,
8304
- iridescence_fragment: $A,
8305
- bumpmap_pars_fragment: YA,
8306
- clipping_planes_fragment: ZA,
8307
- clipping_planes_pars_fragment: JA,
8308
- clipping_planes_pars_vertex: KA,
8309
- clipping_planes_vertex: jA,
8310
- color_fragment: QA,
8311
- color_pars_fragment: e1,
8312
- color_pars_vertex: t1,
8313
- color_vertex: n1,
8314
- common: i1,
8315
- cube_uv_reflection_fragment: s1,
8316
- defaultnormal_vertex: r1,
8317
- displacementmap_pars_vertex: o1,
8318
- displacementmap_vertex: a1,
8319
- emissivemap_fragment: c1,
8320
- emissivemap_pars_fragment: l1,
8321
- colorspace_fragment: u1,
8322
- colorspace_pars_fragment: h1,
8323
- envmap_fragment: d1,
8324
- envmap_common_pars_fragment: p1,
8325
- envmap_pars_fragment: f1,
8326
- envmap_pars_vertex: m1,
8327
- envmap_physical_pars_fragment: A1,
8328
- envmap_vertex: g1,
8329
- fog_vertex: x1,
8330
- fog_pars_vertex: _1,
8331
- fog_fragment: y1,
8332
- fog_pars_fragment: v1,
8333
- gradientmap_pars_fragment: M1,
8334
- lightmap_pars_fragment: S1,
8335
- lights_lambert_fragment: T1,
8336
- lights_lambert_pars_fragment: b1,
8337
- lights_pars_begin: w1,
8338
- lights_toon_fragment: N1,
8339
- lights_toon_pars_fragment: E1,
8340
- lights_phong_fragment: C1,
8341
- lights_phong_pars_fragment: R1,
8342
- lights_physical_fragment: I1,
8343
- lights_physical_pars_fragment: P1,
8344
- lights_fragment_begin: L1,
8345
- lights_fragment_maps: D1,
8346
- lights_fragment_end: U1,
8347
- logdepthbuf_fragment: F1,
8348
- logdepthbuf_pars_fragment: O1,
8349
- logdepthbuf_pars_vertex: V1,
8350
- logdepthbuf_vertex: z1,
8351
- map_fragment: B1,
8352
- map_pars_fragment: k1,
8353
- map_particle_fragment: H1,
8354
- map_particle_pars_fragment: G1,
8355
- metalnessmap_fragment: W1,
8356
- metalnessmap_pars_fragment: X1,
8357
- morphinstance_vertex: q1,
8358
- morphcolor_vertex: $1,
8359
- morphnormal_vertex: Y1,
8360
- morphtarget_pars_vertex: Z1,
8361
- morphtarget_vertex: J1,
8362
- normal_fragment_begin: K1,
8363
- normal_fragment_maps: j1,
8364
- normal_pars_fragment: Q1,
8291
+ alphahash_fragment: D1,
8292
+ alphahash_pars_fragment: U1,
8293
+ alphamap_fragment: F1,
8294
+ alphamap_pars_fragment: O1,
8295
+ alphatest_fragment: V1,
8296
+ alphatest_pars_fragment: z1,
8297
+ aomap_fragment: B1,
8298
+ aomap_pars_fragment: k1,
8299
+ batching_pars_vertex: H1,
8300
+ batching_vertex: G1,
8301
+ begin_vertex: W1,
8302
+ beginnormal_vertex: X1,
8303
+ bsdfs: q1,
8304
+ iridescence_fragment: $1,
8305
+ bumpmap_pars_fragment: Y1,
8306
+ clipping_planes_fragment: Z1,
8307
+ clipping_planes_pars_fragment: J1,
8308
+ clipping_planes_pars_vertex: K1,
8309
+ clipping_planes_vertex: j1,
8310
+ color_fragment: Q1,
8311
+ color_pars_fragment: eA,
8312
+ color_pars_vertex: tA,
8313
+ color_vertex: nA,
8314
+ common: iA,
8315
+ cube_uv_reflection_fragment: sA,
8316
+ defaultnormal_vertex: rA,
8317
+ displacementmap_pars_vertex: oA,
8318
+ displacementmap_vertex: aA,
8319
+ emissivemap_fragment: cA,
8320
+ emissivemap_pars_fragment: lA,
8321
+ colorspace_fragment: uA,
8322
+ colorspace_pars_fragment: hA,
8323
+ envmap_fragment: dA,
8324
+ envmap_common_pars_fragment: pA,
8325
+ envmap_pars_fragment: fA,
8326
+ envmap_pars_vertex: mA,
8327
+ envmap_physical_pars_fragment: AA,
8328
+ envmap_vertex: gA,
8329
+ fog_vertex: xA,
8330
+ fog_pars_vertex: _A,
8331
+ fog_fragment: yA,
8332
+ fog_pars_fragment: vA,
8333
+ gradientmap_pars_fragment: MA,
8334
+ lightmap_pars_fragment: SA,
8335
+ lights_lambert_fragment: TA,
8336
+ lights_lambert_pars_fragment: bA,
8337
+ lights_pars_begin: wA,
8338
+ lights_toon_fragment: NA,
8339
+ lights_toon_pars_fragment: EA,
8340
+ lights_phong_fragment: CA,
8341
+ lights_phong_pars_fragment: RA,
8342
+ lights_physical_fragment: IA,
8343
+ lights_physical_pars_fragment: PA,
8344
+ lights_fragment_begin: LA,
8345
+ lights_fragment_maps: DA,
8346
+ lights_fragment_end: UA,
8347
+ logdepthbuf_fragment: FA,
8348
+ logdepthbuf_pars_fragment: OA,
8349
+ logdepthbuf_pars_vertex: VA,
8350
+ logdepthbuf_vertex: zA,
8351
+ map_fragment: BA,
8352
+ map_pars_fragment: kA,
8353
+ map_particle_fragment: HA,
8354
+ map_particle_pars_fragment: GA,
8355
+ metalnessmap_fragment: WA,
8356
+ metalnessmap_pars_fragment: XA,
8357
+ morphinstance_vertex: qA,
8358
+ morphcolor_vertex: $A,
8359
+ morphnormal_vertex: YA,
8360
+ morphtarget_pars_vertex: ZA,
8361
+ morphtarget_vertex: JA,
8362
+ normal_fragment_begin: KA,
8363
+ normal_fragment_maps: jA,
8364
+ normal_pars_fragment: QA,
8365
8365
  normal_pars_vertex: eN,
8366
8366
  normal_vertex: tN,
8367
8367
  normalmap_pars_fragment: nN,
@@ -8989,9 +8989,9 @@ function mE(s, e) {
8989
8989
  const he = H.getAttributes();
8990
8990
  for (const Q in he)
8991
8991
  if (he[Q].location >= 0) {
8992
- const Ae = $[Q];
8993
- let Ne = ie[Q];
8994
- if (Ne === void 0 && (Q === "instanceMatrix" && M.instanceMatrix && (Ne = M.instanceMatrix), Q === "instanceColor" && M.instanceColor && (Ne = M.instanceColor)), Ae === void 0 || Ae.attribute !== Ne || Ne && Ae.data !== Ne.data)
8992
+ const Ne = $[Q];
8993
+ let Ee = ie[Q];
8994
+ if (Ee === void 0 && (Q === "instanceMatrix" && M.instanceMatrix && (Ee = M.instanceMatrix), Q === "instanceColor" && M.instanceColor && (Ee = M.instanceColor)), Ne === void 0 || Ne.attribute !== Ee || Ee && Ne.data !== Ee.data)
8995
8995
  return !0;
8996
8996
  q++;
8997
8997
  }
@@ -9003,10 +9003,10 @@ function mE(s, e) {
9003
9003
  const he = H.getAttributes();
9004
9004
  for (const Q in he)
9005
9005
  if (he[Q].location >= 0) {
9006
- let Ae = ie[Q];
9007
- Ae === void 0 && (Q === "instanceMatrix" && M.instanceMatrix && (Ae = M.instanceMatrix), Q === "instanceColor" && M.instanceColor && (Ae = M.instanceColor));
9008
- const Ne = {};
9009
- Ne.attribute = Ae, Ae && Ae.data && (Ne.data = Ae.data), $[Q] = Ne, q++;
9006
+ let Ne = ie[Q];
9007
+ Ne === void 0 && (Q === "instanceMatrix" && M.instanceMatrix && (Ne = M.instanceMatrix), Q === "instanceColor" && M.instanceColor && (Ne = M.instanceColor));
9008
+ const Ee = {};
9009
+ Ee.attribute = Ne, Ne && Ne.data && (Ee.data = Ne.data), $[Q] = Ee, q++;
9010
9010
  }
9011
9011
  r.attributes = $, r.attributesNum = q, r.index = W;
9012
9012
  }
@@ -9038,12 +9038,12 @@ function mE(s, e) {
9038
9038
  if (Q.location >= 0) {
9039
9039
  let we = $[he];
9040
9040
  if (we === void 0 && (he === "instanceMatrix" && M.instanceMatrix && (we = M.instanceMatrix), he === "instanceColor" && M.instanceColor && (we = M.instanceColor)), we !== void 0) {
9041
- const Ae = we.normalized, Ne = we.itemSize, Qe = e.get(we);
9041
+ const Ne = we.normalized, Ee = we.itemSize, Qe = e.get(we);
9042
9042
  if (Qe === void 0)
9043
9043
  continue;
9044
- const ut = Qe.buffer, ne = Qe.type, ue = Qe.bytesPerElement, Ee = ne === s.INT || ne === s.UNSIGNED_INT || we.gpuType === Ko;
9044
+ const ut = Qe.buffer, ne = Qe.type, ue = Qe.bytesPerElement, Ae = ne === s.INT || ne === s.UNSIGNED_INT || we.gpuType === Ko;
9045
9045
  if (we.isInterleavedBufferAttribute) {
9046
- const ge = we.data, Ze = ge.stride, Ye = we.offset;
9046
+ const ge = we.data, Ze = ge.stride, Xe = we.offset;
9047
9047
  if (ge.isInstancedInterleavedBuffer) {
9048
9048
  for (let Je = 0; Je < Q.locationSize; Je++)
9049
9049
  g(Q.location + Je, ge.meshPerAttribute);
@@ -9055,12 +9055,12 @@ function mE(s, e) {
9055
9055
  for (let Je = 0; Je < Q.locationSize; Je++)
9056
9056
  _(
9057
9057
  Q.location + Je,
9058
- Ne / Q.locationSize,
9058
+ Ee / Q.locationSize,
9059
9059
  ne,
9060
- Ae,
9060
+ Ne,
9061
9061
  Ze * ue,
9062
- (Ye + Ne / Q.locationSize * Je) * ue,
9063
- Ee
9062
+ (Xe + Ee / Q.locationSize * Je) * ue,
9063
+ Ae
9064
9064
  );
9065
9065
  } else {
9066
9066
  if (we.isInstancedBufferAttribute) {
@@ -9074,29 +9074,29 @@ function mE(s, e) {
9074
9074
  for (let ge = 0; ge < Q.locationSize; ge++)
9075
9075
  _(
9076
9076
  Q.location + ge,
9077
- Ne / Q.locationSize,
9077
+ Ee / Q.locationSize,
9078
9078
  ne,
9079
- Ae,
9080
- Ne * ue,
9081
- Ne / Q.locationSize * ge * ue,
9082
- Ee
9079
+ Ne,
9080
+ Ee * ue,
9081
+ Ee / Q.locationSize * ge * ue,
9082
+ Ae
9083
9083
  );
9084
9084
  }
9085
9085
  } else if (q !== void 0) {
9086
- const Ae = q[he];
9087
- if (Ae !== void 0)
9088
- switch (Ae.length) {
9086
+ const Ne = q[he];
9087
+ if (Ne !== void 0)
9088
+ switch (Ne.length) {
9089
9089
  case 2:
9090
- s.vertexAttrib2fv(Q.location, Ae);
9090
+ s.vertexAttrib2fv(Q.location, Ne);
9091
9091
  break;
9092
9092
  case 3:
9093
- s.vertexAttrib3fv(Q.location, Ae);
9093
+ s.vertexAttrib3fv(Q.location, Ne);
9094
9094
  break;
9095
9095
  case 4:
9096
- s.vertexAttrib4fv(Q.location, Ae);
9096
+ s.vertexAttrib4fv(Q.location, Ne);
9097
9097
  break;
9098
9098
  default:
9099
- s.vertexAttrib1fv(Q.location, Ae);
9099
+ s.vertexAttrib1fv(Q.location, Ne);
9100
9100
  }
9101
9101
  }
9102
9102
  }
@@ -11210,37 +11210,37 @@ function HC(s, e, t, n, i, r, o) {
11210
11210
  return l.add(M), M === 0 ? "uv" : `uv${M}`;
11211
11211
  }
11212
11212
  function g(M, b, H, W, $) {
11213
- const ie = W.fog, q = $.geometry, he = M.isMeshStandardMaterial ? W.environment : null, Q = (M.isMeshStandardMaterial ? t : e).get(M.envMap || he), we = Q && Q.mapping === Qr ? Q.image.height : null, Ae = x[M.type];
11213
+ const ie = W.fog, q = $.geometry, he = M.isMeshStandardMaterial ? W.environment : null, Q = (M.isMeshStandardMaterial ? t : e).get(M.envMap || he), we = Q && Q.mapping === Qr ? Q.image.height : null, Ne = x[M.type];
11214
11214
  M.precision !== null && (f = i.getMaxPrecision(M.precision), f !== M.precision && console.warn("THREE.WebGLProgram.getParameters:", M.precision, "not supported, using", f, "instead."));
11215
- const Ne = q.morphAttributes.position || q.morphAttributes.normal || q.morphAttributes.color, Qe = Ne !== void 0 ? Ne.length : 0;
11215
+ const Ee = q.morphAttributes.position || q.morphAttributes.normal || q.morphAttributes.color, Qe = Ee !== void 0 ? Ee.length : 0;
11216
11216
  let ut = 0;
11217
11217
  q.morphAttributes.position !== void 0 && (ut = 1), q.morphAttributes.normal !== void 0 && (ut = 2), q.morphAttributes.color !== void 0 && (ut = 3);
11218
- let ne, ue, Ee, ge;
11219
- if (Ae) {
11220
- const ei = Bi[Ae];
11218
+ let ne, ue, Ae, ge;
11219
+ if (Ne) {
11220
+ const ei = Bi[Ne];
11221
11221
  ne = ei.vertexShader, ue = ei.fragmentShader;
11222
11222
  } else
11223
- ne = M.vertexShader, ue = M.fragmentShader, c.update(M), Ee = c.getVertexShaderID(M), ge = c.getFragmentShaderID(M);
11224
- const Ze = s.getRenderTarget(), Ye = $.isInstancedMesh === !0, Je = $.isBatchedMesh === !0, dt = !!M.map, ae = !!M.matcap, P = !!Q, Me = !!M.aoMap, ye = !!M.lightMap, de = !!M.bumpMap, Se = !!M.normalMap, Xe = !!M.displacementMap, Ie = !!M.emissiveMap, R = !!M.metalnessMap, S = !!M.roughnessMap, X = M.anisotropy > 0, se = M.clearcoat > 0, ce = M.dispersion > 0, re = M.iridescence > 0, ke = M.sheen > 0, be = M.transmission > 0, De = X && !!M.anisotropyMap, yt = se && !!M.clearcoatMap, me = se && !!M.clearcoatNormalMap, Ue = se && !!M.clearcoatRoughnessMap, tt = re && !!M.iridescenceMap, nt = re && !!M.iridescenceThicknessMap, Ve = ke && !!M.sheenColorMap, vt = ke && !!M.sheenRoughnessMap, at = !!M.specularMap, Ft = !!M.specularColorMap, O = !!M.specularIntensityMap, Pe = be && !!M.transmissionMap, ee = be && !!M.thicknessMap, le = !!M.gradientMap, Ce = !!M.alphaMap, Le = M.alphaTest > 0, Tt = !!M.alphaHash, on = !!M.extensions;
11223
+ ne = M.vertexShader, ue = M.fragmentShader, c.update(M), Ae = c.getVertexShaderID(M), ge = c.getFragmentShaderID(M);
11224
+ const Ze = s.getRenderTarget(), Xe = $.isInstancedMesh === !0, Je = $.isBatchedMesh === !0, dt = !!M.map, ae = !!M.matcap, P = !!Q, Me = !!M.aoMap, ye = !!M.lightMap, de = !!M.bumpMap, Se = !!M.normalMap, qe = !!M.displacementMap, Ie = !!M.emissiveMap, R = !!M.metalnessMap, S = !!M.roughnessMap, X = M.anisotropy > 0, se = M.clearcoat > 0, ce = M.dispersion > 0, re = M.iridescence > 0, ke = M.sheen > 0, be = M.transmission > 0, De = X && !!M.anisotropyMap, yt = se && !!M.clearcoatMap, me = se && !!M.clearcoatNormalMap, Ue = se && !!M.clearcoatRoughnessMap, tt = re && !!M.iridescenceMap, nt = re && !!M.iridescenceThicknessMap, Ve = ke && !!M.sheenColorMap, vt = ke && !!M.sheenRoughnessMap, at = !!M.specularMap, Ft = !!M.specularColorMap, O = !!M.specularIntensityMap, Pe = be && !!M.transmissionMap, ee = be && !!M.thicknessMap, le = !!M.gradientMap, Ce = !!M.alphaMap, Le = M.alphaTest > 0, Tt = !!M.alphaHash, on = !!M.extensions;
11225
11225
  let Qn = Pi;
11226
11226
  M.toneMapped && (Ze === null || Ze.isXRRenderTarget === !0) && (Qn = s.toneMapping);
11227
11227
  const Nt = {
11228
- shaderID: Ae,
11228
+ shaderID: Ne,
11229
11229
  shaderType: M.type,
11230
11230
  shaderName: M.name,
11231
11231
  vertexShader: ne,
11232
11232
  fragmentShader: ue,
11233
11233
  defines: M.defines,
11234
- customVertexShaderID: Ee,
11234
+ customVertexShaderID: Ae,
11235
11235
  customFragmentShaderID: ge,
11236
11236
  isRawShaderMaterial: M.isRawShaderMaterial === !0,
11237
11237
  glslVersion: M.glslVersion,
11238
11238
  precision: f,
11239
11239
  batching: Je,
11240
11240
  batchingColor: Je && $._colorsTexture !== null,
11241
- instancing: Ye,
11242
- instancingColor: Ye && $.instanceColor !== null,
11243
- instancingMorph: Ye && $.morphTexture !== null,
11241
+ instancing: Xe,
11242
+ instancingColor: Xe && $.instanceColor !== null,
11243
+ instancingMorph: Xe && $.morphTexture !== null,
11244
11244
  supportsVertexTextures: p,
11245
11245
  outputColorSpace: Ze === null ? s.outputColorSpace : Ze.isXRRenderTarget === !0 ? Ze.texture.colorSpace : Mi,
11246
11246
  alphaToCoverage: !!M.alphaToCoverage,
@@ -11253,7 +11253,7 @@ function HC(s, e, t, n, i, r, o) {
11253
11253
  lightMap: ye,
11254
11254
  bumpMap: de,
11255
11255
  normalMap: Se,
11256
- displacementMap: p && Xe,
11256
+ displacementMap: p && qe,
11257
11257
  emissiveMap: Ie,
11258
11258
  normalMapObjectSpace: Se && M.normalMapType === Sf,
11259
11259
  normalMapTangentSpace: Se && M.normalMapType === us,
@@ -11290,7 +11290,7 @@ function HC(s, e, t, n, i, r, o) {
11290
11290
  lightMapUv: ye && m(M.lightMap.channel),
11291
11291
  bumpMapUv: de && m(M.bumpMap.channel),
11292
11292
  normalMapUv: Se && m(M.normalMap.channel),
11293
- displacementMapUv: Xe && m(M.displacementMap.channel),
11293
+ displacementMapUv: qe && m(M.displacementMap.channel),
11294
11294
  emissiveMapUv: Ie && m(M.emissiveMap.channel),
11295
11295
  metalnessMapUv: R && m(M.metalnessMap.channel),
11296
11296
  roughnessMapUv: S && m(M.roughnessMap.channel),
@@ -11865,19 +11865,19 @@ function eR(s, e, t) {
11865
11865
  i.copy(Q.mapSize);
11866
11866
  const we = Q.getFrameExtents();
11867
11867
  if (i.multiply(we), r.copy(Q.mapSize), (i.x > u || i.y > u) && (i.x > u && (r.x = Math.floor(u / we.x), i.x = r.x * we.x, Q.mapSize.x = r.x), i.y > u && (r.y = Math.floor(u / we.y), i.y = r.y * we.y, Q.mapSize.y = r.y)), Q.map === null || W === !0 || $ === !0) {
11868
- const Ne = this.type !== ii ? { minFilter: sn, magFilter: sn } : {};
11869
- Q.map !== null && Q.map.dispose(), Q.map = new Yi(i.x, i.y, Ne), Q.map.texture.name = he.name + ".shadowMap", Q.camera.updateProjectionMatrix();
11868
+ const Ee = this.type !== ii ? { minFilter: sn, magFilter: sn } : {};
11869
+ Q.map !== null && Q.map.dispose(), Q.map = new Yi(i.x, i.y, Ee), Q.map.texture.name = he.name + ".shadowMap", Q.camera.updateProjectionMatrix();
11870
11870
  }
11871
11871
  s.setRenderTarget(Q.map), s.clear();
11872
- const Ae = Q.getViewportCount();
11873
- for (let Ne = 0; Ne < Ae; Ne++) {
11874
- const Qe = Q.getViewport(Ne);
11872
+ const Ne = Q.getViewportCount();
11873
+ for (let Ee = 0; Ee < Ne; Ee++) {
11874
+ const Qe = Q.getViewport(Ee);
11875
11875
  o.set(
11876
11876
  r.x * Qe.x,
11877
11877
  r.y * Qe.y,
11878
11878
  r.x * Qe.z,
11879
11879
  r.y * Qe.w
11880
- ), H.viewport(o), Q.updateMatrices(he, Ne), n = Q.getFrustum(), v(w, C, Q.camera, he, this.type);
11880
+ ), H.viewport(o), Q.updateMatrices(he, Ee), n = Q.getFrustum(), v(w, C, Q.camera, he, this.type);
11881
11881
  }
11882
11882
  Q.isPointLightShadow !== !0 && this.type === ii && y(Q, C), Q.needsUpdate = !1;
11883
11883
  }
@@ -11916,8 +11916,8 @@ function eR(s, e, t) {
11916
11916
  for (let q = 0, he = ie.length; q < he; q++) {
11917
11917
  const Q = ie[q], we = $[Q.materialIndex];
11918
11918
  if (we && we.visible) {
11919
- const Ae = _(T, we, F, M);
11920
- T.onBeforeShadow(s, T, w, C, W, Ae, Q), s.renderBufferDirect(C, null, W, Ae, T, Q), T.onAfterShadow(s, T, w, C, W, Ae, Q);
11919
+ const Ne = _(T, we, F, M);
11920
+ T.onBeforeShadow(s, T, w, C, W, Ne, Q), s.renderBufferDirect(C, null, W, Ne, T, Q), T.onAfterShadow(s, T, w, C, W, Ne, Q);
11921
11921
  }
11922
11922
  }
11923
11923
  } else if ($.visible) {
@@ -11975,7 +11975,7 @@ function nR(s) {
11975
11975
  Pe = Le;
11976
11976
  },
11977
11977
  setTest: function(Le) {
11978
- Le ? Ee(s.DEPTH_TEST) : ge(s.DEPTH_TEST);
11978
+ Le ? Ae(s.DEPTH_TEST) : ge(s.DEPTH_TEST);
11979
11979
  },
11980
11980
  setMask: function(Le) {
11981
11981
  ee !== Le && !O && (s.depthMask(Le), ee = Le);
@@ -12028,7 +12028,7 @@ function nR(s) {
12028
12028
  let O = !1, Pe = null, ee = null, le = null, Ce = null, Le = null, Tt = null, on = null, Qn = null;
12029
12029
  return {
12030
12030
  setTest: function(Nt) {
12031
- O || (Nt ? Ee(s.STENCIL_TEST) : ge(s.STENCIL_TEST));
12031
+ O || (Nt ? Ae(s.STENCIL_TEST) : ge(s.STENCIL_TEST));
12032
12032
  },
12033
12033
  setMask: function(Nt) {
12034
12034
  Pe !== Nt && !O && (s.stencilMask(Nt), Pe = Nt);
@@ -12057,7 +12057,7 @@ function nR(s) {
12057
12057
  const he = s.getParameter(s.VERSION);
12058
12058
  he.indexOf("WebGL") !== -1 ? (q = parseFloat(/^WebGL (\d)/.exec(he)[1]), ie = q >= 1) : he.indexOf("OpenGL ES") !== -1 && (q = parseFloat(/^OpenGL ES (\d)/.exec(he)[1]), ie = q >= 2);
12059
12059
  let Q = null, we = {};
12060
- const Ae = s.getParameter(s.SCISSOR_BOX), Ne = s.getParameter(s.VIEWPORT), Qe = new rt().fromArray(Ae), ut = new rt().fromArray(Ne);
12060
+ const Ne = s.getParameter(s.SCISSOR_BOX), Ee = s.getParameter(s.VIEWPORT), Qe = new rt().fromArray(Ne), ut = new rt().fromArray(Ee);
12061
12061
  function ne(O, Pe, ee, le) {
12062
12062
  const Ce = new Uint8Array(4), Le = s.createTexture();
12063
12063
  s.bindTexture(O, Le), s.texParameteri(O, s.TEXTURE_MIN_FILTER, s.NEAREST), s.texParameteri(O, s.TEXTURE_MAG_FILTER, s.NEAREST);
@@ -12066,8 +12066,8 @@ function nR(s) {
12066
12066
  return Le;
12067
12067
  }
12068
12068
  const ue = {};
12069
- ue[s.TEXTURE_2D] = ne(s.TEXTURE_2D, s.TEXTURE_2D, 1), ue[s.TEXTURE_CUBE_MAP] = ne(s.TEXTURE_CUBE_MAP, s.TEXTURE_CUBE_MAP_POSITIVE_X, 6), ue[s.TEXTURE_2D_ARRAY] = ne(s.TEXTURE_2D_ARRAY, s.TEXTURE_2D_ARRAY, 1, 1), ue[s.TEXTURE_3D] = ne(s.TEXTURE_3D, s.TEXTURE_3D, 1, 1), i.setClear(0, 0, 0, 1), r.setClear(1), o.setClear(0), Ee(s.DEPTH_TEST), r.setFunc(Gr), ye(!1), de(Tp), Ee(s.CULL_FACE), P(Wi);
12070
- function Ee(O) {
12069
+ ue[s.TEXTURE_2D] = ne(s.TEXTURE_2D, s.TEXTURE_2D, 1), ue[s.TEXTURE_CUBE_MAP] = ne(s.TEXTURE_CUBE_MAP, s.TEXTURE_CUBE_MAP_POSITIVE_X, 6), ue[s.TEXTURE_2D_ARRAY] = ne(s.TEXTURE_2D_ARRAY, s.TEXTURE_2D_ARRAY, 1, 1), ue[s.TEXTURE_3D] = ne(s.TEXTURE_3D, s.TEXTURE_3D, 1, 1), i.setClear(0, 0, 0, 1), r.setClear(1), o.setClear(0), Ae(s.DEPTH_TEST), r.setFunc(Gr), ye(!1), de(Tp), Ae(s.CULL_FACE), P(Wi);
12070
+ function Ae(O) {
12071
12071
  l[O] !== !0 && (s.enable(O), l[O] = !0);
12072
12072
  }
12073
12073
  function ge(O) {
@@ -12076,7 +12076,7 @@ function nR(s) {
12076
12076
  function Ze(O, Pe) {
12077
12077
  return u[O] !== Pe ? (s.bindFramebuffer(O, Pe), u[O] = Pe, O === s.DRAW_FRAMEBUFFER && (u[s.FRAMEBUFFER] = Pe), O === s.FRAMEBUFFER && (u[s.DRAW_FRAMEBUFFER] = Pe), !0) : !1;
12078
12078
  }
12079
- function Ye(O, Pe) {
12079
+ function Xe(O, Pe) {
12080
12080
  let ee = d, le = !1;
12081
12081
  if (O) {
12082
12082
  ee = h.get(Pe), ee === void 0 && (ee = [], h.set(Pe, ee));
@@ -12121,7 +12121,7 @@ function nR(s) {
12121
12121
  f === !0 && (ge(s.BLEND), f = !1);
12122
12122
  return;
12123
12123
  }
12124
- if (f === !1 && (Ee(s.BLEND), f = !0), O !== g_) {
12124
+ if (f === !1 && (Ae(s.BLEND), f = !0), O !== g_) {
12125
12125
  if (O !== x || Nt !== C) {
12126
12126
  if ((m !== Gs || _ !== Gs) && (s.blendEquation(s.FUNC_ADD), m = Gs, _ = Gs), Nt)
12127
12127
  switch (O) {
@@ -12166,26 +12166,26 @@ function nR(s) {
12166
12166
  Ce = Ce || Pe, Le = Le || ee, Tt = Tt || le, (Pe !== m || Ce !== _) && (s.blendEquationSeparate(dt[Pe], dt[Ce]), m = Pe, _ = Ce), (ee !== g || le !== y || Le !== v || Tt !== I) && (s.blendFuncSeparate(ae[ee], ae[le], ae[Le], ae[Tt]), g = ee, y = le, v = Le, I = Tt), (on.equals(T) === !1 || Qn !== w) && (s.blendColor(on.r, on.g, on.b, Qn), T.copy(on), w = Qn), x = O, C = !1;
12167
12167
  }
12168
12168
  function Me(O, Pe) {
12169
- O.side === ss ? ge(s.CULL_FACE) : Ee(s.CULL_FACE);
12169
+ O.side === ss ? ge(s.CULL_FACE) : Ae(s.CULL_FACE);
12170
12170
  let ee = O.side === dn;
12171
12171
  Pe && (ee = !ee), ye(ee), O.blending === Xs && O.transparent === !1 ? P(Wi) : P(O.blending, O.blendEquation, O.blendSrc, O.blendDst, O.blendEquationAlpha, O.blendSrcAlpha, O.blendDstAlpha, O.blendColor, O.blendAlpha, O.premultipliedAlpha), r.setFunc(O.depthFunc), r.setTest(O.depthTest), r.setMask(O.depthWrite), i.setMask(O.colorWrite);
12172
12172
  const le = O.stencilWrite;
12173
- o.setTest(le), le && (o.setMask(O.stencilWriteMask), o.setFunc(O.stencilFunc, O.stencilRef, O.stencilFuncMask), o.setOp(O.stencilFail, O.stencilZFail, O.stencilZPass)), Xe(O.polygonOffset, O.polygonOffsetFactor, O.polygonOffsetUnits), O.alphaToCoverage === !0 ? Ee(s.SAMPLE_ALPHA_TO_COVERAGE) : ge(s.SAMPLE_ALPHA_TO_COVERAGE);
12173
+ o.setTest(le), le && (o.setMask(O.stencilWriteMask), o.setFunc(O.stencilFunc, O.stencilRef, O.stencilFuncMask), o.setOp(O.stencilFail, O.stencilZFail, O.stencilZPass)), qe(O.polygonOffset, O.polygonOffsetFactor, O.polygonOffsetUnits), O.alphaToCoverage === !0 ? Ae(s.SAMPLE_ALPHA_TO_COVERAGE) : ge(s.SAMPLE_ALPHA_TO_COVERAGE);
12174
12174
  }
12175
12175
  function ye(O) {
12176
12176
  F !== O && (O ? s.frontFace(s.CW) : s.frontFace(s.CCW), F = O);
12177
12177
  }
12178
12178
  function de(O) {
12179
- O !== p_ ? (Ee(s.CULL_FACE), O !== M && (O === Tp ? s.cullFace(s.BACK) : O === f_ ? s.cullFace(s.FRONT) : s.cullFace(s.FRONT_AND_BACK))) : ge(s.CULL_FACE), M = O;
12179
+ O !== p_ ? (Ae(s.CULL_FACE), O !== M && (O === Tp ? s.cullFace(s.BACK) : O === f_ ? s.cullFace(s.FRONT) : s.cullFace(s.FRONT_AND_BACK))) : ge(s.CULL_FACE), M = O;
12180
12180
  }
12181
12181
  function Se(O) {
12182
12182
  O !== b && (ie && s.lineWidth(O), b = O);
12183
12183
  }
12184
- function Xe(O, Pe, ee) {
12185
- O ? (Ee(s.POLYGON_OFFSET_FILL), (H !== Pe || W !== ee) && (s.polygonOffset(Pe, ee), H = Pe, W = ee)) : ge(s.POLYGON_OFFSET_FILL);
12184
+ function qe(O, Pe, ee) {
12185
+ O ? (Ae(s.POLYGON_OFFSET_FILL), (H !== Pe || W !== ee) && (s.polygonOffset(Pe, ee), H = Pe, W = ee)) : ge(s.POLYGON_OFFSET_FILL);
12186
12186
  }
12187
12187
  function Ie(O) {
12188
- O ? Ee(s.SCISSOR_TEST) : ge(s.SCISSOR_TEST);
12188
+ O ? Ae(s.SCISSOR_TEST) : ge(s.SCISSOR_TEST);
12189
12189
  }
12190
12190
  function R(O) {
12191
12191
  O === void 0 && (O = s.TEXTURE0 + $ - 1), Q !== O && (s.activeTexture(O), Q = O);
@@ -12294,17 +12294,17 @@ function nR(s) {
12294
12294
  depth: r,
12295
12295
  stencil: o
12296
12296
  },
12297
- enable: Ee,
12297
+ enable: Ae,
12298
12298
  disable: ge,
12299
12299
  bindFramebuffer: Ze,
12300
- drawBuffers: Ye,
12300
+ drawBuffers: Xe,
12301
12301
  useProgram: Je,
12302
12302
  setBlending: P,
12303
12303
  setMaterial: Me,
12304
12304
  setFlipSided: ye,
12305
12305
  setCullFace: de,
12306
12306
  setLineWidth: Se,
12307
- setPolygonOffset: Xe,
12307
+ setPolygonOffset: qe,
12308
12308
  setScissorTest: Ie,
12309
12309
  activeTexture: R,
12310
12310
  bindTexture: S,
@@ -12617,7 +12617,7 @@ function cR(s, e, t, n, i, r, o) {
12617
12617
  [Bt]: s.LINEAR,
12618
12618
  [Dr]: s.LINEAR_MIPMAP_NEAREST,
12619
12619
  [ai]: s.LINEAR_MIPMAP_LINEAR
12620
- }, Ae = {
12620
+ }, Ne = {
12621
12621
  [H_]: s.NEVER,
12622
12622
  [$_]: s.ALWAYS,
12623
12623
  [Tf]: s.LESS,
@@ -12627,8 +12627,8 @@ function cR(s, e, t, n, i, r, o) {
12627
12627
  [W_]: s.GREATER,
12628
12628
  [X_]: s.NOTEQUAL
12629
12629
  };
12630
- function Ne(R, S) {
12631
- if (S.type === qn && e.has("OES_texture_float_linear") === !1 && (S.magFilter === Bt || S.magFilter === Dr || S.magFilter === Ws || S.magFilter === ai || S.minFilter === Bt || S.minFilter === Dr || S.minFilter === Ws || S.minFilter === ai) && console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."), s.texParameteri(R, s.TEXTURE_WRAP_S, Q[S.wrapS]), s.texParameteri(R, s.TEXTURE_WRAP_T, Q[S.wrapT]), (R === s.TEXTURE_3D || R === s.TEXTURE_2D_ARRAY) && s.texParameteri(R, s.TEXTURE_WRAP_R, Q[S.wrapR]), s.texParameteri(R, s.TEXTURE_MAG_FILTER, we[S.magFilter]), s.texParameteri(R, s.TEXTURE_MIN_FILTER, we[S.minFilter]), S.compareFunction && (s.texParameteri(R, s.TEXTURE_COMPARE_MODE, s.COMPARE_REF_TO_TEXTURE), s.texParameteri(R, s.TEXTURE_COMPARE_FUNC, Ae[S.compareFunction])), e.has("EXT_texture_filter_anisotropic") === !0) {
12630
+ function Ee(R, S) {
12631
+ if (S.type === qn && e.has("OES_texture_float_linear") === !1 && (S.magFilter === Bt || S.magFilter === Dr || S.magFilter === Ws || S.magFilter === ai || S.minFilter === Bt || S.minFilter === Dr || S.minFilter === Ws || S.minFilter === ai) && console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."), s.texParameteri(R, s.TEXTURE_WRAP_S, Q[S.wrapS]), s.texParameteri(R, s.TEXTURE_WRAP_T, Q[S.wrapT]), (R === s.TEXTURE_3D || R === s.TEXTURE_2D_ARRAY) && s.texParameteri(R, s.TEXTURE_WRAP_R, Q[S.wrapR]), s.texParameteri(R, s.TEXTURE_MAG_FILTER, we[S.magFilter]), s.texParameteri(R, s.TEXTURE_MIN_FILTER, we[S.minFilter]), S.compareFunction && (s.texParameteri(R, s.TEXTURE_COMPARE_MODE, s.COMPARE_REF_TO_TEXTURE), s.texParameteri(R, s.TEXTURE_COMPARE_FUNC, Ne[S.compareFunction])), e.has("EXT_texture_filter_anisotropic") === !0) {
12632
12632
  if (S.magFilter === sn || S.minFilter !== Ws && S.minFilter !== ai || S.type === qn && e.has("OES_texture_float_linear") === !1)
12633
12633
  return;
12634
12634
  if (S.anisotropy > 1 || n.get(S).__currentAnisotropy) {
@@ -12665,10 +12665,10 @@ function cR(s, e, t, n, i, r, o) {
12665
12665
  const be = xt.getPrimaries(xt.workingColorSpace), De = S.colorSpace === Hi ? null : xt.getPrimaries(S.colorSpace), yt = S.colorSpace === Hi || be === De ? s.NONE : s.BROWSER_DEFAULT_WEBGL;
12666
12666
  s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL, S.flipY), s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL, S.premultiplyAlpha), s.pixelStorei(s.UNPACK_ALIGNMENT, S.unpackAlignment), s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL, yt);
12667
12667
  let me = x(S.image, !1, i.maxTextureSize);
12668
- me = Xe(S, me);
12668
+ me = qe(S, me);
12669
12669
  const Ue = r.convert(S.format, S.colorSpace), tt = r.convert(S.type);
12670
12670
  let nt = y(S.internalFormat, Ue, tt, S.colorSpace, S.isVideoTexture);
12671
- Ne(se, S);
12671
+ Ee(se, S);
12672
12672
  let Ve;
12673
12673
  const vt = S.mipmaps, at = S.isVideoTexture !== !0, Ft = ke.__version === void 0 || ce === !0, O = re.dataReady, Pe = v(S, me);
12674
12674
  if (S.isDepthTexture)
@@ -12772,10 +12772,10 @@ function cR(s, e, t, n, i, r, o) {
12772
12772
  s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL, S.flipY), s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL, S.premultiplyAlpha), s.pixelStorei(s.UNPACK_ALIGNMENT, S.unpackAlignment), s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL, De);
12773
12773
  const yt = S.isCompressedTexture || S.image[0].isCompressedTexture, me = S.image[0] && S.image[0].isDataTexture, Ue = [];
12774
12774
  for (let le = 0; le < 6; le++)
12775
- !yt && !me ? Ue[le] = x(S.image[le], !0, i.maxCubemapSize) : Ue[le] = me ? S.image[le].image : S.image[le], Ue[le] = Xe(S, Ue[le]);
12775
+ !yt && !me ? Ue[le] = x(S.image[le], !0, i.maxCubemapSize) : Ue[le] = me ? S.image[le].image : S.image[le], Ue[le] = qe(S, Ue[le]);
12776
12776
  const tt = Ue[0], nt = r.convert(S.format, S.colorSpace), Ve = r.convert(S.type), vt = y(S.internalFormat, nt, Ve, S.colorSpace), at = S.isVideoTexture !== !0, Ft = re.__version === void 0 || se === !0, O = ce.dataReady;
12777
12777
  let Pe = v(S, tt);
12778
- Ne(s.TEXTURE_CUBE_MAP, S);
12778
+ Ee(s.TEXTURE_CUBE_MAP, S);
12779
12779
  let ee;
12780
12780
  if (yt) {
12781
12781
  at && Ft && t.texStorage2D(s.TEXTURE_CUBE_MAP, Pe, vt, tt.width, tt.height);
@@ -12819,7 +12819,7 @@ function cR(s, e, t, n, i, r, o) {
12819
12819
  }
12820
12820
  t.bindFramebuffer(s.FRAMEBUFFER, R), de(S) ? a.framebufferTexture2DMultisampleEXT(s.FRAMEBUFFER, se, ce, n.get(X).__webglTexture, 0, ye(S)) : (ce === s.TEXTURE_2D || ce >= s.TEXTURE_CUBE_MAP_POSITIVE_X && ce <= s.TEXTURE_CUBE_MAP_NEGATIVE_Z) && s.framebufferTexture2D(s.FRAMEBUFFER, se, ce, n.get(X).__webglTexture, re), t.bindFramebuffer(s.FRAMEBUFFER, null);
12821
12821
  }
12822
- function Ee(R, S, X) {
12822
+ function Ae(R, S, X) {
12823
12823
  if (s.bindRenderbuffer(s.RENDERBUFFER, R), S.depthBuffer) {
12824
12824
  const se = S.depthTexture, ce = se && se.isDepthTexture ? se.type : null, re = _(S.stencilBuffer, ce), ke = S.stencilBuffer ? s.DEPTH_STENCIL_ATTACHMENT : s.DEPTH_ATTACHMENT, be = ye(S);
12825
12825
  de(S) ? a.renderbufferStorageMultisampleEXT(s.RENDERBUFFER, be, re, S.width, S.height) : X ? s.renderbufferStorageMultisample(s.RENDERBUFFER, be, re, S.width, S.height) : s.renderbufferStorage(s.RENDERBUFFER, re, S.width, S.height), s.framebufferRenderbuffer(s.FRAMEBUFFER, ke, s.RENDERBUFFER, R);
@@ -12866,20 +12866,20 @@ function cR(s, e, t, n, i, r, o) {
12866
12866
  S.__webglDepthbuffer = [];
12867
12867
  for (let se = 0; se < 6; se++)
12868
12868
  if (t.bindFramebuffer(s.FRAMEBUFFER, S.__webglFramebuffer[se]), S.__webglDepthbuffer[se] === void 0)
12869
- S.__webglDepthbuffer[se] = s.createRenderbuffer(), Ee(S.__webglDepthbuffer[se], R, !1);
12869
+ S.__webglDepthbuffer[se] = s.createRenderbuffer(), Ae(S.__webglDepthbuffer[se], R, !1);
12870
12870
  else {
12871
12871
  const ce = R.stencilBuffer ? s.DEPTH_STENCIL_ATTACHMENT : s.DEPTH_ATTACHMENT, re = S.__webglDepthbuffer[se];
12872
12872
  s.bindRenderbuffer(s.RENDERBUFFER, re), s.framebufferRenderbuffer(s.FRAMEBUFFER, ce, s.RENDERBUFFER, re);
12873
12873
  }
12874
12874
  } else if (t.bindFramebuffer(s.FRAMEBUFFER, S.__webglFramebuffer), S.__webglDepthbuffer === void 0)
12875
- S.__webglDepthbuffer = s.createRenderbuffer(), Ee(S.__webglDepthbuffer, R, !1);
12875
+ S.__webglDepthbuffer = s.createRenderbuffer(), Ae(S.__webglDepthbuffer, R, !1);
12876
12876
  else {
12877
12877
  const se = R.stencilBuffer ? s.DEPTH_STENCIL_ATTACHMENT : s.DEPTH_ATTACHMENT, ce = S.__webglDepthbuffer;
12878
12878
  s.bindRenderbuffer(s.RENDERBUFFER, ce), s.framebufferRenderbuffer(s.FRAMEBUFFER, se, s.RENDERBUFFER, ce);
12879
12879
  }
12880
12880
  t.bindFramebuffer(s.FRAMEBUFFER, null);
12881
12881
  }
12882
- function Ye(R, S, X) {
12882
+ function Xe(R, S, X) {
12883
12883
  const se = n.get(R);
12884
12884
  S !== void 0 && ue(se.__webglFramebuffer, R, R.texture, s.COLOR_ATTACHMENT0, s.TEXTURE_2D, 0), X !== void 0 && Ze(R);
12885
12885
  }
@@ -12916,11 +12916,11 @@ function cR(s, e, t, n, i, r, o) {
12916
12916
  const yt = r.convert(De.format, De.colorSpace), me = r.convert(De.type), Ue = y(De.internalFormat, yt, me, De.colorSpace, R.isXRRenderTarget === !0), tt = ye(R);
12917
12917
  s.renderbufferStorageMultisample(s.RENDERBUFFER, tt, Ue, R.width, R.height), s.framebufferRenderbuffer(s.FRAMEBUFFER, s.COLOR_ATTACHMENT0 + be, s.RENDERBUFFER, X.__webglColorRenderbuffer[be]);
12918
12918
  }
12919
- s.bindRenderbuffer(s.RENDERBUFFER, null), R.depthBuffer && (X.__webglDepthRenderbuffer = s.createRenderbuffer(), Ee(X.__webglDepthRenderbuffer, R, !0)), t.bindFramebuffer(s.FRAMEBUFFER, null);
12919
+ s.bindRenderbuffer(s.RENDERBUFFER, null), R.depthBuffer && (X.__webglDepthRenderbuffer = s.createRenderbuffer(), Ae(X.__webglDepthRenderbuffer, R, !0)), t.bindFramebuffer(s.FRAMEBUFFER, null);
12920
12920
  }
12921
12921
  }
12922
12922
  if (re) {
12923
- t.bindTexture(s.TEXTURE_CUBE_MAP, se.__webglTexture), Ne(s.TEXTURE_CUBE_MAP, S);
12923
+ t.bindTexture(s.TEXTURE_CUBE_MAP, se.__webglTexture), Ee(s.TEXTURE_CUBE_MAP, S);
12924
12924
  for (let be = 0; be < 6; be++)
12925
12925
  if (S.mipmaps && S.mipmaps.length > 0)
12926
12926
  for (let De = 0; De < S.mipmaps.length; De++)
@@ -12931,12 +12931,12 @@ function cR(s, e, t, n, i, r, o) {
12931
12931
  } else if (ke) {
12932
12932
  for (let be = 0, De = ce.length; be < De; be++) {
12933
12933
  const yt = ce[be], me = n.get(yt);
12934
- t.bindTexture(s.TEXTURE_2D, me.__webglTexture), Ne(s.TEXTURE_2D, yt), ue(X.__webglFramebuffer, R, yt, s.COLOR_ATTACHMENT0 + be, s.TEXTURE_2D, 0), m(yt) && g(s.TEXTURE_2D);
12934
+ t.bindTexture(s.TEXTURE_2D, me.__webglTexture), Ee(s.TEXTURE_2D, yt), ue(X.__webglFramebuffer, R, yt, s.COLOR_ATTACHMENT0 + be, s.TEXTURE_2D, 0), m(yt) && g(s.TEXTURE_2D);
12935
12935
  }
12936
12936
  t.unbindTexture();
12937
12937
  } else {
12938
12938
  let be = s.TEXTURE_2D;
12939
- if ((R.isWebGL3DRenderTarget || R.isWebGLArrayRenderTarget) && (be = R.isWebGL3DRenderTarget ? s.TEXTURE_3D : s.TEXTURE_2D_ARRAY), t.bindTexture(be, se.__webglTexture), Ne(be, S), S.mipmaps && S.mipmaps.length > 0)
12939
+ if ((R.isWebGL3DRenderTarget || R.isWebGLArrayRenderTarget) && (be = R.isWebGL3DRenderTarget ? s.TEXTURE_3D : s.TEXTURE_2D_ARRAY), t.bindTexture(be, se.__webglTexture), Ee(be, S), S.mipmaps && S.mipmaps.length > 0)
12940
12940
  for (let De = 0; De < S.mipmaps.length; De++)
12941
12941
  ue(X.__webglFramebuffer[De], R, S, s.COLOR_ATTACHMENT0, be, De);
12942
12942
  else
@@ -12998,14 +12998,14 @@ function cR(s, e, t, n, i, r, o) {
12998
12998
  const S = o.render.frame;
12999
12999
  u.get(R) !== S && (u.set(R, S), R.update());
13000
13000
  }
13001
- function Xe(R, S) {
13001
+ function qe(R, S) {
13002
13002
  const X = R.colorSpace, se = R.format, ce = R.type;
13003
13003
  return R.isCompressedTexture === !0 || R.isVideoTexture === !0 || X !== Mi && X !== Hi && (xt.getTransfer(X) === Ot ? (se !== On || ce !== ls) && console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType.") : console.error("THREE.WebGLTextures: Unsupported texture color space:", X)), S;
13004
13004
  }
13005
13005
  function Ie(R) {
13006
13006
  return typeof HTMLImageElement < "u" && R instanceof HTMLImageElement ? (l.width = R.naturalWidth || R.width, l.height = R.naturalHeight || R.height) : typeof VideoFrame < "u" && R instanceof VideoFrame ? (l.width = R.displayWidth, l.height = R.displayHeight) : (l.width = R.width, l.height = R.height), l;
13007
13007
  }
13008
- this.allocateTextureUnit = H, this.resetTextureUnits = b, this.setTexture2D = $, this.setTexture2DArray = ie, this.setTexture3D = q, this.setTextureCube = he, this.rebindTextures = Ye, this.setupRenderTarget = Je, this.updateRenderTargetMipmap = dt, this.updateMultisampleRenderTarget = Me, this.setupDepthRenderbuffer = Ze, this.setupFrameBufferTexture = ue, this.useMultisampledRTT = de;
13008
+ this.allocateTextureUnit = H, this.resetTextureUnits = b, this.setTexture2D = $, this.setTexture2DArray = ie, this.setTexture3D = q, this.setTextureCube = he, this.rebindTextures = Xe, this.setupRenderTarget = Je, this.updateRenderTargetMipmap = dt, this.updateMultisampleRenderTarget = Me, this.setupDepthRenderbuffer = Ze, this.setupFrameBufferTexture = ue, this.useMultisampledRTT = de;
13009
13009
  }
13010
13010
  function oy(s, e) {
13011
13011
  function t(n, i = Hi) {
@@ -13320,8 +13320,8 @@ class pR extends Di {
13320
13320
  const ue = v.indexOf(ne.inputSource);
13321
13321
  if (ue === -1)
13322
13322
  return;
13323
- const Ee = _[ue];
13324
- Ee !== void 0 && (Ee.update(ne.inputSource, ne.frame, l || o), Ee.dispatchEvent({ type: ne.type, data: ne.inputSource }));
13323
+ const Ae = _[ue];
13324
+ Ae !== void 0 && (Ae.update(ne.inputSource, ne.frame, l || o), Ae.dispatchEvent({ type: ne.type, data: ne.inputSource }));
13325
13325
  }
13326
13326
  function $() {
13327
13327
  i.removeEventListener("select", W), i.removeEventListener("selectstart", W), i.removeEventListener("selectend", W), i.removeEventListener("squeeze", W), i.removeEventListener("squeezestart", W), i.removeEventListener("squeezeend", W), i.removeEventListener("end", $), i.removeEventListener("inputsourceschange", ie);
@@ -13349,43 +13349,43 @@ class pR extends Di {
13349
13349
  return i;
13350
13350
  }, this.setSession = async function(ne) {
13351
13351
  if (i = ne, i !== null) {
13352
- if (g = e.getRenderTarget(), i.addEventListener("select", W), i.addEventListener("selectstart", W), i.addEventListener("selectend", W), i.addEventListener("squeeze", W), i.addEventListener("squeezestart", W), i.addEventListener("squeezeend", W), i.addEventListener("end", $), i.addEventListener("inputsourceschange", ie), m.xrCompatible !== !0 && await t.makeXRCompatible(), T = e.getPixelRatio(), e.getSize(I), i.renderState.layers === void 0) {
13353
- const ue = {
13354
- antialias: m.antialias,
13355
- alpha: !0,
13356
- depth: m.depth,
13357
- stencil: m.stencil,
13358
- framebufferScaleFactor: r
13352
+ if (g = e.getRenderTarget(), i.addEventListener("select", W), i.addEventListener("selectstart", W), i.addEventListener("selectend", W), i.addEventListener("squeeze", W), i.addEventListener("squeezestart", W), i.addEventListener("squeezeend", W), i.addEventListener("end", $), i.addEventListener("inputsourceschange", ie), m.xrCompatible !== !0 && await t.makeXRCompatible(), T = e.getPixelRatio(), e.getSize(I), typeof XRWebGLBinding < "u" && "createProjectionLayer" in XRWebGLBinding.prototype) {
13353
+ let Ae = null, ge = null, Ze = null;
13354
+ m.depth && (Ze = m.stencil ? t.DEPTH24_STENCIL8 : t.DEPTH_COMPONENT24, Ae = m.stencil ? Yr : Ur, ge = m.stencil ? $r : $i);
13355
+ const Xe = {
13356
+ colorFormat: t.RGBA8,
13357
+ depthFormat: Ze,
13358
+ scaleFactor: r
13359
13359
  };
13360
- p = new XRWebGLLayer(i, t, ue), i.updateRenderState({ baseLayer: p }), e.setPixelRatio(1), e.setSize(p.framebufferWidth, p.framebufferHeight, !1), y = new Yi(
13361
- p.framebufferWidth,
13362
- p.framebufferHeight,
13360
+ h = new XRWebGLBinding(i, t), d = h.createProjectionLayer(Xe), i.updateRenderState({ layers: [d] }), e.setPixelRatio(1), e.setSize(d.textureWidth, d.textureHeight, !1), y = new Yi(
13361
+ d.textureWidth,
13362
+ d.textureHeight,
13363
13363
  {
13364
13364
  format: On,
13365
13365
  type: ls,
13366
+ depthTexture: new na(d.textureWidth, d.textureHeight, ge, void 0, void 0, void 0, void 0, void 0, void 0, Ae),
13367
+ stencilBuffer: m.stencil,
13366
13368
  colorSpace: e.outputColorSpace,
13367
- stencilBuffer: m.stencil
13369
+ samples: m.antialias ? 4 : 0,
13370
+ resolveDepthBuffer: d.ignoreDepthValues === !1
13368
13371
  }
13369
13372
  );
13370
13373
  } else {
13371
- let ue = null, Ee = null, ge = null;
13372
- m.depth && (ge = m.stencil ? t.DEPTH24_STENCIL8 : t.DEPTH_COMPONENT24, ue = m.stencil ? Yr : Ur, Ee = m.stencil ? $r : $i);
13373
- const Ze = {
13374
- colorFormat: t.RGBA8,
13375
- depthFormat: ge,
13376
- scaleFactor: r
13374
+ const Ae = {
13375
+ antialias: m.antialias,
13376
+ alpha: !0,
13377
+ depth: m.depth,
13378
+ stencil: m.stencil,
13379
+ framebufferScaleFactor: r
13377
13380
  };
13378
- h = new XRWebGLBinding(i, t), d = h.createProjectionLayer(Ze), i.updateRenderState({ layers: [d] }), e.setPixelRatio(1), e.setSize(d.textureWidth, d.textureHeight, !1), y = new Yi(
13379
- d.textureWidth,
13380
- d.textureHeight,
13381
+ p = new XRWebGLLayer(i, t, Ae), i.updateRenderState({ baseLayer: p }), e.setPixelRatio(1), e.setSize(p.framebufferWidth, p.framebufferHeight, !1), y = new Yi(
13382
+ p.framebufferWidth,
13383
+ p.framebufferHeight,
13381
13384
  {
13382
13385
  format: On,
13383
13386
  type: ls,
13384
- depthTexture: new na(d.textureWidth, d.textureHeight, Ee, void 0, void 0, void 0, void 0, void 0, void 0, ue),
13385
- stencilBuffer: m.stencil,
13386
13387
  colorSpace: e.outputColorSpace,
13387
- samples: m.antialias ? 4 : 0,
13388
- resolveDepthBuffer: d.ignoreDepthValues === !1
13388
+ stencilBuffer: m.stencil
13389
13389
  }
13390
13390
  );
13391
13391
  }
@@ -13399,36 +13399,36 @@ class pR extends Di {
13399
13399
  };
13400
13400
  function ie(ne) {
13401
13401
  for (let ue = 0; ue < ne.removed.length; ue++) {
13402
- const Ee = ne.removed[ue], ge = v.indexOf(Ee);
13403
- ge >= 0 && (v[ge] = null, _[ge] && _[ge].disconnect(Ee));
13402
+ const Ae = ne.removed[ue], ge = v.indexOf(Ae);
13403
+ ge >= 0 && (v[ge] = null, _[ge] && _[ge].disconnect(Ae));
13404
13404
  }
13405
13405
  for (let ue = 0; ue < ne.added.length; ue++) {
13406
- const Ee = ne.added[ue];
13407
- let ge = v.indexOf(Ee);
13406
+ const Ae = ne.added[ue];
13407
+ let ge = v.indexOf(Ae);
13408
13408
  if (ge === -1) {
13409
- for (let Ye = 0; Ye < _.length; Ye++)
13410
- if (Ye >= v.length) {
13411
- v.push(Ee), ge = Ye;
13409
+ for (let Xe = 0; Xe < _.length; Xe++)
13410
+ if (Xe >= v.length) {
13411
+ v.push(Ae), ge = Xe;
13412
13412
  break;
13413
- } else if (v[Ye] === null) {
13414
- v[Ye] = Ee, ge = Ye;
13413
+ } else if (v[Xe] === null) {
13414
+ v[Xe] = Ae, ge = Xe;
13415
13415
  break;
13416
13416
  }
13417
13417
  if (ge === -1)
13418
13418
  break;
13419
13419
  }
13420
13420
  const Ze = _[ge];
13421
- Ze && Ze.connect(Ee);
13421
+ Ze && Ze.connect(Ae);
13422
13422
  }
13423
13423
  }
13424
13424
  const q = new E(), he = new E();
13425
- function Q(ne, ue, Ee) {
13426
- q.setFromMatrixPosition(ue.matrixWorld), he.setFromMatrixPosition(Ee.matrixWorld);
13427
- const ge = q.distanceTo(he), Ze = ue.projectionMatrix.elements, Ye = Ee.projectionMatrix.elements, Je = Ze[14] / (Ze[10] - 1), dt = Ze[14] / (Ze[10] + 1), ae = (Ze[9] + 1) / Ze[5], P = (Ze[9] - 1) / Ze[5], Me = (Ze[8] - 1) / Ze[0], ye = (Ye[8] + 1) / Ye[0], de = Je * Me, Se = Je * ye, Xe = ge / (-Me + ye), Ie = Xe * -Me;
13428
- if (ue.matrixWorld.decompose(ne.position, ne.quaternion, ne.scale), ne.translateX(Ie), ne.translateZ(Xe), ne.matrixWorld.compose(ne.position, ne.quaternion, ne.scale), ne.matrixWorldInverse.copy(ne.matrixWorld).invert(), Ze[10] === -1)
13425
+ function Q(ne, ue, Ae) {
13426
+ q.setFromMatrixPosition(ue.matrixWorld), he.setFromMatrixPosition(Ae.matrixWorld);
13427
+ const ge = q.distanceTo(he), Ze = ue.projectionMatrix.elements, Xe = Ae.projectionMatrix.elements, Je = Ze[14] / (Ze[10] - 1), dt = Ze[14] / (Ze[10] + 1), ae = (Ze[9] + 1) / Ze[5], P = (Ze[9] - 1) / Ze[5], Me = (Ze[8] - 1) / Ze[0], ye = (Xe[8] + 1) / Xe[0], de = Je * Me, Se = Je * ye, qe = ge / (-Me + ye), Ie = qe * -Me;
13428
+ if (ue.matrixWorld.decompose(ne.position, ne.quaternion, ne.scale), ne.translateX(Ie), ne.translateZ(qe), ne.matrixWorld.compose(ne.position, ne.quaternion, ne.scale), ne.matrixWorldInverse.copy(ne.matrixWorld).invert(), Ze[10] === -1)
13429
13429
  ne.projectionMatrix.copy(ue.projectionMatrix), ne.projectionMatrixInverse.copy(ue.projectionMatrixInverse);
13430
13430
  else {
13431
- const R = Je + Xe, S = dt + Xe, X = de - Ie, se = Se + (ge - Ie), ce = ae * dt / S * R, re = P * dt / S * R;
13431
+ const R = Je + qe, S = dt + qe, X = de - Ie, se = Se + (ge - Ie), ce = ae * dt / S * R, re = P * dt / S * R;
13432
13432
  ne.projectionMatrix.makePerspective(X, se, ce, re, R, S), ne.projectionMatrixInverse.copy(ne.projectionMatrix).invert();
13433
13433
  }
13434
13434
  }
@@ -13438,19 +13438,19 @@ class pR extends Di {
13438
13438
  this.updateCamera = function(ne) {
13439
13439
  if (i === null)
13440
13440
  return;
13441
- let ue = ne.near, Ee = ne.far;
13442
- x.texture !== null && (x.depthNear > 0 && (ue = x.depthNear), x.depthFar > 0 && (Ee = x.depthFar)), M.near = C.near = w.near = ue, M.far = C.far = w.far = Ee, (b !== M.near || H !== M.far) && (i.updateRenderState({
13441
+ let ue = ne.near, Ae = ne.far;
13442
+ x.texture !== null && (x.depthNear > 0 && (ue = x.depthNear), x.depthFar > 0 && (Ae = x.depthFar)), M.near = C.near = w.near = ue, M.far = C.far = w.far = Ae, (b !== M.near || H !== M.far) && (i.updateRenderState({
13443
13443
  depthNear: M.near,
13444
13444
  depthFar: M.far
13445
13445
  }), b = M.near, H = M.far);
13446
13446
  const ge = ne.parent, Ze = M.cameras;
13447
13447
  we(M, ge);
13448
- for (let Ye = 0; Ye < Ze.length; Ye++)
13449
- we(Ze[Ye], ge);
13450
- Ze.length === 2 ? Q(M, w, C) : M.projectionMatrix.copy(w.projectionMatrix), Ae(ne, M, ge);
13448
+ for (let Xe = 0; Xe < Ze.length; Xe++)
13449
+ we(Ze[Xe], ge);
13450
+ Ze.length === 2 ? Q(M, w, C) : M.projectionMatrix.copy(w.projectionMatrix), Ne(ne, M, ge);
13451
13451
  };
13452
- function Ae(ne, ue, Ee) {
13453
- Ee === null ? ne.matrix.copy(ue.matrixWorld) : (ne.matrix.copy(Ee.matrixWorld), ne.matrix.invert(), ne.matrix.multiply(ue.matrixWorld)), ne.matrix.decompose(ne.position, ne.quaternion, ne.scale), ne.updateMatrixWorld(!0), ne.projectionMatrix.copy(ue.projectionMatrix), ne.projectionMatrixInverse.copy(ue.projectionMatrixInverse), ne.isPerspectiveCamera && (ne.fov = Wo * 2 * Math.atan(1 / ne.projectionMatrix.elements[5]), ne.zoom = 1);
13452
+ function Ne(ne, ue, Ae) {
13453
+ Ae === null ? ne.matrix.copy(ue.matrixWorld) : (ne.matrix.copy(Ae.matrixWorld), ne.matrix.invert(), ne.matrix.multiply(ue.matrixWorld)), ne.matrix.decompose(ne.position, ne.quaternion, ne.scale), ne.updateMatrixWorld(!0), ne.projectionMatrix.copy(ue.projectionMatrix), ne.projectionMatrixInverse.copy(ue.projectionMatrixInverse), ne.isPerspectiveCamera && (ne.fov = Wo * 2 * Math.atan(1 / ne.projectionMatrix.elements[5]), ne.zoom = 1);
13454
13454
  }
13455
13455
  this.getCamera = function() {
13456
13456
  return M;
@@ -13464,45 +13464,45 @@ class pR extends Di {
13464
13464
  }, this.getDepthSensingMesh = function() {
13465
13465
  return x.getMesh(M);
13466
13466
  };
13467
- let Ne = null;
13467
+ let Ee = null;
13468
13468
  function Qe(ne, ue) {
13469
13469
  if (u = ue.getViewerPose(l || o), f = ue, u !== null) {
13470
- const Ee = u.views;
13470
+ const Ae = u.views;
13471
13471
  p !== null && (e.setRenderTargetFramebuffer(y, p.framebuffer), e.setRenderTarget(y));
13472
13472
  let ge = !1;
13473
- Ee.length !== M.cameras.length && (M.cameras.length = 0, ge = !0);
13474
- for (let Ye = 0; Ye < Ee.length; Ye++) {
13475
- const Je = Ee[Ye];
13473
+ Ae.length !== M.cameras.length && (M.cameras.length = 0, ge = !0);
13474
+ for (let Xe = 0; Xe < Ae.length; Xe++) {
13475
+ const Je = Ae[Xe];
13476
13476
  let dt = null;
13477
13477
  if (p !== null)
13478
13478
  dt = p.getViewport(Je);
13479
13479
  else {
13480
13480
  const P = h.getViewSubImage(d, Je);
13481
- dt = P.viewport, Ye === 0 && (e.setRenderTargetTextures(
13481
+ dt = P.viewport, Xe === 0 && (e.setRenderTargetTextures(
13482
13482
  y,
13483
13483
  P.colorTexture,
13484
13484
  d.ignoreDepthValues ? void 0 : P.depthStencilTexture
13485
13485
  ), e.setRenderTarget(y));
13486
13486
  }
13487
- let ae = F[Ye];
13488
- ae === void 0 && (ae = new _n(), ae.layers.enable(Ye), ae.viewport = new rt(), F[Ye] = ae), ae.matrix.fromArray(Je.transform.matrix), ae.matrix.decompose(ae.position, ae.quaternion, ae.scale), ae.projectionMatrix.fromArray(Je.projectionMatrix), ae.projectionMatrixInverse.copy(ae.projectionMatrix).invert(), ae.viewport.set(dt.x, dt.y, dt.width, dt.height), Ye === 0 && (M.matrix.copy(ae.matrix), M.matrix.decompose(M.position, M.quaternion, M.scale)), ge === !0 && M.cameras.push(ae);
13487
+ let ae = F[Xe];
13488
+ ae === void 0 && (ae = new _n(), ae.layers.enable(Xe), ae.viewport = new rt(), F[Xe] = ae), ae.matrix.fromArray(Je.transform.matrix), ae.matrix.decompose(ae.position, ae.quaternion, ae.scale), ae.projectionMatrix.fromArray(Je.projectionMatrix), ae.projectionMatrixInverse.copy(ae.projectionMatrix).invert(), ae.viewport.set(dt.x, dt.y, dt.width, dt.height), Xe === 0 && (M.matrix.copy(ae.matrix), M.matrix.decompose(M.position, M.quaternion, M.scale)), ge === !0 && M.cameras.push(ae);
13489
13489
  }
13490
13490
  const Ze = i.enabledFeatures;
13491
13491
  if (Ze && Ze.includes("depth-sensing")) {
13492
- const Ye = h.getDepthInformation(Ee[0]);
13493
- Ye && Ye.isValid && Ye.texture && x.init(e, Ye, i.renderState);
13492
+ const Xe = h.getDepthInformation(Ae[0]);
13493
+ Xe && Xe.isValid && Xe.texture && x.init(e, Xe, i.renderState);
13494
13494
  }
13495
13495
  }
13496
13496
  if (n.controllerAutoUpdate)
13497
- for (let Ee = 0; Ee < _.length; Ee++) {
13498
- const ge = v[Ee], Ze = _[Ee];
13497
+ for (let Ae = 0; Ae < _.length; Ae++) {
13498
+ const ge = v[Ae], Ze = _[Ae];
13499
13499
  ge !== null && Ze !== void 0 && Ze.update(ge, ue, l || o);
13500
13500
  }
13501
- Ne && Ne(ne, ue), ue.detectedPlanes && n.dispatchEvent({ type: "planesdetected", data: ue }), f = null;
13501
+ Ee && Ee(ne, ue), ue.detectedPlanes && n.dispatchEvent({ type: "planesdetected", data: ue }), f = null;
13502
13502
  }
13503
13503
  const ut = new ty();
13504
13504
  ut.setAnimationLoop(Qe), this.setAnimationLoop = function(ne) {
13505
- Ne = ne;
13505
+ Ee = ne;
13506
13506
  }, this.dispose = function() {
13507
13507
  };
13508
13508
  }
@@ -13629,8 +13629,8 @@ function gR(s, e, t, n) {
13629
13629
  for (let M = 0, b = F.length; M < b; M++) {
13630
13630
  const H = F[M], W = Array.isArray(H.value) ? H.value : [H.value];
13631
13631
  for (let $ = 0, ie = W.length; $ < ie; $++) {
13632
- const q = W[$], he = x(q), Q = v % I, we = Q % he.boundary, Ae = Q + we;
13633
- v += we, Ae !== 0 && I - Ae < he.storage && (v += I - Ae), H.__data = new Float32Array(he.storage / Float32Array.BYTES_PER_ELEMENT), H.__offset = v, v += he.storage;
13632
+ const q = W[$], he = x(q), Q = v % I, we = Q % he.boundary, Ne = Q + we;
13633
+ v += we, Ne !== 0 && I - Ne < he.storage && (v += I - Ne), H.__data = new Float32Array(he.storage / Float32Array.BYTES_PER_ELEMENT), H.__offset = v, v += he.storage;
13634
13634
  }
13635
13635
  }
13636
13636
  }
@@ -13706,11 +13706,11 @@ class xR {
13706
13706
  let H = null;
13707
13707
  const W = new _e(0);
13708
13708
  let $ = 0, ie = t.width, q = t.height, he = 1, Q = null, we = null;
13709
- const Ae = new rt(0, 0, ie, q), Ne = new rt(0, 0, ie, q);
13709
+ const Ne = new rt(0, 0, ie, q), Ee = new rt(0, 0, ie, q);
13710
13710
  let Qe = !1;
13711
13711
  const ut = new Mc();
13712
13712
  let ne = !1, ue = !1;
13713
- const Ee = new Oe(), ge = new Oe(), Ze = new E(), Ye = new rt(), Je = { background: null, fog: null, environment: null, overrideMaterial: null, isScene: !0 };
13713
+ const Ae = new Oe(), ge = new Oe(), Ze = new E(), Xe = new rt(), Je = { background: null, fog: null, environment: null, overrideMaterial: null, isScene: !0 };
13714
13714
  let dt = !1;
13715
13715
  function ae() {
13716
13716
  return w === null ? he : 1;
@@ -13738,9 +13738,9 @@ class xR {
13738
13738
  } catch (N) {
13739
13739
  throw console.error("THREE.WebGLRenderer: " + N.message), N;
13740
13740
  }
13741
- let ye, de, Se, Xe, Ie, R, S, X, se, ce, re, ke, be, De, yt, me, Ue, tt, nt, Ve, vt, at, Ft, O;
13741
+ let ye, de, Se, qe, Ie, R, S, X, se, ce, re, ke, be, De, yt, me, Ue, tt, nt, Ve, vt, at, Ft, O;
13742
13742
  function Pe() {
13743
- ye = new SE(P), ye.init(), at = new oy(P, ye), de = new xE(P, ye, e, at), Se = new nR(P), de.reverseDepthBuffer && Se.buffers.depth.setReversed(!0), Xe = new wE(P), Ie = new GC(), R = new cR(P, ye, Se, Ie, de, at, Xe), S = new yE(_), X = new ME(_), se = new LA(P), Ft = new mE(P, se), ce = new TE(P, se, Xe, Ft), re = new NE(P, ce, se, Xe), nt = new AE(P, de, R), me = new _E(Ie), ke = new HC(_, S, X, ye, de, Ft, me), be = new mR(_, Ie), De = new XC(), yt = new KC(ye), tt = new fE(_, S, X, Se, re, d, c), Ue = new eR(_, re, de), O = new gR(P, Xe, de, Se), Ve = new gE(P, ye, Xe), vt = new bE(P, ye, Xe), Xe.programs = ke.programs, _.capabilities = de, _.extensions = ye, _.properties = Ie, _.renderLists = De, _.shadowMap = Ue, _.state = Se, _.info = Xe;
13743
+ ye = new SE(P), ye.init(), at = new oy(P, ye), de = new xE(P, ye, e, at), Se = new nR(P), de.reverseDepthBuffer && Se.buffers.depth.setReversed(!0), qe = new wE(P), Ie = new GC(), R = new cR(P, ye, Se, Ie, de, at, qe), S = new yE(_), X = new ME(_), se = new L1(P), Ft = new mE(P, se), ce = new TE(P, se, qe, Ft), re = new NE(P, ce, se, qe), nt = new AE(P, de, R), me = new _E(Ie), ke = new HC(_, S, X, ye, de, Ft, me), be = new mR(_, Ie), De = new XC(), yt = new KC(ye), tt = new fE(_, S, X, Se, re, d, c), Ue = new eR(_, re, de), O = new gR(P, qe, de, Se), Ve = new gE(P, ye, qe), vt = new bE(P, ye, qe), qe.programs = ke.programs, _.capabilities = de, _.extensions = ye, _.properties = Ie, _.renderLists = De, _.shadowMap = Ue, _.state = Se, _.info = qe;
13744
13744
  }
13745
13745
  Pe();
13746
13746
  const ee = new pR(_, P);
@@ -13773,13 +13773,13 @@ class xR {
13773
13773
  }, this.getCurrentViewport = function(N) {
13774
13774
  return N.copy(M);
13775
13775
  }, this.getViewport = function(N) {
13776
- return N.copy(Ae);
13776
+ return N.copy(Ne);
13777
13777
  }, this.setViewport = function(N, z, Y, Z) {
13778
- N.isVector4 ? Ae.set(N.x, N.y, N.z, N.w) : Ae.set(N, z, Y, Z), Se.viewport(M.copy(Ae).multiplyScalar(he).round());
13778
+ N.isVector4 ? Ne.set(N.x, N.y, N.z, N.w) : Ne.set(N, z, Y, Z), Se.viewport(M.copy(Ne).multiplyScalar(he).round());
13779
13779
  }, this.getScissor = function(N) {
13780
- return N.copy(Ne);
13780
+ return N.copy(Ee);
13781
13781
  }, this.setScissor = function(N, z, Y, Z) {
13782
- N.isVector4 ? Ne.set(N.x, N.y, N.z, N.w) : Ne.set(N, z, Y, Z), Se.scissor(b.copy(Ne).multiplyScalar(he).round());
13782
+ N.isVector4 ? Ee.set(N.x, N.y, N.z, N.w) : Ee.set(N, z, Y, Z), Se.scissor(b.copy(Ee).multiplyScalar(he).round());
13783
13783
  }, this.getScissorTest = function() {
13784
13784
  return Qe;
13785
13785
  }, this.setScissorTest = function(N) {
@@ -13825,8 +13825,8 @@ class xR {
13825
13825
  }
13826
13826
  function Ce() {
13827
13827
  console.log("THREE.WebGLRenderer: Context Restored."), v = !1;
13828
- const N = Xe.autoReset, z = Ue.enabled, Y = Ue.autoUpdate, Z = Ue.needsUpdate, k = Ue.type;
13829
- Pe(), Xe.autoReset = N, Ue.enabled = z, Ue.autoUpdate = Y, Ue.needsUpdate = Z, Ue.type = k;
13828
+ const N = qe.autoReset, z = Ue.enabled, Y = Ue.autoUpdate, Z = Ue.needsUpdate, k = Ue.type;
13829
+ Pe(), qe.autoReset = N, Ue.enabled = z, Ue.autoUpdate = Y, Ue.needsUpdate = Z, Ue.type = k;
13830
13830
  }
13831
13831
  function Le(N) {
13832
13832
  console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ", N.statusMessage);
@@ -13865,8 +13865,8 @@ class xR {
13865
13865
  if (He !== null && (hi = se.get(He), Rt = vt, Rt.setIndex(hi)), k.isMesh)
13866
13866
  Z.wireframe === !0 ? (Se.setLineWidth(Z.wireframeLinewidth * ae()), Rt.setMode(P.LINES)) : Rt.setMode(P.TRIANGLES);
13867
13867
  else if (k.isLine) {
13868
- let qe = Z.linewidth;
13869
- qe === void 0 && (qe = 1), Se.setLineWidth(qe * ae()), k.isLineSegments ? Rt.setMode(P.LINES) : k.isLineLoop ? Rt.setMode(P.LINE_LOOP) : Rt.setMode(P.LINE_STRIP);
13868
+ let $e = Z.linewidth;
13869
+ $e === void 0 && ($e = 1), Se.setLineWidth($e * ae()), k.isLineSegments ? Rt.setMode(P.LINES) : k.isLineLoop ? Rt.setMode(P.LINE_LOOP) : Rt.setMode(P.LINE_STRIP);
13870
13870
  } else
13871
13871
  k.isPoints ? Rt.setMode(P.POINTS) : k.isSprite && Rt.setMode(P.TRIANGLES);
13872
13872
  if (k.isBatchedMesh)
@@ -13875,14 +13875,14 @@ class xR {
13875
13875
  else if (ye.get("WEBGL_multi_draw"))
13876
13876
  Rt.renderMultiDraw(k._multiDrawStarts, k._multiDrawCounts, k._multiDrawCount);
13877
13877
  else {
13878
- const qe = k._multiDrawStarts, An = k._multiDrawCounts, It = k._multiDrawCount, Fi = He ? se.get(He).bytesPerElement : 1, ro = Ie.get(Z).currentProgram.getUniforms();
13878
+ const $e = k._multiDrawStarts, An = k._multiDrawCounts, It = k._multiDrawCount, Fi = He ? se.get(He).bytesPerElement : 1, ro = Ie.get(Z).currentProgram.getUniforms();
13879
13879
  for (let di = 0; di < It; di++)
13880
- ro.setValue(P, "_gl_DrawID", di), Rt.render(qe[di] / Fi, An[di]);
13880
+ ro.setValue(P, "_gl_DrawID", di), Rt.render($e[di] / Fi, An[di]);
13881
13881
  }
13882
13882
  else if (k.isInstancedMesh)
13883
13883
  Rt.renderInstances(Lt, Jt, k.count);
13884
13884
  else if (Y.isInstancedBufferGeometry) {
13885
- const qe = Y._maxInstanceCount !== void 0 ? Y._maxInstanceCount : 1 / 0, An = Math.min(Y.instanceCount, qe);
13885
+ const $e = Y._maxInstanceCount !== void 0 ? Y._maxInstanceCount : 1 / 0, An = Math.min(Y.instanceCount, $e);
13886
13886
  Rt.renderInstances(Lt, Jt, An);
13887
13887
  } else
13888
13888
  Rt.render(Lt, Jt);
@@ -13981,20 +13981,20 @@ class xR {
13981
13981
  m.pushLight(N), N.castShadow && m.pushShadow(N);
13982
13982
  else if (N.isSprite) {
13983
13983
  if (!N.frustumCulled || ut.intersectsSprite(N)) {
13984
- Z && Ye.setFromMatrixPosition(N.matrixWorld).applyMatrix4(ge);
13984
+ Z && Xe.setFromMatrixPosition(N.matrixWorld).applyMatrix4(ge);
13985
13985
  const Re = re.update(N), Be = N.material;
13986
- Be.visible && x.push(N, Re, Be, Y, Ye.z, null);
13986
+ Be.visible && x.push(N, Re, Be, Y, Xe.z, null);
13987
13987
  }
13988
13988
  } else if ((N.isMesh || N.isLine || N.isPoints) && (!N.frustumCulled || ut.intersectsObject(N))) {
13989
13989
  const Re = re.update(N), Be = N.material;
13990
- if (Z && (N.boundingSphere !== void 0 ? (N.boundingSphere === null && N.computeBoundingSphere(), Ye.copy(N.boundingSphere.center)) : (Re.boundingSphere === null && Re.computeBoundingSphere(), Ye.copy(Re.boundingSphere.center)), Ye.applyMatrix4(N.matrixWorld).applyMatrix4(ge)), Array.isArray(Be)) {
13990
+ if (Z && (N.boundingSphere !== void 0 ? (N.boundingSphere === null && N.computeBoundingSphere(), Xe.copy(N.boundingSphere.center)) : (Re.boundingSphere === null && Re.computeBoundingSphere(), Xe.copy(Re.boundingSphere.center)), Xe.applyMatrix4(N.matrixWorld).applyMatrix4(ge)), Array.isArray(Be)) {
13991
13991
  const He = Re.groups;
13992
13992
  for (let Ke = 0, et = He.length; Ke < et; Ke++) {
13993
13993
  const Ge = He[Ke], Lt = Be[Ge.materialIndex];
13994
- Lt && Lt.visible && x.push(N, Re, Lt, Y, Ye.z, Ge);
13994
+ Lt && Lt.visible && x.push(N, Re, Lt, Y, Xe.z, Ge);
13995
13995
  }
13996
13996
  } else
13997
- Be.visible && x.push(N, Re, Be, Y, Ye.z, null);
13997
+ Be.visible && x.push(N, Re, Be, Y, Xe.z, null);
13998
13998
  }
13999
13999
  }
14000
14000
  const xe = N.children;
@@ -14028,10 +14028,10 @@ class xR {
14028
14028
  if (Z.viewport !== void 0 && (Z.viewport = void 0), m.setupLightsView(Z), ne === !0 && me.setGlobalState(_.clippingPlanes, Z), Yc(N, Y, Z), R.updateMultisampleRenderTarget(xe), R.updateRenderTargetMipmap(xe), ye.has("WEBGL_multisampled_render_to_texture") === !1) {
14029
14029
  let et = !1;
14030
14030
  for (let Ge = 0, Lt = z.length; Ge < Lt; Ge++) {
14031
- const kt = z[Ge], Jt = kt.object, hi = kt.geometry, Rt = kt.material, qe = kt.group;
14031
+ const kt = z[Ge], Jt = kt.object, hi = kt.geometry, Rt = kt.material, $e = kt.group;
14032
14032
  if (Rt.side === ss && Jt.layers.test(Z.layers)) {
14033
14033
  const An = Rt.side;
14034
- Rt.side = dn, Rt.needsUpdate = !0, zg(Jt, Y, Z, hi, Rt, qe), Rt.side = An, Rt.needsUpdate = !0, et = !0;
14034
+ Rt.side = dn, Rt.needsUpdate = !0, zg(Jt, Y, Z, hi, Rt, $e), Rt.side = An, Rt.needsUpdate = !0, et = !0;
14035
14035
  }
14036
14036
  }
14037
14037
  et === !0 && (R.updateMultisampleRenderTarget(xe), R.updateRenderTargetMipmap(xe));
@@ -14078,19 +14078,19 @@ class xR {
14078
14078
  const xe = z.fog, Re = Z.isMeshStandardMaterial ? z.environment : null, Be = w === null ? _.outputColorSpace : w.isXRRenderTarget === !0 ? w.texture.colorSpace : Mi, He = (Z.isMeshStandardMaterial ? X : S).get(Z.envMap || Re), Ke = Z.vertexColors === !0 && !!Y.attributes.color && Y.attributes.color.itemSize === 4, et = !!Y.attributes.tangent && (!!Z.normalMap || Z.anisotropy > 0), Ge = !!Y.morphAttributes.position, Lt = !!Y.morphAttributes.normal, kt = !!Y.morphAttributes.color;
14079
14079
  let Jt = Pi;
14080
14080
  Z.toneMapped && (w === null || w.isXRRenderTarget === !0) && (Jt = _.toneMapping);
14081
- const hi = Y.morphAttributes.position || Y.morphAttributes.normal || Y.morphAttributes.color, Rt = hi !== void 0 ? hi.length : 0, qe = Ie.get(Z), An = m.state.lights;
14081
+ const hi = Y.morphAttributes.position || Y.morphAttributes.normal || Y.morphAttributes.color, Rt = hi !== void 0 ? hi.length : 0, $e = Ie.get(Z), An = m.state.lights;
14082
14082
  if (ne === !0 && (ue === !0 || N !== F)) {
14083
14083
  const bi = N === F && Z.id === C;
14084
14084
  me.setState(Z, N, bi);
14085
14085
  }
14086
14086
  let It = !1;
14087
- Z.version === qe.__version ? (qe.needsLights && qe.lightsStateVersion !== An.state.version || qe.outputColorSpace !== Be || k.isBatchedMesh && qe.batching === !1 || !k.isBatchedMesh && qe.batching === !0 || k.isBatchedMesh && qe.batchingColor === !0 && k.colorTexture === null || k.isBatchedMesh && qe.batchingColor === !1 && k.colorTexture !== null || k.isInstancedMesh && qe.instancing === !1 || !k.isInstancedMesh && qe.instancing === !0 || k.isSkinnedMesh && qe.skinning === !1 || !k.isSkinnedMesh && qe.skinning === !0 || k.isInstancedMesh && qe.instancingColor === !0 && k.instanceColor === null || k.isInstancedMesh && qe.instancingColor === !1 && k.instanceColor !== null || k.isInstancedMesh && qe.instancingMorph === !0 && k.morphTexture === null || k.isInstancedMesh && qe.instancingMorph === !1 && k.morphTexture !== null || qe.envMap !== He || Z.fog === !0 && qe.fog !== xe || qe.numClippingPlanes !== void 0 && (qe.numClippingPlanes !== me.numPlanes || qe.numIntersection !== me.numIntersection) || qe.vertexAlphas !== Ke || qe.vertexTangents !== et || qe.morphTargets !== Ge || qe.morphNormals !== Lt || qe.morphColors !== kt || qe.toneMapping !== Jt || qe.morphTargetsCount !== Rt) && (It = !0) : (It = !0, qe.__version = Z.version);
14088
- let Fi = qe.currentProgram;
14087
+ Z.version === $e.__version ? ($e.needsLights && $e.lightsStateVersion !== An.state.version || $e.outputColorSpace !== Be || k.isBatchedMesh && $e.batching === !1 || !k.isBatchedMesh && $e.batching === !0 || k.isBatchedMesh && $e.batchingColor === !0 && k.colorTexture === null || k.isBatchedMesh && $e.batchingColor === !1 && k.colorTexture !== null || k.isInstancedMesh && $e.instancing === !1 || !k.isInstancedMesh && $e.instancing === !0 || k.isSkinnedMesh && $e.skinning === !1 || !k.isSkinnedMesh && $e.skinning === !0 || k.isInstancedMesh && $e.instancingColor === !0 && k.instanceColor === null || k.isInstancedMesh && $e.instancingColor === !1 && k.instanceColor !== null || k.isInstancedMesh && $e.instancingMorph === !0 && k.morphTexture === null || k.isInstancedMesh && $e.instancingMorph === !1 && k.morphTexture !== null || $e.envMap !== He || Z.fog === !0 && $e.fog !== xe || $e.numClippingPlanes !== void 0 && ($e.numClippingPlanes !== me.numPlanes || $e.numIntersection !== me.numIntersection) || $e.vertexAlphas !== Ke || $e.vertexTangents !== et || $e.morphTargets !== Ge || $e.morphNormals !== Lt || $e.morphColors !== kt || $e.toneMapping !== Jt || $e.morphTargetsCount !== Rt) && (It = !0) : (It = !0, $e.__version = Z.version);
14088
+ let Fi = $e.currentProgram;
14089
14089
  It === !0 && (Fi = Zc(Z, z, k));
14090
14090
  let ro = !1, di = !1, ld = !1;
14091
- const en = Fi.getUniforms(), Ls = qe.uniforms;
14091
+ const en = Fi.getUniforms(), Ls = $e.uniforms;
14092
14092
  if (Se.useProgram(Fi.program) && (ro = !0, di = !0, ld = !0), Z.id !== C && (C = Z.id, di = !0), ro || F !== N) {
14093
- de.reverseDepthBuffer ? (Ee.copy(N.projectionMatrix), sA(Ee), rA(Ee), en.setValue(P, "projectionMatrix", Ee)) : en.setValue(P, "projectionMatrix", N.projectionMatrix), en.setValue(P, "viewMatrix", N.matrixWorldInverse);
14093
+ de.reverseDepthBuffer ? (Ae.copy(N.projectionMatrix), s1(Ae), r1(Ae), en.setValue(P, "projectionMatrix", Ae)) : en.setValue(P, "projectionMatrix", N.projectionMatrix), en.setValue(P, "viewMatrix", N.matrixWorldInverse);
14094
14094
  const bi = en.map.cameraPosition;
14095
14095
  bi !== void 0 && bi.setValue(P, Ze.setFromMatrixPosition(N.matrixWorld)), de.logarithmicDepthBuffer && en.setValue(
14096
14096
  P,
@@ -14105,7 +14105,7 @@ class xR {
14105
14105
  }
14106
14106
  k.isBatchedMesh && (en.setOptional(P, k, "batchingTexture"), en.setValue(P, "batchingTexture", k._matricesTexture, R), en.setOptional(P, k, "batchingIdTexture"), en.setValue(P, "batchingIdTexture", k._indirectTexture, R), en.setOptional(P, k, "batchingColorTexture"), k._colorsTexture !== null && en.setValue(P, "batchingColorTexture", k._colorsTexture, R));
14107
14107
  const ud = Y.morphAttributes;
14108
- if ((ud.position !== void 0 || ud.normal !== void 0 || ud.color !== void 0) && nt.update(k, Y, Fi), (di || qe.receiveShadow !== k.receiveShadow) && (qe.receiveShadow = k.receiveShadow, en.setValue(P, "receiveShadow", k.receiveShadow)), Z.isMeshGouraudMaterial && Z.envMap !== null && (Ls.envMap.value = He, Ls.flipEnvMap.value = He.isCubeTexture && He.isRenderTargetTexture === !1 ? -1 : 1), Z.isMeshStandardMaterial && Z.envMap === null && z.environment !== null && (Ls.envMapIntensity.value = z.environmentIntensity), di && (en.setValue(P, "toneMappingExposure", _.toneMappingExposure), qe.needsLights && nw(Ls, ld), xe && Z.fog === !0 && be.refreshFogUniforms(Ls, xe), be.refreshMaterialUniforms(Ls, Z, he, q, m.state.transmissionRenderTarget[N.id]), tu.upload(P, Bg(qe), Ls, R)), Z.isShaderMaterial && Z.uniformsNeedUpdate === !0 && (tu.upload(P, Bg(qe), Ls, R), Z.uniformsNeedUpdate = !1), Z.isSpriteMaterial && en.setValue(P, "center", k.center), en.setValue(P, "modelViewMatrix", k.modelViewMatrix), en.setValue(P, "normalMatrix", k.normalMatrix), en.setValue(P, "modelMatrix", k.matrixWorld), Z.isShaderMaterial || Z.isRawShaderMaterial) {
14108
+ if ((ud.position !== void 0 || ud.normal !== void 0 || ud.color !== void 0) && nt.update(k, Y, Fi), (di || $e.receiveShadow !== k.receiveShadow) && ($e.receiveShadow = k.receiveShadow, en.setValue(P, "receiveShadow", k.receiveShadow)), Z.isMeshGouraudMaterial && Z.envMap !== null && (Ls.envMap.value = He, Ls.flipEnvMap.value = He.isCubeTexture && He.isRenderTargetTexture === !1 ? -1 : 1), Z.isMeshStandardMaterial && Z.envMap === null && z.environment !== null && (Ls.envMapIntensity.value = z.environmentIntensity), di && (en.setValue(P, "toneMappingExposure", _.toneMappingExposure), $e.needsLights && nw(Ls, ld), xe && Z.fog === !0 && be.refreshFogUniforms(Ls, xe), be.refreshMaterialUniforms(Ls, Z, he, q, m.state.transmissionRenderTarget[N.id]), tu.upload(P, Bg($e), Ls, R)), Z.isShaderMaterial && Z.uniformsNeedUpdate === !0 && (tu.upload(P, Bg($e), Ls, R), Z.uniformsNeedUpdate = !1), Z.isSpriteMaterial && en.setValue(P, "center", k.center), en.setValue(P, "modelViewMatrix", k.modelViewMatrix), en.setValue(P, "normalMatrix", k.normalMatrix), en.setValue(P, "modelMatrix", k.matrixWorld), Z.isShaderMaterial || Z.isRawShaderMaterial) {
14109
14109
  const bi = Z.uniformsGroups;
14110
14110
  for (let hd = 0, sw = bi.length; hd < sw; hd++) {
14111
14111
  const Hg = bi[hd];
@@ -14157,7 +14157,7 @@ class xR {
14157
14157
  const et = Ie.get(N).__webglFramebuffer;
14158
14158
  N.isWebGLCubeRenderTarget ? (Array.isArray(et[z]) ? k = et[z][Y] : k = et[z], xe = !0) : N.samples > 0 && R.useMultisampledRTT(N) === !1 ? k = Ie.get(N).__webglMultisampledFramebuffer : Array.isArray(et) ? k = et[Y] : k = et, M.copy(N.viewport), b.copy(N.scissor), H = N.scissorTest;
14159
14159
  } else
14160
- M.copy(Ae).multiplyScalar(he).floor(), b.copy(Ne).multiplyScalar(he).floor(), H = Qe;
14160
+ M.copy(Ne).multiplyScalar(he).floor(), b.copy(Ee).multiplyScalar(he).floor(), H = Qe;
14161
14161
  if (Se.bindFramebuffer(P.FRAMEBUFFER, k) && Z && Se.drawBuffers(N, k), Se.viewport(M), Se.scissor(b), Se.setScissorTest(H), xe) {
14162
14162
  const He = Ie.get(N.texture);
14163
14163
  P.framebufferTexture2D(P.FRAMEBUFFER, P.COLOR_ATTACHMENT0, P.TEXTURE_CUBE_MAP_POSITIVE_X + z, He.__webglTexture, Y);
@@ -14207,7 +14207,7 @@ class xR {
14207
14207
  const Lt = w !== null ? Ie.get(w).__webglFramebuffer : null;
14208
14208
  Se.bindFramebuffer(P.FRAMEBUFFER, Lt);
14209
14209
  const kt = P.fenceSync(P.SYNC_GPU_COMMANDS_COMPLETE, 0);
14210
- return P.flush(), await iA(P, kt, 4), P.bindBuffer(P.PIXEL_PACK_BUFFER, Ge), P.getBufferSubData(P.PIXEL_PACK_BUFFER, 0, xe), P.deleteBuffer(Ge), P.deleteSync(kt), xe;
14210
+ return P.flush(), await i1(P, kt, 4), P.bindBuffer(P.PIXEL_PACK_BUFFER, Ge), P.getBufferSubData(P.PIXEL_PACK_BUFFER, 0, xe), P.deleteBuffer(Ge), P.deleteSync(kt), xe;
14211
14211
  } else
14212
14212
  throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.");
14213
14213
  }
@@ -14221,26 +14221,26 @@ class xR {
14221
14221
  Y !== null ? (xe = Y.max.x - Y.min.x, Re = Y.max.y - Y.min.y, Be = Y.min.x, He = Y.min.y) : (xe = N.image.width, Re = N.image.height, Be = 0, He = 0), Z !== null ? (Ke = Z.x, et = Z.y) : (Ke = 0, et = 0);
14222
14222
  const Ge = at.convert(z.format), Lt = at.convert(z.type);
14223
14223
  R.setTexture2D(z, 0), P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL, z.flipY), P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL, z.premultiplyAlpha), P.pixelStorei(P.UNPACK_ALIGNMENT, z.unpackAlignment);
14224
- const kt = P.getParameter(P.UNPACK_ROW_LENGTH), Jt = P.getParameter(P.UNPACK_IMAGE_HEIGHT), hi = P.getParameter(P.UNPACK_SKIP_PIXELS), Rt = P.getParameter(P.UNPACK_SKIP_ROWS), qe = P.getParameter(P.UNPACK_SKIP_IMAGES), An = N.isCompressedTexture ? N.mipmaps[k] : N.image;
14225
- P.pixelStorei(P.UNPACK_ROW_LENGTH, An.width), P.pixelStorei(P.UNPACK_IMAGE_HEIGHT, An.height), P.pixelStorei(P.UNPACK_SKIP_PIXELS, Be), P.pixelStorei(P.UNPACK_SKIP_ROWS, He), N.isDataTexture ? P.texSubImage2D(P.TEXTURE_2D, k, Ke, et, xe, Re, Ge, Lt, An.data) : N.isCompressedTexture ? P.compressedTexSubImage2D(P.TEXTURE_2D, k, Ke, et, An.width, An.height, Ge, An.data) : P.texSubImage2D(P.TEXTURE_2D, k, Ke, et, xe, Re, Ge, Lt, An), P.pixelStorei(P.UNPACK_ROW_LENGTH, kt), P.pixelStorei(P.UNPACK_IMAGE_HEIGHT, Jt), P.pixelStorei(P.UNPACK_SKIP_PIXELS, hi), P.pixelStorei(P.UNPACK_SKIP_ROWS, Rt), P.pixelStorei(P.UNPACK_SKIP_IMAGES, qe), k === 0 && z.generateMipmaps && P.generateMipmap(P.TEXTURE_2D), Se.unbindTexture();
14224
+ const kt = P.getParameter(P.UNPACK_ROW_LENGTH), Jt = P.getParameter(P.UNPACK_IMAGE_HEIGHT), hi = P.getParameter(P.UNPACK_SKIP_PIXELS), Rt = P.getParameter(P.UNPACK_SKIP_ROWS), $e = P.getParameter(P.UNPACK_SKIP_IMAGES), An = N.isCompressedTexture ? N.mipmaps[k] : N.image;
14225
+ P.pixelStorei(P.UNPACK_ROW_LENGTH, An.width), P.pixelStorei(P.UNPACK_IMAGE_HEIGHT, An.height), P.pixelStorei(P.UNPACK_SKIP_PIXELS, Be), P.pixelStorei(P.UNPACK_SKIP_ROWS, He), N.isDataTexture ? P.texSubImage2D(P.TEXTURE_2D, k, Ke, et, xe, Re, Ge, Lt, An.data) : N.isCompressedTexture ? P.compressedTexSubImage2D(P.TEXTURE_2D, k, Ke, et, An.width, An.height, Ge, An.data) : P.texSubImage2D(P.TEXTURE_2D, k, Ke, et, xe, Re, Ge, Lt, An), P.pixelStorei(P.UNPACK_ROW_LENGTH, kt), P.pixelStorei(P.UNPACK_IMAGE_HEIGHT, Jt), P.pixelStorei(P.UNPACK_SKIP_PIXELS, hi), P.pixelStorei(P.UNPACK_SKIP_ROWS, Rt), P.pixelStorei(P.UNPACK_SKIP_IMAGES, $e), k === 0 && z.generateMipmaps && P.generateMipmap(P.TEXTURE_2D), Se.unbindTexture();
14226
14226
  }, this.copyTextureToTexture3D = function(N, z, Y = null, Z = null, k = 0) {
14227
14227
  N.isTexture !== !0 && (eu("WebGLRenderer: copyTextureToTexture3D function signature has changed."), Y = arguments[0] || null, Z = arguments[1] || null, N = arguments[2], z = arguments[3], k = arguments[4] || 0);
14228
14228
  let xe, Re, Be, He, Ke, et, Ge, Lt, kt;
14229
14229
  const Jt = N.isCompressedTexture ? N.mipmaps[k] : N.image;
14230
14230
  Y !== null ? (xe = Y.max.x - Y.min.x, Re = Y.max.y - Y.min.y, Be = Y.max.z - Y.min.z, He = Y.min.x, Ke = Y.min.y, et = Y.min.z) : (xe = Jt.width, Re = Jt.height, Be = Jt.depth, He = 0, Ke = 0, et = 0), Z !== null ? (Ge = Z.x, Lt = Z.y, kt = Z.z) : (Ge = 0, Lt = 0, kt = 0);
14231
14231
  const hi = at.convert(z.format), Rt = at.convert(z.type);
14232
- let qe;
14232
+ let $e;
14233
14233
  if (z.isData3DTexture)
14234
- R.setTexture3D(z, 0), qe = P.TEXTURE_3D;
14234
+ R.setTexture3D(z, 0), $e = P.TEXTURE_3D;
14235
14235
  else if (z.isDataArrayTexture || z.isCompressedArrayTexture)
14236
- R.setTexture2DArray(z, 0), qe = P.TEXTURE_2D_ARRAY;
14236
+ R.setTexture2DArray(z, 0), $e = P.TEXTURE_2D_ARRAY;
14237
14237
  else {
14238
14238
  console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");
14239
14239
  return;
14240
14240
  }
14241
14241
  P.pixelStorei(P.UNPACK_FLIP_Y_WEBGL, z.flipY), P.pixelStorei(P.UNPACK_PREMULTIPLY_ALPHA_WEBGL, z.premultiplyAlpha), P.pixelStorei(P.UNPACK_ALIGNMENT, z.unpackAlignment);
14242
14242
  const An = P.getParameter(P.UNPACK_ROW_LENGTH), It = P.getParameter(P.UNPACK_IMAGE_HEIGHT), Fi = P.getParameter(P.UNPACK_SKIP_PIXELS), ro = P.getParameter(P.UNPACK_SKIP_ROWS), di = P.getParameter(P.UNPACK_SKIP_IMAGES);
14243
- P.pixelStorei(P.UNPACK_ROW_LENGTH, Jt.width), P.pixelStorei(P.UNPACK_IMAGE_HEIGHT, Jt.height), P.pixelStorei(P.UNPACK_SKIP_PIXELS, He), P.pixelStorei(P.UNPACK_SKIP_ROWS, Ke), P.pixelStorei(P.UNPACK_SKIP_IMAGES, et), N.isDataTexture || N.isData3DTexture ? P.texSubImage3D(qe, k, Ge, Lt, kt, xe, Re, Be, hi, Rt, Jt.data) : z.isCompressedArrayTexture ? P.compressedTexSubImage3D(qe, k, Ge, Lt, kt, xe, Re, Be, hi, Jt.data) : P.texSubImage3D(qe, k, Ge, Lt, kt, xe, Re, Be, hi, Rt, Jt), P.pixelStorei(P.UNPACK_ROW_LENGTH, An), P.pixelStorei(P.UNPACK_IMAGE_HEIGHT, It), P.pixelStorei(P.UNPACK_SKIP_PIXELS, Fi), P.pixelStorei(P.UNPACK_SKIP_ROWS, ro), P.pixelStorei(P.UNPACK_SKIP_IMAGES, di), k === 0 && z.generateMipmaps && P.generateMipmap(qe), Se.unbindTexture();
14243
+ P.pixelStorei(P.UNPACK_ROW_LENGTH, Jt.width), P.pixelStorei(P.UNPACK_IMAGE_HEIGHT, Jt.height), P.pixelStorei(P.UNPACK_SKIP_PIXELS, He), P.pixelStorei(P.UNPACK_SKIP_ROWS, Ke), P.pixelStorei(P.UNPACK_SKIP_IMAGES, et), N.isDataTexture || N.isData3DTexture ? P.texSubImage3D($e, k, Ge, Lt, kt, xe, Re, Be, hi, Rt, Jt.data) : z.isCompressedArrayTexture ? P.compressedTexSubImage3D($e, k, Ge, Lt, kt, xe, Re, Be, hi, Jt.data) : P.texSubImage3D($e, k, Ge, Lt, kt, xe, Re, Be, hi, Rt, Jt), P.pixelStorei(P.UNPACK_ROW_LENGTH, An), P.pixelStorei(P.UNPACK_IMAGE_HEIGHT, It), P.pixelStorei(P.UNPACK_SKIP_PIXELS, Fi), P.pixelStorei(P.UNPACK_SKIP_ROWS, ro), P.pixelStorei(P.UNPACK_SKIP_IMAGES, di), k === 0 && z.generateMipmaps && P.generateMipmap($e), Se.unbindTexture();
14244
14244
  }, this.initRenderTarget = function(N) {
14245
14245
  Ie.get(N).__webglFramebuffer === void 0 && R.setupRenderTarget(N);
14246
14246
  }, this.initTexture = function(N) {
@@ -16913,43 +16913,43 @@ class Ih extends lt {
16913
16913
  const q = M.length, he = W.length;
16914
16914
  function Q(ae, P, Me) {
16915
16915
  let ye, de, Se;
16916
- const Xe = ae.x - P.x, Ie = ae.y - P.y, R = Me.x - ae.x, S = Me.y - ae.y, X = Xe * Xe + Ie * Ie, se = Xe * S - Ie * R;
16916
+ const qe = ae.x - P.x, Ie = ae.y - P.y, R = Me.x - ae.x, S = Me.y - ae.y, X = qe * qe + Ie * Ie, se = qe * S - Ie * R;
16917
16917
  if (Math.abs(se) > Number.EPSILON) {
16918
- const ce = Math.sqrt(X), re = Math.sqrt(R * R + S * S), ke = P.x - Ie / ce, be = P.y + Xe / ce, De = Me.x - S / re, yt = Me.y + R / re, me = ((De - ke) * S - (yt - be) * R) / (Xe * S - Ie * R);
16919
- ye = ke + Xe * me - ae.x, de = be + Ie * me - ae.y;
16918
+ const ce = Math.sqrt(X), re = Math.sqrt(R * R + S * S), ke = P.x - Ie / ce, be = P.y + qe / ce, De = Me.x - S / re, yt = Me.y + R / re, me = ((De - ke) * S - (yt - be) * R) / (qe * S - Ie * R);
16919
+ ye = ke + qe * me - ae.x, de = be + Ie * me - ae.y;
16920
16920
  const Ue = ye * ye + de * de;
16921
16921
  if (Ue <= 2)
16922
16922
  return new J(ye, de);
16923
16923
  Se = Math.sqrt(Ue / 2);
16924
16924
  } else {
16925
16925
  let ce = !1;
16926
- Xe > Number.EPSILON ? R > Number.EPSILON && (ce = !0) : Xe < -Number.EPSILON ? R < -Number.EPSILON && (ce = !0) : Math.sign(Ie) === Math.sign(S) && (ce = !0), ce ? (ye = -Ie, de = Xe, Se = Math.sqrt(X)) : (ye = Xe, de = Ie, Se = Math.sqrt(X / 2));
16926
+ qe > Number.EPSILON ? R > Number.EPSILON && (ce = !0) : qe < -Number.EPSILON ? R < -Number.EPSILON && (ce = !0) : Math.sign(Ie) === Math.sign(S) && (ce = !0), ce ? (ye = -Ie, de = qe, Se = Math.sqrt(X)) : (ye = qe, de = Ie, Se = Math.sqrt(X / 2));
16927
16927
  }
16928
16928
  return new J(ye / Se, de / Se);
16929
16929
  }
16930
16930
  const we = [];
16931
16931
  for (let ae = 0, P = $.length, Me = P - 1, ye = ae + 1; ae < P; ae++, Me++, ye++)
16932
16932
  Me === P && (Me = 0), ye === P && (ye = 0), we[ae] = Q($[ae], $[Me], $[ye]);
16933
- const Ae = [];
16934
- let Ne, Qe = we.concat();
16933
+ const Ne = [];
16934
+ let Ee, Qe = we.concat();
16935
16935
  for (let ae = 0, P = b.length; ae < P; ae++) {
16936
16936
  const Me = b[ae];
16937
- Ne = [];
16938
- for (let ye = 0, de = Me.length, Se = de - 1, Xe = ye + 1; ye < de; ye++, Se++, Xe++)
16939
- Se === de && (Se = 0), Xe === de && (Xe = 0), Ne[ye] = Q(Me[ye], Me[Se], Me[Xe]);
16940
- Ae.push(Ne), Qe = Qe.concat(Ne);
16937
+ Ee = [];
16938
+ for (let ye = 0, de = Me.length, Se = de - 1, qe = ye + 1; ye < de; ye++, Se++, qe++)
16939
+ Se === de && (Se = 0), qe === de && (qe = 0), Ee[ye] = Q(Me[ye], Me[Se], Me[qe]);
16940
+ Ne.push(Ee), Qe = Qe.concat(Ee);
16941
16941
  }
16942
16942
  for (let ae = 0; ae < m; ae++) {
16943
16943
  const P = ae / m, Me = p * Math.cos(P * Math.PI / 2), ye = f * Math.sin(P * Math.PI / 2) + x;
16944
16944
  for (let de = 0, Se = $.length; de < Se; de++) {
16945
- const Xe = ie($[de], we[de], ye);
16946
- ge(Xe.x, Xe.y, -Me);
16945
+ const qe = ie($[de], we[de], ye);
16946
+ ge(qe.x, qe.y, -Me);
16947
16947
  }
16948
16948
  for (let de = 0, Se = b.length; de < Se; de++) {
16949
- const Xe = b[de];
16950
- Ne = Ae[de];
16951
- for (let Ie = 0, R = Xe.length; Ie < R; Ie++) {
16952
- const S = ie(Xe[Ie], Ne[Ie], ye);
16949
+ const qe = b[de];
16950
+ Ee = Ne[de];
16951
+ for (let Ie = 0, R = qe.length; Ie < R; Ie++) {
16952
+ const S = ie(qe[Ie], Ee[Ie], ye);
16953
16953
  ge(S.x, S.y, -Me);
16954
16954
  }
16955
16955
  }
@@ -16967,14 +16967,14 @@ class Ih extends lt {
16967
16967
  for (let ae = m - 1; ae >= 0; ae--) {
16968
16968
  const P = ae / m, Me = p * Math.cos(P * Math.PI / 2), ye = f * Math.sin(P * Math.PI / 2) + x;
16969
16969
  for (let de = 0, Se = $.length; de < Se; de++) {
16970
- const Xe = ie($[de], we[de], ye);
16971
- ge(Xe.x, Xe.y, h + Me);
16970
+ const qe = ie($[de], we[de], ye);
16971
+ ge(qe.x, qe.y, h + Me);
16972
16972
  }
16973
16973
  for (let de = 0, Se = b.length; de < Se; de++) {
16974
- const Xe = b[de];
16975
- Ne = Ae[de];
16976
- for (let Ie = 0, R = Xe.length; Ie < R; Ie++) {
16977
- const S = ie(Xe[Ie], Ne[Ie], ye);
16974
+ const qe = b[de];
16975
+ Ee = Ne[de];
16976
+ for (let Ie = 0, R = qe.length; Ie < R; Ie++) {
16977
+ const S = ie(qe[Ie], Ee[Ie], ye);
16978
16978
  v ? ge(S.x, S.y + _[u - 1].y, _[u - 1].x + Me) : ge(S.x, S.y, h + Me);
16979
16979
  }
16980
16980
  }
@@ -17008,22 +17008,22 @@ class Ih extends lt {
17008
17008
  function ue() {
17009
17009
  const ae = i.length / 3;
17010
17010
  let P = 0;
17011
- Ee($, P), P += $.length;
17011
+ Ae($, P), P += $.length;
17012
17012
  for (let Me = 0, ye = b.length; Me < ye; Me++) {
17013
17013
  const de = b[Me];
17014
- Ee(de, P), P += de.length;
17014
+ Ae(de, P), P += de.length;
17015
17015
  }
17016
17016
  n.addGroup(ae, i.length / 3 - ae, 1);
17017
17017
  }
17018
- function Ee(ae, P) {
17018
+ function Ae(ae, P) {
17019
17019
  let Me = ae.length;
17020
17020
  for (; --Me >= 0; ) {
17021
17021
  const ye = Me;
17022
17022
  let de = Me - 1;
17023
17023
  de < 0 && (de = ae.length - 1);
17024
- for (let Se = 0, Xe = u + m * 2; Se < Xe; Se++) {
17024
+ for (let Se = 0, qe = u + m * 2; Se < qe; Se++) {
17025
17025
  const Ie = q * Se, R = q * (Se + 1), S = P + ye + Ie, X = P + de + Ie, se = P + de + R, ce = P + ye + R;
17026
- Ye(S, X, se, ce);
17026
+ Xe(S, X, se, ce);
17027
17027
  }
17028
17028
  }
17029
17029
  }
@@ -17035,7 +17035,7 @@ class Ih extends lt {
17035
17035
  const ye = i.length / 3, de = y.generateTopUV(n, i, ye - 3, ye - 2, ye - 1);
17036
17036
  dt(de[0]), dt(de[1]), dt(de[2]);
17037
17037
  }
17038
- function Ye(ae, P, Me, ye) {
17038
+ function Xe(ae, P, Me, ye) {
17039
17039
  Je(ae), Je(P), Je(ye), Je(P), Je(Me), Je(ye);
17040
17040
  const de = i.length / 3, Se = y.generateSideWallUV(n, i, de - 6, de - 3, de - 2, de - 1);
17041
17041
  dt(Se[0]), dt(Se[1]), dt(Se[3]), dt(Se[1]), dt(Se[2]), dt(Se[3]);
@@ -21540,7 +21540,7 @@ class nP extends ms {
21540
21540
  }
21541
21541
  update() {
21542
21542
  const e = this.geometry, t = this.pointMap, n = 1, i = 1;
21543
- Kt.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse), tn("c", t, e, Kt, 0, 0, -1), tn("t", t, e, Kt, 0, 0, 1), tn("n1", t, e, Kt, -n, -i, -1), tn("n2", t, e, Kt, n, -i, -1), tn("n3", t, e, Kt, -n, i, -1), tn("n4", t, e, Kt, n, i, -1), tn("f1", t, e, Kt, -n, -i, 1), tn("f2", t, e, Kt, n, -i, 1), tn("f3", t, e, Kt, -n, i, 1), tn("f4", t, e, Kt, n, i, 1), tn("u1", t, e, Kt, n * 0.7, i * 1.1, -1), tn("u2", t, e, Kt, -n * 0.7, i * 1.1, -1), tn("u3", t, e, Kt, 0, i * 2, -1), tn("cf1", t, e, Kt, -n, 0, 1), tn("cf2", t, e, Kt, n, 0, 1), tn("cf3", t, e, Kt, 0, -i, 1), tn("cf4", t, e, Kt, 0, i, 1), tn("cn1", t, e, Kt, -n, 0, -1), tn("cn2", t, e, Kt, n, 0, -1), tn("cn3", t, e, Kt, 0, -i, -1), tn("cn4", t, e, Kt, 0, i, -1), e.getAttribute("position").needsUpdate = !0;
21543
+ Kt.projectionMatrixInverse.copy(this.camera.projectionMatrixInverse), tn("c", t, e, Kt, 0, 0, -1), tn("t", t, e, Kt, 0, 0, 1), tn("n1", t, e, Kt, -1, -1, -1), tn("n2", t, e, Kt, n, -1, -1), tn("n3", t, e, Kt, -1, i, -1), tn("n4", t, e, Kt, n, i, -1), tn("f1", t, e, Kt, -1, -1, 1), tn("f2", t, e, Kt, n, -1, 1), tn("f3", t, e, Kt, -1, i, 1), tn("f4", t, e, Kt, n, i, 1), tn("u1", t, e, Kt, n * 0.7, i * 1.1, -1), tn("u2", t, e, Kt, -1 * 0.7, i * 1.1, -1), tn("u3", t, e, Kt, 0, i * 2, -1), tn("cf1", t, e, Kt, -1, 0, 1), tn("cf2", t, e, Kt, n, 0, 1), tn("cf3", t, e, Kt, 0, -1, 1), tn("cf4", t, e, Kt, 0, i, 1), tn("cn1", t, e, Kt, -1, 0, -1), tn("cn2", t, e, Kt, n, 0, -1), tn("cn3", t, e, Kt, 0, -1, -1), tn("cn4", t, e, Kt, 0, i, -1), e.getAttribute("position").needsUpdate = !0;
21544
21544
  }
21545
21545
  dispose() {
21546
21546
  this.geometry.dispose(), this.material.dispose();
@@ -22012,7 +22012,7 @@ const Vp = {
22012
22012
  MATRIX4: "mat4"
22013
22013
  }, Zy = ["fragment", "vertex"], zp = ["setup", "analyze", "generate"], Bp = [...Zy, "compute"], ra = ["x", "y", "z", "w"];
22014
22014
  let fP = 0;
22015
- class $e extends Di {
22015
+ class Ye extends Di {
22016
22016
  static get type() {
22017
22017
  return "Node";
22018
22018
  }
@@ -22209,7 +22209,7 @@ class $e extends Di {
22209
22209
  return r;
22210
22210
  }
22211
22211
  }
22212
- class tr extends $e {
22212
+ class tr extends Ye {
22213
22213
  static get type() {
22214
22214
  return "ArrayElementNode";
22215
22215
  }
@@ -22225,7 +22225,7 @@ class tr extends $e {
22225
22225
  return `${t}[ ${n} ]`;
22226
22226
  }
22227
22227
  }
22228
- class _m extends $e {
22228
+ class _m extends Ye {
22229
22229
  static get type() {
22230
22230
  return "ConvertNode";
22231
22231
  }
@@ -22250,7 +22250,7 @@ class _m extends $e {
22250
22250
  return e.format(r, i, t);
22251
22251
  }
22252
22252
  }
22253
- class pt extends $e {
22253
+ class pt extends Ye {
22254
22254
  static get type() {
22255
22255
  return "TempNode";
22256
22256
  }
@@ -22295,7 +22295,7 @@ class Jy extends pt {
22295
22295
  }
22296
22296
  }
22297
22297
  const mP = ra.join("");
22298
- class Yu extends $e {
22298
+ class Yu extends Ye {
22299
22299
  static get type() {
22300
22300
  return "SplitNode";
22301
22301
  }
@@ -22374,7 +22374,7 @@ class gP extends pt {
22374
22374
  return `${e.getType(i)}( ${l.join(", ")} )`;
22375
22375
  }
22376
22376
  }
22377
- class ym extends $e {
22377
+ class ym extends Ye {
22378
22378
  static get type() {
22379
22379
  return "InputNode";
22380
22380
  }
@@ -22490,7 +22490,7 @@ const jy = (s) => s.replace(/r|s/g, "x").replace(/g|t/g, "y").replace(/b|p/g, "z
22490
22490
  }, MP = function(s, ...e) {
22491
22491
  return G(new s(...Vr(e)));
22492
22492
  };
22493
- class SP extends $e {
22493
+ class SP extends Ye {
22494
22494
  constructor(e, t) {
22495
22495
  super(), this.shaderNode = e, this.inputNodes = t;
22496
22496
  }
@@ -22527,7 +22527,7 @@ class SP extends $e {
22527
22527
  return this.getOutputNode(e).build(e, t);
22528
22528
  }
22529
22529
  }
22530
- class TP extends $e {
22530
+ class TP extends Ye {
22531
22531
  constructor(e, t) {
22532
22532
  super(t), this.jsFunc = e, this.layout = null, this.global = !0, this.once = !1;
22533
22533
  }
@@ -22618,7 +22618,7 @@ te("toMat4", zr);
22618
22618
  const uv = /* @__PURE__ */ K(tr), hv = (s, e) => G(new _m(G(s), e)), IP = (s, e) => G(new Yu(G(s), e));
22619
22619
  te("element", uv);
22620
22620
  te("convert", hv);
22621
- class wm extends $e {
22621
+ class wm extends Ye {
22622
22622
  static get type() {
22623
22623
  return "UniformGroupNode";
22624
22624
  }
@@ -22674,7 +22674,7 @@ const pe = (s, e) => {
22674
22674
  const t = tv(e || s), n = s && s.isNode === !0 ? s.node && s.node.value || s.value : s;
22675
22675
  return G(new no(n, t));
22676
22676
  };
22677
- class At extends $e {
22677
+ class At extends Ye {
22678
22678
  static get type() {
22679
22679
  return "PropertyNode";
22680
22680
  }
@@ -23014,7 +23014,7 @@ te("saturate", rM);
23014
23014
  te("cbrt", sM);
23015
23015
  te("transpose", Jv);
23016
23016
  te("rand", Wm);
23017
- class OP extends $e {
23017
+ class OP extends Ye {
23018
23018
  static get type() {
23019
23019
  return "ConditionalNode";
23020
23020
  }
@@ -23071,7 +23071,7 @@ const Rn = /* @__PURE__ */ K(OP);
23071
23071
  te("select", Rn);
23072
23072
  const lM = (...s) => (console.warn("TSL.ConditionalNode: cond() has been renamed to select()."), Rn(...s));
23073
23073
  te("cond", lM);
23074
- class Xm extends $e {
23074
+ class Xm extends Ye {
23075
23075
  static get type() {
23076
23076
  return "ContextNode";
23077
23077
  }
@@ -23103,7 +23103,7 @@ class Xm extends $e {
23103
23103
  const qm = /* @__PURE__ */ K(Xm), uM = (s, e) => qm(s, { label: e });
23104
23104
  te("context", qm);
23105
23105
  te("label", uM);
23106
- class hM extends $e {
23106
+ class hM extends Ye {
23107
23107
  static get type() {
23108
23108
  return "VarNode";
23109
23109
  }
@@ -23124,7 +23124,7 @@ class hM extends $e {
23124
23124
  const $m = /* @__PURE__ */ K(hM);
23125
23125
  te("temp", $m);
23126
23126
  te("toVar", (...s) => $m(...s).append());
23127
- class dM extends $e {
23127
+ class dM extends Ye {
23128
23128
  static get type() {
23129
23129
  return "VaryingNode";
23130
23130
  }
@@ -23214,7 +23214,7 @@ let VP = class extends tr {
23214
23214
  return e.format(t, n, i);
23215
23215
  }
23216
23216
  };
23217
- class gM extends $e {
23217
+ class gM extends Ye {
23218
23218
  static get type() {
23219
23219
  return "ReferenceBaseNode";
23220
23220
  }
@@ -23332,7 +23332,7 @@ class SM extends ym {
23332
23332
  }
23333
23333
  const Oc = (s, e, t, n) => G(new SM(s, e, t, n)), TM = (s, e, t, n) => Oc(s, e, t, n).setUsage(Po), nh = (s, e, t, n) => Oc(s, e, t, n).setInstanced(!0), Gp = (s, e, t, n) => TM(s, e, t, n).setInstanced(!0);
23334
23334
  te("toAttribute", (s) => Oc(s.value));
23335
- class bM extends $e {
23335
+ class bM extends Ye {
23336
23336
  static get type() {
23337
23337
  return "ComputeNode";
23338
23338
  }
@@ -23367,7 +23367,7 @@ class bM extends $e {
23367
23367
  }
23368
23368
  const wM = (s, e, t) => G(new bM(G(s), e, t));
23369
23369
  te("compute", wM);
23370
- class AM extends $e {
23370
+ class AM extends Ye {
23371
23371
  static get type() {
23372
23372
  return "CacheNode";
23373
23373
  }
@@ -23386,7 +23386,7 @@ class AM extends $e {
23386
23386
  }
23387
23387
  const Ga = (s, ...e) => G(new AM(G(s), ...e));
23388
23388
  te("cache", Ga);
23389
- class NM extends $e {
23389
+ class NM extends Ye {
23390
23390
  static get type() {
23391
23391
  return "BypassNode";
23392
23392
  }
@@ -23403,7 +23403,7 @@ class NM extends $e {
23403
23403
  }
23404
23404
  const EM = /* @__PURE__ */ K(NM);
23405
23405
  te("bypass", EM);
23406
- class Jm extends $e {
23406
+ class Jm extends Ye {
23407
23407
  static get type() {
23408
23408
  return "RemapNode";
23409
23409
  }
@@ -23419,7 +23419,7 @@ class Jm extends $e {
23419
23419
  const CM = /* @__PURE__ */ K(Jm, null, null, { doClamp: !1 }), RM = /* @__PURE__ */ K(Jm);
23420
23420
  te("remap", CM);
23421
23421
  te("remapClamp", RM);
23422
- class IM extends $e {
23422
+ class IM extends Ye {
23423
23423
  static get type() {
23424
23424
  return "ExpressionNode";
23425
23425
  }
@@ -23454,7 +23454,7 @@ te("renderOutput", DM);
23454
23454
  function kP(s) {
23455
23455
  console.warn("THREE.TSLBase: AddNodeElement has been removed in favor of tree-shaking. Trying add", s);
23456
23456
  }
23457
- class Km extends $e {
23457
+ class Km extends Ye {
23458
23458
  static get type() {
23459
23459
  return "AttributeNode";
23460
23460
  }
@@ -23498,7 +23498,7 @@ class Km extends $e {
23498
23498
  }
23499
23499
  }
23500
23500
  const yn = (s, e) => G(new Km(s, e)), st = (s) => yn("uv" + (s > 0 ? s : ""), "vec2");
23501
- class UM extends $e {
23501
+ class UM extends Ye {
23502
23502
  static get type() {
23503
23503
  return "TextureSizeNode";
23504
23504
  }
@@ -23665,7 +23665,7 @@ class ds extends no {
23665
23665
  }
23666
23666
  }
23667
23667
  const gt = /* @__PURE__ */ K(ds), Ai = (...s) => gt(...s).setSampler(!1), HP = (s) => (s.isNode === !0 ? s : gt(s)).convert("sampler"), Co = /* @__PURE__ */ pe("float").label("cameraNear").setGroup(_t).onRenderUpdate(({ camera: s }) => s.near), Ro = /* @__PURE__ */ pe("float").label("cameraFar").setGroup(_t).onRenderUpdate(({ camera: s }) => s.far), VM = /* @__PURE__ */ pe("float").label("cameraLogDepth").setGroup(_t).onRenderUpdate(({ camera: s }) => 2 / (Math.log(s.far + 1) / Math.LN2)), ri = /* @__PURE__ */ pe("mat4").label("cameraProjectionMatrix").setGroup(_t).onRenderUpdate(({ camera: s }) => s.projectionMatrix), GP = /* @__PURE__ */ pe("mat4").label("cameraProjectionMatrixInverse").setGroup(_t).onRenderUpdate(({ camera: s }) => s.projectionMatrixInverse), ui = /* @__PURE__ */ pe("mat4").label("cameraViewMatrix").setGroup(_t).onRenderUpdate(({ camera: s }) => s.matrixWorldInverse), WP = /* @__PURE__ */ pe("mat4").label("cameraWorldMatrix").setGroup(_t).onRenderUpdate(({ camera: s }) => s.matrixWorld), XP = /* @__PURE__ */ pe("mat3").label("cameraNormalMatrix").setGroup(_t).onRenderUpdate(({ camera: s }) => s.normalMatrix), jm = /* @__PURE__ */ pe(new E()).label("cameraPosition").setGroup(_t).onRenderUpdate(({ camera: s }, e) => e.value.setFromMatrixPosition(s.matrixWorld));
23668
- class bt extends $e {
23668
+ class bt extends Ye {
23669
23669
  static get type() {
23670
23670
  return "Object3DNode";
23671
23671
  }
@@ -23726,7 +23726,7 @@ const KP = /* @__PURE__ */ fe(Ki, Ki.DIRECTION), Ii = /* @__PURE__ */ fe(Ki, Ki.
23726
23726
  const e = s.context.isHighPrecisionModelViewMatrix;
23727
23727
  return pe("mat3").onObjectUpdate(({ object: t, camera: n }) => (e !== !0 && t.modelViewMatrix.multiplyMatrices(n.matrixWorldInverse, t.matrixWorld), t.normalMatrix.getNormalMatrix(t.modelViewMatrix)));
23728
23728
  }).once()().toVar("highPrecisionModelNormalMatrix"), Nn = /* @__PURE__ */ yn("position", "vec3"), Qt = /* @__PURE__ */ Nn.varying("positionLocal"), ih = /* @__PURE__ */ Nn.varying("positionPrevious"), sh = /* @__PURE__ */ Ii.mul(Qt).xyz.varying("v_positionWorld"), Qm = /* @__PURE__ */ Qt.transformDirection(Ii).varying("v_positionWorldDirection").normalize().toVar("positionWorldDirection"), In = /* @__PURE__ */ ps.mul(Qt).xyz.varying("v_positionView"), Vt = /* @__PURE__ */ In.negate().varying("v_positionViewDirection").normalize().toVar("positionViewDirection");
23729
- class kM extends $e {
23729
+ class kM extends Ye {
23730
23730
  static get type() {
23731
23731
  return "FrontFacingNode";
23732
23732
  }
@@ -23861,7 +23861,7 @@ class r2 extends tr {
23861
23861
  return e.format(t, n, i);
23862
23862
  }
23863
23863
  }
23864
- class Bc extends $e {
23864
+ class Bc extends Ye {
23865
23865
  static get type() {
23866
23866
  return "ReferenceNode";
23867
23867
  }
@@ -23979,7 +23979,7 @@ class sS extends pt {
23979
23979
  }
23980
23980
  }
23981
23981
  const rS = /* @__PURE__ */ K(sS), wx = /* @__PURE__ */ new Map();
23982
- class j extends $e {
23982
+ class j extends Ye {
23983
23983
  static get type() {
23984
23984
  return "MaterialNode";
23985
23985
  }
@@ -24130,7 +24130,7 @@ class PS extends pt {
24130
24130
  }
24131
24131
  }
24132
24132
  const Yp = /* @__PURE__ */ K(PS);
24133
- class zt extends $e {
24133
+ class zt extends Ye {
24134
24134
  static get type() {
24135
24135
  return "IndexNode";
24136
24136
  }
@@ -24165,7 +24165,7 @@ zt.INVOCATION_LOCAL = "invocationLocal";
24165
24165
  zt.INVOCATION_SUBGROUP = "invocationSubgroup";
24166
24166
  zt.DRAW = "draw";
24167
24167
  const LS = /* @__PURE__ */ fe(zt, zt.VERTEX), Wc = /* @__PURE__ */ fe(zt, zt.INSTANCE), m2 = /* @__PURE__ */ fe(zt, zt.SUBGROUP), g2 = /* @__PURE__ */ fe(zt, zt.INVOCATION_SUBGROUP), x2 = /* @__PURE__ */ fe(zt, zt.INVOCATION_LOCAL), DS = /* @__PURE__ */ fe(zt, zt.DRAW);
24168
- class US extends $e {
24168
+ class US extends Ye {
24169
24169
  static get type() {
24170
24170
  return "InstanceNode";
24171
24171
  }
@@ -24210,7 +24210,7 @@ class US extends $e {
24210
24210
  }
24211
24211
  }
24212
24212
  const FS = /* @__PURE__ */ K(US);
24213
- class OS extends $e {
24213
+ class OS extends Ye {
24214
24214
  static get type() {
24215
24215
  return "BatchNode";
24216
24216
  }
@@ -24254,7 +24254,7 @@ class OS extends $e {
24254
24254
  }
24255
24255
  }
24256
24256
  const VS = /* @__PURE__ */ K(OS), Ax = /* @__PURE__ */ new WeakMap();
24257
- class ag extends $e {
24257
+ class ag extends Ye {
24258
24258
  static get type() {
24259
24259
  return "SkinningNode";
24260
24260
  }
@@ -24308,7 +24308,7 @@ class ag extends $e {
24308
24308
  }
24309
24309
  }
24310
24310
  const _2 = (s) => G(new ag(s)), zS = (s) => G(new ag(s, !0));
24311
- class BS extends $e {
24311
+ class BS extends Ye {
24312
24312
  static get type() {
24313
24313
  return "LoopNode";
24314
24314
  }
@@ -24399,7 +24399,7 @@ function M2(s) {
24399
24399
  }
24400
24400
  return o;
24401
24401
  }
24402
- class kS extends $e {
24402
+ class kS extends Ye {
24403
24403
  static get type() {
24404
24404
  return "MorphNode";
24405
24405
  }
@@ -24440,7 +24440,7 @@ const HS = /* @__PURE__ */ K(kS), S2 = (s) => s.sort((e, t) => e.id - t.id), T2
24440
24440
  return t;
24441
24441
  return null;
24442
24442
  }, ip = /* @__PURE__ */ new WeakMap();
24443
- class GS extends $e {
24443
+ class GS extends Ye {
24444
24444
  static get type() {
24445
24445
  return "LightsNode";
24446
24446
  }
@@ -24507,7 +24507,7 @@ class GS extends $e {
24507
24507
  }
24508
24508
  }
24509
24509
  const WS = /* @__PURE__ */ K(GS);
24510
- class io extends $e {
24510
+ class io extends Ye {
24511
24511
  static get type() {
24512
24512
  return "LightingNode";
24513
24513
  }
@@ -24570,7 +24570,7 @@ class YS extends io {
24570
24570
  }
24571
24571
  }
24572
24572
  let Ta, ba;
24573
- class nn extends $e {
24573
+ class nn extends Ye {
24574
24574
  static get type() {
24575
24575
  return "ScreenNode";
24576
24576
  }
@@ -24641,7 +24641,7 @@ class jS extends Xc {
24641
24641
  }
24642
24642
  }
24643
24643
  const cg = /* @__PURE__ */ K(jS);
24644
- class Yn extends $e {
24644
+ class Yn extends Ye {
24645
24645
  static get type() {
24646
24646
  return "ViewportDepthNode";
24647
24647
  }
@@ -24676,7 +24676,7 @@ Yn.DEPTH = "depth";
24676
24676
  Yn.LINEAR_DEPTH = "linearDepth";
24677
24677
  const Xa = (s, e, t) => s.add(e).div(e.sub(t)), C2 = (s, e, t) => e.sub(t).mul(s).sub(e), QS = (s, e, t) => e.add(s).mul(t).div(t.sub(e).mul(s)), lg = (s, e, t) => e.mul(t).div(t.sub(e).mul(s).sub(t)), eT = /* @__PURE__ */ K(Yn, Yn.DEPTH_BASE), ug = /* @__PURE__ */ fe(Yn, Yn.DEPTH), oh = /* @__PURE__ */ K(Yn, Yn.LINEAR_DEPTH), R2 = /* @__PURE__ */ oh(cg());
24678
24678
  ug.assign = (s) => eT(s);
24679
- class js extends $e {
24679
+ class js extends Ye {
24680
24680
  static get type() {
24681
24681
  return "ClippingNode";
24682
24682
  }
@@ -26425,7 +26425,7 @@ class xg extends At {
26425
26425
  }
26426
26426
  }
26427
26427
  const JL = (s, e) => G(new xg(s, e));
26428
- class _g extends $e {
26428
+ class _g extends Ye {
26429
26429
  static get type() {
26430
26430
  return "CodeNode";
26431
26431
  }
@@ -26593,7 +26593,7 @@ class m3 extends c3 {
26593
26593
  return this.nodeUniform.value;
26594
26594
  }
26595
26595
  }
26596
- class LT extends $e {
26596
+ class LT extends Ye {
26597
26597
  static get type() {
26598
26598
  return "StackNode";
26599
26599
  }
@@ -27524,7 +27524,7 @@ class Sg {
27524
27524
  }
27525
27525
  }
27526
27526
  Sg.isNodeFunctionInput = !0;
27527
- class N3 extends $e {
27527
+ class N3 extends Ye {
27528
27528
  static get type() {
27529
27529
  return "StructTypeNode";
27530
27530
  }
@@ -27535,7 +27535,7 @@ class N3 extends $e {
27535
27535
  return this.types;
27536
27536
  }
27537
27537
  }
27538
- class Tg extends $e {
27538
+ class Tg extends Ye {
27539
27539
  static get type() {
27540
27540
  return "OutputStructNode";
27541
27541
  }
@@ -27592,7 +27592,7 @@ class DT extends Tg {
27592
27592
  }
27593
27593
  }
27594
27594
  const sd = /* @__PURE__ */ K(DT);
27595
- class UT extends $e {
27595
+ class UT extends Ye {
27596
27596
  static get type() {
27597
27597
  return "FunctionOverloadingNode";
27598
27598
  }
@@ -27666,7 +27666,7 @@ Mn.GLOBAL = "global";
27666
27666
  Mn.DELTA = "delta";
27667
27667
  Mn.FRAME = "frame";
27668
27668
  const wg = (s, e = 0) => G(new Mn(Mn.LOCAL, s, e)), R3 = (s, e = 0) => G(new Mn(Mn.GLOBAL, s, e)), I3 = (s, e = 0) => G(new Mn(Mn.DELTA, s, e)), P3 = /* @__PURE__ */ fe(Mn, Mn.FRAME).toUint();
27669
- class hn extends $e {
27669
+ class hn extends Ye {
27670
27670
  static get type() {
27671
27671
  return "OscNode";
27672
27672
  }
@@ -27693,7 +27693,7 @@ hn.SQUARE = "square";
27693
27693
  hn.TRIANGLE = "triangle";
27694
27694
  hn.SAWTOOTH = "sawtooth";
27695
27695
  const L3 = /* @__PURE__ */ K(hn, hn.SINE), D3 = /* @__PURE__ */ K(hn, hn.SQUARE), U3 = /* @__PURE__ */ K(hn, hn.TRIANGLE), F3 = /* @__PURE__ */ K(hn, hn.SAWTOOTH);
27696
- class FT extends $e {
27696
+ class FT extends Ye {
27697
27697
  static get type() {
27698
27698
  return "SpriteSheetUVNode";
27699
27699
  }
@@ -27733,7 +27733,7 @@ class OT extends tr {
27733
27733
  }
27734
27734
  }
27735
27735
  const V3 = /* @__PURE__ */ K(OT);
27736
- class VT extends $e {
27736
+ class VT extends Ye {
27737
27737
  static get type() {
27738
27738
  return "TriplanarTexturesNode";
27739
27739
  }
@@ -27883,7 +27883,7 @@ class GT extends Km {
27883
27883
  }
27884
27884
  }
27885
27885
  const X3 = (...s) => G(new GT(...s));
27886
- class WT extends $e {
27886
+ class WT extends Ye {
27887
27887
  static get type() {
27888
27888
  return "PointUVNode";
27889
27889
  }
@@ -27895,7 +27895,7 @@ class WT extends $e {
27895
27895
  }
27896
27896
  }
27897
27897
  const q3 = /* @__PURE__ */ fe(WT);
27898
- class qi extends $e {
27898
+ class qi extends Ye {
27899
27899
  static get type() {
27900
27900
  return "SceneNode";
27901
27901
  }
@@ -28462,19 +28462,19 @@ class ab extends pt {
28462
28462
  F.xyz = xi(_.mul(F.xyz));
28463
28463
  const M = xi(u.xyz.negate()), b = xi(ko(F.xyz, M)), H = ko(b, M), W = xi(h.sub(b.mul(qt(h, b)))), $ = ko(W, b), ie = B(qt(M, $), qt(M, $.negate())).toVar();
28464
28464
  mt({ end: I, type: "int", name: "j", condition: "<" }, ({ j: Qe }) => {
28465
- const ut = F.xyz.mul(d).mul(F.w).mul($n(Ji(A(Qe).add(1), A(I)), this.distanceExponent)), ne = r(u.add(ut)), Ee = o(ne.xy, ne.z).sub(u);
28466
- Fe(Dt(Ee.z).lessThan(this.thickness), () => {
28467
- const Je = qt(M, xi(Ee));
28465
+ const ut = F.xyz.mul(d).mul(F.w).mul($n(Ji(A(Qe).add(1), A(I)), this.distanceExponent)), ne = r(u.add(ut)), Ae = o(ne.xy, ne.z).sub(u);
28466
+ Fe(Dt(Ae.z).lessThan(this.thickness), () => {
28467
+ const Je = qt(M, xi(Ae));
28468
28468
  ie.x.addAssign(ft(0, ot(Je.sub(ie.x), it(1, A(2).div(A(Qe).add(2)), this.distanceFallOff))));
28469
28469
  });
28470
- const ge = r(u.sub(ut)), Ye = o(ge.xy, ge.z).sub(u);
28471
- Fe(Dt(Ye.z).lessThan(this.thickness), () => {
28472
- const Je = qt(M, xi(Ye));
28470
+ const ge = r(u.sub(ut)), Xe = o(ge.xy, ge.z).sub(u);
28471
+ Fe(Dt(Xe.z).lessThan(this.thickness), () => {
28472
+ const Je = qt(M, xi(Xe));
28473
28473
  ie.y.addAssign(ft(0, ot(Je.sub(ie.y), it(1, A(2).div(A(Qe).add(2)), this.distanceFallOff))));
28474
28474
  });
28475
28475
  });
28476
- const q = es(Ut(1, ie.mul(ie))), he = qt(W, H), Q = qt(W, M), we = ot(0.5, eh(ie.y).sub(eh(ie.x)).add(q.x.mul(ie.x).sub(q.y.mul(ie.y)))), Ae = ot(0.5, Ut(2, ie.x.mul(ie.x)).sub(ie.y.mul(ie.y))), Ne = he.mul(we).add(Q.mul(Ae));
28477
- T.addAssign(Ne);
28476
+ const q = es(Ut(1, ie.mul(ie))), he = qt(W, H), Q = qt(W, M), we = ot(0.5, eh(ie.y).sub(eh(ie.x)).add(q.x.mul(ie.x).sub(q.y.mul(ie.y)))), Ne = ot(0.5, Ut(2, ie.x.mul(ie.x)).sub(ie.y.mul(ie.y))), Ee = he.mul(we).add(Q.mul(Ne));
28477
+ T.addAssign(Ee);
28478
28478
  }), T.assign(cn(T.div(v), 0, 1)), T.assign($n(T, this.scale)), oe(D(T), 1);
28479
28479
  }), c = this._material || (this._material = new St());
28480
28480
  return c.fragmentNode = a().context(e.getSharedContext()), c.name = "GTAO", c.needsUpdate = !0, this._textureNode;
@@ -28589,8 +28589,8 @@ class lb extends pt {
28589
28589
  Fe(w.lessThan(d), () => f);
28590
28590
  const C = Ut(_.add(v), I.add(T)).toVar();
28591
28591
  C.mulAssign(p), Fe(Dt(C).lessThan(0.3), () => {
28592
- const ut = I.greaterThan(T).select(1, -1).toVar(), ne = v.greaterThan(_).select(1, -1).toVar(), ue = B(ut, ne).toVar(), Ee = i(u, B(ue.x, ue.y), h.xy), ge = o(f, Ee).toVar(), Ze = i(u, B(ue.x.negate(), ue.y.negate()), h.xy), Ye = o(f, Ze).toVar();
28593
- C.assign(Ye.sub(ge)), C.mulAssign(p), Fe(Dt(C).lessThan(0.3), () => {
28592
+ const ut = I.greaterThan(T).select(1, -1).toVar(), ne = v.greaterThan(_).select(1, -1).toVar(), ue = B(ut, ne).toVar(), Ae = i(u, B(ue.x, ue.y), h.xy), ge = o(f, Ae).toVar(), Ze = i(u, B(ue.x.negate(), ue.y.negate()), h.xy), Xe = o(f, Ze).toVar();
28593
+ C.assign(Xe.sub(ge)), C.mulAssign(p), Fe(Dt(C).lessThan(0.3), () => {
28594
28594
  const Je = g.add(x).add(m).add(y);
28595
28595
  return it(f, Je.mul(0.25), 0.4);
28596
28596
  });
@@ -28610,27 +28610,27 @@ class lb extends pt {
28610
28610
  const ne = ut.add(1).toVar();
28611
28611
  Fe(H.equal(0), () => {
28612
28612
  $.addAssign(ne), q.assign(u.add(F.mul($)));
28613
- const ue = n(q.xy), Ee = o(ue, f).toVar(), ge = o(ue, g).toVar();
28614
- Fe(Ee.greaterThan(ge), () => {
28613
+ const ue = n(q.xy), Ae = o(ue, f).toVar(), ge = o(ue, g).toVar();
28614
+ Fe(Ae.greaterThan(ge), () => {
28615
28615
  H.assign(1);
28616
28616
  }), Q.assign(ut);
28617
28617
  }), Fe(W.equal(0), () => {
28618
28618
  ie.addAssign(ne), he.assign(u.sub(F.mul(ie)));
28619
- const ue = n(he.xy), Ee = o(ue, f).toVar(), ge = o(ue, g).toVar();
28620
- Fe(Ee.greaterThan(ge), () => {
28619
+ const ue = n(he.xy), Ae = o(ue, f).toVar(), ge = o(ue, g).toVar();
28620
+ Fe(Ae.greaterThan(ge), () => {
28621
28621
  W.assign(1);
28622
28622
  }), we.assign(ut);
28623
28623
  }), Fe(H.equal(1).or(W.equal(1)), () => {
28624
28624
  Qh();
28625
28625
  });
28626
28626
  }), Fe(H.equal(0).and(W.equal(0)), () => f);
28627
- const Ae = A(1).toVar(), Ne = A(1).toVar();
28627
+ const Ne = A(1).toVar(), Ee = A(1).toVar();
28628
28628
  Fe(H.equal(1), () => {
28629
- Ae.assign(A(Q).div(A(r.sub(1))));
28629
+ Ne.assign(A(Q).div(A(r.sub(1))));
28630
28630
  }), Fe(W.equal(1), () => {
28631
- Ne.assign(A(we).div(A(r.sub(1))));
28631
+ Ee.assign(A(we).div(A(r.sub(1))));
28632
28632
  });
28633
- const Qe = vn(Ae, Ne);
28633
+ const Qe = vn(Ne, Ee);
28634
28634
  return Qe.assign($n(Qe, 0.5)), Qe.assign(A(1).sub(Qe)), it(f, g, Qe.mul(0.5));
28635
28635
  }).setLayout({
28636
28636
  name: "FxaaPixelShader",
@@ -29094,7 +29094,7 @@ class _b extends bn {
29094
29094
  }
29095
29095
  }
29096
29096
  const GD = (s, e, t = new _e(0, 0, 0), n = 3e-3, i = 1) => G(new _b(s, e, G(t), G(n), G(i)));
29097
- class yb extends $e {
29097
+ class yb extends Ye {
29098
29098
  static get type() {
29099
29099
  return "ScriptableValueNode";
29100
29100
  }
@@ -29166,7 +29166,7 @@ class WD {
29166
29166
  }
29167
29167
  }
29168
29168
  const au = new vb();
29169
- class Mb extends $e {
29169
+ class Mb extends Ye {
29170
29170
  static get type() {
29171
29171
  return "ScriptableNode";
29172
29172
  }
@@ -29301,7 +29301,7 @@ return { ...output, ` + n + " };", o = i + this.codeNode.code + r;
29301
29301
  }
29302
29302
  }
29303
29303
  const XD = /* @__PURE__ */ K(Mb);
29304
- class rd extends $e {
29304
+ class rd extends Ye {
29305
29305
  static get type() {
29306
29306
  return "FogNode";
29307
29307
  }
@@ -29345,7 +29345,7 @@ class Tb extends rd {
29345
29345
  }
29346
29346
  const YD = /* @__PURE__ */ K(Tb);
29347
29347
  let vr = null, Mr = null;
29348
- class bb extends $e {
29348
+ class bb extends Ye {
29349
29349
  static get type() {
29350
29350
  return "RangeNode";
29351
29351
  }
@@ -29799,7 +29799,7 @@ const pU = /* @__PURE__ */ fe(dU), fU = /* @__PURE__ */ U(([s, e]) => vn(1, s.on
29799
29799
  { name: "exposure", type: "float" }
29800
29800
  ]
29801
29801
  });
29802
- class wU extends $e {
29802
+ class wU extends Ye {
29803
29803
  static get type() {
29804
29804
  return "ComputeBuiltinNode";
29805
29805
  }
@@ -29833,7 +29833,7 @@ class wU extends $e {
29833
29833
  }
29834
29834
  }
29835
29835
  const ad = (s, e) => G(new wU(s, e)), AU = /* @__PURE__ */ ad("numWorkgroups", "uvec3"), NU = /* @__PURE__ */ ad("workgroupId", "uvec3"), EU = /* @__PURE__ */ ad("localId", "uvec3"), CU = /* @__PURE__ */ ad("subgroupSize", "uint");
29836
- class RU extends $e {
29836
+ class RU extends Ye {
29837
29837
  constructor(e) {
29838
29838
  super(), this.scope = e;
29839
29839
  }
@@ -29858,7 +29858,7 @@ class DU extends tr {
29858
29858
  return n;
29859
29859
  }
29860
29860
  }
29861
- class UU extends $e {
29861
+ class UU extends Ye {
29862
29862
  constructor(e, t, n = 0) {
29863
29863
  super(t), this.bufferType = t, this.bufferCount = n, this.isWorkgroupInfoNode = !0, this.scope = e;
29864
29864
  }
@@ -31063,7 +31063,7 @@ const yO = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
31063
31063
  DataArrayTexture: vc,
31064
31064
  DataTexture: Xi,
31065
31065
  DataTextureLoader: fI,
31066
- DataUtils: vA,
31066
+ DataUtils: v1,
31067
31067
  DecrementStencilOp: Mw,
31068
31068
  DecrementWrapStencilOp: Tw,
31069
31069
  DefaultLoadingManager: Dy,
@@ -31155,9 +31155,9 @@ const yO = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
31155
31155
  InstancedInterleavedBuffer: Wy,
31156
31156
  InstancedMesh: fy,
31157
31157
  InstancedPointsNodeMaterial: D2,
31158
- Int16BufferAttribute: bA,
31159
- Int32BufferAttribute: wA,
31160
- Int8BufferAttribute: MA,
31158
+ Int16BufferAttribute: b1,
31159
+ Int32BufferAttribute: w1,
31160
+ Int8BufferAttribute: M1,
31161
31161
  IntType: Ko,
31162
31162
  InterleavedBuffer: Sc,
31163
31163
  InterleavedBufferAttribute: $s,
@@ -31271,7 +31271,7 @@ const yO = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
31271
31271
  NoBlending: Wi,
31272
31272
  NoColorSpace: Hi,
31273
31273
  NoToneMapping: Pi,
31274
- Node: $e,
31274
+ Node: Ye,
31275
31275
  NodeAttribute: ef,
31276
31276
  NodeBuilder: w3,
31277
31277
  NodeCache: su,
@@ -31499,8 +31499,8 @@ const yO = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
31499
31499
  UVMapping: uh,
31500
31500
  Uint16BufferAttribute: Ef,
31501
31501
  Uint32BufferAttribute: Cf,
31502
- Uint8BufferAttribute: SA,
31503
- Uint8ClampedBufferAttribute: TA,
31502
+ Uint8BufferAttribute: S1,
31503
+ Uint8ClampedBufferAttribute: T1,
31504
31504
  Uniform: zI,
31505
31505
  UniformArrayNode: ng,
31506
31506
  UniformGroupNode: wm,
@@ -31531,8 +31531,8 @@ const yO = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
31531
31531
  ViewportSharedTextureNode: ZT,
31532
31532
  ViewportTextureNode: Xc,
31533
31533
  VolumeNodeMaterial: $L,
31534
- WebGL3DRenderTarget: uA,
31535
- WebGLArrayRenderTarget: lA,
31534
+ WebGL3DRenderTarget: u1,
31535
+ WebGLArrayRenderTarget: l1,
31536
31536
  WebGLCoordinateSystem: Ri,
31537
31537
  WebGLCubeRenderTarget: If,
31538
31538
  WebGLMultipleRenderTargets: uP,
@@ -32076,7 +32076,7 @@ export {
32076
32076
  ws as Y,
32077
32077
  GI as Z,
32078
32078
  ay as _,
32079
- Sn as a,
32079
+ mI as a,
32080
32080
  fu as a$,
32081
32081
  $s as a0,
32082
32082
  Th as a1,
@@ -32141,8 +32141,8 @@ export {
32141
32141
  dn as ax,
32142
32142
  Lf as ay,
32143
32143
  g_ as az,
32144
- mI as b,
32145
- gy as b$,
32144
+ Oe as b,
32145
+ fy as b$,
32146
32146
  my as b0,
32147
32147
  Xf as b1,
32148
32148
  ls as b2,
@@ -32170,16 +32170,16 @@ export {
32170
32170
  ph as bO,
32171
32171
  Za as bP,
32172
32172
  Ur as bQ,
32173
- A3 as bR,
32174
- pw as bS,
32175
- mw as bT,
32176
- fw as bU,
32177
- Fp as bV,
32178
- fy as bW,
32179
- Ys as bX,
32180
- vI as bY,
32181
- Sc as bZ,
32182
- Tc as b_,
32173
+ Ye as bR,
32174
+ A3 as bS,
32175
+ w3 as bT,
32176
+ uO as bU,
32177
+ Ti as bV,
32178
+ Zy as bW,
32179
+ pw as bX,
32180
+ mw as bY,
32181
+ fw as bZ,
32182
+ Fp as b_,
32183
32183
  nP as ba,
32184
32184
  dy as bb,
32185
32185
  oi as bc,
@@ -32206,69 +32206,74 @@ export {
32206
32206
  B_ as bx,
32207
32207
  Wi as by,
32208
32208
  Yr as bz,
32209
- Oe as c,
32210
- xy as c0,
32211
- Wu as c1,
32212
- xt as c2,
32213
- df as c3,
32214
- Dr as c4,
32215
- Ws as c5,
32216
- Ja as c6,
32217
- oc as c7,
32218
- Nc as c8,
32219
- CR as c9,
32220
- ow as cA,
32221
- WI as cB,
32222
- IR as cC,
32223
- Fy as cD,
32224
- Wy as cE,
32225
- Ny as cF,
32226
- Qf as cG,
32227
- Po as cH,
32228
- Ko as cI,
32229
- Ho as cJ,
32230
- pf as cK,
32231
- ff as cL,
32232
- mh as cM,
32233
- fh as cN,
32234
- _c as cO,
32235
- wu as ca,
32236
- Fa as cb,
32237
- bu as cc,
32238
- vu as cd,
32239
- Ua as ce,
32240
- Su as cf,
32241
- Tu as cg,
32242
- _u as ch,
32243
- La as ci,
32244
- xh as cj,
32245
- yc as ck,
32246
- Cu as cl,
32247
- cP as cm,
32248
- ze as cn,
32249
- wc as co,
32250
- Fh as cp,
32251
- lP as cq,
32252
- fI as cr,
32253
- vA as cs,
32254
- ji as ct,
32255
- qf as cu,
32256
- Zf as cv,
32257
- Ef as cw,
32258
- os as cx,
32259
- Dy as cy,
32260
- rw as cz,
32261
- Zn as d,
32262
- zh as e,
32263
- yO as f,
32264
- J as g,
32265
- rt as h,
32266
- _n as i,
32267
- Uf as j,
32268
- Zi as k,
32269
- _e as l,
32270
- Wf as m,
32271
- sP as n,
32209
+ Zn as c,
32210
+ Ys as c0,
32211
+ vI as c1,
32212
+ Sc as c2,
32213
+ Tc as c3,
32214
+ gy as c4,
32215
+ xy as c5,
32216
+ Wu as c6,
32217
+ xt as c7,
32218
+ df as c8,
32219
+ Dr as c9,
32220
+ Zf as cA,
32221
+ Ef as cB,
32222
+ os as cC,
32223
+ Dy as cD,
32224
+ rw as cE,
32225
+ ow as cF,
32226
+ WI as cG,
32227
+ IR as cH,
32228
+ Fy as cI,
32229
+ Wy as cJ,
32230
+ Ny as cK,
32231
+ Qf as cL,
32232
+ Po as cM,
32233
+ Ko as cN,
32234
+ Ho as cO,
32235
+ pf as cP,
32236
+ ff as cQ,
32237
+ mh as cR,
32238
+ fh as cS,
32239
+ _c as cT,
32240
+ Ws as ca,
32241
+ Ja as cb,
32242
+ oc as cc,
32243
+ Nc as cd,
32244
+ CR as ce,
32245
+ wu as cf,
32246
+ Fa as cg,
32247
+ bu as ch,
32248
+ vu as ci,
32249
+ Ua as cj,
32250
+ Su as ck,
32251
+ Tu as cl,
32252
+ _u as cm,
32253
+ La as cn,
32254
+ xh as co,
32255
+ yc as cp,
32256
+ Cu as cq,
32257
+ cP as cr,
32258
+ ze as cs,
32259
+ wc as ct,
32260
+ Fh as cu,
32261
+ lP as cv,
32262
+ fI as cw,
32263
+ v1 as cx,
32264
+ ji as cy,
32265
+ qf as cz,
32266
+ zh as d,
32267
+ yO as e,
32268
+ J as f,
32269
+ rt as g,
32270
+ _n as h,
32271
+ Uf as i,
32272
+ Zi as j,
32273
+ _e as k,
32274
+ Wf as l,
32275
+ sP as m,
32276
+ Sn as n,
32272
32277
  je as o,
32273
32278
  Af as p,
32274
32279
  fs as q,