@types/three 0.182.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 (312) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/Addons.d.ts +0 -3
  3. three/examples/jsm/controls/OrbitControls.d.ts +39 -0
  4. three/examples/jsm/effects/AnaglyphEffect.d.ts +4 -0
  5. three/examples/jsm/environments/ColorEnvironment.d.ts +9 -0
  6. three/examples/jsm/gpgpu/BitonicSort.d.ts +5 -5
  7. three/examples/jsm/helpers/AnimationPathHelper.d.ts +38 -0
  8. three/examples/jsm/helpers/ViewHelper.d.ts +4 -1
  9. three/examples/jsm/inspector/tabs/Parameters.d.ts +3 -0
  10. three/examples/jsm/inspector/ui/Item.d.ts +5 -0
  11. three/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -1
  12. three/examples/jsm/lights/LightProbeGenerator.d.ts +11 -5
  13. three/examples/jsm/loaders/ColladaLoader.d.ts +27 -4
  14. three/examples/jsm/objects/SkyMesh.d.ts +11 -6
  15. three/examples/jsm/objects/Water2Mesh.d.ts +7 -7
  16. three/examples/jsm/objects/WaterMesh.d.ts +6 -6
  17. three/examples/jsm/postprocessing/EffectComposer.d.ts +9 -10
  18. three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +4 -9
  19. three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +30 -0
  20. three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -1
  21. three/examples/jsm/tsl/display/BilateralBlurNode.d.ts +27 -0
  22. three/examples/jsm/tsl/display/BloomNode.d.ts +5 -5
  23. three/examples/jsm/tsl/display/CRT.d.ts +22 -0
  24. three/examples/jsm/tsl/display/DenoiseNode.d.ts +5 -5
  25. three/examples/jsm/tsl/display/DotScreenNode.d.ts +4 -6
  26. three/examples/jsm/tsl/display/GTAONode.d.ts +8 -8
  27. three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +4 -2
  28. three/examples/jsm/tsl/display/GodraysNode.d.ts +20 -0
  29. three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -6
  30. three/examples/jsm/tsl/display/Lut3DNode.d.ts +5 -5
  31. three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -1
  32. three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -6
  33. three/examples/jsm/tsl/display/PixelationPassNode.d.ts +10 -10
  34. three/examples/jsm/tsl/display/RGBShiftNode.d.ts +2 -2
  35. three/examples/jsm/tsl/display/RetroPassNode.d.ts +17 -0
  36. three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -1
  37. three/examples/jsm/tsl/display/SSGINode.d.ts +11 -11
  38. three/examples/jsm/tsl/display/SSRNode.d.ts +6 -6
  39. three/examples/jsm/tsl/display/SSSNode.d.ts +5 -5
  40. three/examples/jsm/tsl/display/Shape.d.ts +3 -0
  41. three/examples/jsm/tsl/display/TransitionNode.d.ts +3 -3
  42. three/examples/jsm/tsl/display/boxBlur.d.ts +1 -1
  43. three/examples/jsm/tsl/display/depthAwareBlend.d.ts +15 -0
  44. three/examples/jsm/tsl/display/hashBlur.d.ts +1 -1
  45. three/examples/jsm/tsl/math/Bayer.d.ts +2 -0
  46. three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -2
  47. three/package.json +3 -3
  48. three/src/Three.Core.d.ts +1 -1
  49. three/src/Three.TSL.d.ts +6 -11
  50. three/src/Three.WebGPU.Nodes.d.ts +2 -0
  51. three/src/Three.WebGPU.d.ts +3 -0
  52. three/src/Three.d.ts +2 -2
  53. three/src/animation/AnimationClip.d.ts +1 -1
  54. three/src/animation/KeyframeTrack.d.ts +19 -5
  55. three/src/animation/PropertyMixer.d.ts +5 -4
  56. three/src/audio/Audio.d.ts +224 -157
  57. three/src/audio/AudioAnalyser.d.ts +32 -27
  58. three/src/audio/AudioContext.d.ts +12 -12
  59. three/src/audio/AudioListener.d.ts +44 -65
  60. three/src/audio/PositionalAudio.d.ts +69 -62
  61. three/src/cameras/ArrayCamera.d.ts +21 -24
  62. three/src/cameras/Camera.d.ts +14 -53
  63. three/src/cameras/CubeCamera.d.ts +32 -28
  64. three/src/cameras/OrthographicCamera.d.ts +70 -100
  65. three/src/cameras/PerspectiveCamera.d.ts +133 -146
  66. three/src/cameras/StereoCamera.d.ts +24 -30
  67. three/src/constants.d.ts +14 -2
  68. three/src/core/Clock.d.ts +3 -0
  69. three/src/core/Object3D.d.ts +31 -7
  70. three/src/geometries/TorusGeometry.d.ts +22 -3
  71. three/src/helpers/ArrowHelper.d.ts +34 -50
  72. three/src/helpers/AxesHelper.d.ts +22 -36
  73. three/src/helpers/Box3Helper.d.ts +14 -25
  74. three/src/helpers/BoxHelper.d.ts +28 -39
  75. three/src/helpers/CameraHelper.d.ts +31 -52
  76. three/src/helpers/DirectionalLightHelper.d.ts +32 -53
  77. three/src/helpers/GridHelper.d.ts +15 -29
  78. three/src/helpers/HemisphereLightHelper.d.ts +26 -49
  79. three/src/helpers/PlaneHelper.d.ts +21 -33
  80. three/src/helpers/PointLightHelper.d.ts +25 -50
  81. three/src/helpers/PolarGridHelper.d.ts +19 -32
  82. three/src/helpers/SkeletonHelper.d.ts +26 -50
  83. three/src/helpers/SpotLightHelper.d.ts +28 -55
  84. three/src/lights/AmbientLight.d.ts +15 -23
  85. three/src/lights/DirectionalLight.d.ts +40 -82
  86. three/src/lights/DirectionalLightShadow.d.ts +6 -61
  87. three/src/lights/HemisphereLight.d.ts +20 -47
  88. three/src/lights/Light.d.ts +18 -48
  89. three/src/lights/LightProbe.d.ts +24 -29
  90. three/src/lights/LightShadow.d.ts +107 -91
  91. three/src/lights/PointLight.d.ts +36 -77
  92. three/src/lights/PointLightShadow.d.ts +9 -6
  93. three/src/lights/RectAreaLight.d.ts +39 -59
  94. three/src/lights/SpotLight.d.ts +62 -116
  95. three/src/lights/SpotLightShadow.d.ts +17 -59
  96. three/src/lights/webgpu/IESSpotLight.d.ts +13 -1
  97. three/src/lights/webgpu/ProjectorLight.d.ts +9 -10
  98. three/src/materials/MeshLambertMaterial.d.ts +6 -0
  99. three/src/materials/MeshPhongMaterial.d.ts +6 -0
  100. three/src/materials/nodes/Line2NodeMaterial.d.ts +0 -6
  101. three/src/materials/nodes/LineBasicNodeMaterial.d.ts +0 -4
  102. three/src/materials/nodes/MeshBasicNodeMaterial.d.ts +1 -2
  103. three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +0 -2
  104. three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +0 -2
  105. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +5 -8
  106. three/src/materials/nodes/MeshToonNodeMaterial.d.ts +0 -4
  107. three/src/materials/nodes/NodeMaterial.d.ts +9 -3
  108. three/src/materials/nodes/SpriteNodeMaterial.d.ts +0 -3
  109. three/src/materials/nodes/VolumeNodeMaterial.d.ts +0 -2
  110. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +39 -93
  111. three/src/math/Color.d.ts +1 -0
  112. three/src/math/Vector3.d.ts +2 -2
  113. three/src/math/interpolants/BezierInterpolant.d.ts +7 -0
  114. three/src/nodes/Nodes.d.ts +55 -35
  115. three/src/nodes/TSL.d.ts +2 -5
  116. three/src/nodes/accessors/Arrays.d.ts +19 -10
  117. three/src/nodes/accessors/BufferAttributeNode.d.ts +99 -33
  118. three/src/nodes/accessors/BufferNode.d.ts +21 -7
  119. three/src/nodes/accessors/Camera.d.ts +10 -10
  120. three/src/nodes/accessors/CubeTextureNode.d.ts +1 -1
  121. three/src/nodes/accessors/InstanceNode.d.ts +6 -0
  122. three/src/nodes/accessors/Lights.d.ts +9 -6
  123. three/src/nodes/accessors/MaterialNode.d.ts +1 -3
  124. three/src/nodes/accessors/MaterialProperties.d.ts +4 -4
  125. three/src/nodes/accessors/MaterialReferenceNode.d.ts +1 -1
  126. three/src/nodes/accessors/ModelNode.d.ts +34 -17
  127. three/src/nodes/accessors/MorphNode.d.ts +1 -1
  128. three/src/nodes/accessors/Normal.d.ts +13 -15
  129. three/src/nodes/accessors/Object3DNode.d.ts +35 -16
  130. three/src/nodes/accessors/Position.d.ts +9 -7
  131. three/src/nodes/accessors/ReferenceNode.d.ts +16 -7
  132. three/src/nodes/accessors/ReflectVector.d.ts +4 -5
  133. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
  134. three/src/nodes/accessors/SceneProperties.d.ts +5 -0
  135. three/src/nodes/accessors/SkinningNode.d.ts +5 -3
  136. three/src/nodes/accessors/StorageBufferNode.d.ts +49 -22
  137. three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
  138. three/src/nodes/accessors/Tangent.d.ts +5 -7
  139. three/src/nodes/accessors/Texture3DNode.d.ts +1 -1
  140. three/src/nodes/accessors/TextureBicubic.d.ts +3 -2
  141. three/src/nodes/accessors/TextureNode.d.ts +19 -18
  142. three/src/nodes/accessors/UV.d.ts +1 -1
  143. three/src/nodes/accessors/UniformArrayNode.d.ts +10 -8
  144. three/src/nodes/accessors/UserDataNode.d.ts +1 -1
  145. three/src/nodes/accessors/VelocityNode.d.ts +3 -3
  146. three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
  147. three/src/nodes/code/FunctionCallNode.d.ts +0 -1
  148. three/src/nodes/code/FunctionNode.d.ts +7 -3
  149. three/src/nodes/core/ArrayNode.d.ts +2 -3
  150. three/src/nodes/core/AttributeNode.d.ts +12 -6
  151. three/src/nodes/core/BypassNode.d.ts +2 -3
  152. three/src/nodes/core/ConstNode.d.ts +10 -3
  153. three/src/nodes/core/ContextNode.d.ts +23 -28
  154. three/src/nodes/core/IndexNode.d.ts +1 -1
  155. three/src/nodes/core/InputNode.d.ts +12 -4
  156. three/src/nodes/core/InspectorNode.d.ts +2 -3
  157. three/src/nodes/core/IsolateNode.d.ts +2 -7
  158. three/src/nodes/core/MRTNode.d.ts +7 -0
  159. three/src/nodes/core/Node.d.ts +258 -39
  160. three/src/nodes/core/NodeAttribute.d.ts +30 -5
  161. three/src/nodes/core/NodeBuilder.d.ts +5 -3
  162. three/src/nodes/core/NodeCache.d.ts +24 -48
  163. three/src/nodes/core/NodeError.d.ts +9 -0
  164. three/src/nodes/core/NodeParser.d.ts +2 -0
  165. three/src/nodes/core/NodeUniform.d.ts +33 -9
  166. three/src/nodes/core/NodeVar.d.ts +33 -5
  167. three/src/nodes/core/NodeVarying.d.ts +32 -4
  168. three/src/nodes/core/ParameterNode.d.ts +11 -4
  169. three/src/nodes/core/PropertyNode.d.ts +45 -35
  170. three/src/nodes/core/StackTrace.d.ts +9 -0
  171. three/src/nodes/core/StructType.d.ts +3 -1
  172. three/src/nodes/core/StructTypeNode.d.ts +19 -5
  173. three/src/nodes/core/TempNode.d.ts +9 -3
  174. three/src/nodes/core/UniformNode.d.ts +53 -15
  175. three/src/nodes/core/VarNode.d.ts +15 -14
  176. three/src/nodes/core/VaryingNode.d.ts +14 -19
  177. three/src/nodes/core/constants.d.ts +9 -4
  178. three/src/nodes/display/BlendModes.d.ts +7 -27
  179. three/src/nodes/display/ColorAdjustment.d.ts +8 -9
  180. three/src/nodes/display/ColorSpaceNode.d.ts +2 -8
  181. three/src/nodes/display/FrontFacingNode.d.ts +1 -1
  182. three/src/nodes/display/PassNode.d.ts +9 -5
  183. three/src/nodes/display/RenderOutputNode.d.ts +3 -7
  184. three/src/nodes/display/ScreenNode.d.ts +25 -17
  185. three/src/nodes/display/ToneMappingNode.d.ts +3 -7
  186. three/src/nodes/display/ViewportDepthNode.d.ts +11 -7
  187. three/src/nodes/display/ViewportTextureNode.d.ts +2 -0
  188. three/src/nodes/fog/Fog.d.ts +5 -3
  189. three/src/nodes/geometry/RangeNode.d.ts +51 -9
  190. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +2 -0
  191. three/src/nodes/gpgpu/BarrierNode.d.ts +2 -0
  192. three/src/nodes/gpgpu/ComputeNode.d.ts +2 -7
  193. three/src/nodes/lighting/AnalyticLightNode.d.ts +1 -1
  194. three/src/nodes/lighting/HemisphereLightNode.d.ts +3 -2
  195. three/src/nodes/lighting/LightProbeNode.d.ts +1 -1
  196. three/src/nodes/lighting/LightUtils.d.ts +1 -1
  197. three/src/nodes/lighting/LightingContextNode.d.ts +1 -1
  198. three/src/nodes/lighting/SpotLightNode.d.ts +0 -6
  199. three/src/nodes/materialx/MaterialXNodes.d.ts +11 -11
  200. three/src/nodes/math/BitcountNode.d.ts +2 -0
  201. three/src/nodes/math/ConditionalNode.d.ts +43 -22
  202. three/src/nodes/math/Hash.d.ts +1 -1
  203. three/src/nodes/math/MathNode.d.ts +603 -267
  204. three/src/nodes/math/MathUtils.d.ts +9 -5
  205. three/src/nodes/math/OperatorNode.d.ts +490 -227
  206. three/src/nodes/math/TriNoise3D.d.ts +3 -3
  207. three/src/nodes/pmrem/PMREMNode.d.ts +1 -1
  208. three/src/nodes/procedural/Checker.d.ts +1 -1
  209. three/src/nodes/tsl/TSLCore.d.ts +1683 -224
  210. three/src/nodes/utils/ArrayElementNode.d.ts +9 -4
  211. three/src/nodes/utils/DebugNode.d.ts +2 -5
  212. three/src/nodes/utils/Discard.d.ts +2 -3
  213. three/src/nodes/utils/FlipNode.d.ts +11 -0
  214. three/src/nodes/utils/LoopNode.d.ts +17 -13
  215. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
  216. three/src/nodes/utils/Oscillators.d.ts +4 -4
  217. three/src/nodes/utils/Packing.d.ts +3 -3
  218. three/src/nodes/utils/PostProcessingUtils.d.ts +5 -5
  219. three/src/nodes/utils/RemapNode.d.ts +33 -39
  220. three/src/nodes/utils/RotateNode.d.ts +17 -8
  221. three/src/nodes/utils/SplitNode.d.ts +1 -2
  222. three/src/nodes/utils/SpriteSheetUV.d.ts +7 -0
  223. three/src/nodes/utils/StorageArrayElementNode.d.ts +18 -9
  224. three/src/nodes/utils/Timer.d.ts +4 -4
  225. three/src/nodes/utils/TriplanarTextures.d.ts +2 -2
  226. three/src/nodes/utils/UVUtils.d.ts +6 -4
  227. three/src/objects/BatchedMesh.d.ts +6 -4
  228. three/src/objects/InstancedMesh.d.ts +32 -24
  229. three/src/renderers/WebGLRenderer.d.ts +4 -93
  230. three/src/renderers/common/Animation.d.ts +46 -9
  231. three/src/renderers/common/Attributes.d.ts +11 -13
  232. three/src/renderers/common/Backend.d.ts +0 -2
  233. three/src/renderers/common/Background.d.ts +17 -15
  234. three/src/renderers/common/BindGroup.d.ts +27 -13
  235. three/src/renderers/common/Binding.d.ts +15 -3
  236. three/src/renderers/common/Bindings.d.ts +41 -17
  237. three/src/renderers/common/BlendMode.d.ts +22 -0
  238. three/src/renderers/common/Buffer.d.ts +35 -11
  239. three/src/renderers/common/BufferUtils.d.ts +3 -4
  240. three/src/renderers/common/BundleGroup.d.ts +16 -6
  241. three/src/renderers/common/CanvasTarget.d.ts +76 -13
  242. three/src/renderers/common/ChainMap.d.ts +12 -9
  243. three/src/renderers/common/ClippingContext.d.ts +61 -10
  244. three/src/renderers/common/Color4.d.ts +10 -5
  245. three/src/renderers/common/ComputePipeline.d.ts +16 -2
  246. three/src/renderers/common/Constants.d.ts +5 -3
  247. three/src/renderers/common/CubeRenderTarget.d.ts +24 -7
  248. three/src/renderers/common/DataMap.d.ts +10 -18
  249. three/src/renderers/common/Geometries.d.ts +39 -20
  250. three/src/renderers/common/Info.d.ts +62 -9
  251. three/src/renderers/common/InspectorBase.d.ts +19 -7
  252. three/src/renderers/common/Lighting.d.ts +2 -6
  253. three/src/renderers/common/Pipeline.d.ts +14 -2
  254. three/src/renderers/common/Pipelines.d.ts +58 -60
  255. three/src/renderers/common/PostProcessing.d.ts +14 -17
  256. three/src/renderers/common/ProgrammableStage.d.ts +48 -8
  257. three/src/renderers/common/RenderBundle.d.ts +4 -2
  258. three/src/renderers/common/RenderBundles.d.ts +6 -3
  259. three/src/renderers/common/RenderContext.d.ts +175 -7
  260. three/src/renderers/common/RenderContexts.d.ts +20 -25
  261. three/src/renderers/common/RenderList.d.ts +77 -11
  262. three/src/renderers/common/RenderLists.d.ts +16 -4
  263. three/src/renderers/common/RenderObject.d.ts +223 -47
  264. three/src/renderers/common/{RenderPipeline.d.ts → RenderObjectPipeline.d.ts} +17 -5
  265. three/src/renderers/common/RenderObjects.d.ts +55 -22
  266. three/src/renderers/common/Renderer.d.ts +625 -207
  267. three/src/renderers/common/Textures.d.ts +24 -46
  268. three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
  269. three/src/renderers/common/Uniform.d.ts +143 -58
  270. three/src/renderers/common/UniformBuffer.d.ts +7 -5
  271. three/src/renderers/common/UniformsGroup.d.ts +50 -35
  272. three/src/renderers/common/XRManager.d.ts +321 -83
  273. three/src/renderers/common/XRRenderTarget.d.ts +49 -6
  274. three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
  275. three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
  276. three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
  277. three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
  278. three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
  279. three/src/renderers/shaders/UniformsLib.d.ts +0 -3
  280. three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
  281. three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
  282. three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
  283. three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
  284. three/src/renderers/webgl/WebGLLights.d.ts +19 -18
  285. three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
  286. three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
  287. three/src/renderers/webgl/WebGLPrograms.d.ts +2 -2
  288. three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
  289. three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
  290. three/src/renderers/webgl/WebGLState.d.ts +305 -28
  291. three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
  292. three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
  293. three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
  294. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
  295. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
  296. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
  297. three/src/scenes/Fog.d.ts +31 -37
  298. three/src/scenes/FogExp2.d.ts +26 -31
  299. three/src/scenes/Scene.d.ts +51 -65
  300. three/src/textures/CompressedArrayTexture.d.ts +1 -1
  301. three/src/textures/DataArrayTexture.d.ts +1 -1
  302. three/src/utils.d.ts +5 -0
  303. three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
  304. three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
  305. three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
  306. three/src/nodes/accessors/SceneNode.d.ts +0 -21
  307. three/src/nodes/code/ScriptableNode.d.ts +0 -21
  308. three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
  309. three/src/nodes/display/PosterizeNode.d.ts +0 -13
  310. three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
  311. three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
  312. three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
