linearly 0.3.0 → 0.4.1

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 (79) hide show
  1. package/lib/{common.d.ts → cjs/common.d.ts} +1 -0
  2. package/lib/cjs/common.d.ts.map +1 -0
  3. package/lib/cjs/common.js +20 -0
  4. package/lib/{index.d.ts → cjs/index.d.ts} +1 -0
  5. package/lib/cjs/index.d.ts.map +1 -0
  6. package/lib/cjs/index.js +35 -0
  7. package/lib/{mat2.d.ts → cjs/mat2.d.ts} +1 -0
  8. package/lib/cjs/mat2.d.ts.map +1 -0
  9. package/lib/cjs/mat2.js +224 -0
  10. package/lib/{mat2d.d.ts → cjs/mat2d.d.ts} +1 -0
  11. package/lib/cjs/mat2d.d.ts.map +1 -0
  12. package/lib/cjs/mat2d.js +291 -0
  13. package/lib/{mat3.d.ts → cjs/mat3.d.ts} +1 -0
  14. package/lib/cjs/mat3.d.ts.map +1 -0
  15. package/lib/cjs/mat3.js +450 -0
  16. package/lib/{mat4.d.ts → cjs/mat4.d.ts} +1 -0
  17. package/lib/cjs/mat4.d.ts.map +1 -0
  18. package/lib/cjs/mat4.js +1250 -0
  19. package/lib/{quat.d.ts → cjs/quat.d.ts} +1 -0
  20. package/lib/cjs/quat.d.ts.map +1 -0
  21. package/lib/cjs/quat.js +504 -0
  22. package/lib/{vec2.d.ts → cjs/vec2.d.ts} +1 -0
  23. package/lib/cjs/vec2.d.ts.map +1 -0
  24. package/lib/cjs/vec2.js +205 -0
  25. package/lib/{vec3.d.ts → cjs/vec3.d.ts} +1 -0
  26. package/lib/cjs/vec3.d.ts.map +1 -0
  27. package/lib/cjs/vec3.js +409 -0
  28. package/lib/{vec4.d.ts → cjs/vec4.d.ts} +1 -0
  29. package/lib/cjs/vec4.d.ts.map +1 -0
  30. package/lib/cjs/vec4.js +319 -0
  31. package/lib/esm/common.d.ts +12 -0
  32. package/lib/esm/common.d.ts.map +1 -0
  33. package/lib/esm/common.js +16 -0
  34. package/lib/esm/index.d.ts +17 -0
  35. package/lib/esm/index.d.ts.map +1 -0
  36. package/lib/esm/index.js +9 -0
  37. package/lib/esm/mat2.d.ts +91 -0
  38. package/lib/esm/mat2.d.ts.map +1 -0
  39. package/lib/esm/mat2.js +179 -0
  40. package/lib/esm/mat2d.d.ts +102 -0
  41. package/lib/esm/mat2d.d.ts.map +1 -0
  42. package/lib/esm/mat2d.js +246 -0
  43. package/lib/esm/mat3.d.ts +120 -0
  44. package/lib/esm/mat3.d.ts.map +1 -0
  45. package/lib/esm/mat3.js +400 -0
  46. package/lib/esm/mat4.d.ts +313 -0
  47. package/lib/esm/mat4.d.ts.map +1 -0
  48. package/lib/esm/mat4.js +1183 -0
  49. package/lib/esm/quat.d.ts +220 -0
  50. package/lib/esm/quat.d.ts.map +1 -0
  51. package/lib/esm/quat.js +458 -0
  52. package/lib/esm/vec2.d.ts +66 -0
  53. package/lib/esm/vec2.d.ts.map +1 -0
  54. package/lib/esm/vec2.js +149 -0
  55. package/lib/esm/vec3.d.ts +167 -0
  56. package/lib/esm/vec3.d.ts.map +1 -0
  57. package/lib/esm/vec3.js +348 -0
  58. package/lib/esm/vec4.d.ts +116 -0
  59. package/lib/esm/vec4.d.ts.map +1 -0
  60. package/lib/esm/vec4.js +266 -0
  61. package/package.json +6 -4
  62. package/lib/common.js +0 -30
  63. package/lib/index.js +0 -45
  64. package/lib/mat2.js +0 -234
  65. package/lib/mat2d.js +0 -301
  66. package/lib/mat2d.test.d.ts +0 -1
  67. package/lib/mat2d.test.js +0 -123
  68. package/lib/mat3.js +0 -460
  69. package/lib/mat4.js +0 -1260
  70. package/lib/quat.js +0 -514
  71. package/lib/vec2.js +0 -215
  72. package/lib/vec2.test.d.ts +0 -1
  73. package/lib/vec2.test.js +0 -147
  74. package/lib/vec3.js +0 -419
  75. package/lib/vec3.test.d.ts +0 -1
  76. package/lib/vec3.test.js +0 -149
  77. package/lib/vec4.js +0 -329
  78. package/lib/vec4.test.d.ts +0 -1
  79. package/lib/vec4.test.js +0 -45
