@flighthq/geometry 0.1.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 (125) hide show
  1. package/dist/aabb.d.ts +88 -0
  2. package/dist/aabb.d.ts.map +1 -0
  3. package/dist/aabb.js +230 -0
  4. package/dist/aabb.js.map +1 -0
  5. package/dist/boundingSphere.d.ts +62 -0
  6. package/dist/boundingSphere.d.ts.map +1 -0
  7. package/dist/boundingSphere.js +188 -0
  8. package/dist/boundingSphere.js.map +1 -0
  9. package/dist/capsule.d.ts +38 -0
  10. package/dist/capsule.d.ts.map +1 -0
  11. package/dist/capsule.js +215 -0
  12. package/dist/capsule.js.map +1 -0
  13. package/dist/frustum.d.ts +49 -0
  14. package/dist/frustum.d.ts.map +1 -0
  15. package/dist/frustum.js +149 -0
  16. package/dist/frustum.js.map +1 -0
  17. package/dist/index.d.ts +25 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +25 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/matrix.d.ts +152 -0
  22. package/dist/matrix.d.ts.map +1 -0
  23. package/dist/matrix.js +488 -0
  24. package/dist/matrix.js.map +1 -0
  25. package/dist/matrix3.d.ts +63 -0
  26. package/dist/matrix3.d.ts.map +1 -0
  27. package/dist/matrix3.js +408 -0
  28. package/dist/matrix3.js.map +1 -0
  29. package/dist/matrix3Pool.d.ts +6 -0
  30. package/dist/matrix3Pool.d.ts.map +1 -0
  31. package/dist/matrix3Pool.js +26 -0
  32. package/dist/matrix3Pool.js.map +1 -0
  33. package/dist/matrix4.d.ts +238 -0
  34. package/dist/matrix4.d.ts.map +1 -0
  35. package/dist/matrix4.js +931 -0
  36. package/dist/matrix4.js.map +1 -0
  37. package/dist/matrix4Pool.d.ts +6 -0
  38. package/dist/matrix4Pool.d.ts.map +1 -0
  39. package/dist/matrix4Pool.js +26 -0
  40. package/dist/matrix4Pool.js.map +1 -0
  41. package/dist/matrixPool.d.ts +6 -0
  42. package/dist/matrixPool.d.ts.map +1 -0
  43. package/dist/matrixPool.js +26 -0
  44. package/dist/matrixPool.js.map +1 -0
  45. package/dist/obb.d.ts +44 -0
  46. package/dist/obb.d.ts.map +1 -0
  47. package/dist/obb.js +248 -0
  48. package/dist/obb.js.map +1 -0
  49. package/dist/plane.d.ts +66 -0
  50. package/dist/plane.d.ts.map +1 -0
  51. package/dist/plane.js +140 -0
  52. package/dist/plane.js.map +1 -0
  53. package/dist/quaternion.d.ts +128 -0
  54. package/dist/quaternion.d.ts.map +1 -0
  55. package/dist/quaternion.js +508 -0
  56. package/dist/quaternion.js.map +1 -0
  57. package/dist/quaternionPool.d.ts +6 -0
  58. package/dist/quaternionPool.d.ts.map +1 -0
  59. package/dist/quaternionPool.js +29 -0
  60. package/dist/quaternionPool.js.map +1 -0
  61. package/dist/ray3d.d.ts +69 -0
  62. package/dist/ray3d.d.ts.map +1 -0
  63. package/dist/ray3d.js +264 -0
  64. package/dist/ray3d.js.map +1 -0
  65. package/dist/rectangle.d.ts +56 -0
  66. package/dist/rectangle.d.ts.map +1 -0
  67. package/dist/rectangle.js +235 -0
  68. package/dist/rectangle.js.map +1 -0
  69. package/dist/rectanglePool.d.ts +6 -0
  70. package/dist/rectanglePool.d.ts.map +1 -0
  71. package/dist/rectanglePool.js +29 -0
  72. package/dist/rectanglePool.js.map +1 -0
  73. package/dist/typedarray.d.ts +4 -0
  74. package/dist/typedarray.d.ts.map +1 -0
  75. package/dist/typedarray.js +25 -0
  76. package/dist/typedarray.js.map +1 -0
  77. package/dist/vector2.d.ts +130 -0
  78. package/dist/vector2.d.ts.map +1 -0
  79. package/dist/vector2.js +250 -0
  80. package/dist/vector2.js.map +1 -0
  81. package/dist/vector2Pool.d.ts +6 -0
  82. package/dist/vector2Pool.d.ts.map +1 -0
  83. package/dist/vector2Pool.js +20 -0
  84. package/dist/vector2Pool.js.map +1 -0
  85. package/dist/vector3.d.ts +220 -0
  86. package/dist/vector3.d.ts.map +1 -0
  87. package/dist/vector3.js +380 -0
  88. package/dist/vector3.js.map +1 -0
  89. package/dist/vector3Pool.d.ts +6 -0
  90. package/dist/vector3Pool.d.ts.map +1 -0
  91. package/dist/vector3Pool.js +28 -0
  92. package/dist/vector3Pool.js.map +1 -0
  93. package/dist/vector4.d.ts +180 -0
  94. package/dist/vector4.d.ts.map +1 -0
  95. package/dist/vector4.js +333 -0
  96. package/dist/vector4.js.map +1 -0
  97. package/dist/vector4Pool.d.ts +6 -0
  98. package/dist/vector4Pool.d.ts.map +1 -0
  99. package/dist/vector4Pool.js +29 -0
  100. package/dist/vector4Pool.js.map +1 -0
  101. package/package.json +38 -0
  102. package/src/aabb.test.ts +341 -0
  103. package/src/boundingSphere.test.ts +247 -0
  104. package/src/capsule.test.ts +157 -0
  105. package/src/frustum.test.ts +160 -0
  106. package/src/matrix.test.ts +1111 -0
  107. package/src/matrix3.test.ts +752 -0
  108. package/src/matrix3Pool.test.ts +73 -0
  109. package/src/matrix4.test.ts +1627 -0
  110. package/src/matrix4Pool.test.ts +71 -0
  111. package/src/matrixPool.test.ts +69 -0
  112. package/src/obb.test.ts +183 -0
  113. package/src/plane.test.ts +225 -0
  114. package/src/quaternion.test.ts +531 -0
  115. package/src/quaternionPool.test.ts +64 -0
  116. package/src/ray3d.test.ts +297 -0
  117. package/src/rectangle.test.ts +982 -0
  118. package/src/rectanglePool.test.ts +71 -0
  119. package/src/typedarray.test.ts +118 -0
  120. package/src/vector2.test.ts +958 -0
  121. package/src/vector2Pool.test.ts +65 -0
  122. package/src/vector3.test.ts +749 -0
  123. package/src/vector3Pool.test.ts +68 -0
  124. package/src/vector4.test.ts +660 -0
  125. package/src/vector4Pool.test.ts +71 -0
