@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/Three.d.ts CHANGED
@@ -1,11 +1,8 @@
1
- /**
2
- * SRC
3
- */
4
- export * from "./constants.js";
5
- export * from "./Three.Legacy.js";
6
- /**
7
- * Animation
8
- */
1
+ export * from "./animation/AnimationAction.js";
2
+ export * from "./animation/AnimationClip.js";
3
+ export * from "./animation/AnimationMixer.js";
4
+ export * from "./animation/AnimationObjectGroup.js";
5
+ export { AnimationUtils } from "./animation/AnimationUtils.js";
9
6
  export * from "./animation/KeyframeTrack.js";
10
7
  export * from "./animation/PropertyBinding.js";
11
8
  export * from "./animation/PropertyMixer.js";
@@ -15,32 +12,18 @@ export * from "./animation/tracks/NumberKeyframeTrack.js";
15
12
  export * from "./animation/tracks/QuaternionKeyframeTrack.js";
16
13
  export * from "./animation/tracks/StringKeyframeTrack.js";
17
14
  export * from "./animation/tracks/VectorKeyframeTrack.js";
18
- import * as AnimationUtils from "./animation/AnimationUtils.js";
19
- export { AnimationUtils };
20
- export * from "./animation/AnimationAction.js";
21
- export * from "./animation/AnimationClip.js";
22
- export * from "./animation/AnimationMixer.js";
23
- export * from "./animation/AnimationObjectGroup.js";
24
- /**
25
- * Audio
26
- */
27
15
  export * from "./audio/Audio.js";
28
16
  export * from "./audio/AudioAnalyser.js";
29
17
  export * from "./audio/AudioContext.js";
30
18
  export * from "./audio/AudioListener.js";
31
19
  export * from "./audio/PositionalAudio.js";
32
- /**
33
- * Cameras
34
- */
35
20
  export * from "./cameras/ArrayCamera.js";
36
21
  export * from "./cameras/Camera.js";
37
22
  export * from "./cameras/CubeCamera.js";
38
23
  export * from "./cameras/OrthographicCamera.js";
39
24
  export * from "./cameras/PerspectiveCamera.js";
40
25
  export * from "./cameras/StereoCamera.js";
41
- /**
42
- * Core
43
- */
26
+ export * from "./constants.js";
44
27
  export * from "./core/BufferAttribute.js";
45
28
  export * from "./core/BufferGeometry.js";
46
29
  export * from "./core/Clock.js";
@@ -57,27 +40,18 @@ export * from "./core/Raycaster.js";
57
40
  export * from "./core/RenderTarget.js";
58
41
  export * from "./core/Uniform.js";
59
42
  export * from "./core/UniformsGroup.js";
60
- /**
61
- * Extras
62
- */
63
43
  export * from "./extras/core/Curve.js";
64
44
  export * from "./extras/core/CurvePath.js";
65
- export * from "./extras/core/Interpolations.js";
66
45
  export * from "./extras/core/Path.js";
67
46
  export * from "./extras/core/Shape.js";
68
47
  export * from "./extras/core/ShapePath.js";
69
48
  export * from "./extras/curves/Curves.js";
70
- export * as DataUtils from "./extras/DataUtils.js";
49
+ export { DataUtils } from "./extras/DataUtils.js";
71
50
  export * from "./extras/ImageUtils.js";
72
51
  export * from "./extras/PMREMGenerator.js";
73
52
  export * from "./extras/ShapeUtils.js";
74
- /**
75
- * Geometries
76
- */
53
+ export { TextureUtils } from "./extras/TextureUtils.js";
77
54
  export * from "./geometries/Geometries.js";
78
- /**
79
- * Helpers
80
- */
81
55
  export * from "./helpers/ArrowHelper.js";
82
56
  export * from "./helpers/AxesHelper.js";
83
57
  export * from "./helpers/Box3Helper.js";
