@needle-tools/three 0.169.20 → 0.183.2-canary.0

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 (1051) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +5 -6
  3. package/build/three.cjs +54178 -56709
  4. package/build/three.core.js +59506 -0
  5. package/build/three.core.min.js +6 -0
  6. package/build/three.module.js +11645 -73012
  7. package/build/three.module.min.js +2 -2
  8. package/build/three.tsl.js +648 -0
  9. package/build/three.tsl.min.js +6 -0
  10. package/build/three.webgpu.js +53905 -51657
  11. package/build/three.webgpu.min.js +2 -2
  12. package/build/three.webgpu.nodes.js +53884 -51814
  13. package/build/three.webgpu.nodes.min.js +2 -2
  14. package/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
  15. package/examples/fonts/MPLUSRounded1c/OFL.txt +91 -0
  16. package/examples/jsm/Addons.js +5 -15
  17. package/examples/jsm/animation/AnimationClipCreator.js +58 -6
  18. package/examples/jsm/animation/CCDIKSolver.js +152 -45
  19. package/examples/jsm/capabilities/WebGL.js +28 -29
  20. package/examples/jsm/capabilities/WebGPU.js +19 -17
  21. package/examples/jsm/controls/ArcballControls.js +474 -178
  22. package/examples/jsm/controls/DragControls.js +100 -58
  23. package/examples/jsm/controls/FirstPersonControls.js +116 -6
  24. package/examples/jsm/controls/FlyControls.js +50 -2
  25. package/examples/jsm/controls/MapControls.js +96 -8
  26. package/examples/jsm/controls/OrbitControls.js +496 -57
  27. package/examples/jsm/controls/PointerLockControls.js +115 -22
  28. package/examples/jsm/controls/TrackballControls.js +166 -14
  29. package/examples/jsm/controls/TransformControls.js +336 -26
  30. package/examples/jsm/csm/CSM.js +232 -18
  31. package/examples/jsm/csm/CSMFrustum.js +61 -4
  32. package/examples/jsm/csm/CSMHelper.js +50 -0
  33. package/examples/jsm/csm/CSMShader.js +13 -1
  34. package/examples/jsm/csm/CSMShadowNode.js +599 -0
  35. package/examples/jsm/curves/CurveExtras.js +303 -31
  36. package/examples/jsm/curves/NURBSCurve.js +91 -16
  37. package/examples/jsm/curves/NURBSSurface.js +52 -6
  38. package/examples/jsm/curves/NURBSUtils.js +102 -112
  39. package/examples/jsm/curves/NURBSVolume.js +24 -4
  40. package/examples/jsm/effects/AnaglyphEffect.js +134 -7
  41. package/examples/jsm/effects/AsciiEffect.js +69 -22
  42. package/examples/jsm/effects/OutlineEffect.js +61 -111
  43. package/examples/jsm/effects/ParallaxBarrierEffect.js +30 -0
  44. package/examples/jsm/effects/StereoEffect.js +31 -0
  45. package/examples/jsm/environments/ColorEnvironment.js +59 -0
  46. package/examples/jsm/environments/DebugEnvironment.js +50 -0
  47. package/examples/jsm/environments/RoomEnvironment.js +83 -42
  48. package/examples/jsm/exporters/DRACOExporter.js +56 -14
  49. package/examples/jsm/exporters/EXRExporter.js +40 -9
  50. package/examples/jsm/exporters/GLTFExporter.js +502 -169
  51. package/examples/jsm/exporters/OBJExporter.js +21 -1
  52. package/examples/jsm/exporters/PLYExporter.js +44 -12
  53. package/examples/jsm/exporters/STLExporter.js +27 -5
  54. package/examples/jsm/exporters/USDZExporter.js +781 -291
  55. package/examples/jsm/geometries/BoxLineGeometry.js +23 -0
  56. package/examples/jsm/geometries/ConvexGeometry.js +19 -0
  57. package/examples/jsm/geometries/DecalGeometry.js +91 -30
  58. package/examples/jsm/geometries/ParametricFunctions.js +100 -0
  59. package/examples/jsm/geometries/ParametricGeometry.js +38 -5
  60. package/examples/jsm/geometries/RoundedBoxGeometry.js +68 -7
  61. package/examples/jsm/geometries/TeapotGeometry.js +23 -38
  62. package/examples/jsm/geometries/TextGeometry.js +48 -29
  63. package/examples/jsm/gpgpu/BitonicSort.js +715 -0
  64. package/examples/jsm/helpers/AnimationPathHelper.js +302 -0
  65. package/examples/jsm/helpers/LightProbeHelper.js +36 -0
  66. package/examples/jsm/helpers/LightProbeHelperGPU.js +38 -1
  67. package/examples/jsm/helpers/OctreeHelper.js +36 -0
  68. package/examples/jsm/helpers/PositionalAudioHelper.js +60 -0
  69. package/examples/jsm/helpers/RapierHelper.js +59 -0
  70. package/examples/jsm/helpers/RectAreaLightHelper.js +36 -3
  71. package/examples/jsm/helpers/TextureHelper.js +28 -0
  72. package/examples/jsm/helpers/TextureHelperGPU.js +214 -0
  73. package/examples/jsm/helpers/VertexNormalsHelper.js +61 -2
  74. package/examples/jsm/helpers/VertexTangentsHelper.js +47 -2
  75. package/examples/jsm/helpers/ViewHelper.js +181 -9
  76. package/examples/jsm/inspector/Inspector.js +487 -0
  77. package/examples/jsm/inspector/RendererInspector.js +425 -0
  78. package/examples/jsm/inspector/tabs/Console.js +238 -0
  79. package/examples/jsm/inspector/tabs/Parameters.js +348 -0
  80. package/examples/jsm/inspector/tabs/Performance.js +268 -0
  81. package/examples/jsm/inspector/tabs/Viewer.js +166 -0
  82. package/examples/jsm/inspector/ui/Graph.js +95 -0
  83. package/examples/jsm/inspector/ui/Item.js +170 -0
  84. package/examples/jsm/inspector/ui/List.js +75 -0
  85. package/examples/jsm/inspector/ui/Profiler.js +1975 -0
  86. package/examples/jsm/inspector/ui/Style.js +1613 -0
  87. package/examples/jsm/inspector/ui/Tab.js +233 -0
  88. package/examples/jsm/inspector/ui/Values.js +439 -0
  89. package/examples/jsm/inspector/ui/utils.js +56 -0
  90. package/examples/jsm/interactive/HTMLMesh.js +43 -12
  91. package/examples/jsm/interactive/InteractiveGroup.js +170 -52
  92. package/examples/jsm/interactive/SelectionBox.js +106 -9
  93. package/examples/jsm/interactive/SelectionHelper.js +76 -30
  94. package/examples/jsm/libs/demuxer_mp4.js +109 -0
  95. package/examples/jsm/libs/meshopt_decoder.module.js +76 -58
  96. package/examples/jsm/libs/motion-controllers.module.js +1 -1
  97. package/examples/jsm/lighting/TiledLighting.js +42 -0
  98. package/examples/jsm/lights/LightProbeGenerator.js +44 -7
  99. package/examples/jsm/lights/RectAreaLightTexturesLib.js +50 -14
  100. package/examples/jsm/lights/RectAreaLightUniformsLib.js +16 -0
  101. package/examples/jsm/lines/Line2.js +41 -4
  102. package/examples/jsm/lines/LineGeometry.js +80 -2
  103. package/examples/jsm/lines/LineMaterial.js +105 -5
  104. package/examples/jsm/lines/LineSegments2.js +54 -4
  105. package/examples/jsm/lines/LineSegmentsGeometry.js +65 -8
  106. package/examples/jsm/lines/Wireframe.js +41 -4
  107. package/examples/jsm/lines/WireframeGeometry2.js +27 -2
  108. package/examples/jsm/lines/webgpu/Line2.js +28 -2
  109. package/examples/jsm/lines/webgpu/LineSegments2.js +59 -24
  110. package/examples/jsm/lines/webgpu/Wireframe.js +86 -0
  111. package/examples/jsm/loaders/3DMLoader.js +78 -6
  112. package/examples/jsm/loaders/3MFLoader.js +148 -7
  113. package/examples/jsm/loaders/AMFLoader.js +34 -14
  114. package/examples/jsm/loaders/BVHLoader.js +59 -12
  115. package/examples/jsm/loaders/ColladaLoader.js +61 -4027
  116. package/examples/jsm/loaders/DDSLoader.js +68 -1
  117. package/examples/jsm/loaders/DRACOLoader.js +146 -22
  118. package/examples/jsm/loaders/EXRLoader.js +255 -34
  119. package/examples/jsm/loaders/FBXLoader.js +80 -42
  120. package/examples/jsm/loaders/FontLoader.js +83 -6
  121. package/examples/jsm/loaders/GCodeLoader.js +71 -14
  122. package/examples/jsm/loaders/GLTFLoader.js +381 -263
  123. package/examples/jsm/loaders/HDRCubeTextureLoader.js +52 -3
  124. package/examples/jsm/loaders/HDRLoader.js +485 -0
  125. package/examples/jsm/loaders/IESLoader.js +42 -0
  126. package/examples/jsm/loaders/KMZLoader.js +39 -6
  127. package/examples/jsm/loaders/KTX2Loader.js +124 -48
  128. package/examples/jsm/loaders/KTXLoader.js +31 -10
  129. package/examples/jsm/loaders/LDrawLoader.js +192 -145
  130. package/examples/jsm/loaders/LUT3dlLoader.js +47 -10
  131. package/examples/jsm/loaders/LUTCubeLoader.js +46 -9
  132. package/examples/jsm/loaders/LUTImageLoader.js +79 -38
  133. package/examples/jsm/loaders/LWOLoader.js +54 -59
  134. package/examples/jsm/loaders/LottieLoader.js +54 -1
  135. package/examples/jsm/loaders/MD2Loader.js +37 -1
  136. package/examples/jsm/loaders/MDDLoader.js +57 -12
  137. package/examples/jsm/loaders/MTLLoader.js +60 -35
  138. package/examples/jsm/loaders/MaterialXLoader.js +268 -34
  139. package/examples/jsm/loaders/NRRDLoader.js +40 -8
  140. package/examples/jsm/loaders/OBJLoader.js +51 -2
  141. package/examples/jsm/loaders/PCDLoader.js +173 -21
  142. package/examples/jsm/loaders/PDBLoader.js +41 -2
  143. package/examples/jsm/loaders/PLYLoader.js +70 -39
  144. package/examples/jsm/loaders/PVRLoader.js +25 -6
  145. package/examples/jsm/loaders/RGBELoader.js +6 -438
  146. package/examples/jsm/loaders/STLLoader.js +48 -38
  147. package/examples/jsm/loaders/SVGLoader.js +119 -25
  148. package/examples/jsm/loaders/TDSLoader.js +92 -74
  149. package/examples/jsm/loaders/TGALoader.js +23 -2
  150. package/examples/jsm/loaders/TIFFLoader.js +23 -0
  151. package/examples/jsm/loaders/TTFLoader.js +50 -3
  152. package/examples/jsm/loaders/USDLoader.js +279 -0
  153. package/examples/jsm/loaders/USDZLoader.js +4 -858
  154. package/examples/jsm/loaders/UltraHDRLoader.js +338 -166
  155. package/examples/jsm/loaders/VOXLoader.js +688 -87
  156. package/examples/jsm/loaders/VRMLLoader.js +121 -12
  157. package/examples/jsm/loaders/VTKLoader.js +77 -25
  158. package/examples/jsm/loaders/XYZLoader.js +36 -0
  159. package/examples/jsm/loaders/collada/ColladaComposer.js +2950 -0
  160. package/examples/jsm/loaders/collada/ColladaParser.js +1962 -0
  161. package/examples/jsm/loaders/lwo/IFFParser.js +77 -77
  162. package/examples/jsm/loaders/usd/USDAParser.js +822 -0
  163. package/examples/jsm/loaders/usd/USDCParser.js +1852 -0
  164. package/examples/jsm/loaders/usd/USDComposer.js +4041 -0
  165. package/examples/jsm/materials/LDrawConditionalLineMaterial.js +183 -0
  166. package/examples/jsm/materials/LDrawConditionalLineNodeMaterial.js +154 -0
  167. package/examples/jsm/materials/WoodNodeMaterial.js +533 -0
  168. package/examples/jsm/math/Capsule.js +91 -14
  169. package/examples/jsm/math/ColorConverter.js +22 -0
  170. package/examples/jsm/math/ColorSpaces.js +74 -2
  171. package/examples/jsm/math/ConvexHull.js +517 -93
  172. package/examples/jsm/math/ImprovedNoise.js +32 -15
  173. package/examples/jsm/math/Lut.js +113 -0
  174. package/examples/jsm/math/MeshSurfaceSampler.js +78 -13
  175. package/examples/jsm/math/OBB.js +141 -29
  176. package/examples/jsm/math/Octree.js +283 -7
  177. package/examples/jsm/math/SimplexNoise.js +68 -42
  178. package/examples/jsm/misc/ConvexObjectBreaker.js +45 -25
  179. package/examples/jsm/misc/GPUComputationRenderer.js +96 -20
  180. package/examples/jsm/misc/Gyroscope.js +12 -0
  181. package/examples/jsm/misc/MD2Character.js +117 -2
  182. package/examples/jsm/misc/MD2CharacterComplex.js +175 -11
  183. package/examples/jsm/misc/MorphAnimMesh.js +44 -0
  184. package/examples/jsm/misc/MorphBlendMesh.js +103 -0
  185. package/examples/jsm/misc/ProgressiveLightMap.js +100 -54
  186. package/examples/jsm/misc/ProgressiveLightMapGPU.js +322 -0
  187. package/examples/jsm/misc/RollerCoaster.js +57 -0
  188. package/examples/jsm/misc/TubePainter.js +437 -40
  189. package/examples/jsm/misc/Volume.js +123 -76
  190. package/examples/jsm/misc/VolumeSlice.js +95 -49
  191. package/examples/jsm/modifiers/CurveModifier.js +66 -38
  192. package/examples/jsm/modifiers/CurveModifierGPU.js +42 -19
  193. package/examples/jsm/modifiers/EdgeSplitModifier.js +20 -0
  194. package/examples/jsm/modifiers/SimplifyModifier.js +24 -10
  195. package/examples/jsm/modifiers/TessellateModifier.js +35 -2
  196. package/examples/jsm/objects/GroundedSkybox.js +25 -6
  197. package/examples/jsm/objects/Lensflare.js +94 -2
  198. package/examples/jsm/objects/LensflareMesh.js +64 -10
  199. package/examples/jsm/objects/MarchingCubes.js +90 -5
  200. package/examples/jsm/objects/Reflector.js +76 -2
  201. package/examples/jsm/objects/ReflectorForSSRPass.js +41 -0
  202. package/examples/jsm/objects/Refractor.js +62 -0
  203. package/examples/jsm/objects/ShadowMesh.js +54 -4
  204. package/examples/jsm/objects/Sky.js +106 -16
  205. package/examples/jsm/objects/SkyMesh.js +211 -38
  206. package/examples/jsm/objects/Water.js +49 -8
  207. package/examples/jsm/objects/Water2.js +49 -7
  208. package/examples/jsm/objects/Water2Mesh.js +50 -9
  209. package/examples/jsm/objects/WaterMesh.js +136 -43
  210. package/examples/jsm/physics/AmmoPhysics.js +60 -7
  211. package/examples/jsm/physics/JoltPhysics.js +65 -12
  212. package/examples/jsm/physics/RapierPhysics.js +217 -21
  213. package/examples/jsm/postprocessing/AfterimagePass.js +110 -29
  214. package/examples/jsm/postprocessing/BloomPass.js +128 -26
  215. package/examples/jsm/postprocessing/BokehPass.js +99 -22
  216. package/examples/jsm/postprocessing/ClearPass.js +54 -3
  217. package/examples/jsm/postprocessing/CubeTexturePass.js +82 -21
  218. package/examples/jsm/postprocessing/DotScreenPass.js +59 -10
  219. package/examples/jsm/postprocessing/EffectComposer.js +140 -6
  220. package/examples/jsm/postprocessing/FXAAPass.js +40 -0
  221. package/examples/jsm/postprocessing/FilmPass.js +54 -5
  222. package/examples/jsm/postprocessing/GTAOPass.js +202 -57
  223. package/examples/jsm/postprocessing/GlitchPass.js +86 -34
  224. package/examples/jsm/postprocessing/HalftonePass.js +65 -10
  225. package/examples/jsm/postprocessing/LUTPass.js +38 -8
  226. package/examples/jsm/postprocessing/MaskPass.js +91 -0
  227. package/examples/jsm/postprocessing/OutlinePass.js +272 -135
  228. package/examples/jsm/postprocessing/OutputPass.js +65 -14
  229. package/examples/jsm/postprocessing/Pass.js +100 -4
  230. package/examples/jsm/postprocessing/RenderPass.js +94 -0
  231. package/examples/jsm/postprocessing/RenderPixelatedPass.js +124 -45
  232. package/examples/jsm/postprocessing/RenderTransitionPass.js +120 -21
  233. package/examples/jsm/postprocessing/SAOPass.js +128 -55
  234. package/examples/jsm/postprocessing/SMAAPass.js +106 -75
  235. package/examples/jsm/postprocessing/SSAARenderPass.js +118 -35
  236. package/examples/jsm/postprocessing/SSAOPass.js +173 -60
  237. package/examples/jsm/postprocessing/SSRPass.js +268 -53
  238. package/examples/jsm/postprocessing/SavePass.js +69 -16
  239. package/examples/jsm/postprocessing/ShaderPass.js +65 -7
  240. package/examples/jsm/postprocessing/TAARenderPass.js +79 -24
  241. package/examples/jsm/postprocessing/TexturePass.js +72 -8
  242. package/examples/jsm/postprocessing/UnrealBloomPass.js +168 -59
  243. package/examples/jsm/renderers/CSS2DRenderer.js +98 -5
  244. package/examples/jsm/renderers/CSS3DRenderer.js +111 -7
  245. package/examples/jsm/renderers/Projector.js +288 -32
  246. package/examples/jsm/renderers/SVGRenderer.js +323 -61
  247. package/examples/jsm/renderers/webgl-legacy/nodes/GLSL1NodeBuilder.js +3 -1
  248. package/examples/jsm/renderers/webgl-legacy/nodes/SlotNode.js +1 -1
  249. package/examples/jsm/renderers/webgl-legacy/nodes/WebGLNodeBuilder.js +5 -1
  250. package/examples/jsm/shaders/ACESFilmicToneMappingShader.js +12 -5
  251. package/examples/jsm/shaders/AfterimageShader.js +8 -3
  252. package/examples/jsm/shaders/BasicShader.js +8 -1
  253. package/examples/jsm/shaders/BleachBypassShader.js +10 -3
  254. package/examples/jsm/shaders/BlendShader.js +8 -1
  255. package/examples/jsm/shaders/BokehShader.js +9 -3
  256. package/examples/jsm/shaders/BokehShader2.js +11 -4
  257. package/examples/jsm/shaders/BrightnessContrastShader.js +10 -4
  258. package/examples/jsm/shaders/ColorCorrectionShader.js +8 -1
  259. package/examples/jsm/shaders/ColorifyShader.js +8 -1
  260. package/examples/jsm/shaders/ConvolutionShader.js +9 -38
  261. package/examples/jsm/shaders/CopyShader.js +8 -1
  262. package/examples/jsm/shaders/DOFMipMapShader.js +10 -3
  263. package/examples/jsm/shaders/DepthLimitedBlurShader.js +10 -1
  264. package/examples/jsm/shaders/DigitalGlitch.js +10 -7
  265. package/examples/jsm/shaders/DotScreenShader.js +8 -3
  266. package/examples/jsm/shaders/ExposureShader.js +8 -1
  267. package/examples/jsm/shaders/FXAAShader.js +233 -221
  268. package/examples/jsm/shaders/FilmShader.js +13 -0
  269. package/examples/jsm/shaders/FocusShader.js +8 -3
  270. package/examples/jsm/shaders/FreiChenShader.js +10 -3
  271. package/examples/jsm/shaders/GTAOShader.js +55 -45
  272. package/examples/jsm/shaders/GammaCorrectionShader.js +11 -2
  273. package/examples/jsm/shaders/HalftoneShader.js +24 -4
  274. package/examples/jsm/shaders/HorizontalBlurShader.js +12 -3
  275. package/examples/jsm/shaders/HorizontalTiltShiftShader.js +9 -2
  276. package/examples/jsm/shaders/HueSaturationShader.js +10 -3
  277. package/examples/jsm/shaders/KaleidoShader.js +11 -4
  278. package/examples/jsm/shaders/LuminosityHighPassShader.js +8 -4
  279. package/examples/jsm/shaders/LuminosityShader.js +8 -2
  280. package/examples/jsm/shaders/MirrorShader.js +10 -4
  281. package/examples/jsm/shaders/NormalMapShader.js +7 -2
  282. package/examples/jsm/shaders/OutputShader.js +19 -1
  283. package/examples/jsm/shaders/PoissonDenoiseShader.js +30 -17
  284. package/examples/jsm/shaders/RGBShiftShader.js +8 -1
  285. package/examples/jsm/shaders/SAOShader.js +27 -5
  286. package/examples/jsm/shaders/SMAAShader.js +24 -1
  287. package/examples/jsm/shaders/SSAOShader.js +37 -6
  288. package/examples/jsm/shaders/SSRShader.js +32 -6
  289. package/examples/jsm/shaders/SepiaShader.js +8 -3
  290. package/examples/jsm/shaders/SobelOperatorShader.js +9 -3
  291. package/examples/jsm/shaders/SubsurfaceScatteringShader.js +13 -8
  292. package/examples/jsm/shaders/TechnicolorShader.js +10 -4
  293. package/examples/jsm/shaders/ToonShader.js +29 -6
  294. package/examples/jsm/shaders/TriangleBlurShader.js +9 -4
  295. package/examples/jsm/shaders/UnpackDepthRGBAShader.js +19 -6
  296. package/examples/jsm/shaders/VelocityShader.js +8 -1
  297. package/examples/jsm/shaders/VerticalBlurShader.js +9 -2
  298. package/examples/jsm/shaders/VerticalTiltShiftShader.js +8 -1
  299. package/examples/jsm/shaders/VignetteShader.js +8 -3
  300. package/examples/jsm/shaders/VolumeShader.js +11 -2
  301. package/examples/jsm/shaders/WaterRefractionShader.js +11 -0
  302. package/examples/jsm/textures/FlakesTexture.js +14 -0
  303. package/examples/jsm/transpiler/AST.js +436 -31
  304. package/examples/jsm/transpiler/GLSLDecoder.js +380 -135
  305. package/examples/jsm/transpiler/Linker.js +327 -0
  306. package/examples/jsm/transpiler/ShaderToyDecoder.js +3 -1
  307. package/examples/jsm/transpiler/TSLEncoder.js +363 -97
  308. package/examples/jsm/transpiler/Transpiler.js +50 -1
  309. package/examples/jsm/transpiler/TranspilerUtils.js +29 -0
  310. package/examples/jsm/transpiler/WGSLEncoder.js +839 -0
  311. package/examples/jsm/tsl/display/AfterImageNode.js +244 -0
  312. package/examples/jsm/tsl/display/AnaglyphPassNode.js +549 -0
  313. package/examples/jsm/tsl/display/AnamorphicNode.js +282 -0
  314. package/examples/jsm/tsl/display/BilateralBlurNode.js +364 -0
  315. package/{src/nodes → examples/jsm/tsl}/display/BleachBypass.js +11 -4
  316. package/examples/jsm/tsl/display/BloomNode.js +534 -0
  317. package/examples/jsm/tsl/display/CRT.js +150 -0
  318. package/examples/jsm/tsl/display/ChromaticAberrationNode.js +207 -0
  319. package/examples/jsm/tsl/display/DenoiseNode.js +334 -0
  320. package/examples/jsm/tsl/display/DepthOfFieldNode.js +554 -0
  321. package/examples/jsm/tsl/display/DotScreenNode.js +104 -0
  322. package/examples/jsm/tsl/display/FXAANode.js +365 -0
  323. package/examples/jsm/tsl/display/FilmNode.js +101 -0
  324. package/examples/jsm/tsl/display/GTAONode.js +571 -0
  325. package/examples/jsm/tsl/display/GaussianBlurNode.js +389 -0
  326. package/examples/jsm/tsl/display/GodraysNode.js +624 -0
  327. package/examples/jsm/tsl/display/LensflareNode.js +279 -0
  328. package/examples/jsm/tsl/display/Lut3DNode.js +109 -0
  329. package/examples/jsm/tsl/display/MotionBlur.js +33 -0
  330. package/examples/jsm/tsl/display/OutlineNode.js +762 -0
  331. package/examples/jsm/tsl/display/ParallaxBarrierPassNode.js +89 -0
  332. package/examples/jsm/tsl/display/PixelationPassNode.js +335 -0
  333. package/examples/jsm/tsl/display/RGBShiftNode.js +96 -0
  334. package/examples/jsm/tsl/display/RetroPassNode.js +263 -0
  335. package/examples/jsm/tsl/display/SMAANode.js +768 -0
  336. package/{src/nodes → examples/jsm/tsl}/display/SSAAPassNode.js +120 -49
  337. package/examples/jsm/tsl/display/SSGINode.js +642 -0
  338. package/examples/jsm/tsl/display/SSRNode.js +656 -0
  339. package/examples/jsm/tsl/display/SSSNode.js +490 -0
  340. package/{src/nodes → examples/jsm/tsl}/display/Sepia.js +9 -2
  341. package/examples/jsm/tsl/display/Shape.js +29 -0
  342. package/{src/nodes → examples/jsm/tsl}/display/SobelOperatorNode.js +61 -19
  343. package/examples/jsm/tsl/display/StereoCompositePassNode.js +192 -0
  344. package/{src/nodes → examples/jsm/tsl}/display/StereoPassNode.js +48 -12
  345. package/examples/jsm/tsl/display/TRAANode.js +726 -0
  346. package/examples/jsm/tsl/display/TransitionNode.js +141 -0
  347. package/examples/jsm/tsl/display/boxBlur.js +65 -0
  348. package/examples/jsm/tsl/display/depthAwareBlend.js +80 -0
  349. package/examples/jsm/tsl/display/hashBlur.js +54 -0
  350. package/examples/jsm/tsl/display/radialBlur.js +68 -0
  351. package/examples/jsm/tsl/lighting/TiledLightsNode.js +442 -0
  352. package/examples/jsm/tsl/math/Bayer.js +73 -0
  353. package/examples/jsm/tsl/shadows/TileShadowNode.js +456 -0
  354. package/examples/jsm/tsl/shadows/TileShadowNodeHelper.js +212 -0
  355. package/examples/jsm/tsl/utils/Raymarching.js +70 -0
  356. package/examples/jsm/utils/BufferGeometryUtils.js +91 -29
  357. package/examples/jsm/utils/CameraUtils.js +15 -6
  358. package/examples/jsm/utils/GeometryCompressionUtils.js +23 -30
  359. package/examples/jsm/utils/GeometryUtils.js +32 -27
  360. package/examples/jsm/utils/LDrawUtils.js +14 -5
  361. package/examples/jsm/utils/SceneOptimizer.js +458 -0
  362. package/examples/jsm/utils/SceneUtils.js +53 -3
  363. package/examples/jsm/utils/ShadowMapViewer.js +72 -33
  364. package/examples/jsm/utils/ShadowMapViewerGPU.js +61 -29
  365. package/examples/jsm/utils/SkeletonUtils.js +48 -0
  366. package/examples/jsm/utils/SortUtils.js +17 -5
  367. package/examples/jsm/utils/UVsDebug.js +12 -4
  368. package/examples/jsm/utils/{TextureUtils.js → WebGLTextureUtils.js} +16 -0
  369. package/examples/jsm/utils/{TextureUtilsGPU.js → WebGPUTextureUtils.js} +20 -2
  370. package/examples/jsm/utils/WorkerPool.js +67 -2
  371. package/examples/jsm/webxr/ARButton.js +19 -0
  372. package/examples/jsm/webxr/OculusHandModel.js +84 -0
  373. package/examples/jsm/webxr/OculusHandPointerModel.js +148 -22
  374. package/examples/jsm/webxr/Text2D.js +20 -6
  375. package/examples/jsm/webxr/VRButton.js +31 -0
  376. package/examples/jsm/webxr/XRButton.js +23 -0
  377. package/examples/jsm/webxr/XRControllerModelFactory.js +94 -3
  378. package/examples/jsm/webxr/XREstimatedLight.js +35 -4
  379. package/examples/jsm/webxr/XRHandMeshModel.js +37 -0
  380. package/examples/jsm/webxr/XRHandModelFactory.js +96 -6
  381. package/examples/jsm/webxr/XRHandPrimitiveModel.js +44 -0
  382. package/examples/jsm/webxr/XRPlanes.js +18 -0
  383. package/package.json +29 -34
  384. package/src/Three.Core.js +198 -0
  385. package/src/Three.Legacy.js +0 -21
  386. package/src/Three.TSL.js +641 -0
  387. package/src/Three.WebGPU.Nodes.js +14 -186
  388. package/src/Three.WebGPU.js +16 -186
  389. package/src/Three.js +2 -197
  390. package/src/animation/AnimationAction.js +263 -31
  391. package/src/animation/AnimationClip.js +162 -7
  392. package/src/animation/AnimationMixer.js +99 -15
  393. package/src/animation/AnimationObjectGroup.js +45 -21
  394. package/src/animation/AnimationUtils.js +163 -24
  395. package/src/animation/KeyframeTrack.js +191 -17
  396. package/src/animation/PropertyBinding.js +91 -16
  397. package/src/animation/PropertyMixer.js +72 -5
  398. package/src/animation/tracks/BooleanKeyframeTrack.js +33 -6
  399. package/src/animation/tracks/ColorKeyframeTrack.js +26 -5
  400. package/src/animation/tracks/NumberKeyframeTrack.js +26 -2
  401. package/src/animation/tracks/QuaternionKeyframeTrack.js +30 -1
  402. package/src/animation/tracks/StringKeyframeTrack.js +33 -2
  403. package/src/animation/tracks/VectorKeyframeTrack.js +26 -2
  404. package/src/audio/Audio.js +386 -8
  405. package/src/audio/AudioAnalyser.js +58 -1
  406. package/src/audio/AudioContext.js +15 -0
  407. package/src/audio/AudioListener.js +94 -13
  408. package/src/audio/PositionalAudio.js +107 -0
  409. package/src/cameras/ArrayCamera.js +37 -0
  410. package/src/cameras/Camera.js +61 -0
  411. package/src/cameras/CubeCamera.js +86 -0
  412. package/src/cameras/OrthographicCamera.js +110 -1
  413. package/src/cameras/PerspectiveCamera.js +174 -35
  414. package/src/cameras/StereoCamera.js +48 -2
  415. package/src/constants.js +1546 -11
  416. package/src/core/BufferAttribute.js +417 -3
  417. package/src/core/BufferGeometry.js +407 -22
  418. package/src/core/Clock.js +69 -8
  419. package/src/core/EventDispatcher.js +52 -8
  420. package/src/core/GLBufferAttribute.js +113 -2
  421. package/src/core/InstancedBufferAttribute.js +29 -0
  422. package/src/core/InstancedBufferGeometry.js +20 -0
  423. package/src/core/InstancedInterleavedBuffer.js +26 -0
  424. package/src/core/InterleavedBuffer.js +141 -7
  425. package/src/core/InterleavedBufferAttribute.js +200 -2
  426. package/src/core/Layers.js +71 -10
  427. package/src/core/Object3D.js +673 -26
  428. package/src/core/Raycaster.js +136 -2
  429. package/src/core/RenderTarget.js +256 -27
  430. package/src/core/RenderTarget3D.js +48 -0
  431. package/src/core/Timer.js +184 -0
  432. package/src/core/Uniform.js +29 -0
  433. package/src/core/UniformsGroup.js +84 -2
  434. package/src/extras/Controls.js +89 -1
  435. package/src/extras/DataUtils.js +50 -9
  436. package/src/extras/Earcut.js +18 -779
  437. package/src/extras/ImageUtils.js +22 -14
  438. package/src/extras/PMREMGenerator.js +316 -67
  439. package/src/extras/ShapeUtils.js +24 -2
  440. package/src/extras/TextureUtils.js +101 -15
  441. package/src/extras/core/Curve.js +156 -55
  442. package/src/extras/core/CurvePath.js +63 -22
  443. package/src/extras/core/Interpolations.js +34 -2
  444. package/src/extras/core/Path.js +134 -1
  445. package/src/extras/core/Shape.js +66 -3
  446. package/src/extras/core/ShapePath.js +80 -4
  447. package/src/extras/curves/ArcCurve.js +22 -0
  448. package/src/extras/curves/CatmullRomCurve3.js +89 -18
  449. package/src/extras/curves/CubicBezierCurve.js +67 -0
  450. package/src/extras/curves/CubicBezierCurve3.js +50 -0
  451. package/src/extras/curves/EllipseCurve.js +102 -0
  452. package/src/extras/curves/LineCurve.js +36 -0
  453. package/src/extras/curves/LineCurve3.js +36 -0
  454. package/src/extras/curves/QuadraticBezierCurve.js +59 -0
  455. package/src/extras/curves/QuadraticBezierCurve3.js +43 -0
  456. package/src/extras/curves/SplineCurve.js +48 -0
  457. package/src/extras/lib/earcut.js +685 -0
  458. package/src/geometries/BoxGeometry.js +39 -0
  459. package/src/geometries/CapsuleGeometry.js +196 -11
  460. package/src/geometries/CircleGeometry.js +41 -0
  461. package/src/geometries/ConeGeometry.js +39 -0
  462. package/src/geometries/CylinderGeometry.js +42 -2
  463. package/src/geometries/DodecahedronGeometry.js +33 -0
  464. package/src/geometries/EdgesGeometry.js +30 -2
  465. package/src/geometries/ExtrudeGeometry.js +148 -52
  466. package/src/geometries/IcosahedronGeometry.js +33 -0
  467. package/src/geometries/LatheGeometry.js +44 -3
  468. package/src/geometries/OctahedronGeometry.js +33 -0
  469. package/src/geometries/PlaneGeometry.js +35 -0
  470. package/src/geometries/PolyhedronGeometry.js +30 -1
  471. package/src/geometries/RingGeometry.js +37 -0
  472. package/src/geometries/ShapeGeometry.js +38 -0
  473. package/src/geometries/SphereGeometry.js +38 -0
  474. package/src/geometries/TetrahedronGeometry.js +33 -0
  475. package/src/geometries/TorusGeometry.js +44 -3
  476. package/src/geometries/TorusKnotGeometry.js +39 -0
  477. package/src/geometries/TubeGeometry.js +50 -0
  478. package/src/geometries/WireframeGeometry.js +32 -0
  479. package/src/helpers/ArrowHelper.js +62 -5
  480. package/src/helpers/AxesHelper.js +28 -0
  481. package/src/helpers/Box3Helper.js +28 -0
  482. package/src/helpers/BoxHelper.js +43 -7
  483. package/src/helpers/CameraHelper.js +103 -27
  484. package/src/helpers/DirectionalLightHelper.js +55 -0
  485. package/src/helpers/GridHelper.js +26 -0
  486. package/src/helpers/HemisphereLightHelper.js +42 -0
  487. package/src/helpers/PlaneHelper.js +33 -0
  488. package/src/helpers/PointLightHelper.js +43 -24
  489. package/src/helpers/PolarGridHelper.js +30 -0
  490. package/src/helpers/SkeletonHelper.js +73 -7
  491. package/src/helpers/SpotLightHelper.js +43 -0
  492. package/src/lights/AmbientLight.js +25 -0
  493. package/src/lights/DirectionalLight.js +70 -0
  494. package/src/lights/DirectionalLightShadow.js +15 -0
  495. package/src/lights/HemisphereLight.js +42 -0
  496. package/src/lights/Light.js +37 -11
  497. package/src/lights/LightProbe.js +37 -9
  498. package/src/lights/LightShadow.js +202 -7
  499. package/src/lights/PointLight.js +74 -0
  500. package/src/lights/PointLightShadow.js +15 -80
  501. package/src/lights/RectAreaLight.js +59 -0
  502. package/src/lights/SpotLight.js +124 -1
  503. package/src/lights/SpotLightShadow.js +33 -3
  504. package/src/lights/webgpu/IESSpotLight.js +22 -0
  505. package/src/lights/webgpu/ProjectorLight.js +46 -0
  506. package/src/loaders/AnimationLoader.js +34 -2
  507. package/src/loaders/AudioLoader.js +34 -2
  508. package/src/loaders/BufferGeometryLoader.js +38 -13
  509. package/src/loaders/Cache.js +75 -2
  510. package/src/loaders/CompressedTextureLoader.js +36 -3
  511. package/src/loaders/CubeTextureLoader.js +45 -0
  512. package/src/loaders/DataTextureLoader.js +45 -4
  513. package/src/loaders/FileLoader.js +85 -5
  514. package/src/loaders/ImageBitmapLoader.js +113 -11
  515. package/src/loaders/ImageLoader.js +85 -8
  516. package/src/loaders/Loader.js +144 -0
  517. package/src/loaders/LoaderUtils.js +18 -36
  518. package/src/loaders/LoadingManager.js +187 -0
  519. package/src/loaders/MaterialLoader.js +62 -3
  520. package/src/loaders/ObjectLoader.js +131 -31
  521. package/src/loaders/TextureLoader.js +33 -0
  522. package/src/loaders/nodes/NodeLoader.js +68 -4
  523. package/src/loaders/nodes/NodeMaterialLoader.js +45 -0
  524. package/src/loaders/nodes/NodeObjectLoader.js +61 -0
  525. package/src/materials/LineBasicMaterial.js +74 -1
  526. package/src/materials/LineDashedMaterial.js +52 -1
  527. package/src/materials/Material.js +502 -8
  528. package/src/materials/MeshBasicMaterial.js +168 -2
  529. package/src/materials/MeshDepthMaterial.js +94 -0
  530. package/src/materials/MeshDistanceMaterial.js +76 -0
  531. package/src/materials/MeshLambertMaterial.js +283 -0
  532. package/src/materials/MeshMatcapMaterial.js +164 -0
  533. package/src/materials/MeshNormalMaterial.js +114 -0
  534. package/src/materials/MeshPhongMaterial.js +298 -0
  535. package/src/materials/MeshPhysicalMaterial.js +296 -4
  536. package/src/materials/MeshStandardMaterial.js +300 -2
  537. package/src/materials/MeshToonMaterial.js +219 -0
  538. package/src/materials/PointsMaterial.js +89 -0
  539. package/src/materials/RawShaderMaterial.js +25 -0
  540. package/src/materials/ShaderMaterial.js +234 -6
  541. package/src/materials/ShadowMaterial.js +54 -0
  542. package/src/materials/SpriteMaterial.js +82 -0
  543. package/src/materials/nodes/Line2NodeMaterial.js +158 -53
  544. package/src/materials/nodes/LineBasicNodeMaterial.js +17 -2
  545. package/src/materials/nodes/LineDashedNodeMaterial.js +81 -6
  546. package/src/materials/nodes/MeshBasicNodeMaterial.js +59 -2
  547. package/src/materials/nodes/MeshLambertNodeMaterial.js +35 -0
  548. package/src/materials/nodes/MeshMatcapNodeMaterial.js +23 -3
  549. package/src/materials/nodes/MeshNormalNodeMaterial.js +27 -4
  550. package/src/materials/nodes/MeshPhongNodeMaterial.js +64 -1
  551. package/src/materials/nodes/MeshPhysicalNodeMaterial.js +276 -3
  552. package/src/materials/nodes/MeshSSSNodeMaterial.js +98 -10
  553. package/src/materials/nodes/MeshStandardNodeMaterial.js +83 -4
  554. package/src/materials/nodes/MeshToonNodeMaterial.js +28 -0
  555. package/src/materials/nodes/NodeMaterial.js +789 -74
  556. package/src/materials/nodes/NodeMaterials.js +0 -1
  557. package/src/materials/nodes/PointsNodeMaterial.js +180 -11
  558. package/src/materials/nodes/ShadowNodeMaterial.js +38 -0
  559. package/src/materials/nodes/SpriteNodeMaterial.js +86 -23
  560. package/src/materials/nodes/VolumeNodeMaterial.js +57 -84
  561. package/src/materials/nodes/manager/NodeMaterialObserver.js +329 -12
  562. package/src/math/Box2.js +177 -0
  563. package/src/math/Box3.js +271 -0
  564. package/src/math/Color.js +355 -11
  565. package/src/math/ColorManagement.js +158 -92
  566. package/src/math/Cylindrical.js +65 -6
  567. package/src/math/Euler.js +139 -5
  568. package/src/math/Frustum.js +108 -9
  569. package/src/math/FrustumArray.js +258 -0
  570. package/src/math/Interpolant.js +87 -8
  571. package/src/math/Line3.js +221 -2
  572. package/src/math/MathUtils.js +408 -20
  573. package/src/math/Matrix2.js +70 -0
  574. package/src/math/Matrix3.js +229 -4
  575. package/src/math/Matrix4.js +489 -94
  576. package/src/math/Plane.js +164 -2
  577. package/src/math/Quaternion.js +322 -90
  578. package/src/math/Ray.js +162 -0
  579. package/src/math/Sphere.js +175 -0
  580. package/src/math/Spherical.js +73 -11
  581. package/src/math/SphericalHarmonics3.js +112 -14
  582. package/src/math/Triangle.js +206 -2
  583. package/src/math/Vector2.js +396 -10
  584. package/src/math/Vector3.js +550 -15
  585. package/src/math/Vector4.js +415 -9
  586. package/src/math/interpolants/BezierInterpolant.js +108 -0
  587. package/src/math/interpolants/CubicInterpolant.js +10 -1
  588. package/src/math/interpolants/DiscreteInterpolant.js +10 -2
  589. package/src/math/interpolants/LinearInterpolant.js +13 -0
  590. package/src/math/interpolants/QuaternionLinearInterpolant.js +10 -1
  591. package/src/nodes/Nodes.js +91 -88
  592. package/src/nodes/TSL.js +32 -38
  593. package/src/nodes/accessors/AccessorsUtils.js +37 -9
  594. package/src/nodes/accessors/Arrays.js +68 -0
  595. package/src/nodes/accessors/BatchNode.js +49 -14
  596. package/src/nodes/accessors/Bitangent.js +82 -13
  597. package/src/nodes/accessors/BufferAttributeNode.js +269 -8
  598. package/src/nodes/accessors/BufferNode.js +91 -2
  599. package/src/nodes/accessors/BuiltinNode.js +63 -0
  600. package/src/nodes/accessors/Camera.js +400 -10
  601. package/src/nodes/accessors/ClippingNode.js +149 -45
  602. package/src/nodes/accessors/CubeTextureNode.js +137 -7
  603. package/src/nodes/accessors/InstanceNode.js +245 -40
  604. package/src/nodes/accessors/InstancedMeshNode.js +50 -0
  605. package/src/nodes/accessors/Lights.js +88 -0
  606. package/src/nodes/accessors/MaterialNode.js +355 -13
  607. package/src/nodes/accessors/MaterialProperties.js +57 -1
  608. package/src/nodes/accessors/MaterialReferenceNode.js +52 -14
  609. package/src/nodes/accessors/ModelNode.js +117 -5
  610. package/src/nodes/accessors/ModelViewProjectionNode.js +10 -39
  611. package/src/nodes/accessors/MorphNode.js +73 -26
  612. package/src/nodes/accessors/Normal.js +174 -19
  613. package/src/nodes/accessors/Object3DNode.js +146 -12
  614. package/src/nodes/accessors/PointUVNode.js +25 -0
  615. package/src/nodes/accessors/Position.js +119 -7
  616. package/src/nodes/accessors/ReferenceBaseNode.js +190 -4
  617. package/src/nodes/accessors/ReferenceNode.js +223 -8
  618. package/src/nodes/accessors/ReflectVector.js +29 -3
  619. package/src/nodes/accessors/RendererReferenceNode.js +45 -2
  620. package/src/nodes/accessors/SceneProperties.js +53 -0
  621. package/src/nodes/accessors/SkinningNode.js +180 -43
  622. package/src/nodes/accessors/StorageBufferNode.js +278 -26
  623. package/src/nodes/accessors/StorageTextureNode.js +205 -12
  624. package/src/nodes/accessors/Tangent.js +48 -10
  625. package/src/nodes/accessors/TangentUtils.js +46 -0
  626. package/src/nodes/accessors/Texture3DNode.js +104 -11
  627. package/src/nodes/accessors/TextureBicubic.js +31 -4
  628. package/src/nodes/accessors/TextureNode.js +564 -52
  629. package/src/nodes/accessors/TextureSizeNode.js +42 -1
  630. package/src/nodes/accessors/UV.js +9 -1
  631. package/src/nodes/accessors/UniformArrayNode.js +226 -34
  632. package/src/nodes/accessors/UserDataNode.js +46 -2
  633. package/src/nodes/accessors/VelocityNode.js +93 -3
  634. package/src/nodes/accessors/VertexColorNode.js +39 -4
  635. package/src/nodes/code/CodeNode.js +101 -8
  636. package/src/nodes/code/ExpressionNode.js +29 -2
  637. package/src/nodes/code/FunctionCallNode.js +98 -10
  638. package/src/nodes/code/FunctionNode.js +69 -2
  639. package/src/nodes/core/ArrayNode.js +174 -0
  640. package/src/nodes/core/AssignNode.js +80 -9
  641. package/src/nodes/core/AttributeNode.js +47 -4
  642. package/src/nodes/core/BypassNode.js +47 -3
  643. package/src/nodes/core/ConstNode.js +32 -0
  644. package/src/nodes/core/ContextNode.js +220 -14
  645. package/src/nodes/core/IndexNode.js +72 -7
  646. package/src/nodes/core/InputNode.js +50 -1
  647. package/src/nodes/core/InspectorNode.js +128 -0
  648. package/src/nodes/core/IsolateNode.js +133 -0
  649. package/src/nodes/core/LightingModel.js +65 -5
  650. package/src/nodes/core/MRTNode.js +113 -2
  651. package/src/nodes/core/Node.js +595 -36
  652. package/src/nodes/core/NodeAttribute.js +38 -0
  653. package/src/nodes/core/NodeBuilder.js +1840 -121
  654. package/src/nodes/core/NodeCache.js +41 -2
  655. package/src/nodes/core/NodeCode.js +31 -0
  656. package/src/nodes/core/NodeError.js +28 -0
  657. package/src/nodes/core/NodeFrame.js +153 -24
  658. package/src/nodes/core/NodeFunction.js +48 -1
  659. package/src/nodes/core/NodeFunctionInput.js +44 -0
  660. package/src/nodes/core/NodeParser.js +13 -1
  661. package/src/nodes/core/NodeUniform.js +53 -1
  662. package/src/nodes/core/NodeUtils.js +201 -51
  663. package/src/nodes/core/NodeVar.js +47 -1
  664. package/src/nodes/core/NodeVarying.js +47 -1
  665. package/src/nodes/core/OutputStructNode.js +54 -12
  666. package/src/nodes/core/ParameterNode.js +60 -2
  667. package/src/nodes/core/PropertyNode.js +286 -7
  668. package/src/nodes/core/StackNode.js +337 -20
  669. package/src/nodes/core/StackTrace.js +139 -0
  670. package/src/nodes/core/StructNode.js +134 -0
  671. package/src/nodes/core/StructType.js +13 -0
  672. package/src/nodes/core/StructTypeNode.js +126 -6
  673. package/src/nodes/core/SubBuildNode.js +89 -0
  674. package/src/nodes/core/TempNode.js +31 -5
  675. package/src/nodes/core/UniformGroupNode.js +85 -7
  676. package/src/nodes/core/UniformNode.js +163 -16
  677. package/src/nodes/core/VarNode.js +317 -10
  678. package/src/nodes/core/VaryingNode.js +115 -13
  679. package/src/nodes/core/constants.js +40 -0
  680. package/src/nodes/display/BlendModes.js +171 -0
  681. package/src/nodes/display/BumpMapNode.js +38 -2
  682. package/src/nodes/display/ColorAdjustment.js +118 -6
  683. package/src/nodes/display/ColorSpaceFunctions.js +22 -6
  684. package/src/nodes/display/ColorSpaceNode.js +97 -47
  685. package/src/nodes/display/FrontFacingNode.js +64 -7
  686. package/src/nodes/display/NormalMapNode.js +101 -54
  687. package/src/nodes/display/PassNode.js +690 -33
  688. package/src/nodes/display/RenderOutputNode.js +94 -4
  689. package/src/nodes/display/ScreenNode.js +138 -27
  690. package/src/nodes/display/ToneMappingFunctions.js +62 -10
  691. package/src/nodes/display/ToneMappingNode.js +88 -8
  692. package/src/nodes/display/ToonOutlinePassNode.js +84 -4
  693. package/src/nodes/display/ViewportDepthNode.js +227 -10
  694. package/src/nodes/display/ViewportDepthTextureNode.js +39 -5
  695. package/src/nodes/display/ViewportSharedTextureNode.js +35 -1
  696. package/src/nodes/display/ViewportTextureNode.js +171 -7
  697. package/src/nodes/fog/Fog.js +97 -0
  698. package/src/nodes/functions/BSDF/BRDF_GGX.js +2 -6
  699. package/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +52 -0
  700. package/src/nodes/functions/BSDF/BRDF_Sheen.js +4 -4
  701. package/src/nodes/functions/BSDF/DFGLUT.js +56 -0
  702. package/src/nodes/functions/BSDF/EnvironmentBRDF.js +2 -2
  703. package/src/nodes/functions/BSDF/LTC.js +45 -1
  704. package/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.js +1 -1
  705. package/src/nodes/functions/BasicLightingModel.js +28 -6
  706. package/src/nodes/functions/PhongLightingModel.js +36 -6
  707. package/src/nodes/functions/PhysicalLightingModel.js +336 -91
  708. package/src/nodes/functions/ShadowMaskModel.js +30 -3
  709. package/src/nodes/functions/ToonLightingModel.js +21 -2
  710. package/src/nodes/functions/VolumetricLightingModel.js +183 -0
  711. package/src/nodes/functions/material/getAlphaHashThreshold.js +68 -0
  712. package/src/nodes/functions/material/getGeometryRoughness.js +10 -4
  713. package/src/nodes/functions/material/getParallaxCorrectNormal.js +37 -0
  714. package/src/nodes/geometry/RangeNode.js +97 -8
  715. package/src/nodes/gpgpu/AtomicFunctionNode.js +198 -23
  716. package/src/nodes/gpgpu/BarrierNode.js +52 -3
  717. package/src/nodes/gpgpu/ComputeBuiltinNode.js +135 -6
  718. package/src/nodes/gpgpu/ComputeNode.js +212 -16
  719. package/src/nodes/gpgpu/SubgroupFunctionNode.js +455 -0
  720. package/src/nodes/gpgpu/WorkgroupInfoNode.js +143 -9
  721. package/src/nodes/lighting/AONode.js +18 -0
  722. package/src/nodes/lighting/AmbientLightNode.js +10 -0
  723. package/src/nodes/lighting/AnalyticLightNode.js +186 -399
  724. package/src/nodes/lighting/BasicEnvironmentNode.js +19 -0
  725. package/src/nodes/lighting/BasicLightMapNode.js +17 -0
  726. package/src/nodes/lighting/DirectionalLightNode.js +12 -11
  727. package/src/nodes/lighting/EnvironmentNode.js +59 -19
  728. package/src/nodes/lighting/HemisphereLightNode.js +33 -2
  729. package/src/nodes/lighting/IESSpotLightNode.js +13 -1
  730. package/src/nodes/lighting/IrradianceNode.js +17 -0
  731. package/src/nodes/lighting/LightProbeNode.js +20 -0
  732. package/src/nodes/lighting/LightUtils.js +11 -3
  733. package/src/nodes/lighting/LightingContextNode.js +52 -4
  734. package/src/nodes/lighting/LightingNode.js +15 -6
  735. package/src/nodes/lighting/LightsNode.js +238 -35
  736. package/src/nodes/lighting/PointLightNode.js +60 -25
  737. package/src/nodes/lighting/PointShadowNode.js +325 -0
  738. package/src/nodes/lighting/ProjectorLightNode.js +91 -0
  739. package/src/nodes/lighting/RectAreaLightNode.js +50 -14
  740. package/src/nodes/lighting/ShadowBaseNode.js +81 -0
  741. package/src/nodes/lighting/ShadowFilterNode.js +264 -0
  742. package/src/nodes/lighting/ShadowNode.js +867 -0
  743. package/src/nodes/lighting/SpotLightNode.js +99 -18
  744. package/src/nodes/materialx/MaterialXNodes.js +131 -2
  745. package/src/nodes/materialx/lib/mx_noise.js +166 -2
  746. package/src/nodes/math/BitcastNode.js +156 -0
  747. package/src/nodes/math/BitcountNode.js +433 -0
  748. package/src/nodes/math/ConditionalNode.js +110 -21
  749. package/src/nodes/math/Hash.js +8 -0
  750. package/src/nodes/math/MathNode.js +820 -97
  751. package/src/nodes/math/MathUtils.js +47 -1
  752. package/src/nodes/math/OperatorNode.js +517 -84
  753. package/src/nodes/math/PackFloatNode.js +98 -0
  754. package/src/nodes/math/TriNoise3D.js +17 -7
  755. package/src/nodes/math/UnpackFloatNode.js +96 -0
  756. package/src/nodes/parsers/GLSLNodeFunction.js +16 -0
  757. package/src/nodes/parsers/GLSLNodeParser.js +11 -0
  758. package/src/nodes/pmrem/PMREMNode.js +180 -23
  759. package/src/nodes/pmrem/PMREMUtils.js +114 -5
  760. package/src/nodes/procedural/Checker.js +8 -0
  761. package/src/nodes/shapes/Shapes.js +33 -0
  762. package/src/nodes/tsl/TSLBase.js +10 -4
  763. package/src/nodes/tsl/TSLCore.js +732 -160
  764. package/src/nodes/utils/ArrayElementNode.js +55 -4
  765. package/src/nodes/utils/ConvertNode.js +31 -0
  766. package/src/nodes/utils/CubeMapNode.js +79 -2
  767. package/src/nodes/utils/DebugNode.js +83 -0
  768. package/src/nodes/utils/Discard.js +18 -2
  769. package/src/nodes/utils/EquirectUV.js +27 -0
  770. package/src/nodes/utils/EventNode.js +118 -0
  771. package/src/nodes/utils/FlipNode.js +38 -0
  772. package/src/nodes/utils/FunctionOverloadingNode.js +91 -22
  773. package/src/nodes/utils/JoinNode.js +57 -4
  774. package/src/nodes/utils/LoopNode.js +193 -55
  775. package/src/nodes/utils/MatcapUV.js +22 -0
  776. package/src/nodes/utils/MaxMipLevelNode.js +49 -1
  777. package/src/nodes/utils/MemberNode.js +120 -0
  778. package/src/nodes/utils/Oscillators.js +41 -0
  779. package/src/nodes/utils/Packing.js +30 -1
  780. package/src/nodes/utils/PostProcessingUtils.js +154 -0
  781. package/src/nodes/utils/RTTNode.js +165 -9
  782. package/src/nodes/utils/ReflectorNode.js +407 -21
  783. package/src/nodes/utils/RemapNode.js +81 -2
  784. package/src/nodes/utils/RotateNode.js +41 -1
  785. package/src/nodes/utils/SampleNode.js +91 -0
  786. package/src/nodes/utils/SetNode.js +44 -1
  787. package/src/nodes/utils/SplitNode.js +66 -3
  788. package/src/nodes/utils/SpriteSheetUV.js +35 -0
  789. package/src/nodes/utils/SpriteUtils.js +16 -0
  790. package/src/nodes/utils/StorageArrayElementNode.js +56 -3
  791. package/src/nodes/utils/Timer.js +26 -0
  792. package/src/nodes/utils/TriplanarTextures.js +65 -0
  793. package/src/nodes/utils/UVUtils.js +48 -0
  794. package/src/nodes/utils/ViewportUtils.js +12 -0
  795. package/src/objects/BatchedMesh.js +798 -309
  796. package/src/objects/Bone.js +24 -0
  797. package/src/objects/ClippingGroup.js +68 -0
  798. package/src/objects/Group.js +24 -0
  799. package/src/objects/InstancedMesh.js +131 -2
  800. package/src/objects/LOD.js +99 -5
  801. package/src/objects/Line.js +90 -7
  802. package/src/objects/LineLoop.js +20 -0
  803. package/src/objects/LineSegments.js +20 -1
  804. package/src/objects/Mesh.js +84 -0
  805. package/src/objects/Points.js +60 -0
  806. package/src/objects/Skeleton.js +120 -5
  807. package/src/objects/SkinnedMesh.js +102 -6
  808. package/src/objects/Sprite.js +65 -1
  809. package/src/renderers/WebGL3DRenderTarget.js +26 -0
  810. package/src/renderers/WebGLArrayRenderTarget.js +26 -0
  811. package/src/renderers/WebGLCubeRenderTarget.js +41 -5
  812. package/src/renderers/WebGLRenderTarget.js +19 -0
  813. package/src/renderers/WebGLRenderer.js +1016 -278
  814. package/src/renderers/common/Animation.js +123 -14
  815. package/src/renderers/common/Attributes.js +41 -1
  816. package/src/renderers/common/Backend.js +623 -44
  817. package/src/renderers/common/Background.js +99 -16
  818. package/src/renderers/common/BindGroup.js +37 -2
  819. package/src/renderers/common/Binding.js +46 -0
  820. package/src/renderers/common/Bindings.js +211 -20
  821. package/src/renderers/common/BlendMode.js +143 -0
  822. package/src/renderers/common/Buffer.js +89 -0
  823. package/src/renderers/common/BufferUtils.js +25 -0
  824. package/src/renderers/common/BundleGroup.js +57 -0
  825. package/src/renderers/common/CanvasTarget.js +341 -0
  826. package/src/renderers/common/ChainMap.js +73 -10
  827. package/src/renderers/common/ClippingContext.js +172 -87
  828. package/src/renderers/common/Color4.js +40 -0
  829. package/src/renderers/common/ComputePipeline.js +24 -0
  830. package/src/renderers/common/Constants.js +2 -1
  831. package/src/renderers/common/CubeRenderTarget.js +77 -7
  832. package/src/renderers/common/DataMap.js +37 -1
  833. package/src/renderers/common/Geometries.js +163 -14
  834. package/src/renderers/common/IndirectStorageBufferAttribute.js +38 -0
  835. package/src/renderers/common/Info.js +81 -36
  836. package/src/renderers/common/InspectorBase.js +146 -0
  837. package/src/renderers/common/Lighting.js +57 -0
  838. package/src/renderers/common/Pipeline.js +22 -0
  839. package/src/renderers/common/Pipelines.js +150 -7
  840. package/src/renderers/common/PostProcessing.js +22 -84
  841. package/src/renderers/common/ProgrammableStage.js +60 -2
  842. package/src/renderers/common/QuadMesh.js +63 -6
  843. package/src/renderers/common/RenderBundle.js +14 -8
  844. package/src/renderers/common/RenderBundles.js +40 -10
  845. package/src/renderers/common/RenderContext.js +219 -4
  846. package/src/renderers/common/RenderContexts.js +54 -17
  847. package/src/renderers/common/RenderList.js +233 -24
  848. package/src/renderers/common/RenderLists.js +46 -6
  849. package/src/renderers/common/RenderObject.js +548 -46
  850. package/src/renderers/common/RenderObjectPipeline.js +40 -0
  851. package/src/renderers/common/RenderObjects.js +133 -15
  852. package/src/renderers/common/RenderPipeline.js +216 -6
  853. package/src/renderers/common/Renderer.js +2155 -332
  854. package/src/renderers/common/RendererUtils.js +200 -0
  855. package/src/renderers/common/SampledTexture.js +99 -39
  856. package/src/renderers/common/Sampler.js +148 -1
  857. package/src/renderers/common/Storage3DTexture.js +100 -0
  858. package/src/renderers/common/StorageArrayTexture.js +84 -0
  859. package/src/renderers/common/StorageBuffer.js +38 -2
  860. package/src/renderers/common/StorageBufferAttribute.js +31 -2
  861. package/src/renderers/common/StorageInstancedBufferAttribute.js +31 -2
  862. package/src/renderers/common/StorageTexture.js +65 -0
  863. package/src/renderers/common/Textures.js +273 -57
  864. package/src/renderers/common/TimestampQueryPool.js +163 -0
  865. package/src/renderers/common/Uniform.js +233 -3
  866. package/src/renderers/common/UniformBuffer.js +19 -0
  867. package/src/renderers/common/UniformsGroup.js +235 -26
  868. package/src/renderers/common/XRManager.js +1677 -0
  869. package/src/renderers/common/XRRenderTarget.js +91 -0
  870. package/src/renderers/common/extras/PMREMGenerator.js +371 -108
  871. package/src/renderers/common/nodes/NodeBuilderState.js +100 -6
  872. package/src/renderers/common/nodes/NodeLibrary.js +95 -17
  873. package/src/renderers/common/nodes/NodeManager.js +852 -0
  874. package/src/renderers/common/nodes/NodeSampledTexture.js +84 -8
  875. package/src/renderers/common/nodes/NodeSampler.js +41 -1
  876. package/src/renderers/common/nodes/NodeStorageBuffer.js +48 -3
  877. package/src/renderers/common/nodes/NodeUniform.js +285 -2
  878. package/src/renderers/common/nodes/NodeUniformBuffer.js +81 -0
  879. package/src/renderers/common/nodes/NodeUniformsGroup.js +31 -18
  880. package/src/renderers/shaders/DFGLUTData.js +49 -0
  881. package/src/renderers/shaders/ShaderChunk/batching_pars_vertex.glsl.js +2 -2
  882. package/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js +1 -5
  883. package/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js +1 -5
  884. package/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +1 -5
  885. package/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +8 -10
  886. package/src/renderers/shaders/ShaderChunk/colorspace_pars_fragment.glsl.js +4 -24
  887. package/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -12
  888. package/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +8 -0
  889. package/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +1 -1
  890. package/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +7 -11
  891. package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +1 -1
  892. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +5 -2
  893. package/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js +6 -0
  894. package/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +6 -2
  895. package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +8 -4
  896. package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +154 -59
  897. package/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js +1 -1
  898. package/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +1 -1
  899. package/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +1 -1
  900. package/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +1 -1
  901. package/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +2 -2
  902. package/src/renderers/shaders/ShaderChunk/packing.glsl.js +20 -4
  903. package/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +1 -1
  904. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +230 -181
  905. package/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +1 -1
  906. package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +1 -1
  907. package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +7 -7
  908. package/src/renderers/shaders/ShaderChunk.js +3 -3
  909. package/src/renderers/shaders/ShaderLib/background.glsl.js +1 -1
  910. package/src/renderers/shaders/ShaderLib/depth.glsl.js +14 -2
  911. package/src/renderers/shaders/ShaderLib/{distanceRGBA.glsl.js → distance.glsl.js} +1 -2
  912. package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +2 -1
  913. package/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +1 -2
  914. package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +2 -1
  915. package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +4 -9
  916. package/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +0 -1
  917. package/src/renderers/shaders/ShaderLib/shadow.glsl.js +1 -1
  918. package/src/renderers/shaders/ShaderLib/vsm.glsl.js +4 -6
  919. package/src/renderers/shaders/ShaderLib.js +7 -5
  920. package/src/renderers/shaders/UniformsLib.js +2 -7
  921. package/src/renderers/shaders/UniformsUtils.js +21 -2
  922. package/src/renderers/webgl/WebGLAttributes.js +4 -0
  923. package/src/renderers/webgl/WebGLBackground.js +30 -5
  924. package/src/renderers/webgl/WebGLBindingStates.js +99 -27
  925. package/src/renderers/webgl/WebGLBufferRenderer.js +2 -6
  926. package/src/renderers/webgl/WebGLCapabilities.js +7 -14
  927. package/src/renderers/webgl/WebGLEnvironments.js +228 -0
  928. package/src/renderers/webgl/WebGLExtensions.js +2 -25
  929. package/src/renderers/webgl/WebGLGeometries.js +10 -35
  930. package/src/renderers/webgl/WebGLIndexedBufferRenderer.js +2 -6
  931. package/src/renderers/webgl/WebGLInfo.js +3 -1
  932. package/src/renderers/webgl/WebGLLights.js +18 -1
  933. package/src/renderers/webgl/WebGLMaterials.js +12 -0
  934. package/src/renderers/webgl/WebGLObjects.js +3 -1
  935. package/src/renderers/webgl/WebGLOutput.js +267 -0
  936. package/src/renderers/webgl/WebGLProgram.js +87 -148
  937. package/src/renderers/webgl/WebGLPrograms.js +53 -51
  938. package/src/renderers/webgl/WebGLRenderLists.js +15 -0
  939. package/src/renderers/webgl/WebGLShadowMap.js +204 -28
  940. package/src/renderers/webgl/WebGLState.js +88 -56
  941. package/src/renderers/webgl/WebGLTextures.js +293 -59
  942. package/src/renderers/webgl/WebGLUniforms.js +40 -3
  943. package/src/renderers/webgl/WebGLUniformsGroups.js +5 -3
  944. package/src/renderers/webgl/WebGLUtils.js +7 -5
  945. package/src/renderers/webgl-fallback/WebGLBackend.js +1416 -293
  946. package/src/renderers/webgl-fallback/WebGLBufferRenderer.js +5 -10
  947. package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +785 -92
  948. package/src/renderers/webgl-fallback/utils/WebGLAttributeUtils.js +62 -1
  949. package/src/renderers/webgl-fallback/utils/WebGLCapabilities.js +28 -0
  950. package/src/renderers/webgl-fallback/utils/WebGLConstants.js +3 -3
  951. package/src/renderers/webgl-fallback/utils/WebGLExtensions.js +45 -0
  952. package/src/renderers/webgl-fallback/utils/WebGLState.js +584 -20
  953. package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +468 -80
  954. package/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +396 -0
  955. package/src/renderers/webgl-fallback/utils/WebGLUtils.js +72 -24
  956. package/src/renderers/webgpu/WebGPUBackend.js +1517 -428
  957. package/src/renderers/webgpu/WebGPURenderer.Nodes.js +31 -4
  958. package/src/renderers/webgpu/WebGPURenderer.js +55 -4
  959. package/src/renderers/webgpu/nodes/BasicNodeLibrary.js +23 -16
  960. package/src/renderers/webgpu/nodes/StandardNodeLibrary.js +37 -42
  961. package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +1335 -241
  962. package/src/renderers/webgpu/nodes/WGSLNodeFunction.js +32 -4
  963. package/src/renderers/webgpu/nodes/WGSLNodeParser.js +11 -0
  964. package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +144 -20
  965. package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +460 -116
  966. package/src/renderers/webgpu/utils/WebGPUConstants.js +17 -4
  967. package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +283 -69
  968. package/src/renderers/webgpu/utils/WebGPUTexturePassUtils.js +225 -178
  969. package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +583 -191
  970. package/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +310 -0
  971. package/src/renderers/webgpu/utils/WebGPUUtils.js +150 -28
  972. package/src/renderers/webxr/WebXRController.js +87 -2
  973. package/src/renderers/webxr/WebXRDepthSensing.js +52 -7
  974. package/src/renderers/webxr/WebXRManager.js +275 -15
  975. package/src/scenes/Fog.js +60 -0
  976. package/src/scenes/FogExp2.js +51 -0
  977. package/src/scenes/Scene.js +88 -0
  978. package/src/textures/CanvasTexture.js +28 -0
  979. package/src/textures/CompressedArrayTexture.js +57 -0
  980. package/src/textures/CompressedCubeTexture.js +29 -0
  981. package/src/textures/CompressedTexture.js +64 -6
  982. package/src/textures/CubeDepthTexture.js +76 -0
  983. package/src/textures/CubeTexture.js +52 -4
  984. package/src/textures/Data3DTexture.js +79 -2
  985. package/src/textures/DataArrayTexture.js +93 -0
  986. package/src/textures/DataTexture.js +65 -0
  987. package/src/textures/DepthTexture.js +59 -11
  988. package/src/textures/ExternalTexture.js +56 -0
  989. package/src/textures/FramebufferTexture.js +62 -0
  990. package/src/textures/Source.js +106 -4
  991. package/src/textures/Texture.js +488 -6
  992. package/src/textures/VideoFrameTexture.js +72 -0
  993. package/src/textures/VideoTexture.js +78 -6
  994. package/src/utils.js +322 -3
  995. package/examples/jsm/animation/MMDAnimationHelper.js +0 -1207
  996. package/examples/jsm/animation/MMDPhysics.js +0 -1406
  997. package/examples/jsm/cameras/CinematicCamera.js +0 -208
  998. package/examples/jsm/effects/PeppersGhostEffect.js +0 -153
  999. package/examples/jsm/exporters/MMDExporter.js +0 -217
  1000. package/examples/jsm/geometries/InstancedPointsGeometry.js +0 -174
  1001. package/examples/jsm/geometries/ParametricGeometries.js +0 -254
  1002. package/examples/jsm/libs/mmdparser.module.js +0 -11530
  1003. package/examples/jsm/loaders/GLTFLoaderAnimationPointer.js +0 -729
  1004. package/examples/jsm/loaders/MMDLoader.js +0 -2295
  1005. package/examples/jsm/loaders/RGBMLoader.js +0 -1081
  1006. package/examples/jsm/materials/MeshGouraudMaterial.js +0 -432
  1007. package/examples/jsm/materials/MeshPostProcessingMaterial.js +0 -144
  1008. package/examples/jsm/misc/Timer.js +0 -128
  1009. package/examples/jsm/objects/InstancedPoints.js +0 -21
  1010. package/examples/jsm/shaders/GodRaysShader.js +0 -321
  1011. package/examples/jsm/shaders/MMDToonShader.js +0 -134
  1012. package/src/materials/nodes/InstancedPointsNodeMaterial.js +0 -156
  1013. package/src/nodes/accessors/InstancedPointsMaterialNode.js +0 -24
  1014. package/src/nodes/accessors/SceneNode.js +0 -55
  1015. package/src/nodes/code/ScriptableNode.js +0 -505
  1016. package/src/nodes/code/ScriptableValueNode.js +0 -170
  1017. package/src/nodes/core/CacheNode.js +0 -50
  1018. package/src/nodes/core/UniformGroup.js +0 -13
  1019. package/src/nodes/display/AfterImageNode.js +0 -158
  1020. package/src/nodes/display/AnaglyphPassNode.js +0 -67
  1021. package/src/nodes/display/AnamorphicNode.js +0 -151
  1022. package/src/nodes/display/BlendMode.js +0 -54
  1023. package/src/nodes/display/BloomNode.js +0 -341
  1024. package/src/nodes/display/DenoiseNode.js +0 -204
  1025. package/src/nodes/display/DepthOfFieldNode.js +0 -124
  1026. package/src/nodes/display/DotScreenNode.js +0 -66
  1027. package/src/nodes/display/FXAANode.js +0 -332
  1028. package/src/nodes/display/FilmNode.js +0 -56
  1029. package/src/nodes/display/GTAONode.js +0 -331
  1030. package/src/nodes/display/GaussianBlurNode.js +0 -213
  1031. package/src/nodes/display/Lut3DNode.js +0 -57
  1032. package/src/nodes/display/MotionBlur.js +0 -25
  1033. package/src/nodes/display/ParallaxBarrierPassNode.js +0 -58
  1034. package/src/nodes/display/PixelationPassNode.js +0 -213
  1035. package/src/nodes/display/PosterizeNode.js +0 -33
  1036. package/src/nodes/display/RGBShiftNode.js +0 -53
  1037. package/src/nodes/display/StereoCompositePassNode.js +0 -110
  1038. package/src/nodes/display/TransitionNode.js +0 -80
  1039. package/src/nodes/fog/FogExp2Node.js +0 -35
  1040. package/src/nodes/fog/FogNode.js +0 -50
  1041. package/src/nodes/fog/FogRangeNode.js +0 -36
  1042. package/src/nodes/functions/BSDF/DFGApprox.js +0 -30
  1043. package/src/nodes/utils/EquirectUVNode.js +0 -36
  1044. package/src/nodes/utils/MatcapUVNode.js +0 -33
  1045. package/src/nodes/utils/OscNode.js +0 -85
  1046. package/src/nodes/utils/SpriteSheetUVNode.js +0 -45
  1047. package/src/nodes/utils/TimerNode.js +0 -97
  1048. package/src/nodes/utils/TriplanarTexturesNode.js +0 -64
  1049. package/src/renderers/common/nodes/Nodes.js +0 -534
  1050. package/src/renderers/webgl/WebGLCubeMaps.js +0 -99
  1051. package/src/renderers/webgl/WebGLCubeUVMaps.js +0 -136
