@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
@@ -1,7 +1,7 @@
1
1
  import { Camera } from "../cameras/Camera.js";
2
- import { CullFace, ShadowMapType, TextureDataType, ToneMapping, WebGLCoordinateSystem } from "../constants.js";
2
+ import { TextureDataType, ToneMapping, WebGLCoordinateSystem } from "../constants.js";
3
3
  import { TypedArray } from "../core/BufferAttribute.js";
4
- import { BufferGeometry } from "../core/BufferGeometry.js";
4
+ import { BufferGeometry, GeometryGroup } from "../core/BufferGeometry.js";
5
5
  import { Object3D } from "../core/Object3D.js";
6
6
  import { Material } from "../materials/Material.js";
7
7
  import { Box2 } from "../math/Box2.js";
@@ -227,20 +227,10 @@ export class WebGLRenderer {
227
227
  * Return the WebGL context.
228
228
  */
229
229
  getContext(): WebGLRenderingContext | WebGL2RenderingContext;
230
- getContextAttributes(): any;
230
+ getContextAttributes(): WebGLContextAttributes;
231
231
  forceContextLoss(): void;
232
232
  forceContextRestore(): void;
233
233
 
234
- /**
235
- * @deprecated Use {@link WebGLCapabilities#getMaxAnisotropy .capabilities.getMaxAnisotropy()} instead.
236
- */
237
- getMaxAnisotropy(): number;
238
-
239
- /**
240
- * @deprecated Use {@link WebGLCapabilities#precision .capabilities.precision} instead.
241
- */
242
- getPrecision(): string;
243
-
244
234
  getPixelRatio(): number;
245
235
  setPixelRatio(value: number): void;
246
236
 
@@ -327,10 +317,6 @@ export class WebGLRenderer {
327
317
  clearStencil(): void;
328
318
  clearTarget(renderTarget: WebGLRenderTarget, color: boolean, depth: boolean, stencil: boolean): void;
329
319
 
330
- /**
331
- * @deprecated Use {@link WebGLState#reset .state.reset()} instead.
332
- */
333
- resetGLState(): void;
334
320
  dispose(): void;
335
321
 
336
322
  renderBufferDirect(
@@ -339,7 +325,7 @@ export class WebGLRenderer {
339
325
  geometry: BufferGeometry,
340
326
  material: Material,
341
327
  object: Object3D,
342
- geometryGroup: any,
328
+ group: GeometryGroup,
343
329
  ): void;
344
330
 
345
331
  /**
@@ -348,11 +334,6 @@ export class WebGLRenderer {
348
334
  */
349
335
  setAnimationLoop(callback: XRFrameRequestCallback | null): void;
350
336
 
351
- /**
352
- * @deprecated Use {@link WebGLRenderer#setAnimationLoop .setAnimationLoop()} instead.
353
- */
354
- animate(callback: () => void): void;
355
-
356
337
  /**
357
338
  * Compiles all materials in the scene with the camera. This is useful to precompile shaders before the first
358
339
  * rendering. If you want to add a 3D object to an existing scene, use the third optional parameter for applying the
@@ -396,11 +377,6 @@ export class WebGLRenderer {
396
377
  */
397
378
  getRenderTarget(): WebGLRenderTarget | null;
398
379
 
399
- /**
400
- * @deprecated Use {@link WebGLRenderer#getRenderTarget .getRenderTarget()} instead.
401
- */
402
- getCurrentRenderTarget(): WebGLRenderTarget | null;
403
-
404
380
  /**
405
381
  * Sets the active render target.
406
382
  *
@@ -490,69 +466,4 @@ export class WebGLRenderer {
490
466
  * Can be used to reset the internal WebGL state.
491
467
  */
492
468
  resetState(): void;
493
-
494
- /**
495
- * @deprecated Use {@link WebGLRenderer#xr .xr} instead.
496
- */
497
- vr: boolean;
498
-
499
- /**
500
- * @deprecated Use {@link WebGLShadowMap#enabled .shadowMap.enabled} instead.
501
- */
502
- shadowMapEnabled: boolean;
503
-
504
- /**
505
- * @deprecated Use {@link WebGLShadowMap#type .shadowMap.type} instead.
506
- */
507
- shadowMapType: ShadowMapType;
508
-
509
- /**
510
- * @deprecated Use {@link WebGLShadowMap#cullFace .shadowMap.cullFace} instead.
511
- */
512
- shadowMapCullFace: CullFace;
513
-
514
- /**
515
- * @deprecated Use {@link WebGLExtensions#get .extensions.get( 'OES_texture_float' )} instead.
516
- */
517
- supportsFloatTextures(): any;
518
-
519
- /**
520
- * @deprecated Use {@link WebGLExtensions#get .extensions.get( 'OES_texture_half_float' )} instead.
521
- */
522
- supportsHalfFloatTextures(): any;
523
-
524
- /**
525
- * @deprecated Use {@link WebGLExtensions#get .extensions.get( 'OES_standard_derivatives' )} instead.
526
- */
527
- supportsStandardDerivatives(): any;
528
-
529
- /**
530
- * @deprecated Use {@link WebGLExtensions#get .extensions.get( 'WEBGL_compressed_texture_s3tc' )} instead.
531
- */
532
- supportsCompressedTextureS3TC(): any;
533
-
534
- /**
535
- * @deprecated Use {@link WebGLExtensions#get .extensions.get( 'WEBGL_compressed_texture_pvrtc' )} instead.
536
- */
537
- supportsCompressedTexturePVRTC(): any;
538
-
539
- /**
540
- * @deprecated Use {@link WebGLExtensions#get .extensions.get( 'EXT_blend_minmax' )} instead.
541
- */
542
- supportsBlendMinMax(): any;
543
-
544
- /**
545
- * @deprecated Use {@link WebGLCapabilities#vertexTextures .capabilities.vertexTextures} instead.
546
- */
547
- supportsVertexTextures(): any;
548
-
549
- /**
550
- * @deprecated Use {@link WebGLExtensions#get .extensions.get( 'ANGLE_instanced_arrays' )} instead.
551
- */
552
- supportsInstancedArrays(): any;
553
-
554
- /**
555
- * @deprecated Use {@link WebGLRenderer#setScissorTest .setScissorTest()} instead.
556
- */
557
- enableScissorTest(boolean: any): any;
558
469
  }
@@ -1,22 +1,18 @@
1
1
  import Info from "./Info.js";
2
- import Nodes from "./nodes/Nodes.js";
2
+ import NodeManager from "./nodes/NodeManager.js";
3
3
  import Renderer from "./Renderer.js";
4
+
4
5
  export interface AnimationContext {
5
6
  requestAnimationFrame(callback: FrameRequestCallback, xrFrame?: XRFrame): number;
6
7
  cancelAnimationFrame(handle: number): void;
7
8
  }
9
+
8
10
  /**
9
11
  * This module manages the internal animation loop of the renderer.
10
12
  *
11
13
  * @private
12
14
  */
13
15
  declare class Animation {
14
- renderer: Renderer;
15
- nodes: Nodes;
16
- info: Info;
17
- _context: AnimationContext | null;
18
- _animationLoop: ((time: DOMHighResTimeStamp, xrFrame?: XRFrame) => void) | null;
19
- _requestId: number | null;
20
16
  /**
21
17
  * Constructs a new animation loop management component.
22
18
  *
@@ -24,7 +20,47 @@ declare class Animation {
24
20
  * @param {Nodes} nodes - Renderer component for managing nodes related logic.
25
21
  * @param {Info} info - Renderer component for managing metrics and monitoring data.
26
22
  */
27
- constructor(renderer: Renderer, nodes: Nodes, info: Info);
23
+ constructor(renderer: Renderer, nodes: NodeManager, info: Info);
24
+ /**
25
+ * A reference to the main renderer.
26
+ *
27
+ * @type {Renderer}
28
+ */
29
+ renderer: Renderer;
30
+ /**
31
+ * Renderer component for managing nodes related logic.
32
+ *
33
+ * @type {Nodes}
34
+ */
35
+ nodes: NodeManager;
36
+ /**
37
+ * Renderer component for managing metrics and monitoring data.
38
+ *
39
+ * @type {Info}
40
+ */
41
+ info: Info;
42
+ /**
43
+ * A reference to the context from `requestAnimationFrame()` can
44
+ * be called (usually `window`).
45
+ *
46
+ * @type {?(Window|XRSession)}
47
+ */
48
+ _context: AnimationContext | null;
49
+ /**
50
+ * The user-defined animation loop.
51
+ *
52
+ * @type {?Function}
53
+ * @default null
54
+ */
55
+ _animationLoop: ((time: DOMHighResTimeStamp, xrFrame?: XRFrame) => void) | null;
56
+ /**
57
+ * The requestId which is returned from the `requestAnimationFrame()` call.
58
+ * Can be used to cancel the stop the animation loop.
59
+ *
60
+ * @type {?number}
61
+ * @default null
62
+ */
63
+ _requestId: number | null;
28
64
  /**
29
65
  * Starts the internal animation loop.
30
66
  */
@@ -50,7 +86,7 @@ declare class Animation {
50
86
  *
51
87
  * @return {Window|XRSession} The animation context.
52
88
  */
53
- getContext(): AnimationContext | null;
89
+ getContext(): AnimationContext;
54
90
  /**
55
91
  * Defines the context in which `requestAnimationFrame()` is executed.
56
92
  *
@@ -62,4 +98,5 @@ declare class Animation {
62
98
  */
63
99
  dispose(): void;
64
100
  }
101
+
65
102
  export default Animation;
@@ -2,37 +2,34 @@ import { BufferAttribute } from "../../core/BufferAttribute.js";
2
2
  import { InterleavedBuffer } from "../../core/InterleavedBuffer.js";
3
3
  import { InterleavedBufferAttribute } from "../../core/InterleavedBufferAttribute.js";
4
4
  import Backend from "./Backend.js";
5
- import { AttributeType } from "./Constants.js";
6
5
  import DataMap from "./DataMap.js";
7
- interface Data {
8
- version?: number | undefined;
9
- }
6
+
10
7
  /**
11
8
  * This renderer module manages geometry attributes.
12
9
  *
13
10
  * @private
14
11
  * @augments DataMap
15
12
  */
16
- declare class Attributes extends DataMap<{
17
- attribute: {
18
- key: BufferAttribute | InterleavedBufferAttribute;
19
- value: Data;
20
- };
21
- }> {
22
- backend: Backend;
13
+ declare class Attributes extends DataMap {
23
14
  /**
24
15
  * Constructs a new attribute management component.
25
16
  *
26
17
  * @param {Backend} backend - The renderer's backend.
27
18
  */
28
19
  constructor(backend: Backend);
20
+ /**
21
+ * The renderer's backend.
22
+ *
23
+ * @type {Backend}
24
+ */
25
+ backend: Backend;
29
26
  /**
30
27
  * Deletes the data for the given attribute.
31
28
  *
32
29
  * @param {BufferAttribute} attribute - The attribute.
33
30
  * @return {?Object} The deleted attribute data.
34
31
  */
35
- delete(attribute: BufferAttribute | InterleavedBufferAttribute): Data;
32
+ delete(attribute: BufferAttribute | InterleavedBufferAttribute): unknown;
36
33
  /**
37
34
  * Updates the given attribute. This method creates attribute buffers
38
35
  * for new attributes and updates data for existing ones.
@@ -40,7 +37,7 @@ declare class Attributes extends DataMap<{
40
37
  * @param {BufferAttribute} attribute - The attribute to update.
41
38
  * @param {number} type - The attribute type.
42
39
  */
43
- update(attribute: BufferAttribute | InterleavedBufferAttribute, type: AttributeType): void;
40
+ update(attribute: BufferAttribute | InterleavedBufferAttribute, type: number): void;
44
41
  /**
45
42
  * Utility method for handling interleaved buffer attributes correctly.
46
43
  * To process them, their `InterleavedBuffer` is returned.
@@ -50,4 +47,5 @@ declare class Attributes extends DataMap<{
50
47
  */
51
48
  _getBufferAttribute(attribute: BufferAttribute | InterleavedBufferAttribute): BufferAttribute | InterleavedBuffer;
52
49
  }
50
+
53
51
  export default Attributes;
@@ -7,8 +7,6 @@ declare module "../../core/Object3D.js" {
7
7
  count?: number | undefined;
8
8
  // See https://github.com/mrdoob/three.js/pull/26335
9
9
  occlusionTest?: boolean | undefined;
10
- // https://github.com/mrdoob/three.js/pull/29386
11
- static?: boolean | undefined;
12
10
  }
13
11
  }
14
12
 
@@ -1,35 +1,36 @@
1
- import { Mesh } from "../../objects/Mesh.js";
2
1
  import { Scene } from "../../scenes/Scene.js";
3
2
  import DataMap from "./DataMap.js";
4
- import Nodes from "./nodes/Nodes.js";
3
+ import NodeManager from "./nodes/NodeManager.js";
5
4
  import RenderContext from "./RenderContext.js";
6
5
  import Renderer from "./Renderer.js";
7
6
  import RenderList from "./RenderList.js";
8
- interface SceneData {
9
- backgroundMesh?: Mesh;
10
- backgroundCacheKey: string;
11
- }
7
+
12
8
  /**
13
9
  * This renderer module manages the background.
14
10
  *
15
11
  * @private
16
12
  * @augments DataMap
17
13
  */
18
- declare class Background extends DataMap<{
19
- scene: {
20
- key: Scene;
21
- value: SceneData;
22
- };
23
- }> {
24
- renderer: Renderer;
25
- nodes: Nodes;
14
+ declare class Background extends DataMap {
26
15
  /**
27
16
  * Constructs a new background management component.
28
17
  *
29
18
  * @param {Renderer} renderer - The renderer.
30
19
  * @param {Nodes} nodes - Renderer component for managing nodes related logic.
31
20
  */
32
- constructor(renderer: Renderer, nodes: Nodes);
21
+ constructor(renderer: Renderer, nodes: NodeManager);
22
+ /**
23
+ * The renderer.
24
+ *
25
+ * @type {Renderer}
26
+ */
27
+ renderer: Renderer;
28
+ /**
29
+ * Renderer component for managing nodes related logic.
30
+ *
31
+ * @type {Nodes}
32
+ */
33
+ nodes: NodeManager;
33
34
  /**
34
35
  * Updates the background for the given scene. Depending on how `Scene.background`
35
36
  * or `Scene.backgroundNode` are configured, this method might configure a simple clear
@@ -42,4 +43,5 @@ declare class Background extends DataMap<{
42
43
  */
43
44
  update(scene: Scene, renderList: RenderList, renderContext: RenderContext): void;
44
45
  }
46
+
45
47
  export default Background;
@@ -1,5 +1,5 @@
1
1
  import Binding from "./Binding.js";
2
- import NodeUniformsGroup from "./nodes/NodeUniformsGroup.js";
2
+
3
3
  /**
4
4
  * A bind group represents a collection of bindings and thus a collection
5
5
  * or resources. Bind groups are assigned to pipelines to provide them
@@ -8,24 +8,38 @@ import NodeUniformsGroup from "./nodes/NodeUniformsGroup.js";
8
8
  * @private
9
9
  */
10
10
  declare class BindGroup {
11
- name: string;
12
- bindings: NodeUniformsGroup[] | Binding[];
13
- index: number;
14
- bindingsReference: NodeUniformsGroup[] | BindGroup;
15
- id: number;
16
11
  /**
17
12
  * Constructs a new bind group.
18
13
  *
19
14
  * @param {string} name - The bind group's name.
20
15
  * @param {Array<Binding>} bindings - An array of bindings.
21
16
  * @param {number} index - The group index.
22
- * @param {Array<Binding>} bindingsReference - An array of reference bindings.
23
17
  */
24
- constructor(
25
- name?: string,
26
- bindings?: NodeUniformsGroup[],
27
- index?: number,
28
- bindingsReference?: NodeUniformsGroup[] | BindGroup,
29
- );
18
+ constructor(name?: string, bindings?: Binding[], index?: number);
19
+ /**
20
+ * The bind group's name.
21
+ *
22
+ * @type {string}
23
+ */
24
+ name: string;
25
+ /**
26
+ * An array of bindings.
27
+ *
28
+ * @type {Array<Binding>}
29
+ */
30
+ bindings: Binding[];
31
+ /**
32
+ * The group index.
33
+ *
34
+ * @type {number}
35
+ */
36
+ index: number;
37
+ /**
38
+ * The group's ID.
39
+ *
40
+ * @type {number}
41
+ */
42
+ id: number;
30
43
  }
44
+
31
45
  export default BindGroup;
@@ -8,14 +8,25 @@
8
8
  * @private
9
9
  */
10
10
  declare class Binding {
11
- name: string;
12
- visibility: number;
13
11
  /**
14
12
  * Constructs a new binding.
15
13
  *
16
14
  * @param {string} [name=''] - The binding's name.
17
15
  */
18
16
  constructor(name?: string);
17
+ /**
18
+ * The binding's name.
19
+ *
20
+ * @type {string}
21
+ */
22
+ name: string;
23
+ /**
24
+ * A bitmask that defines in what shader stages the
25
+ * binding's resource is accessible.
26
+ *
27
+ * @type {number}
28
+ */
29
+ visibility: number;
19
30
  /**
20
31
  * Makes sure binding's resource is visible for the given shader stage.
21
32
  *
@@ -33,6 +44,7 @@ declare class Binding {
33
44
  *
34
45
  * @return {Binding} The cloned binding.
35
46
  */
36
- clone(): Binding & this;
47
+ clone(): Binding;
37
48
  }
49
+
38
50
  export default Binding;
@@ -4,20 +4,18 @@ import Backend from "./Backend.js";
4
4
  import BindGroup from "./BindGroup.js";
5
5
  import DataMap from "./DataMap.js";
6
6
  import Info from "./Info.js";
7
- import Nodes from "./nodes/Nodes.js";
7
+ import NodeManager from "./nodes/NodeManager.js";
8
8
  import Pipelines from "./Pipelines.js";
9
9
  import RenderObject from "./RenderObject.js";
10
10
  import Textures from "./Textures.js";
11
- interface BindGroupData {
12
- bindGroup?: BindGroup | undefined;
13
- }
11
+
14
12
  /**
15
13
  * This renderer module manages the bindings of the renderer.
16
14
  *
17
15
  * @private
18
16
  * @augments DataMap
19
17
  */
20
- declare class Bindings extends DataMap<{
18
+ declare class Bindings extends DataMap {
21
19
  /**
22
20
  * Constructs a new bindings management component.
23
21
  *
@@ -28,25 +26,50 @@ declare class Bindings extends DataMap<{
28
26
  * @param {Pipelines} pipelines - Renderer component for managing pipelines.
29
27
  * @param {Info} info - Renderer component for managing metrics and monitoring data.
30
28
  */
31
- bindGroup: {
32
- key: BindGroup;
33
- value: BindGroupData;
34
- };
35
- }> {
36
- backend: Backend;
37
- textures: Textures;
38
- pipelines: Pipelines;
39
- attributes: Attributes;
40
- nodes: Nodes;
41
- info: Info;
42
29
  constructor(
43
30
  backend: Backend,
44
- nodes: Nodes,
31
+ nodes: NodeManager,
45
32
  textures: Textures,
46
33
  attributes: Attributes,
47
34
  pipelines: Pipelines,
48
35
  info: Info,
49
36
  );
37
+ /**
38
+ * The renderer's backend.
39
+ *
40
+ * @type {Backend}
41
+ */
42
+ backend: Backend;
43
+ /**
44
+ * Renderer component for managing textures.
45
+ *
46
+ * @type {Textures}
47
+ */
48
+ textures: Textures;
49
+ /**
50
+ * Renderer component for managing pipelines.
51
+ *
52
+ * @type {Pipelines}
53
+ */
54
+ pipelines: Pipelines;
55
+ /**
56
+ * Renderer component for managing attributes.
57
+ *
58
+ * @type {Attributes}
59
+ */
60
+ attributes: Attributes;
61
+ /**
62
+ * Renderer component for managing nodes related logic.
63
+ *
64
+ * @type {Nodes}
65
+ */
66
+ nodes: NodeManager;
67
+ /**
68
+ * Renderer component for managing metrics and monitoring data.
69
+ *
70
+ * @type {Info}
71
+ */
72
+ info: Info;
50
73
  /**
51
74
  * Returns the bind groups for the given render object.
52
75
  *
@@ -105,4 +128,5 @@ declare class Bindings extends DataMap<{
105
128
  */
106
129
  _update(bindGroup: BindGroup, bindings: BindGroup[]): void;
107
130
  }
131
+
108
132
  export default Bindings;
@@ -0,0 +1,22 @@
1
+ import { Blending, BlendingDstFactor, BlendingEquation, BlendingSrcFactor } from "../../constants.js";
2
+
3
+ declare class BlendMode {
4
+ blending: Blending;
5
+
6
+ blendSrc: BlendingSrcFactor;
7
+ blendDst: BlendingDstFactor;
8
+ blendEquation: BlendingEquation;
9
+
10
+ blendSrcAlpha: BlendingSrcFactor | null;
11
+ blendDstAlpha: BlendingDstFactor | null;
12
+ blendEquationAlpha: BlendingEquation | null;
13
+ premultiplyAlpha: boolean;
14
+
15
+ constructor(blending: Blending);
16
+
17
+ copy(source: BlendMode): this;
18
+
19
+ clone(): BlendMode;
20
+ }
21
+
22
+ export default BlendMode;
@@ -1,4 +1,6 @@
1
+ import { TypedArray } from "../../core/BufferAttribute.js";
1
2
  import Binding from "./Binding.js";
3
+
2
4
  /**
3
5
  * Represents a buffer binding type.
4
6
  *
@@ -7,29 +9,50 @@ import Binding from "./Binding.js";
7
9
  * @augments Binding
8
10
  */
9
11
  declare class Buffer extends Binding {
10
- readonly isBuffer: true;
11
- bytesPerElement: number;
12
- _buffer: Float32Array | null;
13
- _updateRanges: {
14
- start: number;
15
- count: number;
16
- }[];
17
12
  /**
18
13
  * Constructs a new buffer.
19
14
  *
20
15
  * @param {string} name - The buffer's name.
21
16
  * @param {TypedArray} [buffer=null] - The buffer.
22
17
  */
23
- constructor(name?: string, buffer?: Float32Array | null);
18
+ constructor(name: string, buffer?: TypedArray);
19
+ /**
20
+ * This flag can be used for type testing.
21
+ *
22
+ * @type {boolean}
23
+ * @readonly
24
+ * @default true
25
+ */
26
+ readonly isBuffer: boolean;
27
+ /**
28
+ * The bytes per element.
29
+ *
30
+ * @type {number}
31
+ */
32
+ bytesPerElement: number;
33
+ /**
34
+ * A reference to the internal buffer.
35
+ *
36
+ * @private
37
+ * @type {TypedArray}
38
+ */
39
+ private _buffer;
40
+ /**
41
+ * An array of update ranges.
42
+ *
43
+ * @private
44
+ * @type {Array<{start: number, count: number}>}
45
+ */
46
+ private _updateRanges;
24
47
  /**
25
48
  * The array of update ranges.
26
49
  *
27
50
  * @type {Array<{start: number, count: number}>}
28
51
  */
29
- get updateRanges(): {
52
+ get updateRanges(): Array<{
30
53
  start: number;
31
54
  count: number;
32
- }[];
55
+ }>;
33
56
  /**
34
57
  * Adds an update range.
35
58
  *
@@ -54,7 +77,7 @@ declare class Buffer extends Binding {
54
77
  * @type {Float32Array}
55
78
  * @readonly
56
79
  */
57
- get buffer(): Float32Array | null;
80
+ get buffer(): TypedArray;
58
81
  /**
59
82
  * Updates the binding.
60
83
  *
@@ -63,4 +86,5 @@ declare class Buffer extends Binding {
63
86
  */
64
87
  update(): boolean;
65
88
  }
89
+
66
90
  export default Buffer;
@@ -6,7 +6,7 @@
6
6
  * @param {number} floatLength - The buffer length.
7
7
  * @return {number} The padded length.
8
8
  */
9
- declare function getFloatLength(floatLength: number): number;
9
+ export function getFloatLength(floatLength: number): number;
10
10
  /**
11
11
  * Given the count of vectors and their vector length, this function computes
12
12
  * a total length in bytes with buffer alignment according to STD140 layout.
@@ -16,7 +16,7 @@ declare function getFloatLength(floatLength: number): number;
16
16
  * @param {number} [vectorLength=4] - The vector length.
17
17
  * @return {number} The padded length.
18
18
  */
19
- declare function getVectorLength(count: number, vectorLength?: number): number;
19
+ export function getVectorLength(count: number, vectorLength?: number): number;
20
20
  /**
21
21
  * This function is called with a vector length and ensure the computed length
22
22
  * matches a predefined stride (in this case `4`).
@@ -25,5 +25,4 @@ declare function getVectorLength(count: number, vectorLength?: number): number;
25
25
  * @param {number} vectorLength - The vector length.
26
26
  * @return {number} The padded length.
27
27
  */
28
- declare function getStrideLength(vectorLength: number): number;
29
- export { getFloatLength, getStrideLength, getVectorLength };
28
+ export function getStrideLength(vectorLength: number): number;