@types/three 0.138.0 → 0.139.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, 02 Mar 2022 16:01:44 GMT
11
+ * Last updated: Sat, 26 Mar 2022 21:01:43 GMT
12
12
  * Dependencies: none
13
13
  * Global values: `THREE`
14
14
 
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * @author sciecode / https://github.com/sciecode
3
3
  *
4
- * EXR format references: https://www.openexr.com/documentation/openexrfilelayout.pdf
4
+ * EXR format references:
5
+ * https://www.openexr.com/documentation/openexrfilelayout.pdf
5
6
  */
6
7
 
7
8
  import { WebGLRenderer, WebGLRenderTarget, TextureDataType } from '../../../src/Three';
@@ -3,7 +3,7 @@ import { Scene, Camera, ColorRepresentation, ShaderMaterial, WebGLRenderTarget }
3
3
  import { Pass } from './Pass';
4
4
 
5
5
  export class SSAARenderPass extends Pass {
6
- constructor(scene: Scene, camera: Camera, clearColor: ColorRepresentation, clearAlpha: number);
6
+ constructor(scene: Scene, camera: Camera, clearColor?: ColorRepresentation, clearAlpha?: number);
7
7
  scene: Scene;
8
8
  camera: Camera;
9
9
  sampleLevel: number;
@@ -15,3 +15,5 @@ export function estimateBytesUsed(geometry: BufferGeometry): number;
15
15
  export function mergeVertices(geometry: BufferGeometry, tolerance?: number): BufferGeometry;
16
16
  export function toTrianglesDrawMode(geometry: BufferGeometry, drawMode: TrianglesDrawModes): BufferGeometry;
17
17
  export function computeMorphedAttributes(object: Mesh | Line | Points): object;
18
+ export function computeTangents(geometry: BufferGeometry, negateSign?: boolean): BufferGeometry;
19
+ export function mergeGroups(geometry: BufferGeometry): BufferGeometry;
@@ -1,4 +1,4 @@
1
- import { BufferGeometry, Group, InstancedMesh, Material, Object3D, Scene } from '../../../src/Three';
1
+ import { BufferGeometry, Group, InstancedMesh, Material, Object3D, Scene, Mesh } from '../../../src/Three';
2
2
 
3
3
  export function createMeshesFromInstancedMesh(instancedMesh: InstancedMesh): Group;
4
4
  export function createMultiMaterialObject(geometry: BufferGeometry, materials: Material[]): Group;
@@ -10,3 +10,5 @@ export function detach(child: Object3D, parent: Object3D, scene: Scene): void;
10
10
  * @deprecated Use parent.attach( child ) instead.
11
11
  */
12
12
  export function attach(child: Object3D, scene: Scene, parent: Object3D): void;
13
+
14
+ export function createMeshesFromMultiMaterialMesh(mesh: Mesh): Group;
three/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Type definitions for three 0.138
1
+ // Type definitions for three 0.139
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.138.0",
3
+ "version": "0.139.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": "7873774346bfbeaa8143902909709f9b2a5154afc0017f590bff41e5d3e5e0b7",
28
+ "typesPublisherContentHash": "3d3b533eda48e6d4aad35b8b2177550c7d54d7f9eef4a9c679730a92b75d3551",
29
29
  "typeScriptVersion": "3.9"
30
30
  }
three/src/Three.d.ts CHANGED
@@ -209,6 +209,7 @@ export * from './renderers/webgl/WebGLUniforms';
209
209
  export * from './renderers/webxr/WebXR';
210
210
  export * from './renderers/webxr/WebXRController';
211
211
  export * from './renderers/webxr/WebXRManager';
212
+ export { WebGLUtils } from './renderers/webgl/WebGLUtils.js';
212
213
  /**
213
214
  * Scenes
214
215
  */
