@types/three 0.180.0 → 0.181.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/geometries/TextGeometry.d.ts +2 -0
  3. three/examples/jsm/gpgpu/BitonicSort.d.ts +21 -0
  4. three/examples/jsm/inspector/Inspector.d.ts +10 -0
  5. three/examples/jsm/inspector/RendererInspector.d.ts +4 -0
  6. three/examples/jsm/inspector/tabs/Parameters.d.ts +95 -0
  7. three/examples/jsm/inspector/ui/Tab.d.ts +3 -0
  8. three/examples/jsm/inspector/ui/Values.d.ts +80 -0
  9. three/examples/jsm/interactive/SelectionBox.d.ts +9 -9
  10. three/examples/jsm/lighting/TiledLighting.d.ts +1 -2
  11. three/examples/jsm/loaders/FontLoader.d.ts +1 -1
  12. three/examples/jsm/loaders/KTX2Loader.d.ts +3 -0
  13. three/examples/jsm/objects/SkyMesh.d.ts +6 -7
  14. three/examples/jsm/objects/WaterMesh.d.ts +2 -2
  15. three/examples/jsm/renderers/CSS2DRenderer.d.ts +15 -10
  16. three/examples/jsm/tsl/display/AfterImageNode.d.ts +4 -5
  17. three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +1 -2
  18. three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -2
  19. three/examples/jsm/tsl/display/BleachBypass.d.ts +1 -2
  20. three/examples/jsm/tsl/display/BloomNode.d.ts +2 -3
  21. three/examples/jsm/tsl/display/ChromaticAberrationNode.d.ts +1 -2
  22. three/examples/jsm/tsl/display/DenoiseNode.d.ts +1 -2
  23. three/examples/jsm/tsl/display/DepthOfFieldNode.d.ts +1 -2
  24. three/examples/jsm/tsl/display/DotScreenNode.d.ts +1 -2
  25. three/examples/jsm/tsl/display/FXAANode.d.ts +1 -2
  26. three/examples/jsm/tsl/display/FilmNode.d.ts +1 -2
  27. three/examples/jsm/tsl/display/GTAONode.d.ts +11 -10
  28. three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +2 -3
  29. three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -7
  30. three/examples/jsm/tsl/display/Lut3DNode.d.ts +2 -3
  31. three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -2
  32. three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -7
  33. three/examples/jsm/tsl/display/ParallaxBarrierPassNode.d.ts +1 -2
  34. three/examples/jsm/tsl/display/PixelationPassNode.d.ts +1 -2
  35. three/examples/jsm/tsl/display/RGBShiftNode.d.ts +1 -2
  36. three/examples/jsm/tsl/display/SMAANode.d.ts +1 -2
  37. three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -2
  38. three/examples/jsm/tsl/display/SSGINode.d.ts +30 -0
  39. three/examples/jsm/tsl/display/SSRNode.d.ts +12 -13
  40. three/examples/jsm/tsl/display/SSSNode.d.ts +18 -0
  41. three/examples/jsm/tsl/display/Sepia.d.ts +1 -2
  42. three/examples/jsm/tsl/display/SobelOperatorNode.d.ts +1 -2
  43. three/examples/jsm/tsl/display/StereoPassNode.d.ts +1 -2
  44. three/examples/jsm/tsl/display/TRAANode.d.ts +1 -2
  45. three/examples/jsm/tsl/display/TransitionNode.d.ts +1 -2
  46. three/examples/jsm/tsl/display/boxBlur.d.ts +1 -2
  47. three/examples/jsm/tsl/display/hashBlur.d.ts +1 -2
  48. three/examples/jsm/tsl/lighting/TiledLightsNode.d.ts +3 -4
  49. three/examples/jsm/tsl/math/Bayer.d.ts +1 -2
  50. three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -3
  51. three/package.json +2 -2
  52. three/src/Three.Core.d.ts +1 -1
  53. three/src/Three.TSL.d.ts +7 -1
  54. three/src/Three.WebGPU.Nodes.d.ts +2 -0
  55. three/src/Three.WebGPU.d.ts +2 -0
  56. three/src/animation/AnimationMixer.d.ts +3 -3
  57. three/src/lights/DirectionalLight.d.ts +0 -1
  58. three/src/loaders/ObjectLoader.d.ts +3 -3
  59. three/src/loaders/TextureLoader.d.ts +3 -3
  60. three/src/materials/Material.d.ts +2 -2
  61. three/src/materials/MeshLambertMaterial.d.ts +1 -1
  62. three/src/materials/MeshMatcapMaterial.d.ts +14 -0
  63. three/src/materials/MeshPhongMaterial.d.ts +1 -1
  64. three/src/materials/MeshPhysicalMaterial.d.ts +1 -1
  65. three/src/materials/MeshStandardMaterial.d.ts +7 -7
  66. three/src/materials/PointsMaterial.d.ts +1 -1
  67. three/src/materials/ShaderMaterial.d.ts +8 -8
  68. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +1 -1
  69. three/src/materials/nodes/NodeMaterial.d.ts +2 -3
  70. three/src/materials/nodes/VolumeNodeMaterial.d.ts +1 -2
  71. three/src/math/Vector3.d.ts +2 -2
  72. three/src/nodes/Nodes.d.ts +1 -1
  73. three/src/nodes/TSL.d.ts +1 -1
  74. three/src/nodes/accessors/AccessorsUtils.d.ts +4 -5
  75. three/src/nodes/accessors/Arrays.d.ts +2 -3
  76. three/src/nodes/accessors/BatchNode.d.ts +1 -2
  77. three/src/nodes/accessors/Bitangent.d.ts +4 -5
  78. three/src/nodes/accessors/BufferAttributeNode.d.ts +8 -9
  79. three/src/nodes/accessors/BufferNode.d.ts +2 -2
  80. three/src/nodes/accessors/BuiltinNode.d.ts +1 -2
  81. three/src/nodes/accessors/Camera.d.ts +10 -11
  82. three/src/nodes/accessors/ClippingNode.d.ts +3 -6
  83. three/src/nodes/accessors/CubeTextureNode.d.ts +8 -9
  84. three/src/nodes/accessors/InstanceNode.d.ts +1 -2
  85. three/src/nodes/accessors/InstancedMeshNode.d.ts +1 -2
  86. three/src/nodes/accessors/Lights.d.ts +6 -7
  87. three/src/nodes/accessors/MaterialNode.d.ts +38 -39
  88. three/src/nodes/accessors/MaterialProperties.d.ts +3 -4
  89. three/src/nodes/accessors/MaterialReferenceNode.d.ts +2 -2
  90. three/src/nodes/accessors/ModelNode.d.ts +12 -13
  91. three/src/nodes/accessors/ModelViewProjectionNode.d.ts +1 -2
  92. three/src/nodes/accessors/MorphNode.d.ts +1 -2
  93. three/src/nodes/accessors/Normal.d.ts +13 -14
  94. three/src/nodes/accessors/Object3DNode.d.ts +6 -7
  95. three/src/nodes/accessors/PointUVNode.d.ts +1 -2
  96. three/src/nodes/accessors/Position.d.ts +7 -8
  97. three/src/nodes/accessors/ReferenceBaseNode.d.ts +2 -3
  98. three/src/nodes/accessors/ReferenceNode.d.ts +2 -3
  99. three/src/nodes/accessors/ReflectVector.d.ts +4 -5
  100. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -2
  101. three/src/nodes/accessors/SceneNode.d.ts +3 -4
  102. three/src/nodes/accessors/SkinningNode.d.ts +5 -6
  103. three/src/nodes/accessors/StorageBufferNode.d.ts +5 -5
  104. three/src/nodes/accessors/StorageTextureNode.d.ts +7 -4
  105. three/src/nodes/accessors/Tangent.d.ts +4 -6
  106. three/src/nodes/accessors/TangentUtils.d.ts +2 -3
  107. three/src/nodes/accessors/Texture3DNode.d.ts +3 -4
  108. three/src/nodes/accessors/TextureBicubic.d.ts +2 -3
  109. three/src/nodes/accessors/TextureNode.d.ts +29 -24
  110. three/src/nodes/accessors/TextureSizeNode.d.ts +1 -2
  111. three/src/nodes/accessors/UV.d.ts +1 -2
  112. three/src/nodes/accessors/UniformArrayNode.d.ts +2 -3
  113. three/src/nodes/accessors/UserDataNode.d.ts +1 -2
  114. three/src/nodes/accessors/VelocityNode.d.ts +1 -2
  115. three/src/nodes/accessors/VertexColorNode.d.ts +1 -2
  116. three/src/nodes/code/CodeNode.d.ts +4 -5
  117. three/src/nodes/code/ExpressionNode.d.ts +1 -2
  118. three/src/nodes/code/FunctionCallNode.d.ts +6 -5
  119. three/src/nodes/code/FunctionNode.d.ts +4 -6
  120. three/src/nodes/code/ScriptableNode.d.ts +1 -2
  121. three/src/nodes/code/ScriptableValueNode.d.ts +1 -2
  122. three/src/nodes/core/ArrayNode.d.ts +6 -6
  123. three/src/nodes/core/AssignNode.d.ts +1 -8
  124. three/src/nodes/core/AttributeNode.d.ts +1 -2
  125. three/src/nodes/core/BypassNode.d.ts +5 -5
  126. three/src/nodes/core/ContextNode.d.ts +24 -12
  127. three/src/nodes/core/IndexNode.d.ts +10 -7
  128. three/src/nodes/core/InspectorNode.d.ts +16 -0
  129. three/src/nodes/core/IsolateNode.d.ts +36 -0
  130. three/src/nodes/core/MRTNode.d.ts +3 -4
  131. three/src/nodes/core/Node.d.ts +18 -2
  132. three/src/nodes/core/NodeUtils.d.ts +0 -10
  133. three/src/nodes/core/OutputStructNode.d.ts +1 -2
  134. three/src/nodes/core/ParameterNode.d.ts +1 -2
  135. three/src/nodes/core/PropertyNode.d.ts +30 -31
  136. three/src/nodes/core/StackNode.d.ts +1 -4
  137. three/src/nodes/core/StructNode.d.ts +3 -4
  138. three/src/nodes/core/SubBuildNode.d.ts +1 -2
  139. three/src/nodes/core/UniformNode.d.ts +3 -6
  140. three/src/nodes/core/VarNode.d.ts +12 -8
  141. three/src/nodes/core/VaryingNode.d.ts +12 -10
  142. three/src/nodes/display/BlendModes.d.ts +11 -12
  143. three/src/nodes/display/BumpMapNode.d.ts +1 -2
  144. three/src/nodes/display/ColorAdjustment.d.ts +7 -8
  145. three/src/nodes/display/ColorSpaceFunctions.d.ts +2 -3
  146. three/src/nodes/display/ColorSpaceNode.d.ts +19 -9
  147. three/src/nodes/display/FrontFacingNode.d.ts +3 -4
  148. three/src/nodes/display/NormalMapNode.d.ts +1 -2
  149. three/src/nodes/display/PassNode.d.ts +20 -11
  150. three/src/nodes/display/PosterizeNode.d.ts +1 -2
  151. three/src/nodes/display/RenderOutputNode.d.ts +11 -6
  152. three/src/nodes/display/ScreenNode.d.ts +9 -10
  153. three/src/nodes/display/ToneMappingFunctions.d.ts +6 -7
  154. three/src/nodes/display/ToneMappingNode.d.ts +9 -8
  155. three/src/nodes/display/ToonOutlinePassNode.d.ts +1 -2
  156. three/src/nodes/display/ViewportDepthNode.d.ts +3 -4
  157. three/src/nodes/display/ViewportDepthTextureNode.d.ts +1 -2
  158. three/src/nodes/display/ViewportSharedTextureNode.d.ts +1 -2
  159. three/src/nodes/display/ViewportTextureNode.d.ts +2 -3
  160. three/src/nodes/fog/Fog.d.ts +5 -6
  161. three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +4 -5
  162. three/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.d.ts +14 -0
  163. three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +1 -2
  164. three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +1 -2
  165. three/src/nodes/functions/BSDF/DFGApprox.d.ts +1 -2
  166. three/src/nodes/functions/BSDF/D_GGX.d.ts +1 -2
  167. three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +1 -2
  168. three/src/nodes/functions/BSDF/F_Schlick.d.ts +1 -2
  169. three/src/nodes/functions/BSDF/Schlick_to_F0.d.ts +1 -2
  170. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +1 -2
  171. three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +1 -2
  172. three/src/nodes/functions/ShadowMaskModel.d.ts +1 -2
  173. three/src/nodes/functions/material/getAlphaHashThreshold.d.ts +1 -2
  174. three/src/nodes/functions/material/getGeometryRoughness.d.ts +1 -2
  175. three/src/nodes/functions/material/getParallaxCorrectNormal.d.ts +1 -2
  176. three/src/nodes/functions/material/getRoughness.d.ts +1 -2
  177. three/src/nodes/functions/material/getShIrradianceAt.d.ts +1 -2
  178. three/src/nodes/geometry/RangeNode.d.ts +1 -2
  179. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +10 -11
  180. three/src/nodes/gpgpu/BarrierNode.d.ts +3 -4
  181. three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +5 -6
  182. three/src/nodes/gpgpu/ComputeNode.d.ts +21 -13
  183. three/src/nodes/gpgpu/SubgroupFunctionNode.d.ts +25 -26
  184. three/src/nodes/gpgpu/WorkgroupInfoNode.d.ts +1 -2
  185. three/src/nodes/lighting/AnalyticLightNode.d.ts +1 -2
  186. three/src/nodes/lighting/LightUtils.d.ts +1 -2
  187. three/src/nodes/lighting/LightingContextNode.d.ts +1 -2
  188. three/src/nodes/lighting/LightsNode.d.ts +1 -2
  189. three/src/nodes/lighting/PointLightNode.d.ts +5 -6
  190. three/src/nodes/lighting/PointShadowNode.d.ts +4 -5
  191. three/src/nodes/lighting/ShadowBaseNode.d.ts +1 -2
  192. three/src/nodes/lighting/ShadowFilterNode.d.ts +4 -5
  193. three/src/nodes/lighting/ShadowNode.d.ts +1 -2
  194. three/src/nodes/lighting/SpotLightNode.d.ts +1 -2
  195. three/src/nodes/materialx/MaterialXNodes.d.ts +41 -42
  196. three/src/nodes/materialx/lib/mx_hsv.d.ts +2 -3
  197. three/src/nodes/materialx/lib/mx_noise.d.ts +73 -74
  198. three/src/nodes/materialx/lib/mx_transform_color.d.ts +1 -2
  199. three/src/nodes/math/BitcastNode.d.ts +5 -6
  200. three/src/nodes/math/ConditionalNode.d.ts +11 -5
  201. three/src/nodes/math/Hash.d.ts +1 -2
  202. three/src/nodes/math/MathNode.d.ts +223 -77
  203. three/src/nodes/math/OperatorNode.d.ts +203 -59
  204. three/src/nodes/math/TriNoise3D.d.ts +3 -4
  205. three/src/nodes/pmrem/PMREMNode.d.ts +1 -2
  206. three/src/nodes/pmrem/PMREMUtils.d.ts +3 -4
  207. three/src/nodes/procedural/Checker.d.ts +1 -2
  208. three/src/nodes/shapes/Shapes.d.ts +1 -2
  209. three/src/nodes/tsl/TSLBase.d.ts +2 -1
  210. three/src/nodes/tsl/TSLCore.d.ts +235 -128
  211. three/src/nodes/utils/CubeMapNode.d.ts +1 -2
  212. three/src/nodes/utils/DebugNode.d.ts +9 -5
  213. three/src/nodes/utils/Discard.d.ts +6 -6
  214. three/src/nodes/utils/EquirectUV.d.ts +1 -2
  215. three/src/nodes/utils/EventNode.d.ts +8 -3
  216. three/src/nodes/utils/FunctionOverloadingNode.d.ts +1 -2
  217. three/src/nodes/utils/LoopNode.d.ts +7 -6
  218. three/src/nodes/utils/MatcapUV.d.ts +1 -2
  219. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -2
  220. three/src/nodes/utils/Oscillators.d.ts +4 -5
  221. three/src/nodes/utils/Packing.d.ts +2 -3
  222. three/src/nodes/utils/PostProcessingUtils.d.ts +5 -4
  223. three/src/nodes/utils/RTTNode.d.ts +2 -3
  224. three/src/nodes/utils/ReflectorNode.d.ts +2 -3
  225. three/src/nodes/utils/RemapNode.d.ts +29 -7
  226. three/src/nodes/utils/RotateNode.d.ts +1 -2
  227. three/src/nodes/utils/SampleNode.d.ts +1 -2
  228. three/src/nodes/utils/SpriteSheetUVNode.d.ts +1 -2
  229. three/src/nodes/utils/SpriteUtils.d.ts +1 -2
  230. three/src/nodes/utils/StorageArrayElementNode.d.ts +1 -2
  231. three/src/nodes/utils/Timer.d.ts +3 -4
  232. three/src/nodes/utils/TriplanarTextures.d.ts +2 -3
  233. three/src/nodes/utils/UVUtils.d.ts +2 -3
  234. three/src/nodes/utils/ViewportUtils.d.ts +1 -2
  235. three/src/renderers/common/Animation.d.ts +4 -1
  236. three/src/renderers/common/Bindings.d.ts +12 -0
  237. three/src/renderers/common/CanvasTarget.d.ts +142 -0
  238. three/src/renderers/common/Geometries.d.ts +1 -0
  239. three/src/renderers/common/InspectorBase.d.ts +105 -0
  240. three/src/renderers/common/PostProcessing.d.ts +3 -0
  241. three/src/renderers/common/QuadMesh.d.ts +3 -0
  242. three/src/renderers/common/RenderContexts.d.ts +3 -1
  243. three/src/renderers/common/Renderer.d.ts +124 -36
  244. three/src/renderers/common/SampledTexture.d.ts +2 -0
  245. three/src/renderers/common/Sampler.d.ts +2 -0
  246. three/src/renderers/common/Textures.d.ts +20 -0
  247. three/src/renderers/common/TimestampQueryPool.d.ts +24 -1
  248. three/src/renderers/common/extras/PMREMGenerator.d.ts +19 -1
  249. three/src/renderers/common/nodes/NodeLibrary.d.ts +3 -7
  250. three/src/renderers/common/nodes/Nodes.d.ts +13 -14
  251. three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +5 -0
  252. three/src/scenes/Scene.d.ts +2 -2
  253. three/src/textures/CanvasTexture.d.ts +3 -3
  254. three/src/textures/CompressedArrayTexture.d.ts +6 -9
  255. three/src/textures/CompressedCubeTexture.d.ts +3 -3
  256. three/src/textures/CompressedTexture.d.ts +6 -8
  257. three/src/textures/CubeTexture.d.ts +4 -11
  258. three/src/textures/Data3DTexture.d.ts +5 -10
  259. three/src/textures/DataArrayTexture.d.ts +10 -10
  260. three/src/textures/DataTexture.d.ts +4 -11
  261. three/src/textures/DepthTexture.d.ts +7 -8
  262. three/src/textures/ExternalTexture.d.ts +3 -1
  263. three/src/textures/FramebufferTexture.d.ts +6 -1
  264. three/src/textures/Source.d.ts +3 -3
  265. three/src/textures/Texture.d.ts +8 -8
  266. three/src/textures/VideoFrameTexture.d.ts +1 -1
  267. three/src/textures/VideoTexture.d.ts +2 -2
  268. three/src/utils.d.ts +18 -2
  269. three/src/nodes/core/CacheNode.d.ts +0 -21
