@types/three 0.181.0 → 0.183.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/Addons.d.ts +0 -3
  3. three/examples/jsm/controls/ArcballControls.d.ts +1 -1
  4. three/examples/jsm/controls/DragControls.d.ts +1 -1
  5. three/examples/jsm/controls/FirstPersonControls.d.ts +1 -1
  6. three/examples/jsm/controls/FlyControls.d.ts +1 -1
  7. three/examples/jsm/controls/OrbitControls.d.ts +40 -1
  8. three/examples/jsm/controls/PointerLockControls.d.ts +1 -1
  9. three/examples/jsm/controls/TrackballControls.d.ts +1 -1
  10. three/examples/jsm/controls/TransformControls.d.ts +1 -1
  11. three/examples/jsm/effects/AnaglyphEffect.d.ts +4 -0
  12. three/examples/jsm/environments/ColorEnvironment.d.ts +9 -0
  13. three/examples/jsm/gpgpu/BitonicSort.d.ts +5 -5
  14. three/examples/jsm/helpers/AnimationPathHelper.d.ts +38 -0
  15. three/examples/jsm/helpers/ViewHelper.d.ts +4 -1
  16. three/examples/jsm/inspector/tabs/Parameters.d.ts +3 -0
  17. three/examples/jsm/inspector/ui/Item.d.ts +5 -0
  18. three/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -1
  19. three/examples/jsm/lights/LightProbeGenerator.d.ts +11 -5
  20. three/examples/jsm/loaders/ColladaLoader.d.ts +27 -4
  21. three/examples/jsm/loaders/UltraHDRLoader.d.ts +7 -0
  22. three/examples/jsm/loaders/VOXLoader.d.ts +22 -5
  23. three/examples/jsm/math/Octree.d.ts +36 -14
  24. three/examples/jsm/objects/SkyMesh.d.ts +16 -6
  25. three/examples/jsm/objects/Water2Mesh.d.ts +7 -7
  26. three/examples/jsm/objects/WaterMesh.d.ts +6 -6
  27. three/examples/jsm/physics/AmmoPhysics.d.ts +1 -1
  28. three/examples/jsm/postprocessing/EffectComposer.d.ts +9 -10
  29. three/examples/jsm/postprocessing/OutputPass.d.ts +10 -6
  30. three/examples/jsm/postprocessing/RenderPass.d.ts +15 -10
  31. three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +4 -9
  32. three/examples/jsm/transpiler/AST.d.ts +17 -0
  33. three/examples/jsm/transpiler/TSLEncoder.d.ts +2 -0
  34. three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +30 -0
  35. three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -1
  36. three/examples/jsm/tsl/display/BilateralBlurNode.d.ts +27 -0
  37. three/examples/jsm/tsl/display/BleachBypass.d.ts +1 -1
  38. three/examples/jsm/tsl/display/BloomNode.d.ts +5 -5
  39. three/examples/jsm/tsl/display/CRT.d.ts +22 -0
  40. three/examples/jsm/tsl/display/DenoiseNode.d.ts +5 -5
  41. three/examples/jsm/tsl/display/DotScreenNode.d.ts +4 -6
  42. three/examples/jsm/tsl/display/GTAONode.d.ts +8 -8
  43. three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +4 -2
  44. three/examples/jsm/tsl/display/GodraysNode.d.ts +20 -0
  45. three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -6
  46. three/examples/jsm/tsl/display/Lut3DNode.d.ts +5 -5
  47. three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -1
  48. three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -6
  49. three/examples/jsm/tsl/display/PixelationPassNode.d.ts +10 -10
  50. three/examples/jsm/tsl/display/RGBShiftNode.d.ts +2 -2
  51. three/examples/jsm/tsl/display/RetroPassNode.d.ts +17 -0
  52. three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -1
  53. three/examples/jsm/tsl/display/SSGINode.d.ts +11 -11
  54. three/examples/jsm/tsl/display/SSRNode.d.ts +6 -6
  55. three/examples/jsm/tsl/display/SSSNode.d.ts +7 -5
  56. three/examples/jsm/tsl/display/Shape.d.ts +3 -0
  57. three/examples/jsm/tsl/display/TRAANode.d.ts +5 -0
  58. three/examples/jsm/tsl/display/TransitionNode.d.ts +3 -3
  59. three/examples/jsm/tsl/display/boxBlur.d.ts +1 -1
  60. three/examples/jsm/tsl/display/depthAwareBlend.d.ts +15 -0
  61. three/examples/jsm/tsl/display/hashBlur.d.ts +1 -1
  62. three/examples/jsm/tsl/display/radialBlur.d.ts +12 -0
  63. three/examples/jsm/tsl/math/Bayer.d.ts +2 -0
  64. three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -2
  65. three/package.json +4 -4
  66. three/src/Three.Core.d.ts +1 -1
  67. three/src/Three.TSL.d.ts +20 -13
  68. three/src/Three.WebGPU.Nodes.d.ts +2 -0
  69. three/src/Three.WebGPU.d.ts +3 -0
  70. three/src/Three.d.ts +2 -2
  71. three/src/animation/AnimationClip.d.ts +1 -1
  72. three/src/animation/AnimationMixer.d.ts +42 -0
  73. three/src/animation/AnimationUtils.d.ts +3 -8
  74. three/src/animation/KeyframeTrack.d.ts +19 -5
  75. three/src/animation/PropertyMixer.d.ts +5 -4
  76. three/src/audio/Audio.d.ts +224 -157
  77. three/src/audio/AudioAnalyser.d.ts +32 -27
  78. three/src/audio/AudioContext.d.ts +12 -12
  79. three/src/audio/AudioListener.d.ts +44 -65
  80. three/src/audio/PositionalAudio.d.ts +69 -62
  81. three/src/cameras/ArrayCamera.d.ts +21 -24
  82. three/src/cameras/Camera.d.ts +14 -53
  83. three/src/cameras/CubeCamera.d.ts +32 -28
  84. three/src/cameras/OrthographicCamera.d.ts +70 -100
  85. three/src/cameras/PerspectiveCamera.d.ts +133 -146
  86. three/src/cameras/StereoCamera.d.ts +24 -30
  87. three/src/constants.d.ts +28 -2
  88. three/src/core/BufferGeometry.d.ts +3 -1
  89. three/src/core/Clock.d.ts +3 -0
  90. three/src/core/Object3D.d.ts +31 -7
  91. three/src/extras/Controls.d.ts +3 -3
  92. three/src/geometries/TorusGeometry.d.ts +22 -3
  93. three/src/helpers/ArrowHelper.d.ts +34 -50
  94. three/src/helpers/AxesHelper.d.ts +22 -36
  95. three/src/helpers/Box3Helper.d.ts +14 -25
  96. three/src/helpers/BoxHelper.d.ts +28 -39
  97. three/src/helpers/CameraHelper.d.ts +31 -52
  98. three/src/helpers/DirectionalLightHelper.d.ts +32 -53
  99. three/src/helpers/GridHelper.d.ts +15 -29
  100. three/src/helpers/HemisphereLightHelper.d.ts +26 -49
  101. three/src/helpers/PlaneHelper.d.ts +21 -33
  102. three/src/helpers/PointLightHelper.d.ts +25 -50
  103. three/src/helpers/PolarGridHelper.d.ts +19 -32
  104. three/src/helpers/SkeletonHelper.d.ts +26 -50
  105. three/src/helpers/SpotLightHelper.d.ts +28 -55
  106. three/src/lights/AmbientLight.d.ts +15 -23
  107. three/src/lights/DirectionalLight.d.ts +49 -83
  108. three/src/lights/DirectionalLightShadow.d.ts +6 -61
  109. three/src/lights/HemisphereLight.d.ts +27 -47
  110. three/src/lights/Light.d.ts +22 -56
  111. three/src/lights/LightProbe.d.ts +31 -32
  112. three/src/lights/LightShadow.d.ts +107 -91
  113. three/src/lights/PointLight.d.ts +47 -77
  114. three/src/lights/PointLightShadow.d.ts +7 -11
  115. three/src/lights/RectAreaLight.d.ts +39 -59
  116. three/src/lights/SpotLight.d.ts +78 -117
  117. three/src/lights/SpotLightShadow.d.ts +17 -59
  118. three/src/lights/webgpu/IESSpotLight.d.ts +13 -1
  119. three/src/lights/webgpu/ProjectorLight.d.ts +9 -10
  120. three/src/materials/Material.d.ts +1 -0
  121. three/src/materials/MeshLambertMaterial.d.ts +6 -0
  122. three/src/materials/MeshPhongMaterial.d.ts +6 -0
  123. three/src/materials/ShaderMaterial.d.ts +18 -3
  124. three/src/materials/nodes/Line2NodeMaterial.d.ts +0 -6
  125. three/src/materials/nodes/LineBasicNodeMaterial.d.ts +0 -4
  126. three/src/materials/nodes/MeshBasicNodeMaterial.d.ts +1 -2
  127. three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +0 -2
  128. three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +0 -2
  129. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +5 -8
  130. three/src/materials/nodes/MeshToonNodeMaterial.d.ts +0 -4
  131. three/src/materials/nodes/NodeMaterial.d.ts +15 -2
  132. three/src/materials/nodes/SpriteNodeMaterial.d.ts +0 -3
  133. three/src/materials/nodes/VolumeNodeMaterial.d.ts +0 -2
  134. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +39 -93
  135. three/src/math/Color.d.ts +1 -0
  136. three/src/math/Vector3.d.ts +2 -2
  137. three/src/math/interpolants/BezierInterpolant.d.ts +7 -0
  138. three/src/nodes/Nodes.d.ts +55 -35
  139. three/src/nodes/TSL.d.ts +6 -6
  140. three/src/nodes/accessors/Arrays.d.ts +19 -10
  141. three/src/nodes/accessors/BufferAttributeNode.d.ts +108 -41
  142. three/src/nodes/accessors/BufferNode.d.ts +21 -7
  143. three/src/nodes/accessors/Camera.d.ts +10 -10
  144. three/src/nodes/accessors/CubeTextureNode.d.ts +1 -1
  145. three/src/nodes/accessors/InstanceNode.d.ts +13 -6
  146. three/src/nodes/accessors/Lights.d.ts +9 -6
  147. three/src/nodes/accessors/MaterialNode.d.ts +1 -3
  148. three/src/nodes/accessors/MaterialProperties.d.ts +4 -4
  149. three/src/nodes/accessors/MaterialReferenceNode.d.ts +1 -1
  150. three/src/nodes/accessors/ModelNode.d.ts +34 -17
  151. three/src/nodes/accessors/MorphNode.d.ts +1 -1
  152. three/src/nodes/accessors/Normal.d.ts +13 -15
  153. three/src/nodes/accessors/Object3DNode.d.ts +35 -16
  154. three/src/nodes/accessors/Position.d.ts +9 -7
  155. three/src/nodes/accessors/ReferenceNode.d.ts +16 -7
  156. three/src/nodes/accessors/ReflectVector.d.ts +4 -5
  157. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
  158. three/src/nodes/accessors/SceneProperties.d.ts +5 -0
  159. three/src/nodes/accessors/SkinningNode.d.ts +5 -3
  160. three/src/nodes/accessors/StorageBufferNode.d.ts +49 -22
  161. three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
  162. three/src/nodes/accessors/Tangent.d.ts +5 -7
  163. three/src/nodes/accessors/Texture3DNode.d.ts +13 -1
  164. three/src/nodes/accessors/TextureBicubic.d.ts +3 -2
  165. three/src/nodes/accessors/TextureNode.d.ts +19 -18
  166. three/src/nodes/accessors/UV.d.ts +1 -1
  167. three/src/nodes/accessors/UniformArrayNode.d.ts +10 -8
  168. three/src/nodes/accessors/UserDataNode.d.ts +1 -1
  169. three/src/nodes/accessors/VelocityNode.d.ts +3 -3
  170. three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
  171. three/src/nodes/code/FunctionCallNode.d.ts +0 -1
  172. three/src/nodes/code/FunctionNode.d.ts +7 -3
  173. three/src/nodes/core/ArrayNode.d.ts +2 -3
  174. three/src/nodes/core/AttributeNode.d.ts +12 -6
  175. three/src/nodes/core/BypassNode.d.ts +2 -3
  176. three/src/nodes/core/ConstNode.d.ts +10 -3
  177. three/src/nodes/core/ContextNode.d.ts +32 -21
  178. three/src/nodes/core/IndexNode.d.ts +1 -1
  179. three/src/nodes/core/InputNode.d.ts +12 -4
  180. three/src/nodes/core/InspectorNode.d.ts +2 -3
  181. three/src/nodes/core/IsolateNode.d.ts +2 -7
  182. three/src/nodes/core/MRTNode.d.ts +7 -0
  183. three/src/nodes/core/Node.d.ts +258 -39
  184. three/src/nodes/core/NodeAttribute.d.ts +30 -5
  185. three/src/nodes/core/NodeBuilder.d.ts +5 -3
  186. three/src/nodes/core/NodeCache.d.ts +24 -48
  187. three/src/nodes/core/NodeError.d.ts +9 -0
  188. three/src/nodes/core/NodeParser.d.ts +2 -0
  189. three/src/nodes/core/NodeUniform.d.ts +33 -9
  190. three/src/nodes/core/NodeUtils.d.ts +1 -1
  191. three/src/nodes/core/NodeVar.d.ts +33 -5
  192. three/src/nodes/core/NodeVarying.d.ts +32 -4
  193. three/src/nodes/core/ParameterNode.d.ts +11 -4
  194. three/src/nodes/core/PropertyNode.d.ts +45 -33
  195. three/src/nodes/core/StackTrace.d.ts +9 -0
  196. three/src/nodes/core/StructType.d.ts +3 -1
  197. three/src/nodes/core/StructTypeNode.d.ts +19 -5
  198. three/src/nodes/core/TempNode.d.ts +9 -3
  199. three/src/nodes/core/UniformNode.d.ts +53 -15
  200. three/src/nodes/core/VarNode.d.ts +15 -14
  201. three/src/nodes/core/VaryingNode.d.ts +14 -19
  202. three/src/nodes/core/constants.d.ts +9 -4
  203. three/src/nodes/display/BlendModes.d.ts +7 -27
  204. three/src/nodes/display/ColorAdjustment.d.ts +8 -9
  205. three/src/nodes/display/ColorSpaceNode.d.ts +2 -8
  206. three/src/nodes/display/FrontFacingNode.d.ts +1 -1
  207. three/src/nodes/display/NormalMapNode.d.ts +3 -1
  208. three/src/nodes/display/PassNode.d.ts +16 -4
  209. three/src/nodes/display/RenderOutputNode.d.ts +3 -7
  210. three/src/nodes/display/ScreenNode.d.ts +25 -17
  211. three/src/nodes/display/ToneMappingNode.d.ts +3 -7
  212. three/src/nodes/display/ViewportDepthNode.d.ts +11 -7
  213. three/src/nodes/display/ViewportTextureNode.d.ts +2 -0
  214. three/src/nodes/fog/Fog.d.ts +5 -3
  215. three/src/nodes/functions/BSDF/DFGLUT.d.ts +12 -0
  216. three/src/nodes/functions/PhysicalLightingModel.d.ts +8 -1
  217. three/src/nodes/geometry/RangeNode.d.ts +51 -9
  218. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +2 -0
  219. three/src/nodes/gpgpu/BarrierNode.d.ts +2 -0
  220. three/src/nodes/gpgpu/ComputeNode.d.ts +2 -7
  221. three/src/nodes/lighting/AnalyticLightNode.d.ts +3 -1
  222. three/src/nodes/lighting/HemisphereLightNode.d.ts +3 -2
  223. three/src/nodes/lighting/LightProbeNode.d.ts +1 -1
  224. three/src/nodes/lighting/LightUtils.d.ts +1 -1
  225. three/src/nodes/lighting/LightingContextNode.d.ts +1 -1
  226. three/src/nodes/lighting/PointShadowNode.d.ts +11 -15
  227. three/src/nodes/lighting/ShadowFilterNode.d.ts +2 -0
  228. three/src/nodes/lighting/SpotLightNode.d.ts +0 -6
  229. three/src/nodes/materialx/MaterialXNodes.d.ts +11 -11
  230. three/src/nodes/math/BitcountNode.d.ts +23 -0
  231. three/src/nodes/math/ConditionalNode.d.ts +43 -22
  232. three/src/nodes/math/Hash.d.ts +1 -1
  233. three/src/nodes/math/MathNode.d.ts +603 -267
  234. three/src/nodes/math/MathUtils.d.ts +9 -5
  235. three/src/nodes/math/OperatorNode.d.ts +490 -227
  236. three/src/nodes/math/PackFloatNode.d.ts +19 -0
  237. three/src/nodes/math/TriNoise3D.d.ts +3 -3
  238. three/src/nodes/math/UnpackFloatNode.d.ts +18 -0
  239. three/src/nodes/pmrem/PMREMNode.d.ts +1 -1
  240. three/src/nodes/procedural/Checker.d.ts +1 -1
  241. three/src/nodes/tsl/TSLCore.d.ts +1683 -224
  242. three/src/nodes/utils/ArrayElementNode.d.ts +9 -4
  243. three/src/nodes/utils/DebugNode.d.ts +2 -5
  244. three/src/nodes/utils/Discard.d.ts +2 -3
  245. three/src/nodes/utils/FlipNode.d.ts +11 -0
  246. three/src/nodes/utils/LoopNode.d.ts +17 -13
  247. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
  248. three/src/nodes/utils/Oscillators.d.ts +4 -4
  249. three/src/nodes/utils/Packing.d.ts +3 -2
  250. three/src/nodes/utils/PostProcessingUtils.d.ts +6 -4
  251. three/src/nodes/utils/RemapNode.d.ts +33 -39
  252. three/src/nodes/utils/RotateNode.d.ts +17 -8
  253. three/src/nodes/utils/SplitNode.d.ts +1 -2
  254. three/src/nodes/utils/SpriteSheetUV.d.ts +7 -0
  255. three/src/nodes/utils/StorageArrayElementNode.d.ts +18 -9
  256. three/src/nodes/utils/Timer.d.ts +4 -4
  257. three/src/nodes/utils/TriplanarTextures.d.ts +2 -2
  258. three/src/nodes/utils/UVUtils.d.ts +8 -3
  259. three/src/objects/BatchedMesh.d.ts +6 -4
  260. three/src/objects/InstancedMesh.d.ts +32 -24
  261. three/src/objects/LOD.d.ts +1 -1
  262. three/src/objects/Skeleton.d.ts +4 -2
  263. three/src/renderers/WebGLRenderer.d.ts +25 -96
  264. three/src/renderers/common/Animation.d.ts +46 -9
  265. three/src/renderers/common/Attributes.d.ts +11 -13
  266. three/src/renderers/common/Backend.d.ts +0 -2
  267. three/src/renderers/common/Background.d.ts +17 -15
  268. three/src/renderers/common/BindGroup.d.ts +27 -13
  269. three/src/renderers/common/Binding.d.ts +21 -3
  270. three/src/renderers/common/Bindings.d.ts +41 -17
  271. three/src/renderers/common/BlendMode.d.ts +22 -0
  272. three/src/renderers/common/Buffer.d.ts +53 -5
  273. three/src/renderers/common/BufferUtils.d.ts +3 -4
  274. three/src/renderers/common/BundleGroup.d.ts +16 -6
  275. three/src/renderers/common/CanvasTarget.d.ts +76 -13
  276. three/src/renderers/common/ChainMap.d.ts +18 -8
  277. three/src/renderers/common/ClippingContext.d.ts +61 -10
  278. three/src/renderers/common/Color4.d.ts +10 -5
  279. three/src/renderers/common/ComputePipeline.d.ts +16 -2
  280. three/src/renderers/common/Constants.d.ts +5 -3
  281. three/src/renderers/common/CubeRenderTarget.d.ts +24 -7
  282. three/src/renderers/common/DataMap.d.ts +10 -18
  283. three/src/renderers/common/Geometries.d.ts +45 -19
  284. three/src/renderers/common/Info.d.ts +62 -9
  285. three/src/renderers/common/InspectorBase.d.ts +19 -7
  286. three/src/renderers/common/Lighting.d.ts +2 -6
  287. three/src/renderers/common/Pipeline.d.ts +14 -2
  288. three/src/renderers/common/Pipelines.d.ts +58 -60
  289. three/src/renderers/common/PostProcessing.d.ts +14 -17
  290. three/src/renderers/common/ProgrammableStage.d.ts +48 -8
  291. three/src/renderers/common/RenderBundle.d.ts +4 -2
  292. three/src/renderers/common/RenderBundles.d.ts +6 -3
  293. three/src/renderers/common/RenderContext.d.ts +175 -7
  294. three/src/renderers/common/RenderContexts.d.ts +21 -24
  295. three/src/renderers/common/RenderList.d.ts +77 -11
  296. three/src/renderers/common/RenderLists.d.ts +16 -4
  297. three/src/renderers/common/RenderObject.d.ts +229 -47
  298. three/src/renderers/common/{RenderPipeline.d.ts → RenderObjectPipeline.d.ts} +17 -5
  299. three/src/renderers/common/RenderObjects.d.ts +55 -22
  300. three/src/renderers/common/Renderer.d.ts +645 -216
  301. three/src/renderers/common/Textures.d.ts +24 -46
  302. three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
  303. three/src/renderers/common/Uniform.d.ts +143 -58
  304. three/src/renderers/common/UniformBuffer.d.ts +7 -5
  305. three/src/renderers/common/UniformsGroup.d.ts +51 -35
  306. three/src/renderers/common/XRManager.d.ts +321 -83
  307. three/src/renderers/common/XRRenderTarget.d.ts +49 -6
  308. three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
  309. three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
  310. three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
  311. three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
  312. three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
  313. three/src/renderers/shaders/ShaderLib.d.ts +1 -1
  314. three/src/renderers/shaders/UniformsLib.d.ts +0 -3
  315. three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
  316. three/src/renderers/webgl/WebGLCapabilities.d.ts +2 -2
  317. three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
  318. three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
  319. three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
  320. three/src/renderers/webgl/WebGLLights.d.ts +19 -18
  321. three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
  322. three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
  323. three/src/renderers/webgl/WebGLPrograms.d.ts +2 -3
  324. three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
  325. three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
  326. three/src/renderers/webgl/WebGLState.d.ts +305 -28
  327. three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
  328. three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
  329. three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
  330. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
  331. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
  332. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
  333. three/src/scenes/Fog.d.ts +31 -37
  334. three/src/scenes/FogExp2.d.ts +26 -31
  335. three/src/scenes/Scene.d.ts +51 -65
  336. three/src/textures/CompressedArrayTexture.d.ts +1 -1
  337. three/src/textures/CubeDepthTexture.d.ts +41 -0
  338. three/src/textures/CubeTexture.d.ts +4 -4
  339. three/src/textures/DataArrayTexture.d.ts +1 -1
  340. three/src/utils.d.ts +18 -1
  341. three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
  342. three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
  343. three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
  344. three/src/nodes/accessors/SceneNode.d.ts +0 -21
  345. three/src/nodes/code/ScriptableNode.d.ts +0 -21
  346. three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
  347. three/src/nodes/display/PosterizeNode.d.ts +0 -13
  348. three/src/nodes/functions/BSDF/DFGApprox.d.ts +0 -10
  349. three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
  350. three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
  351. three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
