Skip to content

Commit 5af12e9

Browse files
authored
🤖 Merge PR DefinitelyTyped#74890 [three] r184 by @Methuselah96
1 parent 179a67f commit 5af12e9

131 files changed

Lines changed: 1907 additions & 609 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

types/three/examples/jsm/Addons.d.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export * from "./effects/OutlineEffect.js";
3030
export * from "./effects/ParallaxBarrierEffect.js";
3131
export * from "./effects/StereoEffect.js";
3232

33+
export * from "./environments/ColorEnvironment.js";
3334
export * from "./environments/DebugEnvironment.js";
3435
export * from "./environments/RoomEnvironment.js";
3536

@@ -51,9 +52,11 @@ export * from "./geometries/RoundedBoxGeometry.js";
5152
export * from "./geometries/TeapotGeometry.js";
5253
export * from "./geometries/TextGeometry.js";
5354

55+
export * from "./helpers/AnimationPathHelper.js";
5456
export * from "./helpers/LightProbeHelper.js";
5557
export * from "./helpers/OctreeHelper.js";
5658
export * from "./helpers/PositionalAudioHelper.js";
59+
export * from "./helpers/RapierHelper.js";
5760
export * from "./helpers/RectAreaLightHelper.js";
5861
export * from "./helpers/TextureHelper.js";
5962
export * from "./helpers/VertexNormalsHelper.js";
@@ -98,6 +101,7 @@ export * from "./loaders/LDrawLoader.js";
98101
export * from "./loaders/LottieLoader.js";
99102
export * from "./loaders/LUT3dlLoader.js";
100103
export * from "./loaders/LUTCubeLoader.js";
104+
export * from "./loaders/LUTImageLoader.js";
101105
export * from "./loaders/LWOLoader.js";
102106
export * from "./loaders/MD2Loader.js";
103107
export * from "./loaders/MDDLoader.js";
@@ -126,6 +130,7 @@ export * from "./materials/LDrawConditionalLineMaterial.js";
126130

127131
export * from "./math/Capsule.js";
128132
export * from "./math/ColorConverter.js";
133+
export * as ColorSpaces from "./math/ColorSpaces.js";
129134
export * from "./math/ConvexHull.js";
130135
export * from "./math/ImprovedNoise.js";
131136
export * from "./math/Lut.js";
@@ -165,6 +170,7 @@ export { Water as Water2 } from "./objects/Water2.js";
165170
export type { WaterOptions as Water2Options } from "./objects/Water2.js";
166171

167172
export * from "./physics/AmmoPhysics.js";
173+
export * from "./physics/JoltPhysics.js";
168174
export * from "./physics/RapierPhysics.js";
169175

170176
export * from "./postprocessing/AfterimagePass.js";
@@ -175,6 +181,7 @@ export * from "./postprocessing/CubeTexturePass.js";
175181
export * from "./postprocessing/DotScreenPass.js";
176182
export * from "./postprocessing/EffectComposer.js";
177183
export * from "./postprocessing/FilmPass.js";
184+
export * from "./postprocessing/FXAAPass.js";
178185
export * from "./postprocessing/GlitchPass.js";
179186
export * from "./postprocessing/GTAOPass.js";
180187
export * from "./postprocessing/HalftonePass.js";
@@ -185,6 +192,7 @@ export * from "./postprocessing/OutputPass.js";
185192
export * from "./postprocessing/Pass.js";
186193
export * from "./postprocessing/RenderPass.js";
187194
export * from "./postprocessing/RenderPixelatedPass.js";
195+
export * from "./postprocessing/RenderTransitionPass.js";
188196
export * from "./postprocessing/SAOPass.js";
189197
export * from "./postprocessing/SavePass.js";
190198
export * from "./postprocessing/ShaderPass.js";
@@ -234,6 +242,7 @@ export * from "./shaders/LuminosityShader.js";
234242
export * from "./shaders/MirrorShader.js";
235243
export * from "./shaders/NormalMapShader.js";
236244
export * from "./shaders/OutputShader.js";
245+
export * from "./shaders/PoissonDenoiseShader.js";
237246
export * from "./shaders/RGBShiftShader.js";
238247
export * from "./shaders/SAOShader.js";
239248
export * from "./shaders/SepiaShader.js";
@@ -257,9 +266,11 @@ export * from "./textures/FlakesTexture.js";
257266

