@nativescript/canvas-three 2.0.0-webgpu.26 → 2.0.0-webgpu.28

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 (491) hide show
  1. package/package.json +1 -1
  2. package/three/src/Three.Legacy.d.ts +20 -0
  3. package/three/src/Three.WebGPU.d.ts +180 -0
  4. package/three/src/Three.d.ts +189 -0
  5. package/three/src/animation/AnimationAction.d.ts +86 -0
  6. package/three/src/animation/AnimationClip.d.ts +50 -0
  7. package/three/src/animation/AnimationMixer.d.ts +35 -0
  8. package/three/src/animation/AnimationObjectGroup.d.ts +17 -0
  9. package/three/src/animation/AnimationUtils.d.ts +40 -0
  10. package/three/src/animation/KeyframeTrack.d.ts +55 -0
  11. package/three/src/animation/PropertyBinding.d.ts +43 -0
  12. package/three/src/animation/PropertyMixer.d.ts +17 -0
  13. package/three/src/animation/tracks/BooleanKeyframeTrack.d.ts +10 -0
  14. package/three/src/animation/tracks/ColorKeyframeTrack.d.ts +11 -0
  15. package/three/src/animation/tracks/NumberKeyframeTrack.d.ts +11 -0
  16. package/three/src/animation/tracks/QuaternionKeyframeTrack.d.ts +11 -0
  17. package/three/src/animation/tracks/StringKeyframeTrack.d.ts +10 -0
  18. package/three/src/animation/tracks/VectorKeyframeTrack.d.ts +11 -0
  19. package/three/src/audio/Audio.d.ts +270 -0
  20. package/three/src/audio/AudioAnalyser.d.ts +58 -0
  21. package/three/src/audio/AudioContext.d.ts +19 -0
  22. package/three/src/audio/AudioListener.d.ts +96 -0
  23. package/three/src/audio/PositionalAudio.d.ts +101 -0
  24. package/three/src/cameras/ArrayCamera.d.ts +32 -0
  25. package/three/src/cameras/Camera.d.ts +74 -0
  26. package/three/src/cameras/CubeCamera.d.ts +68 -0
  27. package/three/src/cameras/OrthographicCamera.d.ts +167 -0
  28. package/three/src/cameras/PerspectiveCamera.d.ts +254 -0
  29. package/three/src/cameras/StereoCamera.d.ts +50 -0
  30. package/three/src/constants.d.ts +802 -0
  31. package/three/src/core/BufferAttribute.d.ts +592 -0
  32. package/three/src/core/BufferGeometry.d.ts +417 -0
  33. package/three/src/core/Clock.d.ts +72 -0
  34. package/three/src/core/EventDispatcher.d.ts +74 -0
  35. package/three/src/core/GLBufferAttribute.d.ts +121 -0
  36. package/three/src/core/InstancedBufferAttribute.d.ts +32 -0
  37. package/three/src/core/InstancedBufferGeometry.d.ts +37 -0
  38. package/three/src/core/InstancedInterleavedBuffer.d.ts +22 -0
  39. package/three/src/core/InterleavedBuffer.d.ts +162 -0
  40. package/three/src/core/InterleavedBufferAttribute.d.ts +201 -0
  41. package/three/src/core/Layers.d.ts +72 -0
  42. package/three/src/core/Object3D.d.ts +644 -0
  43. package/three/src/core/Raycaster.d.ts +199 -0
  44. package/three/src/core/RenderTarget.d.ts +89 -0
  45. package/three/src/core/Uniform.d.ts +38 -0
  46. package/three/src/core/UniformsGroup.d.ts +33 -0
  47. package/three/src/extras/DataUtils.d.ts +22 -0
  48. package/three/src/extras/Earcut.d.ts +15 -0
  49. package/three/src/extras/ImageUtils.d.ts +30 -0
  50. package/three/src/extras/PMREMGenerator.d.ts +82 -0
  51. package/three/src/extras/ShapeUtils.d.ts +25 -0
  52. package/three/src/extras/TextureUtils.d.ts +37 -0
  53. package/three/src/extras/core/Curve.d.ts +162 -0
  54. package/three/src/extras/core/CurvePath.d.ts +77 -0
  55. package/three/src/extras/core/Interpolations.d.ts +36 -0
  56. package/three/src/extras/core/Path.d.ts +148 -0
  57. package/three/src/extras/core/Shape.d.ts +86 -0
  58. package/three/src/extras/core/ShapePath.d.ts +98 -0
  59. package/three/src/extras/curves/ArcCurve.d.ts +34 -0
  60. package/three/src/extras/curves/CatmullRomCurve3.d.ts +77 -0
  61. package/three/src/extras/curves/CubicBezierCurve.d.ts +72 -0
  62. package/three/src/extras/curves/CubicBezierCurve3.d.ts +72 -0
  63. package/three/src/extras/curves/Curves.d.ts +10 -0
  64. package/three/src/extras/curves/EllipseCurve.d.ts +106 -0
  65. package/three/src/extras/curves/LineCurve.d.ts +42 -0
  66. package/three/src/extras/curves/LineCurve3.d.ts +42 -0
  67. package/three/src/extras/curves/QuadraticBezierCurve.d.ts +64 -0
  68. package/three/src/extras/curves/QuadraticBezierCurve3.d.ts +64 -0
  69. package/three/src/extras/curves/SplineCurve.d.ts +52 -0
  70. package/three/src/geometries/BoxGeometry.d.ts +52 -0
  71. package/three/src/geometries/CapsuleGeometry.d.ts +48 -0
  72. package/three/src/geometries/CircleGeometry.d.ts +51 -0
  73. package/three/src/geometries/ConeGeometry.d.ts +56 -0
  74. package/three/src/geometries/CylinderGeometry.d.ts +55 -0
  75. package/three/src/geometries/DodecahedronGeometry.d.ts +25 -0
  76. package/three/src/geometries/EdgesGeometry.d.ts +41 -0
  77. package/three/src/geometries/ExtrudeGeometry.d.ts +139 -0
  78. package/three/src/geometries/Geometries.d.ts +21 -0
  79. package/three/src/geometries/IcosahedronGeometry.d.ts +26 -0
  80. package/three/src/geometries/LatheGeometry.d.ts +55 -0
  81. package/three/src/geometries/OctahedronGeometry.d.ts +25 -0
  82. package/three/src/geometries/PlaneGeometry.d.ts +48 -0
  83. package/three/src/geometries/PolyhedronGeometry.d.ts +54 -0
  84. package/three/src/geometries/RingGeometry.d.ts +52 -0
  85. package/three/src/geometries/ShapeGeometry.d.ts +53 -0
  86. package/three/src/geometries/SphereGeometry.d.ts +59 -0
  87. package/three/src/geometries/TetrahedronGeometry.d.ts +25 -0
  88. package/three/src/geometries/TorusGeometry.d.ts +49 -0
  89. package/three/src/geometries/TorusKnotGeometry.d.ts +52 -0
  90. package/three/src/geometries/TubeGeometry.d.ts +80 -0
  91. package/three/src/geometries/WireframeGeometry.d.ts +40 -0
  92. package/three/src/helpers/ArrowHelper.d.ts +86 -0
  93. package/three/src/helpers/AxesHelper.d.ts +50 -0
  94. package/three/src/helpers/Box3Helper.d.ts +44 -0
  95. package/three/src/helpers/BoxHelper.d.ts +64 -0
  96. package/three/src/helpers/CameraHelper.d.ts +80 -0
  97. package/three/src/helpers/DirectionalLightHelper.d.ts +81 -0
  98. package/three/src/helpers/GridHelper.d.ts +47 -0
  99. package/three/src/helpers/HemisphereLightHelper.d.ts +72 -0
  100. package/three/src/helpers/PlaneHelper.d.ts +50 -0
  101. package/three/src/helpers/PointLightHelper.d.ts +73 -0
  102. package/three/src/helpers/PolarGridHelper.d.ts +48 -0
  103. package/three/src/helpers/SkeletonHelper.d.ts +78 -0
  104. package/three/src/helpers/SpotLightHelper.d.ts +77 -0
  105. package/three/src/lights/AmbientLight.d.ts +36 -0
  106. package/three/src/lights/DirectionalLight.d.ts +103 -0
  107. package/three/src/lights/DirectionalLightShadow.d.ts +73 -0
  108. package/three/src/lights/HemisphereLight.d.ts +61 -0
  109. package/three/src/lights/Light.d.ts +82 -0
  110. package/three/src/lights/LightProbe.d.ts +47 -0
  111. package/three/src/lights/LightShadow.d.ts +169 -0
  112. package/three/src/lights/PointLight.d.ts +102 -0
  113. package/three/src/lights/PointLightShadow.d.ts +22 -0
  114. package/three/src/lights/RectAreaLight.d.ts +82 -0
  115. package/three/src/lights/SpotLight.d.ts +157 -0
  116. package/three/src/lights/SpotLightShadow.d.ts +72 -0
  117. package/three/src/lights/webgpu/IESSpotLight.d.ts +6 -0
  118. package/three/src/loaders/AnimationLoader.d.ts +9 -0
  119. package/three/src/loaders/AudioLoader.d.ts +6 -0
  120. package/three/src/loaders/BufferGeometryLoader.d.ts +10 -0
  121. package/three/src/loaders/Cache.d.ts +21 -0
  122. package/three/src/loaders/CompressedTextureLoader.d.ts +9 -0
  123. package/three/src/loaders/CubeTextureLoader.d.ts +9 -0
  124. package/three/src/loaders/DataTextureLoader.d.ts +9 -0
  125. package/three/src/loaders/FileLoader.d.ts +14 -0
  126. package/three/src/loaders/ImageBitmapLoader.d.ts +17 -0
  127. package/three/src/loaders/ImageLoader.d.ts +12 -0
  128. package/three/src/loaders/Loader.d.ts +45 -0
  129. package/three/src/loaders/LoaderUtils.d.ts +10 -0
  130. package/three/src/loaders/LoadingManager.d.ts +65 -0
  131. package/three/src/loaders/MaterialLoader.d.ts +19 -0
  132. package/three/src/loaders/ObjectLoader.d.ts +25 -0
  133. package/three/src/loaders/TextureLoader.d.ts +13 -0
  134. package/three/src/materials/LineBasicMaterial.d.ts +60 -0
  135. package/three/src/materials/LineDashedMaterial.d.ts +40 -0
  136. package/three/src/materials/Material.d.ts +608 -0
  137. package/three/src/materials/Materials.d.ts +18 -0
  138. package/three/src/materials/MeshBasicMaterial.d.ts +139 -0
  139. package/three/src/materials/MeshDepthMaterial.d.ts +76 -0
  140. package/three/src/materials/MeshDistanceMaterial.d.ts +62 -0
  141. package/three/src/materials/MeshLambertMaterial.d.ts +204 -0
  142. package/three/src/materials/MeshMatcapMaterial.d.ts +117 -0
  143. package/three/src/materials/MeshNormalMaterial.d.ts +93 -0
  144. package/three/src/materials/MeshPhongMaterial.d.ts +228 -0
  145. package/three/src/materials/MeshPhysicalMaterial.d.ts +236 -0
  146. package/three/src/materials/MeshStandardMaterial.d.ts +218 -0
  147. package/three/src/materials/MeshToonMaterial.d.ts +178 -0
  148. package/three/src/materials/PointsMaterial.d.ts +61 -0
  149. package/three/src/materials/RawShaderMaterial.d.ts +14 -0
  150. package/three/src/materials/ShaderMaterial.d.ts +175 -0
  151. package/three/src/materials/ShadowMaterial.d.ts +39 -0
  152. package/three/src/materials/SpriteMaterial.d.ts +66 -0
  153. package/three/src/math/Box2.d.ts +48 -0
  154. package/three/src/math/Box3.d.ts +66 -0
  155. package/three/src/math/Color.d.ts +358 -0
  156. package/three/src/math/ColorManagement.d.ts +37 -0
  157. package/three/src/math/Cylindrical.d.ts +26 -0
  158. package/three/src/math/Euler.d.ts +50 -0
  159. package/three/src/math/Frustum.d.ts +30 -0
  160. package/three/src/math/Interpolant.d.ts +10 -0
  161. package/three/src/math/Line3.d.ts +29 -0
  162. package/three/src/math/MathUtils.d.ts +131 -0
  163. package/three/src/math/Matrix2.d.ts +48 -0
  164. package/three/src/math/Matrix3.d.ts +154 -0
  165. package/three/src/math/Matrix4.d.ts +217 -0
  166. package/three/src/math/Plane.d.ts +47 -0
  167. package/three/src/math/Quaternion.d.ts +173 -0
  168. package/three/src/math/Ray.d.ts +55 -0
  169. package/three/src/math/Sphere.d.ts +47 -0
  170. package/three/src/math/Spherical.d.ts +27 -0
  171. package/three/src/math/SphericalHarmonics3.d.ts +50 -0
  172. package/three/src/math/Triangle.d.ts +54 -0
  173. package/three/src/math/Vector2.d.ts +321 -0
  174. package/three/src/math/Vector3.d.ts +301 -0
  175. package/three/src/math/Vector4.d.ts +239 -0
  176. package/three/src/math/interpolants/CubicInterpolant.d.ts +7 -0
  177. package/three/src/math/interpolants/DiscreteInterpolant.d.ts +7 -0
  178. package/three/src/math/interpolants/LinearInterpolant.d.ts +7 -0
  179. package/three/src/math/interpolants/QuaternionLinearInterpolant.d.ts +7 -0
  180. package/three/src/nodes/Nodes.d.ts +231 -0
  181. package/three/src/nodes/accessors/AccessorsUtils.d.ts +9 -0
  182. package/three/src/nodes/accessors/BatchNode.d.ts +14 -0
  183. package/three/src/nodes/accessors/BitangentNode.d.ts +9 -0
  184. package/three/src/nodes/accessors/BufferAttributeNode.d.ts +28 -0
  185. package/three/src/nodes/accessors/BufferNode.d.ts +13 -0
  186. package/three/src/nodes/accessors/CameraNode.d.ts +15 -0
  187. package/three/src/nodes/accessors/ClippingNode.d.ts +16 -0
  188. package/three/src/nodes/accessors/CubeTextureNode.d.ts +24 -0
  189. package/three/src/nodes/accessors/InstanceNode.d.ts +13 -0
  190. package/three/src/nodes/accessors/MaterialNode.d.ts +130 -0
  191. package/three/src/nodes/accessors/MaterialReferenceNode.d.ts +9 -0
  192. package/three/src/nodes/accessors/ModelNode.d.ts +20 -0
  193. package/three/src/nodes/accessors/ModelViewProjectionNode.d.ts +8 -0
  194. package/three/src/nodes/accessors/NormalNode.d.ts +12 -0
  195. package/three/src/nodes/accessors/Object3DNode.d.ts +26 -0
  196. package/three/src/nodes/accessors/PointUVNode.d.ts +10 -0
  197. package/three/src/nodes/accessors/PositionNode.d.ts +9 -0
  198. package/three/src/nodes/accessors/ReferenceNode.d.ts +22 -0
  199. package/three/src/nodes/accessors/ReflectVectorNode.d.ts +9 -0
  200. package/three/src/nodes/accessors/RendererReferenceNode.d.ts +11 -0
  201. package/three/src/nodes/accessors/SkinningNode.d.ts +20 -0
  202. package/three/src/nodes/accessors/StorageBufferNode.d.ts +26 -0
  203. package/three/src/nodes/accessors/StorageTextureNode.d.ts +28 -0
  204. package/three/src/nodes/accessors/TangentNode.d.ts +12 -0
  205. package/three/src/nodes/accessors/Texture3DNode.d.ts +13 -0
  206. package/three/src/nodes/accessors/TextureBicubicNode.d.ts +18 -0
  207. package/three/src/nodes/accessors/TextureNode.d.ts +37 -0
  208. package/three/src/nodes/accessors/UVNode.d.ts +4 -0
  209. package/three/src/nodes/accessors/UniformsNode.d.ts +23 -0
  210. package/three/src/nodes/accessors/UserDataNode.d.ts +11 -0
  211. package/three/src/nodes/accessors/VertexColorNode.d.ts +12 -0
  212. package/three/src/nodes/code/CodeNode.d.ts +23 -0
  213. package/three/src/nodes/code/ExpressionNode.d.ts +9 -0
  214. package/three/src/nodes/code/FunctionCallNode.d.ts +22 -0
  215. package/three/src/nodes/code/FunctionNode.d.ts +38 -0
  216. package/three/src/nodes/core/AssignNode.d.ts +18 -0
  217. package/three/src/nodes/core/AttributeNode.d.ts +15 -0
  218. package/three/src/nodes/core/BypassNode.d.ts +18 -0
  219. package/three/src/nodes/core/CacheNode.d.ts +20 -0
  220. package/three/src/nodes/core/ConstNode.d.ts +9 -0
  221. package/three/src/nodes/core/ContextNode.d.ts +21 -0
  222. package/three/src/nodes/core/IndexNode.d.ts +20 -0
  223. package/three/src/nodes/core/InputNode.d.ts +15 -0
  224. package/three/src/nodes/core/LightingModel.d.ts +46 -0
  225. package/three/src/nodes/core/MRTNode.d.ts +19 -0
  226. package/three/src/nodes/core/Node.d.ts +117 -0
  227. package/three/src/nodes/core/NodeAttribute.d.ts +9 -0
  228. package/three/src/nodes/core/NodeBuilder.d.ts +133 -0
  229. package/three/src/nodes/core/NodeCache.d.ts +49 -0
  230. package/three/src/nodes/core/NodeCode.d.ts +4 -0
  231. package/three/src/nodes/core/NodeFrame.d.ts +34 -0
  232. package/three/src/nodes/core/NodeFunction.d.ts +13 -0
  233. package/three/src/nodes/core/NodeFunctionInput.d.ts +7 -0
  234. package/three/src/nodes/core/NodeKeywords.d.ts +17 -0
  235. package/three/src/nodes/core/NodeParser.d.ts +5 -0
  236. package/three/src/nodes/core/NodeUniform.d.ts +14 -0
  237. package/three/src/nodes/core/NodeUtils.d.ts +18 -0
  238. package/three/src/nodes/core/NodeVar.d.ts +7 -0
  239. package/three/src/nodes/core/NodeVarying.d.ts +7 -0
  240. package/three/src/nodes/core/OutputStructNode.d.ts +12 -0
  241. package/three/src/nodes/core/PropertyNode.d.ts +43 -0
  242. package/three/src/nodes/core/StackNode.d.ts +17 -0
  243. package/three/src/nodes/core/StructTypeNode.d.ts +8 -0
  244. package/three/src/nodes/core/TempNode.d.ts +10 -0
  245. package/three/src/nodes/core/UniformGroup.d.ts +7 -0
  246. package/three/src/nodes/core/UniformGroupNode.d.ts +21 -0
  247. package/three/src/nodes/core/UniformNode.d.ts +20 -0
  248. package/three/src/nodes/core/VarNode.d.ts +28 -0
  249. package/three/src/nodes/core/VaryingNode.d.ts +21 -0
  250. package/three/src/nodes/core/constants.d.ts +27 -0
  251. package/three/src/nodes/display/AfterImageNode.d.ts +25 -0
  252. package/three/src/nodes/display/AnamorphicNode.d.ts +26 -0
  253. package/three/src/nodes/display/BlendModeNode.d.ts +43 -0
  254. package/three/src/nodes/display/BloomNode.d.ts +30 -0
  255. package/three/src/nodes/display/ColorAdjustmentNode.d.ts +35 -0
  256. package/three/src/nodes/display/ColorSpaceNode.d.ts +32 -0
  257. package/three/src/nodes/display/DenoiseNode.d.ts +32 -0
  258. package/three/src/nodes/display/DepthOfFieldNode.d.ts +24 -0
  259. package/three/src/nodes/display/DotScreenNode.d.ts +22 -0
  260. package/three/src/nodes/display/FXAANode.d.ts +19 -0
  261. package/three/src/nodes/display/FilmNode.d.ts +21 -0
  262. package/three/src/nodes/display/FrontFacingNode.d.ts +10 -0
  263. package/three/src/nodes/display/GTAONode.d.ts +42 -0
  264. package/three/src/nodes/display/GaussianBlurNode.d.ts +27 -0
  265. package/three/src/nodes/display/Lut3DNode.d.ts +25 -0
  266. package/three/src/nodes/display/NormalMapNode.d.ts +21 -0
  267. package/three/src/nodes/display/PassNode.d.ts +62 -0
  268. package/three/src/nodes/display/PixelationPassNode.d.ts +41 -0
  269. package/three/src/nodes/display/PosterizeNode.d.ts +17 -0
  270. package/three/src/nodes/display/RGBShiftNode.d.ts +24 -0
  271. package/three/src/nodes/display/RenderOutputNode.d.ts +24 -0
  272. package/three/src/nodes/display/SobelOperatorNode.d.ts +17 -0
  273. package/three/src/nodes/display/ToneMappingNode.d.ts +25 -0
  274. package/three/src/nodes/display/TransitionNode.d.ts +27 -0
  275. package/three/src/nodes/display/ViewportDepthNode.d.ts +28 -0
  276. package/three/src/nodes/display/ViewportDepthTextureNode.d.ts +9 -0
  277. package/three/src/nodes/display/ViewportNode.d.ts +25 -0
  278. package/three/src/nodes/display/ViewportSharedTextureNode.d.ts +15 -0
  279. package/three/src/nodes/display/ViewportTextureNode.d.ts +25 -0
  280. package/three/src/nodes/fog/FogExp2Node.d.ts +18 -0
  281. package/three/src/nodes/fog/FogNode.d.ts +21 -0
  282. package/three/src/nodes/fog/FogRangeNode.d.ts +19 -0
  283. package/three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +7 -0
  284. package/three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +7 -0
  285. package/three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +7 -0
  286. package/three/src/nodes/functions/BSDF/DFGApprox.d.ts +11 -0
  287. package/three/src/nodes/functions/BSDF/D_GGX.d.ts +10 -0
  288. package/three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +8 -0
  289. package/three/src/nodes/functions/BSDF/F_Schlick.d.ts +7 -0
  290. package/three/src/nodes/functions/BSDF/LTC.d.ts +7 -0
  291. package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +7 -0
  292. package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +7 -0
  293. package/three/src/nodes/functions/BasicLightingModel.d.ts +7 -0
  294. package/three/src/nodes/functions/PhongLightingModel.d.ts +7 -0
  295. package/three/src/nodes/functions/PhysicalLightingModel.d.ts +23 -0
  296. package/three/src/nodes/functions/ShadowMaskModel.d.ts +9 -0
  297. package/three/src/nodes/functions/ToonLightingModel.d.ts +3 -0
  298. package/three/src/nodes/functions/material/getGeometryRoughness.d.ts +6 -0
  299. package/three/src/nodes/functions/material/getRoughness.d.ts +7 -0
  300. package/three/src/nodes/geometry/RangeNode.d.ts +19 -0
  301. package/three/src/nodes/gpgpu/ComputeNode.d.ts +20 -0
  302. package/three/src/nodes/lighting/AONode.d.ts +8 -0
  303. package/three/src/nodes/lighting/AnalyticLightNode.d.ts +8 -0
  304. package/three/src/nodes/lighting/BasicEnvironmentNode.d.ts +10 -0
  305. package/three/src/nodes/lighting/BasicLightMapNode.d.ts +8 -0
  306. package/three/src/nodes/lighting/EnvironmentNode.d.ts +8 -0
  307. package/three/src/nodes/lighting/HemisphereLightNode.d.ts +13 -0
  308. package/three/src/nodes/lighting/IrradianceNode.d.ts +8 -0
  309. package/three/src/nodes/lighting/LightUtils.d.ts +5 -0
  310. package/three/src/nodes/lighting/LightingContextNode.d.ts +22 -0
  311. package/three/src/nodes/lighting/LightingNode.d.ts +7 -0
  312. package/three/src/nodes/lighting/LightsNode.d.ts +19 -0
  313. package/three/src/nodes/lighting/PointLightNode.d.ts +10 -0
  314. package/three/src/nodes/lighting/RectAreaLightNode.d.ts +21 -0
  315. package/three/src/nodes/lighting/SpotLightNode.d.ts +15 -0
  316. package/three/src/nodes/loaders/NodeLoader.d.ts +16 -0
  317. package/three/src/nodes/loaders/NodeMaterialLoader.d.ts +8 -0
  318. package/three/src/nodes/loaders/NodeObjectLoader.d.ts +10 -0
  319. package/three/src/nodes/materials/Line2NodeMaterial.d.ts +53 -0
  320. package/three/src/nodes/materials/LineBasicNodeMaterial.d.ts +21 -0
  321. package/three/src/nodes/materials/Materials.d.ts +15 -0
  322. package/three/src/nodes/materials/MeshBasicNodeMaterial.d.ts +35 -0
  323. package/three/src/nodes/materials/MeshMatcapNodeMaterial.d.ts +31 -0
  324. package/three/src/nodes/materials/MeshNormalNodeMaterial.d.ts +27 -0
  325. package/three/src/nodes/materials/MeshPhongNodeMaterial.d.ts +55 -0
  326. package/three/src/nodes/materials/MeshPhysicalNodeMaterial.d.ts +87 -0
  327. package/three/src/nodes/materials/MeshSSSNodeMaterial.d.ts +16 -0
  328. package/three/src/nodes/materials/MeshStandardNodeMaterial.d.ts +55 -0
  329. package/three/src/nodes/materials/MeshToonNodeMaterial.d.ts +41 -0
  330. package/three/src/nodes/materials/NodeMaterial.d.ts +124 -0
  331. package/three/src/nodes/materials/PointsNodeMaterial.d.ts +21 -0
  332. package/three/src/nodes/materials/ShadowNodeMaterial.d.ts +16 -0
  333. package/three/src/nodes/materials/SpriteNodeMaterial.d.ts +25 -0
  334. package/three/src/nodes/materials/VolumeNodeMaterial.d.ts +10 -0
  335. package/three/src/nodes/materialx/MaterialXNodes.d.ts +36 -0
  336. package/three/src/nodes/materialx/lib/mx_hsv.d.ts +6 -0
  337. package/three/src/nodes/materialx/lib/mx_noise.d.ts +139 -0
  338. package/three/src/nodes/materialx/lib/mx_transform_color.d.ts +4 -0
  339. package/three/src/nodes/math/CondNode.d.ts +18 -0
  340. package/three/src/nodes/math/HashNode.d.ts +16 -0
  341. package/three/src/nodes/math/MathNode.d.ts +253 -0
  342. package/three/src/nodes/math/MathUtils.d.ts +16 -0
  343. package/three/src/nodes/math/OperatorNode.d.ts +61 -0
  344. package/three/src/nodes/math/TriNoise3D.d.ts +8 -0
  345. package/three/src/nodes/pmrem/PMREMNode.d.ts +16 -0
  346. package/three/src/nodes/procedural/CheckerNode.d.ts +15 -0
  347. package/three/src/nodes/shadernode/ShaderNode.d.ts +226 -0
  348. package/three/src/nodes/utils/ArrayElementNode.d.ts +9 -0
  349. package/three/src/nodes/utils/ConvertNode.d.ts +7 -0
  350. package/three/src/nodes/utils/DiscardNode.d.ts +17 -0
  351. package/three/src/nodes/utils/EquirectUVNode.d.ts +8 -0
  352. package/three/src/nodes/utils/JoinNode.d.ts +10 -0
  353. package/three/src/nodes/utils/MatcapUVNode.d.ts +8 -0
  354. package/three/src/nodes/utils/MaxMipLevelNode.d.ts +14 -0
  355. package/three/src/nodes/utils/OscNode.d.ts +21 -0
  356. package/three/src/nodes/utils/PackingNode.d.ts +24 -0
  357. package/three/src/nodes/utils/RTTNode.d.ts +40 -0
  358. package/three/src/nodes/utils/ReflectorNode.d.ts +32 -0
  359. package/three/src/nodes/utils/RemapNode.d.ts +24 -0
  360. package/three/src/nodes/utils/RotateNode.d.ts +18 -0
  361. package/three/src/nodes/utils/RotateUVNode.d.ts +19 -0
  362. package/three/src/nodes/utils/SplitNode.d.ts +15 -0
  363. package/three/src/nodes/utils/SpriteSheetUVNode.d.ts +12 -0
  364. package/three/src/nodes/utils/StoargeArrayElementNode.d.ts +22 -0
  365. package/three/src/nodes/utils/TimerNode.d.ts +21 -0
  366. package/three/src/nodes/utils/TriplanarTexturesNode.d.ts +25 -0
  367. package/three/src/objects/BatchedMesh.d.ts +193 -0
  368. package/three/src/objects/Bone.d.ts +36 -0
  369. package/three/src/objects/Group.d.ts +43 -0
  370. package/three/src/objects/InstancedMesh.d.ts +175 -0
  371. package/three/src/objects/LOD.d.ts +104 -0
  372. package/three/src/objects/Line.d.ts +83 -0
  373. package/three/src/objects/LineLoop.d.ts +36 -0
  374. package/three/src/objects/LineSegments.d.ts +37 -0
  375. package/three/src/objects/Mesh.d.ts +90 -0
  376. package/three/src/objects/Points.d.ts +62 -0
  377. package/three/src/objects/Skeleton.d.ts +120 -0
  378. package/three/src/objects/SkinnedMesh.d.ts +156 -0
  379. package/three/src/objects/Sprite.d.ts +65 -0
  380. package/three/src/renderers/WebGL3DRenderTarget.d.ts +29 -0
  381. package/three/src/renderers/WebGLArrayRenderTarget.d.ts +29 -0
  382. package/three/src/renderers/WebGLCubeRenderTarget.d.ts +18 -0
  383. package/three/src/renderers/WebGLRenderTarget.d.ts +8 -0
  384. package/three/src/renderers/WebGLRenderer.d.ts +516 -0
  385. package/three/src/renderers/common/Animation.d.ts +13 -0
  386. package/three/src/renderers/common/Attributes.d.ts +22 -0
  387. package/three/src/renderers/common/Backend.d.ts +19 -0
  388. package/three/src/renderers/common/Background.d.ts +23 -0
  389. package/three/src/renderers/common/BindGroup.d.ts +9 -0
  390. package/three/src/renderers/common/Binding.d.ts +8 -0
  391. package/three/src/renderers/common/Bindings.d.ts +35 -0
  392. package/three/src/renderers/common/Buffer.d.ts +11 -0
  393. package/three/src/renderers/common/BufferUtils.d.ts +4 -0
  394. package/three/src/renderers/common/ChainMap.d.ts +9 -0
  395. package/three/src/renderers/common/ClippingContext.d.ts +23 -0
  396. package/three/src/renderers/common/Color4.d.ts +10 -0
  397. package/three/src/renderers/common/ComputePipeline.d.ts +8 -0
  398. package/three/src/renderers/common/Constants.d.ts +9 -0
  399. package/three/src/renderers/common/CubeRenderTarget.d.ts +10 -0
  400. package/three/src/renderers/common/DataMap.d.ts +30 -0
  401. package/three/src/renderers/common/Geometries.d.ts +31 -0
  402. package/three/src/renderers/common/Info.d.ts +34 -0
  403. package/three/src/renderers/common/Pipeline.d.ts +6 -0
  404. package/three/src/renderers/common/Pipelines.d.ts +53 -0
  405. package/three/src/renderers/common/PostProcessing.d.ts +21 -0
  406. package/three/src/renderers/common/ProgrammableStage.d.ts +10 -0
  407. package/three/src/renderers/common/QuadMesh.d.ts +14 -0
  408. package/three/src/renderers/common/RenderBundle.d.ts +9 -0
  409. package/three/src/renderers/common/RenderBundles.d.ts +11 -0
  410. package/three/src/renderers/common/RenderContext.d.ts +41 -0
  411. package/three/src/renderers/common/RenderContexts.d.ts +15 -0
  412. package/three/src/renderers/common/RenderList.d.ts +42 -0
  413. package/three/src/renderers/common/RenderLists.d.ts +11 -0
  414. package/three/src/renderers/common/RenderObject.d.ts +61 -0
  415. package/three/src/renderers/common/RenderObjects.d.ts +31 -0
  416. package/three/src/renderers/common/RenderPipeline.d.ts +8 -0
  417. package/three/src/renderers/common/Renderer.d.ts +183 -0
  418. package/three/src/renderers/common/SampledTexture.d.ts +27 -0
  419. package/three/src/renderers/common/Sampler.d.ts +11 -0
  420. package/three/src/renderers/common/StorageBufferAttribute.d.ts +7 -0
  421. package/three/src/renderers/common/StorageInstancedBufferAttribute.d.ts +8 -0
  422. package/three/src/renderers/common/StorageTexture.d.ts +5 -0
  423. package/three/src/renderers/common/Textures.d.ts +67 -0
  424. package/three/src/renderers/common/Uniform.d.ts +45 -0
  425. package/three/src/renderers/common/UniformBuffer.d.ts +6 -0
  426. package/three/src/renderers/common/UniformsGroup.d.ts +23 -0
  427. package/three/src/renderers/common/extras/PMREMGenerator.d.ts +9 -0
  428. package/three/src/renderers/common/nodes/NodeBuilderState.d.ts +19 -0
  429. package/three/src/renderers/common/nodes/NodeSampledTexture.d.ts +24 -0
  430. package/three/src/renderers/common/nodes/NodeSampler.d.ts +12 -0
  431. package/three/src/renderers/common/nodes/NodeUniform.d.ts +45 -0
  432. package/three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +10 -0
  433. package/three/src/renderers/common/nodes/Nodes.d.ts +98 -0
  434. package/three/src/renderers/shaders/ShaderChunk.d.ts +143 -0
  435. package/three/src/renderers/shaders/ShaderLib.d.ts +29 -0
  436. package/three/src/renderers/shaders/UniformsLib.d.ts +189 -0
  437. package/three/src/renderers/shaders/UniformsUtils.d.ts +14 -0
  438. package/three/src/renderers/webgl/WebGLAttributes.d.ts +21 -0
  439. package/three/src/renderers/webgl/WebGLBindingStates.d.ts +20 -0
  440. package/three/src/renderers/webgl/WebGLBufferRenderer.d.ts +12 -0
  441. package/three/src/renderers/webgl/WebGLCapabilities.d.ts +35 -0
  442. package/three/src/renderers/webgl/WebGLClipping.d.ts +26 -0
  443. package/three/src/renderers/webgl/WebGLCubeMaps.d.ts +8 -0
  444. package/three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +9 -0
  445. package/three/src/renderers/webgl/WebGLExtensions.d.ts +7 -0
  446. package/three/src/renderers/webgl/WebGLGeometries.d.ts +13 -0
  447. package/three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +10 -0
  448. package/three/src/renderers/webgl/WebGLInfo.d.ts +39 -0
  449. package/three/src/renderers/webgl/WebGLLights.d.ts +49 -0
  450. package/three/src/renderers/webgl/WebGLObjects.d.ts +6 -0
  451. package/three/src/renderers/webgl/WebGLProgram.d.ts +30 -0
  452. package/three/src/renderers/webgl/WebGLPrograms.d.ts +218 -0
  453. package/three/src/renderers/webgl/WebGLProperties.d.ts +8 -0
  454. package/three/src/renderers/webgl/WebGLRenderLists.d.ts +52 -0
  455. package/three/src/renderers/webgl/WebGLShader.d.ts +1 -0
  456. package/three/src/renderers/webgl/WebGLShadowMap.d.ts +38 -0
  457. package/three/src/renderers/webgl/WebGLState.d.ts +71 -0
  458. package/three/src/renderers/webgl/WebGLTextures.d.ts +22 -0
  459. package/three/src/renderers/webgl/WebGLUniforms.d.ts +12 -0
  460. package/three/src/renderers/webgl/WebGLUniformsGroups.d.ts +17 -0
  461. package/three/src/renderers/webgl/WebGLUtils.d.ts +8 -0
  462. package/three/src/renderers/webgl-fallback/WebGLBackend.d.ts +14 -0
  463. package/three/src/renderers/webgpu/WebGPUBackend.d.ts +21 -0
  464. package/three/src/renderers/webgpu/WebGPURenderer.d.ts +10 -0
  465. package/three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +75 -0
  466. package/three/src/renderers/webgpu/nodes/WGSLNodeFunction.d.ts +6 -0
  467. package/three/src/renderers/webgpu/nodes/WGSLNodeParser.d.ts +6 -0
  468. package/three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +328 -0
  469. package/three/src/renderers/webxr/WebXRController.d.ts +63 -0
  470. package/three/src/renderers/webxr/WebXRDepthSensing.d.ts +22 -0
  471. package/three/src/renderers/webxr/WebXRManager.d.ts +87 -0
  472. package/three/src/scenes/Fog.d.ts +77 -0
  473. package/three/src/scenes/FogExp2.d.ts +66 -0
  474. package/three/src/scenes/Scene.d.ts +118 -0
  475. package/three/src/textures/CanvasTexture.d.ts +34 -0
  476. package/three/src/textures/CompressedArrayTexture.d.ts +61 -0
  477. package/three/src/textures/CompressedCubeTexture.d.ts +9 -0
  478. package/three/src/textures/CompressedTexture.d.ts +74 -0
  479. package/three/src/textures/CubeTexture.d.ts +82 -0
  480. package/three/src/textures/Data3DTexture.d.ts +96 -0
  481. package/three/src/textures/DataArrayTexture.d.ts +123 -0
  482. package/three/src/textures/DataTexture.d.ts +92 -0
  483. package/three/src/textures/DepthTexture.d.ts +85 -0
  484. package/three/src/textures/FramebufferTexture.d.ts +62 -0
  485. package/three/src/textures/Source.d.ts +75 -0
  486. package/three/src/textures/Texture.d.ts +445 -0
  487. package/three/src/textures/VideoTexture.d.ts +73 -0
  488. package/three/src/textures/types.d.ts +9 -0
  489. package/three/src/utils.d.ts +3 -0
  490. package/three/three.webgpu.d.ts +1 -0
  491. package/three.webgpu.d.ts +1 -0