@@ -0,0 +1,108 @@
1
+ import { Interpolant } from '../Interpolant.js';
2
+
3
+ /**
4
+ * A Bezier interpolant using cubic Bezier curves with 2D control points.
5
+ *
6
+ * This interpolant supports the COLLADA/Maya style of Bezier animation where
7
+ * each keyframe has explicit in/out tangent control points specified as
8
+ * 2D coordinates (time, value).
9
+ *
10
+ * The tangent data must be provided via the `settings` object:
11
+ * - `settings.inTangents`: Float32Array with [time, value] pairs per keyframe per component
12
+ * - `settings.outTangents`: Float32Array with [time, value] pairs per keyframe per component
13
+ *
14
+ * For a track with N keyframes and stride S:
15
+ * - Each tangent array has N * S * 2 values
16
+ * - Layout: [k0_c0_time, k0_c0_value, k0_c1_time, k0_c1_value, ..., k0_cS_time, k0_cS_value,
17
+ * k1_c0_time, k1_c0_value, ...]
18
+ *
19
+ * @augments Interpolant
20
+ */
21
+ class BezierInterpolant extends Interpolant {
22
+
23
+ interpolate_( i1, t0, t, t1 ) {
24
+
25
+ const result = this.resultBuffer;
26
+ const values = this.sampleValues;
27
+ const stride = this.valueSize;
28
+
29
+ const offset1 = i1 * stride;
30
+ const offset0 = offset1 - stride;
31
+
32
+ const settings = this.settings || this.DefaultSettings_;
33
+ const inTangents = settings.inTangents;
34
+ const outTangents = settings.outTangents;
35
+
36
+ // If no tangent data, fall back to linear interpolation
37
+ if ( ! inTangents || ! outTangents ) {
38
+
39
+ const weight1 = ( t - t0 ) / ( t1 - t0 );
40
+ const weight0 = 1 - weight1;
41
+
42
+ for ( let i = 0; i !== stride; ++ i ) {
43
+
44
+ result[ i ] = values[ offset0 + i ] * weight0 + values[ offset1 + i ] * weight1;
45
+
46
+ }
47
+
48
+ return result;
49
+
50
+ }
51
+
52
+ const tangentStride = stride * 2;
53
+ const i0 = i1 - 1;
54
+
55
+ for ( let i = 0; i !== stride; ++ i ) {
56
+
57
+ const v0 = values[ offset0 + i ];
58
+ const v1 = values[ offset1 + i ];
59
+
60
+ // outTangent of previous keyframe (C0)
61
+ const outTangentOffset = i0 * tangentStride + i * 2;
62
+ const c0x = outTangents[ outTangentOffset ];
63
+ const c0y = outTangents[ outTangentOffset + 1 ];
64
+
65
+ // inTangent of current keyframe (C1)
66
+ const inTangentOffset = i1 * tangentStride + i * 2;
67
+ const c1x = inTangents[ inTangentOffset ];
68
+ const c1y = inTangents[ inTangentOffset + 1 ];
69
+
70
+ // Solve for Bezier parameter s where Bx(s) = t using Newton-Raphson
71
+ let s = ( t - t0 ) / ( t1 - t0 );
72
+ let s2, s3, oneMinusS, oneMinusS2, oneMinusS3;
73
+
74
+ for ( let iter = 0; iter < 8; iter ++ ) {
75
+
76
+ s2 = s * s;
77
+ s3 = s2 * s;
78
+ oneMinusS = 1 - s;
79
+ oneMinusS2 = oneMinusS * oneMinusS;
80
+ oneMinusS3 = oneMinusS2 * oneMinusS;
81
+
82
+ // Bezier X(s) = (1-s)³·t0 + 3(1-s)²s·c0x + 3(1-s)s²·c1x + s³·t1
83
+ const bx = oneMinusS3 * t0 + 3 * oneMinusS2 * s * c0x + 3 * oneMinusS * s2 * c1x + s3 * t1;
84
+
85
+ const error = bx - t;
86
+ if ( Math.abs( error ) < 1e-10 ) break;
87
+
88
+ // Derivative dX/ds
89
+ const dbx = 3 * oneMinusS2 * ( c0x - t0 ) + 6 * oneMinusS * s * ( c1x - c0x ) + 3 * s2 * ( t1 - c1x );
90
+ if ( Math.abs( dbx ) < 1e-10 ) break;
91
+
92
+ s = s - error / dbx;
93
+ s = Math.max( 0, Math.min( 1, s ) );
94
+
95
+ }
96
+
97
+ // Evaluate Bezier Y(s)
98
+ result[ i ] = oneMinusS3 * v0 + 3 * oneMinusS2 * s * c0y + 3 * oneMinusS * s2 * c1y + s3 * v1;
99
+
100
+ }
101
+
102
+ return result;
103
+
104
+ }
105
+
106
+ }
107
+
108
+ export { BezierInterpolant };
@@ -7,10 +7,19 @@ import { Interpolant } from '../Interpolant.js';
7
7
  * It was derived from a Hermitian construction setting the first derivative
