@benev/math 0.3.0-2 → 0.3.0-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.
Files changed (98) hide show
  1. package/package.json +1 -1
  2. package/x/index.d.ts +1 -0
  3. package/x/index.js +1 -0
  4. package/x/index.js.map +1 -1
  5. package/x/tools/make-noise.d.ts +2 -0
  6. package/x/tools/make-noise.js +9 -0
  7. package/x/tools/make-noise.js.map +1 -0
  8. package/x/concepts/angles.d.ts +0 -29
  9. package/x/concepts/angles.js +0 -62
  10. package/x/concepts/angles.js.map +0 -1
  11. package/x/concepts/circular.d.ts +0 -17
  12. package/x/concepts/circular.js +0 -70
  13. package/x/concepts/circular.js.map +0 -1
  14. package/x/concepts/noise.d.ts +0 -9
  15. package/x/concepts/noise.js +0 -20
  16. package/x/concepts/noise.js.map +0 -1
  17. package/x/concepts/quat.d.ts +0 -35
  18. package/x/concepts/quat.js +0 -110
  19. package/x/concepts/quat.js.map +0 -1
  20. package/x/concepts/randy.d.ts +0 -39
  21. package/x/concepts/randy.js +0 -95
  22. package/x/concepts/randy.js.map +0 -1
  23. package/x/concepts/scalar.d.ts +0 -51
  24. package/x/concepts/scalar.js +0 -219
  25. package/x/concepts/scalar.js.map +0 -1
  26. package/x/concepts/spline.d.ts +0 -9
  27. package/x/concepts/spline.js +0 -59
  28. package/x/concepts/spline.js.map +0 -1
  29. package/x/concepts/vec2.d.ts +0 -114
  30. package/x/concepts/vec2.js +0 -314
  31. package/x/concepts/vec2.js.map +0 -1
  32. package/x/concepts/vec3.d.ts +0 -117
  33. package/x/concepts/vec3.js +0 -357
  34. package/x/concepts/vec3.js.map +0 -1
  35. package/x/concepts/vec4.d.ts +0 -21
  36. package/x/concepts/vec4.js +0 -62
  37. package/x/concepts/vec4.js.map +0 -1
  38. package/x/helpers/angles.d.ts +0 -19
  39. package/x/helpers/angles.js +0 -41
  40. package/x/helpers/angles.js.map +0 -1
  41. package/x/helpers/circular.d.ts +0 -17
  42. package/x/helpers/circular.js +0 -71
  43. package/x/helpers/circular.js.map +0 -1
  44. package/x/helpers/noise.d.ts +0 -9
  45. package/x/helpers/noise.js +0 -20
  46. package/x/helpers/noise.js.map +0 -1
  47. package/x/helpers/randy.d.ts +0 -31
  48. package/x/helpers/randy.js +0 -85
  49. package/x/helpers/randy.js.map +0 -1
  50. package/x/helpers/scalar.d.ts +0 -51
  51. package/x/helpers/scalar.js +0 -219
  52. package/x/helpers/scalar.js.map +0 -1
  53. package/x/helpers/spline.d.ts +0 -9
  54. package/x/helpers/spline.js +0 -61
  55. package/x/helpers/spline.js.map +0 -1
  56. package/x/importmap.json +0 -7
  57. package/x/primitives/circular.d.ts +0 -17
  58. package/x/primitives/circular.js +0 -70
  59. package/x/primitives/circular.js.map +0 -1
  60. package/x/primitives/quat.d.ts +0 -35
  61. package/x/primitives/quat.js +0 -110
  62. package/x/primitives/quat.js.map +0 -1
  63. package/x/primitives/scalar.d.ts +0 -51
  64. package/x/primitives/scalar.js +0 -219
  65. package/x/primitives/scalar.js.map +0 -1
  66. package/x/primitives/vec2.d.ts +0 -114
  67. package/x/primitives/vec2.js +0 -319
  68. package/x/primitives/vec2.js.map +0 -1
  69. package/x/primitives/vec3.d.ts +0 -117
  70. package/x/primitives/vec3.js +0 -363
  71. package/x/primitives/vec3.js.map +0 -1
  72. package/x/primitives/vec4.d.ts +0 -21
  73. package/x/primitives/vec4.js +0 -62
  74. package/x/primitives/vec4.js.map +0 -1
  75. package/x/tools/circular.d.ts +0 -17
  76. package/x/tools/circular.js +0 -71
  77. package/x/tools/circular.js.map +0 -1
  78. package/x/tools/scalar.d.ts +0 -51
  79. package/x/tools/scalar.js +0 -219
  80. package/x/tools/scalar.js.map +0 -1
  81. package/x/utils/angles.d.ts +0 -19
  82. package/x/utils/angles.js +0 -41
  83. package/x/utils/angles.js.map +0 -1
  84. package/x/utils/circular.d.ts +0 -17
  85. package/x/utils/circular.js +0 -70
  86. package/x/utils/circular.js.map +0 -1
  87. package/x/utils/noise.d.ts +0 -9
  88. package/x/utils/noise.js +0 -20
  89. package/x/utils/noise.js.map +0 -1
  90. package/x/utils/randy.d.ts +0 -31
  91. package/x/utils/randy.js +0 -85
  92. package/x/utils/randy.js.map +0 -1
  93. package/x/utils/scalar.d.ts +0 -51
  94. package/x/utils/scalar.js +0 -219
  95. package/x/utils/scalar.js.map +0 -1
  96. package/x/utils/spline.d.ts +0 -9
  97. package/x/utils/spline.js +0 -61
  98. package/x/utils/spline.js.map +0 -1