@@ -91,24 +65,14 @@ export * from "./helpers/PointLightHelper.js";
91
65
  export * from "./helpers/PolarGridHelper.js";
92
66
  export * from "./helpers/SkeletonHelper.js";
93
67
  export * from "./helpers/SpotLightHelper.js";
94
- /**
95
- * Lights
96
- */
97
68
  export * from "./lights/AmbientLight.js";
98
69
  export * from "./lights/DirectionalLight.js";
99
- export * from "./lights/DirectionalLightShadow.js";
100
70
  export * from "./lights/HemisphereLight.js";
101
71
  export * from "./lights/Light.js";
102
72
  export * from "./lights/LightProbe.js";
103
- export * from "./lights/LightShadow.js";
104
73
  export * from "./lights/PointLight.js";
105
- export * from "./lights/PointLightShadow.js";
106
74
  export * from "./lights/RectAreaLight.js";
107
75
  export * from "./lights/SpotLight.js";
108
- export * from "./lights/SpotLightShadow.js";
109
- /**
110
- * Loaders
111
- */
112
76
  export * from "./loaders/AnimationLoader.js";
113
77
  export * from "./loaders/AudioLoader.js";
114
78
  export * from "./loaders/BufferGeometryLoader.js";
@@ -125,13 +89,7 @@ export * from "./loaders/LoadingManager.js";
125
89
  export * from "./loaders/MaterialLoader.js";
126
90
  export * from "./loaders/ObjectLoader.js";
127
91
  export * from "./loaders/TextureLoader.js";
128
- /**
129
- * Materials
130
- */
131
92
  export * from "./materials/Materials.js";
132
- /**
133
- * Math
134
- */
135
93
  export * from "./math/Box2.js";
136
94
  export * from "./math/Box3.js";
137
95
  export * from "./math/Color.js";
@@ -145,6 +103,8 @@ export * from "./math/interpolants/DiscreteInterpolant.js";
145
103
  export * from "./math/interpolants/LinearInterpolant.js";
146
104
  export * from "./math/interpolants/QuaternionLinearInterpolant.js";
147
105
  export * from "./math/Line3.js";
106
+ export { MathUtils } from "./math/MathUtils.js";
107
+ export * from "./math/Matrix2.js";
148
108
  export * from "./math/Matrix3.js";
149
109
  export * from "./math/Matrix4.js";
150
110
  export * from "./math/Plane.js";
@@ -157,11 +117,6 @@ export * from "./math/Triangle.js";
157
117
  export * from "./math/Vector2.js";
158
118
  export * from "./math/Vector3.js";
159
119
  export * from "./math/Vector4.js";
160
- import * as MathUtils from "./math/MathUtils.js";
161
- export { MathUtils };
162
- /**
163
- * Objects
164
- */
165
120
  export * from "./objects/BatchedMesh.js";
166
121
  export * from "./objects/Bone.js";
167
122
  export * from "./objects/Group.js";
@@ -175,50 +130,32 @@ export * from "./objects/Points.js";
175
130
  export * from "./objects/Skeleton.js";
176
131
  export * from "./objects/SkinnedMesh.js";
177
132
  export * from "./objects/Sprite.js";
178
- /**
179
- * Renderers
180
- */
181
133
  export * from "./renderers/shaders/ShaderChunk.js";
182
134
  export * from "./renderers/shaders/ShaderLib.js";
183
135
  export * from "./renderers/shaders/UniformsLib.js";