258267
export * as BufferGeometryUtils from "./utils/BufferGeometryUtils.js";
259268
export * as CameraUtils from "./utils/CameraUtils.js";
269+
export * as ColorUtils from "./utils/ColorUtils.js";
260270
export * as GeometryCompressionUtils from "./utils/GeometryCompressionUtils.js";
261271
export * as GeometryUtils from "./utils/GeometryUtils.js";
262272
export * from "./utils/LDrawUtils.js";
273+
export * from "./utils/SceneOptimizer.js";
263274
export * as SceneUtils from "./utils/SceneUtils.js";
264275
export * from "./utils/ShadowMapViewer.js";
265276
export * as SkeletonUtils from "./utils/SkeletonUtils.js";

types/three/examples/jsm/controls/FirstPersonControls.d.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,6 @@ declare class FirstPersonControls extends Controls<{}> {
2424
*/
2525
autoForward: boolean;
2626

27-
/**
28-
* Whether or not it's possible to look around. Default is `true`.
29-
*/
30-
activeLook: boolean;
31-
3227
/**
3328
* Whether or not the camera's height influences the forward movement speed. Default is `false`.
3429
* Use the properties {@link .heightCoef}, {@link .heightMin} and {@link .heightMax} for configuration
@@ -78,11 +73,6 @@ declare class FirstPersonControls extends Controls<{}> {
7873
*/
7974
constructor(object: Camera, domElement?: HTMLElement | SVGElement);
8075

81-
/**
82-
* Should be called if the application window is resized.
83-
*/
84-
handleResize(): void;
85-
8676
/**
8777
* Ensures the controls orient the camera towards the defined target position.
8878
* @param vector A vector representing the target position.
@@ -96,6 +86,11 @@ declare class FirstPersonControls extends Controls<{}> {
9686
* @param z The z component of the world space position.
9787
*/
9888
lookAt(x: number, y: number, z: number): this;
89+
90+
/**
91+
* @deprecated The controls now handle resize internally.
92+
*/
93+
handleResize(): void;
9994
}
10095

10196
export { FirstPersonControls };

