@types/three 0.179.0 → 0.181.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 (316) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/Addons.d.ts +1 -1
  3. three/examples/jsm/controls/DragControls.d.ts +0 -30
  4. three/examples/jsm/controls/PointerLockControls.d.ts +0 -5
  5. three/examples/jsm/exporters/DRACOExporter.d.ts +1 -1
  6. three/examples/jsm/exporters/EXRExporter.d.ts +2 -2
  7. three/examples/jsm/exporters/KTX2Exporter.d.ts +2 -2
  8. three/examples/jsm/exporters/STLExporter.d.ts +2 -2
  9. three/examples/jsm/exporters/USDZExporter.d.ts +2 -2
  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/HDRCubeTextureLoader.d.ts +2 -2
  21. three/examples/jsm/loaders/HDRLoader.d.ts +22 -0
  22. three/examples/jsm/loaders/KTX2Loader.d.ts +3 -0
  23. three/examples/jsm/loaders/LDrawLoader.d.ts +5 -1
  24. three/examples/jsm/loaders/RGBELoader.d.ts +9 -15
  25. three/examples/jsm/materials/WoodNodeMaterial.d.ts +75 -0
  26. three/examples/jsm/math/ColorSpaces.d.ts +4 -0
  27. three/examples/jsm/objects/SkyMesh.d.ts +6 -7
  28. three/examples/jsm/objects/WaterMesh.d.ts +2 -2
  29. three/examples/jsm/postprocessing/SSRPass.d.ts +6 -29
  30. three/examples/jsm/renderers/CSS2DRenderer.d.ts +15 -10
  31. three/examples/jsm/tsl/display/AfterImageNode.d.ts +4 -5
  32. three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +1 -2
  33. three/examples/jsm/tsl/display/AnamorphicNode.d.ts +11 -3
  34. three/examples/jsm/tsl/display/BleachBypass.d.ts +1 -2
  35. three/examples/jsm/tsl/display/BloomNode.d.ts +2 -3
  36. three/examples/jsm/tsl/display/ChromaticAberrationNode.d.ts +1 -2
  37. three/examples/jsm/tsl/display/DenoiseNode.d.ts +1 -2
  38. three/examples/jsm/tsl/display/DepthOfFieldNode.d.ts +15 -10
  39. three/examples/jsm/tsl/display/DotScreenNode.d.ts +1 -2
  40. three/examples/jsm/tsl/display/FXAANode.d.ts +1 -2
  41. three/examples/jsm/tsl/display/FilmNode.d.ts +1 -2
  42. three/examples/jsm/tsl/display/GTAONode.d.ts +11 -10
  43. three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +28 -9
  44. three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -7
  45. three/examples/jsm/tsl/display/Lut3DNode.d.ts +2 -3
  46. three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -2
  47. three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -7
  48. three/examples/jsm/tsl/display/ParallaxBarrierPassNode.d.ts +1 -2
  49. three/examples/jsm/tsl/display/PixelationPassNode.d.ts +1 -2
  50. three/examples/jsm/tsl/display/RGBShiftNode.d.ts +1 -2
  51. three/examples/jsm/tsl/display/SMAANode.d.ts +1 -2
  52. three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -2
  53. three/examples/jsm/tsl/display/SSGINode.d.ts +30 -0
  54. three/examples/jsm/tsl/display/SSRNode.d.ts +18 -14
  55. three/examples/jsm/tsl/display/SSSNode.d.ts +18 -0
  56. three/examples/jsm/tsl/display/Sepia.d.ts +1 -2
  57. three/examples/jsm/tsl/display/SobelOperatorNode.d.ts +1 -2
  58. three/examples/jsm/tsl/display/StereoPassNode.d.ts +1 -2
  59. three/examples/jsm/tsl/display/TRAANode.d.ts +1 -2
  60. three/examples/jsm/tsl/display/TransitionNode.d.ts +1 -2
  61. three/examples/jsm/tsl/display/boxBlur.d.ts +10 -0
  62. three/examples/jsm/tsl/display/hashBlur.d.ts +2 -3
  63. three/examples/jsm/tsl/lighting/TiledLightsNode.d.ts +3 -4
  64. three/examples/jsm/tsl/math/Bayer.d.ts +1 -2
  65. three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -3
  66. three/package.json +2 -2
  67. three/src/Three.Core.d.ts +2 -1
  68. three/src/Three.TSL.d.ts +36 -5
  69. three/src/Three.WebGPU.Nodes.d.ts +2 -0
  70. three/src/Three.WebGPU.d.ts +2 -0
  71. three/src/animation/AnimationClip.d.ts +5 -0
  72. three/src/animation/AnimationMixer.d.ts +3 -3
  73. three/src/constants.d.ts +3 -1
  74. three/src/lights/DirectionalLight.d.ts +0 -1
  75. three/src/loaders/ObjectLoader.d.ts +3 -3
  76. three/src/loaders/TextureLoader.d.ts +3 -3
  77. three/src/materials/LineBasicMaterial.d.ts +1 -0
  78. three/src/materials/LineDashedMaterial.d.ts +1 -0
  79. three/src/materials/Material.d.ts +2 -2
  80. three/src/materials/MeshBasicMaterial.d.ts +1 -0
  81. three/src/materials/MeshDepthMaterial.d.ts +1 -0
  82. three/src/materials/MeshDistanceMaterial.d.ts +2 -1
  83. three/src/materials/MeshLambertMaterial.d.ts +2 -1
  84. three/src/materials/MeshMatcapMaterial.d.ts +15 -0
  85. three/src/materials/MeshNormalMaterial.d.ts +1 -0
  86. three/src/materials/MeshPhongMaterial.d.ts +2 -1
  87. three/src/materials/MeshPhysicalMaterial.d.ts +1 -1
  88. three/src/materials/MeshStandardMaterial.d.ts +7 -7
  89. three/src/materials/MeshToonMaterial.d.ts +1 -0
  90. three/src/materials/PointsMaterial.d.ts +2 -1
  91. three/src/materials/ShaderMaterial.d.ts +9 -8
  92. three/src/materials/ShadowMaterial.d.ts +1 -0
  93. three/src/materials/SpriteMaterial.d.ts +1 -0
  94. three/src/materials/nodes/Line2NodeMaterial.d.ts +1 -0
  95. three/src/materials/nodes/LineBasicNodeMaterial.d.ts +1 -0
  96. three/src/materials/nodes/LineDashedNodeMaterial.d.ts +1 -0
  97. three/src/materials/nodes/MeshBasicNodeMaterial.d.ts +1 -0
  98. three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +1 -0
  99. three/src/materials/nodes/MeshMatcapNodeMaterial.d.ts +1 -0
  100. three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +1 -0
  101. three/src/materials/nodes/MeshPhongNodeMaterial.d.ts +1 -0
  102. three/src/materials/nodes/MeshPhysicalNodeMaterial.d.ts +1 -0
  103. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +2 -1
  104. three/src/materials/nodes/MeshStandardNodeMaterial.d.ts +1 -0
  105. three/src/materials/nodes/MeshToonNodeMaterial.d.ts +1 -0
  106. three/src/materials/nodes/NodeMaterial.d.ts +3 -3
  107. three/src/materials/nodes/PointsNodeMaterial.d.ts +17 -0
  108. three/src/materials/nodes/ShadowNodeMaterial.d.ts +1 -0
  109. three/src/materials/nodes/SpriteNodeMaterial.d.ts +1 -0
  110. three/src/materials/nodes/VolumeNodeMaterial.d.ts +2 -2
  111. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +1 -1
  112. three/src/math/ColorManagement.d.ts +1 -1
  113. three/src/math/Vector3.d.ts +2 -2
  114. three/src/nodes/Nodes.d.ts +4 -1
  115. three/src/nodes/TSL.d.ts +4 -1
  116. three/src/nodes/accessors/AccessorsUtils.d.ts +4 -5
  117. three/src/nodes/accessors/Arrays.d.ts +2 -3
  118. three/src/nodes/accessors/BatchNode.d.ts +1 -2
  119. three/src/nodes/accessors/Bitangent.d.ts +4 -5
  120. three/src/nodes/accessors/BufferAttributeNode.d.ts +8 -9
  121. three/src/nodes/accessors/BufferNode.d.ts +2 -2
  122. three/src/nodes/accessors/BuiltinNode.d.ts +1 -2
  123. three/src/nodes/accessors/Camera.d.ts +11 -10
  124. three/src/nodes/accessors/ClippingNode.d.ts +3 -6
  125. three/src/nodes/accessors/CubeTextureNode.d.ts +8 -9
  126. three/src/nodes/accessors/InstanceNode.d.ts +1 -2
  127. three/src/nodes/accessors/InstancedMeshNode.d.ts +1 -2
  128. three/src/nodes/accessors/Lights.d.ts +6 -7
  129. three/src/nodes/accessors/MaterialNode.d.ts +38 -39
  130. three/src/nodes/accessors/MaterialProperties.d.ts +3 -4
  131. three/src/nodes/accessors/MaterialReferenceNode.d.ts +2 -2
  132. three/src/nodes/accessors/ModelNode.d.ts +12 -13
  133. three/src/nodes/accessors/ModelViewProjectionNode.d.ts +1 -2
  134. three/src/nodes/accessors/MorphNode.d.ts +1 -2
  135. three/src/nodes/accessors/Normal.d.ts +13 -14
  136. three/src/nodes/accessors/Object3DNode.d.ts +6 -7
  137. three/src/nodes/accessors/PointUVNode.d.ts +1 -2
  138. three/src/nodes/accessors/Position.d.ts +7 -8
  139. three/src/nodes/accessors/ReferenceBaseNode.d.ts +2 -3
  140. three/src/nodes/accessors/ReferenceNode.d.ts +2 -3
  141. three/src/nodes/accessors/ReflectVector.d.ts +4 -5
  142. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -2
  143. three/src/nodes/accessors/SceneNode.d.ts +3 -4
  144. three/src/nodes/accessors/SkinningNode.d.ts +5 -6
  145. three/src/nodes/accessors/StorageBufferNode.d.ts +5 -5
  146. three/src/nodes/accessors/StorageTextureNode.d.ts +7 -4
  147. three/src/nodes/accessors/Tangent.d.ts +4 -6
  148. three/src/nodes/accessors/TangentUtils.d.ts +2 -3
  149. three/src/nodes/accessors/Texture3DNode.d.ts +3 -4
  150. three/src/nodes/accessors/TextureBicubic.d.ts +2 -3
  151. three/src/nodes/accessors/TextureNode.d.ts +31 -24
  152. three/src/nodes/accessors/TextureSizeNode.d.ts +1 -2
  153. three/src/nodes/accessors/UV.d.ts +1 -2
  154. three/src/nodes/accessors/UniformArrayNode.d.ts +2 -3
  155. three/src/nodes/accessors/UserDataNode.d.ts +1 -2
  156. three/src/nodes/accessors/VelocityNode.d.ts +1 -2
  157. three/src/nodes/accessors/VertexColorNode.d.ts +1 -2
  158. three/src/nodes/code/CodeNode.d.ts +4 -5
  159. three/src/nodes/code/ExpressionNode.d.ts +1 -2
  160. three/src/nodes/code/FunctionCallNode.d.ts +6 -5
  161. three/src/nodes/code/FunctionNode.d.ts +4 -6
  162. three/src/nodes/code/ScriptableNode.d.ts +1 -2
  163. three/src/nodes/code/ScriptableValueNode.d.ts +1 -2
  164. three/src/nodes/core/ArrayNode.d.ts +6 -6
  165. three/src/nodes/core/AssignNode.d.ts +1 -8
  166. three/src/nodes/core/AttributeNode.d.ts +1 -2
  167. three/src/nodes/core/BypassNode.d.ts +5 -5
  168. three/src/nodes/core/ContextNode.d.ts +25 -9
  169. three/src/nodes/core/IndexNode.d.ts +10 -7
  170. three/src/nodes/core/InspectorNode.d.ts +16 -0
  171. three/src/nodes/core/IsolateNode.d.ts +36 -0
  172. three/src/nodes/core/MRTNode.d.ts +3 -4
  173. three/src/nodes/core/Node.d.ts +22 -13
  174. three/src/nodes/core/NodeUtils.d.ts +0 -10
  175. three/src/nodes/core/OutputStructNode.d.ts +1 -2
  176. three/src/nodes/core/ParameterNode.d.ts +1 -2
  177. three/src/nodes/core/PropertyNode.d.ts +30 -31
  178. three/src/nodes/core/StackNode.d.ts +1 -4
  179. three/src/nodes/core/StructNode.d.ts +3 -4
  180. three/src/nodes/core/SubBuildNode.d.ts +1 -2
  181. three/src/nodes/core/UniformNode.d.ts +5 -8
  182. three/src/nodes/core/VarNode.d.ts +11 -21
  183. three/src/nodes/core/VaryingNode.d.ts +12 -10
  184. three/src/nodes/display/BlendModes.d.ts +11 -12
  185. three/src/nodes/display/BumpMapNode.d.ts +1 -2
  186. three/src/nodes/display/ColorAdjustment.d.ts +7 -8
  187. three/src/nodes/display/ColorSpaceFunctions.d.ts +2 -3
  188. three/src/nodes/display/ColorSpaceNode.d.ts +19 -9
  189. three/src/nodes/display/FrontFacingNode.d.ts +3 -4
  190. three/src/nodes/display/NormalMapNode.d.ts +1 -2
  191. three/src/nodes/display/PassNode.d.ts +20 -11
  192. three/src/nodes/display/PosterizeNode.d.ts +1 -2
  193. three/src/nodes/display/RenderOutputNode.d.ts +11 -6
  194. three/src/nodes/display/ScreenNode.d.ts +12 -10
  195. three/src/nodes/display/ToneMappingFunctions.d.ts +6 -7
  196. three/src/nodes/display/ToneMappingNode.d.ts +11 -10
  197. three/src/nodes/display/ToonOutlinePassNode.d.ts +1 -2
  198. three/src/nodes/display/ViewportDepthNode.d.ts +3 -4
  199. three/src/nodes/display/ViewportDepthTextureNode.d.ts +4 -2
  200. three/src/nodes/display/ViewportSharedTextureNode.d.ts +4 -2
  201. three/src/nodes/display/ViewportTextureNode.d.ts +6 -3
  202. three/src/nodes/fog/Fog.d.ts +5 -6
  203. three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +4 -5
  204. three/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.d.ts +14 -0
  205. three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +1 -2
  206. three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +1 -2
  207. three/src/nodes/functions/BSDF/DFGApprox.d.ts +1 -2
  208. three/src/nodes/functions/BSDF/D_GGX.d.ts +1 -2
  209. three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +1 -2
  210. three/src/nodes/functions/BSDF/F_Schlick.d.ts +1 -2
  211. three/src/nodes/functions/BSDF/Schlick_to_F0.d.ts +1 -2
  212. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +1 -2
  213. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +1 -2
  214. three/src/nodes/functions/ShadowMaskModel.d.ts +1 -2
  215. three/src/nodes/functions/material/getAlphaHashThreshold.d.ts +1 -2
  216. three/src/nodes/functions/material/getGeometryRoughness.d.ts +1 -2
  217. three/src/nodes/functions/material/getParallaxCorrectNormal.d.ts +1 -2
  218. three/src/nodes/functions/material/getRoughness.d.ts +1 -2
  219. three/src/nodes/functions/material/getShIrradianceAt.d.ts +1 -2
  220. three/src/nodes/geometry/RangeNode.d.ts +1 -2
  221. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +10 -11
  222. three/src/nodes/gpgpu/BarrierNode.d.ts +3 -4
  223. three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +5 -6
  224. three/src/nodes/gpgpu/ComputeNode.d.ts +21 -13
  225. three/src/nodes/gpgpu/SubgroupFunctionNode.d.ts +99 -0
  226. three/src/nodes/gpgpu/WorkgroupInfoNode.d.ts +1 -2
  227. three/src/nodes/lighting/AnalyticLightNode.d.ts +1 -2
  228. three/src/nodes/lighting/LightUtils.d.ts +1 -2
  229. three/src/nodes/lighting/LightingContextNode.d.ts +1 -2
  230. three/src/nodes/lighting/LightsNode.d.ts +1 -2
  231. three/src/nodes/lighting/PointLightNode.d.ts +5 -6
  232. three/src/nodes/lighting/PointShadowNode.d.ts +4 -5
  233. three/src/nodes/lighting/ShadowBaseNode.d.ts +1 -2
  234. three/src/nodes/lighting/ShadowFilterNode.d.ts +4 -5
  235. three/src/nodes/lighting/ShadowNode.d.ts +1 -2
  236. three/src/nodes/lighting/SpotLightNode.d.ts +1 -2
  237. three/src/nodes/materialx/MaterialXNodes.d.ts +41 -42
  238. three/src/nodes/materialx/lib/mx_hsv.d.ts +2 -3
  239. three/src/nodes/materialx/lib/mx_noise.d.ts +73 -74
  240. three/src/nodes/materialx/lib/mx_transform_color.d.ts +1 -2
  241. three/src/nodes/math/BitcastNode.d.ts +24 -0
  242. three/src/nodes/math/ConditionalNode.d.ts +11 -5
  243. three/src/nodes/math/Hash.d.ts +1 -2
  244. three/src/nodes/math/MathNode.d.ts +223 -80
  245. three/src/nodes/math/OperatorNode.d.ts +203 -59
  246. three/src/nodes/math/TriNoise3D.d.ts +3 -4
  247. three/src/nodes/pmrem/PMREMNode.d.ts +1 -2
  248. three/src/nodes/pmrem/PMREMUtils.d.ts +3 -4
  249. three/src/nodes/procedural/Checker.d.ts +1 -2
  250. three/src/nodes/shapes/Shapes.d.ts +1 -2
  251. three/src/nodes/tsl/TSLBase.d.ts +2 -1
  252. three/src/nodes/tsl/TSLCore.d.ts +235 -128
  253. three/src/nodes/utils/CubeMapNode.d.ts +1 -2
  254. three/src/nodes/utils/DebugNode.d.ts +9 -5
  255. three/src/nodes/utils/Discard.d.ts +6 -6
  256. three/src/nodes/utils/EquirectUV.d.ts +1 -2
  257. three/src/nodes/utils/EventNode.d.ts +8 -3
  258. three/src/nodes/utils/FunctionOverloadingNode.d.ts +1 -2
  259. three/src/nodes/utils/LoopNode.d.ts +7 -6
  260. three/src/nodes/utils/MatcapUV.d.ts +1 -2
  261. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -2
  262. three/src/nodes/utils/Oscillators.d.ts +4 -5
  263. three/src/nodes/utils/Packing.d.ts +2 -3
  264. three/src/nodes/utils/PostProcessingUtils.d.ts +5 -4
  265. three/src/nodes/utils/RTTNode.d.ts +2 -3
  266. three/src/nodes/utils/ReflectorNode.d.ts +18 -4
  267. three/src/nodes/utils/RemapNode.d.ts +29 -7
  268. three/src/nodes/utils/RotateNode.d.ts +1 -2
  269. three/src/nodes/utils/SampleNode.d.ts +3 -3
  270. three/src/nodes/utils/SpriteSheetUVNode.d.ts +1 -2
  271. three/src/nodes/utils/SpriteUtils.d.ts +1 -2
  272. three/src/nodes/utils/StorageArrayElementNode.d.ts +1 -2
  273. three/src/nodes/utils/Timer.d.ts +3 -19
  274. three/src/nodes/utils/TriplanarTextures.d.ts +2 -3
  275. three/src/nodes/utils/UVUtils.d.ts +2 -3
  276. three/src/nodes/utils/ViewportUtils.d.ts +1 -2
  277. three/src/objects/InstancedMesh.d.ts +2 -3
  278. three/src/renderers/WebGLRenderer.d.ts +0 -25
  279. three/src/renderers/common/Animation.d.ts +4 -1
  280. three/src/renderers/common/Attributes.d.ts +1 -1
  281. three/src/renderers/common/Bindings.d.ts +12 -0
  282. three/src/renderers/common/CanvasTarget.d.ts +142 -0
  283. three/src/renderers/common/Geometries.d.ts +1 -0
  284. three/src/renderers/common/InspectorBase.d.ts +105 -0
  285. three/src/renderers/common/PostProcessing.d.ts +3 -0
  286. three/src/renderers/common/QuadMesh.d.ts +3 -0
  287. three/src/renderers/common/RenderContexts.d.ts +3 -1
  288. three/src/renderers/common/Renderer.d.ts +125 -37
  289. three/src/renderers/common/SampledTexture.d.ts +2 -0
  290. three/src/renderers/common/Sampler.d.ts +2 -0
  291. three/src/renderers/common/Textures.d.ts +21 -1
  292. three/src/renderers/common/TimestampQueryPool.d.ts +26 -4
  293. three/src/renderers/common/XRManager.d.ts +10 -0
  294. three/src/renderers/common/extras/PMREMGenerator.d.ts +19 -1
  295. three/src/renderers/common/nodes/NodeLibrary.d.ts +8 -12
  296. three/src/renderers/common/nodes/Nodes.d.ts +13 -14
  297. three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +6 -1
  298. three/src/scenes/Scene.d.ts +2 -2
  299. three/src/textures/CanvasTexture.d.ts +3 -3
  300. three/src/textures/CompressedArrayTexture.d.ts +6 -9
  301. three/src/textures/CompressedCubeTexture.d.ts +3 -3
  302. three/src/textures/CompressedTexture.d.ts +10 -12
  303. three/src/textures/CubeTexture.d.ts +4 -11
  304. three/src/textures/Data3DTexture.d.ts +7 -11
  305. three/src/textures/DataArrayTexture.d.ts +10 -10
  306. three/src/textures/DataTexture.d.ts +6 -12
  307. three/src/textures/DepthTexture.d.ts +7 -8
  308. three/src/textures/ExternalTexture.d.ts +5 -3
  309. three/src/textures/FramebufferTexture.d.ts +6 -1
  310. three/src/textures/Source.d.ts +3 -3
  311. three/src/textures/Texture.d.ts +9 -9
  312. three/src/textures/VideoFrameTexture.d.ts +1 -1
  313. three/src/textures/VideoTexture.d.ts +2 -2
  314. three/src/utils.d.ts +18 -2
  315. three/examples/jsm/loaders/RGBMLoader.d.ts +0 -37
  316. three/src/nodes/core/CacheNode.d.ts +0 -21