@@ -0,0 +1,238 @@
1
+ import type { Matrix3Like, Matrix4, Matrix4Like, MatrixLike, QuaternionLike, Vector3Like, Vector4Like } from '@flighthq/types';
2
+ /**
3
+ * Appends a matrix in world space (post-multiply).
4
+ *
5
+ * out = source · other
6
+ */
7
+ export declare function appendMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>, other: Readonly<Matrix4Like>): void;
8
+ /**
9
+ * Applies a world-space rotation to the current matrix.
10
+ *
11
+ * Rotation is applied after all transformations of source are completed.
12
+ *
13
+ * @param radians rotation angle in radians (the @flighthq/geometry convention — convert a
14
+ * designer-facing degree value with `DEG_TO_RAD` from `@flighthq/math`).
15
+ **/
16
+ export declare function appendRotationMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>, radians: number, axis: Readonly<Vector4Like>, pivotPoint?: Readonly<Vector4Like>): void;
17
+ /**
18
+ * Applies a world-space scale value to the source matrix.
19
+ *
20
+ * Scale is applied after all transformations of source are completed.
21
+ **/
22
+ export declare function appendScaleMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>, xScale: number, yScale: number, zScale: number): void;
23
+ /**
24
+ * Applies a world-space translation to source matrix.
25
+ *
26
+ * The new translation values are calculated as:
27
+ *
28
+ * out.tx = source.tx + x
29
+ * out.ty = source.ty + y
30
+ * out.tz = source.tz + z
31
+ *
32
+ * Translation is applied after all transformations of source are completed.
33
+ */
34
+ export declare function appendTranslationMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>, x: number, y: number, z: number): void;
35
+ export declare function cloneMatrix4(source: Readonly<Matrix4Like>): Matrix4;
36
+ /**
37
+ * Composes a transform matrix from a translation, a rotation quaternion and a per-axis
38
+ * scale: out = T · R · S. This is the inverse operation of decomposeMatrix4.
39
+ *
40
+ * `rotation` is assumed to be a unit quaternion. Safe when `out` does not alias any input
41
+ * (the inputs are plain vector/quaternion entities, not the matrix itself).
42
+ */
43
+ export declare function composeMatrix4(out: Matrix4Like, position: Readonly<Vector3Like>, rotation: Readonly<QuaternionLike>, scale: Readonly<Vector3Like>): void;
44
+ export declare function copyMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>): void;
45
+ /**
46
+ Copies a column of data from a `Vector4Like` instance into the values of the target matrix
47
+ **/
48
+ export declare function copyMatrix4ColumnFromVector4(out: Matrix4Like, column: number, source: Readonly<Vector4Like>): void;
49
+ /**
50
+ * Copies a column of data from the source matrix into a `Vector4Like` instance
51
+ **/
52
+ export declare function copyMatrix4ColumnToVector4(out: Vector4Like, column: number, source: Readonly<Matrix4Like>): void;
53
+ /**
54
+ * Copies a row of data from a `Vector4Like` instance into the values of the out matrix
55
+ **/
56
+ export declare function copyMatrix4RowFromVector4(out: Matrix4Like, row: number, source: Readonly<Vector4Like>): void;
57
+ /**
58
+ * Copies a row of data from the source matrix into a `Vector4Like` instance
59
+ **/
60
+ export declare function copyMatrix4RowToVector4(out: Vector4Like, row: number, source: Readonly<Matrix4Like>): void;
61
+ /**
62
+ * A 4×4 homogeneous matrix.
63
+ *
64
+ * [ m00 m10 m20 m30 ]
65
+ * [ m01 m11 m21 m31 ]
66
+ * [ m02 m12 m22 m32 ]
67
+ * [ m03 m13 m23 m33 ]
68
+ *
69
+ * Storage is column-major (OpenGL-compatible).
70
+ *
71
+ * This matrix assumes column vectors, multiplied on the right:
72
+ * v' = M · v
73
+ */
74
+ export declare function createMatrix4(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): Matrix4;
75
+ /**
76
+ * Creates a matrix using two-dimensional transform values
77
+ **/
78
+ export declare function createMatrix4From2D(a: number, b: number, c: number, d: number, tx?: number, ty?: number): Matrix4;
79
+ /**
80
+ * Initializes this matrix with values for an orthographic projection, useful in rendering
81
+ **/
82
+ export declare function createOrthographicMatrix4(left: number, right: number, bottom: number, top: number, zNear: number, zFar: number): Matrix4;
83
+ /**
84
+ * Initializes this matrix with values for a perspective projection
85
+ **/
86
+ export declare function createPerspectiveMatrix4(fov: number, aspect: number, zNear: number, zFar: number): Matrix4;
87
+ /**
88
+ * Decomposes a transform matrix into its translation, rotation quaternion and per-axis
89
+ * scale, the inverse of composeMatrix4. Assumes the matrix is a TRS composition (no shear);
90
+ * a negative determinant flips the X scale sign so the extracted rotation stays a proper
91
+ * rotation.
92
+ *
93
+ * Reads the matrix into locals before writing, so it is safe for the outputs to alias
94
+ * fields of unrelated entities; the matrix `m` is read-only.
95
+ */
96
+ export declare function decomposeMatrix4(outPosition: Vector3Like, outRotation: QuaternionLike, outScale: Vector3Like, m: Readonly<Matrix4Like>): void;
97
+ export declare function equalsMatrix4(a: Readonly<Matrix4Like> | null | undefined, b: Readonly<Matrix4Like> | null | undefined): boolean;
98
+ export declare function getMatrix4Determinant(source: Readonly<Matrix4Like>): number;
99
+ export declare function getMatrix4Element(source: Readonly<Matrix4Like>, row: number, column: number): number;
100
+ export declare function getMatrix4Position(out: Vector3Like, source: Readonly<Matrix4Like>): void;
101
+ /**
102
+ * Interpolates from one `Matrix4Like` instance to another, given a percentage between the two
103
+ **/
104
+ export declare function interpolateMatrix4(out: Matrix4Like, a: Readonly<Matrix4Like>, b: Readonly<Matrix4Like>, t: number): void;
105
+ /**
106
+ * Attempts to invert the current matrix, so long as the determinant is greater than zero
107
+ **/
108
+ export declare function inverseMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>): boolean;
109
+ export declare function isAffineMatrix4(source: Readonly<Matrix4Like>): boolean;
110
+ /**
111
+ * Transforms a point using this matrix, including the translation of the matrix.
112
+ **/
113
+ export declare function matrix4TransformPoint(out: Vector3Like, source: Readonly<Matrix4Like>, point: Readonly<Vector3Like>): void;
114
+ /**
115
+ * Transforms a `Vector4Like` instance using this matrix.
116
+ **/
117
+ export declare function matrix4TransformVector(out: Vector4Like, source: Readonly<Matrix4Like>, vector: Readonly<Vector4Like>): void;
118
+ /**
119
+ * Transforms a series of [x, y, z] triples at once.
120
+ **/
121
+ export declare function matrix4TransformVectors(out: Float32Array, source: Readonly<Matrix4Like>, vectors: Readonly<Float32Array>): void;
122
+ /**
123
+ * Matrix multiplication
124
+ *
125
+ * out = a * b
126
+ **/
127
+ export declare function multiplyMatrix4(out: Matrix4Like, a: Readonly<Matrix4Like>, b: Readonly<Matrix4Like>): void;
128
+ /**
129
+ * Prepends a matrix in world space (pre-multiply).
130
+ *
131
+ * out = other · source
132
+ */
133
+ export declare function prependMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>, other: Readonly<Matrix4Like>): void;
134
+ /**
135
+ * Prepends rotation before all local-space transforms.
136
+ *
137
+ * This method first applies the translation (tx, ty, tz) and then applies all the transformations
138
+ * (e.g., rotation, scaling, etc.) from the source matrix.
139
+ *
140
+ * @param radians rotation angle in radians (the @flighthq/geometry convention — convert a
141
+ * designer-facing degree value with `DEG_TO_RAD` from `@flighthq/math`).
142
+ **/
143
+ export declare function prependRotationMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>, radians: number, axis: Readonly<Vector4Like>, pivotPoint?: Readonly<Vector4Like>): void;
144
+ /**
145
+ * Prepends scale before all local-space transforms.
146
+ *
147
+ * This method first applies the translation (tx, ty, tz) and then applies all the transformations
148
+ * (e.g., rotation, scaling, etc.) from the source matrix.
149
+ **/
150
+ export declare function prependScaleMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>, xScale: number, yScale: number, zScale: number): void;
151
+ /**
152
+ * Prepends a translation before all local-space transforms.
153
+ *
154
+ * This method first applies the translation (tx, ty, tz) and then applies all the transformations
155
+ * (e.g., rotation, scaling, etc.) from the source matrix.
156
+ */
157
+ export declare function prependTranslationMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>, x: number, y: number, z: number): void;
158
+ /**
159
+ * Applies a local-space rotation relative to the matrix's existing orientation.
160
+ *
161
+ * Translation is preserved.
162
+ *
163
+ * @param radians rotation angle in radians (the @flighthq/geometry convention — convert a
164
+ * designer-facing degree value with `DEG_TO_RAD` from `@flighthq/math`).
165
+ */
166
+ export declare function rotateMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>, axis: Readonly<Vector3Like>, radians: number): void;
167
+ /**
168
+ * Applies a local-space scale relative to the matrix's existing orientation.
169
+ *
170
+ * Translation is preserved.
171
+ */
172
+ export declare function scaleMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>, sx: number, sy: number, sz: number): void;
173
+ export declare function setMatrix4(out: Matrix4Like, 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): void;
174
+ export declare function setMatrix4Element(out: Matrix4Like, row: number, column: number, value: number): void;
175
+ /**
176
+ * Resets the current matrix using two-dimensional transform values
177
+ **/
178
+ export declare function setMatrix4From2D(out: Matrix4Like, a: number, b: number, c: number, d: number, tx?: number, ty?: number): void;
179
+ /**
180
+ * Reads 16 elements of a column-major Float32Array at `offset` into a Matrix4Like.
181
+ *
182
+ * Mirrors `writeMatrix4ToFloat32Array` and matches the existing vec2/3/4 and Matrix3 bridges.
183
+ */
184
+ export declare function setMatrix4FromFloat32Array(out: Matrix4Like, offset: number, source: Readonly<Float32Array>): void;
185
+ export declare function setMatrix4FromMatrix(out: Matrix4Like, source: Readonly<MatrixLike>): void;
186
+ export declare function setMatrix4FromMatrix3(out: Matrix4Like, source: Readonly<Matrix3Like>): void;
187
+ /**
188
+ * Writes the rotation described by a unit quaternion into the upper-left 3×3 of an
189
+ * identity matrix (translation cleared, bottom row 0,0,0,1). glTF handedness.
190
+ */
191
+ export declare function setMatrix4FromQuaternion(out: Matrix4Like, source: Readonly<QuaternionLike>): void;
192
+ /**
193
+ * Resets the current matrix using default identity values
194
+ **/
195
+ export declare function setMatrix4Identity(out: Matrix4Like): void;
196
+ /**
197
+ * Builds a right-handed look-at view matrix that positions a camera at `eye` looking toward
198
+ * `target`, with `up` defining the camera roll. The forward axis points from eye to target;
199
+ * the resulting matrix transforms world-space points into view space.
200
+ *
201
+ * Reads all inputs into locals before writing, so it is safe when `out` is unrelated to the
202
+ * vector inputs.
203
+ */
204
+ export declare function setMatrix4LookAt(out: Matrix4Like, eye: Readonly<Vector3Like>, target: Readonly<Vector3Like>, up: Readonly<Vector3Like>): void;
205
+ export declare function setMatrix4Position(out: Matrix4Like, source: Readonly<Vector3Like>): void;
206
+ /**
207
+ * Initializes a matrix with values for an orthographic projection, useful in rendering
208
+ **/
209
+ export declare function setOrthographicMatrix4(out: Matrix4Like, left: number, right: number, bottom: number, top: number, zNear: number, zFar: number): void;
210
+ /**
211
+ * Initializes a matrix with values for a perspective projection
212
+ **/
213
+ export declare function setPerspectiveMatrix4(out: Matrix4Like, fov: number, aspect: number, zNear: number, zFar: number): void;
214
+ /**
215
+ * Applies a local-space translation to the matrix, taking into account the source matrix's rotation and scale.
216
+ *
217
+ * Translation is applied respecting using all other transformations of source.
218
+ */
219
+ export declare function translateMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>, tx: number, ty: number, tz: number): void;
220
+ export declare function transposeMatrix4(out: Matrix4Like, source: Readonly<Matrix4Like>): void;
221
+ /**
222
+ * Transposes the matrix (swaps rows and columns).
223
+ *
224
+ * Note:
225
+ * - Storage order (column-major) is unchanged
226
+ * - This is a mathematical transpose, not a memory layout conversion
227
+ *
228
+ * Common uses:
229
+ * - Computing inverse-transpose for normals
230
+ * - Switching between row- and column-vector math conventions
231
+ */
232
+ /**
233
+ * Writes 16 column-major elements of a Matrix4Like into a Float32Array at `offset`.
234
+ *
235
+ * Mirrors `setMatrix4FromFloat32Array` and the existing vec2/3/4 and Matrix3 bridges.
236
+ */
237
+ export declare function writeMatrix4ToFloat32Array(out: Float32Array, offset: number, source: Readonly<Matrix4Like>): void;
238
+ //# sourceMappingURL=matrix4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matrix4.d.ts","sourceRoot":"","sources":["../src/matrix4.ts"],"names":[],"mappings":"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"}