@types/three 0.178.1 → 0.179.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.
- three/README.md +1 -1
- three/examples/jsm/Addons.d.ts +1 -2
- three/examples/jsm/exporters/USDZExporter.d.ts +1 -0
- three/examples/jsm/loaders/EXRLoader.d.ts +18 -5
- three/examples/jsm/loaders/USDLoader.d.ts +9 -0
- three/examples/jsm/loaders/USDZLoader.d.ts +11 -8
- three/examples/jsm/tsl/display/TRAANode.d.ts +22 -0
- three/package.json +4 -4
- three/src/Three.Core.d.ts +1 -0
- three/src/Three.TSL.d.ts +55 -13
- three/src/animation/KeyframeTrack.d.ts +7 -2
- three/src/animation/tracks/BooleanKeyframeTrack.d.ts +2 -2
- three/src/animation/tracks/StringKeyframeTrack.d.ts +2 -2
- three/src/cameras/Camera.d.ts +15 -8
- three/src/constants.d.ts +3 -1
- three/{examples/jsm/misc → src/core}/Timer.d.ts +3 -17
- three/src/helpers/SkeletonHelper.d.ts +7 -12
- three/src/loaders/FileLoader.d.ts +2 -2
- three/src/loaders/ImageBitmapLoader.d.ts +9 -9
- three/src/loaders/Loader.d.ts +1 -0
- three/src/loaders/LoadingManager.d.ts +23 -19
- three/src/materials/nodes/Line2NodeMaterial.d.ts +0 -6
- three/src/materials/nodes/PointsNodeMaterial.d.ts +5 -0
- three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +22 -1
- three/src/math/Frustum.d.ts +1 -1
- three/src/math/Line3.d.ts +1 -0
- three/src/math/Matrix4.d.ts +2 -0
- three/src/nodes/Nodes.d.ts +1 -0
- three/src/nodes/TSL.d.ts +1 -0
- three/src/nodes/accessors/TextureNode.d.ts +2 -0
- three/src/nodes/core/ContextNode.d.ts +7 -1
- three/src/nodes/core/Node.d.ts +9 -2
- three/src/nodes/core/UniformNode.d.ts +9 -0
- three/src/nodes/core/VarNode.d.ts +11 -1
- three/src/nodes/display/PassNode.d.ts +10 -0
- three/src/nodes/gpgpu/ComputeNode.d.ts +15 -6
- three/src/nodes/materialx/MaterialXNodes.d.ts +85 -20
- three/src/nodes/materialx/lib/mx_noise.d.ts +28 -0
- three/src/nodes/math/MathNode.d.ts +10 -2
- three/src/nodes/tsl/TSLCore.d.ts +16 -0
- three/src/nodes/utils/EventNode.d.ts +21 -0
- three/src/nodes/utils/RTTNode.d.ts +2 -0
- three/src/renderers/common/Color4.d.ts +2 -2
- three/src/renderers/common/Renderer.d.ts +16 -8
- three/src/renderers/common/SampledTexture.d.ts +2 -9
- three/src/renderers/common/Sampler.d.ts +9 -3
- three/src/renderers/common/Storage3DTexture.d.ts +2 -0
- three/src/renderers/common/StorageArrayTexture.d.ts +2 -0
- three/src/renderers/common/StorageTexture.d.ts +2 -0
- three/src/renderers/common/XRManager.d.ts +1 -0
- three/src/renderers/webgl/WebGLCapabilities.d.ts +2 -2
- three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +0 -1
- three/src/renderers/webxr/WebXRDepthSensing.d.ts +4 -5
- three/src/renderers/webxr/WebXRManager.d.ts +4 -2
- three/src/textures/ExternalTexture.d.ts +11 -0
- three/examples/jsm/tsl/display/TRAAPassNode.d.ts +0 -15
three/src/nodes/tsl/TSLCore.d.ts
CHANGED
|
@@ -210,6 +210,7 @@ export class ShaderNode<T = {}, R extends Node = Node> {
|
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
export function nodeObject<T extends NodeObjectOption>(obj: T): NodeObject<T>;
|
|
213
|
+
export function nodeObjectIntent<T extends NodeObjectOption>(obj: T): NodeObject<T>;
|
|
213
214
|
export function nodeObjects<T>(obj: T): NodeObjects<T>;
|
|
214
215
|
|
|
215
216
|
export function nodeArray<T extends NodeObjectOption[]>(obj: readonly [...T]): NodeArray<T>;
|
|
@@ -234,6 +235,21 @@ export function nodeImmutable<T>(
|
|
|
234
235
|
...params: ProxiedTuple<GetConstructors<T>>
|
|
235
236
|
): ShaderNodeObject<ConstructedNode<T>>;
|
|
236
237
|
|
|
238
|
+
export function nodeProxyIntent<T>(
|
|
239
|
+
nodeClass: T,
|
|
240
|
+
): (...params: ProxiedTuple<GetConstructors<T>>) => ShaderNodeObject<ConstructedNode<T>>;
|
|
241
|
+
|
|
242
|
+
export function nodeProxyIntent<T, S extends GetPossibleScopes<T>>(
|
|
243
|
+
nodeClass: T,
|
|
244
|
+
scope: S,
|
|
245
|
+
): (...params: ProxiedTuple<RemoveTail<GetConstructorsByScope<T, S>>>) => ShaderNodeObject<ConstructedNode<T>>;
|
|
246
|
+
|
|
247
|
+
export function nodeProxyIntent<T, S extends GetPossibleScopes<T>>(
|
|
248
|
+
nodeClass: T,
|
|
249
|
+
scope: S,
|
|
250
|
+
factor: NodeObjectOption,
|
|
251
|
+
): (...params: ProxiedTuple<RemoveHeadAndTail<GetConstructorsByScope<T, S>>>) => ShaderNodeObject<ConstructedNode<T>>;
|
|
252
|
+
|
|
237
253
|
interface Layout {
|
|
238
254
|
name: string;
|
|
239
255
|
type: string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import Node from "../core/Node.js";
|
|
2
|
+
import NodeFrame from "../core/NodeFrame.js";
|
|
3
|
+
import { ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
4
|
+
|
|
5
|
+
export type EventNodeType = typeof EventNode.OBJECT | typeof EventNode.MATERIAL;
|
|
6
|
+
|
|
7
|
+
declare class EventNode extends Node {
|
|
8
|
+
eventType: EventNodeType;
|
|
9
|
+
callback: (frame: NodeFrame) => void;
|
|
10
|
+
|
|
11
|
+
constructor(eventType: EventNodeType, callback: (frame: NodeFrame) => void);
|
|
12
|
+
|
|
13
|
+
static OBJECT: "object";
|
|
14
|
+
static MATERIAL: "material";
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default EventNode;
|
|
18
|
+
|
|
19
|
+
export const OnObjectUpdate: (callback: (frame: NodeFrame) => void) => ShaderNodeObject<Node>;
|
|
20
|
+
|
|
21
|
+
export const OnMaterialUpdate: (callback: (frame: NodeFrame) => void) => ShaderNodeObject<Node>;
|
|
@@ -27,8 +27,8 @@ declare class Color4 extends Color {
|
|
|
27
27
|
* string argument to this method.
|
|
28
28
|
*
|
|
29
29
|
* @param {number|string|Color} r - The red value.
|
|
30
|
-
* @param {number} g - The green value.
|
|
31
|
-
* @param {number} b - The blue value.
|
|
30
|
+
* @param {number} [g] - The green value.
|
|
31
|
+
* @param {number} [b] - The blue value.
|
|
32
32
|
* @param {number} [a=1] - The alpha value.
|
|
33
33
|
* @return {Color4} A reference to this object.
|
|
34
34
|
*/
|
|
@@ -625,15 +625,15 @@ declare class Renderer {
|
|
|
625
625
|
*/
|
|
626
626
|
clearStencilAsync(): Promise<void>;
|
|
627
627
|
/**
|
|
628
|
-
* The current
|
|
629
|
-
* the
|
|
628
|
+
* The current tone mapping of the renderer. When not producing screen output,
|
|
629
|
+
* the tone mapping is always `NoToneMapping`.
|
|
630
630
|
*
|
|
631
631
|
* @type {number}
|
|
632
632
|
*/
|
|
633
633
|
get currentToneMapping(): ToneMapping;
|
|
634
634
|
/**
|
|
635
|
-
* The current
|
|
636
|
-
* the
|
|
635
|
+
* The current color space of the renderer. When not producing screen output,
|
|
636
|
+
* the color space is always the working color space.
|
|
637
637
|
*
|
|
638
638
|
* @type {string}
|
|
639
639
|
*/
|
|
@@ -742,17 +742,25 @@ declare class Renderer {
|
|
|
742
742
|
* if the renderer has been initialized.
|
|
743
743
|
*
|
|
744
744
|
* @param {Node|Array<Node>} computeNodes - The compute node(s).
|
|
745
|
+
* @param {Array<number>|number} [dispatchSizeOrCount=null] - Array with [ x, y, z ] values for dispatch or a single number for the count.
|
|
745
746
|
* @return {Promise|undefined} A Promise that resolve when the compute has finished. Only returned when the renderer has not been initialized.
|
|
746
747
|
*/
|
|
747
|
-
compute(
|
|
748
|
+
compute(
|
|
749
|
+
computeNodes: ComputeNode | ComputeNode[],
|
|
750
|
+
dispatchSizeOrCount?: number[] | number | null,
|
|
751
|
+
): Promise<void> | undefined;
|
|
748
752
|
/**
|
|
749
753
|
* Execute a single or an array of compute nodes.
|
|
750
754
|
*
|
|
751
755
|
* @async
|
|
752
756
|
* @param {Node|Array<Node>} computeNodes - The compute node(s).
|
|
757
|
+
* @param {Array<number>|number} [dispatchSizeOrCount=null] - Array with [ x, y, z ] values for dispatch or a single number for the count.
|
|
753
758
|
* @return {Promise} A Promise that resolve when the compute has finished.
|
|
754
759
|
*/
|
|
755
|
-
computeAsync(
|
|
760
|
+
computeAsync(
|
|
761
|
+
computeNodes: ComputeNode | ComputeNode[],
|
|
762
|
+
dispatchSizeOrCount?: number[] | number | null,
|
|
763
|
+
): Promise<void>;
|
|
756
764
|
/**
|
|
757
765
|
* Checks if the given feature is supported by the selected backend.
|
|
758
766
|
*
|
|
@@ -938,7 +946,7 @@ declare class Renderer {
|
|
|
938
946
|
* @param {LightsNode} lightsNode - The current lights node.
|
|
939
947
|
* @param {?{start: number, count: number}} group - Only relevant for objects using multiple materials. This represents a group entry from the respective `BufferGeometry`.
|
|
940
948
|
* @param {ClippingContext} clippingContext - The clipping context.
|
|
941
|
-
* @param {
|
|
949
|
+
* @param {string} [passId] - An optional ID for identifying the pass.
|
|
942
950
|
*/
|
|
943
951
|
_renderObjectDirect(
|
|
944
952
|
object: Object3D,
|
|
@@ -962,7 +970,7 @@ declare class Renderer {
|
|
|
962
970
|
* @param {LightsNode} lightsNode - The current lights node.
|
|
963
971
|
* @param {?{start: number, count: number}} group - Only relevant for objects using multiple materials. This represents a group entry from the respective `BufferGeometry`.
|
|
964
972
|
* @param {ClippingContext} clippingContext - The clipping context.
|
|
965
|
-
* @param {
|
|
973
|
+
* @param {string} [passId] - An optional ID for identifying the pass.
|
|
966
974
|
*/
|
|
967
975
|
_createObjectPipeline(
|
|
968
976
|
object: Object3D,
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
import { Texture } from "../../textures/Texture.js";
|
|
2
|
-
import
|
|
2
|
+
import Sampler from "./Sampler.js";
|
|
3
3
|
|
|
4
|
-
declare class SampledTexture extends
|
|
4
|
+
declare class SampledTexture extends Sampler {
|
|
5
5
|
id: number;
|
|
6
6
|
|
|
7
|
-
texture: Texture | null;
|
|
8
|
-
version: number;
|
|
9
7
|
store: boolean;
|
|
10
|
-
generation: number | null;
|
|
11
8
|
|
|
12
9
|
readonly isSampledTexture: true;
|
|
13
10
|
|
|
14
11
|
constructor(name: string, texture: Texture | null);
|
|
15
|
-
|
|
16
|
-
needsBindingsUpdate(generation: number): boolean;
|
|
17
|
-
|
|
18
|
-
update(): boolean;
|
|
19
12
|
}
|
|
20
13
|
|
|
21
14
|
declare class SampledArrayTexture extends SampledTexture {
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Texture } from "../../textures/Texture.js";
|
|
2
2
|
import Binding from "./Binding.js";
|
|
3
3
|
|
|
4
4
|
declare class Sampler extends Binding {
|
|
5
|
-
texture: TextureNode | null;
|
|
6
5
|
version: number;
|
|
6
|
+
|
|
7
|
+
generation: number | null;
|
|
8
|
+
|
|
7
9
|
readonly isSampler: true;
|
|
8
|
-
|
|
10
|
+
|
|
11
|
+
constructor(name: string, texture: Texture | null);
|
|
12
|
+
|
|
13
|
+
set texture(value: Texture | null);
|
|
14
|
+
get texture(): Texture | null;
|
|
9
15
|
}
|
|
10
16
|
|
|
11
17
|
export default Sampler;
|
|
@@ -35,6 +35,8 @@ declare class Storage3DTexture extends Texture {
|
|
|
35
35
|
* @param {number} [depth=1] - The storage texture's depth.
|
|
36
36
|
*/
|
|
37
37
|
constructor(width?: number, height?: number, depth?: number);
|
|
38
|
+
|
|
39
|
+
setSize(width: number, height: number, depth: number): void;
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
export default Storage3DTexture;
|
|
@@ -24,6 +24,8 @@ declare class Storage3DTexture extends Texture {
|
|
|
24
24
|
* @param {number} [depth=1] - The storage texture's depth.
|
|
25
25
|
*/
|
|
26
26
|
constructor(width?: number, height?: number, depth?: number);
|
|
27
|
+
|
|
28
|
+
setSize(width: number, height: number, depth: number): void;
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
export default Storage3DTexture;
|
|
@@ -79,6 +79,7 @@ declare class XRManager extends EventDispatcher<XRManagerEventMap> {
|
|
|
79
79
|
_xrRenderTarget: XRRenderTarget | null;
|
|
80
80
|
_layers: XRLayerObject[];
|
|
81
81
|
_supportsLayers: boolean;
|
|
82
|
+
_supportsGlBinding: boolean;
|
|
82
83
|
_frameBufferTargets:
|
|
83
84
|
| WeakMap<XRRenderTarget, {
|
|
84
85
|
frameBufferTarget: RenderTarget | null;
|
|
@@ -14,7 +14,7 @@ export interface WebGLCapabilitiesParameters {
|
|
|
14
14
|
/**
|
|
15
15
|
* default is false.
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
reversedDepthBuffer?: boolean | undefined;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
export class WebGLCapabilities {
|
|
@@ -30,7 +30,7 @@ export class WebGLCapabilities {
|
|
|
30
30
|
|
|
31
31
|
precision: string;
|
|
32
32
|
logarithmicDepthBuffer: boolean;
|
|
33
|
-
|
|
33
|
+
reversedDepthBuffer: boolean;
|
|
34
34
|
|
|
35
35
|
maxTextures: number;
|
|
36
36
|
maxVertexTextures: number;
|
|
@@ -19,7 +19,6 @@ export default class WGSLNodeBuilder extends NodeBuilder {
|
|
|
19
19
|
builtins: { [key in BuiltinStage]: Map<string, BuiltinType> };
|
|
20
20
|
uniformGroups: { [key in NodeShaderStage]: NodeUniformsGroup };
|
|
21
21
|
|
|
22
|
-
needsToWorkingColorSpace(texture: Texture): boolean;
|
|
23
22
|
_generateTextureSample(
|
|
24
23
|
texture: Texture,
|
|
25
24
|
textureProperty: string,
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Mesh } from "../../objects/Mesh.js";
|
|
2
|
-
import {
|
|
3
|
-
import { WebGLRenderer } from "../WebGLRenderer.js";
|
|
2
|
+
import { ExternalTexture } from "../../textures/ExternalTexture.js";
|
|
4
3
|
import { WebXRArrayCamera } from "./WebXRManager.js";
|
|
5
4
|
|
|
6
5
|
export class WebXRDepthSensing {
|
|
7
|
-
texture:
|
|
6
|
+
texture: ExternalTexture | null;
|
|
8
7
|
mesh: Mesh | null;
|
|
9
8
|
|
|
10
9
|
depthNear: number;
|
|
@@ -12,11 +11,11 @@ export class WebXRDepthSensing {
|
|
|
12
11
|
|
|
13
12
|
constructor();
|
|
14
13
|
|
|
15
|
-
init(
|
|
14
|
+
init(depthData: XRWebGLDepthInformation, renderState: XRRenderState): void;
|
|
16
15
|
|
|
17
16
|
getMesh(cameraXR: WebXRArrayCamera): Mesh | null;
|
|
18
17
|
|
|
19
18
|
reset(): void;
|
|
20
19
|
|
|
21
|
-
getDepthTexture():
|
|
20
|
+
getDepthTexture(): ExternalTexture | null;
|
|
22
21
|
}
|
|
@@ -5,7 +5,7 @@ import { PerspectiveCamera } from "../../cameras/PerspectiveCamera.js";
|
|
|
5
5
|
import { EventDispatcher } from "../../core/EventDispatcher.js";
|
|
6
6
|
import { Vector4 } from "../../math/Vector4.js";
|
|
7
7
|
import { Mesh } from "../../objects/Mesh.js";
|
|
8
|
-
import {
|
|
8
|
+
import { ExternalTexture } from "../../textures/ExternalTexture.js";
|
|
9
9
|
import { WebGLRenderer } from "../WebGLRenderer.js";
|
|
10
10
|
import { XRGripSpace, XRHandSpace, XRTargetRaySpace } from "./WebXRController.js";
|
|
11
11
|
|
|
@@ -65,7 +65,7 @@ export class WebXRManager extends EventDispatcher<WebXRManagerEventMap> {
|
|
|
65
65
|
|
|
66
66
|
getEnvironmentBlendMode: () => XREnvironmentBlendMode | undefined;
|
|
67
67
|
|
|
68
|
-
getDepthTexture: () =>
|
|
68
|
+
getDepthTexture: () => ExternalTexture | null;
|
|
69
69
|
|
|
70
70
|
updateCamera: (camera: PerspectiveCamera) => void;
|
|
71
71
|
|
|
@@ -79,6 +79,8 @@ export class WebXRManager extends EventDispatcher<WebXRManagerEventMap> {
|
|
|
79
79
|
|
|
80
80
|
getDepthSensingMesh: () => Mesh | null;
|
|
81
81
|
|
|
82
|
+
getCameraTexture: (xrCamera: WebXRCamera) => ExternalTexture | undefined;
|
|
83
|
+
|
|
82
84
|
setAnimationLoop: (callback: XRFrameRequestCallback | null) => void;
|
|
83
85
|
|
|
84
86
|
dispose: () => void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Texture } from "./Texture.js";
|
|
2
|
+
|
|
3
|
+
declare class ExternalTexture extends Texture {
|
|
4
|
+
sourceTexture: WebGLTexture | null;
|
|
5
|
+
|
|
6
|
+
readonly isExternalTexture: true;
|
|
7
|
+
|
|
8
|
+
constructor(sourceTexture?: WebGLTexture | null);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { ExternalTexture };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ShaderNodeObject } from "three/tsl";
|
|
2
|
-
import { Camera, ColorRepresentation, PassNode, Scene } from "three/webgpu";
|
|
3
|
-
|
|
4
|
-
declare class TRAAPassNode extends PassNode {
|
|
5
|
-
readonly isTRAAPassNode: true;
|
|
6
|
-
|
|
7
|
-
clearColor: ColorRepresentation;
|
|
8
|
-
clearAlpha: number;
|
|
9
|
-
|
|
10
|
-
constructor(scene: Scene, camera: Camera);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export default TRAAPassNode;
|
|
14
|
-
|
|
15
|
-
export const traaPass: (scene: Scene, camera: Camera) => ShaderNodeObject<TRAAPassNode>;
|