@types/three 0.181.0 → 0.183.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/Addons.d.ts +0 -3
  3. three/examples/jsm/controls/ArcballControls.d.ts +1 -1
  4. three/examples/jsm/controls/DragControls.d.ts +1 -1
  5. three/examples/jsm/controls/FirstPersonControls.d.ts +1 -1
  6. three/examples/jsm/controls/FlyControls.d.ts +1 -1
  7. three/examples/jsm/controls/OrbitControls.d.ts +40 -1
  8. three/examples/jsm/controls/PointerLockControls.d.ts +1 -1
  9. three/examples/jsm/controls/TrackballControls.d.ts +1 -1
  10. three/examples/jsm/controls/TransformControls.d.ts +1 -1
  11. three/examples/jsm/effects/AnaglyphEffect.d.ts +4 -0
  12. three/examples/jsm/environments/ColorEnvironment.d.ts +9 -0
  13. three/examples/jsm/gpgpu/BitonicSort.d.ts +5 -5
  14. three/examples/jsm/helpers/AnimationPathHelper.d.ts +38 -0
  15. three/examples/jsm/helpers/ViewHelper.d.ts +4 -1
  16. three/examples/jsm/inspector/tabs/Parameters.d.ts +3 -0
  17. three/examples/jsm/inspector/ui/Item.d.ts +5 -0
  18. three/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -1
  19. three/examples/jsm/lights/LightProbeGenerator.d.ts +11 -5
  20. three/examples/jsm/loaders/ColladaLoader.d.ts +27 -4
  21. three/examples/jsm/loaders/UltraHDRLoader.d.ts +7 -0
  22. three/examples/jsm/loaders/VOXLoader.d.ts +22 -5
  23. three/examples/jsm/math/Octree.d.ts +36 -14
  24. three/examples/jsm/objects/SkyMesh.d.ts +16 -6
  25. three/examples/jsm/objects/Water2Mesh.d.ts +7 -7
  26. three/examples/jsm/objects/WaterMesh.d.ts +6 -6
  27. three/examples/jsm/physics/AmmoPhysics.d.ts +1 -1
  28. three/examples/jsm/postprocessing/EffectComposer.d.ts +9 -10
  29. three/examples/jsm/postprocessing/OutputPass.d.ts +10 -6
  30. three/examples/jsm/postprocessing/RenderPass.d.ts +15 -10
  31. three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +4 -9
  32. three/examples/jsm/transpiler/AST.d.ts +17 -0
  33. three/examples/jsm/transpiler/TSLEncoder.d.ts +2 -0
  34. three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +30 -0
  35. three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -1
  36. three/examples/jsm/tsl/display/BilateralBlurNode.d.ts +27 -0
  37. three/examples/jsm/tsl/display/BleachBypass.d.ts +1 -1
  38. three/examples/jsm/tsl/display/BloomNode.d.ts +5 -5
  39. three/examples/jsm/tsl/display/CRT.d.ts +22 -0
  40. three/examples/jsm/tsl/display/DenoiseNode.d.ts +5 -5
  41. three/examples/jsm/tsl/display/DotScreenNode.d.ts +4 -6
  42. three/examples/jsm/tsl/display/GTAONode.d.ts +8 -8
  43. three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +4 -2
  44. three/examples/jsm/tsl/display/GodraysNode.d.ts +20 -0
  45. three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -6
  46. three/examples/jsm/tsl/display/Lut3DNode.d.ts +5 -5
  47. three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -1
  48. three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -6
  49. three/examples/jsm/tsl/display/PixelationPassNode.d.ts +10 -10
  50. three/examples/jsm/tsl/display/RGBShiftNode.d.ts +2 -2
  51. three/examples/jsm/tsl/display/RetroPassNode.d.ts +17 -0
  52. three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -1
  53. three/examples/jsm/tsl/display/SSGINode.d.ts +11 -11
  54. three/examples/jsm/tsl/display/SSRNode.d.ts +6 -6
  55. three/examples/jsm/tsl/display/SSSNode.d.ts +7 -5
  56. three/examples/jsm/tsl/display/Shape.d.ts +3 -0
  57. three/examples/jsm/tsl/display/TRAANode.d.ts +5 -0
  58. three/examples/jsm/tsl/display/TransitionNode.d.ts +3 -3
  59. three/examples/jsm/tsl/display/boxBlur.d.ts +1 -1
  60. three/examples/jsm/tsl/display/depthAwareBlend.d.ts +15 -0
  61. three/examples/jsm/tsl/display/hashBlur.d.ts +1 -1
  62. three/examples/jsm/tsl/display/radialBlur.d.ts +12 -0
  63. three/examples/jsm/tsl/math/Bayer.d.ts +2 -0
  64. three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -2
  65. three/package.json +4 -4
  66. three/src/Three.Core.d.ts +1 -1
  67. three/src/Three.TSL.d.ts +20 -13
  68. three/src/Three.WebGPU.Nodes.d.ts +2 -0
  69. three/src/Three.WebGPU.d.ts +3 -0
  70. three/src/Three.d.ts +2 -2
  71. three/src/animation/AnimationClip.d.ts +1 -1
  72. three/src/animation/AnimationMixer.d.ts +42 -0
  73. three/src/animation/AnimationUtils.d.ts +3 -8
  74. three/src/animation/KeyframeTrack.d.ts +19 -5
  75. three/src/animation/PropertyMixer.d.ts +5 -4
  76. three/src/audio/Audio.d.ts +224 -157
  77. three/src/audio/AudioAnalyser.d.ts +32 -27
  78. three/src/audio/AudioContext.d.ts +12 -12
  79. three/src/audio/AudioListener.d.ts +44 -65
  80. three/src/audio/PositionalAudio.d.ts +69 -62
  81. three/src/cameras/ArrayCamera.d.ts +21 -24
  82. three/src/cameras/Camera.d.ts +14 -53
  83. three/src/cameras/CubeCamera.d.ts +32 -28
  84. three/src/cameras/OrthographicCamera.d.ts +70 -100
  85. three/src/cameras/PerspectiveCamera.d.ts +133 -146
  86. three/src/cameras/StereoCamera.d.ts +24 -30
  87. three/src/constants.d.ts +28 -2
  88. three/src/core/BufferGeometry.d.ts +3 -1
  89. three/src/core/Clock.d.ts +3 -0
  90. three/src/core/Object3D.d.ts +31 -7
  91. three/src/extras/Controls.d.ts +3 -3
  92. three/src/geometries/TorusGeometry.d.ts +22 -3
  93. three/src/helpers/ArrowHelper.d.ts +34 -50
  94. three/src/helpers/AxesHelper.d.ts +22 -36
  95. three/src/helpers/Box3Helper.d.ts +14 -25
  96. three/src/helpers/BoxHelper.d.ts +28 -39
  97. three/src/helpers/CameraHelper.d.ts +31 -52
  98. three/src/helpers/DirectionalLightHelper.d.ts +32 -53
  99. three/src/helpers/GridHelper.d.ts +15 -29
  100. three/src/helpers/HemisphereLightHelper.d.ts +26 -49
  101. three/src/helpers/PlaneHelper.d.ts +21 -33
  102. three/src/helpers/PointLightHelper.d.ts +25 -50
  103. three/src/helpers/PolarGridHelper.d.ts +19 -32
  104. three/src/helpers/SkeletonHelper.d.ts +26 -50
  105. three/src/helpers/SpotLightHelper.d.ts +28 -55
  106. three/src/lights/AmbientLight.d.ts +15 -23
  107. three/src/lights/DirectionalLight.d.ts +49 -83
  108. three/src/lights/DirectionalLightShadow.d.ts +6 -61
  109. three/src/lights/HemisphereLight.d.ts +27 -47
  110. three/src/lights/Light.d.ts +22 -56
  111. three/src/lights/LightProbe.d.ts +31 -32
  112. three/src/lights/LightShadow.d.ts +107 -91
  113. three/src/lights/PointLight.d.ts +47 -77
  114. three/src/lights/PointLightShadow.d.ts +7 -11
  115. three/src/lights/RectAreaLight.d.ts +39 -59
  116. three/src/lights/SpotLight.d.ts +78 -117
  117. three/src/lights/SpotLightShadow.d.ts +17 -59
  118. three/src/lights/webgpu/IESSpotLight.d.ts +13 -1
  119. three/src/lights/webgpu/ProjectorLight.d.ts +9 -10
  120. three/src/materials/Material.d.ts +1 -0
  121. three/src/materials/MeshLambertMaterial.d.ts +6 -0
  122. three/src/materials/MeshPhongMaterial.d.ts +6 -0
  123. three/src/materials/ShaderMaterial.d.ts +18 -3
  124. three/src/materials/nodes/Line2NodeMaterial.d.ts +0 -6
  125. three/src/materials/nodes/LineBasicNodeMaterial.d.ts +0 -4
  126. three/src/materials/nodes/MeshBasicNodeMaterial.d.ts +1 -2
  127. three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +0 -2
  128. three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +0 -2
  129. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +5 -8
  130. three/src/materials/nodes/MeshToonNodeMaterial.d.ts +0 -4
  131. three/src/materials/nodes/NodeMaterial.d.ts +15 -2
  132. three/src/materials/nodes/SpriteNodeMaterial.d.ts +0 -3
  133. three/src/materials/nodes/VolumeNodeMaterial.d.ts +0 -2
  134. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +39 -93
  135. three/src/math/Color.d.ts +1 -0
  136. three/src/math/Vector3.d.ts +2 -2
  137. three/src/math/interpolants/BezierInterpolant.d.ts +7 -0
  138. three/src/nodes/Nodes.d.ts +55 -35
  139. three/src/nodes/TSL.d.ts +6 -6
  140. three/src/nodes/accessors/Arrays.d.ts +19 -10
  141. three/src/nodes/accessors/BufferAttributeNode.d.ts +108 -41
  142. three/src/nodes/accessors/BufferNode.d.ts +21 -7
  143. three/src/nodes/accessors/Camera.d.ts +10 -10
  144. three/src/nodes/accessors/CubeTextureNode.d.ts +1 -1
  145. three/src/nodes/accessors/InstanceNode.d.ts +13 -6
  146. three/src/nodes/accessors/Lights.d.ts +9 -6
  147. three/src/nodes/accessors/MaterialNode.d.ts +1 -3
  148. three/src/nodes/accessors/MaterialProperties.d.ts +4 -4
  149. three/src/nodes/accessors/MaterialReferenceNode.d.ts +1 -1
  150. three/src/nodes/accessors/ModelNode.d.ts +34 -17
  151. three/src/nodes/accessors/MorphNode.d.ts +1 -1
  152. three/src/nodes/accessors/Normal.d.ts +13 -15
  153. three/src/nodes/accessors/Object3DNode.d.ts +35 -16
  154. three/src/nodes/accessors/Position.d.ts +9 -7
  155. three/src/nodes/accessors/ReferenceNode.d.ts +16 -7
  156. three/src/nodes/accessors/ReflectVector.d.ts +4 -5
  157. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
  158. three/src/nodes/accessors/SceneProperties.d.ts +5 -0
  159. three/src/nodes/accessors/SkinningNode.d.ts +5 -3
  160. three/src/nodes/accessors/StorageBufferNode.d.ts +49 -22
  161. three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
  162. three/src/nodes/accessors/Tangent.d.ts +5 -7
  163. three/src/nodes/accessors/Texture3DNode.d.ts +13 -1
  164. three/src/nodes/accessors/TextureBicubic.d.ts +3 -2
  165. three/src/nodes/accessors/TextureNode.d.ts +19 -18
  166. three/src/nodes/accessors/UV.d.ts +1 -1
  167. three/src/nodes/accessors/UniformArrayNode.d.ts +10 -8
  168. three/src/nodes/accessors/UserDataNode.d.ts +1 -1
  169. three/src/nodes/accessors/VelocityNode.d.ts +3 -3
  170. three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
  171. three/src/nodes/code/FunctionCallNode.d.ts +0 -1
  172. three/src/nodes/code/FunctionNode.d.ts +7 -3
  173. three/src/nodes/core/ArrayNode.d.ts +2 -3
  174. three/src/nodes/core/AttributeNode.d.ts +12 -6
  175. three/src/nodes/core/BypassNode.d.ts +2 -3
  176. three/src/nodes/core/ConstNode.d.ts +10 -3
  177. three/src/nodes/core/ContextNode.d.ts +32 -21
  178. three/src/nodes/core/IndexNode.d.ts +1 -1
  179. three/src/nodes/core/InputNode.d.ts +12 -4
  180. three/src/nodes/core/InspectorNode.d.ts +2 -3
  181. three/src/nodes/core/IsolateNode.d.ts +2 -7
  182. three/src/nodes/core/MRTNode.d.ts +7 -0
  183. three/src/nodes/core/Node.d.ts +258 -39
  184. three/src/nodes/core/NodeAttribute.d.ts +30 -5
  185. three/src/nodes/core/NodeBuilder.d.ts +5 -3
  186. three/src/nodes/core/NodeCache.d.ts +24 -48
  187. three/src/nodes/core/NodeError.d.ts +9 -0
  188. three/src/nodes/core/NodeParser.d.ts +2 -0
  189. three/src/nodes/core/NodeUniform.d.ts +33 -9
  190. three/src/nodes/core/NodeUtils.d.ts +1 -1
  191. three/src/nodes/core/NodeVar.d.ts +33 -5
  192. three/src/nodes/core/NodeVarying.d.ts +32 -4
  193. three/src/nodes/core/ParameterNode.d.ts +11 -4
  194. three/src/nodes/core/PropertyNode.d.ts +45 -33
  195. three/src/nodes/core/StackTrace.d.ts +9 -0
  196. three/src/nodes/core/StructType.d.ts +3 -1
  197. three/src/nodes/core/StructTypeNode.d.ts +19 -5
  198. three/src/nodes/core/TempNode.d.ts +9 -3
  199. three/src/nodes/core/UniformNode.d.ts +53 -15
  200. three/src/nodes/core/VarNode.d.ts +15 -14
  201. three/src/nodes/core/VaryingNode.d.ts +14 -19
  202. three/src/nodes/core/constants.d.ts +9 -4
  203. three/src/nodes/display/BlendModes.d.ts +7 -27
  204. three/src/nodes/display/ColorAdjustment.d.ts +8 -9
  205. three/src/nodes/display/ColorSpaceNode.d.ts +2 -8
  206. three/src/nodes/display/FrontFacingNode.d.ts +1 -1
  207. three/src/nodes/display/NormalMapNode.d.ts +3 -1
  208. three/src/nodes/display/PassNode.d.ts +16 -4
  209. three/src/nodes/display/RenderOutputNode.d.ts +3 -7
  210. three/src/nodes/display/ScreenNode.d.ts +25 -17
  211. three/src/nodes/display/ToneMappingNode.d.ts +3 -7
  212. three/src/nodes/display/ViewportDepthNode.d.ts +11 -7
  213. three/src/nodes/display/ViewportTextureNode.d.ts +2 -0
  214. three/src/nodes/fog/Fog.d.ts +5 -3
  215. three/src/nodes/functions/BSDF/DFGLUT.d.ts +12 -0
  216. three/src/nodes/functions/PhysicalLightingModel.d.ts +8 -1
  217. three/src/nodes/geometry/RangeNode.d.ts +51 -9
  218. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +2 -0
  219. three/src/nodes/gpgpu/BarrierNode.d.ts +2 -0
  220. three/src/nodes/gpgpu/ComputeNode.d.ts +2 -7
  221. three/src/nodes/lighting/AnalyticLightNode.d.ts +3 -1
  222. three/src/nodes/lighting/HemisphereLightNode.d.ts +3 -2
  223. three/src/nodes/lighting/LightProbeNode.d.ts +1 -1
  224. three/src/nodes/lighting/LightUtils.d.ts +1 -1
  225. three/src/nodes/lighting/LightingContextNode.d.ts +1 -1
  226. three/src/nodes/lighting/PointShadowNode.d.ts +11 -15
  227. three/src/nodes/lighting/ShadowFilterNode.d.ts +2 -0
  228. three/src/nodes/lighting/SpotLightNode.d.ts +0 -6
  229. three/src/nodes/materialx/MaterialXNodes.d.ts +11 -11
  230. three/src/nodes/math/BitcountNode.d.ts +23 -0
  231. three/src/nodes/math/ConditionalNode.d.ts +43 -22
  232. three/src/nodes/math/Hash.d.ts +1 -1
  233. three/src/nodes/math/MathNode.d.ts +603 -267
  234. three/src/nodes/math/MathUtils.d.ts +9 -5
  235. three/src/nodes/math/OperatorNode.d.ts +490 -227
  236. three/src/nodes/math/PackFloatNode.d.ts +19 -0
  237. three/src/nodes/math/TriNoise3D.d.ts +3 -3
  238. three/src/nodes/math/UnpackFloatNode.d.ts +18 -0
  239. three/src/nodes/pmrem/PMREMNode.d.ts +1 -1
  240. three/src/nodes/procedural/Checker.d.ts +1 -1
  241. three/src/nodes/tsl/TSLCore.d.ts +1683 -224
  242. three/src/nodes/utils/ArrayElementNode.d.ts +9 -4
  243. three/src/nodes/utils/DebugNode.d.ts +2 -5
  244. three/src/nodes/utils/Discard.d.ts +2 -3
  245. three/src/nodes/utils/FlipNode.d.ts +11 -0
  246. three/src/nodes/utils/LoopNode.d.ts +17 -13
  247. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
  248. three/src/nodes/utils/Oscillators.d.ts +4 -4
  249. three/src/nodes/utils/Packing.d.ts +3 -2
  250. three/src/nodes/utils/PostProcessingUtils.d.ts +6 -4
  251. three/src/nodes/utils/RemapNode.d.ts +33 -39
  252. three/src/nodes/utils/RotateNode.d.ts +17 -8
  253. three/src/nodes/utils/SplitNode.d.ts +1 -2
  254. three/src/nodes/utils/SpriteSheetUV.d.ts +7 -0
  255. three/src/nodes/utils/StorageArrayElementNode.d.ts +18 -9
  256. three/src/nodes/utils/Timer.d.ts +4 -4
  257. three/src/nodes/utils/TriplanarTextures.d.ts +2 -2
  258. three/src/nodes/utils/UVUtils.d.ts +8 -3
  259. three/src/objects/BatchedMesh.d.ts +6 -4
  260. three/src/objects/InstancedMesh.d.ts +32 -24
  261. three/src/objects/LOD.d.ts +1 -1
  262. three/src/objects/Skeleton.d.ts +4 -2
  263. three/src/renderers/WebGLRenderer.d.ts +25 -96
  264. three/src/renderers/common/Animation.d.ts +46 -9
  265. three/src/renderers/common/Attributes.d.ts +11 -13
  266. three/src/renderers/common/Backend.d.ts +0 -2
  267. three/src/renderers/common/Background.d.ts +17 -15
  268. three/src/renderers/common/BindGroup.d.ts +27 -13
  269. three/src/renderers/common/Binding.d.ts +21 -3
  270. three/src/renderers/common/Bindings.d.ts +41 -17
  271. three/src/renderers/common/BlendMode.d.ts +22 -0
  272. three/src/renderers/common/Buffer.d.ts +53 -5
  273. three/src/renderers/common/BufferUtils.d.ts +3 -4
  274. three/src/renderers/common/BundleGroup.d.ts +16 -6
  275. three/src/renderers/common/CanvasTarget.d.ts +76 -13
  276. three/src/renderers/common/ChainMap.d.ts +18 -8
  277. three/src/renderers/common/ClippingContext.d.ts +61 -10
  278. three/src/renderers/common/Color4.d.ts +10 -5
  279. three/src/renderers/common/ComputePipeline.d.ts +16 -2
  280. three/src/renderers/common/Constants.d.ts +5 -3
  281. three/src/renderers/common/CubeRenderTarget.d.ts +24 -7
  282. three/src/renderers/common/DataMap.d.ts +10 -18
  283. three/src/renderers/common/Geometries.d.ts +45 -19
  284. three/src/renderers/common/Info.d.ts +62 -9
  285. three/src/renderers/common/InspectorBase.d.ts +19 -7
  286. three/src/renderers/common/Lighting.d.ts +2 -6
  287. three/src/renderers/common/Pipeline.d.ts +14 -2
  288. three/src/renderers/common/Pipelines.d.ts +58 -60
  289. three/src/renderers/common/PostProcessing.d.ts +14 -17
  290. three/src/renderers/common/ProgrammableStage.d.ts +48 -8
  291. three/src/renderers/common/RenderBundle.d.ts +4 -2
  292. three/src/renderers/common/RenderBundles.d.ts +6 -3
  293. three/src/renderers/common/RenderContext.d.ts +175 -7
  294. three/src/renderers/common/RenderContexts.d.ts +21 -24
  295. three/src/renderers/common/RenderList.d.ts +77 -11
  296. three/src/renderers/common/RenderLists.d.ts +16 -4
  297. three/src/renderers/common/RenderObject.d.ts +229 -47
  298. three/src/renderers/common/{RenderPipeline.d.ts → RenderObjectPipeline.d.ts} +17 -5
  299. three/src/renderers/common/RenderObjects.d.ts +55 -22
  300. three/src/renderers/common/Renderer.d.ts +645 -216
  301. three/src/renderers/common/Textures.d.ts +24 -46
  302. three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
  303. three/src/renderers/common/Uniform.d.ts +143 -58
  304. three/src/renderers/common/UniformBuffer.d.ts +7 -5
  305. three/src/renderers/common/UniformsGroup.d.ts +51 -35
  306. three/src/renderers/common/XRManager.d.ts +321 -83
  307. three/src/renderers/common/XRRenderTarget.d.ts +49 -6
  308. three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
  309. three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
  310. three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
  311. three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
  312. three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
  313. three/src/renderers/shaders/ShaderLib.d.ts +1 -1
  314. three/src/renderers/shaders/UniformsLib.d.ts +0 -3
  315. three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
  316. three/src/renderers/webgl/WebGLCapabilities.d.ts +2 -2
  317. three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
  318. three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
  319. three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
  320. three/src/renderers/webgl/WebGLLights.d.ts +19 -18
  321. three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
  322. three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
  323. three/src/renderers/webgl/WebGLPrograms.d.ts +2 -3
  324. three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
  325. three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
  326. three/src/renderers/webgl/WebGLState.d.ts +305 -28
  327. three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
  328. three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
  329. three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
  330. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
  331. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
  332. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
  333. three/src/scenes/Fog.d.ts +31 -37
  334. three/src/scenes/FogExp2.d.ts +26 -31
  335. three/src/scenes/Scene.d.ts +51 -65
  336. three/src/textures/CompressedArrayTexture.d.ts +1 -1
  337. three/src/textures/CubeDepthTexture.d.ts +41 -0
  338. three/src/textures/CubeTexture.d.ts +4 -4
  339. three/src/textures/DataArrayTexture.d.ts +1 -1
  340. three/src/utils.d.ts +18 -1
  341. three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
  342. three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
  343. three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
  344. three/src/nodes/accessors/SceneNode.d.ts +0 -21
  345. three/src/nodes/code/ScriptableNode.d.ts +0 -21
  346. three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
  347. three/src/nodes/display/PosterizeNode.d.ts +0 -13
  348. three/src/nodes/functions/BSDF/DFGApprox.d.ts +0 -10
  349. three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
  350. three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
  351. three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
