@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
@@ -2,21 +2,21 @@ import { Camera } from "../../cameras/Camera.js";
2
2
  import { BufferAttribute } from "../../core/BufferAttribute.js";
3
3
  import { BufferGeometry } from "../../core/BufferGeometry.js";
4
4
  import { InterleavedBuffer } from "../../core/InterleavedBuffer.js";
5
- import { InterleavedBufferAttribute } from "../../core/InterleavedBufferAttribute.js";
6
5
  import { Object3D } from "../../core/Object3D.js";
7
6
  import { Material } from "../../materials/Material.js";
8
7
  import NodeMaterialObserver from "../../materials/nodes/manager/NodeMaterialObserver.js";
9
- import { LightsNode } from "../../nodes/Nodes.js";
8
+ import LightsNode from "../../nodes/lighting/LightsNode.js";
10
9
  import { Scene } from "../../scenes/Scene.js";
11
10
  import BindGroup from "./BindGroup.js";
12
11
  import BundleGroup from "./BundleGroup.js";
13
12
  import ClippingContext from "./ClippingContext.js";
14
13
  import Geometries from "./Geometries.js";
15
14
  import NodeBuilderState from "./nodes/NodeBuilderState.js";
16
- import Nodes from "./nodes/Nodes.js";
15
+ import NodeManager from "./nodes/NodeManager.js";
17
16
  import RenderContext from "./RenderContext.js";
18
17
  import Renderer from "./Renderer.js";
19
18
  import RenderPipeline from "./RenderPipeline.js";
19
+
20
20
  /**
21
21
  * A render object is the renderer's representation of single entity that gets drawn
22
22
  * with a draw command. There is no unique mapping of render objects to 3D objects in the
@@ -36,76 +36,256 @@ import RenderPipeline from "./RenderPipeline.js";
36
36
  * @private
37
37
  */
