curvy 0.3.3 → 1.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 (95) hide show
  1. package/LICENSE.md +21 -0
  2. package/dist/curve/cubic2d.d.mts +27 -0
  3. package/dist/curve/cubic2d.d.ts +27 -0
  4. package/dist/curve/cubic2d.mjs +85 -0
  5. package/dist/curve/linear2d.d.mts +27 -0
  6. package/dist/curve/linear2d.d.ts +27 -0
  7. package/dist/curve/linear2d.mjs +46 -0
  8. package/dist/curve/quadratic2d.d.mts +27 -0
  9. package/dist/curve/quadratic2d.d.ts +27 -0
  10. package/dist/curve/quadratic2d.mjs +74 -0
  11. package/dist/interval.d.mts +58 -0
  12. package/dist/interval.d.ts +58 -0
  13. package/dist/interval.mjs +88 -0
  14. package/dist/matrix/matrix2x2.d.mts +49 -0
  15. package/dist/matrix/matrix2x2.d.ts +49 -0
  16. package/dist/matrix/matrix2x2.mjs +23 -0
  17. package/dist/matrix/matrix3x3.d.mts +63 -0
  18. package/dist/matrix/matrix3x3.d.ts +63 -0
  19. package/dist/matrix/matrix3x3.mjs +26 -0
  20. package/dist/matrix/matrix4x4.d.mts +72 -0
  21. package/dist/matrix/matrix4x4.d.ts +72 -0
  22. package/dist/matrix/matrix4x4.mjs +214 -0
  23. package/dist/path/cubic2d.d.mts +29 -0
  24. package/dist/path/cubic2d.d.ts +29 -0
  25. package/dist/path/cubic2d.mjs +60 -0
  26. package/dist/path/linear2d.d.mts +29 -0
  27. package/dist/path/linear2d.d.ts +29 -0
  28. package/dist/path/linear2d.mjs +54 -0
  29. package/dist/path/quadratic2d.d.mts +29 -0
  30. package/dist/path/quadratic2d.d.ts +29 -0
  31. package/dist/path/quadratic2d.mjs +60 -0
  32. package/dist/polynomial/cubic.d.mts +7 -0
  33. package/dist/polynomial/cubic.d.ts +7 -0
  34. package/dist/polynomial/cubic.mjs +139 -0
  35. package/dist/polynomial/linear.d.mts +7 -0
  36. package/dist/polynomial/linear.d.ts +7 -0
  37. package/dist/polynomial/linear.mjs +19 -0
  38. package/dist/polynomial/quadratic.d.mts +7 -0
  39. package/dist/polynomial/quadratic.d.ts +7 -0
  40. package/dist/polynomial/quadratic.mjs +22 -0
  41. package/dist/shared/curvy.BAW_cKLu.mjs +123 -0
  42. package/dist/shared/curvy.BN-oFBsc.d.mts +26 -0
  43. package/dist/shared/curvy.BN-oFBsc.d.ts +26 -0
  44. package/dist/shared/curvy.Bxxwly94.d.mts +144 -0
  45. package/dist/shared/curvy.C-sUk7ux.mjs +119 -0
  46. package/dist/shared/curvy.CLzGuqek.mjs +124 -0
  47. package/dist/shared/curvy.CO0Wclt0.d.ts +144 -0
  48. package/dist/shared/curvy.CT38g_II.d.mts +22 -0
  49. package/dist/shared/curvy.CT38g_II.d.ts +22 -0
  50. package/dist/shared/curvy.ChkqgKuv.mjs +119 -0
  51. package/dist/shared/curvy.Cty3LrOR.mjs +70 -0
  52. package/dist/shared/curvy.D7bhnwZy.mjs +52 -0
  53. package/dist/shared/curvy.DOLqYbKE.mjs +48 -0
  54. package/dist/shared/curvy.DgRsieUW.mjs +76 -0
  55. package/dist/shared/curvy.DmVFTi0N.mjs +34 -0
  56. package/dist/splines/bezier2d.d.mts +35 -0
  57. package/dist/splines/bezier2d.d.ts +35 -0
  58. package/dist/splines/bezier2d.mjs +122 -0
  59. package/dist/vector/vector2.d.mts +37 -0
  60. package/dist/vector/vector2.d.ts +37 -0
  61. package/dist/vector/vector2.mjs +16 -0
  62. package/dist/vector/vector3.d.mts +38 -0
  63. package/dist/vector/vector3.d.ts +38 -0
  64. package/dist/vector/vector3.mjs +16 -0
  65. package/dist/vector/vector4.d.mts +39 -0
  66. package/dist/vector/vector4.d.ts +39 -0
  67. package/dist/vector/vector4.mjs +16 -0
  68. package/package.json +78 -37
  69. package/dist/axis.cjs +0 -14
  70. package/dist/axis.d.cts +0 -20
  71. package/dist/axis.d.mts +0 -20
  72. package/dist/axis.d.ts +0 -20
  73. package/dist/axis.mjs +0 -3
  74. package/dist/convert.cjs +0 -74
  75. package/dist/convert.d.cts +0 -6
  76. package/dist/convert.d.mts +0 -6
  77. package/dist/convert.d.ts +0 -6
  78. package/dist/convert.mjs +0 -68
  79. package/dist/curve.cjs +0 -365
  80. package/dist/curve.d.cts +0 -20
  81. package/dist/curve.d.mts +0 -20
  82. package/dist/curve.d.ts +0 -20
  83. package/dist/curve.mjs +0 -354
  84. package/dist/shared/curvy.262f6070.cjs +0 -16
  85. package/dist/shared/curvy.7876e09e.mjs +0 -323
  86. package/dist/shared/curvy.9cd8b44c.mjs +0 -13
  87. package/dist/shared/curvy.db103082.cjs +0 -335
  88. package/dist/shared/curvy.df73166c.d.cts +0 -38
  89. package/dist/shared/curvy.df73166c.d.mts +0 -38
  90. package/dist/shared/curvy.df73166c.d.ts +0 -38
  91. package/dist/splines.cjs +0 -150
  92. package/dist/splines.d.cts +0 -27
  93. package/dist/splines.d.mts +0 -27
  94. package/dist/splines.d.ts +0 -27
  95. package/dist/splines.mjs +0 -138