8
8
  * at each sample position to the linear slope between neighboring positions
9
9
  * over their parameter interval.
10
+ *
11
+ * @augments Interpolant
10
12
  */
11
-
12
13
  class CubicInterpolant extends Interpolant {
13
14
 
15
+ /**
16
+ * Constructs a new cubic interpolant.
17
+ *
18
+ * @param {TypedArray} parameterPositions - The parameter positions hold the interpolation factors.
19
+ * @param {TypedArray} sampleValues - The sample values.
20
+ * @param {number} sampleSize - The sample size
21
+ * @param {TypedArray} [resultBuffer] - The result buffer.
22
+ */
14
23
  constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {
15
24
 
16
25
  super( parameterPositions, sampleValues, sampleSize, resultBuffer );
@@ -1,13 +1,21 @@
1
1
  import { Interpolant } from '../Interpolant.js';
2
2
 
3
3
  /**
4
- *
5
4
  * Interpolant that evaluates to the sample value at the position preceding
6
5
  * the parameter.
6
+ *
7
+ * @augments Interpolant
7
8
  */
8
-
9
9
  class DiscreteInterpolant extends Interpolant {
10
10
 
11
+ /**
12
+ * Constructs a new discrete interpolant.
13
+ *
14
+ * @param {TypedArray} parameterPositions - The parameter positions hold the interpolation factors.
15
+ * @param {TypedArray} sampleValues - The sample values.
16
+ * @param {number} sampleSize - The sample size
17
+ * @param {TypedArray} [resultBuffer] - The result buffer.
18
+ */
11
19
  constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {
12
20
 
13
21
  super( parameterPositions, sampleValues, sampleSize, resultBuffer );
@@ -1,7 +1,20 @@
1
1
  import { Interpolant } from '../Interpolant.js';
2
2
 
3
+ /**
4
+ * A basic linear interpolant.
5
+ *
6
+ * @augments Interpolant
7
+ */
3
8
  class LinearInterpolant extends Interpolant {
4
9
 
10
+ /**
11
+ * Constructs a new linear interpolant.
12
+ *
13
+ * @param {TypedArray} parameterPositions - The parameter positions hold the interpolation factors.
14
+ * @param {TypedArray} sampleValues - The sample values.
15
+ * @param {number} sampleSize - The sample size
16
+ * @param {TypedArray} [resultBuffer] - The result buffer.
17
+ */
5
18
  constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {
6
19
 
7
20
  super( parameterPositions, sampleValues, sampleSize, resultBuffer );
@@ -3,10 +3,19 @@ import { Quaternion } from '../Quaternion.js';
3
3
 
4
4
  /**
5
5
  * Spherical linear unit quaternion interpolant.
6
+ *
7
+ * @augments Interpolant
6
8
  */
7
-
8
9
  class QuaternionLinearInterpolant extends Interpolant {
9
10
 
11
+ /**
12
+ * Constructs a new SLERP interpolant.
13
+ *
14
+ * @param {TypedArray} parameterPositions - The parameter positions hold the interpolation factors.
15
+ * @param {TypedArray} sampleValues - The sample values.
16
+ * @param {number} sampleSize - The sample size
17
+ * @param {TypedArray} [resultBuffer] - The result buffer.
18
+ */
10
19
  constructor( parameterPositions, sampleValues, sampleSize, resultBuffer ) {
11
20
 
12
21
  super( parameterPositions, sampleValues, sampleSize, resultBuffer );
@@ -2,163 +2,166 @@
2
2
  export * from './core/constants.js';
3
3
 
4
4
  // core
5
+ export { default as ArrayNode } from './core/ArrayNode.js';
5
6
  export { default as AssignNode } from './core/AssignNode.js';
6
7
  export { default as AttributeNode } from './core/AttributeNode.js';
7
8
  export { default as BypassNode } from './core/BypassNode.js';
8
- export { default as CacheNode } from './core/CacheNode.js';
9
9
  export { default as ConstNode } from './core/ConstNode.js';
10
10
  export { default as ContextNode } from './core/ContextNode.js';
11
11
  export { default as IndexNode } from './core/IndexNode.js';
12
+ export { default as InputNode } from './core/InputNode.js';
13
+ export { default as InspectorNode } from './core/InspectorNode.js';
14
+ export { default as IsolateNode } from './core/IsolateNode.js';
12
15
  export { default as LightingModel } from './core/LightingModel.js';
16
+ export { default as MRTNode } from './core/MRTNode.js';
13
17
  export { default as Node } from './core/Node.js';
14
- export { default as VarNode } from './core/VarNode.js';
15
18
  export { default as NodeAttribute } from './core/NodeAttribute.js';
16
19
  export { default as NodeBuilder } from './core/NodeBuilder.js';
17
20
  export { default as NodeCache } from './core/NodeCache.js';
18
21
  export { default as NodeCode } from './core/NodeCode.js';
22
+ export { default as NodeError } from './core/NodeError.js';
19
23
  export { default as NodeFrame } from './core/NodeFrame.js';
20
24
  export { default as NodeFunctionInput } from './core/NodeFunctionInput.js';
21
25
  export { default as NodeUniform } from './core/NodeUniform.js';
22
26
  export { default as NodeVar } from './core/NodeVar.js';
23
27
  export { default as NodeVarying } from './core/NodeVarying.js';
28
+ export { default as OutputStructNode } from './core/OutputStructNode.js';
24
29
  export { default as ParameterNode } from './core/ParameterNode.js';
25
30
  export { default as PropertyNode } from './core/PropertyNode.js';
26
31
  export { default as StackNode } from './core/StackNode.js';
32
+ export { default as StackTrace } from './core/StackTrace.js';
33
+ export { default as StructNode } from './core/StructNode.js';
34
+ export { default as StructTypeNode } from './core/StructTypeNode.js';
35
+ export { default as SubBuildNode } from './core/SubBuildNode.js';
27
36
  export { default as TempNode } from './core/TempNode.js';
28
37
  export { default as UniformGroupNode } from './core/UniformGroupNode.js';
29
38
  export { default as UniformNode } from './core/UniformNode.js';
39
+ export { default as VarNode } from './core/VarNode.js';
30
40
  export { default as VaryingNode } from './core/VaryingNode.js';
31
- export { default as OutputStructNode } from './core/OutputStructNode.js';
32
- export { default as MRTNode } from './core/MRTNode.js';
33
41
 
34
42
  import * as NodeUtils from './core/NodeUtils.js';
35
43
  export { NodeUtils };
36
44
 
37
- // utils
38
- export { default as ArrayElementNode } from './utils/ArrayElementNode.js';
39
- export { default as ConvertNode } from './utils/ConvertNode.js';
40
- export { default as EquirectUVNode } from './utils/EquirectUVNode.js';
41
- export { default as FunctionOverloadingNode } from './utils/FunctionOverloadingNode.js';
42
- export { default as JoinNode } from './utils/JoinNode.js';
43
- export { default as LoopNode } from './utils/LoopNode.js';
44
- export { default as MatcapUVNode } from './utils/MatcapUVNode.js';
45
- export { default as MaxMipLevelNode } from './utils/MaxMipLevelNode.js';
46
- export { default as OscNode } from './utils/OscNode.js';
47
- export { default as RemapNode } from './utils/RemapNode.js';
48
- export { default as RotateNode } from './utils/RotateNode.js';
49
- export { default as SetNode } from './utils/SetNode.js';
50
- export { default as SplitNode } from './utils/SplitNode.js';
51
- export { default as SpriteSheetUVNode } from './utils/SpriteSheetUVNode.js';
52
- export { default as StorageArrayElementNode } from './utils/StorageArrayElementNode.js';
53
- export { default as TimerNode } from './utils/TimerNode.js';
54
- export { default as TriplanarTexturesNode } from './utils/TriplanarTexturesNode.js';
55
- export { default as ReflectorNode } from './utils/ReflectorNode.js';
56
- export { default as RTTNode } from './utils/RTTNode.js';
57
-
58
45
  // accessors
59
- export { default as UniformArrayNode } from './accessors/UniformArrayNode.js';
46
+ export { default as BatchNode } from './accessors/BatchNode.js';
60
47
  export { default as BufferAttributeNode } from './accessors/BufferAttributeNode.js';
61
48
  export { default as BufferNode } from './accessors/BufferNode.js';
62
- export { default as VertexColorNode } from './accessors/VertexColorNode.js';
49
+ export { default as BuiltinNode } from './accessors/BuiltinNode.js';
50
+ export { default as ClippingNode } from './accessors/ClippingNode.js';
63
51
  export { default as CubeTextureNode } from './accessors/CubeTextureNode.js';
64
52
  export { default as InstanceNode } from './accessors/InstanceNode.js';
65
- export { default as BatchNode } from './accessors/BatchNode.js';
53
+ export { default as InstancedMeshNode } from './accessors/InstancedMeshNode.js';
66
54
  export { default as MaterialNode } from './accessors/MaterialNode.js';
67
55
  export { default as MaterialReferenceNode } from './accessors/MaterialReferenceNode.js';
68
- export { default as RendererReferenceNode } from './accessors/RendererReferenceNode.js';
69
- export { default as MorphNode } from './accessors/MorphNode.js';
70
56
  export { default as ModelNode } from './accessors/ModelNode.js';
71
- export { default as ModelViewProjectionNode } from './accessors/ModelViewProjectionNode.js';
57
+ export { default as MorphNode } from './accessors/MorphNode.js';
72
58
  export { default as Object3DNode } from './accessors/Object3DNode.js';
73
59
  export { default as PointUVNode } from './accessors/PointUVNode.js';
60
+ export { default as ReferenceBaseNode } from './accessors/ReferenceBaseNode.js';
74
61
  export { default as ReferenceNode } from './accessors/ReferenceNode.js';
62
+ export { default as RendererReferenceNode } from './accessors/RendererReferenceNode.js';
75
63
  export { default as SkinningNode } from './accessors/SkinningNode.js';
76
- export { default as SceneNode } from './accessors/SceneNode.js';
77
64
  export { default as StorageBufferNode } from './accessors/StorageBufferNode.js';
78
- export { default as TextureNode } from './accessors/TextureNode.js';
79
- export { default as TextureSizeNode } from './accessors/TextureSizeNode.js';
80
65
  export { default as StorageTextureNode } from './accessors/StorageTextureNode.js';
81
66
  export { default as Texture3DNode } from './accessors/Texture3DNode.js';
67
+ export { default as TextureNode } from './accessors/TextureNode.js';
68
+ export { default as TextureSizeNode } from './accessors/TextureSizeNode.js';
69
+ export { default as UniformArrayNode } from './accessors/UniformArrayNode.js';
82
70
  export { default as UserDataNode } from './accessors/UserDataNode.js';
71
+ export { default as VelocityNode } from './accessors/VelocityNode.js';
72
+ export { default as VertexColorNode } from './accessors/VertexColorNode.js';
73
+
74
+ // code
75
+ export { default as CodeNode } from './code/CodeNode.js';
76
+ export { default as ExpressionNode } from './code/ExpressionNode.js';
77
+ export { default as FunctionCallNode } from './code/FunctionCallNode.js';
78
+ export { default as FunctionNode } from './code/FunctionNode.js';
83
79
 
84
80
  // display
85
81
  export { default as BumpMapNode } from './display/BumpMapNode.js';
86
82
  export { default as ColorSpaceNode } from './display/ColorSpaceNode.js';
87
83
  export { default as FrontFacingNode } from './display/FrontFacingNode.js';
88
84
  export { default as NormalMapNode } from './display/NormalMapNode.js';
89
- export { default as PosterizeNode } from './display/PosterizeNode.js';
90
- export { default as ToneMappingNode } from './display/ToneMappingNode.js';
91
- export { default as ScreenNode } from './display/ScreenNode.js';
92
- export { default as ViewportTextureNode } from './display/ViewportTextureNode.js';
93
- export { default as ViewportSharedTextureNode } from './display/ViewportSharedTextureNode.js';
94
- export { default as ViewportDepthTextureNode } from './display/ViewportDepthTextureNode.js';
95
- export { default as ViewportDepthNode } from './display/ViewportDepthNode.js';
96
- export { default as GaussianBlurNode } from './display/GaussianBlurNode.js';
97
- export { default as AfterImageNode } from './display/AfterImageNode.js';
98
- export { default as AnamorphicNode } from './display/AnamorphicNode.js';
99
- export { default as SobelOperatorNode } from './display/SobelOperatorNode.js';
100
- export { default as DepthOfFieldNode } from './display/DepthOfFieldNode.js';
101
- export { default as DotScreenNode } from './display/DotScreenNode.js';
102
- export { default as RGBShiftNode } from './display/RGBShiftNode.js';
103
- export { default as FilmNode } from './display/FilmNode.js';
104
- export { default as Lut3DNode } from './display/Lut3DNode.js';
105
- export { default as GTAONode } from './display/GTAONode.js';
106
- export { default as DenoiseNode } from './display/DenoiseNode.js';
107
- export { default as FXAANode } from './display/FXAANode.js';
108
- export { default as BloomNode } from './display/BloomNode.js';
109
- export { default as TransitionNode } from './display/TransitionNode.js';
110
- export { default as RenderOutputNode } from './display/RenderOutputNode.js';
111
- export { default as PixelationPassNode } from './display/PixelationPassNode.js';
112
- export { default as SSAAPassNode } from './display/SSAAPassNode.js';
113
- export { default as StereoPassNode } from './display/StereoPassNode.js';
114
- export { default as AnaglyphPassNode } from './display/AnaglyphPassNode.js';
115
- export { default as ParallaxBarrierPassNode } from './display/ParallaxBarrierPassNode.js';
116
85
  export { default as PassNode } from './display/PassNode.js';
86
+ export { default as RenderOutputNode } from './display/RenderOutputNode.js';
87
+ export { default as ScreenNode } from './display/ScreenNode.js';
88
+ export { default as ToneMappingNode } from './display/ToneMappingNode.js';
117
89
  export { default as ToonOutlinePassNode } from './display/ToonOutlinePassNode.js';
118
-
119
- // code
120
- export { default as ExpressionNode } from './code/ExpressionNode.js';
121
- export { default as CodeNode } from './code/CodeNode.js';
122
- export { default as FunctionCallNode } from './code/FunctionCallNode.js';
123
- export { default as FunctionNode } from './code/FunctionNode.js';
124
- export { default as ScriptableNode } from './code/ScriptableNode.js';
125
- export { default as ScriptableValueNode } from './code/ScriptableValueNode.js';
126
-
127
- // fog
128
- export { default as FogNode } from './fog/FogNode.js';
129
- export { default as FogRangeNode } from './fog/FogRangeNode.js';
130
- export { default as FogExp2Node } from './fog/FogExp2Node.js';
90
+ export { default as ViewportDepthNode } from './display/ViewportDepthNode.js';
91
+ export { default as ViewportDepthTextureNode } from './display/ViewportDepthTextureNode.js';
92
+ export { default as ViewportSharedTextureNode } from './display/ViewportSharedTextureNode.js';
93
+ export { default as ViewportTextureNode } from './display/ViewportTextureNode.js';
131
94
 
132
95
  // geometry
133
96
  export { default as RangeNode } from './geometry/RangeNode.js';
134
97
 
135
98
  // gpgpu
99
+ export { default as AtomicFunctionNode } from './gpgpu/AtomicFunctionNode.js';
100
+ export { default as BarrierNode } from './gpgpu/BarrierNode.js';
101
+ export { default as ComputeBuiltinNode } from './gpgpu/ComputeBuiltinNode.js';
136
102
  export { default as ComputeNode } from './gpgpu/ComputeNode.js';
103
+ export { default as SubgroupFunctionNode } from './gpgpu/SubgroupFunctionNode.js';
104
+ export { default as WorkgroupInfoNode } from './gpgpu/WorkgroupInfoNode.js';
137
105
 
138
106
  // lighting
139
- export { default as PointLightNode } from './lighting/PointLightNode.js';
107
+ export { default as AmbientLightNode } from './lighting/AmbientLightNode.js';
108
+ export { default as AnalyticLightNode } from './lighting/AnalyticLightNode.js';
109
+ export { default as AONode } from './lighting/AONode.js';
110
+ export { default as BasicEnvironmentNode } from './lighting/BasicEnvironmentNode.js';
111
+ export { default as BasicLightMapNode } from './lighting/BasicLightMapNode.js';
140
112
  export { default as DirectionalLightNode } from './lighting/DirectionalLightNode.js';
141
- export { default as RectAreaLightNode } from './lighting/RectAreaLightNode.js';
142
- export { default as SpotLightNode } from './lighting/SpotLightNode.js';
113
+ export { default as EnvironmentNode } from './lighting/EnvironmentNode.js';
114
+ export { default as HemisphereLightNode } from './lighting/HemisphereLightNode.js';
143
115
  export { default as IESSpotLightNode } from './lighting/IESSpotLightNode.js';
144
- export { default as AmbientLightNode } from './lighting/AmbientLightNode.js';
145
- export { default as LightsNode } from './lighting/LightsNode.js';
146
- export { default as LightingNode } from './lighting/LightingNode.js';
116
+ export { default as IrradianceNode } from './lighting/IrradianceNode.js';
147
117
  export { default as LightingContextNode } from './lighting/LightingContextNode.js';
148
- export { default as HemisphereLightNode } from './lighting/HemisphereLightNode.js';
118
+ export { default as LightingNode } from './lighting/LightingNode.js';
149
119
  export { default as LightProbeNode } from './lighting/LightProbeNode.js';
150
- export { default as EnvironmentNode } from './lighting/EnvironmentNode.js';
151
- export { default as BasicEnvironmentNode } from './lighting/BasicEnvironmentNode.js';
152
- export { default as IrradianceNode } from './lighting/IrradianceNode.js';
153
- export { default as AONode } from './lighting/AONode.js';
154
- export { default as AnalyticLightNode } from './lighting/AnalyticLightNode.js';
120
+ export { default as LightsNode } from './lighting/LightsNode.js';
121
+ export { default as PointLightNode } from './lighting/PointLightNode.js';
122
+ export { default as PointShadowNode } from './lighting/PointShadowNode.js';
123
+ export { default as ProjectorLightNode } from './lighting/ProjectorLightNode.js';
124
+ export { default as RectAreaLightNode } from './lighting/RectAreaLightNode.js';
125
+ export { default as ShadowBaseNode } from './lighting/ShadowBaseNode.js';
126
+ export { default as ShadowNode } from './lighting/ShadowNode.js';
127
+ export { default as SpotLightNode } from './lighting/SpotLightNode.js';
155
128
 
156
- // pmrem
157
- export { default as PMREMNode } from './pmrem/PMREMNode.js';
129
+ // math
130
+ export { default as BitcastNode } from './math/BitcastNode.js';
131
+ export { default as BitcountNode } from './math/BitcountNode.js';
132
+ export { default as ConditionalNode } from './math/ConditionalNode.js';
133
+ export { default as MathNode } from './math/MathNode.js';
134
+ export { default as OperatorNode } from './math/OperatorNode.js';
135
+ export { default as PackFloatNode } from './math/PackFloatNode.js';
136
+ export { default as UnpackFloatNode } from './math/UnpackFloatNode.js';
158
137
 
159
138
  // parsers
160
139
  export { default as GLSLNodeParser } from './parsers/GLSLNodeParser.js'; // @TODO: Move to jsm/renderers/webgl.
161
140
 
141
+ // pmrem
142
+ export { default as PMREMNode } from './pmrem/PMREMNode.js';
143
+
144
+ // utils
145
+ export { default as ArrayElementNode } from './utils/ArrayElementNode.js';
146
+ export { default as ConvertNode } from './utils/ConvertNode.js';
147
+ export { default as CubeMapNode } from './utils/CubeMapNode.js';
148
+ export { default as DebugNode } from './utils/DebugNode.js';
149
+ export { default as EventNode } from './utils/EventNode.js';
150
+ export { default as FlipNode } from './utils/FlipNode.js';
151
+ export { default as FunctionOverloadingNode } from './utils/FunctionOverloadingNode.js';
152
+ export { default as JoinNode } from './utils/JoinNode.js';
153
+ export { default as LoopNode } from './utils/LoopNode.js';
154
+ export { default as MaxMipLevelNode } from './utils/MaxMipLevelNode.js';
155
+ export { default as MemberNode } from './utils/MemberNode.js';
156
+ export { default as ReflectorNode } from './utils/ReflectorNode.js';
157
+ export { default as RemapNode } from './utils/RemapNode.js';
158
+ export { default as RotateNode } from './utils/RotateNode.js';
159
+ export { default as RTTNode } from './utils/RTTNode.js';
160
+ export { default as SampleNode } from './utils/SampleNode.js';
161
+ export { default as SetNode } from './utils/SetNode.js';
162
+ export { default as SplitNode } from './utils/SplitNode.js';
163
+ export { default as StorageArrayElementNode } from './utils/StorageArrayElementNode.js';
164
+
162
165
  // lighting models
163
166
  export { default as PhongLightingModel } from './functions/PhongLightingModel.js';
164
167
  export { default as PhysicalLightingModel } from './functions/PhysicalLightingModel.js';
package/src/nodes/TSL.js CHANGED
@@ -5,12 +5,13 @@ export * from './core/constants.js';
5
5
  export * from './core/AssignNode.js';
6
6
  export * from './core/AttributeNode.js';
7
7
  export * from './core/BypassNode.js';
8
- export * from './core/CacheNode.js';
8
+ export * from './core/IsolateNode.js';
9
9
  export * from './core/ContextNode.js';
10
10
  export * from './core/IndexNode.js';
11
11
  export * from './core/ParameterNode.js';
12
12
  export * from './core/PropertyNode.js';
13
13
  export * from './core/StackNode.js';
14
+ export * from './core/StructNode.js';
14
15
  export * from './core/UniformGroupNode.js';
15
16
  export * from './core/UniformNode.js';
16
17
  export * from './core/VaryingNode.js';
@@ -18,42 +19,52 @@ export * from './core/OutputStructNode.js';
18
19
  export * from './core/MRTNode.js';
19
20
 
20
21
  // math
22
+ export * from './math/BitcastNode.js';
23
+ export * from './math/BitcountNode.js';
21
24
  export * from './math/Hash.js';
22
25
  export * from './math/MathUtils.js';
26
+ export * from './math/PackFloatNode.js';
27
+ export * from './math/UnpackFloatNode.js';
23
28
  export * from './math/TriNoise3D.js';
24
29
 
25
30
  // utils
26
- export * from './utils/EquirectUVNode.js';
31
+ export * from './utils/EquirectUV.js';
27
32
  export * from './utils/FunctionOverloadingNode.js';
28
33
  export * from './utils/LoopNode.js';
29
- export * from './utils/MatcapUVNode.js';
34
+ export * from './utils/MatcapUV.js';
30
35
  export * from './utils/MaxMipLevelNode.js';
31
- export * from './utils/OscNode.js';
36
+ export * from './utils/Oscillators.js';
32
37
  export * from './utils/Packing.js';
33
38
  export * from './utils/RemapNode.js';
34
39
  export * from './utils/UVUtils.js';
35
40
  export * from './utils/SpriteUtils.js';
36
41
  export * from './utils/ViewportUtils.js';
37
42
  export * from './utils/RotateNode.js';
38
- export * from './utils/SpriteSheetUVNode.js';
39
- export * from './utils/TimerNode.js';
40
- export * from './utils/TriplanarTexturesNode.js';
43
+ export * from './utils/SpriteSheetUV.js';
44
+ export * from './utils/Timer.js';
45
+ export * from './utils/TriplanarTextures.js';
41
46
  export * from './utils/ReflectorNode.js';
42
47
  export * from './utils/RTTNode.js';
48
+ export * from './utils/PostProcessingUtils.js';
49
+ export * from './utils/SampleNode.js';
50
+ export * from './utils/EventNode.js';
43
51
 
44
52
  // three.js shading language
45
53
  export * from './tsl/TSLBase.js';
46
54
 
47
55
  // accessors
48
56
  export * from './accessors/AccessorsUtils.js';
57
+ export * from './accessors/Arrays.js';
49
58
  export * from './accessors/UniformArrayNode.js';
50
59
  export * from './accessors/Bitangent.js';
51
60
  export * from './accessors/BufferAttributeNode.js';
52
61
  export * from './accessors/BufferNode.js';
62
+ export * from './accessors/BuiltinNode.js';
53
63
  export * from './accessors/Camera.js';
54
64
  export * from './accessors/VertexColorNode.js';
55
65
  export * from './accessors/CubeTextureNode.js';
56
66
  export * from './accessors/InstanceNode.js';
67
+ export * from './accessors/InstancedMeshNode.js';
57
68
  export * from './accessors/BatchNode.js';
58
69
  export * from './accessors/MaterialNode.js';
59
70
  export * from './accessors/MaterialProperties.js';
@@ -70,7 +81,7 @@ export * from './accessors/Position.js';
70
81
  export * from './accessors/ReferenceNode.js';
71
82
  export * from './accessors/ReflectVector.js';
72
83
  export * from './accessors/SkinningNode.js';
73
- export * from './accessors/SceneNode.js';
84
+ export * from './accessors/SceneProperties.js';
74
85
  export * from './accessors/StorageBufferNode.js';
75
86
  export * from './accessors/Tangent.js';
76
87
  export * from './accessors/TextureNode.js';
@@ -82,42 +93,19 @@ export * from './accessors/UserDataNode.js';
82
93
  export * from './accessors/VelocityNode.js';
83
94
 
84
95
  // display
85
- export * from './display/BlendMode.js';
96
+ export * from './display/BlendModes.js';
86
97
  export * from './display/BumpMapNode.js';
87
98
  export * from './display/ColorAdjustment.js';
88
99
  export * from './display/ColorSpaceNode.js';
89
100
  export * from './display/FrontFacingNode.js';
90
101
  export * from './display/NormalMapNode.js';
91
- export * from './display/PosterizeNode.js';
92
102
  export * from './display/ToneMappingNode.js';
93
103
  export * from './display/ScreenNode.js';
94
104
  export * from './display/ViewportTextureNode.js';
95
105
  export * from './display/ViewportSharedTextureNode.js';
96
106
  export * from './display/ViewportDepthTextureNode.js';
97
107
  export * from './display/ViewportDepthNode.js';
98
- export * from './display/GaussianBlurNode.js';
99
- export * from './display/AfterImageNode.js';
100
- export * from './display/AnamorphicNode.js';
101
- export * from './display/SobelOperatorNode.js';
102
- export * from './display/DepthOfFieldNode.js';
103
- export * from './display/DotScreenNode.js';
104
- export * from './display/RGBShiftNode.js';
105
- export * from './display/FilmNode.js';
106
- export * from './display/Lut3DNode.js';
107
- export * from './display/MotionBlur.js';
108
- export * from './display/GTAONode.js';
109
- export * from './display/DenoiseNode.js';
110
- export * from './display/FXAANode.js';
111
- export * from './display/BloomNode.js';
112
- export * from './display/TransitionNode.js';
113
108
  export * from './display/RenderOutputNode.js';
114
- export * from './display/PixelationPassNode.js';
115
- export * from './display/SSAAPassNode.js';
116
- export * from './display/StereoPassNode.js';
117
- export * from './display/AnaglyphPassNode.js';
118
- export * from './display/ParallaxBarrierPassNode.js';
119
- export * from './display/BleachBypass.js';
120
- export * from './display/Sepia.js';
121
109
  export * from './display/ToonOutlinePassNode.js';
122
110
 
123
111
  export * from './display/PassNode.js';
@@ -130,13 +118,9 @@ export * from './code/ExpressionNode.js';
130
118
  export * from './code/CodeNode.js';
131
119
  export * from './code/FunctionCallNode.js';
132
120
  export * from './code/FunctionNode.js';
133
- export * from './code/ScriptableNode.js';
134
- export * from './code/ScriptableValueNode.js';
135
121
 
136
122
  // fog
137
- export * from './fog/FogNode.js';
138
- export * from './fog/FogRangeNode.js';
139
- export * from './fog/FogExp2Node.js';
123
+ export * from './fog/Fog.js';
140
124
 
141
125
  // geometry
142
126
  export * from './geometry/RangeNode.js';
@@ -147,11 +131,17 @@ export * from './gpgpu/ComputeBuiltinNode.js';
147
131
  export * from './gpgpu/BarrierNode.js';
148
132
  export * from './gpgpu/WorkgroupInfoNode.js';
149
133
  export * from './gpgpu/AtomicFunctionNode.js';
134
+ export * from './gpgpu/SubgroupFunctionNode.js';
150
135
 
151
136
  // lighting
152
137
  export * from './accessors/Lights.js';
153
138
  export * from './lighting/LightsNode.js';
154
139
  export * from './lighting/LightingContextNode.js';
140
+ export * from './lighting/ShadowBaseNode.js';
141
+ export * from './lighting/ShadowNode.js';
142
+ export * from './lighting/ShadowFilterNode.js';
143
+ export * from './lighting/PointShadowNode.js';
144
+ export * from './lighting/PointLightNode.js';
155
145
 
156
146
  // pmrem
157
147
  export * from './pmrem/PMREMNode.js';
@@ -160,6 +150,9 @@ export * from './pmrem/PMREMUtils.js';
160
150
  // procedural
161
151
  export * from './procedural/Checker.js';
162
152
 
153
+ // shapes
154
+ export * from './shapes/Shapes.js';
155
+
163
156
  // materialX
164
157
  export * from './materialx/MaterialXNodes.js';
165
158
 
@@ -167,7 +160,7 @@ export * from './materialx/MaterialXNodes.js';
167
160
  export { default as BRDF_GGX } from './functions/BSDF/BRDF_GGX.js';
168
161
  export { default as BRDF_Lambert } from './functions/BSDF/BRDF_Lambert.js';
169
162
  export { default as D_GGX } from './functions/BSDF/D_GGX.js';
170
- export { default as DFGApprox } from './functions/BSDF/DFGApprox.js';
163
+ export { default as DFGLUT } from './functions/BSDF/DFGLUT.js';
171
164
  export { default as F_Schlick } from './functions/BSDF/F_Schlick.js';
172
165
  export { default as Schlick_to_F0 } from './functions/BSDF/Schlick_to_F0.js';
173
166
  export { default as V_GGX_SmithCorrelated } from './functions/BSDF/V_GGX_SmithCorrelated.js';
@@ -175,5 +168,6 @@ export { default as V_GGX_SmithCorrelated } from './functions/BSDF/V_GGX_SmithCo
175
168
  export * from './lighting/LightUtils.js';
176
169
 
177
170
  export { default as getGeometryRoughness } from './functions/material/getGeometryRoughness.js';
171
+ export { default as getParallaxCorrectNormal } from './functions/material/getParallaxCorrectNormal.js';
178
172
  export { default as getRoughness } from './functions/material/getRoughness.js';
179
173
  export { default as getShIrradianceAt } from './functions/material/getShIrradianceAt.js';