@types/three 0.167.2 → 0.169.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 (304) hide show
  1. three/README.md +2 -2
  2. three/build/three.webgpu.nodes.d.ts +1 -0
  3. three/build/three.webgpu.nodes.min.d.ts +1 -0
  4. three/examples/jsm/Addons.d.ts +1 -4
  5. three/examples/jsm/capabilities/WebGL.d.ts +11 -3
  6. three/examples/jsm/controls/ArcballControls.d.ts +111 -77
  7. three/examples/jsm/controls/DragControls.d.ts +43 -29
  8. three/examples/jsm/controls/FirstPersonControls.d.ts +82 -12
  9. three/examples/jsm/controls/FlyControls.d.ts +35 -11
  10. three/examples/jsm/controls/OrbitControls.d.ts +84 -137
  11. three/examples/jsm/controls/PointerLockControls.d.ts +68 -9
  12. three/examples/jsm/controls/TrackballControls.d.ts +110 -26
  13. three/examples/jsm/controls/TransformControls.d.ts +152 -25
  14. three/examples/jsm/effects/AnaglyphEffect.d.ts +11 -5
  15. three/examples/jsm/effects/ParallaxBarrierEffect.d.ts +7 -4
  16. three/examples/jsm/environments/RoomEnvironment.d.ts +2 -2
  17. three/examples/jsm/exporters/EXRExporter.d.ts +7 -2
  18. three/examples/jsm/exporters/KTX2Exporter.d.ts +3 -1
  19. three/examples/jsm/helpers/LightProbeHelper.d.ts +5 -3
  20. three/examples/jsm/helpers/LightProbeHelperGPU.d.ts +12 -0
  21. three/examples/jsm/lights/LightProbeGenerator.d.ts +5 -1
  22. three/examples/jsm/lines/Line2.d.ts +15 -1
  23. three/examples/jsm/lines/LineGeometry.d.ts +18 -1
  24. three/examples/jsm/lines/LineMaterial.d.ts +65 -12
  25. three/examples/jsm/lines/LineSegments2.d.ts +25 -2
  26. three/examples/jsm/lines/LineSegmentsGeometry.d.ts +46 -9
  27. three/examples/jsm/loaders/DRACOLoader.d.ts +6 -0
  28. three/examples/jsm/loaders/KTX2Loader.d.ts +4 -0
  29. three/examples/jsm/modifiers/CurveModifier.d.ts +7 -3
  30. three/examples/jsm/modifiers/CurveModifierGPU.d.ts +31 -0
  31. three/examples/jsm/objects/Lensflare.d.ts +13 -9
  32. three/examples/jsm/objects/LensflareMesh.d.ts +21 -0
  33. three/examples/jsm/objects/SkyMesh.d.ts +17 -0
  34. three/examples/jsm/objects/Water2.d.ts +2 -2
  35. three/examples/jsm/objects/Water2Mesh.d.ts +42 -0
  36. three/examples/jsm/objects/WaterMesh.d.ts +31 -0
  37. three/examples/jsm/postprocessing/OutlinePass.d.ts +1 -1
  38. three/examples/jsm/postprocessing/SSAARenderPass.d.ts +11 -2
  39. three/examples/jsm/utils/GeometryCompressionUtils.d.ts +20 -4
  40. three/examples/jsm/utils/ShadowMapViewer.d.ts +8 -6
  41. three/examples/jsm/utils/ShadowMapViewerGPU.d.ts +26 -0
  42. three/examples/jsm/utils/SkeletonUtils.d.ts +25 -5
  43. three/examples/jsm/utils/TextureUtilsGPU.d.ts +3 -0
  44. three/package.json +4 -3
  45. three/src/Three.WebGPU.Nodes.d.ts +201 -0
  46. three/src/Three.WebGPU.d.ts +7 -0
  47. three/src/Three.d.ts +1 -0
  48. three/src/audio/Audio.d.ts +4 -1
  49. three/src/core/BufferAttribute.d.ts +0 -15
  50. three/src/core/EventDispatcher.d.ts +0 -3
  51. three/src/core/InterleavedBuffer.d.ts +0 -12
  52. three/src/core/Object3D.d.ts +3 -1
  53. three/src/core/Raycaster.d.ts +2 -1
  54. three/src/extras/Controls.d.ts +54 -0
  55. three/src/loaders/MaterialLoader.d.ts +2 -0
  56. three/src/{nodes/loaders → loaders/nodes}/NodeLoader.d.ts +8 -3
  57. three/src/loaders/nodes/NodeMaterialLoader.d.ts +11 -0
  58. three/src/loaders/nodes/NodeObjectLoader.d.ts +22 -0
  59. three/src/materials/Material.d.ts +17 -13
  60. three/src/materials/nodes/InstancedPointsNodeMaterial.d.ts +33 -0
  61. three/src/{nodes/materials → materials/nodes}/Line2NodeMaterial.d.ts +2 -2
  62. three/src/{nodes/materials → materials/nodes}/LineBasicNodeMaterial.d.ts +1 -1
  63. three/src/materials/nodes/LineDashedNodeMaterial.d.ts +29 -0
  64. three/src/{nodes/materials → materials/nodes}/MeshBasicNodeMaterial.d.ts +1 -1
  65. three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +49 -0
  66. three/src/{nodes/materials → materials/nodes}/MeshMatcapNodeMaterial.d.ts +2 -2
  67. three/src/{nodes/materials → materials/nodes}/MeshNormalNodeMaterial.d.ts +1 -1
  68. three/src/{nodes/materials → materials/nodes}/MeshPhongNodeMaterial.d.ts +2 -2
  69. three/src/{nodes/materials → materials/nodes}/MeshPhysicalNodeMaterial.d.ts +5 -2
  70. three/src/{nodes/materials → materials/nodes}/MeshSSSNodeMaterial.d.ts +2 -2
  71. three/src/{nodes/materials → materials/nodes}/MeshStandardNodeMaterial.d.ts +3 -3
  72. three/src/{nodes/materials → materials/nodes}/MeshToonNodeMaterial.d.ts +2 -2
  73. three/src/materials/nodes/NodeMaterial.d.ts +89 -0
  74. three/src/{nodes/materials/Materials.d.ts → materials/nodes/NodeMaterials.d.ts} +5 -2
  75. three/src/{nodes/materials → materials/nodes}/PointsNodeMaterial.d.ts +1 -2
  76. three/src/{nodes/materials → materials/nodes}/ShadowNodeMaterial.d.ts +1 -1
  77. three/src/{nodes/materials → materials/nodes}/SpriteNodeMaterial.d.ts +2 -2
  78. three/src/{nodes/materials → materials/nodes}/VolumeNodeMaterial.d.ts +1 -1
  79. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +81 -0
  80. three/src/math/Quaternion.d.ts +4 -3
  81. three/src/math/Triangle.d.ts +24 -0
  82. three/src/nodes/Nodes.d.ts +117 -362
  83. three/src/nodes/TSL.d.ts +175 -0
  84. three/src/nodes/accessors/AccessorsUtils.d.ts +1 -1
  85. three/src/nodes/accessors/BatchNode.d.ts +1 -2
  86. three/src/nodes/accessors/{BitangentNode.d.ts → Bitangent.d.ts} +1 -1
  87. three/src/nodes/accessors/BufferAttributeNode.d.ts +5 -4
  88. three/src/nodes/accessors/BufferNode.d.ts +1 -1
  89. three/src/nodes/accessors/{CameraNode.d.ts → Camera.d.ts} +1 -1
  90. three/src/nodes/accessors/ClippingNode.d.ts +1 -1
  91. three/src/nodes/accessors/CubeTextureNode.d.ts +1 -7
  92. three/src/nodes/accessors/InstanceNode.d.ts +1 -1
  93. three/src/nodes/accessors/MaterialNode.d.ts +3 -4
  94. three/src/nodes/accessors/MaterialProperties.d.ts +4 -0
  95. three/src/nodes/accessors/MaterialReferenceNode.d.ts +3 -1
  96. three/src/nodes/accessors/ModelNode.d.ts +8 -4
  97. three/src/nodes/accessors/ModelViewProjectionNode.d.ts +1 -1
  98. three/src/nodes/accessors/MorphNode.d.ts +15 -0
  99. three/src/nodes/accessors/Normal.d.ts +25 -0
  100. three/src/nodes/accessors/Object3DNode.d.ts +2 -6
  101. three/src/nodes/accessors/PointUVNode.d.ts +1 -1
  102. three/src/nodes/accessors/{PositionNode.d.ts → Position.d.ts} +2 -1
  103. three/src/nodes/accessors/ReferenceBaseNode.d.ts +27 -0
  104. three/src/nodes/accessors/ReferenceNode.d.ts +7 -5
  105. three/src/nodes/accessors/{ReflectVectorNode.d.ts → ReflectVector.d.ts} +1 -1
  106. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
  107. three/src/nodes/accessors/SceneNode.d.ts +20 -0
  108. three/src/nodes/accessors/SkinningNode.d.ts +11 -1
  109. three/src/nodes/accessors/StorageBufferNode.d.ts +2 -2
  110. three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
  111. three/src/nodes/accessors/{TangentNode.d.ts → Tangent.d.ts} +1 -1
  112. three/src/nodes/accessors/Texture3DNode.d.ts +1 -1
  113. three/src/nodes/accessors/TextureBicubic.d.ts +4 -0
  114. three/src/nodes/accessors/TextureNode.d.ts +26 -7
  115. three/src/nodes/accessors/TextureSizeNode.d.ts +18 -0
  116. three/src/nodes/accessors/{UVNode.d.ts → UV.d.ts} +1 -1
  117. three/src/nodes/accessors/UniformArrayNode.d.ts +30 -0
  118. three/src/nodes/accessors/UserDataNode.d.ts +1 -1
  119. three/src/nodes/accessors/VelocityNode.d.ts +16 -0
  120. three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
  121. three/src/nodes/code/CodeNode.d.ts +1 -1
  122. three/src/nodes/code/ExpressionNode.d.ts +1 -1
  123. three/src/nodes/code/FunctionCallNode.d.ts +2 -2
  124. three/src/nodes/code/FunctionNode.d.ts +5 -6
  125. three/src/nodes/code/ScriptableNode.d.ts +22 -0
  126. three/src/nodes/code/ScriptableValueNode.d.ts +10 -0
  127. three/src/nodes/core/AssignNode.d.ts +2 -2
  128. three/src/nodes/core/AttributeNode.d.ts +2 -5
  129. three/src/nodes/core/BypassNode.d.ts +2 -2
  130. three/src/nodes/core/CacheNode.d.ts +2 -2
  131. three/src/nodes/core/ContextNode.d.ts +10 -7
  132. three/src/nodes/core/IndexNode.d.ts +11 -3
  133. three/src/nodes/core/MRTNode.d.ts +7 -2
  134. three/src/nodes/core/Node.d.ts +4 -7
  135. three/src/nodes/core/NodeUtils.d.ts +5 -1
  136. three/src/nodes/core/OutputStructNode.d.ts +1 -1
  137. three/src/nodes/core/ParameterNode.d.ts +12 -0
  138. three/src/nodes/core/PropertyNode.d.ts +1 -1
  139. three/src/nodes/core/StackNode.d.ts +12 -2
  140. three/src/nodes/core/StructTypeNode.d.ts +1 -0
  141. three/src/nodes/core/UniformNode.d.ts +2 -1
  142. three/src/nodes/core/VarNode.d.ts +2 -10
  143. three/src/nodes/core/VaryingNode.d.ts +2 -2
  144. three/src/nodes/display/AfterImageNode.d.ts +1 -7
  145. three/src/nodes/display/AnaglyphPassNode.d.ts +14 -0
  146. three/src/nodes/display/AnamorphicNode.d.ts +1 -7
  147. three/src/nodes/display/BleachBypass.d.ts +4 -0
  148. three/src/nodes/display/BlendMode.d.ts +10 -0
  149. three/src/nodes/display/BloomNode.d.ts +1 -7
  150. three/src/nodes/display/BumpMapNode.d.ts +16 -0
  151. three/src/nodes/display/ColorAdjustment.d.ts +27 -0
  152. three/src/nodes/display/ColorSpaceFunctions.d.ts +6 -0
  153. three/src/nodes/display/ColorSpaceNode.d.ts +40 -21
  154. three/src/nodes/display/DenoiseNode.d.ts +3 -9
  155. three/src/nodes/display/DepthOfFieldNode.d.ts +4 -8
  156. three/src/nodes/display/DotScreenNode.d.ts +4 -8
  157. three/src/nodes/display/FXAANode.d.ts +3 -9
  158. three/src/nodes/display/FilmNode.d.ts +3 -9
  159. three/src/nodes/display/FrontFacingNode.d.ts +4 -2
  160. three/src/nodes/display/GTAONode.d.ts +3 -9
  161. three/src/nodes/display/GaussianBlurNode.d.ts +4 -8
  162. three/src/nodes/display/Lut3DNode.d.ts +3 -9
  163. three/src/nodes/display/MotionBlur.d.ts +8 -0
  164. three/src/nodes/display/NormalMapNode.d.ts +4 -8
  165. three/src/nodes/display/ParallaxBarrierPassNode.d.ts +14 -0
  166. three/src/nodes/display/PassNode.d.ts +11 -2
  167. three/src/nodes/display/PixelationPassNode.d.ts +1 -37
  168. three/src/nodes/display/PosterizeNode.d.ts +1 -7
  169. three/src/nodes/display/RGBShiftNode.d.ts +1 -7
  170. three/src/nodes/display/RenderOutputNode.d.ts +2 -2
  171. three/src/nodes/display/SSAAPassNode.d.ts +26 -0
  172. three/src/nodes/display/ScreenNode.d.ts +48 -0
  173. three/src/nodes/display/Sepia.d.ts +4 -0
  174. three/src/nodes/display/SobelOperatorNode.d.ts +4 -8
  175. three/src/nodes/display/StereoCompositePassNode.d.ts +17 -0
  176. three/src/nodes/display/StereoPassNode.d.ts +17 -0
  177. three/src/nodes/display/ToneMappingFunctions.d.ts +14 -0
  178. three/src/nodes/display/ToneMappingNode.d.ts +5 -6
  179. three/src/nodes/display/ToonOutlinePassNode.d.ts +24 -0
  180. three/src/nodes/display/TransitionNode.d.ts +3 -9
  181. three/src/nodes/display/ViewportDepthNode.d.ts +6 -2
  182. three/src/nodes/display/ViewportDepthTextureNode.d.ts +4 -2
  183. three/src/nodes/display/ViewportSharedTextureNode.d.ts +4 -8
  184. three/src/nodes/display/ViewportTextureNode.d.ts +4 -9
  185. three/src/nodes/fog/FogExp2Node.d.ts +4 -8
  186. three/src/nodes/fog/FogNode.d.ts +4 -8
  187. three/src/nodes/fog/FogRangeNode.d.ts +4 -8
  188. three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +1 -1
  189. three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +1 -1
  190. three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +1 -1
  191. three/src/nodes/functions/BSDF/DFGApprox.d.ts +1 -1
  192. three/src/nodes/functions/BSDF/D_GGX.d.ts +1 -1
  193. three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +1 -1
  194. three/src/nodes/functions/BSDF/F_Schlick.d.ts +1 -1
  195. three/src/nodes/functions/BSDF/Schlick_to_F0.d.ts +10 -0
  196. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +1 -1
  197. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +1 -1
  198. three/src/nodes/functions/ShadowMaskModel.d.ts +1 -1
  199. three/src/nodes/functions/material/getGeometryRoughness.d.ts +1 -1
  200. three/src/nodes/functions/material/getRoughness.d.ts +1 -1
  201. three/src/nodes/functions/material/getShIrradianceAt.d.ts +6 -0
  202. three/src/nodes/geometry/RangeNode.d.ts +1 -1
  203. three/src/nodes/gpgpu/ComputeNode.d.ts +2 -2
  204. three/src/nodes/lighting/AmbientLightNode.d.ts +8 -0
  205. three/src/nodes/lighting/DirectionalLightNode.d.ts +8 -0
  206. three/src/nodes/lighting/IESSpotLightNode.d.ts +5 -0
  207. three/src/nodes/lighting/LightNode.d.ts +18 -0
  208. three/src/nodes/lighting/LightProbeNode.d.ts +11 -0
  209. three/src/nodes/lighting/LightUtils.d.ts +3 -3
  210. three/src/nodes/lighting/LightingContextNode.d.ts +1 -7
  211. three/src/nodes/lighting/LightsNode.d.ts +9 -13
  212. three/src/nodes/materialx/MaterialXNodes.d.ts +1 -1
  213. three/src/nodes/materialx/lib/mx_hsv.d.ts +2 -2
  214. three/src/nodes/materialx/lib/mx_noise.d.ts +1 -1
  215. three/src/nodes/materialx/lib/mx_transform_color.d.ts +1 -1
  216. three/src/nodes/math/ConditionalNode.d.ts +39 -0
  217. three/src/nodes/math/Hash.d.ts +4 -0
  218. three/src/nodes/math/MathNode.d.ts +2 -2
  219. three/src/nodes/math/MathUtils.d.ts +0 -10
  220. three/src/nodes/math/OperatorNode.d.ts +18 -4
  221. three/src/nodes/math/TriNoise3D.d.ts +1 -1
  222. three/src/nodes/parsers/GLSLNodeFunction.d.ts +9 -0
  223. three/src/nodes/parsers/GLSLNodeParser.d.ts +8 -0
  224. three/src/nodes/pmrem/PMREMNode.d.ts +4 -2
  225. three/src/nodes/pmrem/PMREMUtils.d.ts +28 -0
  226. three/src/nodes/procedural/Checker.d.ts +4 -0
  227. three/src/nodes/tsl/TSLBase.d.ts +21 -0
  228. three/src/nodes/{shadernode/ShaderNode.d.ts → tsl/TSLCore.d.ts} +23 -23
  229. three/src/nodes/utils/CubeMapNode.d.ts +13 -0
  230. three/src/nodes/utils/Discard.d.ts +11 -0
  231. three/src/nodes/utils/EquirectUVNode.d.ts +1 -1
  232. three/src/nodes/utils/FunctionOverloadingNode.d.ts +13 -0
  233. three/src/nodes/utils/LoopNode.d.ts +22 -0
  234. three/src/nodes/utils/MatcapUVNode.d.ts +1 -1
  235. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
  236. three/src/nodes/utils/OscNode.d.ts +1 -1
  237. three/src/nodes/utils/Packing.d.ts +5 -0
  238. three/src/nodes/utils/RTTNode.d.ts +7 -7
  239. three/src/nodes/utils/ReflectorNode.d.ts +1 -1
  240. three/src/nodes/utils/RemapNode.d.ts +2 -2
  241. three/src/nodes/utils/RotateNode.d.ts +1 -7
  242. three/src/nodes/utils/SetNode.d.ts +11 -0
  243. three/src/nodes/utils/SplitNode.d.ts +1 -1
  244. three/src/nodes/utils/SpriteSheetUVNode.d.ts +1 -1
  245. three/src/nodes/utils/SpriteUtils.d.ts +6 -0
  246. three/src/nodes/utils/{StoargeArrayElementNode.d.ts → StorageArrayElementNode.d.ts} +1 -7
  247. three/src/nodes/utils/TimerNode.d.ts +1 -1
  248. three/src/nodes/utils/TriplanarTexturesNode.d.ts +1 -7
  249. three/src/nodes/utils/UVUtils.d.ts +14 -0
  250. three/src/nodes/utils/ViewportUtils.d.ts +4 -0
  251. three/src/objects/BatchedMesh.d.ts +33 -0
  252. three/src/objects/Group.d.ts +0 -6
  253. three/src/objects/LOD.d.ts +7 -0
  254. three/src/renderers/WebGLRenderer.d.ts +2 -12
  255. three/src/renderers/common/BindGroup.d.ts +8 -1
  256. three/src/renderers/common/Bindings.d.ts +2 -2
  257. three/src/renderers/common/BundleGroup.d.ts +10 -0
  258. three/src/renderers/common/ClippingContext.d.ts +1 -0
  259. three/src/renderers/common/QuadMesh.d.ts +2 -0
  260. three/src/renderers/common/RenderBundles.d.ts +3 -3
  261. three/src/renderers/common/RenderContext.d.ts +2 -0
  262. three/src/renderers/common/RenderContexts.d.ts +6 -4
  263. three/src/renderers/common/RenderList.d.ts +2 -1
  264. three/src/renderers/common/RenderObject.d.ts +19 -1
  265. three/src/renderers/common/RenderObjects.d.ts +1 -1
  266. three/src/renderers/common/Renderer.d.ts +24 -5
  267. three/src/renderers/common/SampledTexture.d.ts +7 -1
  268. three/src/renderers/common/Textures.d.ts +1 -0
  269. three/src/renderers/common/nodes/NodeBuilderState.d.ts +3 -2
  270. three/src/renderers/common/nodes/NodeLibrary.d.ts +56 -0
  271. three/src/renderers/common/nodes/NodeSampledTexture.d.ts +3 -3
  272. three/src/renderers/common/nodes/Nodes.d.ts +15 -9
  273. three/src/renderers/common/nodes/StandardNodeLibrary.d.ts +5 -0
  274. three/src/renderers/webgl/WebGLCapabilities.d.ts +13 -0
  275. three/src/renderers/webgl/WebGLPrograms.d.ts +1 -0
  276. three/src/renderers/webgl/WebGLProperties.d.ts +5 -4
  277. three/src/renderers/webgpu/WebGPUBackend.d.ts +6 -2
  278. three/src/renderers/webgpu/WebGPURenderer.Nodes.d.ts +12 -0
  279. three/src/renderers/webgpu/WebGPURenderer.d.ts +5 -1
  280. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +5 -0
  281. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +5 -0
  282. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +2 -2
  283. three/src/renderers/webxr/WebXRManager.d.ts +0 -2
  284. three/examples/jsm/geometries/SDFGeometryGenerator.d.ts +0 -16
  285. three/examples/jsm/loaders/LogLuvLoader.d.ts +0 -19
  286. three/examples/jsm/loaders/TiltLoader.d.ts +0 -7
  287. three/examples/jsm/utils/GPUStatsPanel.d.ts +0 -12
  288. three/examples/jsm/utils/PackedPhongMaterial.d.ts +0 -10
  289. three/src/nodes/accessors/NormalNode.d.ts +0 -12
  290. three/src/nodes/accessors/TextureBicubicNode.d.ts +0 -18
  291. three/src/nodes/accessors/UniformsNode.d.ts +0 -23
  292. three/src/nodes/core/NodeKeywords.d.ts +0 -17
  293. three/src/nodes/display/BlendModeNode.d.ts +0 -47
  294. three/src/nodes/display/ColorAdjustmentNode.d.ts +0 -47
  295. three/src/nodes/display/ViewportNode.d.ts +0 -31
  296. three/src/nodes/loaders/NodeMaterialLoader.d.ts +0 -8
  297. three/src/nodes/loaders/NodeObjectLoader.d.ts +0 -10
  298. three/src/nodes/materials/NodeMaterial.d.ts +0 -124
  299. three/src/nodes/math/CondNode.d.ts +0 -22
  300. three/src/nodes/math/HashNode.d.ts +0 -16
  301. three/src/nodes/procedural/CheckerNode.d.ts +0 -15
  302. three/src/nodes/utils/DiscardNode.d.ts +0 -17
  303. three/src/nodes/utils/PackingNode.d.ts +0 -24
  304. three/src/nodes/utils/RotateUVNode.d.ts +0 -19