@@ -0,0 +1,55 @@
1
+ import { InterpolationModes } from '../constants.js';
2
+ import { Interpolant } from '../math/Interpolant.js';
3
+ import { CubicInterpolant } from '../math/interpolants/CubicInterpolant.js';
4
+ import { DiscreteInterpolant } from '../math/interpolants/DiscreteInterpolant.js';
5
+ import { LinearInterpolant } from '../math/interpolants/LinearInterpolant.js';
6
+
7
+ export interface KeyframeTrackJSON {
8
+ name: string;
9
+ times: number[];
10
+ values: number[];
11
+ interpolation?: InterpolationModes;
12
+ type: string;
13
+ }
14
+
15
+ export class KeyframeTrack {
16
+ /**
17
+ * @param name
18
+ * @param times
19
+ * @param values
20
+ * @param [interpolation=THREE.InterpolateLinear]
21
+ */
22
+ constructor(name: string, times: ArrayLike<number>, values: ArrayLike<any>, interpolation?: InterpolationModes);
23
+
24
+ name: string;
25
+ times: Float32Array;
26
+ values: Float32Array;
27
+
28
+ ValueTypeName: string;
29
+ TimeBufferType: Float32Array;
30
+ ValueBufferType: Float32Array;
31
+
32
+ /**
33
+ * @default THREE.InterpolateLinear
34
+ */
35
+ DefaultInterpolation: InterpolationModes;
36
+
37
+ InterpolantFactoryMethodDiscrete(result: any): DiscreteInterpolant;
38
+ InterpolantFactoryMethodLinear(result: any): LinearInterpolant;
39
+ InterpolantFactoryMethodSmooth(result: any): CubicInterpolant;
40
+
41
+ setInterpolation(interpolation: InterpolationModes): KeyframeTrack;
42
+ getInterpolation(): InterpolationModes;
43
+ createInterpolant(): Interpolant;
44
+
45
+ getValueSize(): number;
46
+
47
+ shift(timeOffset: number): KeyframeTrack;
48
+ scale(timeScale: number): KeyframeTrack;
49
+ trim(startTime: number, endTime: number): KeyframeTrack;
50
+ validate(): boolean;
51
+ optimize(): KeyframeTrack;
52
+ clone(): this;
53
+
54
+ static toJSON(track: KeyframeTrack): KeyframeTrackJSON;
55
+ }
@@ -0,0 +1,43 @@
1
+ export interface ParseTrackNameResults {
2
+ nodeName: string;
3
+ objectName: string;
4
+ objectIndex: string;
5
+ propertyName: string;
6
+ propertyIndex: string;
7
+ }
8
+
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 {
19
+ constructor(rootNode: any, path: string, parsedPath?: any);
20
+
21
+ path: string;
22
+ parsedPath: any;
23
+ node: any;
24
+ rootNode: any;
25
+
26
+ getValue(targetArray: any, offset: number): any;
27
+ setValue(sourceArray: any, offset: number): void;
28
+ bind(): void;
29
+ unbind(): void;
30
+
31
+ BindingType: { [bindingType: string]: number };
32
+ Versioning: { [versioning: string]: number };
33
+
34
+ GetterByBindingType: Array<() => void>;
35
+ SetterByBindingTypeAndVersioning: Array<Array<() => void>>;
36
+
37
+ static create(root: any, path: any, parsedPath?: any): PropertyBinding | Composite;
38
+ static sanitizeNodeName(name: string): string;
39
+ static parseTrackName(trackName: string): ParseTrackNameResults;
40
+ static findNode(root: any, nodeName: string): any;
41
+ }
42
+
43
+ export { PropertyBinding };
@@ -0,0 +1,17 @@
1
+ export class PropertyMixer {
2
+ constructor(binding: any, typeName: string, valueSize: number);
3
+
4
+ binding: any;
5
+ valueSize: number;
6
+ buffer: any;
7
+ cumulativeWeight: number;
8
+ cumulativeWeightAdditive: number;
9
+ useCount: number;
10
+ referenceCount: number;
11
+
12
+ accumulate(accuIndex: number, weight: number): void;
13
+ accumulateAdditive(weight: number): void;
14
+ apply(accuIndex: number): void;
15
+ saveOriginalState(): void;
16
+ restoreOriginalState(): void;
17
+ }
@@ -0,0 +1,10 @@
1
+ import { KeyframeTrack } from '../KeyframeTrack.js';
2
+
3
+ export class BooleanKeyframeTrack extends KeyframeTrack {
4
+ constructor(name: string, times: ArrayLike<number>, values: ArrayLike<any>);
5
+
6
+ /**
7
+ * @default 'bool'
8
+ */
9
+ ValueTypeName: string;
10
+ }
@@ -0,0 +1,11 @@
1
+ import { InterpolationModes } from '../../constants.js';
2
+ import { KeyframeTrack } from '../KeyframeTrack.js';
3
+
4
+ export class ColorKeyframeTrack extends KeyframeTrack {
5
+ constructor(name: string, times: ArrayLike<number>, values: ArrayLike<number>, interpolation?: InterpolationModes);
6
+
7
+ /**
8
+ * @default 'color'
9
+ */
10
+ ValueTypeName: string;
11
+ }
@@ -0,0 +1,11 @@
1
+ import { InterpolationModes } from '../../constants.js';
2
+ import { KeyframeTrack } from '../KeyframeTrack.js';
3
+
4
+ export class NumberKeyframeTrack extends KeyframeTrack {
5
+ constructor(name: string, times: ArrayLike<number>, values: ArrayLike<number>, interpolation?: InterpolationModes);
6
+
7
+ /**
8
+ * @default 'number'
9
+ */
10
+ ValueTypeName: string;
11
+ }
@@ -0,0 +1,11 @@
1
+ import { InterpolationModes } from '../../constants.js';
2
+ import { KeyframeTrack } from '../KeyframeTrack.js';
3
+
4
+ export class QuaternionKeyframeTrack extends KeyframeTrack {
5
+ constructor(name: string, times: ArrayLike<number>, values: ArrayLike<number>, interpolation?: InterpolationModes);
6
+
7
+ /**
8
+ * @default 'quaternion'
9
+ */
10
+ ValueTypeName: string;
11
+ }
@@ -0,0 +1,10 @@
1
+ import { KeyframeTrack } from '../KeyframeTrack.js';
2
+
3
+ export class StringKeyframeTrack extends KeyframeTrack {
4
+ constructor(name: string, times: ArrayLike<number>, values: ArrayLike<any>);
5
+
6
+ /**
7
+ * @default 'string'
8
+ */
9
+ ValueTypeName: string;
10
+ }
@@ -0,0 +1,11 @@
1
+ import { InterpolationModes } from '../../constants.js';
2
+ import { KeyframeTrack } from '../KeyframeTrack.js';
3
+
4
+ export class VectorKeyframeTrack extends KeyframeTrack {
5
+ constructor(name: string, times: ArrayLike<number>, values: ArrayLike<number>, interpolation?: InterpolationModes);
6
+
7
+ /**
8
+ * @default 'vector'
9
+ */
10
+ ValueTypeName: string;
11
+ }
@@ -0,0 +1,270 @@
1
+ import { Object3D } from '../core/Object3D.js';
2
+ import { AudioContext } from './AudioContext.js';
3
+ import { AudioListener } from './AudioListener.js';
4
+
5
+ // Extras / Audio /////////////////////////////////////////////////////////////////////
6
+
7
+ /**
8
+ * Create a non-positional ( global ) {@link Audio} object.
9
+ * This uses the {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API | Web {@link Audio} API}.
10
+ * @example
11
+ * ```typescript
12
+ * // create an AudioListener and add it to the camera
13
+ * const listener = new THREE.AudioListener();
14
+ * camera.add(listener);
15
+ * // create a global {@link Audio} source
16
+ * const sound = new THREE.Audio(listener);
17
+ * // load a sound and set it as the {@link Audio} object's buffer
18
+ * const audioLoader = new THREE.AudioLoader();
19
+ * audioLoader.load('sounds/ambient.ogg', function (buffer) {
20
+ * sound.setBuffer(buffer);
21
+ * sound.setLoop(true);
22
+ * sound.setVolume(0.5);
23
+ * sound.play();
24
+ * });
25
+ * ```
26
+ * @see Example: {@link https://threejs.org/examples/#webaudio_sandbox | webaudio / sandbox }
27
+ * @see Example: {@link https://threejs.org/examples/#webaudio_visualizer | webaudio / visualizer }
28
+ * @see {@link https://threejs.org/docs/index.html#api/en/audio/Audio | Official Documentation}
29
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/audio/Audio.js | Source}
30
+ */
31
+ export class Audio<NodeType extends AudioNode = GainNode> extends Object3D {
32
+ /**
33
+ * Create a new instance of {@link Audio}
34
+ * @param listener (required) {@link AudioListener | AudioListener} instance.
35
+ */
36
+ constructor(listener: AudioListener);
37
+
38
+ /**
39
+ * A Read-only _string_ to check if `this` object type.
40
+ * @remarks Sub-classes will update this value.
41
+ * @defaultValue `Audio`
42
+ */
43
+ readonly type: string | 'Audio';
44
+
45
+ /**
46
+ * A reference to the listener object of this audio.
47
+ */
48
+ listener: AudioListener;
49
+
50
+ /**
51
+ * The {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioContext | AudioContext} of the {@link AudioListener | listener} given in the constructor.
52
+ */
53
+ context: AudioContext;
54
+
55
+ /**
56
+ * A {@link https://developer.mozilla.org/en-US/docs/Web/API/GainNode | GainNode} created using
57
+ * {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createGain | AudioContext.createGain}().
58
+ */
59
+ gain: GainNode;
60
+
61
+ /**
62
+ * Whether to start playback automatically.
63
+ * @defaultValue `false`
64
+ */
65
+ autoplay: boolean;
66
+
67
+ buffer: AudioBuffer | null;
68
+
69
+ /**
70
+ * Modify pitch, measured in cents. +/- 100 is a semitone. +/- 1200 is an octave.
71
+ * @defaultValue `0`
72
+ */
73
+ detune: number;
74
+
75
+ /**
76
+ * @default false
77
+ */
78
+ loop: boolean;
79
+
80
+ /**
81
+ * @default 0
82
+ */
83
+ loopStart: number;
84
+
85
+ /**
86
+ * @default 0
87
+ */
88
+ loopEnd: number;
89
+
90
+ /**
91
+ * An offset to the time within the {@link Audio} buffer that playback should begin.
92
+ * Same as the {@link Audio.offset | offset} parameter of {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start | AudioBufferSourceNode.start()}.
93
+ * @defaultValue `0`
94
+ */
95
+ offset: number;
96
+
97
+ /**
98
+ * Overrides the duration of the audio. Same as the {@link Audio.duration | duration} parameter of
99
+ * {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start | AudioBufferSourceNode.start()}.
100
+ * @defaultValue `undefined` _to play the whole buffer_.
101
+ */
102
+ duration: number | undefined;
103
+
104
+ /**
105
+ * Speed of playback.
106
+ * @defaultValue `1`
107
+ */
108
+ playbackRate: number;
109
+
110
+ /**
111
+ * Whether the {@link Audio} is currently playing.
112
+ * @defaultValue `false`
113
+ */
114
+ isPlaying: boolean;
115
+
116
+ /**
117
+ * Whether playback can be controlled using the {@link Audio.play | play}(), {@link Audio.pause | pause}() etc. methods.
118
+ * @defaultValue `true`
119
+ */
120
+ hasPlaybackControl: boolean;
121
+
122
+ /**
123
+ * Type of the {@link Audio} source.
124
+ * @defaultValue 'empty'.
125
+ */
126
+ sourceType: string;
127
+
128
+ /**
129
+ * An {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode | AudioBufferSourceNode} created using
130
+ * {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource | AudioContext.createBufferSource()}.
131
+ */
132
+ source: AudioScheduledSourceNode | null;
133
+
134
+ /**
135
+ * Represents an array of {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioNode | AudioNodes}.
136
+ * Can be used to apply a variety of low-order filters to create more complex sound effects.
137
+ * In most cases, the array contains instances of {@link https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode | BiquadFilterNodes}.
138
+ * Filters are set via {@link THREE.Audio.setFilter | Audio.setFilter} or {@link THREE.Audio.setFilters | Audio.setFilters}.
139
+ * @defaultValue `[]`
140
+ */
141
+ filters: AudioNode[];
142
+
143
+ /**
144
+ * Return the {@link Audio.gain | gainNode}.
145
+ */
146
+ getOutput(): NodeType;
147
+
148
+ /**
149
+ * Setup the {@link Audio.source | source} to the audioBuffer, and sets {@link Audio.sourceType | sourceType} to 'audioNode'.
150
+ * @remarks Also sets {@link Audio.hasPlaybackControl | hasPlaybackControl} to false.
151
+ */
152
+ setNodeSource(audioNode: AudioScheduledSourceNode): this;
153
+
154
+ /**
155
+ * Applies the given object of type {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement | HTMLMediaElement} as the source of this audio.
156
+ * @remarks Also sets {@link Audio.hasPlaybackControl | hasPlaybackControl} to false.
157
+ */
158
+ setMediaElementSource(mediaElement: HTMLMediaElement): this;
159
+
160
+ /**
161
+ * Applies the given object of type {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaStream | MediaStream} as the source of this audio.
162
+ * @remarks Also sets {@link Audio.hasPlaybackControl | hasPlaybackControl} to false.
163
+ */
164
+ setMediaStreamSource(mediaStream: MediaStream): this;
165
+
166
+ /**
167
+ * Setup the {@link Audio.source | source} to the audioBuffer, and sets {@link Audio.sourceType | sourceType} to 'buffer'.
168
+ * @remarks If {@link Audio.autoplay | autoplay}, also starts playback.
169
+ */
170
+ setBuffer(audioBuffer: AudioBuffer): this;
171
+
172
+ /**
173
+ * If {@link Audio.hasPlaybackControl | hasPlaybackControl} is true, starts playback.
174
+ */
175
+ play(delay?: number): this;
176
+ /**
177
+ * If {@link Audio.hasPlaybackControl | hasPlaybackControl} is true, pauses playback.
178
+ */
179
+ pause(): this;
180
+ /**
181
+ * If {@link Audio.hasPlaybackControl | hasPlaybackControl} is enabled, stops playback.
182
+ */
183
+ stop(): this;
184
+
185
+ /**
186
+ * Called automatically when playback finished.
187
+ */
188
+ onEnded(): void;
189
+
190
+ /**
191
+ * Connect to the {@link THREE.Audio.source | Audio.source}
192
+ * @remarks This is used internally on initialisation and when setting / removing filters.
193
+ */
194
+ connect(): this;
195
+ /**
196
+ * Disconnect from the {@link THREE.Audio.source | Audio.source}
197
+ * @remarks This is used internally when setting / removing filters.
198
+ */
199
+ disconnect(): this;
200
+
201
+ /**
202
+ * Returns the detuning of oscillation in cents.
203
+ */
204
+ getDetune(): number;
205
+ /**
206
+ * Defines the detuning of oscillation in cents.
207
+ * @param value Expects a `Float`
208
+ */
209
+ setDetune(value: number): this;
210
+
211
+ /**
212
+ * Returns the first element of the {@link Audio.filters | filters} array.
213
+ */
214
+ getFilter(): AudioNode;
215
+ /**
216
+ * Applies a single filter node to the audio.
217
+ */
218
+ setFilter(filter: AudioNode): this;
219
+
220
+ /**
221
+ * Returns the {@link Audio.filters | filters} array.
222
+ */
223
+ getFilters(): AudioNode[];
224
+ /**
225
+ * Applies an array of filter nodes to the audio.
226
+ * @param value Arrays of filters.
227
+ */
228
+ setFilters(value: AudioNode[]): this;
229
+
230
+ /**
231
+ * Return the value of {@link Audio.playbackRate | playbackRate}.
232
+ */
233
+ getPlaybackRate(): number;
234
+ /**
235
+ * If {@link Audio.hasPlaybackControl | hasPlaybackControl} is enabled, set the {@link Audio.playbackRate | playbackRate} to `value`.
236
+ * @param value Expects a `Float`
237
+ */
238
+ setPlaybackRate(value: number): this;
239
+
240
+ /**
241
+ * Return the value of {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop | source.loop} (whether playback should loop).
242
+ */
243
+ getLoop(): boolean;
244
+ /**
245
+ * Set {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop | source.loop} to `value` (whether playback should loop).
246
+ * @param value
247
+ */
248
+ setLoop(value: boolean): this;
249
+
250
+ /**
251
+ * Set {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopStart | source.loopStart} to `value`.
252
+ * @param value Expects a `Float`
253
+ */
254
+ setLoopStart(value: number): this;
255
+ /**
256
+ * Set {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopEnd | source.loopEnd} to `value`.
257
+ * @param value Expects a `Float`
258
+ */
259
+ setLoopEnd(value: number): this;
260
+
261
+ /**
262
+ * Return the current volume.
263
+ */
264
+ getVolume(): number;
265
+ /**
266
+ * Set the volume.
267
+ * @param value Expects a `Float`
268
+ */
269
+ setVolume(value: number): this;
270
+ }
@@ -0,0 +1,58 @@
1
+ import { Audio } from './Audio.js';
2
+
3
+ /**
4
+ * Create a {@link AudioAnalyser} object, which uses an {@link https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode | AnalyserNode} to analyse audio data.
5
+ * This uses the {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API | Web Audio API}.
6
+ * @example
7
+ * ```typescript
8
+ * // create an AudioListener and add it to the camera
9
+ * const listener = new THREE.AudioListener();
10
+ * camera.add(listener);
11
+ * // create an Audio source
12
+ * const sound = new THREE.Audio(listener);
13
+ * // load a sound and set it as the Audio object's buffer
14
+ * const audioLoader = new THREE.AudioLoader();
15
+ * audioLoader.load('sounds/ambient.ogg', function (buffer) {
16
+ * sound.setBuffer(buffer);
17
+ * sound.setLoop(true);
18
+ * sound.setVolume(0.5);
19
+ * sound.play();
20
+ * });
21
+ * // create an AudioAnalyser, passing in the sound and desired fftSize
22
+ * const analyser = new THREE.AudioAnalyser(sound, 32);
23
+ * // get the average frequency of the sound
24
+ * const data = analyser.getAverageFrequency();
25
+ * ```
26
+ * @see Example: {@link https://threejs.org/examples/#webaudio_sandbox | webaudio / sandbox }
27
+ * @see Example: {@link https://threejs.org/examples/#webaudio_visualizer | webaudio / visualizer }
28
+ * @see {@link https://threejs.org/docs/index.html#api/en/audio/AudioAnalyser | Official Documentation}
29
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/audio/AudioAnalyser.js | Source}
30
+ */
31
+ export class AudioAnalyser {
32
+ /**
33
+ * Create a new {@link {@link AudioAnalyser} | AudioAnalyser}.
34
+ * @param audio
35
+ * @param fftSize See {@link https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/fftSize | AnalyserNode.fftSize }. Expects a `unsigned integer`. Default `2048`.
36
+ */
37
+ constructor(audio: Audio<AudioNode>, fftSize?: number);
38
+
39
+ /**
40
+ * An {@link https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode | AnalyserNode} used to analyze audio.
41
+ */
42
+ analyser: AnalyserNode;
43
+
44
+ /**
45
+ * A Uint8Array with size determined by {@link https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/frequencyBinCount | analyser.frequencyBinCount} used to hold analysis data.
46
+ */
47
+ data: Uint8Array;
48
+
49
+ /**
50
+ * Uses the Web Audio's {@link https://developer.mozilla.org/en-US/docs/Web/API/AnalyserNode/getByteFrequencyData | getByteFrequencyData} method
51
+ */
52
+ getFrequencyData(): Uint8Array;
53
+
54
+ /**
55
+ * Get the average of the frequencies returned by the {@link AudioAnalyser.getFrequencyData | getFrequencyData} method.
56
+ */
57
+ getAverageFrequency(): number;
58
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * This contains methods for setting up an {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioContext | AudioContext}.
3
+ * Used internally by the {@link AudioListener | AudioListener} and {@link AudioLoader | AudioLoader} classes.
4
+ * This uses the {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API | Web Audio API}.
5
+ * @see {@link https://threejs.org/docs/index.html#api/en/audio/AudioContext | Official Documentation}
6
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/audio/AudioContext.js | Source}
7
+ */
8
+ export namespace AudioContext {
9
+ /**
10
+ * Return the value of the variable `context` in the outer scope, if defined, otherwise set it to a new {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioContext | AudioContext}.
11
+ */
12
+ function getContext(): AudioContext;
13
+
14
+ /**
15
+ * Set the variable `context` in the outer scope to `value`.
16
+ * @param value
17
+ */
18
+ function setContext(context: AudioContext): void;
19
+ }
@@ -0,0 +1,96 @@
1
+ import { Object3D } from '../core/Object3D.js';
2
+ import { AudioContext } from './AudioContext.js';
3
+
4
+ /**
5
+ * The {@link AudioListener} represents a virtual {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioListener | listener} of the all positional and non-positional audio effects in the scene.
6
+ * A three.js application usually creates a single instance of {@link AudioListener} * @remarks
7
+ * It is a mandatory construtor parameter for audios entities like {@link Audio | Audio} and {@link PositionalAudio | PositionalAudio}.
8
+ * In most cases, the listener object is a child of the camera
9
+ * So the 3D transformation of the camera represents the 3D transformation of the listener.
10
+ * @example
11
+ * ```typescript
12
+ * // create an {@link AudioListener} and add it to the camera
13
+ * const listener = new THREE.AudioListener();
14
+ * camera.add(listener);
15
+ * // create a global audio source
16
+ * const sound = new THREE.Audio(listener);
17
+ * // load a sound and set it as the Audio object's buffer
18
+ * const audioLoader = new THREE.AudioLoader();
19
+ * audioLoader.load('sounds/ambient.ogg', function (buffer) {
20
+ * sound.setBuffer(buffer);
21
+ * sound.setLoop(true);
22
+ * sound.setVolume(0.5);
23
+ * sound.play();
24
+ * });
25
+ * ```
26
+ * @see Example: {@link https://threejs.org/examples/#webaudio_sandbox | webaudio / sandbox }
27
+ * @see Example: {@link https://threejs.org/examples/#webaudio_timing | webaudio / timing }
28
+ * @see Example: {@link https://threejs.org/examples/#webaudio_visualizer | webaudio / visualizer }
29
+ * @see {@link https://threejs.org/docs/index.html#api/en/audio/AudioListener | Official Documentation}
30
+ * @see {@link https://github.com/mrdoob/three.js/blob/master/src/audio/AudioListener.js | Source}
31
+ */
32
+ export class AudioListener extends Object3D {
33
+ /**
34
+ * Create a new AudioListener.
35
+ */
36
+ constructor();
37
+
38
+ /**
39
+ * A Read-only _string_ to check if `this` object type.
40
+ * @remarks Sub-classes will update this value.
41
+ * @defaultValue `AudioListener`
42
+ */
43
+ readonly type: string | 'AudioListener';
44
+
45
+ /**
46
+ * The {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioContext | AudioContext} of the {@link {@link AudioListener} | listener} given in the constructor.
47
+ */
48
+ context: AudioContext;
49
+
50
+ /**
51
+ * A {@link https://developer.mozilla.org/en-US/docs/Web/API/GainNode | GainNode} created using
52
+ * {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createGain | AudioContext.createGain()}.
53
+ */
54
+ gain: GainNode;
55
+
56
+ /**
57
+ * @defaultValue `null`
58
+ */
59
+ filter: AudioNode;
60
+
61
+ /**
62
+ * Time delta value for audio entities. Use in context of {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioParam/linearRampToValueAtTime | AudioParam.linearRampToValueAtTimeDefault()}.
63
+ * @defaultValue `0`
64
+ */
65
+ timeDelta: number;
66
+
67
+ /**
68
+ * Return the {@link AudioListener.gain | gainNode}.
69
+ */
70
+ getInput(): GainNode;
71
+ /**
72
+ * Set the {@link AudioListener.filter | filter} property to `null`.
73
+ */
74
+ removeFilter(): this;
75
+
76
+ /**
77
+ * Returns the value of the {@link AudioListener.filter | filter} property.
78
+ */
79
+ getFilter(): AudioNode;
80
+ /**
81
+ * Set the {@link AudioListener.filter | filter} property to `value`.
82
+ * @param value
83
+ */
84
+ setFilter(value: AudioNode): this;
85
+
86
+ /**
87
+ * Return the volume.
88
+ */
89
+ getMasterVolume(): number;
90
+
91
+ /**
92
+ * Set the volume.
93
+ * @param value
94
+ */
95
+ setMasterVolume(value: number): this;
96
+ }