@needle-tools/engine 4.15.0-next.f391a30 → 4.16.0-next.35df6b8

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 (392) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/SKILL.md +237 -0
  3. package/components.needle.json +1 -1
  4. package/dist/{gltf-progressive-DYL3SLVb.min.js → gltf-progressive-DQa78GTA.min.js} +1 -1
  5. package/dist/{gltf-progressive-CMwJPwEt.umd.cjs → gltf-progressive-LOFTyzy4.umd.cjs} +1 -1
  6. package/dist/{gltf-progressive-CTlvpS3A.js → gltf-progressive-_wvokUUu.js} +3 -3
  7. package/dist/{materialx-NDD0y4JY.umd.cjs → materialx-BrPdNmQT.umd.cjs} +1 -1
  8. package/dist/{materialx-4jJLLe9Q.js → materialx-CT8J50pg.js} +2 -2
  9. package/dist/{materialx-Bt9FHwco.min.js → materialx-D_ofN96q.min.js} +1 -1
  10. package/dist/{needle-engine.bundle-DB4kLWO_.js → needle-engine.bundle-Bnwvh-4P.js} +3209 -3206
  11. package/dist/{needle-engine.bundle-C1BFRZDF.umd.cjs → needle-engine.bundle-DN7uXrFB.umd.cjs} +114 -116
  12. package/dist/{needle-engine.bundle-DsTdfmeb.min.js → needle-engine.bundle-DY3LoYIi.min.js} +109 -111
  13. package/dist/needle-engine.d.ts +63 -55
  14. package/dist/needle-engine.js +4 -4
  15. package/dist/needle-engine.min.js +1 -1
  16. package/dist/needle-engine.umd.cjs +1 -1
  17. package/dist/{postprocessing-De9ZpJrk.js → postprocessing-C-WOZQC5.js} +2 -2
  18. package/dist/{postprocessing-DYmYOVm4.umd.cjs → postprocessing-CtXfLXvp.umd.cjs} +1 -1
  19. package/dist/{postprocessing-BN-f4viE.min.js → postprocessing-DXm8YKbQ.min.js} +1 -1
  20. package/dist/{three-examples-C0ZCCA_K.js → three-examples.js} +1 -1
  21. package/dist/{three-examples-DmTY8tGr.min.js → three-examples.min.js} +1 -1
  22. package/dist/{three-examples-BHqRVpO_.umd.cjs → three-examples.umd.cjs} +1 -1
  23. package/dist/{three-mesh-ui-BlakAItG.js → three-mesh-ui-B-lqrZWj.js} +1 -1
  24. package/dist/{three-mesh-ui-D828VbQp.umd.cjs → three-mesh-ui-Chib781Y.umd.cjs} +1 -1
  25. package/dist/{three-mesh-ui-5HVE2RV-.min.js → three-mesh-ui-n3JU4M2W.min.js} +1 -1
  26. package/dist/{three-BjYim-vL.umd.cjs → three.umd.cjs} +1 -1
  27. package/dist/{vendor-ixwD-vv2.js → vendor-BsRxp-FT.js} +1 -1
  28. package/dist/{vendor-CIDkyBaO.umd.cjs → vendor-BwxpsdCm.umd.cjs} +1 -1
  29. package/dist/{vendor-BxK0WKmT.min.js → vendor-DZ45lcA8.min.js} +1 -1
  30. package/lib/asap/needle-asap.js.map +1 -1
  31. package/lib/asap/sessiongranted.js.map +1 -1
  32. package/lib/engine/analytics/index.d.ts +1 -1
  33. package/lib/engine/analytics/lcp.js.map +1 -1
  34. package/lib/engine/assets/index.js.map +1 -1
  35. package/lib/engine/debug/debug.d.ts +4 -4
  36. package/lib/engine/debug/debug.js +6 -6
  37. package/lib/engine/debug/debug.js.map +1 -1
  38. package/lib/engine/debug/debug_console.js.map +1 -1
  39. package/lib/engine/debug/debug_overlay.d.ts +16 -1
  40. package/lib/engine/debug/debug_overlay.js +47 -10
  41. package/lib/engine/debug/debug_overlay.js.map +1 -1
  42. package/lib/engine/debug/debug_spatial_console.js.map +1 -1
  43. package/lib/engine/debug/debug_spector.js.map +1 -1
  44. package/lib/engine/engine_accessibility.js.map +1 -1
  45. package/lib/engine/engine_addressables.d.ts +6 -3
  46. package/lib/engine/engine_addressables.js +10 -3
  47. package/lib/engine/engine_addressables.js.map +1 -1
  48. package/lib/engine/engine_animation.js.map +1 -1
  49. package/lib/engine/engine_application.d.ts +0 -7
  50. package/lib/engine/engine_application.js.map +1 -1
  51. package/lib/engine/engine_assetdatabase.js.map +1 -1
  52. package/lib/engine/engine_audio.js.map +1 -1
  53. package/lib/engine/engine_camera.fit.js.map +1 -1
  54. package/lib/engine/engine_camera.js.map +1 -1
  55. package/lib/engine/engine_components.js.map +1 -1
  56. package/lib/engine/engine_components_internal.js.map +1 -1
  57. package/lib/engine/engine_constants.js.map +1 -1
  58. package/lib/engine/engine_context.d.ts +0 -1
  59. package/lib/engine/engine_context.js +1 -1
  60. package/lib/engine/engine_context.js.map +1 -1
  61. package/lib/engine/engine_context_registry.js.map +1 -1
  62. package/lib/engine/engine_coroutine.js.map +1 -1
  63. package/lib/engine/engine_create_objects.js.map +1 -1
  64. package/lib/engine/engine_editor-sync.d.ts +1 -1
  65. package/lib/engine/engine_gameobject.js.map +1 -1
  66. package/lib/engine/engine_generic_utils.js.map +1 -1
  67. package/lib/engine/engine_gizmos.js.map +1 -1
  68. package/lib/engine/engine_gltf.js.map +1 -1
  69. package/lib/engine/engine_gltf_builtin_components.js +2 -2
  70. package/lib/engine/engine_gltf_builtin_components.js.map +1 -1
  71. package/lib/engine/engine_hot_reload.js.map +1 -1
  72. package/lib/engine/engine_input.d.ts +0 -1
  73. package/lib/engine/engine_input.js.map +1 -1
  74. package/lib/engine/engine_instancing.js.map +1 -1
  75. package/lib/engine/engine_license.js.map +1 -1
  76. package/lib/engine/engine_lifecycle_functions_internal.js.map +1 -1
  77. package/lib/engine/engine_lightdata.js.map +1 -1
  78. package/lib/engine/engine_loaders.callbacks.js.map +1 -1
  79. package/lib/engine/engine_loaders.d.ts +7 -4
  80. package/lib/engine/engine_loaders.gltf.js.map +1 -1
  81. package/lib/engine/engine_loaders.js +7 -4
  82. package/lib/engine/engine_loaders.js.map +1 -1
  83. package/lib/engine/engine_lods.js.map +1 -1
  84. package/lib/engine/engine_mainloop_utils.d.ts +0 -1
  85. package/lib/engine/engine_mainloop_utils.js.map +1 -1
  86. package/lib/engine/engine_materialpropertyblock.js.map +1 -1
  87. package/lib/engine/engine_math.js.map +1 -1
  88. package/lib/engine/engine_networking.js.map +1 -1
  89. package/lib/engine/engine_networking_auto.js.map +1 -1
  90. package/lib/engine/engine_networking_blob.js.map +1 -1
  91. package/lib/engine/engine_networking_files.js.map +1 -1
  92. package/lib/engine/engine_networking_instantiate.js.map +1 -1
  93. package/lib/engine/engine_networking_peer.js.map +1 -1
  94. package/lib/engine/engine_networking_streams.js +2 -0
  95. package/lib/engine/engine_networking_streams.js.map +1 -1
  96. package/lib/engine/engine_patcher.js.map +1 -1
  97. package/lib/engine/engine_physics.d.ts +2 -2
  98. package/lib/engine/engine_physics.js.map +1 -1
  99. package/lib/engine/engine_physics_rapier.js.map +1 -1
  100. package/lib/engine/engine_playerview.js.map +1 -1
  101. package/lib/engine/engine_pmrem.js.map +1 -1
  102. package/lib/engine/engine_scenelighting.d.ts +1 -1
  103. package/lib/engine/engine_scenelighting.js.map +1 -1
  104. package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
  105. package/lib/engine/engine_serialization_core.js.map +1 -1
  106. package/lib/engine/engine_serialization_decorator.d.ts +2 -2
  107. package/lib/engine/engine_serialization_decorator.js.map +1 -1
  108. package/lib/engine/engine_shaders.js.map +1 -1
  109. package/lib/engine/engine_shims.js.map +1 -1
  110. package/lib/engine/engine_texture.js.map +1 -1
  111. package/lib/engine/engine_three_utils.js.map +1 -1
  112. package/lib/engine/engine_time_utils.js.map +1 -1
  113. package/lib/engine/engine_tonemapping.js.map +1 -1
  114. package/lib/engine/engine_types.d.ts +0 -1
  115. package/lib/engine/engine_types.js.map +1 -1
  116. package/lib/engine/engine_typestore.js.map +1 -1
  117. package/lib/engine/engine_util_decorator.js +1 -1
  118. package/lib/engine/engine_util_decorator.js.map +1 -1
  119. package/lib/engine/engine_utils.js.map +1 -1
  120. package/lib/engine/engine_utils_attributes.js.map +1 -1
  121. package/lib/engine/engine_utils_format.js.map +1 -1
  122. package/lib/engine/engine_utils_qrcode.js.map +1 -1
  123. package/lib/engine/engine_utils_screenshot.js.map +1 -1
  124. package/lib/engine/engine_utils_screenshot.xr.js.map +1 -1
  125. package/lib/engine/export/gltf/EXT_mesh_gpu_instancing_exporter.js.map +1 -1
  126. package/lib/engine/export/gltf/Writers.js.map +1 -1
  127. package/lib/engine/export/gltf/index.js.map +1 -1
  128. package/lib/engine/export/state.js.map +1 -1
  129. package/lib/engine/extensions/EXT_texture_exr.js.map +1 -1
  130. package/lib/engine/extensions/NEEDLE_components.js.map +1 -1
  131. package/lib/engine/extensions/NEEDLE_gameobject_data.js.map +1 -1
  132. package/lib/engine/extensions/NEEDLE_lighting_settings.js.map +1 -1
  133. package/lib/engine/extensions/NEEDLE_lightmaps.js.map +1 -1
  134. package/lib/engine/extensions/NEEDLE_materialx.js.map +1 -1
  135. package/lib/engine/extensions/NEEDLE_persistent_assets.js.map +1 -1
  136. package/lib/engine/extensions/NEEDLE_render_objects.js.map +1 -1
  137. package/lib/engine/extensions/NEEDLE_techniques_webgl.js.map +1 -1
  138. package/lib/engine/extensions/extension_utils.js.map +1 -1
  139. package/lib/engine/extensions/extensions.js.map +1 -1
  140. package/lib/engine/extensions/usage_tracker.js.map +1 -1
  141. package/lib/engine/js-extensions/ExtensionUtils.js.map +1 -1
  142. package/lib/engine/js-extensions/Object3D.js.map +1 -1
  143. package/lib/engine/js-extensions/RGBAColor.js.map +1 -1
  144. package/lib/engine/js-extensions/Vector.js.map +1 -1
  145. package/lib/engine/physics/workers/mesh-bvh/GenerateMeshBVHWorker.js.map +1 -1
  146. package/lib/engine/shaders/shaderData.d.ts +6 -6
  147. package/lib/engine/tests/test_utils.js.map +1 -1
  148. package/lib/engine/webcomponents/WebXRButtons.d.ts +0 -1
  149. package/lib/engine/webcomponents/WebXRButtons.js.map +1 -1
  150. package/lib/engine/webcomponents/buttons.js.map +1 -1
  151. package/lib/engine/webcomponents/fonts.js.map +1 -1
  152. package/lib/engine/webcomponents/icons.js.map +1 -1
  153. package/lib/engine/webcomponents/logo-element.d.ts +3 -6
  154. package/lib/engine/webcomponents/logo-element.js +0 -18
  155. package/lib/engine/webcomponents/logo-element.js.map +1 -1
  156. package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
  157. package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +7 -10
  158. package/lib/engine/webcomponents/needle menu/needle-menu.js +4 -16
  159. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  160. package/lib/engine/webcomponents/needle-button.js.map +1 -1
  161. package/lib/engine/webcomponents/needle-engine.ar-overlay.d.ts +0 -1
  162. package/lib/engine/webcomponents/needle-engine.ar-overlay.js.map +1 -1
  163. package/lib/engine/webcomponents/needle-engine.d.ts +0 -4
  164. package/lib/engine/webcomponents/needle-engine.js +1 -11
  165. package/lib/engine/webcomponents/needle-engine.js.map +1 -1
  166. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  167. package/lib/engine/xr/NeedleXRController.d.ts +0 -1
  168. package/lib/engine/xr/NeedleXRController.js +1 -1
  169. package/lib/engine/xr/NeedleXRController.js.map +1 -1
  170. package/lib/engine/xr/NeedleXRSession.d.ts +0 -1
  171. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  172. package/lib/engine/xr/NeedleXRSync.d.ts +0 -1
  173. package/lib/engine/xr/NeedleXRSync.js.map +1 -1
  174. package/lib/engine/xr/SceneTransition.js.map +1 -1
  175. package/lib/engine/xr/TempXRContext.d.ts +0 -1
  176. package/lib/engine/xr/TempXRContext.js.map +1 -1
  177. package/lib/engine/xr/events.js.map +1 -1
  178. package/lib/engine/xr/internal.js.map +1 -1
  179. package/lib/engine/xr/usdz.js.map +1 -1
  180. package/lib/engine/xr/utils.js.map +1 -1
  181. package/lib/engine-components/AlignmentConstraint.js.map +1 -1
  182. package/lib/engine-components/Animation.js.map +1 -1
  183. package/lib/engine-components/AnimationCurve.js.map +1 -1
  184. package/lib/engine-components/AnimationUtils.js.map +1 -1
  185. package/lib/engine-components/AnimationUtilsAutoplay.js.map +1 -1
  186. package/lib/engine-components/Animator.js.map +1 -1
  187. package/lib/engine-components/AnimatorController.js +1 -1
  188. package/lib/engine-components/AnimatorController.js.map +1 -1
  189. package/lib/engine-components/AudioListener.js.map +1 -1
  190. package/lib/engine-components/AudioSource.js.map +1 -1
  191. package/lib/engine-components/AvatarLoader.js.map +1 -1
  192. package/lib/engine-components/AxesHelper.js.map +1 -1
  193. package/lib/engine-components/BoxHelperComponent.js.map +1 -1
  194. package/lib/engine-components/Camera.js.map +1 -1
  195. package/lib/engine-components/CameraUtils.js.map +1 -1
  196. package/lib/engine-components/CharacterController.js.map +1 -1
  197. package/lib/engine-components/Collider.js.map +1 -1
  198. package/lib/engine-components/Component.d.ts +0 -1
  199. package/lib/engine-components/Component.js.map +1 -1
  200. package/lib/engine-components/ContactShadows.d.ts +0 -1
  201. package/lib/engine-components/ContactShadows.js.map +1 -1
  202. package/lib/engine-components/DeleteBox.js.map +1 -1
  203. package/lib/engine-components/DeviceFlag.js.map +1 -1
  204. package/lib/engine-components/DragControls.js +10 -0
  205. package/lib/engine-components/DragControls.js.map +1 -1
  206. package/lib/engine-components/DropListener.js.map +1 -1
  207. package/lib/engine-components/Duplicatable.js +8 -1
  208. package/lib/engine-components/Duplicatable.js.map +1 -1
  209. package/lib/engine-components/EventList.js.map +1 -1
  210. package/lib/engine-components/EventTrigger.js.map +1 -1
  211. package/lib/engine-components/Gizmos.js.map +1 -1
  212. package/lib/engine-components/GridHelper.js.map +1 -1
  213. package/lib/engine-components/GroundProjection.js.map +1 -1
  214. package/lib/engine-components/Joints.js.map +1 -1
  215. package/lib/engine-components/LODGroup.js.map +1 -1
  216. package/lib/engine-components/Light.js.map +1 -1
  217. package/lib/engine-components/NeedleMenu.js.map +1 -1
  218. package/lib/engine-components/NestedGltf.js.map +1 -1
  219. package/lib/engine-components/Networking.js.map +1 -1
  220. package/lib/engine-components/OffsetConstraint.js.map +1 -1
  221. package/lib/engine-components/OrbitControls.js.map +1 -1
  222. package/lib/engine-components/PlayerColor.js.map +1 -1
  223. package/lib/engine-components/ReflectionProbe.js.map +1 -1
  224. package/lib/engine-components/Renderer.js +2 -1
  225. package/lib/engine-components/Renderer.js.map +1 -1
  226. package/lib/engine-components/RendererInstancing.js.map +1 -1
  227. package/lib/engine-components/RendererLightmap.js.map +1 -1
  228. package/lib/engine-components/RigidBody.js.map +1 -1
  229. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  230. package/lib/engine-components/ScreenCapture.js.map +1 -1
  231. package/lib/engine-components/SeeThrough.js.map +1 -1
  232. package/lib/engine-components/ShadowCatcher.js.map +1 -1
  233. package/lib/engine-components/Skybox.js.map +1 -1
  234. package/lib/engine-components/SmoothFollow.js.map +1 -1
  235. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  236. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  237. package/lib/engine-components/SpriteRenderer.js.map +1 -1
  238. package/lib/engine-components/SyncedCamera.js.map +1 -1
  239. package/lib/engine-components/SyncedRoom.js +1 -1
  240. package/lib/engine-components/SyncedRoom.js.map +1 -1
  241. package/lib/engine-components/SyncedTransform.js.map +1 -1
  242. package/lib/engine-components/TestRunner.js.map +1 -1
  243. package/lib/engine-components/TransformGizmo.js.map +1 -1
  244. package/lib/engine-components/VideoPlayer.js.map +1 -1
  245. package/lib/engine-components/Voip.js.map +1 -1
  246. package/lib/engine-components/avatar/AvatarBlink_Simple.js.map +1 -1
  247. package/lib/engine-components/avatar/AvatarEyeLook_Rotation.js.map +1 -1
  248. package/lib/engine-components/avatar/Avatar_Brain_LookAt.js.map +1 -1
  249. package/lib/engine-components/avatar/Avatar_MouthShapes.js.map +1 -1
  250. package/lib/engine-components/avatar/Avatar_MustacheShake.js.map +1 -1
  251. package/lib/engine-components/debug/LogStats.js.map +1 -1
  252. package/lib/engine-components/export/gltf/GltfExport.js +1 -1
  253. package/lib/engine-components/export/gltf/GltfExport.js.map +1 -1
  254. package/lib/engine-components/export/usdz/ThreeUSDZExporter.d.ts +1 -1
  255. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +23 -23
  256. package/lib/engine-components/export/usdz/ThreeUSDZExporter.js.map +1 -1
  257. package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
  258. package/lib/engine-components/export/usdz/extensions/Animation.d.ts +2 -2
  259. package/lib/engine-components/export/usdz/extensions/Animation.js.map +1 -1
  260. package/lib/engine-components/export/usdz/extensions/NodeMaterialConverter.js.map +1 -1
  261. package/lib/engine-components/export/usdz/extensions/USDZText.js.map +1 -1
  262. package/lib/engine-components/export/usdz/extensions/USDZUI.js.map +1 -1
  263. package/lib/engine-components/export/usdz/extensions/behavior/Actions.js.map +1 -1
  264. package/lib/engine-components/export/usdz/extensions/behavior/AudioExtension.js.map +1 -1
  265. package/lib/engine-components/export/usdz/extensions/behavior/Behaviour.js.map +1 -1
  266. package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
  267. package/lib/engine-components/export/usdz/extensions/behavior/BehavioursBuilder.js.map +1 -1
  268. package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js.map +1 -1
  269. package/lib/engine-components/export/usdz/utils/animationutils.js.map +1 -1
  270. package/lib/engine-components/export/usdz/utils/quicklook.js.map +1 -1
  271. package/lib/engine-components/particlesystem/ParticleSystem.js.map +1 -1
  272. package/lib/engine-components/particlesystem/ParticleSystemModules.js.map +1 -1
  273. package/lib/engine-components/particlesystem/ParticleSystemSubEmitter.js.map +1 -1
  274. package/lib/engine-components/postprocessing/Effects/Antialiasing.js.map +1 -1
  275. package/lib/engine-components/postprocessing/Effects/BloomEffect.js +2 -2
  276. package/lib/engine-components/postprocessing/Effects/BloomEffect.js.map +1 -1
  277. package/lib/engine-components/postprocessing/Effects/ChromaticAberration.js.map +1 -1
  278. package/lib/engine-components/postprocessing/Effects/ColorAdjustments.js.map +1 -1
  279. package/lib/engine-components/postprocessing/Effects/DepthOfField.js.map +1 -1
  280. package/lib/engine-components/postprocessing/Effects/Pixelation.js.map +1 -1
  281. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js +2 -2
  282. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusion.js.map +1 -1
  283. package/lib/engine-components/postprocessing/Effects/ScreenspaceAmbientOcclusionN8.js.map +1 -1
  284. package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
  285. package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +3 -3
  286. package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.js.map +1 -1
  287. package/lib/engine-components/postprocessing/PostProcessingEffect.js.map +1 -1
  288. package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
  289. package/lib/engine-components/postprocessing/Volume.js.map +1 -1
  290. package/lib/engine-components/postprocessing/VolumeParameter.js.map +1 -1
  291. package/lib/engine-components/postprocessing/VolumeProfile.js.map +1 -1
  292. package/lib/engine-components/postprocessing/utils.js.map +1 -1
  293. package/lib/engine-components/splines/Spline.js.map +1 -1
  294. package/lib/engine-components/splines/SplineWalker.js.map +1 -1
  295. package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
  296. package/lib/engine-components/timeline/SignalAsset.js.map +1 -1
  297. package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
  298. package/lib/engine-components/ui/BaseUIComponent.js.map +1 -1
  299. package/lib/engine-components/ui/Button.js.map +1 -1
  300. package/lib/engine-components/ui/Canvas.js.map +1 -1
  301. package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
  302. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  303. package/lib/engine-components/ui/Graphic.js.map +1 -1
  304. package/lib/engine-components/ui/Image.js.map +1 -1
  305. package/lib/engine-components/ui/InputField.js.map +1 -1
  306. package/lib/engine-components/ui/Layout.js.map +1 -1
  307. package/lib/engine-components/ui/PointerEvents.d.ts +0 -1
  308. package/lib/engine-components/ui/PointerEvents.js.map +1 -1
  309. package/lib/engine-components/ui/RaycastUtils.js.map +1 -1
  310. package/lib/engine-components/ui/Raycaster.js.map +1 -1
  311. package/lib/engine-components/ui/RectTransform.js +2 -2
  312. package/lib/engine-components/ui/RectTransform.js.map +1 -1
  313. package/lib/engine-components/ui/SpatialHtml.js.map +1 -1
  314. package/lib/engine-components/ui/Text.js.map +1 -1
  315. package/lib/engine-components/ui/Utils.js.map +1 -1
  316. package/lib/engine-components/utils/EnvironmentScene.js.map +1 -1
  317. package/lib/engine-components/utils/LookAt.js.map +1 -1
  318. package/lib/engine-components/utils/OpenURL.js.map +1 -1
  319. package/lib/engine-components/web/Clickthrough.js.map +1 -1
  320. package/lib/engine-components/web/CursorFollow.js.map +1 -1
  321. package/lib/engine-components/web/HoverAnimation.js.map +1 -1
  322. package/lib/engine-components/web/ScrollFollow.js.map +1 -1
  323. package/lib/engine-components/web/ViewBox.js +2 -1
  324. package/lib/engine-components/web/ViewBox.js.map +1 -1
  325. package/lib/engine-components/webxr/Avatar.js.map +1 -1
  326. package/lib/engine-components/webxr/WebARCameraBackground.d.ts +0 -1
  327. package/lib/engine-components/webxr/WebARCameraBackground.js.map +1 -1
  328. package/lib/engine-components/webxr/WebARSessionRoot.d.ts +0 -1
  329. package/lib/engine-components/webxr/WebARSessionRoot.js.map +1 -1
  330. package/lib/engine-components/webxr/WebXR.d.ts +0 -1
  331. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  332. package/lib/engine-components/webxr/WebXRImageTracking.d.ts +0 -1
  333. package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
  334. package/lib/engine-components/webxr/WebXRPlaneTracking.d.ts +2 -3
  335. package/lib/engine-components/webxr/WebXRPlaneTracking.js.map +1 -1
  336. package/lib/engine-components/webxr/WebXRRig.d.ts +0 -1
  337. package/lib/engine-components/webxr/WebXRRig.js.map +1 -1
  338. package/lib/engine-components/webxr/XRFlag.js.map +1 -1
  339. package/lib/engine-components/webxr/controllers/XRControllerFollow.d.ts +0 -1
  340. package/lib/engine-components/webxr/controllers/XRControllerFollow.js.map +1 -1
  341. package/lib/engine-components/webxr/controllers/XRControllerModel.d.ts +0 -1
  342. package/lib/engine-components/webxr/controllers/XRControllerModel.js.map +1 -1
  343. package/lib/engine-components/webxr/controllers/XRControllerMovement.js.map +1 -1
  344. package/lib/engine-components-experimental/Presentation.js.map +1 -1
  345. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  346. package/lib/engine-schemes/schemes.js.map +1 -1
  347. package/lib/needle-engine.js.map +1 -1
  348. package/package.json +6 -3
  349. package/plugins/common/buildinfo.js +1 -1
  350. package/plugins/common/license.js +5 -6
  351. package/plugins/common/logger.js +104 -14
  352. package/plugins/types/userconfig.d.ts +2 -0
  353. package/plugins/vite/ai.js +4 -18
  354. package/plugins/vite/alias.js +0 -13
  355. package/plugins/vite/asap.js +1 -1
  356. package/plugins/vite/build-pipeline.js +2 -5
  357. package/plugins/vite/buildinfo.js +9 -9
  358. package/plugins/vite/copyfiles.js +19 -16
  359. package/plugins/vite/custom-element-data.js +4 -4
  360. package/plugins/vite/dependencies.js +45 -18
  361. package/plugins/vite/dependency-watcher.js +10 -8
  362. package/plugins/vite/imports-logger.js +14 -12
  363. package/plugins/vite/local-files-analysis.js +10 -12
  364. package/plugins/vite/local-files-core.js +8 -8
  365. package/plugins/vite/local-files-types.d.ts +49 -11
  366. package/plugins/vite/local-files-utils.js +14 -10
  367. package/plugins/vite/logger.client.js +4 -4
  368. package/plugins/vite/logger.js +7 -7
  369. package/plugins/vite/logging.js +26 -3
  370. package/plugins/vite/pwa.js +6 -5
  371. package/plugins/vite/reload.js +27 -24
  372. package/src/asap/needle-asap.ts +1 -1
  373. package/src/engine/debug/debug.ts +8 -7
  374. package/src/engine/debug/debug_overlay.ts +66 -12
  375. package/src/engine/debug/debug_spector.ts +1 -1
  376. package/src/engine/engine_addressables.ts +11 -3
  377. package/src/engine/engine_application.ts +0 -7
  378. package/src/engine/engine_context.ts +1 -1
  379. package/src/engine/engine_gltf_builtin_components.ts +1 -1
  380. package/src/engine/engine_loaders.ts +7 -4
  381. package/src/engine/engine_networking_streams.ts +1 -0
  382. package/src/engine/engine_util_decorator.ts +2 -2
  383. package/src/engine/webcomponents/logo-element.ts +3 -20
  384. package/src/engine/webcomponents/needle menu/needle-menu.ts +11 -25
  385. package/src/engine/webcomponents/needle-engine.ts +1 -13
  386. package/src/engine-components/DragControls.ts +14 -0
  387. package/src/engine-components/Duplicatable.ts +9 -1
  388. package/src/engine-components/Renderer.ts +2 -1
  389. package/src/engine-components/SyncedRoom.ts +1 -1
  390. package/src/engine-components/export/usdz/USDZExporter.ts +1 -1
  391. /package/dist/{three-Bvk2VKbF.js → three.js} +0 -0
  392. /package/dist/{three-IG2qPafA.min.js → three.min.js} +0 -0