@@ -130,7 +130,7 @@ export interface ShaderMaterialProperties extends MaterialProperties {
130
130
  uv1: [number, number];
131
131
  };
132
132
  /**
133
- * If set, this calls [gl.bindAttribLocation]{@link https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bindAttribLocation}
133
+ * If set, this calls [gl.bindAttribLocation](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bindAttribLocation)
134
134
  * to bind a generic vertex index to an attribute variable.
135
135
  *
136
136
  * @default undefined
@@ -209,7 +209,7 @@ export interface ShaderMaterialJSON extends MaterialJSON {
209
209
  * - You can use the directive `#pragma unroll_loop_start` and `#pragma unroll_loop_end`
210
210
  * in order to unroll a `for` loop in GLSL by the shader preprocessor. The directive has
211
211
  * to be placed right above the loop. The loop formatting has to correspond to a defined standard.
212
- * - The loop has to be [normalized]{@link https://en.wikipedia.org/wiki/Normalized_loop}.
212
+ * - The loop has to be [normalized](https://en.wikipedia.org/wiki/Normalized_loop).
213
213
  * - The loop variable has to be *i*.
214
214
  * - The value `UNROLLED_LOOP_INDEX` will be replaced with the explicitly
215
215
  * value of *i* for the given iteration and can be used in preprocessor
@@ -217,12 +217,12 @@ export interface ShaderMaterialJSON extends MaterialJSON {
217
217
  *
218
218
  * ```js
219
219
  * const material = new THREE.ShaderMaterial( {
220
- * uniforms: {
221
- * time: { value: 1.0 },
222
- * resolution: { value: new THREE.Vector2() }
223
- * },
224
- * vertexShader: document.getElementById( 'vertexShader' ).textContent,
225
- * fragmentShader: document.getElementById( 'fragmentShader' ).textContent
220
+ * uniforms: {
221
+ * time: { value: 1.0 },
222
+ * resolution: { value: new THREE.Vector2() }
223
+ * },
224
+ * vertexShader: document.getElementById( 'vertexShader' ).textContent,
225
+ * fragmentShader: document.getElementById( 'fragmentShader' ).textContent
226
226
  * } );
227
227
  * ```
228
228
  */
