@types/three 0.167.2 → 0.168.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 (247) hide show
  1. three/README.md +2 -2
  2. three/examples/jsm/Addons.d.ts +5 -1
  3. three/examples/jsm/capabilities/WebGL.d.ts +11 -3
  4. three/examples/jsm/controls/ArcballControls.d.ts +111 -77
  5. three/examples/jsm/controls/DragControls.d.ts +56 -27
  6. three/examples/jsm/controls/FirstPersonControls.d.ts +82 -12
  7. three/examples/jsm/controls/FlyControls.d.ts +35 -11
  8. three/examples/jsm/controls/OrbitControls.d.ts +84 -137
  9. three/examples/jsm/controls/PointerLockControls.d.ts +68 -9
  10. three/examples/jsm/controls/TrackballControls.d.ts +110 -26
  11. three/examples/jsm/effects/AnaglyphEffect.d.ts +11 -5
  12. three/examples/jsm/effects/ParallaxBarrierEffect.d.ts +7 -4
  13. three/examples/jsm/environments/RoomEnvironment.d.ts +2 -2
  14. three/examples/jsm/loaders/KTX2Loader.d.ts +4 -0
  15. three/examples/jsm/objects/SkyMesh.d.ts +17 -0
  16. three/examples/jsm/objects/Water2.d.ts +2 -2
  17. three/examples/jsm/objects/Water2Mesh.d.ts +42 -0
  18. three/examples/jsm/objects/WaterMesh.d.ts +31 -0
  19. three/examples/jsm/postprocessing/OutlinePass.d.ts +1 -1
  20. three/examples/jsm/postprocessing/SSAARenderPass.d.ts +11 -2
  21. three/package.json +4 -3
  22. three/src/Three.WebGPU.d.ts +6 -0
  23. three/src/Three.d.ts +1 -0
  24. three/src/core/EventDispatcher.d.ts +0 -3
  25. three/src/core/Object3D.d.ts +2 -0
  26. three/src/extras/Controls.d.ts +54 -0
  27. three/src/{nodes/loaders → loaders/nodes}/NodeLoader.d.ts +3 -3
  28. three/src/{nodes/loaders → loaders/nodes}/NodeMaterialLoader.d.ts +1 -1
  29. three/src/{nodes/loaders → loaders/nodes}/NodeObjectLoader.d.ts +1 -1
  30. three/src/materials/Material.d.ts +17 -13
  31. three/src/materials/nodes/InstancedPointsNodeMaterial.d.ts +33 -0
  32. three/src/{nodes/materials → materials/nodes}/Line2NodeMaterial.d.ts +2 -2
  33. three/src/{nodes/materials → materials/nodes}/LineBasicNodeMaterial.d.ts +1 -1
  34. three/src/materials/nodes/LineDashedNodeMaterial.d.ts +29 -0
  35. three/src/{nodes/materials → materials/nodes}/MeshBasicNodeMaterial.d.ts +1 -1
  36. three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +49 -0
  37. three/src/{nodes/materials → materials/nodes}/MeshMatcapNodeMaterial.d.ts +2 -2
  38. three/src/{nodes/materials → materials/nodes}/MeshNormalNodeMaterial.d.ts +1 -1
  39. three/src/{nodes/materials → materials/nodes}/MeshPhongNodeMaterial.d.ts +2 -2
  40. three/src/{nodes/materials → materials/nodes}/MeshPhysicalNodeMaterial.d.ts +5 -2
  41. three/src/{nodes/materials → materials/nodes}/MeshSSSNodeMaterial.d.ts +2 -2
  42. three/src/{nodes/materials → materials/nodes}/MeshStandardNodeMaterial.d.ts +3 -3
  43. three/src/{nodes/materials → materials/nodes}/MeshToonNodeMaterial.d.ts +2 -2
  44. three/src/materials/nodes/NodeMaterial.d.ts +91 -0
  45. three/src/{nodes/materials/Materials.d.ts → materials/nodes/NodeMaterials.d.ts} +5 -2
  46. three/src/{nodes/materials → materials/nodes}/PointsNodeMaterial.d.ts +1 -2
  47. three/src/{nodes/materials → materials/nodes}/ShadowNodeMaterial.d.ts +1 -1
  48. three/src/{nodes/materials → materials/nodes}/SpriteNodeMaterial.d.ts +2 -2
  49. three/src/{nodes/materials → materials/nodes}/VolumeNodeMaterial.d.ts +1 -1
  50. three/src/nodes/Nodes.d.ts +117 -362
  51. three/src/nodes/TSL.d.ts +269 -0
  52. three/src/nodes/accessors/AccessorsUtils.d.ts +1 -1
  53. three/src/nodes/accessors/BatchNode.d.ts +1 -2
  54. three/src/nodes/accessors/{BitangentNode.d.ts → Bitangent.d.ts} +1 -1
  55. three/src/nodes/accessors/BufferAttributeNode.d.ts +4 -4
  56. three/src/nodes/accessors/BufferNode.d.ts +1 -1
  57. three/src/nodes/accessors/{CameraNode.d.ts → Camera.d.ts} +1 -1
  58. three/src/nodes/accessors/ClippingNode.d.ts +1 -1
  59. three/src/nodes/accessors/CubeTextureNode.d.ts +1 -7
  60. three/src/nodes/accessors/InstanceNode.d.ts +1 -1
  61. three/src/nodes/accessors/MaterialNode.d.ts +3 -3
  62. three/src/nodes/accessors/MaterialProperties.d.ts +4 -0
  63. three/src/nodes/accessors/MaterialReferenceNode.d.ts +3 -1
  64. three/src/nodes/accessors/ModelNode.d.ts +1 -1
  65. three/src/nodes/accessors/ModelViewProjectionNode.d.ts +1 -1
  66. three/src/nodes/accessors/MorphNode.d.ts +15 -0
  67. three/src/nodes/accessors/{NormalNode.d.ts → Normal.d.ts} +11 -4
  68. three/src/nodes/accessors/Object3DNode.d.ts +1 -1
  69. three/src/nodes/accessors/PointUVNode.d.ts +1 -1
  70. three/src/nodes/accessors/{PositionNode.d.ts → Position.d.ts} +2 -1
  71. three/src/nodes/accessors/ReferenceBaseNode.d.ts +27 -0
  72. three/src/nodes/accessors/ReferenceNode.d.ts +7 -5
  73. three/src/nodes/accessors/{ReflectVectorNode.d.ts → ReflectVector.d.ts} +1 -1
  74. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
  75. three/src/nodes/accessors/SceneNode.d.ts +20 -0
  76. three/src/nodes/accessors/SkinningNode.d.ts +11 -1
  77. three/src/nodes/accessors/StorageBufferNode.d.ts +2 -2
  78. three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
  79. three/src/nodes/accessors/{TangentNode.d.ts → Tangent.d.ts} +1 -1
  80. three/src/nodes/accessors/Texture3DNode.d.ts +1 -1
  81. three/src/nodes/accessors/TextureBicubic.d.ts +4 -0
  82. three/src/nodes/accessors/TextureNode.d.ts +26 -7
  83. three/src/nodes/accessors/TextureSizeNode.d.ts +18 -0
  84. three/src/nodes/accessors/{UVNode.d.ts → UV.d.ts} +1 -1
  85. three/src/nodes/accessors/UniformArrayNode.d.ts +30 -0
  86. three/src/nodes/accessors/UserDataNode.d.ts +1 -1
  87. three/src/nodes/accessors/VelocityNode.d.ts +15 -0
  88. three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
  89. three/src/nodes/code/CodeNode.d.ts +1 -1
  90. three/src/nodes/code/ExpressionNode.d.ts +1 -1
  91. three/src/nodes/code/FunctionCallNode.d.ts +2 -2
  92. three/src/nodes/code/FunctionNode.d.ts +5 -6
  93. three/src/nodes/code/ScriptableNode.d.ts +22 -0
  94. three/src/nodes/code/ScriptableValueNode.d.ts +10 -0
  95. three/src/nodes/core/AssignNode.d.ts +2 -2
  96. three/src/nodes/core/AttributeNode.d.ts +2 -5
  97. three/src/nodes/core/BypassNode.d.ts +2 -2
  98. three/src/nodes/core/CacheNode.d.ts +2 -2
  99. three/src/nodes/core/ContextNode.d.ts +10 -7
  100. three/src/nodes/core/IndexNode.d.ts +11 -3
  101. three/src/nodes/core/MRTNode.d.ts +7 -2
  102. three/src/nodes/core/Node.d.ts +8 -2
  103. three/src/nodes/core/OutputStructNode.d.ts +1 -1
  104. three/src/nodes/core/ParameterNode.d.ts +12 -0
  105. three/src/nodes/core/PropertyNode.d.ts +1 -1
  106. three/src/nodes/core/StackNode.d.ts +12 -2
  107. three/src/nodes/core/UniformNode.d.ts +1 -1
  108. three/src/nodes/core/VarNode.d.ts +2 -10
  109. three/src/nodes/core/VaryingNode.d.ts +2 -2
  110. three/src/nodes/display/AfterImageNode.d.ts +1 -7
  111. three/src/nodes/display/AnaglyphPassNode.d.ts +14 -0
  112. three/src/nodes/display/AnamorphicNode.d.ts +1 -7
  113. three/src/nodes/display/BleachBypass.d.ts +4 -0
  114. three/src/nodes/display/BlendMode.d.ts +10 -0
  115. three/src/nodes/display/BloomNode.d.ts +1 -7
  116. three/src/nodes/display/BumpMapNode.d.ts +16 -0
  117. three/src/nodes/display/ColorAdjustment.d.ts +27 -0
  118. three/src/nodes/display/ColorSpaceFunctions.d.ts +6 -0
  119. three/src/nodes/display/ColorSpaceNode.d.ts +23 -23
  120. three/src/nodes/display/DenoiseNode.d.ts +3 -9
  121. three/src/nodes/display/DepthOfFieldNode.d.ts +4 -8
  122. three/src/nodes/display/DotScreenNode.d.ts +4 -8
  123. three/src/nodes/display/FXAANode.d.ts +3 -9
  124. three/src/nodes/display/FilmNode.d.ts +3 -9
  125. three/src/nodes/display/FrontFacingNode.d.ts +4 -2
  126. three/src/nodes/display/GTAONode.d.ts +3 -9
  127. three/src/nodes/display/GaussianBlurNode.d.ts +4 -8
  128. three/src/nodes/display/Lut3DNode.d.ts +3 -9
  129. three/src/nodes/display/MotionBlur.d.ts +8 -0
  130. three/src/nodes/display/NormalMapNode.d.ts +4 -8
  131. three/src/nodes/display/ParallaxBarrierPassNode.d.ts +14 -0
  132. three/src/nodes/display/PassNode.d.ts +11 -2
  133. three/src/nodes/display/PixelationPassNode.d.ts +1 -37
  134. three/src/nodes/display/PosterizeNode.d.ts +1 -7
  135. three/src/nodes/display/RGBShiftNode.d.ts +1 -7
  136. three/src/nodes/display/RenderOutputNode.d.ts +2 -2
  137. three/src/nodes/display/SSAAPassNode.d.ts +26 -0
  138. three/src/nodes/display/Sepia.d.ts +4 -0
  139. three/src/nodes/display/SobelOperatorNode.d.ts +4 -8
  140. three/src/nodes/display/StereoCompositePassNode.d.ts +17 -0
  141. three/src/nodes/display/StereoPassNode.d.ts +17 -0
  142. three/src/nodes/display/ToneMappingFunctions.d.ts +14 -0
  143. three/src/nodes/display/ToneMappingNode.d.ts +5 -6
  144. three/src/nodes/display/TransitionNode.d.ts +3 -9
  145. three/src/nodes/display/ViewportDepthNode.d.ts +6 -2
  146. three/src/nodes/display/ViewportDepthTextureNode.d.ts +4 -2
  147. three/src/nodes/display/ViewportNode.d.ts +23 -16
  148. three/src/nodes/display/ViewportSharedTextureNode.d.ts +4 -8
  149. three/src/nodes/display/ViewportTextureNode.d.ts +4 -9
  150. three/src/nodes/fog/FogExp2Node.d.ts +4 -8
  151. three/src/nodes/fog/FogNode.d.ts +4 -8
  152. three/src/nodes/fog/FogRangeNode.d.ts +4 -8
  153. three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +1 -1
  154. three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +1 -1
  155. three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +1 -1
  156. three/src/nodes/functions/BSDF/DFGApprox.d.ts +1 -1
  157. three/src/nodes/functions/BSDF/D_GGX.d.ts +1 -1
  158. three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +1 -1
  159. three/src/nodes/functions/BSDF/F_Schlick.d.ts +1 -1
  160. three/src/nodes/functions/BSDF/Schlick_to_F0.d.ts +10 -0
  161. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +1 -1
  162. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +1 -1
  163. three/src/nodes/functions/ShadowMaskModel.d.ts +1 -1
  164. three/src/nodes/functions/material/getGeometryRoughness.d.ts +1 -1
  165. three/src/nodes/functions/material/getRoughness.d.ts +1 -1
  166. three/src/nodes/geometry/RangeNode.d.ts +1 -1
  167. three/src/nodes/gpgpu/ComputeNode.d.ts +2 -2
  168. three/src/nodes/lighting/AmbientLightNode.d.ts +8 -0
  169. three/src/nodes/lighting/DirectionalLightNode.d.ts +8 -0
  170. three/src/nodes/lighting/IESSpotLightNode.d.ts +5 -0
  171. three/src/nodes/lighting/LightNode.d.ts +18 -0
  172. three/src/nodes/lighting/LightProbeNode.d.ts +11 -0
  173. three/src/nodes/lighting/LightUtils.d.ts +3 -3
  174. three/src/nodes/lighting/LightingContextNode.d.ts +1 -7
  175. three/src/nodes/lighting/LightsNode.d.ts +9 -13
  176. three/src/nodes/materialx/MaterialXNodes.d.ts +1 -1
  177. three/src/nodes/materialx/lib/mx_hsv.d.ts +2 -2
  178. three/src/nodes/materialx/lib/mx_noise.d.ts +1 -1
  179. three/src/nodes/materialx/lib/mx_transform_color.d.ts +1 -1
  180. three/src/nodes/math/ConditionalNode.d.ts +39 -0
  181. three/src/nodes/math/Hash.d.ts +4 -0
  182. three/src/nodes/math/MathNode.d.ts +2 -2
  183. three/src/nodes/math/MathUtils.d.ts +0 -10
  184. three/src/nodes/math/OperatorNode.d.ts +18 -4
  185. three/src/nodes/math/TriNoise3D.d.ts +1 -1
  186. three/src/nodes/parsers/GLSLNodeFunction.d.ts +9 -0
  187. three/src/nodes/parsers/GLSLNodeParser.d.ts +8 -0
  188. three/src/nodes/pmrem/PMREMNode.d.ts +4 -2
  189. three/src/nodes/pmrem/PMREMUtils.d.ts +28 -0
  190. three/src/nodes/procedural/Checker.d.ts +4 -0
  191. three/src/nodes/tsl/TSLBase.d.ts +21 -0
  192. three/src/nodes/{shadernode/ShaderNode.d.ts → tsl/TSLCore.d.ts} +23 -23
  193. three/src/nodes/utils/CubeMapNode.d.ts +13 -0
  194. three/src/nodes/utils/Discard.d.ts +11 -0
  195. three/src/nodes/utils/EquirectUVNode.d.ts +1 -1
  196. three/src/nodes/utils/FunctionOverloadingNode.d.ts +13 -0
  197. three/src/nodes/utils/LoopNode.d.ts +22 -0
  198. three/src/nodes/utils/MatcapUVNode.d.ts +1 -1
  199. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
  200. three/src/nodes/utils/OscNode.d.ts +1 -1
  201. three/src/nodes/utils/Packing.d.ts +5 -0
  202. three/src/nodes/utils/RTTNode.d.ts +7 -7
  203. three/src/nodes/utils/ReflectorNode.d.ts +1 -1
  204. three/src/nodes/utils/RemapNode.d.ts +2 -2
  205. three/src/nodes/utils/RotateNode.d.ts +1 -7
  206. three/src/nodes/utils/SetNode.d.ts +11 -0
  207. three/src/nodes/utils/SplitNode.d.ts +1 -1
  208. three/src/nodes/utils/SpriteSheetUVNode.d.ts +1 -1
  209. three/src/nodes/utils/SpriteUtils.d.ts +6 -0
  210. three/src/nodes/utils/{StoargeArrayElementNode.d.ts → StorageArrayElementNode.d.ts} +1 -7
  211. three/src/nodes/utils/TimerNode.d.ts +1 -1
  212. three/src/nodes/utils/TriplanarTexturesNode.d.ts +1 -7
  213. three/src/nodes/utils/UVUtils.d.ts +14 -0
  214. three/src/nodes/utils/ViewportUtils.d.ts +4 -0
  215. three/src/renderers/common/BindGroup.d.ts +8 -1
  216. three/src/renderers/common/Bindings.d.ts +2 -2
  217. three/src/renderers/common/ClippingContext.d.ts +1 -0
  218. three/src/renderers/common/QuadMesh.d.ts +2 -0
  219. three/src/renderers/common/RenderContext.d.ts +2 -0
  220. three/src/renderers/common/RenderContexts.d.ts +6 -4
  221. three/src/renderers/common/RenderObjects.d.ts +1 -1
  222. three/src/renderers/common/Renderer.d.ts +16 -4
  223. three/src/renderers/common/SampledTexture.d.ts +7 -1
  224. three/src/renderers/common/StandardRenderer.d.ts +12 -0
  225. three/src/renderers/common/Textures.d.ts +1 -0
  226. three/src/renderers/common/nodes/NodeLibrary.d.ts +56 -0
  227. three/src/renderers/common/nodes/NodeSampledTexture.d.ts +3 -3
  228. three/src/renderers/common/nodes/Nodes.d.ts +7 -9
  229. three/src/renderers/common/nodes/StandardNodeLibrary.d.ts +5 -0
  230. three/src/renderers/webgl/WebGLProperties.d.ts +5 -4
  231. three/src/renderers/webgpu/WebGPUBackend.d.ts +6 -2
  232. three/src/renderers/webgpu/WebGPURenderer.d.ts +3 -3
  233. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +2 -2
  234. three/src/renderers/webxr/WebXRManager.d.ts +0 -2
  235. three/examples/jsm/loaders/LogLuvLoader.d.ts +0 -19
  236. three/src/nodes/accessors/TextureBicubicNode.d.ts +0 -18
  237. three/src/nodes/accessors/UniformsNode.d.ts +0 -23
  238. three/src/nodes/core/NodeKeywords.d.ts +0 -17
  239. three/src/nodes/display/BlendModeNode.d.ts +0 -47
  240. three/src/nodes/display/ColorAdjustmentNode.d.ts +0 -47
  241. three/src/nodes/materials/NodeMaterial.d.ts +0 -124
  242. three/src/nodes/math/CondNode.d.ts +0 -22
  243. three/src/nodes/math/HashNode.d.ts +0 -16
  244. three/src/nodes/procedural/CheckerNode.d.ts +0 -15
  245. three/src/nodes/utils/DiscardNode.d.ts +0 -17
  246. three/src/nodes/utils/PackingNode.d.ts +0 -24
  247. three/src/nodes/utils/RotateUVNode.d.ts +0 -19
