@types/three 0.180.0 → 0.182.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 (313) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/controls/ArcballControls.d.ts +1 -1
  3. three/examples/jsm/controls/DragControls.d.ts +1 -1
  4. three/examples/jsm/controls/FirstPersonControls.d.ts +1 -1
  5. three/examples/jsm/controls/FlyControls.d.ts +1 -1
  6. three/examples/jsm/controls/OrbitControls.d.ts +1 -1
  7. three/examples/jsm/controls/PointerLockControls.d.ts +1 -1
  8. three/examples/jsm/controls/TrackballControls.d.ts +1 -1
  9. three/examples/jsm/controls/TransformControls.d.ts +1 -1
  10. three/examples/jsm/geometries/TextGeometry.d.ts +2 -0
  11. three/examples/jsm/gpgpu/BitonicSort.d.ts +21 -0
  12. three/examples/jsm/inspector/Inspector.d.ts +10 -0
  13. three/examples/jsm/inspector/RendererInspector.d.ts +4 -0
  14. three/examples/jsm/inspector/tabs/Parameters.d.ts +95 -0
  15. three/examples/jsm/inspector/ui/Tab.d.ts +3 -0
  16. three/examples/jsm/inspector/ui/Values.d.ts +80 -0
  17. three/examples/jsm/interactive/SelectionBox.d.ts +9 -9
  18. three/examples/jsm/lighting/TiledLighting.d.ts +1 -2
  19. three/examples/jsm/loaders/FontLoader.d.ts +1 -1
  20. three/examples/jsm/loaders/KTX2Loader.d.ts +3 -0
  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 +11 -7
  25. three/examples/jsm/objects/WaterMesh.d.ts +2 -2
  26. three/examples/jsm/physics/AmmoPhysics.d.ts +1 -1
  27. three/examples/jsm/postprocessing/OutputPass.d.ts +10 -6
  28. three/examples/jsm/postprocessing/RenderPass.d.ts +15 -10
  29. three/examples/jsm/renderers/CSS2DRenderer.d.ts +15 -10
  30. three/examples/jsm/transpiler/AST.d.ts +17 -0
  31. three/examples/jsm/transpiler/TSLEncoder.d.ts +2 -0
  32. three/examples/jsm/tsl/display/AfterImageNode.d.ts +4 -5
  33. three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +1 -2
  34. three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -2
  35. three/examples/jsm/tsl/display/BleachBypass.d.ts +1 -2
  36. three/examples/jsm/tsl/display/BloomNode.d.ts +2 -3
  37. three/examples/jsm/tsl/display/ChromaticAberrationNode.d.ts +1 -2
  38. three/examples/jsm/tsl/display/DenoiseNode.d.ts +1 -2
  39. three/examples/jsm/tsl/display/DepthOfFieldNode.d.ts +1 -2
  40. three/examples/jsm/tsl/display/DotScreenNode.d.ts +1 -2
  41. three/examples/jsm/tsl/display/FXAANode.d.ts +1 -2
  42. three/examples/jsm/tsl/display/FilmNode.d.ts +1 -2
  43. three/examples/jsm/tsl/display/GTAONode.d.ts +11 -10
  44. three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +2 -3
  45. three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -7
  46. three/examples/jsm/tsl/display/Lut3DNode.d.ts +2 -3
  47. three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -2
  48. three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -7
  49. three/examples/jsm/tsl/display/ParallaxBarrierPassNode.d.ts +1 -2
  50. three/examples/jsm/tsl/display/PixelationPassNode.d.ts +1 -2
  51. three/examples/jsm/tsl/display/RGBShiftNode.d.ts +1 -2
  52. three/examples/jsm/tsl/display/SMAANode.d.ts +1 -2
  53. three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -2
  54. three/examples/jsm/tsl/display/SSGINode.d.ts +30 -0
  55. three/examples/jsm/tsl/display/SSRNode.d.ts +12 -13
  56. three/examples/jsm/tsl/display/SSSNode.d.ts +20 -0
  57. three/examples/jsm/tsl/display/Sepia.d.ts +1 -2
  58. three/examples/jsm/tsl/display/SobelOperatorNode.d.ts +1 -2
  59. three/examples/jsm/tsl/display/StereoPassNode.d.ts +1 -2
  60. three/examples/jsm/tsl/display/TRAANode.d.ts +6 -2
  61. three/examples/jsm/tsl/display/TransitionNode.d.ts +1 -2
  62. three/examples/jsm/tsl/display/boxBlur.d.ts +1 -2
  63. three/examples/jsm/tsl/display/hashBlur.d.ts +1 -2
  64. three/examples/jsm/tsl/display/radialBlur.d.ts +12 -0
  65. three/examples/jsm/tsl/lighting/TiledLightsNode.d.ts +3 -4
  66. three/examples/jsm/tsl/math/Bayer.d.ts +1 -2
  67. three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -3
  68. three/package.json +3 -3
  69. three/src/Three.Core.d.ts +1 -1
  70. three/src/Three.TSL.d.ts +21 -3
  71. three/src/Three.WebGPU.Nodes.d.ts +2 -0
  72. three/src/Three.WebGPU.d.ts +2 -0
  73. three/src/animation/AnimationMixer.d.ts +45 -3
  74. three/src/animation/AnimationUtils.d.ts +3 -8
  75. three/src/constants.d.ts +14 -0
  76. three/src/core/BufferGeometry.d.ts +3 -1
  77. three/src/extras/Controls.d.ts +3 -3
  78. three/src/lights/DirectionalLight.d.ts +10 -3
  79. three/src/lights/HemisphereLight.d.ts +8 -1
  80. three/src/lights/Light.d.ts +8 -12
  81. three/src/lights/LightProbe.d.ts +7 -3
  82. three/src/lights/PointLight.d.ts +12 -1
  83. three/src/lights/PointLightShadow.d.ts +1 -8
  84. three/src/lights/SpotLight.d.ts +17 -2
  85. three/src/loaders/ObjectLoader.d.ts +3 -3
  86. three/src/loaders/TextureLoader.d.ts +3 -3
  87. three/src/materials/Material.d.ts +3 -2
  88. three/src/materials/MeshLambertMaterial.d.ts +1 -1
  89. three/src/materials/MeshMatcapMaterial.d.ts +14 -0
  90. three/src/materials/MeshPhongMaterial.d.ts +1 -1
  91. three/src/materials/MeshPhysicalMaterial.d.ts +1 -1
  92. three/src/materials/MeshStandardMaterial.d.ts +7 -7
  93. three/src/materials/PointsMaterial.d.ts +1 -1
  94. three/src/materials/ShaderMaterial.d.ts +26 -11
  95. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +1 -1
  96. three/src/materials/nodes/NodeMaterial.d.ts +9 -3
  97. three/src/materials/nodes/VolumeNodeMaterial.d.ts +1 -2
  98. three/src/math/Vector3.d.ts +2 -2
  99. three/src/nodes/Nodes.d.ts +1 -1
  100. three/src/nodes/TSL.d.ts +5 -2
  101. three/src/nodes/accessors/AccessorsUtils.d.ts +4 -5
  102. three/src/nodes/accessors/Arrays.d.ts +2 -3
  103. three/src/nodes/accessors/BatchNode.d.ts +1 -2
  104. three/src/nodes/accessors/Bitangent.d.ts +4 -5
  105. three/src/nodes/accessors/BufferAttributeNode.d.ts +17 -17
  106. three/src/nodes/accessors/BufferNode.d.ts +2 -2
  107. three/src/nodes/accessors/BuiltinNode.d.ts +1 -2
  108. three/src/nodes/accessors/Camera.d.ts +10 -11
  109. three/src/nodes/accessors/ClippingNode.d.ts +3 -6
  110. three/src/nodes/accessors/CubeTextureNode.d.ts +8 -9
  111. three/src/nodes/accessors/InstanceNode.d.ts +8 -8
  112. three/src/nodes/accessors/InstancedMeshNode.d.ts +1 -2
  113. three/src/nodes/accessors/Lights.d.ts +6 -7
  114. three/src/nodes/accessors/MaterialNode.d.ts +38 -39
  115. three/src/nodes/accessors/MaterialProperties.d.ts +3 -4
  116. three/src/nodes/accessors/MaterialReferenceNode.d.ts +2 -2
  117. three/src/nodes/accessors/ModelNode.d.ts +12 -13
  118. three/src/nodes/accessors/ModelViewProjectionNode.d.ts +1 -2
  119. three/src/nodes/accessors/MorphNode.d.ts +1 -2
  120. three/src/nodes/accessors/Normal.d.ts +13 -14
  121. three/src/nodes/accessors/Object3DNode.d.ts +6 -7
  122. three/src/nodes/accessors/PointUVNode.d.ts +1 -2
  123. three/src/nodes/accessors/Position.d.ts +7 -8
  124. three/src/nodes/accessors/ReferenceBaseNode.d.ts +2 -3
  125. three/src/nodes/accessors/ReferenceNode.d.ts +2 -3
  126. three/src/nodes/accessors/ReflectVector.d.ts +4 -5
  127. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -2
  128. three/src/nodes/accessors/SceneNode.d.ts +3 -4
  129. three/src/nodes/accessors/SkinningNode.d.ts +5 -6
  130. three/src/nodes/accessors/StorageBufferNode.d.ts +5 -5
  131. three/src/nodes/accessors/StorageTextureNode.d.ts +7 -4
  132. three/src/nodes/accessors/Tangent.d.ts +4 -6
  133. three/src/nodes/accessors/TangentUtils.d.ts +2 -3
  134. three/src/nodes/accessors/Texture3DNode.d.ts +15 -4
  135. three/src/nodes/accessors/TextureBicubic.d.ts +2 -3
  136. three/src/nodes/accessors/TextureNode.d.ts +29 -24
  137. three/src/nodes/accessors/TextureSizeNode.d.ts +1 -2
  138. three/src/nodes/accessors/UV.d.ts +1 -2
  139. three/src/nodes/accessors/UniformArrayNode.d.ts +2 -3
  140. three/src/nodes/accessors/UserDataNode.d.ts +1 -2
  141. three/src/nodes/accessors/VelocityNode.d.ts +1 -2
  142. three/src/nodes/accessors/VertexColorNode.d.ts +1 -2
  143. three/src/nodes/code/CodeNode.d.ts +4 -5
  144. three/src/nodes/code/ExpressionNode.d.ts +1 -2
  145. three/src/nodes/code/FunctionCallNode.d.ts +6 -5
  146. three/src/nodes/code/FunctionNode.d.ts +4 -6
  147. three/src/nodes/code/ScriptableNode.d.ts +1 -2
  148. three/src/nodes/code/ScriptableValueNode.d.ts +1 -2
  149. three/src/nodes/core/ArrayNode.d.ts +6 -6
  150. three/src/nodes/core/AssignNode.d.ts +1 -8
  151. three/src/nodes/core/AttributeNode.d.ts +1 -2
  152. three/src/nodes/core/BypassNode.d.ts +5 -5
  153. three/src/nodes/core/ContextNode.d.ts +42 -14
  154. three/src/nodes/core/IndexNode.d.ts +10 -7
  155. three/src/nodes/core/InspectorNode.d.ts +16 -0
  156. three/src/nodes/core/IsolateNode.d.ts +36 -0
  157. three/src/nodes/core/MRTNode.d.ts +3 -4
  158. three/src/nodes/core/Node.d.ts +18 -2
  159. three/src/nodes/core/NodeUtils.d.ts +1 -11
  160. three/src/nodes/core/OutputStructNode.d.ts +1 -2
  161. three/src/nodes/core/ParameterNode.d.ts +1 -2
  162. three/src/nodes/core/PropertyNode.d.ts +32 -31
  163. three/src/nodes/core/StackNode.d.ts +1 -4
  164. three/src/nodes/core/StructNode.d.ts +3 -4
  165. three/src/nodes/core/SubBuildNode.d.ts +1 -2
  166. three/src/nodes/core/UniformNode.d.ts +3 -6
  167. three/src/nodes/core/VarNode.d.ts +12 -8
  168. three/src/nodes/core/VaryingNode.d.ts +12 -10
  169. three/src/nodes/display/BlendModes.d.ts +11 -12
  170. three/src/nodes/display/BumpMapNode.d.ts +1 -2
  171. three/src/nodes/display/ColorAdjustment.d.ts +7 -8
  172. three/src/nodes/display/ColorSpaceFunctions.d.ts +2 -3
  173. three/src/nodes/display/ColorSpaceNode.d.ts +19 -9
  174. three/src/nodes/display/FrontFacingNode.d.ts +3 -4
  175. three/src/nodes/display/NormalMapNode.d.ts +4 -3
  176. three/src/nodes/display/PassNode.d.ts +28 -11
  177. three/src/nodes/display/PosterizeNode.d.ts +1 -2
  178. three/src/nodes/display/RenderOutputNode.d.ts +11 -6
  179. three/src/nodes/display/ScreenNode.d.ts +9 -10
  180. three/src/nodes/display/ToneMappingFunctions.d.ts +6 -7
  181. three/src/nodes/display/ToneMappingNode.d.ts +9 -8
  182. three/src/nodes/display/ToonOutlinePassNode.d.ts +1 -2
  183. three/src/nodes/display/ViewportDepthNode.d.ts +3 -4
  184. three/src/nodes/display/ViewportDepthTextureNode.d.ts +1 -2
  185. three/src/nodes/display/ViewportSharedTextureNode.d.ts +1 -2
  186. three/src/nodes/display/ViewportTextureNode.d.ts +2 -3
  187. three/src/nodes/fog/Fog.d.ts +5 -6
  188. three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +4 -5
  189. three/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.d.ts +14 -0
  190. three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +1 -2
  191. three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +1 -2
  192. three/src/nodes/functions/BSDF/DFGLUT.d.ts +12 -0
  193. three/src/nodes/functions/BSDF/D_GGX.d.ts +1 -2
  194. three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +1 -2
  195. three/src/nodes/functions/BSDF/F_Schlick.d.ts +1 -2
  196. three/src/nodes/functions/BSDF/Schlick_to_F0.d.ts +1 -2
  197. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +1 -2
  198. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +1 -2
  199. three/src/nodes/functions/PhysicalLightingModel.d.ts +8 -1
  200. three/src/nodes/functions/ShadowMaskModel.d.ts +1 -2
  201. three/src/nodes/functions/material/getAlphaHashThreshold.d.ts +1 -2
  202. three/src/nodes/functions/material/getGeometryRoughness.d.ts +1 -2
  203. three/src/nodes/functions/material/getParallaxCorrectNormal.d.ts +1 -2
  204. three/src/nodes/functions/material/getRoughness.d.ts +1 -2
  205. three/src/nodes/functions/material/getShIrradianceAt.d.ts +1 -2
  206. three/src/nodes/geometry/RangeNode.d.ts +1 -2
  207. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +10 -11
  208. three/src/nodes/gpgpu/BarrierNode.d.ts +3 -4
  209. three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +5 -6
  210. three/src/nodes/gpgpu/ComputeNode.d.ts +21 -13
  211. three/src/nodes/gpgpu/SubgroupFunctionNode.d.ts +25 -26
  212. three/src/nodes/gpgpu/WorkgroupInfoNode.d.ts +1 -2
  213. three/src/nodes/lighting/AnalyticLightNode.d.ts +3 -2
  214. three/src/nodes/lighting/LightUtils.d.ts +1 -2
  215. three/src/nodes/lighting/LightingContextNode.d.ts +1 -2
  216. three/src/nodes/lighting/LightsNode.d.ts +1 -2
  217. three/src/nodes/lighting/PointLightNode.d.ts +5 -6
  218. three/src/nodes/lighting/PointShadowNode.d.ts +12 -17
  219. three/src/nodes/lighting/ShadowBaseNode.d.ts +1 -2
  220. three/src/nodes/lighting/ShadowFilterNode.d.ts +6 -5
  221. three/src/nodes/lighting/ShadowNode.d.ts +1 -2
  222. three/src/nodes/lighting/SpotLightNode.d.ts +1 -2
  223. three/src/nodes/materialx/MaterialXNodes.d.ts +41 -42
  224. three/src/nodes/materialx/lib/mx_hsv.d.ts +2 -3
  225. three/src/nodes/materialx/lib/mx_noise.d.ts +73 -74
  226. three/src/nodes/materialx/lib/mx_transform_color.d.ts +1 -2
  227. three/src/nodes/math/BitcastNode.d.ts +5 -6
  228. three/src/nodes/math/BitcountNode.d.ts +21 -0
  229. three/src/nodes/math/ConditionalNode.d.ts +11 -5
  230. three/src/nodes/math/Hash.d.ts +1 -2
  231. three/src/nodes/math/MathNode.d.ts +223 -77
  232. three/src/nodes/math/OperatorNode.d.ts +203 -59
  233. three/src/nodes/math/PackFloatNode.d.ts +19 -0
  234. three/src/nodes/math/TriNoise3D.d.ts +3 -4
  235. three/src/nodes/math/UnpackFloatNode.d.ts +18 -0
  236. three/src/nodes/pmrem/PMREMNode.d.ts +1 -2
  237. three/src/nodes/pmrem/PMREMUtils.d.ts +3 -4
  238. three/src/nodes/procedural/Checker.d.ts +1 -2
  239. three/src/nodes/shapes/Shapes.d.ts +1 -2
  240. three/src/nodes/tsl/TSLBase.d.ts +2 -1
  241. three/src/nodes/tsl/TSLCore.d.ts +235 -128
  242. three/src/nodes/utils/CubeMapNode.d.ts +1 -2
  243. three/src/nodes/utils/DebugNode.d.ts +9 -5
  244. three/src/nodes/utils/Discard.d.ts +6 -6
  245. three/src/nodes/utils/EquirectUV.d.ts +1 -2
  246. three/src/nodes/utils/EventNode.d.ts +8 -3
  247. three/src/nodes/utils/FunctionOverloadingNode.d.ts +1 -2
  248. three/src/nodes/utils/LoopNode.d.ts +7 -6
  249. three/src/nodes/utils/MatcapUV.d.ts +1 -2
  250. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -2
  251. three/src/nodes/utils/Oscillators.d.ts +4 -5
  252. three/src/nodes/utils/Packing.d.ts +3 -3
  253. three/src/nodes/utils/PostProcessingUtils.d.ts +7 -4
  254. three/src/nodes/utils/RTTNode.d.ts +2 -3
  255. three/src/nodes/utils/ReflectorNode.d.ts +2 -3
  256. three/src/nodes/utils/RemapNode.d.ts +29 -7
  257. three/src/nodes/utils/RotateNode.d.ts +1 -2
  258. three/src/nodes/utils/SampleNode.d.ts +1 -2
  259. three/src/nodes/utils/SpriteSheetUVNode.d.ts +1 -2
  260. three/src/nodes/utils/SpriteUtils.d.ts +1 -2
  261. three/src/nodes/utils/StorageArrayElementNode.d.ts +1 -2
  262. three/src/nodes/utils/Timer.d.ts +3 -4
  263. three/src/nodes/utils/TriplanarTextures.d.ts +2 -3
  264. three/src/nodes/utils/UVUtils.d.ts +5 -3
  265. three/src/nodes/utils/ViewportUtils.d.ts +1 -2
  266. three/src/objects/LOD.d.ts +1 -1
  267. three/src/objects/Skeleton.d.ts +4 -2
  268. three/src/renderers/WebGLRenderer.d.ts +22 -4
  269. three/src/renderers/common/Animation.d.ts +4 -1
  270. three/src/renderers/common/Binding.d.ts +6 -0
  271. three/src/renderers/common/Bindings.d.ts +12 -0
  272. three/src/renderers/common/Buffer.d.ts +24 -0
  273. three/src/renderers/common/CanvasTarget.d.ts +142 -0
  274. three/src/renderers/common/ChainMap.d.ts +8 -1
  275. three/src/renderers/common/Geometries.d.ts +8 -0
  276. three/src/renderers/common/InspectorBase.d.ts +105 -0
  277. three/src/renderers/common/PostProcessing.d.ts +3 -0
  278. three/src/renderers/common/QuadMesh.d.ts +3 -0
  279. three/src/renderers/common/RenderContexts.d.ts +6 -2
  280. three/src/renderers/common/RenderObject.d.ts +6 -0
  281. three/src/renderers/common/Renderer.d.ts +145 -46
  282. three/src/renderers/common/SampledTexture.d.ts +2 -0
  283. three/src/renderers/common/Sampler.d.ts +2 -0
  284. three/src/renderers/common/Textures.d.ts +20 -0
  285. three/src/renderers/common/TimestampQueryPool.d.ts +24 -1
  286. three/src/renderers/common/UniformsGroup.d.ts +1 -0
  287. three/src/renderers/common/extras/PMREMGenerator.d.ts +19 -1
  288. three/src/renderers/common/nodes/NodeLibrary.d.ts +3 -7
  289. three/src/renderers/common/nodes/Nodes.d.ts +13 -14
  290. three/src/renderers/shaders/ShaderLib.d.ts +1 -1
  291. three/src/renderers/webgl/WebGLCapabilities.d.ts +2 -2
  292. three/src/renderers/webgl/WebGLPrograms.d.ts +0 -1
  293. three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +5 -0
  294. three/src/scenes/Scene.d.ts +2 -2
  295. three/src/textures/CanvasTexture.d.ts +3 -3
  296. three/src/textures/CompressedArrayTexture.d.ts +6 -9
  297. three/src/textures/CompressedCubeTexture.d.ts +3 -3
  298. three/src/textures/CompressedTexture.d.ts +6 -8
  299. three/src/textures/CubeDepthTexture.d.ts +41 -0
  300. three/src/textures/CubeTexture.d.ts +4 -11
  301. three/src/textures/Data3DTexture.d.ts +5 -10
  302. three/src/textures/DataArrayTexture.d.ts +10 -10
  303. three/src/textures/DataTexture.d.ts +4 -11
  304. three/src/textures/DepthTexture.d.ts +7 -8
  305. three/src/textures/ExternalTexture.d.ts +3 -1
  306. three/src/textures/FramebufferTexture.d.ts +6 -1
  307. three/src/textures/Source.d.ts +3 -3
  308. three/src/textures/Texture.d.ts +8 -8
  309. three/src/textures/VideoFrameTexture.d.ts +1 -1
  310. three/src/textures/VideoTexture.d.ts +2 -2
  311. three/src/utils.d.ts +30 -2
  312. three/src/nodes/core/CacheNode.d.ts +0 -21
  313. three/src/nodes/functions/BSDF/DFGApprox.d.ts +0 -11