@@ -1,7 +1,7 @@
1
1
  import Renderer from "../../renderers/common/Renderer.js";
2
2
  import ReferenceNode from "./ReferenceNode.js";
3
3
 
4
- export default class RendererReferenceNode extends ReferenceNode<Renderer> {
4
+ export default class RendererReferenceNode extends ReferenceNode<unknown, Renderer> {
5
5
  renderer: Renderer | null;
6
6
 
7
7
  constructor(property: string, inputType: string, renderer?: Renderer | null);
@@ -0,0 +1,5 @@
1
+ import Node from "../core/Node.js";
2
+
3
+ export const backgroundBlurriness: Node<"float">;
4
+ export const backgroundIntensity: Node<"float">;
5
+ export const backgroundRotation: Node<"mat4">;
@@ -19,11 +19,13 @@ export default class SkinningNode extends Node {
19
19
 
20
20
  getSkinnedPosition(boneMatrices?: Node, position?: Node): Node;
21
21
 
22
- getSkinnedNormal(boneMatrices?: Node, normal?: Node): Node;
22
+ getSkinnedNormalAndTangent(
23
+ boneMatrices?: Node,
24
+ normal?: Node,
25
+ tangent?: Node,
26
+ ): { skinNormal: Node; skinTangent: Node };
23
27
 
24
28
  getPreviousSkinnedPosition(builder: NodeBuilder): Node;
25
-
26
- needsPreviousBoneMatrices(builder: NodeBuilder): boolean;
27
29
  }
28
30
 
29
31
  export const skinning: (skinnedMesh: SkinnedMesh) => SkinningNode;
@@ -8,7 +8,7 @@ import StructTypeNode from "../core/StructTypeNode.js";
8
8
  import StorageArrayElementNode from "../utils/StorageArrayElementNode.js";
9
9
  import BufferNode from "./BufferNode.js";
10
10
 
11
- export default class StorageBufferNode extends BufferNode<StorageBufferAttribute | StorageInstancedBufferAttribute> {
11
+ interface StorageBufferNodeInterface<TNodeType> {
12
12
  readonly isStorageBufferNode: true;
13
13
 
14
14
  structTypeNode: StructTypeNode | null;
@@ -19,13 +19,7 @@ export default class StorageBufferNode extends BufferNode<StorageBufferAttribute
19
19
 
20
20
  bufferObject: boolean;
21
21
 
22
- constructor(
23
- value: StorageBufferAttribute | StorageInstancedBufferAttribute,
24
- bufferType?: string | Struct | null,
25
- bufferCount?: number,
26
- );
27
-
28
- element: (indexNode: Node | number) => StorageArrayElementNode;
22
+ element: (indexNode: Node | number) => StorageArrayElementNode<TNodeType>;
29
23
 
30
24
  setPBO(value: boolean): this;
31
25
 
@@ -39,18 +33,51 @@ export default class StorageBufferNode extends BufferNode<StorageBufferAttribute
39
33
 
40
34
  toAtomic(): this;
41
35
  }
36
+ declare const StorageBufferNode: {
37
+ new<TNodeType>(
38
+ value: StorageBufferAttribute | StorageInstancedBufferAttribute,
39
+ bufferType?: string | Struct | null,
40
+ bufferCount?: number,
41
+ ): StorageBufferNode<TNodeType>;
42
+ };
43
+
44
+ type StorageBufferNode<TNodeType> =
45
+ & StorageBufferNodeInterface<TNodeType>
46
+ & BufferNode<TNodeType, StorageBufferAttribute | StorageInstancedBufferAttribute>;
47
+
48
+ export default StorageBufferNode;
49
+
50
+ interface Storage {
51
+ (
52
+ value: StorageBufferAttribute | StorageInstancedBufferAttribute | BufferAttribute,
53
+ type: "float",
54
+ count: number,
55
+ ): StorageBufferNode<"float">;
56
+ (
57
+ value: StorageBufferAttribute | StorageInstancedBufferAttribute | BufferAttribute,
58
+ type: "uint",
59
+ count: number,
60
+ ): StorageBufferNode<"uint">;
61
+ (
62
+ value: StorageBufferAttribute | StorageInstancedBufferAttribute | BufferAttribute,
63
+ type: "vec2",
64
+ count: number,
65
+ ): StorageBufferNode<"vec2">;
66
+ (
67
+ value: StorageBufferAttribute | StorageInstancedBufferAttribute | BufferAttribute,
68
+ type: "vec3",
69
+ count: number,
70
+ ): StorageBufferNode<"vec3">;
71
+ (
72
+ value: StorageBufferAttribute | StorageInstancedBufferAttribute | BufferAttribute,
73
+ type: "vec4",
74
+ count: number,
75
+ ): StorageBufferNode<"vec4">;
76
+ (
77
+ value: StorageBufferAttribute | StorageInstancedBufferAttribute | BufferAttribute,
78
+ type: Struct,
79
+ count: number,
80
+ ): StorageBufferNode<"struct">;
81
+ }
42
82
 
43
- export const storage: (
44
- value: StorageBufferAttribute | StorageInstancedBufferAttribute | BufferAttribute,
45
- type?: string | Struct | null,
46
- count?: number,
47
- ) => StorageBufferNode;
48
-
49
- /**
50
- * @deprecated
51
- */
52
- export const storageObject: (
53
- value: StorageBufferAttribute | StorageInstancedBufferAttribute,
54
- type?: string | Struct | null,
55
- count?: number,
56
- ) => StorageBufferNode;
83
+ export const storage: Storage;
@@ -39,7 +39,7 @@ export const storageTexture: (
39
39
  ) => StorageTextureNode;
40
40
 
41
41
  export const textureStore: (
42
- value: Texture,
42
+ value: Texture | StorageTextureNode,
43
43
  uvNode?: Node | null,
44
44
  storeNode?: Node,
45
45
  ) => StorageTextureNode;
@@ -1,8 +1,6 @@
1
- import AttributeNode from "../core/AttributeNode.js";
2
- import VaryingNode from "../core/VaryingNode.js";
3
- import MathNode from "../math/MathNode.js";
1
+ import Node from "../core/Node.js";
4
2
 
5
- export const tangentGeometry: AttributeNode;
6
- export const tangentLocal: VaryingNode;
7
- export const tangentView: MathNode;
8
- export const tangentWorld: MathNode;
3
+ export const tangentGeometry: Node<"vec4">;
4
+ export const tangentLocal: Node<"vec3">;
5
+ export const tangentView: Node<"vec3">;
6
+ export const tangentWorld: Node<"vec3">;
@@ -7,7 +7,7 @@ export default class Texture3DNode extends TextureNode {
7
7
 
8
8
  constructor(value: Texture, uvNode?: Node | null, levelNode?: Node | null);
9
9
 
10
- normal(uvNode: Node): Node;
10
+ normal(uvNode: Node): Node<"vec3">;
11
11
  }
12
12
 
13
13
  export const texture3D: (
@@ -1,5 +1,6 @@
1
1
  import Node from "../core/Node.js";
2
+ import TextureNode from "./TextureNode.js";
2
3
 
3
- export const textureBicubicLevel: (textureNode: Node, lodNode: Node) => Node;
4
+ export const textureBicubicLevel: (textureNode: Node, lodNode: Node) => TextureNode;
4
5
 
5
- export const textureBicubic: (textureNode: Node, strength: Node) => Node;
6
+ export const textureBicubic: (textureNode: Node, strength: Node) => TextureNode;
@@ -2,10 +2,10 @@ import { Texture } from "../../textures/Texture.js";
2
2
  import Node from "../core/Node.js";
3
3
  import UniformNode from "../core/UniformNode.js";
4
4
 
5
- export default class TextureNode extends UniformNode<Texture> {
5
+ interface TextureNodeInterface<TNodeType> {
6
6
  readonly isTextureNode: true;
7
7
 
8
- uvNode: Node | null;
8
+ uvNode: Node<"vec2"> | Node<"vec3"> | null;
9
9
  levelNode: Node | null;
10
10
  biasNode: Node | null;
11
11
  compareNode: Node | null;
@@ -17,27 +17,15 @@ export default class TextureNode extends UniformNode<Texture> {
17
17
 
18
18
  referenceNode: Node | null;
19
19
 
20
- constructor(
21
- value?: Texture,
22
- uvNode?: Node | null,
23
- levelNode?: Node | null,
24
- biasNode?: Node | null,
25
- );
26
-
27
20
  getDefaultUV(): Node;
28
21
 
29
22
  setSampler(value: boolean): this;
30
23
 
31
24
  getSampler(): boolean;
32
25
 
33
- /**
34
- * @deprecated
35
- */
36
- uv(uvNode: Node): Node;
37
-
38
- sample(uvNode: Node): Node;
26
+ sample(uvNode: Node): Node<TNodeType>;
39
27
 
40
- load(uvNode: Node): Node;
28
+ load(uvNode: Node): Node<TNodeType>;
41
29
 
42
30
  blur(amountNode: Node): Node;
43
31
 
@@ -51,13 +39,26 @@ export default class TextureNode extends UniformNode<Texture> {
51
39
 
52
40
  compare(compareNode: Node): Node;
53
41
 
54
- grad(gradeNodeX: Node, gradeNodeY: Node): Node;
42
+ grad(gradeNodeX: Node, gradeNodeY: Node): TextureNode;
55
43
 
56
- depth(depthNode: Node): Node;
44
+ depth(depthNode: Node): TextureNode;
57
45
 
58
46
  clone(): this;
59
47
  }
60
48
 
49
+ declare const TextureNode: {
50
+ new(
51
+ value?: Texture,
52
+ uvNode?: Node | null,
53
+ levelNode?: Node | null,
54
+ biasNode?: Node | null,
55
+ ): TextureNode;
56
+ };
57
+
58
+ type TextureNode<TNodeType = "vec4"> = TextureNodeInterface<TNodeType> & UniformNode<TNodeType, Texture>;
59
+
60
+ export default TextureNode;
61
+
61
62
  export const texture: (
62
63
  value?: Texture | TextureNode,
63
64
  uvNode?: Node | null,
@@ -1,3 +1,3 @@
1
1
  import AttributeNode from "../core/AttributeNode.js";
2
2
 
3
- export const uv: (index?: number) => AttributeNode;
3
+ export const uv: (index?: number) => AttributeNode<"vec2">;
@@ -2,24 +2,26 @@ import Node from "../core/Node.js";
2
2
  import ArrayElementNode from "../utils/ArrayElementNode.js";
3
3
  import BufferNode from "./BufferNode.js";
4
4
 
5
- declare class UniformArrayElementNode extends ArrayElementNode {
6
- constructor(arrayBuffer: Node, indexNode: Node);
7
- }
5
+ type UniformArrayElementNode<TNodeType> = ArrayElementNode<TNodeType>;
8
6
 
9
- declare class UniformArrayNode extends BufferNode<unknown[]> {
7
+ interface UniformArrayNodeInterface<TNodeType> {
10
8
  array: unknown[];
11
9
  elementType: string | null;
12
10
  paddedType: string;
13
11
 
14
12
  readonly isArrayBufferNode: true;
15
13
 
16
- constructor(value: unknown[], elementType?: string | null);
17
-
18
14
  getPaddedType(): string;
19
15
 
20
- element: (indexNode: Node) => UniformArrayElementNode;
16
+ element: (indexNode: Node | number) => UniformArrayElementNode<TNodeType>;
21
17
  }
22
18
 
19
+ declare const UniformArrayNode: {
20
+ new<TNodeType>(value: unknown[], elementType?: TNodeType | null): UniformArrayNode<TNodeType>;
21
+ };
22
+
23
+ type UniformArrayNode<TNodeType> = UniformArrayNodeInterface<TNodeType> & BufferNode<TNodeType, unknown[]>;
24
+
23
25
  export default UniformArrayNode;
24
26
 
25
- export const uniformArray: (values: unknown[], nodeType?: string | null) => UniformArrayNode;
27
+ export const uniformArray: <TNodeType>(values: unknown[], nodeType?: TNodeType | null) => UniformArrayNode<TNodeType>;
@@ -2,7 +2,7 @@ import ReferenceNode from "./ReferenceNode.js";
2
2
 
3
3
  export type NodeUserData = Record<string, any>;
4
4
 
5
- export default class UserDataNode extends ReferenceNode<NodeUserData> {
5
+ export default class UserDataNode extends ReferenceNode<unknown, NodeUserData> {
6
6
  userData: NodeUserData | null;
7
7
  constructor(property: string, inputType: string, userData?: NodeUserData | null);
8
8
  }
@@ -5,9 +5,9 @@ import UniformNode from "../core/UniformNode.js";
5
5
  declare class VelocityNode extends TempNode {
6
6
  projectionMatrix: Matrix4 | null;
7
7
 
8
- previousModelWorldMatrix: UniformNode<Matrix4>;
9
- previousProjectionMatrix: UniformNode<Matrix4>;
10
- previousCameraViewMatrix: UniformNode<Matrix4>;
8
+ previousModelWorldMatrix: UniformNode<"mat4", Matrix4>;
9
+ previousProjectionMatrix: UniformNode<"mat4", Matrix4>;
10
+ previousCameraViewMatrix: UniformNode<"mat4", Matrix4>;
11
11
 
12
12
  constructor();
13
13
 
@@ -1,6 +1,6 @@
1
1
  import AttributeNode from "../core/AttributeNode.js";
2
2
 
3
- export default class VertexColorNode extends AttributeNode {
3
+ export default class VertexColorNode extends AttributeNode<"vec4"> {
4
4
  readonly isVertexColorNode: true;
5
5
 
6
6
  index: number;
@@ -23,6 +23,5 @@ export const call: <P extends FunctionNodeArguments>(
23
23
  declare module "../Nodes.js" {
24
24
  interface FunctionNode<P extends FunctionNodeArguments> {
25
25
  call: (parameters?: ProxiedObject<P>) => FunctionCallNode<P>;
26
- callAssign: (parameters?: ProxiedObject<P>) => this;
27
26
  }
28
27
  }
@@ -14,23 +14,27 @@ export default class FunctionNode<P extends Array<Node | number> | { [name: stri
14
14
  getNodeFunction(builder: NodeBuilder): NodeFunction;
15
15
  }
16
16
 
17
+ // eslint-disable-next-line @definitelytyped/no-single-element-tuple-type
17
18
  type FnParameters<P extends FunctionNodeArguments> = P extends readonly [...unknown[]] ? ProxiedTuple<P>
19
+ // eslint-disable-next-line @definitelytyped/no-single-element-tuple-type
18
20
  : readonly [ProxiedObject<P>];
19
21
 
22
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
20
23
  export const nativeFn: <P extends FunctionNodeArguments>(
21
24
  code: string,
22
25
  includes?: CodeNodeInclude[],
23
26
  language?: string,
24
- // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
25
27
  ) => (...params: FnParameters<P>) => Node;
26
28
 
29
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
27
30
  export const glslFn: <P extends FunctionNodeArguments>(
28
31
  code: string,
29
32
  includes?: CodeNodeInclude[],
30
- // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
31
33
  ) => (...params: FnParameters<P>) => Node;
34
+ // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
32
35
  export const wgslFn: <P extends FunctionNodeArguments>(
33
36
  code: string,
34
37
  includes?: CodeNodeInclude[],
35
- // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
36
38
  ) => (...params: FnParameters<P>) => Node;
39
+
40
+ export {};
@@ -18,9 +18,8 @@ interface ArrayFunction {
18
18
 
19
19
  export const array: ArrayFunction;
20
20
 
21
- declare module "../Nodes.js" {
22
- interface Node {
21
+ declare module "./Node.js" {
22
+ interface NodeElements {
23
23
  toArray: (count: number) => ArrayNode;
24
- toArrayAssign: (count: number) => this;
25
24
  }
26
25
  }
@@ -1,15 +1,21 @@
1
1
  import Node from "./Node.js";
2
2
  import NodeBuilder from "./NodeBuilder.js";
3
3
 
4
- export default class AttributeNode extends Node {
5
- constructor(attributeName: string, nodeType?: string | null);
6
-
4
+ interface AttributeNodeInterface {
7
5
  setAttributeName(attributeName: string): this;
8
6
 
9
7
  getAttributeName(builder: NodeBuilder): string;
10
8
  }
11
9
 
12
- export const attribute: (
10
+ declare const AttributeNode: {
11
+ new<TNodeType>(attributeName: string, TNodeType?: string | null): AttributeNode<TNodeType>;
12
+ };
13
+
14
+ type AttributeNode<TNodeType = unknown> = Node<TNodeType> & AttributeNodeInterface;
15
+
16
+ export default AttributeNode;
17
+
18
+ export const attribute: <TNodeType>(
13
19
  name: string,
14
- nodeType?: string | null,
15
- ) => AttributeNode;
20
+ nodeType?: TNodeType | null,
21
+ ) => AttributeNode<TNodeType>;
@@ -10,9 +10,8 @@ export default class BypassNode extends Node {
10
10
 
11
11
  export const bypass: (returnNode: Node, callNode: Node) => BypassNode;
12
12
 
13
- declare module "../Nodes.js" {
14
- interface Node {
13
+ declare module "./Node.js" {
14
+ interface NodeElements {
15
15
  bypass: (callNode: Node) => BypassNode;
16
- bypassAssign: (callNode: Node) => this;
17
16
  }
18
17
  }
@@ -1,9 +1,16 @@
1
1
  import InputNode from "./InputNode.js";
2
2
  import NodeBuilder from "./NodeBuilder.js";
3
3
 
4
- export default class ConstNode<Value> extends InputNode<Value> {
5
- isConstNode: true;
6
- constructor(value: Value, nodeType?: string | null);
4
+ interface ConstNodeInterface {
5
+ readonly isConstNode: true;
7
6
 
8
7
  generateConst(builder: NodeBuilder): string;
9
8
  }
9
+
10
+ declare const ConstNode: {
11
+ new<TNodeType, TValue>(value: TValue, nodeType?: TNodeType | null): ConstNode<TNodeType, TValue>;
12
+ };
13
+
14
+ type ConstNode<TNodeType, TValue> = InputNode<TNodeType, TValue> & ConstNodeInterface;
15
+
16
+ export default ConstNode;
@@ -2,61 +2,56 @@ import { Light } from "../../lights/Light.js";
2
2
  import Node from "./Node.js";
3
3
  import { NodeBuilderContext } from "./NodeBuilder.js";
4
4
 
5
- declare class ContextNode extends Node {
5
+ declare class ContextNodeInterface<TNodeType> extends Node {
6
6
  readonly isContextNode: true;
7
7
 
8
- node: Node | null;
8
+ node: Node<TNodeType> | null;
9
9
  value: NodeBuilderContext;
10
-
11
- constructor(node?: Node | null, value?: NodeBuilderContext);
12
10
  }
13
11
 
12
+ declare const ContextNode: {
13
+ new<TNodeType>(node?: Node<TNodeType> | null, value?: NodeBuilderContext): ContextNode<TNodeType>;
14
+ };
15
+
16
+ type ContextNode<TNodeType> = ContextNodeInterface<TNodeType> & Node<TNodeType>;
17
+
14
18
  export default ContextNode;
15
19
 
16
20
  interface ContextFunction {
17
- (value?: NodeBuilderContext): ContextNode;
18
- (node: Node, value?: NodeBuilderContext): ContextNode;
21
+ (value?: NodeBuilderContext): ContextNode<unknown>;
22
+ <TNodeType>(node: Node<TNodeType>, value?: NodeBuilderContext): ContextNode<TNodeType>;
19
23
  }
20
24
 
21
25
  export const context: ContextFunction;
22
26
 
23
- export const uniformFlow: (node: Node) => ContextNode;
27
+ export const uniformFlow: <TNodeType>(node: Node<TNodeType>) => ContextNode<TNodeType>;
24
28
 
25
- export const setName: (node: Node, label: string) => Node;
29
+ export const setName: <TNodeType>(node: Node<TNodeType>, label: string) => Node<TNodeType>;
26
30
 
27
- export function builtinShadowContext(shadowNode: Node, light: Light, node?: Node | null): ContextNode;
31
+ export function builtinShadowContext(shadowNode: Node, light: Light, node?: Node | null): ContextNode<unknown>;
28
32
 
29
- export function builtinAOContext(aoNode: Node, node?: Node | null): ContextNode;
33
+ export function builtinAOContext(aoNode: Node, node?: Node | null): ContextNode<unknown>;
30
34
 
31
35
  /**
32
36
  * @deprecated "label()" has been deprecated. Use "setName()" instead.
33
37
  */
34
- export function label(node: Node, label: string): Node;
38
+ export function label<TNodeType>(node: Node<TNodeType>, label: string): Node<TNodeType>;
35
39
 
36
- declare module "../Nodes.js" {
37
- interface Node {
38
- context: (context?: NodeBuilderContext) => ContextNode;
39
- contextAssign: (context?: NodeBuilderContext) => this;
40
+ declare module "./Node.js" {
41
+ interface NodeExtensions<TNodeType> {
42
+ context: (context?: NodeBuilderContext) => ContextNode<TNodeType>;
40
43
 
41
44
  /**
42
45
  * @deprecated "label()" has been deprecated. Use "setName()" instead.
43
46
  */
44
- label: (label: string) => Node;
45
- /**
46
- * @deprecated "label()" has been deprecated. Use "setName()" instead.
47
- */
48
- labelAssign: (label: string) => this;
47
+ label: (label: string) => Node<TNodeType>;
49
48
 
50
- uniformFlow: () => ContextNode;
51
- uniformFlowAssign: () => this;
49
+ uniformFlow: () => ContextNode<TNodeType>;
52
50
 
53
- setName: (label: string) => Node;
54
- setNameAssign: (label: string) => this;
51
+ setName: (label: string) => Node<TNodeType>;
55
52
 
56
- builtinShadowContext: (shadowNode: Node, light: Light) => ContextNode;
57
- builtinShadowContextAssign: (shadowNode: Node, light: Light) => this;
53
+ builtinShadowContext: (shadowNode: Node, light: Light) => ContextNode<TNodeType>;
58
54
 
59
- builtinAOContext: (aoValue: Node) => ContextNode;
60
- builtinAOContextAssign: (aoValue: Node) => this;
55
+ builtinAOContext: (aoValue: Node) => ContextNode<TNodeType>;
61
56
  }
62
57
  }
@@ -8,7 +8,7 @@ export type IndexNodeScope =
8
8
  | typeof IndexNode.INVOCATION_SUBGROUP
9
9
  | typeof IndexNode.DRAW;
10
10
 
11
- declare class IndexNode extends Node {
11
+ declare class IndexNode extends Node<"uint"> {
12
12
  scope: IndexNodeScope;
13
13
 
14
14
  readonly isInstanceNode: true;
@@ -3,13 +3,21 @@ import NodeBuilder from "./NodeBuilder.js";
3
3
 
4
4
  export type Precision = "low" | "medium" | "high";
5
5
 
6
- export default abstract class InputNode<Value> extends Node {
6
+ interface InputNodeInterface<TValue> {
7
7
  isInputNode: true;
8
- value: Value;
8
+ value: TValue;
9
9
  precision: Precision | null;
10
10
 
11
- constructor(value: Value, nodeType?: string | null);
12
-
13
11
  getInputType(builder: NodeBuilder): string | null;
14
12
  setPrecision(precision: Precision): this;
15
13
  }
14
+
15
+ declare const InputNode: {
16
+ new<TNodeType, TValue>(value: TValue, nodeType?: TNodeType | null): InputNode<TNodeType, TValue>;
17
+ };
18
+
19
+ type InputNode<TNodeType, TValue> = Node<TNodeType> & InputNodeInterface<TValue>;
20
+
21
+ export default InputNode;
22
+
23
+ export type { InputNode };
@@ -8,9 +8,8 @@ export default InspectorNode;
8
8
 
9
9
  export function inspector<T extends Node>(node: T, name?: string, callback?: (node: T) => Node): T;
10
10
 
11
- declare module "../Nodes.js" {
12
- interface Node {
11
+ declare module "./Node.js" {
12
+ interface NodeElements {
13
13
  toInspector: (name?: string, callback?: (node: this) => Node) => this;
14
- toInspectorAssign: (name?: string, callback?: (node: this) => Node) => this;
15
14
  }
16
15
  }
@@ -19,18 +19,13 @@ export const isolate: (node: Node) => IsolateNode;
19
19
  */
20
20
  export const cache: (node: Node, cache?: NodeCache) => IsolateNode;
21
21
 
22
- declare module "../Nodes.js" {
23
- interface Node {
22
+ declare module "./Node.js" {
23
+ interface NodeElements {
24
24
  /**
25
25
  * @deprecated "cache()" has been deprecated. Use "isolate()" instead.
26
26
  */
27
27
  cache: (cache?: NodeCache) => IsolateNode;
28
- /**
29
- * @deprecated "cache()" has been deprecated. Use "isolate()" instead.
30
- */
31
- cacheAssign: (cache?: NodeCache) => this;
32
28
 
33
29
  isolate: () => IsolateNode;
34
- isolateAssign: () => this;
35
30
  }
36
31
  }
@@ -1,3 +1,4 @@
1
+ import BlendMode from "../../renderers/common/BlendMode.js";
1
2
  import { Texture } from "../../textures/Texture.js";
2
3
  import { Node } from "../Nodes.js";
3
4
  import OutputStructNode from "./OutputStructNode.js";
@@ -7,10 +8,16 @@ export function getTextureIndex(textures: ReadonlyArray<Texture>, name: string):
7
8
  declare class MRTNode extends OutputStructNode {
8
9
  outputNodes: { [name: string]: Node };
9
10
 
11
+ blendModes: { [name: string]: BlendMode };
12
+
10
13
  readonly isMRTNode: true;
11
14
 
12
15
  constructor(outputNodes: { [name: string]: Node });
13
16
 
17
+ setBlendMode(name: string, blend: BlendMode): this;
18
+
19
+ getBlendMode(name: string): BlendMode;
20
+
14
21
  has(name: string): boolean;
15
22
 
16
23
  get: (name: string) => Node;