@types/three 0.182.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 (312) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/Addons.d.ts +0 -3
  3. three/examples/jsm/controls/OrbitControls.d.ts +39 -0
  4. three/examples/jsm/effects/AnaglyphEffect.d.ts +4 -0
  5. three/examples/jsm/environments/ColorEnvironment.d.ts +9 -0
  6. three/examples/jsm/gpgpu/BitonicSort.d.ts +5 -5
  7. three/examples/jsm/helpers/AnimationPathHelper.d.ts +38 -0
  8. three/examples/jsm/helpers/ViewHelper.d.ts +4 -1
  9. three/examples/jsm/inspector/tabs/Parameters.d.ts +3 -0
  10. three/examples/jsm/inspector/ui/Item.d.ts +5 -0
  11. three/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -1
  12. three/examples/jsm/lights/LightProbeGenerator.d.ts +11 -5
  13. three/examples/jsm/loaders/ColladaLoader.d.ts +27 -4
  14. three/examples/jsm/objects/SkyMesh.d.ts +11 -6
  15. three/examples/jsm/objects/Water2Mesh.d.ts +7 -7
  16. three/examples/jsm/objects/WaterMesh.d.ts +6 -6
  17. three/examples/jsm/postprocessing/EffectComposer.d.ts +9 -10
  18. three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +4 -9
  19. three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +30 -0
  20. three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -1
  21. three/examples/jsm/tsl/display/BilateralBlurNode.d.ts +27 -0
  22. three/examples/jsm/tsl/display/BloomNode.d.ts +5 -5
  23. three/examples/jsm/tsl/display/CRT.d.ts +22 -0
  24. three/examples/jsm/tsl/display/DenoiseNode.d.ts +5 -5
  25. three/examples/jsm/tsl/display/DotScreenNode.d.ts +4 -6
  26. three/examples/jsm/tsl/display/GTAONode.d.ts +8 -8
  27. three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +4 -2
  28. three/examples/jsm/tsl/display/GodraysNode.d.ts +20 -0
  29. three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -6
  30. three/examples/jsm/tsl/display/Lut3DNode.d.ts +5 -5
  31. three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -1
  32. three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -6
  33. three/examples/jsm/tsl/display/PixelationPassNode.d.ts +10 -10
  34. three/examples/jsm/tsl/display/RGBShiftNode.d.ts +2 -2
  35. three/examples/jsm/tsl/display/RetroPassNode.d.ts +17 -0
  36. three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -1
  37. three/examples/jsm/tsl/display/SSGINode.d.ts +11 -11
  38. three/examples/jsm/tsl/display/SSRNode.d.ts +6 -6
  39. three/examples/jsm/tsl/display/SSSNode.d.ts +5 -5
  40. three/examples/jsm/tsl/display/Shape.d.ts +3 -0
  41. three/examples/jsm/tsl/display/TransitionNode.d.ts +3 -3
  42. three/examples/jsm/tsl/display/boxBlur.d.ts +1 -1
  43. three/examples/jsm/tsl/display/depthAwareBlend.d.ts +15 -0
  44. three/examples/jsm/tsl/display/hashBlur.d.ts +1 -1
  45. three/examples/jsm/tsl/math/Bayer.d.ts +2 -0
  46. three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -2
  47. three/package.json +3 -3
  48. three/src/Three.Core.d.ts +1 -1
  49. three/src/Three.TSL.d.ts +6 -11
  50. three/src/Three.WebGPU.Nodes.d.ts +2 -0
  51. three/src/Three.WebGPU.d.ts +3 -0
  52. three/src/Three.d.ts +2 -2
  53. three/src/animation/AnimationClip.d.ts +1 -1
  54. three/src/animation/KeyframeTrack.d.ts +19 -5
  55. three/src/animation/PropertyMixer.d.ts +5 -4
  56. three/src/audio/Audio.d.ts +224 -157
  57. three/src/audio/AudioAnalyser.d.ts +32 -27
  58. three/src/audio/AudioContext.d.ts +12 -12
  59. three/src/audio/AudioListener.d.ts +44 -65
  60. three/src/audio/PositionalAudio.d.ts +69 -62
  61. three/src/cameras/ArrayCamera.d.ts +21 -24
  62. three/src/cameras/Camera.d.ts +14 -53
  63. three/src/cameras/CubeCamera.d.ts +32 -28
  64. three/src/cameras/OrthographicCamera.d.ts +70 -100
  65. three/src/cameras/PerspectiveCamera.d.ts +133 -146
  66. three/src/cameras/StereoCamera.d.ts +24 -30
  67. three/src/constants.d.ts +14 -2
  68. three/src/core/Clock.d.ts +3 -0
  69. three/src/core/Object3D.d.ts +31 -7
  70. three/src/geometries/TorusGeometry.d.ts +22 -3
  71. three/src/helpers/ArrowHelper.d.ts +34 -50
  72. three/src/helpers/AxesHelper.d.ts +22 -36
  73. three/src/helpers/Box3Helper.d.ts +14 -25
  74. three/src/helpers/BoxHelper.d.ts +28 -39
  75. three/src/helpers/CameraHelper.d.ts +31 -52
  76. three/src/helpers/DirectionalLightHelper.d.ts +32 -53
  77. three/src/helpers/GridHelper.d.ts +15 -29
  78. three/src/helpers/HemisphereLightHelper.d.ts +26 -49
  79. three/src/helpers/PlaneHelper.d.ts +21 -33
  80. three/src/helpers/PointLightHelper.d.ts +25 -50
  81. three/src/helpers/PolarGridHelper.d.ts +19 -32
  82. three/src/helpers/SkeletonHelper.d.ts +26 -50
  83. three/src/helpers/SpotLightHelper.d.ts +28 -55
  84. three/src/lights/AmbientLight.d.ts +15 -23
  85. three/src/lights/DirectionalLight.d.ts +40 -82
  86. three/src/lights/DirectionalLightShadow.d.ts +6 -61
  87. three/src/lights/HemisphereLight.d.ts +20 -47
  88. three/src/lights/Light.d.ts +18 -48
  89. three/src/lights/LightProbe.d.ts +24 -29
  90. three/src/lights/LightShadow.d.ts +107 -91
  91. three/src/lights/PointLight.d.ts +36 -77
  92. three/src/lights/PointLightShadow.d.ts +9 -6
  93. three/src/lights/RectAreaLight.d.ts +39 -59
  94. three/src/lights/SpotLight.d.ts +62 -116
  95. three/src/lights/SpotLightShadow.d.ts +17 -59
  96. three/src/lights/webgpu/IESSpotLight.d.ts +13 -1
  97. three/src/lights/webgpu/ProjectorLight.d.ts +9 -10
  98. three/src/materials/MeshLambertMaterial.d.ts +6 -0
  99. three/src/materials/MeshPhongMaterial.d.ts +6 -0
  100. three/src/materials/nodes/Line2NodeMaterial.d.ts +0 -6
  101. three/src/materials/nodes/LineBasicNodeMaterial.d.ts +0 -4
  102. three/src/materials/nodes/MeshBasicNodeMaterial.d.ts +1 -2
  103. three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +0 -2
  104. three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +0 -2
  105. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +5 -8
  106. three/src/materials/nodes/MeshToonNodeMaterial.d.ts +0 -4
  107. three/src/materials/nodes/NodeMaterial.d.ts +9 -3
  108. three/src/materials/nodes/SpriteNodeMaterial.d.ts +0 -3
  109. three/src/materials/nodes/VolumeNodeMaterial.d.ts +0 -2
  110. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +39 -93
  111. three/src/math/Color.d.ts +1 -0
  112. three/src/math/Vector3.d.ts +2 -2
  113. three/src/math/interpolants/BezierInterpolant.d.ts +7 -0
  114. three/src/nodes/Nodes.d.ts +55 -35
  115. three/src/nodes/TSL.d.ts +2 -5
  116. three/src/nodes/accessors/Arrays.d.ts +19 -10
  117. three/src/nodes/accessors/BufferAttributeNode.d.ts +99 -33
  118. three/src/nodes/accessors/BufferNode.d.ts +21 -7
  119. three/src/nodes/accessors/Camera.d.ts +10 -10
  120. three/src/nodes/accessors/CubeTextureNode.d.ts +1 -1
  121. three/src/nodes/accessors/InstanceNode.d.ts +6 -0
  122. three/src/nodes/accessors/Lights.d.ts +9 -6
  123. three/src/nodes/accessors/MaterialNode.d.ts +1 -3
  124. three/src/nodes/accessors/MaterialProperties.d.ts +4 -4
  125. three/src/nodes/accessors/MaterialReferenceNode.d.ts +1 -1
  126. three/src/nodes/accessors/ModelNode.d.ts +34 -17
  127. three/src/nodes/accessors/MorphNode.d.ts +1 -1
  128. three/src/nodes/accessors/Normal.d.ts +13 -15
  129. three/src/nodes/accessors/Object3DNode.d.ts +35 -16
  130. three/src/nodes/accessors/Position.d.ts +9 -7
  131. three/src/nodes/accessors/ReferenceNode.d.ts +16 -7
  132. three/src/nodes/accessors/ReflectVector.d.ts +4 -5
  133. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
  134. three/src/nodes/accessors/SceneProperties.d.ts +5 -0
  135. three/src/nodes/accessors/SkinningNode.d.ts +5 -3
  136. three/src/nodes/accessors/StorageBufferNode.d.ts +49 -22
  137. three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
  138. three/src/nodes/accessors/Tangent.d.ts +5 -7
  139. three/src/nodes/accessors/Texture3DNode.d.ts +1 -1
  140. three/src/nodes/accessors/TextureBicubic.d.ts +3 -2
  141. three/src/nodes/accessors/TextureNode.d.ts +19 -18
  142. three/src/nodes/accessors/UV.d.ts +1 -1
  143. three/src/nodes/accessors/UniformArrayNode.d.ts +10 -8
  144. three/src/nodes/accessors/UserDataNode.d.ts +1 -1
  145. three/src/nodes/accessors/VelocityNode.d.ts +3 -3
  146. three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
  147. three/src/nodes/code/FunctionCallNode.d.ts +0 -1
  148. three/src/nodes/code/FunctionNode.d.ts +7 -3
  149. three/src/nodes/core/ArrayNode.d.ts +2 -3
  150. three/src/nodes/core/AttributeNode.d.ts +12 -6
  151. three/src/nodes/core/BypassNode.d.ts +2 -3
  152. three/src/nodes/core/ConstNode.d.ts +10 -3
  153. three/src/nodes/core/ContextNode.d.ts +23 -28
  154. three/src/nodes/core/IndexNode.d.ts +1 -1
  155. three/src/nodes/core/InputNode.d.ts +12 -4
  156. three/src/nodes/core/InspectorNode.d.ts +2 -3
  157. three/src/nodes/core/IsolateNode.d.ts +2 -7
  158. three/src/nodes/core/MRTNode.d.ts +7 -0
  159. three/src/nodes/core/Node.d.ts +258 -39
  160. three/src/nodes/core/NodeAttribute.d.ts +30 -5
  161. three/src/nodes/core/NodeBuilder.d.ts +5 -3
  162. three/src/nodes/core/NodeCache.d.ts +24 -48
  163. three/src/nodes/core/NodeError.d.ts +9 -0
  164. three/src/nodes/core/NodeParser.d.ts +2 -0
  165. three/src/nodes/core/NodeUniform.d.ts +33 -9
  166. three/src/nodes/core/NodeVar.d.ts +33 -5
  167. three/src/nodes/core/NodeVarying.d.ts +32 -4
  168. three/src/nodes/core/ParameterNode.d.ts +11 -4
  169. three/src/nodes/core/PropertyNode.d.ts +45 -35
  170. three/src/nodes/core/StackTrace.d.ts +9 -0
  171. three/src/nodes/core/StructType.d.ts +3 -1
  172. three/src/nodes/core/StructTypeNode.d.ts +19 -5
  173. three/src/nodes/core/TempNode.d.ts +9 -3
  174. three/src/nodes/core/UniformNode.d.ts +53 -15
  175. three/src/nodes/core/VarNode.d.ts +15 -14
  176. three/src/nodes/core/VaryingNode.d.ts +14 -19
  177. three/src/nodes/core/constants.d.ts +9 -4
  178. three/src/nodes/display/BlendModes.d.ts +7 -27
  179. three/src/nodes/display/ColorAdjustment.d.ts +8 -9
  180. three/src/nodes/display/ColorSpaceNode.d.ts +2 -8
  181. three/src/nodes/display/FrontFacingNode.d.ts +1 -1
  182. three/src/nodes/display/PassNode.d.ts +9 -5
  183. three/src/nodes/display/RenderOutputNode.d.ts +3 -7
  184. three/src/nodes/display/ScreenNode.d.ts +25 -17
  185. three/src/nodes/display/ToneMappingNode.d.ts +3 -7
  186. three/src/nodes/display/ViewportDepthNode.d.ts +11 -7
  187. three/src/nodes/display/ViewportTextureNode.d.ts +2 -0
  188. three/src/nodes/fog/Fog.d.ts +5 -3
  189. three/src/nodes/geometry/RangeNode.d.ts +51 -9
  190. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +2 -0
  191. three/src/nodes/gpgpu/BarrierNode.d.ts +2 -0
  192. three/src/nodes/gpgpu/ComputeNode.d.ts +2 -7
  193. three/src/nodes/lighting/AnalyticLightNode.d.ts +1 -1
  194. three/src/nodes/lighting/HemisphereLightNode.d.ts +3 -2
  195. three/src/nodes/lighting/LightProbeNode.d.ts +1 -1
  196. three/src/nodes/lighting/LightUtils.d.ts +1 -1
  197. three/src/nodes/lighting/LightingContextNode.d.ts +1 -1
  198. three/src/nodes/lighting/SpotLightNode.d.ts +0 -6
  199. three/src/nodes/materialx/MaterialXNodes.d.ts +11 -11
  200. three/src/nodes/math/BitcountNode.d.ts +2 -0
  201. three/src/nodes/math/ConditionalNode.d.ts +43 -22
  202. three/src/nodes/math/Hash.d.ts +1 -1
  203. three/src/nodes/math/MathNode.d.ts +603 -267
  204. three/src/nodes/math/MathUtils.d.ts +9 -5
  205. three/src/nodes/math/OperatorNode.d.ts +490 -227
  206. three/src/nodes/math/TriNoise3D.d.ts +3 -3
  207. three/src/nodes/pmrem/PMREMNode.d.ts +1 -1
  208. three/src/nodes/procedural/Checker.d.ts +1 -1
  209. three/src/nodes/tsl/TSLCore.d.ts +1683 -224
  210. three/src/nodes/utils/ArrayElementNode.d.ts +9 -4
  211. three/src/nodes/utils/DebugNode.d.ts +2 -5
  212. three/src/nodes/utils/Discard.d.ts +2 -3
  213. three/src/nodes/utils/FlipNode.d.ts +11 -0
  214. three/src/nodes/utils/LoopNode.d.ts +17 -13
  215. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
  216. three/src/nodes/utils/Oscillators.d.ts +4 -4
  217. three/src/nodes/utils/Packing.d.ts +3 -3
  218. three/src/nodes/utils/PostProcessingUtils.d.ts +5 -5
  219. three/src/nodes/utils/RemapNode.d.ts +33 -39
  220. three/src/nodes/utils/RotateNode.d.ts +17 -8
  221. three/src/nodes/utils/SplitNode.d.ts +1 -2
  222. three/src/nodes/utils/SpriteSheetUV.d.ts +7 -0
  223. three/src/nodes/utils/StorageArrayElementNode.d.ts +18 -9
  224. three/src/nodes/utils/Timer.d.ts +4 -4
  225. three/src/nodes/utils/TriplanarTextures.d.ts +2 -2
  226. three/src/nodes/utils/UVUtils.d.ts +6 -4
  227. three/src/objects/BatchedMesh.d.ts +6 -4
  228. three/src/objects/InstancedMesh.d.ts +32 -24
  229. three/src/renderers/WebGLRenderer.d.ts +4 -93
  230. three/src/renderers/common/Animation.d.ts +46 -9
  231. three/src/renderers/common/Attributes.d.ts +11 -13
  232. three/src/renderers/common/Backend.d.ts +0 -2
  233. three/src/renderers/common/Background.d.ts +17 -15
  234. three/src/renderers/common/BindGroup.d.ts +27 -13
  235. three/src/renderers/common/Binding.d.ts +15 -3
  236. three/src/renderers/common/Bindings.d.ts +41 -17
  237. three/src/renderers/common/BlendMode.d.ts +22 -0
  238. three/src/renderers/common/Buffer.d.ts +35 -11
  239. three/src/renderers/common/BufferUtils.d.ts +3 -4
  240. three/src/renderers/common/BundleGroup.d.ts +16 -6
  241. three/src/renderers/common/CanvasTarget.d.ts +76 -13
  242. three/src/renderers/common/ChainMap.d.ts +12 -9
  243. three/src/renderers/common/ClippingContext.d.ts +61 -10
  244. three/src/renderers/common/Color4.d.ts +10 -5
  245. three/src/renderers/common/ComputePipeline.d.ts +16 -2
  246. three/src/renderers/common/Constants.d.ts +5 -3
  247. three/src/renderers/common/CubeRenderTarget.d.ts +24 -7
  248. three/src/renderers/common/DataMap.d.ts +10 -18
  249. three/src/renderers/common/Geometries.d.ts +39 -20
  250. three/src/renderers/common/Info.d.ts +62 -9
  251. three/src/renderers/common/InspectorBase.d.ts +19 -7
  252. three/src/renderers/common/Lighting.d.ts +2 -6
  253. three/src/renderers/common/Pipeline.d.ts +14 -2
  254. three/src/renderers/common/Pipelines.d.ts +58 -60
  255. three/src/renderers/common/PostProcessing.d.ts +14 -17
  256. three/src/renderers/common/ProgrammableStage.d.ts +48 -8
  257. three/src/renderers/common/RenderBundle.d.ts +4 -2
  258. three/src/renderers/common/RenderBundles.d.ts +6 -3
  259. three/src/renderers/common/RenderContext.d.ts +175 -7
  260. three/src/renderers/common/RenderContexts.d.ts +20 -25
  261. three/src/renderers/common/RenderList.d.ts +77 -11
  262. three/src/renderers/common/RenderLists.d.ts +16 -4
  263. three/src/renderers/common/RenderObject.d.ts +223 -47
  264. three/src/renderers/common/{RenderPipeline.d.ts → RenderObjectPipeline.d.ts} +17 -5
  265. three/src/renderers/common/RenderObjects.d.ts +55 -22
  266. three/src/renderers/common/Renderer.d.ts +625 -207
  267. three/src/renderers/common/Textures.d.ts +24 -46
  268. three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
  269. three/src/renderers/common/Uniform.d.ts +143 -58
  270. three/src/renderers/common/UniformBuffer.d.ts +7 -5
  271. three/src/renderers/common/UniformsGroup.d.ts +50 -35
  272. three/src/renderers/common/XRManager.d.ts +321 -83
  273. three/src/renderers/common/XRRenderTarget.d.ts +49 -6
  274. three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
  275. three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
  276. three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
  277. three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
  278. three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
  279. three/src/renderers/shaders/UniformsLib.d.ts +0 -3
  280. three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
  281. three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
  282. three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
  283. three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
  284. three/src/renderers/webgl/WebGLLights.d.ts +19 -18
  285. three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
  286. three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
  287. three/src/renderers/webgl/WebGLPrograms.d.ts +2 -2
  288. three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
  289. three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
  290. three/src/renderers/webgl/WebGLState.d.ts +305 -28
  291. three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
  292. three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
  293. three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
  294. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
  295. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
  296. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
  297. three/src/scenes/Fog.d.ts +31 -37
  298. three/src/scenes/FogExp2.d.ts +26 -31
  299. three/src/scenes/Scene.d.ts +51 -65
  300. three/src/textures/CompressedArrayTexture.d.ts +1 -1
  301. three/src/textures/DataArrayTexture.d.ts +1 -1
  302. three/src/utils.d.ts +5 -0
  303. three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
  304. three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
  305. three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
  306. three/src/nodes/accessors/SceneNode.d.ts +0 -21
  307. three/src/nodes/code/ScriptableNode.d.ts +0 -21
  308. three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
  309. three/src/nodes/display/PosterizeNode.d.ts +0 -13
  310. three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
  311. three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
  312. three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