38
38
  declare class RenderObject {
39
- _nodes: Nodes;
40
- _geometries: Geometries;
39
+ /**
40
+ * Constructs a new render object.
41
+ *
42
+ * @param {Nodes} nodes - Renderer component for managing nodes related logic.
43
+ * @param {Geometries} geometries - Renderer component for managing geometries.
44
+ * @param {Renderer} renderer - The renderer.
45
+ * @param {Object3D} object - The 3D object.
46
+ * @param {Material} material - The 3D object's material.
47
+ * @param {Scene} scene - The scene the 3D object belongs to.
48
+ * @param {Camera} camera - The camera the object should be rendered with.
49
+ * @param {LightsNode} lightsNode - The lights node.
50
+ * @param {RenderContext} renderContext - The render context.
51
+ * @param {ClippingContext} clippingContext - The clipping context.
52
+ */
53
+ constructor(
54
+ nodes: NodeManager,
55
+ geometries: Geometries,
56
+ renderer: Renderer,
57
+ object: Object3D,
58
+ material: Material,
59
+ scene: Scene,
60
+ camera: Camera,
61
+ lightsNode: LightsNode,
62
+ renderContext: RenderContext,
63
+ clippingContext: ClippingContext,
64
+ );
41
65
  id: number;
66
+ /**
67
+ * Renderer component for managing nodes related logic.
68
+ *
69
+ * @type {Nodes}
70
+ * @private
71
+ */
72
+ private _nodes;
73
+ /**
74
+ * Renderer component for managing geometries.
75
+ *
76
+ * @type {Geometries}
77
+ * @private
78
+ */
79
+ private _geometries;
80
+ /**
81
+ * The renderer.
82
+ *
83
+ * @type {Renderer}
84
+ */
42
85
  renderer: Renderer;
86
+ /**
87
+ * The 3D object.
88
+ *
89
+ * @type {Object3D}
90
+ */
43
91
  object: Object3D;
92
+ /**
93
+ * The 3D object's material.
94
+ *
95
+ * @type {Material}
96
+ */
44
97
  material: Material;
98
+ /**
99
+ * The scene the 3D object belongs to.
100
+ *
101
+ * @type {Scene}
102
+ */
45
103
  scene: Scene;
104
+ /**
105
+ * The camera the 3D object should be rendered with.
106
+ *
107
+ * @type {Camera}
108
+ */
46
109
  camera: Camera;
110
+ /**
111
+ * The lights node.
112
+ *
113
+ * @type {LightsNode}
114
+ */
47
115
  lightsNode: LightsNode;
116
+ /**
117
+ * The render context.
118
+ *
119
+ * @type {RenderContext}
120
+ */
48
121
  context: RenderContext;
122
+ /**
123
+ * The 3D object's geometry.
124
+ *
125
+ * @type {BufferGeometry}
126
+ */
49
127
  geometry: BufferGeometry;
128
+ /**
129
+ * The render object's version.
130
+ *
131
+ * @type {number}
132
+ */
50
133
  version: number;
134
+ /**
135
+ * The draw range of the geometry.
136
+ *
137
+ * @type {?Object}
138
+ * @default null
139
+ */
51
140
  drawRange: {
52
141
  start: number;
53
142
  count: number;
54
143
  } | null;
55
- attributes: Array<BufferAttribute | InterleavedBufferAttribute> | null;
144
+ /**
145
+ * An array holding the buffer attributes
146
+ * of the render object. This entails attribute
147
+ * definitions on geometry and node level.
148
+ *
149
+ * @type {?Array<BufferAttribute>}
150
+ * @default null
151
+ */
152
+ attributes: BufferAttribute[] | null;
153
+ /**
154
+ * An object holding the version of the
155
+ * attributes. The keys are the attribute names
156
+ * and the values are the attribute versions.
157
+ *
158
+ * @type {?Object<string, number>}
159
+ * @default null
160
+ */
56
161
  attributesId: {
57
- [attributeName: string]: number;
162
+ [x: string]: number;
58
163
  } | null;
59
- pipeline: RenderPipeline | null;
164
+ /**
165
+ * A reference to a render pipeline the render
166
+ * object is processed with.
167
+ *
168
+ * @type {RenderPipeline}
169
+ * @default null
170
+ */
171
+ pipeline: RenderPipeline;
172
+ /**
173
+ * Only relevant for objects using
174
+ * multiple materials. This represents a group entry
175
+ * from the respective `BufferGeometry`.
176
+ *
177
+ * @type {?{start: number, count: number}}
178
+ * @default null
179
+ */
60
180
  group: {
61
181
  start: number;
62
182
  count: number;
63
183
  } | null;
184
+ /**
185
+ * An array holding the vertex buffers which can
186
+ * be buffer attributes but also interleaved buffers.
187
+ *
188
+ * @type {?Array<BufferAttribute|InterleavedBuffer>}
189
+ * @default null
190
+ */
64
191
  vertexBuffers: Array<BufferAttribute | InterleavedBuffer> | null;
192
+ /**
193
+ * The parameters for the draw command.
194
+ *
195
+ * @type {?Object}
196
+ * @default null
197
+ */
65
198
  drawParams: {
66
199
  vertexCount: number;
67
200
  firstVertex: number;
68
201
  instanceCount: number;
69
202
  firstInstance: number;
70
203
  } | null;
204
+ /**
205
+ * If this render object is used inside a render bundle,
206
+ * this property points to the respective bundle group.
207
+ *
208
+ * @type {?BundleGroup}
209
+ * @default null
210
+ */
71
211
  bundle: BundleGroup | null;
72
- clippingContext: ClippingContext | null;
212
+ /**
213
+ * The clipping context.
214
+ *
215
+ * @type {ClippingContext}
216
+ */
217
+ clippingContext: ClippingContext;
218
+ /**
219
+ * The clipping context's cache key.
220
+ *
221
+ * @type {string}
222
+ */
73
223
  clippingContextCacheKey: string;
224
+ /**
225
+ * The initial node cache key.
226
+ *
227
+ * @type {number}
228
+ */
74
229
  initialNodesCacheKey: number;
230
+ /**
231
+ * The initial cache key.
232
+ *
233
+ * @type {number}
234
+ */
75
235
  initialCacheKey: number;
76
- _nodeBuilderState: NodeBuilderState | null;
77
- _bindings: BindGroup[] | null;
78
- _monitor: NodeMaterialObserver | null;
236
+ /**
237
+ * The node builder state.
238
+ *
239
+ * @type {?NodeBuilderState}
240
+ * @private
241
+ * @default null
242
+ */
243
+ private _nodeBuilderState;
244
+ /**
245
+ * An array of bindings.
246
+ *
247
+ * @type {?Array<BindGroup>}
248
+ * @private
249
+ * @default null
250
+ */
251
+ private _bindings;
252
+ /**
253
+ * Reference to the node material observer.
254
+ *
255
+ * @type {?NodeMaterialObserver}
256
+ * @private
257
+ * @default null
258
+ */
259
+ private _monitor;
260
+ /**
261
+ * An event listener which is defined by `RenderObjects`. It performs
262
+ * clean up tasks when `dispose()` on this render object.
263
+ *
264
+ * @method
265
+ */
79
266
  onDispose: (() => void) | null;
80
- readonly isRenderObject: true;
267
+ /**
268
+ * This flag can be used for type testing.
269
+ *
270
+ * @type {boolean}
271
+ * @readonly
272
+ * @default true
273
+ */
274
+ readonly isRenderObject: boolean;
275
+ /**
276
+ * An event listener which is executed when `dispose()` is called on
277
+ * the material of this render object.
278
+ *
279
+ * @method
280
+ */
81
281
  onMaterialDispose: () => void;
82
- onGeometryDispose: () => void;
83
282
  /**
84
- * Constructs a new render object.
283
+ * An event listener which is executed when `dispose()` is called on
284
+ * the geometry of this render object.
85
285
  *
86
- * @param {Nodes} nodes - Renderer component for managing nodes related logic.
87
- * @param {Geometries} geometries - Renderer component for managing geometries.
88
- * @param {Renderer} renderer - The renderer.
89
- * @param {Object3D} object - The 3D object.
90
- * @param {Material} material - The 3D object's material.
91
- * @param {Scene} scene - The scene the 3D object belongs to.
92
- * @param {Camera} camera - The camera the object should be rendered with.
93
- * @param {LightsNode} lightsNode - The lights node.
94
- * @param {RenderContext} renderContext - The render context.
95
- * @param {ClippingContext} clippingContext - The clipping context.
286
+ * @method
96
287
  */
97
- constructor(
98
- nodes: Nodes,
99
- geometries: Geometries,
100
- renderer: Renderer,
101
- object: Object3D,
102
- material: Material,
103
- scene: Scene,
104
- camera: Camera,
105
- lightsNode: LightsNode,
106
- renderContext: RenderContext,
107
- clippingContext: ClippingContext | null,
108
- );
288
+ onGeometryDispose: () => void;
109
289
  /**
110
290
  * Updates the clipping context.
111
291
  *
@@ -150,7 +330,7 @@ declare class RenderObject {
150
330
  * @param {string} name - The name of the binding group.
151
331
  * @return {?BindGroup} The bindings.
152
332
  */
153
- getBindingGroup(name: string): BindGroup | undefined;
333
+ getBindingGroup(name: string): BindGroup | null;
154
334
  /**
155
335
  * Returns the index of the render object's geometry.
156
336
  *
@@ -162,18 +342,19 @@ declare class RenderObject {
162
342
  *
163
343
  * @return {?BufferAttribute} The indirect attribute. `null` if no indirect drawing is used.
164
344
  */
165
- getIndirect(): import("./IndirectStorageBufferAttribute.js").default | null;
345
+ getIndirect(): BufferAttribute | null;
346
+ /**
347
+ * Returns the byte offset into the indirect attribute buffer.
348
+ *
349
+ * @return {number|Array<number>} The byte offset into the indirect attribute buffer.
350
+ */
351
+ getIndirectOffset(): number | number[];
166
352
  /**
167
353
  * Returns an array that acts as a key for identifying the render object in a chain map.
168
354
  *
169
355
  * @return {Array<Object>} An array with object references.
170
356
  */
171
- getChainArray(): readonly [
172
- Object3D<import("../../core/Object3D.js").Object3DEventMap>,
173
- Material,
174
- RenderContext,
175
- LightsNode,
176
- ];
357
+ getChainArray(): unknown[];
177
358
  /**
178
359
  * This method is used when the geometry of a 3D object has been exchanged and the
179
360
  * respective render object now requires an update.
@@ -187,13 +368,13 @@ declare class RenderObject {
187
368
  *
188
369
  * @return {Array<BufferAttribute>} An array with buffer attributes.
189
370
  */
190
- getAttributes(): (BufferAttribute | InterleavedBufferAttribute)[];
371
+ getAttributes(): BufferAttribute[];
191
372
  /**
192
373
  * Returns the vertex buffers of the render object.
193
374
  *
194
375
  * @return {Array<BufferAttribute|InterleavedBuffer>} An array with buffer attribute or interleaved buffers.
195
376
  */
196
- getVertexBuffers(): (BufferAttribute | InterleavedBuffer)[] | null;
377
+ getVertexBuffers(): Array<BufferAttribute | InterleavedBuffer>;
197
378
  /**
198
379
  * Returns the draw parameters for the render object.
199
380
  *
@@ -263,4 +444,5 @@ declare class RenderObject {
263
444
  */
264
445
  dispose(): void;
265
446
  }