@@ -0,0 +1,175 @@
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 * from "./utils/EquirectUVNode.js";
27
+ export * from "./utils/FunctionOverloadingNode.js";
28
+ export * from "./utils/LoopNode.js";
29
+ export * from "./utils/MatcapUVNode.js";
30
+ export * from "./utils/MaxMipLevelNode.js";
31
+ export * from "./utils/OscNode.js";
32
+ export * from "./utils/Packing.js";
33
+ export * from "./utils/ReflectorNode.js";
34
+ export * from "./utils/RemapNode.js";
35
+ export * from "./utils/RotateNode.js";
36
+ export * from "./utils/RTTNode.js";
37
+ export * from "./utils/SpriteSheetUVNode.js";
38
+ export * from "./utils/SpriteUtils.js";
39
+ export * from "./utils/TimerNode.js";
40
+ export * from "./utils/TriplanarTexturesNode.js";
41
+ export * from "./utils/UVUtils.js";
42
+ export * from "./utils/ViewportUtils.js";
43
+
44
+ // three.js shading language
45
+ export * from "./tsl/TSLBase.js";
46
+
47
+ // accessors
48
+ export * from "./accessors/AccessorsUtils.js";
49
+ export * from "./accessors/BatchNode.js";
50
+ export * from "./accessors/Bitangent.js";
51
+ export * from "./accessors/BufferAttributeNode.js";
52
+ export * from "./accessors/BufferNode.js";
53
+ export * from "./accessors/Camera.js";
54
+ export * from "./accessors/CubeTextureNode.js";
55
+ export * from "./accessors/InstanceNode.js";
56
+ export * from "./accessors/MaterialNode.js";
57
+ export * from "./accessors/MaterialProperties.js";
58
+ export * from "./accessors/MaterialReferenceNode.js";
59
+ export * from "./accessors/ModelNode.js";
60
+ export * from "./accessors/ModelViewProjectionNode.js";
61
+ export * from "./accessors/MorphNode.js";
62
+ export * from "./accessors/Normal.js";
63
+ export * from "./accessors/Object3DNode.js";
64
+ export * from "./accessors/PointUVNode.js";
65
+ export * from "./accessors/Position.js";
66
+ export * from "./accessors/ReferenceNode.js";
67
+ export * from "./accessors/ReflectVector.js";
68
+ export * from "./accessors/RendererReferenceNode.js";
69
+ export * from "./accessors/SceneNode.js";
70
+ export * from "./accessors/SkinningNode.js";
71
+ export * from "./accessors/StorageBufferNode.js";
72
+ export * from "./accessors/StorageTextureNode.js";
73
+ export * from "./accessors/Tangent.js";
74
+ export * from "./accessors/Texture3DNode.js";
75
+ export * from "./accessors/TextureBicubic.js";
76
+ export * from "./accessors/TextureNode.js";
77
+ export * from "./accessors/TextureSizeNode.js";
78
+ export * from "./accessors/UniformArrayNode.js";
79
+ export * from "./accessors/UserDataNode.js";
80
+ export * from "./accessors/UV.js";
81
+ export * from "./accessors/VelocityNode.js";
82
+ export * from "./accessors/VertexColorNode.js";
83
+
84
+ // display
85
+ export * from "./display/AfterImageNode.js";
86
+ export * from "./display/AnaglyphPassNode.js";
87
+ export * from "./display/AnamorphicNode.js";
88
+ export * from "./display/BleachBypass.js";
89
+ export * from "./display/BlendMode.js";
90
+ export * from "./display/BloomNode.js";
91
+ export * from "./display/BumpMapNode.js";
92
+ export * from "./display/ColorAdjustment.js";
93
+ export * from "./display/ColorSpaceNode.js";
94
+ export * from "./display/DenoiseNode.js";
95
+ export * from "./display/DepthOfFieldNode.js";
96
+ export * from "./display/DotScreenNode.js";
97
+ export * from "./display/FilmNode.js";
98
+ export * from "./display/FrontFacingNode.js";
99
+ export * from "./display/FXAANode.js";
100
+ export * from "./display/GaussianBlurNode.js";
101
+ export * from "./display/GTAONode.js";
102
+ export * from "./display/Lut3DNode.js";
103
+ export * from "./display/MotionBlur.js";
104
+ export * from "./display/NormalMapNode.js";
105
+ export * from "./display/ParallaxBarrierPassNode.js";
106
+ export * from "./display/PixelationPassNode.js";
107
+ export * from "./display/PosterizeNode.js";
108
+ export * from "./display/RenderOutputNode.js";
109
+ export * from "./display/RGBShiftNode.js";
110
+ export * from "./display/ScreenNode.js";
111
+ export * from "./display/Sepia.js";
112
+ export * from "./display/SobelOperatorNode.js";
113
+ export * from "./display/SSAAPassNode.js";
114
+ export * from "./display/StereoPassNode.js";
115
+ export * from "./display/ToneMappingNode.js";
116
+ export * from "./display/ToonOutlinePassNode.js";
117
+ export * from "./display/TransitionNode.js";
118
+ export * from "./display/ViewportDepthNode.js";
119
+ export * from "./display/ViewportDepthTextureNode.js";
120
+ export * from "./display/ViewportSharedTextureNode.js";
121
+ export * from "./display/ViewportTextureNode.js";
122
+
123
+ export * from "./display/PassNode.js";
124
+
125
+ export * from "./display/ColorSpaceFunctions.js";
126
+ export * from "./display/ToneMappingFunctions.js";
127
+
128
+ // code
129
+ export * from "./code/CodeNode.js";
130
+ export * from "./code/ExpressionNode.js";
131
+ export * from "./code/FunctionCallNode.js";
132
+ export * from "./code/FunctionNode.js";
133
+ export * from "./code/ScriptableNode.js";
134
+ export * from "./code/ScriptableValueNode.js";
135
+
136
+ // fog
137
+ export * from "./fog/FogExp2Node.js";
138
+ export * from "./fog/FogNode.js";
139
+ export * from "./fog/FogRangeNode.js";
140
+
141
+ // geometry
142
+ export * from "./geometry/RangeNode.js";
143
+
144
+ // gpgpu
145
+ export * from "./gpgpu/ComputeNode.js";
146
+
147
+ // lighting
148
+ export * from "./lighting/LightingContextNode.js";
149
+ export * from "./lighting/LightNode.js";
150
+ export * from "./lighting/LightsNode.js";
151
+
152
+ // pmrem
153
+ export * from "./pmrem/PMREMNode.js";
154
+ export * from "./pmrem/PMREMUtils.js";
155
+
156
+ // procedural
157
+ export * from "./procedural/Checker.js";
158
+
159
+ // materialX
160
+ export * from "./materialx/MaterialXNodes.js";
161
+
162
+ // functions
163
+ export { default as BRDF_GGX } from "./functions/BSDF/BRDF_GGX.js";
164
+ export { default as BRDF_Lambert } from "./functions/BSDF/BRDF_Lambert.js";
165
+ export { default as D_GGX } from "./functions/BSDF/D_GGX.js";
166
+ export { default as DFGApprox } from "./functions/BSDF/DFGApprox.js";
167
+ export { default as F_Schlick } from "./functions/BSDF/F_Schlick.js";
168
+ export { default as Schlick_to_F0 } from "./functions/BSDF/Schlick_to_F0.js";
169
+ export { default as V_GGX_SmithCorrelated } from "./functions/BSDF/V_GGX_SmithCorrelated.js";
170
+
171
+ export * from "./lighting/LightUtils.js";
172
+
173
+ export { default as getGeometryRoughness } from "./functions/material/getGeometryRoughness.js";
174
+ export { default as getRoughness } from "./functions/material/getRoughness.js";
175
+ export { default as getShIrradianceAt } from "./functions/material/getShIrradianceAt.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>;
@@ -5,6 +5,7 @@ import { InterleavedBufferAttribute } from "../../core/InterleavedBufferAttribut
5
5
  import InputNode from "../core/InputNode.js";
