@types/three 0.181.0 → 0.183.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 (351) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/Addons.d.ts +0 -3
  3. three/examples/jsm/controls/ArcballControls.d.ts +1 -1
  4. three/examples/jsm/controls/DragControls.d.ts +1 -1
  5. three/examples/jsm/controls/FirstPersonControls.d.ts +1 -1
  6. three/examples/jsm/controls/FlyControls.d.ts +1 -1
  7. three/examples/jsm/controls/OrbitControls.d.ts +40 -1
  8. three/examples/jsm/controls/PointerLockControls.d.ts +1 -1
  9. three/examples/jsm/controls/TrackballControls.d.ts +1 -1
  10. three/examples/jsm/controls/TransformControls.d.ts +1 -1
  11. three/examples/jsm/effects/AnaglyphEffect.d.ts +4 -0
  12. three/examples/jsm/environments/ColorEnvironment.d.ts +9 -0
  13. three/examples/jsm/gpgpu/BitonicSort.d.ts +5 -5
  14. three/examples/jsm/helpers/AnimationPathHelper.d.ts +38 -0
  15. three/examples/jsm/helpers/ViewHelper.d.ts +4 -1
  16. three/examples/jsm/inspector/tabs/Parameters.d.ts +3 -0
  17. three/examples/jsm/inspector/ui/Item.d.ts +5 -0
  18. three/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -1
  19. three/examples/jsm/lights/LightProbeGenerator.d.ts +11 -5
  20. three/examples/jsm/loaders/ColladaLoader.d.ts +27 -4
  21. three/examples/jsm/loaders/UltraHDRLoader.d.ts +7 -0
  22. three/examples/jsm/loaders/VOXLoader.d.ts +22 -5
  23. three/examples/jsm/math/Octree.d.ts +36 -14
  24. three/examples/jsm/objects/SkyMesh.d.ts +16 -6
  25. three/examples/jsm/objects/Water2Mesh.d.ts +7 -7
  26. three/examples/jsm/objects/WaterMesh.d.ts +6 -6
  27. three/examples/jsm/physics/AmmoPhysics.d.ts +1 -1
  28. three/examples/jsm/postprocessing/EffectComposer.d.ts +9 -10
  29. three/examples/jsm/postprocessing/OutputPass.d.ts +10 -6
  30. three/examples/jsm/postprocessing/RenderPass.d.ts +15 -10
  31. three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +4 -9
  32. three/examples/jsm/transpiler/AST.d.ts +17 -0
  33. three/examples/jsm/transpiler/TSLEncoder.d.ts +2 -0
  34. three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +30 -0
  35. three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -1
  36. three/examples/jsm/tsl/display/BilateralBlurNode.d.ts +27 -0
  37. three/examples/jsm/tsl/display/BleachBypass.d.ts +1 -1
  38. three/examples/jsm/tsl/display/BloomNode.d.ts +5 -5
  39. three/examples/jsm/tsl/display/CRT.d.ts +22 -0
  40. three/examples/jsm/tsl/display/DenoiseNode.d.ts +5 -5
  41. three/examples/jsm/tsl/display/DotScreenNode.d.ts +4 -6
  42. three/examples/jsm/tsl/display/GTAONode.d.ts +8 -8
  43. three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +4 -2
  44. three/examples/jsm/tsl/display/GodraysNode.d.ts +20 -0
  45. three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -6
  46. three/examples/jsm/tsl/display/Lut3DNode.d.ts +5 -5
  47. three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -1
  48. three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -6
  49. three/examples/jsm/tsl/display/PixelationPassNode.d.ts +10 -10
  50. three/examples/jsm/tsl/display/RGBShiftNode.d.ts +2 -2
  51. three/examples/jsm/tsl/display/RetroPassNode.d.ts +17 -0
  52. three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -1
  53. three/examples/jsm/tsl/display/SSGINode.d.ts +11 -11
  54. three/examples/jsm/tsl/display/SSRNode.d.ts +6 -6
  55. three/examples/jsm/tsl/display/SSSNode.d.ts +7 -5
  56. three/examples/jsm/tsl/display/Shape.d.ts +3 -0
  57. three/examples/jsm/tsl/display/TRAANode.d.ts +5 -0
  58. three/examples/jsm/tsl/display/TransitionNode.d.ts +3 -3
  59. three/examples/jsm/tsl/display/boxBlur.d.ts +1 -1
  60. three/examples/jsm/tsl/display/depthAwareBlend.d.ts +15 -0
  61. three/examples/jsm/tsl/display/hashBlur.d.ts +1 -1
  62. three/examples/jsm/tsl/display/radialBlur.d.ts +12 -0
  63. three/examples/jsm/tsl/math/Bayer.d.ts +2 -0
  64. three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -2
  65. three/package.json +4 -4
  66. three/src/Three.Core.d.ts +1 -1
  67. three/src/Three.TSL.d.ts +20 -13
  68. three/src/Three.WebGPU.Nodes.d.ts +2 -0
  69. three/src/Three.WebGPU.d.ts +3 -0
  70. three/src/Three.d.ts +2 -2
  71. three/src/animation/AnimationClip.d.ts +1 -1
  72. three/src/animation/AnimationMixer.d.ts +42 -0
  73. three/src/animation/AnimationUtils.d.ts +3 -8
  74. three/src/animation/KeyframeTrack.d.ts +19 -5
  75. three/src/animation/PropertyMixer.d.ts +5 -4
  76. three/src/audio/Audio.d.ts +224 -157
  77. three/src/audio/AudioAnalyser.d.ts +32 -27
  78. three/src/audio/AudioContext.d.ts +12 -12
  79. three/src/audio/AudioListener.d.ts +44 -65
  80. three/src/audio/PositionalAudio.d.ts +69 -62
  81. three/src/cameras/ArrayCamera.d.ts +21 -24
  82. three/src/cameras/Camera.d.ts +14 -53
  83. three/src/cameras/CubeCamera.d.ts +32 -28
  84. three/src/cameras/OrthographicCamera.d.ts +70 -100
  85. three/src/cameras/PerspectiveCamera.d.ts +133 -146
  86. three/src/cameras/StereoCamera.d.ts +24 -30
  87. three/src/constants.d.ts +28 -2
  88. three/src/core/BufferGeometry.d.ts +3 -1
  89. three/src/core/Clock.d.ts +3 -0
  90. three/src/core/Object3D.d.ts +31 -7
  91. three/src/extras/Controls.d.ts +3 -3
  92. three/src/geometries/TorusGeometry.d.ts +22 -3
  93. three/src/helpers/ArrowHelper.d.ts +34 -50
  94. three/src/helpers/AxesHelper.d.ts +22 -36
  95. three/src/helpers/Box3Helper.d.ts +14 -25
  96. three/src/helpers/BoxHelper.d.ts +28 -39
  97. three/src/helpers/CameraHelper.d.ts +31 -52
  98. three/src/helpers/DirectionalLightHelper.d.ts +32 -53
  99. three/src/helpers/GridHelper.d.ts +15 -29
  100. three/src/helpers/HemisphereLightHelper.d.ts +26 -49
  101. three/src/helpers/PlaneHelper.d.ts +21 -33
  102. three/src/helpers/PointLightHelper.d.ts +25 -50
  103. three/src/helpers/PolarGridHelper.d.ts +19 -32
  104. three/src/helpers/SkeletonHelper.d.ts +26 -50
  105. three/src/helpers/SpotLightHelper.d.ts +28 -55
  106. three/src/lights/AmbientLight.d.ts +15 -23
  107. three/src/lights/DirectionalLight.d.ts +49 -83
  108. three/src/lights/DirectionalLightShadow.d.ts +6 -61
  109. three/src/lights/HemisphereLight.d.ts +27 -47
  110. three/src/lights/Light.d.ts +22 -56
  111. three/src/lights/LightProbe.d.ts +31 -32
  112. three/src/lights/LightShadow.d.ts +107 -91
  113. three/src/lights/PointLight.d.ts +47 -77
  114. three/src/lights/PointLightShadow.d.ts +7 -11
  115. three/src/lights/RectAreaLight.d.ts +39 -59
  116. three/src/lights/SpotLight.d.ts +78 -117
  117. three/src/lights/SpotLightShadow.d.ts +17 -59
  118. three/src/lights/webgpu/IESSpotLight.d.ts +13 -1
  119. three/src/lights/webgpu/ProjectorLight.d.ts +9 -10
  120. three/src/materials/Material.d.ts +1 -0
  121. three/src/materials/MeshLambertMaterial.d.ts +6 -0
  122. three/src/materials/MeshPhongMaterial.d.ts +6 -0
  123. three/src/materials/ShaderMaterial.d.ts +18 -3
  124. three/src/materials/nodes/Line2NodeMaterial.d.ts +0 -6
  125. three/src/materials/nodes/LineBasicNodeMaterial.d.ts +0 -4
  126. three/src/materials/nodes/MeshBasicNodeMaterial.d.ts +1 -2
  127. three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +0 -2
  128. three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +0 -2
  129. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +5 -8
  130. three/src/materials/nodes/MeshToonNodeMaterial.d.ts +0 -4
  131. three/src/materials/nodes/NodeMaterial.d.ts +15 -2
  132. three/src/materials/nodes/SpriteNodeMaterial.d.ts +0 -3
  133. three/src/materials/nodes/VolumeNodeMaterial.d.ts +0 -2
  134. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +39 -93
  135. three/src/math/Color.d.ts +1 -0
  136. three/src/math/Vector3.d.ts +2 -2
  137. three/src/math/interpolants/BezierInterpolant.d.ts +7 -0
  138. three/src/nodes/Nodes.d.ts +55 -35
  139. three/src/nodes/TSL.d.ts +6 -6
  140. three/src/nodes/accessors/Arrays.d.ts +19 -10
  141. three/src/nodes/accessors/BufferAttributeNode.d.ts +108 -41
  142. three/src/nodes/accessors/BufferNode.d.ts +21 -7
  143. three/src/nodes/accessors/Camera.d.ts +10 -10
  144. three/src/nodes/accessors/CubeTextureNode.d.ts +1 -1
  145. three/src/nodes/accessors/InstanceNode.d.ts +13 -6
  146. three/src/nodes/accessors/Lights.d.ts +9 -6
  147. three/src/nodes/accessors/MaterialNode.d.ts +1 -3
  148. three/src/nodes/accessors/MaterialProperties.d.ts +4 -4
  149. three/src/nodes/accessors/MaterialReferenceNode.d.ts +1 -1
  150. three/src/nodes/accessors/ModelNode.d.ts +34 -17
  151. three/src/nodes/accessors/MorphNode.d.ts +1 -1
  152. three/src/nodes/accessors/Normal.d.ts +13 -15
  153. three/src/nodes/accessors/Object3DNode.d.ts +35 -16
  154. three/src/nodes/accessors/Position.d.ts +9 -7
  155. three/src/nodes/accessors/ReferenceNode.d.ts +16 -7
  156. three/src/nodes/accessors/ReflectVector.d.ts +4 -5
  157. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
  158. three/src/nodes/accessors/SceneProperties.d.ts +5 -0
  159. three/src/nodes/accessors/SkinningNode.d.ts +5 -3
  160. three/src/nodes/accessors/StorageBufferNode.d.ts +49 -22
  161. three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
  162. three/src/nodes/accessors/Tangent.d.ts +5 -7
  163. three/src/nodes/accessors/Texture3DNode.d.ts +13 -1
  164. three/src/nodes/accessors/TextureBicubic.d.ts +3 -2
  165. three/src/nodes/accessors/TextureNode.d.ts +19 -18
  166. three/src/nodes/accessors/UV.d.ts +1 -1
  167. three/src/nodes/accessors/UniformArrayNode.d.ts +10 -8
  168. three/src/nodes/accessors/UserDataNode.d.ts +1 -1
  169. three/src/nodes/accessors/VelocityNode.d.ts +3 -3
  170. three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
  171. three/src/nodes/code/FunctionCallNode.d.ts +0 -1
  172. three/src/nodes/code/FunctionNode.d.ts +7 -3
  173. three/src/nodes/core/ArrayNode.d.ts +2 -3
  174. three/src/nodes/core/AttributeNode.d.ts +12 -6
  175. three/src/nodes/core/BypassNode.d.ts +2 -3
  176. three/src/nodes/core/ConstNode.d.ts +10 -3
  177. three/src/nodes/core/ContextNode.d.ts +32 -21
  178. three/src/nodes/core/IndexNode.d.ts +1 -1
  179. three/src/nodes/core/InputNode.d.ts +12 -4
  180. three/src/nodes/core/InspectorNode.d.ts +2 -3
  181. three/src/nodes/core/IsolateNode.d.ts +2 -7
  182. three/src/nodes/core/MRTNode.d.ts +7 -0
  183. three/src/nodes/core/Node.d.ts +258 -39
  184. three/src/nodes/core/NodeAttribute.d.ts +30 -5
  185. three/src/nodes/core/NodeBuilder.d.ts +5 -3
  186. three/src/nodes/core/NodeCache.d.ts +24 -48
  187. three/src/nodes/core/NodeError.d.ts +9 -0
  188. three/src/nodes/core/NodeParser.d.ts +2 -0
  189. three/src/nodes/core/NodeUniform.d.ts +33 -9
  190. three/src/nodes/core/NodeUtils.d.ts +1 -1
  191. three/src/nodes/core/NodeVar.d.ts +33 -5
  192. three/src/nodes/core/NodeVarying.d.ts +32 -4
  193. three/src/nodes/core/ParameterNode.d.ts +11 -4
  194. three/src/nodes/core/PropertyNode.d.ts +45 -33
  195. three/src/nodes/core/StackTrace.d.ts +9 -0
  196. three/src/nodes/core/StructType.d.ts +3 -1
  197. three/src/nodes/core/StructTypeNode.d.ts +19 -5
  198. three/src/nodes/core/TempNode.d.ts +9 -3
  199. three/src/nodes/core/UniformNode.d.ts +53 -15
  200. three/src/nodes/core/VarNode.d.ts +15 -14
  201. three/src/nodes/core/VaryingNode.d.ts +14 -19
  202. three/src/nodes/core/constants.d.ts +9 -4
  203. three/src/nodes/display/BlendModes.d.ts +7 -27
  204. three/src/nodes/display/ColorAdjustment.d.ts +8 -9
  205. three/src/nodes/display/ColorSpaceNode.d.ts +2 -8
  206. three/src/nodes/display/FrontFacingNode.d.ts +1 -1
  207. three/src/nodes/display/NormalMapNode.d.ts +3 -1
  208. three/src/nodes/display/PassNode.d.ts +16 -4
  209. three/src/nodes/display/RenderOutputNode.d.ts +3 -7
  210. three/src/nodes/display/ScreenNode.d.ts +25 -17
  211. three/src/nodes/display/ToneMappingNode.d.ts +3 -7
  212. three/src/nodes/display/ViewportDepthNode.d.ts +11 -7
  213. three/src/nodes/display/ViewportTextureNode.d.ts +2 -0
  214. three/src/nodes/fog/Fog.d.ts +5 -3
  215. three/src/nodes/functions/BSDF/DFGLUT.d.ts +12 -0
  216. three/src/nodes/functions/PhysicalLightingModel.d.ts +8 -1
  217. three/src/nodes/geometry/RangeNode.d.ts +51 -9
  218. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +2 -0
  219. three/src/nodes/gpgpu/BarrierNode.d.ts +2 -0
  220. three/src/nodes/gpgpu/ComputeNode.d.ts +2 -7
  221. three/src/nodes/lighting/AnalyticLightNode.d.ts +3 -1
  222. three/src/nodes/lighting/HemisphereLightNode.d.ts +3 -2
  223. three/src/nodes/lighting/LightProbeNode.d.ts +1 -1
  224. three/src/nodes/lighting/LightUtils.d.ts +1 -1
  225. three/src/nodes/lighting/LightingContextNode.d.ts +1 -1
  226. three/src/nodes/lighting/PointShadowNode.d.ts +11 -15
  227. three/src/nodes/lighting/ShadowFilterNode.d.ts +2 -0
  228. three/src/nodes/lighting/SpotLightNode.d.ts +0 -6
  229. three/src/nodes/materialx/MaterialXNodes.d.ts +11 -11
  230. three/src/nodes/math/BitcountNode.d.ts +23 -0
  231. three/src/nodes/math/ConditionalNode.d.ts +43 -22
  232. three/src/nodes/math/Hash.d.ts +1 -1
  233. three/src/nodes/math/MathNode.d.ts +603 -267
  234. three/src/nodes/math/MathUtils.d.ts +9 -5
  235. three/src/nodes/math/OperatorNode.d.ts +490 -227
  236. three/src/nodes/math/PackFloatNode.d.ts +19 -0
  237. three/src/nodes/math/TriNoise3D.d.ts +3 -3
  238. three/src/nodes/math/UnpackFloatNode.d.ts +18 -0
  239. three/src/nodes/pmrem/PMREMNode.d.ts +1 -1
  240. three/src/nodes/procedural/Checker.d.ts +1 -1
  241. three/src/nodes/tsl/TSLCore.d.ts +1683 -224
  242. three/src/nodes/utils/ArrayElementNode.d.ts +9 -4
  243. three/src/nodes/utils/DebugNode.d.ts +2 -5
  244. three/src/nodes/utils/Discard.d.ts +2 -3
  245. three/src/nodes/utils/FlipNode.d.ts +11 -0
  246. three/src/nodes/utils/LoopNode.d.ts +17 -13
  247. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
  248. three/src/nodes/utils/Oscillators.d.ts +4 -4
  249. three/src/nodes/utils/Packing.d.ts +3 -2
  250. three/src/nodes/utils/PostProcessingUtils.d.ts +6 -4
  251. three/src/nodes/utils/RemapNode.d.ts +33 -39
  252. three/src/nodes/utils/RotateNode.d.ts +17 -8
  253. three/src/nodes/utils/SplitNode.d.ts +1 -2
  254. three/src/nodes/utils/SpriteSheetUV.d.ts +7 -0
  255. three/src/nodes/utils/StorageArrayElementNode.d.ts +18 -9
  256. three/src/nodes/utils/Timer.d.ts +4 -4
  257. three/src/nodes/utils/TriplanarTextures.d.ts +2 -2
  258. three/src/nodes/utils/UVUtils.d.ts +8 -3
  259. three/src/objects/BatchedMesh.d.ts +6 -4
  260. three/src/objects/InstancedMesh.d.ts +32 -24
  261. three/src/objects/LOD.d.ts +1 -1
  262. three/src/objects/Skeleton.d.ts +4 -2
  263. three/src/renderers/WebGLRenderer.d.ts +25 -96
  264. three/src/renderers/common/Animation.d.ts +46 -9
  265. three/src/renderers/common/Attributes.d.ts +11 -13
  266. three/src/renderers/common/Backend.d.ts +0 -2
  267. three/src/renderers/common/Background.d.ts +17 -15
  268. three/src/renderers/common/BindGroup.d.ts +27 -13
  269. three/src/renderers/common/Binding.d.ts +21 -3
  270. three/src/renderers/common/Bindings.d.ts +41 -17
  271. three/src/renderers/common/BlendMode.d.ts +22 -0
  272. three/src/renderers/common/Buffer.d.ts +53 -5
  273. three/src/renderers/common/BufferUtils.d.ts +3 -4
  274. three/src/renderers/common/BundleGroup.d.ts +16 -6
  275. three/src/renderers/common/CanvasTarget.d.ts +76 -13
  276. three/src/renderers/common/ChainMap.d.ts +18 -8
  277. three/src/renderers/common/ClippingContext.d.ts +61 -10
  278. three/src/renderers/common/Color4.d.ts +10 -5
  279. three/src/renderers/common/ComputePipeline.d.ts +16 -2
  280. three/src/renderers/common/Constants.d.ts +5 -3
  281. three/src/renderers/common/CubeRenderTarget.d.ts +24 -7
  282. three/src/renderers/common/DataMap.d.ts +10 -18
  283. three/src/renderers/common/Geometries.d.ts +45 -19
  284. three/src/renderers/common/Info.d.ts +62 -9
  285. three/src/renderers/common/InspectorBase.d.ts +19 -7
  286. three/src/renderers/common/Lighting.d.ts +2 -6
  287. three/src/renderers/common/Pipeline.d.ts +14 -2
  288. three/src/renderers/common/Pipelines.d.ts +58 -60
  289. three/src/renderers/common/PostProcessing.d.ts +14 -17
  290. three/src/renderers/common/ProgrammableStage.d.ts +48 -8
  291. three/src/renderers/common/RenderBundle.d.ts +4 -2
  292. three/src/renderers/common/RenderBundles.d.ts +6 -3
  293. three/src/renderers/common/RenderContext.d.ts +175 -7
  294. three/src/renderers/common/RenderContexts.d.ts +21 -24
  295. three/src/renderers/common/RenderList.d.ts +77 -11
  296. three/src/renderers/common/RenderLists.d.ts +16 -4
  297. three/src/renderers/common/RenderObject.d.ts +229 -47
  298. three/src/renderers/common/{RenderPipeline.d.ts → RenderObjectPipeline.d.ts} +17 -5
  299. three/src/renderers/common/RenderObjects.d.ts +55 -22
  300. three/src/renderers/common/Renderer.d.ts +645 -216
  301. three/src/renderers/common/Textures.d.ts +24 -46
  302. three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
  303. three/src/renderers/common/Uniform.d.ts +143 -58
  304. three/src/renderers/common/UniformBuffer.d.ts +7 -5
  305. three/src/renderers/common/UniformsGroup.d.ts +51 -35
  306. three/src/renderers/common/XRManager.d.ts +321 -83
  307. three/src/renderers/common/XRRenderTarget.d.ts +49 -6
  308. three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
  309. three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
  310. three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
  311. three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
  312. three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
  313. three/src/renderers/shaders/ShaderLib.d.ts +1 -1
  314. three/src/renderers/shaders/UniformsLib.d.ts +0 -3
  315. three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
  316. three/src/renderers/webgl/WebGLCapabilities.d.ts +2 -2
  317. three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
  318. three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
  319. three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
  320. three/src/renderers/webgl/WebGLLights.d.ts +19 -18
  321. three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
  322. three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
  323. three/src/renderers/webgl/WebGLPrograms.d.ts +2 -3
  324. three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
  325. three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
  326. three/src/renderers/webgl/WebGLState.d.ts +305 -28
  327. three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
  328. three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
  329. three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
  330. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
  331. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
  332. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
  333. three/src/scenes/Fog.d.ts +31 -37
  334. three/src/scenes/FogExp2.d.ts +26 -31
  335. three/src/scenes/Scene.d.ts +51 -65
  336. three/src/textures/CompressedArrayTexture.d.ts +1 -1
  337. three/src/textures/CubeDepthTexture.d.ts +41 -0
  338. three/src/textures/CubeTexture.d.ts +4 -4
  339. three/src/textures/DataArrayTexture.d.ts +1 -1
  340. three/src/utils.d.ts +18 -1
  341. three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
  342. three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
  343. three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
  344. three/src/nodes/accessors/SceneNode.d.ts +0 -21
  345. three/src/nodes/code/ScriptableNode.d.ts +0 -21
  346. three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
  347. three/src/nodes/display/PosterizeNode.d.ts +0 -13
  348. three/src/nodes/functions/BSDF/DFGApprox.d.ts +0 -10
  349. three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
  350. three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
  351. three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