184
- export * from "./renderers/shaders/UniformsUtils.js";
185
- export * from "./renderers/webgl/WebGLBufferRenderer.js";
186
- export * from "./renderers/webgl/WebGLCapabilities.js";
187
- export * from "./renderers/webgl/WebGLClipping.js";
188
- export * from "./renderers/webgl/WebGLCubeUVMaps.js";
189
- export * from "./renderers/webgl/WebGLExtensions.js";
190
- export * from "./renderers/webgl/WebGLGeometries.js";
191
- export * from "./renderers/webgl/WebGLIndexedBufferRenderer.js";
192
- export * from "./renderers/webgl/WebGLInfo.js";
193
- export * from "./renderers/webgl/WebGLLights.js";
194
- export * from "./renderers/webgl/WebGLObjects.js";
195
- export * from "./renderers/webgl/WebGLProgram.js";
196
- export * from "./renderers/webgl/WebGLPrograms.js";
197
- export * from "./renderers/webgl/WebGLProperties.js";
198
- export * from "./renderers/webgl/WebGLRenderLists.js";
199
- export * from "./renderers/webgl/WebGLShader.js";
200
- export * from "./renderers/webgl/WebGLShadowMap.js";
201
- export * from "./renderers/webgl/WebGLState.js";
202
- export * from "./renderers/webgl/WebGLTextures.js";
203
- export * from "./renderers/webgl/WebGLUniforms.js";
204
- export * from "./renderers/webgl/WebGLUniformsGroups.js";
205
- export { WebGLUtils } from "./renderers/webgl/WebGLUtils.js";
136
+ export { UniformsUtils } from "./renderers/shaders/UniformsUtils.js";
137
+ export type { WebGLProgramParameters, WebGLProgramParametersWithUniforms } from "./renderers/webgl/WebGLPrograms.js";
138
+ export type { WebGLShadowMap } from "./renderers/webgl/WebGLShadowMap.js";
139
+ export * from "./renderers/webgl/WebGLUtils.js";
206
140
  export * from "./renderers/WebGL3DRenderTarget.js";
207
141
  export * from "./renderers/WebGLArrayRenderTarget.js";
208
142
  export * from "./renderers/WebGLCubeRenderTarget.js";
209
143
  export * from "./renderers/WebGLRenderer.js";
210
144
  export * from "./renderers/WebGLRenderTarget.js";
211
- export * from "./renderers/webxr/WebXRController.js";
212
- export * from "./renderers/webxr/WebXRManager.js";
213
- /**
214
- * Scenes
215
- */
145
+ export type {
146
+ WebXRController,
147
+ WebXRSpaceEventMap,
148
+ XRControllerEventType,
149
+ XRGripSpace,
150
+ XRHandInputState,
151
+ XRHandJoints,
152
+ XRHandSpace,
153
+ XRJointSpace,
154
+ XRTargetRaySpace,
155
+ } from "./renderers/webxr/WebXRController.js";
216
156
  export * from "./scenes/Fog.js";
217
157
  export * from "./scenes/FogExp2.js";
218
158
  export * from "./scenes/Scene.js";
219
- /**
220
- * Textures
221
- */
222
159
  export * from "./textures/CanvasTexture.js";
223
160
  export * from "./textures/CompressedArrayTexture.js";
224
161
  export * from "./textures/CompressedCubeTexture.js";
@@ -232,7 +169,5 @@ export * from "./textures/FramebufferTexture.js";
232
169
  export * from "./textures/Source.js";
233
170
  export * from "./textures/Texture.js";
234
171
  export * from "./textures/VideoTexture.js";
235
- /**
236
- * Utils
237
- */
172
+ export * from "./Three.Legacy.js";
238
173
  export { createCanvasElement } from "./utils.js";
@@ -1,7 +1,15 @@
1
1
  import { AnimationBlendMode } from "../constants.js";
2
2
  import { Vector3 } from "../math/Vector3.js";
3
3
  import { Bone } from "../objects/Bone.js";
4
- import { KeyframeTrack } from "./KeyframeTrack.js";
4
+ import { KeyframeTrack, KeyframeTrackJSON } from "./KeyframeTrack.js";
5
+
6
+ export interface AnimationClipJSON {
7
+ name: string;
8
+ duration: number;
9
+ tracks: KeyframeTrackJSON[];
10
+ uuid: string;
11
+ blendMode: AnimationBlendMode;
12
+ }
5
13
 