6
6
  import NodeBuilder from "../core/NodeBuilder.js";
7
7
  declare class BufferAttributeNode extends InputNode<TypedArray | InterleavedBuffer | BufferAttribute> {
8
+ static get type(): string;
8
9
  readonly isBufferNode: true;
9
10
  bufferType: string | null;
10
11
  bufferStride: number;
@@ -32,22 +33,22 @@ export declare const bufferAttribute: (
32
33
  type?: string | null,
33
34
  stride?: number,
34
35
  offset?: number,
35
- ) => import("../shadernode/ShaderNode.js").ShaderNodeObject<BufferAttributeNode>;
36
+ ) => import("../tsl/TSLCore.js").ShaderNodeObject<BufferAttributeNode>;
36
37
  export declare const dynamicBufferAttribute: (
37
38
  array: TypedArray | InterleavedBuffer | BufferAttribute,
38
39
  type?: string | null,
39
40
  stride?: number,
40
41
  offset?: number,
41
- ) => import("../shadernode/ShaderNode.js").ShaderNodeObject<BufferAttributeNode>;
42
+ ) => import("../tsl/TSLCore.js").ShaderNodeObject<BufferAttributeNode>;
42
43
  export declare const instancedBufferAttribute: (
43
44
  array: TypedArray | InterleavedBuffer | BufferAttribute,
44
45
  type?: string | null,
45
46
  stride?: number,
46
47
  offset?: number,
47
- ) => import("../shadernode/ShaderNode.js").ShaderNodeObject<BufferAttributeNode>;
48
+ ) => import("../tsl/TSLCore.js").ShaderNodeObject<BufferAttributeNode>;
48
49
  export declare const instancedDynamicBufferAttribute: (
49
50
  array: TypedArray | InterleavedBuffer | BufferAttribute,
50
51
  type?: string | null,
51
52
  stride?: number,
52
53
  offset?: number,
53
- ) => import("../shadernode/ShaderNode.js").ShaderNodeObject<BufferAttributeNode>;
54
+ ) => 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>;
@@ -126,5 +126,4 @@ export const materialPointWidth: ShaderNodeObject<MaterialNode>;
126
126
  export const materialDispersion: ShaderNodeObject<MaterialNode>;
