@pawells/math-extended 1.0.1 → 1.0.2

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 (85) hide show
  1. package/package.json +1 -1
  2. package/build/angles.spec.d.ts +0 -2
  3. package/build/angles.spec.d.ts.map +0 -1
  4. package/build/angles.spec.js +0 -147
  5. package/build/angles.spec.js.map +0 -1
  6. package/build/clamp.spec.d.ts +0 -2
  7. package/build/clamp.spec.d.ts.map +0 -1
  8. package/build/clamp.spec.js +0 -19
  9. package/build/clamp.spec.js.map +0 -1
  10. package/build/documentation-validation.spec.d.ts +0 -11
  11. package/build/documentation-validation.spec.d.ts.map +0 -1
  12. package/build/documentation-validation.spec.js +0 -401
  13. package/build/documentation-validation.spec.js.map +0 -1
  14. package/build/interpolation.spec.d.ts +0 -2
  15. package/build/interpolation.spec.d.ts.map +0 -1
  16. package/build/interpolation.spec.js +0 -480
  17. package/build/interpolation.spec.js.map +0 -1
  18. package/build/matrices/arithmetic.spec.d.ts +0 -2
  19. package/build/matrices/arithmetic.spec.d.ts.map +0 -1
  20. package/build/matrices/arithmetic.spec.js +0 -915
  21. package/build/matrices/arithmetic.spec.js.map +0 -1
  22. package/build/matrices/asserts.spec.d.ts +0 -2
  23. package/build/matrices/asserts.spec.d.ts.map +0 -1
  24. package/build/matrices/asserts.spec.js +0 -565
  25. package/build/matrices/asserts.spec.js.map +0 -1
  26. package/build/matrices/core.spec.d.ts +0 -2
  27. package/build/matrices/core.spec.d.ts.map +0 -1
  28. package/build/matrices/core.spec.js +0 -634
  29. package/build/matrices/core.spec.js.map +0 -1
  30. package/build/matrices/decompositions.spec.d.ts +0 -2
  31. package/build/matrices/decompositions.spec.d.ts.map +0 -1
  32. package/build/matrices/decompositions.spec.js +0 -195
  33. package/build/matrices/decompositions.spec.js.map +0 -1
  34. package/build/matrices/linear-algebra.spec.d.ts +0 -2
  35. package/build/matrices/linear-algebra.spec.d.ts.map +0 -1
  36. package/build/matrices/linear-algebra.spec.js +0 -355
  37. package/build/matrices/linear-algebra.spec.js.map +0 -1
  38. package/build/matrices/normalization.spec.d.ts +0 -2
  39. package/build/matrices/normalization.spec.d.ts.map +0 -1
  40. package/build/matrices/normalization.spec.js +0 -335
  41. package/build/matrices/normalization.spec.js.map +0 -1
  42. package/build/matrices/transformations.spec.d.ts +0 -2
  43. package/build/matrices/transformations.spec.d.ts.map +0 -1
  44. package/build/matrices/transformations.spec.js +0 -755
  45. package/build/matrices/transformations.spec.js.map +0 -1
  46. package/build/quaternions/asserts.spec.d.ts +0 -2
  47. package/build/quaternions/asserts.spec.d.ts.map +0 -1
  48. package/build/quaternions/asserts.spec.js +0 -320
  49. package/build/quaternions/asserts.spec.js.map +0 -1
  50. package/build/quaternions/conversions.spec.d.ts +0 -2
  51. package/build/quaternions/conversions.spec.d.ts.map +0 -1
  52. package/build/quaternions/conversions.spec.js +0 -344
  53. package/build/quaternions/conversions.spec.js.map +0 -1
  54. package/build/quaternions/core.spec.d.ts +0 -2
  55. package/build/quaternions/core.spec.d.ts.map +0 -1
  56. package/build/quaternions/core.spec.js +0 -294
  57. package/build/quaternions/core.spec.js.map +0 -1
  58. package/build/quaternions/interpolation.spec.d.ts +0 -2
  59. package/build/quaternions/interpolation.spec.d.ts.map +0 -1
  60. package/build/quaternions/interpolation.spec.js +0 -64
  61. package/build/quaternions/interpolation.spec.js.map +0 -1
  62. package/build/quaternions/predefined.spec.d.ts +0 -2
  63. package/build/quaternions/predefined.spec.d.ts.map +0 -1
  64. package/build/quaternions/predefined.spec.js +0 -35
  65. package/build/quaternions/predefined.spec.js.map +0 -1
  66. package/build/random.spec.d.ts +0 -2
  67. package/build/random.spec.d.ts.map +0 -1
  68. package/build/random.spec.js +0 -267
  69. package/build/random.spec.js.map +0 -1
  70. package/build/vectors/asserts.spec.d.ts +0 -2
  71. package/build/vectors/asserts.spec.d.ts.map +0 -1
  72. package/build/vectors/asserts.spec.js +0 -260
  73. package/build/vectors/asserts.spec.js.map +0 -1
  74. package/build/vectors/core.spec.d.ts +0 -2
  75. package/build/vectors/core.spec.d.ts.map +0 -1
  76. package/build/vectors/core.spec.js +0 -343
  77. package/build/vectors/core.spec.js.map +0 -1
  78. package/build/vectors/interpolation.spec.d.ts +0 -2
  79. package/build/vectors/interpolation.spec.d.ts.map +0 -1
  80. package/build/vectors/interpolation.spec.js +0 -378
  81. package/build/vectors/interpolation.spec.js.map +0 -1
  82. package/build/vectors/predefined.spec.d.ts +0 -2
  83. package/build/vectors/predefined.spec.d.ts.map +0 -1
  84. package/build/vectors/predefined.spec.js +0 -333
  85. package/build/vectors/predefined.spec.js.map +0 -1
