@pawells/math-extended 2.0.0 → 3.0.0

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 (118) hide show
  1. package/README.md +15 -21
  2. package/build/clamp.d.ts +5 -5
  3. package/build/clamp.js +5 -5
  4. package/build/core.d.ts +23 -0
  5. package/build/core.d.ts.map +1 -0
  6. package/build/core.js +25 -0
  7. package/build/core.js.map +1 -0
  8. package/build/index.d.ts +1 -4
  9. package/build/index.d.ts.map +1 -1
  10. package/build/index.js +1 -6
  11. package/build/index.js.map +1 -1
  12. package/build/interpolation.d.ts +158 -171
  13. package/build/interpolation.d.ts.map +1 -1
  14. package/build/interpolation.js +162 -181
  15. package/build/interpolation.js.map +1 -1
  16. package/build/matrices/arithmetic.d.ts +132 -132
  17. package/build/matrices/arithmetic.d.ts.map +1 -1
  18. package/build/matrices/arithmetic.js +194 -226
  19. package/build/matrices/arithmetic.js.map +1 -1
  20. package/build/matrices/asserts.d.ts +30 -408
  21. package/build/matrices/asserts.d.ts.map +1 -1
  22. package/build/matrices/asserts.js +98 -542
  23. package/build/matrices/asserts.js.map +1 -1
  24. package/build/matrices/core.d.ts +117 -46
  25. package/build/matrices/core.d.ts.map +1 -1
  26. package/build/matrices/core.js +127 -103
  27. package/build/matrices/core.js.map +1 -1
  28. package/build/matrices/decompositions.d.ts +95 -96
  29. package/build/matrices/decompositions.d.ts.map +1 -1
  30. package/build/matrices/decompositions.js +119 -160
  31. package/build/matrices/decompositions.js.map +1 -1
  32. package/build/matrices/index.d.ts +0 -1
  33. package/build/matrices/index.d.ts.map +1 -1
  34. package/build/matrices/index.js +0 -3
  35. package/build/matrices/index.js.map +1 -1
  36. package/build/matrices/linear-algebra.d.ts +45 -8
  37. package/build/matrices/linear-algebra.d.ts.map +1 -1
  38. package/build/matrices/linear-algebra.js +76 -32
  39. package/build/matrices/linear-algebra.js.map +1 -1
  40. package/build/matrices/normalization.d.ts +29 -8
  41. package/build/matrices/normalization.d.ts.map +1 -1
  42. package/build/matrices/normalization.js +32 -23
  43. package/build/matrices/normalization.js.map +1 -1
  44. package/build/matrices/transformations.d.ts +116 -148
  45. package/build/matrices/transformations.d.ts.map +1 -1
  46. package/build/matrices/transformations.js +69 -91
  47. package/build/matrices/transformations.js.map +1 -1
  48. package/build/matrices/types.d.ts +32 -60
  49. package/build/matrices/types.d.ts.map +1 -1
  50. package/build/matrices/types.js +63 -1
  51. package/build/matrices/types.js.map +1 -1
  52. package/build/quaternions/asserts.d.ts +29 -38
  53. package/build/quaternions/asserts.d.ts.map +1 -1
  54. package/build/quaternions/asserts.js +61 -77
  55. package/build/quaternions/asserts.js.map +1 -1
  56. package/build/quaternions/conversions.d.ts +26 -26
  57. package/build/quaternions/conversions.d.ts.map +1 -1
  58. package/build/quaternions/conversions.js +24 -24
  59. package/build/quaternions/core.d.ts +70 -69
  60. package/build/quaternions/core.d.ts.map +1 -1
  61. package/build/quaternions/core.js +71 -71
  62. package/build/quaternions/core.js.map +1 -1
  63. package/build/quaternions/index.d.ts +0 -1
  64. package/build/quaternions/index.d.ts.map +1 -1
  65. package/build/quaternions/index.js +0 -2
  66. package/build/quaternions/index.js.map +1 -1
  67. package/build/quaternions/interpolation.d.ts +16 -16
  68. package/build/quaternions/interpolation.d.ts.map +1 -1
  69. package/build/quaternions/interpolation.js +21 -21
  70. package/build/quaternions/interpolation.js.map +1 -1
  71. package/build/quaternions/predefined.d.ts +10 -10
  72. package/build/quaternions/predefined.d.ts.map +1 -1
  73. package/build/quaternions/predefined.js +9 -9
  74. package/build/quaternions/types.d.ts +23 -12
  75. package/build/quaternions/types.d.ts.map +1 -1
  76. package/build/quaternions/types.js +51 -1
  77. package/build/quaternions/types.js.map +1 -1
  78. package/build/random.d.ts +66 -20
  79. package/build/random.d.ts.map +1 -1
  80. package/build/random.js +73 -20
  81. package/build/random.js.map +1 -1
  82. package/build/vectors/asserts.d.ts +50 -220
  83. package/build/vectors/asserts.d.ts.map +1 -1
  84. package/build/vectors/asserts.js +141 -327
  85. package/build/vectors/asserts.js.map +1 -1
  86. package/build/vectors/core.d.ts +182 -229
  87. package/build/vectors/core.d.ts.map +1 -1
  88. package/build/vectors/core.js +234 -288
  89. package/build/vectors/core.js.map +1 -1
  90. package/build/vectors/index.d.ts +0 -1
  91. package/build/vectors/index.d.ts.map +1 -1
  92. package/build/vectors/index.js +0 -2
  93. package/build/vectors/index.js.map +1 -1
  94. package/build/vectors/interpolation.d.ts +40 -40
  95. package/build/vectors/interpolation.d.ts.map +1 -1
  96. package/build/vectors/interpolation.js +75 -86
  97. package/build/vectors/interpolation.js.map +1 -1
  98. package/build/vectors/predefined.d.ts +31 -7
  99. package/build/vectors/predefined.d.ts.map +1 -1
  100. package/build/vectors/predefined.js +30 -6
  101. package/build/vectors/predefined.js.map +1 -1
  102. package/build/vectors/types.d.ts +26 -4
  103. package/build/vectors/types.d.ts.map +1 -1
  104. package/build/vectors/types.js +50 -1
  105. package/build/vectors/types.js.map +1 -1
  106. package/package.json +3 -2
  107. package/build/matrices/_exports.d.ts +0 -13
  108. package/build/matrices/_exports.d.ts.map +0 -1
  109. package/build/matrices/_exports.js +0 -13
  110. package/build/matrices/_exports.js.map +0 -1
  111. package/build/quaternions/_exports.d.ts +0 -11
  112. package/build/quaternions/_exports.d.ts.map +0 -1
  113. package/build/quaternions/_exports.js +0 -11
  114. package/build/quaternions/_exports.js.map +0 -1
  115. package/build/vectors/_exports.d.ts +0 -10
  116. package/build/vectors/_exports.d.ts.map +0 -1
  117. package/build/vectors/_exports.js +0 -10
  118. package/build/vectors/_exports.js.map +0 -1