6
14
  export interface MorphTarget {
7
15
  name: string;
@@ -45,7 +53,7 @@ export class AnimationClip {
45
53
  fps: number,
46
54
  noLoop: boolean,
47
55
  ): AnimationClip[];
48
- static parse(json: any): AnimationClip;
49
- static parseAnimation(animation: any, bones: Bone[]): AnimationClip;
50
- static toJSON(clip: AnimationClip): any;
56
+ static parse(json: AnimationClipJSON): AnimationClip;
57
+ static parseAnimation(animation: AnimationClipJSON, bones: Bone[]): AnimationClip;
58
+ static toJSON(clip: AnimationClip): AnimationClipJSON;
51
59
  }
@@ -1,10 +1,14 @@
1
1
  import { AnimationClip } from "./AnimationClip.js";
2
2
 
3
- export function convertArray(array: any, type: any, forceClone: boolean): any;
4
- export function isTypedArray(object: any): boolean;
5
- export function getKeyframeOrder(times: number[]): number[];
6
- export function sortedArray(values: any[], stride: number, order: number[]): any[];
7
- export function flattenJSON(jsonKeys: string[], times: any[], values: any[], valuePropertyName: string): void;
3
+ declare function convertArray(array: any, type: any, forceClone: boolean): any;
4
+
5
+ declare function isTypedArray(object: any): boolean;
6
+
7
+ declare function getKeyframeOrder(times: number[]): number[];
8
+
9
+ declare function sortedArray(values: any[], stride: number, order: number[]): any[];
10
+
11
+ declare function flattenJSON(jsonKeys: string[], times: any[], values: any[], valuePropertyName: string): void;
8
12
 
9
13
  /**
10
14
  * @param sourceClip
@@ -13,7 +17,7 @@ export function flattenJSON(jsonKeys: string[], times: any[], values: any[], val
13
17
  * @param endFrame
14
18
  * @param [fps=30]
15
19
  */