@@ -0,0 +1,269 @@
1
+ // constants
2
+ export * from "./core/constants.js";
3
+
4
+ // core
5
+ export * from "./core/AssignNode.js";
6
+ export * from "./core/AttributeNode.js";
7
+ export * from "./core/BypassNode.js";
8
+ export * from "./core/CacheNode.js";
9
+ export * from "./core/ContextNode.js";
10
+ export * from "./core/IndexNode.js";
11
+ export * from "./core/MRTNode.js";
12
+ export * from "./core/OutputStructNode.js";
13
+ export * from "./core/ParameterNode.js";
14
+ export * from "./core/PropertyNode.js";
15
+ export * from "./core/StackNode.js";
16
+ export * from "./core/UniformGroupNode.js";
17
+ export * from "./core/UniformNode.js";
18
+ export * from "./core/VaryingNode.js";
19
+
20
+ // math
21
+ export * from "./math/Hash.js";
22
+ export * from "./math/MathUtils.js";
23
+ export * from "./math/TriNoise3D.js";
24
+
25
+ // utils
26
+ export { default as EquirectUVNode, equirectUV } from "./utils/EquirectUVNode.js";
27
+ export { default as FunctionOverloadingNode, overloadingFn } from "./utils/FunctionOverloadingNode.js";
28
+ export { Break, Continue, default as LoopNode, Loop } from "./utils/LoopNode.js";
29
+ export { default as MatcapUVNode, matcapUV } from "./utils/MatcapUVNode.js";
30
+ export { default as MaxMipLevelNode, maxMipLevel } from "./utils/MaxMipLevelNode.js";
31
+ export { default as OscNode, OscNodeMethod, oscSawtooth, oscSine, oscSquare, oscTriangle } from "./utils/OscNode.js";
32
+ export * from "./utils/Packing.js";
33
+ export { default as ReflectorNode, reflector, ReflectorNodeParameters } from "./utils/ReflectorNode.js";
34
+ export { default as RemapNode, remap, remapClamp } from "./utils/RemapNode.js";
35
+ export { default as RotateNode, rotate } from "./utils/RotateNode.js";
36
+ export { convertToTexture, default as RTTNode, rtt, RTTNodeOptions } from "./utils/RTTNode.js";
37
+ export { default as SpriteSheetUVNode, spritesheetUV } from "./utils/SpriteSheetUVNode.js";
38
+ export * from "./utils/SpriteUtils.js";
39
+ export {
40
+ default as TimerNode,
41
+ frameId,
42
+ timerDelta,
43
+ timerGlobal,
44
+ timerLocal,
45
+ TimerNodeScope,
46
+ } from "./utils/TimerNode.js";
47
+ export {
48
+ default as TriplanarTexturesNode,
49
+ triplanarTexture,
50
+ triplanarTextures,
51
+ } from "./utils/TriplanarTexturesNode.js";
52
+ export * from "./utils/UVUtils.js";
53
+ export * from "./utils/ViewportUtils.js";
54
+
55
+ // three.js shading language
56
+ export * from "./tsl/TSLBase.js";
57
+
58
+ // accessors
59
+ export * from "./accessors/AccessorsUtils.js";
60
+ export { batch, default as BatchNode } from "./accessors/BatchNode.js";
61
+ export * from "./accessors/Bitangent.js";
62
+ export {
63
+ bufferAttribute,
64
+ default as BufferAttributeNode,
65
+ dynamicBufferAttribute,
66
+ instancedBufferAttribute,
67
+ instancedDynamicBufferAttribute,
68
+ } from "./accessors/BufferAttributeNode.js";
69
+ export { buffer, default as BufferNode } from "./accessors/BufferNode.js";
70
+ export * from "./accessors/Camera.js";
71
+ export { cubeTexture, default as CubeTextureNode } from "./accessors/CubeTextureNode.js";
72
+ export { default as InstanceNode, instance } from "./accessors/InstanceNode.js";
73
+ export {
74
+ default as MaterialNode,
75
+ materialAlphaTest,
76
+ materialAnisotropy,
77
+ materialAnisotropyVector,
78
+ materialAOMap,
79
+ materialClearcoat,
80
+ materialClearcoatNormal,
81
+ materialClearcoatRoughness,
82
+ materialColor,
83
+ materialDispersion,
84
+ materialEmissive,
85
+ materialIridescence,
86
+ materialIridescenceIOR,
87
+ materialIridescenceThickness,
88
+ materialLightMap,
89
+ materialLineDashOffset,
90
+ materialLineDashSize,
91
+ materialLineGapSize,
92
+ materialLineScale,
93
+ materialLineWidth,
94
+ materialMetalness,
95
+ MaterialNodeScope,
96
+ materialNormal,
97
+ materialOpacity,
98
+ materialPointWidth,
99
+ materialReflectivity,
100
+ materialRotation,
101
+ materialRoughness,
102
+ materialSheen,
103
+ materialSheenRoughness,
104
+ materialShininess,
105
+ materialSpecular,
106
+ materialSpecularStrength,
107
+ } from "./accessors/MaterialNode.js";
108
+ export * from "./accessors/MaterialProperties.js";
109
+ export { default as MaterialReferenceNode, materialReference } from "./accessors/MaterialReferenceNode.js";
110
+ export {
111
+ default as ModelNode,
112
+ modelDirection,
113
+ modelNormalMatrix,
114
+ modelPosition,
115
+ modelScale,
116
+ modelViewMatrix,
117
+ modelViewPosition,
118
+ modelWorldMatrix,
119
+ modelWorldMatrixInverse,
120
+ } from "./accessors/ModelNode.js";
121
+ export { default as ModelViewProjectionNode, modelViewProjection } from "./accessors/ModelViewProjectionNode.js";
122
+ export { default as MorphNode, morphReference } from "./accessors/MorphNode.js";
123
+ export * from "./accessors/Normal.js";
124
+ export {
125
+ default as Object3DNode,
126
+ objectDirection,
127
+ objectNormalMatrix,
128
+ objectPosition,
129
+ objectScale,
130
+ objectViewMatrix,
131
+ objectViewPosition,
132
+ objectWorldMatrix,
133
+ } from "./accessors/Object3DNode.js";
134
+ export { default as PointUVNode, pointUV } from "./accessors/PointUVNode.js";
135
+ export * from "./accessors/Position.js";
136
+ export { default as ReferenceNode, reference, referenceBuffer } from "./accessors/ReferenceNode.js";
137
+ export * from "./accessors/ReflectVector.js";
138
+ export { default as RendererReferenceNode, rendererReference } from "./accessors/RendererReferenceNode.js";
139
+ export {
140
+ backgroundBlurriness,
141
+ backgroundIntensity,
142
+ default as SceneNode,
143
+ SceneNodeScope,
144
+ } from "./accessors/SceneNode.js";
145
+ export { default as SkinningNode, skinning, skinningReference } from "./accessors/SkinningNode.js";
146
+ export { default as StorageBufferNode, storage, storageObject } from "./accessors/StorageBufferNode.js";
147
+ export { default as StorageTextureNode, storageTexture, textureStore } from "./accessors/StorageTextureNode.js";
148
+ export * from "./accessors/Tangent.js";
149
+ export { default as Texture3DNode, texture3D } from "./accessors/Texture3DNode.js";
150
+ export * from "./accessors/TextureBicubic.js";
151
+ export { default as TextureNode, /*textureLevel,*/ sampler, texture, textureLoad } from "./accessors/TextureNode.js";
152
+ export { default as TextureSizeNode, textureSize } from "./accessors/TextureSizeNode.js";
153
+ export { default as UniformArrayNode, uniformArray } from "./accessors/UniformArrayNode.js";
154
+ export { default as UserDataNode, NodeUserData, userData } from "./accessors/UserDataNode.js";
155
+ export * from "./accessors/UV.js";
156
+ export * from "./accessors/VelocityNode.js";
157
+ export { default as VertexColorNode, vertexColor } from "./accessors/VertexColorNode.js";
158
+
159
+ // display
160
+ export { afterImage, default as AfterImageNode } from "./display/AfterImageNode.js";
161
+ export { anaglyphPass, default as AnaglyphPassNode } from "./display/AnaglyphPassNode.js";
162
+ export { anamorphic, default as AnamorphicNode } from "./display/AnamorphicNode.js";
163
+ export { bleach } from "./display/BleachBypass.js";
164
+ export * from "./display/BlendMode.js";
165
+ export { bloom, default as BloomNode } from "./display/BloomNode.js";
166
+ export { bumpMap, default as BumpMapNode } from "./display/BumpMapNode.js";
167
+ export * from "./display/ColorAdjustment.js";
168
+ export { default as ColorSpaceNode, toOutputColorSpace, toWorkingColorSpace } from "./display/ColorSpaceNode.js";
169
+ export { default as DenoiseNode, denoise } from "./display/DenoiseNode.js";
170
+ export { default as DepthOfFieldNode, dof } from "./display/DepthOfFieldNode.js";
171
+ export { default as DotScreenNode, dotScreen } from "./display/DotScreenNode.js";
172
+ export { default as FilmNode, film } from "./display/FilmNode.js";
173
+ export { default as FrontFacingNode, faceDirection, frontFacing } from "./display/FrontFacingNode.js";
174
+ export { default as FXAANode, fxaa } from "./display/FXAANode.js";
175
+ export { default as GaussianBlurNode, gaussianBlur } from "./display/GaussianBlurNode.js";
176
+ export { ao, default as GTAONode } from "./display/GTAONode.js";
177
+ export { default as Lut3DNode, lut3D } from "./display/Lut3DNode.js";
178
+ export * from "./display/MotionBlur.js";
179
+ export { default as NormalMapNode, normalMap } from "./display/NormalMapNode.js";
180
+ export { default as ParallaxBarrierPassNode, parallaxBarrierPass } from "./display/ParallaxBarrierPassNode.js";
181
+ export { default as PixelationPassNode, pixelationPass } from "./display/PixelationPassNode.js";
182
+ export { default as PosterizeNode, posterize } from "./display/PosterizeNode.js";
183
+ export { default as RenderOutputNode, renderOutput } from "./display/RenderOutputNode.js";
184
+ export { default as RGBShiftNode, rgbShift } from "./display/RGBShiftNode.js";
185
+ export { sepia } from "./display/Sepia.js";
186
+ export { default as SobelOperatorNode, sobel } from "./display/SobelOperatorNode.js";
187
+ export { default as SSAAPassNode, ssaaPass } from "./display/SSAAPassNode.js";
188
+ export { default as StereoPassNode, stereoPass } from "./display/StereoPassNode.js";
189
+ export { default as ToneMappingNode, toneMapping } from "./display/ToneMappingNode.js";
190
+ export { default as TransitionNode, transition } from "./display/TransitionNode.js";
191
+ export {
192
+ default as ViewportDepthNode,
193
+ depth,
194
+ linearDepth,
195
+ orthographicDepthToViewZ,
196
+ perspectiveDepthToViewZ,
197
+ viewportLinearDepth,
198
+ viewZToOrthographicDepth,
199
+ viewZToPerspectiveDepth,
200
+ } from "./display/ViewportDepthNode.js";
201
+ export { default as ViewportDepthTextureNode, viewportDepthTexture } from "./display/ViewportDepthTextureNode.js";
202
+ export {
203
+ default as ViewportNode,
204
+ viewport,
205
+ viewportBottomLeft,
206
+ viewportCoordinate,
207
+ ViewportNodeScope,
208
+ viewportResolution,
209
+ viewportTopLeft,
210
+ viewportUV,
211
+ } from "./display/ViewportNode.js";
212
+ export { default as ViewportSharedTextureNode, viewportSharedTexture } from "./display/ViewportSharedTextureNode.js";
213
+ export { default as ViewportTextureNode, viewportMipTexture, viewportTexture } from "./display/ViewportTextureNode.js";
214
+
215
+ export { default as PassNode, depthPass, pass, PassNodeScope, passTexture } from "./display/PassNode.js";
216
+
217
+ import * as ColorSpaceFunctions from "./display/ColorSpaceFunctions.js";
218
+ export { ColorSpaceFunctions };
219
+
220
+ import * as ToneMappingFunctions from "./display/ToneMappingFunctions.js";
221
+ export { ToneMappingFunctions };
222
+
223
+ // code
224
+ export { code, CodeNodeInclude, default as CodeNode, glsl, js, wgsl } from "./code/CodeNode.js";
225
+ export { default as ExpressionNode, expression } from "./code/ExpressionNode.js";
226
+ export { call, default as FunctionCallNode } from "./code/FunctionCallNode.js";
227
+ export { default as FunctionNode, glslFn, wgslFn } from "./code/FunctionNode.js";
228
+ export { default as ScriptableNode, global, scriptable } from "./code/ScriptableNode.js";
229
+ export { default as ScriptableValueNode, scriptableValue } from "./code/ScriptableValueNode.js";
230
+
231
+ // fog
232
+ export { default as FogExp2Node, densityFog } from "./fog/FogExp2Node.js";
233
+ export { default as FogNode, fog } from "./fog/FogNode.js";
234
+ export { default as FogRangeNode, rangeFog } from "./fog/FogRangeNode.js";
235
+
236
+ // geometry
237
+ export { default as RangeNode, range, RangeModeBound } from "./geometry/RangeNode.js";
238
+
239
+ // gpgpu
240
+ export { compute, default as ComputeNode } from "./gpgpu/ComputeNode.js";
241
+
242
+ // lighting
243
+ export { default as LightingContextNode, lightingContext } from "./lighting/LightingContextNode.js";
244
+ export { default as LightNode, LightNodeScope, lightTargetDirection } from "./lighting/LightNode.js";
245
+ export { default as LightsNode, lights } from "./lighting/LightsNode.js";
246
+
247
+ // pmrem
248
+ export { default as PMREMNode, pmremTexture } from "./pmrem/PMREMNode.js";
249
+ export * from "./pmrem/PMREMUtils.js";
250
+
251
+ // procedural
252
+ export * from "./procedural/Checker.js";
253
+
254
+ // materialX
255
+ export * from "./materialx/MaterialXNodes.js";
256
+
257
+ // functions
258
+ export { default as BRDF_GGX } from "./functions/BSDF/BRDF_GGX.js";
259
+ export { default as BRDF_Lambert } from "./functions/BSDF/BRDF_Lambert.js";
260
+ export { default as D_GGX } from "./functions/BSDF/D_GGX.js";
261
+ export { default as DFGApprox } from "./functions/BSDF/DFGApprox.js";
262
+ export { default as F_Schlick } from "./functions/BSDF/F_Schlick.js";
263
+ export { default as Schlick_to_F0 } from "./functions/BSDF/Schlick_to_F0.js";
264
+ export { default as V_GGX_SmithCorrelated } from "./functions/BSDF/V_GGX_SmithCorrelated.js";
265
+
266
+ export * from "./lighting/LightUtils.js";
267
+
268
+ export { default as getGeometryRoughness } from "./functions/material/getGeometryRoughness.js";
269
+ export { default as getRoughness } from "./functions/material/getRoughness.js";
@@ -1,5 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
- import { NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
 
4
4
  export const TBNViewMatrix: ShaderNodeObject<Node>;
5
5
 
@@ -1,11 +1,10 @@
1
1
  import { BatchedMesh } from "../../objects/BatchedMesh.js";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
4
 
5
5
  export default class BatchNode extends Node {
6
6
  batchMesh: BatchedMesh;
7
7
 
8
- instanceColorNode: Node | null;
9
8
  batchingIdNode: Node | null;
10
9
 
11
10
  constructor(batchMesh: BatchedMesh);
@@ -1,5 +1,5 @@
1
1
  import MathNode from "../math/MathNode.js";
2
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
 
4
4
  export const bitangentGeometry: ShaderNodeObject<MathNode>;
5
5
  export const bitangentLocal: ShaderNodeObject<MathNode>;
@@ -32,22 +32,22 @@ export declare const bufferAttribute: (
32
32
  type?: string | null,
33
33
  stride?: number,
34
34
  offset?: number,
35
- ) => import("../shadernode/ShaderNode.js").ShaderNodeObject<BufferAttributeNode>;
35
+ ) => import("../tsl/TSLCore.js").ShaderNodeObject<BufferAttributeNode>;
36
36
  export declare const dynamicBufferAttribute: (
37
37
  array: TypedArray | InterleavedBuffer | BufferAttribute,
38
38
  type?: string | null,
39
39
  stride?: number,
40
40
  offset?: number,
41
- ) => import("../shadernode/ShaderNode.js").ShaderNodeObject<BufferAttributeNode>;
41
+ ) => import("../tsl/TSLCore.js").ShaderNodeObject<BufferAttributeNode>;
42
42
  export declare const instancedBufferAttribute: (
43
43
  array: TypedArray | InterleavedBuffer | BufferAttribute,
44
44
  type?: string | null,
45
45
  stride?: number,
46
46
  offset?: number,
47
- ) => import("../shadernode/ShaderNode.js").ShaderNodeObject<BufferAttributeNode>;
47
+ ) => import("../tsl/TSLCore.js").ShaderNodeObject<BufferAttributeNode>;
48
48
  export declare const instancedDynamicBufferAttribute: (
49
49
  array: TypedArray | InterleavedBuffer | BufferAttribute,
50
50
  type?: string | null,
51
51
  stride?: number,
52
52
  offset?: number,
53
- ) => import("../shadernode/ShaderNode.js").ShaderNodeObject<BufferAttributeNode>;
53
+ ) => import("../tsl/TSLCore.js").ShaderNodeObject<BufferAttributeNode>;
@@ -1,5 +1,5 @@
1
1
  import UniformNode from "../core/UniformNode.js";
