@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
@@ -1,31 +1,18 @@
1
1
  import { BufferAttribute } from "../../core/BufferAttribute.js";
2
2
  import { BufferGeometry } from "../../core/BufferGeometry.js";
3
- import { InterleavedBuffer } from "../../core/InterleavedBuffer.js";
4
- import { InterleavedBufferAttribute } from "../../core/InterleavedBufferAttribute.js";
5
3
  import Attributes from "./Attributes.js";
6
4
  import { AttributeType } from "./Constants.js";
7
5
  import DataMap from "./DataMap.js";
8
6
  import Info from "./Info.js";
9
7
  import RenderObject from "./RenderObject.js";
10
- interface GeometryData {
11
- initialized?: boolean | undefined;
12
- }
8
+
13
9
  /**
14
10
  * This renderer module manages geometries.
15
11
  *
16
12
  * @private
17
13
  * @augments DataMap
18
14
  */
19
- declare class Geometries extends DataMap<{
20
- geometry: {
21
- key: BufferGeometry;
22
- value: GeometryData;
23
- };
24
- }> {
25
- attributes: Attributes;
26
- info: Info;
27
- wireframes: WeakMap<BufferGeometry, BufferAttribute>;
28
- attributeCall: WeakMap<BufferAttribute | InterleavedBufferAttribute | InterleavedBuffer, number>;
15
+ declare class Geometries extends DataMap {
29
16
  /**
30
17
  * Constructs a new geometry management component.
31
18
  *
@@ -33,13 +20,45 @@ declare class Geometries extends DataMap<{
33
20
  * @param {Info} info - Renderer component for managing metrics and monitoring data.
34
21
  */
35
22
  constructor(attributes: Attributes, info: Info);
23
+ /**
24
+ * Renderer component for managing attributes.
25
+ *
26
+ * @type {Attributes}
27
+ */
28
+ attributes: Attributes;
29
+ /**
30
+ * Renderer component for managing metrics and monitoring data.
31
+ *
32
+ * @type {Info}
33
+ */
34
+ info: Info;
35
+ /**
36
+ * Weak Map for managing attributes for wireframe rendering.
37
+ *
38
+ * @type {WeakMap<BufferGeometry,BufferAttribute>}
39
+ */
40
+ wireframes: WeakMap<BufferGeometry, BufferAttribute>;
41
+ /**
42
+ * This Weak Map is used to make sure buffer attributes are
43
+ * updated only once per render call.
44
+ *
45
+ * @type {WeakMap<BufferAttribute,number>}
46
+ */
47
+ attributeCall: WeakMap<BufferAttribute, number>;
48
+ /**
49
+ * Stores the event listeners attached to geometries.
50
+ *
51
+ * @private
52
+ * @type {Map<BufferGeometry,Function>}
53
+ */
54
+ private _geometryDisposeListeners;
36
55
  /**
37
56
  * Returns `true` if the given render object has an initialized geometry.
38
57
  *
39
58
  * @param {RenderObject} renderObject - The render object.
40
59
  * @return {boolean} Whether if the given render object has an initialized geometry or not.
41
60
  */
42
- has(renderObject: RenderObject | BufferGeometry): boolean;
61
+ has(renderObject: RenderObject): boolean;
43
62
  /**
44
63
  * Prepares the geometry of the given render object for rendering.
45
64
  *
@@ -64,14 +83,21 @@ declare class Geometries extends DataMap<{
64
83
  * @param {BufferAttribute} attribute - The attribute to update.
65
84
  * @param {number} type - The attribute type.
66
85
  */
67
- updateAttribute(attribute: BufferAttribute | InterleavedBufferAttribute, type: AttributeType): void;
86
+ updateAttribute(attribute: BufferAttribute, type: AttributeType): void;
68
87
  /**
69
88
  * Returns the indirect buffer attribute of the given render object.
70
89
  *
71
90
  * @param {RenderObject} renderObject - The render object.
72
91
  * @return {?BufferAttribute} The indirect attribute. `null` if no indirect drawing is used.
73
92
  */
74
- getIndirect(renderObject: RenderObject): import("./IndirectStorageBufferAttribute.js").default | null;
93
+ getIndirect(renderObject: RenderObject): BufferAttribute | null;
94
+ /**
95
+ * Returns the byte offset into the indirect attribute buffer of the given render object.
96
+ *
97
+ * @param {RenderObject} renderObject - The render object.
98
+ * @return {number} The byte offset into the indirect attribute buffer.
99
+ */
100
+ getIndirectOffset(renderObject: RenderObject): number;
75
101
  /**
76
102
  * Returns the index of the given render object's geometry. This is implemented
77
103
  * in a method to return a wireframe index if necessary.
@@ -80,6 +106,6 @@ declare class Geometries extends DataMap<{
80
106
  * @return {?BufferAttribute} The index. Returns `null` for non-indexed geometries.
81
107
  */
82
108
  getIndex(renderObject: RenderObject): BufferAttribute | null;
83
- dispose(): void;
84
109
  }
110
+
85
111
  export default Geometries;
@@ -1,14 +1,53 @@
1
1
  import { Object3D } from "../../core/Object3D.js";
2
+
2
3
  /**
3
4
  * This renderer module provides a series of statistical information
4
5
  * about the GPU memory and the rendering process. Useful for debugging
5
6
  * and monitoring.
6
7
  */
7
8
  declare class Info {
9
+ /**
10
+ * Whether frame related metrics should automatically
11
+ * be resetted or not. This property should be set to `false`
12
+ * by apps which manage their own animation loop. They must
13
+ * then call `renderer.info.reset()` once per frame manually.
14
+ *
15
+ * @type {boolean}
16
+ * @default true
17
+ */
8
18
  autoReset: boolean;
9
- frame: number;
10
- calls: number;
11
- render: {
19
+ /**
20
+ * The current frame ID. This ID is managed
21
+ * by `NodeFrame`.
22
+ *
23
+ * @type {number}
24
+ * @readonly
25
+ * @default 0
26
+ */
27
+ readonly frame: number;
28
+ /**
29
+ * The number of render calls since the
30
+ * app has been started.
31
+ *
32
+ * @type {number}
33
+ * @readonly
34
+ * @default 0
35
+ */
36
+ readonly calls: number;
37
+ /**
38
+ * Render related metrics.
39
+ *
40
+ * @type {Object}
41
+ * @readonly
42
+ * @property {number} calls - The number of render calls since the app has been started.
43
+ * @property {number} frameCalls - The number of render calls of the current frame.
44
+ * @property {number} drawCalls - The number of draw calls of the current frame.
45
+ * @property {number} triangles - The number of rendered triangle primitives of the current frame.
46
+ * @property {number} points - The number of rendered point primitives of the current frame.
47
+ * @property {number} lines - The number of rendered line primitives of the current frame.
48
+ * @property {number} timestamp - The timestamp of the frame.
49
+ */
50
+ readonly render: {
12
51
  calls: number;
13
52
  frameCalls: number;
14
53
  drawCalls: number;
@@ -17,19 +56,32 @@ declare class Info {
17
56
  lines: number;
18
57
  timestamp: number;
19
58
  };
20
- compute: {
59
+ /**
60
+ * Compute related metrics.
61
+ *
62
+ * @type {Object}
63
+ * @readonly
64
+ * @property {number} calls - The number of compute calls since the app has been started.
65
+ * @property {number} frameCalls - The number of compute calls of the current frame.
66
+ * @property {number} timestamp - The timestamp of the frame when using `renderer.computeAsync()`.
67
+ */
68
+ readonly compute: {
21
69
  calls: number;
22
70
  frameCalls: number;
23
71
  timestamp: number;
24
72
  };
25
- memory: {
73
+ /**
74
+ * Memory related metrics.
75
+ *
76
+ * @type {Object}
77
+ * @readonly
78
+ * @property {number} geometries - The number of active geometries.
79
+ * @property {number} frameCalls - The number of active textures.
80
+ */
81
+ readonly memory: {
26
82
  geometries: number;
27
83
  textures: number;
28
84
  };
29
- /**
30
- * Constructs a new info component.
31
- */
32
- constructor();
33
85
  /**
34
86
  * This method should be executed per draw call and updates the corresponding metrics.
35
87
  *
@@ -47,4 +99,5 @@ declare class Info {
47
99
  */
48
100
  dispose(): void;
49
101
  }
102
+
50
103
  export default Info;
@@ -1,39 +1,50 @@
1
1
  import { Camera } from "../../cameras/Camera.js";
2
2
  import { RenderTarget } from "../../core/RenderTarget.js";
3
+ import Node from "../../nodes/core/Node.js";
4
+ import NodeFrame from "../../nodes/core/NodeFrame.js";
3
5
  import ComputeNode from "../../nodes/gpgpu/ComputeNode.js";
4
6
  import { Scene } from "../../scenes/Scene.js";
5
7
  import { Texture } from "../../textures/Texture.js";
6
8
  import Renderer from "./Renderer.js";
9
+
7
10
  /**
8
11
  * InspectorBase is the base class for all inspectors.
9
12
  *
10
13
  * @class InspectorBase
11
14
  */
12
15
  declare class InspectorBase {
13
- _renderer: Renderer | null;
14
16
  /**
15
- * Creates a new InspectorBase.
17
+ * The renderer associated with this inspector.
18
+ *
19
+ * @type {WebGLRenderer}
20
+ * @private
21
+ */
22
+ private _renderer;
23
+ /**
24
+ * The current frame being processed.
25
+ *
26
+ * @type {Object}
16
27
  */
17
- constructor();
28
+ currentFrame: unknown;
18
29
  /**
19
30
  * Returns the node frame for the current renderer.
20
31
  *
21
32
  * @return {Object} The node frame.
22
33
  */
23
- get nodeFrame(): import("../../Three.WebGPU.Nodes.js").NodeFrame;
34
+ get nodeFrame(): NodeFrame;
24
35
  /**
25
36
  * Sets the renderer for this inspector.
26
37
  *
27
38
  * @param {WebGLRenderer} renderer - The renderer to associate with this inspector.
28
39
  * @return {InspectorBase} This inspector instance.
29
40
  */
30
- setRenderer(renderer: Renderer | null): this;
41
+ setRenderer(renderer: Renderer): InspectorBase;
31
42
  /**
32
43
  * Returns the renderer associated with this inspector.
33
44
  *
34
45
  * @return {WebGLRenderer} The associated renderer.
35
46
  */
36
- getRenderer(): Renderer | null;
47
+ getRenderer(): Renderer;
37
48
  /**
38
49
  * Initializes the inspector.
39
50
  */
@@ -51,7 +62,7 @@ declare class InspectorBase {
51
62
  *
52
63
  * @param {Node} node - The node to inspect.
53
64
  */
54
- inspect(): void;
65
+ inspect(node: Node): void;
55
66
  /**
56
67
  * When a compute operation is performed.
57
68
  *
@@ -102,4 +113,5 @@ declare class InspectorBase {
102
113
  */
103
114
  copyFramebufferToTexture(framebufferTexture: Texture): void;
104
115
  }
116
+
105
117
  export default InspectorBase;
@@ -1,15 +1,11 @@
1
- import { Camera } from "../../cameras/Camera.js";
2
1
  import { Object3D } from "../../core/Object3D.js";
3
2
  import { Light } from "../../lights/Light.js";
4
3
  import LightsNode from "../../nodes/lighting/LightsNode.js";
5
- import ChainMap from "./ChainMap.js";
6
-
7
- declare class Lighting extends ChainMap<[Object3D, Camera], LightsNode> {
8
- constructor();
9
4
 
5
+ declare class Lighting {
10
6
  createNode(lights?: Light[]): LightsNode;
11
7
 
12
- getNode(scene: Object3D, camera: Camera): LightsNode;
8
+ getNode(scene: Object3D): LightsNode;
13
9
  }
14
10
 
15
11
  export default Lighting;
@@ -5,13 +5,25 @@
5
5
  * @abstract
6
6
  */
7
7
  declare class Pipeline {
8
- cacheKey: string;
9
- usedTimes: number;
10
8
  /**
11
9
  * Constructs a new pipeline.
12
10
  *
13
11
  * @param {string} cacheKey - The pipeline's cache key.
14
12
  */
15
13
  constructor(cacheKey: string);
14
+ /**
15
+ * The pipeline's cache key.
16
+ *
17
+ * @type {string}
18
+ */
19
+ cacheKey: string;
20
+ /**
21
+ * How often the pipeline is currently in use.
22
+ *
23
+ * @type {number}
24
+ * @default 0
25
+ */
26
+ usedTimes: number;
16
27
  }
28
+
17
29
  export default Pipeline;
@@ -1,53 +1,69 @@
1
1
  import ComputeNode from "../../nodes/gpgpu/ComputeNode.js";
2
2
  import Backend from "./Backend.js";
3
- import Binding from "./Binding.js";
3
+ import BindGroup from "./BindGroup.js";
4
4
  import Bindings from "./Bindings.js";
5
5
  import ComputePipeline from "./ComputePipeline.js";
6
6
  import DataMap from "./DataMap.js";
7
- import Nodes from "./nodes/Nodes.js";
7
+ import NodeManager from "./nodes/NodeManager.js";
8
8
  import Pipeline from "./Pipeline.js";
9
9
  import ProgrammableStage from "./ProgrammableStage.js";
10
10
  import RenderObject from "./RenderObject.js";
11
- import RenderPipeline from "./RenderPipeline.js";
12
- interface ComputeNodeData {
13
- version: number;
14
- pipeline: ComputePipeline;
15
- }
16
- interface RenderObjectData {
17
- pipeline: RenderPipeline;
18
- }
11
+ import RenderObjectPipeline from "./RenderObjectPipeline.js";
12
+
19
13
  /**
20
14
  * This renderer module manages the pipelines of the renderer.
21
15
  *
22
16
  * @private
23
17
  * @augments DataMap
24
18
  */
25
- declare class Pipelines extends DataMap<{
26
- computeNode: {
27
- key: ComputeNode;
28
- value: ComputeNodeData;
29
- };
30
- renderObject: {
31
- key: RenderObject;
32
- value: RenderObjectData;
33
- };
34
- }> {
19
+ declare class Pipelines extends DataMap {
20
+ /**
21
+ * Constructs a new pipeline management component.
22
+ *
23
+ * @param {Backend} backend - The renderer's backend.
24
+ * @param {Nodes} nodes - Renderer component for managing nodes related logic.
25
+ */
26
+ constructor(backend: Backend, nodes: NodeManager);
27
+ /**
28
+ * The renderer's backend.
29
+ *
30
+ * @type {Backend}
31
+ */
35
32
  backend: Backend;
36
- nodes: Nodes;
33
+ /**
34
+ * Renderer component for managing nodes related logic.
35
+ *
36
+ * @type {Nodes}
37
+ */
38
+ nodes: NodeManager;
39
+ /**
40
+ * A references to the bindings management component.
41
+ * This reference will be set inside the `Bindings`
42
+ * constructor.
43
+ *
44
+ * @type {?Bindings}
45
+ * @default null
46
+ */
37
47
  bindings: Bindings | null;
48
+ /**
49
+ * Internal cache for maintaining pipelines.
50
+ * The key of the map is a cache key, the value the pipeline.
51
+ *
52
+ * @type {Map<string,Pipeline>}
53
+ */
38
54
  caches: Map<string, Pipeline>;
55
+ /**
56
+ * This dictionary maintains for each shader stage type (vertex,
57
+ * fragment and compute) the programmable stage objects which
58
+ * represent the actual shader code.
59
+ *
60
+ * @type {Object<string,Map<string, ProgrammableStage>>}
61
+ */
39
62
  programs: {
40
63
  vertex: Map<string, ProgrammableStage>;
41
64
  fragment: Map<string, ProgrammableStage>;
42
65
  compute: Map<string, ProgrammableStage>;
43
66
  };
44
- /**
45
- * Constructs a new pipeline management component.
46
- *
47
- * @param {Backend} backend - The renderer's backend.
48
- * @param {Nodes} nodes - Renderer component for managing nodes related logic.
49
- */
50
- constructor(backend: Backend, nodes: Nodes);
51
67
  /**
52
68
  * Returns a compute pipeline for the given compute node.
53
69
  *
@@ -55,26 +71,22 @@ declare class Pipelines extends DataMap<{
55
71
  * @param {Array<BindGroup>} bindings - The bindings.
56
72
  * @return {ComputePipeline} The compute pipeline.
57
73
  */
58
- getForCompute(computeNode: ComputeNode, bindings: Binding[]): ComputePipeline;
74
+ getForCompute(computeNode: ComputeNode, bindings: BindGroup[]): ComputePipeline;
59
75
  /**
60
76
  * Returns a render pipeline for the given render object.
61
77
  *
62
78
  * @param {RenderObject} renderObject - The render object.
63
79
  * @param {?Array<Promise>} [promises=null] - An array of compilation promises which is only relevant in context of `Renderer.compileAsync()`.
64
- * @return {RenderPipeline} The render pipeline.
80
+ * @return {RenderObjectPipeline} The render pipeline.
65
81
  */
66
- getForRender(renderObject: RenderObject, promises?: Promise<void>[] | null): RenderPipeline;
82
+ getForRender(renderObject: RenderObject, promises?: Promise<void>[] | null): RenderObjectPipeline;
67
83
  /**
68
84
  * Deletes the pipeline for the given render object.
69
85
  *
70
86
  * @param {RenderObject} object - The render object.
71
87
  * @return {?Object} The deleted dictionary.
72
88
  */
73
- delete(object: ComputeNode | RenderObject): never;
74
- /**
75
- * Frees internal resources.
76
- */
77
- dispose(): void;
89
+ delete(object: RenderObject): unknown;
78
90
  /**
79
91
  * Updates the pipeline for the given render object.
80
92
  *
@@ -91,12 +103,7 @@ declare class Pipelines extends DataMap<{
91
103
  * @param {Array<BindGroup>} bindings - The bindings.
92
104
  * @return {ComputePipeline} The compute pipeline.
93
105
  */
94
- _getComputePipeline(
95
- computeNode: ComputeNode,
96
- stageCompute: ProgrammableStage,
97
- cacheKey: string,
98
- bindings: Binding[],
99
- ): ComputePipeline;
106
+ private _getComputePipeline;
100
107
  /**
101
108
  * Returns a render pipeline for the given parameters.
102
109
  *
@@ -106,15 +113,9 @@ declare class Pipelines extends DataMap<{
106
113
  * @param {ProgrammableStage} stageFragment - The programmable stage representing the fragment shader.
107
114
  * @param {string} cacheKey - The cache key.
108
115
  * @param {?Array<Promise>} promises - An array of compilation promises which is only relevant in context of `Renderer.compileAsync()`.
109
- * @return {ComputePipeline} The compute pipeline.
116
+ * @return {RenderObjectPipeline} The render pipeline.
110
117
  */
111
- _getRenderPipeline(
112
- renderObject: RenderObject,
113
- stageVertex: ProgrammableStage,
114
- stageFragment: ProgrammableStage,
115
- cacheKey: string,
116
- promises: Promise<void>[] | null,
117
- ): RenderPipeline;
118
+ private _getRenderPipeline;
118
119
  /**
119
120
  * Computes a cache key representing a compute pipeline.
120
121
  *
@@ -123,7 +124,7 @@ declare class Pipelines extends DataMap<{
123
124
  * @param {ProgrammableStage} stageCompute - The programmable stage representing the compute shader.
124
125
  * @return {string} The cache key.
125
126
  */
126
- _getComputeCacheKey(computeNode: ComputeNode, stageCompute: ProgrammableStage): string;
127
+ private _getComputeCacheKey;
127
128
  /**
128
129
  * Computes a cache key representing a render pipeline.
129
130
  *
@@ -133,25 +134,21 @@ declare class Pipelines extends DataMap<{
133
134
  * @param {ProgrammableStage} stageFragment - The programmable stage representing the fragment shader.
134
135
  * @return {string} The cache key.
135
136
  */
136
- _getRenderCacheKey(
137
- renderObject: RenderObject,
138
- stageVertex: ProgrammableStage,
139
- stageFragment: ProgrammableStage,
140
- ): string;
137
+ private _getRenderCacheKey;
141
138
  /**
142
139
  * Releases the given pipeline.
143
140
  *
144
141
  * @private
145
142
  * @param {Pipeline} pipeline - The pipeline to release.
146
143
  */
147
- _releasePipeline(pipeline: Pipeline): void;
144
+ private _releasePipeline;
148
145
  /**
149
146
  * Releases the shader program.
150
147
  *
151
148
  * @private
152
149
  * @param {Object} program - The shader program to release.
153
150
  */
154
- _releaseProgram(program: ProgrammableStage): void;
151
+ private _releaseProgram;
155
152
  /**
156
153
  * Returns `true` if the compute pipeline for the given compute node requires an update.
157
154
  *
@@ -159,7 +156,7 @@ declare class Pipelines extends DataMap<{
159
156
  * @param {Node} computeNode - The compute node.
160
157
  * @return {boolean} Whether the compute pipeline for the given compute node requires an update or not.
161
158
  */
162
- _needsComputeUpdate(computeNode: ComputeNode): boolean;
159
+ private _needsComputeUpdate;
163
160
  /**
164
161
  * Returns `true` if the render pipeline for the given render object requires an update.
165
162
  *
@@ -167,6 +164,7 @@ declare class Pipelines extends DataMap<{
167
164
  * @param {RenderObject} renderObject - The render object.
168
165
  * @return {boolean} Whether the render object for the given render object requires an update or not.
169
166
  */
170
- _needsRenderUpdate(renderObject: RenderObject): true | void;
167
+ private _needsRenderUpdate;
171
168
  }
169
+
172
170
  export default Pipelines;
@@ -1,24 +1,21 @@
1
1
  import { Node } from "../../nodes/Nodes.js";
2
2
  import Renderer from "./Renderer.js";
3
-
4
- declare class PostProcessing {
5
- renderer: Renderer;
6
- outputNode: Node;
7
-
8
- outputColorTransform: boolean;
9
-
10
- needsUpdate: boolean;
11
-
12
- constructor(renderer: Renderer, outputNode?: Node);
13
-
14
- render(): void;
15
-
16
- dispose(): void;
17
-
3
+ import RenderPipeline from "./RenderPipeline.js";
4
+
5
+ /**
6
+ * @deprecated Use {@link RenderPipeline} instead. PostProcessing has been renamed to RenderPipeline.
7
+ *
8
+ * This class is a wrapper for backward compatibility and will be removed in a future version.
9
+ */
10
+ declare class PostProcessing extends RenderPipeline {
18
11
  /**
19
- * @deprecated "renderAsync()" has been deprecated. Use "render()" and "await renderer.init();" when creating the renderer.
12
+ * Constructs a new post processing management module.
13
+ *
14
+ * @param {Renderer} renderer - A reference to the renderer.
15
+ * @param {Node<vec4>} outputNode - An optional output node.
16
+ * @deprecated since r183. Use {@link RenderPipeline} instead.
20
17
  */
21
- renderAsync(): Promise<void>;
18
+ constructor(renderer: Renderer, outputNode?: Node);
22
19
  }
23
20
 
24
21
  export default PostProcessing;
@@ -1,4 +1,5 @@
1
1
  import NodeAttribute from "../../nodes/core/NodeAttribute.js";
2
+
2
3
  /**
3
4
  * Class for representing programmable stages which are vertex,
4
5
  * fragment or compute shaders. Unlike fixed-function states (like blending),
@@ -7,12 +8,6 @@ import NodeAttribute from "../../nodes/core/NodeAttribute.js";
7
8
  * @private
8
9
  */
9
10
  declare class ProgrammableStage {
10
- id: number;
11
- code: string;
12
- stage: "compute" | "vertex" | "fragment";
13
- name: string;
14
- attributes: NodeAttribute[] | null;
15
- usedTimes: number;
16
11
  /**
17
12
  * Constructs a new programmable stage.
18
13
  *
@@ -24,10 +19,55 @@ declare class ProgrammableStage {
24
19
  */
25
20
  constructor(
26
21
  code: string,
27
- stage: "compute" | "vertex" | "fragment",
22
+ stage: "vertex" | "fragment" | "compute",
28
23
  name: string,
29
- transforms?: null,
24
+ transforms?: unknown[] | null,
30
25
  attributes?: NodeAttribute[] | null,
31
26
  );
27
+ /**
28
+ * The id of the programmable stage.
29
+ *
30
+ * @type {number}
31
+ */
32
+ id: number;
33
+ /**
34
+ * The shader code.
35
+ *
36
+ * @type {string}
37
+ */
38
+ code: string;
39
+ /**
40
+ * The type of stage.
41
+ *
42
+ * @type {string}
43
+ */
44
+ stage: "vertex" | "fragment" | "compute";
45
+ /**
46
+ * The name of the stage.
47
+ * This is used for debugging purposes.
48
+ *
49
+ * @type {string}
50
+ */
51
+ name: string;
52
+ /**
53
+ * The transforms (only relevant for compute stages with WebGL 2 which uses Transform Feedback).
54
+ *
55
+ * @type {?Array<Object>}
56
+ */
57
+ transforms: unknown[] | null;
58
+ /**
59
+ * The attributes (only relevant for compute stages with WebGL 2 which uses Transform Feedback).
60
+ *
61
+ * @type {?Array<Object>}
62
+ */
63
+ attributes: NodeAttribute[] | null;
64
+ /**
65
+ * How often the programmable stage is currently in use.
66
+ *
67
+ * @type {number}
68
+ * @default 0
69
+ */
70
+ usedTimes: number;
32
71
  }
72
+
33
73
  export default ProgrammableStage;
@@ -1,5 +1,6 @@
1
1
  import { Camera } from "../../cameras/Camera.js";
2
2
  import BundleGroup from "./BundleGroup.js";
3
+
3
4
  /**
4
5
  * This module is used to represent render bundles inside the renderer
5
6
  * for further processing.
@@ -7,8 +8,6 @@ import BundleGroup from "./BundleGroup.js";
7
8
  * @private
8
9
  */
9
10
  declare class RenderBundle {
10
- bundleGroup: BundleGroup;
11
- camera: Camera;
12
11
  /**
13
12
  * Constructs a new bundle group.
14
13
  *
@@ -16,5 +15,8 @@ declare class RenderBundle {
16
15
  * @param {Camera} camera - The camera the bundle group is rendered with.
17
16
  */
18
17
  constructor(bundleGroup: BundleGroup, camera: Camera);
18
+ bundleGroup: BundleGroup;
19
+ camera: Camera;
19
20
  }
21
+
20
22
  export default RenderBundle;