@nativescript/canvas-three 2.0.0-webgpu.3 → 2.0.0-webgpu.31

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 (495) hide show
  1. package/index.d.ts +2 -1
  2. package/index.js +3 -2
  3. package/index.js.map +1 -1
  4. package/package.json +2 -3
  5. package/three/src/Three.Legacy.d.ts +20 -0
  6. package/three/src/Three.WebGPU.d.ts +180 -0
  7. package/three/src/Three.d.ts +189 -0
  8. package/three/src/animation/AnimationAction.d.ts +86 -0
  9. package/three/src/animation/AnimationClip.d.ts +50 -0
  10. package/three/src/animation/AnimationMixer.d.ts +35 -0
  11. package/three/src/animation/AnimationObjectGroup.d.ts +17 -0
  12. package/three/src/animation/AnimationUtils.d.ts +40 -0
  13. package/three/src/animation/KeyframeTrack.d.ts +55 -0
  14. package/three/src/animation/PropertyBinding.d.ts +43 -0
  15. package/three/src/animation/PropertyMixer.d.ts +17 -0
  16. package/three/src/animation/tracks/BooleanKeyframeTrack.d.ts +10 -0
  17. package/three/src/animation/tracks/ColorKeyframeTrack.d.ts +11 -0
  18. package/three/src/animation/tracks/NumberKeyframeTrack.d.ts +11 -0
  19. package/three/src/animation/tracks/QuaternionKeyframeTrack.d.ts +11 -0
  20. package/three/src/animation/tracks/StringKeyframeTrack.d.ts +10 -0
  21. package/three/src/animation/tracks/VectorKeyframeTrack.d.ts +11 -0
  22. package/three/src/audio/Audio.d.ts +270 -0
  23. package/three/src/audio/AudioAnalyser.d.ts +58 -0
  24. package/three/src/audio/AudioContext.d.ts +19 -0
  25. package/three/src/audio/AudioListener.d.ts +96 -0
  26. package/three/src/audio/PositionalAudio.d.ts +101 -0
  27. package/three/src/cameras/ArrayCamera.d.ts +32 -0
  28. package/three/src/cameras/Camera.d.ts +74 -0
  29. package/three/src/cameras/CubeCamera.d.ts +68 -0
  30. package/three/src/cameras/OrthographicCamera.d.ts +167 -0
  31. package/three/src/cameras/PerspectiveCamera.d.ts +254 -0
  32. package/three/src/cameras/StereoCamera.d.ts +50 -0
  33. package/three/src/constants.d.ts +802 -0
  34. package/three/src/core/BufferAttribute.d.ts +592 -0
  35. package/three/src/core/BufferGeometry.d.ts +417 -0
  36. package/three/src/core/Clock.d.ts +72 -0
  37. package/three/src/core/EventDispatcher.d.ts +74 -0
  38. package/three/src/core/GLBufferAttribute.d.ts +121 -0
  39. package/three/src/core/InstancedBufferAttribute.d.ts +32 -0
  40. package/three/src/core/InstancedBufferGeometry.d.ts +37 -0
  41. package/three/src/core/InstancedInterleavedBuffer.d.ts +22 -0
  42. package/three/src/core/InterleavedBuffer.d.ts +162 -0
  43. package/three/src/core/InterleavedBufferAttribute.d.ts +201 -0
  44. package/three/src/core/Layers.d.ts +72 -0
  45. package/three/src/core/Object3D.d.ts +644 -0
  46. package/three/src/core/Raycaster.d.ts +199 -0
  47. package/three/src/core/RenderTarget.d.ts +89 -0
  48. package/three/src/core/Uniform.d.ts +38 -0
  49. package/three/src/core/UniformsGroup.d.ts +33 -0
  50. package/three/src/extras/DataUtils.d.ts +22 -0
  51. package/three/src/extras/Earcut.d.ts +15 -0
  52. package/three/src/extras/ImageUtils.d.ts +30 -0
  53. package/three/src/extras/PMREMGenerator.d.ts +82 -0
  54. package/three/src/extras/ShapeUtils.d.ts +25 -0
  55. package/three/src/extras/TextureUtils.d.ts +37 -0
  56. package/three/src/extras/core/Curve.d.ts +162 -0
  57. package/three/src/extras/core/CurvePath.d.ts +77 -0
  58. package/three/src/extras/core/Interpolations.d.ts +36 -0
  59. package/three/src/extras/core/Path.d.ts +148 -0
  60. package/three/src/extras/core/Shape.d.ts +86 -0
  61. package/three/src/extras/core/ShapePath.d.ts +98 -0
  62. package/three/src/extras/curves/ArcCurve.d.ts +34 -0
  63. package/three/src/extras/curves/CatmullRomCurve3.d.ts +77 -0
  64. package/three/src/extras/curves/CubicBezierCurve.d.ts +72 -0
  65. package/three/src/extras/curves/CubicBezierCurve3.d.ts +72 -0
  66. package/three/src/extras/curves/Curves.d.ts +10 -0
  67. package/three/src/extras/curves/EllipseCurve.d.ts +106 -0
  68. package/three/src/extras/curves/LineCurve.d.ts +42 -0
  69. package/three/src/extras/curves/LineCurve3.d.ts +42 -0
  70. package/three/src/extras/curves/QuadraticBezierCurve.d.ts +64 -0
  71. package/three/src/extras/curves/QuadraticBezierCurve3.d.ts +64 -0
  72. package/three/src/extras/curves/SplineCurve.d.ts +52 -0
  73. package/three/src/geometries/BoxGeometry.d.ts +52 -0
  74. package/three/src/geometries/CapsuleGeometry.d.ts +48 -0
  75. package/three/src/geometries/CircleGeometry.d.ts +51 -0
  76. package/three/src/geometries/ConeGeometry.d.ts +56 -0
  77. package/three/src/geometries/CylinderGeometry.d.ts +55 -0
  78. package/three/src/geometries/DodecahedronGeometry.d.ts +25 -0
  79. package/three/src/geometries/EdgesGeometry.d.ts +41 -0
  80. package/three/src/geometries/ExtrudeGeometry.d.ts +139 -0
  81. package/three/src/geometries/Geometries.d.ts +21 -0
  82. package/three/src/geometries/IcosahedronGeometry.d.ts +26 -0
  83. package/three/src/geometries/LatheGeometry.d.ts +55 -0
  84. package/three/src/geometries/OctahedronGeometry.d.ts +25 -0
  85. package/three/src/geometries/PlaneGeometry.d.ts +48 -0
  86. package/three/src/geometries/PolyhedronGeometry.d.ts +54 -0
  87. package/three/src/geometries/RingGeometry.d.ts +52 -0
  88. package/three/src/geometries/ShapeGeometry.d.ts +53 -0
  89. package/three/src/geometries/SphereGeometry.d.ts +59 -0
  90. package/three/src/geometries/TetrahedronGeometry.d.ts +25 -0
  91. package/three/src/geometries/TorusGeometry.d.ts +49 -0
  92. package/three/src/geometries/TorusKnotGeometry.d.ts +52 -0
  93. package/three/src/geometries/TubeGeometry.d.ts +80 -0
  94. package/three/src/geometries/WireframeGeometry.d.ts +40 -0
  95. package/three/src/helpers/ArrowHelper.d.ts +86 -0
  96. package/three/src/helpers/AxesHelper.d.ts +50 -0
  97. package/three/src/helpers/Box3Helper.d.ts +44 -0
  98. package/three/src/helpers/BoxHelper.d.ts +64 -0
  99. package/three/src/helpers/CameraHelper.d.ts +80 -0
  100. package/three/src/helpers/DirectionalLightHelper.d.ts +81 -0
  101. package/three/src/helpers/GridHelper.d.ts +47 -0
  102. package/three/src/helpers/HemisphereLightHelper.d.ts +72 -0
  103. package/three/src/helpers/PlaneHelper.d.ts +50 -0
  104. package/three/src/helpers/PointLightHelper.d.ts +73 -0
  105. package/three/src/helpers/PolarGridHelper.d.ts +48 -0
  106. package/three/src/helpers/SkeletonHelper.d.ts +78 -0
  107. package/three/src/helpers/SpotLightHelper.d.ts +77 -0
  108. package/three/src/lights/AmbientLight.d.ts +36 -0
  109. package/three/src/lights/DirectionalLight.d.ts +103 -0
  110. package/three/src/lights/DirectionalLightShadow.d.ts +73 -0
  111. package/three/src/lights/HemisphereLight.d.ts +61 -0
  112. package/three/src/lights/Light.d.ts +82 -0
  113. package/three/src/lights/LightProbe.d.ts +47 -0
  114. package/three/src/lights/LightShadow.d.ts +169 -0
  115. package/three/src/lights/PointLight.d.ts +102 -0
  116. package/three/src/lights/PointLightShadow.d.ts +22 -0
  117. package/three/src/lights/RectAreaLight.d.ts +82 -0
  118. package/three/src/lights/SpotLight.d.ts +157 -0
  119. package/three/src/lights/SpotLightShadow.d.ts +72 -0
  120. package/three/src/lights/webgpu/IESSpotLight.d.ts +6 -0
  121. package/three/src/loaders/AnimationLoader.d.ts +9 -0
  122. package/three/src/loaders/AudioLoader.d.ts +6 -0
  123. package/three/src/loaders/BufferGeometryLoader.d.ts +10 -0
  124. package/three/src/loaders/Cache.d.ts +21 -0
  125. package/three/src/loaders/CompressedTextureLoader.d.ts +9 -0
  126. package/three/src/loaders/CubeTextureLoader.d.ts +9 -0
  127. package/three/src/loaders/DataTextureLoader.d.ts +9 -0
  128. package/three/src/loaders/FileLoader.d.ts +14 -0
  129. package/three/src/loaders/ImageBitmapLoader.d.ts +17 -0
  130. package/three/src/loaders/ImageLoader.d.ts +12 -0
  131. package/three/src/loaders/Loader.d.ts +45 -0
  132. package/three/src/loaders/LoaderUtils.d.ts +10 -0
  133. package/three/src/loaders/LoadingManager.d.ts +65 -0
  134. package/three/src/loaders/MaterialLoader.d.ts +19 -0
  135. package/three/src/loaders/ObjectLoader.d.ts +25 -0
  136. package/three/src/loaders/TextureLoader.d.ts +13 -0
  137. package/three/src/materials/LineBasicMaterial.d.ts +60 -0
  138. package/three/src/materials/LineDashedMaterial.d.ts +40 -0
  139. package/three/src/materials/Material.d.ts +608 -0
  140. package/three/src/materials/Materials.d.ts +18 -0
  141. package/three/src/materials/MeshBasicMaterial.d.ts +139 -0
  142. package/three/src/materials/MeshDepthMaterial.d.ts +76 -0
  143. package/three/src/materials/MeshDistanceMaterial.d.ts +62 -0
  144. package/three/src/materials/MeshLambertMaterial.d.ts +204 -0
  145. package/three/src/materials/MeshMatcapMaterial.d.ts +117 -0
  146. package/three/src/materials/MeshNormalMaterial.d.ts +93 -0
  147. package/three/src/materials/MeshPhongMaterial.d.ts +228 -0
  148. package/three/src/materials/MeshPhysicalMaterial.d.ts +236 -0
  149. package/three/src/materials/MeshStandardMaterial.d.ts +218 -0
  150. package/three/src/materials/MeshToonMaterial.d.ts +178 -0
  151. package/three/src/materials/PointsMaterial.d.ts +61 -0
  152. package/three/src/materials/RawShaderMaterial.d.ts +14 -0
  153. package/three/src/materials/ShaderMaterial.d.ts +175 -0
  154. package/three/src/materials/ShadowMaterial.d.ts +39 -0
  155. package/three/src/materials/SpriteMaterial.d.ts +66 -0
  156. package/three/src/math/Box2.d.ts +48 -0
  157. package/three/src/math/Box3.d.ts +66 -0
  158. package/three/src/math/Color.d.ts +358 -0
  159. package/three/src/math/ColorManagement.d.ts +37 -0
  160. package/three/src/math/Cylindrical.d.ts +26 -0
  161. package/three/src/math/Euler.d.ts +50 -0
  162. package/three/src/math/Frustum.d.ts +30 -0
  163. package/three/src/math/Interpolant.d.ts +10 -0
  164. package/three/src/math/Line3.d.ts +29 -0
  165. package/three/src/math/MathUtils.d.ts +131 -0
  166. package/three/src/math/Matrix2.d.ts +48 -0
  167. package/three/src/math/Matrix3.d.ts +154 -0
  168. package/three/src/math/Matrix4.d.ts +217 -0
  169. package/three/src/math/Plane.d.ts +47 -0
  170. package/three/src/math/Quaternion.d.ts +173 -0
  171. package/three/src/math/Ray.d.ts +55 -0
  172. package/three/src/math/Sphere.d.ts +47 -0
  173. package/three/src/math/Spherical.d.ts +27 -0
  174. package/three/src/math/SphericalHarmonics3.d.ts +50 -0
  175. package/three/src/math/Triangle.d.ts +54 -0
  176. package/three/src/math/Vector2.d.ts +321 -0
  177. package/three/src/math/Vector3.d.ts +301 -0
  178. package/three/src/math/Vector4.d.ts +239 -0
  179. package/three/src/math/interpolants/CubicInterpolant.d.ts +7 -0
  180. package/three/src/math/interpolants/DiscreteInterpolant.d.ts +7 -0
  181. package/three/src/math/interpolants/LinearInterpolant.d.ts +7 -0
  182. package/three/src/math/interpolants/QuaternionLinearInterpolant.d.ts +7 -0
  183. package/three/src/nodes/Nodes.d.ts +231 -0
  184. package/three/src/nodes/accessors/AccessorsUtils.d.ts +9 -0
  185. package/three/src/nodes/accessors/BatchNode.d.ts +14 -0
  186. package/three/src/nodes/accessors/BitangentNode.d.ts +9 -0
  187. package/three/src/nodes/accessors/BufferAttributeNode.d.ts +28 -0
  188. package/three/src/nodes/accessors/BufferNode.d.ts +13 -0
  189. package/three/src/nodes/accessors/CameraNode.d.ts +15 -0
  190. package/three/src/nodes/accessors/ClippingNode.d.ts +16 -0
  191. package/three/src/nodes/accessors/CubeTextureNode.d.ts +24 -0
  192. package/three/src/nodes/accessors/InstanceNode.d.ts +13 -0
  193. package/three/src/nodes/accessors/MaterialNode.d.ts +130 -0
  194. package/three/src/nodes/accessors/MaterialReferenceNode.d.ts +9 -0
  195. package/three/src/nodes/accessors/ModelNode.d.ts +20 -0
  196. package/three/src/nodes/accessors/ModelViewProjectionNode.d.ts +8 -0
  197. package/three/src/nodes/accessors/NormalNode.d.ts +12 -0
  198. package/three/src/nodes/accessors/Object3DNode.d.ts +26 -0
  199. package/three/src/nodes/accessors/PointUVNode.d.ts +10 -0
  200. package/three/src/nodes/accessors/PositionNode.d.ts +9 -0
  201. package/three/src/nodes/accessors/ReferenceNode.d.ts +22 -0
  202. package/three/src/nodes/accessors/ReflectVectorNode.d.ts +9 -0
  203. package/three/src/nodes/accessors/RendererReferenceNode.d.ts +11 -0
  204. package/three/src/nodes/accessors/SkinningNode.d.ts +20 -0
  205. package/three/src/nodes/accessors/StorageBufferNode.d.ts +26 -0
  206. package/three/src/nodes/accessors/StorageTextureNode.d.ts +28 -0
  207. package/three/src/nodes/accessors/TangentNode.d.ts +12 -0
  208. package/three/src/nodes/accessors/Texture3DNode.d.ts +13 -0
  209. package/three/src/nodes/accessors/TextureBicubicNode.d.ts +18 -0
  210. package/three/src/nodes/accessors/TextureNode.d.ts +37 -0
  211. package/three/src/nodes/accessors/UVNode.d.ts +4 -0
  212. package/three/src/nodes/accessors/UniformsNode.d.ts +23 -0
  213. package/three/src/nodes/accessors/UserDataNode.d.ts +11 -0
  214. package/three/src/nodes/accessors/VertexColorNode.d.ts +12 -0
  215. package/three/src/nodes/code/CodeNode.d.ts +23 -0
  216. package/three/src/nodes/code/ExpressionNode.d.ts +9 -0
  217. package/three/src/nodes/code/FunctionCallNode.d.ts +22 -0
  218. package/three/src/nodes/code/FunctionNode.d.ts +38 -0
  219. package/three/src/nodes/core/AssignNode.d.ts +18 -0
  220. package/three/src/nodes/core/AttributeNode.d.ts +15 -0
  221. package/three/src/nodes/core/BypassNode.d.ts +18 -0
  222. package/three/src/nodes/core/CacheNode.d.ts +20 -0
  223. package/three/src/nodes/core/ConstNode.d.ts +9 -0
  224. package/three/src/nodes/core/ContextNode.d.ts +21 -0
  225. package/three/src/nodes/core/IndexNode.d.ts +20 -0
  226. package/three/src/nodes/core/InputNode.d.ts +15 -0
  227. package/three/src/nodes/core/LightingModel.d.ts +46 -0
  228. package/three/src/nodes/core/MRTNode.d.ts +19 -0
  229. package/three/src/nodes/core/Node.d.ts +117 -0
  230. package/three/src/nodes/core/NodeAttribute.d.ts +9 -0
  231. package/three/src/nodes/core/NodeBuilder.d.ts +133 -0
  232. package/three/src/nodes/core/NodeCache.d.ts +49 -0
  233. package/three/src/nodes/core/NodeCode.d.ts +4 -0
  234. package/three/src/nodes/core/NodeFrame.d.ts +34 -0
  235. package/three/src/nodes/core/NodeFunction.d.ts +13 -0
  236. package/three/src/nodes/core/NodeFunctionInput.d.ts +7 -0
  237. package/three/src/nodes/core/NodeKeywords.d.ts +17 -0
  238. package/three/src/nodes/core/NodeParser.d.ts +5 -0
  239. package/three/src/nodes/core/NodeUniform.d.ts +14 -0
  240. package/three/src/nodes/core/NodeUtils.d.ts +18 -0
  241. package/three/src/nodes/core/NodeVar.d.ts +7 -0
  242. package/three/src/nodes/core/NodeVarying.d.ts +7 -0
  243. package/three/src/nodes/core/OutputStructNode.d.ts +12 -0
  244. package/three/src/nodes/core/PropertyNode.d.ts +43 -0
  245. package/three/src/nodes/core/StackNode.d.ts +17 -0
  246. package/three/src/nodes/core/StructTypeNode.d.ts +8 -0
  247. package/three/src/nodes/core/TempNode.d.ts +10 -0
  248. package/three/src/nodes/core/UniformGroup.d.ts +7 -0
  249. package/three/src/nodes/core/UniformGroupNode.d.ts +21 -0
  250. package/three/src/nodes/core/UniformNode.d.ts +20 -0
  251. package/three/src/nodes/core/VarNode.d.ts +28 -0
  252. package/three/src/nodes/core/VaryingNode.d.ts +21 -0
  253. package/three/src/nodes/core/constants.d.ts +27 -0
  254. package/three/src/nodes/display/AfterImageNode.d.ts +25 -0
  255. package/three/src/nodes/display/AnamorphicNode.d.ts +26 -0
  256. package/three/src/nodes/display/BlendModeNode.d.ts +43 -0
  257. package/three/src/nodes/display/BloomNode.d.ts +30 -0
  258. package/three/src/nodes/display/ColorAdjustmentNode.d.ts +35 -0
  259. package/three/src/nodes/display/ColorSpaceNode.d.ts +32 -0
  260. package/three/src/nodes/display/DenoiseNode.d.ts +32 -0
  261. package/three/src/nodes/display/DepthOfFieldNode.d.ts +24 -0
  262. package/three/src/nodes/display/DotScreenNode.d.ts +22 -0
  263. package/three/src/nodes/display/FXAANode.d.ts +19 -0
  264. package/three/src/nodes/display/FilmNode.d.ts +21 -0
  265. package/three/src/nodes/display/FrontFacingNode.d.ts +10 -0
  266. package/three/src/nodes/display/GTAONode.d.ts +42 -0
  267. package/three/src/nodes/display/GaussianBlurNode.d.ts +27 -0
  268. package/three/src/nodes/display/Lut3DNode.d.ts +25 -0
  269. package/three/src/nodes/display/NormalMapNode.d.ts +21 -0
  270. package/three/src/nodes/display/PassNode.d.ts +62 -0
  271. package/three/src/nodes/display/PixelationPassNode.d.ts +41 -0
  272. package/three/src/nodes/display/PosterizeNode.d.ts +17 -0
  273. package/three/src/nodes/display/RGBShiftNode.d.ts +24 -0
  274. package/three/src/nodes/display/RenderOutputNode.d.ts +24 -0
  275. package/three/src/nodes/display/SobelOperatorNode.d.ts +17 -0
  276. package/three/src/nodes/display/ToneMappingNode.d.ts +25 -0
  277. package/three/src/nodes/display/TransitionNode.d.ts +27 -0
  278. package/three/src/nodes/display/ViewportDepthNode.d.ts +28 -0
  279. package/three/src/nodes/display/ViewportDepthTextureNode.d.ts +9 -0
  280. package/three/src/nodes/display/ViewportNode.d.ts +25 -0
  281. package/three/src/nodes/display/ViewportSharedTextureNode.d.ts +15 -0
  282. package/three/src/nodes/display/ViewportTextureNode.d.ts +25 -0
  283. package/three/src/nodes/fog/FogExp2Node.d.ts +18 -0
  284. package/three/src/nodes/fog/FogNode.d.ts +21 -0
  285. package/three/src/nodes/fog/FogRangeNode.d.ts +19 -0
  286. package/three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +7 -0
  287. package/three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +7 -0
  288. package/three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +7 -0
  289. package/three/src/nodes/functions/BSDF/DFGApprox.d.ts +11 -0
  290. package/three/src/nodes/functions/BSDF/D_GGX.d.ts +10 -0
  291. package/three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +8 -0
  292. package/three/src/nodes/functions/BSDF/F_Schlick.d.ts +7 -0
  293. package/three/src/nodes/functions/BSDF/LTC.d.ts +7 -0
  294. package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +7 -0
  295. package/three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +7 -0
  296. package/three/src/nodes/functions/BasicLightingModel.d.ts +7 -0
  297. package/three/src/nodes/functions/PhongLightingModel.d.ts +7 -0
  298. package/three/src/nodes/functions/PhysicalLightingModel.d.ts +23 -0
  299. package/three/src/nodes/functions/ShadowMaskModel.d.ts +9 -0
  300. package/three/src/nodes/functions/ToonLightingModel.d.ts +3 -0
  301. package/three/src/nodes/functions/material/getGeometryRoughness.d.ts +6 -0
  302. package/three/src/nodes/functions/material/getRoughness.d.ts +7 -0
  303. package/three/src/nodes/geometry/RangeNode.d.ts +19 -0
  304. package/three/src/nodes/gpgpu/ComputeNode.d.ts +20 -0
  305. package/three/src/nodes/lighting/AONode.d.ts +8 -0
  306. package/three/src/nodes/lighting/AnalyticLightNode.d.ts +8 -0
  307. package/three/src/nodes/lighting/BasicEnvironmentNode.d.ts +10 -0
  308. package/three/src/nodes/lighting/BasicLightMapNode.d.ts +8 -0
  309. package/three/src/nodes/lighting/EnvironmentNode.d.ts +8 -0
  310. package/three/src/nodes/lighting/HemisphereLightNode.d.ts +13 -0
  311. package/three/src/nodes/lighting/IrradianceNode.d.ts +8 -0
  312. package/three/src/nodes/lighting/LightUtils.d.ts +5 -0
  313. package/three/src/nodes/lighting/LightingContextNode.d.ts +22 -0
  314. package/three/src/nodes/lighting/LightingNode.d.ts +7 -0
  315. package/three/src/nodes/lighting/LightsNode.d.ts +19 -0
  316. package/three/src/nodes/lighting/PointLightNode.d.ts +10 -0
  317. package/three/src/nodes/lighting/RectAreaLightNode.d.ts +21 -0
  318. package/three/src/nodes/lighting/SpotLightNode.d.ts +15 -0
  319. package/three/src/nodes/loaders/NodeLoader.d.ts +16 -0
  320. package/three/src/nodes/loaders/NodeMaterialLoader.d.ts +8 -0
  321. package/three/src/nodes/loaders/NodeObjectLoader.d.ts +10 -0
  322. package/three/src/nodes/materials/Line2NodeMaterial.d.ts +53 -0
  323. package/three/src/nodes/materials/LineBasicNodeMaterial.d.ts +21 -0
  324. package/three/src/nodes/materials/Materials.d.ts +15 -0
  325. package/three/src/nodes/materials/MeshBasicNodeMaterial.d.ts +35 -0
  326. package/three/src/nodes/materials/MeshMatcapNodeMaterial.d.ts +31 -0
  327. package/three/src/nodes/materials/MeshNormalNodeMaterial.d.ts +27 -0
  328. package/three/src/nodes/materials/MeshPhongNodeMaterial.d.ts +55 -0
  329. package/three/src/nodes/materials/MeshPhysicalNodeMaterial.d.ts +87 -0
  330. package/three/src/nodes/materials/MeshSSSNodeMaterial.d.ts +16 -0
  331. package/three/src/nodes/materials/MeshStandardNodeMaterial.d.ts +55 -0
  332. package/three/src/nodes/materials/MeshToonNodeMaterial.d.ts +41 -0
  333. package/three/src/nodes/materials/NodeMaterial.d.ts +124 -0
  334. package/three/src/nodes/materials/PointsNodeMaterial.d.ts +21 -0
  335. package/three/src/nodes/materials/ShadowNodeMaterial.d.ts +16 -0
  336. package/three/src/nodes/materials/SpriteNodeMaterial.d.ts +25 -0
  337. package/three/src/nodes/materials/VolumeNodeMaterial.d.ts +10 -0
  338. package/three/src/nodes/materialx/MaterialXNodes.d.ts +36 -0
  339. package/three/src/nodes/materialx/lib/mx_hsv.d.ts +6 -0
  340. package/three/src/nodes/materialx/lib/mx_noise.d.ts +139 -0
  341. package/three/src/nodes/materialx/lib/mx_transform_color.d.ts +4 -0
  342. package/three/src/nodes/math/CondNode.d.ts +18 -0
  343. package/three/src/nodes/math/HashNode.d.ts +16 -0
  344. package/three/src/nodes/math/MathNode.d.ts +253 -0
  345. package/three/src/nodes/math/MathUtils.d.ts +16 -0
  346. package/three/src/nodes/math/OperatorNode.d.ts +61 -0
  347. package/three/src/nodes/math/TriNoise3D.d.ts +8 -0
  348. package/three/src/nodes/pmrem/PMREMNode.d.ts +16 -0
  349. package/three/src/nodes/procedural/CheckerNode.d.ts +15 -0
  350. package/three/src/nodes/shadernode/ShaderNode.d.ts +226 -0
  351. package/three/src/nodes/utils/ArrayElementNode.d.ts +9 -0
  352. package/three/src/nodes/utils/ConvertNode.d.ts +7 -0
  353. package/three/src/nodes/utils/DiscardNode.d.ts +17 -0
  354. package/three/src/nodes/utils/EquirectUVNode.d.ts +8 -0
  355. package/three/src/nodes/utils/JoinNode.d.ts +10 -0
  356. package/three/src/nodes/utils/MatcapUVNode.d.ts +8 -0
  357. package/three/src/nodes/utils/MaxMipLevelNode.d.ts +14 -0
  358. package/three/src/nodes/utils/OscNode.d.ts +21 -0
  359. package/three/src/nodes/utils/PackingNode.d.ts +24 -0
  360. package/three/src/nodes/utils/RTTNode.d.ts +40 -0
  361. package/three/src/nodes/utils/ReflectorNode.d.ts +32 -0
  362. package/three/src/nodes/utils/RemapNode.d.ts +24 -0
  363. package/three/src/nodes/utils/RotateNode.d.ts +18 -0
  364. package/three/src/nodes/utils/RotateUVNode.d.ts +19 -0
  365. package/three/src/nodes/utils/SplitNode.d.ts +15 -0
  366. package/three/src/nodes/utils/SpriteSheetUVNode.d.ts +12 -0
  367. package/three/src/nodes/utils/StoargeArrayElementNode.d.ts +22 -0
  368. package/three/src/nodes/utils/TimerNode.d.ts +21 -0
  369. package/three/src/nodes/utils/TriplanarTexturesNode.d.ts +25 -0
  370. package/three/src/objects/BatchedMesh.d.ts +193 -0
  371. package/three/src/objects/Bone.d.ts +36 -0
  372. package/three/src/objects/Group.d.ts +43 -0
  373. package/three/src/objects/InstancedMesh.d.ts +175 -0
  374. package/three/src/objects/LOD.d.ts +104 -0
  375. package/three/src/objects/Line.d.ts +83 -0
  376. package/three/src/objects/LineLoop.d.ts +36 -0
  377. package/three/src/objects/LineSegments.d.ts +37 -0
  378. package/three/src/objects/Mesh.d.ts +90 -0
  379. package/three/src/objects/Points.d.ts +62 -0
  380. package/three/src/objects/Skeleton.d.ts +120 -0
  381. package/three/src/objects/SkinnedMesh.d.ts +156 -0
  382. package/three/src/objects/Sprite.d.ts +65 -0
  383. package/three/src/renderers/WebGL3DRenderTarget.d.ts +29 -0
  384. package/three/src/renderers/WebGLArrayRenderTarget.d.ts +29 -0
  385. package/three/src/renderers/WebGLCubeRenderTarget.d.ts +18 -0
  386. package/three/src/renderers/WebGLRenderTarget.d.ts +8 -0
  387. package/three/src/renderers/WebGLRenderer.d.ts +516 -0
  388. package/three/src/renderers/common/Animation.d.ts +13 -0
  389. package/three/src/renderers/common/Attributes.d.ts +22 -0
  390. package/three/src/renderers/common/Backend.d.ts +19 -0
  391. package/three/src/renderers/common/Background.d.ts +23 -0
  392. package/three/src/renderers/common/BindGroup.d.ts +9 -0
  393. package/three/src/renderers/common/Binding.d.ts +8 -0
  394. package/three/src/renderers/common/Bindings.d.ts +35 -0
  395. package/three/src/renderers/common/Buffer.d.ts +11 -0
  396. package/three/src/renderers/common/BufferUtils.d.ts +4 -0
  397. package/three/src/renderers/common/ChainMap.d.ts +9 -0
  398. package/three/src/renderers/common/ClippingContext.d.ts +23 -0
  399. package/three/src/renderers/common/Color4.d.ts +10 -0
  400. package/three/src/renderers/common/ComputePipeline.d.ts +8 -0
  401. package/three/src/renderers/common/Constants.d.ts +9 -0
  402. package/three/src/renderers/common/CubeRenderTarget.d.ts +10 -0
  403. package/three/src/renderers/common/DataMap.d.ts +30 -0
  404. package/three/src/renderers/common/Geometries.d.ts +31 -0
  405. package/three/src/renderers/common/Info.d.ts +34 -0
  406. package/three/src/renderers/common/Pipeline.d.ts +6 -0
  407. package/three/src/renderers/common/Pipelines.d.ts +53 -0
  408. package/three/src/renderers/common/PostProcessing.d.ts +21 -0
  409. package/three/src/renderers/common/ProgrammableStage.d.ts +10 -0
  410. package/three/src/renderers/common/QuadMesh.d.ts +14 -0
  411. package/three/src/renderers/common/RenderBundle.d.ts +9 -0
  412. package/three/src/renderers/common/RenderBundles.d.ts +11 -0
  413. package/three/src/renderers/common/RenderContext.d.ts +41 -0
  414. package/three/src/renderers/common/RenderContexts.d.ts +15 -0
  415. package/three/src/renderers/common/RenderList.d.ts +42 -0
  416. package/three/src/renderers/common/RenderLists.d.ts +11 -0
  417. package/three/src/renderers/common/RenderObject.d.ts +61 -0
  418. package/three/src/renderers/common/RenderObjects.d.ts +31 -0
  419. package/three/src/renderers/common/RenderPipeline.d.ts +8 -0
  420. package/three/src/renderers/common/Renderer.d.ts +183 -0
  421. package/three/src/renderers/common/SampledTexture.d.ts +27 -0
  422. package/three/src/renderers/common/Sampler.d.ts +11 -0
  423. package/three/src/renderers/common/StorageBufferAttribute.d.ts +7 -0
  424. package/three/src/renderers/common/StorageInstancedBufferAttribute.d.ts +8 -0
  425. package/three/src/renderers/common/StorageTexture.d.ts +5 -0
  426. package/three/src/renderers/common/Textures.d.ts +67 -0
  427. package/three/src/renderers/common/Uniform.d.ts +45 -0
  428. package/three/src/renderers/common/UniformBuffer.d.ts +6 -0
  429. package/three/src/renderers/common/UniformsGroup.d.ts +23 -0
  430. package/three/src/renderers/common/extras/PMREMGenerator.d.ts +9 -0
  431. package/three/src/renderers/common/nodes/NodeBuilderState.d.ts +19 -0
  432. package/three/src/renderers/common/nodes/NodeSampledTexture.d.ts +24 -0
  433. package/three/src/renderers/common/nodes/NodeSampler.d.ts +12 -0
  434. package/three/src/renderers/common/nodes/NodeUniform.d.ts +45 -0
  435. package/three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +10 -0
  436. package/three/src/renderers/common/nodes/Nodes.d.ts +98 -0
  437. package/three/src/renderers/shaders/ShaderChunk.d.ts +143 -0
  438. package/three/src/renderers/shaders/ShaderLib.d.ts +29 -0
  439. package/three/src/renderers/shaders/UniformsLib.d.ts +189 -0
  440. package/three/src/renderers/shaders/UniformsUtils.d.ts +14 -0
  441. package/three/src/renderers/webgl/WebGLAttributes.d.ts +21 -0
  442. package/three/src/renderers/webgl/WebGLBindingStates.d.ts +20 -0
  443. package/three/src/renderers/webgl/WebGLBufferRenderer.d.ts +12 -0
  444. package/three/src/renderers/webgl/WebGLCapabilities.d.ts +35 -0
  445. package/three/src/renderers/webgl/WebGLClipping.d.ts +26 -0
  446. package/three/src/renderers/webgl/WebGLCubeMaps.d.ts +8 -0
  447. package/three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +9 -0
  448. package/three/src/renderers/webgl/WebGLExtensions.d.ts +7 -0
  449. package/three/src/renderers/webgl/WebGLGeometries.d.ts +13 -0
  450. package/three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +10 -0
  451. package/three/src/renderers/webgl/WebGLInfo.d.ts +39 -0
  452. package/three/src/renderers/webgl/WebGLLights.d.ts +49 -0
  453. package/three/src/renderers/webgl/WebGLObjects.d.ts +6 -0
  454. package/three/src/renderers/webgl/WebGLProgram.d.ts +30 -0
  455. package/three/src/renderers/webgl/WebGLPrograms.d.ts +218 -0
  456. package/three/src/renderers/webgl/WebGLProperties.d.ts +8 -0
  457. package/three/src/renderers/webgl/WebGLRenderLists.d.ts +52 -0
  458. package/three/src/renderers/webgl/WebGLShader.d.ts +1 -0
  459. package/three/src/renderers/webgl/WebGLShadowMap.d.ts +38 -0
  460. package/three/src/renderers/webgl/WebGLState.d.ts +71 -0
  461. package/three/src/renderers/webgl/WebGLTextures.d.ts +22 -0
  462. package/three/src/renderers/webgl/WebGLUniforms.d.ts +12 -0
  463. package/three/src/renderers/webgl/WebGLUniformsGroups.d.ts +17 -0
  464. package/three/src/renderers/webgl/WebGLUtils.d.ts +8 -0
  465. package/three/src/renderers/webgl-fallback/WebGLBackend.d.ts +14 -0
  466. package/three/src/renderers/webgpu/WebGPUBackend.d.ts +21 -0
  467. package/three/src/renderers/webgpu/WebGPURenderer.d.ts +10 -0
  468. package/three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +75 -0
  469. package/three/src/renderers/webgpu/nodes/WGSLNodeFunction.d.ts +6 -0
  470. package/three/src/renderers/webgpu/nodes/WGSLNodeParser.d.ts +6 -0
  471. package/three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +328 -0
  472. package/three/src/renderers/webxr/WebXRController.d.ts +63 -0
  473. package/three/src/renderers/webxr/WebXRDepthSensing.d.ts +22 -0
  474. package/three/src/renderers/webxr/WebXRManager.d.ts +87 -0
  475. package/three/src/scenes/Fog.d.ts +77 -0
  476. package/three/src/scenes/FogExp2.d.ts +66 -0
  477. package/three/src/scenes/Scene.d.ts +118 -0
  478. package/three/src/textures/CanvasTexture.d.ts +34 -0
  479. package/three/src/textures/CompressedArrayTexture.d.ts +61 -0
  480. package/three/src/textures/CompressedCubeTexture.d.ts +9 -0
  481. package/three/src/textures/CompressedTexture.d.ts +74 -0
  482. package/three/src/textures/CubeTexture.d.ts +82 -0
  483. package/three/src/textures/Data3DTexture.d.ts +96 -0
  484. package/three/src/textures/DataArrayTexture.d.ts +123 -0
  485. package/three/src/textures/DataTexture.d.ts +92 -0
  486. package/three/src/textures/DepthTexture.d.ts +85 -0
  487. package/three/src/textures/FramebufferTexture.d.ts +62 -0
  488. package/three/src/textures/Source.d.ts +75 -0
  489. package/three/src/textures/Texture.d.ts +445 -0
  490. package/three/src/textures/VideoTexture.d.ts +73 -0
  491. package/three/src/textures/types.d.ts +9 -0
  492. package/three/src/utils.d.ts +3 -0
  493. package/three/three.webgpu.d.ts +1 -0
  494. package/three.webgpu.d.ts +1 -0
  495. package/three.webgpu.js +63045 -0
