@types/three 0.182.0 → 0.183.1

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 (313) 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/RenderObjectPipeline.d.ts +33 -0
  265. three/src/renderers/common/RenderObjects.d.ts +55 -22
  266. three/src/renderers/common/RenderPipeline.d.ts +20 -17
  267. three/src/renderers/common/Renderer.d.ts +625 -207
  268. three/src/renderers/common/Textures.d.ts +24 -46
  269. three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
  270. three/src/renderers/common/Uniform.d.ts +143 -58
  271. three/src/renderers/common/UniformBuffer.d.ts +7 -5
  272. three/src/renderers/common/UniformsGroup.d.ts +50 -35
  273. three/src/renderers/common/XRManager.d.ts +321 -83
  274. three/src/renderers/common/XRRenderTarget.d.ts +49 -6
  275. three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
  276. three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
  277. three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
  278. three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
  279. three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
  280. three/src/renderers/shaders/UniformsLib.d.ts +0 -3
  281. three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
  282. three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
  283. three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
  284. three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
  285. three/src/renderers/webgl/WebGLLights.d.ts +19 -18
  286. three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
  287. three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
  288. three/src/renderers/webgl/WebGLPrograms.d.ts +2 -2
  289. three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
  290. three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
  291. three/src/renderers/webgl/WebGLState.d.ts +305 -28
  292. three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
  293. three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
  294. three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
  295. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
  296. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
  297. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
  298. three/src/scenes/Fog.d.ts +31 -37
  299. three/src/scenes/FogExp2.d.ts +26 -31
  300. three/src/scenes/Scene.d.ts +51 -65
  301. three/src/textures/CompressedArrayTexture.d.ts +1 -1
  302. three/src/textures/DataArrayTexture.d.ts +1 -1
  303. three/src/utils.d.ts +5 -0
  304. three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
  305. three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
  306. three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
  307. three/src/nodes/accessors/SceneNode.d.ts +0 -21
  308. three/src/nodes/code/ScriptableNode.d.ts +0 -21
  309. three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
  310. three/src/nodes/display/PosterizeNode.d.ts +0 -13
  311. three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
  312. three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
  313. three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
@@ -1,41 +1,11 @@
1
1
  import { RenderTarget } from "../../core/RenderTarget.js";
2
2
  import { Vector3 } from "../../math/Vector3.js";
3
- import { DepthTexture } from "../../textures/DepthTexture.js";
4
3
  import { Texture } from "../../textures/Texture.js";
5
4
  import Backend from "./Backend.js";
6
5
  import DataMap from "./DataMap.js";
7
6
  import Info from "./Info.js";
8
7
  import Renderer from "./Renderer.js";