three/README.md CHANGED
@@ -8,7 +8,7 @@ This package contains type definitions for three (https://threejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/three.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Wed, 03 Sep 2025 18:38:35 GMT
11
+ * Last updated: Fri, 31 Oct 2025 16:38:34 GMT
12
12
  * Dependencies: [@dimforge/rapier3d-compat](https://npmjs.com/package/@dimforge/rapier3d-compat), [@tweenjs/tween.js](https://npmjs.com/package/@tweenjs/tween.js), [@types/stats.js](https://npmjs.com/package/@types/stats.js), [@types/webxr](https://npmjs.com/package/@types/webxr), [@webgpu/types](https://npmjs.com/package/@webgpu/types), [fflate](https://npmjs.com/package/fflate), [meshoptimizer](https://npmjs.com/package/meshoptimizer)
13
13
 
14
14
  # Credits
@@ -59,6 +59,8 @@ export interface TextGeometryParameters extends ExtrudeGeometryOptions {
59
59
  * @defaultValue `3`
60
60
  */
61
61
  bevelSegments?: number | undefined;
62
+
63
+ direction?: "ltr" | "rtl" | "tb" | undefined;
62
64
  }
63
65
 
64
66
  /**
@@ -0,0 +1,21 @@
1
+ import { Node, Renderer, StorageBufferNode } from "three/webgpu";
2
+
3
+ export const getBitonicFlipIndices: (index: Node, blockHeight: Node) => Node;
4
+
5
+ export const getBitonicDisperseIndices: (index: Node, swapSpan: Node) => Node;
6
+
7
+ export interface BitonicSortOptions {
8
+ workgroupSize?: number | undefined;
9
+ }
10
+
11
+ export class BitonicSort {
12
+ infoStorage: StorageBufferNode;
13
+
14
+ swapOpCount: number;
15
+ stepCount: number;
16
+
17
+ constructor(renderer: Renderer, dataBuffer: StorageBufferNode, options?: BitonicSortOptions);
18
+
19
+ computeStep(renderer: Renderer): Promise<void>;
20
+ compute(renderer: Renderer): Promise<void>;
21
+ }
@@ -0,0 +1,10 @@
1
+ import { RendererInspector } from "./RendererInspector.js";
2
+ import { ParametersGroup } from "./tabs/Parameters.js";
3
+
4
+ declare class Inspector extends RendererInspector {
5
+ createParameters(name: string): ParametersGroup;
6
+
7
+ get domElement(): HTMLDivElement;
8
+ }
9
+
10
+ export { Inspector };
@@ -0,0 +1,4 @@
1
+ import { InspectorBase } from "three/webgpu";
2
+
3
+ export class RendererInspector extends InspectorBase {
4
+ }
@@ -0,0 +1,95 @@
1
+ import { Tab } from "../ui/Tab.js";
2
+ import { ValueButton, ValueCheckbox, ValueColor, ValueNumber, ValueSelect, ValueSlider } from "../ui/Values.js";
3
+
4
+ type KeyToValueOfType<T, V> = { [K in keyof T]: T[K] extends V ? K : never }[keyof T];
5
+
6
+ interface ValueSelectWithParameters<T = Record<string, unknown>, K extends keyof T = keyof T>
7
+ extends ValueSelect<T, K>
8
+ {
9
+ name: (name: string) => this;
10
+ listen: () => this;
11
+ }
12
+
13
+ interface ValueNumberWithParameters<
14
+ T = Record<string, unknown>,
15
+ K extends KeyToValueOfType<T, number> = KeyToValueOfType<T, number>,
16
+ > extends ValueNumber<T, K> {
17
+ name: (name: string) => this;
18
+ listen: () => this;
19
+ }
20
+
21
+ interface ValueSliderWithParameters<
22
+ T = Record<string, unknown>,
23
+ K extends KeyToValueOfType<T, number> = KeyToValueOfType<T, number>,
24
+ > extends ValueSlider<T, K> {
25
+ name: (name: string) => this;
26
+ listen: () => this;
27
+ }
28
+
29
+ interface ValueCheckboxWithParameters<
30
+ T = Record<string, unknown>,
31
+ K extends KeyToValueOfType<T, boolean> = KeyToValueOfType<T, boolean>,
32
+ > extends ValueCheckbox<T, K> {
33
+ name: (name: string) => this;
34
+ listen: () => this;
35
+ }
36
+
37
+ interface ValueButtonWithParameters<
38
+ T = Record<string, unknown>,
39
+ K extends KeyToValueOfType<T, (this: T) => void> = KeyToValueOfType<T, (this: T) => void>,
40
+ > extends ValueButton<T, K> {
41
+ name: (name: string) => this;
42
+ }
43
+
44
+ interface ValueColorWithParameters<
45
+ T = Record<string, unknown>,
46
+ K extends keyof T = keyof T,
47
+ > extends ValueColor<T, K> {
48
+ name: (name: string) => this;
49
+ listen: () => this;
50
+ }
51
+
52
+ declare class ParametersGroup {
53
+ name: string;
54
+
55
+ constructor(parameters: never, name: string);
56
+
57
+ add<T, K extends keyof T>(
58
+ object: T,
59
+ property: K,
60
+ options: ReadonlyArray<T[K]> | Record<string, T[K]>,
61
+ ): ValueSelectWithParameters<T, K>;
62
+ add<T, K extends KeyToValueOfType<T, number>>(
63
+ object: T,
64
+ property: K,
65
+ min: number,
66
+ max: number,
67
+ step?: number,
68
+ ): ValueSliderWithParameters<T, K>;
69
+ add<T, K extends KeyToValueOfType<T, number>>(
70
+ object: T,
71
+ property: K,
72
+ min?: number,
73
+ ): ValueNumberWithParameters<T, K>;
74
+ add<T, K extends KeyToValueOfType<T, boolean>>(
75
+ object: T,
76
+ property: K,
77
+ options?: never,
78
+ ): ValueCheckboxWithParameters<T, K>;
79
+ add<T, K extends KeyToValueOfType<T, (this: T) => void>>(
80
+ object: T,
81
+ property: K,
82
+ options?: never,
83
+ ): ValueButtonWithParameters<T, K>;
84
+
85
+ addFolder(name: string): ParametersGroup;
86
+
87
+ addColor<T, K extends keyof T>(object: T, property: K, rgbScale?: number): ValueColorWithParameters<T, K>;
88
+ }
89
+
90
+ declare class Parameters extends Tab {
91
+ createGroup(name: string): ParametersGroup;
92
+ }
93
+
94
+ export { Parameters };
95
+ export type { ParametersGroup };
@@ -0,0 +1,3 @@
1
+ export class Tab {
2
+ constructor(title: string);
3
+ }
@@ -0,0 +1,80 @@
1
+ import { ColorRepresentation, EventDispatcher } from "three";
2
+
3
+ type KeyToValueOfType<T, V> = { [K in keyof T]: T[K] extends V ? K : never }[keyof T];
4
+
5
+ declare class Value<T = Record<string, unknown>, K extends keyof T = keyof T> extends EventDispatcher {
6
+ onChange(callback: (value: T[K]) => void): this;
7
+ }
8
+
9
+ export interface ValueNumberParams {
10
+ value?: number;
11
+ step?: number;
12
+ min?: number;
13
+ max?: number;
14
+ }
15
+
16
+ declare class ValueNumber<
17
+ T = Record<string, unknown>,
18
+ K extends KeyToValueOfType<T, number> = KeyToValueOfType<T, number>,
19
+ > extends Value<T, K> {
20
+ constructor(params: ValueNumberParams);
21
+ }
22
+
23
+ export interface ValueCheckboxParams {
24
+ value?: boolean;
25
+ }
26
+
27
+ declare class ValueCheckbox<
28
+ T = Record<string, unknown>,
29
+ K extends KeyToValueOfType<T, boolean> = KeyToValueOfType<T, boolean>,
30
+ > extends Value<T, K> {
31
+ constructor(params: ValueCheckboxParams);
32
+ }
33
+
34
+ export interface ValueSliderParams {
35
+ value?: number;
36
+ min?: number;
37
+ max?: number;
38
+ step?: number;
39
+ }
40
+
41
+ declare class ValueSlider<
42
+ T = Record<string, unknown>,
43
+ K extends KeyToValueOfType<T, number> = KeyToValueOfType<T, number>,
44
+ > extends Value<T, K> {
45
+ constructor(params: ValueSliderParams);
46
+
47
+ setValue(val: number): this;
48
+ step(value: number): this;
49
+ }
50
+
51
+ export interface ValueSelectParams<T, K extends keyof T> {
52
+ options?: ReadonlyArray<T[K]> | Record<string, T[K]>;
53
+ value?: number;
54
+ }
55
+
56
+ declare class ValueSelect<T = Record<string, unknown>, K extends keyof T = keyof T> extends Value<T, K> {
57
+ constructor(params: ValueSelectParams<T, K>);
58
+ }
59
+
60
+ export interface ValueColorParams {
61
+ value?: ColorRepresentation;
62
+ }
63
+
64
+ declare class ValueColor<T = Record<string, unknown>, K extends keyof T = keyof T> extends Value<T, K> {
65
+ constructor(params: ValueColorParams);
66
+ }
67
+
68
+ export interface ValueButtonParams {
69
+ text?: string;
70
+ value?: () => void;
71
+ }
72
+
73
+ declare class ValueButton<
74
+ T = Record<string, unknown>,
75
+ K extends KeyToValueOfType<T, (this: T) => void> = KeyToValueOfType<T, (this: T) => void>,
76
+ > extends Value<T, K> {
77
+ constructor(params: ValueColorParams);
78
+ }
79
+
80
+ export { Value, ValueButton, ValueCheckbox, ValueColor, ValueNumber, ValueSelect, ValueSlider };
@@ -1,16 +1,16 @@
1
- import { Camera, Frustum, Mesh, Object3D, Scene, Vector3 } from "three";
1
+ import { Camera, Object3D, Scene, Vector3 } from "three";
2
2
 
3
- export class SelectionBox {
4
- constructor(camera: Camera, scene: Scene, deep?: number);
3
+ declare class SelectionBox {
5
4
  camera: Camera;
6
- collection: Mesh[];
7
- deep: number;
8
- endPoint: Vector3;
9
5
  scene: Scene;
10
6
  startPoint: Vector3;
7
+ endPoint: Vector3;
8
+ collection: Object3D[];
11
9
  instances: Record<string, number[]>;
10
+ batches: Record<string, number[]>;
11
+ deep: number;
12
+
13
+ constructor(camera: Camera, scene: Scene, deep?: number);
12
14
 
13
- select(startPoint?: Vector3, endPoint?: Vector3): Mesh[];
14
- updateFrustum(startPoint: Vector3, endPoint: Vector3): void;
15
- searchChildInFrustum(frustum: Frustum, object: Object3D): void;
15
+ select(startPoint?: Vector3, endPoint?: Vector3): Object3D[];
16
16
  }
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Lighting } from "three/webgpu";
3
2
  import { Light } from "../../../src/lights/Light.js";
4
3
  import TiledLightsNode from "../tsl/lighting/TiledLightsNode.js";
@@ -6,5 +5,5 @@ import TiledLightsNode from "../tsl/lighting/TiledLightsNode.js";
6
5
  export class TiledLighting extends Lighting {
7
6
  constructor();
8
7
 
9
- createNode(lights?: Light[]): ShaderNodeObject<TiledLightsNode>;
8
+ createNode(lights?: Light[]): TiledLightsNode;
10
9
  }
@@ -37,5 +37,5 @@ export class Font {
37
37
 
38
38
  constructor(data: FontData);
39
39
 
40
- generateShapes(text: string, size?: number): Shape[];
40
+ generateShapes(text: string, size?: number, direction?: "ltr" | "rtl" | "tb"): Shape[];
41
41
  }
@@ -35,6 +35,9 @@ export class KTX2Loader extends Loader<CompressedTexture> {
35
35
  */
36
36
  setWorkerLimit(limit: number): this;
37
37
 
38
+ /**
39
+ * "detectSupportAsync()" has been deprecated. Use "detectSupport()" and "await renderer.init();" when creating the renderer.
40
+ */
38
41
  detectSupportAsync(renderer: Renderer): Promise<this>;
39
42
 
40
43
  /**
@@ -1,13 +1,12 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { BoxGeometry, Mesh, NodeMaterial, UniformNode, Vector3 } from "three/webgpu";
3
2
 
4
3
  declare class SkyMesh extends Mesh<BoxGeometry, NodeMaterial> {
5
- turbidity: ShaderNodeObject<UniformNode<number>>;
6
- rayleigh: ShaderNodeObject<UniformNode<number>>;
7
- mieCoefficient: ShaderNodeObject<UniformNode<number>>;
8
- mieDirectionalG: ShaderNodeObject<UniformNode<number>>;
9
- sunPosition: ShaderNodeObject<UniformNode<Vector3>>;
10
- upUniform: ShaderNodeObject<UniformNode<Vector3>>;
4
+ turbidity: UniformNode<number>;
5
+ rayleigh: UniformNode<number>;
6
+ mieCoefficient: UniformNode<number>;
7
+ mieDirectionalG: UniformNode<number>;
8
+ sunPosition: UniformNode<Vector3>;
9
+ upUniform: UniformNode<Vector3>;
11
10
 
12
11
  readonly isSky: true;
13
12
 
@@ -11,7 +11,7 @@ import {
11
11
  } from "three/webgpu";
12
12
 
13
13
  export interface WaterMeshOptions {
14
- resolution?: number | undefined;
14
+ resolutionScale?: number | undefined;
15
15
  waterNormals: Texture;
16
16
  alpha?: number | undefined;
17
17
  size?: number | undefined;
@@ -24,7 +24,7 @@ export interface WaterMeshOptions {
24
24
  declare class WaterMesh extends Mesh<BufferGeometry, NodeMaterial> {
25
25
  readonly isWater: true;
26
26
 
27
- resolution: number;
27
+ resolutionScale: number;
28
28
 
29
29
  waterNormals: TextureNode;
30
30
  alpha: UniformNode<number>;
@@ -1,23 +1,28 @@
1
1
  import { Camera, Object3D, Scene, Vector2 } from "three";
2
2
 
3
- export class CSS2DObject extends Object3D {
4
- constructor(element: HTMLElement);
3
+ declare class CSS2DObject extends Object3D {
5
4
  element: HTMLElement;
6
5
  center: Vector2;
7
6
 
7
+ constructor(element: HTMLElement);
8
+
8
9
  onBeforeRender: (renderer: unknown, scene: Scene, camera: Camera) => void;
9
10
  onAfterRender: (renderer: unknown, scene: Scene, camera: Camera) => void;
10
11
  }
11
12
 
12
- export type CSS2DParameters = {
13
- element?: HTMLElement;
14
- };
13
+ export interface CSS2DParameters {
14
+ element?: HTMLElement | undefined;
15
+ }
16
+
17
+ declare class CSS2DRenderer {
18
+ domElement: HTMLElement;
19
+ sortObjects: boolean;
15
20
 
16
- export class CSS2DRenderer {
17
21
  constructor(parameters?: CSS2DParameters);
18
- domElement: HTMLElement;
19
22
 
20
- getSize(): { width: number; height: number };
21
- setSize(width: number, height: number): void;
22
- render(scene: Scene, camera: Camera): void;
23
+ getSize: () => { width: number; height: number };
24
+ render: (scene: Scene, camera: Camera) => void;
25
+ setSize: (width: number, height: number) => void;
23
26
  }
27
+
28
+ export { CSS2DObject, CSS2DRenderer };
@@ -1,16 +1,15 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
- import { Node, TempNode, TextureNode, UniformNode } from "three/webgpu";
1
+ import { Node, TempNode, TextureNode } from "three/webgpu";
3
2
 
4
3
  export default class AfterImageNode extends TempNode {
5
4
  textureNode: TextureNode;
6
5
  textureNodeOld: Node;
7
- damp: UniformNode<number>;
6
+ damp: Node;
8
7
 
9
- constructor(textureNode: Node, damp?: number);
8
+ constructor(textureNode: Node, damp?: Node);
10
9
 
11
10
  getTextureNode(): TextureNode;
12
11
 
13
12
  setSize(width: number, height: number): void;
14
13
  }
15
14
 
16
- export const afterImage: (node: Node, damp?: number) => ShaderNodeObject<AfterImageNode>;
15
+ export const afterImage: (node: Node, damp?: Node | number) => AfterImageNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Camera, Scene } from "three/webgpu";
3
2
  import StereoCompositePassNode from "./StereoCompositePassNode.js";
4
3
 
@@ -10,4 +9,4 @@ declare class AnaglyphPassNode extends StereoCompositePassNode {
10
9
 
11
10
  export default AnaglyphPassNode;
12
11
 
13
- export const anaglyphPass: (scene: Scene, camera: Camera) => ShaderNodeObject<AnaglyphPassNode>;
12
+ export const anaglyphPass: (scene: Scene, camera: Camera) => AnaglyphPassNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Node, TempNode, Vector2 } from "three/webgpu";
3
2
 
4
3
  export default class AnamorphicNode extends TempNode {
@@ -29,4 +28,4 @@ export const anamorphic: (
29
28
  threshold?: Node,
30
29
  scale?: Node,
31
30
  samples?: Node | number,
32
- ) => ShaderNodeObject<AnamorphicNode>;
31
+ ) => AnamorphicNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Node } from "three/webgpu";
3
2
 
4
- export const bleach: (color: Node, opacity?: number) => ShaderNodeObject<Node>;
3
+ export const bleach: (color: Node, opacity?: number) => Node;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Node, TempNode, TextureNode, UniformNode } from "three/webgpu";
3
2
 
4
3
  declare class BloomNode extends TempNode {
@@ -11,7 +10,7 @@ declare class BloomNode extends TempNode {
11
10
 
12
11
  constructor(inputNode: Node, strength?: number, radius?: number, threshold?: number);
13
12
 
14
- getTexture(): ShaderNodeObject<TextureNode>;
13
+ getTexture(): TextureNode;
15
14
 
16
15
  setSize(width: number, height: number): void;
17
16
  }
@@ -21,6 +20,6 @@ export const bloom: (
21
20
  strength?: number,
22
21
  radius?: number,
23
22
  threshold?: number,
24
- ) => ShaderNodeObject<BloomNode>;
23
+ ) => BloomNode;
25
24
 
26
25
  export default BloomNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Node, TempNode, Vector2 } from "three/webgpu";
3
2
 
4
3
  declare class ChromaticAberrationNode extends TempNode {
@@ -17,4 +16,4 @@ export const chromaticAberration: (
17
16
  strength?: Node,
18
17
  center?: Node | Vector2 | null,
19
18
  scale?: Node,
20
- ) => ShaderNodeObject<ChromaticAberrationNode>;
19
+ ) => ChromaticAberrationNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Camera, Node, TempNode, UniformNode } from "three/webgpu";
3
2
 
4
3
  declare class DenoiseNode extends TempNode {
@@ -24,4 +23,4 @@ export const denoise: (
24
23
  depthNode: Node,
25
24
  normalNode: Node,
26
25
  camera: Camera,
27
- ) => ShaderNodeObject<DenoiseNode>;
26
+ ) => DenoiseNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Node, TempNode, TextureNode } from "three/webgpu";
3
2
 
4
3
  declare class DepthOfFieldNode extends TempNode {
@@ -26,4 +25,4 @@ export const dof: (
26
25
  focusDistance?: Node | number,
27
26
  focalLength?: Node | number,
28
27
  bokehScale?: Node | number,
29
- ) => ShaderNodeObject<DepthOfFieldNode>;
28
+ ) => DepthOfFieldNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Node, TempNode, UniformNode, Vector2 } from "three/webgpu";
3
2
 
4
3
  declare class DotScreenNode extends TempNode {
@@ -17,4 +16,4 @@ export const dotScreen: (
17
16
  center?: Vector2,
18
17
  angle?: number,
19
18
  scale?: number,
20
- ) => ShaderNodeObject<DotScreenNode>;
19
+ ) => DotScreenNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Node, TempNode, TextureNode } from "three/webgpu";
3
2
 
4
3
  declare class FXAANode extends TempNode {
@@ -9,4 +8,4 @@ declare class FXAANode extends TempNode {
9
8
 
10
9
  export default FXAANode;
11
10
 
12
- export const fxaa: (node: Node) => ShaderNodeObject<FXAANode>;
11
+ export const fxaa: (node: Node) => FXAANode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Node, TempNode } from "three/webgpu";
3
2
 
4
3
  declare class FilmNode extends TempNode {
@@ -15,4 +14,4 @@ export const film: (
15
14
  inputNode: Node,
16
15
  intensityNode?: Node | null,
17
16
  uvNode?: Node | null,
18
- ) => ShaderNodeObject<FilmNode>;
17
+ ) => FilmNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Camera, Node, TempNode, TextureNode, UniformNode, Vector2 } from "three/webgpu";
3
2
 
4
3
  declare class GTAONode extends TempNode {
@@ -7,17 +6,19 @@ declare class GTAONode extends TempNode {
7
6
 
8
7
  resolutionScale: number;
9
8
 
10
- radius: ShaderNodeObject<UniformNode<number>>;
11
- resolution: ShaderNodeObject<UniformNode<Vector2>>;
12
- thickness: ShaderNodeObject<UniformNode<number>>;
13
- distanceExponent: ShaderNodeObject<UniformNode<number>>;
14
- distanceFallOff: ShaderNodeObject<UniformNode<number>>;
15
- scale: ShaderNodeObject<UniformNode<number>>;
16
- samples: ShaderNodeObject<UniformNode<number>>;
9
+ radius: UniformNode<number>;
10
+ resolution: UniformNode<Vector2>;
11
+ thickness: UniformNode<number>;
12
+ distanceExponent: UniformNode<number>;
13
+ distanceFallOff: UniformNode<number>;
14
+ scale: UniformNode<number>;
15
+ samples: UniformNode<number>;
16
+
17
+ useTemporalFiltering: boolean;
17
18
 
18
19
  constructor(depthNode: Node, normalNode: Node, camera: Camera);
19
20
 
20
- getTextureNode(): ShaderNodeObject<TextureNode>;
21
+ getTextureNode(): TextureNode;
21
22
 
22
23
  setSize(width: number, height: number): void;
23
24
  }
@@ -28,4 +29,4 @@ export const ao: (
28
29
  depthNode: Node,
29
30
  normalNode: Node,
30
31
  camera: Camera,
31
- ) => ShaderNodeObject<GTAONode>;
32
+ ) => GTAONode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Node, TempNode, TextureNode, Vector2 } from "three/webgpu";
3
2
 
4
3
  export interface GaussianBlurNodeOptions {
@@ -43,7 +42,7 @@ export const gaussianBlur: (
43
42
  directionNode?: Node | number | null,
44
43
  sigma?: number,
45
44
  options?: GaussianBlurNodeOptions,
46
- ) => ShaderNodeObject<GaussianBlurNode>;
45
+ ) => GaussianBlurNode;
47
46
 
48
47
  /**
49
48
  * @deprecated "premultipliedGaussianBlur()" is deprecated. Use "gaussianBlur()" with "premultipliedAlpha: true" option instead.
@@ -52,4 +51,4 @@ export const premultipliedGaussianBlur: (
52
51
  node: Node,
53
52
  directionNode?: Node | number | null,
54
53
  sigma?: number,
55
- ) => ShaderNodeObject<GaussianBlurNode>;
54
+ ) => GaussianBlurNode;
@@ -1,4 +1,3 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Node, TempNode, TextureNode, UniformNode, Vector3 } from "three/webgpu";
3
2
 
4
3
  interface LensflareNodeParams {
@@ -13,11 +12,11 @@ interface LensflareNodeParams {
13
12
  declare class LensflareNode extends TempNode {
14
13
  textureNode: TextureNode;
15
14
 
16
- ghostTintNode: ShaderNodeObject<UniformNode<Vector3>>;
17
- thresholdNode: ShaderNodeObject<UniformNode<number>>;
18
- ghostSamplesNode: ShaderNodeObject<UniformNode<number>>;
19
- ghostSpacingNode: ShaderNodeObject<UniformNode<number>>;
20
- ghostAttenuationFactorNode: ShaderNodeObject<UniformNode<number>>;
15
+ ghostTintNode: UniformNode<Vector3>;
16
+ thresholdNode: UniformNode<number>;
17
+ ghostSamplesNode: UniformNode<number>;
18
+ ghostSpacingNode: UniformNode<number>;
19
+ ghostAttenuationFactorNode: UniformNode<number>;
21
20
  downSampleRatio: number;
22
21
 
23
22
  constructor(textureNode: TextureNode, params?: LensflareNodeParams);
@@ -32,4 +31,4 @@ export default LensflareNode;
32
31
  export const lensflare: (
33
32
  inputNode: Node,
34
33
  params?: LensflareNodeParams,
35
- ) => ShaderNodeObject<LensflareNode>;
34
+ ) => LensflareNode;
@@ -1,10 +1,9 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Data3DTexture, Node, TempNode, Texture3DNode, UniformNode } from "three/webgpu";
3
2
 
4
3
  declare class Lut3DNode extends TempNode {
5
4
  inputNode: Node;
6
5
  lutNode: Texture3DNode;
7
- size: ShaderNodeObject<UniformNode<number>>;
6
+ size: UniformNode<number>;
8
7
  intensityNode: UniformNode<number>;
9
8
 
10
9
  constructor(inputNode: Node, lutNode: UniformNode<Data3DTexture>, size: number, intensityNode: UniformNode<number>);
@@ -17,4 +16,4 @@ export const lut3D: (
17
16
  lut: Node,
18
17
  size: number,
19
18
  intensity: Node,
20
- ) => ShaderNodeObject<Lut3DNode>;
19
+ ) => Lut3DNode;
@@ -1,8 +1,7 @@
1
- import { ShaderNodeObject } from "three/tsl";
2
1
  import { Node } from "three/webgpu";
3
2
 
4
3
  export const motionBlur: (
5
4
  inputNode: Node,
6
5
  velocity: Node,
7
6
  numSamples?: Node,
8
- ) => ShaderNodeObject<Node>;
7
+ ) => Node;