@types/three 0.180.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 (269) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/geometries/TextGeometry.d.ts +2 -0
  3. three/examples/jsm/gpgpu/BitonicSort.d.ts +21 -0
  4. three/examples/jsm/inspector/Inspector.d.ts +10 -0
  5. three/examples/jsm/inspector/RendererInspector.d.ts +4 -0
  6. three/examples/jsm/inspector/tabs/Parameters.d.ts +95 -0
  7. three/examples/jsm/inspector/ui/Tab.d.ts +3 -0
  8. three/examples/jsm/inspector/ui/Values.d.ts +80 -0
  9. three/examples/jsm/interactive/SelectionBox.d.ts +9 -9
  10. three/examples/jsm/lighting/TiledLighting.d.ts +1 -2
  11. three/examples/jsm/loaders/FontLoader.d.ts +1 -1
  12. three/examples/jsm/loaders/KTX2Loader.d.ts +3 -0
  13. three/examples/jsm/objects/SkyMesh.d.ts +6 -7
  14. three/examples/jsm/objects/WaterMesh.d.ts +2 -2
  15. three/examples/jsm/renderers/CSS2DRenderer.d.ts +15 -10
  16. three/examples/jsm/tsl/display/AfterImageNode.d.ts +4 -5
  17. three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +1 -2
  18. three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -2
  19. three/examples/jsm/tsl/display/BleachBypass.d.ts +1 -2
  20. three/examples/jsm/tsl/display/BloomNode.d.ts +2 -3
  21. three/examples/jsm/tsl/display/ChromaticAberrationNode.d.ts +1 -2
  22. three/examples/jsm/tsl/display/DenoiseNode.d.ts +1 -2
  23. three/examples/jsm/tsl/display/DepthOfFieldNode.d.ts +1 -2
  24. three/examples/jsm/tsl/display/DotScreenNode.d.ts +1 -2
  25. three/examples/jsm/tsl/display/FXAANode.d.ts +1 -2
  26. three/examples/jsm/tsl/display/FilmNode.d.ts +1 -2
  27. three/examples/jsm/tsl/display/GTAONode.d.ts +11 -10
  28. three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +2 -3
  29. three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -7
  30. three/examples/jsm/tsl/display/Lut3DNode.d.ts +2 -3
  31. three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -2
  32. three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -7
  33. three/examples/jsm/tsl/display/ParallaxBarrierPassNode.d.ts +1 -2
  34. three/examples/jsm/tsl/display/PixelationPassNode.d.ts +1 -2
  35. three/examples/jsm/tsl/display/RGBShiftNode.d.ts +1 -2
  36. three/examples/jsm/tsl/display/SMAANode.d.ts +1 -2
  37. three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -2
  38. three/examples/jsm/tsl/display/SSGINode.d.ts +30 -0
  39. three/examples/jsm/tsl/display/SSRNode.d.ts +12 -13
  40. three/examples/jsm/tsl/display/SSSNode.d.ts +18 -0
  41. three/examples/jsm/tsl/display/Sepia.d.ts +1 -2
  42. three/examples/jsm/tsl/display/SobelOperatorNode.d.ts +1 -2
  43. three/examples/jsm/tsl/display/StereoPassNode.d.ts +1 -2
  44. three/examples/jsm/tsl/display/TRAANode.d.ts +1 -2
  45. three/examples/jsm/tsl/display/TransitionNode.d.ts +1 -2
  46. three/examples/jsm/tsl/display/boxBlur.d.ts +1 -2
  47. three/examples/jsm/tsl/display/hashBlur.d.ts +1 -2
  48. three/examples/jsm/tsl/lighting/TiledLightsNode.d.ts +3 -4
  49. three/examples/jsm/tsl/math/Bayer.d.ts +1 -2
  50. three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -3
  51. three/package.json +2 -2
  52. three/src/Three.Core.d.ts +1 -1
  53. three/src/Three.TSL.d.ts +7 -1
  54. three/src/Three.WebGPU.Nodes.d.ts +2 -0
  55. three/src/Three.WebGPU.d.ts +2 -0
  56. three/src/animation/AnimationMixer.d.ts +3 -3
  57. three/src/lights/DirectionalLight.d.ts +0 -1
  58. three/src/loaders/ObjectLoader.d.ts +3 -3
  59. three/src/loaders/TextureLoader.d.ts +3 -3
  60. three/src/materials/Material.d.ts +2 -2
  61. three/src/materials/MeshLambertMaterial.d.ts +1 -1
  62. three/src/materials/MeshMatcapMaterial.d.ts +14 -0
  63. three/src/materials/MeshPhongMaterial.d.ts +1 -1
  64. three/src/materials/MeshPhysicalMaterial.d.ts +1 -1
  65. three/src/materials/MeshStandardMaterial.d.ts +7 -7
  66. three/src/materials/PointsMaterial.d.ts +1 -1
  67. three/src/materials/ShaderMaterial.d.ts +8 -8
  68. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +1 -1
  69. three/src/materials/nodes/NodeMaterial.d.ts +2 -3
  70. three/src/materials/nodes/VolumeNodeMaterial.d.ts +1 -2
  71. three/src/math/Vector3.d.ts +2 -2
  72. three/src/nodes/Nodes.d.ts +1 -1
  73. three/src/nodes/TSL.d.ts +1 -1
  74. three/src/nodes/accessors/AccessorsUtils.d.ts +4 -5
  75. three/src/nodes/accessors/Arrays.d.ts +2 -3
  76. three/src/nodes/accessors/BatchNode.d.ts +1 -2
  77. three/src/nodes/accessors/Bitangent.d.ts +4 -5
  78. three/src/nodes/accessors/BufferAttributeNode.d.ts +8 -9
  79. three/src/nodes/accessors/BufferNode.d.ts +2 -2
  80. three/src/nodes/accessors/BuiltinNode.d.ts +1 -2
  81. three/src/nodes/accessors/Camera.d.ts +10 -11
  82. three/src/nodes/accessors/ClippingNode.d.ts +3 -6
  83. three/src/nodes/accessors/CubeTextureNode.d.ts +8 -9
  84. three/src/nodes/accessors/InstanceNode.d.ts +1 -2
  85. three/src/nodes/accessors/InstancedMeshNode.d.ts +1 -2
  86. three/src/nodes/accessors/Lights.d.ts +6 -7
  87. three/src/nodes/accessors/MaterialNode.d.ts +38 -39
  88. three/src/nodes/accessors/MaterialProperties.d.ts +3 -4
  89. three/src/nodes/accessors/MaterialReferenceNode.d.ts +2 -2
  90. three/src/nodes/accessors/ModelNode.d.ts +12 -13
  91. three/src/nodes/accessors/ModelViewProjectionNode.d.ts +1 -2
  92. three/src/nodes/accessors/MorphNode.d.ts +1 -2
  93. three/src/nodes/accessors/Normal.d.ts +13 -14
  94. three/src/nodes/accessors/Object3DNode.d.ts +6 -7
  95. three/src/nodes/accessors/PointUVNode.d.ts +1 -2
  96. three/src/nodes/accessors/Position.d.ts +7 -8
  97. three/src/nodes/accessors/ReferenceBaseNode.d.ts +2 -3
  98. three/src/nodes/accessors/ReferenceNode.d.ts +2 -3
  99. three/src/nodes/accessors/ReflectVector.d.ts +4 -5
  100. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -2
  101. three/src/nodes/accessors/SceneNode.d.ts +3 -4
  102. three/src/nodes/accessors/SkinningNode.d.ts +5 -6
  103. three/src/nodes/accessors/StorageBufferNode.d.ts +5 -5
  104. three/src/nodes/accessors/StorageTextureNode.d.ts +7 -4
  105. three/src/nodes/accessors/Tangent.d.ts +4 -6
  106. three/src/nodes/accessors/TangentUtils.d.ts +2 -3
  107. three/src/nodes/accessors/Texture3DNode.d.ts +3 -4
  108. three/src/nodes/accessors/TextureBicubic.d.ts +2 -3
  109. three/src/nodes/accessors/TextureNode.d.ts +29 -24
  110. three/src/nodes/accessors/TextureSizeNode.d.ts +1 -2
  111. three/src/nodes/accessors/UV.d.ts +1 -2
  112. three/src/nodes/accessors/UniformArrayNode.d.ts +2 -3
  113. three/src/nodes/accessors/UserDataNode.d.ts +1 -2
  114. three/src/nodes/accessors/VelocityNode.d.ts +1 -2
  115. three/src/nodes/accessors/VertexColorNode.d.ts +1 -2
  116. three/src/nodes/code/CodeNode.d.ts +4 -5
  117. three/src/nodes/code/ExpressionNode.d.ts +1 -2
  118. three/src/nodes/code/FunctionCallNode.d.ts +6 -5
  119. three/src/nodes/code/FunctionNode.d.ts +4 -6
  120. three/src/nodes/code/ScriptableNode.d.ts +1 -2
  121. three/src/nodes/code/ScriptableValueNode.d.ts +1 -2
  122. three/src/nodes/core/ArrayNode.d.ts +6 -6
  123. three/src/nodes/core/AssignNode.d.ts +1 -8
  124. three/src/nodes/core/AttributeNode.d.ts +1 -2
  125. three/src/nodes/core/BypassNode.d.ts +5 -5
  126. three/src/nodes/core/ContextNode.d.ts +24 -12
  127. three/src/nodes/core/IndexNode.d.ts +10 -7
  128. three/src/nodes/core/InspectorNode.d.ts +16 -0
  129. three/src/nodes/core/IsolateNode.d.ts +36 -0
  130. three/src/nodes/core/MRTNode.d.ts +3 -4
  131. three/src/nodes/core/Node.d.ts +18 -2
  132. three/src/nodes/core/NodeUtils.d.ts +0 -10
  133. three/src/nodes/core/OutputStructNode.d.ts +1 -2
  134. three/src/nodes/core/ParameterNode.d.ts +1 -2
  135. three/src/nodes/core/PropertyNode.d.ts +30 -31
  136. three/src/nodes/core/StackNode.d.ts +1 -4
  137. three/src/nodes/core/StructNode.d.ts +3 -4
  138. three/src/nodes/core/SubBuildNode.d.ts +1 -2
  139. three/src/nodes/core/UniformNode.d.ts +3 -6
  140. three/src/nodes/core/VarNode.d.ts +12 -8
  141. three/src/nodes/core/VaryingNode.d.ts +12 -10
  142. three/src/nodes/display/BlendModes.d.ts +11 -12
  143. three/src/nodes/display/BumpMapNode.d.ts +1 -2
  144. three/src/nodes/display/ColorAdjustment.d.ts +7 -8
  145. three/src/nodes/display/ColorSpaceFunctions.d.ts +2 -3
  146. three/src/nodes/display/ColorSpaceNode.d.ts +19 -9
  147. three/src/nodes/display/FrontFacingNode.d.ts +3 -4
  148. three/src/nodes/display/NormalMapNode.d.ts +1 -2
  149. three/src/nodes/display/PassNode.d.ts +20 -11
  150. three/src/nodes/display/PosterizeNode.d.ts +1 -2
  151. three/src/nodes/display/RenderOutputNode.d.ts +11 -6
  152. three/src/nodes/display/ScreenNode.d.ts +9 -10
  153. three/src/nodes/display/ToneMappingFunctions.d.ts +6 -7
  154. three/src/nodes/display/ToneMappingNode.d.ts +9 -8
  155. three/src/nodes/display/ToonOutlinePassNode.d.ts +1 -2
  156. three/src/nodes/display/ViewportDepthNode.d.ts +3 -4
  157. three/src/nodes/display/ViewportDepthTextureNode.d.ts +1 -2
  158. three/src/nodes/display/ViewportSharedTextureNode.d.ts +1 -2
  159. three/src/nodes/display/ViewportTextureNode.d.ts +2 -3
  160. three/src/nodes/fog/Fog.d.ts +5 -6
  161. three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +4 -5
  162. three/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.d.ts +14 -0
  163. three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +1 -2
  164. three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +1 -2
  165. three/src/nodes/functions/BSDF/DFGApprox.d.ts +1 -2
  166. three/src/nodes/functions/BSDF/D_GGX.d.ts +1 -2
  167. three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +1 -2
  168. three/src/nodes/functions/BSDF/F_Schlick.d.ts +1 -2
  169. three/src/nodes/functions/BSDF/Schlick_to_F0.d.ts +1 -2
  170. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +1 -2
  171. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +1 -2
  172. three/src/nodes/functions/ShadowMaskModel.d.ts +1 -2
  173. three/src/nodes/functions/material/getAlphaHashThreshold.d.ts +1 -2
  174. three/src/nodes/functions/material/getGeometryRoughness.d.ts +1 -2
  175. three/src/nodes/functions/material/getParallaxCorrectNormal.d.ts +1 -2
  176. three/src/nodes/functions/material/getRoughness.d.ts +1 -2
  177. three/src/nodes/functions/material/getShIrradianceAt.d.ts +1 -2
  178. three/src/nodes/geometry/RangeNode.d.ts +1 -2
  179. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +10 -11
  180. three/src/nodes/gpgpu/BarrierNode.d.ts +3 -4
  181. three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +5 -6
  182. three/src/nodes/gpgpu/ComputeNode.d.ts +21 -13
  183. three/src/nodes/gpgpu/SubgroupFunctionNode.d.ts +25 -26
  184. three/src/nodes/gpgpu/WorkgroupInfoNode.d.ts +1 -2
  185. three/src/nodes/lighting/AnalyticLightNode.d.ts +1 -2
  186. three/src/nodes/lighting/LightUtils.d.ts +1 -2
  187. three/src/nodes/lighting/LightingContextNode.d.ts +1 -2
  188. three/src/nodes/lighting/LightsNode.d.ts +1 -2
  189. three/src/nodes/lighting/PointLightNode.d.ts +5 -6
  190. three/src/nodes/lighting/PointShadowNode.d.ts +4 -5
  191. three/src/nodes/lighting/ShadowBaseNode.d.ts +1 -2
  192. three/src/nodes/lighting/ShadowFilterNode.d.ts +4 -5
  193. three/src/nodes/lighting/ShadowNode.d.ts +1 -2
  194. three/src/nodes/lighting/SpotLightNode.d.ts +1 -2
  195. three/src/nodes/materialx/MaterialXNodes.d.ts +41 -42
  196. three/src/nodes/materialx/lib/mx_hsv.d.ts +2 -3
  197. three/src/nodes/materialx/lib/mx_noise.d.ts +73 -74
  198. three/src/nodes/materialx/lib/mx_transform_color.d.ts +1 -2
  199. three/src/nodes/math/BitcastNode.d.ts +5 -6
  200. three/src/nodes/math/ConditionalNode.d.ts +11 -5
  201. three/src/nodes/math/Hash.d.ts +1 -2
  202. three/src/nodes/math/MathNode.d.ts +223 -77
  203. three/src/nodes/math/OperatorNode.d.ts +203 -59
  204. three/src/nodes/math/TriNoise3D.d.ts +3 -4
  205. three/src/nodes/pmrem/PMREMNode.d.ts +1 -2
  206. three/src/nodes/pmrem/PMREMUtils.d.ts +3 -4
  207. three/src/nodes/procedural/Checker.d.ts +1 -2
  208. three/src/nodes/shapes/Shapes.d.ts +1 -2
  209. three/src/nodes/tsl/TSLBase.d.ts +2 -1
  210. three/src/nodes/tsl/TSLCore.d.ts +235 -128
  211. three/src/nodes/utils/CubeMapNode.d.ts +1 -2
  212. three/src/nodes/utils/DebugNode.d.ts +9 -5
  213. three/src/nodes/utils/Discard.d.ts +6 -6
  214. three/src/nodes/utils/EquirectUV.d.ts +1 -2
  215. three/src/nodes/utils/EventNode.d.ts +8 -3
  216. three/src/nodes/utils/FunctionOverloadingNode.d.ts +1 -2
  217. three/src/nodes/utils/LoopNode.d.ts +7 -6
  218. three/src/nodes/utils/MatcapUV.d.ts +1 -2
  219. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -2
  220. three/src/nodes/utils/Oscillators.d.ts +4 -5
  221. three/src/nodes/utils/Packing.d.ts +2 -3
  222. three/src/nodes/utils/PostProcessingUtils.d.ts +5 -4
  223. three/src/nodes/utils/RTTNode.d.ts +2 -3
  224. three/src/nodes/utils/ReflectorNode.d.ts +2 -3
  225. three/src/nodes/utils/RemapNode.d.ts +29 -7
  226. three/src/nodes/utils/RotateNode.d.ts +1 -2
  227. three/src/nodes/utils/SampleNode.d.ts +1 -2
  228. three/src/nodes/utils/SpriteSheetUVNode.d.ts +1 -2
  229. three/src/nodes/utils/SpriteUtils.d.ts +1 -2
  230. three/src/nodes/utils/StorageArrayElementNode.d.ts +1 -2
  231. three/src/nodes/utils/Timer.d.ts +3 -4
  232. three/src/nodes/utils/TriplanarTextures.d.ts +2 -3
  233. three/src/nodes/utils/UVUtils.d.ts +2 -3
  234. three/src/nodes/utils/ViewportUtils.d.ts +1 -2
  235. three/src/renderers/common/Animation.d.ts +4 -1
  236. three/src/renderers/common/Bindings.d.ts +12 -0
  237. three/src/renderers/common/CanvasTarget.d.ts +142 -0
  238. three/src/renderers/common/Geometries.d.ts +1 -0
  239. three/src/renderers/common/InspectorBase.d.ts +105 -0
  240. three/src/renderers/common/PostProcessing.d.ts +3 -0
  241. three/src/renderers/common/QuadMesh.d.ts +3 -0
  242. three/src/renderers/common/RenderContexts.d.ts +3 -1
  243. three/src/renderers/common/Renderer.d.ts +124 -36
  244. three/src/renderers/common/SampledTexture.d.ts +2 -0
  245. three/src/renderers/common/Sampler.d.ts +2 -0
  246. three/src/renderers/common/Textures.d.ts +20 -0
  247. three/src/renderers/common/TimestampQueryPool.d.ts +24 -1
  248. three/src/renderers/common/extras/PMREMGenerator.d.ts +19 -1
  249. three/src/renderers/common/nodes/NodeLibrary.d.ts +3 -7
  250. three/src/renderers/common/nodes/Nodes.d.ts +13 -14
  251. three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +5 -0
  252. three/src/scenes/Scene.d.ts +2 -2
  253. three/src/textures/CanvasTexture.d.ts +3 -3
  254. three/src/textures/CompressedArrayTexture.d.ts +6 -9
  255. three/src/textures/CompressedCubeTexture.d.ts +3 -3
  256. three/src/textures/CompressedTexture.d.ts +6 -8
  257. three/src/textures/CubeTexture.d.ts +4 -11
  258. three/src/textures/Data3DTexture.d.ts +5 -10
  259. three/src/textures/DataArrayTexture.d.ts +10 -10
  260. three/src/textures/DataTexture.d.ts +4 -11
  261. three/src/textures/DepthTexture.d.ts +7 -8
  262. three/src/textures/ExternalTexture.d.ts +3 -1
  263. three/src/textures/FramebufferTexture.d.ts +6 -1
  264. three/src/textures/Source.d.ts +3 -3
  265. three/src/textures/Texture.d.ts +8 -8
  266. three/src/textures/VideoFrameTexture.d.ts +1 -1
  267. three/src/textures/VideoTexture.d.ts +2 -2
  268. three/src/utils.d.ts +18 -2
  269. three/src/nodes/core/CacheNode.d.ts +0 -21