9
- type SizeVector3Uninitialized = Vector3 & {
10
- width?: number;
11
- height?: number;
12
- depth?: number;
13
- };
14
- type SizeVector3 = Vector3 & {
15
- width: number;
16
- height: number;
17
- depth: number;
18
- };
19
- interface RenderTargetData {
20
- depthTextureMips?: {
21
- [activeMipmapLevel: number]: DepthTexture;
22
- };
23
- width?: number;
24
- height?: number;
25
- textures?: Texture[];
26
- depthTexture?: DepthTexture;
27
- depth?: boolean;
28
- stencil?: boolean;
29
- renderTarget?: RenderTarget;
30
- sampleCount?: number;
31
- initialized?: boolean;
32
- }
33
- interface TextureData {
34
- initialized?: boolean;
35
- version?: number;
36
- isDefaultTexture?: boolean;
37
- generation?: number;
38
- }
8
+
39
9
  interface TextureOptions {
40
10
  width?: number;
41
11
  height?: number;
@@ -43,25 +13,14 @@ interface TextureOptions {
43
13
  needsMipmaps?: boolean;
44
14
  levels?: number;
45
15
  }
16
+
46
17
  /**
47
18
  * This module manages the textures of the renderer.
48
19
  *
49
20
  * @private
50
21
  * @augments DataMap
51
22
  */
52
- declare class Textures extends DataMap<{
53
- renderTarget: {
54
- key: RenderTarget;
55
- value: RenderTargetData;
56
- };
57
- texture: {
58
- key: Texture;
59
- value: TextureData;
60
- };
61
- }> {
62
- renderer: Renderer;
63
- backend: Backend;
64
- info: Info;
23
+ declare class Textures extends DataMap {
65
24
  /**
66
25
  * Constructs a new texture management component.
67
26
  *
@@ -70,6 +29,24 @@ declare class Textures extends DataMap<{
70
29
  * @param {Info} info - Renderer component for managing metrics and monitoring data.
71
30
  */
72
31
  constructor(renderer: Renderer, backend: Backend, info: Info);
32
+ /**
33
+ * The renderer.
34
+ *
35
+ * @type {Renderer}
36
+ */
37
+ renderer: Renderer;
38
+ /**
39
+ * The backend.
40
+ *
41
+ * @type {Backend}
42
+ */
43
+ backend: Backend;
44
+ /**
45
+ * Renderer component for managing metrics and monitoring data.
46
+ *
47
+ * @type {Info}
48
+ */
49
+ info: Info;
73
50
  /**
74
51
  * Updates the given render target. Based on the given render target configuration,
75
52
  * it updates the texture states representing the attachments of the framebuffer.
@@ -99,7 +76,7 @@ declare class Textures extends DataMap<{
99
76
  * @param {Texture} texture - The texture to update the sampler for.
100
77
  * @return {string} The current sampler key.
101
78
  */
102
- updateSampler(texture: Texture): void;
79
+ updateSampler(texture: Texture): string;
103
80
  /**
104
81
  * Computes the size of the given texture and writes the result
105
82
  * into the target vector. This vector is also returned by the
@@ -112,7 +89,7 @@ declare class Textures extends DataMap<{
112
89
  * @param {Vector3} target - The target vector.
113
90
  * @return {Vector3} The target vector.
114
91
  */
115
- getSize(texture: Texture, target?: SizeVector3Uninitialized): SizeVector3;
92
+ getSize(texture: Texture, target?: Vector3): Vector3;
116
93
  /**
117
94
  * Computes the number of mipmap levels for the given texture.
118
95
  *
@@ -144,4 +121,5 @@ declare class Textures extends DataMap<{
144
121
  */
145
122
  _destroyTexture(texture: Texture): void;
146
123
  }
124
+
147
125
  export default Textures;
@@ -4,21 +4,74 @@
4
4
  * @abstract
5
5
  */
6
6
  declare abstract class TimestampQueryPool {
7
+ /**
8
+ * Creates a new timestamp query pool.
9
+ *
10
+ * @param {number} [maxQueries=256] - Maximum number of queries this pool can hold.
11
+ */
12
+ constructor(maxQueries?: number);
13
+ /**
14
+ * Whether to track timestamps or not.
15
+ *
16
+ * @type {boolean}
17
+ * @default true
18
+ */
7
19
  trackTimestamp: boolean;
20
+ /**
21
+ * Maximum number of queries this pool can hold.
22
+ *
23
+ * @type {number}
24
+ * @default 256
25
+ */
8
26
  maxQueries: number;
27
+ /**
28
+ * How many queries allocated so far.
29
+ *
30
+ * @type {number}
31
+ * @default 0
32
+ */
9
33
  currentQueryIndex: number;
10
- queryOffsets: Map<number, number>;
34
+ /**
35
+ * Tracks offsets for different contexts.
36
+ *
37
+ * @type {Map<string, number>}
38
+ */
39
+ queryOffsets: Map<string, number>;
40
+ /**
41
+ * Whether the pool has been disposed or not.
42
+ *
43
+ * @type {boolean}
44
+ * @default false
45
+ */
11
46
  isDisposed: boolean;
47
+ /**
48
+ * The total frame duration until the next update.
49
+ *
50
+ * @type {number}
51
+ * @default 0
52
+ */
12
53
  lastValue: number;
54
+ /**
55
+ * Stores all timestamp frames.
56
+ *
57
+ * @type {Array<number>}
58
+ */
13
59
  frames: number[];
14
- pendingResolve: boolean;
15
- timestamps: Map<string, number>;
16
60
  /**
17
- * Creates a new timestamp query pool.
61
+ * This property is used to avoid multiple concurrent resolve operations.
62
+ * The WebGL backend uses it as a boolean flag. In context of WebGPU, it holds
63
+ * the promise of the current resolve operation.
18
64
  *
19
- * @param {number} [maxQueries=256] - Maximum number of queries this pool can hold.
65
+ * @type {boolean|Promise<number>}
66
+ * @default false
20
67
  */
21
- constructor(maxQueries?: number);
68
+ pendingResolve: boolean | Promise<number>;
69
+ /**
70
+ * Stores the latest timestamp for each render context.
71
+ *
72
+ * @type {Map<string, number>}
73
+ */
74
+ timestamps: Map<string, number>;
22
75
  /**
23
76
  * Returns all timestamp frames.
24
77
  *
@@ -31,7 +84,7 @@ declare abstract class TimestampQueryPool {
31
84
  * @param {string} uid - A unique identifier for the render context.
32
85
  * @return {?number} The timestamp, or undefined if not available.
33
86
  */
34
- getTimestamp(uid: string): number;
87
+ getTimestamp(uid: string): number | null;
35
88
  /**
36
89
  * Returns whether a timestamp is available for a given render context.
37
90
  *
@@ -55,7 +108,7 @@ declare abstract class TimestampQueryPool {
55
108
  * @async
56
109
  * @returns {Promise<number>|number} The resolved timestamp value.
57
110
  */
58
- abstract resolveQueriesAsync(): Promise<number>;
111
+ abstract resolveQueriesAsync(): Promise<number> | number;
59
112
  /**
60
113
  * Dispose of the query pool.
61
114
  *
@@ -63,4 +116,5 @@ declare abstract class TimestampQueryPool {
63
116
  */
64
117
  abstract dispose(): void;
65
118
  }
119
+
66
120
  export default TimestampQueryPool;
@@ -5,46 +5,14 @@ import { Matrix4 } from "../../math/Matrix4.js";
5
5
  import { Vector2 } from "../../math/Vector2.js";
6
6
  import { Vector3 } from "../../math/Vector3.js";
7
7
  import { Vector4 } from "../../math/Vector4.js";
8
- /**
9
- * Abstract base class for uniforms.
10
- *
11
- * @abstract
12
- * @private
13
- */
14
- declare class Uniform<TValue> {
15
- name: string;
16
- value: TValue;
17
- boundary: number;
18
- itemSize: number;
19
- offset: number;
20
- /**
21
- * Constructs a new uniform.
22
- *
23
- * @param {string} name - The uniform's name.
24
- * @param {any} value - The uniform's value.
25
- */
26
- constructor(name: string, value: TValue);
27
- /**
28
- * Sets the uniform's value.
29
- *
30
- * @param {any} value - The value to set.
31
- */
32
- setValue(value: TValue): void;
33
- /**
34
- * Returns the uniform's value.
35
- *
36
- * @return {any} The value.
37
- */
38
- getValue(): TValue;
39
- }
8
+
40
9
  /**
41
10
  * Represents a Number uniform.
42
11
  *
43
12
  * @private
44
13
  * @augments Uniform
45
14
  */
46
- declare class NumberUniform extends Uniform<number> {
47
- readonly isNumberUniform: true;
15
+ export class NumberUniform extends Uniform<number> {
48
16
  /**
49
17
  * Constructs a new Number uniform.
50
18
  *
@@ -52,6 +20,14 @@ declare class NumberUniform extends Uniform<number> {
52
20
  * @param {number} value - The uniform's value.
53
21
  */
54
22
  constructor(name: string, value?: number);
23
+ /**
24
+ * This flag can be used for type testing.
25
+ *
26
+ * @type {boolean}
27
+ * @readonly
28
+ * @default true
29
+ */
30
+ readonly isNumberUniform: boolean;
55
31
  }
56
32
  /**
57
33
  * Represents a Vector2 uniform.
@@ -59,8 +35,7 @@ declare class NumberUniform extends Uniform<number> {
59
35
  * @private
60
36
  * @augments Uniform
61
37
  */
62
- declare class Vector2Uniform extends Uniform<Vector2> {
63
- readonly isVector2Uniform: true;
38
+ export class Vector2Uniform extends Uniform<Vector2> {
64
39
  /**
65
40
  * Constructs a new Number uniform.
66
41
  *
@@ -68,6 +43,14 @@ declare class Vector2Uniform extends Uniform<Vector2> {
68
43
  * @param {Vector2} value - The uniform's value.
69
44
  */
70
45
  constructor(name: string, value?: Vector2);
46
+ /**
47
+ * This flag can be used for type testing.
48
+ *
49
+ * @type {boolean}
50
+ * @readonly
51
+ * @default true
52
+ */
53
+ readonly isVector2Uniform: boolean;
71
54
  }
72
55
  /**
73
56
  * Represents a Vector3 uniform.
@@ -75,8 +58,7 @@ declare class Vector2Uniform extends Uniform<Vector2> {
75
58
  * @private
76
59
  * @augments Uniform
77
60
  */
78
- declare class Vector3Uniform extends Uniform<Vector3> {
79
- readonly isVector3Uniform: true;
61
+ export class Vector3Uniform extends Uniform<Vector3> {
80
62
  /**
81
63
  * Constructs a new Number uniform.
82
64
  *
@@ -84,6 +66,14 @@ declare class Vector3Uniform extends Uniform<Vector3> {
84
66
  * @param {Vector3} value - The uniform's value.
85
67
  */
86
68
  constructor(name: string, value?: Vector3);
69
+ /**
70
+ * This flag can be used for type testing.
71
+ *
72
+ * @type {boolean}
73
+ * @readonly
74
+ * @default true
75
+ */
76
+ readonly isVector3Uniform: boolean;
87
77
  }
88
78
  /**
89
79
  * Represents a Vector4 uniform.
@@ -91,8 +81,7 @@ declare class Vector3Uniform extends Uniform<Vector3> {
91
81
  * @private
92
82
  * @augments Uniform
93
83
  */
94
- declare class Vector4Uniform extends Uniform<Vector4> {
95
- readonly isVector4Uniform: true;
84
+ export class Vector4Uniform extends Uniform<Vector4> {
96
85
  /**
97
86
  * Constructs a new Number uniform.
98
87
  *
@@ -100,6 +89,14 @@ declare class Vector4Uniform extends Uniform<Vector4> {
100
89
  * @param {Vector4} value - The uniform's value.
101
90
  */
102
91
  constructor(name: string, value?: Vector4);
92
+ /**
93
+ * This flag can be used for type testing.
94
+ *
95
+ * @type {boolean}
96
+ * @readonly
97
+ * @default true
98
+ */
99
+ readonly isVector4Uniform: boolean;
103
100
  }
104
101
  /**
105
102
  * Represents a Color uniform.
@@ -107,8 +104,7 @@ declare class Vector4Uniform extends Uniform<Vector4> {
107
104
  * @private
108
105
  * @augments Uniform
109
106
  */
110
- declare class ColorUniform extends Uniform<Color> {
111
- readonly isColorUniform: true;
107
+ export class ColorUniform extends Uniform<Color> {
112
108
  /**
113
109
  * Constructs a new Number uniform.
114
110
  *
@@ -116,6 +112,14 @@ declare class ColorUniform extends Uniform<Color> {
116
112
  * @param {Color} value - The uniform's value.
117
113
  */
118
114
  constructor(name: string, value?: Color);
115
+ /**
116
+ * This flag can be used for type testing.
117
+ *
118
+ * @type {boolean}
119
+ * @readonly
120
+ * @default true
121
+ */
122
+ readonly isColorUniform: boolean;
119
123
  }
120
124
  /**
121
125
  * Represents a Matrix2 uniform.
@@ -123,8 +127,7 @@ declare class ColorUniform extends Uniform<Color> {
123
127
  * @private
124
128
  * @augments Uniform
125
129
  */
126
- declare class Matrix2Uniform extends Uniform<Matrix2> {
127
- readonly isMatrix2Uniform: true;
130
+ export class Matrix2Uniform extends Uniform<Matrix2> {
128
131
  /**
129
132
  * Constructs a new Number uniform.
130
133
  *
@@ -132,6 +135,14 @@ declare class Matrix2Uniform extends Uniform<Matrix2> {
132
135
  * @param {Matrix2} value - The uniform's value.
133
136
  */
134
137
  constructor(name: string, value?: Matrix2);
138
+ /**
139
+ * This flag can be used for type testing.
140
+ *
141
+ * @type {boolean}
142
+ * @readonly
143
+ * @default true
144
+ */
145
+ readonly isMatrix2Uniform: boolean;
135
146
  }
136
147
  /**
137
148
  * Represents a Matrix3 uniform.
@@ -139,8 +150,7 @@ declare class Matrix2Uniform extends Uniform<Matrix2> {
139
150
  * @private
140
151
  * @augments Uniform
141
152
  */
142
- declare class Matrix3Uniform extends Uniform<Matrix3> {
143
- readonly isMatrix3Uniform: true;
153
+ export class Matrix3Uniform extends Uniform<Matrix3> {
144
154
  /**
145
155
  * Constructs a new Number uniform.
146
156
  *
@@ -148,6 +158,14 @@ declare class Matrix3Uniform extends Uniform<Matrix3> {
148
158
  * @param {Matrix3} value - The uniform's value.
149
159
  */
150
160
  constructor(name: string, value?: Matrix3);
161
+ /**
162
+ * This flag can be used for type testing.
163
+ *
164
+ * @type {boolean}
165
+ * @readonly
166
+ * @default true
167
+ */
168
+ readonly isMatrix3Uniform: boolean;
151
169
  }
152
170
  /**
153
171
  * Represents a Matrix4 uniform.
@@ -155,8 +173,7 @@ declare class Matrix3Uniform extends Uniform<Matrix3> {
155
173
  * @private
156
174
  * @augments Uniform
157
175
  */
158
- declare class Matrix4Uniform extends Uniform<Matrix4> {
159
- readonly isMatrix4Uniform: true;
176
+ export class Matrix4Uniform extends Uniform<Matrix4> {
160
177
  /**
161
178
  * Constructs a new Number uniform.
162
179
  *
@@ -164,14 +181,82 @@ declare class Matrix4Uniform extends Uniform<Matrix4> {
164
181
  * @param {Matrix4} value - The uniform's value.
165
182
  */
166
183
  constructor(name: string, value?: Matrix4);
184
+ /**
185
+ * This flag can be used for type testing.
186
+ *
187
+ * @type {boolean}
188
+ * @readonly
189
+ * @default true
190
+ */
191
+ readonly isMatrix4Uniform: boolean;
192
+ }
193
+ /**
194
+ * Abstract base class for uniforms.
195
+ *
196
+ * @abstract
197
+ * @private
198
+ */
199
+ declare class Uniform<TValue> {
200
+ /**
201
+ * Constructs a new uniform.
202
+ *
203
+ * @param {string} name - The uniform's name.
204
+ * @param {any} value - The uniform's value.
205
+ */
206
+ constructor(name: string, value: TValue);
207
+ /**
208
+ * The uniform's name.
209
+ *
210
+ * @type {string}
211
+ */
212
+ name: string;
213
+ /**
214
+ * The uniform's value.
215
+ *
216
+ * @type {any}
217
+ */
218
+ value: TValue;
219
+ /**
220
+ * Used to build the uniform buffer according to the STD140 layout.
221
+ * Derived uniforms will set this property to a data type specific
222
+ * value.
223
+ *
224
+ * @type {number}
225
+ */
226
+ boundary: number;
227
+ /**
228
+ * The item size. Derived uniforms will set this property to a data
229
+ * type specific value.
230
+ *
231
+ * @type {number}
232
+ */
233
+ itemSize: number;
234
+ /**
235
+ * This property is set by {@link UniformsGroup} and marks
236
+ * the start position in the uniform buffer.
237
+ *
238
+ * @type {number}
239
+ */
240
+ offset: number;
241
+ /**
242
+ * This property is set by {@link UniformsGroup} and marks
243
+ * the index position in the uniform array.
244
+ *
245
+ * @type {number}
246
+ */
247
+ index: number;
248
+ /**
249
+ * Sets the uniform's value.
250
+ *
251
+ * @param {any} value - The value to set.
252
+ */
253
+ setValue(value: TValue): void;
254
+ /**
255
+ * Returns the uniform's value.
256
+ *
257
+ * @return {any} The value.
258
+ */
259
+ getValue(): TValue;
167
260
  }
168
- export {
169
- ColorUniform,
170
- Matrix2Uniform,
171
- Matrix3Uniform,
172
- Matrix4Uniform,
173
- NumberUniform,
174
- Vector2Uniform,
175
- Vector3Uniform,
176
- Vector4Uniform,
177
- };
261
+
262
+ export type { Uniform };
@@ -1,4 +1,5 @@
1
1
  import Buffer from "./Buffer.js";
2
+
2
3
  /**
3
4
  * Represents a uniform buffer binding type.
4
5
  *
@@ -6,13 +7,14 @@ import Buffer from "./Buffer.js";
6
7
  * @augments Buffer
7
8
  */
8
9
  declare class UniformBuffer extends Buffer {
9
- readonly isUniformBuffer: true;
10
10
  /**
11
- * Constructs a new uniform buffer.
11
+ * This flag can be used for type testing.
12
12
  *
13
- * @param {string} name - The buffer's name.
14
- * @param {TypedArray} [buffer=null] - The buffer.
13
+ * @type {boolean}
14
+ * @readonly
15
+ * @default true
15
16
  */
16
- constructor(name?: string, buffer?: null);
17
+ readonly isUniformBuffer: boolean;
17
18
  }
19
+
18
20
  export default UniformBuffer;