@types/three 0.133.1 → 0.134.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 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, 13 Oct 2021 14:01:18 GMT
11
+ * Last updated: Mon, 08 Nov 2021 18:01:35 GMT
12
12
  * Dependencies: none
13
13
  * Global values: `THREE`
14
14
 
@@ -1,6 +1,20 @@
1
- import { Object3D, Camera, Scene } from '../../../src/Three';
1
+ import { EventDispatcher, Camera, Scene, Vector3, Raycaster } from '../../../src/Three';
2
2
 
3
- export class ArcballControls extends Object3D {
3
+ export enum ArcballControlsMouseActionOperations {
4
+ PAN = 'PAN',
5
+ ROTATE = 'ROTATE',
6
+ ZOOM = 'ZOOM',
7
+ FOV = 'FOV',
8
+ }
9
+
10
+ export type ArcballControlsMouseActionMouse = 0 | 1 | 2 | 'WHEEL';
11
+
12
+ export enum ArcballControlsMouseActionKeys {
13
+ SHIFT = 'SHIFT',
14
+ CTRL = 'CTRL',
15
+ }
16
+
17
+ export class ArcballControls extends EventDispatcher {
4
18
  camera: Camera | null;
5
19
  domElement: HTMLElement;
6
20
  scene?: Scene | null | undefined;
@@ -100,7 +114,47 @@ export class ArcballControls extends Object3D {
100
114
  */
101
115
  maxZoom: number;
102
116
 
117
+ /**
118
+ * @default Vector3(0,0,0)
119
+ */
120
+ target: Vector3;
121
+
122
+ /**
123
+ * @default 0.67
124
+ */
125
+ radiusFactor: number;
126
+
103
127
  constructor(camera: Camera, domElement: HTMLElement, scene?: Scene | null);
104
128
 
129
+ getRaycaster(): Raycaster;
130
+
131
+ activateGizmos(isActive: boolean): void;
132
+
133
+ copyState(): void;
134
+
135
+ pasteState(): void;
136
+
137
+ saveState(): void;
138
+
139
+ reset(): void;
140
+
141
+ setCamera(camera: Camera): void;
142
+
143
+ setGizmosVisible(value: boolean): void;
144
+
145
+ setTbRadius(value: number): void;
146
+
147
+ setMouseAction(
148
+ operation: ArcballControlsMouseActionOperations,
149
+ mouse: ArcballControlsMouseActionMouse,
150
+ key?: ArcballControlsMouseActionKeys,
151
+ ): boolean;
152
+
153
+ unsetMouseAction(mouse: ArcballControlsMouseActionMouse, key?: ArcballControlsMouseActionKeys): boolean;
154
+
155
+ setTarget(x: number, y: number, z: number): void;
156
+
157
+ update(): void;
158
+
105
159
  dispose(): void;
106
160
  }
@@ -13,6 +13,9 @@ import {
13
13
  Material,
14
14
  SkinnedMesh,
15
15
  Texture,
16
+ TextureLoader,
17
+ FileLoader,
18
+ ImageBitmapLoader,
16
19
  } from '../../../src/Three';
17
20
 
18
21
  import { DRACOLoader } from './DRACOLoader';
@@ -75,6 +78,19 @@ export interface GLTFReference {
75
78
  export class GLTFParser {
76
79
  json: any;
77
80
 
81
+ options: {
82
+ path: string;
83
+ manager: LoadingManager;
84
+ ktx2Loader: KTX2Loader;
85
+ meshoptDecoder: /* MeshoptDecoder */ any;
86
+ crossOrigin: string;
87
+ requestHeader: { [header: string]: string };
88
+ };
89
+
90
+ fileLoader: FileLoader;
91
+ textureLoader: TextureLoader | ImageBitmapLoader;
92
+ plugins: GLTFLoaderPlugin;
93
+ extensions: { [name: string]: any };
78
94
  associations: Map<Object3D | Material | Texture, GLTFReference>;
79
95
 
80
96
  getDependency: (type: string, index: number) => Promise<any>;
@@ -135,5 +151,6 @@ export interface GLTFLoaderPlugin {
135
151
  extendMaterialParams?:
136
152
  | ((materialIndex: number, materialParams: { [key: string]: any }) => Promise<any> | null)
137
153
  | undefined;
154
+ createNodeMesh?: ((nodeIndex: number) => Promise<Group | Mesh | SkinnedMesh> | null) | undefined;
138
155
  createNodeAttachment?: ((nodeIndex: number) => Promise<Object3D> | null) | undefined;
139
156
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  WebGLRenderer,
3
- RenderTarget,
3
+ WebGLRenderTarget,
4
4
  Texture,
5
5
  DataTexture,
6
6
  Material,
@@ -8,6 +8,7 @@ import {
8
8
  Wrapping,
9
9
  TextureFilter,
10
10
  TextureDataType,
11
+ IUniform,
11
12
  } from '../../../src/Three';
12
13
 
13
14
  export interface Variable {
@@ -15,7 +16,7 @@ export interface Variable {
15
16
  initialValueTexture: Texture;
16
17
  material: ShaderMaterial;
17
18
  dependencies: Variable[];
18
- renderTargets: RenderTarget[];
19
+ renderTargets: WebGLRenderTarget[];
19
20
  wrapS: number;
20
21
  wrapT: number;
21
22
  minFilter: number;
@@ -33,9 +34,10 @@ export class GPUComputationRenderer {
33
34
  init(): string | null;
34
35
  compute(): void;
35
36
 
36
- getCurrentRenderTarget(variable: Variable): RenderTarget;
37
- getAlternateRenderTarget(variable: Variable): RenderTarget;
37
+ getCurrentRenderTarget(variable: Variable): WebGLRenderTarget;
38
+ getAlternateRenderTarget(variable: Variable): WebGLRenderTarget;
38
39
  addResolutionDefine(materialShader: ShaderMaterial): void;
40
+ createShaderMaterial(computeFragmentShader: string, uniforms?: { [uniform: string]: IUniform }): ShaderMaterial;
39
41
  createRenderTarget(
40
42
  sizeXTexture: number,
41
43
  sizeYTexture: number,
@@ -43,8 +45,8 @@ export class GPUComputationRenderer {
43
45
  wrapT: number,
44
46
  minFilter: TextureFilter,
45
47
  magFilter: TextureFilter,
46
- ): RenderTarget;
48
+ ): WebGLRenderTarget;
47
49
  createTexture(): DataTexture;
48
50
  renderTexture(input: Texture, output: Texture): void;
49
- doRenderTarget(material: Material, output: RenderTarget): void;
51
+ doRenderTarget(material: Material, output: WebGLRenderTarget): void;
50
52
  }
@@ -1,4 +1,4 @@
1
- import { Color } from '../../../../src/Three';
1
+ import { Color, ColorRepresentation } from '../../../../src/Three';
2
2
 
3
3
  import { InputNode } from '../core/InputNode';
4
4
  import { NodeBuilder } from '../core/NodeBuilder';
@@ -21,5 +21,5 @@ export class StandardNodeMaterial extends NodeMaterial {
21
21
  environment: Node;
22
22
  mask: Node;
23
23
  position: Node;
24
- sheenTint: Node;
24
+ sheenColor: Node;
25
25
  }
@@ -8,7 +8,7 @@ export class StandardNode extends Node {
8
8
  roughness: Node;
9
9
  metalness: Node;
10
10
  nodeType: string;
11
- sheenTint: Node;
11
+ sheenColor: Node;
12
12
 
13
13
  build(builder: NodeBuilder): string;
14
14
  copy(source: StandardNode): this;
@@ -1,7 +1,13 @@
1
- import { BufferGeometry, Material, ImmediateRenderObject } from '../../../src/Three';
1
+ import { BufferGeometry, Material, Mesh, Color } from '../../../src/Three';
2
2
 
3
- export class MarchingCubes extends ImmediateRenderObject {
4
- constructor(resolution: number, material: Material, enableUvs?: boolean, enableColors?: boolean);
3
+ export class MarchingCubes extends Mesh {
4
+ constructor(
5
+ resolution: number,
6
+ material: Material,
7
+ enableUvs?: boolean,
8
+ enableColors?: boolean,
9
+ maxPolyCount?: number,
10
+ );
5
11
 
6
12
  enableUvs: boolean;
7
13
  enableColors: boolean;
@@ -46,9 +52,9 @@ export class MarchingCubes extends ImmediateRenderObject {
46
52
  begin(): void;
47
53
  end(): void;
48
54
 
49
- init(resolution: string): void;
55
+ init(resolution: number): void;
50
56
 
51
- addBall(ballx: number, bally: number, ballz: number, strength: number, subtract: number, colors: any): void;
57
+ addBall(ballx: number, bally: number, ballz: number, strength: number, subtract: number, colors?: Color): void;
52
58
 
53
59
  addPlaneX(strength: number, subtract: number): void;
54
60
  addPlaneY(strength: number, subtract: number): void;
@@ -8,8 +8,12 @@ export class CSS2DObject extends Object3D {
8
8
  onAfterRender: (renderer: unknown, scene: Scene, camera: Camera) => void;
9
9
  }
10
10
 
11
+ export type CSS2DParameters = {
12
+ element?: HTMLElement;
13
+ };
14
+
11
15
  export class CSS2DRenderer {
12
- constructor();
16
+ constructor(parameters?: CSS2DParameters);
13
17
  domElement: HTMLElement;
14
18
 
15
19
  getSize(): { width: number; height: number };
@@ -12,8 +12,12 @@ export class CSS3DSprite extends CSS3DObject {
12
12
  constructor(element: HTMLElement);
13
13
  }
14
14
 
15
+ export type CSS3DParameters = {
16
+ element?: HTMLElement;
17
+ };
18
+
15
19
  export class CSS3DRenderer {
16
- constructor();
20
+ constructor(parameters?: CSS3DParameters);
17
21
  domElement: HTMLElement;
18
22
 
19
23
  getSize(): { width: number; height: number };
three/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Type definitions for three 0.133
1
+ // Type definitions for three 0.134
2
2
  // Project: https://threejs.org/
3
3
  // Definitions by: Josh Ellis <https://github.com/joshuaellis>
4
4
  // Nathan Bierema <https://github.com/Methuselah96>
three/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/three",
3
- "version": "0.133.1",
3
+ "version": "0.134.0",
4
4
  "description": "TypeScript definitions for three",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/three",
6
6
  "license": "MIT",
@@ -25,6 +25,6 @@
25
25
  },
26
26
  "scripts": {},
27
27
  "dependencies": {},
28
- "typesPublisherContentHash": "ba99c4724d6510e30b44339855a390a5e56fc3636e4aa599ec0fc2621a1f36a5",
28
+ "typesPublisherContentHash": "081e8a2aa20cac9bb8a5fc1c65f63e7f502175cd0654faf460174999473bd0ac",
29
29
  "typeScriptVersion": "3.7"
30
30
  }
three/src/Three.d.ts CHANGED
@@ -58,7 +58,6 @@ export * from './core/Clock';
58
58
  /**
59
59
  * Extras
60
60
  */
61
- export * from './extras/objects/ImmediateRenderObject';
62
61
  export * from './extras/curves/Curves';
63
62
  export * from './extras/core/Shape';
64
63
  export * from './extras/core/Path';
@@ -3,7 +3,7 @@ import { Light } from './../lights/Light';
3
3
  import { Vector2 } from './../math/Vector2';
4
4
  import { Vector4 } from './../math/Vector4';
5
5
  import { Matrix4 } from './../math/Matrix4';
6
- import { RenderTarget } from '../renderers/webgl/WebGLRenderLists';
6
+ import { WebGLRenderTarget } from '../renderers/WebGLRenderTarget';
7
7
 
8
8
  export class LightShadow {
9
9
  constructor(camera: Camera);
@@ -38,12 +38,12 @@ export class LightShadow {
38
38
  /**
39
39
  * @default null
40
40
  */
41
- map: RenderTarget;
41
+ map: WebGLRenderTarget;
42
42
 
43
43
  /**
44
44
  * @default null
45
45
  */
46
- mapPass: RenderTarget;
46
+ mapPass: WebGLRenderTarget;
47
47
 
48
48
  /**
49
49
  * @default new THREE.Matrix4()
@@ -1,6 +1,7 @@
1
1
  export interface LoaderUtils {
2
2
  decodeText(array: BufferSource): string;
3
3
  extractUrlBase(url: string): string;
4
+ resolveURL(url: string, path: string): string;
4
5
  }
5
6
 
6
7
  export const LoaderUtils: LoaderUtils;
@@ -15,18 +15,18 @@ export interface MeshPhysicalMaterialParameters extends MeshStandardMaterialPara
15
15
  ior?: number | undefined;
16
16
 
17
17
  sheen?: number | undefined;
18
- sheenTint?: Color | undefined;
18
+ sheenColor?: Color | undefined;
19
19
  sheenRoughness?: number | undefined;
20
20
 
21
21
  transmission?: number | undefined;
22
22
  transmissionMap?: Texture | null | undefined;
23
23
  attenuationDistance?: number | undefined;
24
- attenuationTint?: Color | undefined;
24
+ attenuationColor?: Color | undefined;
25
25
 
26
26
  specularIntensity?: number | undefined;
27
- specularTint?: Color | undefined;
27
+ specularColor?: Color | undefined;
28
28
  specularIntensityMap?: Texture | null | undefined;
29
- specularTintMap?: Texture | null | undefined;
29
+ specularColorMap?: Texture | null | undefined;
30
30
  }
31
31
 
32
32
  export class MeshPhysicalMaterial extends MeshStandardMaterial {
@@ -90,13 +90,23 @@ export class MeshPhysicalMaterial extends MeshStandardMaterial {
90
90
  /**
91
91
  * @default Color( 0x000000 )
92
92
  */
93
- sheenTint: Color;
93
+ sheenColor: Color;
94
+
95
+ /**
96
+ * @default null
97
+ */
98
+ sheenColorMap: Texture | null;
94
99
 
95
100
  /**
96
101
  * @default 1.0
97
102
  */
98
103
  sheenRoughness: number;
99
104
 
105
+ /**
106
+ * @default null
107
+ */
108
+ sheenRoughnessMap: Texture | null;
109
+
100
110
  /**
101
111
  * @default 0
102
112
  */
@@ -125,7 +135,7 @@ export class MeshPhysicalMaterial extends MeshStandardMaterial {
125
135
  /**
126
136
  * @default Color( 1, 1, 1 )
127
137
  */
128
- attenuationTint: Color;
138
+ attenuationColor: Color;
129
139
 
130
140
  /**
131
141
  * @default 1.0
@@ -135,7 +145,7 @@ export class MeshPhysicalMaterial extends MeshStandardMaterial {
135
145
  /**
136
146
  * @default Color(1, 1, 1)
137
147
  */
138
- specularTint: Color;
148
+ specularColor: Color;
139
149
 
140
150
  /**
141
151
  * @default null
@@ -145,5 +155,5 @@ export class MeshPhysicalMaterial extends MeshStandardMaterial {
145
155
  /**
146
156
  * @default null
147
157
  */
148
- specularTintMap: Texture | null;
158
+ specularColorMap: Texture | null;
149
159
  }
@@ -6,12 +6,13 @@ import { WebGLShadowMap } from './webgl/WebGLShadowMap';
6
6
  import { WebGLCapabilities } from './webgl/WebGLCapabilities';
7
7
  import { WebGLProperties } from './webgl/WebGLProperties';
8
8
  import { WebGLProgram } from './webgl/WebGLProgram';
9
- import { RenderTarget, WebGLRenderLists } from './webgl/WebGLRenderLists';
9
+ import { WebGLRenderLists } from './webgl/WebGLRenderLists';
10
10
  import { WebGLState } from './webgl/WebGLState';
11
11
  import { Vector2 } from './../math/Vector2';
12
12
  import { Vector4 } from './../math/Vector4';
13
13
  import { Color } from './../math/Color';
14
14
  import { WebGLRenderTarget } from './WebGLRenderTarget';
15
+ import { WebGLMultipleRenderTargets } from './WebGLMultipleRenderTargets';
15
16
  import { Object3D } from './../core/Object3D';
16
17
  import { Material } from './../materials/Material';
17
18
  import { ToneMapping, ShadowMapType, CullFace, TextureEncoding } from '../constants';
@@ -221,6 +222,7 @@ export class WebGLRenderer implements Renderer {
221
222
  getContext(): WebGLRenderingContext;
222
223
  getContextAttributes(): any;
223
224
  forceContextLoss(): void;
225
+ forceContextRestore(): void;
224
226
 
225
227
  /**
226
228
  * @deprecated Use {@link WebGLCapabilities#getMaxAnisotropy .capabilities.getMaxAnisotropy()} instead.
@@ -322,8 +324,6 @@ export class WebGLRenderer implements Renderer {
322
324
  resetGLState(): void;
323
325
  dispose(): void;
324
326
 
325
- renderBufferImmediate(object: Object3D, program: WebGLProgram): void;
326
-
327
327
  renderBufferDirect(
328
328
  camera: Camera,
329
329
  scene: Scene,
@@ -375,12 +375,12 @@ export class WebGLRenderer implements Renderer {
375
375
  /**
376
376
  * Returns the current render target. If no render target is set, null is returned.
377
377
  */
378
- getRenderTarget(): RenderTarget | null;
378
+ getRenderTarget(): WebGLRenderTarget | null;
379
379
 
380
380
  /**
381
381
  * @deprecated Use {@link WebGLRenderer#getRenderTarget .getRenderTarget()} instead.
382
382
  */
383
- getCurrentRenderTarget(): RenderTarget | null;
383
+ getCurrentRenderTarget(): WebGLRenderTarget | null;
384
384
 
385
385
  /**
386
386
  * Sets the active render target.
@@ -389,10 +389,14 @@ export class WebGLRenderer implements Renderer {
389
389
  * @param activeCubeFace Specifies the active cube side (PX 0, NX 1, PY 2, NY 3, PZ 4, NZ 5) of {@link WebGLCubeRenderTarget}.
390
390
  * @param activeMipmapLevel Specifies the active mipmap level.
391
391
  */
392
- setRenderTarget(renderTarget: RenderTarget | null, activeCubeFace?: number, activeMipmapLevel?: number): void;
392
+ setRenderTarget(
393
+ renderTarget: WebGLRenderTarget | WebGLMultipleRenderTargets | null,
394
+ activeCubeFace?: number,
395
+ activeMipmapLevel?: number,
396
+ ): void;
393
397
 
394
398
  readRenderTargetPixels(
395
- renderTarget: RenderTarget,
399
+ renderTarget: WebGLRenderTarget | WebGLMultipleRenderTargets,
396
400
  x: number,
397
401
  y: number,
398
402
  width: number,
@@ -7,9 +7,6 @@ import { Camera } from './../../cameras/Camera';
7
7
  import { BufferGeometry } from '../../core/BufferGeometry';
8
8
  import { WebGLProperties } from './WebGLProperties';
9
9
 
10
- // tslint:disable-next-line:no-empty-interface
11
- export interface RenderTarget {} // not defined in the code, used in LightShadow and WebGRenderer classes
12
-
13
10
  export interface RenderItem {
14
11
  id: number;
15
12
  object: Object3D;
@@ -158,6 +158,12 @@ export class Texture extends EventDispatcher {
158
158
  */
159
159
  isRenderTargetTexture: boolean;
160
160
 
161
+ /**
162
+ * An object that can be used to store custom data about the Material. It should not hold references to functions as these will not be cloned.
163
+ * @default {}
164
+ */
165
+ userData: any;
166
+
161
167
  /**
162
168
  * @default 0
163
169
  */
@@ -1,19 +0,0 @@
1
- import { Camera, EventDispatcher } from '../../../src/Three';
2
-
3
- export class DeviceOrientationControls extends EventDispatcher {
4
- constructor(object: Camera);
5
-
6
- object: Camera;
7
-
8
- // API
9
-
10
- alphaOffset: number;
11
- deviceOrientation: any;
12
- enabled: boolean;
13
- screenOrientation: number;
14
-
15
- connect(): void;
16
- disconnect(): void;
17
- dispose(): void;
18
- update(): void;
19
- }
@@ -1,59 +0,0 @@
1
- import { Object3D } from './../../core/Object3D';
2
- import { Material } from './../../materials/Material';
3
-
4
- // Extras / Objects /////////////////////////////////////////////////////////////////////
5
-
6
- export class ImmediateRenderObject extends Object3D {
7
- constructor(material: Material);
8
-
9
- readonly isImmediateRenderObject: true;
10
-
11
- material: Material;
12
-
13
- /**
14
- * @default false
15
- */
16
- hasPositions: boolean;
17
-
18
- /**
19
- * @default false
20
- */
21
- hasNormals: boolean;
22
-
23
- /**
24
- * @default false
25
- */
26
- hasColors: boolean;
27
-
28
- /**
29
- * @default false
30
- */
31
- hasUvs: boolean;
32
-
33
- /**
34
- * @default null
35
- */
36
- positionArray: null | Float32Array;
37
-
38
- /**
39
- * @default null
40
- */
41
- normalArray: null | Float32Array;
42
-
43
- /**
44
- * @default null
45
- */
46
- colorArray: null | Float32Array;
47
-
48
- /**
49
- * @default null
50
- */
51
- uvArray: null | Float32Array;
52
-
53
- /**
54
- * @default 0
55
- */
56
- count: number;
57
-
58
- render(renderCallback: () => void): void;
59
- }