@@ -1,10 +1,9 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const positionGeometry: ShaderNodeObject<Node>;
5
- export const positionLocal: ShaderNodeObject<Node>;
6
- export const positionPrevious: ShaderNodeObject<Node>;
7
- export const positionWorld: ShaderNodeObject<Node>;
8
- export const positionWorldDirection: ShaderNodeObject<Node>;
9
- export const positionView: ShaderNodeObject<Node>;
10
- export const positionViewDirection: ShaderNodeObject<Node>;
3
+ export const positionGeometry: Node;
4
+ export const positionLocal: Node;
5
+ export const positionPrevious: Node;
6
+ export const positionWorld: Node;
7
+ export const positionWorldDirection: Node;
8
+ export const positionView: Node;
9
+ export const positionViewDirection: Node;
@@ -1,5 +1,4 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  declare class ReferenceBaseNode<T> extends Node {
5
4
  property: string;
@@ -18,10 +17,10 @@ declare class ReferenceBaseNode<T> extends Node {
18
17
 
19
18
  export default ReferenceBaseNode;
20
19
 
21
- export const reference: <T>(name: string, type: string, object: T) => ShaderNodeObject<ReferenceBaseNode<T>>;
20
+ export const reference: <T>(name: string, type: string, object: T) => ReferenceBaseNode<T>;
22
21
  export const referenceBuffer: <T>(
23
22
  name: string,
24
23
  type: string,
25
24
  count: number,
26
25
  object: T,
27
- ) => ShaderNodeObject<ReferenceBaseNode<T>>;
26
+ ) => ReferenceBaseNode<T>;
@@ -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 ReferenceNode<T> extends Node {
5
4
  property: string;
@@ -20,10 +19,10 @@ declare class ReferenceNode<T> extends Node {
20
19
 
21
20
  export default ReferenceNode;
22
21
 
23
- export const reference: <T>(name: string, type: string, object: T) => ShaderNodeObject<ReferenceNode<T>>;
22
+ export const reference: <T>(name: string, type: string, object: T) => ReferenceNode<T>;
24
23
  export const referenceBuffer: <T>(
25
24
  name: string,
26
25
  type: string,
27
26
  count: number,
28
27
  object: T,
29
- ) => ShaderNodeObject<ReferenceNode<T>>;
28
+ ) => ReferenceNode<T>;
@@ -1,9 +1,8 @@
1
1
  import Node from "../core/Node.js";
2
2
  import VarNode from "../core/VarNode.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
3
 
5
- export const reflectView: ShaderNodeObject<Node>;
6
- export const refractView: ShaderNodeObject<Node>;
4
+ export const reflectView: Node;
5
+ export const refractView: Node;
7
6
 
8
- export const reflectVector: ShaderNodeObject<VarNode>;
9
- export const refractVector: ShaderNodeObject<VarNode>;
7
+ export const reflectVector: VarNode;
8
+ export const refractVector: VarNode;
@@ -1,5 +1,4 @@
1
1
  import Renderer from "../../renderers/common/Renderer.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
  import ReferenceNode from "./ReferenceNode.js";
4
3
 
5
4
  export default class RendererReferenceNode extends ReferenceNode<Renderer> {
@@ -12,4 +11,4 @@ export const rendererReference: (
12
11
  name: string,
13
12
  type: string,
14
13
  renderer?: Renderer | null,
15
- ) => ShaderNodeObject<RendererReferenceNode>;
14
+ ) => RendererReferenceNode;
@@ -1,6 +1,5 @@
1
1
  import { Scene } from "../../scenes/Scene.js";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
3
 
5
4
  export type SceneNodeScope = typeof SceneNode.BACKGROUND_BLURRINESS | typeof SceneNode.BACKGROUND_INTENSITY;
6
5
 
@@ -17,6 +16,6 @@ declare class SceneNode extends Node {
17
16
 
18
17
  export default SceneNode;
19
18
 
20
- export const backgroundBlurriness: ShaderNodeObject<SceneNode>;
21
- export const backgroundIntensity: ShaderNodeObject<SceneNode>;
22
- export const backgroundRotation: ShaderNodeObject<SceneNode>;
19
+ export const backgroundBlurriness: SceneNode;
20
+ export const backgroundIntensity: SceneNode;
21
+ export const backgroundRotation: SceneNode;
@@ -1,7 +1,6 @@
1
1
  import { SkinnedMesh } from "../../objects/SkinnedMesh.js";
2
2
  import Node from "../core/Node.js";
3
3
  import NodeBuilder from "../core/NodeBuilder.js";
4
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
5
4
 
6
5
  export default class SkinningNode extends Node {
7
6
  skinnedMesh: SkinnedMesh;
@@ -18,14 +17,14 @@ export default class SkinningNode extends Node {
18
17
 
19
18
  constructor(skinnedMesh: SkinnedMesh);
20
19
 
21
- getSkinnedPosition(boneMatrices?: Node, position?: Node): ShaderNodeObject<Node>;
20
+ getSkinnedPosition(boneMatrices?: Node, position?: Node): Node;
22
21
 
23
- getSkinnedNormal(boneMatrices?: Node, normal?: Node): ShaderNodeObject<Node>;
22
+ getSkinnedNormal(boneMatrices?: Node, normal?: Node): Node;
24
23
 
25
- getPreviousSkinnedPosition(builder: NodeBuilder): ShaderNodeObject<Node>;
24
+ getPreviousSkinnedPosition(builder: NodeBuilder): Node;
26
25
 
27
26
  needsPreviousBoneMatrices(builder: NodeBuilder): boolean;
28
27
  }
29
28
 
30
- export const skinning: (skinnedMesh: SkinnedMesh) => ShaderNodeObject<SkinningNode>;
31
- export const computeSkinning: (skinnedMesh: SkinnedMesh, toPosition?: Node | null) => ShaderNodeObject<SkinningNode>;
29
+ export const skinning: (skinnedMesh: SkinnedMesh) => SkinningNode;
30
+ export const computeSkinning: (skinnedMesh: SkinnedMesh, toPosition?: Node | null) => SkinningNode;
@@ -1,10 +1,10 @@
1
+ import { BufferAttribute } from "../../core/BufferAttribute.js";
1
2
  import StorageBufferAttribute from "../../renderers/common/StorageBufferAttribute.js";
2
3
  import StorageInstancedBufferAttribute from "../../renderers/common/StorageInstancedBufferAttribute.js";
3
4
  import { NodeAccess } from "../core/constants.js";
4
5
  import Node from "../core/Node.js";
5
6
  import { Struct } from "../core/StructNode.js";
6
7
  import StructTypeNode from "../core/StructTypeNode.js";
7
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
8
8
  import StorageArrayElementNode from "../utils/StorageArrayElementNode.js";
9
9
  import BufferNode from "./BufferNode.js";
10
10
 
@@ -25,7 +25,7 @@ export default class StorageBufferNode extends BufferNode<StorageBufferAttribute
25
25
  bufferCount?: number,
26
26
  );
27
27
 
28
- element(indexNode: Node | number): ShaderNodeObject<StorageArrayElementNode>;
28
+ element: (indexNode: Node | number) => StorageArrayElementNode;
29
29
 
30
30
  setPBO(value: boolean): this;
31
31
 
@@ -41,10 +41,10 @@ export default class StorageBufferNode extends BufferNode<StorageBufferAttribute
41
41
  }
42
42
 
43
43
  export const storage: (
44
- value: StorageBufferAttribute | StorageInstancedBufferAttribute,
44
+ value: StorageBufferAttribute | StorageInstancedBufferAttribute | BufferAttribute,
45
45
  type?: string | Struct | null,
46
46
  count?: number,
47
- ) => ShaderNodeObject<StorageBufferNode>;
47
+ ) => StorageBufferNode;
48
48
 
49
49
  /**
50
50
  * @deprecated
@@ -53,4 +53,4 @@ export const storageObject: (
53
53
  value: StorageBufferAttribute | StorageInstancedBufferAttribute,
54
54
  type?: string | Struct | null,
55
55
  count?: number,
56
- ) => ShaderNodeObject<StorageBufferNode>;
56
+ ) => StorageBufferNode;
@@ -2,24 +2,27 @@ import { Texture } from "../../textures/Texture.js";
2
2
  import { NodeAccess } from "../core/constants.js";
3
3
  import Node from "../core/Node.js";
4
4
  import NodeBuilder from "../core/NodeBuilder.js";
5
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
6
5
  import TextureNode from "./TextureNode.js";
7
6
 
8
7
  export default class StorageTextureNode extends TextureNode {
9
8
  storeNode: Node | null;
10
9
 
10
+ mipLevel: number;
11
+
11
12
  readonly isStorageTextureNode: true;
12
13
 
13
14
  access: NodeAccess;
14
15
 
15
16
  constructor(
16
17
  value: Texture,
17
- uvNode?: ShaderNodeObject<Node> | null,
18
+ uvNode?: Node | null,
18
19
  storeNode?: Node | null,
19
20
  );
20
21
 
21
22
  setAccess(value: NodeAccess): this;
22
23
 
24
+ setMipLevel(level: number): this;
25
+
23
26
  toReadWrite(): this;
24
27
 
25
28
  toReadOnly(): this;
@@ -33,10 +36,10 @@ export const storageTexture: (
33
36
  value: Texture,
34
37
  uvNode?: Node | null,
35
38
  storeNode?: Node,
36
- ) => ShaderNodeObject<StorageTextureNode>;
39
+ ) => StorageTextureNode;
37
40
 
38
41
  export const textureStore: (
39
42
  value: Texture,
40
43
  uvNode?: Node | null,
41
44
  storeNode?: Node,
42
- ) => ShaderNodeObject<StorageTextureNode>;
45
+ ) => StorageTextureNode;
@@ -1,10 +1,8 @@
1
1
  import AttributeNode from "../core/AttributeNode.js";
2
- import VarNode from "../core/VarNode.js";
3
2
  import VaryingNode from "../core/VaryingNode.js";
4
3
  import MathNode from "../math/MathNode.js";
5
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
6
4
 
7
- export const tangentGeometry: ShaderNodeObject<AttributeNode>;
8
- export const tangentLocal: ShaderNodeObject<VaryingNode>;
9
- export const tangentView: ShaderNodeObject<MathNode>;
10
- export const tangentWorld: ShaderNodeObject<MathNode>;
5
+ export const tangentGeometry: AttributeNode;
6
+ export const tangentLocal: VaryingNode;
7
+ export const tangentView: MathNode;
8
+ export const tangentWorld: MathNode;
@@ -1,5 +1,4 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  /**
5
4
  * Tangent vector in view space, computed dynamically from geometry and UV derivatives.
@@ -9,7 +8,7 @@ import { ShaderNodeObject } from "../tsl/TSLCore.js";
9
8
  *
10
9
  * @tsl
11
10
  */
12
- export const tangentViewFrame: ShaderNodeObject<Node>;
11
+ export const tangentViewFrame: Node;
13
12
 
14
13
  /**
15
14
  * Bitangent vector in view space, computed dynamically from geometry and UV derivatives.
@@ -19,4 +18,4 @@ export const tangentViewFrame: ShaderNodeObject<Node>;
19
18
  *
20
19
  * @tsl
21
20
  */
22
- export const bitangentViewFrame: ShaderNodeObject<Node>;
21
+ export const bitangentViewFrame: Node;
@@ -1,18 +1,17 @@
1
1
  import { Texture } from "../../textures/Texture.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
  export default class Texture3DNode extends TextureNode {
7
6
  readonly isTexture3DNode: true;
8
7
 
9
- constructor(value: Texture, uvNode?: ShaderNodeObject<Node> | null, levelNode?: ShaderNodeObject<Node> | null);
8
+ constructor(value: Texture, uvNode?: Node | null, levelNode?: Node | null);
10
9
 
11
- normal(uvNode: Node): ShaderNodeObject<Node>;
10
+ normal(uvNode: Node): Node;
12
11
  }
13
12
 
14
13
  export const texture3D: (
15
14
  value: Texture,
16
15
  uvNode?: Node | null,
17
16
  levelNode?: Node | number | null,
18
- ) => ShaderNodeObject<Texture3DNode>;
17
+ ) => Texture3DNode;
@@ -1,6 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const textureBicubicLevel: (textureNode: Node, lodNode: Node) => ShaderNodeObject<Node>;
3
+ export const textureBicubicLevel: (textureNode: Node, lodNode: Node) => Node;
5
4
 