@@ -43,14 +43,12 @@ const DEGREES_PER_HALF_REVOLUTION = 180;
43
43
  * @throws {Error} If radians is not a finite number
44
44
  *
45
45
  * @example
46
- * ```typescript
47
- * ```typescript
48
- * // 90-degree counterclockwise rotation
49
- * const matrix = MatrixRotation2D(Math.PI / 2);
50
- * // 45-degree clockwise rotation
51
- * const clockwise = MatrixRotation2D(-Math.PI / 4);
52
- * ```
53
- * ```
46
+ * ```typescript
47
+ * // 90-degree counterclockwise rotation
48
+ * const matrix = MatrixRotation2D(Math.PI / 2);
49
+ * // 45-degree clockwise rotation
50
+ * const clockwise = MatrixRotation2D(-Math.PI / 4);
51
+ * ```
54
52
  */
55
53
  export function MatrixRotation2D(radians) {
56
54
  AssertNumber(radians, { finite: true }, { message: 'Rotation angle must be a number' });
@@ -86,12 +84,10 @@ export function MatrixRotation2D(radians) {
86
84
  * @throws {Error} If radians is not a finite number
87
85
  *
88
86
  * @example
89
- * ```typescript
90
- * ```typescript
91
- * // 45-degree roll (banking left in aviation)
92
- * const rollMatrix = MatrixRotation3DRoll(Math.PI / 4);
93
- * ```
94
- * ```
87
+ * ```typescript
88
+ * // 45-degree roll (banking left in aviation)
89
+ * const rollMatrix = MatrixRotation3DRoll(Math.PI / 4);
90
+ * ```
95
91
  */
96
92
  export function MatrixRotation3DRoll(radians) {
97
93
  AssertNumber(radians, { finite: true }, { message: 'Rotation angle must be a number' });
@@ -125,12 +121,10 @@ export function MatrixRotation3DRoll(radians) {
125
121
  * @throws {Error} If radians is not a finite number
126
122
  *
127
123
  * @example
128
- * ```typescript
129
- * ```typescript
130
- * // 30-degree pitch up
131
- * const pitchMatrix = MatrixRotation3DPitch(Math.PI / 6);
132
- * ```
133
- * ```
124
+ * ```typescript
125
+ * // 30-degree pitch up
126
+ * const pitchMatrix = MatrixRotation3DPitch(Math.PI / 6);
127
+ * ```
134
128
  */
135
129
  export function MatrixRotation3DPitch(radians) {
136
130
  AssertNumber(radians, { finite: true }, { message: 'Rotation angle must be a number' });
@@ -164,12 +158,10 @@ export function MatrixRotation3DPitch(radians) {
164
158
  * @throws {Error} If radians is not a finite number
165
159
  *
166
160
  * @example
167
- * ```typescript
168
- * ```typescript
169
- * // 60-degree yaw left
170
- * const yawMatrix = MatrixRotation3DYaw(Math.PI / 3);
171
- * ```
172
- * ```
161
+ * ```typescript
162
+ * // 60-degree yaw left
163
+ * const yawMatrix = MatrixRotation3DYaw(Math.PI / 3);
164
+ * ```
173
165
  */
174
166
  export function MatrixRotation3DYaw(radians) {
175
167
  AssertNumber(radians, { finite: true }, { message: 'Rotation angle must be a number' });
@@ -298,15 +290,13 @@ export function MatrixScale3D(scaleOrX, y, z) {
298
290
  * @throws {Error} If the input is not a valid 2D vector
299
291
  *
300
292
  * @example
301
- * ```typescript
302
- * ```typescript
303
- * // Move 10 units right, 5 units up
304
- * const translation = MatrixTranslation2D(10, 5);
305
- * // Using vector input
306
- * const offset: TVector2 = [10, 5];
307
- * const translation2 = MatrixTranslation2D(...offset);
308
- * ```
309
- * ```
293
+ * ```typescript
294
+ * // Move 10 units right, 5 units up
295
+ * const translation = MatrixTranslation2D(10, 5);
296
+ * // Using vector input
297
+ * const offset: TVector2 = [10, 5];
298
+ * const translation2 = MatrixTranslation2D(...offset);
299
+ * ```
310
300
  */
311
301
  export function MatrixTranslation2D(...v) {
312
302
  // Called with vector parameter using spread syntax
@@ -371,20 +361,18 @@ export function MatrixTranslation3D(translationOrX, y, z) {
371
361
  * @throws {Error} If inputs are not valid vector/matrix types
372
362
  *
373
363
  * @example
374
- * ```typescript
375
- * ```typescript
376
- * // Rotate a point 90 degrees counterclockwise
377
- * const rotationMatrix = MatrixRotation2D(Math.PI / 2);
378
- * const point: TVector2 = [1, 0];
379
- * const rotatedPoint = MatrixTransform2D(point, rotationMatrix);
380
- * // Result: approximately [0, 1]
381
- * // Chain multiple transformations
382
- * const scale = MatrixScale2D(2, 2);
383
- * const translate = MatrixTranslation2D(5, 3);
384
- * const combined = MatrixMultiply(translate, scale);
385
- * const transformedPoint = MatrixTransform2D(point, combined);
386
- * ```
387
- * ```
364
+ * ```typescript
365
+ * // Rotate a point 90 degrees counterclockwise
366
+ * const rotationMatrix = MatrixRotation2D(Math.PI / 2);
367
+ * const point: TVector2 = [1, 0];
368
+ * const rotatedPoint = MatrixTransform2D(point, rotationMatrix);
369
+ * // Result: approximately [0, 1]
370
+ * // Chain multiple transformations
371
+ * const scale = MatrixScale2D(2, 2);
372
+ * const translate = MatrixTranslation2D(5, 3);
373
+ * const combined = MatrixMultiply(translate, scale);
374
+ * const transformedPoint = MatrixTransform2D(point, combined);
375
+ * ```
388
376
  */
389
377
  export function MatrixTransform2D(vector, matrix) {
390
378
  AssertVector2(vector);
@@ -413,13 +401,11 @@ export function MatrixTransform2D(vector, matrix) {
413
401
  * @throws {Error} If the w component is near zero (degenerate transformation).
414
402
  *
415
403
  * @example
416
- * ```typescript
417
- * ```typescript
418
- * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
419
- * const point: TVector3 = [1, 0, 0];
420
- * const rotatedPoint = MatrixTransform3D(point, rotationMatrix);
421
- * ```
422
- * ```
404
+ * ```typescript
405
+ * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
406
+ * const point: TVector3 = [1, 0, 0];
407
+ * const rotatedPoint = MatrixTransform3D(point, rotationMatrix);
408
+ * ```
423
409
  */
424
410
  export function MatrixTransform3D(vector, transform) {
425
411
  AssertMatrix4(transform);
@@ -448,13 +434,11 @@ export function MatrixTransform3D(vector, transform) {
448
434
  * @returns {TVector3} The transformed direction vector.
449
435
  *
450
436
  * @example
451
- * ```typescript
452
- * ```typescript
453
- * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
454
- * const normal: TVector3 = [0, 0, 1];
455
- * const rotatedNormal = MatrixDirection3D(normal, rotationMatrix);
456
- * ```
457
- * ```
437
+ * ```typescript
438
+ * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
439
+ * const normal: TVector3 = [0, 0, 1];
440
+ * const rotatedNormal = MatrixDirection3D(normal, rotationMatrix);
441
+ * ```
458
442
  */
459
443
  export function MatrixDirection3D(direction, matrix) {
460
444
  AssertMatrix3(matrix);
@@ -476,15 +460,13 @@ export function MatrixDirection3D(direction, matrix) {
476
460
  * @returns {TMatrix4} A 4x4 view transformation matrix.
477
461
  *
478
462
  * @example
479
- * ```typescript
480
- * ```typescript
481
- * const viewMatrix = MatrixView(
482
- * [10, 5, 10], // Camera position
483
- * [0, 0, 0], // Looking at origin
484
- * [0, 1, 0] // Y-axis is up
485
- * );
486
- * ```
487
- * ```
463
+ * ```typescript
464
+ * const viewMatrix = MatrixView(
465
+ * [10, 5, 10], // Camera position
466
+ * [0, 0, 0], // Looking at origin
467
+ * [0, 1, 0] // Y-axis is up
468
+ * );
469
+ * ```
488
470
  */
489
471
  export function MatrixView(eye, target, up) {
490
472
  AssertVector3(eye);
@@ -527,16 +509,14 @@ export function MatrixView(eye, target, up) {
527
509
  * @throws {Error} If parameters are invalid.
528
510
  *
529
511
  * @example
530
- * ```typescript
531
- * ```typescript
532
- * const perspectiveMatrix = MatrixPerspective(
533
- * Math.PI / 4, // 45-degree field of view
534
- * 16 / 9, // Widescreen aspect ratio
535
- * 0.1, // Near plane
536
- * 1000 // Far plane
537
- * );
538
- * ```
539
- * ```
512
+ * ```typescript
513
+ * const perspectiveMatrix = MatrixPerspective(
514
+ * Math.PI / 4, // 45-degree field of view
515
+ * 16 / 9, // Widescreen aspect ratio
516
+ * 0.1, // Near plane
517
+ * 1000 // Far plane
518
+ * );
519
+ * ```
540
520
  */
541
521
  export function MatrixPerspective(fovY, aspect, near, far) {
542
522
  AssertNumber(near, { gt: 0 }, { message: 'Near clipping plane must be greater than 0' });
@@ -573,15 +553,13 @@ export function MatrixPerspective(fovY, aspect, near, far) {
573
553
  * @throws {Error} If any opposing boundaries are equal.
574
554
  *
575
555
  * @example
576
- * ```typescript
577
- * ```typescript
578
- * const orthoMatrix = MatrixOrthographic(
579
- * -10, 10, // Left/Right: 20 units wide
580
- * -7.5, 7.5, // Bottom/Top: 15 units tall
581
- * -100, 100 // Near/Far: 200 units deep
582
- * );
583
- * ```
584
- * ```
556
+ * ```typescript
557
+ * const orthoMatrix = MatrixOrthographic(
558
+ * -10, 10, // Left/Right: 20 units wide
559
+ * -7.5, 7.5, // Bottom/Top: 15 units tall
560
+ * -100, 100 // Near/Far: 200 units deep
561
+ * );
562
+ * ```
585
563
  */
586
564
  export function MatrixOrthographic(left, right, bottom, top, near, far) {
587
565
  AssertNotEquals(left, right, { message: 'Left and right bounds must not be equal' });
@@ -1 +1 @@
1
- {"version":3,"file":"transformations.js","sourceRoot":"","sources":["../../src/matrices/transformations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformations.js","sourceRoot":"","sources":["../../src/matrices/transformations.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import z from 'zod';
1
2
  /**
2
3
  * Matrix type definitions for linear algebra operations.
3
4
  * Provides comprehensive type definitions for matrices of various sizes and related operations.
@@ -7,99 +8,64 @@
7
8
  * Used for matrices of arbitrary dimensions (m×n).
8
9
  *
9
10
  * @example
10
- * const matrix: IMatrix = [[1, 2, 3], [4, 5, 6]]; // 2×3 matrix
11
- * const square: IMatrix = [[1, 2], [3, 4]]; // 2×2 square matrix
11
+ * ```typescript
12
+ * const matrix: TMatrix = [[1, 2, 3], [4, 5, 6]]; // 2×3 matrix
13
+ * const square: TMatrix = [[1, 2], [3, 4]]; // 2×2 square matrix
14
+ * ```
12
15
  */
13
- export type TMatrix = number[][];
16
+ export declare const MATRIX_SCHEMA: z.ZodArray<z.ZodArray<z.ZodNumber>>;
17
+ export type TMatrix = z.infer<typeof MATRIX_SCHEMA>;
14
18
  /**
15
19
  * 1×1 matrix type for scalar operations in matrix form.
16
20
  * Useful for maintaining type consistency in matrix operations.
17
21
  *
18
22
  * @example
19
- * const scalar: IMatrix1 = [[5]]; // Single value in matrix format
23
+ * ```typescript
24
+ * const scalar: TMatrix1 = [[5]]; // Single value in matrix format
25
+ * ```
20
26
  */
21
- export type TMatrix1 = [[number]];
27
+ export declare const MATRIX1_SCHEMA: z.ZodArray<z.ZodArray<z.ZodNumber>>;
28
+ export type TMatrix1 = z.infer<typeof MATRIX1_SCHEMA>;
22
29
  /**
23
30
  * 2×2 matrix type commonly used for 2D transformations.
24
31
  * Frequently used in computer graphics and 2D geometry operations.
25
32
  *
26
33
  * @example
27
- * const rotation2D: IMatrix2 = [[0, -1], [1, 0]]; // 90° rotation matrix
28
- * const scale2D: IMatrix2 = [[2, 0], [0, 3]]; // Scale transformation
34
+ * ```typescript
35
+ * const rotation2D: TMatrix2 = [[0, -1], [1, 0]]; // 90° rotation matrix
36
+ * const scale2D: TMatrix2 = [[2, 0], [0, 3]]; // Scale transformation
37
+ * ```
29
38
  */
30
- export type TMatrix2 = [
31
- [
32
- number,
33
- number
34
- ],
35
- [
36
- number,
37
- number
38
- ]
39
- ];
39
+ export declare const MATRIX2_SCHEMA: z.ZodArray<z.ZodArray<z.ZodNumber>>;
40
+ export type TMatrix2 = z.infer<typeof MATRIX2_SCHEMA>;
40
41
  /**
41
42
  * 3×3 matrix type commonly used for 2D transformations with translation
42
43
  * or 3D rotations. Standard size for homogeneous 2D coordinates.
43
44
  *
44
45
  * @example
46
+ * ```typescript
45
47
  * const transform2D: TMatrix3|TMatrix4 = [[1, 0, 5], [0, 1, 10], [0, 0, 1]]; // Translation
46
48
  * const rotation3D: TMatrix3|TMatrix4 = [[1, 0, 0], [0, 0, -1], [0, 1, 0]]; // X-axis rotation
49
+ * ```
47
50
  */
48
- export type TMatrix3 = [
49
- [
50
- number,
51
- number,
52
- number
53
- ],
54
- [
55
- number,
56
- number,
57
- number
58
- ],
59
- [
60
- number,
61
- number,
62
- number
63
- ]
64
- ];
51
+ export declare const MATRIX3_SCHEMA: z.ZodArray<z.ZodArray<z.ZodNumber>>;
52
+ export type TMatrix3 = z.infer<typeof MATRIX3_SCHEMA>;
65
53
  /**
66
54
  * 4×4 matrix type commonly used for 3D transformations.
67
55
  * Standard size for homogeneous 3D coordinates and transformation pipelines.
68
56
  *
69
57
  * @example
58
+ * ```typescript
70
59
  * const transform3D: TMatrix3|TMatrix4 = [
71
60
  * [1, 0, 0, 5], // Translation in X
72
61
  * [0, 1, 0, 10], // Translation in Y
73
62
  * [0, 0, 1, 15], // Translation in Z
74
63
  * [0, 0, 0, 1] // Homogeneous coordinate
75
64
  * ];
65
+ * ```
76
66
  */
77
- export type TMatrix4 = [
78
- [
79
- number,
80
- number,
81
- number,
82
- number
83
- ],
84
- [
85
- number,
86
- number,
87
- number,
88
- number
89
- ],
90
- [
91
- number,
92
- number,
93
- number,
94
- number
95
- ],
96
- [
97
- number,
98
- number,
99
- number,
100
- number
101
- ]
102
- ];
67
+ export declare const MATRIX4_SCHEMA: z.ZodArray<z.ZodArray<z.ZodNumber>>;
68
+ export type TMatrix4 = z.infer<typeof MATRIX4_SCHEMA>;
103
69
  /**
104
70
  * Configuration options for matrix operations.
105
71
  * Provides control over how matrix operations are performed.
@@ -115,9 +81,11 @@ export interface IMatrixOperationOptions {
115
81
  * Useful for functions that can accept matrices of any size.
116
82
  *
117
83
  * @example
84
+ * ```typescript
118
85
  * function processMatrix(matrix: TMatrix): void {
119
86
  * // Can handle any matrix size
120
87
  * }
88
+ * ```
121
89
  */
122
90
  export type TMatrixAll = TMatrix1 | TMatrix2 | TMatrix3 | TMatrix4 | TMatrix;
123
91
  /**
@@ -126,9 +94,13 @@ export type TMatrixAll = TMatrix1 | TMatrix2 | TMatrix3 | TMatrix4 | TMatrix;
126
94
  *
127
95
  * @template T - The input matrix type extending TMatrix
128
96
  * @example
97
+ * ```typescript
129
98
  * function operation<T extends TMatrix>(matrix: T): TMatrixResult<T> {
130
99
  * // Returns same specific type as input
131
100
  * }
101
+ * ```
132
102
  */
133
103
  export type TMatrixResult<T extends TMatrix> = T extends TMatrix1 ? TMatrix1 : T extends TMatrix2 ? TMatrix2 : T extends TMatrix3 ? TMatrix3 : T extends TMatrix4 ? TMatrix4 : TMatrix;
104
+ export declare const MATRIX_SQUARE_SCHEMA: z.ZodArray<z.ZodArray<z.ZodNumber>>;
105
+ export type TMatrixSquare = z.infer<typeof MATRIX_SQUARE_SCHEMA>;
134
106
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/matrices/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,MAAM,MAAM,OAAO,GAAG,MAAM,EAAE,EAAE,CAAC;AAEjC;;;;;;GAMG;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAElC;;;;;;;GAOG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACtB;QAAC,MAAM;QAAE,MAAM;KAAC;IAChB;QAAC,MAAM;QAAE,MAAM;KAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACtB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IACxB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IACxB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;CACxB,CAAC;AAEF;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACtB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IAChC;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IAChC;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IAChC;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACvC,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/matrices/types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB;;;GAGG;AAEH;;;;;;;;;GASG;AAEH,eAAO,MAAM,aAAa,qCAGkC,CAAC;AAC7D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc,qCAA8M,CAAC;AAC1O,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,qCAAoP,CAAC;AAChR,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,qCAA2Q,CAAC;AACvS,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,qCAAkS,CAAC;AAC9T,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACvC,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEvL,eAAO,MAAM,oBAAoB,qCAAwJ,CAAC;AAC1L,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -1,6 +1,68 @@
1
+ import z from 'zod';
1
2
  /**
2
3
  * Matrix type definitions for linear algebra operations.
3
4
  * Provides comprehensive type definitions for matrices of various sizes and related operations.
4
5
  */
5
- export {};
6
+ /**
7
+ * General matrix type representing a 2D array of numbers.
8
+ * Used for matrices of arbitrary dimensions (m×n).
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * const matrix: TMatrix = [[1, 2, 3], [4, 5, 6]]; // 2×3 matrix
13
+ * const square: TMatrix = [[1, 2], [3, 4]]; // 2×2 square matrix
14
+ * ```
15
+ */
16
+ export const MATRIX_SCHEMA = z.array(z.array(z.number())).refine(arr => arr.length > 0 && arr.every(row => row.length > 0), { message: 'Matrix must have at least one row and one column' }).refine(arr => {
17
+ const firstRowLength = arr[0]?.length ?? 0;
18
+ return arr.every(row => row.length === firstRowLength);
19
+ }, { message: 'All matrix rows must have the same length' });
20
+ /**
21
+ * 1×1 matrix type for scalar operations in matrix form.
22
+ * Useful for maintaining type consistency in matrix operations.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const scalar: TMatrix1 = [[5]]; // Single value in matrix format
27
+ * ```
28
+ */
29
+ export const MATRIX1_SCHEMA = z.array(z.array(z.number())).refine(arr => arr.length === 1 && arr[0].length === 1, { message: 'Matrix must be exactly 1×1' }).refine(arr => arr[0].length > 0, { message: 'Matrix rows cannot be empty' });
30
+ /**
31
+ * 2×2 matrix type commonly used for 2D transformations.
32
+ * Frequently used in computer graphics and 2D geometry operations.
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * const rotation2D: TMatrix2 = [[0, -1], [1, 0]]; // 90° rotation matrix
37
+ * const scale2D: TMatrix2 = [[2, 0], [0, 3]]; // Scale transformation
38
+ * ```
39
+ */
40
+ export const MATRIX2_SCHEMA = z.array(z.array(z.number())).refine(arr => arr.length === 2 && arr[0].length === 2 && arr[1].length === 2, { message: 'Matrix must be exactly 2×2' }).refine(arr => arr.every(row => row.length > 0), { message: 'Matrix rows cannot be empty' });
41
+ /**
42
+ * 3×3 matrix type commonly used for 2D transformations with translation
43
+ * or 3D rotations. Standard size for homogeneous 2D coordinates.
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const transform2D: TMatrix3|TMatrix4 = [[1, 0, 5], [0, 1, 10], [0, 0, 1]]; // Translation
48
+ * const rotation3D: TMatrix3|TMatrix4 = [[1, 0, 0], [0, 0, -1], [0, 1, 0]]; // X-axis rotation
49
+ * ```
50
+ */
51
+ export const MATRIX3_SCHEMA = z.array(z.array(z.number())).refine(arr => arr.length === 3 && arr[0].length === 3 && arr[1].length === 3 && arr[2].length === 3, { message: 'Matrix must be exactly 3×3' }).refine(arr => arr.every(row => row.length > 0), { message: 'Matrix rows cannot be empty' });
52
+ /**
53
+ * 4×4 matrix type commonly used for 3D transformations.
54
+ * Standard size for homogeneous 3D coordinates and transformation pipelines.
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * const transform3D: TMatrix3|TMatrix4 = [
59
+ * [1, 0, 0, 5], // Translation in X
60
+ * [0, 1, 0, 10], // Translation in Y
61
+ * [0, 0, 1, 15], // Translation in Z
62
+ * [0, 0, 0, 1] // Homogeneous coordinate
63
+ * ];
64
+ * ```
65
+ */
66
+ export const MATRIX4_SCHEMA = z.array(z.array(z.number())).refine(arr => arr.length === 4 && arr[0].length === 4 && arr[1].length === 4 && arr[2].length === 4 && arr[3].length === 4, { message: 'Matrix must be exactly 4×4' }).refine(arr => arr.every(row => row.length > 0), { message: 'Matrix rows cannot be empty' });
67
+ export const MATRIX_SQUARE_SCHEMA = z.array(z.array(z.number())).refine(arr => arr.length > 0 && arr.every(row => row.length === arr.length), { message: 'Matrix must be square (m×m)' });
6
68
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/matrices/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/matrices/types.ts"],"names":[],"mappings":"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"}