@@ -16,6 +16,7 @@ import {
16
16
  Vector3Uniform,
17
17
  Vector4Uniform,
18
18
  } from "../Uniform.js";
19
+
19
20
  /**
20
21
  * A special form of Number uniform binding type.
21
22
  * It's value is managed by a node object.
@@ -23,14 +24,19 @@ import {
23
24
  * @private
24
25
  * @augments NumberUniform
25
26
  */
26
- declare class NumberNodeUniform extends NumberUniform {
27
- nodeUniform: NodeUniform<number>;
27
+ export class NumberNodeUniform<TNodeType> extends NumberUniform {
28
28
  /**
29
29
  * Constructs a new node-based Number uniform.
30
30
  *
31
31
  * @param {NodeUniform} nodeUniform - The node uniform.
32
32
  */
33
- constructor(nodeUniform: NodeUniform<number>);
33
+ constructor(nodeUniform: NodeUniform<TNodeType, number>);
34
+ /**
35
+ * The node uniform.
36
+ *
37
+ * @type {NodeUniform}
38
+ */
39
+ nodeUniform: NodeUniform<TNodeType, number>;
34
40
  /**
35
41
  * Overwritten to return the value of the node uniform.
36
42
  *
@@ -42,7 +48,7 @@ declare class NumberNodeUniform extends NumberUniform {
42
48
  *
43
49
  * @return {string} The data type.
44
50
  */
45
- getType(): string | null;
51
+ getType(): string;
46
52
  }
47
53
  /**
48
54
  * A special form of Vector2 uniform binding type.
@@ -51,26 +57,25 @@ declare class NumberNodeUniform extends NumberUniform {
51
57
  * @private
52
58
  * @augments Vector2Uniform
53
59
  */
54
- declare class Vector2NodeUniform extends Vector2Uniform {
55
- nodeUniform: NodeUniform<Vector2>;
60
+ export class Vector2NodeUniform<TNodeType> extends Vector2Uniform {
56
61
  /**
57
62
  * Constructs a new node-based Vector2 uniform.
58
63
  *
59
64
  * @param {NodeUniform} nodeUniform - The node uniform.
60
65
  */
61
- constructor(nodeUniform: NodeUniform<Vector2>);
66
+ constructor(nodeUniform: NodeUniform<TNodeType, Vector2>);
62
67
  /**
63
- * Overwritten to return the value of the node uniform.
68
+ * The node uniform.
64
69
  *
65
- * @return {Vector2} The value.
70
+ * @type {NodeUniform}
66
71
  */
67
- getValue(): Vector2;
72
+ nodeUniform: NodeUniform<TNodeType, Vector2>;
68
73
  /**
69
74
  * Returns the node uniform data type.
70
75
  *
71
76
  * @return {string} The data type.
72
77
  */
73
- getType(): string | null;
78
+ getType(): string;
74
79
  }
75
80
  /**
76
81
  * A special form of Vector3 uniform binding type.
@@ -79,26 +84,25 @@ declare class Vector2NodeUniform extends Vector2Uniform {
79
84
  * @private
80
85
  * @augments Vector3Uniform
81
86
  */
82
- declare class Vector3NodeUniform extends Vector3Uniform {
83
- nodeUniform: NodeUniform<Vector3>;
87
+ export class Vector3NodeUniform<TNodeType> extends Vector3Uniform {
84
88
  /**
85
89
  * Constructs a new node-based Vector3 uniform.
86
90
  *
87
91
  * @param {NodeUniform} nodeUniform - The node uniform.
88
92
  */
89
- constructor(nodeUniform: NodeUniform<Vector3>);
93
+ constructor(nodeUniform: NodeUniform<TNodeType, Vector3>);
90
94
  /**
91
- * Overwritten to return the value of the node uniform.
95
+ * The node uniform.
92
96
  *
93
- * @return {Vector3} The value.
97
+ * @type {NodeUniform}
94
98
  */
95
- getValue(): Vector3;
99
+ nodeUniform: NodeUniform<TNodeType, Vector3>;
96
100
  /**
97
101
  * Returns the node uniform data type.
98
102
  *
99
103
  * @return {string} The data type.
100
104
  */
101
- getType(): string | null;
105
+ getType(): string;
102
106
  }
103
107
  /**
104
108
  * A special form of Vector4 uniform binding type.
@@ -107,26 +111,25 @@ declare class Vector3NodeUniform extends Vector3Uniform {
107
111
  * @private
108
112
  * @augments Vector4Uniform
109
113
  */
110
- declare class Vector4NodeUniform extends Vector4Uniform {
111
- nodeUniform: NodeUniform<Vector4>;
114
+ export class Vector4NodeUniform<TNodeType> extends Vector4Uniform {
112
115
  /**
113
116
  * Constructs a new node-based Vector4 uniform.
114
117
  *
115
118
  * @param {NodeUniform} nodeUniform - The node uniform.
116
119
  */
117
- constructor(nodeUniform: NodeUniform<Vector4>);
120
+ constructor(nodeUniform: NodeUniform<TNodeType, Vector4>);
118
121
  /**
119
- * Overwritten to return the value of the node uniform.
122
+ * The node uniform.
120
123
  *
121
- * @return {Vector4} The value.
124
+ * @type {NodeUniform}
122
125
  */
123
- getValue(): Vector4;
126
+ nodeUniform: NodeUniform<TNodeType, Vector4>;
124
127
  /**
125
128
  * Returns the node uniform data type.
126
129
  *
127
130
  * @return {string} The data type.
128
131
  */
129
- getType(): string | null;
132
+ getType(): string;
130
133
  }
131
134
  /**
132
135
  * A special form of Color uniform binding type.
@@ -135,26 +138,25 @@ declare class Vector4NodeUniform extends Vector4Uniform {
135
138
  * @private
136
139
  * @augments ColorUniform
137
140
  */
138
- declare class ColorNodeUniform extends ColorUniform {
139
- nodeUniform: NodeUniform<Color>;
141
+ export class ColorNodeUniform<TNodeType> extends ColorUniform {
140
142
  /**
141
143
  * Constructs a new node-based Color uniform.
142
144
  *
143
145
  * @param {NodeUniform} nodeUniform - The node uniform.
144
146
  */
145
- constructor(nodeUniform: NodeUniform<Color>);
147
+ constructor(nodeUniform: NodeUniform<TNodeType, Color>);
146
148
  /**
147
- * Overwritten to return the value of the node uniform.
149
+ * The node uniform.
148
150
  *
149
- * @return {Color} The value.
151
+ * @type {NodeUniform}
150
152
  */
151
- getValue(): Color;
153
+ nodeUniform: NodeUniform<TNodeType, Color>;
152
154
  /**
153
155
  * Returns the node uniform data type.
154
156
  *
155
157
  * @return {string} The data type.
156
158
  */
157
- getType(): string | null;
159
+ getType(): string;
158
160
  }
159
161
  /**
160
162
  * A special form of Matrix2 uniform binding type.
@@ -163,26 +165,25 @@ declare class ColorNodeUniform extends ColorUniform {
163
165
  * @private
164
166
  * @augments Matrix2Uniform
165
167
  */
166
- declare class Matrix2NodeUniform extends Matrix2Uniform {
167
- nodeUniform: NodeUniform<Matrix2>;
168
+ export class Matrix2NodeUniform<TNodeType> extends Matrix2Uniform {
168
169
  /**
169
170
  * Constructs a new node-based Matrix2 uniform.
170
171
  *
171
172
  * @param {NodeUniform} nodeUniform - The node uniform.
172
173
  */
173
- constructor(nodeUniform: NodeUniform<Matrix2>);
174
+ constructor(nodeUniform: NodeUniform<TNodeType, Matrix2>);
174
175
  /**
175
- * Overwritten to return the value of the node uniform.
176
+ * The node uniform.
176
177
  *
177
- * @return {Matrix2} The value.
178
+ * @type {NodeUniform}
178
179
  */
179
- getValue(): Matrix2;
180
+ nodeUniform: NodeUniform<TNodeType, Matrix2>;
180
181
  /**
181
182
  * Returns the node uniform data type.
182
183
  *
183
184
  * @return {string} The data type.
184
185
  */
185
- getType(): string | null;
186
+ getType(): string;
186
187
  }
187
188
  /**
188
189
  * A special form of Matrix3 uniform binding type.
@@ -191,26 +192,25 @@ declare class Matrix2NodeUniform extends Matrix2Uniform {
191
192
  * @private
192
193
  * @augments Matrix3Uniform
193
194
  */
194
- declare class Matrix3NodeUniform extends Matrix3Uniform {
195
- nodeUniform: NodeUniform<Matrix3>;
195
+ export class Matrix3NodeUniform<TNodeType> extends Matrix3Uniform {
196
196
  /**
197
197
  * Constructs a new node-based Matrix3 uniform.
198
198
  *
199
199
  * @param {NodeUniform} nodeUniform - The node uniform.
200
200
  */
201
- constructor(nodeUniform: NodeUniform<Matrix3>);
201
+ constructor(nodeUniform: NodeUniform<TNodeType, Matrix3>);
202
202
  /**
203
- * Overwritten to return the value of the node uniform.
203
+ * The node uniform.
204
204
  *
205
- * @return {Matrix3} The value.
205
+ * @type {NodeUniform}
206
206
  */
207
- getValue(): Matrix3;
207
+ nodeUniform: NodeUniform<TNodeType, Matrix3>;
208
208
  /**
209
209
  * Returns the node uniform data type.
210
210
  *
211
211
  * @return {string} The data type.
212
212
  */
213
- getType(): string | null;
213
+ getType(): string;
214
214
  }
215
215
  /**
216
216
  * A special form of Matrix4 uniform binding type.
@@ -219,42 +219,32 @@ declare class Matrix3NodeUniform extends Matrix3Uniform {
219
219
  * @private
220
220
  * @augments Matrix4Uniform
221
221
  */
222
- declare class Matrix4NodeUniform extends Matrix4Uniform {
223
- nodeUniform: NodeUniform<Matrix4>;
222
+ export class Matrix4NodeUniform<TNodeType> extends Matrix4Uniform {
224
223
  /**
225
224
  * Constructs a new node-based Matrix4 uniform.
226
225
  *
227
226
  * @param {NodeUniform} nodeUniform - The node uniform.
228
227
  */
229
- constructor(nodeUniform: NodeUniform<Matrix4>);
228
+ constructor(nodeUniform: NodeUniform<TNodeType, Matrix4>);
230
229
  /**
231
- * Overwritten to return the value of the node uniform.
230
+ * The node uniform.
232
231
  *
233
- * @return {Matrix4} The value.
232
+ * @type {NodeUniform}
234
233
  */
235
- getValue(): Matrix4;
234
+ nodeUniform: NodeUniform<TNodeType, Matrix4>;
236
235
  /**
237
236
  * Returns the node uniform data type.
238
237
  *
239
238
  * @return {string} The data type.
240
239
  */
241
- getType(): string | null;
240
+ getType(): string;
242
241
  }
243
- export {
244
- ColorNodeUniform,
245
- Matrix2NodeUniform,
246
- Matrix3NodeUniform,
247
- Matrix4NodeUniform,
248
- NumberNodeUniform,
249
- Vector2NodeUniform,
250
- Vector3NodeUniform,
251
- Vector4NodeUniform,
252
- };
242
+
253
243
  export type NodeUniformGPU =
254
- | NumberNodeUniform
255
- | Vector2NodeUniform
256
- | Vector3NodeUniform
257
- | Vector4NodeUniform
258
- | ColorNodeUniform
259
- | Matrix3NodeUniform
260
- | Matrix4NodeUniform;
244
+ | NumberNodeUniform<unknown>
245
+ | Vector2NodeUniform<unknown>
246
+ | Vector3NodeUniform<unknown>
247
+ | Vector4NodeUniform<unknown>
248
+ | ColorNodeUniform<unknown>
249
+ | Matrix3NodeUniform<unknown>
250
+ | Matrix4NodeUniform<unknown>;
@@ -1,5 +1,6 @@
1
- import { UniformGroupNode } from "../../../nodes/Nodes.js";
1
+ import UniformGroupNode from "../../../nodes/core/UniformGroupNode.js";
2
2
  import UniformsGroup from "../UniformsGroup.js";
3
+
3
4
  /**
4
5
  * A special form of uniforms group that represents
5
6
  * the individual uniforms as node-based uniforms.
@@ -8,9 +9,6 @@ import UniformsGroup from "../UniformsGroup.js";
8
9
  * @augments UniformsGroup
9
10
  */
10
11
  declare class NodeUniformsGroup extends UniformsGroup {
11
- id: number;
12
- groupNode: UniformGroupNode;
13
- readonly isNodeUniformsGroup: true;
14
12
  /**
15
13
  * Constructs a new node-based uniforms group.
16
14
  *
@@ -18,5 +16,26 @@ declare class NodeUniformsGroup extends UniformsGroup {
18
16
  * @param {UniformGroupNode} groupNode - The uniform group node.
19
17
  */
20
18
  constructor(name: string, groupNode: UniformGroupNode);
19
+ /**
20
+ * The group's ID.
21
+ *
22
+ * @type {number}
23
+ */
24
+ id: number;
25
+ /**
26
+ * The uniform group node.
27
+ *
28
+ * @type {UniformGroupNode}
29
+ */
30
+ groupNode: UniformGroupNode;
31
+ /**
32
+ * This flag can be used for type testing.
33
+ *
34
+ * @type {boolean}
35
+ * @readonly
36
+ * @default true
37
+ */
38
+ readonly isNodeUniformsGroup: boolean;
21
39
  }
40
+
22
41
  export default NodeUniformsGroup;
@@ -96,7 +96,6 @@ export const UniformsLib: {
96
96
  shadowMapSize: {};
97
97
  };
98
98
  };
99
- directionalShadowMap: IUniform<unknown[]>;
100
99
  directionalShadowMatrix: IUniform<unknown[]>;
101
100
  spotLights: {
102
101
  value: unknown[];
@@ -121,7 +120,6 @@ export const UniformsLib: {
121
120
  };
122
121
  };
123
122
  spotLightMap: IUniform<unknown[]>;
124
- spotShadowMap: IUniform<unknown[]>;
125
123
  spotLightMatrix: IUniform<unknown[]>;
126
124
  pointLights: {
127
125
  value: unknown[];
@@ -144,7 +142,6 @@ export const UniformsLib: {
144
142
  shadowCameraFar: {};
145
143
  };
146
144
  };
147
- pointShadowMap: IUniform<unknown[]>;
148
145
  pointShadowMatrix: IUniform<unknown[]>;
149
146
  hemisphereLights: {
150
147
  value: unknown[];
@@ -2,17 +2,19 @@ import { BufferAttribute } from "../../core/BufferAttribute.js";
2
2
  import { GLBufferAttribute } from "../../core/GLBufferAttribute.js";
3
3
  import { InterleavedBufferAttribute } from "../../core/InterleavedBufferAttribute.js";
4
4
 
5
+ export interface WebGLAttribute {
6
+ buffer: WebGLBuffer;
7
+ type: number;
8
+ bytesPerElement: number;
9
+ version: number;
10
+ size: number;
11
+ }
12
+
5
13
  export class WebGLAttributes {
6
14
  constructor(gl: WebGLRenderingContext | WebGL2RenderingContext);
7
15
 
8
16
  get(attribute: BufferAttribute | InterleavedBufferAttribute | GLBufferAttribute):
9
- | {
10
- buffer: WebGLBuffer;
11
- type: number;
12
- bytesPerElement: number;
13
- version: number;
14
- size: number;
15
- }
17
+ | WebGLAttribute
16
18
  | undefined;
17
19
 
18
20
  remove(attribute: BufferAttribute | InterleavedBufferAttribute | GLBufferAttribute): void;
@@ -0,0 +1,8 @@
1
+ import { Texture } from "../../textures/Texture.js";
2
+
3
+ declare class WebGLEnvironments {
4
+ get(texture: Texture): Texture | null;
5
+ dispose(): void;
6
+ }
7
+
8
+ export { WebGLEnvironments };
@@ -3,5 +3,5 @@ export class WebGLExtensions {
3
3
 
4
4
  has(name: string): boolean;
5
5
  init(): void;
6
- get(name: string): any;
6
+ get(name: string): unknown;
7
7
  }
@@ -1,10 +1,14 @@
1
+ import { WebGLAttribute } from "./WebGLAttributes.js";
2
+ import { WebGLExtensions } from "./WebGLExtensions.js";
3
+ import { WebGLInfo } from "./WebGLInfo.js";
4
+
1
5
  export class WebGLIndexedBufferRenderer {
2
- constructor(gl: WebGLRenderingContext, extensions: any, info: any);
6
+ constructor(gl: WebGLRenderingContext, extensions: WebGLExtensions, info: WebGLInfo);
3
7
 
4
- setMode: (value: any) => void;
5
- setIndex: (index: any) => void;
6
- render: (start: any, count: number) => void;
7
- renderInstances: (start: any, count: number, primcount: number) => void;
8
+ setMode: (value: number) => void;
9
+ setIndex: (value: WebGLAttribute) => void;
10
+ render: (start: number, count: number) => void;
11
+ renderInstances: (start: number, count: number, primcount: number) => void;
8
12
  renderMultiDraw: (starts: Int32Array, counts: Int32Array, drawCount: number) => void;
9
13
  renderMultiDrawInstances: (
10
14
  starts: Int32Array,
@@ -1,3 +1,5 @@
1
+ import { Camera } from "../../cameras/Camera.js";
2
+ import { Light } from "../../lights/Light.js";
1
3
  import { WebGLExtensions } from "./WebGLExtensions.js";
2
4
 
3
5
  export interface WebGLLightsState {
@@ -19,21 +21,21 @@ export interface WebGLLightsState {
19
21
  };
20
22
 
21
23
  ambient: number[];
22
- probe: any[];
23
- directional: any[];
24
- directionalShadow: any[];
25
- directionalShadowMap: any[];
26
- directionalShadowMatrix: any[];
27
- spot: any[];
28
- spotShadow: any[];
29
- spotShadowMap: any[];
30
- spotShadowMatrix: any[];
31
- rectArea: any[];
32
- point: any[];
33
- pointShadow: any[];
34
- pointShadowMap: any[];
35
- pointShadowMatrix: any[];
36
- hemi: any[];
24
+ probe: unknown[];
25
+ directional: unknown[];
26
+ directionalShadow: unknown[];
27
+ directionalShadowMap: unknown[];
28
+ directionalShadowMatrix: unknown[];
29
+ spot: unknown[];
30
+ spotShadow: unknown[];
31
+ spotShadowMap: unknown[];
32
+ spotShadowMatrix: unknown[];
33
+ rectArea: unknown[];
34
+ point: unknown[];
35
+ pointShadow: unknown[];
36
+ pointShadowMap: unknown[];
37
+ pointShadowMatrix: unknown[];
38
+ hemi: unknown[];
37
39
  numSpotLightShadowsWithMaps: number;
38
40
  numLightProbes: number;
39
41
  }
@@ -43,7 +45,6 @@ export class WebGLLights {
43
45
 
44
46
  state: WebGLLightsState;
45
47
 
46
- get(light: any): any;
47
- setup(lights: any): void;
48
- setupView(lights: any, camera: any): void;
48
+ setup(lights: Light[]): void;
49
+ setupView(lights: Light[], camera: Camera): void;
49
50
  }
@@ -1,6 +1,19 @@
1
+ import { BufferGeometry } from "../../core/BufferGeometry.js";
2
+ import { Object3D } from "../../core/Object3D.js";
3
+ import { WebGLAttributes } from "./WebGLAttributes.js";
4
+ import { WebGLBindingStates } from "./WebGLBindingStates.js";
5
+ import { WebGLGeometries } from "./WebGLGeometries.js";
6
+ import { WebGLInfo } from "./WebGLInfo.js";
7
+
1
8
  export class WebGLObjects {
2
- constructor(gl: WebGLRenderingContext, geometries: any, attributes: any, info: any);
9
+ constructor(
10
+ gl: WebGLRenderingContext,
11
+ geometries: WebGLGeometries,
12
+ attributes: WebGLAttributes,
13
+ bindingStates: WebGLBindingStates,
14
+ info: WebGLInfo,
15
+ );
3
16
 
4
- update(object: any): any;
17
+ update(object: Object3D): BufferGeometry;
5
18
  dispose(): void;
6
19
  }
@@ -12,19 +12,11 @@ export class WebGLProgram {
12
12
  * @default 1
13
13
  */
14
14
  usedTimes: number;
15
- program: any;
15
+ program: unknown; // TODO This should be the WebGLProgram in the DOM types
16
16
  vertexShader: WebGLShader;
17
17
  fragmentShader: WebGLShader;
18
- /**
19
- * @deprecated Use {@link WebGLProgram#getUniforms getUniforms()} instead.
20
- */
21
- uniforms: any;
22
- /**
23
- * @deprecated Use {@link WebGLProgram#getAttributes getAttributes()} instead.
24
- */
25
- attributes: any;
26
18
 
27
19
  getUniforms(): WebGLUniforms;
28
- getAttributes(): any;
20
+ getAttributes(): unknown;
29
21
  destroy(): void;
30
22
  }
@@ -8,7 +8,7 @@ import { WebGLRenderer } from "../WebGLRenderer.js";
8
8
  import { WebGLBindingStates } from "./WebGLBindingStates.js";
9
9
  import { WebGLCapabilities } from "./WebGLCapabilities.js";
10
10
  import { WebGLClipping } from "./WebGLClipping.js";
11
- import { WebGLCubeMaps } from "./WebGLCubeMaps.js";
11
+ import { WebGLEnvironments } from "./WebGLEnvironments.js";
12
12
  import { WebGLExtensions } from "./WebGLExtensions.js";
13
13
  import { WebGLLightsState } from "./WebGLLights.js";
14
14
  import { WebGLProgram } from "./WebGLProgram.js";
@@ -208,7 +208,7 @@ export interface WebGLProgramParametersWithUniforms extends WebGLProgramParamete
208
208
  export class WebGLPrograms {
209
209
  constructor(
210
210
  renderer: WebGLRenderer,
211
- cubemaps: WebGLCubeMaps,
211
+ environments: WebGLEnvironments,
212
212
  extensions: WebGLExtensions,
213
213
  capabilities: WebGLCapabilities,
214
214
  bindingStates: WebGLBindingStates,
@@ -1,10 +1,8 @@
1
- import { Camera } from "../../cameras/Camera.js";
2
1
  import { BufferGeometry } from "../../core/BufferGeometry.js";
3
2
  import { Object3D } from "../../core/Object3D.js";
4
3
  import { Material } from "../../materials/Material.js";
5
4
  import { Group } from "../../objects/Group.js";
6
5
  import { Scene } from "../../scenes/Scene.js";
7
- import { WebGLProgram } from "./WebGLProgram.js";
8
6
  import { WebGLProperties } from "./WebGLProperties.js";
9
7
 
10
8
  export interface RenderItem {
@@ -12,7 +10,7 @@ export interface RenderItem {
12
10
  object: Object3D;
13
11
  geometry: BufferGeometry | null;
14
12
  material: Material;
15
- program: WebGLProgram;
13
+ materialVariant: number;
16
14
  groupOrder: number;
17
15
  renderOrder: number;
18
16
  z: number;
@@ -30,9 +30,4 @@ export class WebGLShadowMap {
30
30
  type: ShadowMapType;
31
31
 
32
32
  render(shadowsArray: Light[], scene: Scene, camera: Camera): void;
33
-
34
- /**
35
- * @deprecated Use {@link Material#shadowSide} instead.
36
- */
37
- cullFace: any;
38
33
  }