127
127
  export const materialLightMap: ShaderNodeObject<MaterialNode>;
128
128
  export const materialAOMap: ShaderNodeObject<MaterialNode>;
129
- export const materialRefractionRatio: ShaderNodeObject<MaterialNode>;
130
129
  export const materialAnisotropyVector: ShaderNodeObject<UniformNode<Vector2>>;
@@ -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,20 +1,24 @@
1
1
  import { Matrix4 } from "../../math/Matrix4.js";
2
+ import Node from "../core/Node.js";
2
3
  import { UniformNode } from "../Nodes.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
4
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
5
  import Object3DNode from "./Object3DNode.js";
5
6
 
6
7
  /**
7
8
  * Similar to {@link Object3DNode} but the object comes from {@link NodeFrame}
8
9
  */
9
10
  export default class ModelNode extends Object3DNode {
10
- constructor(scope?: string);
11
+ constructor(scope: string);
11
12
  }
12
13
 
13
14
  export const modelDirection: ShaderNodeObject<ModelNode>;
14
- export const modelViewMatrix: ShaderNodeObject<ModelNode>;
15
- export const modelNormalMatrix: ShaderNodeObject<ModelNode>;
16
15
  export const modelWorldMatrix: ShaderNodeObject<ModelNode>;
17
16
  export const modelPosition: ShaderNodeObject<ModelNode>;