@@ -243,6 +243,7 @@ export class ShaderMaterial extends Material {
243
243
  * @default true
244
244
  */
245
245
  readonly isShaderMaterial: boolean;
246
+ setValues(values?: ShaderMaterialParameters): void;
246
247
  toJSON(meta?: JSONMeta): ShaderMaterialJSON;
247
248
  }
248
249
 
@@ -54,6 +54,7 @@ export class ShadowMaterial extends Material {
54
54
  * @default true
55
55
  */
56
56
  readonly isShadowMaterial: boolean;
57
+ setValues(values?: ShadowMaterialParameters): void;
57
58
  }
58
59
 
59
60
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
@@ -84,6 +84,7 @@ export class SpriteMaterial extends Material {
84
84
  * @default true
85
85
  */
86
86
  readonly isSpriteMaterial: boolean;
87
+ setValues(values?: SpriteMaterialParameters): void;
87
88
  }
88
89
 
89
90
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
@@ -87,6 +87,7 @@ declare class Line2NodeMaterial extends NodeMaterial {
87
87
  * @default true
88
88
  */
89
89
  readonly isLine2NodeMaterial: boolean;
90
+ setValues(values?: Line2NodeMaterialParameters): void;
90
91
  }
91
92
 
92
93
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
@@ -33,6 +33,7 @@ declare class LineBasicNodeMaterial extends NodeMaterial {
33
33
  * @default true
34
34
  */
35
35
  readonly isLineBasicNodeMaterial: boolean;
36
+ setValues(values?: LineBasicNodeMaterialParameters): void;
36
37
  }