6
- export const textureBicubic: (textureNode: Node, strength: Node) => ShaderNodeObject<Node>;
5
+ export const textureBicubic: (textureNode: Node, strength: Node) => Node;
@@ -1,14 +1,13 @@
1
1
  import { Texture } from "../../textures/Texture.js";
2
2
  import Node from "../core/Node.js";
3
3
  import UniformNode from "../core/UniformNode.js";
4
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
5
4
 
6
5
  export default class TextureNode extends UniformNode<Texture> {
7
6
  readonly isTextureNode: true;
8
7
 
9
- uvNode: ShaderNodeObject<Node> | null;
10
- levelNode: ShaderNodeObject<Node> | null;
11
- biasNode: ShaderNodeObject<Node> | null;
8
+ uvNode: Node | null;
9
+ levelNode: Node | null;
10
+ biasNode: Node | null;
12
11
  compareNode: Node | null;
13
12
  depthNode: Node | null;
14
13
  gradNode: Node | null;
@@ -20,9 +19,9 @@ export default class TextureNode extends UniformNode<Texture> {
20
19
 
21
20
  constructor(
22
21
  value?: Texture,
23
- uvNode?: ShaderNodeObject<Node> | null,
24
- levelNode?: ShaderNodeObject<Node> | null,
25
- biasNode?: ShaderNodeObject<Node> | null,
22
+ uvNode?: Node | null,
23
+ levelNode?: Node | null,
24
+ biasNode?: Node | null,
26
25
  );
27
26
 
28
27
  getDefaultUV(): Node;
@@ -34,49 +33,55 @@ export default class TextureNode extends UniformNode<Texture> {
34
33
  /**
35
34
  * @deprecated
36
35
  */
37
- uv(uvNode: Node): ShaderNodeObject<Node>;
36
+ uv(uvNode: Node): Node;
38
37
 
39
- sample(uvNode: Node): ShaderNodeObject<Node>;
38
+ sample(uvNode: Node): Node;
40
39
 
41
- load(uvNode: Node): ShaderNodeObject<Node>;
40
+ load(uvNode: Node): Node;
42
41
 
43
- blur(amountNode: Node): ShaderNodeObject<Node>;
42
+ blur(amountNode: Node): Node;
44
43
 
45
- level(levelNode: Node): ShaderNodeObject<Node>;
44
+ level(levelNode: Node): Node;
46
45
 
47
- size(levelNode: Node): ShaderNodeObject<Node>;
46
+ size(levelNode: Node): Node;
48
47
 
49
- bias(biasNode: Node): ShaderNodeObject<Node>;
48
+ bias(biasNode: Node): Node;
50
49
 
51
50
  getBase(): TextureNode;
52
51
 
53
- compare(compareNode: Node): ShaderNodeObject<Node>;
52
+ compare(compareNode: Node): Node;
54
53
 
55
- grad(gradeNodeX: Node, gradeNodeY: Node): ShaderNodeObject<Node>;
54
+ grad(gradeNodeX: Node, gradeNodeY: Node): Node;
56
55
 
57
- depth(depthNode: Node): ShaderNodeObject<Node>;
56
+ depth(depthNode: Node): Node;
58
57
 
59
58
  clone(): this;
60
59
  }
61
60
 
62
61
  export const texture: (
63
- value?: Texture,
62
+ value?: Texture | TextureNode,
64
63
  uvNode?: Node | null,
65
64
  levelNode?: Node | number | null,
66
65
  biasNode?: Node | null,
67
- ) => ShaderNodeObject<TextureNode>;
66
+ ) => TextureNode;
68
67
 
69
68
  export const uniformTexture: (
70
69
  value?: Texture,
71
- ) => ShaderNodeObject<TextureNode>;
70
+ ) => TextureNode;
72
71
 