@@ -4,7 +4,7 @@ export namespace AnimationUtils {
4
4
  function arraySlice(array: any, from: number, to: number): any;
5
5
  function convertArray(array: any, type: any, forceClone: boolean): any;
6
6
  function isTypedArray(object: any): boolean;
7
- function getKeyFrameOrder(times: number[]): number[];
7
+ function getKeyframeOrder(times: number[]): number[];
8
8
  function sortedArray(values: any[], stride: number, order: number[]): any[];
9
9
  function flattenJSON(jsonKeys: string[], times: any[], values: any[], valuePropertyName: string): void;
10
10
 
three/src/constants.d.ts CHANGED
@@ -115,7 +115,6 @@ export const CubeRefractionMapping: Mapping;
115
115
  export const EquirectangularReflectionMapping: Mapping;
116
116
  export const EquirectangularRefractionMapping: Mapping;
117
117
  export const CubeUVReflectionMapping: Mapping;
118
- export const CubeUVRefractionMapping: Mapping;
119
118
 
120
119
  // Wrapping modes
121
120
  export enum Wrapping {}
@@ -153,6 +152,7 @@ export const UnsignedInt248Type: TextureDataType;
153
152
  // Pixel formats
154
153
  export enum PixelFormat {}
155
154
  export const AlphaFormat: PixelFormat;
155
+ export const RGBFormat: PixelFormat;
156
156
  export const RGBAFormat: PixelFormat;
157
157
  export const LuminanceFormat: PixelFormat;
158
158
  export const LuminanceAlphaFormat: PixelFormat;
@@ -313,6 +313,11 @@ export enum NormalMapTypes {}
313
313
  export const TangentSpaceNormalMap: NormalMapTypes;
314
314
  export const ObjectSpaceNormalMap: NormalMapTypes;
315
315
 
316
+ export type ColorSpace = NoColorSpace | SRGBColorSpace | LinearSRGBColorSpace;
317
+ export type NoColorSpace = '';
318
+ export type SRGBColorSpace = 'srgb';
319
+ export type LinearSRGBColorSpace = 'srgb-linear';
320
+
316
321
  // Stencil Op types
317
322
  export enum StencilOp {}
318
323
  export const ZeroStencilOp: StencilOp;
@@ -22,8 +22,6 @@ export class BufferGeometry extends EventDispatcher {
22
22
  */
23
23
  constructor();
24
24
 
25
- static MaxIndex: number;
26
-
27
25
  /**
28
26
  * Unique number of this buffergeometry instance
29
27
  */
@@ -13,12 +13,8 @@ export class InstancedBufferGeometry extends BufferGeometry {
13
13
 
14
14
  isInstancedBufferGeometry: boolean;
15
15
 
16
- groups: Array<{ start: number; count: number; instances: number }>;
17
-
18
16
  /**
19
17
  * @default Infinity
20
18
  */
21
19
  instanceCount: number;
22
-
23
- addGroup(start: number, count: number, instances: number): void;
24
20
  }
@@ -13,7 +13,6 @@ export class Uniform {
13
13
  * @deprecated Use {@link Object3D#onBeforeRender object.onBeforeRender()} instead.
14
14
  */
15
15
  dynamic: boolean;
16
- onUpdateCallback: () => void;
17
16
 
18
17
  /**
19
18
  * @deprecated Use {@link Object3D#onBeforeRender object.onBeforeRender()} instead.
@@ -1,3 +1,4 @@
1
1
  export namespace DataUtils {
2
2
  function toHalfFloat(val: number): number;
3
+ function fromHalfFloat(val: number): number;
3
4
  }
@@ -0,0 +1,27 @@
1
+ import { BufferGeometry } from '../core/BufferGeometry';
2
+
3
+ export class CapsuleGeometry extends BufferGeometry {
4
+ /**
5
+ * @param [radius=1] — Radius of the capsule.
6
+ * @param [length=1] — Length of the middle section.
7
+ * @param [capSegments=4] — Number of curve segments used to build the caps.
8
+ * @param [radialSegments=8] — Number of segmented faces around the circumference of the capsule.
9
+ */
10
+ constructor(radius?: number, length?: number, capSegments?: number, radialSegments?: number);
11
+
12
+ /**
13
+ * @default 'CapsuleGeometry'
14
+ */
15
+ type: string;
16
+
17
+ parameters: {
18
+ radius: number;
19
+ length: number;
20
+ capSegments: number;
21
+ radialSegments: number;
22
+ };
23
+
24
+ static fromJSON(data: any): CapsuleGeometry;
25
+ }
26
+
27
+ export { CapsuleGeometry as CapsuleBufferGeometry };
@@ -1,4 +1,5 @@
1
1
  export * from './BoxGeometry';
2
+ export * from './CapsuleGeometry';
2
3
  export * from './CircleGeometry';
3
4
  export * from './ConeGeometry';
4
5
  export * from './CylinderGeometry';
@@ -80,11 +80,6 @@ export class Material extends EventDispatcher {
80
80
  */
81
81
  alphaToCoverage: boolean;
82
82
 
83
- /**
84
- * @default false
85
- */
86
- alphaWrite: boolean;
87
-
88
83
  /**
89
84
  * Blending destination. It's one of the blending mode constants defined in Three.js. Default is {@link OneMinusSrcAlphaFactor}.
90
85
  * @default THREE.OneMinusSrcAlphaFactor
@@ -30,7 +30,6 @@ export interface MeshStandardMaterialParameters extends MaterialParameters {
30
30
  alphaMap?: Texture | null | undefined;
31
31
  envMap?: Texture | null | undefined;
32
32
  envMapIntensity?: number | undefined;
33
- refractionRatio?: number | undefined;
34
33
  wireframe?: boolean | undefined;
35
34
  wireframeLinewidth?: number | undefined;
36
35
 
@@ -170,11 +169,6 @@ export class MeshStandardMaterial extends Material {
170
169
  */
171
170
  envMapIntensity: number;
172
171
 
173
- /**
174
- * @default 0.98
175
- */
176
- refractionRatio: number;
177
-
178
172
  /**
179
173
  * @default false
180
174
  */
three/src/math/Color.d.ts CHANGED
@@ -1,13 +1,21 @@
1
+ import { ColorSpace } from '../constants';
1
2
  import { ColorRepresentation } from '../utils';
3
+
2
4
  import { BufferAttribute } from './../core/BufferAttribute';
3
5
 
6
+ export { SRGBToLinear } from './ColorManagement';
7
+
4
8
  export interface HSL {
5
9
  h: number;
6
10
  s: number;
7
11
  l: number;
8
12
  }
9
13
 
10
- export function SRGBToLinear(c: number): number;
14
+ export interface RGB {
15
+ r: number;
16
+ g: number;
17
+ b: number;
18
+ }
11
19
 
12
20
  /**
13
21
  * Represents a color. See also {@link ColorUtils}.
@@ -43,7 +51,7 @@ export class Color {
43
51
 
44
52
  set(color: ColorRepresentation): Color;
45
53
  setScalar(scalar: number): Color;
46
- setHex(hex: number): Color;
54
+ setHex(hex: number, colorSpace?: ColorSpace): Color;
47
55
 
48
56
  /**
49
57
  * Sets this color from RGB values.
@@ -51,7 +59,7 @@ export class Color {
51
59
  * @param g Green channel value between 0 and 1.
52
60
  * @param b Blue channel value between 0 and 1.
53
61
  */
54
- setRGB(r: number, g: number, b: number): Color;
62
+ setRGB(r: number, g: number, b: number, colorSpace?: ColorSpace): Color;
55
63
 
56
64
  /**
57
65
  * Sets this color from HSL values.
@@ -61,20 +69,20 @@ export class Color {
61
69
  * @param s Saturation value channel between 0 and 1.
62
70
  * @param l Value channel value between 0 and 1.
63
71
  */
64
- setHSL(h: number, s: number, l: number): Color;
72
+ setHSL(h: number, s: number, l: number, colorSpace?: ColorSpace): Color;
65
73
 
66
74
  /**
67
75
  * Sets this color from a CSS context style string.
68
76
  * @param contextStyle Color in CSS context style format.
69
77
  */
70
- setStyle(style: string): Color;
78
+ setStyle(style: string, colorSpace?: ColorSpace): Color;
71
79
 
72
80
  /**
73
81
  * Sets this color from a color name.
74
82
  * Faster than {@link Color#setStyle .setStyle()} method if you don't need the other CSS-style formats.
75
83
  * @param style Color name in X11 format.
76
84
  */
77
- setColorName(style: string): Color;
85
+ setColorName(style: string, colorSpace?: ColorSpace): Color;
78
86
 
79
87
  /**
80
88
  * Clones this color.
@@ -112,20 +120,22 @@ export class Color {
112
120
  /**
113
121
  * Returns the hexadecimal value of this color.
114
122
  */
115
- getHex(): number;
123
+ getHex(colorSpace?: ColorSpace): number;
116
124
 
117
125
  /**
118
126
  * Returns the string formated hexadecimal value of this color.
119
127
  */
120
- getHexString(): string;
128
+ getHexString(colorSpace?: ColorSpace): string;
129
+
130
+ getHSL(target: HSL, colorSpace?: ColorSpace): HSL;
121
131
 
122
- getHSL(target: HSL): HSL;
132
+ getRGB(target: RGB, colorSpace?: ColorSpace): RGB;
123
133
 
124
134
  /**
125
135
  * Returns the value of this color in CSS context style.
126
136
  * Example: rgb(r, g, b)
127
137
  */
128
- getStyle(): string;
138
+ getStyle(colorSpace?: ColorSpace): string;
129
139
 
130
140
  offsetHSL(h: number, s: number, l: number): this;
131
141
 
@@ -0,0 +1,18 @@
1
+ import { LinearSRGBColorSpace, SRGBColorSpace } from '../constants';
2
+ import { Color } from './Color';
3
+
4
+ export function SRGBToLinear(c: number): number;
5
+
6
+ export function LinearToSRGB(c: number): number;
7
+
8
+ export namespace ColorManagement {
9
+ function convert(
10
+ color: Color,
11
+ sourceColorSpace: SRGBColorSpace | LinearSRGBColorSpace,
12
+ targetColorSpace: SRGBColorSpace | LinearSRGBColorSpace,
13
+ ): Color;
14
+
15
+ function fromWorkingColorSpace(color: Color, targetColorSpace: SRGBColorSpace | LinearSRGBColorSpace): Color;
16
+
17
+ function toWorkingColorSpace(color: Color, sourceColorSpace: SRGBColorSpace | LinearSRGBColorSpace): Color;
18
+ }
three/src/math/Plane.d.ts CHANGED
@@ -31,7 +31,6 @@ export class Plane {
31
31
  distanceToPoint(point: Vector3): number;
32
32
  distanceToSphere(sphere: Sphere): number;
33
33
  projectPoint(point: Vector3, target: Vector3): Vector3;
34
- orthoPoint(point: Vector3, target: Vector3): Vector3;
35
34
  intersectLine(line: Line3, target: Vector3): Vector3 | null;
36
35
  intersectsLine(line: Line3): boolean;
37
36
  intersectsBox(box: Box3): boolean;
@@ -22,7 +22,6 @@ export interface WebGLRenderTargetOptions {
22
22
  export class WebGLRenderTarget extends EventDispatcher {
23
23
  constructor(width: number, height: number, options?: WebGLRenderTargetOptions);
24
24
 
25
- uuid: string;
26
25
  width: number;
27
26
  height: number;
28
27
  depth: number;
@@ -218,7 +218,7 @@ export class WebGLRenderer implements Renderer {
218
218
  /**
219
219
  * Return the WebGL context.
220
220
  */
221
- getContext(): WebGLRenderingContext;
221
+ getContext(): WebGLRenderingContext | WebGL2RenderingContext;
222
222
  getContextAttributes(): any;
223
223
  forceContextLoss(): void;
224
224
  forceContextRestore(): void;
@@ -1,7 +1,7 @@
1
- import { CompressedPixelFormat, TextureEncoding } from '../../constants';
1
+ import { CompressedPixelFormat, PixelFormat, TextureEncoding, TextureDataType } from '../../constants';
2
2
 
3
3
  export class WebGLUtils {
4
4
  constructor(gl: WebGLRenderingContext | WebGL2RenderingContext, extensions: any, capabilities: any);
5
5
 
6
- convert(p: CompressedPixelFormat, encoding?: TextureEncoding | null): void;
6
+ convert(p: PixelFormat | CompressedPixelFormat | TextureDataType, encoding?: TextureEncoding | null): number | null;
7
7
  }
@@ -45,20 +45,5 @@ export class Scene extends Object3D {
45
45
 
46
46
  readonly isScene: true;
47
47
 
48
- /**
49
- * Calls before rendering scene
50
- */
51
- onBeforeRender: (
52
- renderer: WebGLRenderer,
53
- scene: Scene,
54
- camera: Camera,
55
- renderTarget: any, // any required for Object3D.onBeforeRender compatibility
56
- ) => void;
57
-
58
- /**
59
- * Calls after rendering scene
60
- */
61
- onAfterRender: (renderer: WebGLRenderer, scene: Scene, camera: Camera) => void;
62
-
63
48
  toJSON(meta?: any): any;
64
49
  }
@@ -1,121 +0,0 @@
1
- import {
2
- Color,
3
- MeshNormalMaterial,
4
- MeshBasicMaterial,
5
- ShaderMaterial,
6
- WebGLRenderTarget,
7
- MeshStandardMaterial,
8
- WebGLRenderer,
9
- Scene,
10
- Camera,
11
- Mesh,
12
- Material,
13
- ColorRepresentation,
14
- } from '../../../src/Three';
15
- import { Pass, FullScreenQuad } from './Pass';
16
-
17
- export interface SSRrPassParams {
18
- renderer: WebGLRenderer;
19
- scene: Scene;
20
- camera: Camera;
21
- width?: number | undefined;
22
- height?: number | undefined;
23
- selects: Mesh[] | null;
24
- }
25
-
26
- export class SSRrPass extends Pass {
27
- width: number;
28
- height: number;
29
- clear: boolean;
30
-
31
- renderer: WebGLRenderer;
32
- scene: Scene;
33
- camera: Camera;
34
-
35
- output: number;
36
-
37
- ior: number;
38
- maxDistance: number;
39
- surfDist: number;
40
-
41
- color: Color;
42
-
43
- seleects: Mesh[] | null;
44
-
45
- _specular: boolean;
46
- get specular(): boolean;
47
- set specular(spec: boolean);
48
-
49
- _fillHole: boolean;
50
- get fillHole(): boolean;
51
- set fillHole(spec: boolean);
52
-
53
- _infiniteThick: boolean;
54
- get infiniteThick(): boolean;
55
- set infiniteThick(spec: boolean);
56
-
57
- beautyRenderTarget: WebGLRenderTarget;
58
- specularRenderTarget: WebGLRenderTarget;
59
- normalSelectsRenderTarget: WebGLRenderTarget;
60
- refractiveRenderTarget: WebGLRenderTarget;
61
- ssrrRenderTarget: WebGLRenderTarget;
62
-
63
- ssrrMaterial: ShaderMaterial;
64
-
65
- normalMaterial: MeshNormalMaterial;
66
- refractiveOnMaterial: MeshBasicMaterial;
67
- refractiveOffMaterial: MeshBasicMaterial;
68
- specularMaterial: MeshStandardMaterial;
69
-
70
- depthRenderMaterial: ShaderMaterial;
71
- copyMaterial: ShaderMaterial;
72
-
73
- fsQuad: FullScreenQuad;
74
-
75
- originalClearColor: Color;
76
-
77
- constructor(params: SSRrPassParams);
78
-
79
- dispose: () => void;
80
-
81
- render: (renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget) => void;
82
-
83
- renderPass: (
84
- renderer: WebGLRenderer,
85
- passMaterial: Material,
86
- renderTarget: WebGLRenderTarget,
87
- clearColor: ColorRepresentation,
88
- clearAlpha: ColorRepresentation,
89
- ) => void;
90
-
91
- renderOverride: (
92
- renderer: WebGLRenderer,
93
- passMaterial: Material,
94
- renderTarget: WebGLRenderTarget,
95
- clearColor: ColorRepresentation,
96
- clearAlpha: ColorRepresentation,
97
- ) => void;
98
-
99
- renderRefractive: (
100
- renderer: WebGLRenderer,
101
- passMaterial: Material,
102
- renderTarget: WebGLRenderTarget,
103
- clearColor: ColorRepresentation,
104
- clearAlpha: ColorRepresentation,
105
- ) => void;
106
-
107
- setSize: (width: number, height: number) => void;
108
- }
109
-
110
- export namespace SSRrPass {
111
- interface OUTPUT {
112
- Default: 0;
113
- SSRr: 1;
114
- Beauty: 3;
115
- Depth: 4;
116
- DepthSelects: 9;
117
- NormalSelects: 5;
118
- Refractive: 7;
119
- Specular: 8;
120
- }
121
- }