16
- export function subclip(
20
+ declare function subclip(
17
21
  sourceClip: AnimationClip,
18
22
  name: string,
19
23
  startFrame: number,
@@ -27,9 +31,30 @@ export function subclip(
27
31
  * @param [referenceClip=targetClip]
28
32
  * @param [fps=30]
29
33
  */
30
- export function makeClipAdditive(
34
+ declare function makeClipAdditive(
31
35
  targetClip: AnimationClip,
32
36
  referenceFrame?: number,
33
37
  referenceClip?: AnimationClip,
34
38
  fps?: number,
35
39
  ): AnimationClip;
40
+
41
+ declare const AnimationUtils: {
42
+ convertArray: typeof convertArray;
43
+ isTypedArray: typeof isTypedArray;
44
+ getKeyframeOrder: typeof getKeyframeOrder;
45
+ sortedArray: typeof sortedArray;
46
+ flattenJSON: typeof flattenJSON;
47
+ subclip: typeof subclip;
48
+ makeClipAdditive: typeof makeClipAdditive;
49
+ };
50
+
51
+ export {
52
+ AnimationUtils,
53
+ convertArray,
54
+ flattenJSON,
55
+ getKeyframeOrder,
56
+ isTypedArray,
57
+ makeClipAdditive,
58
+ sortedArray,
59
+ subclip,
60
+ };
@@ -4,6 +4,14 @@ import { CubicInterpolant } from "../math/interpolants/CubicInterpolant.js";
4
4
  import { DiscreteInterpolant } from "../math/interpolants/DiscreteInterpolant.js";
5
5
  import { LinearInterpolant } from "../math/interpolants/LinearInterpolant.js";
6
6
 
7
+ export interface KeyframeTrackJSON {
8
+ name: string;
9
+ times: number[];
10
+ values: number[];
11
+ interpolation?: InterpolationModes;
12
+ type: string;
13
+ }
14
+
7
15
  export class KeyframeTrack {
8
16
  /**
9
17
  * @param name
@@ -43,5 +51,5 @@ export class KeyframeTrack {
43
51
  optimize(): KeyframeTrack;
44
52
  clone(): this;
45
53
 
46
- static toJSON(track: KeyframeTrack): any;
54
+ static toJSON(track: KeyframeTrack): KeyframeTrackJSON;
47
55
  }
@@ -6,7 +6,16 @@ export interface ParseTrackNameResults {
6
6
  propertyIndex: string;
7
7
  }
8
8
 
9
- export class PropertyBinding {
9
+ declare class Composite {
10
+ constructor(targetGroup: any, path: any, parsedPath?: any);
11
+
12
+ getValue(array: any, offset: number): any;
13
+ setValue(array: any, offset: number): void;
14
+ bind(): void;
15
+ unbind(): void;
16
+ }
17
+
18
+ declare class PropertyBinding {
10
19
  constructor(rootNode: any, path: string, parsedPath?: any);
11
20
 
12
21
  path: string;
@@ -25,19 +34,10 @@ export class PropertyBinding {
25
34
  GetterByBindingType: Array<() => void>;
26
35
  SetterByBindingTypeAndVersioning: Array<Array<() => void>>;
27
36
 
28
- static create(root: any, path: any, parsedPath?: any): PropertyBinding | PropertyBinding.Composite;
37
+ static create(root: any, path: any, parsedPath?: any): PropertyBinding | Composite;
29
38
  static sanitizeNodeName(name: string): string;
30
39
  static parseTrackName(trackName: string): ParseTrackNameResults;
31
40
  static findNode(root: any, nodeName: string): any;
32
41
  }
33
42
 
34
- export namespace PropertyBinding {
35
- class Composite {
36
- constructor(targetGroup: any, path: any, parsedPath?: any);
37
-
38
- getValue(array: any, offset: number): any;
39
- setValue(array: any, offset: number): void;
40
- bind(): void;
41
- unbind(): void;
42
- }
43
- }
43
+ export { PropertyBinding };
@@ -1,5 +1,30 @@
1
+ import { JSONMeta, Object3DJSON, Object3DJSONObject } from "../core/Object3D.js";
1
2
  import { Camera } from "./Camera.js";
2
3
 
4
+ export interface OrthographicCameraJSONObject extends Object3DJSONObject {
5
+ zoom: number;
6
+ left: number;
7
+ right: number;
8
+ top: number;
9
+ bottom: number;
10
+ near: number;
11
+ far: number;
12
+
13
+ view?: {
14
+ enabled: boolean;
15
+ fullWidth: number;
16
+ fullHeight: number;
17
+ offsetX: number;
18
+ offsetY: number;
19
+ width: number;
20
+ height: number;
21
+ };
22
+ }
23
+
24
+ export interface OrthographicCameraJSON extends Object3DJSON {
25
+ object: OrthographicCameraJSONObject;
26
+ }
27
+
3
28
  /**
4
29
  * Camera that uses {@link https://en.wikipedia.org/wiki/Orthographic_projection | orthographic projection}.
5
30
  * In this projection mode, an object's size in the rendered image stays constant regardless of its distance from the camera.
@@ -144,4 +169,6 @@ export class OrthographicCamera extends Camera {
144
169
  * Removes any offset set by the {@link setViewOffset | .setViewOffset} method.
145
170
  */
146
171
  clearViewOffset(): void;
172
+
173
+ toJSON(meta?: JSONMeta): OrthographicCameraJSON;
147
174
  }
@@ -1,6 +1,35 @@
1
+ import { JSONMeta, Object3DJSON, Object3DJSONObject } from "../core/Object3D.js";
1
2
  import { Vector2 } from "../math/Vector2.js";
2
3
  import { Camera } from "./Camera.js";
3
4
 
5
+ export interface PerspectiveCameraJSONObject extends Object3DJSONObject {
6
+ fov: number;
7
+ zoom: number;
8
+
9
+ near: number;
10
+ far: number;
11
+ focus: number;
12
+
13
+ aspect: number;
14
+
15
+ view?: {
16
+ enabled: boolean;
17
+ fullWidth: number;
18
+ fullHeight: number;
19
+ offsetX: number;
20
+ offsetY: number;
21
+ width: number;
22
+ height: number;
23
+ };
24
+
25
+ filmGauge: number;
26
+ filmOffset: number;
27
+ }
28
+
29
+ export interface PerspectiveCameraJSON extends Object3DJSON {
30
+ object: PerspectiveCameraJSONObject;
31
+ }
32
+
4
33
  /**
5
34
  * Camera that uses {@link https://en.wikipedia.org/wiki/Perspective_(graphical) | perspective projection}.
6
35
  * This projection mode is designed to mimic the way the human eye sees
@@ -220,4 +249,6 @@ export class PerspectiveCamera extends Camera {
220
249
  * @deprecated Use {@link PerspectiveCamera.setFocalLength | .setFocalLength()} and {@link PerspectiveCamera.filmGauge | .filmGauge} instead.
221
250
  */
222
251
  setLens(focalLength: number, frameHeight?: number): void;
252
+
253
+ toJSON(meta?: JSONMeta): PerspectiveCameraJSON;
223
254
  }
three/src/constants.d.ts CHANGED
@@ -419,6 +419,11 @@ export const RGFormat: 1030;
419
419
  */
420
420
  export const RGIntegerFormat: 1031;
421
421
 
422
+ /**
423
+ * {@link RGBIntegerFormat} discrads the alpha components and reads the red, green, and blue components.
424
+ */
425
+ export const RGBIntegerFormat: 1032;
426
+
422
427
  /**
423
428
  * {@link RGBAIntegerFormat} reads the red, green, blue and alpha component
424
429
  * @remarks This is the default for {@link THREE.Texture}.
@@ -443,6 +448,7 @@ export type PixelFormat =
443
448
  | typeof RedIntegerFormat
444
449
  | typeof RGFormat
445
450
  | typeof RGIntegerFormat
451
+ | typeof RGBIntegerFormat
446
452
  | typeof RGBAIntegerFormat;
447
453
 
448
454
  /**
@@ -673,7 +679,13 @@ export type TrianglesDrawModes = typeof TrianglesDrawMode | typeof TriangleStrip
673
679
 
674
680
  export const BasicDepthPacking: 3200;
675
681
  export const RGBADepthPacking: 3201;
676
- export type DepthPackingStrategies = typeof BasicDepthPacking | typeof RGBADepthPacking;
682
+ export const RGBDepthPacking: 3202;
683
+ export const RGDepthPacking: 3203;
684
+ export type DepthPackingStrategies =
685
+ | typeof BasicDepthPacking
686
+ | typeof RGBADepthPacking
687
+ | typeof RGBDepthPacking
688
+ | typeof RGDepthPacking;
677
689
 
678
690
  ///////////////////////////////////////////////////////////////////////////////
679
691
  // Normal Map types
@@ -13,6 +13,16 @@ export type TypedArray =
13
13
  | Float32Array
14
14
  | Float64Array;
15
15
 
16
+ export interface BufferAttributeJSON {
17
+ itemSize: number;
18
+ type: string;
19
+ array: number[];
20
+ normalized: boolean;
21
+
22
+ name?: string;
23
+ usage?: Usage;
24
+ }
25
+
16
26
  /**
17
27
  * This class stores data for an attribute (such as vertex positions, face indices, normals, colors, UVs, and any custom attributes )
18
28
  * associated with a {@link THREE.BufferGeometry | BufferGeometry}, which allows for more efficient passing of data to the GPU
@@ -336,12 +346,7 @@ export class BufferAttribute {
336
346
  /**
337
347
  * Convert this object to three.js to the `data.attributes` part of {@link https://github.com/mrdoob/three.js/wiki/JSON-Geometry-format-4 | JSON Geometry format v4},
338
348
  */
339
- toJSON(): {
340
- itemSize: number;
341
- type: string;
342
- array: number[];
343
- normalized: boolean;
344
- };
349
+ toJSON(): BufferAttributeJSON;
345
350
  }
346
351
 
347
352
  /**
@@ -3,8 +3,8 @@ import { Matrix4 } from "../math/Matrix4.js";
3
3
  import { Quaternion } from "../math/Quaternion.js";
4
4
  import { Sphere } from "../math/Sphere.js";
5
5
  import { Vector2 } from "../math/Vector2.js";
6
- import { Vector3 } from "../math/Vector3.js";
7
- import { BufferAttribute } from "./BufferAttribute.js";
6
+ import { Vector3, Vector3Tuple } from "../math/Vector3.js";
7
+ import { BufferAttribute, BufferAttributeJSON } from "./BufferAttribute.js";
8
8
  import { EventDispatcher } from "./EventDispatcher.js";
9
9
  import { GLBufferAttribute } from "./GLBufferAttribute.js";
10
10
  import { InterleavedBufferAttribute } from "./InterleavedBufferAttribute.js";
@@ -15,6 +15,29 @@ export type NormalOrGLBufferAttributes = Record<
15
15
  BufferAttribute | InterleavedBufferAttribute | GLBufferAttribute
16
16
  >;
17
17
 
18
+ export interface BufferGeometryJSON {
19
+ metadata?: { version: number; type: string; generator: string };
20
+
21
+ uuid: string;
22
+ type: string;
23
+
24
+ name?: string;
25
+ userData?: Record<string, unknown>;
26
+
27
+ data?: {
28
+ attributes: Record<string, BufferAttributeJSON>;
29
+
30
+ index?: { type: string; array: number[] };
31
+
32
+ morphAttributes?: Record<string, BufferAttributeJSON[]>;
33
+ morphTargetsRelative?: boolean;
34
+
35
+ groups?: GeometryGroup[];
36
+
37
+ boundingSphere?: { center: Vector3Tuple; radius: number };
38
+ };
39
+ }
40
+
18
41
  export interface GeometryGroup {
19
42
  /**
20
43
  * Specifies the first element in this draw call – the first vertex for non-indexed geometry, otherwise the first triangle index.
@@ -378,7 +401,7 @@ export class BufferGeometry<
378
401
  /**
379
402
  * Convert the buffer geometry to three.js {@link https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 | JSON Object/Scene format}.
380
403
  */
381
- toJSON(): {};
404
+ toJSON(): BufferGeometryJSON;
382
405
 
383
406
  /**
384
407
  * Creates a clone of this BufferGeometry
@@ -1,4 +1,4 @@
1
- import { Matrix } from "../math/Matrix3.js";
1
+ import { Matrix3 } from "../math/Matrix3.js";
2
2
  import { Matrix4 } from "../math/Matrix4.js";
3
3
  import { BufferAttribute, TypedArray } from "./BufferAttribute.js";
4
4
  import { InterleavedBuffer } from "./InterleavedBuffer.js";
@@ -84,13 +84,13 @@ export class InterleavedBufferAttribute {
84
84
  * Applies normal matrix {@link Matrix3 | m} to every Vector3 element of this InterleavedBufferAttribute.
85
85
  * @param m
86
86
  */
87
- applyNormalMatrix(m: Matrix): this;
87
+ applyNormalMatrix(m: Matrix3): this;
88
88
 
89
89
  /**
90
90
  * Applies matrix {@link Matrix4 | m} to every Vector3 element of this InterleavedBufferAttribute, interpreting the elements as a direction vectors.
91
91
  * @param m
92
92
  */
93
- transformDirection(m: Matrix): this;
93
+ transformDirection(m: Matrix4): this;
94
94
 
95
95
  /**
96
96
  * Returns the given component of the vector at the given index.
@@ -1,19 +1,64 @@
1
- import { AnimationClip } from "../animation/AnimationClip.js";
1
+ import { AnimationClip, AnimationClipJSON } from "../animation/AnimationClip.js";
2
2
  import { Camera } from "../cameras/Camera.js";
3
- import { Material } from "../materials/Material.js";
3
+ import { ShapeJSON } from "../extras/core/Shape.js";
4
+ import { Material, MaterialJSON } from "../materials/Material.js";
4
5
  import { Euler } from "../math/Euler.js";
5
6
  import { Matrix3 } from "../math/Matrix3.js";
6
- import { Matrix4 } from "../math/Matrix4.js";
7
+ import { Matrix4, Matrix4Tuple } from "../math/Matrix4.js";
7
8
  import { Quaternion } from "../math/Quaternion.js";
8
- import { Vector3 } from "../math/Vector3.js";
9
+ import { Vector3, Vector3Tuple } from "../math/Vector3.js";
9
10
  import { Group } from "../objects/Group.js";
11
+ import { SkeletonJSON } from "../objects/Skeleton.js";
10
12
  import { WebGLRenderer } from "../renderers/WebGLRenderer.js";
11
13
  import { Scene } from "../scenes/Scene.js";
12
- import { BufferGeometry } from "./BufferGeometry.js";
14
+ import { SourceJSON } from "../textures/Source.js";
15
+ import { TextureJSON } from "../textures/Texture.js";
16
+ import { BufferGeometry, BufferGeometryJSON } from "./BufferGeometry.js";
13
17
  import { EventDispatcher } from "./EventDispatcher.js";
14
18
  import { Layers } from "./Layers.js";
15
19
  import { Intersection, Raycaster } from "./Raycaster.js";
16
20
 
21
+ export interface Object3DJSONObject {
22
+ uuid: string;
23
+ type: string;
24
+
25
+ name?: string;
26
+ castShadow?: boolean;
27
+ receiveShadow?: boolean;
28
+ visible?: boolean;
29
+ frustumCulled?: boolean;
30
+ renderOrder?: number;
31
+ userData?: Record<string, unknown>;
32
+
33
+ layers: number;
34
+ matrix: Matrix4Tuple;
35
+ up: Vector3Tuple;
36
+
37
+ matrixAutoUpdate?: boolean;
38
+
39
+ material?: string | string[];
40
+
41
+ children?: string[];
42
+
43
+ animations?: string[];
44
+ }
45
+
46
+ export interface Object3DJSON {
47
+ metadata?: { version: number; type: string; generator: string };
48
+ object: Object3DJSONObject;
49
+ }
50
+
51
+ export interface JSONMeta {
52
+ geometries: Record<string, BufferGeometryJSON>;
53
+ materials: Record<string, MaterialJSON>;
54
+ textures: Record<string, TextureJSON>;
55
+ images: Record<string, SourceJSON>;
56
+ shapes: Record<string, ShapeJSON>;
57
+ skeletons: Record<string, SkeletonJSON>;
58
+ animations: Record<string, AnimationClipJSON>;
59
+ nodes: Record<string, unknown>;
60
+ }
61
+
17
62
  export interface Object3DEventMap {
18
63
  /**
19
64
  * Fires when the object has been added to its parent object.
@@ -608,7 +653,7 @@ export class Object3D<TEventMap extends Object3DEventMap = Object3DEventMap> ext
608
653
  * Convert the object to three.js {@link https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 | JSON Object/Scene format}.
609
654
  * @param meta Object containing metadata such as materials, textures or images for the object.
610
655
  */
611
- toJSON(meta?: { geometries: any; materials: any; textures: any; images: any }): any;
656
+ toJSON(meta?: JSONMeta): Object3DJSON;
612
657
 
613
658
  /**
614
659
  * Returns a clone of `this` object and optionally all descendants.