@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
three/src/constants.d.ts CHANGED
@@ -50,13 +50,15 @@ export const AdditiveBlending: 2;
50
50
  export const SubtractiveBlending: 3;
51
51
  export const MultiplyBlending: 4;
52
52
  export const CustomBlending: 5;
53
+ export const MaterialBlending: 6;
53
54
  export type Blending =
54
55
  | typeof NoBlending
55
56
  | typeof NormalBlending
56
57
  | typeof AdditiveBlending
57
58
  | typeof SubtractiveBlending
58
59
  | typeof MultiplyBlending
59
- | typeof CustomBlending;
60
+ | typeof CustomBlending
61
+ | typeof MaterialBlending;
60
62
 
61
63
  // custom blending equations
62
64
  // (numbers start from 100 not to clash with other
@@ -508,6 +510,11 @@ export const RGB_ETC2_Format: 37492;
508
510
  */
509
511
  export const RGBA_ETC2_EAC_Format: 37496;
510
512
 
513
+ export const R11_EAC_Format: 37488;
514
+ export const SIGNED_R11_EAC_Format: 37489;
515
+ export const RG11_EAC_Format: 37490;
516
+ export const SIGNED_RG11_EAC_Format: 37491;
517
+
511
518
  // ASTC compressed texture formats
512
519
 
513
520
  /**
@@ -598,6 +605,10 @@ export type CompressedPixelFormat =
598
605
  | typeof RGB_ETC1_Format
599
606
  | typeof RGB_ETC2_Format
600
607
  | typeof RGBA_ETC2_EAC_Format
608
+ | typeof R11_EAC_Format
609
+ | typeof SIGNED_R11_EAC_Format
610
+ | typeof RG11_EAC_Format
611
+ | typeof SIGNED_RG11_EAC_Format
601
612
  | typeof RGBA_ASTC_4x4_Format
602
613
  | typeof RGBA_ASTC_5x4_Format
603
614
  | typeof RGBA_ASTC_5x5_Format
@@ -642,7 +653,12 @@ export type AnimationActionLoopStyles = typeof LoopOnce | typeof LoopRepeat | ty
642
653
  export const InterpolateDiscrete: 2300;
643
654
  export const InterpolateLinear: 2301;
644
655
  export const InterpolateSmooth: 2302;
645
- export type InterpolationModes = typeof InterpolateDiscrete | typeof InterpolateLinear | typeof InterpolateSmooth;
656
+ export const InterpolateBezier: 2303;
657
+ export type InterpolationModes =
658
+ | typeof InterpolateDiscrete
659
+ | typeof InterpolateLinear
660
+ | typeof InterpolateSmooth
661
+ | typeof InterpolateBezier;
646
662
 
647
663
  // Interpolant ending modes
648
664
  export const ZeroCurvatureEnding: 2400;
@@ -693,6 +709,11 @@ export const LinearTransfer: "linear";
693
709
  export const SRGBTransfer: "srgb";
694
710
  export type ColorSpaceTransfer = typeof LinearTransfer | typeof SRGBTransfer;
695
711
 
712
+ export const NoNormalPacking: "";
713
+ export const NormalRGPacking: "rg";
714
+ export const NormalGAPacking: "ga";
715
+ export type NormalPacking = typeof NoNormalPacking | typeof NormalRGPacking | typeof NormalGAPacking;
716
+
696
717
  // Stencil Op types
697
718
  export const ZeroStencilOp: 0;
698
719
  export const KeepStencilOp: 7680;
@@ -810,6 +831,11 @@ export type InterpolationSamplingMode =
810
831
  | typeof InterpolationSamplingMode.FIRST
811
832
  | typeof InterpolationSamplingMode.EITHER;
812
833
 
834
+ export const Compatibility: {
835
+ TEXTURE_COMPARE: "depthTextureCompare";
836
+ };
837
+ export type Compatibility = typeof Compatibility.TEXTURE_COMPARE;
838
+
813
839
  ///////////////////////////////////////////////////////////////////////////////
814
840
  // Texture - Internal Pixel Formats
815
841
 
@@ -163,6 +163,8 @@ export class BufferGeometry<
163
163
 
164
164
  indirect: IndirectStorageBufferAttribute | null;
165
165
 
166
+ indirectOffset: number | number[];
167
+
166
168
  /**
167
169
  * This hashmap has as id the name of the attribute to be set and as value the {@link THREE.BufferAttribute | buffer} to set it to. Rather than accessing this property directly,
168
170
  * use {@link setAttribute | .setAttribute} and {@link getAttribute | .getAttribute} to access attributes of this geometry.
@@ -243,7 +245,7 @@ export class BufferGeometry<
243
245
  */
