@nativescript/canvas-three 2.0.0-webgpu.27 → 2.0.0-webgpu.29

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