@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,314 +0,0 @@
1
- import { Scalar } from "./scalar.js";
2
- export class Vec2 {
3
- x;
4
- y;
5
- constructor(x, y) {
6
- this.x = x;
7
- this.y = y;
8
- }
9
- ///////////////////////////////////////////////////////////////////////
10
- static new(x, y) {
11
- return new this(x, y);
12
- }
13
- static zero() {
14
- return new this(0, 0);
15
- }
16
- static all(value) {
17
- return new this(value, value);
18
- }
19
- static array(v) {
20
- return new this(...v);
21
- }
22
- static import({ x, y }) {
23
- return new this(x, y);
24
- }
25
- static from(v) {
26
- return Array.isArray(v)
27
- ? this.array(v)
28
- : this.import(v);
29
- }
30
- static magnitudeSquared(x, y) {
31
- return (x * x) + (y * y);
32
- }
33
- static magnitude(x, y) {
34
- return Math.sqrt(this.magnitudeSquared(x, y));
35
- }
36
- static average(...vectors) {
37
- return this.zero()
38
- .add(...vectors)
39
- .divideBy(vectors.length);
40
- }
41
- static min(...vecs) {
42
- return new Vec2(Math.min(...vecs.map(v => v.x)), Math.min(...vecs.map(v => v.y)));
43
- }
44
- static max(...vecs) {
45
- return new Vec2(Math.max(...vecs.map(v => v.x)), Math.max(...vecs.map(v => v.y)));
46
- }
47
- ///////////////////////////////////////////////////////////////////////
48
- clone() {
49
- return new Vec2(this.x, this.y);
50
- }
51
- array() {
52
- return [this.x, this.y];
53
- }
54
- toString() {
55
- return `(Vec2 x${this.x.toFixed(2)}, y${this.y.toFixed(2)})`;
56
- }
57
- /** mutator */
58
- set_(x, y) {
59
- this.x = x;
60
- this.y = y;
61
- return this;
62
- }
63
- /** mutator */
64
- set({ x, y }) {
65
- this.x = x;
66
- this.y = y;
67
- return this;
68
- }
69
- ///////////////////////////////////////////////////////////////////////
70
- magnitudeSquared() {
71
- return Vec2.magnitudeSquared(this.x, this.y);
72
- }
73
- magnitude() {
74
- return Vec2.magnitude(this.x, this.y);
75
- }
76
- rotation() {
77
- return Math.atan2(this.y, this.x);
78
- }
79
- equals_(x, y) {
80
- return (this.x === x &&
81
- this.y === y);
82
- }
83
- equals(...vecs) {
84
- return vecs.every(({ x, y }) => this.equals_(x, y));
85
- }
86
- dot_(x, y) {
87
- return (this.x * x) + (this.y * y);
88
- }
89
- dot({ x, y }) {
90
- return this.dot_(x, y);
91
- }
92
- distanceSquared_(x, y) {
93
- x = this.x - x;
94
- y = this.y - y;
95
- return (x * x) + (y * y);
96
- }
97
- distanceSquared({ x, y }) {
98
- return this.distanceSquared_(x, y);
99
- }
100
- distance_(x, y) {
101
- return Math.sqrt(this.distanceSquared_(x, y));
102
- }
103
- distance({ x, y }) {
104
- return this.distance_(x, y);
105
- }
106
- angleBetween_(x, y) {
107
- const dot = this.dot_(x, y);
108
- const magnitudes = this.magnitude() * Vec2.magnitude(x, y);
109
- return Math.acos(dot / magnitudes);
110
- }
111
- angleBetween({ x, y }) {
112
- return this.angleBetween_(x, y);
113
- }
114
- ///////////////////////////////////////////////////////////////////////
115
- /** mutator */
116
- normalize() {
117
- return this.divideBy(this.magnitude());
118
- }
119
- /** mutator */
120
- half() {
121
- return this.divideBy(2);
122
- }
123
- /** mutator */
124
- double() {
125
- return this.multiplyBy(2);
126
- }
127
- /** mutator */
128
- abs() {
129
- return this.map(x => Math.abs(x));
130
- }
131
- /** mutator */
132
- rotate(radians) {
133
- const { x, y } = this;
134
- this.x = (x * Math.cos(radians)) - (y * Math.sin(radians));
135
- this.y = (x * Math.sin(radians)) + (y * Math.cos(radians));
136
- return this;
137
- }
138
- /** mutator */
139
- perpendicular() {
140
- const { x, y } = this;
141
- this.x = -y;
142
- this.y = x;
143
- return this;
144
- }
145
- /** mutator */
146
- clampMagnitude(max) {
147
- const mag = this.magnitude();
148
- if (mag > max)
149
- this.normalize().multiplyBy(max);
150
- return this;
151
- }
152
- /** mutator */
153
- floor() {
154
- this.x = Math.floor(this.x);
155
- this.y = Math.floor(this.y);
156
- return this;
157
- }
158
- /** mutator */
159
- ceil() {
160
- this.x = Math.ceil(this.x);
161
- this.y = Math.ceil(this.y);
162
- return this;
163
- }
164
- /** mutator */
165
- round() {
166
- this.x = Math.round(this.x);
167
- this.y = Math.round(this.y);
168
- return this;
169
- }
170
- /** mutator */
171
- map(fn) {
172
- this.x = fn(this.x, 0);
173
- this.y = fn(this.y, 1);
174
- return this;
175
- }
176
- /** mutator */
177
- clamp(min, max) {
178
- const clamp = (val) => Math.max(min, Math.min(max, val));
179
- return this.map(clamp);
180
- }
181
- /** mutator */
182
- negate() {
183
- return this.map(a => a * -1);
184
- }
185
- /** mutator */
186
- addBy(delta) {
187
- this.x += delta;
188
- this.y += delta;
189
- return this;
190
- }
191
- /** mutator */
192
- subtractBy(delta) {
193
- this.x -= delta;
194
- this.y -= delta;
195
- return this;
196
- }
197
- /** mutator */
198
- multiplyBy(coefficient) {
199
- this.x *= coefficient;
200
- this.y *= coefficient;
201
- return this;
202
- }
203
- /** mutator */
204
- divideBy(divisor) {
205
- if (divisor === 0)
206
- return this;
207
- this.x /= divisor;
208
- this.y /= divisor;
209
- return this;
210
- }
211
- ///////////////////////////////////////////////////////////////////////
212
- /** mutator */
213
- add_(x, y) {
214
- this.x += x;
215
- this.y += y;
216
- return this;
217
- }
218
- /** mutator */
219
- add(...vecs) {
220
- for (const { x, y } of vecs)
221
- this.add_(x, y);
222
- return this;
223
- }
224
- /** mutator */
225
- subtract_(x, y) {
226
- this.x -= x;
227
- this.y -= y;
228
- return this;
229
- }
230
- /** mutator */
231
- subtract(...vecs) {
232
- for (const { x, y } of vecs)
233
- this.subtract_(x, y);
234
- return this;
235
- }
236
- /** mutator */
237
- multiply_(x, y) {
238
- this.x *= x;
239
- this.y *= y;
240
- return this;
241
- }
242
- /** mutator */
243
- multiply(...vecs) {
244
- for (const { x, y } of vecs)
245
- this.multiply_(x, y);
246
- return this;
247
- }
248
- /** mutator */
249
- divide_(x, y) {
250
- this.x /= x;
251
- this.y /= y;
252
- return this;
253
- }
254
- /** mutator */
255
- divide(...vecs) {
256
- for (const { x, y } of vecs)
257
- this.divide_(x, y);
258
- return this;
259
- }
260
- /** mutator */
261
- lerp_(x, y, fraction) {
262
- this.x += (x - this.x) * fraction;
263
- this.y += (y - this.y) * fraction;
264
- return this;
265
- }
266
- /** mutator */
267
- lerp({ x, y }, fraction) {
268
- return this.lerp_(x, y, fraction);
269
- }
270
- approach_(x, y, speed, deltaTime, speedLimit) {
271
- this.x = Scalar.approach(this.x, x, speed, deltaTime, speedLimit);
272
- this.y = Scalar.approach(this.y, y, speed, deltaTime, speedLimit);
273
- return this;
274
- }
275
- approach({ x, y }, speed, deltaTime, speedLimit) {
276
- return this.approach_(x, y, speed, deltaTime, speedLimit);
277
- }
278
- /** mutator */
279
- reflect_(x, y) {
280
- const dot = 2 * this.dot_(x, y);
281
- this.x -= dot * x;
282
- this.y -= dot * y;
283
- return this;
284
- }
285
- /** mutator */
286
- reflect({ x, y }) {
287
- return this.reflect_(x, y);
288
- }
289
- /** mutator */
290
- rotateAroundPoint_(x, y, radians) {
291
- const dx = this.x - x;
292
- const dy = this.y - y;
293
- const cos = Math.cos(radians);
294
- const sin = Math.sin(radians);
295
- this.x = cos * dx - sin * dy + x;
296
- this.y = sin * dx + cos * dy + y;
297
- return this;
298
- }
299
- /** mutator */
300
- rotateAroundPoint({ x, y }, radians) {
301
- return this.rotateAroundPoint_(x, y, radians);
302
- }
303
- /** mutator */
304
- smooth_(x, y, smoothing) {
305
- this.x = Scalar.smooth(this.x, x, smoothing);
306
- this.y = Scalar.smooth(this.y, y, smoothing);
307
- return this;
308
- }
309
- /** mutator */
310
- smooth({ x, y }, smoothing) {
311
- return this.smooth_(x, y, smoothing);
312
- }
313
- }
314
- //# sourceMappingURL=vec2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vec2.js","sourceRoot":"","sources":["../../s/concepts/vec2.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAQlC,MAAM,OAAO,IAAI;IAER;IACA;IAFR,YACQ,CAAS,EACT,CAAS;QADT,MAAC,GAAD,CAAC,CAAQ;QACT,MAAC,GAAD,CAAC,CAAQ;IACd,CAAC;IAEJ,uEAAuE;IAEvE,MAAM,CAAC,GAAG,CAAkC,CAAS,EAAE,CAAS;QAC/D,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,CAAC,IAAI;QACV,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,CAAC,GAAG,CAAkC,KAAa;QACxD,OAAO,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,KAAK,CAAkC,CAAY;QACzD,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CAAkC,EAAC,CAAC,EAAE,CAAC,EAAK;QACxD,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAiB;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACtB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACf,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,CAAS,EAAE,CAAS;QAC3C,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACzB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,CAAS,EAAE,CAAS;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,OAAa;QAC9B,OAAO,IAAI,CAAC,IAAI,EAAE;aAChB,GAAG,CAAC,GAAG,OAAO,CAAC;aACf,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,IAAY;QACzB,OAAO,IAAI,IAAI,CACd,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAA;IACF,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,IAAY;QACzB,OAAO,IAAI,IAAI,CACd,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAA;IACF,CAAC;IAED,uEAAuE;IAEvE,KAAK;QACJ,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAChC,CAAC;IAED,KAAK;QACJ,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,QAAQ;QACP,OAAO,UAAU,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAA;IAC7D,CAAC;IAED,cAAc;IACd,IAAI,CAAC,CAAS,EAAE,CAAS;QACxB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,GAAG,CAAC,EAAC,CAAC,EAAE,CAAC,EAAK;QACb,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,uEAAuE;IAEvE,gBAAgB;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,CAAC,CAAS,EAAE,CAAS;QAC3B,OAAO,CACN,IAAI,CAAC,CAAC,KAAK,CAAC;YACZ,IAAI,CAAC,CAAC,KAAK,CAAC,CACZ,CAAA;IACF,CAAC;IAED,MAAM,CAAC,GAAG,IAAU;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,CAAC,CAAS,EAAE,CAAS;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,EAAC,CAAC,EAAE,CAAC,EAAK;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,gBAAgB,CAAC,CAAS,EAAE,CAAS;QACpC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACd,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACzB,CAAC;IAED,eAAe,CAAC,EAAC,CAAC,EAAE,CAAC,EAAK;QACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,SAAS,CAAC,CAAS,EAAE,CAAS;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9C,CAAC;IAED,QAAQ,CAAC,EAAC,CAAC,EAAE,CAAC,EAAK;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5B,CAAC;IAED,aAAa,CAAC,CAAS,EAAE,CAAS;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,CAAA;IACnC,CAAC;IAED,YAAY,CAAC,EAAC,CAAC,EAAE,CAAC,EAAK;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAChC,CAAC;IAED,uEAAuE;IAEvE,cAAc;IACd,SAAS;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,cAAc;IACd,IAAI;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,cAAc;IACd,MAAM;QACL,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,cAAc;IACd,GAAG;QACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IAED,cAAc;IACd,MAAM,CAAC,OAAe;QACrB,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;QAC1D,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,aAAa;QACZ,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACV,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,cAAc,CAAC,GAAW;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC5B,IAAI,GAAG,GAAG,GAAG;YACZ,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACjC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,KAAK;QACJ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3B,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,IAAI;QACH,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,KAAK;QACJ,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3B,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3B,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,GAAG,CAAC,EAAwC;QAC3C,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,KAAK,CAAC,GAAW,EAAE,GAAW;QAC7B,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;QAChE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;IAED,cAAc;IACd,MAAM;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;IAED,cAAc;IACd,KAAK,CAAC,KAAa;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAA;QACf,IAAI,CAAC,CAAC,IAAI,KAAK,CAAA;QACf,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,UAAU,CAAC,KAAa;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAA;QACf,IAAI,CAAC,CAAC,IAAI,KAAK,CAAA;QACf,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,UAAU,CAAC,WAAmB;QAC7B,IAAI,CAAC,CAAC,IAAI,WAAW,CAAA;QACrB,IAAI,CAAC,CAAC,IAAI,WAAW,CAAA;QACrB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,QAAQ,CAAC,OAAe;QACvB,IAAI,OAAO,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC9B,IAAI,CAAC,CAAC,IAAI,OAAO,CAAA;QACjB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAA;QACjB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,uEAAuE;IAEvE,cAAc;IACd,IAAI,CAAC,CAAS,EAAE,CAAS;QACxB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QACX,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,GAAG,CAAC,GAAG,IAAU;QAChB,KAAK,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1C,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,SAAS,CAAC,CAAS,EAAE,CAAS;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QACX,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,QAAQ,CAAC,GAAG,IAAU;QACrB,KAAK,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,SAAS,CAAC,CAAS,EAAE,CAAS;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QACX,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,QAAQ,CAAC,GAAG,IAAU;QACrB,KAAK,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/C,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,OAAO,CAAC,CAAS,EAAE,CAAS;QAC3B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QACX,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,MAAM,CAAC,GAAG,IAAU;QACnB,KAAK,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,IAAI,IAAI;YAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,KAAK,CAAC,CAAS,EAAE,CAAS,EAAE,QAAgB;QAC3C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAA;QACjC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAA;QACjC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,IAAI,CAAC,EAAC,CAAC,EAAE,CAAC,EAAK,EAAE,QAAgB;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAED,SAAS,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,SAAiB,EAAE,UAAmB;QACpF,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QACjE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;QACjE,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,QAAQ,CAAC,EAAC,CAAC,EAAE,CAAC,EAAK,EAAE,KAAa,EAAE,SAAiB,EAAE,UAAmB;QACzE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;IAC1D,CAAC;IAED,cAAc;IACd,QAAQ,CAAC,CAAS,EAAE,CAAS;QAC5B,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;QACjB,IAAI,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;QACjB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,OAAO,CAAC,EAAC,CAAC,EAAE,CAAC,EAAK;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,cAAc;IACd,kBAAkB,CAAC,CAAS,EAAE,CAAS,EAAE,OAAe;QACvD,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7B,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,CAAA;QAChC,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,CAAA;QAChC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,iBAAiB,CAAC,EAAC,CAAC,EAAE,CAAC,EAAO,EAAE,OAAe;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED,cAAc;IACd,OAAO,CAAC,CAAS,EAAE,CAAS,EAAE,SAAiB;QAC9C,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc;IACd,MAAM,CAAC,EAAC,CAAC,EAAE,CAAC,EAAK,EAAE,SAAiB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAA;IACrC,CAAC;CACD"}
@@ -1,117 +0,0 @@
1
- export type Vec3Array = [number, number, number];
2
- export type Xyz = {
3
- x: number;
4
- y: number;
5
- z: number;
6
- };
7
- /** https://github.com/microsoft/TypeScript/issues/5863 */
8
- type TsHack<T> = {
9
- new (...a: ConstructorParameters<typeof Vec3>): T;
10
- };
11
- export declare class Vec3 {
12
- x: number;
13
- y: number;
14
- z: number;
15
- constructor(x: number, y: number, z: number);
16
- static new<T extends Vec3>(this: TsHack<T>, x: number, y: number, z: number): T;
17
- static zero<T extends Vec3>(this: TsHack<T>): T;
18
- static all<T extends Vec3>(this: TsHack<T>, value: number): T;
19
- static array<T extends Vec3>(this: TsHack<T>, v: Vec3Array): T;
20
- static import<T extends Vec3>(this: TsHack<T>, { x, y, z }: Xyz): Vec3;
21
- static from(v: Vec3Array | Xyz): Vec3;
22
- static magnitudeSquared(x: number, y: number, z: number): number;
23
- static magnitude(x: number, y: number, z: number): number;
24
- static average(...vecs: Xyz[]): Vec3;
25
- static min(...vecs: Vec3[]): Vec3;
26
- static max(...vecs: Vec3[]): Vec3;
27
- static hexColor(hex: string): Vec3;
28
- clone(): Vec3;
29
- array(): Vec3Array;
30
- toString(): string;
31
- set_(x: number, y: number, z: number): this;
32
- set({ x, y, z }: Xyz): this;
33
- magnitudeSquared(): number;
34
- magnitude(): number;
35
- hexColor(): string;
36
- equals_(x: number, y: number, z: number): boolean;
37
- equals(...vecs: Xyz[]): boolean;
38
- distanceSquared_(x: number, y: number, z: number): number;
39
- distanceSquared({ x, y, z }: Xyz): number;
40
- distance_(x: number, y: number, z: number): number;
41
- distance({ x, y, z }: Xyz): number;
42
- dot_(x: number, y: number, z: number): number;
43
- dot({ x, y, z }: Xyz): number;
44
- inRange_(x: number, y: number, z: number, radius: number): boolean;
45
- inRange({ x, y, z }: Xyz, radius: number): boolean;
46
- angleBetween_(x: number, y: number, z: number): number;
47
- angleBetween({ x, y, z }: Xyz): number;
48
- /** mutator */
49
- add_(x: number, y: number, z: number): this;
50
- /** mutator */
51
- add(...vecs: Xyz[]): this;
52
- /** mutator */
53
- subtract_(x: number, y: number, z: number): this;
54
- /** mutator */
55
- subtract(...vecs: Xyz[]): this;
56
- /** mutator */
57
- multiply_(x: number, y: number, z: number): this;
58
- /** mutator */
59
- multiply(...vecs: Vec3[]): this;
60
- /** mutator */
61
- divide_(x: number, y: number, z: number): this;
62
- /** mutator */
63
- divide(...vecs: Vec3[]): this;
64
- /** mutator */
65
- half(): this;
66
- /** mutator */
67
- double(): this;
68
- /** mutator */
69
- abs(): this;
70
- /** mutator */
71
- map(fn: (a: number, index: number) => number): this;
72
- /** mutator */
73
- negate(): this;
74
- /** mutator */
75
- addBy(delta: number): this;
76
- /** mutator */
77
- multiplyBy(delta: number): this;
78
- /** mutator */
79
- divideBy(divisor: number): this;
80
- /** mutator */
81
- normalize(): this;
82
- /** mutator */
83
- clampMagnitude(max: number): this;
84
- /** mutator */
85
- floor(): this;
86
- /** mutator */
87
- ceil(): this;
88
- /** mutator */
89
- round(): this;
90
- /** mutator */
91
- cross_(x2: number, y2: number, z2: number): this;
92
- /** mutator */
93
- cross({ x, y, z }: Xyz): this;
94
- /** mutator */
95
- lerp_(x: number, y: number, z: number, fraction: number): this;
96
- /** mutator */
97
- lerp({ x, y, z }: Xyz, fraction: number): this;
98
- approach_(x: number, y: number, z: number, speed: number, deltaTime: number, speedLimit?: number): this;
99
- approach({ x, y, z }: Xyz, speed: number, deltaTime: number, speedLimit?: number): this;
100
- /** mutator */
101
- projectOnto_(x: number, y: number, z: number): this;
102
- /** mutator */
103
- projectOnto({ x, y, z }: Vec3): this;
104
- /** mutator */
105
- reflect_(x: number, y: number, z: number): this;
106
- /** mutator */
107
- reflect({ x, y, z }: Xyz): this;
108
- /** mutator */
109
- rotateAroundAxis_(ux: number, uy: number, uz: number, angle: number): this;
110
- /** mutator */
111
- rotateAroundAxis({ x, y, z }: Xyz, angle: number): this;
112
- /** mutator */
113
- smooth_(x: number, y: number, z: number, smoothing: number): this;
114
- /** mutator */
115
- smooth({ x, y, z }: Xyz, smoothing: number): this;
116
- }
117
- export {};