73
72
  export const textureLoad: (
74
- value?: Texture,
73
+ value?: Texture | TextureNode,
75
74
  uvNode?: Node,
76
75
  levelNode?: Node | number,
77
76
  biasNode?: Node,
78
- ) => ShaderNodeObject<TextureNode>;
77
+ ) => TextureNode;
78
+
79
+ export const textureLevel: (
80
+ value: Texture | TextureNode,
81
+ uv: Node,
82
+ level: Node,
83
+ ) => TextureNode;
79
84
 
80
- export const sampler: (value: Texture | TextureNode) => ShaderNodeObject<Node>;
85
+ export const sampler: (value: Texture | TextureNode) => Node;
81
86
 
82
- export const samplerComparison: (value: Texture | TextureNode) => ShaderNodeObject<Node>;
87
+ export const samplerComparison: (value: Texture | TextureNode) => Node;
@@ -1,5 +1,4 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  declare class TextureSizeNode extends Node {
5
4
  readonly isTextureSizeNode: true;
@@ -15,4 +14,4 @@ export default TextureSizeNode;
15
14
  export const textureSize: (
16
15
  textureNode: Node,
17
16
  levelNode?: Node | null,
18
- ) => ShaderNodeObject<TextureSizeNode>;
17
+ ) => TextureSizeNode;
@@ -1,4 +1,3 @@
1
1
  import AttributeNode from "../core/AttributeNode.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