@@ -1,357 +0,0 @@
1
- import { Scalar } from "./scalar.js";
2
- export class Vec3 {
3
- x;
4
- y;
5
- z;
6
- constructor(x, y, z) {
7
- this.x = x;
8
- this.y = y;
9
- this.z = z;
10
- }
11
- ///////////////////////////////////////////////////////////////////////
12
- static new(x, y, z) {
13
- return new this(x, y, z);
14
- }
15
- static zero() {
16
- return new this(0, 0, 0);
17
- }
18
- static all(value) {
19
- return new this(value, value, value);
20
- }
21
- static array(v) {
22
- return new this(...v);
23
- }
24
- static import({ x, y, z }) {
25
- return new this(x, y, z);
26
- }
27
- static from(v) {
28
- return Array.isArray(v)
29
- ? this.array(v)
30
- : this.import(v);
31
- }
32
- static magnitudeSquared(x, y, z) {
33
- return (x ** 2) + (y ** 2) + (z ** 2);
34
- }
35
- static magnitude(x, y, z) {
36
- return Math.sqrt(this.magnitudeSquared(x, y, z));
37
- }
38
- static average(...vecs) {
39
- return this.zero()
40
- .add(...vecs)
41
- .divideBy(vecs.length);
42
- }
43
- static min(...vecs) {
44
- return new Vec3(Math.min(...vecs.map(v => v.x)), Math.min(...vecs.map(v => v.y)), Math.min(...vecs.map(v => v.z)));
45
- }
46
- static max(...vecs) {
47
- return new Vec3(Math.max(...vecs.map(v => v.x)), Math.max(...vecs.map(v => v.y)), Math.max(...vecs.map(v => v.z)));
48
- }
49
- static hexColor(hex) {
50
- if (hex.startsWith("#") && hex.length === 7) {
51
- const r = parseInt(hex.slice(1, 3), 16) / 255;
52
- const g = parseInt(hex.slice(3, 5), 16) / 255;
53
- const b = parseInt(hex.slice(5, 7), 16) / 255;
54
- return new this(r, g, b);
55
- }
56
- else {
57
- throw new Error("invalid hex color format");
58
- }
59
- }
60
- ///////////////////////////////////////////////////////////////////////
61
- clone() {
62
- return new Vec3(this.x, this.y, this.z);
63
- }
64
- array() {
65
- return [this.x, this.y, this.z];
66
- }
67
- toString() {
68
- return `(Vec3 x${this.x.toFixed(2)}, y${this.y.toFixed(2)}, z${this.z.toFixed(2)})`;
69
- }
70
- set_(x, y, z) {
71
- this.x = x;
72
- this.y = y;
73
- this.z = z;
74
- return this;
75
- }
76
- set({ x, y, z }) {
77
- this.x = x;
78
- this.y = y;
79
- this.z = z;
80
- return this;
81
- }
82
- ///////////////////////////////////////////////////////////////////////
83
- magnitudeSquared() {
84
- return Vec3.magnitudeSquared(this.x, this.y, this.z);
85
- }
86
- magnitude() {
87
- return Vec3.magnitude(this.x, this.y, this.z);
88
- }
89
- hexColor() {
90
- const to255 = (val) => Math.round(val * 255);
91
- const toHex = (val) => to255(val).toString(16).padStart(2, '0');
92
- return `#${toHex(this.x)}${toHex(this.y)}${toHex(this.z)}`;
93
- }
94
- ///////////////////////////////////////////////////////////////////////
95
- equals_(x, y, z) {
96
- return (this.x === x &&
97
- this.y === y &&
98
- this.z === z);
99
- }
100
- equals(...vecs) {
101
- return vecs.every(v => this.equals_(v.x, v.y, v.z));
102
- }
103
- distanceSquared_(x, y, z) {
104
- const dx = this.x - x;
105
- const dy = this.y - y;
106
- const dz = this.z - z;
107
- return (dx ** 2) + (dy ** 2) + (dz ** 2);
108
- }
109
- distanceSquared({ x, y, z }) {
110
- return this.distanceSquared_(x, y, z);
111
- }
112
- distance_(x, y, z) {
113
- return Math.sqrt(this.distanceSquared_(x, y, z));
114
- }
115
- distance({ x, y, z }) {
116
- return this.distance_(x, y, z);
117
- }
118
- dot_(x, y, z) {
119
- return (this.x * x) + (this.y * y) + (this.z * z);
120
- }
121
- dot({ x, y, z }) {
122
- return this.dot_(x, y, z);
123
- }
124
- inRange_(x, y, z, radius) {
125
- const d2 = this.distanceSquared_(x, y, z);
126
- return d2 < (radius ** 2);
127
- }
128
- inRange({ x, y, z }, radius) {
129
- return this.inRange_(x, y, z, radius);
130
- }
131
- angleBetween_(x, y, z) {
132
- const dotProduct = this.dot_(x, y, z);
133
- const magnitudes = this.magnitude() * Vec3.new(x, y, z).magnitude();
134
- return Math.acos(dotProduct / magnitudes);
135
- }
136
- angleBetween({ x, y, z }) {
137
- return this.angleBetween_(x, y, z);
138
- }
139
- ///////////////////////////////////////////////////////////////////////
140
- /** mutator */
141
- add_(x, y, z) {
142
- this.x += x;
143
- this.y += y;
144
- this.z += z;
145
- return this;
146
- }
147
- /** mutator */
148
- add(...vecs) {
149
- for (const { x, y, z } of vecs)
150
- this.add_(x, y, z);
151
- return this;
152
- }
153
- /** mutator */
154
- subtract_(x, y, z) {
155
- this.x -= x;
156
- this.y -= y;
157
- this.z -= z;
158
- return this;
159
- }
160
- /** mutator */
161
- subtract(...vecs) {
162
- for (const { x, y, z } of vecs)
163
- this.subtract_(x, y, z);
164
- return this;
165
- }
166
- /** mutator */
167
- multiply_(x, y, z) {
168
- this.x *= x;
169
- this.y *= y;
170
- this.z *= z;
171
- return this;
172
- }
173
- /** mutator */
174
- multiply(...vecs) {
175
- for (const { x, y, z } of vecs)
176
- this.multiply_(x, y, z);
177
- return this;
178
- }
179
- /** mutator */
180
- divide_(x, y, z) {
181
- this.x /= x;
182
- this.y /= y;
183
- this.z /= z;
184
- return this;
185
- }
186
- /** mutator */
187
- divide(...vecs) {
188
- for (const { x, y, z } of vecs)
189
- this.divide_(x, y, z);
190
- return this;
191
- }
192
- ///////////////////////////////////////////////////////////////////////
193
- /** mutator */
194
- half() {
195
- return this.divideBy(2);
196
- }
197
- /** mutator */
198
- double() {
199
- return this.multiplyBy(2);
200
- }
201
- /** mutator */
202
- abs() {
203
- return this.map(x => Math.abs(x));
204
- }
205
- /** mutator */
206
- map(fn) {
207
- this.x = fn(this.x, 0);
208
- this.y = fn(this.y, 1);
209
- this.z = fn(this.z, 2);
210
- return this;
211
- }
212
- /** mutator */
213
- negate() {
214
- this.x = -this.x;
215
- this.y = -this.y;
216
- this.z = -this.z;
217
- return this;
218
- }
219
- /** mutator */
220
- addBy(delta) {
221
- this.x += delta;
222
- this.y += delta;
223
- this.z += delta;
224
- return this;
225
- }
226
- /** mutator */
227
- multiplyBy(delta) {
228
- this.x *= delta;
229
- this.y *= delta;
230
- this.z *= delta;
231
- return this;
232
- }
233
- /** mutator */
234
- divideBy(divisor) {
235
- if (divisor === 0)
236
- return this;
237
- this.x /= divisor;
238
- this.y /= divisor;
239
- this.z /= divisor;
240
- return this;
241
- }
242
- /** mutator */
243
- normalize() {
244
- return this.divideBy(this.magnitude());
245
- }
246
- /** mutator */
247
- clampMagnitude(max) {
248
- const magnitude = this.magnitude();
249
- if (magnitude > max)
250
- this.normalize().multiplyBy(max);
251
- return this;
252
- }
253
- /** mutator */
254
- floor() {
255
- this.x = Math.floor(this.x);
256
- this.y = Math.floor(this.y);
257
- this.z = Math.floor(this.z);
258
- return this;
259
- }
260
- /** mutator */
261
- ceil() {
262
- this.x = Math.ceil(this.x);
263
- this.y = Math.ceil(this.y);
264
- this.z = Math.ceil(this.z);
265
- return this;
266
- }
267
- /** mutator */
268
- round() {
269
- this.x = Math.round(this.x);
270
- this.y = Math.round(this.y);
271
- this.z = Math.round(this.z);
272
- return this;
273
- }
274
- ///////////////////////////////////////////////////////////////////////
275
- /** mutator */
276
- cross_(x2, y2, z2) {
277
- const { x: x1, y: y1, z: z1 } = this;
278
- this.x = (y1 * z2) - (z1 * y2);
279
- this.y = (z1 * x2) - (x1 * z2);
280
- this.z = (x1 * y2) - (y1 * x2);
281
- return this;
282
- }
283
- /** mutator */
284
- cross({ x, y, z }) {
285
- return this.cross_(x, y, z);
286
- }
287
- /** mutator */
288
- lerp_(x, y, z, fraction) {
289
- this.x += (x - this.x) * fraction;
290
- this.y += (y - this.y) * fraction;
291
- this.z += (z - this.z) * fraction;
292
- return this;
293
- }
294
- /** mutator */
295
- lerp({ x, y, z }, fraction) {
296
- return this.lerp_(x, y, z, fraction);
297
- }
298
- approach_(x, y, z, speed, deltaTime, speedLimit) {
299
- this.x = Scalar.approach(this.x, x, speed, deltaTime, speedLimit);
300
- this.y = Scalar.approach(this.y, y, speed, deltaTime, speedLimit);
301
- this.z = Scalar.approach(this.z, z, speed, deltaTime, speedLimit);
302
- return this;
303
- }
304
- approach({ x, y, z }, speed, deltaTime, speedLimit) {
305
- return this.approach_(x, y, z, speed, deltaTime, speedLimit);
306
- }
307
- /** mutator */
308
- projectOnto_(x, y, z) {
309
- const scalar = this.dot_(x, y, z) / Vec3.magnitudeSquared(x, y, z);
310
- this.x = scalar * x;
311
- this.y = scalar * y;
312
- this.z = scalar * z;
313
- return this;
314
- }
315
- /** mutator */
316
- projectOnto({ x, y, z }) {
317
- return this.projectOnto_(x, y, z);
318
- }
319
- /** mutator */
320
- reflect_(x, y, z) {
321
- const dot = this.dot_(x, y, z) * 2;
322
- this.x -= dot * x;
323
- this.y -= dot * y;
324
- this.z -= dot * z;
325
- return this;
326
- }
327
- /** mutator */
328
- reflect({ x, y, z }) {
329
- return this.reflect_(x, y, z);
330
- }
331
- /** mutator */
332
- rotateAroundAxis_(ux, uy, uz, angle) {
333
- const cos = Math.cos(angle);
334
- const sin = Math.sin(angle);
335
- const { x, y, z } = this;
336
- this.x = (cos + (1 - cos) * ux * ux) * x + ((1 - cos) * ux * uy - uz * sin) * y + ((1 - cos) * ux * uz + uy * sin) * z;
337
- this.y = ((1 - cos) * uy * ux + uz * sin) * x + (cos + (1 - cos) * uy * uy) * y + ((1 - cos) * uy * uz - ux * sin) * z;
338
- this.z = ((1 - cos) * uz * ux - uy * sin) * x + ((1 - cos) * uz * uy + ux * sin) * y + (cos + (1 - cos) * uz * uz) * z;
339
- return this;
340
- }
341
- /** mutator */
342
- rotateAroundAxis({ x, y, z }, angle) {
343
- return this.rotateAroundAxis_(x, y, z, angle);
344
- }
345
- /** mutator */
346
- smooth_(x, y, z, smoothing) {
347
- this.x = Scalar.smooth(this.x, x, smoothing);
348
- this.y = Scalar.smooth(this.y, y, smoothing);
349
- this.z = Scalar.smooth(this.z, z, smoothing);
350
- return this;
351
- }
352
- /** mutator */
353
- smooth({ x, y, z }, smoothing) {
354
- return this.smooth_(x, y, z, smoothing);
355
- }
356
- }
357
- //# sourceMappingURL=vec3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vec3.js","sourceRoot":"","sources":["../../s/concepts/vec3.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { Xyzw } from "./quat.js";
2
- export type Vec4Array = [number, number, number, number];
3
- export declare class Vec4 {
4
- x: number;
5
- y: number;
6
- z: number;
7
- w: number;
8
- constructor(x: number, y: number, z: number, w: number);
9
- static new(x: number, y: number, z: number, w: number): Vec4;
10
- static zero(): Vec4;
11
- static array(v: Vec4Array): Vec4;
12
- static import({ x, y, z, w }: Xyzw): Vec4;
13
- static from(v: Vec4Array | Xyzw): Vec4;
14
- array(): Vec4Array;
15
- toString(): string;
16
- clone(): Vec4;
17
- set_(x: number, y: number, z: number, w: number): this;
18
- set({ x, y, z, w }: Xyzw): this;
19
- /** mutator */
20
- map(fn: (a: number, index: number) => number): this;
21
- }
@@ -1,62 +0,0 @@
1
- export class Vec4 {
2
- x;
3
- y;
4
- z;
5
- w;
6
- constructor(x, y, z, w) {
7
- this.x = x;
8
- this.y = y;
9
- this.z = z;
10
- this.w = w;
11
- }
12
- static new(x, y, z, w) {
13
- return new this(x, y, z, w);
14
- }
15
- static zero() {
16
- return new this(0, 0, 0, 0);
17
- }
18
- static array(v) {
19
- return new this(...v);
20
- }
21
- static import({ x, y, z, w }) {
22
- return new this(x, y, z, w);
23
- }
24
- static from(v) {
25
- return Array.isArray(v)
26
- ? this.array(v)
27
- : this.import(v);
28
- }
29
- array() {
30
- const { x, y, z, w } = this;
31
- return [x, y, z, w];
32
- }
33
- toString() {
34
- return `(Vec4 x${this.x.toFixed(2)}, y${this.y.toFixed(2)}, z${this.z.toFixed(2)}, w${this.w.toFixed(2)})`;
35
- }
36
- clone() {
37
- return new Vec4(...this.array());
38
- }
39
- set_(x, y, z, w) {
40
- this.x = x;
41
- this.y = y;
42
- this.z = z;
43
- this.w = w;
44
- return this;
45
- }
46
- set({ x, y, z, w }) {
47
- this.x = x;
48
- this.y = y;
49
- this.z = z;
50
- this.w = w;
51
- return this;
52
- }
53
- /** mutator */
54
- map(fn) {
55
- this.x = fn(this.x, 0);
56
- this.y = fn(this.y, 1);
57
- this.z = fn(this.z, 2);
58
- this.w = fn(this.w, 3);
59
- return this;
60
- }
61
- }
62
- //# sourceMappingURL=vec4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vec4.js","sourceRoot":"","sources":["../../s/concepts/vec4.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- export declare const Radians: {
2
- circle: number;
3
- halfcircle: number;
4
- toDegrees(r: number): number;
5
- toArcseconds(r: number): number;
6
- toTurns(r: number): number;
7
- circleDistance(radiansA: number, radiansB: number): number;
8
- };
9
- export declare const Turns: {
10
- toRadians(t: number): number;
11
- toDegrees(t: number): number;
12
- };
13
- export declare const Arcseconds: {
14
- toRadians(a: number): number;
15
- };
16
- export declare const Degrees: {
17
- toRadians(d: number): number;
18
- toTurns(d: number): number;
19
- };
@@ -1,41 +0,0 @@
1
- import { Scalar } from "./scalar.js";
2
- const pi = Math.PI;
3
- export const Radians = {
4
- circle: 2 * pi,
5
- halfcircle: pi,
6
- toDegrees(r) {
7
- return r * (180 / pi);
8
- },
9
- toArcseconds(r) {
10
- return Radians.toDegrees(r) * 3600;
11
- },
12
- toTurns(r) {
13
- return r / Radians.circle;
14
- },
15
- circleDistance(radiansA, radiansB) {
16
- const diff = Math.abs(Scalar.wrap(radiansA - radiansB, 0, Radians.circle));
17
- return Math.min(diff, Radians.circle - diff);
18
- },
19
- };
20
- export const Turns = {
21
- toRadians(t) {
22
- return t * Radians.circle;
23
- },
24
- toDegrees(t) {
25
- return Radians.toDegrees(Turns.toRadians(t));
26
- },
27
- };
28
- export const Arcseconds = {
29
- toRadians(a) {
30
- return Degrees.toRadians(a / 3600);
31
- },
32
- };
33
- export const Degrees = {
34
- toRadians(d) {
35
- return d * (pi / 180);
36
- },
37
- toTurns(d) {
38
- return Radians.toTurns(Degrees.toRadians(d));
39
- },
40
- };
41
- //# sourceMappingURL=angles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"angles.js","sourceRoot":"","sources":["../../s/helpers/angles.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAElC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAA;AAElB,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,MAAM,EAAE,CAAC,GAAG,EAAE;IACd,UAAU,EAAE,EAAE;IAEd,SAAS,CAAC,CAAS;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;IACtB,CAAC;IACD,YAAY,CAAC,CAAS;QACrB,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACnC,CAAC;IACD,OAAO,CAAC,CAAS;QAChB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAA;IAC1B,CAAC;IAED,cAAc,CAAC,QAAgB,EAAE,QAAgB;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;QAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC7C,CAAC;CACD,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG;IACpB,SAAS,CAAC,CAAS;QAClB,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAA;IAC1B,CAAC;IACD,SAAS,CAAC,CAAS;QAClB,OAAO,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC;CACD,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,SAAS,CAAC,CAAS;QAClB,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IACnC,CAAC;CACD,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,SAAS,CAAC,CAAS;QAClB,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;IACtB,CAAC;IACD,OAAO,CAAC,CAAS;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC;CACD,CAAA"}
@@ -1,17 +0,0 @@
1
- export declare class Circular {
2
- x: number;
3
- constructor(x: number);
4
- clone(): Circular;
5
- set(x: number): this;
6
- static value(x: number | Circular): number;
7
- static normalize(x: number): number;
8
- normalize(): this;
9
- static difference(x: number, y: number): number;
10
- difference(y: number | Circular): number;
11
- static lerp(x: number, y: number, fraction: number, max?: number): number;
12
- lerp(y: number | Circular, fraction: number, max?: number): this;
13
- static step(x: number, y: number, delta: number): number;
14
- step(y: number | Circular, delta: number): this;
15
- static approach(x: number, y: number, speed: number, deltaTime: number, speedLimit?: number): number;
16
- approach(y: number | Circular, speed: number, deltaTime: number, speedLimit?: number): this;
17
- }
@@ -1,71 +0,0 @@
1
- import { Scalar } from "./scalar.js";
2
- const circle = 2 * Math.PI;
3
- export class Circular {
4
- x;
5
- constructor(x) {
6
- this.x = x;
7
- }
8
- clone() {
9
- return new Circular(this.x);
10
- }
11
- set(x) {
12
- this.x = x;
13
- return this;
14
- }
15
- static value(x) {
16
- return typeof x === "number"
17
- ? x
18
- : x.x;
19
- }
20
- static normalize(x) {
21
- return Scalar.wrap(x, 0, circle);
22
- }
23
- normalize() {
24
- this.x = Circular.normalize(this.x);
25
- return this;
26
- }
27
- static difference(x, y) {
28
- x = this.normalize(x);
29
- y = this.normalize(y);
30
- let delta = y - x;
31
- if (delta > Math.PI)
32
- delta -= circle;
33
- if (delta < -Math.PI)
34
- delta += circle;
35
- return delta;
36
- }
37
- difference(y) {
38
- return Circular.difference(this.x, Circular.value(y));
39
- }
40
- static lerp(x, y, fraction, max) {
41
- const difference = this.difference(x, y);
42
- let delta = difference * fraction;
43
- if (max !== undefined && Math.abs(delta) > max)
44
- delta = Math.sign(delta) * max;
45
- return this.normalize(x + delta);
46
- }
47
- lerp(y, fraction, max) {
48
- this.x = Circular.lerp(this.x, Circular.value(y), fraction, max);
49
- return this;
50
- }
51
- static step(x, y, delta) {
52
- const difference = this.difference(x, y);
53
- return this.normalize(Math.abs(difference) <= delta
54
- ? y
55
- : x + (Math.sign(difference) * delta));
56
- }
57
- step(y, delta) {
58
- this.x = Circular.step(this.x, Circular.value(y), delta);
59
- return this;
60
- }
61
- static approach(x, y, speed, deltaTime, speedLimit) {
62
- const difference = this.difference(x, y);
63
- const change = Scalar.creep(difference, speed, deltaTime, speedLimit);
64
- return this.normalize(x + change);
65
- }
66
- approach(y, speed, deltaTime, speedLimit) {
67
- this.x = Circular.approach(this.x, Circular.value(y), speed, deltaTime, speedLimit);
68
- return this;
69
- }
70
- }
71
- //# sourceMappingURL=circular.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"circular.js","sourceRoot":"","sources":["../../s/helpers/circular.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAElC,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAA;AAE1B,MAAM,OAAO,QAAQ;IACD;IAAnB,YAAmB,CAAS;QAAT,MAAC,GAAD,CAAC,CAAQ;IAAG,CAAC;IAEhC,KAAK;QACJ,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5B,CAAC;IAED,GAAG,CAAC,CAAS;QACZ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,CAAoB;QAChC,OAAO,OAAO,CAAC,KAAK,QAAQ;YAC3B,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACP,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,CAAS;QACzB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;IAAC,SAAS;QACV,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,CAAS,EAAE,CAAS;QACrC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACrB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;QACjB,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE;YAAE,KAAK,IAAI,MAAM,CAAA;QACpC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE;YAAE,KAAK,IAAI,MAAM,CAAA;QACrC,OAAO,KAAK,CAAA;IACb,CAAC;IAAC,UAAU,CAAC,CAAoB;QAChC,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAS,EAAE,CAAS,EAAE,QAAgB,EAAE,GAAY;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACxC,IAAI,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAA;QACjC,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG;YAC7C,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;IACjC,CAAC;IAAC,IAAI,CAAC,CAAoB,EAAE,QAAgB,EAAE,GAAY;QAC1D,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;QAChE,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACxC,OAAO,IAAI,CAAC,SAAS,CACpB,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,KAAK;YAC5B,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CACtC,CAAA;IACF,CAAC;IAAC,IAAI,CAAC,CAAoB,EAAE,KAAa;QACzC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACxD,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,SAAiB,EAAE,UAAmB;QAC1F,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QACrE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,CAAA;IAClC,CAAC;IAAC,QAAQ,CAAC,CAAoB,EAAE,KAAa,EAAE,SAAiB,EAAE,UAAmB;QACrF,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QACnF,OAAO,IAAI,CAAA;IACZ,CAAC;CACD"}
@@ -1,9 +0,0 @@
1
- import { Random } from "./randy.js";
2
- export declare class Noise {
3
- #private;
4
- readonly random: Random;
5
- static seed(seed?: number): Noise;
6
- constructor(random: Random);
7
- /** sample the noise field, returning a number from 0 to 1. */
8
- sample(x: number, y?: number, scale?: number): number;
9
- }
@@ -1,20 +0,0 @@
1
- import { Randy } from "./randy.js";
2
- import { createNoise2D } from "simplex-noise";
3
- export class Noise {
4
- random;
5
- static seed(seed = Randy.randomSeed()) {
6
- const random = Randy.makeRandom(seed);
7
- return new this(random);
8
- }
9
- #n2d;
10
- constructor(random) {
11
- this.random = random;
12
- this.#n2d = createNoise2D(random);
13
- }
14
- /** sample the noise field, returning a number from 0 to 1. */
15
- sample(x, y = 0, scale = 1) {
16
- const s = this.#n2d(x * scale, y * scale);
17
- return (s + 1) / 2;
18
- }
19
- }
20
- //# sourceMappingURL=noise.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"noise.js","sourceRoot":"","sources":["../../s/helpers/noise.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAS,MAAM,YAAY,CAAA;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAA;AAE3C,MAAM,OAAO,KAAK;IAQW;IAP5B,MAAM,CAAC,IAAI,CAAC,OAAe,KAAK,CAAC,UAAU,EAAE;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACrC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;IAED,IAAI,CAAkC;IAEtC,YAA4B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACzC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,CAAS,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAA;QACzC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;CACD"}