@@ -0,0 +1,226 @@
1
+ import ConstNode from '../core/ConstNode.js';
2
+ import Node from '../core/Node.js';
3
+ import NodeBuilder from '../core/NodeBuilder.js';
4
+ import StackNode from '../core/StackNode.js';
5
+
6
+ export interface NodeElements {
7
+ toGlobal: (node: Node) => Node;
8
+
9
+ append: typeof append;
10
+
11
+ toColor: typeof color;
12
+ toFloat: typeof float;
13
+ toInt: typeof int;
14
+ toUint: typeof uint;
15
+ toBool: typeof bool;
16
+ toVec2: typeof vec2;
17
+ toIvec2: typeof ivec2;
18
+ toUvec2: typeof uvec2;
19
+ toBvec2: typeof bvec2;
20
+ toVec3: typeof vec3;
21
+ toIvec3: typeof ivec3;
22
+ toUvec3: typeof uvec3;
23
+ toBvec3: typeof bvec3;
24
+ toVec4: typeof vec4;
25
+ toIvec4: typeof ivec4;
26
+ toUvec4: typeof uvec4;
27
+ toBvec4: typeof bvec4;
28
+ toMat2: typeof mat2;
29
+ toImat2: typeof imat2;
30
+ toUmat2: typeof umat2;
31
+ toBmat2: typeof bmat2;
32
+ toMat3: typeof mat3;
33
+ toImat3: typeof imat3;
34
+ toUmat3: typeof umat3;
35
+ toBmat3: typeof bmat3;
36
+ toMat4: typeof mat4;
37
+ toImat4: typeof imat4;
38
+ toUmat4: typeof umat4;
39
+ toBmat4: typeof bmat4;
40
+
41
+ element: typeof element;
42
+ convert: typeof convert;
43
+ }
44
+
45
+ export function addNodeElement(name: string, nodeElement: unknown): void;
46
+
47
+ export type SwizzleCharacter = 'x' | 'y' | 'z' | 'w' | 'r' | 'g' | 'b' | 'a' | 's' | 't' | 'p' | 'q';
48
+
49
+ export type SwizzleOption = Exclude<`${SwizzleCharacter}` | `${SwizzleCharacter}${SwizzleCharacter}` | `${SwizzleCharacter}${SwizzleCharacter}${SwizzleCharacter}` | `${SwizzleCharacter}${SwizzleCharacter}${SwizzleCharacter}${SwizzleCharacter}`, 'abs' | 'sqrt'>;
50
+
51
+ export type Swizzable<T extends Node = Node> = T & {
52
+ [key in SwizzleOption | number]: ShaderNodeObject<Node>;
53
+ };
54
+
55
+ export type ShaderNodeObject<T extends Node> = T & {
56
+ [Key in keyof NodeElements]: T extends { [K in Key]: infer M } ? M : NodeElements[Key] extends (node: T, ...args: infer Args) => infer R ? (...args: Args) => R : never;
57
+ } & {
58
+ [Key in keyof NodeElements as `${Key}Assign`]: T extends { [K in Key]: infer M } ? M : NodeElements[Key] extends (node: T, ...args: infer Args) => unknown ? (...args: Args) => ShaderNodeObject<T> : never;
59
+ } & Swizzable<T>;
60
+
61
+ /** anything that can be passed to {@link nodeObject} and returns a proxy */
62
+ export type NodeRepresentation<T extends Node = Node> = number | boolean | Node | ShaderNodeObject<T>;
63
+
64
+ /** anything that can be passed to {@link nodeObject} */
65
+ export type NodeObjectOption = NodeRepresentation | string;
66
+
67
+ // same logic as in ShaderNodeObject: number,boolean,node->ShaderNodeObject, otherwise do nothing
68
+ export type NodeObject<T> = T extends Node ? ShaderNodeObject<T> : T extends number | boolean ? ShaderNodeObject<ConstNode<number | boolean>> : T;
69
+
70
+ // opposite of NodeObject: node -> node|ShaderNodeObject|boolean|number, otherwise do nothing
71
+ type Proxied<T> = T extends Node ? NodeRepresentation<T> : T;
72
+ // https://github.com/microsoft/TypeScript/issues/42435#issuecomment-765557874
73
+ export type ProxiedTuple<T extends readonly [...unknown[]]> = [...{ [index in keyof T]: Proxied<T[index]> }];
74
+ export type ProxiedObject<T> = { [index in keyof T]: Proxied<T[index]> };
75
+ type RemoveTail<T extends readonly [...unknown[]]> = T extends [unknown, ...infer X] ? X : [];
76
+ type RemoveHeadAndTail<T extends readonly [...unknown[]]> = T extends [unknown, ...infer X, unknown] ? X : [];
77
+
78
+ /**
79
+ * Temporary type to save signatures of 4 constructors. Each element may be tuple or undefined.
80
+ *
81
+ * We use an object instead of tuple or union as it makes stuff easier, especially in Typescript 4.0.
82
+ */
83
+ interface Construtors<A extends undefined | [...unknown[]], B extends undefined | [...unknown[]], C extends undefined | [...unknown[]], D extends undefined | [...unknown[]]> {
84
+ a: A;
85
+ b: B;
86
+ c: C;
87
+ d: D;
88
+ }
89
+
90
+ /**
91
+ * Returns all constructors
92
+ *
93
+ * <https://github.com/microsoft/TypeScript/issues/37079>
94
+ * <https://stackoverflow.com/a/52761156/1623826>
95
+ */
96
+ type OverloadedConstructorsOf<T> = T extends {
97
+ new (...args: infer A1): unknown;
98
+ new (...args: infer A2): unknown;
99
+ new (...args: infer A3): unknown;
100
+ new (...args: infer A4): unknown;
101
+ }
102
+ ? Construtors<A1, A2, A3, A4>
103
+ : T extends {
104
+ new (...args: infer A1): unknown;
105
+ new (...args: infer A2): unknown;
106
+ new (...args: infer A3): unknown;
107
+ }
108
+ ? Construtors<A1, A2, A3, undefined>
109
+ : T extends {
110
+ new (...args: infer A1): unknown;
111
+ new (...args: infer A2): unknown;
112
+ }
113
+ ? Construtors<A1, A2, undefined, undefined>
114
+ : T extends new (...args: infer A) => unknown
115
+ ? Construtors<A, undefined, undefined, undefined>
116
+ : Construtors<undefined, undefined, undefined, undefined>;
117
+
118
+ type AnyConstructors = Construtors<any, any, any, any>;
119
+
120
+ /**
121
+ * Returns all constructors where the first paramter is assignable to given "scope"
122
+ */
123
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions
124
+ type FilterConstructorsByScope<T extends AnyConstructors, S> = {
125
+ a: S extends T['a'][0] ? T['a'] : undefined;
126
+ b: S extends T['b'][0] ? T['b'] : undefined;
127
+ c: S extends T['c'][0] ? T['c'] : undefined;
128
+ d: S extends T['d'][0] ? T['d'] : undefined;
129
+ };
130
+ /**
131
+ * "flattens" the tuple into an union type
132
+ */
133
+ type ConstructorUnion<T extends AnyConstructors> = Exclude<T['a'], undefined> | Exclude<T['b'], undefined> | Exclude<T['c'], undefined> | Exclude<T['d'], undefined>;
134
+
135
+ /**
136
+ * Extract list of possible scopes - union of the first paramter
137
+ * of all constructors, should it be string
138
+ */
139
+ type ExtractScopes<T extends AnyConstructors> = (T['a'][0] extends string ? T['a'][0] : never) | (T['b'][0] extends string ? T['b'][0] : never) | (T['c'][0] extends string ? T['c'][0] : never) | (T['d'][0] extends string ? T['d'][0] : never);
140
+
141
+ type GetConstructorsByScope<T, S> = ConstructorUnion<FilterConstructorsByScope<OverloadedConstructorsOf<T>, S>>;
142
+ type GetConstructors<T> = ConstructorUnion<OverloadedConstructorsOf<T>>;
143
+ type GetPossibleScopes<T> = ExtractScopes<OverloadedConstructorsOf<T>>;
144
+
145
+ export type ConvertType = (...params: unknown[]) => ShaderNodeObject<Node>;
146
+
147
+ type NodeArray<T extends NodeObjectOption[]> = { [index in keyof T]: NodeObject<T[index]> };
148
+ type NodeObjects<T> = { [key in keyof T]: T[key] extends NodeObjectOption ? NodeObject<T[key]> : T[key] };
149
+ type ConstructedNode<T> = T extends new (...args: any[]) => infer R ? (R extends Node ? R : never) : never;
150
+
151
+ export type NodeOrType = Node | string;
152
+
153
+ export const getConstNodeType: (value: NodeOrType) => string | null;
154
+
155
+ export class ShaderNode<T = {}, R extends Node = Node> {
156
+ constructor(jsFunc: (inputs: NodeObjects<T>, builder: NodeBuilder) => NodeRepresentation);
157
+ call: (inputs: { [key in keyof T]: T[key] extends NodeRepresentation ? ShaderNodeObject<Node> | Node : T[key] }, builder?: NodeBuilder) => ShaderNodeObject<R>;
158
+ }
159
+
160
+ export function nodeObject<T extends NodeObjectOption>(obj: T): NodeObject<T>;
161
+ export function nodeObjects<T>(obj: T): NodeObjects<T>;
162
+
163
+ export function nodeArray<T extends NodeObjectOption[]>(obj: readonly [...T]): NodeArray<T>;
164
+
165
+ export function nodeProxy<T>(nodeClass: T): (...params: ProxiedTuple<GetConstructors<T>>) => ShaderNodeObject<ConstructedNode<T>>;
166
+
167
+ export function nodeProxy<T, S extends GetPossibleScopes<T>>(nodeClass: T, scope: S): (...params: ProxiedTuple<RemoveTail<GetConstructorsByScope<T, S>>>) => ShaderNodeObject<ConstructedNode<T>>;
168
+
169
+ export function nodeProxy<T, S extends GetPossibleScopes<T>>(nodeClass: T, scope: S, factor: NodeObjectOption): (...params: ProxiedTuple<RemoveHeadAndTail<GetConstructorsByScope<T, S>>>) => ShaderNodeObject<ConstructedNode<T>>;
170
+
171
+ export function nodeImmutable<T>(nodeClass: T, ...params: ProxiedTuple<GetConstructors<T>>): ShaderNodeObject<ConstructedNode<T>>;
172
+
173
+ export function tslFn<R extends Node = ShaderNodeObject<Node>>(jsFunc: () => R): () => R;
174
+ export function tslFn<T extends any[], R extends Node = ShaderNodeObject<Node>>(jsFunc: (args: T) => R): (...args: ProxiedTuple<T>) => R;
175
+ export function tslFn<T extends { [key: string]: unknown }, R extends Node = ShaderNodeObject<Node>>(jsFunc: (args: T) => R): (args: ProxiedObject<T>) => R;
176
+
177
+ export const setCurrentStack: (stack: StackNode | null) => void;
178
+
179
+ export const getCurrentStack: () => StackNode | null;
180
+
181
+ export const If: (boolNode: Node, method: () => void) => void;
182
+
183
+ export function append(node: Node): Node;
184
+
185
+ export const color: ConvertType;
186
+
187
+ export const float: ConvertType;
188
+ export const int: ConvertType;
189
+ export const uint: ConvertType;
190
+ export const bool: ConvertType;
191
+
192
+ export const vec2: ConvertType;
193
+ export const ivec2: ConvertType;
194
+ export const uvec2: ConvertType;
195
+ export const bvec2: ConvertType;
196
+
197
+ export const vec3: ConvertType;
198
+ export const ivec3: ConvertType;
199
+ export const uvec3: ConvertType;
200
+ export const bvec3: ConvertType;
201
+
202
+ export const vec4: ConvertType;
203
+ export const ivec4: ConvertType;
204
+ export const uvec4: ConvertType;
205
+ export const bvec4: ConvertType;
206
+
207
+ export const mat2: ConvertType;
208
+ export const imat2: ConvertType;
209
+ export const umat2: ConvertType;
210
+ export const bmat2: ConvertType;
211
+
212
+ export const mat3: ConvertType;
213
+ export const imat3: ConvertType;
214
+ export const umat3: ConvertType;
215
+ export const bmat3: ConvertType;
216
+
217
+ export const mat4: ConvertType;
218
+ export const imat4: ConvertType;
219
+ export const umat4: ConvertType;
220
+ export const bmat4: ConvertType;
221
+
222
+ export const string: (value?: string) => ShaderNodeObject<ConstNode<string>>;
223
+ export const arrayBuffer: (value: ArrayBuffer) => ShaderNodeObject<ConstNode<ArrayBuffer>>;
224
+
225
+ export const element: (node: NodeRepresentation, indexNode: NodeRepresentation) => ShaderNodeObject<Node>;
226
+ export const convert: (node: NodeRepresentation, types: string) => ShaderNodeObject<Node>;
@@ -0,0 +1,9 @@
1
+ import Node from '../core/Node.js';
2
+ import { TempNode } from '../Nodes.js';
3
+
4
+ export default class ArrayElementNode extends TempNode {
5
+ node: Node;
6
+ indexNode: Node;
7
+
8
+ constructor(node: Node, indexNode: Node);
9
+ }
@@ -0,0 +1,7 @@
1
+ import Node from '../core/Node.js';
2
+
3
+ export default class ConvertNode extends Node {
4
+ node: Node;
5
+ convertTo: string;
6
+ constructor(node: Node, convertTo: string);
7
+ }
@@ -0,0 +1,17 @@
1
+ import Node from '../core/Node.js';
2
+ import CondNode from '../math/CondNode.js';
3
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
4
+
5
+ export default class DiscardNode extends CondNode {
6
+ constructor(condNode: Node);
7
+ }
8
+
9
+ export const inlineDiscard: (condNode: NodeRepresentation) => ShaderNodeObject<DiscardNode>;
10
+ export const discard: (condNode: NodeRepresentation) => ShaderNodeObject<Node>;
11
+ export const Return: (condNode: NodeRepresentation) => ShaderNodeObject<Node>;
12
+
13
+ declare module '../shadernode/ShaderNode.js' {
14
+ interface NodeElements {
15
+ discard: typeof discard;
16
+ }
17
+ }
@@ -0,0 +1,8 @@
1
+ import { Node, TempNode } from '../Nodes.js';
2
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+
4
+ export default class EquirectUVNode extends TempNode {
5
+ constructor(dirNode?: ShaderNodeObject<Node>);
6
+ }
7
+
8
+ export const equirectUV: ShaderNodeObject<EquirectUVNode>;
@@ -0,0 +1,10 @@
1
+ import Node from '../core/Node.js';
2
+ import { TempNode } from '../Nodes.js';
3
+
4
+ /**
5
+ * This node constructs given type from elements, like vec3(a,b,c)
6
+ */
7
+ export default class JoinNode extends TempNode {
8
+ nodes: Node[];
9
+ constructor(nodes: Node[]);
10
+ }
@@ -0,0 +1,8 @@
1
+ import TempNode from '../core/TempNode.js';
2
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+
4
+ export default class MatcapUVNode extends TempNode {
5
+ constructor();
6
+ }
7
+
8
+ export const matcapUV: ShaderNodeObject<MatcapUVNode>;
@@ -0,0 +1,14 @@
1
+ import { Texture } from '../../textures/Texture.js';
2
+ import TextureNode from '../accessors/TextureNode.js';
3
+ import UniformNode from '../core/UniformNode.js';
4
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
5
+
6
+ export default class MaxMipLevelNode extends UniformNode<0> {
7
+ constructor(textureNode: TextureNode);
8
+
9
+ get textureNode(): TextureNode;
10
+
11
+ get texture(): Texture;
12
+ }
13
+
14
+ export const maxMipLevel: (texture: Texture) => ShaderNodeObject<MaxMipLevelNode>;
@@ -0,0 +1,21 @@
1
+ import Node from '../core/Node.js';
2
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+
4
+ export type OscNodeMethod = typeof OscNode.SINE | typeof OscNode.SQUARE | typeof OscNode.TRIANGLE | typeof OscNode.SAWTOOTH;
5
+
6
+ export default class OscNode extends Node {
7
+ static SINE: 'sine';
8
+ static SQUARE: 'square';
9
+ static TRIANGLE: 'triangle';
10
+ static SAWTOOTH: 'sawtooth';
11
+
12
+ method: OscNodeMethod;
13
+ timeNode: Node;
14
+
15
+ constructor(method: OscNodeMethod, timeNode?: Node);
16
+ }
17
+
18
+ export const oscSine: (timeNode?: NodeRepresentation) => ShaderNodeObject<OscNode>;
19
+ export const oscSquare: (timeNode?: NodeRepresentation) => ShaderNodeObject<OscNode>;
20
+ export const oscTriangle: (timeNode?: NodeRepresentation) => ShaderNodeObject<OscNode>;
21
+ export const oscSawtooth: (timeNode?: NodeRepresentation) => ShaderNodeObject<OscNode>;
@@ -0,0 +1,24 @@
1
+ import Node from '../core/Node.js';
2
+ import TempNode from '../core/TempNode.js';
3
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
4
+
5
+ export type PackingNodeScope = typeof PackingNode.DIRECTION_TO_COLOR | typeof PackingNode.COLOR_TO_DIRECTION;
6
+
7
+ declare class PackingNode extends TempNode {
8
+ constructor(scope: PackingNodeScope, node: Node);
9
+
10
+ static DIRECTION_TO_COLOR: 'directionToColor';
11
+ static COLOR_TO_DIRECTION: 'colorToDirection';
12
+ }
13
+
14
+ export default PackingNode;
15
+
16
+ export const directionToColor: (node: NodeRepresentation) => ShaderNodeObject<PackingNode>;
17
+ export const colorToDirection: (node: NodeRepresentation) => ShaderNodeObject<PackingNode>;
18
+
19
+ declare module '../shadernode/ShaderNode.js' {
20
+ interface NodeElements {
21
+ directionToColor: typeof directionToColor;
22
+ colorToDirection: typeof colorToDirection;
23
+ }
24
+ }
@@ -0,0 +1,40 @@
1
+ import { TextureDataType } from '../../constants.js';
2
+ import { RenderTarget } from '../../core/RenderTarget.js';
3
+ import TextureNode from '../accessors/TextureNode.js';
4
+ import Node from '../core/Node.js';
5
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
6
+
7
+ export interface RTTNodeOptions {
8
+ type: TextureDataType;
9
+ }
10
+
11
+ declare class RTTNode extends TextureNode {
12
+ node: Node;
13
+ width: number | null;
14
+ height: number | null;
15
+
16
+ renderTarget: RenderTarget | null;
17
+
18
+ textureNeedsUpdate: boolean;
19
+ autoUpdate: boolean;
20
+
21
+ pixelRatio?: number;
22
+
23
+ constructor(node: Node, width?: number | null, height?: number | null, options?: RTTNodeOptions);
24
+
25
+ get autoSize(): boolean;
26
+
27
+ setSize(width: number | null, height: number | null): void;
28
+
29
+ setPixelRatio(pixelRatio: number): void;
30
+ }
31
+
32
+ export default RTTNode;
33
+
34
+ export const rtt: (node: NodeRepresentation, width?: number | null, height?: number | null, options?: RTTNodeOptions) => ShaderNodeObject<RTTNode>;
35
+
36
+ declare module '../shadernode/ShaderNode.js' {
37
+ interface NodeElements {
38
+ toTexture: typeof rtt;
39
+ }
40
+ }
@@ -0,0 +1,32 @@
1
+ import { Camera } from '../../cameras/Camera.js';
2
+ import { Object3D } from '../../core/Object3D.js';
3
+ import { RenderTarget } from '../../core/RenderTarget.js';
4
+ import TextureNode from '../accessors/TextureNode.js';
5
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
6
+
7
+ export interface ReflectorNodeParameters {
8
+ target?: Object3D | undefined;
9
+ resolution?: number | undefined;
10
+ generateMipmaps?: boolean | undefined;
11
+ bounces?: boolean | undefined;
12
+ }
13
+
14
+ export default class ReflectorNode extends TextureNode {
15
+ target: Object3D;
16
+ resolution: number;
17
+ generateMipmaps: boolean;
18
+ bounces: boolean;
19
+
20
+ virtualCameras: WeakMap<Camera, Camera>;
21
+ renderTargets: WeakMap<Camera, RenderTarget>;
22
+
23
+ constructor(parameters?: ReflectorNodeParameters);
24
+
25
+ getTextureNode(): TextureNode;
26
+
27
+ getVirtualCamera(camera: Camera): Camera;
28
+
29
+ getRenderTarget(camera: Camera): RenderTarget;
30
+ }
31
+
32
+ export const reflector: (parameters?: ReflectorNodeParameters) => ShaderNodeObject<ReflectorNode>;
@@ -0,0 +1,24 @@
1
+ import Node from '../core/Node.js';
2
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+
4
+ export default class RemapNode extends Node {
5
+ node: Node;
6
+ inLowNode: Node;
7
+ inHighNode: Node;
8
+ outLowNode: Node;
9
+ outHighNode: Node;
10
+
11
+ doClamp: boolean;
12
+
13
+ constructor(node: Node, inLowNode: Node, inHighNode: Node, outLowNode?: Node, outHighNode?: Node);
14
+ }
15
+
16
+ export const remap: (node: Node, inLowNode: NodeRepresentation, inHighNode: NodeRepresentation, outLowNode?: NodeRepresentation, outHighNode?: NodeRepresentation) => ShaderNodeObject<RemapNode>;
17
+ export const remapClamp: (node: Node, inLowNode: NodeRepresentation, inHighNode: NodeRepresentation, outLowNode?: NodeRepresentation, outHighNode?: NodeRepresentation) => ShaderNodeObject<RemapNode>;
18
+
19
+ declare module '../shadernode/ShaderNode.js' {
20
+ interface NodeElements {
21
+ remap: typeof remap;
22
+ remapClamp: typeof remapClamp;
23
+ }
24
+ }
@@ -0,0 +1,18 @@
1
+ import Node from '../core/Node.js';
2
+ import TempNode from '../core/TempNode.js';
3
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
4
+
5
+ export default class RotateNode extends TempNode {
6
+ positionNode: Node;
7
+ rotationNode: Node;
8
+
9
+ constructor(positionNode: Node, rotationNode: Node);
10
+ }
11
+
12
+ export const rotate: (positionNode: NodeRepresentation, rotationNode: NodeRepresentation) => ShaderNodeObject<RotateNode>;
13
+
14
+ declare module '../shadernode/ShaderNode.js' {
15
+ interface NodeElements {
16
+ rotate: typeof rotate;
17
+ }
18
+ }
@@ -0,0 +1,19 @@
1
+ import Node from '../core/Node.js';
2
+ import TempNode from '../core/TempNode.js';
3
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
4
+
5
+ export default class RotateUVNode extends TempNode {
6
+ uvNode: Node;
7
+ rotationNode: Node;
8
+ centerNode: Node;
9
+
10
+ constructor(uvNode: Node, rotationNode: Node, centerNode?: Node);
11
+ }
12
+
13
+ export const rotateUV: (uvNode: Node, rotationNode: Node, centerNode?: Node) => ShaderNodeObject<RotateUVNode>;
14
+
15
+ declare module '../shadernode/ShaderNode.js' {
16
+ interface NodeElements {
17
+ rotateUV: typeof rotateUV;
18
+ }
19
+ }
@@ -0,0 +1,15 @@
1
+ import Node from '../core/Node.js';
2
+ import { SwizzleOption } from '../shadernode/ShaderNode.js';
3
+
4
+ /** swizzle node */
5
+ export default class SplitNode extends Node {
6
+ node: Node;
7
+ components: string;
8
+
9
+ /**
10
+ * @param node the input node
11
+ * @param components swizzle like string, default = "x"
12
+ */
13
+ constructor(node: Node, components?: SwizzleOption);
14
+ getVectorLength(): number;
15
+ }
@@ -0,0 +1,12 @@
1
+ import Node from '../core/Node.js';
2
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+
4
+ export default class SpriteSheetUVNode extends Node {
5
+ countNode: Node;
6
+ uvNode: Node;
7
+ frameNode: Node;
8
+
9
+ constructor(countNode: Node, uvNode?: Node, frameNode?: Node);
10
+ }
11
+
12
+ export const spritesheetUV: (countNode: NodeRepresentation, uvNode?: NodeRepresentation, frameNode?: NodeRepresentation) => ShaderNodeObject<SpriteSheetUVNode>;
@@ -0,0 +1,22 @@
1
+ import StorageBufferNode from '../accessors/StorageBufferNode.js';
2
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+ import ArrayElementNode from './ArrayElementNode.js';
4
+
5
+ export default class StorageArrayElementNode extends ArrayElementNode {
6
+ node: StorageBufferNode;
7
+
8
+ readonly isStorageArrayElementNode: true;
9
+
10
+ constructor(storageBufferNode: StorageBufferNode, indexNode: Node);
11
+
12
+ get storageBufferNode(): StorageBufferNode;
13
+ set storageBufferNode(value: StorageBufferNode);
14
+ }
15
+
16
+ export const storageElement: (storageBufferNode: NodeRepresentation, indexNode: NodeRepresentation) => ShaderNodeObject<StorageArrayElementNode>;
17
+
18
+ declare module '../shadernode/ShaderNode.js' {
19
+ interface NodeElements {
20
+ storageElement: typeof storageElement;
21
+ }
22
+ }
@@ -0,0 +1,21 @@
1
+ import UniformNode from '../core/UniformNode.js';
2
+ import { ShaderNodeObject } from '../shadernode/ShaderNode.js';
3
+
4
+ export type TimerNodeScope = typeof TimerNode.LOCAL | typeof TimerNode.GLOBAL | typeof TimerNode.DELTA | typeof TimerNode.FRAME;
5
+
6
+ export default class TimerNode extends UniformNode<number> {
7
+ static LOCAL: 'local';
8
+ static GLOBAL: 'global';
9
+ static DELTA: 'delta';
10
+ static FRAME: 'frame';
11
+
12
+ scope: TimerNodeScope;
13
+ scale: number;
14
+
15
+ constructor(scope?: TimerNodeScope, scale?: number, value?: number);
16
+ }
17
+
18
+ export const timerLocal: (timeScale?: number, value?: number) => ShaderNodeObject<TimerNode>;
19
+ export const timerGlobal: (timeScale?: number, value?: number) => ShaderNodeObject<TimerNode>;
20
+ export const timerDelta: (timeScale?: number, value?: number) => ShaderNodeObject<TimerNode>;
21
+ export const frameId: ShaderNodeObject<TimerNode>;
@@ -0,0 +1,25 @@
1
+ import TextureNode from '../accessors/TextureNode.js';
2
+ import Node from '../core/Node.js';
3
+ import { NodeRepresentation, ShaderNodeObject } from '../shadernode/ShaderNode.js';
4
+
5
+ export default class TriplanarTexturesNode extends Node {
6
+ textureXNode: TextureNode;
7
+ textureYNode: TextureNode | null;
8
+ textureZNode: TextureNode | null;
9
+
10
+ scaleNode: ShaderNodeObject<Node>;
11
+
12
+ positionNode: ShaderNodeObject<Node>;
13
+ normalNode: ShaderNodeObject<Node>;
14
+
15
+ constructor(textureXNode: Node, textureYNode?: TextureNode | null, textureZNode?: TextureNode | null, scaleNode?: ShaderNodeObject<Node>, positionNode?: ShaderNodeObject<Node>, normalNode?: ShaderNodeObject<Node>);
16
+ }
17
+
18
+ export const triplanarTextures: (textureXNode: NodeRepresentation, textureYNode?: NodeRepresentation, textureZNode?: NodeRepresentation, scaleNode?: NodeRepresentation, positionNode?: NodeRepresentation, normalNode?: NodeRepresentation) => ShaderNodeObject<TriplanarTexturesNode>;
19
+ export const triplanarTexture: (texture: NodeRepresentation, ...params: NodeRepresentation[]) => ShaderNodeObject<TriplanarTexturesNode>;
20
+
21
+ declare module '../shadernode/ShaderNode.js' {
22
+ interface NodeElements {
23
+ triplanarTexture: typeof triplanarTexture;
24
+ }
25
+ }