@@ -4,10 +4,11 @@
4
4
  * @property {string} VERTEX The vertex shader stage.
5
5
  * @property {string} FRAGMENT The fragment shader stage.
6
6
  */
7
- export declare const NodeShaderStage: {
7
+ export const NodeShaderStage: {
8
8
  readonly VERTEX: "vertex";
9
9
  readonly FRAGMENT: "fragment";
10
10
  };
11
+
11
12
  /**
12
13
  * Update types of a node.
13
14
  *
@@ -16,12 +17,13 @@ export declare const NodeShaderStage: {
16
17
  * @property {string} RENDER The update method is executed per render. A frame might be produced by multiple render calls so this value allows more detailed updates than FRAME.
17
18
  * @property {string} OBJECT The update method is executed per {@link Object3D} that uses the node for rendering.
18
19
  */
19
- export declare const NodeUpdateType: {
20
+ export const NodeUpdateType: {
20
21
  readonly NONE: "none";
21
22
  readonly FRAME: "frame";
22
23
  readonly RENDER: "render";
23
24
  readonly OBJECT: "object";
24
25
  };
26
+
25
27
  /**
26
28
  * Data types of a node.
27
29
  *
@@ -35,7 +37,7 @@ export declare const NodeUpdateType: {
35
37
  * @property {string} MATRIX3 3x3 matrix type.
36
38
  * @property {string} MATRIX4 4x4 matrix type.
37
39
  */
38
- export declare const NodeType: {
40
+ export const NodeType: {
39
41
  readonly BOOLEAN: "bool";
40
42
  readonly INTEGER: "int";
41
43
  readonly FLOAT: "float";
@@ -46,6 +48,7 @@ export declare const NodeType: {
46
48
  readonly MATRIX3: "mat3";
47
49
  readonly MATRIX4: "mat4";
48
50
  };
51
+
49
52
  /**
50
53
  * Access types of a node. These are relevant for compute and storage usage.
51
54
  *
@@ -53,14 +56,16 @@ export declare const NodeType: {
53
56
  * @property {string} WRITE_ONLY Write-only access.
54
57
  * @property {string} READ_WRITE Read and write access.
55
58
  */
56
- export declare const NodeAccess: {
59
+ export const NodeAccess: {
57
60
  readonly READ_ONLY: "readOnly";
58
61
  readonly WRITE_ONLY: "writeOnly";
59
62
  readonly READ_WRITE: "readWrite";
60
63
  };
64
+
61
65
  export type NodeShaderStage = "vertex" | "fragment" | "compute";
62
66
  export type NodeUpdateType = "none" | "frame" | "render" | "object";
63
67
  export type NodeAccess = "readOnly" | "writeOnly" | "readWrite";
68
+
64
69
  export declare const defaultShaderStages: NodeShaderStage[];
65
70
  export declare const defaultBuildStages: string[];
66
71
  export declare const shaderStages: NodeShaderStage[];
@@ -1,35 +1,15 @@
1
1
  import Node from "../core/Node.js";
2
2
 
3
- export const blendBurn: (base: Node, blend: Node) => Node;
3
+ export const blendBurn: (base: Node, blend: Node) => Node<"vec3">;
4
4
 
5
- export const blendDodge: (base: Node, blend: Node) => Node;
5
+ export const blendDodge: (base: Node, blend: Node) => Node<"vec3">;
6
6
 
7
- export const blendScreen: (base: Node, blend: Node) => Node;
7
+ export const blendScreen: (base: Node, blend: Node) => Node<"vec3">;
8
8
 
9
- export const blendOverlay: (base: Node, blend: Node) => Node;
9
+ export const blendOverlay: (base: Node, blend: Node) => Node<"vec3">;
10
10
 
11
- export const blendColor: (base: Node, blend: Node) => Node;
11
+ export const blendColor: (base: Node, blend: Node) => Node<"vec4">;
12
12
 
13
- export const premultiplyAlpha: (color: Node) => Node;
13
+ export const premultiplyAlpha: (color: Node) => Node<"vec4">;
14
14
 
15
- export const unpremultiplyAlpha: (color: Node) => Node;
16
-
17
- /**
18
- * @deprecated
19
- */
20
- export const burn: (base: Node, blend: Node) => Node;
21
-
22
- /**
23
- * @deprecated
24
- */
25
- export const dodge: (base: Node, blend: Node) => Node;
26
-
27
- /**
28
- * @deprecated
29
- */
30
- export const screen: (base: Node, blend: Node) => Node;
31
-
32
- /**
33
- * @deprecated
34
- */
35
- export const overlay: (base: Node, blend: Node) => Node;
15
+ export const unpremultiplyAlpha: (color: Node) => Node<"vec4">;
@@ -1,29 +1,26 @@
1
1
  import Node from "../core/Node.js";
2
- import MathNode from "../math/MathNode.js";
3
2
 
4
- export const grayscale: (color: Node) => Node;
3
+ export const grayscale: (color: Node) => Node<"vec3">;
5
4
 
6
5
  export const saturation: (
7
6
  color: Node,
8
7
  adjustment?: Node | number,
9
- ) => Node;
8
+ ) => Node<"vec3">;
10
9
 
11
10
  export const vibrance: (
12
11
  color: Node,
13
12
  adjustment?: Node | number,
14
- ) => Node;
13
+ ) => Node<"vec3">;
15
14
 
16
15
  export const hue: (
17
16
  color: Node,
18
17
  adjustment?: Node | number,
19
- ) => Node;
18
+ ) => Node<"vec3">;
20
19
 
21
20
  export const luminance: (
22
21
  color: Node,
23
22
  luminanceCoefficients?: Node,
24
- ) => MathNode;
25
-
26
- export const threshold: (color: Node, thershold: Node) => MathNode;
23
+ ) => Node<"float">;
27
24
 
28
25
  /**
29
26
  * Color Decision List (CDL) v1.2
@@ -52,4 +49,6 @@ export const cdl: (
52
49
  power?: Node,
53
50
  saturation?: Node,
54
51
  luminanceCoefficients?: Node,
55
- ) => Node;
52
+ ) => Node<"vec4">;
53
+
54
+ export const posterize: <TNodeType>(sourceNode: Node<TNodeType>, stepsNode: Node | number) => Node<TNodeType>;
@@ -41,20 +41,14 @@ export const convertColorSpace: (
41
41
  targetColorSpace: string,
42
42
  ) => ColorSpaceNode;
43
43
 
44
- declare module "../Nodes.js" {
45
- interface Node {
44
+ declare module "../core/Node.js" {
45
+ interface NodeElements {
46
46
  workingToColorSpace: (
47
47
  targetColorSpace: string,
48
48
  ) => ColorSpaceNode;
49
- workingToColorSpaceAssign: (
50
- targetColorSpace: string,
51
- ) => this;
52
49
 
53
50
  colorSpaceToWorking: (
54
51
  sourceColorSpace: string,
55
52
  ) => ColorSpaceNode;
56
- colorSpaceToWorkingAssign: (
57
- sourceColorSpace: string,
58
- ) => this;
59
53
  }
60
54
  }
@@ -1,6 +1,6 @@
1
1
  import Node from "../core/Node.js";
2
2
 
3
- declare class FrontFacingNode extends Node {
3
+ declare class FrontFacingNode extends Node<"bool"> {
4
4
  isFrontFacingNode: true;
5
5
  constructor();
6
6
  }
@@ -1,4 +1,4 @@
1
- import { NormalMapTypes } from "../../constants.js";
1
+ import { NormalMapTypes, NormalPacking } from "../../constants.js";
2
2
  import Node from "../core/Node.js";
3
3
  import TempNode from "../core/TempNode.js";
4
4
 
@@ -8,6 +8,8 @@ declare class NormalMapNode extends TempNode {
8
8
 
9
9
  normalMapType: NormalMapTypes;
10
10
 
11
+ unpackNormalMode: NormalPacking;
12
+
11
13
  constructor(node: Node, scaleNode?: Node | null);
12
14
  }
13
15
 
@@ -2,10 +2,12 @@ import { Camera } from "../../cameras/Camera.js";
2
2
  import { Layers } from "../../core/Layers.js";
3
3
  import { Object3D } from "../../core/Object3D.js";
4
4
  import { RenderTarget, RenderTargetOptions } from "../../core/RenderTarget.js";
5
+ import { Material } from "../../materials/Material.js";
5
6
  import { Vector4 } from "../../math/Vector4.js";
6
7
  import Renderer from "../../renderers/common/Renderer.js";
7
8
  import { Texture } from "../../textures/Texture.js";
8
9
  import TextureNode from "../accessors/TextureNode.js";
10
+ import ContextNode from "../core/ContextNode.js";
9
11
  import MRTNode from "../core/MRTNode.js";
10
12
  import Node from "../core/Node.js";
11
13
  import TempNode from "../core/TempNode.js";
@@ -13,6 +15,8 @@ import TempNode from "../core/TempNode.js";
13
15
  declare class PassTextureNode extends TextureNode {
14
16
  passNode: PassNode;
15
17
 
18
+ readonly isPassTextureNode: boolean;
19
+
16
20
  constructor(passNode: PassNode, texture: Texture);
17
21
  }
18
22
 
@@ -20,18 +24,26 @@ declare class PassMultipleTextureNode extends PassTextureNode {
20
24
  textureName: string;
21
25
  previousTexture: boolean;
22
26
 
27
+ readonly isPassMultipleTextureNode: boolean;
28
+
23
29
  constructor(passNode: PassNode, textureName: string, previousTexture?: boolean);
24
30
 
25
31
  updateTexture(): void;
26
32
  }
27
33
 
28
- declare class PassNode extends TempNode {
34
+ declare class PassNode extends TempNode<"vec4"> {
29
35
  scope: PassNodeScope;
30
36
  scene: Object3D;
31
37
  camera: Camera;
32
38
 
33
39
  renderTarget: RenderTarget;
34
40
 
41
+ overrideMaterial: Material | null;
42
+ transparent: boolean;
43
+ opaque: boolean;
44
+
45
+ contextNode: ContextNode<unknown> | null;
46
+
35
47
  readonly isPassNode: true;
36
48
 
37
49
  constructor(scope: PassNodeScope, scene: Object3D, camera: Camera, options?: RenderTargetOptions);
@@ -66,11 +78,11 @@ declare class PassNode extends TempNode {
66
78
 
67
79
  getTextureNode(name?: string): TextureNode;
68
80
 
69
- getPreviousTextureNode(name?: string): Node;
81
+ getPreviousTextureNode(name?: string): TextureNode;
70
82
 
71
- getViewZNode(name?: string): Node;
83
+ getViewZNode(name?: string): Node<"float">;
72
84
 
73
- getLinearDepthNode(name?: string): Node;
85
+ getLinearDepthNode(name?: string): Node<"float">;
74
86
 
75
87
  compileAsync(renderer: Renderer): Promise<void>;
76
88
 
@@ -2,7 +2,7 @@ import { ToneMapping } from "../../constants.js";
2
2
  import Node from "../core/Node.js";
3
3
  import TempNode from "../core/TempNode.js";
4
4
 
5
- declare class RenderOutputNode extends TempNode {
5
+ declare class RenderOutputNode extends TempNode<"vec4"> {
6
6
  colorNode: Node;
7
7
  outputColorSpace: string | null;
8
8
 
@@ -19,15 +19,11 @@ export const renderOutput: (
19
19
  outputColorSpace?: string | null,
20
20
  ) => RenderOutputNode;
21
21
 
22
- declare module "../Nodes.js" {
23
- interface Node {
22
+ declare module "../core/Node.js" {
23
+ interface NodeElements {
24
24
  renderOutput: (
25
25
  toneMapping?: ToneMapping | null,
26
26
  outputColorSpace?: string | null,
27
27
  ) => RenderOutputNode;
28
- renderOutputAssign: (
29
- toneMapping?: ToneMapping | null,
30
- outputColorSpace?: string | null,
31
- ) => this;
32
28
  }
33
29
  }
@@ -7,39 +7,47 @@ export type ScreenNodeScope =
7
7
  | typeof ScreenNode.UV
8
8
  | typeof ScreenNode.DPR;
9
9
 
10
- declare class ScreenNode extends Node {
10
+ interface ScreenNodeInterface {
11
11
  scope: ScreenNodeScope;
12
12
 
13
13
  readonly isViewportNode: true;
14
+ }
14
15
 
15
- constructor(scope: ScreenNodeScope);
16
+ declare const ScreenNode: {
17
+ new(scope: typeof ScreenNode.COORDINATE): ScreenNode<"vec2">;
18
+ new(scope: typeof ScreenNode.VIEWPORT): ScreenNode<"vec4">;
19
+ new(scope: typeof ScreenNode.SIZE): ScreenNode<"vec2">;
20
+ new(scope: typeof ScreenNode.UV): ScreenNode<"vec2">;
21
+ new(scope: typeof ScreenNode.DPR): ScreenNode<"float">;
16
22
 
17
- static COORDINATE: "coordinate";
18
- static VIEWPORT: "viewport";
19
- static SIZE: "size";
20
- static UV: "uv";
21
- static DPR: "dpr";
22
- }
23
+ COORDINATE: "coordinate";
24
+ VIEWPORT: "viewport";
25
+ SIZE: "size";
26
+ UV: "uv";
27
+ DPR: "dpr";
28
+ };
29
+
30
+ type ScreenNode<TValue> = Node<TValue> & ScreenNodeInterface;
23
31
 
24
32
  export default ScreenNode;
25
33
 
26
34
  // Screen
27
35
 
28
- export const screenDPR: ScreenNode;
29
- export const screenUV: ScreenNode;
30
- export const screenSize: ScreenNode;
31
- export const screenCoordinate: ScreenNode;
36
+ export const screenDPR: ScreenNode<"float">;
37
+ export const screenUV: ScreenNode<"vec2">;
38
+ export const screenSize: ScreenNode<"vec2">;
39
+ export const screenCoordinate: ScreenNode<"vec2">;
32
40
 
33
41
  // Viewport
34
42
 
35
- export const viewport: ScreenNode;
36
- export const viewportSize: Node;
37
- export const viewportCoordinate: Node;
38
- export const viewportUV: Node;
43
+ export const viewport: ScreenNode<"vec4">;
44
+ export const viewportSize: Node<"vec2">;
45
+ export const viewportCoordinate: Node<"vec2">;
46
+ export const viewportUV: Node<"vec2">;
39
47
 
40
48
  // Deprecated
41
49
 
42
50
  /**
43
51
  * @deprecated "viewportResolution" is deprecated. Use "screenSize" instead.
44
52
  */
45
- export const viewportResolution: ScreenNode;
53
+ export const viewportResolution: Node<"vec2">;
@@ -3,7 +3,7 @@ import RendererReferenceNode from "../accessors/RendererReferenceNode.js";
3
3
  import Node from "../core/Node.js";
4
4
  import TempNode from "../core/TempNode.js";
5
5
 
6
- declare class ToneMappingNode extends TempNode {
6
+ declare class ToneMappingNode extends TempNode<"vec3"> {
7
7
  exposureNode: Node;
8
8
  colorNode: Node | null;
9
9
 
@@ -19,15 +19,11 @@ export const toneMapping: (
19
19
  ) => ToneMappingNode;
20
20
  export const toneMappingExposure: RendererReferenceNode;
21
21
 
22
- declare module "../Nodes.js" {
23
- interface Node {
22
+ declare module "../core/Node.js" {
23
+ interface NodeElements {
24
24
  toneMapping: (
25
25
  mapping?: ToneMapping,
26
26
  exposure?: Node | number,
27
27
  ) => ToneMappingNode;
28
- toneMappingAssign: (
29
- mapping?: ToneMapping,
30
- exposure?: Node | number,
31
- ) => this;
32
28
  }
33
29
  }
@@ -1,6 +1,6 @@
1
1
  import Node from "../core/Node.js";
2
2
 
3
- declare class ViewportDepthNode extends Node {
3
+ declare class ViewportDepthNode extends Node<"float"> {
4
4
  scope: ViewportDepthNodeScope;
5
5
  valueNode: Node;
6
6
 
@@ -20,17 +20,21 @@ export type ViewportDepthNodeScope =
20
20
 
21
21
  export default ViewportDepthNode;
22
22
 
23
- export const viewZToOrthographicDepth: (viewZ: Node, near: Node, far: Node) => Node;
23
+ export const viewZToOrthographicDepth: (viewZ: Node, near: Node, far: Node) => Node<"float">;
24
24
 
25
- export const orthographicDepthToViewZ: (depth: Node, near: Node, far: Node) => Node;
25
+ export const viewZToReversedOrthographicDepth: (viewZ: Node, near: Node, far: Node) => Node<"float">;
26
26
 
27
- export const viewZToPerspectiveDepth: (viewZ: Node, near: Node, far: Node) => Node;
27
+ export const orthographicDepthToViewZ: (depth: Node, near: Node, far: Node) => Node<"float">;
28
28
 
29
- export const perspectiveDepthToViewZ: (depth: Node, near: Node, far: Node) => Node;
29
+ export const viewZToPerspectiveDepth: (viewZ: Node, near: Node, far: Node) => Node<"float">;
30
30
 
31
- export const viewZToLogarithmicDepth: (viewZ: Node, near: Node, far: Node) => Node;
31
+ export const viewZToReversedPerspectiveDepth: (viewZ: Node, near: Node, far: Node) => Node<"float">;
32
32
 
33
- export const logarithmicDepthToViewZ: (depth: Node, near: Node, far: Node) => Node;
33
+ export const perspectiveDepthToViewZ: (depth: Node, near: Node, far: Node) => Node<"float">;
34
+
35
+ export const viewZToLogarithmicDepth: (viewZ: Node, near: Node, far: Node) => Node<"float">;
36
+
37
+ export const logarithmicDepthToViewZ: (depth: Node, near: Node, far: Node) => Node<"float">;
34
38
 
35
39
  export const depth: ViewportDepthNode;
36
40
  export const linearDepth: (valueNode?: Node | null) => ViewportDepthNode;
@@ -29,3 +29,5 @@ export const viewportMipTexture: (
29
29
  levelNode?: Node | null,
30
30
  framebufferTexture?: FramebufferTexture | null,
31
31
  ) => Node;
32
+
33
+ export const viewportOpaqueMipTexture: (uv?: Node, level?: Node | null) => Node;
@@ -1,10 +1,12 @@
1
1
  import Node from "../core/Node.js";
2
2
 
3
- export const rangeFogFactor: (near: Node | number, far: Node | number) => Node;
3
+ export const rangeFogFactor: (near: Node | number, far: Node | number) => Node<"float">;
4
4
 
5
- export const densityFogFactor: (density: Node) => Node;
5
+ export const densityFogFactor: (density: Node) => Node<"float">;
6
6
 
7
- export const fog: (color: Node, factor: Node) => Node;
7
+ export const exponentialHeightFogFactor: (density: Node, height: Node) => Node;
8
+
9
+ export const fog: (color: Node, factor: Node) => Node<"vec4">;
8
10
 
9
11
  /**
10
12
  * @deprecated
@@ -0,0 +1,12 @@
1
+ import Node from "../../core/Node.js";
2
+ import OperatorNode from "../../math/OperatorNode.js";
3
+
4
+ /**
5
+ * Precomputed DFG LUT for Image-Based Lighting
6
+ * Resolution: 16x16
7
+ * Samples: 4096 per texel
8
+ * Format: RG16F (2 half floats per texel: scale, bias)
9
+ */
10
+ declare const DFGLUT: (args: { roughness: Node; dotNV: Node }) => OperatorNode;
11
+
12
+ export default DFGLUT;
@@ -16,6 +16,8 @@ export default class PhysicalLightingModel extends LightingModel {
16
16
  sheenSpecularIndirect: Node | null;
17
17
  iridescenceFresnel: Node | null;
18
18
  iridescenceF0: Node | null;
19
+ iridescenceF0Dielectric: Node | null;
20
+ iridescenceF0Metallic: Node | null;
19
21
 
20
22
  constructor(
21
23
  clearcoat?: boolean,
@@ -26,5 +28,10 @@ export default class PhysicalLightingModel extends LightingModel {
26
28
  dispersion?: boolean,
27
29
  );
28
30
 
29
- computeMultiscattering(singleScatter: Node, multiScatter: Node, specularF90: Node): void;
31
+ computeMultiscattering(
32
+ singleScatter: Node,
33
+ multiScatter: Node,
34
+ specularF90: Node,
35
+ iridescenceF0?: Node | null,
36
+ ): void;
30
37
  }
@@ -5,16 +5,58 @@ import { Vector4 } from "../../math/Vector4.js";
5
5
  import Node from "../core/Node.js";
6
6
  import NodeBuilder from "../core/NodeBuilder.js";
7
7
 
8
- export default class RangeNode extends Node {
9
- minNode: Node;
10
- maxNode: Node;
11
-
12
- constructor(minNode: Node, maxNode: Node);
8
+ interface RangeNodeInterface<TNodeType> {
9
+ minNode: Node<TNodeType>;
10
+ maxNode: Node<TNodeType>;
13
11
 
14
12
  getVectorLength(builder: NodeBuilder): number;
15
13
  }
16
14
 
17
- export const range: (
18
- minNode: Node | number | Color | Vector2 | Vector3 | Vector4,
19
- maxNode: Node | number | Color | Vector2 | Vector3 | Vector4,
20
- ) => RangeNode;
15
+ declare const RangeNode: {
16
+ new<TNodeType>(minNode: Node<TNodeType>, maxNode: Node<TNodeType>): RangeNode<TNodeType>;
17
+ };
18
+
19
+ type RangeNode<TNodeType> = RangeNodeInterface<TNodeType> & Node<TNodeType>;
20
+
21
+ export default RangeNode;
22
+
23
+ interface Range {
24
+ (
25
+ minNode: number,
26
+ maxNode: number,
27
+ ): RangeNode<"float">;
28
+ (
29
+ minNode: Vector2,
30
+ maxNode: Vector2,
31
+ ): RangeNode<"vec2">;
32
+ (
33
+ minNode: Vector3,
34
+ maxNode: Vector3,
35
+ ): RangeNode<"vec3">;
36
+ (
37
+ minNode: Vector4,
38
+ maxNode: Vector4,
39
+ ): RangeNode<"vec4">;
40
+ (
41
+ minNode: Color,
42
+ maxNode: Color,
43
+ ): RangeNode<"vec3">;
44
+ (
45
+ minNode: Node<"float">,
46
+ maxNode: Node<"float">,
47
+ ): RangeNode<"float">;
48
+ (
49
+ minNode: Node<"vec2">,
50
+ maxNode: Node<"vec2">,
51
+ ): RangeNode<"vec2">;
52
+ (
53
+ minNode: Node<"vec3">,
54
+ maxNode: Node<"vec3">,
55
+ ): RangeNode<"vec3">;
56
+ (
57
+ minNode: Node<"vec4">,
58
+ maxNode: Node<"vec4">,
59
+ ): RangeNode<"vec4">;
60
+ }
61
+
62
+ export const range: Range;
@@ -30,6 +30,8 @@ declare class AtomicFunctionNode extends Node {
30
30
  static ATOMIC_XOR: "atomicXor";
31
31
  }
32
32
 
33
+ export default AtomicFunctionNode;
34
+
33
35
  export const atomicFunc: (
34
36
  method: AtomicMethod,
35
37
  pointerNode: Node,
@@ -6,6 +6,8 @@ declare class BarrierNode extends Node {
6
6
  constructor(scope: string);
7
7
  }
8
8
 
9
+ export default BarrierNode;
10
+
9
11
  export const workgroupBarrier: () => Node;
10
12
  export const storageBarrier: () => Node;
11
13
  export const textureBarrier: () => Node;
@@ -34,18 +34,13 @@ export const compute: (
34
34
  workgroupSize?: number[],
35
35
  ) => ComputeNode;
36
36
 
37
- declare module "../Nodes.js" {
38
- interface Node {
37
+ declare module "../core/Node.js" {
38
+ interface NodeElements {
39
39
  compute: (
40
40
  count: number,
41
41
  workgroupSize?: number[],
42
42
  ) => ComputeNode;
43
- computeAssign: (
44
- count: number,
45
- workgroupSize?: number[],
46
- ) => this;
47
43
 
48
44
  computeKernel: (workgroupSize?: number[]) => ComputeNode;
49
- computeKernelAssign: (workgroupSize?: number[]) => this;
50
45
  }
51
46
  }
@@ -6,7 +6,7 @@ import { DirectLightData, DirectRectAreaLightData } from "./LightsNode.js";
6
6
  import ShadowNode from "./ShadowNode.js";
7
7
 
8
8
  declare module "../../lights/LightShadow.js" {
9
- export interface LightShadow {
9
+ interface LightShadow {
10
10
  shadowNode?: Node;
11
11
  }
12
12
  }
@@ -16,6 +16,8 @@ declare class AnalyticLightNode<T extends Light> extends LightingNode {
16
16
 
17
17
  constructor(light?: T | null);
18
18
 
19
+ disposeShadow(): void;
20
+
19
21
  getLightVector(builder: NodeBuilder): Node;
20
22
 
21
23
  setupDirect(builder: NodeBuilder): DirectLightData | undefined;
@@ -1,10 +1,11 @@
1
1
  import { HemisphereLight } from "../../lights/HemisphereLight.js";
2
- import Object3DNode from "../accessors/Object3DNode.js";
2
+ import { Vector3 } from "../../math/Vector3.js";
3
3
  import Node from "../core/Node.js";
4
+ import UniformNode from "../core/UniformNode.js";
4
5
  import AnalyticLightNode from "./AnalyticLightNode.js";
5
6
 
6
7
  export default class HemisphereLightNode extends AnalyticLightNode<HemisphereLight> {
7
- lightPositionNode: Object3DNode;
8
+ lightPositionNode: UniformNode<"vec3", Vector3>;
8
9
  lightDirectionNode: Node;
9
10
 
10
11
  groundColorNode: Node;
@@ -3,7 +3,7 @@ import UniformArrayNode from "../accessors/UniformArrayNode.js";
3
3
  import AnalyticLightNode from "./AnalyticLightNode.js";
4
4
 
5
5
  declare class LightProbeNode extends AnalyticLightNode<LightProbe> {
6
- lightProbe: UniformArrayNode;
6
+ lightProbe: UniformArrayNode<"vec3">;
7
7
 
8
8
  constructor(light?: LightProbe | null);
9
9
  }
@@ -5,4 +5,4 @@ export const getDistanceAttenuation: (args: {
5
5
  lightDistance: Node;
6
6
  cutoffDistance: Node;
7
7
  decayExponent: Node;
8
- }) => ConditionalNode;
8
+ }) => Node<"float">;
@@ -13,7 +13,7 @@ export interface LightingContext {
13
13
  backdropAlpha: Node;
14
14
  }
15
15
 
16
- export default class LightingContextNode extends ContextNode {
16
+ export default class LightingContextNode extends ContextNode<unknown> {
17
17
  lightingModelNode: LightingModel | null;
18
18
  backdropNode: Node | null;
19
19
  backdropAlphaNode: Node | null;