2
- import { NodeOrType, ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { NodeOrType, ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
 
4
4
  export default class BufferNode extends UniformNode<unknown> {
5
5
  isBufferNode: true;
@@ -2,7 +2,7 @@ import { Matrix3 } from "../../math/Matrix3.js";
2
2
  import { Matrix4 } from "../../math/Matrix4.js";
3
3
  import { Vector3 } from "../../math/Vector3.js";
4
4
  import UniformNode from "../core/UniformNode.js";
5
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
5
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
6
6
 
7
7
  export const cameraNear: ShaderNodeObject<UniformNode<number>>;
8
8
  export const cameraFar: ShaderNodeObject<UniformNode<number>>;
@@ -1,5 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
 
4
4
  export type ClippingNodeScope = typeof ClippingNode.ALPHA_TO_COVERAGE | typeof ClippingNode.DEFAULT;
5
5
 
@@ -1,6 +1,6 @@
1
1
  import { CubeTexture } from "../../textures/CubeTexture.js";
2
2
  import Node from "../core/Node.js";
3
- import { NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
3
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
4
4
  import TextureNode from "./TextureNode.js";
5
5
 
6
6
  declare class CubeTextureNode extends TextureNode {
@@ -26,9 +26,3 @@ export const cubeTexture: (
26
26
  levelNode?: NodeRepresentation,
27
27
  biasNode?: NodeRepresentation,
28
28
  ) => ShaderNodeObject<CubeTextureNode>;
29
-
30
- declare module "../shadernode/ShaderNode.js" {
31
- interface NodeElements {
32
- cubeTexture: typeof cubeTexture;
33
- }
34
- }
@@ -1,6 +1,6 @@
1
1
  import { InstancedMesh } from "../../objects/InstancedMesh.js";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
4
 
5
5
  export default class InstanceNode extends Node {
6
6
  instanceMesh: InstancedMesh;
@@ -1,7 +1,7 @@
1
1
  import { Vector2 } from "../../math/Vector2.js";
2
2
  import Node from "../core/Node.js";
3
3
  import UniformNode from "../core/UniformNode.js";
4
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
4
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
5
5
 
6
6
  export type MaterialNodeScope =
7
7
  | typeof MaterialNode.ALPHA_TEST
@@ -101,10 +101,10 @@ export const materialSpecularStrength: ShaderNodeObject<MaterialNode>;
101
101
  export const materialReflectivity: ShaderNodeObject<MaterialNode>;
102
102
  export const materialRoughness: ShaderNodeObject<MaterialNode>;
103
103
  export const materialMetalness: ShaderNodeObject<MaterialNode>;
104
- export const materialNormal: ShaderNodeObject<MaterialNode>;
104
+ export const materialNormal: ShaderNodeObject<Node>;
105
105
  export const materialClearcoat: ShaderNodeObject<MaterialNode>;
106
106
  export const materialClearcoatRoughness: ShaderNodeObject<MaterialNode>;
107
- export const materialClearcoatNormal: ShaderNodeObject<MaterialNode>;
107
+ export const materialClearcoatNormal: ShaderNodeObject<Node>;
108
108
  export const materialRotation: ShaderNodeObject<MaterialNode>;
109
109
  export const materialSheen: ShaderNodeObject<MaterialNode>;
110
110
  export const materialSheenRoughness: ShaderNodeObject<MaterialNode>;
@@ -0,0 +1,4 @@
1
+ import UniformNode from "../core/UniformNode.js";
2
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
+
4
+ export const materialRefractionRatio: ShaderNodeObject<UniformNode<number>>;
@@ -1,8 +1,10 @@
1
1
  import { Material } from "../../materials/Material.js";
2
- import { NodeOrType, ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { NodeOrType, ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
  import ReferenceNode from "./ReferenceNode.js";
4
4
 
5
5
  export default class MaterialReferenceNode extends ReferenceNode<Material | null> {
6
+ readonly isMaterialReferenceNode: true;
7
+
6
8
  constructor(property: string, inputType: string, material?: Material | null);
7
9
  }
8
10
 
@@ -1,6 +1,6 @@
1
1
  import { Matrix4 } from "../../math/Matrix4.js";
2
2
  import { UniformNode } from "../Nodes.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
4
  import Object3DNode from "./Object3DNode.js";
5
5
 
6
6
  /**
@@ -1,5 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
- import { NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
 
4
4
  export default class ModelViewProjectionNode extends Node {
5
5
  constructor(positionNode?: Node);
@@ -0,0 +1,15 @@
1
+ import { Mesh } from "../../objects/Mesh.js";
2
+ import Node from "../core/Node.js";
3
+ import UniformNode from "../core/UniformNode.js";
4
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
5
+
6
+ declare class MorphNode extends Node {
7
+ mesh: Mesh;
8
+ morphBaseInfluence: UniformNode<number>;
9
+
10
+ constructor(mesh: Mesh);
11
+ }
12
+
13
+ export default MorphNode;
14
+
15
+ export const morphReference: (mesh: Mesh) => ShaderNodeObject<MorphNode>;
@@ -1,12 +1,19 @@
1
1
  import AttributeNode from "../core/AttributeNode.js";
2
- import PropertyNode from "../core/PropertyNode.js";
3
2
  import VarNode from "../core/VarNode.js";
4
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
5
4
 
6
5
  export const normalGeometry: ShaderNodeObject<AttributeNode>;
6
+
7
7
  export const normalLocal: ShaderNodeObject<VarNode>;
8
+
9
+ export const normalFlat: ShaderNodeObject<VarNode>;
10
+
8
11
  export const normalView: ShaderNodeObject<VarNode>;
12
+
9
13
  export const normalWorld: ShaderNodeObject<VarNode>;
10
- export const transformedNormalView: ShaderNodeObject<PropertyNode>;
14
+
15
+ export const transformedNormalView: ShaderNodeObject<VarNode>;
16
+
11
17
  export const transformedNormalWorld: ShaderNodeObject<VarNode>;
12
- export const transformedClearcoatNormalView: ShaderNodeObject<PropertyNode>;
18
+
19
+ export const transformedClearcoatNormalView: ShaderNodeObject<VarNode>;
@@ -1,6 +1,6 @@
1
1
  import { Object3D } from "../../core/Object3D.js";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
4
 
5
5
  export default class Object3DNode extends Node {
6
6
  scope: string;
@@ -1,5 +1,5 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
 
4
4
  export default class PointUVNode extends Node {
5
5
  isPointUVNode: true;
@@ -1,8 +1,9 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
 
4
4
  export const positionGeometry: ShaderNodeObject<Node>;
5
5
  export const positionLocal: ShaderNodeObject<Node>;
6
+ export const positionPrevious: ShaderNodeObject<Node>;
6
7
  export const positionWorld: ShaderNodeObject<Node>;
7
8
  export const positionWorldDirection: ShaderNodeObject<Node>;
8
9
  export const positionView: ShaderNodeObject<Node>;
@@ -0,0 +1,27 @@
1
+ import Node from "../core/Node.js";
2
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
3
+
4
+ declare class ReferenceBaseNode<T> extends Node {
5
+ property: string;
6
+ uniformType: string;
7
+ object: T;
8
+ count: number | null;
9
+
10
+ properties: string[];
11
+ reference: T | null;
12
+ node: Node | null;
13
+
14
+ constructor(property: string, uniformType: string, object?: T | null, count?: number | null);
15
+
16
+ setNodeType(uniformType: string): void;
17
+ }
18
+
19
+ export default ReferenceBaseNode;
20
+
21
+ export const reference: <T>(name: string, type: string, object: T) => ShaderNodeObject<ReferenceBaseNode<T>>;
22
+ export const referenceBuffer: <T>(
23
+ name: string,
24
+ type: string,
25
+ count: number,
26
+ object: T,
27
+ ) => ShaderNodeObject<ReferenceBaseNode<T>>;
@@ -1,7 +1,7 @@
1
1
  import Node from "../core/Node.js";
2
- import { NodeOrType, NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
 
4
- export default class ReferenceNode<T> extends Node {
4
+ declare class ReferenceNode<T> extends Node {
5
5
  property: string;
6
6
 
7
7
  uniformType: string;
@@ -18,10 +18,12 @@ export default class ReferenceNode<T> extends Node {
18
18
  setNodeType(uniformType: string): void;
19
19
  }
20
20
 
21
- export const reference: <T>(name: string, nodeOrType: NodeOrType, object: T) => ShaderNodeObject<ReferenceNode<T>>;
21
+ export default ReferenceNode;
22
+
23
+ export const reference: <T>(name: string, type: string, object: T) => ShaderNodeObject<ReferenceNode<T>>;
22
24
  export const referenceBuffer: <T>(
23
25
  name: string,
24
- nodeOrType: NodeOrType,
25
- count: NodeRepresentation,
26
+ type: string,
27
+ count: number,
26
28
  object: T,
27
29
  ) => ShaderNodeObject<ReferenceNode<T>>;
@@ -1,6 +1,6 @@
1
1
  import Node from "../core/Node.js";
2
2
  import VarNode from "../core/VarNode.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
4
 
5
5
  export const reflectView: ShaderNodeObject<Node>;
6
6
  export const refractView: ShaderNodeObject<Node>;
@@ -1,5 +1,5 @@
1
1
  import Renderer from "../../renderers/common/Renderer.js";
2
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
  import ReferenceNode from "./ReferenceNode.js";
4
4
 
5
5
  export default class RendererReferenceNode extends ReferenceNode<Renderer> {
@@ -0,0 +1,20 @@
1
+ import { Scene } from "../../scenes/Scene.js";
2
+ import Node from "../core/Node.js";
3
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
+
5
+ export type SceneNodeScope = typeof SceneNode.BACKGROUND_BLURRINESS | typeof SceneNode.BACKGROUND_INTENSITY;
6
+
7
+ declare class SceneNode extends Node {
8
+ scope: SceneNodeScope;
9
+ scene: Scene | null;
10
+
11
+ constructor(scope?: SceneNodeScope, scene?: Scene | null);
12
+
13
+ static BACKGROUND_BLURRINESS: "backgroundBlurriness";
14
+ static BACKGROUND_INTENSITY: "backgroundIntensity";
15
+ }
16
+
17
+ export default SceneNode;
18
+
19
+ export const backgroundBlurriness: ShaderNodeObject<SceneNode>;
20
+ export const backgroundIntensity: ShaderNodeObject<SceneNode>;
@@ -1,6 +1,7 @@
1
1
  import { SkinnedMesh } from "../../objects/SkinnedMesh.js";
2
2
  import Node from "../core/Node.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
3
+ import NodeBuilder from "../core/NodeBuilder.js";
4
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
5
 
5
6
  export default class SkinningNode extends Node {
6
7
  skinnedMesh: SkinnedMesh;
@@ -12,8 +13,17 @@ export default class SkinningNode extends Node {
12
13
  bindMatrixNode: Node;
13
14
  bindMatrixInverseNode: Node;
14
15
  boneMatricesNode: Node;
16
+ previousBoneMatricesNode: Node | null;
15
17
 
16
18
  constructor(skinnedMesh: SkinnedMesh, useReference?: boolean);
19
+
20
+ getSkinnedPosition(boneMatrices?: Node, position?: Node): ShaderNodeObject<Node>;
21
+
22
+ getSkinnedNormal(boneMatrices?: Node, normal?: Node): ShaderNodeObject<Node>;
23
+
24
+ getPreviousSkinnedPosition(builder: NodeBuilder): ShaderNodeObject<Node>;
25
+
26
+ needsPreviousBoneMatrices(builder: NodeBuilder): boolean;
17
27
  }
18
28
 
19
29
  export const skinning: (skinnedMesh: SkinnedMesh) => ShaderNodeObject<SkinningNode>;
@@ -1,8 +1,8 @@
1
1
  import StorageBufferAttribute from "../../renderers/common/StorageBufferAttribute.js";
2
2
  import StorageInstancedBufferAttribute from "../../renderers/common/StorageInstancedBufferAttribute.js";
3
3
  import { GPUBufferBindingType } from "../../renderers/webgpu/utils/WebGPUConstants.js";
4
- import { NodeOrType, NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
5
- import StorageArrayElementNode from "../utils/StoargeArrayElementNode.js";
4
+ import { NodeOrType, NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
5
+ import StorageArrayElementNode from "../utils/StorageArrayElementNode.js";
6
6
  import BufferNode from "./BufferNode.js";
7
7
 
8
8
  export default class StorageBufferNode extends BufferNode {