@@ -1,378 +0,0 @@
1
- import { VectorLERP, VectorSmoothStep, VectorSmootherStep, VectorQuadraticEaseIn, VectorQuadraticEaseOut, VectorCubicEaseIn, VectorCubicEaseOut, VectorCosineInterpolation, VectorSineEaseIn, VectorSineEaseOut, VectorExponentialEaseIn, VectorExponentialEaseOut, VectorElasticEaseOut, VectorBackEaseOut, VectorBounceEaseOut, VectorCatmullRomInterpolation, VectorHermiteInterpolation, VectorCircularEaseIn, VectorCircularEaseOut, VectorStepInterpolation, VectorSphericalLinearInterpolation } from './interpolation.js';
2
- import { VectorError } from './asserts.js';
3
- describe('Vector Interpolation', () => {
4
- // Test vectors for different dimensions
5
- const vec2a = [0, 0];
6
- const vec2b = [10, 20];
7
- const vec3a = [0, 0, 0];
8
- const vec3b = [10, 20, 30];
9
- const vec4a = [0, 0, 0, 0];
10
- const vec4b = [10, 20, 30, 40];
11
- // Helper function to check if values are approximately equal
12
- const expectVectorToBeCloseTo = (actual, expected, precision = 5) => {
13
- expect(actual.length).toBe(expected.length);
14
- for (let i = 0; i < actual.length; i++) {
15
- const actualValue = actual[i];
16
- const expectedValue = expected[i];
17
- if (actualValue !== undefined && expectedValue !== undefined) {
18
- expect(actualValue).toBeCloseTo(expectedValue, precision);
19
- }
20
- }
21
- };
22
- describe('VectorLERP', () => {
23
- it('should perform linear interpolation at t=0', () => {
24
- expectVectorToBeCloseTo(VectorLERP(vec2a, vec2b, 0), [0, 0], 10);
25
- expectVectorToBeCloseTo(VectorLERP(vec3a, vec3b, 0), [0, 0, 0], 10);
26
- expectVectorToBeCloseTo(VectorLERP(vec4a, vec4b, 0), [0, 0, 0, 0], 10);
27
- });
28
- it('should perform linear interpolation at t=1', () => {
29
- expectVectorToBeCloseTo(VectorLERP(vec2a, vec2b, 1), [10, 20], 10);
30
- expectVectorToBeCloseTo(VectorLERP(vec3a, vec3b, 1), [10, 20, 30], 10);
31
- expectVectorToBeCloseTo(VectorLERP(vec4a, vec4b, 1), [10, 20, 30, 40], 10);
32
- });
33
- it('should perform linear interpolation at t=0.5', () => {
34
- expectVectorToBeCloseTo(VectorLERP(vec2a, vec2b, 0.5), [5, 10], 10);
35
- expectVectorToBeCloseTo(VectorLERP(vec3a, vec3b, 0.5), [5, 10, 15], 10);
36
- expectVectorToBeCloseTo(VectorLERP(vec4a, vec4b, 0.5), [5, 10, 15, 20], 10);
37
- });
38
- it('should handle extrapolation beyond [0,1]', () => {
39
- expectVectorToBeCloseTo(VectorLERP(vec2a, vec2b, -0.5), [-5, -10], 10);
40
- expectVectorToBeCloseTo(VectorLERP(vec2a, vec2b, 1.5), [15, 30], 10);
41
- });
42
- it('should throw for mismatched vector dimensions', () => {
43
- expect(() => VectorLERP([1, 2], [1, 2, 3], 0.5)).toThrow(VectorError);
44
- });
45
- it('should throw for non-numeric t parameter', () => {
46
- expect(() => VectorLERP(vec2a, vec2b, NaN)).toThrow();
47
- });
48
- it('should throw for invalid vector values', () => {
49
- expect(() => VectorLERP([1, NaN], [1, 2], 0.5)).toThrow();
50
- expect(() => VectorLERP([1, 2], [1, Infinity], 0.5)).toThrow();
51
- });
52
- it('should throw for empty vectors', () => {
53
- expect(() => VectorLERP([], [], 0.5)).toThrow(VectorError);
54
- });
55
- it('should throw for vectors with Infinity', () => {
56
- expect(() => VectorLERP([1, Infinity], [1, 2], 0.5)).toThrow(VectorError);
57
- expect(() => VectorLERP([1, 2], [1, -Infinity], 0.5)).toThrow(VectorError);
58
- });
59
- });
60
- describe('VectorSmoothStep', () => {
61
- it('should return start vector at t=0', () => {
62
- expect(VectorSmoothStep(vec2a, vec2b, 0)).toEqual([0, 0]);
63
- });
64
- it('should return end vector at t=1', () => {
65
- expect(VectorSmoothStep(vec2a, vec2b, 1)).toEqual([10, 20]);
66
- });
67
- it('should provide smooth interpolation at t=0.5', () => {
68
- const result = VectorSmoothStep(vec2a, vec2b, 0.5);
69
- expectVectorToBeCloseTo(result, [5, 10]);
70
- });
71
- it('should have zero derivative at endpoints', () => {
72
- // Test very close to endpoints to verify smooth start/end
73
- const nearStart = VectorSmoothStep(vec2a, vec2b, 0.01);
74
- const nearEnd = VectorSmoothStep(vec2a, vec2b, 0.99);
75
- // Near start should be very close to start
76
- expectVectorToBeCloseTo(nearStart, [0.00298, 0.00596], 4);
77
- // Near end should be very close to end
78
- expectVectorToBeCloseTo(nearEnd, [9.99702, 19.99404], 4);
79
- });
80
- it('should extrapolate for t < 0 and t > 1', () => {
81
- expect(VectorSmoothStep(vec2a, vec2b, -1)).toEqual([50, 100]);
82
- expect(VectorSmoothStep(vec2a, vec2b, 2)).toEqual([-40, -80]);
83
- });
84
- });
85
- describe('VectorSmootherStep', () => {
86
- it('should return start vector at t=0', () => {
87
- expect(VectorSmootherStep(vec2a, vec2b, 0)).toEqual([0, 0]);
88
- });
89
- it('should return end vector at t=1', () => {
90
- expect(VectorSmootherStep(vec2a, vec2b, 1)).toEqual([10, 20]);
91
- });
92
- it('should be smoother than SmoothStep', () => {
93
- const smoothResult = VectorSmoothStep(vec2a, vec2b, 0.1);
94
- const smootherResult = VectorSmootherStep(vec2a, vec2b, 0.1);
95
- // SmootherStep should start even more gradually
96
- expect(smootherResult[0]).toBeLessThan(smoothResult[0]);
97
- });
98
- it('should extrapolate for t < 0 and t > 1', () => {
99
- expect(VectorSmootherStep(vec2a, vec2b, -1)).toEqual([-310, -620]);
100
- expect(VectorSmootherStep(vec2a, vec2b, 2)).toEqual([320, 640]);
101
- });
102
- });
103
- describe('VectorQuadraticEaseIn', () => {
104
- it('should start slowly and accelerate', () => {
105
- const result1 = VectorQuadraticEaseIn(vec2a, vec2b, 0.1);
106
- const result2 = VectorQuadraticEaseIn(vec2a, vec2b, 0.5);
107
- const result3 = VectorQuadraticEaseIn(vec2a, vec2b, 0.9);
108
- // Should be closer to start at t=0.1 than linear interpolation
109
- const linearResult1 = VectorLERP(vec2a, vec2b, 0.1);
110
- expect(result1[0]).toBeLessThan(linearResult1[0]);
111
- // Should be accelerating
112
- expect(result2[0]).toBeCloseTo(2.5, 1);
113
- expect(result3[0]).toBeCloseTo(8.1, 1);
114
- });
115
- it('should extrapolate for t < 0 and t > 1', () => {
116
- expect(VectorQuadraticEaseIn(vec2a, vec2b, -1)).toEqual([10, 20]);
117
- expect(VectorQuadraticEaseIn(vec2a, vec2b, 2)).toEqual([40, 80]);
118
- });
119
- });
120
- describe('VectorQuadraticEaseOut', () => {
121
- it('should start quickly and decelerate', () => {
122
- const result1 = VectorQuadraticEaseOut(vec2a, vec2b, 0.1);
123
- const result2 = VectorQuadraticEaseOut(vec2a, vec2b, 0.5);
124
- const result3 = VectorQuadraticEaseOut(vec2a, vec2b, 0.9);
125
- // Should be further from start at t=0.1 than linear interpolation
126
- const linearResult1 = VectorLERP(vec2a, vec2b, 0.1);
127
- expect(result1[0]).toBeGreaterThan(linearResult1[0]);
128
- // Should be decelerating
129
- expect(result2[0]).toBeCloseTo(7.5, 1);
130
- expect(result3[0]).toBeCloseTo(9.9, 1);
131
- });
132
- it('should extrapolate for t < 0 and t > 1', () => {
133
- expect(VectorQuadraticEaseOut(vec2a, vec2b, -1)).toEqual([-30, -60]);
134
- expect(VectorQuadraticEaseOut(vec2a, vec2b, 2)).toEqual([0, 0]);
135
- });
136
- });
137
- describe('VectorCubicEaseIn', () => {
138
- it('should provide cubic acceleration curve', () => {
139
- const result = VectorCubicEaseIn(vec2a, vec2b, 0.5);
140
- expectVectorToBeCloseTo(result, [1.25, 2.5]);
141
- });
142
- it('should extrapolate for t < 0 and t > 1', () => {
143
- expect(VectorCubicEaseIn(vec2a, vec2b, -1)).toEqual([-10, -20]);
144
- expect(VectorCubicEaseIn(vec2a, vec2b, 2)).toEqual([80, 160]);
145
- });
146
- });
147
- describe('VectorCubicEaseOut', () => {
148
- it('should provide cubic deceleration curve', () => {
149
- const result = VectorCubicEaseOut(vec2a, vec2b, 0.5);
150
- expectVectorToBeCloseTo(result, [8.75, 17.5]);
151
- });
152
- it('should extrapolate for t < 0 and t > 1', () => {
153
- expect(VectorCubicEaseOut(vec2a, vec2b, -1)).toEqual([-70, -140]);
154
- expect(VectorCubicEaseOut(vec2a, vec2b, 2)).toEqual([20, 40]);
155
- });
156
- });
157
- describe('VectorCosineInterpolation', () => {
158
- it('should provide smooth cosine-based interpolation', () => {
159
- const result = VectorCosineInterpolation(vec2a, vec2b, 0.5);
160
- expectVectorToBeCloseTo(result, [5, 10]);
161
- });
162
- it('should be smooth at endpoints', () => {
163
- const result0 = VectorCosineInterpolation(vec2a, vec2b, 0);
164
- const result1 = VectorCosineInterpolation(vec2a, vec2b, 1);
165
- expect(result0).toEqual([0, 0]);
166
- expect(result1).toEqual([10, 20]);
167
- });
168
- });
169
- describe('VectorSineEaseIn', () => {
170
- it('should provide sine-based ease in', () => {
171
- const result = VectorSineEaseIn(vec2a, vec2b, 0.5);
172
- // Should be less than linear at 0.5
173
- expect(result[0]).toBeLessThan(5);
174
- });
175
- });
176
- describe('VectorSineEaseOut', () => {
177
- it('should provide sine-based ease out', () => {
178
- const result = VectorSineEaseOut(vec2a, vec2b, 0.5);
179
- // Should be greater than linear at 0.5
180
- expect(result[0]).toBeGreaterThan(5);
181
- });
182
- });
183
- describe('VectorExponentialEaseIn', () => {
184
- it('should start very slowly', () => {
185
- const result = VectorExponentialEaseIn(vec2a, vec2b, 0.1);
186
- // Should be very close to start
187
- expect(result[0]).toBeLessThan(0.1);
188
- });
189
- });
190
- describe('VectorExponentialEaseOut', () => {
191
- it('should approach end very slowly', () => {
192
- const result = VectorExponentialEaseOut(vec2a, vec2b, 0.9);
193
- // Should be very close to end
194
- expect(result[0]).toBeGreaterThan(9.9);
195
- });
196
- });
197
- describe('VectorElasticEaseOut', () => {
198
- it('should create elastic overshoot effect', () => {
199
- const result = VectorElasticEaseOut(vec2a, vec2b, 0.7);
200
- // Elastic should overshoot beyond target at some point
201
- // This is hard to test precisely, so we just verify it doesn't crash
202
- expect(Array.isArray(result)).toBe(true);
203
- expect(result.length).toBe(2);
204
- });
205
- });
206
- describe('VectorBackEaseOut', () => {
207
- it('should create back overshoot effect', () => {
208
- const result = VectorBackEaseOut(vec2a, vec2b, 0.8);
209
- expect(Array.isArray(result)).toBe(true);
210
- expect(result.length).toBe(2);
211
- });
212
- });
213
- describe('VectorBounceEaseOut', () => {
214
- it('should create bouncing effect', () => {
215
- const result = VectorBounceEaseOut(vec2a, vec2b, 0.8);
216
- expect(Array.isArray(result)).toBe(true);
217
- expect(result.length).toBe(2);
218
- });
219
- });
220
- describe('VectorCircularEaseIn', () => {
221
- it('should provide circular ease in curve', () => {
222
- const result = VectorCircularEaseIn(vec2a, vec2b, 0.5);
223
- // Should start slowly
224
- expect(result[0]).toBeLessThan(5);
225
- });
226
- });
227
- describe('VectorCircularEaseOut', () => {
228
- it('should provide circular ease out curve', () => {
229
- const result = VectorCircularEaseOut(vec2a, vec2b, 0.5);
230
- // Should end slowly
231
- expect(result[0]).toBeGreaterThan(5);
232
- });
233
- });
234
- describe('VectorStepInterpolation', () => {
235
- it('should step at default threshold (0.5)', () => {
236
- const result1 = VectorStepInterpolation(vec2a, vec2b, 0.4);
237
- const result2 = VectorStepInterpolation(vec2a, vec2b, 0.6);
238
- expect(result1).toEqual([0, 0]);
239
- expect(result2).toEqual([10, 20]);
240
- });
241
- it('should step at custom threshold', () => {
242
- const result1 = VectorStepInterpolation(vec2a, vec2b, 0.3, 0.7);
243
- const result2 = VectorStepInterpolation(vec2a, vec2b, 0.8, 0.7);
244
- expect(result1).toEqual([0, 0]);
245
- expect(result2).toEqual([10, 20]);
246
- });
247
- it('should throw for invalid threshold', () => {
248
- expect(() => VectorStepInterpolation(vec2a, vec2b, 0.5, NaN)).toThrow();
249
- });
250
- });
251
- describe('VectorCatmullRomInterpolation', () => {
252
- it('should interpolate through control points', () => {
253
- const p0 = [-5, -10];
254
- const p1 = [0, 0];
255
- const p2 = [10, 20];
256
- const p3 = [15, 30];
257
- // At t=0, should return p1
258
- const result0 = VectorCatmullRomInterpolation(p0, p1, p2, p3, 0);
259
- expectVectorToBeCloseTo(result0, p1);
260
- // At t=1, should return p2
261
- const result1 = VectorCatmullRomInterpolation(p0, p1, p2, p3, 1);
262
- expectVectorToBeCloseTo(result1, p2);
263
- });
264
- it('should throw for mismatched dimensions', () => {
265
- expect(() => VectorCatmullRomInterpolation([1, 2], [1, 2, 3], [1, 2], [1, 2], 0.5)).toThrow(VectorError);
266
- });
267
- it('should throw for invalid values', () => {
268
- expect(() => VectorCatmullRomInterpolation([1, NaN], [1, 2], [1, 2], [1, 2], 0.5)).toThrow();
269
- });
270
- });
271
- describe('VectorHermiteInterpolation', () => {
272
- it('should interpolate with tangent control', () => {
273
- const p0 = [0, 0];
274
- const p1 = [10, 20];
275
- const t0 = [1, 1]; // Start tangent
276
- const t1 = [1, 1]; // End tangent
277
- // At t=0, should return p0
278
- const result0 = VectorHermiteInterpolation(p0, p1, t0, t1, 0);
279
- expectVectorToBeCloseTo(result0, p0);
280
- // At t=1, should return p1
281
- const result1 = VectorHermiteInterpolation(p0, p1, t0, t1, 1);
282
- expectVectorToBeCloseTo(result1, p1);
283
- });
284
- it('should throw for mismatched dimensions', () => {
285
- expect(() => VectorHermiteInterpolation([1, 2], [1, 2, 3], [1, 2], [1, 2], 0.5)).toThrow(VectorError);
286
- });
287
- });
288
- describe('VectorSphericalLinearInterpolation', () => {
289
- it('should perform SLERP on 2D vectors', () => {
290
- const a = [1, 0];
291
- const b = [0, 1];
292
- const result = VectorSphericalLinearInterpolation(a, b, 0.5);
293
- // Should be normalized and at 45 degrees
294
- expectVectorToBeCloseTo(result, [0.7071, 0.7071], 3);
295
- });
296
- it('should perform SLERP on 3D vectors', () => {
297
- const a = [1, 0, 0];
298
- const b = [0, 1, 0];
299
- const result = VectorSphericalLinearInterpolation(a, b, 0.5);
300
- expectVectorToBeCloseTo(result, [0.7071, 0.7071, 0], 3);
301
- });
302
- it('should handle parallel vectors by falling back to LERP', () => {
303
- const a = [1, 1];
304
- const b = [2, 2];
305
- const result = VectorSphericalLinearInterpolation(a, b, 0.5);
306
- const lerpResult = VectorLERP(a, b, 0.5);
307
- expectVectorToBeCloseTo(result, lerpResult);
308
- });
309
- it('should handle anti-parallel vectors', () => {
310
- const a = [1, 0];
311
- const b = [-1, 0];
312
- // Should handle this case without error
313
- const result = VectorSphericalLinearInterpolation(a, b, 0.5);
314
- expect(Array.isArray(result)).toBe(true);
315
- expect(result.length).toBe(2);
316
- });
317
- it('should extrapolate for t < 0 and t > 1', () => {
318
- const a = [1, 0];
319
- const b = [0, 1];
320
- const resultBelow = VectorSphericalLinearInterpolation(a, b, -0.5);
321
- const resultAbove = VectorSphericalLinearInterpolation(a, b, 1.5);
322
- // Should not clamp, so results should differ from t=0 and t=1
323
- expect(resultBelow[0]).not.toBeCloseTo(a[0], 10);
324
- expect(resultAbove[1]).not.toBeCloseTo(b[1], 10);
325
- });
326
- it('should throw for vectors smaller than 2D', () => {
327
- expect(() => VectorSphericalLinearInterpolation([1], [2], 0.5)).toThrow(VectorError);
328
- });
329
- it('should throw for mismatched dimensions', () => {
330
- expect(() => VectorSphericalLinearInterpolation([1, 2], [1, 2, 3], 0.5)).toThrow(VectorError);
331
- });
332
- });
333
- // General tests that apply to all interpolation functions
334
- describe('General Interpolation Properties', () => {
335
- const interpolationFunctions = [
336
- { name: 'LERP', fn: VectorLERP },
337
- { name: 'SmoothStep', fn: VectorSmoothStep },
338
- { name: 'SmootherStep', fn: VectorSmootherStep },
339
- { name: 'QuadraticEaseIn', fn: VectorQuadraticEaseIn },
340
- { name: 'QuadraticEaseOut', fn: VectorQuadraticEaseOut },
341
- { name: 'CubicEaseIn', fn: VectorCubicEaseIn },
342
- { name: 'CubicEaseOut', fn: VectorCubicEaseOut },
343
- { name: 'CosineInterpolation', fn: VectorCosineInterpolation },
344
- { name: 'SineEaseIn', fn: VectorSineEaseIn },
345
- { name: 'SineEaseOut', fn: VectorSineEaseOut },
346
- { name: 'CircularEaseIn', fn: VectorCircularEaseIn },
347
- { name: 'CircularEaseOut', fn: VectorCircularEaseOut },
348
- ];
349
- interpolationFunctions.forEach(({ name, fn }) => {
350
- describe(`${name}`, () => {
351
- it('should preserve vector dimensions', () => {
352
- const result2D = fn(vec2a, vec2b, 0.5);
353
- const result3D = fn(vec3a, vec3b, 0.5);
354
- const result4D = fn(vec4a, vec4b, 0.5);
355
- expect(result2D.length).toBe(2);
356
- expect(result3D.length).toBe(3);
357
- expect(result4D.length).toBe(4);
358
- });
359
- it('should return start vector at t=0', () => {
360
- expectVectorToBeCloseTo(fn(vec2a, vec2b, 0), vec2a, 10);
361
- expectVectorToBeCloseTo(fn(vec3a, vec3b, 0), vec3a, 10);
362
- });
363
- it('should return end vector at t=1', () => {
364
- expectVectorToBeCloseTo(fn(vec2a, vec2b, 1), vec2b, 10);
365
- expectVectorToBeCloseTo(fn(vec3a, vec3b, 1), vec3b, 10);
366
- });
367
- it('should throw for empty vectors', () => {
368
- expect(() => fn([], [], 0.5)).toThrow(VectorError);
369
- });
370
- it('should throw for vectors with Infinity', () => {
371
- expect(() => fn([1, Infinity], [1, 2], 0.5)).toThrow(VectorError);
372
- expect(() => fn([1, 2], [1, -Infinity], 0.5)).toThrow(VectorError);
373
- });
374
- });
375
- });
376
- });
377
- });
378
- //# sourceMappingURL=interpolation.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpolation.spec.js","sourceRoot":"","sources":["../../src/vectors/interpolation.spec.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=predefined.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"predefined.spec.d.ts","sourceRoot":"","sources":["../../src/vectors/predefined.spec.ts"],"names":[],"mappings":""}