@@ -1,6 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
2
  import TempNode from "../core/TempNode.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
3
 
5
4
  declare class CubeMapNode extends TempNode {
6
5
  envNode: Node;
@@ -10,4 +9,4 @@ declare class CubeMapNode extends TempNode {
10
9
 
11
10
  export default CubeMapNode;
12
11
 
13
- export const cubeMapNode: (envNode: Node) => ShaderNodeObject<CubeMapNode>;
12
+ export const cubeMapNode: (envNode: Node) => CubeMapNode;
@@ -1,7 +1,6 @@
1
1
  import Node from "../core/Node.js";
2
2
  import NodeBuilder from "../core/NodeBuilder.js";
3
3
  import TempNode from "../core/TempNode.js";
4
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
5
4
 
6
5
  declare class DebugNode extends TempNode {
7
6
  constructor(node: Node, callback?: ((code: string) => void) | null);
@@ -12,10 +11,15 @@ export default DebugNode;
12
11
  export const debug: (
13
12
  node: Node,
14
13
  callback?: ((node: NodeBuilder, code: string) => void) | null,
15
- ) => ShaderNodeObject<DebugNode>;
14
+ ) => DebugNode;
16
15
 
17
- declare module "../tsl/TSLCore.js" {
18
- interface NodeElements {
19
- debug: typeof debug;
16
+ declare module "../Nodes.js" {
17
+ interface Node {
18
+ debug: (
19
+ callback?: ((node: NodeBuilder, code: string) => void) | null,
20
+ ) => DebugNode;
21
+ debugAssign: (
22
+ callback?: ((node: NodeBuilder, code: string) => void) | null,
23
+ ) => this;
20
24
  }
21
25
  }
@@ -1,11 +1,11 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const Discard: (conditional?: Node) => ShaderNodeObject<Node>;
5
- export const Return: () => ShaderNodeObject<Node>;
3
+ export const Discard: (conditional?: Node) => Node;
4
+ export const Return: () => Node;
6
5
 
7
- declare module "../tsl/TSLCore.js" {
8
- interface NodeElements {
9
- discard: typeof Discard;
6
+ declare module "../Nodes.js" {
7
+ interface Node {
8
+ discard: () => Node;
9
+ discardAssign: () => this;
10
10
  }
11
11
  }
@@ -1,4 +1,3 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const equirectUV: (dirNode?: Node) => ShaderNodeObject<Node>;
3
+ export const equirectUV: (dirNode?: Node) => Node;
@@ -1,6 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
2
  import NodeFrame from "../core/NodeFrame.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
3
 
5
4
  export type EventNodeType = typeof EventNode.OBJECT | typeof EventNode.MATERIAL;
6
5
 
@@ -12,10 +11,16 @@ declare class EventNode extends Node {
12
11
 
13
12
  static OBJECT: "object";
14
13
  static MATERIAL: "material";
14
+ static BEFORE_OBJECT: "beforeObject";
15
+ static BEFORE_MATERIAL: "beforeMaterial";
15
16
  }
16
17
 
17
18
  export default EventNode;
18
19
 
19
- export const OnObjectUpdate: (callback: (frame: NodeFrame) => void) => ShaderNodeObject<Node>;
20
+ export const OnObjectUpdate: (callback: (frame: NodeFrame) => void) => Node;
20
21
 
21
- export const OnMaterialUpdate: (callback: (frame: NodeFrame) => void) => ShaderNodeObject<Node>;
22
+ export const OnMaterialUpdate: (callback: (frame: NodeFrame) => void) => Node;
23
+
24
+ export const OnBeforeObjectUpdate: (callback: (frame: NodeFrame) => void) => Node;
25
+
26
+ export const OnBeforeMaterialUpdate: (callback: (frame: NodeFrame) => void) => Node;
@@ -1,5 +1,4 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  declare class FunctionOverloadingNode extends Node {
5
4
  functionNodes: Node[];
@@ -10,4 +9,4 @@ declare class FunctionOverloadingNode extends Node {
10
9
 
11
10
  export default FunctionOverloadingNode;
12
11
 
13
- export const overloadingFn: (functionNodes: Node[]) => (...params: Node[]) => ShaderNodeObject<FunctionOverloadingNode>;
12
+ export const overloadingFn: (functionNodes: Node[]) => (...params: Node[]) => FunctionOverloadingNode;
@@ -1,6 +1,6 @@
1
1
  import Node from "../core/Node.js";
2
2
  import NodeBuilder from "../core/NodeBuilder.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
+ import { VarNode } from "../Nodes.js";
4
4
 
5
5
  interface LoopNodeObjectParameter {
6
6
  // TODO Expand to other types and update loop function types appropriately
@@ -10,6 +10,7 @@ interface LoopNodeObjectParameter {
10
10
  start: number | Node;
11
11
  end: number | Node;
12
12
  condition?: string;
13
+ update?: VarNode | number | string;
13
14
  }
14
15
 
15
16
  type LoopNodeParameter = Node | number | LoopNodeObjectParameter;
@@ -25,14 +26,14 @@ declare class LoopNode extends Node {
25
26
  export default LoopNode;
26
27
 
27
28
  interface Loop {
28
- (i: LoopNodeParameter, func: (inputs: { readonly i: number }) => void): ShaderNodeObject<Node>;
29
+ (i: LoopNodeParameter, func: (inputs: { readonly i: Node }) => void): Node;
29
30
  (
30
31
  i: LoopNodeParameter,
31
32
  j: LoopNodeParameter,
32
- func: (inputs: { readonly i: number; readonly j: number }) => void,
33
- ): ShaderNodeObject<Node>;
33
+ func: (inputs: { readonly i: Node; readonly j: Node }) => void,
34
+ ): Node;
34
35
  }
35
36
 
36
37
  export const Loop: Loop;
37
- export const Continue: () => ShaderNodeObject<Node>;
38
- export const Break: () => ShaderNodeObject<Node>;
38
+ export const Continue: () => Node;
39
+ export const Break: () => Node;
@@ -1,4 +1,3 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const matcapUV: ShaderNodeObject<Node>;
3
+ export const matcapUV: Node;
@@ -1,7 +1,6 @@
1
1
  import { Texture } from "../../textures/Texture.js";
2
2
  import TextureNode from "../accessors/TextureNode.js";
3
3
  import UniformNode from "../core/UniformNode.js";
4
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
5
4
 
6
5
  export default class MaxMipLevelNode extends UniformNode<0> {
7
6
  constructor(textureNode: TextureNode);
@@ -11,4 +10,4 @@ export default class MaxMipLevelNode extends UniformNode<0> {
11
10
  get texture(): Texture;
12
11
  }
13
12
 
14
- export const maxMipLevel: (texture: Texture) => ShaderNodeObject<MaxMipLevelNode>;
13
+ export const maxMipLevel: (texture: Texture) => MaxMipLevelNode;
@@ -1,7 +1,6 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const oscSine: (timeNode?: Node) => ShaderNodeObject<Node>;
5
- export const oscSquare: (timeNode?: Node) => ShaderNodeObject<Node>;
6
- export const oscTriangle: (timeNode?: Node) => ShaderNodeObject<Node>;
7
- export const oscSawtooth: (timeNode?: Node) => ShaderNodeObject<Node>;
3
+ export const oscSine: (timeNode?: Node) => Node;
4
+ export const oscSquare: (timeNode?: Node) => Node;
5
+ export const oscTriangle: (timeNode?: Node) => Node;
6
+ export const oscSawtooth: (timeNode?: Node) => Node;
@@ -1,5 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const directionToColor: (node: Node) => ShaderNodeObject<Node>;
5
- export const colorToDirection: (node: Node) => ShaderNodeObject<Node>;
3
+ export const directionToColor: (node: Node) => Node;
4
+ export const colorToDirection: (node: Node) => Node;
5
+ export const unpackNormal: (xy: Node) => Node;
@@ -1,5 +1,4 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  /**
5
4
  * Computes a position in view space based on a fragment's screen position expressed as uv coordinates, the fragments
@@ -14,7 +13,7 @@ export const getViewPosition: (
14
13
  screenPosition: Node,
15
14
  depth: Node,
16
15
  projectionMatrixInverse: Node,
17
- ) => ShaderNodeObject<Node>;
16
+ ) => Node;
18
17
 
19
18
  /**
20
19
  * Computes a screen position expressed as uv coordinates based on a fragment's position in view space and the camera's
@@ -27,7 +26,7 @@ export const getViewPosition: (
27
26
  export const getScreenPosition: (
28
27
  viewPosition: Node,
29
28
  projectionMatrix: Node,
30
- ) => ShaderNodeObject<Node>;
29
+ ) => Node;
31
30
 
32
31
  /**
33
32
  * Computes a normal vector based on depth data. Can be used as a fallback when no normal render target is available or
@@ -42,4 +41,8 @@ export const getNormalFromDepth: (
42
41
  uv: Node,
43
42
  depthTexture: Node,
44
43
  projectionMatrixInverse: Node,
45
- ) => ShaderNodeObject<Node>;
44
+ ) => Node;
45
+
46
+ export const interleavedGradientNoise: (position: Node) => Node;
47
+
48
+ export const vogelDiskSample: (sampleIndex: Node, samplesCount: Node, phi: Node) => Node;
@@ -2,7 +2,6 @@ import { TextureDataType } from "../../constants.js";
2
2
  import { RenderTarget } from "../../core/RenderTarget.js";
3
3
  import TextureNode from "../accessors/TextureNode.js";
4
4
  import Node from "../core/Node.js";
5
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
6
5
 
7
6
  export interface RTTNodeOptions {
8
7
  type: TextureDataType;
@@ -38,10 +37,10 @@ export const rtt: (
38
37
  width?: number | null,
39
38
  height?: number | null,
40
39
  options?: RTTNodeOptions,
41
- ) => ShaderNodeObject<RTTNode>;
40
+ ) => RTTNode;
42
41
  export const convertToTexture: (
43
42
  node: Node,
44
43
  width?: number | null,
45
44
  height?: number | null,
46
45
  options?: RTTNodeOptions,
47
- ) => ShaderNodeObject<RTTNode>;
46
+ ) => RTTNode;
@@ -3,7 +3,6 @@ import { Object3D } from "../../core/Object3D.js";
3
3
  import { RenderTarget } from "../../core/RenderTarget.js";
4
4
  import TextureNode from "../accessors/TextureNode.js";
5
5
  import Node from "../core/Node.js";
6
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
7
6
 
8
7
  export interface ReflectorNodeParameters {
9
8
  target?: Object3D | undefined;
@@ -25,7 +24,7 @@ declare class ReflectorNode extends TextureNode {
25
24
 
26
25
  get target(): Object3D;
27
26
 
28
- getDepthNode(): ShaderNodeObject<ReflectorNode>;
27
+ getDepthNode(): ReflectorNode;
29
28
  }
30
29
 
31
30
  declare class ReflectorBaseNode extends Node {
@@ -57,6 +56,6 @@ declare class ReflectorBaseNode extends Node {
57
56
  set resolution(value: number);
58
57
  }
59
58
 
60
- export const reflector: (parameters?: ReflectorNodeParameters) => ShaderNodeObject<ReflectorNode>;
59
+ export const reflector: (parameters?: ReflectorNodeParameters) => ReflectorNode;
61
60
 
62
61
  export default ReflectorNode;
@@ -1,5 +1,4 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  export default class RemapNode extends Node {
5
4
  node: Node;
@@ -19,18 +18,41 @@ export const remap: (
19
18
  inHighNode: Node | number,
20
19
  outLowNode?: Node | number,
21
20
  outHighNode?: Node | number,
22
- ) => ShaderNodeObject<RemapNode>;
21
+ ) => RemapNode;
23
22
  export const remapClamp: (
24
23
  node: Node,
25
24
  inLowNode: Node | number,
26
25
  inHighNode: Node | number,
27
26
  outLowNode?: Node | number,
28
27
  outHighNode?: Node | number,
29
- ) => ShaderNodeObject<RemapNode>;
28
+ ) => RemapNode;
30
29
 
31
- declare module "../tsl/TSLCore.js" {
32
- interface NodeElements {
33
- remap: typeof remap;
34
- remapClamp: typeof remapClamp;
30
+ declare module "../Nodes.js" {
31
+ interface Node {
32
+ remap: (
33
+ inLowNode: Node | number,
34
+ inHighNode: Node | number,
35
+ outLowNode?: Node | number,
36
+ outHighNode?: Node | number,
37
+ ) => RemapNode;
38
+ remapAssign: (
39
+ inLowNode: Node | number,
40
+ inHighNode: Node | number,
41
+ outLowNode?: Node | number,
42
+ outHighNode?: Node | number,
43
+ ) => this;
44
+
45
+ remapClamp: (
46
+ inLowNode: Node | number,
47
+ inHighNode: Node | number,
48
+ outLowNode?: Node | number,
49
+ outHighNode?: Node | number,
50
+ ) => RemapNode;
51
+ remapClampAssign: (
52
+ inLowNode: Node | number,
53
+ inHighNode: Node | number,
54
+ outLowNode?: Node | number,
55
+ outHighNode?: Node | number,
56
+ ) => this;
35
57
  }
36
58
  }
@@ -1,6 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
2
  import TempNode from "../core/TempNode.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
3
 
5
4
  export default class RotateNode extends TempNode {
6
5
  positionNode: Node;
@@ -12,4 +11,4 @@ export default class RotateNode extends TempNode {
12
11
  export const rotate: (
13
12
  positionNode: Node,
14
13
  rotationNode: Node | number,
15
- ) => ShaderNodeObject<RotateNode>;
14
+ ) => RotateNode;
@@ -1,5 +1,4 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  declare class SampleNode extends Node {
5
4
  callback: (uv: Node) => Node;
@@ -14,4 +13,4 @@ declare class SampleNode extends Node {
14
13
 
15
14
  export default SampleNode;
16
15
 
17
- export const sample: (callback: (uv: Node) => Node, uv?: Node | null) => ShaderNodeObject<SampleNode>;
16
+ export const sample: (callback: (uv: Node) => Node, uv?: Node | null) => SampleNode;
@@ -1,5 +1,4 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  export default class SpriteSheetUVNode extends Node {
5
4
  countNode: Node;
@@ -13,4 +12,4 @@ export const spritesheetUV: (
13
12
  countNode: Node,
14
13
  uvNode: Node | null,
15
14
  frameNode: Node | null,
16
- ) => ShaderNodeObject<SpriteSheetUVNode>;
15
+ ) => SpriteSheetUVNode;
@@ -1,6 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  export const billboarding: (
5
4
  args?: { position?: Node | null; horizontal?: boolean; vertical?: boolean },
6
- ) => ShaderNodeObject<Node>;
5
+ ) => Node;
@@ -1,6 +1,5 @@
1
1
  import StorageBufferNode from "../accessors/StorageBufferNode.js";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
3
  import ArrayElementNode from "./ArrayElementNode.js";
5
4
 
6
5
  export default class StorageArrayElementNode extends ArrayElementNode {
@@ -17,4 +16,4 @@ export default class StorageArrayElementNode extends ArrayElementNode {
17
16
  export const storageElement: (
18
17
  storageBufferNode: Node,
19
18
  indexNode: Node,
20
- ) => ShaderNodeObject<StorageArrayElementNode>;
19
+ ) => StorageArrayElementNode;
@@ -1,6 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const time: ShaderNodeObject<Node>;
5
- export const deltaTime: ShaderNodeObject<Node>;
6
- export const frameId: ShaderNodeObject<Node>;
3
+ export const time: Node;
4
+ export const deltaTime: Node;
5
+ export const frameId: Node;
@@ -1,5 +1,4 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  export const triplanarTextures: (
5
4
  textureXNode: Node,
@@ -8,7 +7,7 @@ export const triplanarTextures: (
8
7
  scaleNode?: Node,
9
8
  positionNode?: Node,
10
9
  normalNode?: Node,
11
- ) => ShaderNodeObject<Node>;
10
+ ) => Node;
12
11
 
13
12
  export const triplanarTexture: (
14
13
  textureXNode: Node,
@@ -17,4 +16,4 @@ export const triplanarTexture: (
17
16
  scaleNode?: Node,
18
17
  positionNode?: Node,
19
18
  normalNode?: Node,
20
- ) => ShaderNodeObject<Node>;
19
+ ) => Node;
@@ -1,15 +1,17 @@
1
+ import ContextNode from "../core/ContextNode.js";
1
2
  import Node from "../core/Node.js";
2
3
  import OperatorNode from "../math/OperatorNode.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
+
5
+ export function replaceDefaultUV(callback: (node: Node) => Node, node?: Node | null): ContextNode;
4
6
 
5
7
  export const rotateUV: (
6
8
  uv: Node,
7
9
  rotation: Node,
8
10
  center?: Node,
9
- ) => ShaderNodeObject<OperatorNode>;
11
+ ) => OperatorNode;
10
12
 
11
13
  export const spherizeUV: (
12
14
  uv: Node,
13
15
  strength: Node | number,
14
16
  center?: Node,
15
- ) => ShaderNodeObject<OperatorNode>;
17
+ ) => OperatorNode;
@@ -1,4 +1,3 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const viewportSafeUV: (uv?: Node | null) => ShaderNodeObject<Node>;
3
+ export const viewportSafeUV: (uv?: Node | null) => Node;
@@ -57,7 +57,7 @@ export class LOD<TEventMap extends Object3DEventMap = Object3DEventMap> extends
57
57
  /**
58
58
  * An array of level objects
59
59
  */
60
- levels: Array<{
60
+ readonly levels: Array<{
61
61
  /** The Object3D to display at this level. */
62
62
  object: Object3D;
63
63
  /** The distance at which to display this level of detail. Expects a `Float`. */
@@ -61,12 +61,14 @@ export class Skeleton {
61
61
  /**
62
62
  * The array buffer holding the bone data when using a vertex texture.
63
63
  */
64
- boneMatrices: Float32Array;
64
+ boneMatrices: Float32Array | null;
65
+
66
+ previousBoneMatrices: Float32Array | null;
65
67
 
66
68
  /**
67
69
  * The {@link THREE.DataTexture | DataTexture} holding the bone data when using a vertex texture.
68
70
  */
69
- boneTexture: null | DataTexture;
71
+ boneTexture: DataTexture | null;
70
72
 
71
73
  frame: number;
72
74
 
@@ -1,5 +1,5 @@
1
1
  import { Camera } from "../cameras/Camera.js";
2
- import { CullFace, ShadowMapType, ToneMapping, WebGLCoordinateSystem } from "../constants.js";
2
+ import { CullFace, ShadowMapType, TextureDataType, ToneMapping, WebGLCoordinateSystem } from "../constants.js";
3
3
  import { TypedArray } from "../core/BufferAttribute.js";
4
4
  import { BufferGeometry } from "../core/BufferGeometry.js";
5
5
  import { Object3D } from "../core/Object3D.js";
@@ -76,6 +76,11 @@ export interface WebGLRendererParameters extends WebGLCapabilitiesParameters {
76
76
  * default is false.
77
77
  */
78
78
  failIfMajorPerformanceCaveat?: boolean | undefined;
79
+
80
+ /**
81
+ * @default UnsignedByteType
82
+ */
83
+ outputBufferType?: TextureDataType | undefined;
79
84
  }
80
85
 
81
86
  export interface WebGLDebug {
@@ -100,6 +105,17 @@ export interface WebGLDebug {
100
105
  | null;
101
106
  }
102
107
 
108
+ export interface Effect {
109
+ setSize(width: number, height: number): void;
110
+ render(
111
+ renderer: WebGLRenderer,
112
+ writeBuffer: WebGLRenderTarget,
113
+ readBuffer: WebGLRenderTarget,
114
+ deltaTime: number,
115
+ maskActive: boolean,
116
+ ): void;
117
+ }
118
+
103
119
  /**
104
120
  * The WebGL renderer displays your beautifully crafted scenes using WebGL, if your device supports it.
105
121
  * This renderer has way better performance than CanvasRenderer.
@@ -228,9 +244,6 @@ export class WebGLRenderer {
228
244
  getPixelRatio(): number;
229
245
  setPixelRatio(value: number): void;
230
246
 
231
- getDrawingBufferSize(target: Vector2): Vector2;
232
- setDrawingBufferSize(width: number, height: number, pixelRatio: number): void;
233
-
234
247
  getSize(target: Vector2): Vector2;
235
248
 
236
249
  /**
@@ -238,6 +251,11 @@ export class WebGLRenderer {
238
251
  */
239
252
  setSize(width: number, height: number, updateStyle?: boolean): void;
240
253
 
254
+ getDrawingBufferSize(target: Vector2): Vector2;
255
+ setDrawingBufferSize(width: number, height: number, pixelRatio: number): void;
256
+
257
+ setEffects(effects: Effect[] | null): void;
258
+
241
259
  getCurrentViewport(target: Vector4): Vector4;
242
260
 
243
261
  /**
@@ -1,5 +1,6 @@
1
1
  import Info from "./Info.js";
2
2
  import Nodes from "./nodes/Nodes.js";
3
+ import Renderer from "./Renderer.js";
3
4
  export interface AnimationContext {
4
5
  requestAnimationFrame(callback: FrameRequestCallback, xrFrame?: XRFrame): number;
5
6
  cancelAnimationFrame(handle: number): void;
@@ -10,6 +11,7 @@ export interface AnimationContext {
10
11
  * @private
11
12
  */
12
13
  declare class Animation {
14
+ renderer: Renderer;
13
15
  nodes: Nodes;
14
16
  info: Info;
15
17
  _context: AnimationContext | null;
@@ -18,10 +20,11 @@ declare class Animation {
18
20
  /**
19
21
  * Constructs a new animation loop management component.
20
22
  *
23
+ * @param {Renderer} renderer - A reference to the main renderer.
21
24
  * @param {Nodes} nodes - Renderer component for managing nodes related logic.
22
25
  * @param {Info} info - Renderer component for managing metrics and monitoring data.
23
26
  */
24
- constructor(nodes: Nodes, info: Info);
27
+ constructor(renderer: Renderer, nodes: Nodes, info: Info);
25
28
  /**
26
29
  * Starts the internal animation loop.
27
30
  */
@@ -22,6 +22,12 @@ declare class Binding {
22
22
  * @param {number} visibility - The shader stage.
23
23
  */
24
24
  setVisibility(visibility: number): void;
25
+ /**
26
+ * The shader stages in which the binding's resource is visible.
27
+ *
28
+ * @return {number} The visibility bitmask.
29
+ */
30
+ getVisibility(): number;
25
31
  /**
26
32
  * Clones the binding.
27
33
  *
@@ -73,6 +73,18 @@ declare class Bindings extends DataMap<{
73
73
  * @param {RenderObject} renderObject - The render object.
74
74
  */
75
75
  updateForRender(renderObject: RenderObject): void;
76
+ /**
77
+ * Deletes the bindings for the given compute node.
78
+ *
79
+ * @param {Node} computeNode - The compute node.
80
+ */
81
+ deleteForCompute(computeNode: ComputeNode): void;
82
+ /**
83
+ * Deletes the bindings for the given renderObject node.
84
+ *
85
+ * @param {RenderObject} renderObject - The renderObject.
86
+ */
87
+ deleteForRender(renderObject: RenderObject): void;
76
88
  /**
77
89
  * Updates the given array of bindings.
78
90
  *
@@ -10,6 +10,10 @@ declare class Buffer extends Binding {
10
10
  readonly isBuffer: true;
11
11
  bytesPerElement: number;
12
12
  _buffer: Float32Array | null;
13
+ _updateRanges: {
14
+ start: number;
15
+ count: number;
16
+ }[];
13
17
  /**
14
18
  * Constructs a new buffer.
15
19
  *
@@ -17,6 +21,26 @@ declare class Buffer extends Binding {
17
21
  * @param {TypedArray} [buffer=null] - The buffer.
18
22
  */
19
23
  constructor(name?: string, buffer?: Float32Array | null);
24
+ /**
25
+ * The array of update ranges.
26
+ *
27
+ * @type {Array<{start: number, count: number}>}
28
+ */
29
+ get updateRanges(): {
30
+ start: number;
31
+ count: number;
32
+ }[];
33
+ /**
34
+ * Adds an update range.
35
+ *
36
+ * @param {number} start - The start index.
37
+ * @param {number} count - The number of elements.
38
+ */
39
+ addUpdateRange(start: number, count: number): void;
40
+ /**
41
+ * Clears all update ranges.
42
+ */
43
+ clearUpdateRanges(): void;
20
44
  /**
21
45
  * The buffer's byte length.
22
46
  *