types/three/examples/jsm/controls/TransformControls.d.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ export interface TransformControlsEventMap {
3838
"showX-changed": { value: unknown };
3939
"showY-changed": { value: unknown };
4040
"showZ-changed": { value: unknown };
41+
"showXY-changed": { value: unknown };
42+
"showYZ-changed": { value: unknown };
43+
"showXZ-changed": { value: unknown };
4144
"minX-changed": { value: unknown };
4245
"maxX-changed": { value: unknown };
4346
"minY-changed": { value: unknown };
@@ -128,6 +131,27 @@ declare class TransformControls extends Controls<TransformControlsEventMap> {
128131
*/
129132
showZ: boolean;
130133

134+
/**
135+
* Whether the xy-plane helper should be visible or not.
136+
*
137+
* @default true
138+
*/
139+
showXY: boolean;
140+
141+
/**
142+
* Whether the xy-plane helper should be visible or not.
143+
*
144+
* @default true
145+
*/
146+
showYZ: boolean;
147+
148+
/**
149+
* Whether the xy-plane helper should be visible or not.
150+
*
151+
* @default true
152+
*/
153+
showXZ: boolean;
154+
131155
/**
132156
* The minimum allowed X position during translation. Default is `-Infinity`.
133157
*/

types/three/examples/jsm/geometries/TextGeometry.d.ts

Lines changed: 43 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -3,115 +3,87 @@ import { ExtrudeGeometry, ExtrudeGeometryOptions, Shape } from "three";
33
import { Font } from "../loaders/FontLoader.js";
44

55
export interface TextGeometryParameters extends ExtrudeGeometryOptions {
6+
/**
7+
* The font.
8+
*/
69
font: Font;
710

811
/**
9-
* Size of the text
10-
* Expects a `Float`.
11-
* @defaultValue `100`
12+
* The text size.
13+
* @default 100
1214
*/
1315
size?: number | undefined;
1416

1517
/**
16-
* Thickness to extrude text.
17-
* Expects a `Float`.
18-
* @defaultValue `50`
18+
* Depth to extrude the shape.
19+
* @default 50
1920
*/
2021
depth?: number | undefined;
2122

2223
/**
23-
* @override
24-
* @defaultValue `12`
25-
*/
26-
curveSegments?: number | undefined;
27-
28-
/**
29-
* @defaultValue `false`
24+
* Whether to beveling to the shape or not.
25+
* @default false
3026
*/
3127
bevelEnabled?: boolean | undefined;
3228

3329
/**
34-
* How deep into text bevel goes.
35-
* Expects a `Float`.
36-
* @override
37-
* @defaultValue `10`
30+
* How deep into the original shape the bevel goes.
31+
* @default 10
3832
*/
3933
bevelThickness?: number | undefined;
4034

4135
/**
42-
* How far from text outline is bevel.
43-
* Expects a `Float`.
44-
* @override
45-
* @defaultValue `8`
36+
* Distance from the shape outline that the bevel extends.
37+
* @default 8
4638
*/
4739
bevelSize?: number | undefined;
4840

49-
/**
50-
* How far from text outline bevel starts.
51-
* Expects a `Float`.
52-
* @override
53-
* @defaultValue `0`
54-
*/
55-
bevelOffset?: number | undefined;
56-
57-
/**
58-
* @override
59-
* @defaultValue `3`
60-
*/
61-
bevelSegments?: number | undefined;
62-
6341
direction?: "ltr" | "rtl" | "tb" | undefined;
6442
}
6543

6644
/**
67-
* A class for generating text as a single geometry
68-
* @remarks
69-
* It is constructed by providing a string of text, and a set of parameters consisting of a loaded font and settings for the geometry's parent {@link THREE.ExtrudeGeometry | ExtrudeGeometry}
70-
* See the {@link THREE.FontLoader | FontLoader} page for additional details.
71-
* @example
72-
* ```typescript
45+
* A class for generating text as a single geometry. It is constructed by providing a string of text, and a set of
46+
* parameters consisting of a loaded font and extrude settings.
47+
*
48+
* See the {@link FontLoader} page for additional details.
49+
*
50+
* `TextGeometry` uses [typeface.json](http://gero3.github.io/facetype.js/) generated fonts.
51+
* Some existing fonts can be found located in `/examples/fonts`.
52+
*
53+
* ```js
7354
* const loader = new FontLoader();
74-
* loader.load('fonts/helvetiker_regular.typeface.json', function (font) {
75-
* const geometry = new TextGeometry('Hello three.js!', {
76-
* font: font,
77-
* size: 80,
78-
* height: 5,
79-
* curveSegments: 12,
80-
* bevelEnabled: true,
81-
* bevelThickness: 10,
82-
* bevelSize: 8,
83-
* bevelOffset: 0,
84-
* bevelSegments: 5
85-
* });
86-
* });
55+
* const font = await loader.loadAsync( 'fonts/helvetiker_regular.typeface.json' );
56+
* const geometry = new TextGeometry( 'Hello three.js!', {
57+
* font: font,
58+
* size: 80,
59+
* depth: 5,
60+
* curveSegments: 12
61+
* } );
8762
* ```
88-
* @see Example: {@link https://threejs.org/examples/#webgl_geometry_text | geometry / text }
89-
* @see {@link https://threejs.org/docs/index.html#api/en/C:/rafaelsc/Source/threejs/three.js/docs/examples/en/geometries/TextGeometry | Official Documentation}
90-
* @see {@link https://github.com/mrdoob/three.js/blob/master/examples/jsm/geometries/TextGeometry.js | Source}
63+
*
64+
* @augments ExtrudeGeometry
65+
* @three_import import { TextGeometry } from 'three/addons/geometries/TextGeometry.js';
9166
*/
92-
export class TextGeometry extends ExtrudeGeometry {
67+
declare class TextGeometry extends ExtrudeGeometry {
9368
/**
94-
* Create a new instance of {@link TextGeometry}
95-
* @param text The text that needs to be shown.
96-
* @param parameters Object that can contain the following parameters. @see {@link TextGeometryParameters} for defaults.
69+
* Constructs a new text geometry.
70+
*
71+
* @param {string} text - The text that should be transformed into a geometry.
72+
* @param {TextGeometry~Options} [parameters] - The text settings.
9773
*/
9874
constructor(text: string, parameters?: TextGeometryParameters);
9975

10076
/**
101-
* A Read-only _string_ to check if `this` object type.
102-
* @remarks Sub-classes will update this value.
103-
* @defaultValue `TextGeometry`
104-
*/
105-
override readonly type: string | "TextGeometry";
106-
107-
/**
108-
* An object with a property for each of the constructor parameters.
109-
* @remarks Any modification after instantiation does not change the geometry.
77+
* Holds the constructor parameters that have been
78+
* used to generate the geometry. Any modification
79+
* after instantiation does not change the geometry.
80+
*
81+
* @type {Object}
11082
*/
11183
readonly parameters: {
11284
readonly shapes: Shape | Shape[];
11385
readonly options: TextGeometryParameters;
11486
};
11587
}
11688

117-
export { TextGeometry as TextBufferGeometry };
89+
export { TextGeometry };
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { InstancedMesh, ShaderMaterial, SphereGeometry } from "three";
2+
import { LightProbeGrid } from "../lighting/LightProbeGrid.js";
3+
4+
declare class LightProbeGridHelper extends InstancedMesh<SphereGeometry, ShaderMaterial> {
5+
probes: LightProbeGrid;
6+
7+
constructor(probes: LightProbeGrid, sphereSize?: number);
8+
9+
update(): void;
10+
}
11+
12+
export { LightProbeGridHelper };
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Tab, TabEventMap } from "./ui/Tab.js";
2+
3+
export interface ExtensionEventMap extends TabEventMap {}
4+
5+
export class Extension<TEventMap extends ExtensionEventMap = ExtensionEventMap> extends Tab<TEventMap> {
6+
readonly isExtension: boolean;
7+
8+
constructor(name: string);
9+
}
Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,29 @@
1-
import { RendererInspector } from "./RendererInspector.js";
1+
import { TSLGraphEditor } from "./extensions/tsl-graph/TSLGraphEditor.js";
2+
import { RendererInspector, RendererInspectorEventMap } from "./RendererInspector.js";
23
import { ParametersGroup } from "./tabs/Parameters.js";
4+
import { Tab } from "./ui/Tab.js";
35

4-
declare class Inspector extends RendererInspector {
6+
export interface InspectorEventMap extends RendererInspectorEventMap {
7+
resize: {};
8+
}
9+
10+
declare class Inspector extends RendererInspector<InspectorEventMap> {
511
createParameters(name: string): ParametersGroup;
612

713
get domElement(): HTMLDivElement;
14+
15+
onExtension(name: "TSL Graph", callback: (extension: TSLGraphEditor) => void): this;
16+
17+
hide(): void;
18+
show(): void;
19+
20+
getSize(): { width: number; height: number };
21+
22+
setActiveTab(tab: Tab): this;
23+
addTab(tab: Tab): this;
24+
removeTab(tab: Tab): this;
25+
26+
setActiveExtension(name: "TSL Graph", value: boolean): this;
827
}
928

1029
export { Inspector };
Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
import { InspectorBase } from "three/webgpu";
1+
import { InspectorBase, InspectorBaseEventMap } from "three/webgpu";
22

3-
export class RendererInspector extends InspectorBase {
3+
export interface RendererInspectorEventMap extends InspectorBaseEventMap {
4+
}
5+
6+
export class RendererInspector<TEventMap extends RendererInspectorEventMap = RendererInspectorEventMap>
7+
extends InspectorBase<TEventMap>
8+
{
49
}

0 commit comments

Comments
 (0)