@@ -1,82 +1,48 @@
1
- import { JSONMeta, Object3D, Object3DJSON } from "../core/Object3D.js";
1
+ import { JSONMeta, Object3D, Object3DEventMap, Object3DJSON } from "../core/Object3D.js";
2
2
  import { Color, ColorRepresentation } from "../math/Color.js";
3
- import { LightShadow, LightShadowJSON } from "./LightShadow.js";
4
3
 
5
4
  export interface LightJSON extends Object3DJSON {
6
5
  color: number;
7
6
  intensity: number;
7
+ }
8
8
 
9
- groundColor?: number;
10
-
11
- distance?: number;
12
- angle?: number;
13
- decay?: number;
14
- penumbra?: number;
15
-
16
- shadow?: LightShadowJSON;
17
- target?: string;
9
+ export interface LightEventMap extends Object3DEventMap {
10
+ dispose: {};
18
11
  }
19
12
 
20
13
  /**
21
- * Abstract base class for lights.
22
- * @remarks All other light types inherit the properties and methods described here.
14
+ * Abstract base class for lights - all other light types inherit the
15
+ * properties and methods described here.
23
16
  */
24
- export abstract class Light<TShadowSupport extends LightShadow | undefined = LightShadow | undefined> extends Object3D {
17
+ export abstract class Light extends Object3D<LightEventMap> {
25
18
  /**
26
- * Creates a new {@link Light}
27
- * @remarks
28
- * **Note** that this is not intended to be called directly (use one of derived classes instead).
29
- * @param color Hexadecimal color of the light. Default `0xffffff` _(white)_.
30
- * @param intensity Numeric value of the light's strength/intensity. Expects a `Float`. Default `1`.
19
+ * Constructs a new light.
20
+ *
21
+ * @param {(number|Color|string)} [color=0xffffff] - The light's color.
22
+ * @param {number} [intensity=1] - The light's strength/intensity.
31
23
  */
32
24
  constructor(color?: ColorRepresentation, intensity?: number);
33
-
34
25
  /**
35
- * Read-only flag to check if a given object is of type {@link HemisphereLight}.
36
- * @remarks This is a _constant_ value
37
- * @defaultValue `true`
26
+ * This flag can be used for type testing.
27
+ *
28
+ * @default true
38
29
  */
39
- readonly isLight: true;
40
-
30
+ readonly isLight: boolean;
41
31
  /**
42
- * A Read-only _string_ to check if `this` object type.
43
- * @remarks Sub-classes will update this value.
44
- * @defaultValue `Light`
45
- */
46
- override readonly type: string | "Light";
47
-
48
- /**
49
- * Color of the light. \
50
- * @defaultValue `new THREE.Color(0xffffff)` _(white)_.
32
+ * The light's color.
51
33
  */
52
34
  color: Color;
53
-
54
35
  /**
55
- * The light's intensity, or strength.
56
- * The units of intensity depend on the type of light.
57
- * @defaultValue `1`
36
+ * The light's intensity.
37
+ *
38
+ * @default 1
58
39
  */
59
40
  intensity: number;
60
-
61
- /**
62
- * A {@link THREE.LightShadow | LightShadow} used to calculate shadows for this light.
63
- * @remarks Available only on Light's that support shadows.
64
- */
65
- shadow: TShadowSupport;
66
-
67
41
  /**
68
- * Copies value of all the properties from the {@link Light | source} to this instance.
69
- * @param source
70
- * @param recursive
71
- */
72
- copy(source: this, recursive?: boolean): this;
73
-
74
- /**
75
- * Frees the GPU-related resources allocated by this instance
76
- * @remarks
77
- * Call this method whenever this instance is no longer used in your app.
42
+ * Frees the GPU-related resources allocated by this instance. Call this
43
+ * method whenever this instance is no longer used in your app.
78
44
  */
79
45
  dispose(): void;
80
-
46
+ copy(source: Light, recursive?: boolean): this;
81
47
  toJSON(meta?: JSONMeta): LightJSON;
82
48
  }
@@ -1,47 +1,46 @@
1
+ import { JSONMeta } from "../core/Object3D.js";
1
2
  import { SphericalHarmonics3 } from "../math/SphericalHarmonics3.js";
2
- import { Light } from "./Light.js";
3
+ import { Light, LightJSON } from "./Light.js";
4
+
5
+ export interface LightProbeJSON extends LightJSON {
6
+ sh: number[];
7
+ }
3
8
 
4
9
  /**
5
- * Light probes are an alternative way of adding light to a 3D scene.
6
- * @remarks
7
- * Unlike classical light sources (e.g
8
- * directional, point or spot lights), light probes do not emit light
9
- * Instead they store information about light passing through 3D space
10
- * During rendering, the light that hits a 3D object is approximated by using the data from the light probe.
11
- * Light probes are usually created from (radiance) environment maps
12
- * The class {@link THREE.LightProbeGenerator | LightProbeGenerator} can be used to create light probes from
13
- * instances of {@link THREE.CubeTexture | CubeTexture} or {@link THREE.WebGLCubeRenderTarget | WebGLCubeRenderTarget}
14
- * However, light estimation data could also be provided in other forms e.g
15
- * by WebXR
16
- * This enables the rendering of augmented reality content that reacts to real world lighting.
17
- * The current probe implementation in three.js supports so-called diffuse light probes
18
- * This type of light probe is functionally equivalent to an irradiance environment map.
19
- * @see Example: {@link https://threejs.org/examples/#webgl_lightprobe | WebGL / light probe }
20
- * @see Example: {@link https://threejs.org/examples/#webgl_lightprobe_cubecamera | WebGL / light probe / cube camera }
21
- * @see {@link https://threejs.org/docs/index.html#api/en/lights/LightProbe | Official Documentation}
22
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/LightProbe.js | Source}
10
+ * Light probes are an alternative way of adding light to a 3D scene. Unlike
11
+ * classical light sources (e.g. directional, point or spot lights), light
12
+ * probes do not emit light. Instead they store information about light
13
+ * passing through 3D space. During rendering, the light that hits a 3D
14
+ * object is approximated by using the data from the light probe.
15
+ *
16
+ * Light probes are usually created from (radiance) environment maps. The
17
+ * class {@link LightProbeGenerator} can be used to create light probes from
18
+ * cube textures or render targets. However, light estimation data could also
19
+ * be provided in other forms e.g. by WebXR. This enables the rendering of
20
+ * augmented reality content that reacts to real world lighting.
21
+ *
22
+ * The current probe implementation in three.js supports so-called diffuse
23
+ * light probes. This type of light probe is functionally equivalent to an
24
+ * irradiance environment map.
23
25
  */
24
26
  export class LightProbe extends Light {
25
27
  /**
26
- * Creates a new LightProbe.
27
- * @param sh An instance of {@link THREE.SphericalHarmonics3 | SphericalHarmonics3}. Default `new THREE.SphericalHarmonics3()``.
28
- * @param intensity Numeric value of the light probe's intensity. Expects a `Float`. Default `1`.
28
+ * Constructs a new light probe.
29
+ *
30
+ * @param {SphericalHarmonics3} sh - The spherical harmonics which represents encoded lighting information.
31
+ * @param {number} [intensity=1] - The light's strength/intensity.
29
32
  */
30
33
  constructor(sh?: SphericalHarmonics3, intensity?: number);
31
-
32
34
  /**
33
- * Read-only flag to check if a given object is of type {@link DirectionalLight}.
34
- * @remarks This is a _constant_ value
35
- * @defaultValue `true`
35
+ * This flag can be used for type testing.
36
+ *
37
+ * @default true
36
38
  */
37
- readonly isLightProbe: true;
38
-
39
+ readonly isLightProbe: boolean;
39
40
  /**
40
41
  * A light probe uses spherical harmonics to encode lighting information.
41
- * @defaultValue `new THREE.SphericalHarmonics3()`
42
42
  */
43
43
  sh: SphericalHarmonics3;
44
-
45
- /** @internal */
46
- fromJSON(json: {}): LightProbe;
44
+ copy(source: LightProbe): this;
45
+ toJSON(meta?: JSONMeta): LightProbeJSON;
47
46
  }
@@ -1,11 +1,12 @@
1
1
  import { Camera } from "../cameras/Camera.js";
2
2
  import { TextureDataType } from "../constants.js";
3
3
  import { Object3DJSONObject } from "../core/Object3D.js";
4
+ import { RenderTarget } from "../core/RenderTarget.js";
4
5
  import { Frustum } from "../math/Frustum.js";
5
6
  import { Matrix4 } from "../math/Matrix4.js";
6
7
  import { Vector2, Vector2Tuple } from "../math/Vector2.js";
7
8
  import { Vector4 } from "../math/Vector4.js";
8
- import { WebGLRenderTarget } from "../renderers/WebGLRenderTarget.js";
9
+ import Node from "../nodes/core/Node.js";
9
10
  import { Light } from "./Light.js";
10
11
 
11
12
  export interface LightShadowJSON {
@@ -19,159 +20,174 @@ export interface LightShadowJSON {
19
20
  }
20
21
 
21
22
  /**
22
- * Serves as a base class for the other shadow classes.
23
- * @see {@link https://threejs.org/docs/index.html#api/en/lights/shadows/LightShadow | Official Documentation}
24
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/LightShadow.js | Source}
23
+ * Abstract base class for light shadow classes. These classes
24
+ * represent the shadow configuration for different light types.
25
25
  */
26
- export class LightShadow<TCamera extends Camera = Camera> {
26
+ export abstract class LightShadow<TCamera extends Camera = Camera> {
27
27
  /**
28
- * Create a new instance of {@link LightShadow}
29
- * @param camera The light's view of the world.
28
+ * Constructs a new light shadow.
29
+ *
30
+ * @param {Camera} camera - The light's view of the world.
30
31
  */
31
32
  constructor(camera: TCamera);
32
-
33
33
  /**
34
34
  * The light's view of the world.
35
- * @remark This is used to generate a depth map of the scene; objects behind other objects from the light's perspective will be in shadow.
36
35
  */
37
36
  camera: TCamera;
38
-
39
37
  /**
40
- * The intensity of the shadow. The default is `1`. Valid values are in the range `[0, 1]`.
38
+ * The intensity of the shadow. The default is `1`.
39
+ * Valid values are in the range `[0, 1]`.
40
+ *
41
+ * @default 1
41
42
  */
42
43
  intensity: number;
43
-
44
44
  /**
45
- * Shadow map bias, how much to add or subtract from the normalized depth when deciding whether a surface is in shadow.
46
- * @remark The Very tiny adjustments here (in the order of 0.0001) may help reduce artifacts in shadows.
47
- * @remarks Expects a `Float`
48
- * @defaultValue `0`
45
+ * Shadow map bias, how much to add or subtract from the normalized depth
46
+ * when deciding whether a surface is in shadow.
47
+ *
48
+ * The default is `0`. Very tiny adjustments here (in the order of `0.0001`)
49
+ * may help reduce artifacts in shadows.
50
+ *
51
+ * @default 0
49
52
  */
50
53
  bias: number;
51
-
52
54
  /**
53
- * Defines how much the position used to query the shadow map is offset along the object normal.
54
- * @remark The Increasing this value can be used to reduce shadow acne especially in large scenes where light shines onto geometry at a shallow angle.
55
- * @remark The cost is that shadows may appear distorted.
56
- * @remarks Expects a `Float`
57
- * @defaultValue `0`
55
+ * A node version of `bias`. Only supported with `WebGPURenderer`.
56
+ *
57
+ * If a bias node is defined, `bias` has no effect.
58
+ *
59
+ * @default null
60
+ */
61
+ biasNode: Node<"float"> | null;
62
+ /**
63
+ * Defines how much the position used to query the shadow map is offset along
64
+ * the object normal. The default is `0`. Increasing this value can be used to
65
+ * reduce shadow acne especially in large scenes where light shines onto
66
+ * geometry at a shallow angle. The cost is that shadows may appear distorted.
67
+ *
68
+ * @default 0
58
69
  */
59
70
  normalBias: number;
60
-
61
71
  /**
62
- * Setting this to values greater than 1 will blur the edges of the shadow.toi
63
- * @remark High values will cause unwanted banding effects in the shadows - a greater {@link LightShadow.mapSize | mapSize
64
- * will allow for a higher value to be used here before these effects become visible.
65
- * @remark If {@link THREE.WebGLRenderer.shadowMap.type | WebGLRenderer.shadowMap.type} is set to {@link Renderer | PCFSoftShadowMap},
66
- * radius has no effect and it is recommended to increase softness by decreasing {@link LightShadow.mapSize | mapSize} instead.
67
- * @remark Note that this has no effect if the {@link THREE.WebGLRenderer.shadowMap | WebGLRenderer.shadowMap}.{@link THREE.WebGLShadowMap.type | type}
68
- * is set to {@link THREE.BasicShadowMap | BasicShadowMap}.
69
- * @remarks Expects a `Float`
70
- * @defaultValue `1`
72
+ * Setting this to values greater than 1 will blur the edges of the shadow.
73
+ * High values will cause unwanted banding effects in the shadows - a greater
74
+ * map size will allow for a higher value to be used here before these effects
75
+ * become visible.
76
+ *
77
+ * The property has no effect when the shadow map type is `BasicShadowMap`.
78
+ *
79
+ * @default 1
71
80
  */
72
81
  radius: number;
73
-
74
82
  /**
75
83
  * The amount of samples to use when blurring a VSM shadow map.
76
- * @remarks Expects a `Integer`
77
- * @defaultValue `8`
84
+ *
85
+ * @default 8
78
86
  */
79
87
  blurSamples: number;
80
-
81
88
  /**
82
- * A {@link THREE.Vector2 | Vector2} defining the width and height of the shadow map.
83
- * @remarks Higher values give better quality shadows at the cost of computation time.
84
- * @remarks Values must be powers of 2, up to the {@link THREE.WebGLRenderer.capabilities | WebGLRenderer.capabilities}.maxTextureSize for a given device,
85
- * although the width and height don't have to be the same (so, for example, (512, 1024) is valid).
86
- * @defaultValue `new THREE.Vector2(512, 512)`
89
+ * Defines the width and height of the shadow map. Higher values give better quality
90
+ * shadows at the cost of computation time. Values must be powers of two.
91
+ *
92
+ * @default (512,512)
87
93
  */
88
94
  mapSize: Vector2;
89
-
90
95
  /**
91
96
  * The type of shadow texture. The default is `UnsignedByteType`.
92
97
  *
93
98
  * @default UnsignedByteType
94
99
  */
95
100
  mapType: TextureDataType;
96
-
97
101
  /**
98
- * The depth map generated using the internal camera; a location beyond a pixel's depth is in shadow. Computed internally during rendering.
99
- * @defaultValue null
102
+ * The depth map generated using the internal camera; a location beyond a
103
+ * pixel's depth is in shadow. Computed internally during rendering.
104
+ *
105
+ * @default null
100
106
  */
101
- map: WebGLRenderTarget | null;
102
-
107
+ map: RenderTarget | null;
103
108
  /**
104
- * The distribution map generated using the internal camera; an occlusion is calculated based on the distribution of depths. Computed internally during rendering.
105
- * @defaultValue null
109
+ * The distribution map generated using the internal camera; an occlusion is
110
+ * calculated based on the distribution of depths. Computed internally during
111
+ * rendering.
112
+ *
113
+ * @default null
106
114
  */
107
- mapPass: WebGLRenderTarget | null;
108
-
115
+ mapPass: RenderTarget | null;
109
116
  /**
110
117
  * Model to shadow camera space, to compute location and depth in shadow map.
111
- * Stored in a {@link Matrix4 | Matrix4}.
112
- * @remarks This is computed internally during rendering.
113
- * @defaultValue new THREE.Matrix4()
118
+ * This is computed internally during rendering.
114
119
  */
115
120
  matrix: Matrix4;
116
-
117
121
  /**
118
- * Enables automatic updates of the light's shadow. If you do not require dynamic lighting / shadows, you may set this to `false`.
119
- * @defaultValue `true`
122
+ * Enables automatic updates of the light's shadow. If you do not require dynamic
123
+ * lighting / shadows, you may set this to `false`.
124
+ *
125
+ * @default true
120
126
  */
121
127
  autoUpdate: boolean;
122
-
123
128
  /**
124
129
  * When set to `true`, shadow maps will be updated in the next `render` call.
125
- * If you have set {@link autoUpdate} to `false`, you will need to set this property to `true` and then make a render call to update the light's shadow.
126
- * @defaultValue `false`
130
+ * If you have set {@link LightShadow#autoUpdate} to `false`, you will need to
131
+ * set this property to `true` and then make a render call to update the light's shadow.
132
+ *
133
+ * @default false
127
134
  */
128
135
  needsUpdate: boolean;
129
-
130
136
  /**
131
- * Used internally by the renderer to get the number of viewports that need to be rendered for this shadow.
137
+ * Used internally by the renderer to get the number of viewports that need
138
+ * to be rendered for this shadow.
139
+ *
140
+ * @return {number} The viewport count.
132
141
  */
133
142
  getViewportCount(): number;
134
-
135
143
  /**
136
- * Copies value of all the properties from the {@link {@link LightShadow} | source} to this Light.
137
- * @param source
138
- */
139
- copy(source: LightShadow): this;
140
-
141
- /**
142
- * Creates a new {@link LightShadow} with the same properties as this one.
143
- */
144
- clone(recursive?: boolean): this;
145
-
146
- /**
147
- * Serialize this LightShadow.
148
- */
149
- toJSON(): LightShadowJSON;
150
-
151
- /**
152
- * Gets the shadow cameras frustum
153
- * @remarks
154
- * Used internally by the renderer to cull objects.
144
+ * Gets the shadow cameras frustum. Used internally by the renderer to cull objects.
145
+ *
146
+ * @return {Frustum} The shadow camera frustum.
155
147
  */
156
148
  getFrustum(): Frustum;
157
-
158
149
  /**
159
150
  * Update the matrices for the camera and shadow, used internally by the renderer.
160
- * @param light The light for which the shadow is being rendered.
151
+ *
152
+ * @param {Light} light - The light for which the shadow is being rendered.
161
153
  */
162
154
  updateMatrices(light: Light): void;
163
-
155
+ /**
156
+ * Returns a viewport definition for the given viewport index.
157
+ *
158
+ * @param {number} viewportIndex - The viewport index.
159
+ * @return {Vector4} The viewport.
160
+ */
164
161
  getViewport(viewportIndex: number): Vector4;
165
-
166
162
  /**
167
- * Used internally by the renderer to extend the shadow map to contain all viewports
163
+ * Returns the frame extends.
164
+ *
165
+ * @return {Vector2} The frame extends.
168
166
  */
169
167
  getFrameExtents(): Vector2;
170
-
171
168
  /**
172
- * Frees the GPU-related resources allocated by this instance
173
- * @remarks
174
- * Call this method whenever this instance is no longer used in your app.
169
+ * Frees the GPU-related resources allocated by this instance. Call this
170
+ * method whenever this instance is no longer used in your app.
175
171
  */
176
172
  dispose(): void;
173
+ /**
174
+ * Copies the values of the given light shadow instance to this instance.
175
+ *
176
+ * @param {LightShadow} source - The light shadow to copy.
177
+ * @return {LightShadow} A reference to this light shadow instance.
178
+ */
179
+ copy(source: LightShadow): this;
180
+ /**
181
+ * Returns a new light shadow instance with copied values from this instance.
182
+ *
183
+ * @return {LightShadow} A clone of this instance.
184
+ */
185
+ clone(): this;
186
+ /**
187
+ * Serializes the light shadow into JSON.
188
+ *
189
+ * @return {Object} A JSON object representing the serialized light shadow.
190
+ * @see {@link ObjectLoader#parse}
191
+ */
192
+ toJSON(): LightShadowJSON;
177
193
  }
@@ -1,102 +1,72 @@
1
+ import { JSONMeta } from "../core/Object3D.js";
1
2
  import { ColorRepresentation } from "../math/Color.js";
2
- import { Light } from "./Light.js";
3
+ import { Light, LightJSON } from "./Light.js";
4
+ import { LightShadowJSON } from "./LightShadow.js";
3
5
  import { PointLightShadow } from "./PointLightShadow.js";
4
6
 
7
+ export interface PointLightJSON extends LightJSON {
8
+ distance: number;
9
+ decay: number;
10
+
11
+ shadow: LightShadowJSON;
12
+ }
13
+
5
14
  /**
6
- * A light that gets emitted from a single point in all directions
7
- * @remarks
8
- * A common use case for this is to replicate the light emitted from a bare lightbulb.
9
- * @example
10
- * ```typescript
11
- * const light = new THREE.PointLight(0xff0000, 1, 100);
12
- * light.position.set(50, 50, 50);
13
- * scene.add(light);
15
+ * A light that gets emitted from a single point in all directions. A common
16
+ * use case for this is to replicate the light emitted from a bare
17
+ * lightbulb.
18
+ *
19
+ * This light can cast shadows - see the {@link PointLightShadow} for details.
20
+ *
21
+ * ```js
22
+ * const light = new THREE.PointLight( 0xff0000, 1, 100 );
23
+ * light.position.set( 50, 50, 50 );
24
+ * scene.add( light );
14
25
  * ```
15
- * @see Example: {@link https://threejs.org/examples/#webgl_lights_pointlights | lights / pointlights }
16
- * @see Example: {@link https://threejs.org/examples/#webgl_effects_anaglyph | effects / anaglyph }
17
- * @see Example: {@link https://threejs.org/examples/#webgl_geometry_text | geometry / text }
18
- * @see Example: {@link https://threejs.org/examples/#webgl_lensflares | lensflares }
19
- * @see {@link https://threejs.org/docs/index.html#api/en/lights/PointLight | Official Documentation}
20
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/PointLight.js | Source}
21
26
  */
22
- export class PointLight extends Light<PointLightShadow> {
27
+ export class PointLight extends Light {
23
28
  /**
24
- * Creates a new PointLight.
25
- * @param color Hexadecimal color of the light. Default is 0xffffff (white). Expects an `Integer`
26
- * @param intensity Numeric value of the light's strength/intensity. Expects a `Float`. Default `1`
27
- * @param distance Maximum range of the light. Default is 0 (no limit).
28
- * @param decay The amount the light dims along the distance of the light. Expects a `Float`. Default `2`
29
+ * Constructs a new point light.
30
+ *
31
+ * @param {(number|Color|string)} [color=0xffffff] - The light's color.
32
+ * @param {number} [intensity=1] - The light's strength/intensity measured in candela (cd).
33
+ * @param {number} [distance=0] - Maximum range of the light. `0` means no limit.
34
+ * @param {number} [decay=2] - The amount the light dims along the distance of the light.
29
35
  */
30
36
  constructor(color?: ColorRepresentation, intensity?: number, distance?: number, decay?: number);
31
-
32
- /**
33
- * Read-only flag to check if a given object is of type {@link PointLight}.
34
- * @remarks This is a _constant_ value
35
- * @defaultValue `true`
36
- */
37
- readonly isPointLight: true;
38
-
39
- /**
40
- * @default 'PointLight'
41
- */
42
- type: string;
43
-
44
37
  /**
45
- * The light's intensity.
38
+ * This flag can be used for type testing.
46
39
  *
47
- * When **{@link WebGLRenderer.useLegacyLights | legacy lighting mode} is disabled** — intensity is the luminous intensity of the light measured in candela (cd).
48
- * @remarks Changing the intensity will also change the light's power.
49
- * @remarks Expects a `Float`
50
- * @defaultValue `1`
40
+ * @default true
51
41
  */
52
- intensity: number;
53
-
42
+ readonly isPointLight: boolean;
54
43
  /**
55
- * When **Default mode** — When distance is zero, light does not attenuate. When distance is non-zero,
56
- * light will attenuate linearly from maximum intensity at the light's position down to zero at this distance from the light.
44
+ * When distance is zero, light will attenuate according to inverse-square
45
+ * law to infinite distance. When distance is non-zero, light will attenuate
46
+ * according to inverse-square law until near the distance cutoff, where it
47
+ * will then attenuate quickly and smoothly to 0. Inherently, cutoffs are not
48
+ * physically correct.
57
49
  *
58
- * When **{@link WebGLRenderer.useLegacyLights | legacy lighting mode} is disabled** — When distance is zero,
59
- * light will attenuate according to inverse-square law to infinite distance.
60
- * When distance is non-zero, light will attenuate according to inverse-square law until near the distance cutoff,
61
- * where it will then attenuate quickly and smoothly to 0. Inherently, cutoffs are not physically correct.
62
- *
63
- * @defaultValue `0.0`
64
- * @remarks Expects a `Float`
50
+ * @default 0
65
51
  */
66
52
  distance: number;
67
-
68
53
  /**
69
- * If set to `true` light will cast dynamic shadows.
70
- * **Warning**: This is expensive and requires tweaking to get shadows looking right.
71
- * @see {@link THREE.PointLightShadow | PointLightShadow} for details.
72
- * @defaultValue `false`
73
- */
74
- castShadow: boolean;
75
-
76
- /**
77
- * The amount the light dims along the distance of the light.
78
- * In context of physically-correct rendering the default value should not be changed.
79
- * @remarks Expects a `Float`
80
- * @defaultValue `2`
54
+ * The amount the light dims along the distance of the light. In context of
55
+ * physically-correct rendering the default value should not be changed.
56
+ *
57
+ * @default 2
81
58
  */
82
59
  decay: number;
83
-
84
60
  /**
85
- * A {@link THREE.PointLightShadow | PointLightShadow} used to calculate shadows for this light.
86
- * The lightShadow's {@link LightShadow.camera | camera} is set to
87
- * a {@link THREE.PerspectiveCamera | PerspectiveCamera} with {@link PerspectiveCamera.fov | fov} of 90,
88
- * {@link PerspectiveCamera.aspect | aspect} of 1,
89
- * {@link PerspectiveCamera.near | near} clipping plane at 0.5
90
- * and {@link PerspectiveCamera.far | far} clipping plane at 500.
91
- * @defaultValue new THREE.PointLightShadow()
61
+ * This property holds the light's shadow configuration.
92
62
  */
93
63
  shadow: PointLightShadow;
94
-
64
+ set power(power: number);
95
65
  /**
96
- * The light's power.
97
- * When **{@link WebGLRenderer.useLegacyLights | legacy lighting mode} is disabled** — power is the luminous power of the light measured in lumens (lm).
98
- * @remarks Changing the power will also change the light's intensity.
99
- * @remarks Expects a `Float`
66
+ * The light's power. Power is the luminous power of the light measured in lumens (lm).
67
+ * Changing the power will also change the light's intensity.
100
68
  */
101
- power: number;
69
+ get power(): number;
70
+ copy(source: PointLight, recursive?: boolean): this;
71
+ toJSON(meta?: JSONMeta): PointLightJSON;
102
72
  }
@@ -1,22 +1,18 @@
1
1
  import { PerspectiveCamera } from "../cameras/PerspectiveCamera.js";
2
- import { Light } from "./Light.js";
3
2
  import { LightShadow } from "./LightShadow.js";
4
3
 
5
4
  /**
6
- * Shadow for {@link THREE.PointLight | PointLight}
7
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/PointLightShadow.js | Source}
5
+ * Represents the shadow configuration of point lights.
8
6
  */
9
7
  export class PointLightShadow extends LightShadow<PerspectiveCamera> {
10
8
  /**
11
- * Read-only flag to check if a given object is of type {@link PointLightShadow}.
12
- * @remarks This is a _constant_ value
13
- * @defaultValue `true`
9
+ * Constructs a new point light shadow.
14
10
  */
15
- readonly isPointLightShadow = true;
16
-
11
+ constructor();
17
12
  /**
18
- * Update the matrices for the camera and shadow, used internally by the renderer.
19
- * @param light The light for which the shadow is being rendered.
13
+ * This flag can be used for type testing.
14
+ *
15
+ * @default true
20
16
  */
21
- override updateMatrices(light: Light, viewportIndex?: number): void;
17
+ readonly isPointLightShadow: boolean;
22
18
  }