Skip to content

Commit 5b6940b

Browse files
authored
🤖 Merge PR DefinitelyTyped#73995 [three] r181 by @Methuselah96
1 parent bc8f1ae commit 5b6940b

File tree

273 files changed

+2582
-1509
lines changed

Some content is hidden

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

273 files changed

+2582
-1509
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ export interface TextGeometryParameters extends ExtrudeGeometryOptions {
5959
* @defaultValue `3`
6060
*/
6161
bevelSegments?: number | undefined;
62+
63+
direction?: "ltr" | "rtl" | "tb" | undefined;
6264
}
6365

6466
/**
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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 };
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import { InspectorBase } from "three/webgpu";
2+
3+
export class RendererInspector extends InspectorBase {
4+
}
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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 };
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export class Tab {
2+
constructor(title: string);
3+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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 };
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
import { Camera, Frustum, Mesh, Object3D, Scene, Vector3 } from "three";
1+
import { Camera, Object3D, Scene, Vector3 } from "three";
22

3-
export class SelectionBox {
4-
constructor(camera: Camera, scene: Scene, deep?: number);
3+
declare class SelectionBox {
54
camera: Camera;
6-
collection: Mesh[];
7-
deep: number;
8-
endPoint: Vector3;
95
scene: Scene;
106
startPoint: Vector3;
7+
endPoint: Vector3;
8+
collection: Object3D[];
119
instances: Record<string, number[]>;
10+
batches: Record<string, number[]>;
11+
deep: number;
12+
13+
constructor(camera: Camera, scene: Scene, deep?: number);
1214

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[];
1616
}
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
import { ShaderNodeObject } from "three/tsl";
21
import { Lighting } from "three/webgpu";
32
import { Light } from "../../../src/lights/Light.js";
43
import TiledLightsNode from "../tsl/lighting/TiledLightsNode.js";
54

65
export class TiledLighting extends Lighting {
76
constructor();
87

9-
createNode(lights?: Light[]): ShaderNodeObject<TiledLightsNode>;
8+
createNode(lights?: Light[]): TiledLightsNode;
109
}

types/three/examples/jsm/loaders/FontLoader.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,5 +37,5 @@ export class Font {
3737

3838
constructor(data: FontData);
3939

40-
generateShapes(text: string, size?: number): Shape[];
40+
generateShapes(text: string, size?: number, direction?: "ltr" | "rtl" | "tb"): Shape[];
4141
}

0 commit comments

Comments
 (0)