@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,48 @@
1
+ import Node from "../core/Node.js";
2
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
+
4
+ export type ScreenNodeScope =
5
+ | typeof ScreenNode.COORDINATE
6
+ | typeof ScreenNode.VIEWPORT
7
+ | typeof ScreenNode.SIZE
8
+ | typeof ScreenNode.UV;
9
+
10
+ declare class ScreenNode extends Node {
11
+ scope: ScreenNodeScope;
12
+
13
+ readonly isViewportNode: true;
14
+
15
+ constructor(scope: ScreenNodeScope);
16
+
17
+ static COORDINATE: "coordinate";
18
+ static VIEWPORT: "viewport";
19
+ static SIZE: "size";
20
+ static UV: "uv";
21
+ }
22
+
23
+ export default ScreenNode;
24
+
25
+ // Screen
26
+
27
+ export const screenUV: ShaderNodeObject<ScreenNode>;
28
+ export const screenSize: ShaderNodeObject<ScreenNode>;
29
+ export const screenCoordinate: ShaderNodeObject<ScreenNode>;
30
+
31
+ // Viewport
32
+
33
+ export const viewport: ShaderNodeObject<ScreenNode>;
34
+ export const viewportSize: ShaderNodeObject<Node>;
35
+ export const viewportCoordinate: ShaderNodeObject<Node>;
36
+ export const viewportUV: ShaderNodeObject<Node>;
37
+
38
+ // Deprecated
39
+
40
+ /**
41
+ * @deprecated "viewportTopLeft" is deprecated. Use "viewportUV" instead.
42
+ */
43
+ export const viewportTopLeft: ShaderNodeObject<ScreenNode>;
44
+
45
+ /**
46
+ * @deprecated "viewportBottomLeft" is deprecated. Use "viewportUV.flipY()" instead.
47
+ */
48
+ export const viewportBottomLeft: ShaderNodeObject<ScreenNode>;
@@ -0,0 +1,4 @@
1
+ import Node from "../core/Node.js";
2
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
3
+
4
+ export const sepia: (color: NodeRepresentation) => ShaderNodeObject<Node>;
@@ -1,17 +1,13 @@
1
1
  import TextureNode from "../accessors/TextureNode.js";
2
2
  import TempNode from "../core/TempNode.js";