- export const uv: (index?: number) => ShaderNodeObject<AttributeNode>;
3
+ export const uv: (index?: number) => AttributeNode;
@@ -1,5 +1,4 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
  import ArrayElementNode from "../utils/ArrayElementNode.js";
4
3
  import BufferNode from "./BufferNode.js";
5
4
 
@@ -18,9 +17,9 @@ declare class UniformArrayNode extends BufferNode<unknown[]> {
18
17
 
19
18
  getPaddedType(): string;
20
19
 
21
- element(indexNode: Node): ShaderNodeObject<UniformArrayElementNode>;
20
+ element: (indexNode: Node) => UniformArrayElementNode;
22
21
  }
23
22
 
24
23
  export default UniformArrayNode;
25
24
 
26
- export const uniformArray: (values: unknown[], nodeType?: string | null) => ShaderNodeObject<UniformArrayNode>;
25
+ export const uniformArray: (values: unknown[], nodeType?: string | null) => UniformArrayNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
2
1
  import ReferenceNode from "./ReferenceNode.js";
3
2
 
4
3
  export type NodeUserData = Record<string, any>;
@@ -12,4 +11,4 @@ export const userData: (
12
11
  name: string,
13
12
  inputType: string,
14
13
  userData?: NodeUserData,
15
- ) => ShaderNodeObject<UserDataNode>;
14
+ ) => UserDataNode;
@@ -1,7 +1,6 @@
1
1
  import { Matrix4 } from "../../math/Matrix4.js";