18
17
  export const modelScale: ShaderNodeObject<ModelNode>;
19
18
  export const modelViewPosition: ShaderNodeObject<ModelNode>;
19
+ export const modelNormalMatrix: ShaderNodeObject<Node>;
20
20
  export const modelWorldMatrixInverse: ShaderNodeObject<UniformNode<Matrix4>>;
21
+ export const modelViewMatrix: ShaderNodeObject<ModelNode>;
22
+
23
+ export const highPrecisionModelViewMatrix: ShaderNodeObject<Node>;
24
+ export const highPrecisionModelNormalViewMatrix: ShaderNodeObject<Node>;
@@ -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>;
@@ -0,0 +1,25 @@
1
+ import { Matrix4 } from "../../math/Matrix4.js";
2
+ import AttributeNode from "../core/AttributeNode.js";
3
+ import Node from "../core/Node.js";
4
+ import VarNode from "../core/VarNode.js";
5
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
6
+
7
+ export const normalGeometry: ShaderNodeObject<AttributeNode>;
8
+
9
+ export const normalLocal: ShaderNodeObject<VarNode>;
10
+
11
+ export const normalFlat: ShaderNodeObject<VarNode>;
12
+
13
+ export const normalView: ShaderNodeObject<VarNode>;
14
+
15
+ export const normalWorld: ShaderNodeObject<VarNode>;
16
+
17
+ export const transformedNormalView: ShaderNodeObject<VarNode>;
18
+
19
+ export const transformedNormalWorld: ShaderNodeObject<VarNode>;
20
+
21
+ export const transformedClearcoatNormalView: ShaderNodeObject<VarNode>;
22
+
23
+ export const transformNormal: (normal: Node, matrix?: Node) => ShaderNodeObject<Node>;
24
+
25
+ export const transformNormalToView: (normal: Node) => ShaderNodeObject<Node>;
@@ -1,15 +1,13 @@
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;
7
7
  object3d: Object3D | null;