3
- import { NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
3
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
4
4
 
5
- export default class SobelOperatorNode extends TempNode {
5
+ declare class SobelOperatorNode extends TempNode {
6
6
  textureNode: TextureNode;
7
7
 
8
8
  constructor(textureNode: TextureNode);
9
9
  }
10
10
 
11
- export const sobel: (node: NodeRepresentation) => ShaderNodeObject<SobelOperatorNode>;
11
+ export default SobelOperatorNode;
12
12
 
13
- declare module "../shadernode/ShaderNode.js" {
14
- interface NodeElements {
15
- sobel: typeof sobel;
16
- }
17
- }
13
+ export const sobel: (node: NodeRepresentation) => ShaderNodeObject<SobelOperatorNode>;
@@ -0,0 +1,17 @@
1
+ import { Camera } from "../../cameras/Camera.js";
2
+ import { StereoCamera } from "../../cameras/StereoCamera.js";
3
+ import { CoordinateSystem } from "../../constants.js";
4
+ import { Scene } from "../../scenes/Scene.js";
5
+ import PassNode from "./PassNode.js";
6
+
7
+ declare class StereoCompositePassNode extends PassNode {
8
+ readonly isStereoCompositePassNode: true;
9
+
10
+ stereo: StereoCamera;
11
+
12
+ constructor(scene: Scene, camera: Camera);
13
+
14
+ updateStereoCamera(coordinateSystem: CoordinateSystem): void;
15
+ }
16
+
17
+ export default StereoCompositePassNode;
@@ -0,0 +1,17 @@
1
+ import { Camera } from "../../cameras/Camera.js";
2
+ import { StereoCamera } from "../../cameras/StereoCamera.js";
3
+ import { Scene } from "../../scenes/Scene.js";
4
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
5
+ import PassNode from "./PassNode.js";
6
+
7
+ declare class StereoPassNode extends PassNode {
8
+ readonly isStereoPassNode: true;
9
+
10
+ stereo: StereoCamera;
11
+
12
+ constructor(scene: Scene, camera: Camera);
13
+ }
14
+
15
+ export default StereoPassNode;
16
+
17
+ export const stereoPass: (scene: Scene, camera: Camera) => ShaderNodeObject<StereoPassNode>;
@@ -0,0 +1,14 @@
1
+ import Node from "../core/Node.js";
2
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
3
+
4
+ export const linearToneMapping: (color: NodeRepresentation, exposure: NodeRepresentation) => ShaderNodeObject<Node>;
5
+
6
+ export const reinhardToneMapping: (color: NodeRepresentation, exposure: NodeRepresentation) => ShaderNodeObject<Node>;
7
+
8
+ export const cineonToneMapping: (color: NodeRepresentation, exposure: NodeRepresentation) => ShaderNodeObject<Node>;
9
+
10
+ export const acesFilmicToneMapping: (color: NodeRepresentation, exposure: NodeRepresentation) => ShaderNodeObject<Node>;
11
+
12
+ export const agxToneMapping: (color: NodeRepresentation, exposure: NodeRepresentation) => ShaderNodeObject<Node>;
13
+
14
+ export const neutralToneMapping: (color: NodeRepresentation, exposure: NodeRepresentation) => ShaderNodeObject<Node>;
@@ -2,12 +2,9 @@ import { ToneMapping } from "../../constants.js";
2
2
  import RendererReferenceNode from "../accessors/RendererReferenceNode.js";
3
3
  import Node from "../core/Node.js";
4
4
  import TempNode from "../core/TempNode.js";
5
- import { NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
5
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
6
6
 
7
- // exposure only
8
- export const LinearToneMappingNode: Node;
9
-
10
- export default class ToneMappingNode extends TempNode {
7
+ declare class ToneMappingNode extends TempNode {
11
8
  toneMapping: ToneMapping;
12
9
  exposureNode: Node;
13
10
  colorNode: Node | null;
@@ -15,6 +12,8 @@ export default class ToneMappingNode extends TempNode {
15
12
  constructor(toneMapping: ToneMapping, exposureNode?: Node, colorNode?: Node | null);
16
13
  }
17
14
 
15
+ export default ToneMappingNode;
16
+
18
17
  export const toneMapping: (
19
18
  mapping: ToneMapping,
20
19
  exposure: NodeRepresentation,
@@ -22,7 +21,7 @@ export const toneMapping: (
22
21
  ) => ShaderNodeObject<ToneMappingNode>;
23
22
  export const toneMappingExposure: ShaderNodeObject<RendererReferenceNode>;
24
23
 
25
- declare module "../shadernode/ShaderNode.js" {
24
+ declare module "../tsl/TSLCore.js" {
26
25
  interface NodeElements {
27
26
  toneMapping: (
28
27
  color: NodeRepresentation,
@@ -0,0 +1,24 @@
1
+ import { Camera } from "../../cameras/Camera.js";
2
+ import { Color } from "../../math/Color.js";
3
+ import { Scene } from "../../scenes/Scene.js";
4
+ import Node from "../core/Node.js";
5
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
6
+ import PassNode from "./PassNode.js";
7
+
8
+ declare class ToonOutlinePassNode extends PassNode {
9
+ colorNode: Node;
10
+ thicknessNode: Node;
11
+ alphaNode: Node;
12
+
13
+ constructor(scene: Scene, camera: Camera, colorNode: Node, thicknessNode: Node, alphaNode: Node);
14
+ }
15
+
16
+ export default ToonOutlinePassNode;
17
+
18
+ export const toonOutlinePass: (
19
+ scene: Scene,
20
+ camera: Camera,
21
+ color?: Color,
22
+ thickness?: number,
23
+ alpha?: number,
24
+ ) => ShaderNodeObject<ToonOutlinePassNode>;
@@ -2,7 +2,7 @@ import TextureNode from "../accessors/TextureNode.js";
2
2
  import Node from "../core/Node.js";
3
3
  import TempNode from "../core/TempNode.js";
4
4
  import UniformNode from "../core/UniformNode.js";
5
- import { NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
5
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
6
6
 
7
7
  declare class TransitionNode extends TempNode {
8
8
  textureNodeA: TextureNode;
@@ -23,6 +23,8 @@ declare class TransitionNode extends TempNode {
23
23
  );
24
24
  }
25
25
 
26
+ export default TransitionNode;
27
+
26
28
  export const transition: (
27
29
  node: NodeRepresentation,
28
30
  nodeB: NodeRepresentation,
@@ -31,11 +33,3 @@ export const transition: (
31
33
  threshold: UniformNode<number>,
32
34
  useTexture: UniformNode<number>,
33
35
  ) => ShaderNodeObject<TransitionNode>;
34
-
35
- declare module "../shadernode/ShaderNode.js" {
36
- interface NodeElements {
37
- transition: typeof transition;
38
- }
39
- }
40
-
41
- export default TransitionNode;
@@ -1,7 +1,7 @@
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
- export default class ViewportDepthNode extends Node {
4
+ declare class ViewportDepthNode extends Node {
5
5
  scope: ViewportDepthNodeScope;
6
6
  valueNode: Node;
7
7
 
@@ -9,14 +9,18 @@ export default class ViewportDepthNode extends Node {
9
9
 
10
10
  constructor(scope: ViewportDepthNodeScope, valueNode?: Node | null);
11
11
 
12
+ static DEPTH_BASE: "depthBase";
12
13
  static DEPTH: "depth";
13
14
  static LINEAR_DEPTH: "linearDepth";
14
15
  }
15
16
 
16
17
  export type ViewportDepthNodeScope =
18
+ | typeof ViewportDepthNode.DEPTH_BASE
17
19
  | typeof ViewportDepthNode.DEPTH
18
20
  | typeof ViewportDepthNode.LINEAR_DEPTH;
19
21
 
22
+ export default ViewportDepthNode;
23
+
20
24
  export const viewZToOrthographicDepth: (viewZ: Node, near: Node, far: Node) => Node;
21
25
 
22
26
  export const orthographicDepthToViewZ: (depth: Node, near: Node, far: Node) => Node;
@@ -1,11 +1,13 @@
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
  import ViewportTextureNode from "./ViewportTextureNode.js";
4
4
 
5
- export default class ViewportDepthTextureNode extends ViewportTextureNode {
5
+ declare class ViewportDepthTextureNode extends ViewportTextureNode {
6
6
  constructor(uvNode?: Node, levelNode?: Node | null);
7
7
  }
8
8
 
9
+ export default ViewportDepthTextureNode;
10
+
9
11
  export const viewportDepthTexture: (
10
12
  uvNode?: NodeRepresentation,
11
13
  levelNode?: NodeRepresentation,
@@ -1,18 +1,14 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
  import ViewportTextureNode from "./ViewportTextureNode.js";
4
4
 
5
- export default class ViewportSharedTextureNode extends ViewportTextureNode {
5
+ declare class ViewportSharedTextureNode extends ViewportTextureNode {
6
6
  constructor(uvNode?: Node, levelNode?: Node | null);
7
7
  }
8
8
 
9
+ export default ViewportSharedTextureNode;
10
+
9
11
  export const viewportSharedTexture: (
10
12
  uvNode?: Node,
11
13
  levelNode?: Node | null,
12
14
  ) => ShaderNodeObject<ViewportSharedTextureNode>;
13
-
14
- declare module "../shadernode/ShaderNode.js" {
15
- interface NodeElements {
16
- viewportSharedTexture: typeof viewportSharedTexture;
17
- }
18
- }
@@ -2,9 +2,9 @@ import { FramebufferTexture } from "../../textures/FramebufferTexture.js";
2
2
  import TextureNode from "../accessors/TextureNode.js";
3
3
  import { NodeUpdateType } from "../core/constants.js";
4
4
  import Node from "../core/Node.js";
5
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
5
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
6
6
 
7
- export default class ViewportTextureNode extends TextureNode {
7
+ declare class ViewportTextureNode extends TextureNode {
8
8
  generateMipmaps: boolean;
9
9
 
10
10
  readonly isOutputTextureNode: true;
@@ -14,6 +14,8 @@ export default class ViewportTextureNode extends TextureNode {
14
14
  constructor(uvNode?: Node, levelNode?: Node | null, framebufferTexture?: FramebufferTexture | null);
15
15
  }
16
16
 
17
+ export default ViewportTextureNode;
18
+
17
19
  export const viewportTexture: (
18
20
  uvNode?: Node,
19
21
  levelNode?: Node | null,
@@ -24,10 +26,3 @@ export const viewportMipTexture: (
24
26
  levelNode?: Node | null,
25
27
  framebufferTexture?: FramebufferTexture | null,
26
28
  ) => ShaderNodeObject<Node>;
27
-
28
- declare module "../shadernode/ShaderNode.js" {
29
- interface NodeElements {
30
- viewportTexture: typeof viewportTexture;
31
- viewportMipTexture: typeof viewportMipTexture;
32
- }
33
- }
@@ -1,18 +1,14 @@
1
1
  import Node from "../core/Node.js";
2
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
3
3
  import FogNode from "./FogNode.js";
4
4
 
5
- export default class FogExp2Node extends FogNode {
5
+ declare class FogExp2Node extends FogNode {
6
6
  isFogExp2Node: true;
7
7
  densityNode: Node;
8
8
 
9
9
  constructor(colorNode: Node, densityNode: Node);
10
10
  }
11
11
 
12
- export const densityFog: (colorNode: Node, densityNode: Node) => ShaderNodeObject<FogExp2Node>;
12
+ export default FogExp2Node;
13
13
 
14
- declare module "../shadernode/ShaderNode.js" {
15
- interface NodeElements {
16
- densityFog: typeof densityFog;
17
- }
18
- }
14
+ export const densityFog: (colorNode: Node, densityNode: Node) => ShaderNodeObject<FogExp2Node>;
@@ -1,8 +1,8 @@
1
1
  import Node from "../core/Node.js";
2
2
  import NodeBuilder from "../core/NodeBuilder.js";
3
- import { NodeRepresentation, ShaderNodeObject } from "../shadernode/ShaderNode.js";
3
+ import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
4
4
 
5
- export default class FogNode extends Node {
5
+ declare class FogNode extends Node {
6
6
  isFogNode: true;
7
7
  colorNode: Node | null;
8
8
  factorNode: Node | null;
@@ -12,13 +12,9 @@ export default class FogNode extends Node {
12
12
  getViewZNode(builder: NodeBuilder): Node;
13
13
  }
14
14
 
15
+ export default FogNode;
16
+
15
17
  export const fog: (
16
18
  colorNode: NodeRepresentation | null,
17
19
  factorNode: NodeRepresentation | null,
18
20
  ) => ShaderNodeObject<FogNode>;
19
-
20
- declare module "../shadernode/ShaderNode.js" {
21
- interface NodeElements {
22
- fog: typeof fog;
23
- }
24
- }
@@ -1,8 +1,8 @@
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
  import FogNode from "./FogNode.js";
4
4
 
5
- export default class FogRangeNode extends FogNode {
5
+ declare class FogRangeNode extends FogNode {
6
6
  isFogRangeNode: true;
7
7
  nearNode: Node | null;
8
8
  farNode: Node | null;
@@ -10,14 +10,10 @@ export default class FogRangeNode extends FogNode {
10
10
  constructor(colorNode: Node | null, nearNode: Node | null, farNode: Node | null);
11
11
  }
12
12
 
13
+ export default FogRangeNode;
14
+
13
15
  export const rangeFog: (
14
16
  colorNode: NodeRepresentation | null,
15
17
  nearNode: NodeRepresentation | null,
16
18
  farNode: NodeRepresentation | null,
17
19
  ) => ShaderNodeObject<FogRangeNode>;
18
-
19
- declare module "../shadernode/ShaderNode.js" {
20
- interface NodeElements {
21
- rangeFog: typeof rangeFog;
22
- }
23
- }
@@ -1,6 +1,6 @@
1
1
  import Node from "../../core/Node.js";
2
2
  import OperatorNode from "../../math/OperatorNode.js";
3
- import { ShaderNodeObject } from "../../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../../tsl/TSLCore.js";
4
4
 
5
5
  declare const BRDF_GGX: (args: {
6
6
  lightDirection: Node;
@@ -1,6 +1,6 @@
1
1
  import Node from "../../core/Node.js";
2
2
  import OperatorNode from "../../math/OperatorNode.js";
3
- import { ShaderNodeObject } from "../../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../../tsl/TSLCore.js";
4
4
 
5
5
  declare const BRDF_Lambert: (args: { diffuseColor: Node }) => ShaderNodeObject<OperatorNode>;
6
6
 
@@ -1,6 +1,6 @@
1
1
  import Node from "../../core/Node.js";
2
2
  import OperatorNode from "../../math/OperatorNode.js";
3
- import { ShaderNodeObject } from "../../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../../tsl/TSLCore.js";
4
4
 
5
5
  declare const BRDF_Sheen: (args: { lightDirection: Node }) => ShaderNodeObject<OperatorNode>;
6
6
 
@@ -1,6 +1,6 @@
1
1
  import Node from "../../core/Node.js";
2
2
  import OperatorNode from "../../math/OperatorNode.js";
3
- import { ShaderNodeObject } from "../../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../../tsl/TSLCore.js";
4
4
 
5
5
  // Analytical approximation of the DFG LUT, one half of the
6
6
  // split-sum approximation used in indirect specular lighting.
@@ -1,6 +1,6 @@
1
1
  import Node from "../../core/Node.js";
2
2
  import OperatorNode from "../../math/OperatorNode.js";
3
- import { ShaderNodeObject } from "../../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../../tsl/TSLCore.js";
4
4
 
5
5
  // Microfacet Models for Refraction through Rough Surfaces - equation (33)
6
6
  // http://graphicrants.blogspot.com/2013/08/specular-brdf-reference.html
@@ -1,6 +1,6 @@
1
1
  import Node from "../../core/Node.js";
2
2
  import OperatorNode from "../../math/OperatorNode.js";
3
- import { ShaderNodeObject } from "../../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../../tsl/TSLCore.js";
4
4
 
5
5
  // https://google.github.io/filament/Filament.md.html#materialsystem/anisotropicmodel/anisotropicspecularbrdf
6
6
  declare const D_GGX_Anisotropic: (
@@ -1,6 +1,6 @@
1
1
  import Node from "../../core/Node.js";
2
2
  import OperatorNode from "../../math/OperatorNode.js";
3
- import { ShaderNodeObject } from "../../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../../tsl/TSLCore.js";
4
4
 
5
5
  declare const F_Schlick: (args: { f0: Node; f90: Node; dotVH: Node }) => ShaderNodeObject<OperatorNode>;
6
6
 
@@ -0,0 +1,10 @@
1
+ import Node from "../../core/Node.js";
2
+ import { NodeRepresentation, ShaderNodeObject } from "../../tsl/TSLCore.js";
3
+
4
+ declare const Schlick_to_F0: (
5
+ f: NodeRepresentation,
6
+ f90: NodeRepresentation,
7
+ dotVH: NodeRepresentation,
8
+ ) => ShaderNodeObject<Node>;
9
+
10
+ export default Schlick_to_F0;
@@ -1,6 +1,6 @@
1
1
  import Node from "../../core/Node.js";
2
2
  import OperatorNode from "../../math/OperatorNode.js";
3
- import { ShaderNodeObject } from "../../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../../tsl/TSLCore.js";
4
4
 
5
5
  declare const V_GGX_SmithCorrelated: (inputs: {
6
6
  alpha: Node;
@@ -1,6 +1,6 @@
1
1
  import Node from "../../core/Node.js";
2
2
  import MathNode from "../../math/MathNode.js";
3
- import { ShaderNodeObject } from "../../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../../tsl/TSLCore.js";
4
4
 
5
5
  declare const V_GGX_SmithCorrelated: (inputs: {
6
6
  alphaT: Node;
@@ -1,6 +1,6 @@
1
1
  import LightingModel from "../core/LightingModel.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 default class ShadowMaskModel extends LightingModel {
6
6
  shadowNode: ShaderNodeObject<VarNode>;
@@ -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
  declare const getGeometryRoughness: () => ShaderNodeObject<MathNode>;
5
5
 
@@ -1,6 +1,6 @@
1
1
  import Node from "../../core/Node.js";
2
2
  import MathNode from "../../math/MathNode.js";
3
- import { ShaderNodeObject } from "../../shadernode/ShaderNode.js";
3
+ import { ShaderNodeObject } from "../../tsl/TSLCore.js";
4
4
 
5
5
  declare const getRoughness: (args: { roughness: Node }) => ShaderNodeObject<MathNode>;
6
6
 
@@ -0,0 +1,6 @@
1
+ import Node from "../../core/Node.js";
2
+ import { ShaderNodeObject } from "../../tsl/TSLCore.js";
3
+
4
+ declare const getShIrradianceAt: (normal: Node, shCoefficients: Node) => ShaderNodeObject<Node>;
5
+
6
+ export default getShIrradianceAt;
@@ -4,7 +4,7 @@ import { Vector3 } from "../../math/Vector3.js";
4
4
  import { Vector4 } from "../../math/Vector4.js";
5
5
  import Node from "../core/Node.js";
6
6
  import NodeBuilder from "../core/NodeBuilder.js";
7
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
7
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
8
8
 
9
9
  export type RangeModeBound = number | Color | Vector2 | Vector3 | Vector4;
10
10
 
@@ -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 ComputeNode extends Node {
5
5
  isComputeNode: true;
@@ -17,7 +17,7 @@ export const compute: (
17
17
  workgroupSize: number[],
18
18
  ) => ShaderNodeObject<ComputeNode>;
19
19
 
20
- declare module "../shadernode/ShaderNode.js" {
20
+ declare module "../tsl/TSLCore.js" {
21
21
  interface NodeElements {
22
22
  compute: typeof compute;
23
23
  }
@@ -0,0 +1,8 @@
1
+ import { AmbientLight } from "../../lights/AmbientLight.js";
2
+ import AnalyticLightNode from "./AnalyticLightNode.js";
3
+
4
+ declare class AmbientLightNode extends AnalyticLightNode<AmbientLight> {
5
+ constructor(light?: AmbientLight | null);
6
+ }
7
+
8
+ export default AmbientLightNode;
@@ -0,0 +1,8 @@
1
+ import { DirectionalLight } from "../../lights/DirectionalLight.js";
2
+ import AnalyticLightNode from "./AnalyticLightNode.js";
3
+
4
+ declare class DirectionalLightNode extends AnalyticLightNode<DirectionalLight> {
5
+ constructor(light?: DirectionalLight | null);
6
+ }
7
+
8
+ export default DirectionalLightNode;
@@ -0,0 +1,5 @@
1
+ import SpotLightNode from "./SpotLightNode.js";
2
+
3
+ declare class IESSpotLightNode extends SpotLightNode {}
4
+
5
+ export default IESSpotLightNode;
@@ -0,0 +1,18 @@
1
+ import { Light } from "../../lights/Light.js";
2
+ import Node from "../core/Node.js";
3
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
+
5
+ export type LightNodeScope = typeof LightNode.TARGET_DIRECTION;
6
+
7
+ declare class LightNode extends Node {
8
+ scope: LightNodeScope;
9
+ light: Light;
10
+
11
+ constructor(scope?: LightNodeScope, light?: Light | null);
12
+
13
+ static TARGET_DIRECTION: "targetDirection";
14
+ }
15
+
16
+ export default LightNode;
17
+
18
+ export const lightTargetDirection: (light?: Light | null) => ShaderNodeObject<LightNode>;
@@ -0,0 +1,11 @@
1
+ import { LightProbe } from "../../lights/LightProbe.js";
2
+ import UniformArrayNode from "../accessors/UniformArrayNode.js";
3
+ import AnalyticLightNode from "./AnalyticLightNode.js";
4
+
5
+ declare class LightProbeNode extends AnalyticLightNode<LightProbe> {
6
+ lightProbe: UniformArrayNode;
7
+
8
+ constructor(light?: LightProbe | null);
9
+ }
10
+
11
+ export default LightProbeNode;
@@ -1,9 +1,9 @@
1
1
  import Node from "../core/Node.js";
2
- import CondNode from "../math/CondNode.js";
3
- import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
2
+ import ConditionalNode from "../math/ConditionalNode.js";
3
+ import { ShaderNodeObject } from "../tsl/TSLCore.js";
4
4
 
5
5
  export const getDistanceAttenuation: (args: {
6
6
  lightDistance: Node;
7
7
  cutoffDistance: Node;
8
8
  decayExponent: Node;
9
- }) => ShaderNodeObject<CondNode>;
9
+ }) => ShaderNodeObject<ConditionalNode>;