@@ -3867,4 +3867,4 @@ ${e.tab}if ( ${u} ) {
3867
3867
  `}}class Ib{constructor(){this.time=0,this.deltaTime=0,this.frameId=0,this.renderId=0,this.startTime=null,this.updateMap=new WeakMap,this.updateBeforeMap=new WeakMap,this.updateAfterMap=new WeakMap,this.renderer=null,this.material=null,this.camera=null,this.object=null,this.scene=null}_getMaps(e,t){let n=e.get(t);return n===void 0&&(n={renderMap:new WeakMap,frameMap:new WeakMap},e.set(t,n)),n}updateBeforeNode(e){const t=e.getUpdateBeforeType(),n=e.updateReference(this);if(t===We.FRAME){const{frameMap:i}=this._getMaps(this.updateBeforeMap,n);i.get(n)!==this.frameId&&e.updateBefore(this)!==!1&&i.set(n,this.frameId)}else if(t===We.RENDER){const{renderMap:i}=this._getMaps(this.updateBeforeMap,n);i.get(n)!==this.renderId&&e.updateBefore(this)!==!1&&i.set(n,this.renderId)}else t===We.OBJECT&&e.updateBefore(this)}updateAfterNode(e){const t=e.getUpdateAfterType(),n=e.updateReference(this);if(t===We.FRAME){const{frameMap:i}=this._getMaps(this.updateAfterMap,n);i.get(n)!==this.frameId&&e.updateAfter(this)!==!1&&i.set(n,this.frameId)}else if(t===We.RENDER){const{renderMap:i}=this._getMaps(this.updateAfterMap,n);i.get(n)!==this.renderId&&e.updateAfter(this)!==!1&&i.set(n,this.renderId)}else t===We.OBJECT&&e.updateAfter(this)}updateNode(e){const t=e.getUpdateType(),n=e.updateReference(this);if(t===We.FRAME){const{frameMap:i}=this._getMaps(this.updateMap,n);i.get(n)!==this.frameId&&e.update(this)!==!1&&i.set(n,this.frameId)}else if(t===We.RENDER){const{renderMap:i}=this._getMaps(this.updateMap,n);i.get(n)!==this.renderId&&e.update(this)!==!1&&i.set(n,this.renderId)}else t===We.OBJECT&&e.update(this)}update(){this.frameId++,this.lastTime===void 0&&(this.lastTime=performance.now()),this.deltaTime=(performance.now()-this.lastTime)/1e3,this.lastTime=performance.now(),this.time+=this.deltaTime}}class t0{constructor(e,t,n=null,i="",r=!1){this.type=e,this.name=t,this.count=n,this.qualifier=i,this.isConst=r}}t0.isNodeFunctionInput=!0;class D3 extends Ye{static get type(){return"StructTypeNode"}constructor(e){super(),this.types=e,this.isStructTypeNode=!0}getMemberTypes(){return this.types}}class n0 extends Ye{static get type(){return"OutputStructNode"}constructor(...e){super(),this.members=e,this.isOutputStructNode=!0}setup(e){super.setup(e);const t=this.members,n=[];for(let i=0;i<t.length;i++)n.push(t[i].getNodeType(e));this.nodeType=e.getStructTypeFromNode(new D3(n)).name}generate(e,t){const n=e.getOutputStructName(),i=this.members,r=n!==""?n+".":"";for(let o=0;o<i.length;o++){const a=i[o].build(e,t);e.addLineFlowCode(`${r}m${o} = ${a}`,this)}return n}}const U3=K(n0);function i0(s,e){for(let t=0;t<s.length;t++)if(s[t].name===e)return t;return-1}class Pb extends n0{static get type(){return"MRTNode"}constructor(e){super(),this.outputNodes=e,this.isMRTNode=!0}has(e){return this.outputNodes[e]!==void 0}get(e){return this.outputNodes[e]}merge(e){const t={...this.outputNodes,...e.outputNodes};return kd(t)}setup(e){const t=this.outputNodes,n=e.renderer.getRenderTarget(),i=[],r=n.textures;for(const o in t){const a=i0(r,o);i[a]=oe(t[o])}return this.members=i,super.setup(e)}}const kd=K(Pb);class Lb extends Ye{static get type(){return"FunctionOverloadingNode"}constructor(e=[],...t){super(),this.functionNodes=e,this.parametersNodes=t,this._candidateFnCall=null,this.global=!0}getNodeType(){return this.functionNodes[0].shaderNode.layout.type}setup(e){const t=this.parametersNodes;let n=this._candidateFnCall;if(n===null){let i=null,r=-1;for(const o of this.functionNodes){const c=o.shaderNode.layout;if(c===null)throw new Error("FunctionOverloadingNode: FunctionNode must be a layout.");const l=c.inputs;if(t.length===l.length){let u=0;for(let h=0;h<t.length;h++){const d=t[h],p=l[h];d.getNodeType(e)===p.type?u++:u=0}u>r&&(i=o,r=u)}}this._candidateFnCall=n=i(...t)}return n}}const F3=K(Lb),On=s=>(...e)=>F3(s,...e);class Sn extends ho{static get type(){return"TimerNode"}constructor(e=Sn.LOCAL,t=1,n=0){super(n),this.scope=e,this.scale=t,this.updateType=We.FRAME}update(e){const t=this.scope,n=this.scale;t===Sn.LOCAL?this.value+=e.deltaTime*n:t===Sn.DELTA?this.value=e.deltaTime*n:t===Sn.FRAME?this.value=e.frameId:this.value=e.time*n}serialize(e){super.serialize(e),e.scope=this.scope,e.scale=this.scale}deserialize(e){super.deserialize(e),this.scope=e.scope,this.scale=e.scale}}Sn.LOCAL="local";Sn.GLOBAL="global";Sn.DELTA="delta";Sn.FRAME="frame";const s0=(s,e=0)=>H(new Sn(Sn.LOCAL,s,e)),O3=(s,e=0)=>H(new Sn(Sn.GLOBAL,s,e)),V3=(s,e=0)=>H(new Sn(Sn.DELTA,s,e)),B3=fe(Sn,Sn.FRAME).toUint();class pn extends Ye{static get type(){return"OscNode"}constructor(e=pn.SINE,t=s0()){super(),this.method=e,this.timeNode=t}getNodeType(e){return this.timeNode.getNodeType(e)}setup(){const e=this.method,t=H(this.timeNode);let n=null;return e===pn.SINE?n=t.add(.75).mul(Math.PI*2).sin().mul(.5).add(.5):e===pn.SQUARE?n=t.fract().round():e===pn.TRIANGLE?n=t.add(.5).fract().mul(2).sub(1).abs():e===pn.SAWTOOTH&&(n=t.fract()),n}serialize(e){super.serialize(e),e.method=this.method}deserialize(e){super.deserialize(e),this.method=e.method}}pn.SINE="sine";pn.SQUARE="square";pn.TRIANGLE="triangle";pn.SAWTOOTH="sawtooth";const z3=K(pn,pn.SINE),k3=K(pn,pn.SQUARE),G3=K(pn,pn.TRIANGLE),H3=K(pn,pn.SAWTOOTH);class Db extends Ye{static get type(){return"SpriteSheetUVNode"}constructor(e,t=rt(),n=A(0)){super("vec2"),this.countNode=e,this.uvNode=t,this.frameNode=n}setup(){const{frameNode:e,uvNode:t,countNode:n}=this,{width:i,height:r}=n,o=e.mod(i.mul(r)).floor(),a=o.mod(i),c=r.sub(o.add(1).div(i).ceil()),l=n.reciprocal(),u=z(a,c);return t.add(u).mul(l)}}const W3=K(Db);class Ub extends gr{static get type(){return"StorageArrayElementNode"}constructor(e,t){super(e,t),this.isStorageArrayElementNode=!0}set storageBufferNode(e){this.node=e}get storageBufferNode(){return this.node}setup(e){return e.isAvailable("storageBuffer")===!1&&this.node.bufferObject===!0&&e.setupPBO(this.node),super.setup(e)}generate(e,t){let n;const i=e.context.assign;if(e.isAvailable("storageBuffer")===!1?this.node.bufferObject===!0&&i!==!0?n=e.generatePBO(this):n=this.node.build(e):n=super.generate(e),i!==!0){const r=this.getNodeType(e);n=e.format(n,r,t)}return n}}const X3=K(Ub);class Fb extends Ye{static get type(){return"TriplanarTexturesNode"}constructor(e,t=null,n=null,i=A(1),r=en,o=hi){super("vec4"),this.textureXNode=e,this.textureYNode=t,this.textureZNode=n,this.scaleNode=i,this.positionNode=r,this.normalNode=o}setup(){const{textureXNode:e,textureYNode:t,textureZNode:n,scaleNode:i,positionNode:r,normalNode:o}=this;let a=o.abs().normalize();a=a.div(a.dot(D(1)));const c=r.yz.mul(i),l=r.zx.mul(i),u=r.xy.mul(i),h=e.value,d=t!==null?t.value:h,p=n!==null?n.value:h,f=xt(h,c).mul(a.x),x=xt(d,l).mul(a.y),m=xt(p,u).mul(a.z);return Wt(f,x,m)}}const Ob=K(Fb),q3=(...s)=>Ob(...s),Fo=new ls,Lr=new E,Oo=new E,Qp=new E,qa=new Fe,wu=new E(0,0,-1),Cs=new st,$a=new E,Au=new E,Ya=new st,Nu=new J,P_=new fn,$3=yr.flipX();let ef=!1;class Vb extends _s{static get type(){return"ReflectorNode"}constructor(e={}){super(P_.texture,$3);const{target:t=new yt,resolution:n=1,generateMipmaps:i=!1,bounces:r=!0}=e;this.target=t,this.resolution=n,this.generateMipmaps=i,this.bounces=r,this.updateBeforeType=r?We.RENDER:We.FRAME,this.virtualCameras=new WeakMap,this.renderTargets=new WeakMap}_updateResolution(e,t){const n=this.resolution;t.getDrawingBufferSize(Nu),e.setSize(Math.round(Nu.width*n),Math.round(Nu.height*n))}setup(e){return this._updateResolution(P_,e.renderer),super.setup(e)}getTextureNode(){return this.textureNode}getVirtualCamera(e){let t=this.virtualCameras.get(e);return t===void 0&&(t=e.clone(),this.virtualCameras.set(e,t)),t}getRenderTarget(e){let t=this.renderTargets.get(e);return t===void 0&&(t=new fn(0,0,{type:Ln}),this.generateMipmaps===!0&&(t.texture.minFilter=Hf,t.texture.generateMipmaps=!0),this.renderTargets.set(e,t)),t}updateBefore(e){if(this.bounces===!1&&ef)return!1;ef=!0;const{scene:t,camera:n,renderer:i,material:r}=e,{target:o}=this,a=this.getVirtualCamera(n),c=this.getRenderTarget(a);if(i.getDrawingBufferSize(Nu),this._updateResolution(c,i),Oo.setFromMatrixPosition(o.matrixWorld),Qp.setFromMatrixPosition(n.matrixWorld),qa.extractRotation(o.matrixWorld),Lr.set(0,0,1),Lr.applyMatrix4(qa),$a.subVectors(Oo,Qp),$a.dot(Lr)>0)return;$a.reflect(Lr).negate(),$a.add(Oo),qa.extractRotation(n.matrixWorld),wu.set(0,0,-1),wu.applyMatrix4(qa),wu.add(Qp),Au.subVectors(Oo,wu),Au.reflect(Lr).negate(),Au.add(Oo),a.coordinateSystem=n.coordinateSystem,a.position.copy($a),a.up.set(0,1,0),a.up.applyMatrix4(qa),a.up.reflect(Lr),a.lookAt(Au),a.near=n.near,a.far=n.far,a.updateMatrixWorld(),a.projectionMatrix.copy(n.projectionMatrix),Fo.setFromNormalAndCoplanarPoint(Lr,Oo),Fo.applyMatrix4(a.matrixWorldInverse),Cs.set(Fo.normal.x,Fo.normal.y,Fo.normal.z,Fo.constant);const l=a.projectionMatrix;Ya.x=(Math.sign(Cs.x)+l.elements[8])/l.elements[0],Ya.y=(Math.sign(Cs.y)+l.elements[9])/l.elements[5],Ya.z=-1,Ya.w=(1+l.elements[10])/l.elements[14],Cs.multiplyScalar(1/Cs.dot(Ya));const u=0;l.elements[2]=Cs.x,l.elements[6]=Cs.y,l.elements[10]=Cs.z-u,l.elements[14]=Cs.w,this.value=c.texture,r.visible=!1;const h=i.getRenderTarget(),d=i.getMRT();i.setMRT(null),i.setRenderTarget(c),i.render(t,a),i.setMRT(d),i.setRenderTarget(h),r.visible=!0,ef=!1}}const Y3=s=>H(new Vb(s)),tf=new ao(-1,1,1,-1,0,1);class Z3 extends at{constructor(e=!1){super();const t=e===!1?[0,-1,0,1,2,1]:[0,2,0,0,2,0];this.setAttribute("position",new Ve([-1,3,0,-1,-1,0,3,-1,0],3)),this.setAttribute("uv",new Ve(t,2))}}const J3=new Z3;class Ms extends kt{constructor(e=null){super(J3,e),this.camera=tf,this.isQuadMesh=!0}renderAsync(e){return e.renderAsync(this,tf)}render(e){e.render(this,tf)}}const K3=new J;class Bb extends _s{static get type(){return"RTTNode"}constructor(e,t=null,n=null,i={type:Ln}){const r=new fn(t,n,i);super(r.texture,rt()),this.node=e,this.width=t,this.height=n,this.renderTarget=r,this.textureNeedsUpdate=!0,this.autoUpdate=!0,this.updateMap=new WeakMap,this._rttNode=null,this._quadMesh=new Ms(new Tt),this.updateBeforeType=We.RENDER}get autoSize(){return this.width===null}setup(e){return this._rttNode=this.node.context(e.getSharedContext()),this._quadMesh.material.name="RTT",this._quadMesh.material.needsUpdate=!0,super.setup(e)}setSize(e,t){this.width=e,this.height=t;const n=e*this.pixelRatio,i=t*this.pixelRatio;this.renderTarget.setSize(n,i),this.textureNeedsUpdate=!0}setPixelRatio(e){this.pixelRatio=e,this.setSize(this.width,this.height)}updateBefore({renderer:e}){if(this.textureNeedsUpdate===!1&&this.autoUpdate===!1)return;if(this.textureNeedsUpdate=!1,this.autoSize===!0){this.pixelRatio=e.getPixelRatio();const n=e.getSize(K3);this.setSize(n.width,n.height)}this._quadMesh.material.fragmentNode=this._rttNode;const t=e.getRenderTarget();e.setRenderTarget(this.renderTarget),this._quadMesh.render(e),e.setRenderTarget(t)}clone(){const e=new _s(this.value,this.uvNode,this.levelNode);return e.sampler=this.sampler,e.referenceNode=this,e}}const zb=(s,...e)=>H(new Bb(H(s),...e)),ei=(s,...e)=>s.isTextureNode?s:zb(s,...e);class kb extends Rg{static get type(){return"VertexColorNode"}constructor(e=0){super(null,"vec4"),this.isVertexColorNode=!0,this.index=e}getAttributeName(){const e=this.index;return"color"+(e>0?e:"")}generate(e){const t=this.getAttributeName(e),n=e.hasGeometryAttribute(t);let i;return n===!0?i=super.generate(e):i=e.generateConst(this.nodeType,new st(1,1,1,1)),i}serialize(e){super.serialize(e),e.index=this.index}deserialize(e){super.deserialize(e),this.index=e.index}}const j3=(...s)=>H(new kb(...s));class Gb extends Ye{static get type(){return"PointUVNode"}constructor(){super("vec2"),this.isPointUVNode=!0}generate(){return"vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y )"}}const Q3=fe(Gb);class Qi extends Ye{static get type(){return"SceneNode"}constructor(e=Qi.BACKGROUND_BLURRINESS,t=null){super(),this.scope=e,this.scene=t}setup(e){const t=this.scope,n=this.scene!==null?this.scene:e.scene;let i;return t===Qi.BACKGROUND_BLURRINESS?i=dn("backgroundBlurriness","float",n):t===Qi.BACKGROUND_INTENSITY?i=dn("backgroundIntensity","float",n):console.error("THREE.SceneNode: Unknown scope:",t),i}}Qi.BACKGROUND_BLURRINESS="backgroundBlurriness";Qi.BACKGROUND_INTENSITY="backgroundIntensity";const eD=fe(Qi,Qi.BACKGROUND_BLURRINESS),tD=fe(Qi,Qi.BACKGROUND_INTENSITY),L_={Storage:"storage",ReadOnlyStorage:"read-only-storage"},nf={WriteOnly:"write-only",ReadOnly:"read-only"};class r0 extends Ld{static get type(){return"StorageBufferNode"}constructor(e,t,n=0){super(e,t,n),this.isStorageBufferNode=!0,this.access=L_.Storage,this.isAtomic=!1,this.bufferObject=!1,this.bufferCount=n,this._attribute=null,this._varying=null,this.global=!0,e.isStorageBufferAttribute!==!0&&e.isStorageInstancedBufferAttribute!==!0&&(e.isInstancedBufferAttribute?e.isStorageInstancedBufferAttribute=!0:e.isStorageBufferAttribute=!0)}getHash(e){if(this.bufferCount===0){let t=e.globalCache.getData(this.value);return t===void 0&&(t={node:this},e.globalCache.setData(this.value,t)),t.node.uuid}return this.uuid}getInputType(){return"storageBuffer"}element(e){return X3(this,e)}setBufferObject(e){return this.bufferObject=e,this}setAccess(e){return this.access=e,this}toReadOnly(){return this.setAccess(L_.ReadOnlyStorage)}setAtomic(e){return this.isAtomic=e,this}toAtomic(){return this.setAtomic(!0)}generate(e){if(e.isAvailable("storageBuffer"))return super.generate(e);const t=this.getNodeType(e);this._attribute===null&&(this._attribute=pl(this.value),this._varying=Un(this._attribute));const n=this._varying.build(e,t);return e.registerTransform(n,this._attribute),n}}const nD=(s,e,t)=>H(new r0(s,e,t)),iD=(s,e,t)=>H(new r0(s,e,t).setBufferObject(!0));class Hb extends _s{static get type(){return"StorageTextureNode"}constructor(e,t,n=null){super(e,t),this.storeNode=n,this.isStorageTextureNode=!0,this.access=nf.WriteOnly}getInputType(){return"storageTexture"}setup(e){super.setup(e);const t=e.getNodeProperties(this);t.storeNode=this.storeNode}setAccess(e){return this.access=e,this}generate(e,t){let n;return this.storeNode!==null?n=this.generateStore(e):n=super.generate(e,t),n}toReadOnly(){return this.setAccess(nf.ReadOnly)}toWriteOnly(){return this.setAccess(nf.WriteOnly)}generateStore(e){const t=e.getNodeProperties(this),{uvNode:n,storeNode:i}=t,r=super.generate(e,"property"),o=n.build(e,"uvec2"),a=i.build(e,"vec4"),c=e.generateTextureStore(e,r,o,a);e.addLineFlowCode(c,this)}}const Wb=K(Hb),sD=(s,e,t)=>{const n=Wb(s,e,t);return t!==null&&n.append(),n};class Xb extends gl{static get type(){return"UserDataNode"}constructor(e,t,n=null){super(e,t,n),this.userData=n}updateReference(e){return this.reference=this.userData!==null?this.userData:e.object.userData,this.reference}}const rD=(s,e,t)=>H(new Xb(s,e,t));class qb extends pt{static get type(){return"PosterizeNode"}constructor(e,t){super(),this.sourceNode=e,this.stepsNode=t}setup(){const{sourceNode:e,stepsNode:t}=this;return e.mul(t).floor().div(t)}}const oD=K(qb);let sf=null;class $b extends Ml{static get type(){return"ViewportSharedTextureNode"}constructor(e=yr,t=null){sf===null&&(sf=new _m),super(e,t,sf)}updateReference(){return this}}const aD=K($b),cD=new J;class Yb extends _s{static get type(){return"PassTextureNode"}constructor(e,t){super(t),this.passNode=e,this.setUpdateMatrix(!1)}setup(e){return e.object.isQuadMesh&&this.passNode.build(e),super.setup(e)}clone(){return new this.constructor(this.passNode,this.value)}}class D_ extends Yb{static get type(){return"PassMultipleTextureNode"}constructor(e,t,n=!1){super(e,null),this.textureName=t,this.previousTexture=n}updateTexture(){this.value=this.previousTexture?this.passNode.getPreviousTexture(this.textureName):this.passNode.getTexture(this.textureName)}setup(e){return this.updateTexture(),super.setup(e)}clone(){return new this.constructor(this.passNode,this.textureName,this.previousTexture)}}class bn extends pt{static get type(){return"PassNode"}constructor(e,t,n,i={}){super("vec4"),this.scope=e,this.scene=t,this.camera=n,this.options=i,this._pixelRatio=1,this._width=1,this._height=1;const r=new co;r.isRenderTargetTexture=!0,r.name="depth";const o=new fn(this._width*this._pixelRatio,this._height*this._pixelRatio,{type:Ln,...i});o.texture.name="output",o.depthTexture=r,this.renderTarget=o,this.updateBeforeType=We.FRAME,this._textures={output:o.texture,depth:r},this._textureNodes={},this._linearDepthNodes={},this._viewZNodes={},this._previousTextures={},this._previousTextureNodes={},this._cameraNear=pe(0),this._cameraFar=pe(0),this._mrt=null,this.isPassNode=!0}setMRT(e){return this._mrt=e,this}getMRT(){return this._mrt}isGlobal(){return!0}getTexture(e){let t=this._textures[e];return t===void 0&&(t=this.renderTarget.texture.clone(),t.isRenderTargetTexture=!0,t.name=e,this._textures[e]=t,this.renderTarget.textures.push(t)),t}getPreviousTexture(e){let t=this._previousTextures[e];return t===void 0&&(t=this.getTexture(e).clone(),t.isRenderTargetTexture=!0,this._previousTextures[e]=t),t}toggleTexture(e){const t=this._previousTextures[e];if(t!==void 0){const n=this._textures[e],i=this.renderTarget.textures.indexOf(n);this.renderTarget.textures[i]=t,this._textures[e]=t,this._previousTextures[e]=n,this._textureNodes[e].updateTexture(),this._previousTextureNodes[e].updateTexture()}}getTextureNode(e="output"){let t=this._textureNodes[e];return t===void 0&&(this._textureNodes[e]=t=H(new D_(this,e)),this._textureNodes[e].updateTexture()),t}getPreviousTextureNode(e="output"){let t=this._previousTextureNodes[e];return t===void 0&&(this._textureNodes[e]===void 0&&this.getTextureNode(e),this._previousTextureNodes[e]=t=H(new D_(this,e,!0)),this._previousTextureNodes[e].updateTexture()),t}getViewZNode(e="depth"){let t=this._viewZNodes[e];if(t===void 0){const n=this._cameraNear,i=this._cameraFar;this._viewZNodes[e]=t=Gg(this.getTextureNode(e),n,i)}return t}getLinearDepthNode(e="depth"){let t=this._linearDepthNodes[e];if(t===void 0){const n=this._cameraNear,i=this._cameraFar,r=this.getViewZNode(e);this._linearDepthNodes[e]=t=oc(r,n,i)}return t}setup({renderer:e}){return this.renderTarget.samples=this.options.samples===void 0?e.samples:this.options.samples,e.backend.isWebGLBackend===!0&&(this.renderTarget.samples=0),this.renderTarget.depthTexture.isMultisampleRenderTargetTexture=this.renderTarget.samples>1,this.scope===bn.COLOR?this.getTextureNode():this.getLinearDepthNode()}updateBefore(e){const{renderer:t}=e,{scene:n,camera:i}=this;this._pixelRatio=t.getPixelRatio();const r=t.getSize(cD);this.setSize(r.width,r.height);const o=t.getRenderTarget(),a=t.getMRT();this._cameraNear.value=i.near,this._cameraFar.value=i.far;for(const c in this._previousTextures)this.toggleTexture(c);t.setRenderTarget(this.renderTarget),t.setMRT(this._mrt),t.render(n,i),t.setRenderTarget(o),t.setMRT(a)}setSize(e,t){this._width=e,this._height=t;const n=this._width*this._pixelRatio,i=this._height*this._pixelRatio;this.renderTarget.setSize(n,i)}setPixelRatio(e){this._pixelRatio=e,this.setSize(this._width,this._height)}dispose(){this.renderTarget.dispose()}}bn.COLOR="color";bn.DEPTH="depth";const lD=(s,e,t)=>H(new bn(bn.COLOR,s,e,t)),Ea=(s,e)=>H(new Yb(s,e)),uD=(s,e)=>H(new bn(bn.DEPTH,s,e)),U_=new Ms,F_=new Ms;class Zb extends pt{static get type(){return"GaussianBlurNode"}constructor(e,t=null,n=2){super("vec4"),this.textureNode=e,this.directionNode=t,this.sigma=n,this._invSize=pe(new J),this._passDirection=pe(new J),this._horizontalRT=new fn,this._horizontalRT.texture.name="GaussianBlurNode.horizontal",this._verticalRT=new fn,this._verticalRT.texture.name="GaussianBlurNode.vertical",this._textureNode=Ea(this,this._verticalRT.texture),this.updateBeforeType=We.RENDER,this.resolution=new J(1,1)}setSize(e,t){e=Math.max(Math.round(e*this.resolution.x),1),t=Math.max(Math.round(t*this.resolution.y),1),this._invSize.value.set(1/e,1/t),this._horizontalRT.setSize(e,t),this._verticalRT.setSize(e,t)}updateBefore(e){const{renderer:t}=e,n=this.textureNode,i=n.value,r=t.getRenderTarget(),o=t.getMRT(),a=n.value;U_.material=this._material,F_.material=this._material,this.setSize(i.image.width,i.image.height);const c=i.type;this._horizontalRT.texture.type=c,this._verticalRT.texture.type=c,t.setMRT(null),t.setRenderTarget(this._horizontalRT),this._passDirection.value.set(1,0),U_.render(t),n.value=this._horizontalRT.texture,t.setRenderTarget(this._verticalRT),this._passDirection.value.set(0,1),F_.render(t),t.setRenderTarget(r),t.setMRT(o),n.value=a}getTextureNode(){return this._textureNode}setup(e){const t=this.textureNode;if(t.isTextureNode!==!0)return console.error("GaussianBlurNode requires a TextureNode."),oe();const n=t.uvNode||rt(),i=z(this.directionNode||1),r=l=>t.uv(l),o=U(()=>{const l=3+2*this.sigma,u=this._getCoefficients(l),h=this._invSize,d=i.mul(this._passDirection),p=A(u[0]).toVar(),f=oe(r(n).mul(p)).toVar();for(let x=1;x<l;x++){const m=A(x),g=A(u[x]),y=z(d.mul(h.mul(m))).toVar(),_=oe(r(n.add(y))),v=oe(r(n.sub(y)));f.addAssign(_.add(v).mul(g)),p.addAssign(ot(2,g))}return f.div(p)}),a=this._material||(this._material=new Tt);a.fragmentNode=o().context(e.getSharedContext()),a.name="Gaussian_blur",a.needsUpdate=!0;const c=e.getNodeProperties(this);return c.textureNode=t,this._textureNode}dispose(){this._horizontalRT.dispose(),this._verticalRT.dispose()}_getCoefficients(e){const t=[];for(let n=0;n<e;n++)t.push(.39894*Math.exp(-.5*n*n/(e*e))/e);return t}}const hD=(s,e,t)=>H(new Zb(ei(s),e,t)),rf=new J,O_=new Ms;class Jb extends pt{static get type(){return"AfterImageNode"}constructor(e,t=.96){super(e),this.textureNode=e,this.textureNodeOld=xt(),this.damp=pe(t),this._compRT=new fn,this._compRT.texture.name="AfterImageNode.comp",this._oldRT=new fn,this._oldRT.texture.name="AfterImageNode.old",this._textureNode=Ea(this,this._compRT.texture),this.updateBeforeType=We.RENDER}getTextureNode(){return this._textureNode}setSize(e,t){this._compRT.setSize(e,t),this._oldRT.setSize(e,t)}updateBefore(e){const{renderer:t}=e,n=this.textureNode,r=n.value.type;this._compRT.texture.type=r,this._oldRT.texture.type=r,t.getDrawingBufferSize(rf),this.setSize(rf.x,rf.y);const o=t.getRenderTarget(),a=n.value;this.textureNodeOld.value=this._oldRT.texture,t.setRenderTarget(this._compRT),O_.render(t);const c=this._oldRT;this._oldRT=this._compRT,this._compRT=c,t.setRenderTarget(o),n.value=a}setup(e){const t=this.textureNode,n=this.textureNodeOld,i=t.uvNode||rt();n.uvNode=i;const r=u=>t.uv(u),o=U(([u,h])=>{const d=A(h).toVar(),p=oe(u).toVar();return ft(ll(p.sub(d)),0)}),a=U(()=>{const u=oe(n),h=oe(r(i));return u.mulAssign(this.damp.mul(o(u,.1))),ft(h,u)}),c=this._materialComposed||(this._materialComposed=new Tt);c.name="AfterImage",c.fragmentNode=a(),O_.material=c;const l=e.getNodeProperties(this);return l.textureNode=t,this._textureNode}dispose(){this._compRT.dispose(),this._oldRT.dispose()}}const dD=(s,e)=>H(new Jb(ei(s),e)),pD=U(([s])=>En(s.rgb)),fD=U(([s,e=A(1)])=>e.mix(En(s.rgb),s.rgb)),mD=U(([s,e=A(1)])=>{const t=Wt(s.r,s.g,s.b).div(3),n=s.r.max(s.g.max(s.b)),i=n.sub(t).mul(e).mul(-3);return it(s.rgb,n,i)}),gD=U(([s,e=A(1)])=>{const t=D(.57735,.57735,.57735),n=e.cos();return D(s.rgb.mul(n).add(t.cross(s.rgb).mul(e.sin()).add(t.mul($t(t,s.rgb).mul(n.oneMinus())))))}),xD=new E,En=(s,e=D(...gt.getLuminanceCoefficients(xD)))=>$t(s,e),Kb=(s,e)=>it(D(0),s,En(s).sub(e).max(0)),V_=new Ms;class jb extends pt{static get type(){return"AnamorphicNode"}constructor(e,t,n,i){super("vec4"),this.textureNode=e,this.tresholdNode=t,this.scaleNode=n,this.colorNode=D(.1,0,1),this.samples=i,this.resolution=new J(1,1),this._renderTarget=new fn,this._renderTarget.texture.name="anamorphic",this._invSize=pe(new J),this._textureNode=Ea(this,this._renderTarget.texture),this.updateBeforeType=We.RENDER}getTextureNode(){return this._textureNode}setSize(e,t){this._invSize.value.set(1/e,1/t),e=Math.max(Math.round(e*this.resolution.x),1),t=Math.max(Math.round(t*this.resolution.y),1),this._renderTarget.setSize(e,t)}updateBefore(e){const{renderer:t}=e,n=this.textureNode,i=n.value;this._renderTarget.texture.type=i.type;const r=t.getRenderTarget(),o=n.value;V_.material=this._material,this.setSize(i.image.width,i.image.height),t.setRenderTarget(this._renderTarget),V_.render(t),t.setRenderTarget(r),n.value=o}setup(e){const t=this.textureNode,n=t.uvNode||rt(),i=c=>t.uv(c),r=U(()=>{const c=this.samples,l=Math.floor(c/2),u=D(0).toVar();return mt({start:-l,end:l},({i:h})=>{const d=A(h).abs().div(l).oneMinus(),p=z(n.x.add(this._invSize.x.mul(h).mul(this.scaleNode)),n.y),f=i(p),x=Kb(f,this.tresholdNode).mul(d);u.addAssign(x)}),u.mul(this.colorNode)}),o=this._material||(this._material=new Tt);o.name="Anamorphic",o.fragmentNode=r();const a=e.getNodeProperties(this);return a.textureNode=t,this._textureNode}dispose(){this._renderTarget.dispose()}}const _D=(s,e=.9,t=3,n=32)=>H(new jb(ei(s),H(e),H(t),n));class Qb extends pt{static get type(){return"SobelOperatorNode"}constructor(e){super(),this.textureNode=e,this.updateBeforeType=We.RENDER,this._invSize=pe(new J)}updateBefore(){const e=this.textureNode.value;this._invSize.value.set(1/e.image.width,1/e.image.height)}setup(){const{textureNode:e}=this,t=e.uvNode||rt(),n=o=>e.uv(o);return U(()=>{const o=this._invSize,a=Tn(-1,-2,-1,0,0,0,1,2,1),c=Tn(-1,0,1,-2,0,2,-1,0,1),l=En(n(t.add(o.mul(z(-1,-1)))).xyz),u=En(n(t.add(o.mul(z(-1,0)))).xyz),h=En(n(t.add(o.mul(z(-1,1)))).xyz),d=En(n(t.add(o.mul(z(0,-1)))).xyz),p=En(n(t.add(o.mul(z(0,0)))).xyz),f=En(n(t.add(o.mul(z(0,1)))).xyz),x=En(n(t.add(o.mul(z(1,-1)))).xyz),m=En(n(t.add(o.mul(z(1,0)))).xyz),g=En(n(t.add(o.mul(z(1,1)))).xyz),y=Wt(a[0][0].mul(l),a[1][0].mul(d),a[2][0].mul(x),a[0][1].mul(u),a[1][1].mul(p),a[2][1].mul(m),a[0][2].mul(h),a[1][2].mul(f),a[2][2].mul(g)),_=Wt(c[0][0].mul(l),c[1][0].mul(d),c[2][0].mul(x),c[0][1].mul(u),c[1][1].mul(p),c[2][1].mul(m),c[0][2].mul(h),c[1][2].mul(f),c[2][2].mul(g)),v=y.mul(y).add(_.mul(_)).sqrt();return oe(D(v),1)})()}}const yD=s=>H(new Qb(ei(s)));class ew extends pt{static get type(){return"DepthOfFieldNode"}constructor(e,t,n,i,r){super(),this.textureNode=e,this.viewZNode=t,this.focusNode=n,this.apertureNode=i,this.maxblurNode=r,this._aspect=pe(0),this.updateBeforeType=We.RENDER}updateBefore(){const e=this.textureNode.value;this._aspect.value=e.image.width/e.image.height}setup(){const e=this.textureNode,t=e.uvNode||rt(),n=o=>e.uv(o);return U(()=>{const o=z(1,this._aspect),a=this.focusNode.add(this.viewZNode),c=z(cn(a.mul(this.apertureNode),this.maxblurNode.negate(),this.maxblurNode)),l=c.mul(.9),u=c.mul(.7),h=c.mul(.4);let d=oe(0);return d=d.add(n(t)),d=d.add(n(t.add(z(0,.4).mul(o).mul(c)))),d=d.add(n(t.add(z(.15,.37).mul(o).mul(c)))),d=d.add(n(t.add(z(.29,.29).mul(o).mul(c)))),d=d.add(n(t.add(z(-.37,.15).mul(o).mul(c)))),d=d.add(n(t.add(z(.4,0).mul(o).mul(c)))),d=d.add(n(t.add(z(.37,-.15).mul(o).mul(c)))),d=d.add(n(t.add(z(.29,-.29).mul(o).mul(c)))),d=d.add(n(t.add(z(-.15,-.37).mul(o).mul(c)))),d=d.add(n(t.add(z(0,-.4).mul(o).mul(c)))),d=d.add(n(t.add(z(-.15,.37).mul(o).mul(c)))),d=d.add(n(t.add(z(-.29,.29).mul(o).mul(c)))),d=d.add(n(t.add(z(.37,.15).mul(o).mul(c)))),d=d.add(n(t.add(z(-.4,0).mul(o).mul(c)))),d=d.add(n(t.add(z(-.37,-.15).mul(o).mul(c)))),d=d.add(n(t.add(z(-.29,-.29).mul(o).mul(c)))),d=d.add(n(t.add(z(.15,-.37).mul(o).mul(c)))),d=d.add(n(t.add(z(.15,.37).mul(o).mul(l)))),d=d.add(n(t.add(z(-.37,.15).mul(o).mul(l)))),d=d.add(n(t.add(z(.37,-.15).mul(o).mul(l)))),d=d.add(n(t.add(z(-.15,-.37).mul(o).mul(l)))),d=d.add(n(t.add(z(-.15,.37).mul(o).mul(l)))),d=d.add(n(t.add(z(.37,.15).mul(o).mul(l)))),d=d.add(n(t.add(z(-.37,-.15).mul(o).mul(l)))),d=d.add(n(t.add(z(.15,-.37).mul(o).mul(l)))),d=d.add(n(t.add(z(.29,.29).mul(o).mul(u)))),d=d.add(n(t.add(z(.4,0).mul(o).mul(u)))),d=d.add(n(t.add(z(.29,-.29).mul(o).mul(u)))),d=d.add(n(t.add(z(0,-.4).mul(o).mul(u)))),d=d.add(n(t.add(z(-.29,.29).mul(o).mul(u)))),d=d.add(n(t.add(z(-.4,0).mul(o).mul(u)))),d=d.add(n(t.add(z(-.29,-.29).mul(o).mul(u)))),d=d.add(n(t.add(z(0,.4).mul(o).mul(u)))),d=d.add(n(t.add(z(.29,.29).mul(o).mul(h)))),d=d.add(n(t.add(z(.4,0).mul(o).mul(h)))),d=d.add(n(t.add(z(.29,-.29).mul(o).mul(h)))),d=d.add(n(t.add(z(0,-.4).mul(o).mul(h)))),d=d.add(n(t.add(z(-.29,.29).mul(o).mul(h)))),d=d.add(n(t.add(z(-.4,0).mul(o).mul(h)))),d=d.add(n(t.add(z(-.29,-.29).mul(o).mul(h)))),d=d.add(n(t.add(z(0,.4).mul(o).mul(h)))),d=d.div(41),d.a=1,oe(d)})()}}const vD=(s,e,t=1,n=.025,i=1)=>H(new ew(ei(s),H(e),H(t),H(n),H(i)));class tw extends pt{static get type(){return"DotScreenNode"}constructor(e,t=new J(.5,.5),n=1.57,i=1){super("vec4"),this.inputNode=e,this.center=pe(t),this.angle=pe(n),this.scale=pe(i)}setup(){const e=this.inputNode,t=U(()=>{const r=Cn(this.angle),o=Mi(this.angle),a=rt().mul(pa).sub(this.center),c=z(o.mul(a.x).sub(r.mul(a.y)),r.mul(a.x).add(o.mul(a.y))).mul(this.scale);return Cn(c.x).mul(Cn(c.y)).mul(4)});return U(()=>{const r=e,o=Wt(r.r,r.g,r.b).div(3);return oe(D(o.mul(10).sub(5).add(t())),r.a)})()}}const MD=(s,e,t,n)=>H(new tw(H(s),e,t,n));class nw extends pt{static get type(){return"RGBShiftNode"}constructor(e,t=.005,n=0){super("vec4"),this.textureNode=e,this.amount=pe(t),this.angle=pe(n)}setup(){const{textureNode:e}=this,t=e.uvNode||rt(),n=r=>e.uv(r);return U(()=>{const r=z(Mi(this.angle),Cn(this.angle)).mul(this.amount),o=n(t.add(r)),a=n(t),c=n(t.sub(r));return oe(o.r,a.g,c.b,a.a)})()}}const SD=(s,e,t)=>H(new nw(ei(s),e,t));class iw extends pt{static get type(){return"FilmNode"}constructor(e,t=null,n=null){super(),this.inputNode=e,this.intensityNode=t,this.uvNode=n}setup(){const e=this.uvNode||rt();return U(()=>{const i=this.inputNode.rgb,r=Tg(_r(e.add(s0())));let o=i.add(i.mul(cn(r.add(.1),0,1)));return this.intensityNode!==null&&(o=it(i,o,this.intensityNode)),oe(o,this.inputNode.a)})()}}const TD=K(iw);class sw extends pt{static get type(){return"Lut3DNode"}constructor(e,t,n,i){super(),this.inputNode=e,this.lutNode=t,this.size=pe(n),this.intensityNode=i}setup(){const{inputNode:e,lutNode:t}=this,n=o=>t.uv(o);return U(()=>{const o=e,a=A(1).div(this.size),c=A(.5).div(this.size),l=D(c).add(o.rgb.mul(A(1).sub(a))),u=oe(n(l).rgb,o.a);return oe(it(o,u,this.intensityNode))})()}}const bD=(s,e,t,n)=>H(new sw(H(s),H(e),t,H(n))),B_=new Ms,z_=new _e,wD=new J;class rw extends pt{static get type(){return"GTAONode"}constructor(e,t,n){super(),this.depthNode=e,this.normalNode=t,this.radius=pe(.25),this.resolution=pe(new J),this.thickness=pe(1),this.distanceExponent=pe(1),this.distanceFallOff=pe(1),this.scale=pe(1),this.noiseNode=xt(AD()),this.cameraProjectionMatrix=pe(n.projectionMatrix),this.cameraProjectionMatrixInverse=pe(n.projectionMatrixInverse),this.SAMPLES=pe(16),this._aoRenderTarget=new fn,this._aoRenderTarget.texture.name="GTAONode.AO",this._material=null,this._textureNode=Ea(this,this._aoRenderTarget.texture),this.updateBeforeType=We.FRAME}getTextureNode(){return this._textureNode}setSize(e,t){this.resolution.value.set(e,t),this._aoRenderTarget.setSize(e,t)}updateBefore(e){const{renderer:t}=e,n=t.getDrawingBufferSize(wD),i=t.getRenderTarget(),r=t.getMRT();t.getClearColor(z_);const o=t.getClearAlpha();B_.material=this._material,this.setSize(n.width,n.height),t.setMRT(null),t.setClearColor(16777215,1),t.setRenderTarget(this._aoRenderTarget),B_.render(t),t.setRenderTarget(i),t.setMRT(r),t.setClearColor(z_,o)}setup(e){const t=rt(),n=l=>this.depthNode.uv(l).x,i=l=>this.noiseNode.uv(l),r=U(([l])=>{const u=this.cameraProjectionMatrix.mul(oe(l,1));let h=u.xy.div(u.w).mul(.5).add(.5).toVar();h=z(h.x,h.y.oneMinus());const d=n(h);return D(h,d)}),o=U(([l,u])=>{l=z(l.x,l.y.oneMinus()).mul(2).sub(1);const h=oe(D(l,u),1),d=oe(this.cameraProjectionMatrixInverse.mul(h));return d.xyz.div(d.w)}),a=U(()=>{const l=n(t);l.greaterThanEqual(1).discard();const u=o(t,l),h=this.normalNode.rgb.normalize(),d=this.radius,p=nr(this.noiseNode,0);let f=z(t.x,t.y.oneMinus());f=f.mul(this.resolution.div(p));const x=i(f),m=x.xyz.mul(2).sub(1),g=D(m.xy,0).normalize(),y=D(g.y.mul(-1),g.x,0),_=Tn(g,y,D(0,0,1)),v=this.SAMPLES.lessThan(30).select(3,5),I=Wt(this.SAMPLES,v.sub(1)).div(v),T=A(0).toVar();return mt({start:L(0),end:v,type:"int",condition:"<"},({i:w})=>{const C=A(w).div(A(v)).mul(no),F=oe(Mi(C),Cn(C),0,Wt(.5,ot(.5,x.w)));F.xyz=vi(_.mul(F.xyz));const M=vi(u.xyz.negate()),b=vi(ea(F.xyz,M)),G=ea(b,M),W=vi(h.sub(b.mul($t(h,b)))),$=ea(W,b),ie=z($t(M,$),$t(M,$.negate())).toVar();mt({end:I,type:"int",name:"j",condition:"<"},({j:Qe})=>{const ht=F.xyz.mul(d).mul(F.w).mul(jn(ns(A(Qe).add(1),A(I)),this.distanceExponent)),ne=r(u.add(ht)),Ae=o(ne.xy,ne.z).sub(u);Oe(Dt(Ae.z).lessThan(this.thickness),()=>{const Je=$t(M,vi(Ae));ie.x.addAssign(ft(0,ot(Je.sub(ie.x),it(1,A(2).div(A(Qe).add(2)),this.distanceFallOff))))});const ge=r(u.sub(ht)),Xe=o(ge.xy,ge.z).sub(u);Oe(Dt(Xe.z).lessThan(this.thickness),()=>{const Je=$t(M,vi(Xe));ie.y.addAssign(ft(0,ot(Je.sub(ie.y),it(1,A(2).div(A(Qe).add(2)),this.distanceFallOff))))})});const q=os(Ft(1,ie.mul(ie))),he=$t(W,G),Q=$t(W,M),we=ot(.5,yh(ie.y).sub(yh(ie.x)).add(q.x.mul(ie.x).sub(q.y.mul(ie.y)))),Ne=ot(.5,Ft(2,ie.x.mul(ie.x)).sub(ie.y.mul(ie.y))),Ee=he.mul(we).add(Q.mul(Ne));T.addAssign(Ee)}),T.assign(cn(T.div(v),0,1)),T.assign(jn(T,this.scale)),oe(D(T),1)}),c=this._material||(this._material=new Tt);return c.fragmentNode=a().context(e.getSharedContext()),c.name="GTAO",c.needsUpdate=!0,this._textureNode}dispose(){this._aoRenderTarget.dispose()}}function AD(s=5){const e=Math.floor(s)%2===0?Math.floor(s)+1:Math.floor(s),t=ND(e),n=t.length,i=new Uint8Array(n*4);for(let o=0;o<n;++o){const a=t[o],c=2*Math.PI*a/n,l=new E(Math.cos(c),Math.sin(c),0).normalize();i[o*4]=(l.x*.5+.5)*255,i[o*4+1]=(l.y*.5+.5)*255,i[o*4+2]=127,i[o*4+3]=255}const r=new Oi(i,e,e);return r.wrapS=or,r.wrapT=or,r.needsUpdate=!0,r}function ND(s){const e=Math.floor(s)%2===0?Math.floor(s)+1:Math.floor(s),t=e*e,n=Array(t).fill(0);let i=Math.floor(e/2),r=e-1;for(let o=1;o<=t;){if(i===-1&&r===e?(r=e-2,i=0):(r===e&&(r=0),i<0&&(i=e-1)),n[i*e+r]!==0){r-=2,i++;continue}else n[i*e+r]=o++;r++,i--}return n}const ED=(s,e,t)=>H(new rw(H(s),H(e),t));class ow extends pt{static get type(){return"DenoiseNode"}constructor(e,t,n,i,r){super(),this.textureNode=e,this.depthNode=t,this.normalNode=n,this.noiseNode=i,this.cameraProjectionMatrixInverse=pe(r.projectionMatrixInverse),this.lumaPhi=pe(5),this.depthPhi=pe(5),this.normalPhi=pe(5),this.radius=pe(5),this.index=pe(0),this._resolution=pe(new J),this._sampleVectors=fs(CD(16,2,1)),this.updateBeforeType=We.RENDER}updateBefore(){const e=this.textureNode.value;this._resolution.value.set(e.image.width,e.image.height)}setup(){const e=rt(),t=h=>this.textureNode.uv(h),n=h=>this.depthNode.uv(h).x,i=h=>this.normalNode.uv(h),r=h=>this.noiseNode.uv(h),o=U(([h,d])=>{h=z(h.x,h.y.oneMinus()).mul(2).sub(1);const p=oe(D(h,d),1),f=oe(this.cameraProjectionMatrixInverse.mul(p));return f.xyz.div(f.w)}),a=U(([h,d,p,f])=>{const x=t(f),m=n(f),g=i(f).rgb.normalize(),y=x.rgb,_=o(f,m),v=$t(d,g).toVar(),I=jn(ft(v,0),this.normalPhi).toVar(),T=Dt(En(y).sub(En(h))).toVar(),w=ft(A(1).sub(T.div(this.lumaPhi)),0).toVar(),C=Dt($t(p.sub(_),d)).toVar(),F=ft(A(1).sub(C.div(this.depthPhi)),0),M=w.mul(F).mul(I);return oe(y.mul(M),M)}),c=U(([h])=>{const d=n(h),p=i(h).rgb.normalize(),f=t(h);Oe(d.greaterThanEqual(1).or($t(p,p).equal(0)),()=>f);const x=D(f.rgb),m=o(h,d),g=nr(this.noiseNode,0);let y=z(h.x,h.y.oneMinus());y=y.mul(this._resolution.div(g));const _=r(y),v=Cn(_.element(this.index.mod(4).mul(2).mul(no))),I=Mi(_.element(this.index.mod(4).mul(2).mul(no))),T=z(v,I),w=al(T.x,T.y.negate(),T.x,T.y),C=A(1).toVar(),F=D(f.rgb).toVar();return mt({start:L(0),end:L(16),type:"int",condition:"<"},({i:M})=>{const b=this._sampleVectors.element(M).toVar(),G=w.mul(b.xy.mul(A(1).add(b.z.mul(this.radius.sub(1))))).div(this._resolution).toVar(),W=h.add(G).toVar(),$=a(x,p,m,W);F.addAssign($.xyz),C.addAssign($.w)}),Oe(C.greaterThan(A(0)),()=>{F.divAssign(C)}),oe(F,f.a)}).setLayout({name:"denoise",type:"vec4",inputs:[{name:"uv",type:"vec2"}]});return U(()=>c(e))()}}function CD(s,e,t){const n=RD(s,e,t),i=[];for(let r=0;r<s;r++){const o=n[r];i.push(o)}return i}function RD(s,e,t){const n=[];for(let i=0;i<s;i++){const r=2*Math.PI*e*i/s,o=Math.pow(i/(s-1),t);n.push(new E(Math.cos(r),Math.sin(r),o))}return n}const ID=(s,e,t,n,i)=>H(new ow(ei(s),H(e),H(t),H(n),i));class aw extends pt{static get type(){return"FXAANode"}constructor(e){super(),this.textureNode=e,this.updateBeforeType=We.RENDER,this._invSize=pe(new J)}updateBefore(){const e=this.textureNode.value;this._invSize.value.set(1/e.image.width,1/e.image.height)}setup(){const e=this.textureNode.bias(-100),t=e.uvNode||rt(),n=u=>e.uv(u),i=(u,h,d)=>e.uv(u.add(h.mul(d))),r=L(5),o=U(([u,h])=>{const d=oe(h).toVar(),p=oe(u).toVar(),f=oe(Dt(p.sub(d))).toVar();return ft(ft(ft(f.r,f.g),f.b),f.a)}),a=U(([u,h,d,p])=>{const f=n(u).toVar(),x=i(u,z(0,-1),h.xy).toVar(),m=i(u,z(1,0),h.xy).toVar(),g=i(u,z(0,1),h.xy).toVar(),y=i(u,z(-1,0),h.xy).toVar(),_=o(f,g).toVar(),v=o(f,x).toVar(),I=o(f,m).toVar(),T=o(f,y).toVar(),w=ft(_,ft(v,ft(I,T))).toVar();Oe(w.lessThan(d),()=>f);const C=Ft(_.add(v),I.add(T)).toVar();C.mulAssign(p),Oe(Dt(C).lessThan(.3),()=>{const ht=I.greaterThan(T).select(1,-1).toVar(),ne=v.greaterThan(_).select(1,-1).toVar(),ue=z(ht,ne).toVar(),Ae=i(u,z(ue.x,ue.y),h.xy),ge=o(f,Ae).toVar(),Ze=i(u,z(ue.x.negate(),ue.y.negate()),h.xy),Xe=o(f,Ze).toVar();C.assign(Xe.sub(ge)),C.mulAssign(p),Oe(Dt(C).lessThan(.3),()=>{const Je=g.add(x).add(m).add(y);return it(f,Je.mul(.25),.4)})});const F=z().toVar();Oe(C.lessThanEqual(0),()=>{g.assign(y),x.assign(m),F.x.assign(0),F.y.assign(h.y)}).Else(()=>{F.x.assign(h.x),F.y.assign(0)});const M=o(f,g).toVar(),b=o(f,x).toVar();Oe(M.lessThanEqual(b),()=>{g.assign(x)});const G=L(0).toVar(),W=L(0).toVar(),$=A(0).toVar(),ie=A(0).toVar(),q=z(u).toVar(),he=z(u).toVar(),Q=L(0).toVar(),we=L(0).toVar();mt(r,({i:ht})=>{const ne=ht.add(1).toVar();Oe(G.equal(0),()=>{$.addAssign(ne),q.assign(u.add(F.mul($)));const ue=n(q.xy),Ae=o(ue,f).toVar(),ge=o(ue,g).toVar();Oe(Ae.greaterThan(ge),()=>{G.assign(1)}),Q.assign(ht)}),Oe(W.equal(0),()=>{ie.addAssign(ne),he.assign(u.sub(F.mul(ie)));const ue=n(he.xy),Ae=o(ue,f).toVar(),ge=o(ue,g).toVar();Oe(Ae.greaterThan(ge),()=>{W.assign(1)}),we.assign(ht)}),Oe(G.equal(1).or(W.equal(1)),()=>{Fd()})}),Oe(G.equal(0).and(W.equal(0)),()=>f);const Ne=A(1).toVar(),Ee=A(1).toVar();Oe(G.equal(1),()=>{Ne.assign(A(Q).div(A(r.sub(1))))}),Oe(W.equal(1),()=>{Ee.assign(A(we).div(A(r.sub(1))))});const Qe=Mn(Ne,Ee);return Qe.assign(jn(Qe,.5)),Qe.assign(A(1).sub(Qe)),it(f,g,Qe.mul(.5))}).setLayout({name:"FxaaPixelShader",type:"vec4",inputs:[{name:"uv",type:"vec2"},{name:"fxaaQualityRcpFrame",type:"vec2"},{name:"fxaaQualityEdgeThreshold",type:"float"},{name:"fxaaQualityinvEdgeThreshold",type:"float"}]});return U(()=>{const u=A(.2),h=A(1).div(u);return a(t,this._invSize,u,h)})()}}const PD=s=>H(new aw(ei(s))),Dr=new Ms,LD=new _e(0,0,0),k_=new _e,DD=new J,UD=new J(1,0),FD=new J(0,1);class cw extends pt{static get type(){return"BloomNode"}constructor(e,t=1,n=0,i=0){super(),this.inputNode=e,this.strength=pe(t),this.radius=pe(n),this.threshold=pe(i),this.smoothWidth=pe(.01),this._renderTargetsHorizontal=[],this._renderTargetsVertical=[],this._nMips=5,this._renderTargetBright=new fn(1,1,{type:Ln}),this._renderTargetBright.texture.name="UnrealBloomPass.bright",this._renderTargetBright.texture.generateMipmaps=!1;for(let r=0;r<this._nMips;r++){const o=new fn(1,1,{type:Ln});o.texture.name="UnrealBloomPass.h"+r,o.texture.generateMipmaps=!1,this._renderTargetsHorizontal.push(o);const a=new fn(1,1,{type:Ln});a.texture.name="UnrealBloomPass.v"+r,a.texture.generateMipmaps=!1,this._renderTargetsVertical.push(a)}this._compositeMaterial=null,this._highPassFilterMaterial=null,this._separableBlurMaterials=[],this._textureNodeBright=xt(this._renderTargetBright.texture),this._textureNodeBlur0=xt(this._renderTargetsVertical[0].texture),this._textureNodeBlur1=xt(this._renderTargetsVertical[1].texture),this._textureNodeBlur2=xt(this._renderTargetsVertical[2].texture),this._textureNodeBlur3=xt(this._renderTargetsVertical[3].texture),this._textureNodeBlur4=xt(this._renderTargetsVertical[4].texture),this._textureOutput=Ea(this,this._renderTargetsHorizontal[0].texture),this.updateBeforeType=We.FRAME}getTextureNode(){return this._textureOutput}setSize(e,t){let n=Math.round(e/2),i=Math.round(t/2);this._renderTargetBright.setSize(n,i);for(let r=0;r<this._nMips;r++)this._renderTargetsHorizontal[r].setSize(n,i),this._renderTargetsVertical[r].setSize(n,i),this._separableBlurMaterials[r].invSize.value.set(1/n,1/i),n=Math.round(n/2),i=Math.round(i/2)}updateBefore(e){const{renderer:t}=e,n=t.getDrawingBufferSize(DD);this.setSize(n.width,n.height);const i=t.getRenderTarget(),r=t.getMRT();t.getClearColor(k_);const o=t.getClearAlpha();this.setSize(n.width,n.height),t.setMRT(null),t.setClearColor(LD,0),t.setRenderTarget(this._renderTargetBright),Dr.material=this._highPassFilterMaterial,Dr.render(t);let a=this._renderTargetBright;for(let c=0;c<this._nMips;c++)Dr.material=this._separableBlurMaterials[c],this._separableBlurMaterials[c].colorTexture.value=a.texture,this._separableBlurMaterials[c].direction.value=UD,t.setRenderTarget(this._renderTargetsHorizontal[c]),t.clear(),Dr.render(t),this._separableBlurMaterials[c].colorTexture.value=this._renderTargetsHorizontal[c].texture,this._separableBlurMaterials[c].direction.value=FD,t.setRenderTarget(this._renderTargetsVertical[c]),t.clear(),Dr.render(t),a=this._renderTargetsVertical[c];t.setRenderTarget(this._renderTargetsHorizontal[0]),t.clear(),Dr.material=this._compositeMaterial,Dr.render(t),t.setRenderTarget(i),t.setMRT(r),t.setClearColor(k_,o)}setup(e){const t=U(()=>{const c=this.inputNode,l=En(c.rgb),u=ti(this.threshold,this.threshold.add(this.smoothWidth),l);return it(oe(0),c,u)});this._highPassFilterMaterial=this._highPassFilterMaterial||new Tt,this._highPassFilterMaterial.fragmentNode=t().context(e.getSharedContext()),this._highPassFilterMaterial.name="Bloom_highPass",this._highPassFilterMaterial.needsUpdate=!0;const n=[3,5,7,9,11];for(let c=0;c<this._nMips;c++)this._separableBlurMaterials.push(this._getSeperableBlurMaterial(e,n[c]));const i=fs([1,.8,.6,.4,.2]),r=fs([new E(1,1,1),new E(1,1,1),new E(1,1,1),new E(1,1,1),new E(1,1,1)]),o=U(([c,l])=>{const u=A(1.2).sub(c);return it(c,u,l)}).setLayout({name:"lerpBloomFactor",type:"float",inputs:[{name:"factor",type:"float"},{name:"radius",type:"float"}]}),a=U(()=>{const c=o(i.element(0),this.radius).mul(oe(r.element(0),1)).mul(this._textureNodeBlur0),l=o(i.element(1),this.radius).mul(oe(r.element(1),1)).mul(this._textureNodeBlur1),u=o(i.element(2),this.radius).mul(oe(r.element(2),1)).mul(this._textureNodeBlur2),h=o(i.element(3),this.radius).mul(oe(r.element(3),1)).mul(this._textureNodeBlur3),d=o(i.element(4),this.radius).mul(oe(r.element(4),1)).mul(this._textureNodeBlur4);return c.add(l).add(u).add(h).add(d).mul(this.strength)});return this._compositeMaterial=this._compositeMaterial||new Tt,this._compositeMaterial.fragmentNode=a().context(e.getSharedContext()),this._compositeMaterial.name="Bloom_comp",this._compositeMaterial.needsUpdate=!0,this._textureOutput}dispose(){for(let e=0;e<this._renderTargetsHorizontal.length;e++)this._renderTargetsHorizontal[e].dispose();for(let e=0;e<this._renderTargetsVertical.length;e++)this._renderTargetsVertical[e].dispose();this._renderTargetBright.dispose()}_getSeperableBlurMaterial(e,t){const n=[];for(let d=0;d<t;d++)n.push(.39894*Math.exp(-.5*d*d/(t*t))/t);const i=xt(),r=fs(n),o=pe(new J),a=pe(new J(.5,.5)),c=rt(),l=d=>i.uv(d),u=U(()=>{const d=r.element(0).toVar(),p=l(c).rgb.mul(d).toVar();return mt({start:L(1),end:L(t),type:"int",condition:"<"},({i:f})=>{const x=A(f),m=r.element(f),g=a.mul(o).mul(x),y=l(c.add(g)).rgb,_=l(c.sub(g)).rgb;p.addAssign(Wt(y,_).mul(m)),d.addAssign(A(2).mul(m))}),oe(p.div(d),1)}),h=new Tt;return h.fragmentNode=u().context(e.getSharedContext()),h.name="Bloom_seperable",h.needsUpdate=!0,h.colorTexture=i,h.direction=a,h.invSize=o,h}}const OD=(s,e,t,n)=>H(new cw(H(s),e,t,n));class lw extends pt{static get type(){return"TransitionNode"}constructor(e,t,n,i,r,o){super(),this.textureNodeA=e,this.textureNodeB=t,this.mixTextureNode=n,this.mixRatioNode=i,this.thresholdNode=r,this.useTextureNode=o}setup(){const{textureNodeA:e,textureNodeB:t,mixTextureNode:n,mixRatioNode:i,thresholdNode:r,useTextureNode:o}=this,a=u=>{const h=u.uvNode||rt();return u.uv(h)};return U(()=>{const u=a(e),h=a(t),d=oe().toVar();return Oe(o.equal(L(1)),()=>{const p=a(n),f=i.mul(r.mul(2).add(1)).sub(r),x=cn(Ft(p.r,f).mul(A(1).div(r)),0,1);d.assign(it(u,h,x))}).Else(()=>{d.assign(it(h,u,i))}),d})()}}const VD=(s,e,t,n=0,i=.1,r=0)=>H(new lw(ei(s),ei(e),ei(t),H(n),H(i),H(r)));class BD extends pt{static get type(){return"PixelationNode"}constructor(e,t,n,i,r,o){super(),this.textureNode=e,this.depthNode=t,this.normalNode=n,this.pixelSize=i,this.normalEdgeStrength=r,this.depthEdgeStrength=o,this._resolution=pe(new st),this.updateBeforeType=We.RENDER}updateBefore(){const e=this.textureNode.value,t=e.image.width,n=e.image.height;this._resolution.value.set(t,n,1/t,1/n)}setup(){const{textureNode:e,depthNode:t,normalNode:n}=this,i=e.uvNode||rt(),r=t.uvNode||rt(),o=n.uvNode||rt(),a=()=>e.uv(i),c=(x,m)=>t.uv(r.add(z(x,m).mul(this._resolution.zw))).r,l=(x,m)=>n.uv(o.add(z(x,m).mul(this._resolution.zw))).rgb.normalize(),u=x=>{const m=ai("float","diff");return m.addAssign(cn(c(1,0).sub(x))),m.addAssign(cn(c(-1,0).sub(x))),m.addAssign(cn(c(0,1).sub(x))),m.addAssign(cn(c(0,-1).sub(x))),xr(ti(.01,.02,m).mul(2)).div(2)},h=(x,m,g,y)=>{const _=c(x,m).sub(g),v=l(x,m),I=D(1,1,1),T=$t(y.sub(v),I),w=cn(ti(-.01,.01,T),0,1),C=cn(ll(_.mul(.25).add(.0025)),0,1);return A(1).sub($t(y,v)).mul(C).mul(w)},d=(x,m)=>{const g=ai("float","indicator");return g.addAssign(h(0,-1,x,m)),g.addAssign(h(0,1,x,m)),g.addAssign(h(-1,0,x,m)),g.addAssign(h(1,0,x,m)),ul(.1,g)};return U(()=>{const x=a(),m=ai("float","depth"),g=ai("vec3","normal");Oe(this.depthEdgeStrength.greaterThan(0).or(this.normalEdgeStrength.greaterThan(0)),()=>{m.assign(c(0,0)),g.assign(l(0,0))});const y=ai("float","dei");Oe(this.depthEdgeStrength.greaterThan(0),()=>{y.assign(u(m))});const _=ai("float","nei");Oe(this.normalEdgeStrength.greaterThan(0),()=>{_.assign(d(m,g))});const v=y.greaterThan(0).select(A(1).sub(y.mul(this.depthEdgeStrength)),_.mul(this.normalEdgeStrength).add(1));return x.mul(v)})()}}const zD=(s,e,t,n=6,i=.3,r=.4)=>H(new BD(ei(s),ei(e),ei(t),H(n),H(i),H(r)));class uw extends bn{static get type(){return"PixelationPassNode"}constructor(e,t,n=6,i=.3,r=.4){super("color",e,t,{minFilter:Qt,magFilter:Qt}),this.pixelSize=n,this.normalEdgeStrength=i,this.depthEdgeStrength=r,this.isPixelationPassNode=!0,this._mrt=kd({output:cg,normal:di})}setSize(e,t){const n=this.pixelSize.value?this.pixelSize.value:this.pixelSize,i=Math.floor(e/n),r=Math.floor(t/n);super.setSize(i,r)}setup(){const e=super.getTextureNode("output"),t=super.getTextureNode("depth"),n=super.getTextureNode("normal");return zD(e,t,n,this.pixelSize,this.normalEdgeStrength,this.depthEdgeStrength)}}const kD=(s,e,t,n,i)=>H(new uw(s,e,t,n,i)),GD=new J;class hw extends bn{static get type(){return"SSAAPassNode"}constructor(e,t){super(bn.COLOR,e,t),this.isSSAAPassNode=!0,this.sampleLevel=4,this.unbiased=!0,this.clearColor=new _e(0),this.clearAlpha=0,this._currentClearColor=new _e,this.sampleWeight=pe(1),this.sampleRenderTarget=null,this._quadMesh=new Ms}updateBefore(e){const{renderer:t}=e,{scene:n,camera:i}=this;this._pixelRatio=t.getPixelRatio();const r=t.getSize(GD);this.setSize(r.width,r.height),this.sampleRenderTarget.setSize(this.renderTarget.width,this.renderTarget.height),t.getClearColor(this._currentClearColor);const o=t.getClearAlpha(),a=t.getRenderTarget(),c=t.getMRT(),l=t.autoClear;this._cameraNear.value=i.near,this._cameraFar.value=i.far,t.setMRT(this.getMRT()),t.autoClear=!1;const u=HD[Math.max(0,Math.min(this.sampleLevel,5))],h=1/u.length,d=1/32,p={fullWidth:this.renderTarget.width,fullHeight:this.renderTarget.height,offsetX:0,offsetY:0,width:this.renderTarget.width,height:this.renderTarget.height},f=Object.assign({},i.view);f.enabled&&Object.assign(p,f);for(let x=0;x<u.length;x++){const m=u[x];if(i.setViewOffset&&i.setViewOffset(p.fullWidth,p.fullHeight,p.offsetX+m[0]*.0625,p.offsetY+m[1]*.0625,p.width,p.height),this.sampleWeight.value=h,this.unbiased){const g=-.5+(x+.5)/u.length;this.sampleWeight.value+=d*g}t.setClearColor(this.clearColor,this.clearAlpha),t.setRenderTarget(this.sampleRenderTarget),t.clear(),t.render(n,i),t.setRenderTarget(this.renderTarget),x===0&&(t.setClearColor(0,0),t.clear()),this._quadMesh.render(t)}t.copyTextureToTexture(this.sampleRenderTarget.depthTexture,this.renderTarget.depthTexture),i.setViewOffset&&f.enabled?i.setViewOffset(f.fullWidth,f.fullHeight,f.offsetX,f.offsetY,f.width,f.height):i.clearViewOffset&&i.clearViewOffset(),t.setRenderTarget(a),t.setMRT(c),t.autoClear=l,t.setClearColor(this._currentClearColor,o)}setup(e){this.sampleRenderTarget===null&&(this.sampleRenderTarget=this.renderTarget.clone());let t;const n=this.getMRT();if(n!==null){const i={};for(const r in n.outputNodes){const o=i0(this.sampleRenderTarget.textures,r);o>=0&&(i[r]=xt(this.sampleRenderTarget.textures[o]).mul(this.sampleWeight))}t=kd(i)}else t=xt(this.sampleRenderTarget.texture).mul(this.sampleWeight);return this._quadMesh.material=new Tt,this._quadMesh.material.fragmentNode=t,this._quadMesh.material.transparent=!0,this._quadMesh.material.depthTest=!1,this._quadMesh.material.depthWrite=!1,this._quadMesh.material.premultipliedAlpha=!0,this._quadMesh.material.blending=lc,this._quadMesh.material.normals=!1,this._quadMesh.material.name="SSAA",super.setup(e)}dispose(){super.dispose(),this.sampleRenderTarget!==null&&this.sampleRenderTarget.dispose()}}const HD=[[[0,0]],[[4,4],[-4,-4]],[[-2,-6],[6,-2],[-6,2],[2,6]],[[1,-3],[-1,3],[5,1],[-3,-5],[-5,5],[-7,-1],[3,7],[7,-7]],[[1,1],[-1,-3],[-3,2],[4,-1],[-5,-2],[2,5],[5,3],[3,-5],[-2,6],[0,-7],[-4,-6],[-6,4],[-8,0],[7,-4],[6,7],[-7,-8]],[[-4,-7],[-7,-5],[-3,-5],[-5,-4],[-1,-4],[-2,-2],[-6,-1],[-4,0],[-7,1],[-1,2],[-6,3],[-3,3],[-7,6],[-3,6],[-5,7],[-1,7],[5,-7],[1,-6],[6,-5],[4,-4],[2,-3],[7,-2],[1,-1],[4,-1],[2,1],[6,2],[0,4],[4,4],[2,5],[7,5],[5,6],[3,7]]],WD=(s,e)=>H(new hw(s,e)),XD=new J;class dw extends bn{static get type(){return"StereoPassNode"}constructor(e,t){super(bn.COLOR,e,t),this.isStereoPassNode=!0,this.stereo=new Vm,this.stereo.aspect=.5}updateBefore(e){const{renderer:t}=e,{scene:n,camera:i,stereo:r,renderTarget:o}=this;this._pixelRatio=t.getPixelRatio(),r.cameraL.coordinateSystem=t.coordinateSystem,r.cameraR.coordinateSystem=t.coordinateSystem,r.update(i);const a=t.getSize(XD);this.setSize(a.width,a.height);const c=t.autoClear;t.autoClear=!1;const l=t.getRenderTarget(),u=t.getMRT();this._cameraNear.value=i.near,this._cameraFar.value=i.far;for(const h in this._previousTextures)this.toggleTexture(h);t.setRenderTarget(o),t.setMRT(this._mrt),t.clear(),o.scissorTest=!0,o.scissor.set(0,0,o.width/2,o.height),o.viewport.set(0,0,o.width/2,o.height),t.render(n,r.cameraL),o.scissor.set(o.width/2,0,o.width/2,o.height),o.viewport.set(o.width/2,0,o.width/2,o.height),t.render(n,r.cameraR),o.scissorTest=!1,t.setRenderTarget(l),t.setMRT(u),t.autoClear=c}}const qD=(s,e)=>H(new dw(s,e)),$D=new J,G_=new Ms;class pw extends bn{static get type(){return"StereoCompositePassNode"}constructor(e,t){super(bn.COLOR,e,t),this.isStereoCompositePassNode=!0,this.stereo=new Vm;const n={minFilter:Ut,magFilter:Qt,type:Ln};this._renderTargetL=new fn(1,1,n),this._renderTargetR=new fn(1,1,n),this._mapLeft=xt(this._renderTargetL.texture),this._mapRight=xt(this._renderTargetR.texture),this._material=null}updateStereoCamera(e){this.stereo.cameraL.coordinateSystem=e,this.stereo.cameraR.coordinateSystem=e,this.stereo.update(this.camera)}setSize(e,t){super.setSize(e,t),this._renderTargetL.setSize(this.renderTarget.width,this.renderTarget.height),this._renderTargetR.setSize(this.renderTarget.width,this.renderTarget.height)}updateBefore(e){const{renderer:t}=e,{scene:n,stereo:i,renderTarget:r}=this;this._pixelRatio=t.getPixelRatio(),this.updateStereoCamera(t.coordinateSystem);const o=t.getSize($D);this.setSize(o.width,o.height);const a=t.getRenderTarget();t.setRenderTarget(this._renderTargetL),t.render(n,i.cameraL),t.setRenderTarget(this._renderTargetR),t.render(n,i.cameraR),t.setRenderTarget(r),G_.material=this._material,G_.render(t),t.setRenderTarget(a)}dispose(){super.dispose(),this._renderTargetL.dispose(),this._renderTargetR.dispose(),this._material!==null&&this._material.dispose()}}class fw extends pw{static get type(){return"AnaglyphPassNode"}constructor(e,t){super(e,t),this.isAnaglyphPassNode=!0,this._colorMatrixLeft=pe(new Ke().fromArray([.4561,-.0400822,-.0152161,.500484,-.0378246,-.0205971,.176381,-.0157589,-.00546856])),this._colorMatrixRight=pe(new Ke().fromArray([-.0434706,.378476,-.0721527,-.0879388,.73364,-.112961,-.00155529,-.0184503,1.2264]))}setup(e){const t=rt(),n=U(()=>{const r=this._mapLeft.uv(t),o=this._mapRight.uv(t),a=cn(this._colorMatrixLeft.mul(r.rgb).add(this._colorMatrixRight.mul(o.rgb)));return oe(a.rgb,ft(r.a,o.a))}),i=this._material||(this._material=new Tt);return i.fragmentNode=n().context(e.getSharedContext()),i.name="Anaglyph",i.needsUpdate=!0,super.setup(e)}}const YD=(s,e)=>H(new fw(s,e));class mw extends pw{static get type(){return"ParallaxBarrierPassNode"}constructor(e,t){super(e,t),this.isParallaxBarrierPassNode=!0}setup(e){const t=rt(),n=U(()=>{const r=oe().toVar();return Oe(Cd(Na.y,2).greaterThan(1),()=>{r.assign(this._mapLeft.uv(t))}).Else(()=>{r.assign(this._mapRight.uv(t))}),r}),i=this._material||(this._material=new Tt);return i.fragmentNode=n().context(e.getSharedContext()),i.needsUpdate=!0,super.setup(e)}}const ZD=(s,e)=>H(new mw(s,e));class gw extends bn{static get type(){return"ToonOutlinePassNode"}constructor(e,t,n,i,r){super(bn.COLOR,e,t),this.colorNode=n,this.thicknessNode=i,this.alphaNode=r,this._materialCache=new WeakMap}updateBefore(e){const{renderer:t}=e,n=t.getRenderObjectFunction();t.setRenderObjectFunction((i,r,o,a,c,l,u)=>{if((c.isMeshToonMaterial||c.isMeshToonNodeMaterial)&&c.wireframe===!1){const h=this._getOutlineMaterial(c);t.renderObject(i,r,o,a,h,l,u)}t.renderObject(i,r,o,a,c,l,u)}),super.updateBefore(e),t.setRenderObjectFunction(n)}_createMaterial(){const e=new Tt;e.isMeshToonOutlineMaterial=!0,e.name="Toon_Outline",e.side=ln;const t=hi.negate(),n=ci.mul(ys),i=A(1),r=n.mul(oe(en,1)),o=n.mul(oe(en.add(t),1)),a=vi(r.sub(o));return e.vertexNode=r.add(a.mul(this.thicknessNode).mul(r.w).mul(i)),e.colorNode=oe(this.colorNode,this.alphaNode),e}_getOutlineMaterial(e){let t=this._materialCache.get(e);return t===void 0&&(t=this._createMaterial(),this._materialCache.set(e,t)),t}}const JD=(s,e,t=new _e(0,0,0),n=.003,i=1)=>H(new gw(s,e,H(t),H(n),H(i)));class xw extends Ye{static get type(){return"ScriptableValueNode"}constructor(e=null){super(),this._value=e,this._cache=null,this.inputType=null,this.outpuType=null,this.events=new Ai,this.isScriptableValueNode=!0}get isScriptableOutputNode(){return this.outputType!==null}set value(e){this._value!==e&&(this._cache&&this.inputType==="URL"&&this.value.value instanceof ArrayBuffer&&(URL.revokeObjectURL(this._cache),this._cache=null),this._value=e,this.events.dispatchEvent({type:"change"}),this.refresh())}get value(){return this._value}refresh(){this.events.dispatchEvent({type:"refresh"})}getValue(){const e=this.value;if(e&&this._cache===null&&this.inputType==="URL"&&e.value instanceof ArrayBuffer)this._cache=URL.createObjectURL(new Blob([e.value]));else if(e&&e.value!==null&&e.value!==void 0&&((this.inputType==="URL"||this.inputType==="String")&&typeof e.value=="string"||this.inputType==="Number"&&typeof e.value=="number"||this.inputType==="Vector2"&&e.value.isVector2||this.inputType==="Vector3"&&e.value.isVector3||this.inputType==="Vector4"&&e.value.isVector4||this.inputType==="Color"&&e.value.isColor||this.inputType==="Matrix3"&&e.value.isMatrix3||this.inputType==="Matrix4"&&e.value.isMatrix4))return e.value;return this._cache||e}getNodeType(e){return this.value&&this.value.isNode?this.value.getNodeType(e):"float"}setup(){return this.value&&this.value.isNode?this.value:A()}serialize(e){super.serialize(e),this.value!==null?this.inputType==="ArrayBuffer"?e.value=Ym(this.value):e.value=this.value?this.value.toJSON(e.meta).uuid:null:e.value=null,e.inputType=this.inputType,e.outputType=this.outputType}deserialize(e){super.deserialize(e);let t=null;e.value!==null&&(e.inputType==="ArrayBuffer"?t=Zm(e.value):e.inputType==="Texture"?t=e.meta.textures[e.value]:t=e.meta.nodes[e.value]||null),this.value=t,this.inputType=e.inputType,this.outputType=e.outputType}}const Vu=K(xw);class _w extends Map{get(e,t=null,...n){if(this.has(e))return super.get(e);if(t!==null){const i=t(...n);return this.set(e,i),i}}}class KD{constructor(e){this.scriptableNode=e}get parameters(){return this.scriptableNode.parameters}get layout(){return this.scriptableNode.getLayout()}getInputLayout(e){return this.scriptableNode.getInputLayout(e)}get(e){const t=this.parameters[e];return t?t.getValue():null}}const Bu=new _w;class yw extends Ye{static get type(){return"ScriptableNode"}constructor(e=null,t={}){super(),this.codeNode=e,this.parameters=t,this._local=new _w,this._output=Vu(),this._outputs={},this._source=this.source,this._method=null,this._object=null,this._value=null,this._needsOutputUpdate=!0,this.onRefresh=this.onRefresh.bind(this),this.isScriptableNode=!0}get source(){return this.codeNode?this.codeNode.code:""}setLocal(e,t){return this._local.set(e,t)}getLocal(e){return this._local.get(e)}onRefresh(){this._refresh()}getInputLayout(e){for(const t of this.getLayout())if(t.inputType&&(t.id===e||t.name===e))return t}getOutputLayout(e){for(const t of this.getLayout())if(t.outputType&&(t.id===e||t.name===e))return t}setOutput(e,t){const n=this._outputs;return n[e]===void 0?n[e]=Vu(t):n[e].value=t,this}getOutput(e){return this._outputs[e]}getParameter(e){return this.parameters[e]}setParameter(e,t){const n=this.parameters;return t&&t.isScriptableNode?(this.deleteParameter(e),n[e]=t,n[e].getDefaultOutput().events.addEventListener("refresh",this.onRefresh)):t&&t.isScriptableValueNode?(this.deleteParameter(e),n[e]=t,n[e].events.addEventListener("refresh",this.onRefresh)):n[e]===void 0?(n[e]=Vu(t),n[e].events.addEventListener("refresh",this.onRefresh)):n[e].value=t,this}getValue(){return this.getDefaultOutput().getValue()}deleteParameter(e){let t=this.parameters[e];return t&&(t.isScriptableNode&&(t=t.getDefaultOutput()),t.events.removeEventListener("refresh",this.onRefresh)),this}clearParameters(){for(const e of Object.keys(this.parameters))this.deleteParameter(e);return this.needsUpdate=!0,this}call(e,...t){const i=this.getObject()[e];if(typeof i=="function")return i(...t)}async callAsync(e,...t){const i=this.getObject()[e];if(typeof i=="function")return i.constructor.name==="AsyncFunction"?await i(...t):i(...t)}getNodeType(e){return this.getDefaultOutputNode().getNodeType(e)}refresh(e=null){e!==null?this.getOutput(e).refresh():this._refresh()}getObject(){if(this.needsUpdate&&this.dispose(),this._object!==null)return this._object;const e=()=>this.refresh(),t=(l,u)=>this.setOutput(l,u),n=new KD(this),i=Bu.get("THREE"),r=Bu.get("TSL"),o=this.getMethod(this.codeNode),a=[n,this._local,Bu,e,t,i,r];this._object=o(...a);const c=this._object.layout;if(c&&(c.cache===!1&&this._local.clear(),this._output.outputType=c.outputType||null,Array.isArray(c.elements)))for(const l of c.elements){const u=l.id||l.name;l.inputType&&(this.getParameter(u)===void 0&&this.setParameter(u,null),this.getParameter(u).inputType=l.inputType),l.outputType&&(this.getOutput(u)===void 0&&this.setOutput(u,null),this.getOutput(u).outputType=l.outputType)}return this._object}deserialize(e){super.deserialize(e);for(const t in this.parameters){let n=this.parameters[t];n.isScriptableNode&&(n=n.getDefaultOutput()),n.events.addEventListener("refresh",this.onRefresh)}}getLayout(){return this.getObject().layout}getDefaultOutputNode(){const e=this.getDefaultOutput().value;return e&&e.isNode?e:A()}getDefaultOutput(){return this._exec()._output}getMethod(){if(this.needsUpdate&&this.dispose(),this._method!==null)return this._method;const e=["parameters","local","global","refresh","setOutput","THREE","TSL"],n=["layout","init","main","dispose"].join(", "),i="var "+n+`; var output = {};
3868
3868
  `,r=`
3869
3869
  return { ...output, `+n+" };",o=i+this.codeNode.code+r;return this._method=new Function(...e,o),this._method}dispose(){this._method!==null&&(this._object&&typeof this._object.dispose=="function"&&this._object.dispose(),this._method=null,this._object=null,this._source=null,this._value=null,this._needsOutputUpdate=!0,this._output.value=null,this._outputs={})}setup(){return this.getDefaultOutputNode()}getCacheKey(e){const t=[Wv(this.source),this.getDefaultOutputNode().getCacheKey(e)];for(const n in this.parameters)t.push(this.parameters[n].getCacheKey(e));return Xv(t)}set needsUpdate(e){e===!0&&this.dispose()}get needsUpdate(){return this.source!==this._source}_exec(){return this.codeNode===null?this:(this._needsOutputUpdate===!0&&(this._value=this.call("main"),this._needsOutputUpdate=!1),this._output.value=this._value,this)}_refresh(){this.needsUpdate=!0,this._exec(),this._output.refresh()}}const jD=K(yw);class Gd extends Ye{static get type(){return"FogNode"}constructor(e,t){super("float"),this.isFogNode=!0,this.colorNode=e,this.factorNode=t}getViewZNode(e){let t;const n=e.context.getViewZ;return n!==void 0&&(t=n(this)),(t||Pn.z).negate()}setup(){return this.factorNode}}const QD=K(Gd);class vw extends Gd{static get type(){return"FogRangeNode"}constructor(e,t,n){super(e),this.isFogRangeNode=!0,this.nearNode=t,this.farNode=n}setup(e){const t=this.getViewZNode(e);return ti(this.nearNode,this.farNode,t)}}const eU=K(vw);class Mw extends Gd{static get type(){return"FogExp2Node"}constructor(e,t){super(e),this.isFogExp2Node=!0,this.densityNode=t}setup(e){const t=this.getViewZNode(e),n=this.densityNode;return n.mul(n,t,t).negate().exp().oneMinus()}}const tU=K(Mw);let Ur=null,Fr=null;class Sw extends Ye{static get type(){return"RangeNode"}constructor(e=A(),t=A()){super(),this.minNode=e,this.maxNode=t}getVectorLength(e){const t=e.getTypeLength(Ps(this.minNode.value)),n=e.getTypeLength(Ps(this.maxNode.value));return t>n?t:n}getNodeType(e){return e.object.count>1?e.getTypeFromLength(this.getVectorLength(e)):"float"}setup(e){const t=e.object;let n=null;if(t.count>1){const i=this.minNode.value,r=this.maxNode.value,o=e.getTypeLength(Ps(i)),a=e.getTypeLength(Ps(r));Ur=Ur||new st,Fr=Fr||new st,Ur.setScalar(0),Fr.setScalar(0),o===1?Ur.setScalar(i):i.isColor?Ur.set(i.r,i.g,i.b):Ur.set(i.x,i.y,i.z||0,i.w||0),a===1?Fr.setScalar(r):r.isColor?Fr.set(r.r,r.g,r.b):Fr.set(r.x,r.y,r.z||0,r.w||0);const c=4,l=c*t.count,u=new Float32Array(l);for(let d=0;d<l;d++){const p=d%c,f=Ur.getComponent(p),x=Fr.getComponent(p);u[d]=Xh.lerp(f,x,Math.random())}const h=this.getNodeType(e);if(t.count<=4096)n=ml(u,"vec4",t.count).element(vl).convert(h);else{const d=new Fs(u,4);e.geometry.setAttribute("__range"+this.id,d),n=Mh(d).convert(h)}}else n=A(0);return n}}const nU=K(Sw),iU=U(({depthTexture:s,shadowCoord:e})=>xt(s,e.xy).compare(e.z)),sU=U(({depthTexture:s,shadowCoord:e,shadow:t})=>{const n=(x,m)=>xt(s,x).compare(m),i=dn("mapSize","vec2",t).setGroup(_t),r=dn("radius","float",t).setGroup(_t),o=z(1).div(i),a=o.x.negate().mul(r),c=o.y.negate().mul(r),l=o.x.mul(r),u=o.y.mul(r),h=a.div(2),d=c.div(2),p=l.div(2),f=u.div(2);return Wt(n(e.xy.add(z(a,c)),e.z),n(e.xy.add(z(0,c)),e.z),n(e.xy.add(z(l,c)),e.z),n(e.xy.add(z(h,d)),e.z),n(e.xy.add(z(0,d)),e.z),n(e.xy.add(z(p,d)),e.z),n(e.xy.add(z(a,0)),e.z),n(e.xy.add(z(h,0)),e.z),n(e.xy,e.z),n(e.xy.add(z(p,0)),e.z),n(e.xy.add(z(l,0)),e.z),n(e.xy.add(z(h,f)),e.z),n(e.xy.add(z(0,f)),e.z),n(e.xy.add(z(p,f)),e.z),n(e.xy.add(z(a,u)),e.z),n(e.xy.add(z(0,u)),e.z),n(e.xy.add(z(l,u)),e.z)).mul(1/17)}),rU=U(({depthTexture:s,shadowCoord:e,shadow:t})=>{const n=(u,h)=>xt(s,u).compare(h),i=dn("mapSize","vec2",t).setGroup(_t),r=z(1).div(i),o=r.x,a=r.y,c=e.xy,l=_r(c.mul(i).add(.5));return c.subAssign(l.mul(r)),Wt(n(c,e.z),n(c.add(z(o,0)),e.z),n(c.add(z(0,a)),e.z),n(c.add(r),e.z),it(n(c.add(z(o.negate(),0)),e.z),n(c.add(z(o.mul(2),0)),e.z),l.x),it(n(c.add(z(o.negate(),a)),e.z),n(c.add(z(o.mul(2),a)),e.z),l.x),it(n(c.add(z(0,a.negate())),e.z),n(c.add(z(0,a.mul(2))),e.z),l.y),it(n(c.add(z(o,a.negate())),e.z),n(c.add(z(o,a.mul(2))),e.z),l.y),it(it(n(c.add(z(o.negate(),a.negate())),e.z),n(c.add(z(o.mul(2),a.negate())),e.z),l.x),it(n(c.add(z(o.negate(),a.mul(2))),e.z),n(c.add(z(o.mul(2),a.mul(2))),e.z),l.x),l.y)).mul(1/9)}),oU=U(({depthTexture:s,shadowCoord:e})=>{const t=A(1).toVar(),n=xt(s).uv(e.xy).rg,i=ul(e.z,n.x);return Oe(i.notEqual(A(1)),()=>{const r=e.z.sub(n.x),o=ft(0,n.y.mul(n.y));let a=o.div(o.add(r.mul(r)));a=cn(Ft(a,.3).div(.95-.3)),t.assign(cn(ft(i,a)))}),t}),aU=U(({samples:s,radius:e,size:t,shadowPass:n})=>{const i=A(0).toVar(),r=A(0).toVar(),o=s.lessThanEqual(A(1)).select(A(0),A(2).div(s.sub(1))),a=s.lessThanEqual(A(1)).select(A(0),A(-1));mt({start:L(0),end:L(s),type:"int",condition:"<"},({i:l})=>{const u=a.add(A(l).mul(o)),h=n.uv(Wt(Na.xy,z(0,u).mul(e)).div(t)).x;i.addAssign(h),r.addAssign(h.mul(h))}),i.divAssign(s),r.divAssign(s);const c=os(r.sub(i.mul(i)));return z(i,c)}),cU=U(({samples:s,radius:e,size:t,shadowPass:n})=>{const i=A(0).toVar(),r=A(0).toVar(),o=s.lessThanEqual(A(1)).select(A(0),A(2).div(s.sub(1))),a=s.lessThanEqual(A(1)).select(A(0),A(-1));mt({start:L(0),end:L(s),type:"int",condition:"<"},({i:l})=>{const u=a.add(A(l).mul(o)),h=n.uv(Wt(Na.xy,z(u,0).mul(e)).div(t));i.addAssign(h.x),r.addAssign(Wt(h.y.mul(h.y),h.x.mul(h.x)))}),i.divAssign(s),r.divAssign(s);const c=os(r.sub(i.mul(i)));return z(i,c)}),lU=[iU,sU,rU,oU];let Vo=null;const Eu=new Ms;class vr extends po{static get type(){return"AnalyticLightNode"}constructor(e=null){super(),this.updateType=We.FRAME,this.light=e,this.color=new _e,this.colorNode=pe(this.color).setGroup(_t),this.baseColorNode=null,this.shadowMap=null,this.shadowNode=null,this.shadowColorNode=null,this.vsmShadowMapVertical=null,this.vsmShadowMapHorizontal=null,this.vsmMaterialVertical=null,this.vsmMaterialHorizontal=null,this.isAnalyticLightNode=!0}getCacheKey(){return Xm(super.getCacheKey(),this.light.id,this.light.castShadow?1:0)}getHash(){return this.light.uuid}setupShadow(e){const{object:t,renderer:n}=e;if(n.shadowMap.enabled===!1)return;let i=this.shadowColorNode;if(i===null){Vo===null&&(Vo=new Tt,Vo.fragmentNode=oe(0,0,0,1),Vo.isShadowNodeMaterial=!0,Vo.name="ShadowMaterial");const r=n.shadowMap.type,o=this.light.shadow,a=new co;a.compareFunction=nm;const c=e.createRenderTarget(o.mapSize.width,o.mapSize.height);if(c.depthTexture=a,o.camera.updateProjectionMatrix(),r===oi){a.compareFunction=null,this.vsmShadowMapVertical=e.createRenderTarget(o.mapSize.width,o.mapSize.height,{format:ia,type:Ln}),this.vsmShadowMapHorizontal=e.createRenderTarget(o.mapSize.width,o.mapSize.height,{format:ia,type:Ln});const _=xt(a),v=xt(this.vsmShadowMapVertical.texture),I=dn("blurSamples","float",o).setGroup(_t),T=dn("radius","float",o).setGroup(_t),w=dn("mapSize","vec2",o).setGroup(_t);let C=this.vsmMaterialVertical||(this.vsmMaterialVertical=new Tt);C.fragmentNode=aU({samples:I,radius:T,size:w,shadowPass:_}).context(e.getSharedContext()),C.name="VSMVertical",C=this.vsmMaterialHorizontal||(this.vsmMaterialHorizontal=new Tt),C.fragmentNode=cU({samples:I,radius:T,size:w,shadowPass:v}).context(e.getSharedContext()),C.name="VSMHorizontal"}const l=dn("intensity","float",o).setGroup(_t),u=dn("bias","float",o).setGroup(_t),h=dn("normalBias","float",o).setGroup(_t),d=t.material.shadowPositionNode||Th;let p=pe(o.matrix).setGroup(_t).mul(d.add(Id.mul(h)));p=p.xyz.div(p.w);let f=p.z.add(u);n.coordinateSystem===eo&&(f=f.mul(2).sub(1)),p=D(p.x,p.y.oneMinus(),f);const x=p.x.greaterThanEqual(0).and(p.x.lessThanEqual(1)).and(p.y.greaterThanEqual(0)).and(p.y.lessThanEqual(1)).and(p.z.lessThanEqual(1)),m=o.filterNode||lU[n.shadowMap.type]||null;if(m===null)throw new Error("THREE.WebGPURenderer: Shadow map type not supported yet.");const g=xt(c.texture,p),y=x.select(m({depthTexture:r===oi?this.vsmShadowMapHorizontal.texture:a,shadowCoord:p,shadow:o}),A(1));this.shadowMap=c,this.light.shadow.map=c,this.shadowNode=y,this.shadowColorNode=i=this.colorNode.mul(it(1,y.rgb.mix(g,1),l.mul(g.a))),this.baseColorNode=this.colorNode}this.colorNode=i,this.updateBeforeType=We.RENDER}setup(e){this.colorNode=this.baseColorNode||this.colorNode,this.light.castShadow?e.object.receiveShadow&&this.setupShadow(e):this.shadowNode!==null&&this.disposeShadow()}updateShadow(e){const{shadowMap:t,light:n}=this,{renderer:i,scene:r,camera:o}=e,a=i.shadowMap.type,c=t.depthTexture.version;this._depthVersionCached=c;const l=r.overrideMaterial;r.overrideMaterial=Vo,t.setSize(n.shadow.mapSize.width,n.shadow.mapSize.height),n.shadow.updateMatrices(n),n.shadow.camera.layers.mask=o.layers.mask;const u=i.getRenderTarget(),h=i.getRenderObjectFunction();i.setRenderObjectFunction((d,...p)=>{(d.castShadow===!0||d.receiveShadow&&a===oi)&&i.renderObject(d,...p)}),i.setRenderTarget(t),i.render(r,n.shadow.camera),i.setRenderObjectFunction(h),n.isPointLight!==!0&&a===oi&&this.vsmPass(e,n),i.setRenderTarget(u),r.overrideMaterial=l}vsmPass(e,t){const{renderer:n}=e;this.vsmShadowMapVertical.setSize(t.shadow.mapSize.width,t.shadow.mapSize.height),this.vsmShadowMapHorizontal.setSize(t.shadow.mapSize.width,t.shadow.mapSize.height),n.setRenderTarget(this.vsmShadowMapVertical),Eu.material=this.vsmMaterialVertical,Eu.render(n),n.setRenderTarget(this.vsmShadowMapHorizontal),Eu.material=this.vsmMaterialHorizontal,Eu.render(n)}disposeShadow(){this.shadowMap.dispose(),this.shadowMap=null,this.vsmShadowMapVertical!==null&&(this.vsmShadowMapVertical.dispose(),this.vsmShadowMapVertical=null,this.vsmMaterialVertical.dispose(),this.vsmMaterialVertical=null),this.vsmShadowMapHorizontal!==null&&(this.vsmShadowMapHorizontal.dispose(),this.vsmShadowMapHorizontal=null,this.vsmMaterialHorizontal.dispose(),this.vsmMaterialHorizontal=null),this.shadowNode=null,this.shadowColorNode=null,this.baseColorNode=null,this.updateBeforeType=We.NONE}updateBefore(e){const t=this.light.shadow;(t.needsUpdate||t.autoUpdate)&&(this.updateShadow(e),this.shadowMap.depthTexture.version===this._depthVersionCached&&(t.needsUpdate=!1))}update(){const{light:e}=this;this.color.copy(e.color).multiplyScalar(e.intensity)}}const o0=U(s=>{const{lightDistance:e,cutoffDistance:t,decayExponent:n}=s,i=e.pow(n).max(.01).reciprocal();return t.greaterThan(0).select(i.mul(e.div(t).pow4().oneMinus().clamp().pow2()),i)});let Cu;function a0(s){Cu=Cu||new WeakMap;let e=Cu.get(s);return e===void 0&&Cu.set(s,e={}),e}function c0(s){const e=a0(s);return e.position||(e.position=pe(new E).setGroup(_t).onRenderUpdate((t,n)=>n.value.setFromMatrixPosition(s.matrixWorld)))}function Tw(s){const e=a0(s);return e.targetPosition||(e.targetPosition=pe(new E).setGroup(_t).onRenderUpdate((t,n)=>n.value.setFromMatrixPosition(s.target.matrixWorld)))}function Hd(s){const e=a0(s);return e.viewPosition||(e.viewPosition=pe(new E).setGroup(_t).onRenderUpdate(({camera:t},n)=>{n.value=n.value||new E,n.value.setFromMatrixPosition(s.matrixWorld),n.value.applyMatrix4(t.matrixWorldInverse)}))}const l0=s=>pi.transformDirection(c0(s).sub(Tw(s))),uU=U(([s])=>{const e=s.toUint().mul(747796405).add(2891336453),t=e.shiftRight(e.shiftRight(28).add(4)).bitXor(e).mul(277803737);return t.shiftRight(22).bitXor(t).toFloat().mul(1/2**32)}),Uf=(s,e)=>jn(ot(4,s.mul(Ft(1,s))),e),hU=(s,e)=>s.lessThan(.5)?Uf(s.mul(2),e).div(2):Ft(1,Uf(ot(Ft(1,s),2),e).div(2)),dU=(s,e,t)=>jn(ns(jn(s,e),Wt(jn(s,e),jn(Ft(1,s),t))),1/e),pU=(s,e)=>Cn(no.mul(e.mul(s).sub(1))).div(no.mul(e.mul(s).sub(1))),hs=U(([s])=>s.fract().sub(.5).abs()).setLayout({name:"tri",type:"float",inputs:[{name:"x",type:"float"}]}),bw=U(([s])=>D(hs(s.z.add(hs(s.y.mul(1)))),hs(s.z.add(hs(s.x.mul(1)))),hs(s.y.add(hs(s.x.mul(1)))))).setLayout({name:"tri3",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),fU=U(([s,e,t])=>{const n=D(s).toVar(),i=A(1.4).toVar(),r=A(0).toVar(),o=D(n).toVar();return mt({start:A(0),end:A(3),type:"float",condition:"<="},()=>{const a=D(bw(o.mul(2))).toVar();n.addAssign(a.add(t.mul(A(.1).mul(e)))),o.mulAssign(1.8),i.mulAssign(1.5),n.mulAssign(1.2);const c=A(hs(n.z.add(hs(n.x.add(hs(n.y)))))).toVar();r.addAssign(c.div(i)),o.addAssign(.14)}),r}).setLayout({name:"triNoise3D",type:"float",inputs:[{name:"p",type:"vec3"},{name:"spd",type:"float"},{name:"time",type:"float"}]}),mU=U(([s,e,t=z(.5)])=>Yg(s.sub(t),e).add(t)),gU=U(([s,e,t=z(.5)])=>{const n=s.sub(t),i=n.dot(n),o=i.mul(i).mul(e);return s.add(n.mul(o))}),xU=U(({position:s=null,horizontal:e=!0,vertical:t=!1})=>{let n;s!==null?(n=Ui.toVar(),n[3][0]=s.x,n[3][1]=s.y,n[3][2]=s.z):n=Ui;const i=pi.mul(n);return Vc(e)&&(i[0][0]=Ui[0].length(),i[0][1]=0,i[0][2]=0),Vc(t)&&(i[1][0]=0,i[1][1]=Ui[1].length(),i[1][2]=0),i[2][0]=0,i[2][1]=0,i[2][2]=1,ci.mul(i).mul(en)}),_U=U(([s=null])=>{const e=wh();return wh(kg(s)).sub(e).lessThan(0).select(yr,s)}),H_=new WeakMap;class yU extends pt{static get type(){return"VelocityNode"}constructor(){super("vec2"),this.updateType=We.OBJECT,this.updateAfterType=We.OBJECT,this.previousModelWorldMatrix=pe(new Fe),this.previousProjectionMatrix=pe(new Fe).setGroup(_t),this.previousCameraViewMatrix=pe(new Fe)}update({frameId:e,camera:t,object:n}){const i=W_(n);this.previousModelWorldMatrix.value.copy(i);const r=ww(t);r.frameId!==e&&(r.frameId=e,r.previousProjectionMatrix===void 0?(r.previousProjectionMatrix=new Fe,r.previousCameraViewMatrix=new Fe,r.currentProjectionMatrix=new Fe,r.currentCameraViewMatrix=new Fe,r.previousProjectionMatrix.copy(t.projectionMatrix),r.previousCameraViewMatrix.copy(t.matrixWorldInverse)):(r.previousProjectionMatrix.copy(r.currentProjectionMatrix),r.previousCameraViewMatrix.copy(r.currentCameraViewMatrix)),r.currentProjectionMatrix.copy(t.projectionMatrix),r.currentCameraViewMatrix.copy(t.matrixWorldInverse),this.previousProjectionMatrix.value.copy(r.previousProjectionMatrix),this.previousCameraViewMatrix.value.copy(r.previousCameraViewMatrix))}updateAfter({object:e}){W_(e).copy(e.matrixWorld)}setup(){const e=this.previousCameraViewMatrix.mul(this.previousModelWorldMatrix),t=ci.mul(ys).mul(en),n=this.previousProjectionMatrix.mul(e).mul(Sh),i=t.xy.div(t.w),r=n.xy.div(n.w);return Ft(i,r)}}function ww(s){let e=H_.get(s);return e===void 0&&(e={},H_.set(s,e)),e}function W_(s,e=0){const t=ww(s);let n=t[e];return n===void 0&&(t[e]=n=new Fe),n}const vU=fe(yU),MU=U(([s,e])=>Mn(1,s.oneMinus().div(e)).oneMinus()).setLayout({name:"burnBlend",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),SU=U(([s,e])=>Mn(s.div(e.oneMinus()),1)).setLayout({name:"dodgeBlend",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),TU=U(([s,e])=>s.oneMinus().mul(e.oneMinus()).oneMinus()).setLayout({name:"screenBlend",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),bU=U(([s,e])=>it(s.mul(2).mul(e),s.oneMinus().mul(2).mul(e.oneMinus()).oneMinus(),ul(.5,s))).setLayout({name:"overlayBlend",type:"vec3",inputs:[{name:"base",type:"vec3"},{name:"blend",type:"vec3"}]}),wU=U(([s,e,t=L(16)])=>{const n=a=>s.uv(a),i=rt(),r=n(i).toVar(),o=A(t);return mt({start:L(1),end:t,type:"int",condition:"<="},({i:a})=>{const c=e.mul(A(a).div(o.sub(1)).sub(.5));r.addAssign(n(i.add(c)))}),r.divAssign(o),r}),AU=U(([s,e=1])=>{const t=s,n=En(t.rgb),i=D(n),r=Mn(1,ft(0,A(10).mul(n.sub(.45)))),o=i.mul(t.rgb).mul(2),a=A(2).mul(i.oneMinus()).mul(t.rgb.oneMinus()).oneMinus(),c=it(o,a,r),l=t.a.mul(e),u=l.mul(c.rgb);return u.addAssign(t.rgb.mul(l.oneMinus())),oe(u,t.a)}),NU=U(([s])=>{const e=D(s);return oe($t(e,D(.393,.769,.189)),$t(e,D(.349,.686,.168)),$t(e,D(.272,.534,.131)),s.a)}),Aw=U(([s])=>{const e=s.mul(.9478672986).add(.0521327014).pow(2.4),t=s.mul(.0773993808),n=s.lessThanEqual(.04045);return it(e,t,n)}).setLayout({name:"sRGBToLinearSRGB",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),Nw=U(([s])=>{const e=s.pow(.41666).mul(1.055).sub(.055),t=s.mul(12.92),n=s.lessThanEqual(.0031308);return it(e,t,n)}).setLayout({name:"linearSRGBTosRGB",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),Ew=U(([s,e])=>s.mul(e).clamp()).setLayout({name:"linearToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),Cw=U(([s,e])=>(s=s.mul(e),s.div(s.add(1)).clamp())).setLayout({name:"reinhardToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),Rw=U(([s,e])=>{s=s.mul(e),s=s.sub(.004).max(0);const t=s.mul(s.mul(6.2).add(.5)),n=s.mul(s.mul(6.2).add(1.7)).add(.06);return t.div(n).pow(2.2)}).setLayout({name:"cineonToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),EU=U(([s])=>{const e=s.mul(s.add(.0245786)).sub(90537e-9),t=s.mul(s.add(.432951).mul(.983729)).add(.238081);return e.div(t)}),Iw=U(([s,e])=>{const t=Tn(.59719,.35458,.04823,.076,.90834,.01566,.0284,.13383,.83777),n=Tn(1.60475,-.53108,-.07367,-.10208,1.10813,-.00605,-.00327,-.07276,1.07602);return s=s.mul(e).div(.6),s=t.mul(s),s=EU(s),s=n.mul(s),s.clamp()}).setLayout({name:"acesFilmicToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),CU=Tn(D(1.6605,-.1246,-.0182),D(-.5876,1.1329,-.1006),D(-.0728,-.0083,1.1187)),RU=Tn(D(.6274,.0691,.0164),D(.3293,.9195,.088),D(.0433,.0113,.8956)),IU=U(([s])=>{const e=D(s).toVar(),t=D(e.mul(e)).toVar(),n=D(t.mul(t)).toVar();return A(15.5).mul(n.mul(t)).sub(ot(40.14,n.mul(e))).add(ot(31.96,n).sub(ot(6.868,t.mul(e))).add(ot(.4298,t).add(ot(.1191,e).sub(.00232))))}),Pw=U(([s,e])=>{const t=D(s).toVar(),n=Tn(D(.856627153315983,.137318972929847,.11189821299995),D(.0951212405381588,.761241990602591,.0767994186031903),D(.0482516061458583,.101439036467562,.811302368396859)),i=Tn(D(1.1271005818144368,-.1413297634984383,-.14132976349843826),D(-.11060664309660323,1.157823702216272,-.11060664309660294),D(-.016493938717834573,-.016493938717834257,1.2519364065950405)),r=A(-12.47393),o=A(4.026069);return t.mulAssign(e),t.assign(RU.mul(t)),t.assign(n.mul(t)),t.assign(ft(t,1e-10)),t.assign(cl(t)),t.assign(t.sub(r).div(o.sub(r))),t.assign(cn(t,0,1)),t.assign(IU(t)),t.assign(i.mul(t)),t.assign(jn(ft(D(0),t),D(2.2))),t.assign(CU.mul(t)),t.assign(cn(t,0,1)),t}).setLayout({name:"agxToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]}),Lw=U(([s,e])=>{const t=A(.76),n=A(.15);s=s.mul(e);const i=Mn(s.r,Mn(s.g,s.b)),r=In(i.lessThan(.08),i.sub(ot(6.25,i.mul(i))),.04);s.subAssign(r);const o=ft(s.r,ft(s.g,s.b));Oe(o.lessThan(t),()=>s);const a=Ft(1,t),c=Ft(1,a.mul(a).div(o.add(a.sub(t))));s.mulAssign(c.div(o));const l=Ft(1,ns(1,n.mul(o.sub(c)).add(1)));return it(s,D(c),l)}).setLayout({name:"neutralToneMapping",type:"vec3",inputs:[{name:"color",type:"vec3"},{name:"exposure",type:"float"}]});class PU extends Ye{static get type(){return"ComputeBuiltinNode"}constructor(e,t){super(t),this._builtinName=e}getHash(e){return this.getBuiltinName(e)}getNodeType(){return this.nodeType}setBuiltinName(e){return this._builtinName=e,this}getBuiltinName(){return this._builtinName}hasBuiltin(e){e.hasBuiltin(this._builtinName)}generate(e,t){const n=this.getBuiltinName(e),i=this.getNodeType(e);return e.shaderStage==="compute"?e.format(n,i,t):(console.warn(`ComputeBuiltinNode: Compute built-in value ${n} can not be accessed in the ${e.shaderStage} stage`),e.generateConst(i))}serialize(e){super.serialize(e),e.global=this.global,e._builtinName=this._builtinName}deserialize(e){super.deserialize(e),this.global=e.global,this._builtinName=e._builtinName}}const Wd=(s,e)=>H(new PU(s,e)),LU=Wd("numWorkgroups","uvec3"),DU=Wd("workgroupId","uvec3"),UU=Wd("localId","uvec3"),FU=Wd("subgroupSize","uint");class OU extends Ye{constructor(e){super(),this.scope=e}generate(e){const{scope:t}=this,{renderer:n}=e;n.backend.isWebGLBackend===!0?e.addFlowCode(` // ${t}Barrier
3870
- `):e.addLineFlowCode(`${t}Barrier()`,this)}}const u0=K(OU),VU=()=>u0("workgroup").append(),BU=()=>u0("storage").append(),zU=()=>u0("texture").append();class kU extends gr{constructor(e,t){super(e,t),this.isWorkgroupInfoElementNode=!0}generate(e,t){let n;const i=e.context.assign;if(n=super.generate(e),i!==!0){const r=this.getNodeType(e);n=e.format(n,r,t)}return n}}class GU extends Ye{constructor(e,t,n=0){super(t),this.bufferType=t,this.bufferCount=n,this.isWorkgroupInfoNode=!0,this.scope=e}label(e){return this.name=e,this}getHash(){return this.uuid}setScope(e){return this.scope=e,this}getInputType(){return`${this.scope}Array`}element(e){return H(new kU(this,e))}generate(e){return e.getScopedArray(this.name||`${this.scope}Array_${this.id}`,this.scope.toLowerCase(),this.bufferType,this.bufferCount)}}const HU=(s,e)=>H(new GU("Workgroup",s,e));class wn extends pt{static get type(){return"AtomicFunctionNode"}constructor(e,t,n,i=null){super("uint"),this.method=e,this.pointerNode=t,this.valueNode=n,this.storeNode=i}getInputType(e){return this.pointerNode.getNodeType(e)}getNodeType(e){return this.getInputType(e)}generate(e){const t=this.method,n=this.getNodeType(e),i=this.getInputType(e),r=this.pointerNode,o=this.valueNode,a=[];a.push(`&${r.build(e,i)}`),a.push(o.build(e,i));const c=`${e.getMethod(t,n)}( ${a.join(", ")} )`;if(this.storeNode!==null){const l=this.storeNode.build(e,i);e.addLineFlowCode(`${l} = ${c}`,this)}else e.addLineFlowCode(c,this)}}wn.ATOMIC_LOAD="atomicLoad";wn.ATOMIC_STORE="atomicStore";wn.ATOMIC_ADD="atomicAdd";wn.ATOMIC_SUB="atomicSub";wn.ATOMIC_MAX="atomicMax";wn.ATOMIC_MIN="atomicMin";wn.ATOMIC_AND="atomicAnd";wn.ATOMIC_OR="atomicOr";wn.ATOMIC_XOR="atomicXor";const WU=K(wn),Vs=(s,e,t,n)=>{const i=WU(s,e,t,n);return i.append(),i},XU=(s,e,t=null)=>Vs(wn.ATOMIC_STORE,s,e,t),qU=(s,e,t=null)=>Vs(wn.ATOMIC_ADD,s,e,t),$U=(s,e,t=null)=>Vs(wn.ATOMIC_SUB,s,e,t),YU=(s,e,t=null)=>Vs(wn.ATOMIC_MAX,s,e,t),ZU=(s,e,t=null)=>Vs(wn.ATOMIC_MIN,s,e,t),JU=(s,e,t=null)=>Vs(wn.ATOMIC_AND,s,e,t),KU=(s,e,t=null)=>Vs(wn.ATOMIC_OR,s,e,t),jU=(s,e,t=null)=>Vs(wn.ATOMIC_XOR,s,e,t),QU=U(([s=rt()])=>{const e=s.mul(2),t=e.x.floor(),n=e.y.floor();return t.add(n).mod(2).sign()}),cc=U(([s,e,t])=>{const n=A(t).toVar(),i=A(e).toVar(),r=lr(s).toVar();return In(r,i,n)}).setLayout({name:"mx_select",type:"float",inputs:[{name:"b",type:"bool"},{name:"t",type:"float"},{name:"f",type:"float"}]}),Nh=U(([s,e])=>{const t=lr(e).toVar(),n=A(s).toVar();return In(t,n.negate(),n)}).setLayout({name:"mx_negate_if",type:"float",inputs:[{name:"val",type:"float"},{name:"b",type:"bool"}]}),rn=U(([s])=>{const e=A(s).toVar();return L(xr(e))}).setLayout({name:"mx_floor",type:"int",inputs:[{name:"x",type:"float"}]}),Ht=U(([s,e])=>{const t=A(s).toVar();return e.assign(rn(t)),t.sub(A(e))}),eF=U(([s,e,t,n,i,r])=>{const o=A(r).toVar(),a=A(i).toVar(),c=A(n).toVar(),l=A(t).toVar(),u=A(e).toVar(),h=A(s).toVar(),d=A(Ft(1,a)).toVar();return Ft(1,o).mul(h.mul(d).add(u.mul(a))).add(o.mul(l.mul(d).add(c.mul(a))))}).setLayout({name:"mx_bilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"}]}),tF=U(([s,e,t,n,i,r])=>{const o=A(r).toVar(),a=A(i).toVar(),c=D(n).toVar(),l=D(t).toVar(),u=D(e).toVar(),h=D(s).toVar(),d=A(Ft(1,a)).toVar();return Ft(1,o).mul(h.mul(d).add(u.mul(a))).add(o.mul(l.mul(d).add(c.mul(a))))}).setLayout({name:"mx_bilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"}]}),Dw=On([eF,tF]),nF=U(([s,e,t,n,i,r,o,a,c,l,u])=>{const h=A(u).toVar(),d=A(l).toVar(),p=A(c).toVar(),f=A(a).toVar(),x=A(o).toVar(),m=A(r).toVar(),g=A(i).toVar(),y=A(n).toVar(),_=A(t).toVar(),v=A(e).toVar(),I=A(s).toVar(),T=A(Ft(1,p)).toVar(),w=A(Ft(1,d)).toVar();return A(Ft(1,h)).toVar().mul(w.mul(I.mul(T).add(v.mul(p))).add(d.mul(_.mul(T).add(y.mul(p))))).add(h.mul(w.mul(g.mul(T).add(m.mul(p))).add(d.mul(x.mul(T).add(f.mul(p))))))}).setLayout({name:"mx_trilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"v4",type:"float"},{name:"v5",type:"float"},{name:"v6",type:"float"},{name:"v7",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]}),iF=U(([s,e,t,n,i,r,o,a,c,l,u])=>{const h=A(u).toVar(),d=A(l).toVar(),p=A(c).toVar(),f=D(a).toVar(),x=D(o).toVar(),m=D(r).toVar(),g=D(i).toVar(),y=D(n).toVar(),_=D(t).toVar(),v=D(e).toVar(),I=D(s).toVar(),T=A(Ft(1,p)).toVar(),w=A(Ft(1,d)).toVar();return A(Ft(1,h)).toVar().mul(w.mul(I.mul(T).add(v.mul(p))).add(d.mul(_.mul(T).add(y.mul(p))))).add(h.mul(w.mul(g.mul(T).add(m.mul(p))).add(d.mul(x.mul(T).add(f.mul(p))))))}).setLayout({name:"mx_trilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"v4",type:"vec3"},{name:"v5",type:"vec3"},{name:"v6",type:"vec3"},{name:"v7",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]}),Uw=On([nF,iF]),sF=U(([s,e,t])=>{const n=A(t).toVar(),i=A(e).toVar(),r=ve(s).toVar(),o=ve(r.bitAnd(ve(7))).toVar(),a=A(cc(o.lessThan(ve(4)),i,n)).toVar(),c=A(ot(2,cc(o.lessThan(ve(4)),n,i))).toVar();return Nh(a,lr(o.bitAnd(ve(1)))).add(Nh(c,lr(o.bitAnd(ve(2)))))}).setLayout({name:"mx_gradient_float_0",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"}]}),rF=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=A(e).toVar(),a=ve(s).toVar(),c=ve(a.bitAnd(ve(15))).toVar(),l=A(cc(c.lessThan(ve(8)),o,r)).toVar(),u=A(cc(c.lessThan(ve(4)),r,cc(c.equal(ve(12)).or(c.equal(ve(14))),o,i))).toVar();return Nh(l,lr(c.bitAnd(ve(1)))).add(Nh(u,lr(c.bitAnd(ve(2)))))}).setLayout({name:"mx_gradient_float_1",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]}),yn=On([sF,rF]),oF=U(([s,e,t])=>{const n=A(t).toVar(),i=A(e).toVar(),r=Aa(s).toVar();return D(yn(r.x,i,n),yn(r.y,i,n),yn(r.z,i,n))}).setLayout({name:"mx_gradient_vec3_0",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"}]}),aF=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=A(e).toVar(),a=Aa(s).toVar();return D(yn(a.x,o,r,i),yn(a.y,o,r,i),yn(a.z,o,r,i))}).setLayout({name:"mx_gradient_vec3_1",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]}),Ri=On([oF,aF]),cF=U(([s])=>{const e=A(s).toVar();return ot(.6616,e)}).setLayout({name:"mx_gradient_scale2d_0",type:"float",inputs:[{name:"v",type:"float"}]}),lF=U(([s])=>{const e=A(s).toVar();return ot(.982,e)}).setLayout({name:"mx_gradient_scale3d_0",type:"float",inputs:[{name:"v",type:"float"}]}),uF=U(([s])=>{const e=D(s).toVar();return ot(.6616,e)}).setLayout({name:"mx_gradient_scale2d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]}),Fw=On([cF,uF]),hF=U(([s])=>{const e=D(s).toVar();return ot(.982,e)}).setLayout({name:"mx_gradient_scale3d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]}),Ow=On([lF,hF]),yi=U(([s,e])=>{const t=L(e).toVar(),n=ve(s).toVar();return n.shiftLeft(t).bitOr(n.shiftRight(L(32).sub(t)))}).setLayout({name:"mx_rotl32",type:"uint",inputs:[{name:"x",type:"uint"},{name:"k",type:"int"}]}),Vw=U(([s,e,t])=>{s.subAssign(t),s.bitXorAssign(yi(t,L(4))),t.addAssign(e),e.subAssign(s),e.bitXorAssign(yi(s,L(6))),s.addAssign(t),t.subAssign(e),t.bitXorAssign(yi(e,L(8))),e.addAssign(s),s.subAssign(t),s.bitXorAssign(yi(t,L(16))),t.addAssign(e),e.subAssign(s),e.bitXorAssign(yi(s,L(19))),s.addAssign(t),t.subAssign(e),t.bitXorAssign(yi(e,L(4))),e.addAssign(s)}),Tl=U(([s,e,t])=>{const n=ve(t).toVar(),i=ve(e).toVar(),r=ve(s).toVar();return n.bitXorAssign(i),n.subAssign(yi(i,L(14))),r.bitXorAssign(n),r.subAssign(yi(n,L(11))),i.bitXorAssign(r),i.subAssign(yi(r,L(25))),n.bitXorAssign(i),n.subAssign(yi(i,L(16))),r.bitXorAssign(n),r.subAssign(yi(n,L(4))),i.bitXorAssign(r),i.subAssign(yi(r,L(14))),n.bitXorAssign(i),n.subAssign(yi(i,L(24))),n}).setLayout({name:"mx_bjfinal",type:"uint",inputs:[{name:"a",type:"uint"},{name:"b",type:"uint"},{name:"c",type:"uint"}]}),Xn=U(([s])=>{const e=ve(s).toVar();return A(e).div(A(ve(L(4294967295))))}).setLayout({name:"mx_bits_to_01",type:"float",inputs:[{name:"bits",type:"uint"}]}),ms=U(([s])=>{const e=A(s).toVar();return e.mul(e).mul(e).mul(e.mul(e.mul(6).sub(15)).add(10))}).setLayout({name:"mx_fade",type:"float",inputs:[{name:"t",type:"float"}]}),dF=U(([s])=>{const e=L(s).toVar(),t=ve(ve(1)).toVar(),n=ve(ve(L(3735928559)).add(t.shiftLeft(ve(2))).add(ve(13))).toVar();return Tl(n.add(ve(e)),n,n)}).setLayout({name:"mx_hash_int_0",type:"uint",inputs:[{name:"x",type:"int"}]}),pF=U(([s,e])=>{const t=L(e).toVar(),n=L(s).toVar(),i=ve(ve(2)).toVar(),r=ve().toVar(),o=ve().toVar(),a=ve().toVar();return r.assign(o.assign(a.assign(ve(L(3735928559)).add(i.shiftLeft(ve(2))).add(ve(13))))),r.addAssign(ve(n)),o.addAssign(ve(t)),Tl(r,o,a)}).setLayout({name:"mx_hash_int_1",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),fF=U(([s,e,t])=>{const n=L(t).toVar(),i=L(e).toVar(),r=L(s).toVar(),o=ve(ve(3)).toVar(),a=ve().toVar(),c=ve().toVar(),l=ve().toVar();return a.assign(c.assign(l.assign(ve(L(3735928559)).add(o.shiftLeft(ve(2))).add(ve(13))))),a.addAssign(ve(r)),c.addAssign(ve(i)),l.addAssign(ve(n)),Tl(a,c,l)}).setLayout({name:"mx_hash_int_2",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]}),mF=U(([s,e,t,n])=>{const i=L(n).toVar(),r=L(t).toVar(),o=L(e).toVar(),a=L(s).toVar(),c=ve(ve(4)).toVar(),l=ve().toVar(),u=ve().toVar(),h=ve().toVar();return l.assign(u.assign(h.assign(ve(L(3735928559)).add(c.shiftLeft(ve(2))).add(ve(13))))),l.addAssign(ve(a)),u.addAssign(ve(o)),h.addAssign(ve(r)),Vw(l,u,h),l.addAssign(ve(i)),Tl(l,u,h)}).setLayout({name:"mx_hash_int_3",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"}]}),gF=U(([s,e,t,n,i])=>{const r=L(i).toVar(),o=L(n).toVar(),a=L(t).toVar(),c=L(e).toVar(),l=L(s).toVar(),u=ve(ve(5)).toVar(),h=ve().toVar(),d=ve().toVar(),p=ve().toVar();return h.assign(d.assign(p.assign(ve(L(3735928559)).add(u.shiftLeft(ve(2))).add(ve(13))))),h.addAssign(ve(l)),d.addAssign(ve(c)),p.addAssign(ve(a)),Vw(h,d,p),h.addAssign(ve(o)),d.addAssign(ve(r)),Tl(h,d,p)}).setLayout({name:"mx_hash_int_4",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"},{name:"yy",type:"int"}]}),Pt=On([dF,pF,fF,mF,gF]),xF=U(([s,e])=>{const t=L(e).toVar(),n=L(s).toVar(),i=ve(Pt(n,t)).toVar(),r=Aa().toVar();return r.x.assign(i.bitAnd(L(255))),r.y.assign(i.shiftRight(L(8)).bitAnd(L(255))),r.z.assign(i.shiftRight(L(16)).bitAnd(L(255))),r}).setLayout({name:"mx_hash_vec3_0",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),_F=U(([s,e,t])=>{const n=L(t).toVar(),i=L(e).toVar(),r=L(s).toVar(),o=ve(Pt(r,i,n)).toVar(),a=Aa().toVar();return a.x.assign(o.bitAnd(L(255))),a.y.assign(o.shiftRight(L(8)).bitAnd(L(255))),a.z.assign(o.shiftRight(L(16)).bitAnd(L(255))),a}).setLayout({name:"mx_hash_vec3_1",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]}),Ii=On([xF,_F]),yF=U(([s])=>{const e=z(s).toVar(),t=L().toVar(),n=L().toVar(),i=A(Ht(e.x,t)).toVar(),r=A(Ht(e.y,n)).toVar(),o=A(ms(i)).toVar(),a=A(ms(r)).toVar(),c=A(Dw(yn(Pt(t,n),i,r),yn(Pt(t.add(L(1)),n),i.sub(1),r),yn(Pt(t,n.add(L(1))),i,r.sub(1)),yn(Pt(t.add(L(1)),n.add(L(1))),i.sub(1),r.sub(1)),o,a)).toVar();return Fw(c)}).setLayout({name:"mx_perlin_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"}]}),vF=U(([s])=>{const e=D(s).toVar(),t=L().toVar(),n=L().toVar(),i=L().toVar(),r=A(Ht(e.x,t)).toVar(),o=A(Ht(e.y,n)).toVar(),a=A(Ht(e.z,i)).toVar(),c=A(ms(r)).toVar(),l=A(ms(o)).toVar(),u=A(ms(a)).toVar(),h=A(Uw(yn(Pt(t,n,i),r,o,a),yn(Pt(t.add(L(1)),n,i),r.sub(1),o,a),yn(Pt(t,n.add(L(1)),i),r,o.sub(1),a),yn(Pt(t.add(L(1)),n.add(L(1)),i),r.sub(1),o.sub(1),a),yn(Pt(t,n,i.add(L(1))),r,o,a.sub(1)),yn(Pt(t.add(L(1)),n,i.add(L(1))),r.sub(1),o,a.sub(1)),yn(Pt(t,n.add(L(1)),i.add(L(1))),r,o.sub(1),a.sub(1)),yn(Pt(t.add(L(1)),n.add(L(1)),i.add(L(1))),r.sub(1),o.sub(1),a.sub(1)),c,l,u)).toVar();return Ow(h)}).setLayout({name:"mx_perlin_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"}]}),h0=On([yF,vF]),MF=U(([s])=>{const e=z(s).toVar(),t=L().toVar(),n=L().toVar(),i=A(Ht(e.x,t)).toVar(),r=A(Ht(e.y,n)).toVar(),o=A(ms(i)).toVar(),a=A(ms(r)).toVar(),c=D(Dw(Ri(Ii(t,n),i,r),Ri(Ii(t.add(L(1)),n),i.sub(1),r),Ri(Ii(t,n.add(L(1))),i,r.sub(1)),Ri(Ii(t.add(L(1)),n.add(L(1))),i.sub(1),r.sub(1)),o,a)).toVar();return Fw(c)}).setLayout({name:"mx_perlin_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),SF=U(([s])=>{const e=D(s).toVar(),t=L().toVar(),n=L().toVar(),i=L().toVar(),r=A(Ht(e.x,t)).toVar(),o=A(Ht(e.y,n)).toVar(),a=A(Ht(e.z,i)).toVar(),c=A(ms(r)).toVar(),l=A(ms(o)).toVar(),u=A(ms(a)).toVar(),h=D(Uw(Ri(Ii(t,n,i),r,o,a),Ri(Ii(t.add(L(1)),n,i),r.sub(1),o,a),Ri(Ii(t,n.add(L(1)),i),r,o.sub(1),a),Ri(Ii(t.add(L(1)),n.add(L(1)),i),r.sub(1),o.sub(1),a),Ri(Ii(t,n,i.add(L(1))),r,o,a.sub(1)),Ri(Ii(t.add(L(1)),n,i.add(L(1))),r.sub(1),o,a.sub(1)),Ri(Ii(t,n.add(L(1)),i.add(L(1))),r,o.sub(1),a.sub(1)),Ri(Ii(t.add(L(1)),n.add(L(1)),i.add(L(1))),r.sub(1),o.sub(1),a.sub(1)),c,l,u)).toVar();return Ow(h)}).setLayout({name:"mx_perlin_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),d0=On([MF,SF]),TF=U(([s])=>{const e=A(s).toVar(),t=L(rn(e)).toVar();return Xn(Pt(t))}).setLayout({name:"mx_cell_noise_float_0",type:"float",inputs:[{name:"p",type:"float"}]}),bF=U(([s])=>{const e=z(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar();return Xn(Pt(t,n))}).setLayout({name:"mx_cell_noise_float_1",type:"float",inputs:[{name:"p",type:"vec2"}]}),wF=U(([s])=>{const e=D(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar(),i=L(rn(e.z)).toVar();return Xn(Pt(t,n,i))}).setLayout({name:"mx_cell_noise_float_2",type:"float",inputs:[{name:"p",type:"vec3"}]}),AF=U(([s])=>{const e=oe(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar(),i=L(rn(e.z)).toVar(),r=L(rn(e.w)).toVar();return Xn(Pt(t,n,i,r))}).setLayout({name:"mx_cell_noise_float_3",type:"float",inputs:[{name:"p",type:"vec4"}]}),NF=On([TF,bF,wF,AF]),EF=U(([s])=>{const e=A(s).toVar(),t=L(rn(e)).toVar();return D(Xn(Pt(t,L(0))),Xn(Pt(t,L(1))),Xn(Pt(t,L(2))))}).setLayout({name:"mx_cell_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"float"}]}),CF=U(([s])=>{const e=z(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar();return D(Xn(Pt(t,n,L(0))),Xn(Pt(t,n,L(1))),Xn(Pt(t,n,L(2))))}).setLayout({name:"mx_cell_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),RF=U(([s])=>{const e=D(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar(),i=L(rn(e.z)).toVar();return D(Xn(Pt(t,n,i,L(0))),Xn(Pt(t,n,i,L(1))),Xn(Pt(t,n,i,L(2))))}).setLayout({name:"mx_cell_noise_vec3_2",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),IF=U(([s])=>{const e=oe(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar(),i=L(rn(e.z)).toVar(),r=L(rn(e.w)).toVar();return D(Xn(Pt(t,n,i,r,L(0))),Xn(Pt(t,n,i,r,L(1))),Xn(Pt(t,n,i,r,L(2))))}).setLayout({name:"mx_cell_noise_vec3_3",type:"vec3",inputs:[{name:"p",type:"vec4"}]}),Bw=On([EF,CF,RF,IF]),Eh=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=L(e).toVar(),a=D(s).toVar(),c=A(0).toVar(),l=A(1).toVar();return mt(o,()=>{c.addAssign(l.mul(h0(a))),l.mulAssign(i),a.mulAssign(r)}),c}).setLayout({name:"mx_fractal_noise_float",type:"float",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),zw=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=L(e).toVar(),a=D(s).toVar(),c=D(0).toVar(),l=A(1).toVar();return mt(o,()=>{c.addAssign(l.mul(d0(a))),l.mulAssign(i),a.mulAssign(r)}),c}).setLayout({name:"mx_fractal_noise_vec3",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),PF=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=L(e).toVar(),a=D(s).toVar();return z(Eh(a,o,r,i),Eh(a.add(D(L(19),L(193),L(17))),o,r,i))}).setLayout({name:"mx_fractal_noise_vec2",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),LF=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=L(e).toVar(),a=D(s).toVar(),c=D(zw(a,o,r,i)).toVar(),l=A(Eh(a.add(D(L(19),L(193),L(17))),o,r,i)).toVar();return oe(c,l)}).setLayout({name:"mx_fractal_noise_vec4",type:"vec4",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),DF=U(([s,e,t,n,i,r,o])=>{const a=L(o).toVar(),c=A(r).toVar(),l=L(i).toVar(),u=L(n).toVar(),h=L(t).toVar(),d=L(e).toVar(),p=z(s).toVar(),f=D(Bw(z(d.add(u),h.add(l)))).toVar(),x=z(f.x,f.y).toVar();x.subAssign(.5),x.mulAssign(c),x.addAssign(.5);const m=z(z(A(d),A(h)).add(x)).toVar(),g=z(m.sub(p)).toVar();return Oe(a.equal(L(2)),()=>Dt(g.x).add(Dt(g.y))),Oe(a.equal(L(3)),()=>ft(Dt(g.x),Dt(g.y))),$t(g,g)}).setLayout({name:"mx_worley_distance_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),UF=U(([s,e,t,n,i,r,o,a,c])=>{const l=L(c).toVar(),u=A(a).toVar(),h=L(o).toVar(),d=L(r).toVar(),p=L(i).toVar(),f=L(n).toVar(),x=L(t).toVar(),m=L(e).toVar(),g=D(s).toVar(),y=D(Bw(D(m.add(p),x.add(d),f.add(h)))).toVar();y.subAssign(.5),y.mulAssign(u),y.addAssign(.5);const _=D(D(A(m),A(x),A(f)).add(y)).toVar(),v=D(_.sub(g)).toVar();return Oe(l.equal(L(2)),()=>Dt(v.x).add(Dt(v.y)).add(Dt(v.z))),Oe(l.equal(L(3)),()=>ft(ft(Dt(v.x),Dt(v.y)),Dt(v.z))),$t(v,v)}).setLayout({name:"mx_worley_distance_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"zoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),Ca=On([DF,UF]),FF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=z(s).toVar(),o=L().toVar(),a=L().toVar(),c=z(Ht(r.x,o),Ht(r.y,a)).toVar(),l=A(1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:u})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:h})=>{const d=A(Ca(c,u,h,o,a,i,n)).toVar();l.assign(Mn(l,d))})}),Oe(n.equal(L(0)),()=>{l.assign(os(l))}),l}).setLayout({name:"mx_worley_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),OF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=z(s).toVar(),o=L().toVar(),a=L().toVar(),c=z(Ht(r.x,o),Ht(r.y,a)).toVar(),l=z(1e6,1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:u})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:h})=>{const d=A(Ca(c,u,h,o,a,i,n)).toVar();Oe(d.lessThan(l.x),()=>{l.y.assign(l.x),l.x.assign(d)}).ElseIf(d.lessThan(l.y),()=>{l.y.assign(d)})})}),Oe(n.equal(L(0)),()=>{l.assign(os(l))}),l}).setLayout({name:"mx_worley_noise_vec2_0",type:"vec2",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),VF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=z(s).toVar(),o=L().toVar(),a=L().toVar(),c=z(Ht(r.x,o),Ht(r.y,a)).toVar(),l=D(1e6,1e6,1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:u})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:h})=>{const d=A(Ca(c,u,h,o,a,i,n)).toVar();Oe(d.lessThan(l.x),()=>{l.z.assign(l.y),l.y.assign(l.x),l.x.assign(d)}).ElseIf(d.lessThan(l.y),()=>{l.z.assign(l.y),l.y.assign(d)}).ElseIf(d.lessThan(l.z),()=>{l.z.assign(d)})})}),Oe(n.equal(L(0)),()=>{l.assign(os(l))}),l}).setLayout({name:"mx_worley_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),BF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=D(s).toVar(),o=L().toVar(),a=L().toVar(),c=L().toVar(),l=D(Ht(r.x,o),Ht(r.y,a),Ht(r.z,c)).toVar(),u=A(1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:h})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:d})=>{mt({start:-1,end:L(1),name:"z",condition:"<="},({z:p})=>{const f=A(Ca(l,h,d,p,o,a,c,i,n)).toVar();u.assign(Mn(u,f))})})}),Oe(n.equal(L(0)),()=>{u.assign(os(u))}),u}).setLayout({name:"mx_worley_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),zF=On([FF,BF]),kF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=D(s).toVar(),o=L().toVar(),a=L().toVar(),c=L().toVar(),l=D(Ht(r.x,o),Ht(r.y,a),Ht(r.z,c)).toVar(),u=z(1e6,1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:h})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:d})=>{mt({start:-1,end:L(1),name:"z",condition:"<="},({z:p})=>{const f=A(Ca(l,h,d,p,o,a,c,i,n)).toVar();Oe(f.lessThan(u.x),()=>{u.y.assign(u.x),u.x.assign(f)}).ElseIf(f.lessThan(u.y),()=>{u.y.assign(f)})})})}),Oe(n.equal(L(0)),()=>{u.assign(os(u))}),u}).setLayout({name:"mx_worley_noise_vec2_1",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),GF=On([OF,kF]),HF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=D(s).toVar(),o=L().toVar(),a=L().toVar(),c=L().toVar(),l=D(Ht(r.x,o),Ht(r.y,a),Ht(r.z,c)).toVar(),u=D(1e6,1e6,1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:h})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:d})=>{mt({start:-1,end:L(1),name:"z",condition:"<="},({z:p})=>{const f=A(Ca(l,h,d,p,o,a,c,i,n)).toVar();Oe(f.lessThan(u.x),()=>{u.z.assign(u.y),u.y.assign(u.x),u.x.assign(f)}).ElseIf(f.lessThan(u.y),()=>{u.z.assign(u.y),u.y.assign(f)}).ElseIf(f.lessThan(u.z),()=>{u.z.assign(f)})})})}),Oe(n.equal(L(0)),()=>{u.assign(os(u))}),u}).setLayout({name:"mx_worley_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),WF=On([VF,HF]),XF=U(([s])=>{const e=s.y,t=s.z,n=D().toVar();return Oe(e.lessThan(1e-4),()=>{n.assign(D(t,t,t))}).Else(()=>{let i=s.x;i=i.sub(xr(i)).mul(6).toVar();const r=L(yg(i)),o=i.sub(A(r)),a=t.mul(e.oneMinus()),c=t.mul(e.mul(o).oneMinus()),l=t.mul(e.mul(o.oneMinus()).oneMinus());Oe(r.equal(L(0)),()=>{n.assign(D(t,l,a))}).ElseIf(r.equal(L(1)),()=>{n.assign(D(c,t,a))}).ElseIf(r.equal(L(2)),()=>{n.assign(D(a,t,l))}).ElseIf(r.equal(L(3)),()=>{n.assign(D(a,c,t))}).ElseIf(r.equal(L(4)),()=>{n.assign(D(l,a,t))}).Else(()=>{n.assign(D(t,a,c))})}),n}).setLayout({name:"mx_hsvtorgb",type:"vec3",inputs:[{name:"hsv",type:"vec3"}]}),qF=U(([s])=>{const e=D(s).toVar(),t=A(e.x).toVar(),n=A(e.y).toVar(),i=A(e.z).toVar(),r=A(Mn(t,Mn(n,i))).toVar(),o=A(ft(t,ft(n,i))).toVar(),a=A(o.sub(r)).toVar(),c=A().toVar(),l=A().toVar(),u=A().toVar();return u.assign(o),Oe(o.greaterThan(0),()=>{l.assign(a.div(o))}).Else(()=>{l.assign(0)}),Oe(l.lessThanEqual(0),()=>{c.assign(0)}).Else(()=>{Oe(t.greaterThanEqual(o),()=>{c.assign(n.sub(i).div(a))}).ElseIf(n.greaterThanEqual(o),()=>{c.assign(Wt(2,i.sub(t).div(a)))}).Else(()=>{c.assign(Wt(4,t.sub(n).div(a)))}),c.mulAssign(1/6),Oe(c.lessThan(0),()=>{c.addAssign(1)})}),D(c,l,u)}).setLayout({name:"mx_rgbtohsv",type:"vec3",inputs:[{name:"c",type:"vec3"}]}),$F=U(([s])=>{const e=D(s).toVar(),t=ig(fg(e,D(.04045))).toVar(),n=D(e.div(12.92)).toVar(),i=D(jn(ft(e.add(D(.055)),D(0)).div(1.055),D(2.4))).toVar();return it(n,i,t)}).setLayout({name:"mx_srgb_texture_to_lin_rec709",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),kw=(s,e)=>{s=A(s),e=A(e);const t=z(e.dFdx(),e.dFdy()).length().mul(.7071067811865476);return ti(s.sub(t),s.add(t),e)},Gw=(s,e,t,n)=>it(s,e,t[n].clamp()),YF=(s,e,t=rt())=>Gw(s,e,t,"x"),ZF=(s,e,t=rt())=>Gw(s,e,t,"y"),Hw=(s,e,t,n,i)=>it(s,e,kw(t,n[i])),JF=(s,e,t,n=rt())=>Hw(s,e,t,n,"x"),KF=(s,e,t,n=rt())=>Hw(s,e,t,n,"y"),jF=(s=1,e=0,t=rt())=>t.mul(s).add(e),QF=(s,e=1)=>(s=A(s),s.abs().pow(e).mul(s.sign())),eO=(s,e=1,t=.5)=>A(s).sub(t).mul(e).add(t),tO=(s=rt(),e=1,t=0)=>h0(s.convert("vec2|vec3")).mul(e).add(t),nO=(s=rt(),e=1,t=0)=>d0(s.convert("vec2|vec3")).mul(e).add(t),iO=(s=rt(),e=1,t=0)=>(s=s.convert("vec2|vec3"),oe(d0(s),h0(s.add(z(19,73)))).mul(e).add(t)),sO=(s=rt(),e=1)=>zF(s.convert("vec2|vec3"),e,L(1)),rO=(s=rt(),e=1)=>GF(s.convert("vec2|vec3"),e,L(1)),oO=(s=rt(),e=1)=>WF(s.convert("vec2|vec3"),e,L(1)),aO=(s=rt())=>NF(s.convert("vec2|vec3")),cO=(s=rt(),e=3,t=2,n=.5,i=1)=>Eh(s,L(e),t,n).mul(i),lO=(s=rt(),e=3,t=2,n=.5,i=1)=>PF(s,L(e),t,n).mul(i),uO=(s=rt(),e=3,t=2,n=.5,i=1)=>zw(s,L(e),t,n).mul(i),hO=(s=rt(),e=3,t=2,n=.5,i=1)=>LF(s,L(e),t,n).mul(i),Ww=U(([s,e])=>{const t=s.x,n=s.y,i=s.z;let r=e.element(0).mul(.886227);return r=r.add(e.element(1).mul(2*.511664).mul(n)),r=r.add(e.element(2).mul(2*.511664).mul(i)),r=r.add(e.element(3).mul(2*.511664).mul(t)),r=r.add(e.element(4).mul(2*.429043).mul(t).mul(n)),r=r.add(e.element(5).mul(2*.429043).mul(n).mul(i)),r=r.add(e.element(6).mul(i.mul(i).mul(.743125).sub(.247708))),r=r.add(e.element(7).mul(2*.429043).mul(t).mul(i)),r=r.add(e.element(8).mul(.429043).mul(ot(t,t).sub(ot(n,n)))),r});class Xw extends vr{static get type(){return"PointLightNode"}constructor(e=null){super(e),this.cutoffDistanceNode=pe(0).setGroup(_t),this.decayExponentNode=pe(0).setGroup(_t)}update(e){const{light:t}=this;super.update(e),this.cutoffDistanceNode.value=t.distance,this.decayExponentNode.value=t.decay}setup(e){const{colorNode:t,cutoffDistanceNode:n,decayExponentNode:i,light:r}=this,o=e.context.lightingModel,a=Hd(r).sub(Pn),c=a.normalize(),l=a.length(),u=o0({lightDistance:l,cutoffDistance:n,decayExponent:i}),h=t.mul(u),d=e.context.reflectedLight;o.direct({lightDirection:c,lightColor:h,reflectedLight:d},e.stack,e)}}class qw extends vr{static get type(){return"DirectionalLightNode"}constructor(e=null){super(e)}setup(e){super.setup(e);const t=e.context.lightingModel,n=this.colorNode,i=l0(this.light),r=e.context.reflectedLight;t.direct({lightDirection:i,lightColor:n,reflectedLight:r},e.stack,e)}}const of=new Fe,Ru=new Fe;let Za=null;class $w extends vr{static get type(){return"RectAreaLightNode"}constructor(e=null){super(e),this.halfHeight=pe(new E).setGroup(_t),this.halfWidth=pe(new E).setGroup(_t)}update(e){super.update(e);const{light:t}=this,n=e.camera.matrixWorldInverse;Ru.identity(),of.copy(t.matrixWorld),of.premultiply(n),Ru.extractRotation(of),this.halfWidth.value.set(t.width*.5,0,0),this.halfHeight.value.set(0,t.height*.5,0),this.halfWidth.value.applyMatrix4(Ru),this.halfHeight.value.applyMatrix4(Ru)}setup(e){super.setup(e);let t,n;e.isAvailable("float32Filterable")?(t=xt(Za.LTC_FLOAT_1),n=xt(Za.LTC_FLOAT_2)):(t=xt(Za.LTC_HALF_1),n=xt(Za.LTC_HALF_2));const{colorNode:i,light:r}=this,o=e.context.lightingModel,a=Hd(r),c=e.context.reflectedLight;o.directRectArea({lightColor:i,lightPosition:a,halfWidth:this.halfWidth,halfHeight:this.halfHeight,reflectedLight:c,ltc_1:t,ltc_2:n},e.stack,e)}static setLTC(e){Za=e}}class p0 extends vr{static get type(){return"SpotLightNode"}constructor(e=null){super(e),this.coneCosNode=pe(0).setGroup(_t),this.penumbraCosNode=pe(0).setGroup(_t),this.cutoffDistanceNode=pe(0).setGroup(_t),this.decayExponentNode=pe(0).setGroup(_t)}update(e){super.update(e);const{light:t}=this;this.coneCosNode.value=Math.cos(t.angle),this.penumbraCosNode.value=Math.cos(t.angle*(1-t.penumbra)),this.cutoffDistanceNode.value=t.distance,this.decayExponentNode.value=t.decay}getSpotAttenuation(e){const{coneCosNode:t,penumbraCosNode:n}=this;return ti(t,n,e)}setup(e){super.setup(e);const t=e.context.lightingModel,{colorNode:n,cutoffDistanceNode:i,decayExponentNode:r,light:o}=this,a=Hd(o).sub(Pn),c=a.normalize(),l=c.dot(l0(o)),u=this.getSpotAttenuation(l),h=a.length(),d=o0({lightDistance:h,cutoffDistance:i,decayExponent:r}),p=n.mul(u).mul(d),f=e.context.reflectedLight;t.direct({lightDirection:c,lightColor:p,reflectedLight:f},e.stack,e)}}class Yw extends p0{static get type(){return"IESSpotLightNode"}getSpotAttenuation(e){const t=this.light.iesMap;let n=null;if(t&&t.isTexture===!0){const i=e.acos().mul(1/Math.PI);n=xt(t,z(i,0),0).r}else n=super.getSpotAttenuation(e);return n}}class Zw extends vr{static get type(){return"AmbientLightNode"}constructor(e=null){super(e)}setup({context:e}){e.irradiance.addAssign(this.colorNode)}}class Jw extends vr{static get type(){return"HemisphereLightNode"}constructor(e=null){super(e),this.lightPositionNode=c0(e),this.lightDirectionNode=this.lightPositionNode.normalize(),this.groundColorNode=pe(new _e).setGroup(_t)}update(e){const{light:t}=this;super.update(e),this.lightPositionNode.object3d=t,this.groundColorNode.value.copy(t.groundColor).multiplyScalar(t.intensity)}setup(e){const{colorNode:t,groundColorNode:n,lightDirectionNode:i}=this,o=di.dot(i).mul(.5).add(.5),a=it(n,t,o);e.context.irradiance.addAssign(a)}}class Kw extends vr{static get type(){return"LightProbeNode"}constructor(e=null){super(e);const t=[];for(let n=0;n<9;n++)t.push(new E);this.lightProbe=fs(t)}update(e){const{light:t}=this;super.update(e);for(let n=0;n<9;n++)this.lightProbe.array[n].copy(t.sh.coefficients[n]).multiplyScalar(t.intensity)}setup(e){const t=Ww(Id,this.lightProbe);e.context.irradiance.addAssign(t)}}class dO{parseFunction(){console.warn("Abstract function.")}}class jw{constructor(e,t,n="",i=""){this.type=e,this.inputs=t,this.name=n,this.precision=i}getCode(){console.warn("Abstract function.")}}jw.isNodeFunction=!0;const pO=/^\s*(highp|mediump|lowp)?\s*([a-z_0-9]+)\s*([a-z_0-9]+)?\s*\(([\s\S]*?)\)/i,fO=/[a-z_0-9]+/ig,X_="#pragma main",mO=s=>{s=s.trim();const e=s.indexOf(X_),t=e!==-1?s.slice(e+X_.length):s,n=t.match(pO);if(n!==null&&n.length===5){const i=n[4],r=[];let o=null;for(;(o=fO.exec(i))!==null;)r.push(o);const a=[];let c=0;for(;c<r.length;){const f=r[c][0]==="const";f===!0&&c++;let x=r[c][0];x==="in"||x==="out"||x==="inout"?c++:x="";const m=r[c++][0];let g=Number.parseInt(r[c][0]);Number.isNaN(g)===!1?c++:g=null;const y=r[c++][0];a.push(new t0(m,y,g,x,f))}const l=t.substring(n[0].length),u=n[3]!==void 0?n[3]:"",h=n[2],d=n[1]!==void 0?n[1]:"",p=e!==-1?s.slice(0,e):"";return{type:h,inputs:a,name:u,precision:d,inputsCode:i,blockCode:l,headerCode:p}}else throw new Error("FunctionNode: Function is not a GLSL code.")};class gO extends jw{constructor(e){const{type:t,inputs:n,name:i,precision:r,inputsCode:o,blockCode:a,headerCode:c}=mO(e);super(t,n,i,r),this.inputsCode=o,this.blockCode=a,this.headerCode=c}getCode(e=this.name){let t;const n=this.blockCode;if(n!==""){const{type:i,inputsCode:r,headerCode:o,precision:a}=this;let c=`${i} ${e} ( ${r.trim()} )`;a!==""&&(c=`${a} ${c}`),t=o+c+n}else t="";return t}}class Qw extends dO{parseFunction(e){return new gO(e)}}class xO{constructor(){this.lightNodes=new WeakMap,this.materialNodes=new Map,this.toneMappingNodes=new Map,this.colorSpaceNodes=new Map}fromMaterial(e){if(e.isNodeMaterial)return e;let t=null;const n=this.getMaterialNodeClass(e.type);if(n!==null){t=new n;for(const i in e)t[i]=e[i]}return t}addColorSpace(e,t){this.addType(e,t,this.colorSpaceNodes)}getColorSpaceFunction(e){return this.colorSpaceNodes.get(e)||null}addToneMapping(e,t){this.addType(e,t,this.toneMappingNodes)}getToneMappingFunction(e){return this.toneMappingNodes.get(e)||null}getMaterialNodeClass(e){return this.materialNodes.get(e)||null}addMaterial(e,t){this.addType(e,t.name,this.materialNodes)}getLightNodeClass(e){return this.lightNodes.get(e)||null}addLight(e,t){this.addClass(e,t,this.lightNodes)}addType(e,t,n){if(n.has(t)){console.warn(`Redefinition of node ${t}`);return}if(typeof e!="function")throw new Error(`Node class ${e.name} is not a class.`);if(typeof t=="function"||typeof t=="object")throw new Error(`Base class ${t} is not a class.`);n.set(t,e)}addClass(e,t,n){if(n.has(t)){console.warn(`Redefinition of node ${t.name}`);return}if(typeof e!="function")throw new Error(`Node class ${e.name} is not a class.`);if(typeof t!="function")throw new Error(`Base class ${t.name} is not a class.`);n.set(t,e)}}class _O extends sl{constructor(e,t,n,i,r,o){super(e,t,n,i,r,o),this.iesMap=null}copy(e,t){return super.copy(e,t),this.iesMap=e.iesMap,this}}class eA extends xO{constructor(){super(),this.addLight(Xw,Md),this.addLight(qw,Sd),this.addLight($w,Um),this.addLight(p0,sl),this.addLight(Zw,Td),this.addLight(Jw,vd),this.addLight(Kw,Fm),this.addLight(Yw,_O),this.addToneMapping(Ew,Ch),this.addToneMapping(Cw,Rh),this.addToneMapping(Rw,Gf),this.addToneMapping(Iw,Ih),this.addToneMapping(Pw,Ph),this.addToneMapping(Lw,Lh),this.addColorSpace(Nw,vh(li,kn)),this.addColorSpace(Aw,vh(kn,li))}}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:js}}));if(typeof window<"u"){try{typeof document>"u"?require("url").pathToFileURL(__filename).href:go&&go.tagName.toUpperCase()==="SCRIPT"&&go.src||new URL("three-BjYim-vL.umd.cjs",document.baseURI).href,window.__THREE__IMPORTS__||(window.__THREE__IMPORTS__=[]),window.__THREE__IMPORTS__.push({url:typeof document>"u"?require("url").pathToFileURL(__filename).href:go&&go.tagName.toUpperCase()==="SCRIPT"&&go.src||new URL("three-BjYim-vL.umd.cjs",document.baseURI).href,revision:js})}catch{}window.__THREE__?(console.warn("WARNING: Multiple instances of Three.js being imported. Existing: "+window.__THREE__+", new: "+js),console.warn(window.__THREE__IMPORTS__)):window.__THREE__=js}const yO=Object.freeze(Object.defineProperty({__proto__:null,ACESFilmicToneMapping:Ih,AONode:kT,AddEquation:Js,AddOperation:kf,AdditiveAnimationBlendMode:jf,AdditiveBlending:lc,AfterImageNode:Jb,AgXToneMapping:Ph,AlphaFormat:qf,AlwaysCompare:Vy,AlwaysDepth:hc,AlwaysStencilFunc:oh,AmbientLight:Td,AmbientLightNode:Zw,AnaglyphPassNode:fw,AnalyticLightNode:vr,AnamorphicNode:jb,AnimationAction:Nv,AnimationClip:ua,AnimationLoader:BI,AnimationMixer:Ev,AnimationObjectGroup:sP,AnimationUtils:UI,ArcCurve:rv,ArrayCamera:lm,ArrayElementNode:gr,ArrowHelper:_P,AssignNode:uM,AttachedBindMode:uf,AttributeNode:Rg,Audio:zm,AudioAnalyser:YI,AudioContext:bd,AudioListener:bv,AudioLoader:Tv,AxesHelper:zv,BRDF_GGX:Cf,BRDF_Lambert:io,BackSide:ln,BasicDepthPacking:Qf,BasicEnvironmentNode:Od,BasicNodeLibrary:eA,BasicShadowMap:oA,BatchNode:LT,BatchedMesh:mm,BloomNode:cw,Bone:ed,BooleanKeyframeTrack:fr,Box2:uP,Box3:Wn,Box3Helper:Bv,BoxGeometry:vs,BoxHelper:Vv,Break:Fd,BufferAttribute:At,BufferAttributeNode:_S,BufferGeometry:at,BufferGeometryLoader:vv,BufferNode:Ld,BumpMapNode:eT,BypassNode:TS,ByteType:Wf,Cache:ps,CacheNode:SS,Camera:Zc,CameraHelper:Ov,CanvasTexture:sv,CapsuleGeometry:nd,CatmullRomCurve3:vm,CineonToneMapping:Gf,CircleGeometry:id,ClampToEdgeWrapping:Si,Clock:Bm,CodeNode:Kg,Color:_e,ColorKeyframeTrack:_d,ColorManagement:gt,ColorSpaceNode:dl,CompressedArrayTexture:nv,CompressedCubeTexture:iv,CompressedTexture:jc,CompressedTextureLoader:zI,ComputeNode:vS,ConeGeometry:sd,ConstNode:Wi,ConstantAlphaFactor:uy,ConstantColorFactor:cy,ContextNode:bg,Continue:EL,Controls:Gv,ConvertNode:Km,CubeCamera:Yh,CubeReflectionMapping:wi,CubeRefractionMapping:Vi,CubeTexture:ro,CubeTextureLoader:kI,CubeTextureNode:qS,CubeUVReflectionMapping:dr,CubicBezierCurve:Mm,CubicBezierCurve3:ov,CubicInterpolant:fv,CullFaceBack:af,CullFaceFront:Z_,CullFaceFrontBack:rA,CullFaceNone:Y_,Curve:Gi,CurvePath:cv,CustomBlending:Vf,CustomToneMapping:dy,CylinderGeometry:lo,Cylindrical:lP,DFGApprox:$g,D_GGX:sb,Data3DTexture:qh,DataArrayTexture:$c,DataTexture:Oi,DataTextureLoader:xv,DataUtils:Hy,DecrementStencilOp:Sy,DecrementWrapStencilOp:by,DefaultLoadingManager:Lm,DenoiseNode:ow,DepthFormat:er,DepthOfFieldNode:ew,DepthStencilFormat:cr,DepthTexture:co,DetachedBindMode:py,DirectionalLight:Sd,DirectionalLightHelper:Fv,DirectionalLightNode:qw,Discard:ES,DiscreteInterpolant:mv,DisplayP3ColorSpace:Wh,DodecahedronGeometry:rd,DotScreenNode:tw,DoubleSide:Ji,DstAlphaFactor:iy,DstColorFactor:ry,DynamicCopyUsage:xA,DynamicDrawUsage:Hr,DynamicReadUsage:fA,EPSILON:RM,EdgesGeometry:Am,EllipseCurve:td,EnvironmentNode:mb,EqualCompare:Dy,EqualDepth:pc,EqualStencilFunc:Ey,EquirectUVNode:jT,EquirectangularReflectionMapping:sr,EquirectangularRefractionMapping:rr,Euler:ui,EventDispatcher:Ai,ExpressionNode:NS,ExtrudeGeometry:el,FXAANode:aw,F_Schlick:fa,FileLoader:ts,FilmNode:iw,Float16BufferAttribute:Wy,Float32BufferAttribute:Ve,FloatType:Gn,Fn:U,Fog:um,FogExp2:jh,FogExp2Node:Mw,FogNode:Gd,FogRangeNode:vw,FramebufferTexture:_m,FrontFacingNode:OS,FrontSide:gs,Frustum:xa,FunctionCallNode:dM,FunctionNode:jg,FunctionOverloadingNode:Lb,GLBufferAttribute:cP,GLSL1:yA,GLSL3:ah,GLSLNodeParser:Qw,GTAONode:rw,GaussianBlurNode:Zb,GreaterCompare:Uy,GreaterDepth:mc,GreaterEqualCompare:Oy,GreaterEqualDepth:fc,GreaterEqualStencilFunc:Py,GreaterStencilFunc:Ry,GridHelper:Uv,Group:Wr,HalfFloatType:Ln,HemisphereLight:vd,HemisphereLightHelper:mP,HemisphereLightNode:Jw,IESSpotLightNode:Yw,INFINITY:HP,IcosahedronGeometry:ad,If:Oe,ImageBitmapLoader:Sv,ImageLoader:Uc,ImageUtils:ky,IncrementStencilOp:My,IncrementWrapStencilOp:Ty,IndexNode:zt,InstanceNode:IT,InstancedBufferAttribute:Fs,InstancedBufferGeometry:Om,InstancedInterleavedBuffer:Hm,InstancedMesh:fm,InstancedPointsNodeMaterial:HL,Int16BufferAttribute:i1,Int32BufferAttribute:s1,Int8BufferAttribute:e1,IntType:ga,InterleavedBuffer:ya,InterleavedBufferAttribute:Us,Interpolant:Ta,InterpolateDiscrete:sa,InterpolateLinear:wc,InterpolateSmooth:Iu,InvertStencilOp:wy,IrradianceNode:WT,JoinNode:qv,KeepStencilOp:Ys,KeyframeTrack:Hi,LOD:dm,LatheGeometry:Qc,Layers:Yc,LessCompare:nm,LessDepth:dc,LessEqualCompare:im,LessEqualDepth:ir,LessEqualStencilFunc:Cy,LessStencilFunc:Ny,Light:mr,LightProbe:Fm,LightProbeNode:Kw,LightingContextNode:GT,LightingModel:Sl,LightingNode:po,LightsNode:BT,Line:Os,Line2NodeMaterial:ZL,Line3:Lv,LineBasicMaterial:Fn,LineBasicNodeMaterial:XL,LineCurve:Sm,LineCurve3:av,LineDashedMaterial:xd,LineDashedNodeMaterial:$L,LineLoop:gm,LineSegments:rs,LinearDisplayP3ColorSpace:qc,LinearFilter:Ut,LinearInterpolant:Pm,LinearMipMapLinearFilter:Hf,LinearMipMapNearestFilter:cA,LinearMipmapLinearFilter:Kn,LinearMipmapNearestFilter:Qs,LinearSRGBColorSpace:li,LinearToneMapping:Ch,LinearTransfer:Nc,Loader:qn,LoaderUtils:dh,LoadingManager:yd,Loop:mt,LoopNode:FT,LoopOnce:Jf,LoopPingPong:my,LoopRepeat:Kf,LuminanceAlphaFormat:Yf,LuminanceFormat:$f,Lut3DNode:sw,MOUSE:q_,MRTNode:Pb,MatcapUVNode:_b,Material:mn,MaterialLoader:rl,MaterialNode:j,MaterialReferenceNode:$S,MathUtils:Xh,Matrix2:Wm,Matrix3:Ke,Matrix4:Fe,MaxEquation:Bf,MaxMipLevelNode:PS,Mesh:kt,MeshBasicMaterial:ss,MeshBasicNodeMaterial:s2,MeshDepthMaterial:Kh,MeshDistanceMaterial:cm,MeshLambertMaterial:gd,MeshLambertNodeMaterial:l2,MeshMatcapMaterial:Rm,MeshMatcapNodeMaterial:$2,MeshNormalMaterial:md,MeshNormalNodeMaterial:jL,MeshPhongMaterial:fd,MeshPhongNodeMaterial:h2,MeshPhysicalMaterial:pd,MeshPhysicalNodeMaterial:xb,MeshSSSNodeMaterial:k2,MeshStandardMaterial:il,MeshStandardNodeMaterial:gb,MeshToonMaterial:Cm,MeshToonNodeMaterial:X2,MinEquation:j_,MirroredRepeatWrapping:ta,MixOperation:zf,ModelNode:is,ModelViewProjectionNode:ET,MorphNode:OT,MultiplyBlending:lf,MultiplyOperation:ma,NearestFilter:Qt,NearestMipMapLinearFilter:aA,NearestMipMapNearestFilter:fy,NearestMipmapLinearFilter:Is,NearestMipmapNearestFilter:Uh,NeutralToneMapping:Lh,NeverCompare:Ly,NeverDepth:uc,NeverStencilFunc:Ay,NoBlending:Fi,NoColorSpace:Li,NoToneMapping:Ti,Node:Ye,NodeAttribute:Df,NodeBuilder:Rb,NodeCache:Fu,NodeCode:Nb,NodeFrame:Ib,NodeFunctionInput:t0,NodeLoader:Tb,NodeMaterial:Tt,NodeMaterialLoader:bb,NodeMaterialObserver:Hv,NodeObjectLoader:i3,NodeShaderStage:_f,NodeType:SP,NodeUniform:wb,NodeUpdateType:We,NodeUtils:MP,NodeVar:Zg,NodeVarying:Ab,NormalAnimationBlendMode:Hh,NormalBlending:Ls,NormalMapNode:QS,NotEqualCompare:Fy,NotEqualDepth:gc,NotEqualStencilFunc:Iy,NumberKeyframeTrack:ca,Object3D:yt,Object3DNode:wt,ObjectLoader:Mv,ObjectSpaceNormalMap:tm,OctahedronGeometry:Ma,OneFactor:ey,OneMinusConstantAlphaFactor:hy,OneMinusConstantColorFactor:ly,OneMinusDstAlphaFactor:sy,OneMinusDstColorFactor:oy,OneMinusSrcAlphaFactor:ku,OneMinusSrcColorFactor:ny,OrthographicCamera:ao,OscNode:pn,OutputStructNode:n0,P3Primaries:Cc,PCFShadowMap:Ff,PCFSoftShadowMap:Of,PI:no,PI2:WP,PMREMGenerator:ch,PMREMNode:pb,ParallaxBarrierPassNode:mw,ParameterNode:Jg,PassNode:bn,Path:Ic,PerspectiveCamera:hn,PhongLightingModel:Xg,PhysicalLightingModel:Bd,PixelationPassNode:uw,Plane:ls,PlaneGeometry:oo,PlaneHelper:xP,PointLight:Md,PointLightHelper:pP,PointLightNode:Xw,PointUVNode:Gb,Points:xm,PointsMaterial:va,PointsNodeMaterial:Z2,PolarGridHelper:gP,PolyhedronGeometry:pr,PositionalAudio:wv,PosterizeNode:qb,PropertyBinding:St,PropertyMixer:Av,PropertyNode:Nt,QuadraticBezierCurve:Tm,QuadraticBezierCurve3:bm,Quaternion:Hn,QuaternionKeyframeTrack:ba,QuaternionLinearInterpolant:gv,RED_GREEN_RGTC2_Format:sh,RED_RGTC1_Format:Zf,REVISION:js,RGBADepthPacking:em,RGBAFormat:Rn,RGBAIntegerFormat:Gh,RGBA_ASTC_10x10_Format:Qu,RGBA_ASTC_10x5_Format:Ju,RGBA_ASTC_10x6_Format:Ku,RGBA_ASTC_10x8_Format:ju,RGBA_ASTC_12x10_Format:eh,RGBA_ASTC_12x12_Format:th,RGBA_ASTC_4x4_Format:Sc,RGBA_ASTC_5x4_Format:Wu,RGBA_ASTC_5x5_Format:Xu,RGBA_ASTC_6x5_Format:qu,RGBA_ASTC_6x6_Format:Tc,RGBA_ASTC_8x5_Format:$u,RGBA_ASTC_8x6_Format:Yu,RGBA_ASTC_8x8_Format:Zu,RGBA_BPTC_Format:jo,RGBA_ETC2_EAC_Format:Mc,RGBA_PVRTC_2BPPV1_Format:Hu,RGBA_PVRTC_4BPPV1_Format:_c,RGBA_S3TC_DXT1_Format:Zo,RGBA_S3TC_DXT3_Format:Jo,RGBA_S3TC_DXT5_Format:Ko,RGBDepthPacking:uA,RGBFormat:zh,RGBIntegerFormat:lA,RGBShiftNode:nw,RGB_BPTC_SIGNED_Format:nh,RGB_BPTC_UNSIGNED_Format:bc,RGB_ETC1_Format:yc,RGB_ETC2_Format:vc,RGB_PVRTC_2BPPV1_Format:Gu,RGB_PVRTC_4BPPV1_Format:xc,RGB_S3TC_DXT1_Format:Yo,RGDepthPacking:hA,RGFormat:ia,RGIntegerFormat:kh,RTTNode:Bb,RangeNode:Sw,RawShaderMaterial:Em,Ray:so,Raycaster:Iv,Rec709Primaries:Ec,RectAreaLight:Um,RectAreaLightNode:$w,RedFormat:Wc,RedIntegerFormat:Xc,ReferenceNode:gl,ReflectorNode:Vb,ReinhardToneMapping:Rh,RemapNode:Cg,RenderOutputNode:CS,RenderTarget:fn,RendererReferenceNode:pS,RepeatWrapping:or,ReplaceStencilOp:vy,Return:ZP,ReverseSubtractEquation:K_,RingGeometry:tl,RotateNode:vb,SIGNED_RED_GREEN_RGTC2_Format:rh,SIGNED_RED_RGTC1_Format:ih,SRGBColorSpace:kn,SRGBTransfer:Vt,SSAAPassNode:hw,Scene:Qh,SceneNode:Qi,Schlick_to_F0:ob,ScreenNode:sn,ScriptableNode:yw,ScriptableValueNode:xw,SetNode:$v,ShaderChunk:lt,ShaderLib:Pi,ShaderMaterial:ki,ShaderNode:tc,ShadowMaterial:dd,ShadowNodeMaterial:e3,Shape:tr,ShapeGeometry:cd,ShapePath:kv,ShapeUtils:ji,ShortType:Xf,Skeleton:Kc,SkeletonHelper:dP,SkinnedMesh:pm,SkinningNode:zg,SobelOperatorNode:Qb,Source:Ks,Sphere:Dn,SphereGeometry:Sa,Spherical:Pv,SphericalHarmonics3:yv,SplineCurve:wm,SplitNode:ph,SpotLight:sl,SpotLightHelper:hP,SpotLightNode:p0,Sprite:hm,SpriteMaterial:Jc,SpriteNodeMaterial:K2,SpriteSheetUVNode:Db,SrcAlphaFactor:zu,SrcAlphaSaturateFactor:ay,SrcColorFactor:ty,StackNode:Cb,StaticCopyUsage:gA,StaticDrawUsage:ra,StaticReadUsage:pA,StereoCamera:Vm,StereoPassNode:dw,StorageArrayElementNode:Ub,StorageBufferNode:r0,StorageTextureNode:Hb,StreamCopyUsage:_A,StreamDrawUsage:dA,StreamReadUsage:mA,StringKeyframeTrack:uo,SubtractEquation:J_,SubtractiveBlending:cf,TBNViewMatrix:$r,TOUCH:$_,TangentSpaceNormalMap:xs,TempNode:pt,TetrahedronGeometry:ld,Texture:Xt,Texture3DNode:Mb,TextureLoader:_v,TextureNode:_s,TextureSizeNode:IS,TextureUtils:zR,TimerNode:Sn,ToneMappingNode:mS,ToonOutlinePassNode:gw,TorusGeometry:nl,TorusKnotGeometry:ud,TransitionNode:lw,Triangle:Jn,TriangleFanDrawMode:_y,TriangleStripDrawMode:xy,TrianglesDrawMode:gy,TriplanarTexturesNode:Fb,TubeGeometry:hd,UVMapping:Dh,Uint16BufferAttribute:$h,Uint32BufferAttribute:rm,Uint8BufferAttribute:t1,Uint8ClampedBufferAttribute:n1,Uniform:Cv,UniformArrayNode:Ug,UniformGroupNode:sg,UniformNode:ho,UniformsGroup:aP,UniformsLib:Se,UniformsUtils:om,UnsignedByteType:es,UnsignedInt101111Type:Bh,UnsignedInt248Type:ar,UnsignedInt5999Type:Vh,UnsignedIntType:Bi,UnsignedShort4444Type:Fh,UnsignedShort5551Type:Oh,UnsignedShortType:na,UserDataNode:Xb,VSMShadowMap:oi,V_GGX_SmithCorrelated:ib,VarNode:aS,VaryingNode:cS,Vector2:J,Vector3:E,Vector4:st,VectorKeyframeTrack:la,VertexColorNode:kb,VideoTexture:tv,ViewportDepthNode:Qn,ViewportDepthTextureNode:YT,ViewportSharedTextureNode:$b,ViewportTextureNode:Ml,VolumeNodeMaterial:n3,WebGL3DRenderTarget:WA,WebGLArrayRenderTarget:HA,WebGLCoordinateSystem:Di,WebGLCubeRenderTarget:Zh,WebGLMultipleRenderTargets:yP,WebGLRenderTarget:zi,WebGLRenderer:jy,WebGLUtils:Ky,WebGPUCoordinateSystem:eo,WireframeGeometry:Nm,WrapAroundEnding:Ac,ZeroCurvatureEnding:kr,ZeroFactor:Q_,ZeroSlopeEnding:Gr,ZeroStencilOp:yy,abs:Dt,acesFilmicToneMapping:Iw,acos:yh,add:Wt,addMethodChaining:te,addNodeElement:JP,afterImage:dD,agxToneMapping:Pw,all:mg,alphaT:mh,anaglyphPass:YD,anamorphic:_D,and:yM,anisotropy:Zs,anisotropyB:Kr,anisotropyT:nc,any:IM,ao:ED,append:jv,arrayBuffer:BP,asin:OM,assign:hM,atan:VM,atan2:$M,atomicAdd:qU,atomicAnd:JU,atomicFunc:Vs,atomicMax:YU,atomicMin:ZU,atomicOr:KU,atomicStore:XU,atomicSub:$U,atomicXor:jU,attenuationColor:hg,attenuationDistance:ug,attribute:vn,backgroundBlurriness:eD,backgroundIntensity:tD,batch:DT,billboarding:xU,bitAnd:TM,bitNot:bM,bitOr:wM,bitXor:AM,bitangentGeometry:gL,bitangentLocal:xL,bitangentView:ZS,bitangentWorld:_L,bitcast:XP,bleach:AU,bloom:OD,blur:db,bool:lr,buffer:ml,bufferAttribute:pl,bumpMap:tT,burn:MU,bvec2:tM,bvec3:ig,bvec4:rM,bypass:bS,cache:sc,call:pM,cameraFar:zo,cameraLogDepth:DS,cameraNear:Bo,cameraNormalMatrix:eL,cameraPosition:Ig,cameraProjectionMatrix:ci,cameraProjectionMatrixInverse:jP,cameraViewMatrix:pi,cameraWorldMatrix:QP,cbrt:eS,ceil:_g,checker:QU,cineonToneMapping:Rw,clamp:cn,clearcoat:fh,clearcoatRoughness:kc,code:zd,color:Qv,colorSpaceToWorking:Eg,colorToDirection:JL,compute:MS,cond:rS,context:wg,convert:aM,convertToTexture:ei,cos:Mi,createCanvasElement:zy,cross:ea,cubeTexture:Pd,dFdx:kM,dFdy:GM,dashSize:jr,defaultBuildStages:yf,defaultShaderStages:Jm,defined:Vc,degrees:DM,denoise:ID,densityFog:tU,depth:Hg,depthPass:uD,difference:JM,diffuseColor:Ct,directionToColor:KT,dispersion:dg,distance:ZM,div:ns,dodge:SU,dof:vD,dot:$t,dotScreen:MD,drawIndex:RT,dynamicBufferAttribute:yS,element:oM,emissive:Sf,equal:fM,equals:PM,equirectUV:Wg,exp:gg,exp2:_h,expression:ur,faceDirection:fl,faceForward:nS,film:TD,float:A,floor:xr,fog:QD,fract:_r,frameGroup:kP,frameId:B3,frontFacing:VS,fwidth:XM,fxaa:PD,gain:hU,gapSize:Hc,gaussianBlur:hD,getColorSpaceMethod:vh,getConstNodeType:Kv,getCurrentStack:ng,getDirection:ub,getDistanceAttenuation:o0,getGeometryRoughness:nb,getRoughness:qg,getShIrradianceAt:Ww,getTextureIndex:i0,global:Bu,glsl:c3,glslFn:l3,grayscale:pD,greaterThan:fg,greaterThanEqual:_M,hash:uU,highPrecisionModelNormalViewMatrix:hL,highPrecisionModelViewMatrix:uL,hue:gD,instance:PT,instanceIndex:vl,instancedBufferAttribute:Mh,instancedDynamicBufferAttribute:Tf,int:L,inverseSqrt:UM,invocationLocalIndex:AL,invocationSubgroupIndex:wL,ior:ic,iridescence:Ed,iridescenceIOR:og,iridescenceThickness:ag,ivec2:us,ivec3:nM,ivec4:iM,js:o3,label:oS,length:Qr,lengthSq:Mg,lessThan:gM,lessThanEqual:xM,lightPosition:c0,lightTargetDirection:l0,lightTargetPosition:Tw,lightViewPosition:Hd,lightingContext:HT,lights:zT,linearDepth:wh,linearSRGBTosRGB:Nw,linearToneMapping:Ew,localId:UU,log:xg,log2:cl,loop:CL,luminance:En,lut3D:bD,mat2:al,mat3:Tn,mat4:Jr,matcapUV:yb,materialAOMap:NT,materialAlphaTest:nT,materialAnisotropy:gT,materialAnisotropyVector:ko,materialAttenuationColor:bT,materialAttenuationDistance:TT,materialClearcoat:uT,materialClearcoatNormal:dT,materialClearcoatRoughness:hT,materialColor:da,materialDispersion:AT,materialEmissive:sT,materialIOR:ST,materialIridescence:xT,materialIridescenceIOR:_T,materialIridescenceThickness:yT,materialLightMap:Bg,materialLineDashOffset:Nf,materialLineDashSize:Og,materialLineGapSize:Vg,materialLineScale:bh,materialLineWidth:Uu,materialMetalness:cT,materialNormal:lT,materialOpacity:Ud,materialPointWidth:wT,materialReference:Ki,materialReflectivity:Du,materialRefractionRatio:kS,materialRotation:pT,materialRoughness:aT,materialSheen:fT,materialSheenRoughness:mT,materialShininess:iT,materialSpecular:rT,materialSpecularColor:oT,materialSpecularIntensity:Af,materialSpecularStrength:rc,materialThickness:MT,materialTransmission:vT,max:ft,maxMipLevel:LS,metalness:zc,min:Mn,mix:it,mixElement:iS,mod:Cd,modInt:pg,modelDirection:oL,modelNormalMatrix:US,modelPosition:aL,modelScale:cL,modelViewMatrix:ys,modelViewPosition:lL,modelViewProjection:Ef,modelWorldMatrix:Ui,modelWorldMatrixInverse:FS,morphReference:VT,motionBlur:wU,mrt:kd,mul:ot,mx_aastep:kw,mx_cell_noise_float:aO,mx_contrast:eO,mx_fractal_noise_float:cO,mx_fractal_noise_vec2:lO,mx_fractal_noise_vec3:uO,mx_fractal_noise_vec4:hO,mx_hsvtorgb:XF,mx_noise_float:tO,mx_noise_vec3:nO,mx_noise_vec4:iO,mx_ramplr:YF,mx_ramptb:ZF,mx_rgbtohsv:qF,mx_safepower:QF,mx_splitlr:JF,mx_splittb:KF,mx_srgb_texture_to_lin_rec709:$F,mx_transform_uv:jF,mx_worley_noise_float:sO,mx_worley_noise_vec2:rO,mx_worley_noise_vec3:oO,negate:BM,neutralToneMapping:Lw,nodeArray:Zr,nodeImmutable:fe,nodeObject:H,nodeObjects:ol,nodeProxy:K,normalFlat:BS,normalGeometry:Rd,normalLocal:hi,normalMap:wf,normalView:di,normalWorld:Id,normalize:vi,not:MM,notEqual:mM,numWorkgroups:LU,objectDirection:tL,objectGroup:lM,objectPosition:iL,objectScale:sL,objectViewPosition:rL,objectWorldMatrix:nL,oneMinus:zM,or:vM,orthographicDepthToViewZ:VL,oscSawtooth:H3,oscSine:z3,oscSquare:k3,oscTriangle:G3,output:cg,outputStruct:U3,overlay:bU,overloadingFn:On,parabola:Uf,parallaxBarrierPass:ZD,parallaxDirection:KS,parallaxUV:vL,parameter:r3,pass:lD,passTexture:Ea,pcurve:dU,perspectiveDepthToViewZ:Gg,pixelationPass:kD,pmremTexture:fb,pointUV:Q3,pointWidth:GP,positionGeometry:Nn,positionLocal:en,positionPrevious:Sh,positionView:Pn,positionViewDirection:Bt,positionWorld:Th,positionWorldDirection:Pg,posterize:oD,pow:jn,pow2:vg,pow3:KM,pow4:jM,property:ai,radians:LM,rand:Tg,range:nU,rangeFog:eU,reciprocal:WM,reference:dn,referenceBuffer:bf,reflect:YM,reflectVector:WS,reflectView:GS,reflector:Y3,refract:Sg,refractVector:XS,refractView:HS,reinhardToneMapping:Cw,remainder:CM,remap:wS,remapClamp:AS,renderGroup:_t,renderOutput:RS,rendererReference:fS,rgbShift:SD,rotate:Yg,rotateUV:mU,roughness:ds,round:HM,rtt:zb,sRGBToLinearSRGB:Aw,sampler:KP,saturate:tS,saturation:fD,screen:TU,screenCoordinate:Na,screenSize:pa,screenUV:yr,scriptable:jD,scriptableValue:Vu,select:In,sepia:NU,setCurrentStack:Bc,shaderStages:vf,sharedUniformGroup:rg,sheen:qr,sheenRoughness:Nd,shiftLeft:NM,shiftRight:EM,shininess:gh,sign:ll,sin:Cn,sinc:pU,skinning:NL,skinningReference:UT,smoothstep:ti,smoothstepElement:sS,sobel:yD,specularColor:ri,specularF90:Gc,spherizeUV:gU,split:zP,spritesheetUV:W3,sqrt:os,ssaaPass:WD,stack:Ou,step:ul,stereoPass:qD,storage:nD,storageBarrier:BU,storageObject:iD,storageTexture:Wb,string:VP,sub:Ft,subgroupIndex:bL,subgroupSize:FU,tan:FM,tangentGeometry:Dd,tangentLocal:xl,tangentView:_l,tangentWorld:YS,temp:Ag,texture:xt,texture3D:Sb,textureBarrier:zU,textureBicubic:lb,textureCubeUV:hb,textureLoad:Ci,textureSize:nr,textureStore:sD,thickness:lg,threshold:Kb,timerDelta:V3,timerGlobal:O3,timerLocal:s0,toOutputColorSpace:lS,toWorkingColorSpace:uS,toneMapping:gS,toneMappingExposure:xS,toonOutlinePass:JD,transformDirection:QM,transformNormal:zS,transformNormalToView:Dg,transformedBentNormalView:jS,transformedBitangentView:JS,transformedBitangentWorld:yL,transformedClearcoatNormalView:qo,transformedNormalView:Yt,transformedNormalWorld:Lg,transformedTangentView:Fg,transformedTangentWorld:mL,transition:VD,transmission:xh,transpose:qM,tri:hs,tri3:bw,triNoise3D:fU,triplanarTexture:q3,triplanarTextures:Ob,trunc:yg,tslFn:OP,uint:ve,uniform:pe,uniformArray:fs,uniformGroup:cM,uniforms:pL,userData:rD,uv:rt,uvec2:eM,uvec3:Aa,uvec4:sM,varying:Un,varyingProperty:Zi,vec2:z,vec3:D,vec4:oe,vectorComponents:wa,velocity:vU,vertexColor:j3,vertexIndex:CT,vibrance:mD,viewZToOrthographicDepth:oc,viewZToPerspectiveDepth:ZT,viewport:Ds,viewportBottomLeft:FL,viewportCoordinate:qT,viewportDepthTexture:kg,viewportLinearDepth:BL,viewportMipTexture:$T,viewportResolution:DL,viewportSafeUV:_U,viewportSharedTexture:aD,viewportSize:XT,viewportTexture:OL,viewportTopLeft:UL,viewportUV:LL,wgsl:a3,wgslFn:u3,workgroupArray:HU,workgroupBarrier:VU,workgroupId:DU,workingToColorSpace:hS,xor:SM},Symbol.toStringTag,{value:"Module"}));function vO(s){const e={};for(const t in s){e[t]={};for(const n in s[t]){const i=s[t][n];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture||i.isQuaternion)?i.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[t][n]=null):e[t][n]=i.clone():Array.isArray(i)?e[t][n]=i.slice():e[t][n]=i}}return e}function MO(s){const e=[];for(let t=0;t<s.length;t++)e.push(s[t].clone());return e}exports.ACESFilmicToneMapping=Ih;exports.AdditiveBlending=lc;exports.AgXToneMapping=Ph;exports.AlwaysDepth=hc;exports.AlwaysStencilFunc=oh;exports.AmbientLight=Td;exports.AnimationClip=ua;exports.AnimationMixer=Ev;exports.ArrayCamera=lm;exports.Audio=zm;exports.AudioContext=bd;exports.AudioListener=bv;exports.AudioLoader=Tv;exports.AxesHelper=zv;exports.BackSide=ln;exports.BasicDepthPacking=Qf;exports.BasicNodeLibrary=eA;exports.BatchedMesh=mm;exports.Bone=ed;exports.BooleanKeyframeTrack=fr;exports.Box3=Wn;exports.Box3Helper=Bv;exports.BoxGeometry=vs;exports.BoxHelper=Vv;exports.BufferAttribute=At;exports.BufferGeometry=at;exports.Cache=ps;exports.Camera=Zc;exports.CameraHelper=Ov;exports.CanvasTexture=sv;exports.CatmullRomCurve3=vm;exports.ClampToEdgeWrapping=Si;exports.Clock=Bm;exports.Color=_e;exports.ColorKeyframeTrack=_d;exports.ColorManagement=gt;exports.CompressedArrayTexture=nv;exports.CompressedCubeTexture=iv;exports.CompressedTexture=jc;exports.Controls=Gv;exports.CubeCamera=Yh;exports.CubeTexture=ro;exports.CubeUVReflectionMapping=dr;exports.Curve=Gi;exports.CustomBlending=Vf;exports.CylinderGeometry=lo;exports.Data3DTexture=qh;exports.DataTexture=Oi;exports.DataTextureLoader=xv;exports.DataUtils=Hy;exports.DecrementStencilOp=Sy;exports.DecrementWrapStencilOp=by;exports.DefaultLoadingManager=Lm;exports.DepthFormat=er;exports.DepthStencilFormat=cr;exports.DepthTexture=co;exports.DirectionalLight=Sd;exports.DirectionalLightHelper=Fv;exports.DoubleSide=Ji;exports.DynamicDrawUsage=Hr;exports.EdgesGeometry=Am;exports.EqualDepth=pc;exports.EqualStencilFunc=Ey;exports.EquirectangularReflectionMapping=sr;exports.EquirectangularRefractionMapping=rr;exports.Euler=ui;exports.EventDispatcher=Ai;exports.ExtrudeGeometry=el;exports.FileLoader=ts;exports.Float32BufferAttribute=Ve;exports.FloatType=Gn;exports.Fog=um;exports.FrontSide=gs;exports.Frustum=xa;exports.GLSL3=ah;exports.GLSLNodeParser=Qw;exports.GreaterDepth=mc;exports.GreaterEqualDepth=fc;exports.GreaterEqualStencilFunc=Py;exports.GreaterStencilFunc=Ry;exports.GridHelper=Uv;exports.Group=Wr;exports.HalfFloatType=Ln;exports.HemisphereLight=vd;exports.ImageBitmapLoader=Sv;exports.IncrementStencilOp=My;exports.IncrementWrapStencilOp=Ty;exports.InstancedBufferAttribute=Fs;exports.InstancedBufferGeometry=Om;exports.InstancedInterleavedBuffer=Hm;exports.InstancedMesh=fm;exports.InterleavedBuffer=ya;exports.InterleavedBufferAttribute=Us;exports.Interpolant=Ta;exports.InterpolateDiscrete=sa;exports.InterpolateLinear=wc;exports.InvertStencilOp=wy;exports.KeepStencilOp=Ys;exports.KeyframeTrack=Hi;exports.LOD=dm;exports.Layers=Yc;exports.LessDepth=dc;exports.LessEqualDepth=ir;exports.LessEqualStencilFunc=Cy;exports.LessStencilFunc=Ny;exports.Line=Os;exports.Line3=Lv;exports.LineBasicMaterial=Fn;exports.LineLoop=gm;exports.LineSegments=rs;exports.LinearFilter=Ut;exports.LinearMipMapLinearFilter=Hf;exports.LinearMipmapLinearFilter=Kn;exports.LinearMipmapNearestFilter=Qs;exports.LinearSRGBColorSpace=li;exports.LinearToneMapping=Ch;exports.Loader=qn;exports.LoaderUtils=dh;exports.LoadingManager=yd;exports.LoopOnce=Jf;exports.LoopRepeat=Kf;exports.MOUSE=q_;exports.Material=mn;exports.MathUtils=Xh;exports.Matrix3=Ke;exports.Matrix4=Fe;exports.MaxEquation=Bf;exports.Mesh=kt;exports.MeshBasicMaterial=ss;exports.MeshDepthMaterial=Kh;exports.MeshLambertMaterial=gd;exports.MeshNormalMaterial=md;exports.MeshPhongMaterial=fd;exports.MeshPhysicalMaterial=pd;exports.MeshStandardMaterial=il;exports.MirroredRepeatWrapping=ta;exports.NearestFilter=Qt;exports.NearestMipMapNearestFilter=fy;exports.NearestMipmapLinearFilter=Is;exports.NearestMipmapNearestFilter=Uh;exports.NeutralToneMapping=Lh;exports.NeverDepth=uc;exports.NeverStencilFunc=Ay;exports.NoBlending=Fi;exports.NoColorSpace=Li;exports.NoToneMapping=Ti;exports.Node=Ye;exports.NodeBuilder=Rb;exports.NodeFrame=Ib;exports.NormalBlending=Ls;exports.NotEqualDepth=gc;exports.NotEqualStencilFunc=Iy;exports.NumberKeyframeTrack=ca;exports.Object3D=yt;exports.OctahedronGeometry=Ma;exports.OrthographicCamera=ao;exports.PCFSoftShadowMap$1=Of;exports.PMREMGenerator$1=ch;exports.PerspectiveCamera=hn;exports.Plane=ls;exports.PlaneGeometry=oo;exports.PointLight=Md;exports.Points=xm;exports.PointsMaterial=va;exports.PositionalAudio=wv;exports.PropertyBinding=St;exports.Quaternion=Hn;exports.QuaternionKeyframeTrack=ba;exports.REVISION=js;exports.RGBADepthPacking=em;exports.RGBAFormat=Rn;exports.RGBA_ASTC_4x4_Format=Sc;exports.RGBA_ASTC_6x6_Format=Tc;exports.RGBA_BPTC_Format=jo;exports.RGBA_ETC2_EAC_Format=Mc;exports.RGBA_PVRTC_4BPPV1_Format=_c;exports.RGBA_S3TC_DXT1_Format=Zo;exports.RGBA_S3TC_DXT3_Format=Jo;exports.RGBA_S3TC_DXT5_Format=Ko;exports.RGBFormat=zh;exports.RGB_BPTC_UNSIGNED_Format=bc;exports.RGB_ETC1_Format=yc;exports.RGB_ETC2_Format=vc;exports.RGB_PVRTC_4BPPV1_Format=xc;exports.RGB_S3TC_DXT1_Format=Yo;exports.RGFormat=ia;exports.RawShaderMaterial=Em;exports.Ray=so;exports.Raycaster=Iv;exports.RedFormat=Wc;exports.ReinhardToneMapping=Rh;exports.RepeatWrapping=or;exports.ReplaceStencilOp=vy;exports.RingGeometry=tl;exports.SRGBColorSpace=kn;exports.Scene=Qh;exports.ShaderChunk=lt;exports.ShaderLib=Pi;exports.ShaderMaterial=ki;exports.ShadowMaterial=dd;exports.Shape=tr;exports.ShapePath=kv;exports.ShapeUtils=ji;exports.Skeleton=Kc;exports.SkinnedMesh=pm;exports.Source=Ks;exports.Sphere=Dn;exports.SphereGeometry=Sa;exports.Spherical=Pv;exports.SpotLight=sl;exports.Sprite=hm;exports.SpriteMaterial=Jc;exports.THREE=yO;exports.TOUCH=$_;exports.Texture=Xt;exports.TextureLoader=_v;exports.TorusGeometry=nl;exports.Triangle=Jn;exports.TriangleFanDrawMode=_y;exports.TriangleStripDrawMode=xy;exports.TrianglesDrawMode=gy;exports.Uint16BufferAttribute=$h;exports.Uniform$1=Cv;exports.UniformsLib=Se;exports.UniformsUtils=om;exports.UnsignedByteType=es;exports.UnsignedInt101111Type=Bh;exports.UnsignedInt248Type=ar;exports.UnsignedInt5999Type=Vh;exports.UnsignedIntType=Bi;exports.Vector2=J;exports.Vector3=E;exports.Vector4=st;exports.VectorKeyframeTrack=la;exports.VideoTexture=tv;exports.WebGLCubeRenderTarget=Zh;exports.WebGLRenderTarget=zi;exports.WebGLRenderer=jy;exports.WireframeGeometry=Nm;exports.ZeroStencilOp=yy;exports.cloneUniforms=vO;exports.cloneUniformsGroups=MO;exports.defaultShaderStages=Jm;exports.normalView=di;
3870
+ `):e.addLineFlowCode(`${t}Barrier()`,this)}}const u0=K(OU),VU=()=>u0("workgroup").append(),BU=()=>u0("storage").append(),zU=()=>u0("texture").append();class kU extends gr{constructor(e,t){super(e,t),this.isWorkgroupInfoElementNode=!0}generate(e,t){let n;const i=e.context.assign;if(n=super.generate(e),i!==!0){const r=this.getNodeType(e);n=e.format(n,r,t)}return n}}class GU extends Ye{constructor(e,t,n=0){super(t),this.bufferType=t,this.bufferCount=n,this.isWorkgroupInfoNode=!0,this.scope=e}label(e){return this.name=e,this}getHash(){return this.uuid}setScope(e){return this.scope=e,this}getInputType(){return`${this.scope}Array`}element(e){return H(new kU(this,e))}generate(e){return e.getScopedArray(this.name||`${this.scope}Array_${this.id}`,this.scope.toLowerCase(),this.bufferType,this.bufferCount)}}const HU=(s,e)=>H(new GU("Workgroup",s,e));class wn extends pt{static get type(){return"AtomicFunctionNode"}constructor(e,t,n,i=null){super("uint"),this.method=e,this.pointerNode=t,this.valueNode=n,this.storeNode=i}getInputType(e){return this.pointerNode.getNodeType(e)}getNodeType(e){return this.getInputType(e)}generate(e){const t=this.method,n=this.getNodeType(e),i=this.getInputType(e),r=this.pointerNode,o=this.valueNode,a=[];a.push(`&${r.build(e,i)}`),a.push(o.build(e,i));const c=`${e.getMethod(t,n)}( ${a.join(", ")} )`;if(this.storeNode!==null){const l=this.storeNode.build(e,i);e.addLineFlowCode(`${l} = ${c}`,this)}else e.addLineFlowCode(c,this)}}wn.ATOMIC_LOAD="atomicLoad";wn.ATOMIC_STORE="atomicStore";wn.ATOMIC_ADD="atomicAdd";wn.ATOMIC_SUB="atomicSub";wn.ATOMIC_MAX="atomicMax";wn.ATOMIC_MIN="atomicMin";wn.ATOMIC_AND="atomicAnd";wn.ATOMIC_OR="atomicOr";wn.ATOMIC_XOR="atomicXor";const WU=K(wn),Vs=(s,e,t,n)=>{const i=WU(s,e,t,n);return i.append(),i},XU=(s,e,t=null)=>Vs(wn.ATOMIC_STORE,s,e,t),qU=(s,e,t=null)=>Vs(wn.ATOMIC_ADD,s,e,t),$U=(s,e,t=null)=>Vs(wn.ATOMIC_SUB,s,e,t),YU=(s,e,t=null)=>Vs(wn.ATOMIC_MAX,s,e,t),ZU=(s,e,t=null)=>Vs(wn.ATOMIC_MIN,s,e,t),JU=(s,e,t=null)=>Vs(wn.ATOMIC_AND,s,e,t),KU=(s,e,t=null)=>Vs(wn.ATOMIC_OR,s,e,t),jU=(s,e,t=null)=>Vs(wn.ATOMIC_XOR,s,e,t),QU=U(([s=rt()])=>{const e=s.mul(2),t=e.x.floor(),n=e.y.floor();return t.add(n).mod(2).sign()}),cc=U(([s,e,t])=>{const n=A(t).toVar(),i=A(e).toVar(),r=lr(s).toVar();return In(r,i,n)}).setLayout({name:"mx_select",type:"float",inputs:[{name:"b",type:"bool"},{name:"t",type:"float"},{name:"f",type:"float"}]}),Nh=U(([s,e])=>{const t=lr(e).toVar(),n=A(s).toVar();return In(t,n.negate(),n)}).setLayout({name:"mx_negate_if",type:"float",inputs:[{name:"val",type:"float"},{name:"b",type:"bool"}]}),rn=U(([s])=>{const e=A(s).toVar();return L(xr(e))}).setLayout({name:"mx_floor",type:"int",inputs:[{name:"x",type:"float"}]}),Ht=U(([s,e])=>{const t=A(s).toVar();return e.assign(rn(t)),t.sub(A(e))}),eF=U(([s,e,t,n,i,r])=>{const o=A(r).toVar(),a=A(i).toVar(),c=A(n).toVar(),l=A(t).toVar(),u=A(e).toVar(),h=A(s).toVar(),d=A(Ft(1,a)).toVar();return Ft(1,o).mul(h.mul(d).add(u.mul(a))).add(o.mul(l.mul(d).add(c.mul(a))))}).setLayout({name:"mx_bilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"}]}),tF=U(([s,e,t,n,i,r])=>{const o=A(r).toVar(),a=A(i).toVar(),c=D(n).toVar(),l=D(t).toVar(),u=D(e).toVar(),h=D(s).toVar(),d=A(Ft(1,a)).toVar();return Ft(1,o).mul(h.mul(d).add(u.mul(a))).add(o.mul(l.mul(d).add(c.mul(a))))}).setLayout({name:"mx_bilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"}]}),Dw=On([eF,tF]),nF=U(([s,e,t,n,i,r,o,a,c,l,u])=>{const h=A(u).toVar(),d=A(l).toVar(),p=A(c).toVar(),f=A(a).toVar(),x=A(o).toVar(),m=A(r).toVar(),g=A(i).toVar(),y=A(n).toVar(),_=A(t).toVar(),v=A(e).toVar(),I=A(s).toVar(),T=A(Ft(1,p)).toVar(),w=A(Ft(1,d)).toVar();return A(Ft(1,h)).toVar().mul(w.mul(I.mul(T).add(v.mul(p))).add(d.mul(_.mul(T).add(y.mul(p))))).add(h.mul(w.mul(g.mul(T).add(m.mul(p))).add(d.mul(x.mul(T).add(f.mul(p))))))}).setLayout({name:"mx_trilerp_0",type:"float",inputs:[{name:"v0",type:"float"},{name:"v1",type:"float"},{name:"v2",type:"float"},{name:"v3",type:"float"},{name:"v4",type:"float"},{name:"v5",type:"float"},{name:"v6",type:"float"},{name:"v7",type:"float"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]}),iF=U(([s,e,t,n,i,r,o,a,c,l,u])=>{const h=A(u).toVar(),d=A(l).toVar(),p=A(c).toVar(),f=D(a).toVar(),x=D(o).toVar(),m=D(r).toVar(),g=D(i).toVar(),y=D(n).toVar(),_=D(t).toVar(),v=D(e).toVar(),I=D(s).toVar(),T=A(Ft(1,p)).toVar(),w=A(Ft(1,d)).toVar();return A(Ft(1,h)).toVar().mul(w.mul(I.mul(T).add(v.mul(p))).add(d.mul(_.mul(T).add(y.mul(p))))).add(h.mul(w.mul(g.mul(T).add(m.mul(p))).add(d.mul(x.mul(T).add(f.mul(p))))))}).setLayout({name:"mx_trilerp_1",type:"vec3",inputs:[{name:"v0",type:"vec3"},{name:"v1",type:"vec3"},{name:"v2",type:"vec3"},{name:"v3",type:"vec3"},{name:"v4",type:"vec3"},{name:"v5",type:"vec3"},{name:"v6",type:"vec3"},{name:"v7",type:"vec3"},{name:"s",type:"float"},{name:"t",type:"float"},{name:"r",type:"float"}]}),Uw=On([nF,iF]),sF=U(([s,e,t])=>{const n=A(t).toVar(),i=A(e).toVar(),r=ve(s).toVar(),o=ve(r.bitAnd(ve(7))).toVar(),a=A(cc(o.lessThan(ve(4)),i,n)).toVar(),c=A(ot(2,cc(o.lessThan(ve(4)),n,i))).toVar();return Nh(a,lr(o.bitAnd(ve(1)))).add(Nh(c,lr(o.bitAnd(ve(2)))))}).setLayout({name:"mx_gradient_float_0",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"}]}),rF=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=A(e).toVar(),a=ve(s).toVar(),c=ve(a.bitAnd(ve(15))).toVar(),l=A(cc(c.lessThan(ve(8)),o,r)).toVar(),u=A(cc(c.lessThan(ve(4)),r,cc(c.equal(ve(12)).or(c.equal(ve(14))),o,i))).toVar();return Nh(l,lr(c.bitAnd(ve(1)))).add(Nh(u,lr(c.bitAnd(ve(2)))))}).setLayout({name:"mx_gradient_float_1",type:"float",inputs:[{name:"hash",type:"uint"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]}),yn=On([sF,rF]),oF=U(([s,e,t])=>{const n=A(t).toVar(),i=A(e).toVar(),r=Aa(s).toVar();return D(yn(r.x,i,n),yn(r.y,i,n),yn(r.z,i,n))}).setLayout({name:"mx_gradient_vec3_0",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"}]}),aF=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=A(e).toVar(),a=Aa(s).toVar();return D(yn(a.x,o,r,i),yn(a.y,o,r,i),yn(a.z,o,r,i))}).setLayout({name:"mx_gradient_vec3_1",type:"vec3",inputs:[{name:"hash",type:"uvec3"},{name:"x",type:"float"},{name:"y",type:"float"},{name:"z",type:"float"}]}),Ri=On([oF,aF]),cF=U(([s])=>{const e=A(s).toVar();return ot(.6616,e)}).setLayout({name:"mx_gradient_scale2d_0",type:"float",inputs:[{name:"v",type:"float"}]}),lF=U(([s])=>{const e=A(s).toVar();return ot(.982,e)}).setLayout({name:"mx_gradient_scale3d_0",type:"float",inputs:[{name:"v",type:"float"}]}),uF=U(([s])=>{const e=D(s).toVar();return ot(.6616,e)}).setLayout({name:"mx_gradient_scale2d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]}),Fw=On([cF,uF]),hF=U(([s])=>{const e=D(s).toVar();return ot(.982,e)}).setLayout({name:"mx_gradient_scale3d_1",type:"vec3",inputs:[{name:"v",type:"vec3"}]}),Ow=On([lF,hF]),yi=U(([s,e])=>{const t=L(e).toVar(),n=ve(s).toVar();return n.shiftLeft(t).bitOr(n.shiftRight(L(32).sub(t)))}).setLayout({name:"mx_rotl32",type:"uint",inputs:[{name:"x",type:"uint"},{name:"k",type:"int"}]}),Vw=U(([s,e,t])=>{s.subAssign(t),s.bitXorAssign(yi(t,L(4))),t.addAssign(e),e.subAssign(s),e.bitXorAssign(yi(s,L(6))),s.addAssign(t),t.subAssign(e),t.bitXorAssign(yi(e,L(8))),e.addAssign(s),s.subAssign(t),s.bitXorAssign(yi(t,L(16))),t.addAssign(e),e.subAssign(s),e.bitXorAssign(yi(s,L(19))),s.addAssign(t),t.subAssign(e),t.bitXorAssign(yi(e,L(4))),e.addAssign(s)}),Tl=U(([s,e,t])=>{const n=ve(t).toVar(),i=ve(e).toVar(),r=ve(s).toVar();return n.bitXorAssign(i),n.subAssign(yi(i,L(14))),r.bitXorAssign(n),r.subAssign(yi(n,L(11))),i.bitXorAssign(r),i.subAssign(yi(r,L(25))),n.bitXorAssign(i),n.subAssign(yi(i,L(16))),r.bitXorAssign(n),r.subAssign(yi(n,L(4))),i.bitXorAssign(r),i.subAssign(yi(r,L(14))),n.bitXorAssign(i),n.subAssign(yi(i,L(24))),n}).setLayout({name:"mx_bjfinal",type:"uint",inputs:[{name:"a",type:"uint"},{name:"b",type:"uint"},{name:"c",type:"uint"}]}),Xn=U(([s])=>{const e=ve(s).toVar();return A(e).div(A(ve(L(4294967295))))}).setLayout({name:"mx_bits_to_01",type:"float",inputs:[{name:"bits",type:"uint"}]}),ms=U(([s])=>{const e=A(s).toVar();return e.mul(e).mul(e).mul(e.mul(e.mul(6).sub(15)).add(10))}).setLayout({name:"mx_fade",type:"float",inputs:[{name:"t",type:"float"}]}),dF=U(([s])=>{const e=L(s).toVar(),t=ve(ve(1)).toVar(),n=ve(ve(L(3735928559)).add(t.shiftLeft(ve(2))).add(ve(13))).toVar();return Tl(n.add(ve(e)),n,n)}).setLayout({name:"mx_hash_int_0",type:"uint",inputs:[{name:"x",type:"int"}]}),pF=U(([s,e])=>{const t=L(e).toVar(),n=L(s).toVar(),i=ve(ve(2)).toVar(),r=ve().toVar(),o=ve().toVar(),a=ve().toVar();return r.assign(o.assign(a.assign(ve(L(3735928559)).add(i.shiftLeft(ve(2))).add(ve(13))))),r.addAssign(ve(n)),o.addAssign(ve(t)),Tl(r,o,a)}).setLayout({name:"mx_hash_int_1",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),fF=U(([s,e,t])=>{const n=L(t).toVar(),i=L(e).toVar(),r=L(s).toVar(),o=ve(ve(3)).toVar(),a=ve().toVar(),c=ve().toVar(),l=ve().toVar();return a.assign(c.assign(l.assign(ve(L(3735928559)).add(o.shiftLeft(ve(2))).add(ve(13))))),a.addAssign(ve(r)),c.addAssign(ve(i)),l.addAssign(ve(n)),Tl(a,c,l)}).setLayout({name:"mx_hash_int_2",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]}),mF=U(([s,e,t,n])=>{const i=L(n).toVar(),r=L(t).toVar(),o=L(e).toVar(),a=L(s).toVar(),c=ve(ve(4)).toVar(),l=ve().toVar(),u=ve().toVar(),h=ve().toVar();return l.assign(u.assign(h.assign(ve(L(3735928559)).add(c.shiftLeft(ve(2))).add(ve(13))))),l.addAssign(ve(a)),u.addAssign(ve(o)),h.addAssign(ve(r)),Vw(l,u,h),l.addAssign(ve(i)),Tl(l,u,h)}).setLayout({name:"mx_hash_int_3",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"}]}),gF=U(([s,e,t,n,i])=>{const r=L(i).toVar(),o=L(n).toVar(),a=L(t).toVar(),c=L(e).toVar(),l=L(s).toVar(),u=ve(ve(5)).toVar(),h=ve().toVar(),d=ve().toVar(),p=ve().toVar();return h.assign(d.assign(p.assign(ve(L(3735928559)).add(u.shiftLeft(ve(2))).add(ve(13))))),h.addAssign(ve(l)),d.addAssign(ve(c)),p.addAssign(ve(a)),Vw(h,d,p),h.addAssign(ve(o)),d.addAssign(ve(r)),Tl(h,d,p)}).setLayout({name:"mx_hash_int_4",type:"uint",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xx",type:"int"},{name:"yy",type:"int"}]}),Pt=On([dF,pF,fF,mF,gF]),xF=U(([s,e])=>{const t=L(e).toVar(),n=L(s).toVar(),i=ve(Pt(n,t)).toVar(),r=Aa().toVar();return r.x.assign(i.bitAnd(L(255))),r.y.assign(i.shiftRight(L(8)).bitAnd(L(255))),r.z.assign(i.shiftRight(L(16)).bitAnd(L(255))),r}).setLayout({name:"mx_hash_vec3_0",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"}]}),_F=U(([s,e,t])=>{const n=L(t).toVar(),i=L(e).toVar(),r=L(s).toVar(),o=ve(Pt(r,i,n)).toVar(),a=Aa().toVar();return a.x.assign(o.bitAnd(L(255))),a.y.assign(o.shiftRight(L(8)).bitAnd(L(255))),a.z.assign(o.shiftRight(L(16)).bitAnd(L(255))),a}).setLayout({name:"mx_hash_vec3_1",type:"uvec3",inputs:[{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"}]}),Ii=On([xF,_F]),yF=U(([s])=>{const e=z(s).toVar(),t=L().toVar(),n=L().toVar(),i=A(Ht(e.x,t)).toVar(),r=A(Ht(e.y,n)).toVar(),o=A(ms(i)).toVar(),a=A(ms(r)).toVar(),c=A(Dw(yn(Pt(t,n),i,r),yn(Pt(t.add(L(1)),n),i.sub(1),r),yn(Pt(t,n.add(L(1))),i,r.sub(1)),yn(Pt(t.add(L(1)),n.add(L(1))),i.sub(1),r.sub(1)),o,a)).toVar();return Fw(c)}).setLayout({name:"mx_perlin_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"}]}),vF=U(([s])=>{const e=D(s).toVar(),t=L().toVar(),n=L().toVar(),i=L().toVar(),r=A(Ht(e.x,t)).toVar(),o=A(Ht(e.y,n)).toVar(),a=A(Ht(e.z,i)).toVar(),c=A(ms(r)).toVar(),l=A(ms(o)).toVar(),u=A(ms(a)).toVar(),h=A(Uw(yn(Pt(t,n,i),r,o,a),yn(Pt(t.add(L(1)),n,i),r.sub(1),o,a),yn(Pt(t,n.add(L(1)),i),r,o.sub(1),a),yn(Pt(t.add(L(1)),n.add(L(1)),i),r.sub(1),o.sub(1),a),yn(Pt(t,n,i.add(L(1))),r,o,a.sub(1)),yn(Pt(t.add(L(1)),n,i.add(L(1))),r.sub(1),o,a.sub(1)),yn(Pt(t,n.add(L(1)),i.add(L(1))),r,o.sub(1),a.sub(1)),yn(Pt(t.add(L(1)),n.add(L(1)),i.add(L(1))),r.sub(1),o.sub(1),a.sub(1)),c,l,u)).toVar();return Ow(h)}).setLayout({name:"mx_perlin_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"}]}),h0=On([yF,vF]),MF=U(([s])=>{const e=z(s).toVar(),t=L().toVar(),n=L().toVar(),i=A(Ht(e.x,t)).toVar(),r=A(Ht(e.y,n)).toVar(),o=A(ms(i)).toVar(),a=A(ms(r)).toVar(),c=D(Dw(Ri(Ii(t,n),i,r),Ri(Ii(t.add(L(1)),n),i.sub(1),r),Ri(Ii(t,n.add(L(1))),i,r.sub(1)),Ri(Ii(t.add(L(1)),n.add(L(1))),i.sub(1),r.sub(1)),o,a)).toVar();return Fw(c)}).setLayout({name:"mx_perlin_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),SF=U(([s])=>{const e=D(s).toVar(),t=L().toVar(),n=L().toVar(),i=L().toVar(),r=A(Ht(e.x,t)).toVar(),o=A(Ht(e.y,n)).toVar(),a=A(Ht(e.z,i)).toVar(),c=A(ms(r)).toVar(),l=A(ms(o)).toVar(),u=A(ms(a)).toVar(),h=D(Uw(Ri(Ii(t,n,i),r,o,a),Ri(Ii(t.add(L(1)),n,i),r.sub(1),o,a),Ri(Ii(t,n.add(L(1)),i),r,o.sub(1),a),Ri(Ii(t.add(L(1)),n.add(L(1)),i),r.sub(1),o.sub(1),a),Ri(Ii(t,n,i.add(L(1))),r,o,a.sub(1)),Ri(Ii(t.add(L(1)),n,i.add(L(1))),r.sub(1),o,a.sub(1)),Ri(Ii(t,n.add(L(1)),i.add(L(1))),r,o.sub(1),a.sub(1)),Ri(Ii(t.add(L(1)),n.add(L(1)),i.add(L(1))),r.sub(1),o.sub(1),a.sub(1)),c,l,u)).toVar();return Ow(h)}).setLayout({name:"mx_perlin_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),d0=On([MF,SF]),TF=U(([s])=>{const e=A(s).toVar(),t=L(rn(e)).toVar();return Xn(Pt(t))}).setLayout({name:"mx_cell_noise_float_0",type:"float",inputs:[{name:"p",type:"float"}]}),bF=U(([s])=>{const e=z(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar();return Xn(Pt(t,n))}).setLayout({name:"mx_cell_noise_float_1",type:"float",inputs:[{name:"p",type:"vec2"}]}),wF=U(([s])=>{const e=D(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar(),i=L(rn(e.z)).toVar();return Xn(Pt(t,n,i))}).setLayout({name:"mx_cell_noise_float_2",type:"float",inputs:[{name:"p",type:"vec3"}]}),AF=U(([s])=>{const e=oe(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar(),i=L(rn(e.z)).toVar(),r=L(rn(e.w)).toVar();return Xn(Pt(t,n,i,r))}).setLayout({name:"mx_cell_noise_float_3",type:"float",inputs:[{name:"p",type:"vec4"}]}),NF=On([TF,bF,wF,AF]),EF=U(([s])=>{const e=A(s).toVar(),t=L(rn(e)).toVar();return D(Xn(Pt(t,L(0))),Xn(Pt(t,L(1))),Xn(Pt(t,L(2))))}).setLayout({name:"mx_cell_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"float"}]}),CF=U(([s])=>{const e=z(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar();return D(Xn(Pt(t,n,L(0))),Xn(Pt(t,n,L(1))),Xn(Pt(t,n,L(2))))}).setLayout({name:"mx_cell_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec2"}]}),RF=U(([s])=>{const e=D(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar(),i=L(rn(e.z)).toVar();return D(Xn(Pt(t,n,i,L(0))),Xn(Pt(t,n,i,L(1))),Xn(Pt(t,n,i,L(2))))}).setLayout({name:"mx_cell_noise_vec3_2",type:"vec3",inputs:[{name:"p",type:"vec3"}]}),IF=U(([s])=>{const e=oe(s).toVar(),t=L(rn(e.x)).toVar(),n=L(rn(e.y)).toVar(),i=L(rn(e.z)).toVar(),r=L(rn(e.w)).toVar();return D(Xn(Pt(t,n,i,r,L(0))),Xn(Pt(t,n,i,r,L(1))),Xn(Pt(t,n,i,r,L(2))))}).setLayout({name:"mx_cell_noise_vec3_3",type:"vec3",inputs:[{name:"p",type:"vec4"}]}),Bw=On([EF,CF,RF,IF]),Eh=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=L(e).toVar(),a=D(s).toVar(),c=A(0).toVar(),l=A(1).toVar();return mt(o,()=>{c.addAssign(l.mul(h0(a))),l.mulAssign(i),a.mulAssign(r)}),c}).setLayout({name:"mx_fractal_noise_float",type:"float",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),zw=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=L(e).toVar(),a=D(s).toVar(),c=D(0).toVar(),l=A(1).toVar();return mt(o,()=>{c.addAssign(l.mul(d0(a))),l.mulAssign(i),a.mulAssign(r)}),c}).setLayout({name:"mx_fractal_noise_vec3",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),PF=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=L(e).toVar(),a=D(s).toVar();return z(Eh(a,o,r,i),Eh(a.add(D(L(19),L(193),L(17))),o,r,i))}).setLayout({name:"mx_fractal_noise_vec2",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),LF=U(([s,e,t,n])=>{const i=A(n).toVar(),r=A(t).toVar(),o=L(e).toVar(),a=D(s).toVar(),c=D(zw(a,o,r,i)).toVar(),l=A(Eh(a.add(D(L(19),L(193),L(17))),o,r,i)).toVar();return oe(c,l)}).setLayout({name:"mx_fractal_noise_vec4",type:"vec4",inputs:[{name:"p",type:"vec3"},{name:"octaves",type:"int"},{name:"lacunarity",type:"float"},{name:"diminish",type:"float"}]}),DF=U(([s,e,t,n,i,r,o])=>{const a=L(o).toVar(),c=A(r).toVar(),l=L(i).toVar(),u=L(n).toVar(),h=L(t).toVar(),d=L(e).toVar(),p=z(s).toVar(),f=D(Bw(z(d.add(u),h.add(l)))).toVar(),x=z(f.x,f.y).toVar();x.subAssign(.5),x.mulAssign(c),x.addAssign(.5);const m=z(z(A(d),A(h)).add(x)).toVar(),g=z(m.sub(p)).toVar();return Oe(a.equal(L(2)),()=>Dt(g.x).add(Dt(g.y))),Oe(a.equal(L(3)),()=>ft(Dt(g.x),Dt(g.y))),$t(g,g)}).setLayout({name:"mx_worley_distance_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),UF=U(([s,e,t,n,i,r,o,a,c])=>{const l=L(c).toVar(),u=A(a).toVar(),h=L(o).toVar(),d=L(r).toVar(),p=L(i).toVar(),f=L(n).toVar(),x=L(t).toVar(),m=L(e).toVar(),g=D(s).toVar(),y=D(Bw(D(m.add(p),x.add(d),f.add(h)))).toVar();y.subAssign(.5),y.mulAssign(u),y.addAssign(.5);const _=D(D(A(m),A(x),A(f)).add(y)).toVar(),v=D(_.sub(g)).toVar();return Oe(l.equal(L(2)),()=>Dt(v.x).add(Dt(v.y)).add(Dt(v.z))),Oe(l.equal(L(3)),()=>ft(ft(Dt(v.x),Dt(v.y)),Dt(v.z))),$t(v,v)}).setLayout({name:"mx_worley_distance_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"x",type:"int"},{name:"y",type:"int"},{name:"z",type:"int"},{name:"xoff",type:"int"},{name:"yoff",type:"int"},{name:"zoff",type:"int"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),Ca=On([DF,UF]),FF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=z(s).toVar(),o=L().toVar(),a=L().toVar(),c=z(Ht(r.x,o),Ht(r.y,a)).toVar(),l=A(1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:u})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:h})=>{const d=A(Ca(c,u,h,o,a,i,n)).toVar();l.assign(Mn(l,d))})}),Oe(n.equal(L(0)),()=>{l.assign(os(l))}),l}).setLayout({name:"mx_worley_noise_float_0",type:"float",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),OF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=z(s).toVar(),o=L().toVar(),a=L().toVar(),c=z(Ht(r.x,o),Ht(r.y,a)).toVar(),l=z(1e6,1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:u})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:h})=>{const d=A(Ca(c,u,h,o,a,i,n)).toVar();Oe(d.lessThan(l.x),()=>{l.y.assign(l.x),l.x.assign(d)}).ElseIf(d.lessThan(l.y),()=>{l.y.assign(d)})})}),Oe(n.equal(L(0)),()=>{l.assign(os(l))}),l}).setLayout({name:"mx_worley_noise_vec2_0",type:"vec2",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),VF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=z(s).toVar(),o=L().toVar(),a=L().toVar(),c=z(Ht(r.x,o),Ht(r.y,a)).toVar(),l=D(1e6,1e6,1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:u})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:h})=>{const d=A(Ca(c,u,h,o,a,i,n)).toVar();Oe(d.lessThan(l.x),()=>{l.z.assign(l.y),l.y.assign(l.x),l.x.assign(d)}).ElseIf(d.lessThan(l.y),()=>{l.z.assign(l.y),l.y.assign(d)}).ElseIf(d.lessThan(l.z),()=>{l.z.assign(d)})})}),Oe(n.equal(L(0)),()=>{l.assign(os(l))}),l}).setLayout({name:"mx_worley_noise_vec3_0",type:"vec3",inputs:[{name:"p",type:"vec2"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),BF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=D(s).toVar(),o=L().toVar(),a=L().toVar(),c=L().toVar(),l=D(Ht(r.x,o),Ht(r.y,a),Ht(r.z,c)).toVar(),u=A(1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:h})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:d})=>{mt({start:-1,end:L(1),name:"z",condition:"<="},({z:p})=>{const f=A(Ca(l,h,d,p,o,a,c,i,n)).toVar();u.assign(Mn(u,f))})})}),Oe(n.equal(L(0)),()=>{u.assign(os(u))}),u}).setLayout({name:"mx_worley_noise_float_1",type:"float",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),zF=On([FF,BF]),kF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=D(s).toVar(),o=L().toVar(),a=L().toVar(),c=L().toVar(),l=D(Ht(r.x,o),Ht(r.y,a),Ht(r.z,c)).toVar(),u=z(1e6,1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:h})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:d})=>{mt({start:-1,end:L(1),name:"z",condition:"<="},({z:p})=>{const f=A(Ca(l,h,d,p,o,a,c,i,n)).toVar();Oe(f.lessThan(u.x),()=>{u.y.assign(u.x),u.x.assign(f)}).ElseIf(f.lessThan(u.y),()=>{u.y.assign(f)})})})}),Oe(n.equal(L(0)),()=>{u.assign(os(u))}),u}).setLayout({name:"mx_worley_noise_vec2_1",type:"vec2",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),GF=On([OF,kF]),HF=U(([s,e,t])=>{const n=L(t).toVar(),i=A(e).toVar(),r=D(s).toVar(),o=L().toVar(),a=L().toVar(),c=L().toVar(),l=D(Ht(r.x,o),Ht(r.y,a),Ht(r.z,c)).toVar(),u=D(1e6,1e6,1e6).toVar();return mt({start:-1,end:L(1),name:"x",condition:"<="},({x:h})=>{mt({start:-1,end:L(1),name:"y",condition:"<="},({y:d})=>{mt({start:-1,end:L(1),name:"z",condition:"<="},({z:p})=>{const f=A(Ca(l,h,d,p,o,a,c,i,n)).toVar();Oe(f.lessThan(u.x),()=>{u.z.assign(u.y),u.y.assign(u.x),u.x.assign(f)}).ElseIf(f.lessThan(u.y),()=>{u.z.assign(u.y),u.y.assign(f)}).ElseIf(f.lessThan(u.z),()=>{u.z.assign(f)})})})}),Oe(n.equal(L(0)),()=>{u.assign(os(u))}),u}).setLayout({name:"mx_worley_noise_vec3_1",type:"vec3",inputs:[{name:"p",type:"vec3"},{name:"jitter",type:"float"},{name:"metric",type:"int"}]}),WF=On([VF,HF]),XF=U(([s])=>{const e=s.y,t=s.z,n=D().toVar();return Oe(e.lessThan(1e-4),()=>{n.assign(D(t,t,t))}).Else(()=>{let i=s.x;i=i.sub(xr(i)).mul(6).toVar();const r=L(yg(i)),o=i.sub(A(r)),a=t.mul(e.oneMinus()),c=t.mul(e.mul(o).oneMinus()),l=t.mul(e.mul(o.oneMinus()).oneMinus());Oe(r.equal(L(0)),()=>{n.assign(D(t,l,a))}).ElseIf(r.equal(L(1)),()=>{n.assign(D(c,t,a))}).ElseIf(r.equal(L(2)),()=>{n.assign(D(a,t,l))}).ElseIf(r.equal(L(3)),()=>{n.assign(D(a,c,t))}).ElseIf(r.equal(L(4)),()=>{n.assign(D(l,a,t))}).Else(()=>{n.assign(D(t,a,c))})}),n}).setLayout({name:"mx_hsvtorgb",type:"vec3",inputs:[{name:"hsv",type:"vec3"}]}),qF=U(([s])=>{const e=D(s).toVar(),t=A(e.x).toVar(),n=A(e.y).toVar(),i=A(e.z).toVar(),r=A(Mn(t,Mn(n,i))).toVar(),o=A(ft(t,ft(n,i))).toVar(),a=A(o.sub(r)).toVar(),c=A().toVar(),l=A().toVar(),u=A().toVar();return u.assign(o),Oe(o.greaterThan(0),()=>{l.assign(a.div(o))}).Else(()=>{l.assign(0)}),Oe(l.lessThanEqual(0),()=>{c.assign(0)}).Else(()=>{Oe(t.greaterThanEqual(o),()=>{c.assign(n.sub(i).div(a))}).ElseIf(n.greaterThanEqual(o),()=>{c.assign(Wt(2,i.sub(t).div(a)))}).Else(()=>{c.assign(Wt(4,t.sub(n).div(a)))}),c.mulAssign(1/6),Oe(c.lessThan(0),()=>{c.addAssign(1)})}),D(c,l,u)}).setLayout({name:"mx_rgbtohsv",type:"vec3",inputs:[{name:"c",type:"vec3"}]}),$F=U(([s])=>{const e=D(s).toVar(),t=ig(fg(e,D(.04045))).toVar(),n=D(e.div(12.92)).toVar(),i=D(jn(ft(e.add(D(.055)),D(0)).div(1.055),D(2.4))).toVar();return it(n,i,t)}).setLayout({name:"mx_srgb_texture_to_lin_rec709",type:"vec3",inputs:[{name:"color",type:"vec3"}]}),kw=(s,e)=>{s=A(s),e=A(e);const t=z(e.dFdx(),e.dFdy()).length().mul(.7071067811865476);return ti(s.sub(t),s.add(t),e)},Gw=(s,e,t,n)=>it(s,e,t[n].clamp()),YF=(s,e,t=rt())=>Gw(s,e,t,"x"),ZF=(s,e,t=rt())=>Gw(s,e,t,"y"),Hw=(s,e,t,n,i)=>it(s,e,kw(t,n[i])),JF=(s,e,t,n=rt())=>Hw(s,e,t,n,"x"),KF=(s,e,t,n=rt())=>Hw(s,e,t,n,"y"),jF=(s=1,e=0,t=rt())=>t.mul(s).add(e),QF=(s,e=1)=>(s=A(s),s.abs().pow(e).mul(s.sign())),eO=(s,e=1,t=.5)=>A(s).sub(t).mul(e).add(t),tO=(s=rt(),e=1,t=0)=>h0(s.convert("vec2|vec3")).mul(e).add(t),nO=(s=rt(),e=1,t=0)=>d0(s.convert("vec2|vec3")).mul(e).add(t),iO=(s=rt(),e=1,t=0)=>(s=s.convert("vec2|vec3"),oe(d0(s),h0(s.add(z(19,73)))).mul(e).add(t)),sO=(s=rt(),e=1)=>zF(s.convert("vec2|vec3"),e,L(1)),rO=(s=rt(),e=1)=>GF(s.convert("vec2|vec3"),e,L(1)),oO=(s=rt(),e=1)=>WF(s.convert("vec2|vec3"),e,L(1)),aO=(s=rt())=>NF(s.convert("vec2|vec3")),cO=(s=rt(),e=3,t=2,n=.5,i=1)=>Eh(s,L(e),t,n).mul(i),lO=(s=rt(),e=3,t=2,n=.5,i=1)=>PF(s,L(e),t,n).mul(i),uO=(s=rt(),e=3,t=2,n=.5,i=1)=>zw(s,L(e),t,n).mul(i),hO=(s=rt(),e=3,t=2,n=.5,i=1)=>LF(s,L(e),t,n).mul(i),Ww=U(([s,e])=>{const t=s.x,n=s.y,i=s.z;let r=e.element(0).mul(.886227);return r=r.add(e.element(1).mul(2*.511664).mul(n)),r=r.add(e.element(2).mul(2*.511664).mul(i)),r=r.add(e.element(3).mul(2*.511664).mul(t)),r=r.add(e.element(4).mul(2*.429043).mul(t).mul(n)),r=r.add(e.element(5).mul(2*.429043).mul(n).mul(i)),r=r.add(e.element(6).mul(i.mul(i).mul(.743125).sub(.247708))),r=r.add(e.element(7).mul(2*.429043).mul(t).mul(i)),r=r.add(e.element(8).mul(.429043).mul(ot(t,t).sub(ot(n,n)))),r});class Xw extends vr{static get type(){return"PointLightNode"}constructor(e=null){super(e),this.cutoffDistanceNode=pe(0).setGroup(_t),this.decayExponentNode=pe(0).setGroup(_t)}update(e){const{light:t}=this;super.update(e),this.cutoffDistanceNode.value=t.distance,this.decayExponentNode.value=t.decay}setup(e){const{colorNode:t,cutoffDistanceNode:n,decayExponentNode:i,light:r}=this,o=e.context.lightingModel,a=Hd(r).sub(Pn),c=a.normalize(),l=a.length(),u=o0({lightDistance:l,cutoffDistance:n,decayExponent:i}),h=t.mul(u),d=e.context.reflectedLight;o.direct({lightDirection:c,lightColor:h,reflectedLight:d},e.stack,e)}}class qw extends vr{static get type(){return"DirectionalLightNode"}constructor(e=null){super(e)}setup(e){super.setup(e);const t=e.context.lightingModel,n=this.colorNode,i=l0(this.light),r=e.context.reflectedLight;t.direct({lightDirection:i,lightColor:n,reflectedLight:r},e.stack,e)}}const of=new Fe,Ru=new Fe;let Za=null;class $w extends vr{static get type(){return"RectAreaLightNode"}constructor(e=null){super(e),this.halfHeight=pe(new E).setGroup(_t),this.halfWidth=pe(new E).setGroup(_t)}update(e){super.update(e);const{light:t}=this,n=e.camera.matrixWorldInverse;Ru.identity(),of.copy(t.matrixWorld),of.premultiply(n),Ru.extractRotation(of),this.halfWidth.value.set(t.width*.5,0,0),this.halfHeight.value.set(0,t.height*.5,0),this.halfWidth.value.applyMatrix4(Ru),this.halfHeight.value.applyMatrix4(Ru)}setup(e){super.setup(e);let t,n;e.isAvailable("float32Filterable")?(t=xt(Za.LTC_FLOAT_1),n=xt(Za.LTC_FLOAT_2)):(t=xt(Za.LTC_HALF_1),n=xt(Za.LTC_HALF_2));const{colorNode:i,light:r}=this,o=e.context.lightingModel,a=Hd(r),c=e.context.reflectedLight;o.directRectArea({lightColor:i,lightPosition:a,halfWidth:this.halfWidth,halfHeight:this.halfHeight,reflectedLight:c,ltc_1:t,ltc_2:n},e.stack,e)}static setLTC(e){Za=e}}class p0 extends vr{static get type(){return"SpotLightNode"}constructor(e=null){super(e),this.coneCosNode=pe(0).setGroup(_t),this.penumbraCosNode=pe(0).setGroup(_t),this.cutoffDistanceNode=pe(0).setGroup(_t),this.decayExponentNode=pe(0).setGroup(_t)}update(e){super.update(e);const{light:t}=this;this.coneCosNode.value=Math.cos(t.angle),this.penumbraCosNode.value=Math.cos(t.angle*(1-t.penumbra)),this.cutoffDistanceNode.value=t.distance,this.decayExponentNode.value=t.decay}getSpotAttenuation(e){const{coneCosNode:t,penumbraCosNode:n}=this;return ti(t,n,e)}setup(e){super.setup(e);const t=e.context.lightingModel,{colorNode:n,cutoffDistanceNode:i,decayExponentNode:r,light:o}=this,a=Hd(o).sub(Pn),c=a.normalize(),l=c.dot(l0(o)),u=this.getSpotAttenuation(l),h=a.length(),d=o0({lightDistance:h,cutoffDistance:i,decayExponent:r}),p=n.mul(u).mul(d),f=e.context.reflectedLight;t.direct({lightDirection:c,lightColor:p,reflectedLight:f},e.stack,e)}}class Yw extends p0{static get type(){return"IESSpotLightNode"}getSpotAttenuation(e){const t=this.light.iesMap;let n=null;if(t&&t.isTexture===!0){const i=e.acos().mul(1/Math.PI);n=xt(t,z(i,0),0).r}else n=super.getSpotAttenuation(e);return n}}class Zw extends vr{static get type(){return"AmbientLightNode"}constructor(e=null){super(e)}setup({context:e}){e.irradiance.addAssign(this.colorNode)}}class Jw extends vr{static get type(){return"HemisphereLightNode"}constructor(e=null){super(e),this.lightPositionNode=c0(e),this.lightDirectionNode=this.lightPositionNode.normalize(),this.groundColorNode=pe(new _e).setGroup(_t)}update(e){const{light:t}=this;super.update(e),this.lightPositionNode.object3d=t,this.groundColorNode.value.copy(t.groundColor).multiplyScalar(t.intensity)}setup(e){const{colorNode:t,groundColorNode:n,lightDirectionNode:i}=this,o=di.dot(i).mul(.5).add(.5),a=it(n,t,o);e.context.irradiance.addAssign(a)}}class Kw extends vr{static get type(){return"LightProbeNode"}constructor(e=null){super(e);const t=[];for(let n=0;n<9;n++)t.push(new E);this.lightProbe=fs(t)}update(e){const{light:t}=this;super.update(e);for(let n=0;n<9;n++)this.lightProbe.array[n].copy(t.sh.coefficients[n]).multiplyScalar(t.intensity)}setup(e){const t=Ww(Id,this.lightProbe);e.context.irradiance.addAssign(t)}}class dO{parseFunction(){console.warn("Abstract function.")}}class jw{constructor(e,t,n="",i=""){this.type=e,this.inputs=t,this.name=n,this.precision=i}getCode(){console.warn("Abstract function.")}}jw.isNodeFunction=!0;const pO=/^\s*(highp|mediump|lowp)?\s*([a-z_0-9]+)\s*([a-z_0-9]+)?\s*\(([\s\S]*?)\)/i,fO=/[a-z_0-9]+/ig,X_="#pragma main",mO=s=>{s=s.trim();const e=s.indexOf(X_),t=e!==-1?s.slice(e+X_.length):s,n=t.match(pO);if(n!==null&&n.length===5){const i=n[4],r=[];let o=null;for(;(o=fO.exec(i))!==null;)r.push(o);const a=[];let c=0;for(;c<r.length;){const f=r[c][0]==="const";f===!0&&c++;let x=r[c][0];x==="in"||x==="out"||x==="inout"?c++:x="";const m=r[c++][0];let g=Number.parseInt(r[c][0]);Number.isNaN(g)===!1?c++:g=null;const y=r[c++][0];a.push(new t0(m,y,g,x,f))}const l=t.substring(n[0].length),u=n[3]!==void 0?n[3]:"",h=n[2],d=n[1]!==void 0?n[1]:"",p=e!==-1?s.slice(0,e):"";return{type:h,inputs:a,name:u,precision:d,inputsCode:i,blockCode:l,headerCode:p}}else throw new Error("FunctionNode: Function is not a GLSL code.")};class gO extends jw{constructor(e){const{type:t,inputs:n,name:i,precision:r,inputsCode:o,blockCode:a,headerCode:c}=mO(e);super(t,n,i,r),this.inputsCode=o,this.blockCode=a,this.headerCode=c}getCode(e=this.name){let t;const n=this.blockCode;if(n!==""){const{type:i,inputsCode:r,headerCode:o,precision:a}=this;let c=`${i} ${e} ( ${r.trim()} )`;a!==""&&(c=`${a} ${c}`),t=o+c+n}else t="";return t}}class Qw extends dO{parseFunction(e){return new gO(e)}}class xO{constructor(){this.lightNodes=new WeakMap,this.materialNodes=new Map,this.toneMappingNodes=new Map,this.colorSpaceNodes=new Map}fromMaterial(e){if(e.isNodeMaterial)return e;let t=null;const n=this.getMaterialNodeClass(e.type);if(n!==null){t=new n;for(const i in e)t[i]=e[i]}return t}addColorSpace(e,t){this.addType(e,t,this.colorSpaceNodes)}getColorSpaceFunction(e){return this.colorSpaceNodes.get(e)||null}addToneMapping(e,t){this.addType(e,t,this.toneMappingNodes)}getToneMappingFunction(e){return this.toneMappingNodes.get(e)||null}getMaterialNodeClass(e){return this.materialNodes.get(e)||null}addMaterial(e,t){this.addType(e,t.name,this.materialNodes)}getLightNodeClass(e){return this.lightNodes.get(e)||null}addLight(e,t){this.addClass(e,t,this.lightNodes)}addType(e,t,n){if(n.has(t)){console.warn(`Redefinition of node ${t}`);return}if(typeof e!="function")throw new Error(`Node class ${e.name} is not a class.`);if(typeof t=="function"||typeof t=="object")throw new Error(`Base class ${t} is not a class.`);n.set(t,e)}addClass(e,t,n){if(n.has(t)){console.warn(`Redefinition of node ${t.name}`);return}if(typeof e!="function")throw new Error(`Node class ${e.name} is not a class.`);if(typeof t!="function")throw new Error(`Base class ${t.name} is not a class.`);n.set(t,e)}}class _O extends sl{constructor(e,t,n,i,r,o){super(e,t,n,i,r,o),this.iesMap=null}copy(e,t){return super.copy(e,t),this.iesMap=e.iesMap,this}}class eA extends xO{constructor(){super(),this.addLight(Xw,Md),this.addLight(qw,Sd),this.addLight($w,Um),this.addLight(p0,sl),this.addLight(Zw,Td),this.addLight(Jw,vd),this.addLight(Kw,Fm),this.addLight(Yw,_O),this.addToneMapping(Ew,Ch),this.addToneMapping(Cw,Rh),this.addToneMapping(Rw,Gf),this.addToneMapping(Iw,Ih),this.addToneMapping(Pw,Ph),this.addToneMapping(Lw,Lh),this.addColorSpace(Nw,vh(li,kn)),this.addColorSpace(Aw,vh(kn,li))}}typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register",{detail:{revision:js}}));if(typeof window<"u"){try{typeof document>"u"?require("url").pathToFileURL(__filename).href:go&&go.tagName.toUpperCase()==="SCRIPT"&&go.src||new URL("three.umd.cjs",document.baseURI).href,window.__THREE__IMPORTS__||(window.__THREE__IMPORTS__=[]),window.__THREE__IMPORTS__.push({url:typeof document>"u"?require("url").pathToFileURL(__filename).href:go&&go.tagName.toUpperCase()==="SCRIPT"&&go.src||new URL("three.umd.cjs",document.baseURI).href,revision:js})}catch{}window.__THREE__?(console.warn("WARNING: Multiple instances of Three.js being imported. Existing: "+window.__THREE__+", new: "+js),console.warn(window.__THREE__IMPORTS__)):window.__THREE__=js}const yO=Object.freeze(Object.defineProperty({__proto__:null,ACESFilmicToneMapping:Ih,AONode:kT,AddEquation:Js,AddOperation:kf,AdditiveAnimationBlendMode:jf,AdditiveBlending:lc,AfterImageNode:Jb,AgXToneMapping:Ph,AlphaFormat:qf,AlwaysCompare:Vy,AlwaysDepth:hc,AlwaysStencilFunc:oh,AmbientLight:Td,AmbientLightNode:Zw,AnaglyphPassNode:fw,AnalyticLightNode:vr,AnamorphicNode:jb,AnimationAction:Nv,AnimationClip:ua,AnimationLoader:BI,AnimationMixer:Ev,AnimationObjectGroup:sP,AnimationUtils:UI,ArcCurve:rv,ArrayCamera:lm,ArrayElementNode:gr,ArrowHelper:_P,AssignNode:uM,AttachedBindMode:uf,AttributeNode:Rg,Audio:zm,AudioAnalyser:YI,AudioContext:bd,AudioListener:bv,AudioLoader:Tv,AxesHelper:zv,BRDF_GGX:Cf,BRDF_Lambert:io,BackSide:ln,BasicDepthPacking:Qf,BasicEnvironmentNode:Od,BasicNodeLibrary:eA,BasicShadowMap:oA,BatchNode:LT,BatchedMesh:mm,BloomNode:cw,Bone:ed,BooleanKeyframeTrack:fr,Box2:uP,Box3:Wn,Box3Helper:Bv,BoxGeometry:vs,BoxHelper:Vv,Break:Fd,BufferAttribute:At,BufferAttributeNode:_S,BufferGeometry:at,BufferGeometryLoader:vv,BufferNode:Ld,BumpMapNode:eT,BypassNode:TS,ByteType:Wf,Cache:ps,CacheNode:SS,Camera:Zc,CameraHelper:Ov,CanvasTexture:sv,CapsuleGeometry:nd,CatmullRomCurve3:vm,CineonToneMapping:Gf,CircleGeometry:id,ClampToEdgeWrapping:Si,Clock:Bm,CodeNode:Kg,Color:_e,ColorKeyframeTrack:_d,ColorManagement:gt,ColorSpaceNode:dl,CompressedArrayTexture:nv,CompressedCubeTexture:iv,CompressedTexture:jc,CompressedTextureLoader:zI,ComputeNode:vS,ConeGeometry:sd,ConstNode:Wi,ConstantAlphaFactor:uy,ConstantColorFactor:cy,ContextNode:bg,Continue:EL,Controls:Gv,ConvertNode:Km,CubeCamera:Yh,CubeReflectionMapping:wi,CubeRefractionMapping:Vi,CubeTexture:ro,CubeTextureLoader:kI,CubeTextureNode:qS,CubeUVReflectionMapping:dr,CubicBezierCurve:Mm,CubicBezierCurve3:ov,CubicInterpolant:fv,CullFaceBack:af,CullFaceFront:Z_,CullFaceFrontBack:rA,CullFaceNone:Y_,Curve:Gi,CurvePath:cv,CustomBlending:Vf,CustomToneMapping:dy,CylinderGeometry:lo,Cylindrical:lP,DFGApprox:$g,D_GGX:sb,Data3DTexture:qh,DataArrayTexture:$c,DataTexture:Oi,DataTextureLoader:xv,DataUtils:Hy,DecrementStencilOp:Sy,DecrementWrapStencilOp:by,DefaultLoadingManager:Lm,DenoiseNode:ow,DepthFormat:er,DepthOfFieldNode:ew,DepthStencilFormat:cr,DepthTexture:co,DetachedBindMode:py,DirectionalLight:Sd,DirectionalLightHelper:Fv,DirectionalLightNode:qw,Discard:ES,DiscreteInterpolant:mv,DisplayP3ColorSpace:Wh,DodecahedronGeometry:rd,DotScreenNode:tw,DoubleSide:Ji,DstAlphaFactor:iy,DstColorFactor:ry,DynamicCopyUsage:xA,DynamicDrawUsage:Hr,DynamicReadUsage:fA,EPSILON:RM,EdgesGeometry:Am,EllipseCurve:td,EnvironmentNode:mb,EqualCompare:Dy,EqualDepth:pc,EqualStencilFunc:Ey,EquirectUVNode:jT,EquirectangularReflectionMapping:sr,EquirectangularRefractionMapping:rr,Euler:ui,EventDispatcher:Ai,ExpressionNode:NS,ExtrudeGeometry:el,FXAANode:aw,F_Schlick:fa,FileLoader:ts,FilmNode:iw,Float16BufferAttribute:Wy,Float32BufferAttribute:Ve,FloatType:Gn,Fn:U,Fog:um,FogExp2:jh,FogExp2Node:Mw,FogNode:Gd,FogRangeNode:vw,FramebufferTexture:_m,FrontFacingNode:OS,FrontSide:gs,Frustum:xa,FunctionCallNode:dM,FunctionNode:jg,FunctionOverloadingNode:Lb,GLBufferAttribute:cP,GLSL1:yA,GLSL3:ah,GLSLNodeParser:Qw,GTAONode:rw,GaussianBlurNode:Zb,GreaterCompare:Uy,GreaterDepth:mc,GreaterEqualCompare:Oy,GreaterEqualDepth:fc,GreaterEqualStencilFunc:Py,GreaterStencilFunc:Ry,GridHelper:Uv,Group:Wr,HalfFloatType:Ln,HemisphereLight:vd,HemisphereLightHelper:mP,HemisphereLightNode:Jw,IESSpotLightNode:Yw,INFINITY:HP,IcosahedronGeometry:ad,If:Oe,ImageBitmapLoader:Sv,ImageLoader:Uc,ImageUtils:ky,IncrementStencilOp:My,IncrementWrapStencilOp:Ty,IndexNode:zt,InstanceNode:IT,InstancedBufferAttribute:Fs,InstancedBufferGeometry:Om,InstancedInterleavedBuffer:Hm,InstancedMesh:fm,InstancedPointsNodeMaterial:HL,Int16BufferAttribute:i1,Int32BufferAttribute:s1,Int8BufferAttribute:e1,IntType:ga,InterleavedBuffer:ya,InterleavedBufferAttribute:Us,Interpolant:Ta,InterpolateDiscrete:sa,InterpolateLinear:wc,InterpolateSmooth:Iu,InvertStencilOp:wy,IrradianceNode:WT,JoinNode:qv,KeepStencilOp:Ys,KeyframeTrack:Hi,LOD:dm,LatheGeometry:Qc,Layers:Yc,LessCompare:nm,LessDepth:dc,LessEqualCompare:im,LessEqualDepth:ir,LessEqualStencilFunc:Cy,LessStencilFunc:Ny,Light:mr,LightProbe:Fm,LightProbeNode:Kw,LightingContextNode:GT,LightingModel:Sl,LightingNode:po,LightsNode:BT,Line:Os,Line2NodeMaterial:ZL,Line3:Lv,LineBasicMaterial:Fn,LineBasicNodeMaterial:XL,LineCurve:Sm,LineCurve3:av,LineDashedMaterial:xd,LineDashedNodeMaterial:$L,LineLoop:gm,LineSegments:rs,LinearDisplayP3ColorSpace:qc,LinearFilter:Ut,LinearInterpolant:Pm,LinearMipMapLinearFilter:Hf,LinearMipMapNearestFilter:cA,LinearMipmapLinearFilter:Kn,LinearMipmapNearestFilter:Qs,LinearSRGBColorSpace:li,LinearToneMapping:Ch,LinearTransfer:Nc,Loader:qn,LoaderUtils:dh,LoadingManager:yd,Loop:mt,LoopNode:FT,LoopOnce:Jf,LoopPingPong:my,LoopRepeat:Kf,LuminanceAlphaFormat:Yf,LuminanceFormat:$f,Lut3DNode:sw,MOUSE:q_,MRTNode:Pb,MatcapUVNode:_b,Material:mn,MaterialLoader:rl,MaterialNode:j,MaterialReferenceNode:$S,MathUtils:Xh,Matrix2:Wm,Matrix3:Ke,Matrix4:Fe,MaxEquation:Bf,MaxMipLevelNode:PS,Mesh:kt,MeshBasicMaterial:ss,MeshBasicNodeMaterial:s2,MeshDepthMaterial:Kh,MeshDistanceMaterial:cm,MeshLambertMaterial:gd,MeshLambertNodeMaterial:l2,MeshMatcapMaterial:Rm,MeshMatcapNodeMaterial:$2,MeshNormalMaterial:md,MeshNormalNodeMaterial:jL,MeshPhongMaterial:fd,MeshPhongNodeMaterial:h2,MeshPhysicalMaterial:pd,MeshPhysicalNodeMaterial:xb,MeshSSSNodeMaterial:k2,MeshStandardMaterial:il,MeshStandardNodeMaterial:gb,MeshToonMaterial:Cm,MeshToonNodeMaterial:X2,MinEquation:j_,MirroredRepeatWrapping:ta,MixOperation:zf,ModelNode:is,ModelViewProjectionNode:ET,MorphNode:OT,MultiplyBlending:lf,MultiplyOperation:ma,NearestFilter:Qt,NearestMipMapLinearFilter:aA,NearestMipMapNearestFilter:fy,NearestMipmapLinearFilter:Is,NearestMipmapNearestFilter:Uh,NeutralToneMapping:Lh,NeverCompare:Ly,NeverDepth:uc,NeverStencilFunc:Ay,NoBlending:Fi,NoColorSpace:Li,NoToneMapping:Ti,Node:Ye,NodeAttribute:Df,NodeBuilder:Rb,NodeCache:Fu,NodeCode:Nb,NodeFrame:Ib,NodeFunctionInput:t0,NodeLoader:Tb,NodeMaterial:Tt,NodeMaterialLoader:bb,NodeMaterialObserver:Hv,NodeObjectLoader:i3,NodeShaderStage:_f,NodeType:SP,NodeUniform:wb,NodeUpdateType:We,NodeUtils:MP,NodeVar:Zg,NodeVarying:Ab,NormalAnimationBlendMode:Hh,NormalBlending:Ls,NormalMapNode:QS,NotEqualCompare:Fy,NotEqualDepth:gc,NotEqualStencilFunc:Iy,NumberKeyframeTrack:ca,Object3D:yt,Object3DNode:wt,ObjectLoader:Mv,ObjectSpaceNormalMap:tm,OctahedronGeometry:Ma,OneFactor:ey,OneMinusConstantAlphaFactor:hy,OneMinusConstantColorFactor:ly,OneMinusDstAlphaFactor:sy,OneMinusDstColorFactor:oy,OneMinusSrcAlphaFactor:ku,OneMinusSrcColorFactor:ny,OrthographicCamera:ao,OscNode:pn,OutputStructNode:n0,P3Primaries:Cc,PCFShadowMap:Ff,PCFSoftShadowMap:Of,PI:no,PI2:WP,PMREMGenerator:ch,PMREMNode:pb,ParallaxBarrierPassNode:mw,ParameterNode:Jg,PassNode:bn,Path:Ic,PerspectiveCamera:hn,PhongLightingModel:Xg,PhysicalLightingModel:Bd,PixelationPassNode:uw,Plane:ls,PlaneGeometry:oo,PlaneHelper:xP,PointLight:Md,PointLightHelper:pP,PointLightNode:Xw,PointUVNode:Gb,Points:xm,PointsMaterial:va,PointsNodeMaterial:Z2,PolarGridHelper:gP,PolyhedronGeometry:pr,PositionalAudio:wv,PosterizeNode:qb,PropertyBinding:St,PropertyMixer:Av,PropertyNode:Nt,QuadraticBezierCurve:Tm,QuadraticBezierCurve3:bm,Quaternion:Hn,QuaternionKeyframeTrack:ba,QuaternionLinearInterpolant:gv,RED_GREEN_RGTC2_Format:sh,RED_RGTC1_Format:Zf,REVISION:js,RGBADepthPacking:em,RGBAFormat:Rn,RGBAIntegerFormat:Gh,RGBA_ASTC_10x10_Format:Qu,RGBA_ASTC_10x5_Format:Ju,RGBA_ASTC_10x6_Format:Ku,RGBA_ASTC_10x8_Format:ju,RGBA_ASTC_12x10_Format:eh,RGBA_ASTC_12x12_Format:th,RGBA_ASTC_4x4_Format:Sc,RGBA_ASTC_5x4_Format:Wu,RGBA_ASTC_5x5_Format:Xu,RGBA_ASTC_6x5_Format:qu,RGBA_ASTC_6x6_Format:Tc,RGBA_ASTC_8x5_Format:$u,RGBA_ASTC_8x6_Format:Yu,RGBA_ASTC_8x8_Format:Zu,RGBA_BPTC_Format:jo,RGBA_ETC2_EAC_Format:Mc,RGBA_PVRTC_2BPPV1_Format:Hu,RGBA_PVRTC_4BPPV1_Format:_c,RGBA_S3TC_DXT1_Format:Zo,RGBA_S3TC_DXT3_Format:Jo,RGBA_S3TC_DXT5_Format:Ko,RGBDepthPacking:uA,RGBFormat:zh,RGBIntegerFormat:lA,RGBShiftNode:nw,RGB_BPTC_SIGNED_Format:nh,RGB_BPTC_UNSIGNED_Format:bc,RGB_ETC1_Format:yc,RGB_ETC2_Format:vc,RGB_PVRTC_2BPPV1_Format:Gu,RGB_PVRTC_4BPPV1_Format:xc,RGB_S3TC_DXT1_Format:Yo,RGDepthPacking:hA,RGFormat:ia,RGIntegerFormat:kh,RTTNode:Bb,RangeNode:Sw,RawShaderMaterial:Em,Ray:so,Raycaster:Iv,Rec709Primaries:Ec,RectAreaLight:Um,RectAreaLightNode:$w,RedFormat:Wc,RedIntegerFormat:Xc,ReferenceNode:gl,ReflectorNode:Vb,ReinhardToneMapping:Rh,RemapNode:Cg,RenderOutputNode:CS,RenderTarget:fn,RendererReferenceNode:pS,RepeatWrapping:or,ReplaceStencilOp:vy,Return:ZP,ReverseSubtractEquation:K_,RingGeometry:tl,RotateNode:vb,SIGNED_RED_GREEN_RGTC2_Format:rh,SIGNED_RED_RGTC1_Format:ih,SRGBColorSpace:kn,SRGBTransfer:Vt,SSAAPassNode:hw,Scene:Qh,SceneNode:Qi,Schlick_to_F0:ob,ScreenNode:sn,ScriptableNode:yw,ScriptableValueNode:xw,SetNode:$v,ShaderChunk:lt,ShaderLib:Pi,ShaderMaterial:ki,ShaderNode:tc,ShadowMaterial:dd,ShadowNodeMaterial:e3,Shape:tr,ShapeGeometry:cd,ShapePath:kv,ShapeUtils:ji,ShortType:Xf,Skeleton:Kc,SkeletonHelper:dP,SkinnedMesh:pm,SkinningNode:zg,SobelOperatorNode:Qb,Source:Ks,Sphere:Dn,SphereGeometry:Sa,Spherical:Pv,SphericalHarmonics3:yv,SplineCurve:wm,SplitNode:ph,SpotLight:sl,SpotLightHelper:hP,SpotLightNode:p0,Sprite:hm,SpriteMaterial:Jc,SpriteNodeMaterial:K2,SpriteSheetUVNode:Db,SrcAlphaFactor:zu,SrcAlphaSaturateFactor:ay,SrcColorFactor:ty,StackNode:Cb,StaticCopyUsage:gA,StaticDrawUsage:ra,StaticReadUsage:pA,StereoCamera:Vm,StereoPassNode:dw,StorageArrayElementNode:Ub,StorageBufferNode:r0,StorageTextureNode:Hb,StreamCopyUsage:_A,StreamDrawUsage:dA,StreamReadUsage:mA,StringKeyframeTrack:uo,SubtractEquation:J_,SubtractiveBlending:cf,TBNViewMatrix:$r,TOUCH:$_,TangentSpaceNormalMap:xs,TempNode:pt,TetrahedronGeometry:ld,Texture:Xt,Texture3DNode:Mb,TextureLoader:_v,TextureNode:_s,TextureSizeNode:IS,TextureUtils:zR,TimerNode:Sn,ToneMappingNode:mS,ToonOutlinePassNode:gw,TorusGeometry:nl,TorusKnotGeometry:ud,TransitionNode:lw,Triangle:Jn,TriangleFanDrawMode:_y,TriangleStripDrawMode:xy,TrianglesDrawMode:gy,TriplanarTexturesNode:Fb,TubeGeometry:hd,UVMapping:Dh,Uint16BufferAttribute:$h,Uint32BufferAttribute:rm,Uint8BufferAttribute:t1,Uint8ClampedBufferAttribute:n1,Uniform:Cv,UniformArrayNode:Ug,UniformGroupNode:sg,UniformNode:ho,UniformsGroup:aP,UniformsLib:Se,UniformsUtils:om,UnsignedByteType:es,UnsignedInt101111Type:Bh,UnsignedInt248Type:ar,UnsignedInt5999Type:Vh,UnsignedIntType:Bi,UnsignedShort4444Type:Fh,UnsignedShort5551Type:Oh,UnsignedShortType:na,UserDataNode:Xb,VSMShadowMap:oi,V_GGX_SmithCorrelated:ib,VarNode:aS,VaryingNode:cS,Vector2:J,Vector3:E,Vector4:st,VectorKeyframeTrack:la,VertexColorNode:kb,VideoTexture:tv,ViewportDepthNode:Qn,ViewportDepthTextureNode:YT,ViewportSharedTextureNode:$b,ViewportTextureNode:Ml,VolumeNodeMaterial:n3,WebGL3DRenderTarget:WA,WebGLArrayRenderTarget:HA,WebGLCoordinateSystem:Di,WebGLCubeRenderTarget:Zh,WebGLMultipleRenderTargets:yP,WebGLRenderTarget:zi,WebGLRenderer:jy,WebGLUtils:Ky,WebGPUCoordinateSystem:eo,WireframeGeometry:Nm,WrapAroundEnding:Ac,ZeroCurvatureEnding:kr,ZeroFactor:Q_,ZeroSlopeEnding:Gr,ZeroStencilOp:yy,abs:Dt,acesFilmicToneMapping:Iw,acos:yh,add:Wt,addMethodChaining:te,addNodeElement:JP,afterImage:dD,agxToneMapping:Pw,all:mg,alphaT:mh,anaglyphPass:YD,anamorphic:_D,and:yM,anisotropy:Zs,anisotropyB:Kr,anisotropyT:nc,any:IM,ao:ED,append:jv,arrayBuffer:BP,asin:OM,assign:hM,atan:VM,atan2:$M,atomicAdd:qU,atomicAnd:JU,atomicFunc:Vs,atomicMax:YU,atomicMin:ZU,atomicOr:KU,atomicStore:XU,atomicSub:$U,atomicXor:jU,attenuationColor:hg,attenuationDistance:ug,attribute:vn,backgroundBlurriness:eD,backgroundIntensity:tD,batch:DT,billboarding:xU,bitAnd:TM,bitNot:bM,bitOr:wM,bitXor:AM,bitangentGeometry:gL,bitangentLocal:xL,bitangentView:ZS,bitangentWorld:_L,bitcast:XP,bleach:AU,bloom:OD,blur:db,bool:lr,buffer:ml,bufferAttribute:pl,bumpMap:tT,burn:MU,bvec2:tM,bvec3:ig,bvec4:rM,bypass:bS,cache:sc,call:pM,cameraFar:zo,cameraLogDepth:DS,cameraNear:Bo,cameraNormalMatrix:eL,cameraPosition:Ig,cameraProjectionMatrix:ci,cameraProjectionMatrixInverse:jP,cameraViewMatrix:pi,cameraWorldMatrix:QP,cbrt:eS,ceil:_g,checker:QU,cineonToneMapping:Rw,clamp:cn,clearcoat:fh,clearcoatRoughness:kc,code:zd,color:Qv,colorSpaceToWorking:Eg,colorToDirection:JL,compute:MS,cond:rS,context:wg,convert:aM,convertToTexture:ei,cos:Mi,createCanvasElement:zy,cross:ea,cubeTexture:Pd,dFdx:kM,dFdy:GM,dashSize:jr,defaultBuildStages:yf,defaultShaderStages:Jm,defined:Vc,degrees:DM,denoise:ID,densityFog:tU,depth:Hg,depthPass:uD,difference:JM,diffuseColor:Ct,directionToColor:KT,dispersion:dg,distance:ZM,div:ns,dodge:SU,dof:vD,dot:$t,dotScreen:MD,drawIndex:RT,dynamicBufferAttribute:yS,element:oM,emissive:Sf,equal:fM,equals:PM,equirectUV:Wg,exp:gg,exp2:_h,expression:ur,faceDirection:fl,faceForward:nS,film:TD,float:A,floor:xr,fog:QD,fract:_r,frameGroup:kP,frameId:B3,frontFacing:VS,fwidth:XM,fxaa:PD,gain:hU,gapSize:Hc,gaussianBlur:hD,getColorSpaceMethod:vh,getConstNodeType:Kv,getCurrentStack:ng,getDirection:ub,getDistanceAttenuation:o0,getGeometryRoughness:nb,getRoughness:qg,getShIrradianceAt:Ww,getTextureIndex:i0,global:Bu,glsl:c3,glslFn:l3,grayscale:pD,greaterThan:fg,greaterThanEqual:_M,hash:uU,highPrecisionModelNormalViewMatrix:hL,highPrecisionModelViewMatrix:uL,hue:gD,instance:PT,instanceIndex:vl,instancedBufferAttribute:Mh,instancedDynamicBufferAttribute:Tf,int:L,inverseSqrt:UM,invocationLocalIndex:AL,invocationSubgroupIndex:wL,ior:ic,iridescence:Ed,iridescenceIOR:og,iridescenceThickness:ag,ivec2:us,ivec3:nM,ivec4:iM,js:o3,label:oS,length:Qr,lengthSq:Mg,lessThan:gM,lessThanEqual:xM,lightPosition:c0,lightTargetDirection:l0,lightTargetPosition:Tw,lightViewPosition:Hd,lightingContext:HT,lights:zT,linearDepth:wh,linearSRGBTosRGB:Nw,linearToneMapping:Ew,localId:UU,log:xg,log2:cl,loop:CL,luminance:En,lut3D:bD,mat2:al,mat3:Tn,mat4:Jr,matcapUV:yb,materialAOMap:NT,materialAlphaTest:nT,materialAnisotropy:gT,materialAnisotropyVector:ko,materialAttenuationColor:bT,materialAttenuationDistance:TT,materialClearcoat:uT,materialClearcoatNormal:dT,materialClearcoatRoughness:hT,materialColor:da,materialDispersion:AT,materialEmissive:sT,materialIOR:ST,materialIridescence:xT,materialIridescenceIOR:_T,materialIridescenceThickness:yT,materialLightMap:Bg,materialLineDashOffset:Nf,materialLineDashSize:Og,materialLineGapSize:Vg,materialLineScale:bh,materialLineWidth:Uu,materialMetalness:cT,materialNormal:lT,materialOpacity:Ud,materialPointWidth:wT,materialReference:Ki,materialReflectivity:Du,materialRefractionRatio:kS,materialRotation:pT,materialRoughness:aT,materialSheen:fT,materialSheenRoughness:mT,materialShininess:iT,materialSpecular:rT,materialSpecularColor:oT,materialSpecularIntensity:Af,materialSpecularStrength:rc,materialThickness:MT,materialTransmission:vT,max:ft,maxMipLevel:LS,metalness:zc,min:Mn,mix:it,mixElement:iS,mod:Cd,modInt:pg,modelDirection:oL,modelNormalMatrix:US,modelPosition:aL,modelScale:cL,modelViewMatrix:ys,modelViewPosition:lL,modelViewProjection:Ef,modelWorldMatrix:Ui,modelWorldMatrixInverse:FS,morphReference:VT,motionBlur:wU,mrt:kd,mul:ot,mx_aastep:kw,mx_cell_noise_float:aO,mx_contrast:eO,mx_fractal_noise_float:cO,mx_fractal_noise_vec2:lO,mx_fractal_noise_vec3:uO,mx_fractal_noise_vec4:hO,mx_hsvtorgb:XF,mx_noise_float:tO,mx_noise_vec3:nO,mx_noise_vec4:iO,mx_ramplr:YF,mx_ramptb:ZF,mx_rgbtohsv:qF,mx_safepower:QF,mx_splitlr:JF,mx_splittb:KF,mx_srgb_texture_to_lin_rec709:$F,mx_transform_uv:jF,mx_worley_noise_float:sO,mx_worley_noise_vec2:rO,mx_worley_noise_vec3:oO,negate:BM,neutralToneMapping:Lw,nodeArray:Zr,nodeImmutable:fe,nodeObject:H,nodeObjects:ol,nodeProxy:K,normalFlat:BS,normalGeometry:Rd,normalLocal:hi,normalMap:wf,normalView:di,normalWorld:Id,normalize:vi,not:MM,notEqual:mM,numWorkgroups:LU,objectDirection:tL,objectGroup:lM,objectPosition:iL,objectScale:sL,objectViewPosition:rL,objectWorldMatrix:nL,oneMinus:zM,or:vM,orthographicDepthToViewZ:VL,oscSawtooth:H3,oscSine:z3,oscSquare:k3,oscTriangle:G3,output:cg,outputStruct:U3,overlay:bU,overloadingFn:On,parabola:Uf,parallaxBarrierPass:ZD,parallaxDirection:KS,parallaxUV:vL,parameter:r3,pass:lD,passTexture:Ea,pcurve:dU,perspectiveDepthToViewZ:Gg,pixelationPass:kD,pmremTexture:fb,pointUV:Q3,pointWidth:GP,positionGeometry:Nn,positionLocal:en,positionPrevious:Sh,positionView:Pn,positionViewDirection:Bt,positionWorld:Th,positionWorldDirection:Pg,posterize:oD,pow:jn,pow2:vg,pow3:KM,pow4:jM,property:ai,radians:LM,rand:Tg,range:nU,rangeFog:eU,reciprocal:WM,reference:dn,referenceBuffer:bf,reflect:YM,reflectVector:WS,reflectView:GS,reflector:Y3,refract:Sg,refractVector:XS,refractView:HS,reinhardToneMapping:Cw,remainder:CM,remap:wS,remapClamp:AS,renderGroup:_t,renderOutput:RS,rendererReference:fS,rgbShift:SD,rotate:Yg,rotateUV:mU,roughness:ds,round:HM,rtt:zb,sRGBToLinearSRGB:Aw,sampler:KP,saturate:tS,saturation:fD,screen:TU,screenCoordinate:Na,screenSize:pa,screenUV:yr,scriptable:jD,scriptableValue:Vu,select:In,sepia:NU,setCurrentStack:Bc,shaderStages:vf,sharedUniformGroup:rg,sheen:qr,sheenRoughness:Nd,shiftLeft:NM,shiftRight:EM,shininess:gh,sign:ll,sin:Cn,sinc:pU,skinning:NL,skinningReference:UT,smoothstep:ti,smoothstepElement:sS,sobel:yD,specularColor:ri,specularF90:Gc,spherizeUV:gU,split:zP,spritesheetUV:W3,sqrt:os,ssaaPass:WD,stack:Ou,step:ul,stereoPass:qD,storage:nD,storageBarrier:BU,storageObject:iD,storageTexture:Wb,string:VP,sub:Ft,subgroupIndex:bL,subgroupSize:FU,tan:FM,tangentGeometry:Dd,tangentLocal:xl,tangentView:_l,tangentWorld:YS,temp:Ag,texture:xt,texture3D:Sb,textureBarrier:zU,textureBicubic:lb,textureCubeUV:hb,textureLoad:Ci,textureSize:nr,textureStore:sD,thickness:lg,threshold:Kb,timerDelta:V3,timerGlobal:O3,timerLocal:s0,toOutputColorSpace:lS,toWorkingColorSpace:uS,toneMapping:gS,toneMappingExposure:xS,toonOutlinePass:JD,transformDirection:QM,transformNormal:zS,transformNormalToView:Dg,transformedBentNormalView:jS,transformedBitangentView:JS,transformedBitangentWorld:yL,transformedClearcoatNormalView:qo,transformedNormalView:Yt,transformedNormalWorld:Lg,transformedTangentView:Fg,transformedTangentWorld:mL,transition:VD,transmission:xh,transpose:qM,tri:hs,tri3:bw,triNoise3D:fU,triplanarTexture:q3,triplanarTextures:Ob,trunc:yg,tslFn:OP,uint:ve,uniform:pe,uniformArray:fs,uniformGroup:cM,uniforms:pL,userData:rD,uv:rt,uvec2:eM,uvec3:Aa,uvec4:sM,varying:Un,varyingProperty:Zi,vec2:z,vec3:D,vec4:oe,vectorComponents:wa,velocity:vU,vertexColor:j3,vertexIndex:CT,vibrance:mD,viewZToOrthographicDepth:oc,viewZToPerspectiveDepth:ZT,viewport:Ds,viewportBottomLeft:FL,viewportCoordinate:qT,viewportDepthTexture:kg,viewportLinearDepth:BL,viewportMipTexture:$T,viewportResolution:DL,viewportSafeUV:_U,viewportSharedTexture:aD,viewportSize:XT,viewportTexture:OL,viewportTopLeft:UL,viewportUV:LL,wgsl:a3,wgslFn:u3,workgroupArray:HU,workgroupBarrier:VU,workgroupId:DU,workingToColorSpace:hS,xor:SM},Symbol.toStringTag,{value:"Module"}));function vO(s){const e={};for(const t in s){e[t]={};for(const n in s[t]){const i=s[t][n];i&&(i.isColor||i.isMatrix3||i.isMatrix4||i.isVector2||i.isVector3||i.isVector4||i.isTexture||i.isQuaternion)?i.isRenderTargetTexture?(console.warn("UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms()."),e[t][n]=null):e[t][n]=i.clone():Array.isArray(i)?e[t][n]=i.slice():e[t][n]=i}}return e}function MO(s){const e=[];for(let t=0;t<s.length;t++)e.push(s[t].clone());return e}exports.ACESFilmicToneMapping=Ih;exports.AdditiveBlending=lc;exports.AgXToneMapping=Ph;exports.AlwaysDepth=hc;exports.AlwaysStencilFunc=oh;exports.AmbientLight=Td;exports.AnimationClip=ua;exports.AnimationMixer=Ev;exports.ArrayCamera=lm;exports.Audio=zm;exports.AudioContext=bd;exports.AudioListener=bv;exports.AudioLoader=Tv;exports.AxesHelper=zv;exports.BackSide=ln;exports.BasicDepthPacking=Qf;exports.BasicNodeLibrary=eA;exports.BatchedMesh=mm;exports.Bone=ed;exports.BooleanKeyframeTrack=fr;exports.Box3=Wn;exports.Box3Helper=Bv;exports.BoxGeometry=vs;exports.BoxHelper=Vv;exports.BufferAttribute=At;exports.BufferGeometry=at;exports.Cache=ps;exports.Camera=Zc;exports.CameraHelper=Ov;exports.CanvasTexture=sv;exports.CatmullRomCurve3=vm;exports.ClampToEdgeWrapping=Si;exports.Clock=Bm;exports.Color=_e;exports.ColorKeyframeTrack=_d;exports.ColorManagement=gt;exports.CompressedArrayTexture=nv;exports.CompressedCubeTexture=iv;exports.CompressedTexture=jc;exports.Controls=Gv;exports.CubeCamera=Yh;exports.CubeTexture=ro;exports.CubeUVReflectionMapping=dr;exports.Curve=Gi;exports.CustomBlending=Vf;exports.CylinderGeometry=lo;exports.Data3DTexture=qh;exports.DataTexture=Oi;exports.DataTextureLoader=xv;exports.DataUtils=Hy;exports.DecrementStencilOp=Sy;exports.DecrementWrapStencilOp=by;exports.DefaultLoadingManager=Lm;exports.DepthFormat=er;exports.DepthStencilFormat=cr;exports.DepthTexture=co;exports.DirectionalLight=Sd;exports.DirectionalLightHelper=Fv;exports.DoubleSide=Ji;exports.DynamicDrawUsage=Hr;exports.EdgesGeometry=Am;exports.EqualDepth=pc;exports.EqualStencilFunc=Ey;exports.EquirectangularReflectionMapping=sr;exports.EquirectangularRefractionMapping=rr;exports.Euler=ui;exports.EventDispatcher=Ai;exports.ExtrudeGeometry=el;exports.FileLoader=ts;exports.Float32BufferAttribute=Ve;exports.FloatType=Gn;exports.Fog=um;exports.FrontSide=gs;exports.Frustum=xa;exports.GLSL3=ah;exports.GLSLNodeParser=Qw;exports.GreaterDepth=mc;exports.GreaterEqualDepth=fc;exports.GreaterEqualStencilFunc=Py;exports.GreaterStencilFunc=Ry;exports.GridHelper=Uv;exports.Group=Wr;exports.HalfFloatType=Ln;exports.HemisphereLight=vd;exports.ImageBitmapLoader=Sv;exports.IncrementStencilOp=My;exports.IncrementWrapStencilOp=Ty;exports.InstancedBufferAttribute=Fs;exports.InstancedBufferGeometry=Om;exports.InstancedInterleavedBuffer=Hm;exports.InstancedMesh=fm;exports.InterleavedBuffer=ya;exports.InterleavedBufferAttribute=Us;exports.Interpolant=Ta;exports.InterpolateDiscrete=sa;exports.InterpolateLinear=wc;exports.InvertStencilOp=wy;exports.KeepStencilOp=Ys;exports.KeyframeTrack=Hi;exports.LOD=dm;exports.Layers=Yc;exports.LessDepth=dc;exports.LessEqualDepth=ir;exports.LessEqualStencilFunc=Cy;exports.LessStencilFunc=Ny;exports.Line=Os;exports.Line3=Lv;exports.LineBasicMaterial=Fn;exports.LineLoop=gm;exports.LineSegments=rs;exports.LinearFilter=Ut;exports.LinearMipMapLinearFilter=Hf;exports.LinearMipmapLinearFilter=Kn;exports.LinearMipmapNearestFilter=Qs;exports.LinearSRGBColorSpace=li;exports.LinearToneMapping=Ch;exports.Loader=qn;exports.LoaderUtils=dh;exports.LoadingManager=yd;exports.LoopOnce=Jf;exports.LoopRepeat=Kf;exports.MOUSE=q_;exports.Material=mn;exports.MathUtils=Xh;exports.Matrix3=Ke;exports.Matrix4=Fe;exports.MaxEquation=Bf;exports.Mesh=kt;exports.MeshBasicMaterial=ss;exports.MeshDepthMaterial=Kh;exports.MeshLambertMaterial=gd;exports.MeshNormalMaterial=md;exports.MeshPhongMaterial=fd;exports.MeshPhysicalMaterial=pd;exports.MeshStandardMaterial=il;exports.MirroredRepeatWrapping=ta;exports.NearestFilter=Qt;exports.NearestMipMapNearestFilter=fy;exports.NearestMipmapLinearFilter=Is;exports.NearestMipmapNearestFilter=Uh;exports.NeutralToneMapping=Lh;exports.NeverDepth=uc;exports.NeverStencilFunc=Ay;exports.NoBlending=Fi;exports.NoColorSpace=Li;exports.NoToneMapping=Ti;exports.Node=Ye;exports.NodeBuilder=Rb;exports.NodeFrame=Ib;exports.NormalBlending=Ls;exports.NotEqualDepth=gc;exports.NotEqualStencilFunc=Iy;exports.NumberKeyframeTrack=ca;exports.Object3D=yt;exports.OctahedronGeometry=Ma;exports.OrthographicCamera=ao;exports.PCFSoftShadowMap$1=Of;exports.PMREMGenerator$1=ch;exports.PerspectiveCamera=hn;exports.Plane=ls;exports.PlaneGeometry=oo;exports.PointLight=Md;exports.Points=xm;exports.PointsMaterial=va;exports.PositionalAudio=wv;exports.PropertyBinding=St;exports.Quaternion=Hn;exports.QuaternionKeyframeTrack=ba;exports.REVISION=js;exports.RGBADepthPacking=em;exports.RGBAFormat=Rn;exports.RGBA_ASTC_4x4_Format=Sc;exports.RGBA_ASTC_6x6_Format=Tc;exports.RGBA_BPTC_Format=jo;exports.RGBA_ETC2_EAC_Format=Mc;exports.RGBA_PVRTC_4BPPV1_Format=_c;exports.RGBA_S3TC_DXT1_Format=Zo;exports.RGBA_S3TC_DXT3_Format=Jo;exports.RGBA_S3TC_DXT5_Format=Ko;exports.RGBFormat=zh;exports.RGB_BPTC_UNSIGNED_Format=bc;exports.RGB_ETC1_Format=yc;exports.RGB_ETC2_Format=vc;exports.RGB_PVRTC_4BPPV1_Format=xc;exports.RGB_S3TC_DXT1_Format=Yo;exports.RGFormat=ia;exports.RawShaderMaterial=Em;exports.Ray=so;exports.Raycaster=Iv;exports.RedFormat=Wc;exports.ReinhardToneMapping=Rh;exports.RepeatWrapping=or;exports.ReplaceStencilOp=vy;exports.RingGeometry=tl;exports.SRGBColorSpace=kn;exports.Scene=Qh;exports.ShaderChunk=lt;exports.ShaderLib=Pi;exports.ShaderMaterial=ki;exports.ShadowMaterial=dd;exports.Shape=tr;exports.ShapePath=kv;exports.ShapeUtils=ji;exports.Skeleton=Kc;exports.SkinnedMesh=pm;exports.Source=Ks;exports.Sphere=Dn;exports.SphereGeometry=Sa;exports.Spherical=Pv;exports.SpotLight=sl;exports.Sprite=hm;exports.SpriteMaterial=Jc;exports.THREE=yO;exports.TOUCH=$_;exports.Texture=Xt;exports.TextureLoader=_v;exports.TorusGeometry=nl;exports.Triangle=Jn;exports.TriangleFanDrawMode=_y;exports.TriangleStripDrawMode=xy;exports.TrianglesDrawMode=gy;exports.Uint16BufferAttribute=$h;exports.Uniform$1=Cv;exports.UniformsLib=Se;exports.UniformsUtils=om;exports.UnsignedByteType=es;exports.UnsignedInt101111Type=Bh;exports.UnsignedInt248Type=ar;exports.UnsignedInt5999Type=Vh;exports.UnsignedIntType=Bi;exports.Vector2=J;exports.Vector3=E;exports.Vector4=st;exports.VectorKeyframeTrack=la;exports.VideoTexture=tv;exports.WebGLCubeRenderTarget=Zh;exports.WebGLRenderTarget=zi;exports.WebGLRenderer=jy;exports.WireframeGeometry=Nm;exports.ZeroStencilOp=yy;exports.cloneUniforms=vO;exports.cloneUniformsGroups=MO;exports.defaultShaderStages=Jm;exports.normalView=di;
@@ -1,4 +1,4 @@
1
- import { PlaneGeometry as gc, ShaderChunk as Kl, Object3D as vc, Layers as Br, MeshBasicMaterial as sa, DoubleSide as Xs, AdditiveBlending as Sc, InstancedBufferAttribute as mn, DynamicDrawUsage as ee, InstancedBufferGeometry as Ql, Uniform$1 as Re, ShaderMaterial as Ys, BufferGeometry as yi, BufferAttribute as he, Mesh as Zr, MeshStandardMaterial as tu, MeshPhysicalMaterial as eu, Triangle as Mn, Vector3 as H, Box3 as Le, Matrix4 as Oe, Line3 as tn, Plane as xc, Vector2 as hn, BackSide as nu, REVISION as _c, Ray as iu, FrontSide as oa, LineSegments as bc, LineLoop as Tc, Line as Cc, Points as Mc, Sphere as ru, BatchedMesh as su, Matrix3 as ou, Vector4 as To, SkinnedMesh as au, InterpolateDiscrete as cu, InterpolateLinear as wc, AnimationClip as lu, QuaternionKeyframeTrack as uu, ColorKeyframeTrack as hu, VectorKeyframeTrack as fu, BooleanKeyframeTrack as du, NumberKeyframeTrack as pu, PropertyBinding as aa } from "./three-Bvk2VKbF.js";
1
+ import { PlaneGeometry as gc, ShaderChunk as Kl, Object3D as vc, Layers as Br, MeshBasicMaterial as sa, DoubleSide as Xs, AdditiveBlending as Sc, InstancedBufferAttribute as mn, DynamicDrawUsage as ee, InstancedBufferGeometry as Ql, Uniform$1 as Re, ShaderMaterial as Ys, BufferGeometry as yi, BufferAttribute as he, Mesh as Zr, MeshStandardMaterial as tu, MeshPhysicalMaterial as eu, Triangle as Mn, Vector3 as H, Box3 as Le, Matrix4 as Oe, Line3 as tn, Plane as xc, Vector2 as hn, BackSide as nu, REVISION as _c, Ray as iu, FrontSide as oa, LineSegments as bc, LineLoop as Tc, Line as Cc, Points as Mc, Sphere as ru, BatchedMesh as su, Matrix3 as ou, Vector4 as To, SkinnedMesh as au, InterpolateDiscrete as cu, InterpolateLinear as wc, AnimationClip as lu, QuaternionKeyframeTrack as uu, ColorKeyframeTrack as hu, VectorKeyframeTrack as fu, BooleanKeyframeTrack as du, NumberKeyframeTrack as pu, PropertyBinding as aa } from "./three.js";
2
2
  const It = {
3
3
  ComponentState: Object.freeze({
4
4
  DEFAULT: "default",