@@ -0,0 +1,450 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.equals = exports.exactEquals = exports.multiplyScalarAndAdd = exports.multiplyScalar = exports.subtract = exports.add = exports.frob = exports.projection = exports.normalFromMat4 = exports.fromQuat = exports.fromMat2d = exports.fromScaling = exports.fromRotation = exports.fromTranslation = exports.scale = exports.rotate = exports.translate = exports.multiply = exports.determinant = exports.adjoint = exports.invert = exports.transpose = exports.zero = exports.identity = exports.fromMat4 = exports.of = void 0;
27
+ const Common = __importStar(require("./common"));
28
+ // prettier-ignore
29
+ function of(m00, m01, m02, m10, m11, m12, m20, m21, m22) {
30
+ // prettier-ignore
31
+ return [
32
+ m00, m01, m02,
33
+ m10, m11, m12,
34
+ m20, m21, m22,
35
+ ];
36
+ }
37
+ exports.of = of;
38
+ /**
39
+ * 3x3 Matrix
40
+ * @module mat3
41
+ */
42
+ /**
43
+ * Copies the upper-left 3x3 values into the given mat3.
44
+ */
45
+ function fromMat4(a) {
46
+ // prettier-ignore
47
+ return [
48
+ a[0], a[1], a[2],
49
+ a[4], a[5], a[6],
50
+ a[8], a[9], a[10]
51
+ ];
52
+ }
53
+ exports.fromMat4 = fromMat4;
54
+ /**
55
+ * The identity matrix of mat3
56
+ */
57
+ // prettier-ignore
58
+ exports.identity = Object.freeze([
59
+ 1, 0, 0,
60
+ 0, 1, 0,
61
+ 0, 0, 1,
62
+ ]);
63
+ exports.zero = Object.freeze([0, 0, 0, 0, 0, 0, 0, 0, 0]);
64
+ /**
65
+ * Transpose the values of a mat3
66
+ */
67
+ function transpose(a) {
68
+ // prettier-ignore
69
+ return [
70
+ a[0], a[3], a[6],
71
+ a[1], a[4], a[7],
72
+ a[2], a[5], a[8]
73
+ ];
74
+ }
75
+ exports.transpose = transpose;
76
+ /**
77
+ * Inverts a mat3
78
+ */
79
+ function invert(a) {
80
+ const [a00, a01, a02, a10, a11, a12, a20, a21, a22] = a;
81
+ const b01 = a22 * a11 - a12 * a21;
82
+ const b11 = -a22 * a10 + a12 * a20;
83
+ const b21 = a21 * a10 - a11 * a20;
84
+ // Calculate the determinant
85
+ const det = a00 * b01 + a01 * b11 + a02 * b21;
86
+ if (!det) {
87
+ return null;
88
+ }
89
+ const detinv = 1 / det;
90
+ return [
91
+ b01 * detinv,
92
+ (-a22 * a01 + a02 * a21) * detinv,
93
+ (a12 * a01 - a02 * a11) * detinv,
94
+ b11 * detinv,
95
+ (a22 * a00 - a02 * a20) * detinv,
96
+ (-a12 * a00 + a02 * a10) * detinv,
97
+ b21 * detinv,
98
+ (-a21 * a00 + a01 * a20) * detinv,
99
+ (a11 * a00 - a01 * a10) * detinv,
100
+ ];
101
+ }
102
+ exports.invert = invert;
103
+ /**
104
+ * Calculates the adjugate of a mat3
105
+ */
106
+ function adjoint(a) {
107
+ const [a00, a01, a02, a10, a11, a12, a20, a21, a22] = a;
108
+ return [
109
+ a11 * a22 - a12 * a21,
110
+ a02 * a21 - a01 * a22,
111
+ a01 * a12 - a02 * a11,
112
+ a12 * a20 - a10 * a22,
113
+ a00 * a22 - a02 * a20,
114
+ a02 * a10 - a00 * a12,
115
+ a10 * a21 - a11 * a20,
116
+ a01 * a20 - a00 * a21,
117
+ a00 * a11 - a01 * a10,
118
+ ];
119
+ }
120
+ exports.adjoint = adjoint;
121
+ /**
122
+ * Calculates the determinant of a mat3
123
+ */
124
+ function determinant(a) {
125
+ const [a00, a01, a02, a10, a11, a12, a20, a21, a22] = a;
126
+ return (a00 * (a22 * a11 - a12 * a21) +
127
+ a01 * (-a22 * a10 + a12 * a20) +
128
+ a02 * (a21 * a10 - a11 * a20));
129
+ }
130
+ exports.determinant = determinant;
131
+ /**
132
+ * Multiplies two mat3's
133
+ */
134
+ function multiply(a, b) {
135
+ const [a00, a01, a02, a10, a11, a12, a20, a21, a22] = a;
136
+ const [b00, b01, b02, b10, b11, b12, b20, b21, b22] = b;
137
+ return [
138
+ b00 * a00 + b01 * a10 + b02 * a20,
139
+ b00 * a01 + b01 * a11 + b02 * a21,
140
+ b00 * a02 + b01 * a12 + b02 * a22,
141
+ b10 * a00 + b11 * a10 + b12 * a20,
142
+ b10 * a01 + b11 * a11 + b12 * a21,
143
+ b10 * a02 + b11 * a12 + b12 * a22,
144
+ b20 * a00 + b21 * a10 + b22 * a20,
145
+ b20 * a01 + b21 * a11 + b22 * a21,
146
+ b20 * a02 + b21 * a12 + b22 * a22,
147
+ ];
148
+ }
149
+ exports.multiply = multiply;
150
+ /**
151
+ * Translate a mat3 by the given vector
152
+ */
153
+ function translate(a, v) {
154
+ const [a00, a01, a02, a10, a11, a12, a20, a21, a22] = a;
155
+ const [x, y] = v;
156
+ // prettier-ignore
157
+ return [
158
+ a00, a01, a02,
159
+ a10, a11, a12,
160
+ x * a00 + y * a10 + a20,
161
+ x * a01 + y * a11 + a21,
162
+ x * a02 + y * a12 + a22,
163
+ ];
164
+ }
165
+ exports.translate = translate;
166
+ /**
167
+ * Rotates a mat3 by the given angle
168
+ */
169
+ function rotate(a, rad) {
170
+ const [a00, a01, a02, a10, a11, a12, a20, a21, a22] = a;
171
+ const s = Math.sin(rad);
172
+ const c = Math.cos(rad);
173
+ // prettier-ignore
174
+ return [
175
+ c * a00 + s * a10,
176
+ c * a01 + s * a11,
177
+ c * a02 + s * a12,
178
+ c * a10 - s * a00,
179
+ c * a11 - s * a01,
180
+ c * a12 - s * a02,
181
+ a20, a21, a22,
182
+ ];
183
+ }
184
+ exports.rotate = rotate;
185
+ /**
186
+ * Scales the mat3 by the dimensions in the given vec2
187
+ **/
188
+ function scale(a, v) {
189
+ const [x, y] = v;
190
+ // prettier-ignore
191
+ return [
192
+ a[0] * x, a[1] * x, a[2] & x,
193
+ a[3] * y, a[4] * y, a[5] * y,
194
+ a[6], a[7], a[8],
195
+ ];
196
+ }
197
+ exports.scale = scale;
198
+ /**
199
+ * Creates a matrix from a vector translation
200
+ */
201
+ function fromTranslation(v) {
202
+ const [x, y] = v;
203
+ // prettier-ignore
204
+ return [
205
+ 1, 0, 0,
206
+ 0, 1, 0,
207
+ x, y, 1,
208
+ ];
209
+ }
210
+ exports.fromTranslation = fromTranslation;
211
+ /**
212
+ * Creates a matrix from a given angle
213
+ */
214
+ function fromRotation(rad) {
215
+ const s = Math.sin(rad);
216
+ const c = Math.cos(rad);
217
+ // prettier-ignore
218
+ return [
219
+ c, s, 0,
220
+ -s, c, 0,
221
+ 0, 0, 1,
222
+ ];
223
+ }
224
+ exports.fromRotation = fromRotation;
225
+ /**
226
+ * Creates a matrix from a vector scaling
227
+ */
228
+ function fromScaling(v) {
229
+ const [x, y] = v;
230
+ // prettier-ignore
231
+ return [
232
+ x, 0, 0,
233
+ 0, y, 0,
234
+ 0, 0, 1
235
+ ];
236
+ }
237
+ exports.fromScaling = fromScaling;
238
+ /**
239
+ * Copies the values from a mat2d into a mat3
240
+ **/
241
+ function fromMat2d(a) {
242
+ // prettier-ignore
243
+ return [
244
+ a[0], a[1], 0,
245
+ a[2], a[3], 0,
246
+ a[4], a[5], 1
247
+ ];
248
+ }
249
+ exports.fromMat2d = fromMat2d;
250
+ /**
251
+ * Calculates a 3x3 matrix from the given quaternion
252
+ *
253
+ */
254
+ function fromQuat(q) {
255
+ const [x, y, z, w] = q;
256
+ const x2 = x + x;
257
+ const y2 = y + y;
258
+ const z2 = z + z;
259
+ const xx = x * x2;
260
+ const yx = y * x2;
261
+ const yy = y * y2;
262
+ const zx = z * x2;
263
+ const zy = z * y2;
264
+ const zz = z * z2;
265
+ const wx = w * x2;
266
+ const wy = w * y2;
267
+ const wz = w * z2;
268
+ return [
269
+ 1 - yy - zz,
270
+ yx - wz,
271
+ zx + wy,
272
+ yx + wz,
273
+ 1 - xx - zz,
274
+ zy - wx,
275
+ zx - wy,
276
+ zy + wx,
277
+ 1 - xx - yy,
278
+ ];
279
+ }
280
+ exports.fromQuat = fromQuat;
281
+ /**
282
+ * Calculates a 3x3 normal matrix (transpose inverse) from the 4x4 matrix
283
+ *
284
+ */
285
+ function normalFromMat4(a) {
286
+ // prettier-ignore
287
+ const [a00, a01, a02, a03, a10, a11, a12, a13, a20, a21, a22, a23, a30, a31, a32, a33] = a;
288
+ const b00 = a00 * a11 - a01 * a10;
289
+ const b01 = a00 * a12 - a02 * a10;
290
+ const b02 = a00 * a13 - a03 * a10;
291
+ const b03 = a01 * a12 - a02 * a11;
292
+ const b04 = a01 * a13 - a03 * a11;
293
+ const b05 = a02 * a13 - a03 * a12;
294
+ const b06 = a20 * a31 - a21 * a30;
295
+ const b07 = a20 * a32 - a22 * a30;
296
+ const b08 = a20 * a33 - a23 * a30;
297
+ const b09 = a21 * a32 - a22 * a31;
298
+ const b10 = a21 * a33 - a23 * a31;
299
+ const b11 = a22 * a33 - a23 * a32;
300
+ // Calculate the determinant
301
+ const det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
302
+ if (!det) {
303
+ return null;
304
+ }
305
+ const detinv = 1 / det;
306
+ return [
307
+ (a11 * b11 - a12 * b10 + a13 * b09) * detinv,
308
+ (a12 * b08 - a10 * b11 - a13 * b07) * detinv,
309
+ (a10 * b10 - a11 * b08 + a13 * b06) * detinv,
310
+ (a02 * b10 - a01 * b11 - a03 * b09) * detinv,
311
+ (a00 * b11 - a02 * b08 + a03 * b07) * detinv,
312
+ (a01 * b08 - a00 * b10 - a03 * b06) * detinv,
313
+ (a31 * b05 - a32 * b04 + a33 * b03) * detinv,
314
+ (a32 * b02 - a30 * b05 - a33 * b01) * detinv,
315
+ (a30 * b04 - a31 * b02 + a33 * b00) * detinv,
316
+ ];
317
+ }
318
+ exports.normalFromMat4 = normalFromMat4;
319
+ /**
320
+ * Generates a 2D projection matrix with the given bounds
321
+ */
322
+ function projection(width, height) {
323
+ return [2 / width, 0, 0, 0, -2 / height, 0, -1, 1, 1];
324
+ }
325
+ exports.projection = projection;
326
+ /**
327
+ * Returns Frobenius norm of a mat3
328
+ */
329
+ function frob(a) {
330
+ return Math.sqrt(a[0] * a[0] +
331
+ a[1] * a[1] +
332
+ a[2] * a[2] +
333
+ a[3] * a[3] +
334
+ a[4] * a[4] +
335
+ a[5] * a[5] +
336
+ a[6] * a[6] +
337
+ a[7] * a[7] +
338
+ a[8] * a[8]);
339
+ }
340
+ exports.frob = frob;
341
+ /**
342
+ * Adds two mat3's
343
+ */
344
+ function add(a, b) {
345
+ return [
346
+ a[0] + b[0],
347
+ a[1] + b[1],
348
+ a[2] + b[2],
349
+ a[3] + b[3],
350
+ a[4] + b[4],
351
+ a[5] + b[5],
352
+ a[6] + b[6],
353
+ a[7] + b[7],
354
+ a[8] + b[8],
355
+ ];
356
+ }
357
+ exports.add = add;
358
+ /**
359
+ * Subtracts matrix b from matrix a
360
+ */
361
+ function subtract(a, b) {
362
+ return [
363
+ a[0] - b[0],
364
+ a[1] - b[1],
365
+ a[2] - b[2],
366
+ a[3] - b[3],
367
+ a[4] - b[4],
368
+ a[5] - b[5],
369
+ a[6] - b[6],
370
+ a[7] - b[7],
371
+ a[8] - b[8],
372
+ ];
373
+ }
374
+ exports.subtract = subtract;
375
+ /**
376
+ * Multiply each element of the matrix by a scalar.
377
+ */
378
+ function multiplyScalar(a, s) {
379
+ return [
380
+ a[0] * s,
381
+ a[1] * s,
382
+ a[2] * s,
383
+ a[3] * s,
384
+ a[4] * s,
385
+ a[5] * s,
386
+ a[6] * s,
387
+ a[7] * s,
388
+ a[8] * s,
389
+ ];
390
+ }
391
+ exports.multiplyScalar = multiplyScalar;
392
+ /**
393
+ * Adds two mat3's after multiplying each element of the second operand by a scalar value.
394
+ */
395
+ function multiplyScalarAndAdd(a, b, scale) {
396
+ return [
397
+ a[0] + b[0] * scale,
398
+ a[1] + b[1] * scale,
399
+ a[2] + b[2] * scale,
400
+ a[3] + b[3] * scale,
401
+ a[4] + b[4] * scale,
402
+ a[5] + b[5] * scale,
403
+ a[6] + b[6] * scale,
404
+ a[7] + b[7] * scale,
405
+ a[8] + b[8] * scale,
406
+ ];
407
+ }
408
+ exports.multiplyScalarAndAdd = multiplyScalarAndAdd;
409
+ /**
410
+ * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
411
+ */
412
+ function exactEquals(a, b) {
413
+ return (a[0] === b[0] &&
414
+ a[1] === b[1] &&
415
+ a[2] === b[2] &&
416
+ a[3] === b[3] &&
417
+ a[4] === b[4] &&
418
+ a[5] === b[5] &&
419
+ a[6] === b[6] &&
420
+ a[7] === b[7] &&
421
+ a[8] === b[8]);
422
+ }
423
+ exports.exactEquals = exactEquals;
424
+ /**
425
+ * Returns whether or not the matrices have approximately the same elements in the same position.
426
+ */
427
+ function equals(a, b) {
428
+ const a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4], a5 = a[5], a6 = a[6], a7 = a[7], a8 = a[8];
429
+ const b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8];
430
+ return (Math.abs(a0 - b0) <=
431
+ Common.EPSILON * Math.max(1, Math.abs(a0), Math.abs(b0)) &&
432
+ Math.abs(a1 - b1) <=
433
+ Common.EPSILON * Math.max(1, Math.abs(a1), Math.abs(b1)) &&
434
+ Math.abs(a2 - b2) <=
435
+ Common.EPSILON * Math.max(1, Math.abs(a2), Math.abs(b2)) &&
436
+ Math.abs(a3 - b3) <=
437
+ Common.EPSILON * Math.max(1, Math.abs(a3), Math.abs(b3)) &&
438
+ Math.abs(a4 - b4) <=
439
+ Common.EPSILON * Math.max(1, Math.abs(a4), Math.abs(b4)) &&
440
+ Math.abs(a5 - b5) <=
441
+ Common.EPSILON * Math.max(1, Math.abs(a5), Math.abs(b5)) &&
442
+ Math.abs(a6 - b6) <=
443
+ Common.EPSILON * Math.max(1, Math.abs(a6), Math.abs(b6)) &&
444
+ Math.abs(a7 - b7) <=
445
+ Common.EPSILON * Math.max(1, Math.abs(a7), Math.abs(b7)) &&
446
+ Math.abs(a8 - b8) <=
447
+ Common.EPSILON * Math.max(1, Math.abs(a8), Math.abs(b8)));
448
+ }
449
+ exports.equals = equals;
450
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0My5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXQzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQWtDO0FBYWxDLGtCQUFrQjtBQUNsQixTQUFnQixFQUFFLENBQ2pCLEdBQVcsRUFBRSxHQUFXLEVBQUUsR0FBVyxFQUNyQyxHQUFXLEVBQUUsR0FBVyxFQUFFLEdBQVcsRUFDckMsR0FBVyxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBRXJDLGtCQUFrQjtJQUNsQixPQUFPO1FBQ04sR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO1FBQ2IsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO1FBQ2IsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0tBQ2IsQ0FBQTtBQUNGLENBQUM7QUFYRCxnQkFXQztBQUVEOzs7R0FHRztBQUVIOztHQUVHO0FBQ0gsU0FBZ0IsUUFBUSxDQUFDLENBQU87SUFDL0Isa0JBQWtCO0lBQ2xCLE9BQU87UUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNqQixDQUFBO0FBQ0YsQ0FBQztBQVBELDRCQU9DO0FBRUQ7O0dBRUc7QUFDSCxrQkFBa0I7QUFDTCxRQUFBLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3JDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNQLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztDQUNQLENB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LEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFDakMsTUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2pDLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQTtJQUNqQyxNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFDakMsTUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2pDLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQTtJQUNqQyxNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFDakMsTUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2pDLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQTtJQUVqQyw0QkFBNEI7SUFDNUIsTUFBTSxHQUFHLEdBQ1IsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFFdEUsSUFBSSxDQUFDLEdBQUcsRUFBRTtRQUNULE9BQU8sSUFBSSxDQUFBO0tBQ1g7SUFDRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFBO0lBRXRCLE9BQU87UUFDTixDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTTtRQUM1QyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTTtRQUM1QyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTTtRQUU1QyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTTtRQUM1QyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTTtRQUM1QyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTTtRQUU1QyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTTtRQUM1QyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTTtRQUM1QyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTTtLQUM1QyxDQUFBO0FBQ0YsQ0FBQztBQTVDRCx3Q0E0Q0M7QUFFRDs7R0FFRztBQUNILFNBQWdCLFVBQVUsQ0FBQyxLQUFhLEVBQUUsTUFBYztJQUN2RCxPQUFPLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUN0RCxDQUFDO0FBRkQsZ0NBRUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLElBQUksQ0FBQyxD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QyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDaEIsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNoQixNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDaEIsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3pELENBQUE7QUFDRixDQUFDO0FBdkNELHdCQXVDQyJ9
@@ -310,3 +310,4 @@ export declare function exactEquals(a: Mat4, b: Mat4): boolean;
310
310
  */
311
311
  export declare function equals(a: Mat4, b: Mat4): boolean;
312
312
  export {};
313
+ //# sourceMappingURL=mat4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mat4.d.ts","sourceRoot":"","sources":["../../src/mat4.ts"],"names":[],"mappings":"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"}