@ntf/math 1.4.1 → 1.4.3
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.
- package/dist/index.d.mts +741 -727
- package/dist/index.d.ts +741 -727
- package/dist/index.js +1 -3204
- package/dist/index.mjs +1 -3181
- package/package.json +6 -9
package/dist/index.d.mts
CHANGED
|
@@ -1,201 +1,206 @@
|
|
|
1
|
-
import { IToString, NodeJSCustomInspect
|
|
1
|
+
import { FixedArray, IToString, NodeJSCustomInspect } from "@ntf/types";
|
|
2
2
|
|
|
3
|
+
//#region source/geometry/object.d.ts
|
|
3
4
|
interface IGeometryObject extends IToString {
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
readonly area: number;
|
|
6
|
+
readonly perimeter: number;
|
|
6
7
|
}
|
|
7
|
-
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region source/geometry/size.d.ts
|
|
8
10
|
interface ISize {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
11
13
|
}
|
|
12
14
|
interface IToSize {
|
|
13
|
-
|
|
15
|
+
toSize(): SizeLike;
|
|
14
16
|
}
|
|
15
17
|
type SizeArray = [number, number];
|
|
16
18
|
type SizeString = `${number}x${number}`;
|
|
17
19
|
type SizeLike = ISize | SizeArray | SizeString | number | IToSize;
|
|
18
20
|
type SizeArguments = [size: SizeLike] | SizeArray;
|
|
19
21
|
declare class Size implements ISize, IGeometryObject, IToVec2 {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
get aspectRatio(): number;
|
|
25
|
+
get area(): number;
|
|
26
|
+
get perimeter(): number;
|
|
27
|
+
static resolve(a: unknown): Size;
|
|
28
|
+
static resolveArgs(args: SizeArguments): Size;
|
|
29
|
+
static cast(a: unknown): Size | undefined;
|
|
30
|
+
static is(a: unknown): a is SizeLike;
|
|
31
|
+
constructor(width: number, height: number);
|
|
32
|
+
toArray(): SizeArray;
|
|
33
|
+
toString(): SizeString;
|
|
34
|
+
get [Symbol.toStringTag](): string;
|
|
35
|
+
[NodeJSCustomInspect](): string;
|
|
36
|
+
toJSON(): ISize;
|
|
37
|
+
clone(): Size;
|
|
38
|
+
equals(size: SizeLike): boolean;
|
|
39
|
+
equals(width: number, height: number): boolean;
|
|
40
|
+
toVec2(): Vec2Like;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region source/geometry/circle.d.ts
|
|
41
44
|
interface ICircle extends IVec2 {
|
|
42
|
-
|
|
45
|
+
radius: number;
|
|
43
46
|
}
|
|
44
47
|
interface IToCircle {
|
|
45
|
-
|
|
48
|
+
toCircle(): CircleLike;
|
|
46
49
|
}
|
|
47
50
|
type CircleArray = [...Vec2Array, number];
|
|
48
51
|
type CircleString = `${Vec2String}|${number}`;
|
|
49
52
|
type CircleLike = ICircle | CircleArray | CircleString | IToCircle;
|
|
50
53
|
type CircleArguments = [circle: CircleLike] | [position: Vec2Like, radius: number] | CircleArray;
|
|
51
54
|
declare class Circle implements ICircle, IGeometryObject, IToVec2 {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
55
|
+
radius: number;
|
|
56
|
+
get perimeter(): number;
|
|
57
|
+
get area(): number;
|
|
58
|
+
position: Vec2;
|
|
59
|
+
get x(): number;
|
|
60
|
+
set x(val: number);
|
|
61
|
+
get y(): number;
|
|
62
|
+
set y(val: number);
|
|
63
|
+
get w(): number;
|
|
64
|
+
set w(val: number);
|
|
65
|
+
static resolve(a: unknown): Circle;
|
|
66
|
+
static resolveArgs(args: CircleArguments): Circle;
|
|
67
|
+
static cast(a: unknown): Circle | undefined;
|
|
68
|
+
static is(a: unknown): a is CircleLike;
|
|
69
|
+
constructor(position: Vec2Like, radius: number);
|
|
70
|
+
toArray(): CircleArray;
|
|
71
|
+
toJSON(): ICircle;
|
|
72
|
+
toString(): CircleString;
|
|
73
|
+
get [Symbol.toStringTag](): string;
|
|
74
|
+
[NodeJSCustomInspect](): string;
|
|
75
|
+
clone(): Circle;
|
|
76
|
+
toVec2(): Vec2Like;
|
|
77
|
+
equals(circle: CircleLike): boolean;
|
|
78
|
+
equals(x: number, y: number, radius: number): boolean;
|
|
79
|
+
equals(position: Vec2Like, radius: number): boolean;
|
|
80
|
+
inside(circle: CircleLike): boolean;
|
|
81
|
+
inside(x: number, y: number, radius: number): boolean;
|
|
82
|
+
inside(position: Vec2Like, radius: number): boolean;
|
|
83
|
+
insidePoint(point: Vec2Like): boolean;
|
|
84
|
+
insidePoint(x: number, y: number): boolean;
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region source/geometry/rectangle.d.ts
|
|
88
|
+
interface IRectangle extends IVec2, ISize {}
|
|
86
89
|
interface IToRectangle {
|
|
87
|
-
|
|
90
|
+
toRectangle(): RectangleLike;
|
|
88
91
|
}
|
|
89
92
|
type RectangleArray = [...Vec2Array, ...SizeArray];
|
|
90
93
|
type RectangleString = `${Vec2String}|${SizeString}`;
|
|
91
94
|
type RectangleLike = IRectangle | RectangleArray | RectangleString | IToRectangle;
|
|
92
95
|
type RectangleArguments = [rectangle: RectangleLike] | [position: Vec2Like, size: SizeLike] | RectangleArray;
|
|
93
96
|
declare class Rectangle implements IRectangle, IGeometryObject, IToBoundingBox, IToVec2, IToSize {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
97
|
+
position: Vec2;
|
|
98
|
+
size: Size;
|
|
99
|
+
get area(): number;
|
|
100
|
+
get perimeter(): number;
|
|
101
|
+
get x(): number;
|
|
102
|
+
set x(val: number);
|
|
103
|
+
get y(): number;
|
|
104
|
+
set y(val: number);
|
|
105
|
+
get w(): number;
|
|
106
|
+
set w(val: number);
|
|
107
|
+
get width(): number;
|
|
108
|
+
set width(val: number);
|
|
109
|
+
get height(): number;
|
|
110
|
+
set height(val: number);
|
|
111
|
+
static resolve(a: unknown): Rectangle;
|
|
112
|
+
static resolveArgs(args: RectangleArguments): Rectangle;
|
|
113
|
+
static cast(a: unknown): Rectangle | undefined;
|
|
114
|
+
static is(a: unknown): a is RectangleLike;
|
|
115
|
+
constructor(pos: Vec2Like, size: SizeLike);
|
|
116
|
+
toArray(w?: boolean): RectangleArray;
|
|
117
|
+
toString(w?: boolean): RectangleString;
|
|
118
|
+
get [Symbol.toStringTag](): string;
|
|
119
|
+
[NodeJSCustomInspect](): string;
|
|
120
|
+
toJSON(): IRectangle;
|
|
121
|
+
toBoundingBox(): BoundingBoxLike;
|
|
122
|
+
toVec2(): Vec2Like;
|
|
123
|
+
toSize(): SizeLike;
|
|
124
|
+
clone(): Rectangle;
|
|
125
|
+
equals(rectangle: RectangleLike): boolean;
|
|
126
|
+
equals(position: Vec2Like, size: SizeLike): boolean;
|
|
127
|
+
equals(x: number, y: number, width: number, height: number): boolean;
|
|
128
|
+
}
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region source/geometry/bbox.d.ts
|
|
127
131
|
interface IBoundingBox {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
+
left: number;
|
|
133
|
+
right: number;
|
|
134
|
+
top: number;
|
|
135
|
+
bottom: number;
|
|
132
136
|
}
|
|
133
137
|
interface IToBoundingBox {
|
|
134
|
-
|
|
138
|
+
toBoundingBox(): BoundingBoxLike;
|
|
135
139
|
}
|
|
136
140
|
type BoundingBoxArray = [number, number, number, number];
|
|
137
141
|
type BoundingBoxString = `${number},${number},${number},${number}`;
|
|
138
|
-
type BoundingBoxLike = IBoundingBox | BoundingBoxArray | BoundingBoxString | IToBoundingBox;
|
|
142
|
+
type BoundingBoxLike = IBoundingBox | BoundingBoxArray | BoundingBoxString | IToBoundingBox | number;
|
|
139
143
|
type BoundingBoxArgs = [bbox: BoundingBoxLike] | BoundingBoxArray;
|
|
140
144
|
declare class BoundingBox implements IBoundingBox, IRectangle, IToRectangle, IToString {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
}
|
|
178
|
-
|
|
145
|
+
left: number;
|
|
146
|
+
right: number;
|
|
147
|
+
top: number;
|
|
148
|
+
bottom: number;
|
|
149
|
+
get width(): number;
|
|
150
|
+
set width(val: number);
|
|
151
|
+
get height(): number;
|
|
152
|
+
set height(val: number);
|
|
153
|
+
get x(): number;
|
|
154
|
+
set x(x: number);
|
|
155
|
+
get y(): number;
|
|
156
|
+
set y(y: number);
|
|
157
|
+
w: number;
|
|
158
|
+
static resolve(a: unknown): BoundingBox;
|
|
159
|
+
static resolveArgs(args: BoundingBoxArgs): BoundingBox;
|
|
160
|
+
static cast(a: unknown): BoundingBox | undefined;
|
|
161
|
+
static is(a: unknown): a is BoundingBoxLike;
|
|
162
|
+
constructor(left: number, right: number, top: number, bottom: number);
|
|
163
|
+
toArray(): BoundingBoxArray;
|
|
164
|
+
toString(): BoundingBoxString;
|
|
165
|
+
get [Symbol.toStringTag](): string;
|
|
166
|
+
[NodeJSCustomInspect](): string;
|
|
167
|
+
toJSON(): IBoundingBox;
|
|
168
|
+
clone(): BoundingBox;
|
|
169
|
+
equals(bbox: BoundingBoxLike): boolean;
|
|
170
|
+
equals(left: number, right: number, top: number, bottom: number): boolean;
|
|
171
|
+
toSize(): SizeLike;
|
|
172
|
+
toVec2(): Vec2Like;
|
|
173
|
+
toRectangle(): RectangleLike;
|
|
174
|
+
inside(bbox: BoundingBoxLike): boolean;
|
|
175
|
+
inside(left: number, right: number, top: number, bottom: number): boolean;
|
|
176
|
+
insidePoint(point: Vec2Like): boolean;
|
|
177
|
+
insidePoint(x: number, y: number): boolean;
|
|
178
|
+
insideCircle(circle: CircleLike): boolean;
|
|
179
|
+
insideCircle(x: number, y: number, radius: number): boolean;
|
|
180
|
+
insideCircle(position: Vec2Like, radius: number): boolean;
|
|
181
|
+
}
|
|
182
|
+
//#endregion
|
|
183
|
+
//#region source/matrices/mat4.d.ts
|
|
179
184
|
interface IMat4 {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
185
|
+
m00: number;
|
|
186
|
+
m01: number;
|
|
187
|
+
m02: number;
|
|
188
|
+
m03: number;
|
|
189
|
+
m10: number;
|
|
190
|
+
m11: number;
|
|
191
|
+
m12: number;
|
|
192
|
+
m13: number;
|
|
193
|
+
m20: number;
|
|
194
|
+
m21: number;
|
|
195
|
+
m22: number;
|
|
196
|
+
m23: number;
|
|
197
|
+
m30: number;
|
|
198
|
+
m31: number;
|
|
199
|
+
m32: number;
|
|
200
|
+
m33: number;
|
|
196
201
|
}
|
|
197
202
|
interface IToMat4 {
|
|
198
|
-
|
|
203
|
+
toMat4(): Mat4Like;
|
|
199
204
|
}
|
|
200
205
|
type Mat4Array = [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number];
|
|
201
206
|
type Mat4NestedArray = [[number, number, number, number], [number, number, number, number], [number, number, number, number], [number, number, number, number]];
|
|
@@ -203,91 +208,92 @@ type Mat4String = `${number},${number},${number},${number},${number},${number},$
|
|
|
203
208
|
type Mat4Like = IMat4 | Mat4Array | Mat4NestedArray | Mat4String | number | IToMat4;
|
|
204
209
|
type Mat4Arguments = [mat: Mat4Like] | Mat4Array;
|
|
205
210
|
declare class Mat4 implements IMat4, IToMat3, IToString {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
|
|
211
|
+
protected _raw: Mat4Array;
|
|
212
|
+
get m00(): number;
|
|
213
|
+
set m00(val: number);
|
|
214
|
+
get m01(): number;
|
|
215
|
+
set m01(val: number);
|
|
216
|
+
get m02(): number;
|
|
217
|
+
set m02(val: number);
|
|
218
|
+
get m03(): number;
|
|
219
|
+
set m03(val: number);
|
|
220
|
+
get m10(): number;
|
|
221
|
+
set m10(val: number);
|
|
222
|
+
get m11(): number;
|
|
223
|
+
set m11(val: number);
|
|
224
|
+
get m12(): number;
|
|
225
|
+
set m12(val: number);
|
|
226
|
+
get m13(): number;
|
|
227
|
+
set m13(val: number);
|
|
228
|
+
get m20(): number;
|
|
229
|
+
set m20(val: number);
|
|
230
|
+
get m21(): number;
|
|
231
|
+
set m21(val: number);
|
|
232
|
+
get m22(): number;
|
|
233
|
+
set m22(val: number);
|
|
234
|
+
get m23(): number;
|
|
235
|
+
set m23(val: number);
|
|
236
|
+
get m30(): number;
|
|
237
|
+
set m30(val: number);
|
|
238
|
+
get m31(): number;
|
|
239
|
+
set m31(val: number);
|
|
240
|
+
get m32(): number;
|
|
241
|
+
set m32(val: number);
|
|
242
|
+
get m33(): number;
|
|
243
|
+
set m33(val: number);
|
|
244
|
+
static resolve(a: unknown): Mat4;
|
|
245
|
+
static resolveArgs(args: Mat4Arguments): Mat4;
|
|
246
|
+
static cast(a: unknown): Mat4 | undefined;
|
|
247
|
+
static is(a: unknown): a is Mat4Like;
|
|
248
|
+
static orthographic(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
|
|
249
|
+
static orthographic(bbox: BoundingBoxLike, near: number, far: number): Mat4;
|
|
250
|
+
static perspective(fov: number, aspect: number, near: number, far: number): Mat4;
|
|
251
|
+
static pointAt(position: Vec3Like, target: Vec3Like, up: Vec3Like): Mat4;
|
|
252
|
+
constructor(init?: Mat4Array);
|
|
253
|
+
toArray(): Mat4Array;
|
|
254
|
+
toNestetArray(): Mat4NestedArray;
|
|
255
|
+
toJSON(): IMat4;
|
|
256
|
+
toString(): Mat4String;
|
|
257
|
+
get [Symbol.toStringTag](): string;
|
|
258
|
+
[NodeJSCustomInspect](): string;
|
|
259
|
+
clone(): Mat4;
|
|
260
|
+
equals(mat: Mat4Like): boolean;
|
|
261
|
+
equals(...mat: Mat4Array): boolean;
|
|
262
|
+
add(mat: Mat4Like): Mat4;
|
|
263
|
+
add(...mat: Mat4Array): Mat4;
|
|
264
|
+
subtract(mat: Mat4Like): Mat4;
|
|
265
|
+
subtract(...mat: Mat4Array): Mat4;
|
|
266
|
+
multiply(mat: Mat4Like): Mat4;
|
|
267
|
+
multiply(...mat: Mat4Array): Mat4;
|
|
268
|
+
multiply(scalar: number): Mat4;
|
|
269
|
+
multiply(vec: Vec3Like): Vec3;
|
|
270
|
+
translate(x: number, y: number, z: number): Mat4;
|
|
271
|
+
translate(vec: Vec3Like): Mat4;
|
|
272
|
+
rotateX(angle: number): Mat4;
|
|
273
|
+
rotateY(angle: number): Mat4;
|
|
274
|
+
rotateZ(angle: number): Mat4;
|
|
275
|
+
rotate(x: number, y: number, z: number): Mat4;
|
|
276
|
+
rotate(vec: Vec3Like): Mat4;
|
|
277
|
+
scale(x: number, y: number, z: number): Mat4;
|
|
278
|
+
scale(vec: Vec3Like): Mat4;
|
|
279
|
+
inverse(): Mat4;
|
|
280
|
+
toMat3(): Mat3Like;
|
|
281
|
+
}
|
|
282
|
+
//#endregion
|
|
283
|
+
//#region source/matrices/mat3.d.ts
|
|
278
284
|
interface IMat3 {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
285
|
+
m00: number;
|
|
286
|
+
m01: number;
|
|
287
|
+
m02: number;
|
|
288
|
+
m10: number;
|
|
289
|
+
m11: number;
|
|
290
|
+
m12: number;
|
|
291
|
+
m20: number;
|
|
292
|
+
m21: number;
|
|
293
|
+
m22: number;
|
|
288
294
|
}
|
|
289
295
|
interface IToMat3 {
|
|
290
|
-
|
|
296
|
+
toMat3(): Mat3Like;
|
|
291
297
|
}
|
|
292
298
|
type Mat3Array = [number, number, number, number, number, number, number, number, number];
|
|
293
299
|
type Mat3NestedArray = [[number, number, number], [number, number, number], [number, number, number]];
|
|
@@ -295,196 +301,209 @@ type Mat3String = `${number},${number},${number},${number},${number},${number},$
|
|
|
295
301
|
type Mat3Like = IMat3 | Mat3Array | Mat3NestedArray | Mat3String | number | IToMat3;
|
|
296
302
|
type Mat3Arguments = [mat: Mat3Like] | Mat3Array;
|
|
297
303
|
declare class Mat3 implements IMat3, IToMat4, IToString {
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}
|
|
348
|
-
|
|
304
|
+
protected _raw: Mat3Array;
|
|
305
|
+
get m00(): number;
|
|
306
|
+
set m00(val: number);
|
|
307
|
+
get m01(): number;
|
|
308
|
+
set m01(val: number);
|
|
309
|
+
get m02(): number;
|
|
310
|
+
set m02(val: number);
|
|
311
|
+
get m10(): number;
|
|
312
|
+
set m10(val: number);
|
|
313
|
+
get m11(): number;
|
|
314
|
+
set m11(val: number);
|
|
315
|
+
get m12(): number;
|
|
316
|
+
set m12(val: number);
|
|
317
|
+
get m20(): number;
|
|
318
|
+
set m20(val: number);
|
|
319
|
+
get m21(): number;
|
|
320
|
+
set m21(val: number);
|
|
321
|
+
get m22(): number;
|
|
322
|
+
set m22(val: number);
|
|
323
|
+
static resolve(a: unknown): Mat3;
|
|
324
|
+
static resolveArgs(args: Mat3Arguments): Mat3;
|
|
325
|
+
static cast(a: unknown): Mat3 | undefined;
|
|
326
|
+
static is(a: unknown): a is Mat3Like;
|
|
327
|
+
static projection(width: number, height: number): Mat3;
|
|
328
|
+
constructor(init?: Mat3Array);
|
|
329
|
+
toArray(): Mat3Array;
|
|
330
|
+
toNestetArray(): Mat3NestedArray;
|
|
331
|
+
toJSON(): IMat3;
|
|
332
|
+
toString(): Mat3String;
|
|
333
|
+
get [Symbol.toStringTag](): string;
|
|
334
|
+
[NodeJSCustomInspect](): string;
|
|
335
|
+
clone(): Mat3;
|
|
336
|
+
equals(mat: Mat3Like): boolean;
|
|
337
|
+
equals(...mat: Mat3Array): boolean;
|
|
338
|
+
add(mat: Mat3Like): Mat3;
|
|
339
|
+
add(...mat: Mat3Array): Mat3;
|
|
340
|
+
subtract(mat: Mat3Like): Mat3;
|
|
341
|
+
subtract(...mat: Mat3Array): Mat3;
|
|
342
|
+
multiply(mat: Mat3Like): Mat3;
|
|
343
|
+
multiply(...mat: Mat3Array): Mat3;
|
|
344
|
+
multiply(scalar: number): Mat3;
|
|
345
|
+
translate(x: number, y: number): Mat3;
|
|
346
|
+
translate(vec: Vec2Like): Mat3;
|
|
347
|
+
rotate(angle: number): Mat3;
|
|
348
|
+
scale(x: number, y: number): Mat3;
|
|
349
|
+
scale(vec: Vec2Like): Mat3;
|
|
350
|
+
determinant(): number;
|
|
351
|
+
inverse(): Mat3;
|
|
352
|
+
toMat4(): Mat4Like;
|
|
353
|
+
}
|
|
354
|
+
//#endregion
|
|
355
|
+
//#region source/algebra/quaternion.d.ts
|
|
349
356
|
interface IQuaternion {
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
357
|
+
w: number;
|
|
358
|
+
x: number;
|
|
359
|
+
y: number;
|
|
360
|
+
z: number;
|
|
354
361
|
}
|
|
355
362
|
interface IToQuaternion {
|
|
356
|
-
|
|
363
|
+
toQuaternion(): QuaternionLike;
|
|
357
364
|
}
|
|
358
365
|
type QuaternionArray = [number, number, number, number];
|
|
359
366
|
type QuaternionString = `${number} + ${number}i + ${number}j + ${number}k`;
|
|
360
|
-
type QuaternionLike = IQuaternion | QuaternionArray | QuaternionString | IToQuaternion;
|
|
367
|
+
type QuaternionLike = IQuaternion | QuaternionArray | QuaternionString | IToQuaternion | number;
|
|
361
368
|
type QuaternionArguments = QuaternionArray | [quaternion: QuaternionLike];
|
|
362
369
|
declare class Quaternion implements IToVec3, IToMat3, IToMat4, IToString {
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
}
|
|
411
|
-
|
|
370
|
+
w: number;
|
|
371
|
+
x: number;
|
|
372
|
+
y: number;
|
|
373
|
+
z: number;
|
|
374
|
+
static is(a: unknown): a is IQuaternion;
|
|
375
|
+
static resolve(a: unknown): Quaternion;
|
|
376
|
+
static resolveArgs(args: QuaternionArguments): Quaternion;
|
|
377
|
+
static cast(a: unknown): Quaternion | undefined;
|
|
378
|
+
static fromAxisAngle(axis: Vec3Like, angle: number): Quaternion;
|
|
379
|
+
static fromAxisAngle(x: number, y: number, z: number, angle: number): Quaternion;
|
|
380
|
+
static fromEuler(x: number, y: number, z: number): Quaternion;
|
|
381
|
+
static fromEuler(vec: Vec3Like): Quaternion;
|
|
382
|
+
static get zero(): Quaternion;
|
|
383
|
+
constructor(w: number, x: number, y: number, z: number);
|
|
384
|
+
toArray(): QuaternionArray;
|
|
385
|
+
toString(): QuaternionString;
|
|
386
|
+
get [Symbol.toStringTag](): string;
|
|
387
|
+
[NodeJSCustomInspect](): string;
|
|
388
|
+
toJSON(): IQuaternion;
|
|
389
|
+
clone(): Quaternion;
|
|
390
|
+
add(quaternion: QuaternionLike): Quaternion;
|
|
391
|
+
add(...quaternion: QuaternionArray): Quaternion;
|
|
392
|
+
offset(quaternion: QuaternionLike): this;
|
|
393
|
+
offset(...quaternion: QuaternionArray): this;
|
|
394
|
+
subtract(quaternion: QuaternionLike): Quaternion;
|
|
395
|
+
subtract(...quaternion: QuaternionArray): Quaternion;
|
|
396
|
+
negative(): Quaternion;
|
|
397
|
+
length(sqrt?: boolean): number;
|
|
398
|
+
normalize(): Quaternion;
|
|
399
|
+
multiply(quaternion: QuaternionLike): Quaternion;
|
|
400
|
+
multiply(...quaternion: QuaternionArray): Quaternion;
|
|
401
|
+
multiplyVector(x: number, y: number, z: number): Vec3;
|
|
402
|
+
multiplyVector(vec: Vec3Like): Vec3;
|
|
403
|
+
scale(scalar: number): Quaternion;
|
|
404
|
+
dot(quaternion: QuaternionLike): number;
|
|
405
|
+
dot(...quaternion: QuaternionArray): number;
|
|
406
|
+
inverse(): Quaternion;
|
|
407
|
+
divide(quaternion: QuaternionLike): Quaternion;
|
|
408
|
+
divide(...quaternion: QuaternionArray): Quaternion;
|
|
409
|
+
conjugate(): Quaternion;
|
|
410
|
+
exp(): Quaternion;
|
|
411
|
+
log(): Quaternion;
|
|
412
|
+
toVec3(): Vec3Like;
|
|
413
|
+
toAxisAngle(): Vec3;
|
|
414
|
+
toEuler(): Vec3;
|
|
415
|
+
toMat3(): Mat3Like;
|
|
416
|
+
toMat4(): Mat4Like;
|
|
417
|
+
}
|
|
418
|
+
//#endregion
|
|
419
|
+
//#region source/color/utils.d.ts
|
|
420
|
+
declare function numberToRGB(number: number): FixedArray<number, 3>;
|
|
421
|
+
declare function numberToRGBA(number: number): FixedArray<number, 4>;
|
|
422
|
+
type HexColorPrefix = "$" | "#" | "0x";
|
|
423
|
+
type HexColor = `${HexColorPrefix}${string}`;
|
|
424
|
+
declare function isHexNumber(hex: string): hex is HexColor;
|
|
425
|
+
declare function hasHexNumberAlpha(hex: string): boolean;
|
|
426
|
+
declare function hexNumberToRGB(hex: HexColor): FixedArray<number, 3>;
|
|
427
|
+
declare function hexNumberToRGBA(hex: HexColor): FixedArray<number, 4>;
|
|
428
|
+
//#endregion
|
|
429
|
+
//#region source/color/rgb.d.ts
|
|
412
430
|
interface IRGB {
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
431
|
+
red: number;
|
|
432
|
+
green: number;
|
|
433
|
+
blue: number;
|
|
416
434
|
}
|
|
417
435
|
interface IToRGB {
|
|
418
|
-
|
|
436
|
+
toRGB(): RGBLike;
|
|
419
437
|
}
|
|
420
438
|
type RGBArray = [number, number, number];
|
|
421
439
|
type RGBString = `rgb(${number},${number},${number})`;
|
|
422
440
|
type RGBLike = IRGB | RGBArray | RGBString | IToRGB;
|
|
423
441
|
type RGBArguments = [rgb: RGBLike] | RGBArray;
|
|
424
442
|
interface IRBBA extends IRGB {
|
|
425
|
-
|
|
443
|
+
alpha: number;
|
|
426
444
|
}
|
|
427
445
|
interface IToRGBA {
|
|
428
|
-
|
|
446
|
+
toRGBA(): RGBALike;
|
|
429
447
|
}
|
|
430
448
|
type RGBAArray = [number, number, number, number];
|
|
431
449
|
type RGBAString = `rgba(${number},${number},${number},${number})`;
|
|
432
|
-
type RGBALike = IRBBA | RGBAArray | RGBAString | IToRGBA;
|
|
450
|
+
type RGBALike = IRBBA | RGBAArray | RGBAString | IToRGBA | HexColor;
|
|
433
451
|
type RGBAArguments = [rgba: RGBALike] | RGBAArray;
|
|
434
452
|
type IAnyRGB = IRGB | IRBBA;
|
|
435
453
|
type AnyRGBArray = RGBArray | RGBAArray;
|
|
436
454
|
type AnyRGBString = RGBString | RGBAString;
|
|
437
455
|
type IAnyToRGB = IToRGB | IToRGBA;
|
|
438
|
-
type AnyRGBLike = IAnyRGB | AnyRGBArray | AnyRGBString | number | IAnyToRGB;
|
|
456
|
+
type AnyRGBLike = IAnyRGB | AnyRGBArray | AnyRGBString | number | IAnyToRGB | HexColor;
|
|
439
457
|
type AnyRGBArguments = RGBArguments | RGBAArguments;
|
|
440
458
|
declare class RGBA implements IRBBA, IToVec2, IToVec3, IToHSL, IToHSLA, IToString {
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
}
|
|
470
|
-
|
|
459
|
+
private _red;
|
|
460
|
+
get red(): number;
|
|
461
|
+
set red(val: number);
|
|
462
|
+
private _green;
|
|
463
|
+
get green(): number;
|
|
464
|
+
set green(val: number);
|
|
465
|
+
private _blue;
|
|
466
|
+
get blue(): number;
|
|
467
|
+
set blue(val: number);
|
|
468
|
+
private _alpha;
|
|
469
|
+
get alpha(): number;
|
|
470
|
+
set alpha(val: number);
|
|
471
|
+
static resolve(a: unknown): RGBA;
|
|
472
|
+
static resolveArgs(args: AnyRGBArguments): RGBA;
|
|
473
|
+
static cast(a: unknown): RGBA | undefined;
|
|
474
|
+
static is(a: unknown): a is AnyRGBLike;
|
|
475
|
+
constructor(red: number, green: number, blue: number, alpha?: number);
|
|
476
|
+
toArray(withAlpha?: boolean): AnyRGBArray;
|
|
477
|
+
toJSON(withAlpha?: boolean): IAnyRGB;
|
|
478
|
+
toString(withAlpha?: boolean): AnyRGBString;
|
|
479
|
+
get [Symbol.toStringTag](): string;
|
|
480
|
+
[NodeJSCustomInspect](): string;
|
|
481
|
+
toVec2(): Vec2Like;
|
|
482
|
+
toVec3(): Vec3Like;
|
|
483
|
+
toHSL(withAlpha?: false): HSLLike;
|
|
484
|
+
toHSL(withAlpha?: true): HSLALike;
|
|
485
|
+
toHSLA(): HSLALike;
|
|
486
|
+
invert(withAlpha?: boolean): RGBA;
|
|
487
|
+
}
|
|
488
|
+
//#endregion
|
|
489
|
+
//#region source/color/hsl.d.ts
|
|
471
490
|
interface IHSL {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
491
|
+
hue: number;
|
|
492
|
+
saturation: number;
|
|
493
|
+
luminace: number;
|
|
475
494
|
}
|
|
476
495
|
interface IToHSL {
|
|
477
|
-
|
|
496
|
+
toHSL(): HSLLike;
|
|
478
497
|
}
|
|
479
498
|
type HSLArray = [number, number, number];
|
|
480
499
|
type HSLString = `hsl(${number},${number},${number})`;
|
|
481
|
-
type HSLLike = IHSL | HSLArray | HSLString | IToHSL;
|
|
500
|
+
type HSLLike = IHSL | HSLArray | HSLString | IToHSL | HexColor;
|
|
482
501
|
type HSLArguments = HSLArray | [hsl: HSLLike];
|
|
483
502
|
interface IHSLA extends IHSL {
|
|
484
|
-
|
|
503
|
+
alpha: number;
|
|
485
504
|
}
|
|
486
505
|
interface IToHSLA {
|
|
487
|
-
|
|
506
|
+
toHSLA(): HSLALike;
|
|
488
507
|
}
|
|
489
508
|
type HSLAArray = [number, number, number, number];
|
|
490
509
|
type HSLAString = `hsla(${number},${number},${number},${number})`;
|
|
@@ -497,196 +516,200 @@ type IAnyToHSL = IToHSL | IToHSLA;
|
|
|
497
516
|
type AnyHSLLike = IAnyHSL | AnyHSLArray | AnyHSLString | number | IAnyToHSL;
|
|
498
517
|
type AnyHSLArguments = HSLArguments | HSLAArguments;
|
|
499
518
|
declare class HSLA implements IHSLA, IToRGB, IToRGBA, IToVec2, IToVec3, IToString {
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
}
|
|
529
|
-
|
|
519
|
+
private _hue;
|
|
520
|
+
get hue(): number;
|
|
521
|
+
set hue(val: number);
|
|
522
|
+
private _saturation;
|
|
523
|
+
get saturation(): number;
|
|
524
|
+
set saturation(val: number);
|
|
525
|
+
private _luminace;
|
|
526
|
+
get luminace(): number;
|
|
527
|
+
set luminace(val: number);
|
|
528
|
+
private _alpha;
|
|
529
|
+
get alpha(): number;
|
|
530
|
+
set alpha(val: number);
|
|
531
|
+
static resolve(a: unknown): HSLA;
|
|
532
|
+
static resolveArgs(args: AnyHSLArguments): HSLA;
|
|
533
|
+
static cast(a: unknown): HSLA | undefined;
|
|
534
|
+
static is(a: unknown): a is AnyHSLLike;
|
|
535
|
+
constructor(hue: number, saturation: number, luminace: number, alpha?: number);
|
|
536
|
+
toArray(withAlpha?: boolean): AnyHSLArray;
|
|
537
|
+
toJSON(withAlpha?: boolean): IAnyHSL;
|
|
538
|
+
toString(withAlpha?: boolean): AnyHSLString;
|
|
539
|
+
get [Symbol.toStringTag](): string;
|
|
540
|
+
[NodeJSCustomInspect](): string;
|
|
541
|
+
toRGB(withAlpha?: true): RGBALike;
|
|
542
|
+
toRGB(withAlpha?: false): RGBLike;
|
|
543
|
+
toRGBA(): RGBALike;
|
|
544
|
+
toVec2(): Vec2Like;
|
|
545
|
+
toVec3(): Vec3Like;
|
|
546
|
+
invert(withAlpha?: boolean): HSLA;
|
|
547
|
+
}
|
|
548
|
+
//#endregion
|
|
549
|
+
//#region source/vectors/vec3.d.ts
|
|
530
550
|
interface IVec3 extends IVec2 {
|
|
531
|
-
|
|
551
|
+
z: number;
|
|
532
552
|
}
|
|
533
553
|
interface IToVec3 {
|
|
534
|
-
|
|
554
|
+
toVec3(): Vec3Like;
|
|
535
555
|
}
|
|
536
556
|
type Vec3Array = [number, number, number] | [number, number, number, number];
|
|
537
557
|
type Vec3String = `${number},${number},${number}` | `${number},${number},${number};${number}`;
|
|
538
558
|
type Vec3Like = IVec3 | Vec3Array | Vec3String | number | IToVec3;
|
|
539
559
|
type Vec3Arguments = [Vec3Like] | [number, number, number];
|
|
540
560
|
declare class Vec3 implements IVec3, IToVec2, IToRGB, IToRGBA, IToHSL, IToHSLA, IToQuaternion, IToString {
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
}
|
|
599
|
-
|
|
561
|
+
x: number;
|
|
562
|
+
y: number;
|
|
563
|
+
z: number;
|
|
564
|
+
w: number;
|
|
565
|
+
static resolve(a: unknown): Vec3;
|
|
566
|
+
static cast(a: unknown): Vec3 | undefined;
|
|
567
|
+
static resolveArgs(args: Vec3Arguments): Vec3;
|
|
568
|
+
static is(a: unknown): a is Vec3Like;
|
|
569
|
+
static fromPoints(a: Vec3Like, b: Vec3Like): Vec3;
|
|
570
|
+
static clamp(value: Vec3Like, min: Vec3Like, max: Vec3Like): Vec3;
|
|
571
|
+
static intersectPlane(planeP: Vec3Like, planeN: Vec3Like, lineStart: Vec3Like, lineEnd: Vec3Like, t: number): Vec3;
|
|
572
|
+
static get zero(): Vec3;
|
|
573
|
+
static get one(): Vec3;
|
|
574
|
+
constructor(x: number, y: number, z: number, w?: number);
|
|
575
|
+
toArray(w?: boolean): Vec3Array;
|
|
576
|
+
toJSON(): IVec3;
|
|
577
|
+
toString(w?: boolean): Vec3String;
|
|
578
|
+
get [Symbol.toStringTag](): string;
|
|
579
|
+
[NodeJSCustomInspect](): string;
|
|
580
|
+
toVec2(): Vec2Like;
|
|
581
|
+
toRGB(): RGBLike;
|
|
582
|
+
toRGBA(): RGBALike;
|
|
583
|
+
toHSL(): HSLLike;
|
|
584
|
+
toHSLA(): HSLALike;
|
|
585
|
+
toQuaternion(): QuaternionLike;
|
|
586
|
+
clone(): Vec3;
|
|
587
|
+
equals(vec: Vec3Like): boolean;
|
|
588
|
+
equals(x: number, y: number, z: number): boolean;
|
|
589
|
+
setX(x: number): this;
|
|
590
|
+
setY(y: number): this;
|
|
591
|
+
setZ(z: number): this;
|
|
592
|
+
set(x: number, y: number, z: number): this;
|
|
593
|
+
set(vec: Vec3Like): this;
|
|
594
|
+
add(x: number, y: number, z: number): Vec3;
|
|
595
|
+
add(vec: Vec3Like): Vec3;
|
|
596
|
+
offset(x: number, y: number, z: number): this;
|
|
597
|
+
offset(vec: Vec3Like): this;
|
|
598
|
+
subtract(x: number, y: number, z: number): Vec3;
|
|
599
|
+
subtract(vec: Vec3Like): Vec3;
|
|
600
|
+
multiply(scalar: number): Vec3;
|
|
601
|
+
naiveMultiply(x: number, y: number, z: number): Vec3;
|
|
602
|
+
naiveMultiply(vec: Vec3Like): Vec3;
|
|
603
|
+
divide(x: number, y: number, z: number): Vec3;
|
|
604
|
+
divide(scalar: number): Vec3;
|
|
605
|
+
divide(vec: Vec3Like): Vec3;
|
|
606
|
+
dot(x: number, y: number, z: number): number;
|
|
607
|
+
dot(vec: Vec3Like): number;
|
|
608
|
+
cross(x: number, y: number, z: number): Vec3;
|
|
609
|
+
cross(vec: Vec3Like): Vec3;
|
|
610
|
+
distance(x: number, y: number, z: number): number;
|
|
611
|
+
distance(vec: Vec3Like): number;
|
|
612
|
+
distanceSquare(x: number, y: number, z: number): number;
|
|
613
|
+
distanceSquare(vec: Vec3Like): number;
|
|
614
|
+
length(): number;
|
|
615
|
+
normalize(): Vec3;
|
|
616
|
+
invert(): Vec3;
|
|
617
|
+
round(): Vec3;
|
|
618
|
+
}
|
|
619
|
+
//#endregion
|
|
620
|
+
//#region source/vectors/vec2.d.ts
|
|
600
621
|
interface IVec2 {
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
622
|
+
x: number;
|
|
623
|
+
y: number;
|
|
624
|
+
w: number;
|
|
604
625
|
}
|
|
605
626
|
interface IToVec2 {
|
|
606
|
-
|
|
627
|
+
toVec2(): Vec2Like;
|
|
607
628
|
}
|
|
608
629
|
type Vec2Array = [number, number] | [number, number, number];
|
|
609
630
|
type Vec2String = `${number},${number}` | `${number},${number};${number}`;
|
|
610
631
|
type Vec2Like = IVec2 | Vec2Array | Vec2String | number | IToVec2;
|
|
611
632
|
type Vec2Arguments = [Vec2Like] | [number, number];
|
|
612
633
|
declare class Vec2 implements IVec2, IToVec3, IToSize, IToRGB, IToRGBA, IToHSL, IToHSLA, IToString {
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
}
|
|
669
|
-
|
|
634
|
+
x: number;
|
|
635
|
+
y: number;
|
|
636
|
+
w: number;
|
|
637
|
+
static resolve(a: unknown): Vec2;
|
|
638
|
+
static cast(a: unknown): Vec2 | undefined;
|
|
639
|
+
static resolveArgs(args: Vec2Arguments): Vec2;
|
|
640
|
+
static is(a: unknown): a is Vec2Like;
|
|
641
|
+
static fromPoints(a: Vec2Like, b: Vec2Like): Vec2;
|
|
642
|
+
static clamp(value: Vec2Like, min: Vec2Like, max: Vec2Like): Vec2;
|
|
643
|
+
static get zero(): Vec2;
|
|
644
|
+
static get one(): Vec2;
|
|
645
|
+
constructor(x: number, y: number, w?: number);
|
|
646
|
+
toArray(w?: boolean): Vec2Array;
|
|
647
|
+
toJSON(): IVec2;
|
|
648
|
+
toString(w?: boolean): Vec2String;
|
|
649
|
+
get [Symbol.toStringTag](): string;
|
|
650
|
+
[NodeJSCustomInspect](): string;
|
|
651
|
+
toSize(): SizeLike;
|
|
652
|
+
toVec3(z?: number): Vec3Like;
|
|
653
|
+
toRGB(): RGBLike;
|
|
654
|
+
toRGBA(): RGBALike;
|
|
655
|
+
toHSL(): HSLLike;
|
|
656
|
+
toHSLA(): HSLALike;
|
|
657
|
+
clone(): Vec2;
|
|
658
|
+
equals(vec: Vec2Like): boolean;
|
|
659
|
+
equals(x: number, y: number): boolean;
|
|
660
|
+
setX(x: number): this;
|
|
661
|
+
setY(y: number): this;
|
|
662
|
+
setW(w: number): this;
|
|
663
|
+
set(x: number, y: number): this;
|
|
664
|
+
set(vec: Vec2Like): this;
|
|
665
|
+
add(x: number, y: number): Vec2;
|
|
666
|
+
add(vec: Vec2Like): Vec2;
|
|
667
|
+
offset(x: number, y: number): this;
|
|
668
|
+
offset(vec: Vec2Like): this;
|
|
669
|
+
subtract(x: number, y: number): Vec2;
|
|
670
|
+
subtract(vec: Vec2Like): Vec2;
|
|
671
|
+
multiply(scalar: number): Vec2;
|
|
672
|
+
naiveMultiply(x: number, y: number): Vec2;
|
|
673
|
+
naiveMultiply(vec: Vec2Like): Vec2;
|
|
674
|
+
divide(x: number, y: number): Vec2;
|
|
675
|
+
divide(scalar: number): Vec2;
|
|
676
|
+
divide(vec: Vec2Like): Vec2;
|
|
677
|
+
dot(x: number, y: number): number;
|
|
678
|
+
dot(vec: Vec2Like): number;
|
|
679
|
+
distance(x: number, y: number): number;
|
|
680
|
+
distance(vec: Vec2Like): number;
|
|
681
|
+
distanceSquare(x: number, y: number): number;
|
|
682
|
+
distanceSquare(vec: Vec2Like): number;
|
|
683
|
+
length(): number;
|
|
684
|
+
cartesianify(): Vec2;
|
|
685
|
+
polarify(): Vec2;
|
|
686
|
+
normalize(): Vec2;
|
|
687
|
+
invert(): Vec2;
|
|
688
|
+
round(): Vec2;
|
|
689
|
+
}
|
|
690
|
+
//#endregion
|
|
691
|
+
//#region source/algebra/function.d.ts
|
|
670
692
|
/**
|
|
671
693
|
* An abstract class of a mathematical function
|
|
672
694
|
* @template Input The amount of input values the function can use
|
|
673
695
|
*/
|
|
674
696
|
declare abstract class MathFunction<Input extends Array<number> = Array<number>> implements IToString {
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
}
|
|
689
|
-
|
|
697
|
+
/**
|
|
698
|
+
* Calculate y with input values
|
|
699
|
+
* @param args The input values
|
|
700
|
+
* @returns The y value from the input values
|
|
701
|
+
*/
|
|
702
|
+
abstract get(...args: Input): number;
|
|
703
|
+
/**
|
|
704
|
+
* Get the root points of this function
|
|
705
|
+
* @returns The root points, this can be an empty array if no root points have been found
|
|
706
|
+
*/
|
|
707
|
+
abstract roots(): Array<Vec2>;
|
|
708
|
+
abstract get [Symbol.toStringTag](): string;
|
|
709
|
+
abstract [NodeJSCustomInspect](): string;
|
|
710
|
+
}
|
|
711
|
+
//#endregion
|
|
712
|
+
//#region source/algebra/linear.d.ts
|
|
690
713
|
/**
|
|
691
714
|
* The string representation of a linear function
|
|
692
715
|
*/
|
|
@@ -695,34 +718,35 @@ type LinearFunctionString = `f(x) = ${number} * x ${"+" | "-"} ${number}` | `f(x
|
|
|
695
718
|
* A class that implements a linear function with `m`, `b` and `x`
|
|
696
719
|
*/
|
|
697
720
|
declare class LinearFunction extends MathFunction<[number]> {
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
}
|
|
725
|
-
|
|
721
|
+
/**
|
|
722
|
+
* The factor of the linear function
|
|
723
|
+
*/
|
|
724
|
+
m: number;
|
|
725
|
+
/**
|
|
726
|
+
* The height of the linear function
|
|
727
|
+
*/
|
|
728
|
+
b: number;
|
|
729
|
+
/**
|
|
730
|
+
* Create a linear function from two points
|
|
731
|
+
* @param a A point
|
|
732
|
+
* @param b A point
|
|
733
|
+
* @returns A linear function from two points
|
|
734
|
+
*/
|
|
735
|
+
static fromPoints(a: Vec2Like, b: Vec2Like): LinearFunction;
|
|
736
|
+
/**
|
|
737
|
+
* Create a linear function with a factor and height
|
|
738
|
+
* @param m The factor
|
|
739
|
+
* @param b The height
|
|
740
|
+
*/
|
|
741
|
+
constructor(m: number, b: number);
|
|
742
|
+
get(x: number): number;
|
|
743
|
+
roots(): Array<Vec2>;
|
|
744
|
+
toString(): LinearFunctionString;
|
|
745
|
+
get [Symbol.toStringTag](): string;
|
|
746
|
+
[NodeJSCustomInspect](): string;
|
|
747
|
+
}
|
|
748
|
+
//#endregion
|
|
749
|
+
//#region source/common/sign.d.ts
|
|
726
750
|
/**
|
|
727
751
|
* A type that represents the sign of a number
|
|
728
752
|
*/
|
|
@@ -732,7 +756,8 @@ type SignCharacter = "-" | "+";
|
|
|
732
756
|
* @param num A number
|
|
733
757
|
*/
|
|
734
758
|
declare function signCharacter(num: number | bigint): SignCharacter | undefined;
|
|
735
|
-
|
|
759
|
+
//#endregion
|
|
760
|
+
//#region source/algebra/quad.d.ts
|
|
736
761
|
/**
|
|
737
762
|
* The various types of how a quad function can be represented
|
|
738
763
|
*/
|
|
@@ -741,7 +766,7 @@ type QuadFunctionType = "standard";
|
|
|
741
766
|
* A typed map of each quad function representations
|
|
742
767
|
*/
|
|
743
768
|
type QuadFunctionString = {
|
|
744
|
-
|
|
769
|
+
"standard": `f(x) = ${number}x^2 ${SignCharacter} ${number}x ${SignCharacter} ${number}` | `f(x) = ${number}x^2 ${SignCharacter} ${number}x` | `f(x) = ${number}x^2`;
|
|
745
770
|
};
|
|
746
771
|
/**
|
|
747
772
|
* A string representation of a quad function
|
|
@@ -751,35 +776,34 @@ type QuadFunctionStrings = QuadFunctionString[QuadFunctionType];
|
|
|
751
776
|
* A class that implements a quad function with `a`, `b` and `c`
|
|
752
777
|
*/
|
|
753
778
|
declare class QuadFunction extends MathFunction<[number]> {
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
}
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
declare function numberToRGBA(number: number): FixedArray<number, 4>;
|
|
768
|
-
|
|
779
|
+
a: number;
|
|
780
|
+
b: number;
|
|
781
|
+
c: number;
|
|
782
|
+
static get(a: number, b: number, c: number, x: number): number;
|
|
783
|
+
constructor(a: number, b: number, c: number);
|
|
784
|
+
get(x: number): number;
|
|
785
|
+
roots(): Array<Vec2>;
|
|
786
|
+
toString<T extends QuadFunctionType>(type?: T): QuadFunctionString[T];
|
|
787
|
+
get [Symbol.toStringTag](): string;
|
|
788
|
+
[NodeJSCustomInspect](): string;
|
|
789
|
+
}
|
|
790
|
+
//#endregion
|
|
791
|
+
//#region source/common/error.d.ts
|
|
769
792
|
/**
|
|
770
793
|
* A error when a value wasn't able to be resolved to another type
|
|
771
794
|
*/
|
|
772
795
|
declare class ResolveError extends Error {
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
}
|
|
782
|
-
|
|
796
|
+
readonly target: string;
|
|
797
|
+
readonly value: unknown;
|
|
798
|
+
/**
|
|
799
|
+
* Create a resolve exception
|
|
800
|
+
* @param target The target type name
|
|
801
|
+
* @param value A value
|
|
802
|
+
*/
|
|
803
|
+
constructor(target: string, value: unknown);
|
|
804
|
+
}
|
|
805
|
+
//#endregion
|
|
806
|
+
//#region source/crypto/hash.d.ts
|
|
783
807
|
declare const DJB2_OFFSET = 5381n;
|
|
784
808
|
declare function djb2<V>(value: V): bigint;
|
|
785
809
|
declare const FNV1_OFFSET = 14695981039346656037n;
|
|
@@ -787,144 +811,134 @@ declare const FNV1_PRIME = 1099511628211n;
|
|
|
787
811
|
declare function fnv1<V>(value: V): bigint;
|
|
788
812
|
declare function sdbm<V>(value: V): bigint;
|
|
789
813
|
interface IHash extends IToString {
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
}
|
|
793
|
-
|
|
794
|
-
declare class MD2 implements IHash {
|
|
795
|
-
static readonly BLOCK_SIZE = 16;
|
|
796
|
-
private _data;
|
|
797
|
-
private _state;
|
|
798
|
-
private _checksum;
|
|
799
|
-
private _length;
|
|
800
|
-
constructor();
|
|
801
|
-
update(input: Uint8Array): this;
|
|
802
|
-
private _transform;
|
|
803
|
-
digest(): Uint8Array;
|
|
804
|
-
toString(): string;
|
|
805
|
-
get [Symbol.toStringTag](): string;
|
|
806
|
-
[NodeJSCustomInspect](): string;
|
|
814
|
+
update(input: Uint8Array): this;
|
|
815
|
+
digest(): Uint8Array;
|
|
807
816
|
}
|
|
808
|
-
|
|
817
|
+
//#endregion
|
|
818
|
+
//#region source/geometry/angle.d.ts
|
|
809
819
|
declare const MAX_ANGLE_DEGREE = 360;
|
|
810
820
|
declare const clampAngleDegree: (angle: number) => number;
|
|
811
821
|
declare const clampAngleRadian: (angle: number) => number;
|
|
812
822
|
declare const radianToDegree: (angle: number) => number;
|
|
813
823
|
declare const degreeToRadian: (angle: number) => number;
|
|
814
|
-
|
|
824
|
+
//#endregion
|
|
825
|
+
//#region source/geometry/triangle.d.ts
|
|
815
826
|
interface ITriangle extends IGeometryObject {
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
827
|
+
readonly a: number;
|
|
828
|
+
readonly b: number;
|
|
829
|
+
readonly c: number;
|
|
830
|
+
readonly alpha: number;
|
|
831
|
+
readonly beta: number;
|
|
832
|
+
readonly gamma: number;
|
|
833
|
+
readonly semiperimeter: number;
|
|
834
|
+
readonly height: number;
|
|
835
|
+
readonly base: number;
|
|
825
836
|
}
|
|
826
837
|
declare abstract class Triangle<T> implements ITriangle {
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
838
|
+
A: T;
|
|
839
|
+
B: T;
|
|
840
|
+
C: T;
|
|
841
|
+
abstract get a(): number;
|
|
842
|
+
abstract get b(): number;
|
|
843
|
+
abstract get c(): number;
|
|
844
|
+
constructor(A: T, B: T, C: T);
|
|
845
|
+
get alpha(): number;
|
|
846
|
+
get beta(): number;
|
|
847
|
+
get gamma(): number;
|
|
848
|
+
get perimeter(): number;
|
|
849
|
+
get semiperimeter(): number;
|
|
850
|
+
get area(): number;
|
|
851
|
+
get base(): number;
|
|
852
|
+
get height(): number;
|
|
853
|
+
toString(): string;
|
|
854
|
+
get [Symbol.toStringTag](): string;
|
|
855
|
+
[NodeJSCustomInspect](): string;
|
|
845
856
|
}
|
|
846
857
|
declare class Triangle2D extends Triangle<Vec2> {
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
858
|
+
get a(): number;
|
|
859
|
+
get b(): number;
|
|
860
|
+
get c(): number;
|
|
850
861
|
}
|
|
851
862
|
declare class Triangle3D extends Triangle<Vec3> {
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
863
|
+
get a(): number;
|
|
864
|
+
get b(): number;
|
|
865
|
+
get c(): number;
|
|
855
866
|
}
|
|
856
|
-
|
|
867
|
+
//#endregion
|
|
868
|
+
//#region source/color.d.ts
|
|
869
|
+
type AnyColor = RGBA | HSLA;
|
|
857
870
|
type AnyColorArray = AnyRGBArray | AnyHSLArray;
|
|
858
871
|
type AnyColorString = AnyRGBString | AnyHSLString;
|
|
859
872
|
type IAnyColor = IAnyRGB | IAnyHSL;
|
|
860
873
|
type IAnyToColor = IAnyToRGB | IAnyToHSL;
|
|
861
|
-
type AnyColorLike = AnyColorArray | AnyColorString | IAnyColor | number;
|
|
874
|
+
type AnyColorLike = AnyColorArray | AnyColorString | IAnyColor | number | HexColor;
|
|
862
875
|
type AnyColorArguments = AnyColorArray | [color: AnyColorLike];
|
|
863
|
-
type AnyColor = RGBA | HSLA;
|
|
864
876
|
declare namespace AnyColor {
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
877
|
+
function cast(a: unknown, preferHSL?: boolean): AnyColor | undefined;
|
|
878
|
+
function resolve(a: unknown, preferHSL?: boolean): AnyColor;
|
|
879
|
+
function resolveArgs(args: AnyColorArguments, preferHSL?: boolean): AnyColor;
|
|
868
880
|
}
|
|
869
|
-
|
|
881
|
+
//#endregion
|
|
882
|
+
//#region source/transform.d.ts
|
|
870
883
|
declare class Transform2D implements IToMat3, IToString {
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
884
|
+
parent?: Transform2D | undefined;
|
|
885
|
+
origin: Vec2;
|
|
886
|
+
localPosition: Vec2;
|
|
887
|
+
localRotation: number;
|
|
888
|
+
get localRotationDegree(): number;
|
|
889
|
+
set localRotationDegree(v: number);
|
|
890
|
+
localScale: Vec2;
|
|
891
|
+
get globalPosition(): Vec2;
|
|
892
|
+
get globalRotation(): number;
|
|
893
|
+
get globalRotationDegree(): number;
|
|
894
|
+
get globalScale(): Vec2;
|
|
895
|
+
constructor(position: Vec2Like, rotation: number, scale: Vec2Like, parent?: Transform2D | undefined);
|
|
896
|
+
toString(): string;
|
|
897
|
+
get [Symbol.toStringTag](): string;
|
|
898
|
+
[NodeJSCustomInspect](): string;
|
|
899
|
+
toMat3(): Mat3;
|
|
900
|
+
toGlobalMat3(): Mat3;
|
|
888
901
|
}
|
|
889
902
|
/**
|
|
890
903
|
* Represents a 3D transform for 3D graphics
|
|
891
904
|
*/
|
|
892
905
|
declare class Transform3D implements IToMat4, IToString {
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
}
|
|
927
|
-
|
|
906
|
+
parent?: Transform3D | undefined;
|
|
907
|
+
origin: Vec3;
|
|
908
|
+
/**
|
|
909
|
+
* The local position
|
|
910
|
+
*/
|
|
911
|
+
localPosition: Vec3;
|
|
912
|
+
/**
|
|
913
|
+
* The local rotation
|
|
914
|
+
*/
|
|
915
|
+
localRotation: Quaternion;
|
|
916
|
+
/**
|
|
917
|
+
* The local scale
|
|
918
|
+
*/
|
|
919
|
+
localScale: Vec3;
|
|
920
|
+
get globalPosition(): Vec3;
|
|
921
|
+
get globalRotation(): Quaternion;
|
|
922
|
+
get globalScale(): Vec3;
|
|
923
|
+
/**
|
|
924
|
+
* Create a new transform with `position`, `rotation` and `scale`
|
|
925
|
+
* @param position The position as a Vec3
|
|
926
|
+
* @param rotation The rotation as a Quaternion
|
|
927
|
+
* @param scale The scale as a Vec3
|
|
928
|
+
*/
|
|
929
|
+
constructor(position: Vec3Like, rotation: QuaternionLike, scale: Vec3Like, parent?: Transform3D | undefined);
|
|
930
|
+
toString(): string;
|
|
931
|
+
get [Symbol.toStringTag](): string;
|
|
932
|
+
[NodeJSCustomInspect](): string;
|
|
933
|
+
/**
|
|
934
|
+
* Convert the transform into a 4x3 matrix
|
|
935
|
+
* @returns A 4x4 matrix from the transform
|
|
936
|
+
*/
|
|
937
|
+
toMat4(): Mat4;
|
|
938
|
+
toGlobalMat4(): Mat4;
|
|
939
|
+
}
|
|
940
|
+
//#endregion
|
|
941
|
+
//#region source/utils.d.ts
|
|
928
942
|
/**
|
|
929
943
|
* Clamp `value` between `min` and `max`
|
|
930
944
|
* @param value The input value
|
|
@@ -942,5 +956,5 @@ declare function clamp<T extends number | bigint>(value: T, min: T, max: T): T;
|
|
|
942
956
|
declare function logHypot(a: number, b: number): number;
|
|
943
957
|
declare const EPSILON = 1e-16;
|
|
944
958
|
declare const lerp: <T extends number | bigint>(a: T, b: T, t: T) => number;
|
|
945
|
-
|
|
946
|
-
export { AnyColor,
|
|
959
|
+
//#endregion
|
|
960
|
+
export { AnyColor, AnyColorArguments, AnyColorArray, AnyColorLike, AnyColorString, AnyHSLArguments, AnyHSLArray, AnyHSLLike, AnyHSLString, AnyRGBArguments, AnyRGBArray, AnyRGBLike, AnyRGBString, BoundingBox, BoundingBoxArgs, BoundingBoxArray, BoundingBoxLike, BoundingBoxString, Circle, CircleArguments, CircleArray, CircleLike, CircleString, DJB2_OFFSET, EPSILON, FNV1_OFFSET, FNV1_PRIME, HSLA, HSLAArguments, HSLAArray, HSLALike, HSLAString, HSLArguments, HSLArray, HSLLike, HSLString, HexColor, HexColorPrefix, IAnyColor, IAnyHSL, IAnyRGB, IAnyToColor, IAnyToHSL, IAnyToRGB, IBoundingBox, ICircle, IGeometryObject, IHSL, IHSLA, IHash, IMat3, IMat4, IQuaternion, IRBBA, IRGB, IRectangle, ISize, IToBoundingBox, IToCircle, IToHSL, IToHSLA, IToMat3, IToMat4, IToQuaternion, IToRGB, IToRGBA, IToRectangle, IToSize, IToVec2, IToVec3, ITriangle, IVec2, IVec3, LinearFunction, LinearFunctionString, MAX_ANGLE_DEGREE, Mat3, Mat3Arguments, Mat3Array, Mat3Like, Mat3NestedArray, Mat3String, Mat4, Mat4Arguments, Mat4Array, Mat4Like, Mat4NestedArray, Mat4String, MathFunction, QuadFunction, QuadFunctionString, QuadFunctionStrings, QuadFunctionType, Quaternion, QuaternionArguments, QuaternionArray, QuaternionLike, QuaternionString, RGBA, RGBAArguments, RGBAArray, RGBALike, RGBAString, RGBArguments, RGBArray, RGBLike, RGBString, Rectangle, RectangleArguments, RectangleArray, RectangleLike, RectangleString, ResolveError, SignCharacter, Size, SizeArguments, SizeArray, SizeLike, SizeString, Transform2D, Transform3D, Triangle, Triangle2D, Triangle3D, Vec2, Vec2Arguments, Vec2Array, Vec2Like, Vec2String, Vec3, Vec3Arguments, Vec3Array, Vec3Like, Vec3String, clamp, clampAngleDegree, clampAngleRadian, degreeToRadian, djb2, fnv1, hasHexNumberAlpha, hexNumberToRGB, hexNumberToRGBA, isHexNumber, lerp, logHypot, numberToRGB, numberToRGBA, radianToDegree, sdbm, signCharacter };
|