244
246
  setIndex(index: BufferAttribute | number[] | null): this;
245
247
 
246
- setIndirect(indirect: IndirectStorageBufferAttribute | null): this;
248
+ setIndirect(indirect: IndirectStorageBufferAttribute | null, indirectOffset?: number | number[]): this;
247
249
 
248
250
  getIndirect(): IndirectStorageBufferAttribute | null;
249
251
 
three/src/core/Clock.d.ts CHANGED
@@ -3,10 +3,13 @@
3
3
  * [performance.now]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance/now}.
4
4
  * @see [Official Documentation]{@link https://threejs.org/docs/index.html#api/en/core/Clock}
5
5
  * @see [Source]{@link https://github.com/mrdoob/three.js/blob/master/src/core/Clock.js}
6
+ *
7
+ * @deprecated Please use THREE.Timer instead.
6
8
  */
7
9
  export class Clock {
8
10
  /**
9
11
  * Create a new instance of {@link THREE.Clock | Clock}
12
+ * @deprecated Please use THREE.Timer instead.
10
13
  * @param autoStart - Whether to automatically start the clock when {@link getDelta | .getDelta()} is called for the first time. Default `true`
11
14
  */
12
15
  constructor(autoStart?: boolean);
@@ -28,12 +28,15 @@ export interface Object3DJSONObject {
28
28
  visible?: boolean;
29
29
  frustumCulled?: boolean;
30
30
  renderOrder?: number;
31
+ static?: boolean;
31
32
  userData?: Record<string, unknown>;
32
33
 
33
34
  layers: number;
34
35
  matrix: Matrix4Tuple;
35
36
  up: Vector3Tuple;
36
37
 
38
+ pivot?: Vector3Tuple;
39
+
37
40
  matrixAutoUpdate?: boolean;
38
41
 
39
42
  material?: string | string[];
@@ -265,13 +268,6 @@ export class Object3D<TEventMap extends Object3DEventMap = Object3DEventMap> ext
265
268
  */
266
269
  animations: AnimationClip[];
267
270
 
268
- /**
269
- * An object that can be used to store custom data about the {@link Object3D}.
270
- * @remarks It should not hold references to _functions_ as these **will not** be cloned.
271
- * @default `{}`
272
- */
273
- userData: Record<string, any>;
274
-
275
271
  /**
276
272
  * Custom depth material to be used when rendering to the depth map.
277
273
  * @remarks Can only be used in context of meshes.
@@ -287,6 +283,34 @@ export class Object3D<TEventMap extends Object3DEventMap = Object3DEventMap> ext
287
283
  */
288
284
  customDistanceMaterial?: Material | undefined;
289
285
 
286
+ /**
287
+ * Whether the 3D object is supposed to be static or not. If set to `true`, it means
288
+ * the 3D object is not going to be changed after the initial renderer. This includes
289
+ * geometry and material settings. A static 3D object can be processed by the renderer
290
+ * slightly faster since certain state checks can be bypassed.
291
+ *
292
+ * Only relevant in context of {@link WebGPURenderer}.
293
+ *
294
+ * @default false
295
+ */
296
+ static: boolean;
297
+
298
+ /**
299
+ * An object that can be used to store custom data about the {@link Object3D}.
300
+ * @remarks It should not hold references to _functions_ as these **will not** be cloned.
301
+ * @default `{}`
302
+ */
303
+ userData: Record<string, any>;
304
+
305
+ /**
306
+ * The pivot point for rotation and scale transformations.
307
+ * When set, rotation and scale are applied around this point
308
+ * instead of the object's origin.
309
+ *
310
+ * @default null
311
+ */
312
+ pivot: Vector3 | null;
313
+
290
314
  /**
291
315
  * An optional callback that is executed immediately before a 3D object is rendered to a shadow map.
292
316
  * @remarks This function is called with the following parameters: renderer, scene, camera, shadowCamera, geometry,
@@ -14,7 +14,7 @@ declare abstract class Controls<TEventMap extends {}> extends EventDispatcher<TE
14
14
  * The HTML element used for event listeners. If not provided via the constructor, {@link .connect} must be called
15
15
  * after `domElement` has been set.
16
16
  */
17
- domElement: HTMLElement | null;
17
+ domElement: HTMLElement | SVGElement | null;
18
18
 
19
19
  /**
20
20
  * When set to `false`, the controls will not respond to user input. Default is `true`.
@@ -26,13 +26,13 @@ declare abstract class Controls<TEventMap extends {}> extends EventDispatcher<TE
26
26
  * @param object The object the controls should manage (usually the camera).
27
27
  * @param domElement The HTML element used for event listeners. (optional)
28
28
  */
29
- constructor(object: Object3D, domElement?: HTMLElement | null);
29
+ constructor(object: Object3D, domElement?: HTMLElement | SVGElement | null);
30
30
 
31
31
  /**
32
32
  * Connects the controls to the DOM. This method has so called "side effects" since it adds the module's event
33
33
  * listeners to the DOM.
34
34
  */
35
- connect(element: HTMLElement): void;
35
+ connect(element: HTMLElement | SVGElement): void;
36
36
 
37
37
  /**
38
38
  * Disconnects the controls from the DOM.
@@ -1,5 +1,13 @@
1
1
  import { BufferGeometry } from "../core/BufferGeometry.js";
2
2
 
3
+ export interface TorusGeometryJSON {
4
+ radius: number;
5
+ tube: number;
6
+ radialSegments: number;
7
+ tubularSegments: number;
8
+ arc: number;
9
+ }
10
+
3
11
  /**
4
12
  * A class for generating torus geometries.
5
13
  * @example
@@ -21,8 +29,18 @@ export class TorusGeometry extends BufferGeometry {
21
29
  * @param radialSegments Default is `12`.
22
30
  * @param tubularSegments Default is `48`.
23
31
  * @param arc Central angle. Default is Math.PI * 2.
32
+ * @param {number} [thetaStart=0] - Start of the tubular sweep in radians.
33
+ * @param {number} [thetaLength=Math.PI times 2] - Length of the tubular sweep in radians.
24
34
  */
25
- constructor(radius?: number, tube?: number, radialSegments?: number, tubularSegments?: number, arc?: number);
35
+ constructor(
36
+ radius?: number,
37
+ tube?: number,
38
+ radialSegments?: number,
39
+ tubularSegments?: number,
40
+ arc?: number,
41
+ thetaStart?: number,
42
+ thetaLength?: number,
43
+ );
26
44
 
27
45
  /**
28
46
  * A Read-only _string_ to check if `this` object type.
@@ -41,8 +59,9 @@ export class TorusGeometry extends BufferGeometry {
41
59
  readonly radialSegments: number;
42
60
  readonly tubularSegments: number;
43
61
  readonly arc: number;
62
+ readonly thetaStart: number;
63
+ readonly thetaLength: number;
44
64
  };
45
65
 
46
- /** @internal */
47
- static fromJSON(data: any): TorusGeometry;
66
+ static fromJSON(data: TorusGeometryJSON): TorusGeometry;
48
67
  }
@@ -6,30 +6,31 @@ import { Mesh } from "../objects/Mesh.js";
6
6
 
7
7
  /**
8
8
  * An 3D arrow object for visualizing directions.
9
- * @example
10
- * ```typescript
11
- * const dir = new THREE.Vector3(1, 2, 0);
9
+ *
10
+ * ```js
11
+ * const dir = new THREE.Vector3( 1, 2, 0 );
12
+ *
12
13
  * //normalize the direction vector (convert to vector of length 1)
13
14
  * dir.normalize();
14
- * const origin = new THREE.Vector3(0, 0, 0);
15
+ *
16
+ * const origin = new THREE.Vector3( 0, 0, 0 );
15
17
  * const length = 1;
16
18
  * const hex = 0xffff00;
17
- * const {@link ArrowHelper} = new THREE.ArrowHelper(dir, origin, length, hex);
18
- * scene.add(arrowHelper);
19
+ *
20
+ * const arrowHelper = new THREE.ArrowHelper( dir, origin, length, hex );
21
+ * scene.add( arrowHelper );
19
22
  * ```
20
- * @see Example: {@link https://threejs.org/examples/#webgl_shadowmesh | WebGL / shadowmesh}
21
- * @see {@link https://threejs.org/docs/index.html#api/en/helpers/ArrowHelper | Official Documentation}
22
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/helpers/ArrowHelper.js | Source}
23
23
  */
24
24
  export class ArrowHelper extends Object3D {
25
25
  /**
26
- * Create a new instance of {@link ArrowHelper}
27
- * @param dir Direction from origin. Must be a unit vector. Default `new THREE.Vector3(0, 0, 1)`
28
- * @param origin Point at which the arrow starts. Default `new THREE.Vector3(0, 0, 0)`
29
- * @param length Length of the arrow. Default `1`
30
- * @param hex Hexadecimal value to define color. Default `0xffff00`
31
- * @param headLength The length of the head of the arrow. Default `0.2 * length`
32
- * @param headWidth The width of the head of the arrow. Default `0.2 * headLength`
26
+ * Constructs a new arrow helper.
27
+ *
28
+ * @param {Vector3} [dir=(0, 0, 1)] - The (normalized) direction vector.
29
+ * @param {Vector3} [origin=(0, 0, 0)] - Point at which the arrow starts.
30
+ * @param {number} [length=1] - Length of the arrow in world units.
31
+ * @param {(number|Color|string)} [color=0xffff00] - Color of the arrow.
32
+ * @param {number} [headLength=length times 0.2] - The length of the head of the arrow.
33
+ * @param {number} [headWidth=headLength times 0.2] - The width of the head of the arrow.
33
34
  */
34
35
  constructor(
35
36
  dir?: Vector3,
@@ -39,55 +40,38 @@ export class ArrowHelper extends Object3D {
39
40
  headLength?: number,
40
41
  headWidth?: number,
41
42
  );
42
-
43
- /**
44
- * A Read-only _string_ to check if `this` object type.
45
- * @remarks Sub-classes will update this value.
46
- * @override
47
- * @defaultValue `ArrowHelper`
48
- */
49
- override readonly type: string | "ArrowHelper";
50
-
51
43
  /**
52
- * Contains the line part of the arrowHelper.
44
+ * The line part of the arrow helper.
53
45
  */
54
46
  line: Line;
55
-
56
47
  /**
57
- * Contains the cone part of the arrowHelper.
48
+ * The cone part of the arrow helper.
58
49
  */
59
50
  cone: Mesh;
60
-
61
- /**
62
- * Sets the color of the arrowHelper.
63
- * @param color The desired color.
64
- */
65
- setColor(color: ColorRepresentation): void;
66
-
67
51
  /**
68
- * @param dir The desired direction. Must be a unit vector.
52
+ * Sets the direction of the helper.
53
+ *
54
+ * @param {Vector3} dir - The normalized direction vector.
69
55
  */
70
56
  setDirection(dir: Vector3): void;
71
-
72
57
  /**
73
- * Sets the length of the arrowhelper.
74
- * @param length The desired length.
75
- * @param headLength The length of the head of the arrow. Default `0.2 * length`
76
- * @param headWidth The width of the head of the arrow. Default `0.2 * headLength`
58
+ * Sets the length of the helper.
59
+ *
60
+ * @param {number} length - Length of the arrow in world units.
61
+ * @param {number} [headLength=length times 0.2] - The length of the head of the arrow.
62
+ * @param {number} [headWidth=headLength times 0.2] - The width of the head of the arrow.
77
63
  */
78
64
  setLength(length: number, headLength?: number, headWidth?: number): void;
79
-
80
65
  /**
81
- * Copy the given object into this object
82
- * @remarks Note: event listeners and user-defined callbacks ({@link onAfterRender | .onAfterRender} and {@link onBeforeRender | .onBeforeRender}) are not copied.
83
- * @param source
66
+ * Sets the color of the helper.
67
+ *
68
+ * @param {number|Color|string} color - The color to set.
84
69
  */
85
- override copy(source: this): this;
86
-
70
+ setColor(color: ColorRepresentation): void;
71
+ copy(source: ArrowHelper): this;
87
72
  /**
88
- * Frees the GPU-related resources allocated by this instance
89
- * @remarks
90
- * Call this method whenever this instance is no longer used in your app.
73
+ * Frees the GPU-related resources allocated by this instance. Call this
74
+ * method whenever this instance is no longer used in your app.
91
75
  */
92
76
  dispose(): void;
93
77
  }
@@ -1,52 +1,38 @@
1
- import { BufferGeometry } from "../core/BufferGeometry.js";
2
- import { LineBasicMaterial } from "../materials/LineBasicMaterial.js";
3
1
  import { ColorRepresentation } from "../math/Color.js";
4
2
  import { LineSegments } from "../objects/LineSegments.js";
5
3
 
6
4
  /**
7
5
  * An axis object to visualize the 3 axes in a simple way.
8
- * @remarks
9
- * The X axis is red
10
- * The Y axis is green
11
- * The Z axis is blue.
12
- * @example
13
- * ```typescript
14
- * const {@link AxesHelper} = new THREE.AxesHelper(5);
15
- * scene.add(axesHelper);
6
+ * The X axis is red. The Y axis is green. The Z axis is blue.
7
+ *
8
+ * ```js
9
+ * const axesHelper = new THREE.AxesHelper( 5 );
10
+ * scene.add( axesHelper );
16
11
  * ```
17
- * @see Example: {@link https://threejs.org/examples/#webgl_buffergeometry_compression | WebGL / buffergeometry / compression}
18
- * @see Example: {@link https://threejs.org/examples/#webgl_geometry_convex | WebGL / geometry / convex}
19
- * @see Example: {@link https://threejs.org/examples/#webgl_loader_nrrd | WebGL / loader / nrrd}
20
- * @see {@link https://threejs.org/docs/index.html#api/en/helpers/AxesHelper | Official Documentation}
21
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/helpers/AxesHelper.js | Source}
22
12
  */
23
- export class AxesHelper extends LineSegments<BufferGeometry, LineBasicMaterial> {
13
+ export class AxesHelper extends LineSegments {
24
14
  /**
25
- * Create a new instance of {@link AxesHelper}
26
- * @param size Size of the lines representing the axes. Default `1`
15
+ * Constructs a new axes helper.
16
+ *
17
+ * @param {number} [size=1] - Size of the lines representing the axes.
27
18
  */
28
19
  constructor(size?: number);
29
-
30
20
  /**
31
- * A Read-only _string_ to check if `this` object type.
32
- * @remarks Sub-classes will update this value.
33
- * @override
34
- * @defaultValue `AxesHelper`
21
+ * Defines the colors of the axes helper.
22
+ *
23
+ * @param {number|Color|string} xAxisColor - The color for the x axis.
24
+ * @param {number|Color|string} yAxisColor - The color for the y axis.
25
+ * @param {number|Color|string} zAxisColor - The color for the z axis.
26
+ * @return {AxesHelper} A reference to this axes helper.
35
27
  */
36
- override readonly type: string | "AxesHelper";
37
-
38
- /**
39
- * Sets the axes colors to {@link Color | xAxisColor}, {@link Color | yAxisColor}, {@link Color | zAxisColor}.
40
- * @param xAxisColor
41
- * @param yAxisColor
42
- * @param zAxisColor
43
- */
44
- setColors(xAxisColor: ColorRepresentation, yAxisColor: ColorRepresentation, zAxisColor: ColorRepresentation): this;
45
-
28
+ setColors(
29
+ xAxisColor: ColorRepresentation,
30
+ yAxisColor: ColorRepresentation,
31
+ zAxisColor: ColorRepresentation,
32
+ ): AxesHelper;
46
33
  /**
47
- * Frees the GPU-related resources allocated by this instance
48
- * @remarks
49
- * Call this method whenever this instance is no longer used in your app.
34
+ * Frees the GPU-related resources allocated by this instance. Call this
35
+ * method whenever this instance is no longer used in your app.
50
36
  */
51
37
  dispose(): void;
52
38
  }
@@ -3,42 +3,31 @@ import { ColorRepresentation } from "../math/Color.js";
3
3
  import { LineSegments } from "../objects/LineSegments.js";
4
4
 
5
5
  /**
6
- * Helper object to visualize a {@link THREE.Box3 | Box3}.
7
- * @example
8
- * ```typescript
6
+ * A helper object to visualize an instance of {@link Box3}.
7
+ *
8
+ * ```js
9
9
  * const box = new THREE.Box3();
10
- * box.setFromCenterAndSize(new THREE.Vector3(1, 1, 1), new THREE.Vector3(2, 1, 3));
11
- * const helper = new THREE.Box3Helper(box, 0xffff00);
12
- * scene.add(helper);
10
+ * box.setFromCenterAndSize( new THREE.Vector3( 1, 1, 1 ), new THREE.Vector3( 2, 1, 3 ) );
11
+ *
12
+ * const helper = new THREE.Box3Helper( box, 0xffff00 );
13
+ * scene.add( helper )
13
14
  * ```
14
- * @see {@link https://threejs.org/docs/index.html#api/en/helpers/Box3Helper | Official Documentation}
15
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/helpers/Box3Helper.js | Source}
16
15
  */
17
16
  export class Box3Helper extends LineSegments {
18
17
  /**
19
- * Creates a new wireframe box that represents the passed Box3.
20
- * @param box The Box3 to show.
21
- * @param color The box's color. Default `0xffff00`
18
+ * Constructs a new box3 helper.
19
+ *
20
+ * @param {Box3} box - The box to visualize.
21
+ * @param {number|Color|string} [color=0xffff00] - The box's color.
22
22
  */
23
23
  constructor(box: Box3, color?: ColorRepresentation);
24
-
25
24
  /**
26
- * A Read-only _string_ to check if `this` object type.
27
- * @remarks Sub-classes will update this value.
28
- * @override
29
- * @defaultValue `Box3Helper`
30
- */
31
- override readonly type: string | "Box3Helper";
32
-
33
- /**
34
- * The Box3 being visualized.
25
+ * The box being visualized.
35
26
  */
36
27
  box: Box3;
37
-
38
28
  /**
39
- * Frees the GPU-related resources allocated by this instance
40
- * @remarks
41
- * Call this method whenever this instance is no longer used in your app.
29
+ * Frees the GPU-related resources allocated by this instance. Call this
30
+ * method whenever this instance is no longer used in your app.
42
31
  */
43
32
  dispose(): void;
44
33
  }
@@ -1,64 +1,53 @@
1
1
  import { BufferGeometry } from "../core/BufferGeometry.js";
2
2
  import { Object3D } from "../core/Object3D.js";
3
3
  import { LineBasicMaterial } from "../materials/LineBasicMaterial.js";
4
+ import { Box3 } from "../math/Box3.js";
4
5
  import { ColorRepresentation } from "../math/Color.js";
5
6
  import { LineSegments } from "../objects/LineSegments.js";
6
7
 
7
8
  /**
8
- * Helper object to graphically show the world-axis-aligned bounding box around an object
9
- * @remarks
10
- * The actual bounding box is handled with {@link THREE.Box3 | Box3}, this is just a visual helper for debugging
11
- * It can be automatically resized with the {@link THREE.BoxHelper.update | BoxHelper.update} method when the object it's created from is transformed
12
- * Note that the object must have a {@link THREE.BufferGeometry | BufferGeometry} for this to work, so it won't work with {@link Sprite | Sprites}.
13
- * @example
14
- * ```typescript
9
+ * Helper object to graphically show the world-axis-aligned bounding box
10
+ * around an object. The actual bounding box is handled with {@link Box3},
11
+ * this is just a visual helper for debugging. It can be automatically
12
+ * resized with {@link BoxHelper#update} when the object it's created from
13
+ * is transformed. Note that the object must have a geometry for this to work,
14
+ * so it won't work with sprites.
15
+ *
16
+ * ```js
15
17
  * const sphere = new THREE.SphereGeometry();
16
- * const object = new THREE.Mesh(sphere, new THREE.MeshBasicMaterial(0xff0000));
17
- * const box = new THREE.BoxHelper(object, 0xffff00);
18
- * scene.add(box);
18
+ * const object = new THREE.Mesh( sphere, new THREE.MeshBasicMaterial( 0xff0000 ) );
19
+ * const box = new THREE.BoxHelper( object, 0xffff00 );
20
+ * scene.add( box );
19
21
  * ```
20
- * @see Example: {@link https://threejs.org/examples/#webgl_helpers | WebGL / helpers}
21
- * @see Example: {@link https://threejs.org/examples/#webgl_loader_nrrd | WebGL / loader / nrrd}
22
- * @see Example: {@link https://threejs.org/examples/#webgl_buffergeometry_drawrange | WebGL / buffergeometry / drawrange}
23
- * @see {@link https://threejs.org/docs/index.html#api/en/helpers/BoxHelper | Official Documentation}
24
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/helpers/BoxHelper.js | Source}
25
22
  */
26
23
  export class BoxHelper extends LineSegments<BufferGeometry, LineBasicMaterial> {
27
24
  /**
28
- * Creates a new wireframe box that bounds the passed object
29
- * @remarks
30
- * Internally this uses {@link THREE.Box3.setFromObject | Box3.setFromObject} to calculate the dimensions
31
- * Note that this includes any children.
32
- * @param object The object3D to show the world-axis-aligned bounding box.
33
- * @param color Hexadecimal value that defines the box's color. Default `0xffff00`
25
+ * Constructs a new box helper.
26
+ *
27
+ * @param {Object3D} [object] - The 3D object to show the world-axis-aligned bounding box.
28
+ * @param {number|Color|string} [color=0xffff00] - The box's color.
34
29
  */
35
30
  constructor(object: Object3D, color?: ColorRepresentation);
36
-
37
31
  /**
38
- * A Read-only _string_ to check if `this` object type.
39
- * @remarks Sub-classes will update this value.
40
- * @override
41
- * @defaultValue `BoxHelper`
32
+ * The 3D object being visualized.
42
33
  */
43
- override readonly type: string | "BoxHelper";
44
-
34
+ object: Object3D;
45
35
  /**
46
- * Updates the helper's geometry to match the dimensions of the object, including any children
47
- * @remarks
48
- * See {@link THREE.Box3.setFromObject | Box3.setFromObject}.
36
+ * Updates the helper's geometry to match the dimensions of the object,
37
+ * including any children.
49
38
  */
50
- update(object?: Object3D): void;
51
-
39
+ update(): void;
52
40
  /**
53
41
  * Updates the wireframe box for the passed object.
54
- * @param object {@link THREE.Object3D | Object3D} to create the helper of.
42
+ *
43
+ * @param {Object3D} object - The 3D object to create the helper for.
44
+ * @return {BoxHelper} A reference to this instance.
55
45
  */
56
- setFromObject(object: Object3D): this;
57
-
46
+ setFromObject(object: Object3D): BoxHelper;
47
+ copy(source: BoxHelper, recursive?: boolean): this;
58
48
  /**
59
- * Frees the GPU-related resources allocated by this instance
60
- * @remarks
61
- * Call this method whenever this instance is no longer used in your app.
49
+ * Frees the GPU-related resources allocated by this instance. Call this
50
+ * method whenever this instance is no longer used in your app.
62
51
  */
63
52
  dispose(): void;
64
53
  }