447
+
266
448
  export default RenderObject;
@@ -1,21 +1,33 @@
1
1
  import Pipeline from "./Pipeline.js";
2
2
  import ProgrammableStage from "./ProgrammableStage.js";
3
+
3
4
  /**
4
5
  * Class for representing render pipelines.
5
6
  *
6
7
  * @private
7
8
  * @augments Pipeline
8
9
  */
9
- declare class RenderPipeline extends Pipeline {
10
- vertexProgram: ProgrammableStage;
11
- fragmentProgram: ProgrammableStage;
10
+ declare class RenderObjectPipeline extends Pipeline {
12
11
  /**
13
- * Constructs a new render pipeline.
12
+ * Constructs a new render object pipeline.
14
13
  *
15
14
  * @param {string} cacheKey - The pipeline's cache key.
16
15
  * @param {ProgrammableStage} vertexProgram - The pipeline's vertex shader.
17
16
  * @param {ProgrammableStage} fragmentProgram - The pipeline's fragment shader.
18
17
  */
19
18
  constructor(cacheKey: string, vertexProgram: ProgrammableStage, fragmentProgram: ProgrammableStage);
19
+ /**
20
+ * The pipeline's vertex shader.
21
+ *
22
+ * @type {ProgrammableStage}
23
+ */
24
+ vertexProgram: ProgrammableStage;
25
+ /**
26
+ * The pipeline's fragment shader.
27
+ *
28
+ * @type {ProgrammableStage}
29
+ */
30
+ fragmentProgram: ProgrammableStage;
20
31
  }
21
- export default RenderPipeline;
32
+
33
+ export default RenderObjectPipeline;
@@ -8,26 +8,18 @@ import ChainMap from "./ChainMap.js";
8
8
  import ClippingContext from "./ClippingContext.js";
9
9
  import Geometries from "./Geometries.js";
10
10
  import Info from "./Info.js";
11
- import Nodes from "./nodes/Nodes.js";
11
+ import NodeManager from "./nodes/NodeManager.js";
12
12
  import Pipelines from "./Pipelines.js";
13
13
  import RenderContext from "./RenderContext.js";
14
14
  import Renderer from "./Renderer.js";
15
15
  import RenderObject from "./RenderObject.js";
16
+
16
17
  /**
17
18
  * This module manages the render objects of the renderer.
18
19
  *
19
20
  * @private
20
21
  */
21
22
  declare class RenderObjects {
22
- renderer: Renderer;
23
- nodes: Nodes;
24
- geometries: Geometries;
25
- pipelines: Pipelines;
26
- bindings: Bindings;
27
- info: Info;
28
- chainMaps: {
29
- [passId: string]: ChainMap<readonly [Object3D, Material, RenderContext, LightsNode], RenderObject>;
30
- };
31
23
  /**
32
24
  * Constructs a new render object management component.
33
25
  *
@@ -40,12 +32,57 @@ declare class RenderObjects {
40
32
  */
41
33
  constructor(
42
34
  renderer: Renderer,
43
- nodes: Nodes,
35
+ nodes: NodeManager,
44
36
  geometries: Geometries,
45
37
  pipelines: Pipelines,
46
38
  bindings: Bindings,
47
39
  info: Info,
48
40
  );
41
+ /**
42
+ * The renderer.
43
+ *
44
+ * @type {Renderer}
45
+ */
46
+ renderer: Renderer;
47
+ /**
48
+ * Renderer component for managing nodes related logic.
49
+ *
50
+ * @type {Nodes}
51
+ */
52
+ nodes: NodeManager;
53
+ /**
54
+ * Renderer component for managing geometries.
55
+ *
56
+ * @type {Geometries}
57
+ */
58
+ geometries: Geometries;
59
+ /**
60
+ * Renderer component for managing pipelines.
61
+ *
62
+ * @type {Pipelines}
63
+ */
64
+ pipelines: Pipelines;
65
+ /**
66
+ * Renderer component for managing bindings.
67
+ *
68
+ * @type {Bindings}
69
+ */
70
+ bindings: Bindings;
71
+ /**
72
+ * Renderer component for managing metrics and monitoring data.
73
+ *
74
+ * @type {Info}
75
+ */
76
+ info: Info;
77
+ /**
78
+ * A dictionary that manages render contexts in chain maps
79
+ * for each pass ID.
80
+ *
81
+ * @type {Object<string,ChainMap>}
82
+ */
83
+ chainMaps: {
84
+ [x: string]: ChainMap;
85
+ };
49
86
  /**
50
87
  * Returns a render object for the given object and state data.
51
88
  *
@@ -66,8 +103,8 @@ declare class RenderObjects {
66
103
  camera: Camera,
67
104
  lightsNode: LightsNode,
68
105
  renderContext: RenderContext,
69
- clippingContext: ClippingContext | null,
70
- passId?: string | undefined,
106
+ clippingContext: ClippingContext,
107
+ passId?: string,
71
108
  ): RenderObject;
72
109
  /**
73
110
  * Returns a chain map for the given pass ID.
@@ -75,12 +112,7 @@ declare class RenderObjects {
75
112
  * @param {string} [passId='default'] - The pass ID.
76
113
  * @return {ChainMap} The chain map.
77
114
  */
78
- getChainMap(
79
- passId?: string,
80
- ): ChainMap<
81
- readonly [Object3D<import("../../core/Object3D.js").Object3DEventMap>, Material, RenderContext, LightsNode],
82
- RenderObject
83
- >;
115
+ getChainMap(passId?: string): ChainMap;
84
116
  /**
85
117
  * Frees internal resources.
86
118
  */
@@ -102,7 +134,7 @@ declare class RenderObjects {
102
134
  * @return {RenderObject} The render object.
103
135
  */
104
136
  createRenderObject(
105
- nodes: Nodes,
137
+ nodes: NodeManager,
106
138
  geometries: Geometries,
107
139
  renderer: Renderer,
108
140
  object: Object3D,
@@ -111,8 +143,9 @@ declare class RenderObjects {
111
143
  camera: Camera,
112
144
  lightsNode: LightsNode,
113
145
  renderContext: RenderContext,
114
- clippingContext: ClippingContext | null,
115
- passId: string | undefined,
146
+ clippingContext: ClippingContext,
147
+ passId?: string,
116
148
  ): RenderObject;
117
149
  }
150
+
118
151
  export default RenderObjects;