@types/three 0.165.0 → 0.167.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 (330) hide show
  1. three/README.md +1 -1
  2. three/build/three.webgpu.d.ts +1 -0
  3. three/build/three.webgpu.min.d.ts +1 -0
  4. three/examples/jsm/Addons.d.ts +1 -1
  5. three/examples/jsm/animation/MMDPhysics.d.ts +4 -4
  6. three/examples/jsm/csm/CSM.d.ts +3 -4
  7. three/examples/jsm/csm/CSMFrustum.d.ts +1 -1
  8. three/examples/jsm/exporters/GLTFExporter.d.ts +6 -0
  9. three/examples/jsm/geometries/TeapotGeometry.d.ts +24 -0
  10. three/examples/jsm/helpers/ViewHelper.d.ts +8 -6
  11. three/examples/jsm/lights/RectAreaLightTexturesLib.d.ts +7 -0
  12. three/examples/jsm/lights/RectAreaLightUniformsLib.d.ts +4 -2
  13. three/examples/jsm/lines/LineMaterial.d.ts +2 -4
  14. three/examples/jsm/lines/webgpu/Line2.d.ts +14 -0
  15. three/examples/jsm/lines/webgpu/LineSegments2.d.ts +15 -0
  16. three/examples/jsm/loaders/DDSLoader.d.ts +8 -2
  17. three/examples/jsm/loaders/GLTFLoader.d.ts +3 -1
  18. three/examples/jsm/loaders/KTX2Loader.d.ts +1 -2
  19. three/examples/jsm/loaders/KTXLoader.d.ts +8 -2
  20. three/examples/jsm/loaders/LUTImageLoader.d.ts +18 -0
  21. three/examples/jsm/loaders/MaterialXLoader.d.ts +1 -2
  22. three/examples/jsm/loaders/PVRLoader.d.ts +2 -2
  23. three/examples/jsm/loaders/UltraHDRLoader.d.ts +21 -0
  24. three/package.json +6 -5
  25. three/src/Three.WebGPU.d.ts +184 -0
  26. three/src/Three.d.ts +26 -91
  27. three/src/animation/AnimationClip.d.ts +12 -4
  28. three/src/animation/AnimationUtils.d.ts +32 -7
  29. three/src/animation/KeyframeTrack.d.ts +9 -1
  30. three/src/animation/PropertyBinding.d.ts +12 -12
  31. three/src/cameras/OrthographicCamera.d.ts +27 -0
  32. three/src/cameras/PerspectiveCamera.d.ts +31 -0
  33. three/src/constants.d.ts +13 -1
  34. three/src/core/BufferAttribute.d.ts +11 -6
  35. three/src/core/BufferGeometry.d.ts +26 -3
  36. three/src/core/InterleavedBufferAttribute.d.ts +3 -3
  37. three/src/core/Object3D.d.ts +51 -6
  38. three/src/extras/DataUtils.d.ts +9 -2
  39. three/src/extras/ImageUtils.d.ts +6 -7
  40. three/src/extras/ShapeUtils.d.ts +5 -8
  41. three/src/extras/TextureUtils.d.ts +42 -0
  42. three/src/extras/core/Curve.d.ts +8 -2
  43. three/src/extras/core/CurvePath.d.ts +9 -1
  44. three/src/extras/core/Path.d.ts +9 -2
  45. three/src/extras/core/Shape.d.ts +9 -1
  46. three/src/lights/Light.d.ts +19 -2
  47. three/src/lights/LightShadow.d.ts +18 -2
  48. three/src/lights/webgpu/IESSpotLight.d.ts +6 -0
  49. three/src/loaders/Cache.d.ts +13 -8
  50. three/src/materials/Material.d.ts +185 -14
  51. three/src/materials/ShaderMaterial.d.ts +49 -2
  52. three/src/math/ColorManagement.d.ts +3 -0
  53. three/src/math/Euler.d.ts +4 -2
  54. three/src/math/Matrix2.d.ts +53 -0
  55. three/src/math/Matrix3.d.ts +67 -115
  56. three/src/math/Matrix4.d.ts +48 -100
  57. three/src/math/Quaternion.d.ts +5 -3
  58. three/src/math/Vector2.d.ts +1 -1
  59. three/src/math/Vector4.d.ts +6 -0
  60. three/{examples/jsm → src}/nodes/Nodes.d.ts +37 -7
  61. three/{examples/jsm → src}/nodes/accessors/BatchNode.d.ts +1 -1
  62. three/{examples/jsm → src}/nodes/accessors/BufferAttributeNode.d.ts +5 -1
  63. three/{examples/jsm → src}/nodes/accessors/CameraNode.d.ts +3 -1
  64. three/{examples/jsm → src}/nodes/accessors/CubeTextureNode.d.ts +11 -3
  65. three/{examples/jsm → src}/nodes/accessors/InstanceNode.d.ts +1 -1
  66. three/{examples/jsm → src}/nodes/accessors/MaterialNode.d.ts +11 -2
  67. three/{examples/jsm → src}/nodes/accessors/MaterialReferenceNode.d.ts +1 -1
  68. three/{examples/jsm → src}/nodes/accessors/ModelNode.d.ts +1 -1
  69. three/{examples/jsm → src}/nodes/accessors/NormalNode.d.ts +3 -3
  70. three/{examples/jsm → src}/nodes/accessors/Object3DNode.d.ts +1 -1
  71. three/{examples/jsm → src}/nodes/accessors/ReflectVectorNode.d.ts +3 -0
  72. three/{examples/jsm → src}/nodes/accessors/SkinningNode.d.ts +1 -1
  73. three/{examples/jsm → src}/nodes/accessors/StorageBufferNode.d.ts +7 -0
  74. three/src/nodes/accessors/StorageTextureNode.d.ts +40 -0
  75. three/{examples/jsm → src}/nodes/accessors/Texture3DNode.d.ts +3 -2
  76. three/{examples/jsm → src}/nodes/accessors/TextureNode.d.ts +9 -2
  77. three/{examples/jsm → src}/nodes/core/CacheNode.d.ts +4 -5
  78. three/{examples/jsm → src}/nodes/core/IndexNode.d.ts +3 -1
  79. three/{examples/jsm → src}/nodes/core/LightingModel.d.ts +12 -3
  80. three/src/nodes/core/MRTNode.d.ts +19 -0
  81. three/{examples/jsm → src}/nodes/core/Node.d.ts +6 -10
  82. three/{examples/jsm → src}/nodes/core/NodeBuilder.d.ts +13 -3
  83. three/{examples/jsm → src}/nodes/core/NodeCache.d.ts +13 -4
  84. three/{examples/jsm → src}/nodes/core/NodeFrame.d.ts +5 -2
  85. three/{examples/jsm → src}/nodes/core/NodeFunction.d.ts +2 -2
  86. three/{examples/jsm → src}/nodes/core/NodeUniform.d.ts +1 -1
  87. three/{examples/jsm → src}/nodes/core/NodeUtils.d.ts +6 -1
  88. three/{examples/jsm → src}/nodes/core/PropertyNode.d.ts +1 -0
  89. three/{examples/jsm → src}/nodes/core/UniformNode.d.ts +2 -0
  90. three/{examples/jsm → src}/nodes/core/VarNode.d.ts +2 -0
  91. three/{examples/jsm → src}/nodes/display/AnamorphicNode.d.ts +1 -1
  92. three/src/nodes/display/BloomNode.d.ts +35 -0
  93. three/{examples/jsm → src}/nodes/display/ColorAdjustmentNode.d.ts +0 -1
  94. three/{examples/jsm → src}/nodes/display/ColorSpaceNode.d.ts +1 -1
  95. three/src/nodes/display/DenoiseNode.d.ts +38 -0
  96. three/src/nodes/display/DepthOfFieldNode.d.ts +30 -0
  97. three/src/nodes/display/DotScreenNode.d.ts +27 -0
  98. three/src/nodes/display/FXAANode.d.ts +19 -0
  99. three/src/nodes/display/FilmNode.d.ts +25 -0
  100. three/src/nodes/display/GTAONode.d.ts +46 -0
  101. three/{examples/jsm → src}/nodes/display/GaussianBlurNode.d.ts +8 -5
  102. three/src/nodes/display/Lut3DNode.d.ts +30 -0
  103. three/{examples/jsm → src}/nodes/display/NormalMapNode.d.ts +1 -2
  104. three/src/nodes/display/PassNode.d.ts +62 -0
  105. three/src/nodes/display/PixelationPassNode.d.ts +67 -0
  106. three/src/nodes/display/RGBShiftNode.d.ts +24 -0
  107. three/src/nodes/display/RenderOutputNode.d.ts +28 -0
  108. three/src/nodes/display/SobelOperatorNode.d.ts +17 -0
  109. three/{examples/jsm → src}/nodes/display/ToneMappingNode.d.ts +1 -1
  110. three/src/nodes/display/TransitionNode.d.ts +41 -0
  111. three/{examples/jsm → src}/nodes/display/ViewportDepthNode.d.ts +4 -6
  112. three/{examples/jsm → src}/nodes/display/ViewportTextureNode.d.ts +1 -1
  113. three/src/nodes/functions/BSDF/LTC.d.ts +9 -0
  114. three/{examples/jsm → src}/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +1 -1
  115. three/src/nodes/functions/BasicLightingModel.d.ts +7 -0
  116. three/src/nodes/functions/PhongLightingModel.d.ts +7 -0
  117. three/{examples/jsm → src}/nodes/geometry/RangeNode.d.ts +4 -1
  118. three/{examples/jsm → src}/nodes/lighting/AnalyticLightNode.d.ts +1 -1
  119. three/src/nodes/lighting/BasicEnvironmentNode.d.ts +10 -0
  120. three/src/nodes/lighting/BasicLightMapNode.d.ts +8 -0
  121. three/{examples/jsm → src}/nodes/lighting/HemisphereLightNode.d.ts +1 -1
  122. three/{examples/jsm → src}/nodes/lighting/LightingNode.d.ts +2 -0
  123. three/{examples/jsm → src}/nodes/lighting/LightsNode.d.ts +1 -1
  124. three/{examples/jsm → src}/nodes/lighting/PointLightNode.d.ts +1 -1
  125. three/src/nodes/lighting/RectAreaLightNode.d.ts +21 -0
  126. three/{examples/jsm → src}/nodes/lighting/SpotLightNode.d.ts +1 -1
  127. three/{examples/jsm → src}/nodes/loaders/NodeLoader.d.ts +3 -1
  128. three/{examples/jsm → src}/nodes/loaders/NodeMaterialLoader.d.ts +1 -1
  129. three/{examples/jsm → src}/nodes/loaders/NodeObjectLoader.d.ts +3 -1
  130. three/src/nodes/materials/Line2NodeMaterial.d.ts +53 -0
  131. three/{examples/jsm → src}/nodes/materials/LineBasicNodeMaterial.d.ts +3 -1
  132. three/{examples/jsm → src}/nodes/materials/Materials.d.ts +2 -1
  133. three/{examples/jsm → src}/nodes/materials/MeshBasicNodeMaterial.d.ts +5 -1
  134. three/{examples/jsm → src}/nodes/materials/MeshMatcapNodeMaterial.d.ts +5 -1
  135. three/{examples/jsm → src}/nodes/materials/MeshNormalNodeMaterial.d.ts +4 -1
  136. three/{examples/jsm → src}/nodes/materials/MeshPhongNodeMaterial.d.ts +8 -4
  137. three/{examples/jsm → src}/nodes/materials/MeshPhysicalNodeMaterial.d.ts +21 -20
  138. three/src/nodes/materials/MeshSSSNodeMaterial.d.ts +16 -0
  139. three/{examples/jsm → src}/nodes/materials/MeshStandardNodeMaterial.d.ts +9 -5
  140. three/{examples/jsm → src}/nodes/materials/MeshToonNodeMaterial.d.ts +5 -1
  141. three/{examples/jsm → src}/nodes/materials/NodeMaterial.d.ts +54 -49
  142. three/{examples/jsm → src}/nodes/materials/PointsNodeMaterial.d.ts +3 -1
  143. three/{examples/jsm → src}/nodes/materials/ShadowNodeMaterial.d.ts +2 -1
  144. three/{examples/jsm → src}/nodes/materials/SpriteNodeMaterial.d.ts +5 -4
  145. three/{examples/jsm → src}/nodes/materialx/lib/mx_hsv.d.ts +1 -0
  146. three/src/nodes/materialx/lib/mx_noise.d.ts +359 -0
  147. three/{examples/jsm → src}/nodes/math/MathNode.d.ts +9 -1
  148. three/{examples/jsm → src}/nodes/pmrem/PMREMNode.d.ts +1 -1
  149. three/{examples/jsm → src}/nodes/utils/DiscardNode.d.ts +1 -0
  150. three/{examples/jsm → src}/nodes/utils/MaxMipLevelNode.d.ts +3 -3
  151. three/src/nodes/utils/PackingNode.d.ts +24 -0
  152. three/src/nodes/utils/RTTNode.d.ts +45 -0
  153. three/{examples/jsm → src}/nodes/utils/ReflectorNode.d.ts +3 -1
  154. three/src/objects/BatchedMesh.d.ts +58 -54
  155. three/src/objects/InstancedMesh.d.ts +15 -2
  156. three/src/objects/LOD.d.ts +17 -1
  157. three/src/objects/Mesh.d.ts +11 -1
  158. three/src/objects/Points.d.ts +0 -3
  159. three/src/objects/Skeleton.d.ts +10 -3
  160. three/src/objects/SkinnedMesh.d.ts +15 -3
  161. three/{examples/jsm → src}/renderers/common/Animation.d.ts +0 -1
  162. three/{examples/jsm → src}/renderers/common/Attributes.d.ts +4 -2
  163. three/{examples/jsm → src}/renderers/common/Backend.d.ts +1 -1
  164. three/{examples/jsm → src}/renderers/common/Background.d.ts +2 -1
  165. three/src/renderers/common/BindGroup.d.ts +9 -0
  166. three/{examples/jsm → src}/renderers/common/Bindings.d.ts +11 -14
  167. three/{examples/jsm → src}/renderers/common/ClippingContext.d.ts +6 -1
  168. three/{examples/jsm → src}/renderers/common/Color4.d.ts +1 -1
  169. three/{examples/jsm → src}/renderers/common/CubeRenderTarget.d.ts +4 -1
  170. three/{examples/jsm → src}/renderers/common/Geometries.d.ts +6 -3
  171. three/{examples/jsm → src}/renderers/common/Info.d.ts +7 -2
  172. three/{examples/jsm → src}/renderers/common/PostProcessing.d.ts +9 -1
  173. three/{examples/jsm/objects → src/renderers/common}/QuadMesh.d.ts +4 -2
  174. three/{examples/jsm → src}/renderers/common/RenderBundle.d.ts +2 -1
  175. three/{examples/jsm → src}/renderers/common/RenderBundles.d.ts +2 -1
  176. three/{examples/jsm → src}/renderers/common/RenderContext.d.ts +4 -1
  177. three/{examples/jsm → src}/renderers/common/RenderContexts.d.ts +3 -1
  178. three/{examples/jsm → src}/renderers/common/RenderList.d.ts +5 -1
  179. three/{examples/jsm → src}/renderers/common/RenderLists.d.ts +2 -1
  180. three/{examples/jsm → src}/renderers/common/RenderObject.d.ts +19 -16
  181. three/{examples/jsm → src}/renderers/common/RenderObjects.d.ts +5 -2
  182. three/{examples/jsm → src}/renderers/common/Renderer.d.ts +41 -29
  183. three/src/renderers/common/SampledTexture.d.ts +27 -0
  184. three/src/renderers/common/Sampler.d.ts +11 -0
  185. three/{examples/jsm → src}/renderers/common/StorageBufferAttribute.d.ts +1 -1
  186. three/{examples/jsm → src}/renderers/common/StorageInstancedBufferAttribute.d.ts +2 -1
  187. three/{examples/jsm → src}/renderers/common/StorageTexture.d.ts +1 -1
  188. three/{examples/jsm → src}/renderers/common/Textures.d.ts +4 -1
  189. three/{examples/jsm → src}/renderers/common/Uniform.d.ts +9 -4
  190. three/{examples/jsm → src}/renderers/common/UniformsGroup.d.ts +4 -2
  191. three/{examples/jsm → src}/renderers/common/extras/PMREMGenerator.d.ts +2 -1
  192. three/{examples/jsm → src}/renderers/common/nodes/NodeBuilderState.d.ts +8 -4
  193. three/src/renderers/common/nodes/NodeSampledTexture.d.ts +29 -0
  194. three/src/renderers/common/nodes/NodeSampler.d.ts +12 -0
  195. three/{examples/jsm → src}/renderers/common/nodes/NodeUniform.d.ts +10 -5
  196. three/{examples/jsm → src}/renderers/common/nodes/NodeUniformsGroup.d.ts +1 -3
  197. three/{examples/jsm → src}/renderers/common/nodes/Nodes.d.ts +22 -8
  198. three/src/renderers/shaders/ShaderLib.d.ts +3 -1
  199. three/src/renderers/shaders/UniformsLib.d.ts +3 -0
  200. three/src/renderers/shaders/UniformsUtils.d.ts +6 -3
  201. three/{examples/jsm/renderers/webgl → src/renderers/webgl-fallback}/WebGLBackend.d.ts +1 -1
  202. three/{examples/jsm → src}/renderers/webgpu/WebGPUBackend.d.ts +1 -1
  203. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +125 -0
  204. three/src/renderers/webgpu/nodes/WGSLNodeFunction.d.ts +6 -0
  205. three/src/renderers/webgpu/nodes/WGSLNodeParser.d.ts +6 -0
  206. three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +328 -0
  207. three/src/renderers/webxr/WebXRDepthSensing.d.ts +2 -0
  208. three/src/renderers/webxr/WebXRManager.d.ts +33 -23
  209. three/src/scenes/Fog.d.ts +7 -24
  210. three/src/scenes/FogExp2.d.ts +9 -3
  211. three/src/scenes/Scene.d.ts +21 -5
  212. three/src/textures/CompressedArrayTexture.d.ts +4 -4
  213. three/src/textures/CompressedTexture.d.ts +16 -8
  214. three/src/textures/Source.d.ts +15 -1
  215. three/src/textures/Texture.d.ts +40 -2
  216. three/examples/jsm/deprecated/Geometry.d.ts +0 -341
  217. three/examples/jsm/lights/IESSpotLight.d.ts +0 -5
  218. three/examples/jsm/nodes/display/PassNode.d.ts +0 -46
  219. three/examples/jsm/nodes/functions/PhongLightingModel.d.ts +0 -7
  220. three/examples/jsm/nodes/materials/MeshSSSNodeMaterial.d.ts +0 -17
  221. three/examples/jsm/nodes/materialx/lib/mx_noise.d.ts +0 -129
  222. three/examples/jsm/renderers/webgl/nodes/SlotNode.d.ts +0 -17
  223. three/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.d.ts +0 -37
  224. three/examples/jsm/renderers/webgl/nodes/WebGLNodes.d.ts +0 -3
  225. /three/{examples/jsm → src}/nodes/accessors/AccessorsUtils.d.ts +0 -0
  226. /three/{examples/jsm → src}/nodes/accessors/BitangentNode.d.ts +0 -0
  227. /three/{examples/jsm → src}/nodes/accessors/BufferNode.d.ts +0 -0
  228. /three/{examples/jsm → src}/nodes/accessors/ClippingNode.d.ts +0 -0
  229. /three/{examples/jsm → src}/nodes/accessors/ModelViewProjectionNode.d.ts +0 -0
  230. /three/{examples/jsm → src}/nodes/accessors/PointUVNode.d.ts +0 -0
  231. /three/{examples/jsm → src}/nodes/accessors/PositionNode.d.ts +0 -0
  232. /three/{examples/jsm → src}/nodes/accessors/ReferenceNode.d.ts +0 -0
  233. /three/{examples/jsm → src}/nodes/accessors/RendererReferenceNode.d.ts +0 -0
  234. /three/{examples/jsm → src}/nodes/accessors/TangentNode.d.ts +0 -0
  235. /three/{examples/jsm → src}/nodes/accessors/TextureBicubicNode.d.ts +0 -0
  236. /three/{examples/jsm → src}/nodes/accessors/UVNode.d.ts +0 -0
  237. /three/{examples/jsm → src}/nodes/accessors/UniformsNode.d.ts +0 -0
  238. /three/{examples/jsm → src}/nodes/accessors/UserDataNode.d.ts +0 -0
  239. /three/{examples/jsm → src}/nodes/accessors/VertexColorNode.d.ts +0 -0
  240. /three/{examples/jsm → src}/nodes/code/CodeNode.d.ts +0 -0
  241. /three/{examples/jsm → src}/nodes/code/ExpressionNode.d.ts +0 -0
  242. /three/{examples/jsm → src}/nodes/code/FunctionCallNode.d.ts +0 -0
  243. /three/{examples/jsm → src}/nodes/code/FunctionNode.d.ts +0 -0
  244. /three/{examples/jsm → src}/nodes/core/AssignNode.d.ts +0 -0
  245. /three/{examples/jsm → src}/nodes/core/AttributeNode.d.ts +0 -0
  246. /three/{examples/jsm → src}/nodes/core/BypassNode.d.ts +0 -0
  247. /three/{examples/jsm → src}/nodes/core/ConstNode.d.ts +0 -0
  248. /three/{examples/jsm → src}/nodes/core/ContextNode.d.ts +0 -0
  249. /three/{examples/jsm → src}/nodes/core/InputNode.d.ts +0 -0
  250. /three/{examples/jsm → src}/nodes/core/NodeAttribute.d.ts +0 -0
  251. /three/{examples/jsm → src}/nodes/core/NodeCode.d.ts +0 -0
  252. /three/{examples/jsm → src}/nodes/core/NodeFunctionInput.d.ts +0 -0
  253. /three/{examples/jsm → src}/nodes/core/NodeKeywords.d.ts +0 -0
  254. /three/{examples/jsm → src}/nodes/core/NodeParser.d.ts +0 -0
  255. /three/{examples/jsm → src}/nodes/core/NodeVar.d.ts +0 -0
  256. /three/{examples/jsm → src}/nodes/core/NodeVarying.d.ts +0 -0
  257. /three/{examples/jsm → src}/nodes/core/OutputStructNode.d.ts +0 -0
  258. /three/{examples/jsm → src}/nodes/core/StackNode.d.ts +0 -0
  259. /three/{examples/jsm → src}/nodes/core/StructTypeNode.d.ts +0 -0
  260. /three/{examples/jsm → src}/nodes/core/TempNode.d.ts +0 -0
  261. /three/{examples/jsm → src}/nodes/core/UniformGroup.d.ts +0 -0
  262. /three/{examples/jsm → src}/nodes/core/UniformGroupNode.d.ts +0 -0
  263. /three/{examples/jsm → src}/nodes/core/VaryingNode.d.ts +0 -0
  264. /three/{examples/jsm → src}/nodes/core/constants.d.ts +0 -0
  265. /three/{examples/jsm → src}/nodes/display/AfterImageNode.d.ts +0 -0
  266. /three/{examples/jsm → src}/nodes/display/BlendModeNode.d.ts +0 -0
  267. /three/{examples/jsm → src}/nodes/display/FrontFacingNode.d.ts +0 -0
  268. /three/{examples/jsm → src}/nodes/display/PosterizeNode.d.ts +0 -0
  269. /three/{examples/jsm → src}/nodes/display/ViewportDepthTextureNode.d.ts +0 -0
  270. /three/{examples/jsm → src}/nodes/display/ViewportNode.d.ts +0 -0
  271. /three/{examples/jsm → src}/nodes/display/ViewportSharedTextureNode.d.ts +0 -0
  272. /three/{examples/jsm → src}/nodes/fog/FogExp2Node.d.ts +0 -0
  273. /three/{examples/jsm → src}/nodes/fog/FogNode.d.ts +0 -0
  274. /three/{examples/jsm → src}/nodes/fog/FogRangeNode.d.ts +0 -0
  275. /three/{examples/jsm → src}/nodes/functions/BSDF/BRDF_GGX.d.ts +0 -0
  276. /three/{examples/jsm → src}/nodes/functions/BSDF/BRDF_Lambert.d.ts +0 -0
  277. /three/{examples/jsm → src}/nodes/functions/BSDF/BRDF_Sheen.d.ts +0 -0
  278. /three/{examples/jsm → src}/nodes/functions/BSDF/DFGApprox.d.ts +0 -0
  279. /three/{examples/jsm → src}/nodes/functions/BSDF/D_GGX.d.ts +0 -0
  280. /three/{examples/jsm → src}/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +0 -0
  281. /three/{examples/jsm → src}/nodes/functions/BSDF/F_Schlick.d.ts +0 -0
  282. /three/{examples/jsm → src}/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +0 -0
  283. /three/{examples/jsm → src}/nodes/functions/PhysicalLightingModel.d.ts +0 -0
  284. /three/{examples/jsm → src}/nodes/functions/ShadowMaskModel.d.ts +0 -0
  285. /three/{examples/jsm → src}/nodes/functions/ToonLightingModel.d.ts +0 -0
  286. /three/{examples/jsm → src}/nodes/functions/material/getGeometryRoughness.d.ts +0 -0
  287. /three/{examples/jsm → src}/nodes/functions/material/getRoughness.d.ts +0 -0
  288. /three/{examples/jsm → src}/nodes/gpgpu/ComputeNode.d.ts +0 -0
  289. /three/{examples/jsm → src}/nodes/lighting/AONode.d.ts +0 -0
  290. /three/{examples/jsm → src}/nodes/lighting/EnvironmentNode.d.ts +0 -0
  291. /three/{examples/jsm → src}/nodes/lighting/IrradianceNode.d.ts +0 -0
  292. /three/{examples/jsm → src}/nodes/lighting/LightUtils.d.ts +0 -0
  293. /three/{examples/jsm → src}/nodes/lighting/LightingContextNode.d.ts +0 -0
  294. /three/{examples/jsm → src}/nodes/materials/VolumeNodeMaterial.d.ts +0 -0
  295. /three/{examples/jsm → src}/nodes/materialx/MaterialXNodes.d.ts +0 -0
  296. /three/{examples/jsm → src}/nodes/materialx/lib/mx_transform_color.d.ts +0 -0
  297. /three/{examples/jsm → src}/nodes/math/CondNode.d.ts +0 -0
  298. /three/{examples/jsm → src}/nodes/math/HashNode.d.ts +0 -0
  299. /three/{examples/jsm → src}/nodes/math/MathUtils.d.ts +0 -0
  300. /three/{examples/jsm → src}/nodes/math/OperatorNode.d.ts +0 -0
  301. /three/{examples/jsm → src}/nodes/math/TriNoise3D.d.ts +0 -0
  302. /three/{examples/jsm → src}/nodes/procedural/CheckerNode.d.ts +0 -0
  303. /three/{examples/jsm → src}/nodes/shadernode/ShaderNode.d.ts +0 -0
  304. /three/{examples/jsm → src}/nodes/utils/ArrayElementNode.d.ts +0 -0
  305. /three/{examples/jsm → src}/nodes/utils/ConvertNode.d.ts +0 -0
  306. /three/{examples/jsm → src}/nodes/utils/EquirectUVNode.d.ts +0 -0
  307. /three/{examples/jsm → src}/nodes/utils/JoinNode.d.ts +0 -0
  308. /three/{examples/jsm → src}/nodes/utils/MatcapUVNode.d.ts +0 -0
  309. /three/{examples/jsm → src}/nodes/utils/OscNode.d.ts +0 -0
  310. /three/{examples/jsm → src}/nodes/utils/RemapNode.d.ts +0 -0
  311. /three/{examples/jsm → src}/nodes/utils/RotateNode.d.ts +0 -0
  312. /three/{examples/jsm → src}/nodes/utils/RotateUVNode.d.ts +0 -0
  313. /three/{examples/jsm → src}/nodes/utils/SplitNode.d.ts +0 -0
  314. /three/{examples/jsm → src}/nodes/utils/SpriteSheetUVNode.d.ts +0 -0
  315. /three/{examples/jsm → src}/nodes/utils/StoargeArrayElementNode.d.ts +0 -0
  316. /three/{examples/jsm → src}/nodes/utils/TimerNode.d.ts +0 -0
  317. /three/{examples/jsm → src}/nodes/utils/TriplanarTexturesNode.d.ts +0 -0
  318. /three/{examples/jsm → src}/renderers/common/Binding.d.ts +0 -0
  319. /three/{examples/jsm → src}/renderers/common/Buffer.d.ts +0 -0
  320. /three/{examples/jsm → src}/renderers/common/BufferUtils.d.ts +0 -0
  321. /three/{examples/jsm → src}/renderers/common/ChainMap.d.ts +0 -0
  322. /three/{examples/jsm → src}/renderers/common/ComputePipeline.d.ts +0 -0
  323. /three/{examples/jsm → src}/renderers/common/Constants.d.ts +0 -0
  324. /three/{examples/jsm → src}/renderers/common/DataMap.d.ts +0 -0
  325. /three/{examples/jsm → src}/renderers/common/Pipeline.d.ts +0 -0
  326. /three/{examples/jsm → src}/renderers/common/Pipelines.d.ts +0 -0
  327. /three/{examples/jsm → src}/renderers/common/ProgrammableStage.d.ts +0 -0
  328. /three/{examples/jsm → src}/renderers/common/RenderPipeline.d.ts +0 -0
  329. /three/{examples/jsm → src}/renderers/common/UniformBuffer.d.ts +0 -0
  330. /three/{examples/jsm → src}/renderers/webgpu/WebGPURenderer.d.ts +0 -0