@@ -2,15 +2,7 @@ import { Camera, Color, Material, Scene } from "three";
2
2
 
3
3
  import { Pass } from "./Pass.js";
4
4
 
5
- export class RenderPass extends Pass {
6
- constructor(
7
- scene: Scene,
8
- camera: Camera,
9
- overrideMaterial?: Material | null,
10
- clearColor?: Color | null,
11
- clearAlpha?: number | null,
12
- );
13
-
5
+ declare class RenderPass extends Pass {
14
6
  scene: Scene;
15
7
  camera: Camera;
16
8
 
@@ -18,6 +10,19 @@ export class RenderPass extends Pass {
18
10
 
19
11
  clearColor: Color | null;
20
12
  clearAlpha: number | null;
21
-
13
+ clear: boolean;
22
14
  clearDepth: boolean;
15
+ needsSwap: boolean;
16
+
17
+ readonly isRenderPass: true;
18
+
19
+ constructor(
20
+ scene: Scene,
21
+ camera: Camera,
22
+ overrideMaterial?: Material | null,
23
+ clearColor?: Color | null,
24
+ clearAlpha?: number | null,
25
+ );
23
26
  }
27
+
28
+ export { RenderPass };
@@ -3,12 +3,13 @@ import { Color, MeshBasicMaterial, ShaderMaterial, Vector2, Vector3, WebGLRender
3
3
  import { FullScreenQuad, Pass } from "./Pass.js";
4
4
 
5
5
  export class UnrealBloomPass extends Pass {
6
- constructor(resolution: Vector2, strength: number, radius: number, threshold: number);
7
- resolution: Vector2;
8
6
  strength: number;
9
7
  radius: number;
10
8
  threshold: number;
9
+ resolution: Vector2;
11
10
  clearColor: Color;
11
+ needsUpdate: boolean;
12
+
12
13
  renderTargetsHorizontal: WebGLRenderTarget[];
13
14
  renderTargetsVertical: WebGLRenderTarget[];
14
15
  nMips: number;
@@ -20,12 +21,6 @@ export class UnrealBloomPass extends Pass {
20
21
  bloomTintColors: Vector3[];
21
22
  copyUniforms: object;
22
23
  blendMaterial: ShaderMaterial;
23
- oldClearColor: Color;
24
- oldClearAlpha: number;
25
- basic: MeshBasicMaterial;
26
- fsQuad: FullScreenQuad;
27
24
 
28
- dispose(): void;
29
- getSeparableBlurMaterial(): ShaderMaterial;
30
- getCompositeMaterial(): ShaderMaterial;
25
+ constructor(resolution: Vector2, strength: number, radius: number, threshold: number);
31
26
  }
@@ -41,6 +41,7 @@ export type Statement =
41
41
  | While
42
42
  | Switch
43
43
  | SwitchCase
44
+ | StructMember
44
45
  | null;
45
46
 
46
47
  export class VariableDeclaration {
@@ -273,3 +274,19 @@ export class SwitchCase {
273
274
  isDefault: boolean;
274
275
  readonly isSwitchCase: true;
275
276
  }
277
+
278
+ export class StructMember {
279
+ type: string;
280
+ name: string;
281
+ readonly isStructMember: true;
282
+
283
+ constructor(type: string, name: string);
284
+ }
285
+
286
+ export class StructDefinition {
287
+ name: string;
288
+ members: StructMember[];
289
+ readonly isStructDefinition: true;
290
+
291
+ constructor(name: string, members?: StructMember[]);
292
+ }
@@ -6,6 +6,7 @@ import {
6
6
  FunctionDeclaration,
7
7
  Program,
8
8
  Statement,
9
+ StructDefinition,
9
10
  Switch,
10
11
  Ternary,
11
12
  Uniform,
@@ -38,6 +39,7 @@ export default class TSLEncoder {
38
39
  emitWhile(node: While): string;
39
40
  emitVariables(node: VariableDeclaration, isRoot?: boolean): string;
40
41
  emitVarying(node: Varying): string;
42
+ emitStructDefinition(node: StructDefinition): string;
41
43
  emitOverloadingFunction(nodes: FunctionDeclaration[]): string;
42
44
  emitFunction(node: FunctionDeclaration): string;
43
45
  setLastStatement(statement: Statement | null): void;
@@ -1,12 +1,42 @@
1
1
  import { Camera, Scene } from "three/webgpu";
2
2
  import StereoCompositePassNode from "./StereoCompositePassNode.js";
3
3
 
4
+ declare const AnaglyphAlgorithm: {
5
+ TRUE: "true";
6
+ GREY: "grey";
7
+ COLOUR: "colour";
8
+ HALF_COLOUR: "halfColour";
9
+ DUBOIS: "dubois";
10
+ OPTIMISED: "optimised";
11
+ COMPROMISE: "compromise";
12
+ };
13
+ type AnaglyphAlgorithm = (typeof AnaglyphAlgorithm)[keyof typeof AnaglyphAlgorithm];
14
+
15
+ declare const AnaglyphColorMode: {
16
+ RED_CYAN: "redCyan";
17
+ MAGENTA_CYAN: "magentaCyan";
18
+ MAGENTA_GREEN: "magentaGreen";
19
+ };
20
+ type AnaglyphColorMode = (typeof AnaglyphColorMode)[keyof typeof AnaglyphColorMode];
21
+
4
22
  declare class AnaglyphPassNode extends StereoCompositePassNode {
5
23
  readonly isAnaglyphPassNode: true;
6
24
 
25
+ eyeSep: number;
26
+
27
+ planeDistance: number;
28
+
7
29
  constructor(scene: Scene, camera: Camera);
30
+
31
+ get algorithm(): AnaglyphAlgorithm;
32
+ set algorithm(algorithm: AnaglyphAlgorithm);
33
+
34
+ get colorMode(): AnaglyphColorMode;
35
+ set colorMode(color: AnaglyphColorMode);
8
36
  }
9
37
 
10
38
  export default AnaglyphPassNode;
11
39
 
40
+ export { AnaglyphAlgorithm, AnaglyphColorMode };
41
+
12
42
  export const anaglyphPass: (scene: Scene, camera: Camera) => AnaglyphPassNode;
@@ -1,6 +1,6 @@
1
1
  import { Node, TempNode, Vector2 } from "three/webgpu";
2
2
 
3
- export default class AnamorphicNode extends TempNode {
3
+ export default class AnamorphicNode extends TempNode<"vec4"> {
4
4
  textureNode: Node;
5
5
  thresholdNode: Node;
6
6
  scaleNode: Node;
@@ -0,0 +1,27 @@
1
+ import { Node, TempNode, TextureNode } from "three/webgpu";
2
+
3
+ declare class BilateralBlurNode extends TempNode<"vec4"> {
4
+ textureNode: TextureNode;
5
+ directionNode: Node<"vec2"> | Node<"float"> | null;
6
+ sigma: number;
7
+ sigmaColor: number;
8
+
9
+ constructor(
10
+ textureNode: TextureNode,
11
+ directionNode?: Node<"vec2"> | Node<"float"> | null,
12
+ sigma?: number,
13
+ sigmaColor?: number,
14
+ );
15
+
16
+ setSize(width: number, height: number): void;
17
+ getTextureNode(): TextureNode;
18
+ }
19
+
20
+ export default BilateralBlurNode;
21
+
22
+ export const bilateralBlur: (
23
+ node: Node<"vec4">,
24
+ directionNode?: Node<"vec2"> | Node<"float">,
25
+ sigma?: number,
26
+ sigmaColor?: number,
27
+ ) => BilateralBlurNode;
@@ -1,3 +1,3 @@
1
1
  import { Node } from "three/webgpu";
2
2
 
3
- export const bleach: (color: Node, opacity?: number) => Node;
3
+ export const bleach: (color: Node, opacity?: Node | number) => Node;
@@ -1,12 +1,12 @@
1
1
  import { Node, TempNode, TextureNode, UniformNode } from "three/webgpu";
2
2
 
3
- declare class BloomNode extends TempNode {
3
+ declare class BloomNode extends TempNode<"vec4"> {
4
4
  inputNode: Node;
5
- strength: UniformNode<number>;
6
- radius: UniformNode<number>;
7
- threshold: UniformNode<number>;
5
+ strength: UniformNode<"float", number>;
6
+ radius: UniformNode<"float", number>;
7
+ threshold: UniformNode<"float", number>;
8
8
 
9
- smoothWidth: UniformNode<number>;
9
+ smoothWidth: UniformNode<"float", number>;
10
10
 
11
11
  constructor(inputNode: Node, strength?: number, radius?: number, threshold?: number);
12
12
 
@@ -0,0 +1,22 @@
1
+ import { Node } from "three/webgpu";
2
+
3
+ export const barrelUV: (curvature?: Node<"float">, coord?: Node<"vec2">) => Node<"vec2">;
4
+
5
+ export const barrelMast: (coord: Node<"vec2">) => Node<"float">;
6
+
7
+ export const colorBleeding: (color: Node, amount?: Node<"float">) => Node<"vec3">;
8
+
9
+ export const scanlines: (
10
+ color: Node<"vec3">,
11
+ intensity?: Node<"float">,
12
+ count?: Node<"float">,
13
+ speed?: Node<"float">,
14
+ coord?: Node<"vec2">,
15
+ ) => Node<"vec3">;
16
+
17
+ export const vignette: (
18
+ color: Node<"vec3">,
19
+ intensity?: Node<"float">,
20
+ smoothness?: Node<"float"> | number,
21
+ coord?: Node<"vec2">,
22
+ ) => Node<"vec3">;
@@ -7,11 +7,11 @@ declare class DenoiseNode extends TempNode {
7
7
 
8
8
  noiseNode: Node;
9
9
 
10
- lumaPhi: UniformNode<number>;
11
- depthPhi: UniformNode<number>;
12
- normalPhi: UniformNode<number>;
13
- radius: UniformNode<number>;
14
- index: UniformNode<number>;
10
+ lumaPhi: UniformNode<"float", number>;
11
+ depthPhi: UniformNode<"float", number>;
12
+ normalPhi: UniformNode<"float", number>;
13
+ radius: UniformNode<"float", number>;
14
+ index: UniformNode<"float", number>;
15
15
 
16
16
  constructor(textureNode: Node, depthNode: Node, normalNode: Node, noiseNode: Node, camera: Camera);
17
17
  }
@@ -1,19 +1,17 @@
1
- import { Node, TempNode, UniformNode, Vector2 } from "three/webgpu";
1
+ import { Node, TempNode, UniformNode } from "three/webgpu";
2
2
 
3
3
  declare class DotScreenNode extends TempNode {
4
4
  inputNode: Node;
5
- center: UniformNode<Vector2>;
6
- angle: UniformNode<number>;
7
- scale: UniformNode<number>;
5
+ angle: UniformNode<"float", number>;
6
+ scale: UniformNode<"float", number>;
8
7
 
9
- constructor(inputNode: Node, center?: Vector2, angle?: number, scale?: number);
8
+ constructor(inputNode: Node, angle?: number, scale?: number);
10
9
  }
11
10
 
12
11
  export default DotScreenNode;
13
12
 
14
13
  export const dotScreen: (
15
14
  node: Node,
16
- center?: Vector2,
17
15
  angle?: number,
18
16
  scale?: number,
19
17
  ) => DotScreenNode;
@@ -1,18 +1,18 @@
1
1
  import { Camera, Node, TempNode, TextureNode, UniformNode, Vector2 } from "three/webgpu";
2
2
 
3
- declare class GTAONode extends TempNode {
3
+ declare class GTAONode extends TempNode<"float"> {
4
4
  depthNode: Node;
5
5
  normalNode: Node;
6
6
 
7
7
  resolutionScale: number;
8
8
 
9
- radius: UniformNode<number>;
10
- resolution: UniformNode<Vector2>;
11
- thickness: UniformNode<number>;
12
- distanceExponent: UniformNode<number>;
13
- distanceFallOff: UniformNode<number>;
14
- scale: UniformNode<number>;
15
- samples: UniformNode<number>;
9
+ radius: UniformNode<"float", number>;
10
+ resolution: UniformNode<"vec2", Vector2>;
11
+ thickness: UniformNode<"float", number>;
12
+ distanceExponent: UniformNode<"float", number>;
13
+ distanceFallOff: UniformNode<"float", number>;
14
+ scale: UniformNode<"float", number>;
15
+ samples: UniformNode<"float", number>;
16
16
 
17
17
  useTemporalFiltering: boolean;
18
18
 
@@ -2,10 +2,10 @@ import { Node, TempNode, TextureNode, Vector2 } from "three/webgpu";
2
2
 
3
3
  export interface GaussianBlurNodeOptions {
4
4
  premultipliedAlpha?: boolean | undefined;
5
- resolution?: Vector2 | undefined;
5
+ resolutionScale?: number | undefined;
6
6
  }
7
7
 
8
- declare class GaussianBlurNode extends TempNode {
8
+ declare class GaussianBlurNode extends TempNode<"vec4"> {
9
9
  textureNode: TextureNode;
10
10
  directionNode: Node | null;
11
11
  sigma: number;
@@ -14,6 +14,8 @@ declare class GaussianBlurNode extends TempNode {
14
14
 
15
15
  premultipliedAlpha: boolean;
16
16
 
17
+ readonly isGaussianBlurNode: boolean;
18
+
17
19
  constructor(
18
20
  textureNode: TextureNode,
19
21
  directionNode?: Node | null,
@@ -0,0 +1,20 @@
1
+ import { Camera, DirectionalLight, PointLight, TempNode, TextureNode, UniformNode } from "three/webgpu";
2
+
3
+ declare class GodraysNode extends TempNode<"vec4"> {
4
+ depthNode: TextureNode;
5
+
6
+ raymarchSteps: UniformNode<"uint", number>;
7
+ density: UniformNode<"float", number>;
8
+ maxDensity: UniformNode<"float", number>;
9
+ distanceAttenuation: UniformNode<"float", number>;
10
+ resolutionScale: number;
11
+
12
+ constructor(depthNode: TextureNode, camera: Camera, light: DirectionalLight | PointLight);
13
+
14
+ getTextureNode(): TextureNode;
15
+ setSize(width: number, height: number): void;
16
+ }
17
+
18
+ export default GodraysNode;
19
+
20
+ export const godrays: (depthNode: TextureNode, camera: Camera, light: DirectionalLight | PointLight) => GodraysNode;
@@ -1,4 +1,4 @@
1
- import { Node, TempNode, TextureNode, UniformNode, Vector3 } from "three/webgpu";
1
+ import { Node, TempNode, TextureNode } from "three/webgpu";
2
2
 
3
3
  interface LensflareNodeParams {
4
4
  ghostTint?: Node | undefined;
@@ -12,11 +12,11 @@ interface LensflareNodeParams {
12
12
  declare class LensflareNode extends TempNode {
13
13
  textureNode: TextureNode;
14
14
 
15
- ghostTintNode: UniformNode<Vector3>;
16
- thresholdNode: UniformNode<number>;
17
- ghostSamplesNode: UniformNode<number>;
18
- ghostSpacingNode: UniformNode<number>;
19
- ghostAttenuationFactorNode: UniformNode<number>;
15
+ ghostTintNode: Node<"vec3">;
16
+ thresholdNode: Node<"float">;
17
+ ghostSamplesNode: Node<"float">;
18
+ ghostSpacingNode: Node<"float">;
19
+ ghostAttenuationFactorNode: Node<"float">;
20
20
  downSampleRatio: number;
21
21
 
22
22
  constructor(textureNode: TextureNode, params?: LensflareNodeParams);
@@ -1,12 +1,12 @@
1
- import { Data3DTexture, Node, TempNode, Texture3DNode, UniformNode } from "three/webgpu";
1
+ import { Node, TempNode, TextureNode, UniformNode } from "three/webgpu";
2
2
 
3
3
  declare class Lut3DNode extends TempNode {
4
4
  inputNode: Node;
5
- lutNode: Texture3DNode;
6
- size: UniformNode<number>;
7
- intensityNode: UniformNode<number>;
5
+ lutNode: TextureNode;
6
+ size: UniformNode<"float", number>;
7
+ intensityNode: Node<"float">;
8
8
 
9
- constructor(inputNode: Node, lutNode: UniformNode<Data3DTexture>, size: number, intensityNode: UniformNode<number>);
9
+ constructor(inputNode: Node, lutNode: TextureNode, size: number, intensityNode: Node);
10
10
  }
11
11
 
12
12
  export default Lut3DNode;
@@ -4,4 +4,4 @@ export const motionBlur: (
4
4
  inputNode: Node,
5
5
  velocity: Node,
6
6
  numSamples?: Node,
7
- ) => Node;
7
+ ) => Node<"vec4">;
@@ -1,4 +1,4 @@
1
- import { Camera, Node, Object3D, Scene, TempNode, TextureNode, UniformNode } from "three/webgpu";
1
+ import { Camera, Node, Object3D, Scene, TempNode, TextureNode } from "three/webgpu";
2
2
 
3
3
  export interface OutlineNodeParams {
4
4
  selectedObjects?: Object3D[] | undefined;
@@ -7,19 +7,19 @@ export interface OutlineNodeParams {
7
7
  downSampleRatio?: number | undefined;
8
8
  }
9
9
 
10
- declare class OutlineNode extends TempNode {
10
+ declare class OutlineNode extends TempNode<"vec4"> {
11
11
  scene: Scene;
12
12
  camera: Camera;
13
13
  selectedObjects: Object3D[];
14
- edgeThicknessNode: UniformNode<number>;
15
- edgeGlowNode: UniformNode<number>;
14
+ edgeThicknessNode: Node<"float">;
15
+ edgeGlowNode: Node<"float">;
16
16
  downSampleRatio: number;
17
17
 
18
18
  constructor(scene: Scene, camera: Camera, params?: OutlineNodeParams);
19
19
 
20
- get visibleEdge(): Node;
20
+ get visibleEdge(): Node<"float">;
21
21
 
22
- get hiddenEdge(): Node;
22
+ get hiddenEdge(): Node<"float">;
23
23
 
24
24
  getTextureNode(): TextureNode;
25
25
 
@@ -1,27 +1,27 @@
1
- import { Camera, PassNode, Scene, UniformNode } from "three/webgpu";
1
+ import { Camera, Node, PassNode, Scene } from "three/webgpu";
2
2
 
3
3
  declare class PixelationPassNode extends PassNode {
4
- pixelSize: UniformNode<number>;
5
- normalEdgeStrength: UniformNode<number>;
6
- depthEdgeStrength: UniformNode<number>;
4
+ pixelSize: Node<"float">;
5
+ normalEdgeStrength: Node<"float">;
6
+ depthEdgeStrength: Node<"float">;
7
7
 
8
8
  readonly isPixelationPassNode: true;
9
9
 
10
10
  constructor(
11
11
  scene: Scene,
12
12
  camera: Camera,
13
- pixelSize: number,
14
- normalEdgeStrength: number,
15
- depthEdgeStrength: number,
13
+ pixelSize: Node,
14
+ normalEdgeStrength: Node,
15
+ depthEdgeStrength: Node,
16
16
  );
17
17
  }
18
18
 
19
19
  export const pixelationPass: (
20
20
  scene: Scene,
21
21
  camera: Camera,
22
- pixelSize: UniformNode<number>,
23
- normalEdgeStrength: UniformNode<number>,
24
- depthEdgeStrength: UniformNode<number>,
22
+ pixelSize: Node | number,
23
+ normalEdgeStrength: Node | number,
24
+ depthEdgeStrength: Node | number,
25
25
  ) => PixelationPassNode;
26
26
 
27
27
  export default PixelationPassNode;
@@ -2,8 +2,8 @@ import { Node, TempNode, TextureNode, UniformNode } from "three/webgpu";
2
2
 
3
3
  export default class RGBShiftNode extends TempNode {
4
4
  textureNode: TextureNode;
5
- amount: UniformNode<number>;
6
- angle: UniformNode<number>;
5
+ amount: UniformNode<"float", number>;
6
+ angle: UniformNode<"float", number>;
7
7
 
8
8
  constructor(textureNode: TextureNode, amount?: number, angle?: number);
9
9
 
@@ -0,0 +1,17 @@
1
+ import { Camera, Node, PassNode, Scene } from "three/webgpu";
2
+
3
+ export interface RetroPassNodeOptions {
4
+ affineDistortion?: Node | null | undefined;
5
+ filterTextures?: boolean | undefined;
6
+ }
7
+
8
+ declare class RetroPassNode extends PassNode {
9
+ affineDistortionNode: Node | null;
10
+ filterTextures: boolean;
11
+
12
+ constructor(scene: Scene, camera: Camera, options?: RetroPassNodeOptions);
13
+ }
14
+
15
+ export default RetroPassNode;
16
+
17
+ export const retroPass: (scene: Scene, camera: Camera, options?: RetroPassNodeOptions) => RetroPassNode;
@@ -8,7 +8,7 @@ declare class SSAAPassNode extends PassNode {
8
8
  clearColor: Color;
9
9
  clearAlpha: number;
10
10
 
11
- sampleWeight: UniformNode<number>;
11
+ sampleWeight: UniformNode<"float", number>;
12
12
 
13
13
  sampleRenderTarget: RenderTarget | null;
14
14
 
@@ -1,20 +1,20 @@
1
1
  import { Node, PerspectiveCamera, TempNode, UniformNode } from "three/webgpu";
2
2
 
3
- declare class SSGINode extends TempNode {
3
+ declare class SSGINode extends TempNode<"vec4"> {
4
4
  beautyNode: Node;
5
5
  depthNode: Node;
6
6
  normalNode: Node;
7
7
 
8
- sliceCount: UniformNode<number>;
9
- stepCount: UniformNode<number>;
10
- aoIntensity: UniformNode<number>;
11
- giIntensity: UniformNode<number>;
12
- radius: UniformNode<number>;
13
- useScreenSpaceSampling: UniformNode<boolean>;
14
- expFactor: UniformNode<number>;
15
- thickness: UniformNode<number>;
16
- useLinearThickness: UniformNode<boolean>;
17
- backfaceLighting: UniformNode<number>;
8
+ sliceCount: UniformNode<"uint", number>;
9
+ stepCount: UniformNode<"uint", number>;
10
+ aoIntensity: UniformNode<"float", number>;
11
+ giIntensity: UniformNode<"float", number>;
12
+ radius: UniformNode<"float", number>;
13
+ useScreenSpaceSampling: UniformNode<"bool", boolean>;
14
+ expFactor: UniformNode<"float", number>;
15
+ thickness: UniformNode<"float", number>;
16
+ useLinearThickness: UniformNode<"bool", boolean>;
17
+ backfaceLighting: UniformNode<"float", number>;
18
18
  useTemporalFiltering: boolean;
19
19
 
20
20
  constructor(beautyNode: Node, depthNode: Node, normalNode: Node, camera: PerspectiveCamera);
@@ -1,6 +1,6 @@
1
1
  import { Camera, Node, TempNode, TextureNode, UniformNode } from "three/webgpu";
2
2
 
3
- declare class SSRNode extends TempNode {
3
+ declare class SSRNode extends TempNode<"vec4"> {
4
4
  colorNode: Node;
5
5
  depthNode: Node;
6
6
  normalNode: Node;
@@ -10,11 +10,11 @@ declare class SSRNode extends TempNode {
10
10
 
11
11
  resolutionScale: number;
12
12
 
13
- maxDistance: UniformNode<number>;
14
- thickness: UniformNode<number>;
15
- opacity: UniformNode<number>;
16
- quality: UniformNode<number>;
17
- blurQuality: UniformNode<number>;
13
+ maxDistance: UniformNode<"float", number>;
14
+ thickness: UniformNode<"float", number>;
15
+ opacity: UniformNode<"float", number>;
16
+ quality: UniformNode<"float", number>;
17
+ blurQuality: UniformNode<"float", number>;
18
18
 
19
19
  constructor(
20
20
  colorNode: Node,
@@ -1,16 +1,18 @@
1
1
  import { Camera, DirectionalLight, TempNode, TextureNode, UniformNode } from "three/webgpu";
2
2
 
3
- declare class SSSNode extends TempNode {
3
+ declare class SSSNode extends TempNode<"float"> {
4
4
  depthNode: TextureNode;
5
5
 
6
- maxDistance: UniformNode<number>;
7
- thickness: UniformNode<number>;
8
- shadowIntensity: UniformNode<number>;
9
- quality: UniformNode<number>;
6
+ maxDistance: UniformNode<"float", number>;
7
+ thickness: UniformNode<"float", number>;
8
+ shadowIntensity: UniformNode<"float", number>;
9
+ quality: UniformNode<"float", number>;
10
10
  resolutionScale: number;
11
11
  useTemporalFiltering: boolean;
12
12
 
13
13
  constructor(depthNode: TextureNode, camera: Camera, mainLight: DirectionalLight);
14
+
15
+ getTextureNode(): TextureNode;
14
16
  }
15
17
 
16
18
  export default SSSNode;
@@ -0,0 +1,3 @@
1
+ import { Node } from "three/webgpu";
2
+
3
+ export const circle: (scale?: Node<"float">, softness?: Node<"float"> | number, coord?: Node<"vec2">) => Node<"float">;
@@ -8,6 +8,11 @@ declare class TRAANode extends TempNode {
8
8
  velocityNode: TextureNode;
9
9
  camera: Camera;
10
10
 
11
+ depthThreshold: number;
12
+ edgeDepthDiff: number;
13
+ maxVelocityLength: number;
14
+ useSubpixelCorrection: boolean;
15
+
11
16
  constructor(beautyNode: TextureNode, depthNode: TextureNode, velocityNode: TextureNode, camera: Camera);
12
17
  }
13
18
 
@@ -25,7 +25,7 @@ export const transition: (
25
25
  node: Node,
26
26
  nodeB: Node,
27
27
  mixTexture: Node,
28
- mixRatio: UniformNode<number>,
29
- threshold: UniformNode<number>,
30
- useTexture: UniformNode<number>,
28
+ mixRatio: Node | number,
29
+ threshold: Node | number,
30
+ useTexture: Node | number,
31
31
  ) => TransitionNode;
@@ -7,4 +7,4 @@ export interface BoxBlurOptions {
7
7
  premultipliedAlpha?: boolean | undefined;
8
8
  }
9
9
 
10
- export const boxBlur: (textureNode: Node, options?: BoxBlurOptions) => Node;
10
+ export const boxBlur: (textureNode: Node, options?: BoxBlurOptions) => Node<"vec4">;
@@ -0,0 +1,15 @@
1
+ import { Camera, Color, Node } from "three/webgpu";
2
+
3
+ export interface DepthAwareBlendOptions {
4
+ blendColor?: Node | Color;
5
+ edgeRadius?: Node<"int"> | number;
6
+ edgeStrength?: Node<"float"> | number;
7
+ }
8
+
9
+ export const depthAwareBlend: (
10
+ baseNode: Node,
11
+ blendNode: Node,
12
+ depthNode: Node,
13
+ camera: Camera,
14
+ options?: DepthAwareBlendOptions,
15
+ ) => Node<"vec4">;