8
8
 
9
- constructor(scope?: string, object3d?: Object3D | null);
9
+ constructor(scope: string, object3d?: Object3D | null);
10
10
 
11
- static VIEW_MATRIX: "viewMatrix";
12
- static NORMAL_MATRIX: "normalMatrix";
13
11
  static WORLD_MATRIX: "worldMatrix";
14
12
  static POSITION: "position";
15
13
  static SCALE: "scale";
@@ -18,8 +16,6 @@ export default class Object3DNode extends Node {
18
16
  }
19
17
 
20
18
  export const objectDirection: (object3d: Object3D) => ShaderNodeObject<Object3DNode>;
21
- export const objectViewMatrix: (object3d: Object3D) => ShaderNodeObject<Object3DNode>;
22
- export const objectNormalMatrix: (object3d: Object3D) => ShaderNodeObject<Object3DNode>;
23
19
  export const objectWorldMatrix: (object3d: Object3D) => ShaderNodeObject<Object3DNode>;
24
20
  export const objectPosition: (object3d: Object3D) => ShaderNodeObject<Object3DNode>;
25
21
  export const objectScale: (object3d: Object3D) => ShaderNodeObject<Object3DNode>;
@@ -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 {
@@ -2,7 +2,7 @@ import { GPUStorageTextureAccess } from "../../renderers/webgpu/utils/WebGPUCons
2
2
  import { Texture } from "../../textures/Texture.js";
3
3
  import Node from "../core/Node.js";
4
4
  import NodeBuilder from "../core/NodeBuilder.js";
5
- import { NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
5
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
6
6
  import TextureNode from "./TextureNode.js";
7
7
 
8
8
  export default class StorageTextureNode extends TextureNode {
@@ -2,7 +2,7 @@ import AttributeNode from "../core/AttributeNode.js";
2
2
  import VarNode from "../core/VarNode.js";
3
3
  import VaryingNode from "../core/VaryingNode.js";
4
4
  import MathNode from "../math/MathNode.js";
5
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
5
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
6
6
 
7
7
  export const tangentGeometry: ShaderNodeObject<AttributeNode>;
8
8
  export const tangentLocal: ShaderNodeObject<VaryingNode>;
@@ -1,7 +1,7 @@
1
1
  import { CubeTexture } from "../../textures/CubeTexture.js";
2
2
  import { Texture } from "../../textures/Texture.js";
3
3
  import Node from "../core/Node.js";
4
- import { NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
4
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
5
5
  import TextureNode from "./TextureNode.js";
6
6
 
7
7
  export default class Texture3DNode extends TextureNode {
@@ -0,0 +1,4 @@
1
+ import Node from "../core/Node.js";
2
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
3
+
4
+ export const textureBicubic: (textureNode: Node, lodNode?: NodeRepresentation) => ShaderNodeObject<Node>;