2
2
  import TempNode from "../core/TempNode.js";
3
3
  import UniformNode from "../core/UniformNode.js";
4
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
5
4
 
6
5
  declare class VelocityNode extends TempNode {
7
6
  projectionMatrix: Matrix4 | null;
@@ -17,4 +16,4 @@ declare class VelocityNode extends TempNode {
17
16
 
18
17
  export default VelocityNode;
19
18
 
20
- export const velocity: ShaderNodeObject<VelocityNode>;
19
+ export const velocity: VelocityNode;
@@ -1,5 +1,4 @@
1
1
  import AttributeNode from "../core/AttributeNode.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  export default class VertexColorNode extends AttributeNode {
5
4
  readonly isVertexColorNode: true;
@@ -9,4 +8,4 @@ export default class VertexColorNode extends AttributeNode {
9
8
  constructor(index: number);
10
9
  }
11
10
 
12
- export const vertexColor: (index?: number) => ShaderNodeObject<VertexColorNode>;
11
+ export const vertexColor: (index?: number) => VertexColorNode;
@@ -1,6 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
2
  import NodeBuilder from "../core/NodeBuilder.js";
3
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
3
 
5
4
  export interface CodeNodeInclude {
6
5
  build(builder: NodeBuilder): void;
@@ -17,7 +16,7 @@ export default class CodeNode extends Node {
17
16
  getIncludes(builder: NodeBuilder): CodeNodeInclude[];
18
17
  }
19
18
 
20
- export const code: (code: string, includes?: CodeNodeInclude[], language?: string) => ShaderNodeObject<CodeNode>;
21
- export const js: (src: string, includes?: CodeNodeInclude[]) => ShaderNodeObject<CodeNode>;
22
- export const wgsl: (src: string, includes?: CodeNodeInclude[]) => ShaderNodeObject<CodeNode>;
23
- export const glsl: (src: string, includes?: CodeNodeInclude[]) => ShaderNodeObject<CodeNode>;
19
+ export const code: (code: string, includes?: CodeNodeInclude[], language?: string) => CodeNode;
20
+ export const js: (src: string, includes?: CodeNodeInclude[]) => CodeNode;
21
+ export const wgsl: (src: string, includes?: CodeNodeInclude[]) => CodeNode;
22
+ export const glsl: (src: string, includes?: CodeNodeInclude[]) => CodeNode;
@@ -1,5 +1,4 @@
1
1
  import TempNode from "../core/TempNode.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  export default class ExpressionNode extends TempNode {
5
4
  snipped: string;
@@ -7,4 +6,4 @@ export default class ExpressionNode extends TempNode {
7
6
  constructor(snipped?: string, nodeType?: string);
8
7
  }
9
8
 
10
- export const expression: (snipped: string, nodeType?: string) => ShaderNodeObject<ExpressionNode>;
9
+ export const expression: (snipped: string, nodeType?: string) => ExpressionNode;
@@ -1,6 +1,6 @@
1
1
  import Node from "../core/Node.js";
2
2
  import TempNode from "../core/TempNode.js";
3
- import { ProxiedObject, ShaderNodeObject } from "../tsl/TSLCore.js";
3
+ import { ProxiedObject } from "../tsl/TSLCore.js";
4
4
  import FunctionNode, { FunctionNodeArguments } from "./FunctionNode.js";
5
5
 
6
6
  export default class FunctionCallNode<P extends Array<Node | number> | { [name: string]: Node | number }>
@@ -18,10 +18,11 @@ export default class FunctionCallNode<P extends Array<Node | number> | { [name:
18
18
  export const call: <P extends FunctionNodeArguments>(
19
19
  functionNode?: FunctionNode<P>,
20
20
  parameters?: ProxiedObject<P>,
21
- ) => ShaderNodeObject<FunctionCallNode<P>>;
21
+ ) => FunctionCallNode<P>;
22
22
 
23
- declare module "../tsl/TSLCore.js" {
24
- interface NodeElements {
25
- call: typeof call;
23
+ declare module "../Nodes.js" {
24
+ interface FunctionNode<P extends FunctionNodeArguments> {
25
+ call: (parameters?: ProxiedObject<P>) => FunctionCallNode<P>;
26
+ callAssign: (parameters?: ProxiedObject<P>) => this;
26
27
  }
27
28
  }
@@ -2,9 +2,8 @@ import Node from "../core/Node.js";
2
2
  import NodeBuilder from "../core/NodeBuilder.js";
3
3
  import NodeFunction from "../core/NodeFunction.js";
4
4
  import NodeFunctionInput from "../core/NodeFunctionInput.js";
5
- import { ProxiedObject, ProxiedTuple, ShaderNodeObject } from "../tsl/TSLCore.js";
5
+ import { ProxiedObject, ProxiedTuple } from "../tsl/TSLCore.js";
6
6
  import CodeNode, { CodeNodeInclude } from "./CodeNode.js";
7
- import FunctionCallNode from "./FunctionCallNode.js";
8
7
 
9
8
  export type FunctionNodeArguments = Array<Node | number> | { [name: string]: Node | number };
10
9
 
@@ -13,7 +12,6 @@ export default class FunctionNode<P extends Array<Node | number> | { [name: stri
13
12
 
14
13
  getInputs(builder: NodeBuilder): NodeFunctionInput[];
15
14
  getNodeFunction(builder: NodeBuilder): NodeFunction;
16
- call(parameters: P): FunctionCallNode<P>;
17
15
  }
18
16
 
19
17
  type FnParameters<P extends FunctionNodeArguments> = P extends readonly [...unknown[]] ? ProxiedTuple<P>
@@ -24,15 +22,15 @@ export const nativeFn: <P extends FunctionNodeArguments>(
24
22
  includes?: CodeNodeInclude[],
25
23
  language?: string,
26
24
  // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
27
- ) => (...params: FnParameters<P>) => ShaderNodeObject<Node>;
25
+ ) => (...params: FnParameters<P>) => Node;
28
26
 
29
27
  export const glslFn: <P extends FunctionNodeArguments>(
30
28
  code: string,
31
29
  includes?: CodeNodeInclude[],
32
30
  // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
33
- ) => (...params: FnParameters<P>) => ShaderNodeObject<Node>;
31
+ ) => (...params: FnParameters<P>) => Node;
34
32
  export const wgslFn: <P extends FunctionNodeArguments>(
35
33
  code: string,
36
34
  includes?: CodeNodeInclude[],
37
35
  // eslint-disable-next-line @definitelytyped/no-unnecessary-generics
38
- ) => (...params: FnParameters<P>) => ShaderNodeObject<Node>;
36
+ ) => (...params: FnParameters<P>) => Node;
@@ -1,5 +1,4 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
2
 
4
3
  declare class Resources extends Map<string, unknown> {
5
4
  get<TArgs extends unknown[]>(key: string, callback?: ((...args: TArgs) => void) | null, ...params: TArgs): unknown;
@@ -19,4 +18,4 @@ export default ScriptableNode;
19
18
  export const scriptable: (
20
19
  codeNode: Node,
21
20
  parameters?: Record<string, unknown>,
22
- ) => ShaderNodeObject<ScriptableNode>;
21
+ ) => ScriptableNode;
@@ -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 ScriptableValueNode extends Node {
5
4
  constructor(value: unknown);
@@ -7,4 +6,4 @@ declare class ScriptableValueNode extends Node {
7
6
 
8
7
  export default ScriptableValueNode;
9
8
 
10
- export const scriptableValue: (value: unknown) => ShaderNodeObject<ScriptableValueNode>;
9
+ export const scriptableValue: (value: unknown) => ScriptableValueNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
2
1
  import Node from "./Node.js";
3
2
  import TempNode from "./TempNode.js";
4
3
 
@@ -13,14 +12,15 @@ declare class ArrayNode extends TempNode {
13
12
  export default ArrayNode;
14
13
 
15
14
  interface ArrayFunction {
16
- (values: Node[]): ShaderNodeObject<ArrayNode>;
17
- (nodeType: string, count: number): ShaderNodeObject<ArrayNode>;
15
+ (values: Node[]): ArrayNode;
16
+ (nodeType: string, count: number): ArrayNode;
18
17
  }
19
18
 
20
19
  export const array: ArrayFunction;
21
20
 
22
- declare module "../tsl/TSLCore.js" {
23
- interface NodeElements {
24
- toArray: typeof array;
21
+ declare module "../Nodes.js" {
22
+ interface Node {
23
+ toArray: (count: number) => ArrayNode;
24
+ toArrayAssign: (count: number) => this;
25
25
  }
26
26
  }
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
2
1
  import Node from "./Node.js";
3
2
  import NodeBuilder from "./NodeBuilder.js";
4
3
  import TempNode from "./TempNode.js";
@@ -13,10 +12,4 @@ declare class AssignNode extends TempNode {
13
12
 
14
13
  export default AssignNode;
15
14
 
16
- export const assign: (targetNode: Node, sourceNode: Node | number) => ShaderNodeObject<AssignNode>;
17
-
18
- declare module "../tsl/TSLCore.js" {
19
- interface NodeElements {
20
- assign: typeof assign;
21
- }
22
- }
15
+ export const assign: (targetNode: Node, sourceNode: Node | number) => AssignNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "../tsl/TSLCore.js";
2
1
  import Node from "./Node.js";
3
2
  import NodeBuilder from "./NodeBuilder.js";
4
3
 
@@ -13,4 +12,4 @@ export default class AttributeNode extends Node {
13
12
  export const attribute: (
14
13
  name: string,
15
14
  nodeType?: string | null,
16
- ) => ShaderNodeObject<AttributeNode>;
15
+ ) => AttributeNode;