three/src/math/Euler.d.ts CHANGED
@@ -4,6 +4,8 @@ import { Vector3 } from "./Vector3.js";
4
4
 
5
5
  export type EulerOrder = "XYZ" | "YXZ" | "ZXY" | "ZYX" | "YZX" | "XZY";
6
6
 
7
+ export type EulerTuple = [x: number, y: number, z: number, order?: EulerOrder];
8
+
7
9
  export class Euler {
8
10
  constructor(x?: number, y?: number, z?: number, order?: EulerOrder);
9
11
 
@@ -38,8 +40,8 @@ export class Euler {
38
40
  setFromVector3(v: Vector3, order?: EulerOrder): Euler;
39
41
  reorder(newOrder: EulerOrder): Euler;
40
42
  equals(euler: Euler): boolean;
41
- fromArray(xyzo: [number, number, number, EulerOrder?, ...any[]]): Euler;
42
- toArray(array?: Array<number | string | undefined>, offset?: number): Array<number | string | undefined>;
43
+ fromArray(array: EulerTuple): Euler;
44
+ toArray(array?: Partial<EulerTuple>, offset?: number): EulerTuple;
43
45
  _onChange(callback: () => void): this;
44
46
 
45
47
  static DEFAULT_ORDER: "XYZ";
@@ -0,0 +1,53 @@
1
+ export type Matrix2Tuple = [
2
+ n11: number,
3
+ n12: number,
4
+ n21: number,
5
+ n22: number,
6
+ ];
7
+
8
+ /**
9
+ * A class representing a 2x2 {@link https://en.wikipedia.org/wiki/Matrix_(mathematics) matrix}.
10
+ *
11
+ * @example
12
+ * const m = new Matrix2();
13
+ */
14
+ export class Matrix2 {
15
+ readonly isMatrix2: true;
16
+
17
+ /**
18
+ * A {@link https://en.wikipedia.org/wiki/Row-_and_column-major_order column-major} list of matrix values.
19
+ */
20
+ elements: Matrix2Tuple;
21
+
22
+ /**
23
+ * Creates a 2x2 {@link https://en.wikipedia.org/wiki/Identity_matrix identity matrix}.
24
+ */
25
+ constructor();
26
+
27
+ /**
28
+ * Creates a 2x2 matrix with the given arguments in row-major order.
29
+ */
30
+ constructor(n11: number, n12: number, n21: number, n22: number);
31
+
32
+ /**
33
+ * Resets this matrix to the 2x2 identity matrix:
34
+ */
35
+ identity(): this;
36
+
37
+ /**
38
+ * Sets the elements of this matrix based on an array in
39
+ * {@link https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major} format.
40
+ *
41
+ * @param array the array to read the elements from
42
+ * @param offset (optional) index of first element in the array. Default is `0`.
43
+ */
44
+ fromArray(array: ArrayLike<number>, offset?: number): this;
45
+
46
+ /**
47
+ * Sets the 2x2 matrix values to the given
48
+ * {@link https://en.wikipedia.org/wiki/Row-_and_column-major_order row-major} sequence of values:
49
+ * [n11, n12,
50
+ * n21, n22]
51
+ */
52
+ set(n11: number, n12: number, n21: number, n22: number): this;
53
+ }
@@ -4,55 +4,26 @@ import { Matrix4 } from "./Matrix4.js";
4
4
  import { Vector2 } from "./Vector2.js";
5
5
  import { Vector3 } from "./Vector3.js";
6
6
 
7
- export type Matrix3Tuple = [number, number, number, number, number, number, number, number, number];
7
+ export type Matrix3Tuple = [
8
+ n11: number,
9
+ n12: number,
10
+ n13: number,
11
+ n21: number,
12
+ n22: number,
13
+ n23: number,
14
+ n31: number,
15
+ n32: number,
16
+ n33: number,
17
+ ];
18
+
19
+ export class Matrix3 {
20
+ readonly isMatrix3: true;
8
21
 
9
- /**
10
- * ( interface Matrix<T> )
11
- */
12
- export interface Matrix {
13
22
  /**
14
23
  * Array with matrix values.
24
+ * @default [1, 0, 0, 0, 1, 0, 0, 0, 1]
15
25
  */
16
- elements: number[];
17
-
18
- /**
19
- * identity():T;
20
- */
21
- identity(): Matrix;
22
-
23
- /**
24
- * copy(m:T):T;
25
- */
26
- copy(m: this): this;
27
-
28
- /**
29
- * multiplyScalar(s:number):T;
30
- */
31
- multiplyScalar(s: number): Matrix;
32
-
33
- determinant(): number;
34
-
35
- /**
36
- * transpose():T;
37
- */
38
- transpose(): Matrix;
39
-
40
- /**
41
- * invert():T;
42
- */
43
- invert(): Matrix;
44
-
45
- /**
46
- * clone():T;
47
- */
48
- clone(): Matrix;
49
- }
50
-
51
- /**
52
- * ( class Matrix3 implements Matrix<Matrix3> )
53
- */
54
- export class Matrix3 implements Matrix {
55
- readonly isMatrix3: true;
26
+ elements: Matrix3Tuple;
56
27
 
57
28
  /**
58
29
  * Creates an identity matrix.
@@ -73,12 +44,6 @@ export class Matrix3 implements Matrix {
73
44
  n33: number,
74
45
  );
75
46
 
76
- /**
77
- * Array with matrix values.
78
- * @default [1, 0, 0, 0, 1, 0, 0, 0, 1]
79
- */
80
- elements: number[];
81
-
82
47
  set(
83
48
  n11: number,
84
49
  n12: number,
@@ -90,34 +55,68 @@ export class Matrix3 implements Matrix {
90
55
  n32: number,
91
56
  n33: number,
92
57
  ): Matrix3;
93
- identity(): Matrix3;
94
- clone(): this;
58
+
59
+ identity(): this;
60
+
95
61
  copy(m: Matrix3): this;
96
- extractBasis(xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): Matrix3;
62
+
63
+ extractBasis(xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): this;
64
+
97
65
  setFromMatrix4(m: Matrix4): Matrix3;
98
- multiplyScalar(s: number): Matrix3;
66
+
67
+ /**
68
+ * Multiplies this matrix by m.
69
+ */
70
+ multiply(m: Matrix3): this;
71
+
72
+ premultiply(m: Matrix3): this;
73
+
74
+ /**
75
+ * Sets this matrix to a x b.
76
+ */
77
+ multiplyMatrices(a: Matrix3, b: Matrix3): this;
78
+
79
+ multiplyScalar(s: number): this;
80
+
99
81
  determinant(): number;
100
82
 
101
83
  /**
102
84
  * Inverts this matrix in place.
103
85
  */
104
- invert(): Matrix3;
86
+ invert(): this;
105
87
 
106
88
  /**
107
89
  * Transposes this matrix in place.
108
90
  */
109
- transpose(): Matrix3;
110
- getNormalMatrix(matrix4: Matrix4): Matrix3;
91
+ transpose(): this;
92
+
93
+ getNormalMatrix(matrix4: Matrix4): this;
111
94
 
112
95
  /**
113
96
  * Transposes this matrix into the supplied array r, and returns itself.
114
97
  */
115
- transposeIntoArray(r: number[]): Matrix3;
98
+ transposeIntoArray(r: number[]): this;
116
99
 
117
- setUvTransform(tx: number, ty: number, sx: number, sy: number, rotation: number, cx: number, cy: number): Matrix3;
100
+ setUvTransform(tx: number, ty: number, sx: number, sy: number, rotation: number, cx: number, cy: number): this;
118
101
 
119
- scale(sx: number, sy: number): Matrix3;
102
+ scale(sx: number, sy: number): this;
120
103
 
104
+ rotate(theta: number): this;
105
+
106
+ translate(tx: number, ty: number): this;
107
+
108
+ /**
109
+ * Sets this matrix as a 2D translation transform:
110
+ *
111
+ * ```
112
+ * 1, 0, x,
113
+ * 0, 1, y,
114
+ * 0, 0, 1
115
+ * ```
116
+ *
117
+ * @param v the amount to translate.
118
+ */
119
+ makeTranslation(v: Vector2): this;
121
120
  /**
122
121
  * Sets this matrix as a 2D translation transform:
123
122
  *
@@ -130,7 +129,6 @@ export class Matrix3 implements Matrix {
130
129
  * @param x the amount to translate in the X axis.
131
130
  * @param y the amount to translate in the Y axis.
132
131
  */
133
- makeTranslation(v: Vector2): this;
134
132
  makeTranslation(x: number, y: number): this;
135
133
 
136
134
  /**
@@ -145,7 +143,6 @@ export class Matrix3 implements Matrix {
145
143
  * @param theta Rotation angle in radians. Positive values rotate counterclockwise.
146
144
  */
147
145
  makeRotation(theta: number): this;
148
- makeRotation(theta: number): Matrix3;
149
146
 
150
147
  /**
151
148
  * Sets this matrix as a 2D scale transform:
@@ -160,11 +157,6 @@ export class Matrix3 implements Matrix {
160
157
  * @param y the amount to scale in the Y axis.
161
158
  */
162
159
  makeScale(x: number, y: number): this;
163
- makeScale(x: number, y: number): Matrix3;
164
-
165
- rotate(theta: number): Matrix3;
166
-
167
- translate(tx: number, ty: number): Matrix3;
168
160
 
169
161
  equals(matrix: Matrix3): boolean;
170
162
 
@@ -173,55 +165,15 @@ export class Matrix3 implements Matrix {
173
165
  * @param array the source array or array-like.
174
166
  * @param offset (optional) offset into the array-like. Default is 0.
175
167
  */
176
- fromArray(array: number[] | ArrayLike<number>, offset?: number): Matrix3;
177
-
178
- /**
179
- * Returns an array with the values of this matrix, or copies them into the provided array.
180
- * @param array (optional) array to store the matrix to. If this is not provided, a new array will be created.
181
- * @param offset (optional) optional offset into the array.
182
- * @return The created or provided array.
183
- */
184
- toArray(array?: number[], offset?: number): number[];
185
- toArray(array?: Matrix3Tuple, offset?: 0): Matrix3Tuple;
168
+ fromArray(array: ArrayLike<number>, offset?: number): this;
186
169
 
187
170
  /**
188
- * Copies he values of this matrix into the provided array-like.
189
- * @param array array-like to store the matrix to.
190
- * @param offset (optional) optional offset into the array-like.
191
- * @return The provided array-like.
171
+ * Writes the elements of this matrix to an array in
172
+ * {@link https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major} format.
173
+ * @param array (optional) array to store the resulting vector in. If not given a new array will be created.
174
+ * @param offset (optional) offset in the array at which to put the result.
192
175
  */
193
- toArray(array?: ArrayLike<number>, offset?: number): ArrayLike<number>;
176
+ toArray<TArray extends ArrayLike<number> = number[]>(array?: TArray, offset?: number): TArray;
194
177
 
195
- /**
196
- * Multiplies this matrix by m.
197
- */
198
- multiply(m: Matrix3): Matrix3;
199
-
200
- premultiply(m: Matrix3): Matrix3;
201
-
202
- /**
203
- * Sets this matrix to a x b.
204
- */
205
- multiplyMatrices(a: Matrix3, b: Matrix3): Matrix3;
206
-
207
- /**
208
- * @deprecated Use {@link Vector3.applyMatrix3 vector.applyMatrix3( matrix )} instead.
209
- */
210
- multiplyVector3(vector: Vector3): any;
211
-
212
- /**
213
- * @deprecated This method has been removed completely.
214
- */
215
- multiplyVector3Array(a: any): any;
216
-
217
- /**
218
- * @deprecated Use {@link Matrix3#invert .invert()} instead.
219
- */
220
- getInverse(matrix: Matrix4, throwOnDegenerate?: boolean): Matrix3;
221
- getInverse(matrix: Matrix): Matrix;
222
-
223
- /**
224
- * @deprecated Use {@link Matrix3#toArray .toArray()} instead.
225
- */
226
- flattenToArrayOffset(array: number[], offset: number): number[];
178
+ clone(): this;
227
179
  }
@@ -1,26 +1,26 @@
1
1
  import { CoordinateSystem } from "../constants.js";
2
2
  import { Euler } from "./Euler.js";
3
- import { Matrix, Matrix3 } from "./Matrix3.js";
3
+ import { Matrix3 } from "./Matrix3.js";
4
4
  import { Quaternion } from "./Quaternion.js";
5
5
  import { Vector3 } from "./Vector3.js";
6
6
 
7
7
  export type Matrix4Tuple = [
8
- number,
9
- number,
10
- number,
11
- number,
12
- number,
13
- number,
14
- number,
15
- number,
16
- number,
17
- number,
18
- number,
19
- number,
20
- number,
21
- number,
22
- number,
23
- number,
8
+ n11: number,
9
+ n12: number,
10
+ n13: number,
11
+ n14: number,
12
+ n21: number,
13
+ n22: number,
14
+ n23: number,
15
+ n24: number,
16
+ n31: number,
17
+ n32: number,
18
+ n33: number,
19
+ n34: number,
20
+ n41: number,
21
+ n42: number,
22
+ n43: number,
23
+ n44: number,
24
24
  ];
25
25
 
26
26
  /**
@@ -41,9 +41,15 @@ export type Matrix4Tuple = [
41
41
  * m.multiplyMatrices( m1, m2 );
42
42
  * m.multiply( m3 );
43
43
  */
44
- export class Matrix4 implements Matrix {
44
+ export class Matrix4 {
45
45
  readonly isMatrix4: true;
46
46
 
47
+ /**
48
+ * Array with matrix values.
49
+ * @default [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]
50
+ */
51
+ elements: Matrix4Tuple;
52
+
47
53
  /**
48
54
  * Creates an identity matrix.
49
55
  */
@@ -70,12 +76,6 @@ export class Matrix4 implements Matrix {
70
76
  n44: number,
71
77
  );
72
78
 
73
- /**
74
- * Array with matrix values.
75
- * @default [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]
76
- */
77
- elements: number[];
78
-
79
79
  /**
80
80
  * Sets all fields of this matrix.
81
81
  */
@@ -102,18 +102,31 @@ export class Matrix4 implements Matrix {
102
102
  * Resets this matrix to identity.
103
103
  */
104
104
  identity(): this;
105
+
105
106
  clone(): Matrix4;
107
+
106
108
  copy(m: Matrix4): this;
109
+
107
110
  copyPosition(m: Matrix4): this;
111
+
112
+ /**
113
+ * Set the upper 3x3 elements of this matrix to the values of the Matrix3 m.
114
+ */
115
+ setFromMatrix3(m: Matrix3): this;
116
+
108
117
  extractBasis(xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): this;
118
+
109
119
  makeBasis(xAxis: Vector3, yAxis: Vector3, zAxis: Vector3): this;
110
120
 
111
121
  /**
112
122
  * Copies the rotation component of the supplied matrix m into this matrix rotation component.
113
123
  */
114
124
  extractRotation(m: Matrix4): this;
125
+
115
126
  makeRotationFromEuler(euler: Euler): this;
127
+
116
128
  makeRotationFromQuaternion(q: Quaternion): this;
129
+
117
130
  /**
118
131
  * Constructs a rotation matrix, looking from eye towards center with defined up vector.
119
132
  */
@@ -131,14 +144,6 @@ export class Matrix4 implements Matrix {
131
144
  */
132
145
  multiplyMatrices(a: Matrix4, b: Matrix4): this;
133
146
 
134
- /**
135
- * Sets this matrix to a x b and stores the result into the flat array r.
136
- * r can be either a regular Array or a TypedArray.
137
- *
138
- * @deprecated This method has been removed completely.
139
- */
140
- multiplyToArray(a: Matrix4, b: Matrix4, r: number[]): Matrix4;
141
-
142
147
  /**
143
148
  * Multiplies this matrix by s.
144
149
  */
@@ -172,6 +177,7 @@ export class Matrix4 implements Matrix {
172
177
  scale(v: Vector3): this;
173
178
 
174
179
  getMaxScaleOnAxis(): number;
180
+
175
181
  /**
176
182
  * Sets this matrix as translation transform.
177
183
  */
@@ -204,7 +210,7 @@ export class Matrix4 implements Matrix {
204
210
  * Based on http://www.gamedev.net/reference/articles/article1199.asp.
205
211
  *
206
212
  * @param axis Rotation axis.
207
- * @param theta Rotation angle in radians.
213
+ * @param angle Rotation angle in radians.
208
214
  */
209
215
  makeRotationAxis(axis: Vector3, angle: number): this;
210
216
 
@@ -221,12 +227,12 @@ export class Matrix4 implements Matrix {
221
227
  /**
222
228
  * Sets this matrix to the transformation composed of translation, rotation and scale.
223
229
  */
224
- compose(translation: Vector3, rotation: Quaternion, scale: Vector3): this;
230
+ compose(position: Vector3, quaternion: Quaternion, scale: Vector3): this;
225
231
 
226
232
  /**
227
233
  * Decomposes this matrix into it's position, quaternion and scale components.
228
234
  */
229
- decompose(translation: Vector3, rotation: Quaternion, scale: Vector3): this;
235
+ decompose(position: Vector3, quaternion: Quaternion, scale: Vector3): this;
230
236
 
231
237
  /**
232
238
  * Creates a perspective projection matrix.
@@ -253,6 +259,7 @@ export class Matrix4 implements Matrix {
253
259
  far: number,
254
260
  coordinateSystem?: CoordinateSystem,
255
261
  ): this;
262
+
256
263
  equals(matrix: Matrix4): boolean;
257
264
 
258
265
  /**
@@ -260,72 +267,13 @@ export class Matrix4 implements Matrix {
260
267
  * @param array the source array or array-like.
261
268
  * @param offset (optional) offset into the array-like. Default is 0.
262
269
  */
263
- fromArray(array: number[] | ArrayLike<number>, offset?: number): this;
264
-
265
- /**
266
- * Returns an array with the values of this matrix, or copies them into the provided array.
267
- * @param array (optional) array to store the matrix to. If this is not provided, a new array will be created.
268
- * @param offset (optional) optional offset into the array.
269
- * @return The created or provided array.
270
- */
271
- toArray(array?: number[], offset?: number): number[];
272
- toArray(array?: Matrix4Tuple, offset?: 0): Matrix4Tuple;
273
-
274
- /**
275
- * Copies he values of this matrix into the provided array-like.
276
- * @param array array-like to store the matrix to.
277
- * @param offset (optional) optional offset into the array-like.
278
- * @return The provided array-like.
279
- */
280
- toArray(array?: ArrayLike<number>, offset?: number): ArrayLike<number>;
281
-
282
- /**
283
- * Set the upper 3x3 elements of this matrix to the values of the Matrix3 m.
284
- */
285
- setFromMatrix3(m: Matrix3): this;
286
-
287
- /**
288
- * @deprecated Use {@link Matrix4#copyPosition .copyPosition()} instead.
289
- */
290
- extractPosition(m: Matrix4): Matrix4;
291
-
292
- /**
293
- * @deprecated Use {@link Matrix4#makeRotationFromQuaternion .makeRotationFromQuaternion()} instead.
294
- */
295
- setRotationFromQuaternion(q: Quaternion): Matrix4;
296
-
297
- /**
298
- * @deprecated Use {@link Vector3#applyMatrix4 vector.applyMatrix4( matrix )} instead.
299
- */
300
- multiplyVector3(v: any): any;
301
-
302
- /**
303
- * @deprecated Use {@link Vector4#applyMatrix4 vector.applyMatrix4( matrix )} instead.
304
- */
305
- multiplyVector4(v: any): any;
306
-
307
- /**
308
- * @deprecated This method has been removed completely.
309
- */
310
- multiplyVector3Array(array: number[]): number[];
311
-
312
- /**
313
- * @deprecated Use {@link Vector3#transformDirection Vector3.transformDirection( matrix )} instead.
314
- */
315
- rotateAxis(v: any): void;
316
-
317
- /**
318
- * @deprecated Use {@link Vector3#applyMatrix4 vector.applyMatrix4( matrix )} instead.
319
- */
320
- crossVector(v: any): void;
321
-
322
- /**
323
- * @deprecated Use {@link Matrix4#toArray .toArray()} instead.
324
- */
325
- flattenToArrayOffset(array: number[], offset: number): number[];
270
+ fromArray(array: ArrayLike<number>, offset?: number): this;
326
271
 
327
272
  /**
328
- * @deprecated Use {@link Matrix4#invert .invert()} instead.
273
+ * Writes the elements of this matrix to an array in
274
+ * {@link https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order column-major} format.
275
+ * @param array (optional) array to store the resulting vector in.
276
+ * @param offset (optional) offset in the array at which to put the result.
329
277
  */
330
- getInverse(matrix: Matrix): Matrix;
278
+ toArray<TArray extends ArrayLike<number> = number[]>(array?: TArray, offset?: number): TArray;
331
279
  }
@@ -11,6 +11,8 @@ export interface QuaternionLike {
11
11
  readonly w: number;
12
12
  }
13
13
 
14
+ export type QuaternionTuple = [x: number, y: number, z: number, w: number];
15
+
14
16
  /**
15
17
  * Implementation of a quaternion. This is used for rotating things without incurring in the dreaded gimbal lock issue, amongst other advantages.
16
18
  *
@@ -127,7 +129,7 @@ export class Quaternion {
127
129
  * @param array the source array or array-like.
128
130
  * @param offset (optional) offset into the array. Default is 0.
129
131
  */
130
- fromArray(array: number[] | ArrayLike<number>, offset?: number): this;
132
+ fromArray(array: QuaternionTuple, offset?: number): this;
131
133
 
132
134
  /**
133
135
  * Returns an array [x, y, z, w], or copies x, y, z and w into the provided array.
@@ -135,7 +137,7 @@ export class Quaternion {
135
137
  * @param offset (optional) optional offset into the array.
136
138
  * @return The created or provided array.
137
139
  */
138
- toArray(array?: number[], offset?: number): number[];
140
+ toArray(array?: number[], offset?: number): QuaternionTuple;
139
141
 
140
142
  /**
141
143
  * Copies x, y, z and w into the provided array-like.
@@ -143,7 +145,7 @@ export class Quaternion {
143
145
  * @param offset (optional) optional offset into the array.
144
146
  * @return The provided array-like.
145
147
  */
146
- toArray(array: ArrayLike<number>, offset?: number): ArrayLike<number>;
148
+ toArray(array: ArrayLike<number>, offset?: number): QuaternionTuple;
147
149
 
148
150
  /**
149
151
  * This method defines the serialization result of Quaternion.
@@ -1,7 +1,7 @@
1
1
  import { BufferAttribute } from "../core/BufferAttribute.js";
2
2
  import { Matrix3 } from "./Matrix3.js";
3
3
 
4
- export type Vector2Tuple = [number, number];
4
+ export type Vector2Tuple = [x: number, y: number];
5
5
 
6
6
  export interface Vector2Like {
7
7
  readonly x: number;
@@ -137,6 +137,12 @@ export class Vector4 {
137
137
  */
138
138
  setAxisAngleFromRotationMatrix(m: Matrix4): this;
139
139
 
140
+ /**
141
+ * Sets this vector to the position elements of the
142
+ * [transformation matrix]{@link https://en.wikipedia.org/wiki/Transformation_matrix} m.
143
+ */
144
+ setFromMatrixPosition(m: Matrix4): this;
145
+
140
146
  min(v: Vector4Like): this;
141
147
  max(v: Vector4Like): this;
142
148
  clamp(min: Vector4Like, max: Vector4Like): this;