@@ -0,0 +1,49 @@
1
+ import { c as TwoDimensionalIndex, d as TwoDimensionalComponent } from '../shared/curvy.CT38g_II.js';
2
+ import { P as Pipeable } from '../shared/curvy.BN-oFBsc.js';
3
+ import { Vector2 } from '../vector/vector2.js';
4
+
5
+ declare const Matrix2x2TypeId: unique symbol;
6
+ type Matrix2x2TypeId = typeof Matrix2x2TypeId;
7
+
8
+ type Matrix2x2Coordinate = TwoDimensionalIndex | TwoDimensionalComponent;
9
+ interface Matrix2x2 extends Pipeable {
10
+ readonly [Matrix2x2TypeId]: Matrix2x2TypeId;
11
+ readonly m00: number;
12
+ readonly m01: number;
13
+ readonly m10: number;
14
+ readonly m11: number;
15
+ }
16
+ declare const isMatrix2x2: (m: unknown) => m is Matrix2x2;
17
+ declare const matrix2x2: (m00?: number, m01?: number, m10?: number, m11?: number) => Matrix2x2;
18
+ declare const fromRows: (v0: Vector2, v1: Vector2) => Matrix2x2;
19
+ declare const fromColumns: (v0: Vector2, v1: Vector2) => Matrix2x2;
20
+ declare const setRow: {
21
+ (m: Matrix2x2, row: Matrix2x2Coordinate, v: Vector2): Matrix2x2;
22
+ (row: Matrix2x2Coordinate, v: Vector2): (m: Matrix2x2) => Matrix2x2;
23
+ };
24
+ declare const setColumn: {
25
+ (m: Matrix2x2, column: Matrix2x2Coordinate, v: Vector2): Matrix2x2;
26
+ (column: Matrix2x2Coordinate, v: Vector2): (m: Matrix2x2) => Matrix2x2;
27
+ };
28
+ declare const determinant: (m: Matrix2x2) => number;
29
+ declare const vectorProductLeft: {
30
+ (m: Matrix2x2, v: Vector2): Vector2;
31
+ (v: Vector2): (m: Matrix2x2) => Vector2;
32
+ };
33
+ declare const vectorProductRight: {
34
+ (m: Matrix2x2, v: Vector2): Vector2;
35
+ (v: Vector2): (m: Matrix2x2) => Vector2;
36
+ };
37
+ declare const solveSystem: {
38
+ (m: Matrix2x2, v: Vector2): Vector2;
39
+ (v: Vector2): (m: Matrix2x2) => Vector2;
40
+ };
41
+ declare const toRows: (m: Matrix2x2) => [Vector2, Vector2];
42
+ declare const toColumns: (m: Matrix2x2) => [Vector2, Vector2];
43
+ declare const rowVector: (m: Matrix2x2, row: Matrix2x2Coordinate) => Vector2;
44
+ declare const columnVector: (m: Matrix2x2, column: Matrix2x2Coordinate) => Vector2;
45
+ declare const transpose: (m: Matrix2x2) => Matrix2x2;
46
+ declare const reverseRows: (m: Matrix2x2) => Matrix2x2;
47
+ declare const reverseColumns: (m: Matrix2x2) => Matrix2x2;
48
+
49
+ export { type Matrix2x2, type Matrix2x2Coordinate, columnVector, determinant, fromColumns, fromRows, isMatrix2x2, matrix2x2, reverseColumns, reverseRows, rowVector, setColumn, setRow, solveSystem, toColumns, toRows, transpose, vectorProductLeft, vectorProductRight };
@@ -0,0 +1,23 @@
1
+ import { i as isMatrix2x2$1, m as make, f as fromRows$1, a as fromColumns$1, s as setRow$1, b as setColumn$1, d as determinant$1, v as vectorProductLeft$1, c as vectorProductRight$1, e as solveSystem$1, t as toRows$1, g as toColumns$1, r as rowVector$1, h as columnVector$1, j as transpose$1, k as reverseRows$1, l as reverseColumns$1 } from '../shared/curvy.C-sUk7ux.mjs';
2
+ import '../shared/curvy.ChkqgKuv.mjs';
3
+ import '../shared/curvy.DOLqYbKE.mjs';
4
+
5
+ const isMatrix2x2 = isMatrix2x2$1;
6
+ const matrix2x2 = make;
7
+ const fromRows = fromRows$1;
8
+ const fromColumns = fromColumns$1;
9
+ const setRow = setRow$1;
10
+ const setColumn = setColumn$1;
11
+ const determinant = determinant$1;
12
+ const vectorProductLeft = vectorProductLeft$1;
13
+ const vectorProductRight = vectorProductRight$1;
14
+ const solveSystem = solveSystem$1;
15
+ const toRows = toRows$1;
16
+ const toColumns = toColumns$1;
17
+ const rowVector = rowVector$1;
18
+ const columnVector = columnVector$1;
19
+ const transpose = transpose$1;
20
+ const reverseRows = reverseRows$1;
21
+ const reverseColumns = reverseColumns$1;
22
+
23
+ export { columnVector, determinant, fromColumns, fromRows, isMatrix2x2, matrix2x2, reverseColumns, reverseRows, rowVector, setColumn, setRow, solveSystem, toColumns, toRows, transpose, vectorProductLeft, vectorProductRight };
@@ -0,0 +1,63 @@
1
+ import { T as ThreeDimensionalIndex, b as ThreeDimensionalComponent } from '../shared/curvy.CT38g_II.mjs';
2
+ import { Vector3 } from '../vector/vector3.mjs';
3
+ import { Matrix2x2 } from './matrix2x2.mjs';
4
+ import '../shared/curvy.BN-oFBsc.mjs';
5
+ import '../vector/vector2.mjs';
6
+
7
+ declare const Matrix3x3TypeId: unique symbol;
8
+ type Matrix3x3TypeId = typeof Matrix3x3TypeId;
9
+
10
+ type Matrix3x3Coordinate = ThreeDimensionalIndex | ThreeDimensionalComponent;
11
+ interface Matrix3x3 {
12
+ readonly [Matrix3x3TypeId]: Matrix3x3TypeId;
13
+ readonly m00: number;
14
+ readonly m01: number;
15
+ readonly m02: number;
16
+ readonly m10: number;
17
+ readonly m11: number;
18
+ readonly m12: number;
19
+ readonly m20: number;
20
+ readonly m21: number;
21
+ readonly m22: number;
22
+ }
23
+ declare const isMatrix3x3: (m: unknown) => m is Matrix3x3;
24
+ declare const matrix3x3: (m00?: number, m01?: number, m02?: number, m10?: number, m11?: number, m12?: number, m20?: number, m21?: number, m22?: number) => Matrix3x3;
25
+ declare const fromRows: (v0: Vector3, v1: Vector3, v2: Vector3) => Matrix3x3;
26
+ declare const fromColumns: (v0: Vector3, v1: Vector3, v2: Vector3) => Matrix3x3;
27
+ declare const setRow: {
28
+ (m: Matrix3x3, row: Matrix3x3Coordinate, v: Vector3): Matrix3x3;
29
+ (row: Matrix3x3Coordinate, v: Vector3): (m: Matrix3x3) => Matrix3x3;
30
+ };
31
+ declare const setColumn: {
32
+ (m: Matrix3x3, column: Matrix3x3Coordinate, v: Vector3): Matrix3x3;
33
+ (column: Matrix3x3Coordinate, v: Vector3): (m: Matrix3x3) => Matrix3x3;
34
+ };
35
+ declare const determinant: (m: Matrix3x3) => number;
36
+ declare const minor: (m: Matrix3x3, row: Matrix3x3Coordinate, column: Matrix3x3Coordinate) => Matrix2x2;
37
+ declare const vectorProductLeft: {
38
+ (m: Matrix3x3, v: Vector3): Vector3;
39
+ (v: Vector3): (m: Matrix3x3) => Vector3;
40
+ };
41
+ declare const vectorProductRight: {
42
+ (m: Matrix3x3, v: Vector3): Vector3;
43
+ (v: Vector3): (m: Matrix3x3) => Vector3;
44
+ };
45
+ declare const solveSystem: {
46
+ (m: Matrix3x3, v: Vector3): Vector3;
47
+ (v: Vector3): (m: Matrix3x3) => Vector3;
48
+ };
49
+ declare const toRows: (m: Matrix3x3) => [Vector3, Vector3, Vector3];
50
+ declare const toColumns: (m: Matrix3x3) => [Vector3, Vector3, Vector3];
51
+ declare const rowVector: {
52
+ (m: Matrix3x3, row: Matrix3x3Coordinate): Vector3;
53
+ (row: Matrix3x3Coordinate): (m: Matrix3x3) => Vector3;
54
+ };
55
+ declare const columnVector: {
56
+ (m: Matrix3x3, column: Matrix3x3Coordinate): Vector3;
57
+ (column: Matrix3x3Coordinate): (m: Matrix3x3) => Vector3;
58
+ };
59
+ declare const transpose: (m: Matrix3x3) => Matrix3x3;
60
+ declare const reverseRows: (m: Matrix3x3) => Matrix3x3;
61
+ declare const reverseColumns: (m: Matrix3x3) => Matrix3x3;
62
+
63
+ export { type Matrix3x3, type Matrix3x3Coordinate, columnVector, determinant, fromColumns, fromRows, isMatrix3x3, matrix3x3, minor, reverseColumns, reverseRows, rowVector, setColumn, setRow, solveSystem, toColumns, toRows, transpose, vectorProductLeft, vectorProductRight };
@@ -0,0 +1,63 @@
1
+ import { T as ThreeDimensionalIndex, b as ThreeDimensionalComponent } from '../shared/curvy.CT38g_II.js';
2
+ import { Vector3 } from '../vector/vector3.js';
3
+ import { Matrix2x2 } from './matrix2x2.js';
4
+ import '../shared/curvy.BN-oFBsc.js';
5
+ import '../vector/vector2.js';
6
+
7
+ declare const Matrix3x3TypeId: unique symbol;
8
+ type Matrix3x3TypeId = typeof Matrix3x3TypeId;
9
+
10
+ type Matrix3x3Coordinate = ThreeDimensionalIndex | ThreeDimensionalComponent;
11
+ interface Matrix3x3 {
12
+ readonly [Matrix3x3TypeId]: Matrix3x3TypeId;
13
+ readonly m00: number;
14
+ readonly m01: number;
15
+ readonly m02: number;
16
+ readonly m10: number;
17
+ readonly m11: number;
18
+ readonly m12: number;
19
+ readonly m20: number;
20
+ readonly m21: number;
21
+ readonly m22: number;
22
+ }
23
+ declare const isMatrix3x3: (m: unknown) => m is Matrix3x3;
24
+ declare const matrix3x3: (m00?: number, m01?: number, m02?: number, m10?: number, m11?: number, m12?: number, m20?: number, m21?: number, m22?: number) => Matrix3x3;
25
+ declare const fromRows: (v0: Vector3, v1: Vector3, v2: Vector3) => Matrix3x3;
26
+ declare const fromColumns: (v0: Vector3, v1: Vector3, v2: Vector3) => Matrix3x3;
27
+ declare const setRow: {
28
+ (m: Matrix3x3, row: Matrix3x3Coordinate, v: Vector3): Matrix3x3;
29
+ (row: Matrix3x3Coordinate, v: Vector3): (m: Matrix3x3) => Matrix3x3;
30
+ };
31
+ declare const setColumn: {
32
+ (m: Matrix3x3, column: Matrix3x3Coordinate, v: Vector3): Matrix3x3;
33
+ (column: Matrix3x3Coordinate, v: Vector3): (m: Matrix3x3) => Matrix3x3;
34
+ };
35
+ declare const determinant: (m: Matrix3x3) => number;
36
+ declare const minor: (m: Matrix3x3, row: Matrix3x3Coordinate, column: Matrix3x3Coordinate) => Matrix2x2;
37
+ declare const vectorProductLeft: {
38
+ (m: Matrix3x3, v: Vector3): Vector3;
39
+ (v: Vector3): (m: Matrix3x3) => Vector3;
40
+ };
41
+ declare const vectorProductRight: {
42
+ (m: Matrix3x3, v: Vector3): Vector3;
43
+ (v: Vector3): (m: Matrix3x3) => Vector3;
44
+ };
45
+ declare const solveSystem: {
46
+ (m: Matrix3x3, v: Vector3): Vector3;
47
+ (v: Vector3): (m: Matrix3x3) => Vector3;
48
+ };
49
+ declare const toRows: (m: Matrix3x3) => [Vector3, Vector3, Vector3];
50
+ declare const toColumns: (m: Matrix3x3) => [Vector3, Vector3, Vector3];
51
+ declare const rowVector: {
52
+ (m: Matrix3x3, row: Matrix3x3Coordinate): Vector3;
53
+ (row: Matrix3x3Coordinate): (m: Matrix3x3) => Vector3;
54
+ };
55
+ declare const columnVector: {
56
+ (m: Matrix3x3, column: Matrix3x3Coordinate): Vector3;
57
+ (column: Matrix3x3Coordinate): (m: Matrix3x3) => Vector3;
58
+ };
59
+ declare const transpose: (m: Matrix3x3) => Matrix3x3;
60
+ declare const reverseRows: (m: Matrix3x3) => Matrix3x3;
61
+ declare const reverseColumns: (m: Matrix3x3) => Matrix3x3;
62
+
63
+ export { type Matrix3x3, type Matrix3x3Coordinate, columnVector, determinant, fromColumns, fromRows, isMatrix3x3, matrix3x3, minor, reverseColumns, reverseRows, rowVector, setColumn, setRow, solveSystem, toColumns, toRows, transpose, vectorProductLeft, vectorProductRight };
@@ -0,0 +1,26 @@
1
+ import { i as isMatrix3x3$1, m as make, f as fromRows$1, a as fromColumns$1, s as setRow$1, b as setColumn$1, d as determinant$1, c as minor$1, v as vectorProductLeft$1, e as vectorProductRight$1, g as solveSystem$1, t as toRows$1, h as toColumns$1, r as rowVector$1, j as columnVector$1, k as transpose$1, l as reverseRows$1, n as reverseColumns$1 } from '../shared/curvy.BAW_cKLu.mjs';
2
+ import '../shared/curvy.C-sUk7ux.mjs';
3
+ import '../shared/curvy.ChkqgKuv.mjs';
4
+ import '../shared/curvy.DOLqYbKE.mjs';
5
+ import '../shared/curvy.D7bhnwZy.mjs';
6
+
7
+ const isMatrix3x3 = isMatrix3x3$1;
8
+ const matrix3x3 = make;
9
+ const fromRows = fromRows$1;
10
+ const fromColumns = fromColumns$1;
11
+ const setRow = setRow$1;
12
+ const setColumn = setColumn$1;
13
+ const determinant = determinant$1;
14
+ const minor = minor$1;
15
+ const vectorProductLeft = vectorProductLeft$1;
16
+ const vectorProductRight = vectorProductRight$1;
17
+ const solveSystem = solveSystem$1;
18
+ const toRows = toRows$1;
19
+ const toColumns = toColumns$1;
20
+ const rowVector = rowVector$1;
21
+ const columnVector = columnVector$1;
22
+ const transpose = transpose$1;
23
+ const reverseRows = reverseRows$1;
24
+ const reverseColumns = reverseColumns$1;
25
+
26
+ export { columnVector, determinant, fromColumns, fromRows, isMatrix3x3, matrix3x3, minor, reverseColumns, reverseRows, rowVector, setColumn, setRow, solveSystem, toColumns, toRows, transpose, vectorProductLeft, vectorProductRight };
@@ -0,0 +1,72 @@
1
+ import { F as FourDimensionalIndex, a as FourDimensionalComponent } from '../shared/curvy.CT38g_II.mjs';
2
+ import { P as Pipeable } from '../shared/curvy.BN-oFBsc.mjs';
3
+ import { Vector4 } from '../vector/vector4.mjs';
4
+ import { Matrix3x3 } from './matrix3x3.mjs';
5
+ import '../vector/vector3.mjs';
6
+ import './matrix2x2.mjs';
7
+ import '../vector/vector2.mjs';
8
+
9
+ declare const Matrix4x4TypeId: unique symbol;
10
+ type Matrix4x4TypeId = typeof Matrix4x4TypeId;
11
+
12
+ type Matrix4x4Coordinate = FourDimensionalIndex | FourDimensionalComponent;
13
+ interface Matrix4x4 extends Pipeable {
14
+ readonly [Matrix4x4TypeId]: Matrix4x4TypeId;
15
+ readonly m00: number;
16
+ readonly m01: number;
17
+ readonly m02: number;
18
+ readonly m03: number;
19
+ readonly m10: number;
20
+ readonly m11: number;
21
+ readonly m12: number;
22
+ readonly m13: number;
23
+ readonly m20: number;
24
+ readonly m21: number;
25
+ readonly m22: number;
26
+ readonly m23: number;
27
+ readonly m30: number;
28
+ readonly m31: number;
29
+ readonly m32: number;
30
+ readonly m33: number;
31
+ }
32
+ declare const isMatrix4x4: (m: unknown) => m is Matrix4x4;
33
+ declare const make: (m00?: number, m01?: number, m02?: number, m03?: number, m10?: number, m11?: number, m12?: number, m13?: number, m20?: number, m21?: number, m22?: number, m23?: number, m30?: number, m31?: number, m32?: number, m33?: number) => Matrix4x4;
34
+ declare const fromRows: (v0: Vector4, v1: Vector4, v2: Vector4, v3: Vector4) => Matrix4x4;
35
+ declare const fromColumns: (v0: Vector4, v1: Vector4, v2: Vector4, v3: Vector4) => Matrix4x4;
36
+ declare const setRow: {
37
+ (m: Matrix4x4, row: Matrix4x4Coordinate, v: Vector4): Matrix4x4;
38
+ (row: Matrix4x4Coordinate, v: Vector4): (m: Matrix4x4) => Matrix4x4;
39
+ };
40
+ declare const setColumn: {
41
+ (m: Matrix4x4, column: Matrix4x4Coordinate, v: Vector4): Matrix4x4;
42
+ (column: Matrix4x4Coordinate, v: Vector4): (m: Matrix4x4) => Matrix4x4;
43
+ };
44
+ declare const determinant: (m: Matrix4x4) => number;
45
+ declare const minor: (m: Matrix4x4, row: Matrix4x4Coordinate, column: Matrix4x4Coordinate) => Matrix3x3;
46
+ declare const vectorProductLeft: {
47
+ (m: Matrix4x4, v: Vector4): Vector4;
48
+ (v: Vector4): (m: Matrix4x4) => Vector4;
49
+ };
50
+ declare const vectorProductRight: {
51
+ (m: Matrix4x4, v: Vector4): Vector4;
52
+ (v: Vector4): (m: Matrix4x4) => Vector4;
53
+ };
54
+ declare const solveSystem: {
55
+ (m: Matrix4x4, v: Vector4): Vector4;
56
+ (v: Vector4): (m: Matrix4x4) => Vector4;
57
+ };
58
+ declare const toRows: (m: Matrix4x4) => [Vector4, Vector4, Vector4, Vector4];
59
+ declare const toColumns: (m: Matrix4x4) => [Vector4, Vector4, Vector4, Vector4];
60
+ declare const rowVector: {
61
+ (m: Matrix4x4, row: Matrix4x4Coordinate): Vector4;
62
+ (row: Matrix4x4Coordinate): (m: Matrix4x4) => Vector4;
63
+ };
64
+ declare const columnVector: {
65
+ (m: Matrix4x4, column: Matrix4x4Coordinate): Vector4;
66
+ (column: Matrix4x4Coordinate): (m: Matrix4x4) => Vector4;
67
+ };
68
+ declare const transpose: (m: Matrix4x4) => Matrix4x4;
69
+ declare const reverseRows: (m: Matrix4x4) => Matrix4x4;
70
+ declare const reverseColumns: (m: Matrix4x4) => Matrix4x4;
71
+
72
+ export { type Matrix4x4, type Matrix4x4Coordinate, columnVector, determinant, fromColumns, fromRows, isMatrix4x4, make, minor, reverseColumns, reverseRows, rowVector, setColumn, setRow, solveSystem, toColumns, toRows, transpose, vectorProductLeft, vectorProductRight };
@@ -0,0 +1,72 @@
1
+ import { F as FourDimensionalIndex, a as FourDimensionalComponent } from '../shared/curvy.CT38g_II.js';
2
+ import { P as Pipeable } from '../shared/curvy.BN-oFBsc.js';
3
+ import { Vector4 } from '../vector/vector4.js';
4
+ import { Matrix3x3 } from './matrix3x3.js';
5
+ import '../vector/vector3.js';
6
+ import './matrix2x2.js';
7
+ import '../vector/vector2.js';
8
+
9
+ declare const Matrix4x4TypeId: unique symbol;
10
+ type Matrix4x4TypeId = typeof Matrix4x4TypeId;
11
+
12
+ type Matrix4x4Coordinate = FourDimensionalIndex | FourDimensionalComponent;
13
+ interface Matrix4x4 extends Pipeable {
14
+ readonly [Matrix4x4TypeId]: Matrix4x4TypeId;
15
+ readonly m00: number;
16
+ readonly m01: number;
17
+ readonly m02: number;
18
+ readonly m03: number;
19
+ readonly m10: number;
20
+ readonly m11: number;
21
+ readonly m12: number;
22
+ readonly m13: number;
23
+ readonly m20: number;
24
+ readonly m21: number;
25
+ readonly m22: number;
26
+ readonly m23: number;
27
+ readonly m30: number;
28
+ readonly m31: number;
29
+ readonly m32: number;
30
+ readonly m33: number;
31
+ }
32
+ declare const isMatrix4x4: (m: unknown) => m is Matrix4x4;
33
+ declare const make: (m00?: number, m01?: number, m02?: number, m03?: number, m10?: number, m11?: number, m12?: number, m13?: number, m20?: number, m21?: number, m22?: number, m23?: number, m30?: number, m31?: number, m32?: number, m33?: number) => Matrix4x4;
34
+ declare const fromRows: (v0: Vector4, v1: Vector4, v2: Vector4, v3: Vector4) => Matrix4x4;
35
+ declare const fromColumns: (v0: Vector4, v1: Vector4, v2: Vector4, v3: Vector4) => Matrix4x4;
36
+ declare const setRow: {
37
+ (m: Matrix4x4, row: Matrix4x4Coordinate, v: Vector4): Matrix4x4;
38
+ (row: Matrix4x4Coordinate, v: Vector4): (m: Matrix4x4) => Matrix4x4;
39
+ };
40
+ declare const setColumn: {
41
+ (m: Matrix4x4, column: Matrix4x4Coordinate, v: Vector4): Matrix4x4;
42
+ (column: Matrix4x4Coordinate, v: Vector4): (m: Matrix4x4) => Matrix4x4;
43
+ };
44
+ declare const determinant: (m: Matrix4x4) => number;
45
+ declare const minor: (m: Matrix4x4, row: Matrix4x4Coordinate, column: Matrix4x4Coordinate) => Matrix3x3;
46
+ declare const vectorProductLeft: {
47
+ (m: Matrix4x4, v: Vector4): Vector4;
48
+ (v: Vector4): (m: Matrix4x4) => Vector4;
49
+ };
50
+ declare const vectorProductRight: {
51
+ (m: Matrix4x4, v: Vector4): Vector4;
52
+ (v: Vector4): (m: Matrix4x4) => Vector4;
53
+ };
54
+ declare const solveSystem: {
55
+ (m: Matrix4x4, v: Vector4): Vector4;
56
+ (v: Vector4): (m: Matrix4x4) => Vector4;
57
+ };
58
+ declare const toRows: (m: Matrix4x4) => [Vector4, Vector4, Vector4, Vector4];
59
+ declare const toColumns: (m: Matrix4x4) => [Vector4, Vector4, Vector4, Vector4];
60
+ declare const rowVector: {
61
+ (m: Matrix4x4, row: Matrix4x4Coordinate): Vector4;
62
+ (row: Matrix4x4Coordinate): (m: Matrix4x4) => Vector4;
63
+ };
64
+ declare const columnVector: {
65
+ (m: Matrix4x4, column: Matrix4x4Coordinate): Vector4;
66
+ (column: Matrix4x4Coordinate): (m: Matrix4x4) => Vector4;
67
+ };
68
+ declare const transpose: (m: Matrix4x4) => Matrix4x4;
69
+ declare const reverseRows: (m: Matrix4x4) => Matrix4x4;
70
+ declare const reverseColumns: (m: Matrix4x4) => Matrix4x4;
71
+
72
+ export { type Matrix4x4, type Matrix4x4Coordinate, columnVector, determinant, fromColumns, fromRows, isMatrix4x4, make, minor, reverseColumns, reverseRows, rowVector, setColumn, setRow, solveSystem, toColumns, toRows, transpose, vectorProductLeft, vectorProductRight };
@@ -0,0 +1,214 @@
1
+ import { n as toFourDimensionalIndex } from '../shared/curvy.C-sUk7ux.mjs';
2
+ import { d as dual, r as round, i as invariant, P as Pipeable } from '../shared/curvy.ChkqgKuv.mjs';
3
+ import { c as components, m as make$3, d as dot } from '../shared/curvy.Cty3LrOR.mjs';
4
+ import { d as determinant$2, m as make$2 } from '../shared/curvy.BAW_cKLu.mjs';
5
+ import '../shared/curvy.DOLqYbKE.mjs';
6
+ import '../shared/curvy.D7bhnwZy.mjs';
7
+
8
+ const Matrix4x4TypeId = Symbol.for("curvy/matrix4x4");
9
+ class Matrix4x4Impl extends Pipeable {
10
+ [Matrix4x4TypeId] = Matrix4x4TypeId;
11
+ m00;
12
+ m01;
13
+ m02;
14
+ m03;
15
+ m10;
16
+ m11;
17
+ m12;
18
+ m13;
19
+ m20;
20
+ m21;
21
+ m22;
22
+ m23;
23
+ m30;
24
+ m31;
25
+ m32;
26
+ m33;
27
+ constructor(m00 = 0, m01 = m00, m02 = m01, m03 = m02, m10 = m00, m11 = m01, m12 = m02, m13 = m03, m20 = m00, m21 = m01, m22 = m02, m23 = m03, m30 = m00, m31 = m01, m32 = m02, m33 = m03) {
28
+ super();
29
+ this.m00 = round(m00);
30
+ this.m01 = round(m01);
31
+ this.m02 = round(m02);
32
+ this.m03 = round(m03);
33
+ this.m10 = round(m10);
34
+ this.m11 = round(m11);
35
+ this.m12 = round(m12);
36
+ this.m13 = round(m13);
37
+ this.m20 = round(m20);
38
+ this.m21 = round(m21);
39
+ this.m22 = round(m22);
40
+ this.m23 = round(m23);
41
+ this.m30 = round(m30);
42
+ this.m31 = round(m31);
43
+ this.m32 = round(m32);
44
+ this.m33 = round(m33);
45
+ }
46
+ get [Symbol.toStringTag]() {
47
+ return `Matrix4x4(${this.m00}, ${this.m01}, ${this.m02}, ${this.m03}, ${this.m10}, ${this.m11}, ${this.m12}, ${this.m13}, ${this.m20}, ${this.m21}, ${this.m22}, ${this.m23}, ${this.m30}, ${this.m31}, ${this.m32}, ${this.m33})`;
48
+ }
49
+ get [Symbol.for("nodejs.util.inspect.custom")]() {
50
+ return `Matrix4x4(${this.m00}, ${this.m01}, ${this.m02}, ${this.m03}, ${this.m10}, ${this.m11}, ${this.m12}, ${this.m13}, ${this.m20}, ${this.m21}, ${this.m22}, ${this.m23}, ${this.m30}, ${this.m31}, ${this.m32}, ${this.m33})`;
51
+ }
52
+ [Symbol.hasInstance](m) {
53
+ return isMatrix4x4$1(m);
54
+ }
55
+ }
56
+ const isMatrix4x4$1 = (m) => typeof m === "object" && m !== null && Matrix4x4TypeId in m;
57
+ const make$1 = (m00 = 0, m01 = m00, m02 = m01, m03 = m02, m10 = m00, m11 = m01, m12 = m02, m13 = m03, m20 = m00, m21 = m01, m22 = m02, m23 = m03, m30 = m00, m31 = m01, m32 = m02, m33 = m03) => new Matrix4x4Impl(
58
+ m00,
59
+ m01,
60
+ m02,
61
+ m03,
62
+ m10,
63
+ m11,
64
+ m12,
65
+ m13,
66
+ m20,
67
+ m21,
68
+ m22,
69
+ m23,
70
+ m30,
71
+ m31,
72
+ m32,
73
+ m33
74
+ );
75
+ const fromRows$1 = (v0, v1, v2, v3) => new Matrix4x4Impl(
76
+ v0.x,
77
+ v0.y,
78
+ v0.z,
79
+ v0.w,
80
+ v1.x,
81
+ v1.y,
82
+ v1.z,
83
+ v1.w,
84
+ v2.x,
85
+ v2.y,
86
+ v2.z,
87
+ v2.w,
88
+ v3.x,
89
+ v3.y,
90
+ v3.z,
91
+ v3.w
92
+ );
93
+ const fromColumns$1 = (v0, v1, v2, v3) => new Matrix4x4Impl(
94
+ v0.x,
95
+ v1.x,
96
+ v2.x,
97
+ v3.x,
98
+ v0.y,
99
+ v1.y,
100
+ v2.y,
101
+ v3.y,
102
+ v0.z,
103
+ v1.z,
104
+ v2.z,
105
+ v3.z,
106
+ v0.w,
107
+ v1.w,
108
+ v2.w,
109
+ v3.w
110
+ );
111
+ const setRow$1 = dual(
112
+ 3,
113
+ (m, row, v) => fromRows$1(
114
+ ...toRows$1(m).with(toFourDimensionalIndex(row), v)
115
+ )
116
+ );
117
+ const setColumn$1 = dual(
118
+ 3,
119
+ (m, column, v) => fromColumns$1(
120
+ ...toColumns$1(m).with(toFourDimensionalIndex(column), v)
121
+ )
122
+ );
123
+ const determinant$1 = (m) => round(
124
+ m.m00 * determinant$2(minor$1(m, 0, 0)) - m.m01 * determinant$2(minor$1(m, 0, 1)) + m.m02 * determinant$2(minor$1(m, 0, 2)) - m.m03 * determinant$2(minor$1(m, 0, 3))
125
+ );
126
+ const minor$1 = dual(3, (m, row, column) => {
127
+ const [v0, v1, v2] = toRows$1(m).toSpliced(toFourDimensionalIndex(row), 1);
128
+ const columnIndex = toFourDimensionalIndex(column);
129
+ const [m00, m01, m02] = components(v0).toSpliced(columnIndex, 1);
130
+ const [m10, m11, m12] = components(v1).toSpliced(columnIndex, 1);
131
+ const [m20, m21, m22] = components(v2).toSpliced(columnIndex, 1);
132
+ return make$2(m00, m01, m02, m10, m11, m12, m20, m21, m22);
133
+ });
134
+ const vectorProductLeft$1 = dual(2, (m, v) => {
135
+ const [v0, v1, v2, v3] = toRows$1(m);
136
+ return make$3(
137
+ dot(v0, v),
138
+ dot(v1, v),
139
+ dot(v2, v),
140
+ dot(v3, v)
141
+ );
142
+ });
143
+ const vectorProductRight$1 = dual(2, (m, v) => {
144
+ const [v0, v1, v2, v3] = toColumns$1(m);
145
+ return make$3(
146
+ dot(v, v0),
147
+ dot(v, v1),
148
+ dot(v, v2),
149
+ dot(v, v3)
150
+ );
151
+ });
152
+ const solveSystem$1 = dual(2, (m, v) => {
153
+ const inverseDeterminant = 1 / determinant$1(m);
154
+ invariant(
155
+ Number.isFinite(inverseDeterminant),
156
+ "cannot solve system when coefficient matrix determinant is zero"
157
+ );
158
+ return make$3(
159
+ determinant$1(setColumn$1(m, 0, v)) * inverseDeterminant,
160
+ determinant$1(setColumn$1(m, 1, v)) * inverseDeterminant,
161
+ determinant$1(setColumn$1(m, 2, v)) * inverseDeterminant,
162
+ determinant$1(setColumn$1(m, 3, v)) * inverseDeterminant
163
+ );
164
+ });
165
+ const toRows$1 = (m) => [
166
+ make$3(m.m00, m.m01, m.m02, m.m03),
167
+ make$3(m.m10, m.m11, m.m12, m.m13),
168
+ make$3(m.m20, m.m21, m.m22, m.m23),
169
+ make$3(m.m30, m.m31, m.m32, m.m33)
170
+ ];
171
+ const toColumns$1 = (m) => [
172
+ make$3(m.m00, m.m10, m.m20, m.m30),
173
+ make$3(m.m01, m.m11, m.m21, m.m31),
174
+ make$3(m.m02, m.m12, m.m22, m.m32),
175
+ make$3(m.m03, m.m13, m.m23, m.m33)
176
+ ];
177
+ const rowVector$1 = dual(
178
+ 2,
179
+ (m, row) => toRows$1(m)[toFourDimensionalIndex(row)]
180
+ );
181
+ const columnVector$1 = dual(
182
+ 2,
183
+ (m, column) => toColumns$1(m)[toFourDimensionalIndex(column)]
184
+ );
185
+ const transpose$1 = (m) => fromColumns$1(...toRows$1(m));
186
+ const reverseRows$1 = (m) => {
187
+ const [v0, v1, v2, v3] = toRows$1(m);
188
+ return fromRows$1(v3, v2, v1, v0);
189
+ };
190
+ const reverseColumns$1 = (m) => {
191
+ const [v0, v1, v2, v3] = toColumns$1(m);
192
+ return fromColumns$1(v3, v2, v1, v0);
193
+ };
194
+
195
+ const isMatrix4x4 = isMatrix4x4$1;
196
+ const make = make$1;
197
+ const fromRows = fromRows$1;
198
+ const fromColumns = fromColumns$1;
199
+ const setRow = setRow$1;
200
+ const setColumn = setColumn$1;
201
+ const determinant = determinant$1;
202
+ const minor = minor$1;
203
+ const vectorProductLeft = vectorProductLeft$1;
204
+ const vectorProductRight = vectorProductRight$1;
205
+ const solveSystem = solveSystem$1;
206
+ const toRows = toRows$1;
207
+ const toColumns = toColumns$1;
208
+ const rowVector = rowVector$1;
209
+ const columnVector = columnVector$1;
210
+ const transpose = transpose$1;
211
+ const reverseRows = reverseRows$1;
212
+ const reverseColumns = reverseColumns$1;
213
+
214
+ export { columnVector, determinant, fromColumns, fromRows, isMatrix4x4, make, minor, reverseColumns, reverseRows, rowVector, setColumn, setRow, solveSystem, toColumns, toRows, transpose, vectorProductLeft, vectorProductRight };
@@ -0,0 +1,29 @@
1
+ import { CubicCurve2d } from '../curve/cubic2d.mjs';
2
+ import { P as Pipeable } from '../shared/curvy.BN-oFBsc.mjs';
3
+ import { Vector2 } from '../vector/vector2.mjs';
4
+ import '../shared/curvy.CT38g_II.mjs';
5
+ import '../interval.mjs';
6
+ import '../shared/curvy.Bxxwly94.mjs';
7
+ import '../vector/vector3.mjs';
8
+ import '../vector/vector4.mjs';
9
+
10
+ declare const CubicPath2dTypeId: unique symbol;
11
+ type CubicPath2dTypeId = typeof CubicPath2dTypeId;
12
+
13
+ interface CubicPath2d extends Pipeable, Iterable<CubicCurve2d> {
14
+ readonly [CubicPath2dTypeId]: CubicPath2dTypeId;
15
+ }
16
+ declare const fromCurves: (...curves: ReadonlyArray<CubicCurve2d>) => CubicPath2d;
17
+ declare const fromCurveArray: (curves: ReadonlyArray<CubicCurve2d>) => CubicPath2d;
18
+ declare const isCubicPath2d: (p: unknown) => p is CubicPath2d;
19
+ declare const append: {
20
+ (c: CubicCurve2d): (p: CubicPath2d) => CubicPath2d;
21
+ (p: CubicPath2d, c: CubicCurve2d): CubicPath2d;
22
+ };
23
+ declare const length: (p: CubicPath2d) => number;
24
+ declare const solve: {
25
+ (u: number): (p: CubicPath2d) => Vector2;
26
+ (p: CubicPath2d, u: number): Vector2;
27
+ };
28
+
29
+ export { type CubicPath2d, append, fromCurveArray, fromCurves, isCubicPath2d, length, solve };
@@ -0,0 +1,29 @@
1
+ import { CubicCurve2d } from '../curve/cubic2d.js';
2
+ import { P as Pipeable } from '../shared/curvy.BN-oFBsc.js';
3
+ import { Vector2 } from '../vector/vector2.js';
4
+ import '../shared/curvy.CT38g_II.js';
5
+ import '../interval.js';
6
+ import '../shared/curvy.CO0Wclt0.js';
7
+ import '../vector/vector3.js';
8
+ import '../vector/vector4.js';
9
+
10
+ declare const CubicPath2dTypeId: unique symbol;
11
+ type CubicPath2dTypeId = typeof CubicPath2dTypeId;
12
+
13
+ interface CubicPath2d extends Pipeable, Iterable<CubicCurve2d> {
14
+ readonly [CubicPath2dTypeId]: CubicPath2dTypeId;
15
+ }
16
+ declare const fromCurves: (...curves: ReadonlyArray<CubicCurve2d>) => CubicPath2d;
17
+ declare const fromCurveArray: (curves: ReadonlyArray<CubicCurve2d>) => CubicPath2d;
18
+ declare const isCubicPath2d: (p: unknown) => p is CubicPath2d;
19
+ declare const append: {
20
+ (c: CubicCurve2d): (p: CubicPath2d) => CubicPath2d;
21
+ (p: CubicPath2d, c: CubicCurve2d): CubicPath2d;
22
+ };
23
+ declare const length: (p: CubicPath2d) => number;
24
+ declare const solve: {
25
+ (u: number): (p: CubicPath2d) => Vector2;
26
+ (p: CubicPath2d, u: number): Vector2;
27
+ };
28
+
29
+ export { type CubicPath2d, append, fromCurveArray, fromCurves, isCubicPath2d, length, solve };