37
38
 
38
39
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
@@ -79,6 +79,7 @@ declare class LineDashedNodeMaterial extends NodeMaterial {
79
79
  * @default true
80
80
  */
81
81
  readonly isLineDashedNodeMaterial: boolean;
82
+ setValues(values?: LineDashedNodeMaterialParameters): void;
82
83
  }
83
84
 
84
85
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
@@ -33,6 +33,7 @@ declare class MeshBasicNodeMaterial extends NodeMaterial {
33
33
  * @default true
34
34
  */
35
35
  readonly isMeshBasicNodeMaterial: boolean;
36
+ setValues(values?: MeshBasicNodeMaterialParameters): void;
36
37
  /**
37
38
  * Overwritten since this type of material uses {@link BasicEnvironmentNode}
38
39
  * to implement the default environment mapping.
@@ -34,6 +34,7 @@ declare class MeshLambertNodeMaterial extends NodeMaterial {
34
34
  * @default true
35
35
  */
36
36
  readonly isMeshLambertNodeMaterial: boolean;
37
+ setValues(values?: MeshLambertNodeMaterialParameters): void;
37
38
  /**
38
39
  * Overwritten since this type of material uses {@link BasicEnvironmentNode}
39
40
  * to implement the default environment mapping.
@@ -30,6 +30,7 @@ declare class MeshMatcapNodeMaterial extends NodeMaterial {
30
30
  * @default true
31
31
  */
32
32
  readonly isMeshMatcapNodeMaterial: boolean;
33
+ setValues(values?: MeshMatcapNodeMaterialParameters): void;
33
34
  /**
34
35
  * Setups the matcap specific node variables.
35
36
  *
@@ -29,6 +29,7 @@ declare class MeshNormalNodeMaterial extends NodeMaterial {
29
29
  * @type {boolean}
30
30
  */
31
31
  readonly isMeshNormalNodeMaterial: boolean;
32
+ setValues(values?: MeshNormalNodeMaterialParameters): void;
32
33
  /**
33
34
  * Overwrites the default implementation by computing the diffuse color
34
35
  * based on the normal data.
@@ -54,6 +54,7 @@ declare class MeshPhongNodeMaterial extends NodeMaterial {
54
54
  * @default true
55
55
  */
56
56
  readonly isMeshPhongNodeMaterial: boolean;
57
+ setValues(values?: MeshPhongNodeMaterialParameters): void;
57
58
  /**
58
59
  * Overwritten since this type of material uses {@link BasicEnvironmentNode}
59
60
  * to implement the default environment mapping.
@@ -212,6 +212,7 @@ declare class MeshPhysicalNodeMaterial extends MeshStandardNodeMaterial {
212
212
  * @default true
213
213
  */
214
214
  readonly isMeshPhysicalNodeMaterial: boolean;
215
+ setValues(values?: MeshPhysicalNodeMaterialParameters): void;
215
216
  /**
216
217
  * Whether the lighting model should use clearcoat or not.
217
218
  *
@@ -40,7 +40,7 @@ declare class SSSLightingModel extends PhysicalLightingModel {
40
40
  /**
41
41
  * Extends the default implementation with a SSS term.
42
42
  *
43
- * Reference: [Approximating Translucency for a Fast, Cheap and Convincing Subsurface Scattering Look]{@link https://colinbarrebrisebois.com/2011/03/07/gdc-2011-approximating-translucency-for-a-fast-cheap-and-convincing-subsurface-scattering-look/}
43
+ * Reference: [Approximating Translucency for a Fast, Cheap and Convincing Subsurface Scattering Look](https://colinbarrebrisebois.com/2011/03/07/gdc-2011-approximating-translucency-for-a-fast-cheap-and-convincing-subsurface-scattering-look/)
44
44
  *
45
45
  * @param {Object} input - The input data.
46
46
  * @param {NodeBuilder} builder - The current node builder.
@@ -92,6 +92,7 @@ export interface MeshSSSNodeMaterialParameters
92
92
  */
93
93
  declare class MeshSSSNodeMaterial extends MeshPhysicalNodeMaterial {
94
94
  constructor(parameters?: MeshSSSNodeMaterialParameters);
95
+ setValues(values?: MeshSSSNodeMaterialParameters): void;
95
96
  /**
96
97
  * Whether the lighting model should use SSS or not.
97
98
  *
@@ -65,6 +65,7 @@ declare class MeshStandardNodeMaterial extends NodeMaterial {
65
65
  * @default true
66
66
  */
67
67
  readonly isMeshStandardNodeMaterial: boolean;
68
+ setValues(values?: MeshStandardNodeMaterialParameters): void;
68
69
  /**
69
70
  * Overwritten since this type of material uses {@link EnvironmentNode}
70
71
  * to implement the PBR (PMREM based) environment mapping. Besides, the
@@ -34,6 +34,7 @@ declare class MeshToonNodeMaterial extends NodeMaterial {
34
34
  * @default true
35
35
  */
36
36
  readonly isMeshToonNodeMaterial: boolean;
37
+ setValues(values?: MeshToonNodeMaterialParameters): void;
37
38
  /**
38
39
  * Setups the lighting model.
39
40
  *
@@ -4,7 +4,6 @@ import MRTNode from "../../nodes/core/MRTNode.js";
4
4
  import Node from "../../nodes/core/Node.js";
5
5
  import NodeBuilder from "../../nodes/core/NodeBuilder.js";
6
6
  import LightsNode from "../../nodes/lighting/LightsNode.js";
7
- import { ShaderNodeObject } from "../../nodes/tsl/TSLCore.js";
8
7
  import { MapColorPropertiesToColorRepresentations, Material, MaterialParameters } from "../Material.js";
9
8
  import NodeMaterialObserver from "./manager/NodeMaterialObserver.js";
10
9
 
@@ -105,7 +104,7 @@ export interface NodeMaterialNodeProperties {
105
104
  * and `alphaMap` properties. This node property allows to overwrite the default
106
105
  * and define the opacity with a node instead.
107
106
  *
108
- * If you don't want to overwrite the normals but modify the existing
107
+ * If you don't want to overwrite the opacity but modify the existing
109
108
  * value instead, use {@link materialOpacity}.
110
109
  *
111
110
  * @default null
@@ -291,6 +290,7 @@ declare class NodeMaterial extends Material {
291
290
  * @default true
292
291
  */
293
292
  readonly isNodeMaterial: boolean;
293
+ setValues(values?: NodeMaterialParameters): void;
294
294
  /**
295
295
  * Builds this material with the given node builder.
296
296
  *
@@ -384,7 +384,7 @@ declare class NodeMaterial extends Material {
384
384
  *
385
385
  * @return {Node<vec3>} The normal node.
386
386
  */
387
- setupNormal(): ShaderNodeObject<Node>;
387
+ setupNormal(): Node;
388
388
  /**
389
389
  * Setups the environment node from the material.
390
390
  *
@@ -26,6 +26,22 @@ export interface PointsNodeMaterialParameters
26
26
 
27
27
  /**
28
28
  * Node material version of {@link PointsMaterial}.
29
+ *
30
+ * This material can be used in two ways:
31
+ *
32
+ * - By rendering point primitives with {@link Points}. Since WebGPU only supports point primitives
33
+ * with a pixel size of `1`, it's not possible to define a size.
34
+ *
35
+ * ```js
36
+ * const pointCloud = new THREE.Points( geometry, new THREE.PointsNodeMaterial() );
37
+ * ```
38
+ *
39
+ * - By rendering point primitives with {@link Sprites}. In this case, size is honored,
40
+ * see {@link PointsNodeMaterial#sizeNode}.
41
+ *
42
+ * ```js
43
+ * const instancedPoints = new THREE.Sprite( new THREE.PointsNodeMaterial( { positionNode: instancedBufferAttribute( positionAttribute ) } ) );
44
+ * ```
29
45
  */
30
46
  declare class PointsNodeMaterial extends SpriteNodeMaterial {
31
47
  constructor(parameters?: PointsNodeMaterialParameters);
@@ -35,6 +51,7 @@ declare class PointsNodeMaterial extends SpriteNodeMaterial {
35
51
  * @default true
36
52
  */
37
53
  readonly isPointsNodeMaterial: boolean;
54
+ setValues(values?: PointsNodeMaterialParameters): void;
38
55
  }
39
56
 
40
57
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
@@ -30,6 +30,7 @@ declare class ShadowNodeMaterial extends NodeMaterial {
30
30
  * @default true
31
31
  */
32
32
  readonly isShadowNodeMaterial: boolean;
33
+ setValues(values?: ShadowNodeMaterialParameters): void;
33
34
  /**
34
35
  * Setups the lighting model.
35
36
  *
@@ -60,6 +60,7 @@ declare class SpriteNodeMaterial extends NodeMaterial {
60
60
  * @default true
61
61
  */
62
62
  readonly isSpriteNodeMaterial: boolean;
63
+ setValues(values?: SpriteNodeMaterialParameters): void;
63
64
  /**
64
65
  * Setups the position node in view space. This method implements
65
66
  * the sprite specific vertex shader.
@@ -1,6 +1,5 @@
1
1
  import Node from "../../nodes/core/Node.js";
2
2
  import VolumetricLightingModel from "../../nodes/functions/VolumetricLightingModel.js";
3
- import { ShaderNodeObject } from "../../nodes/tsl/TSLCore.js";
4
3
  import { MapColorPropertiesToColorRepresentations, MaterialParameters, MaterialProperties } from "../Material.js";
5
4
  import NodeMaterial, { NodeMaterialNodeProperties } from "./NodeMaterial.js";
6
5
 
@@ -23,7 +22,7 @@ export interface VolumeNodeMaterialNodeProperties extends NodeMaterialNodeProper
23
22
  *
24
23
  * @default null
25
24
  */
26
- scatteringNode: (params: { positionRay: ShaderNodeObject<Node> }) => Node | null;
25
+ scatteringNode: (params: { positionRay: Node }) => Node | null;
27
26
  }
28
27
 
29
28
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
@@ -49,6 +48,7 @@ declare class VolumeNodeMaterial extends NodeMaterial {
49
48
  * @default true
50
49
  */
51
50
  readonly isVolumeNodeMaterial: boolean;
51
+ setValues(values?: VolumeNodeMaterialParameters): void;
52
52
  setupLightingModel(): VolumetricLightingModel;
53
53
  }
54
54
 
@@ -171,7 +171,7 @@ declare class NodeMaterialObserver {
171
171
  *
172
172
  * @param {LightsNode} lightsNode - The lights node.
173
173
  * @param {number} renderId - The render ID.
174
- * @return {Array} The lights for the given lights node and render ID.
174
+ * @return {Array<Object>} The lights for the given lights node and render ID.
175
175
  */
176
176
  getLights(lightsNode: LightsNode, renderId: number): LightData[];
177
177
  /**
@@ -11,7 +11,7 @@ export interface ColorSpaceDefinition {
11
11
  fromXYZ: Matrix3;
12
12
  luminanceCoefficients: [number, number, number];
13
13
  workingColorSpaceConfig?: { unpackColorSpace: string };
14
- outputColorSpaceConfig?: { drawingBufferColorSpace: string };
14
+ outputColorSpaceConfig?: { drawingBufferColorSpace: string; toneMappingNode?: "extended" | "standard" };
15
15
  }
16
16
 
17
17
  export interface ColorManagement {
@@ -103,7 +103,7 @@ export class Vector3 {
103
103
  /**
104
104
  * Subtracts v from this vector.
105
105
  */
106
- sub(a: Vector3Like): this;
106
+ sub(v: Vector3Like): this;
107
107
 
108
108
  subScalar(s: number): this;
109
109
 
@@ -208,7 +208,7 @@ export class Vector3 {
208
208
  /**
209
209
  * Sets this vector to cross product of itself and v.
210
210
  */
211
- cross(a: Vector3Like): this;
211
+ cross(v: Vector3Like): this;
212
212
 
213
213
  /**
214
214
  * Sets this vector to cross product of a and b.
@@ -6,10 +6,10 @@ export { default as ArrayNode } from "./core/ArrayNode.js";
6
6
  export { default as AssignNode } from "./core/AssignNode.js";
7
7
  export { default as AttributeNode } from "./core/AttributeNode.js";
8
8
  export { default as BypassNode } from "./core/BypassNode.js";
9
- export { default as CacheNode } from "./core/CacheNode.js";
10
9
  export { default as ConstNode } from "./core/ConstNode.js";
11
10
  export { default as ContextNode } from "./core/ContextNode.js";
12
11
  export { default as IndexNode, IndexNodeScope } from "./core/IndexNode.js";
12
+ export { default as IsolateNode } from "./core/IsolateNode.js";
13
13
  export {
14
14
  default as LightingModel,
15
15
  LightingModelDirectInput,
@@ -68,6 +68,9 @@ export { default as SplitNode } from "./utils/SplitNode.js";
68
68
  export { default as SpriteSheetUVNode } from "./utils/SpriteSheetUVNode.js";
69
69
  export { default as StorageArrayElementNode } from "./utils/StorageArrayElementNode.js";
70
70
 
71
+ // math
72
+ export { default as BitcastNode } from "./math/BitcastNode.js";
73
+
71
74
  // accessors
72
75
  export { default as BatchNode } from "./accessors/BatchNode.js";
73
76
  export { default as BufferAttributeNode } from "./accessors/BufferAttributeNode.js";
three/src/nodes/TSL.d.ts CHANGED
@@ -5,9 +5,9 @@ export * from "./core/constants.js";
5
5
  export * from "./core/AssignNode.js";
6
6
  export * from "./core/AttributeNode.js";
7
7
  export * from "./core/BypassNode.js";
8
- export * from "./core/CacheNode.js";
9
8
  export * from "./core/ContextNode.js";
10
9
  export * from "./core/IndexNode.js";
10
+ export * from "./core/IsolateNode.js";
11
11
  export * from "./core/MRTNode.js";
12
12
  export * from "./core/OutputStructNode.js";
13
13
  export * from "./core/ParameterNode.js";
@@ -19,6 +19,7 @@ export * from "./core/UniformNode.js";
19
19
  export * from "./core/VaryingNode.js";
20
20
 
21
21
  // math
22
+ export * from "./math/BitcastNode.js";
22
23
  export * from "./math/Hash.js";
23
24
  export * from "./math/MathUtils.js";
24
25
  export * from "./math/TriNoise3D.js";
@@ -55,6 +56,7 @@ export * from "./accessors/BatchNode.js";
55
56
  export * from "./accessors/Bitangent.js";
56
57
  export * from "./accessors/BufferAttributeNode.js";
57
58
  export * from "./accessors/BufferNode.js";
59
+ export * from "./accessors/BuiltinNode.js";
58
60
  export * from "./accessors/Camera.js";
59
61
  export * from "./accessors/CubeTextureNode.js";
60
62
  export * from "./accessors/InstancedMeshNode.js";
@@ -128,6 +130,7 @@ export * from "./gpgpu/AtomicFunctionNode.js";
128
130
  export * from "./gpgpu/BarrierNode.js";
129
131
  export * from "./gpgpu/ComputeBuiltinNode.js";
130
132
  export * from "./gpgpu/ComputeNode.js";
133
+ export * from "./gpgpu/SubgroupFunctionNode.js";
131
134
  export * from "./gpgpu/WorkgroupInfoNode.js";
132
135
 
133
136
  // lighting
@@ -1,9 +1,8 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const TBNViewMatrix: ShaderNodeObject<Node>;
3
+ export const TBNViewMatrix: Node;
5
4
 
6
- export const parallaxDirection: ShaderNodeObject<Node>;
7
- export const parallaxUV: (uv: ShaderNodeObject<Node>, scale: Node) => ShaderNodeObject<Node>;
5
+ export const parallaxDirection: Node;
6
+ export const parallaxUV: (uv: Node, scale: Node) => Node;
8
7
 
9
- export const bentNormalView: ShaderNodeObject<Node>;
8
+ export const bentNormalView: Node;
@@ -1,14 +1,13 @@
1
1
  import { TypedArray } from "../../core/BufferAttribute.js";
2
2
  import { Struct } from "../core/StructNode.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
3
  import StorageBufferNode from "./StorageBufferNode.js";
5
4
 
6
5
  export const attributeArray: (
7
6
  count: TypedArray | number,
8
7
  type?: string | Struct,
9
- ) => ShaderNodeObject<StorageBufferNode>;
8
+ ) => StorageBufferNode;
10
9
 
11
10
  export const instancedArray: (
12
11
  count: TypedArray | number,
13
12
  type?: string | Struct,
14
- ) => ShaderNodeObject<StorageBufferNode>;
13
+ ) => StorageBufferNode;
@@ -1,6 +1,5 @@
1
1
  import { BatchedMesh } from "../../objects/BatchedMesh.js";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
3
 
5
4
  export default class BatchNode extends Node {
6
5
  batchMesh: BatchedMesh;
@@ -10,4 +9,4 @@ export default class BatchNode extends Node {
10
9
  constructor(batchMesh: BatchedMesh);
11
10
  }
12
11
 
13
- export const batch: (batchMesh: BatchedMesh) => ShaderNodeObject<BatchNode>;
12
+ export const batch: (batchMesh: BatchedMesh) => BatchNode;
@@ -1,7 +1,6 @@
1
1
  import MathNode from "../math/MathNode.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const bitangentGeometry: ShaderNodeObject<MathNode>;
5
- export const bitangentLocal: ShaderNodeObject<MathNode>;
6
- export const bitangentView: ShaderNodeObject<MathNode>;
7
- export const bitangentWorld: ShaderNodeObject<MathNode>;
3
+ export const bitangentGeometry: MathNode;
4
+ export const bitangentLocal: MathNode;
5
+ export const bitangentView: MathNode;
6
+ export const bitangentWorld: MathNode;
@@ -4,8 +4,6 @@ import { InterleavedBuffer } from "../../core/InterleavedBuffer.js";
4
4
  import { InterleavedBufferAttribute } from "../../core/InterleavedBufferAttribute.js";
5
5
  import InputNode from "../core/InputNode.js";
6
6
  import NodeBuilder from "../core/NodeBuilder.js";
7
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
8
- import BufferNode from "./BufferNode.js";
9
7
  /**
10
8
  * In earlier `three.js` versions it was only possible to define attribute data
11
9
  * on geometry level. With `BufferAttributeNode`, it is also possible to do this
@@ -121,7 +119,7 @@ export declare const bufferAttribute: (
121
119
  type?: string | null,
122
120
  stride?: number,
123
121
  offset?: number,
124
- ) => ShaderNodeObject<BufferAttributeNode>;
122
+ ) => BufferAttributeNode;
125
123
  /**
126
124
  * TSL function for creating a buffer attribute node but with dynamic draw usage.
127
125
  * Use this function if attribute data are updated per frame.
@@ -139,7 +137,7 @@ export declare const dynamicBufferAttribute: (
139
137
  type?: string | null,
140
138
  stride?: number,
141
139
  offset?: number,
142
- ) => ShaderNodeObject<BufferAttributeNode>;
140
+ ) => BufferAttributeNode;
143
141
  /**
144
142
  * TSL function for creating a buffer attribute node but with enabled instancing
145
143
  *
@@ -156,7 +154,7 @@ export declare const instancedBufferAttribute: (
156
154
  type?: string | null,
157
155
  stride?: number,
158
156
  offset?: number,
159
- ) => ShaderNodeObject<BufferAttributeNode>;
157
+ ) => BufferAttributeNode;
160
158
  /**
161
159
  * TSL function for creating a buffer attribute node but with dynamic draw usage and enabled instancing
162
160
  *
@@ -173,9 +171,10 @@ export declare const instancedDynamicBufferAttribute: (
173
171
  type?: string | null,
174
172
  stride?: number,
175
173
  offset?: number,
176
- ) => ShaderNodeObject<BufferAttributeNode>;
177
- declare module "../tsl/TSLCore.js" {
178
- interface NodeElements {
179
- toAttribute: <TValue>(bufferNode: BufferNode<TValue>) => ShaderNodeObject<BufferAttributeNode>;
174
+ ) => BufferAttributeNode;
175
+ declare module "../Nodes.js" {
176
+ interface BufferNode<TValue> {
177
+ toAttribute: () => BufferAttributeNode;
178
+ toAttributeAssign: () => this;
180
179
  }
181
180
  }
@@ -1,5 +1,5 @@
1
1
  import UniformNode from "../core/UniformNode.js";
2
- import { NodeOrType, ShaderNodeObject } from "../tsl/TSLCore.js";
2
+ import { NodeOrType } from "../tsl/TSLCore.js";
3
3
 
4
4
  export default class BufferNode<TValue> extends UniformNode<TValue> {
5
5
  isBufferNode: true;
@@ -14,4 +14,4 @@ export const buffer: <TValue>(
14
14
  value: unknown,
15
15
  nodeOrType: NodeOrType,
16
16
  count: number,
17
- ) => ShaderNodeObject<BufferNode<TValue>>;
17
+ ) => BufferNode<TValue>;
@@ -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 BuiltinNode extends Node {
5
4
  name: string;
@@ -11,4 +10,4 @@ declare class BuiltinNode extends Node {
11
10
 
12
11
  export default BuiltinNode;
13
12
 
14
- export const builtin: (name: string) => ShaderNodeObject<BuiltinNode>;
13
+ export const builtin: (name: string) => BuiltinNode;
@@ -1,15 +1,16 @@
1
1
  import { Matrix3 } from "../../math/Matrix3.js";
2
2
  import { Matrix4 } from "../../math/Matrix4.js";
3
3
  import { Vector3 } from "../../math/Vector3.js";
4
+ import { Vector4 } from "../../math/Vector4.js";
4
5
  import UniformNode from "../core/UniformNode.js";
5
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
6
6
 
7
- export const cameraIndex: ShaderNodeObject<UniformNode<number>>;
8
- export const cameraNear: ShaderNodeObject<UniformNode<number>>;
9
- export const cameraFar: ShaderNodeObject<UniformNode<number>>;
10
- export const cameraProjectionMatrix: ShaderNodeObject<UniformNode<Matrix4>>;
11
- export const cameraProjectionMatrixInverse: ShaderNodeObject<UniformNode<Matrix4>>;
12
- export const cameraViewMatrix: ShaderNodeObject<UniformNode<Matrix4>>;
13
- export const cameraWorldMatrix: ShaderNodeObject<UniformNode<Matrix4>>;
14
- export const cameraNormalMatrix: ShaderNodeObject<UniformNode<Matrix3>>;
15
- export const cameraPosition: ShaderNodeObject<UniformNode<Vector3>>;
7
+ export const cameraIndex: UniformNode<number>;
8
+ export const cameraNear: UniformNode<number>;
9
+ export const cameraFar: UniformNode<number>;
10
+ export const cameraProjectionMatrix: UniformNode<Matrix4>;
11
+ export const cameraProjectionMatrixInverse: UniformNode<Matrix4>;
12
+ export const cameraViewMatrix: UniformNode<Matrix4>;
13
+ export const cameraWorldMatrix: UniformNode<Matrix4>;
14
+ export const cameraNormalMatrix: UniformNode<Matrix3>;
15
+ export const cameraPosition: UniformNode<Vector3>;
16
+ export const cameraViewport: UniformNode<Vector4>;
@@ -1,7 +1,4 @@
1
- import { Plane } from "../../math/Plane.js";
2
1
  import Node from "../core/Node.js";
3
- import NodeBuilder from "../core/NodeBuilder.js";
4
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
5
2
 
6
3
  export type ClippingNodeScope = typeof ClippingNode.ALPHA_TO_COVERAGE | typeof ClippingNode.DEFAULT;
7
4
 
@@ -17,6 +14,6 @@ export default class ClippingNode extends Node {
17
14
  static HARDWARE: "hardware";
18
15
  }
19
16
 
20
- export const clipping: () => ShaderNodeObject<ClippingNode>;
21
- export const clippingAlpha: () => ShaderNodeObject<ClippingNode>;
22
- export const hardwareClipping: () => ShaderNodeObject<ClippingNode>;
17
+ export const clipping: () => ClippingNode;
18
+ export const clippingAlpha: () => ClippingNode;
19
+ export const hardwareClipping: () => ClippingNode;
@@ -1,18 +1,17 @@
1
1
  import { CubeTexture } from "../../textures/CubeTexture.js";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
3
  import TextureNode from "./TextureNode.js";
5
4
 
6
5
  declare class CubeTextureNode extends TextureNode {
7
6
  isCubeTextureNode: boolean;
8
- uvNode: ShaderNodeObject<Node> | null;
9
- levelNode: ShaderNodeObject<Node> | null;
7
+ uvNode: Node | null;
8
+ levelNode: Node | null;
10
9
 
11
10
  constructor(
12
11
  value: CubeTexture,
13
- uvNode?: ShaderNodeObject<Node> | null,
14
- levelNode?: ShaderNodeObject<Node> | null,
15
- biasNode?: ShaderNodeObject<Node> | null,
12
+ uvNode?: Node | null,
13
+ levelNode?: Node | null,
14
+ biasNode?: Node | null,
16
15
  );
17
16
 
18
17
  getDefaultUV(): Node;
@@ -25,15 +24,15 @@ export const cubeTextureBase: (
25
24
  uvNode?: Node,
26
25
  levelNode?: Node,
27
26
  biasNode?: Node,
28
- ) => ShaderNodeObject<CubeTextureNode>;
27
+ ) => CubeTextureNode;
29
28
 
30
29
  export const cubeTexture: (
31
30
  value?: CubeTexture,
32
31
  uvNode?: Node | null,
33
32
  levelNode?: Node | null,
34
33
  biasNode?: Node | null,
35
- ) => ShaderNodeObject<CubeTextureNode>;
34
+ ) => CubeTextureNode;
36
35
 
37
36
  export const uniformCubeTexture: (
38
37
  value?: CubeTexture,
39
- ) => ShaderNodeObject<CubeTextureNode>;
38
+ ) => CubeTextureNode;
@@ -1,6 +1,5 @@
1
1
  import { InstancedBufferAttribute } from "../../core/InstancedBufferAttribute.js";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
3
 
5
4
  export default class InstanceNode extends Node {
6
5
  count: number;
@@ -21,4 +20,4 @@ export const instance: (
21
20
  count: number,
22
21
  instanceMatrix: InstancedBufferAttribute,
23
22
  instanceColor?: InstancedBufferAttribute | null,
24
- ) => ShaderNodeObject<InstanceNode>;
23
+ ) => InstanceNode;
@@ -1,5 +1,4 @@
1
1
  import { InstancedMesh } from "../../objects/InstancedMesh.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
  import InstanceNode from "./InstanceNode.js";
4
3
 
5
4
  declare class InstancedMeshNode extends InstanceNode {
@@ -8,4 +7,4 @@ declare class InstancedMeshNode extends InstanceNode {
8
7
 
9
8
  export default InstancedMeshNode;
10
9
 
11
- export const instancedMesh: (instancedMesh: InstancedMesh) => ShaderNodeObject<InstancedMeshNode>;
10
+ export const instancedMesh: (instancedMesh: InstancedMesh) => InstancedMeshNode;