linearly 0.10.0 → 0.12.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 (62) hide show
  1. package/README.md +35 -4
  2. package/lib/cjs/index.d.ts +28 -0
  3. package/lib/cjs/index.d.ts.map +1 -1
  4. package/lib/cjs/index.js +29 -1
  5. package/lib/cjs/mat2.d.ts +29 -12
  6. package/lib/cjs/mat2.d.ts.map +1 -1
  7. package/lib/cjs/mat2.js +28 -25
  8. package/lib/cjs/mat2d.d.ts +21 -1
  9. package/lib/cjs/mat2d.d.ts.map +1 -1
  10. package/lib/cjs/mat2d.js +33 -3
  11. package/lib/cjs/mat3.d.ts +24 -5
  12. package/lib/cjs/mat3.d.ts.map +1 -1
  13. package/lib/cjs/mat3.js +36 -7
  14. package/lib/cjs/mat4.d.ts +26 -1
  15. package/lib/cjs/mat4.d.ts.map +1 -1
  16. package/lib/cjs/mat4.js +45 -3
  17. package/lib/cjs/quat.d.ts +25 -28
  18. package/lib/cjs/quat.d.ts.map +1 -1
  19. package/lib/cjs/quat.js +39 -43
  20. package/lib/cjs/scalar.d.ts +54 -10
  21. package/lib/cjs/scalar.d.ts.map +1 -1
  22. package/lib/cjs/scalar.js +78 -15
  23. package/lib/cjs/vec2.d.ts +58 -2
  24. package/lib/cjs/vec2.d.ts.map +1 -1
  25. package/lib/cjs/vec2.js +78 -4
  26. package/lib/cjs/vec3.d.ts +45 -2
  27. package/lib/cjs/vec3.d.ts.map +1 -1
  28. package/lib/cjs/vec3.js +90 -4
  29. package/lib/cjs/vec4.d.ts +45 -3
  30. package/lib/cjs/vec4.d.ts.map +1 -1
  31. package/lib/cjs/vec4.js +95 -5
  32. package/lib/esm/index.d.ts +28 -0
  33. package/lib/esm/index.d.ts.map +1 -1
  34. package/lib/esm/index.js +29 -1
  35. package/lib/esm/mat2.d.ts +29 -12
  36. package/lib/esm/mat2.d.ts.map +1 -1
  37. package/lib/esm/mat2.js +26 -22
  38. package/lib/esm/mat2d.d.ts +21 -1
  39. package/lib/esm/mat2d.d.ts.map +1 -1
  40. package/lib/esm/mat2d.js +31 -2
  41. package/lib/esm/mat3.d.ts +24 -5
  42. package/lib/esm/mat3.d.ts.map +1 -1
  43. package/lib/esm/mat3.js +34 -6
  44. package/lib/esm/mat4.d.ts +26 -1
  45. package/lib/esm/mat4.d.ts.map +1 -1
  46. package/lib/esm/mat4.js +43 -2
  47. package/lib/esm/quat.d.ts +25 -28
  48. package/lib/esm/quat.d.ts.map +1 -1
  49. package/lib/esm/quat.js +35 -39
  50. package/lib/esm/scalar.d.ts +54 -10
  51. package/lib/esm/scalar.d.ts.map +1 -1
  52. package/lib/esm/scalar.js +70 -12
  53. package/lib/esm/vec2.d.ts +58 -2
  54. package/lib/esm/vec2.d.ts.map +1 -1
  55. package/lib/esm/vec2.js +71 -3
  56. package/lib/esm/vec3.d.ts +45 -2
  57. package/lib/esm/vec3.d.ts.map +1 -1
  58. package/lib/esm/vec3.js +82 -3
  59. package/lib/esm/vec4.d.ts +45 -3
  60. package/lib/esm/vec4.d.ts.map +1 -1
  61. package/lib/esm/vec4.js +88 -4
  62. package/package.json +4 -1
package/README.md CHANGED
@@ -3,23 +3,54 @@
3
3
  [![NPM Version](https://img.shields.io/npm/v/linearly.svg)](https://www.npmjs.com/package/linearly)
4
4
  ![CI Test Result](https://github.com/baku89/linearly/actions/workflows/ci.yml/badge.svg)
5
5
 
6
- [glMatrix](https://github.com/toji/gl-matrix)-like library but using immutable data structure.
6
+ A Collection of utility functions that relates to linear algebra and graphics programming.
7
+
8
+ This library is based on [glMatrix](https://github.com/toji/gl-matrix), but adopts immutable data structure.
9
+
10
+ 🍡 I'd be appreciate to receive PRs from anyone willing to help with tedious tasks like writing JSDoc, adding necessary functions, or writing tests.
11
+
12
+ ### glMatrix
7
13
 
8
14
  ```js
9
- // in gl-Matrix
15
+ // In glMatrix, you have to manually pass an output vector by reference to reuse vectors in efficient way.
10
16
  const dir = vec3.fromValues(2, 1, 3)
11
17
  vec3.normalize(dir, dir)
12
18
 
13
19
  const out = vec3.create()
14
20
  vec3.cross(out, dir, [0, 1, 0])
15
21
  vec2.scale(out, out, 3)
22
+ ```
23
+
24
+ ### Linearly
25
+
26
+ ```js
27
+ // In linearly, you can simply write like this:
28
+ import {mat2d, type Mat2d, vec3} from 'linearly'
16
29
 
17
- // in linearly, you can simply write like this:
18
30
  const dir = vec3.normalize([2, 1, 3])
19
31
  let out = vec3.cross(dir, [0, 1, 0])
20
32
  out = vec3.scale(out, 3)
33
+
34
+ // Vector and matrix types are annotated with readonly flags in TypeScript, and some constants are defined as frozen array (applied Object.freeze). You can use `clone` if you want to mutate the elements of values.
35
+ const m: Mat2d = mat2d.clone(mat2d.ident)
36
+ m[4] *= 2.0
37
+ m[5] = -4.5
21
38
  ```
22
39
 
40
+ In addition to functions that can be found on [glMatrix docs](https://glmatrix.net/), the library also provides some useful functions from languages like [GLSL](https://registry.khronos.org/OpenGL-Refpages/gl4/html/indexflat.php) (`step`, `mix` `smoothstep`), Houdini's [VEX](https://www.sidefx.com/docs/houdini/vex/functions/) (`fit`, `efit`, `invlerp`, `degrees`, `radians`), and even Unity C# (`inverseLerp`).
41
+
42
+ ## Modules
43
+
44
+ The names of modules are derived from glMatrix.
45
+
46
+ - `mat2`: 2D linear transformation (rotation + scale + skew)
47
+ - `mat2d`: 2D affine transformation, omitting redundant third rows which is always set to `[0, 0, 1]` (translation + rotation + scale + skew)
48
+ - `mat3`: 2D homogeneous transformation (translation + rotation + scale + skew + perspective)
49
+ - `mat4`: 3D affine transformation
50
+ - `quat`: 3D rotation
51
+
52
+ See the [Full API documentation](https://baku89.github.io/linearly) for further informations.
53
+
23
54
  ## Development
24
55
 
25
56
  ```
@@ -29,6 +60,6 @@ yarn install
29
60
  yarn test --watch
30
61
  ```
31
62
 
32
- ## LICENSE
63
+ ## License
33
64
 
34
65
  This repository is published under an MIT License. See the included [LICENSE file](./LICENSE).
@@ -1,18 +1,46 @@
1
+ /**
2
+ * Represents a single number.
3
+ */
1
4
  export * as scalar from './scalar';
5
+ /**
6
+ * Represents 2D vector.
7
+ */
2
8
  export * as vec2 from './vec2';
3
9
  export type { Vec2 } from './vec2';
10
+ /**
11
+ * Represents 3D vector.
12
+ */
4
13
  export * as vec3 from './vec3';
5
14
  export type { Vec3 } from './vec3';
15
+ /**
16
+ * Represents 4D vector.
17
+ */
6
18
  export * as vec4 from './vec4';
7
19
  export type { Vec4 } from './vec4';
20
+ /**
21
+ * Represents 2D linear transformation (rotation, scaling, skewing).
22
+ */
8
23
  export * as mat2 from './mat2';
9
24
  export type { Mat2 } from './mat2';
25
+ /**
26
+ * Represents 2D affine transformation (translation, rotation, scaling, skewing), omitting reduction thrid row which is always set to `[0, 0, 1]`. The order of six elements is the same as CSS transform matrix.
27
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix
28
+ */
10
29
  export * as mat2d from './mat2d';
11
30
  export type { Mat2d } from './mat2d';
31
+ /**
32
+ * Rpresents 2D homogeneous transformation (translation, rotation, scaling, skewing, perspective).
33
+ */
12
34
  export * as mat3 from './mat3';
13
35
  export type { Mat3 } from './mat3';
36
+ /**
37
+ * Represents 3D affine transformation (translation, rotation, scaling, skewing).
38
+ */
14
39
  export * as mat4 from './mat4';
15
40
  export type { Mat4 } from './mat4';
41
+ /**
42
+ * Represents rotation in 3D space.
43
+ */
16
44
  export * as quat from './quat';
17
45
  export type { Quat } from './quat';
18
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAElC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,YAAY,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAElC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAElC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC;;;GAGG;AACH,OAAO,KAAK,KAAK,MAAM,SAAS,CAAA;AAChC,YAAY,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAElC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAEhC;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAA;AAC9B,YAAY,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA"}
package/lib/cjs/index.js CHANGED
@@ -24,13 +24,41 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.quat = exports.mat4 = exports.mat3 = exports.mat2d = exports.mat2 = exports.vec4 = exports.vec3 = exports.vec2 = exports.scalar = void 0;
27
+ /**
28
+ * Represents a single number.
29
+ */
27
30
  exports.scalar = __importStar(require("./scalar"));
31
+ /**
32
+ * Represents 2D vector.
33
+ */
28
34
  exports.vec2 = __importStar(require("./vec2"));
35
+ /**
36
+ * Represents 3D vector.
37
+ */
29
38
  exports.vec3 = __importStar(require("./vec3"));
39
+ /**
40
+ * Represents 4D vector.
41
+ */
30
42
  exports.vec4 = __importStar(require("./vec4"));
43
+ /**
44
+ * Represents 2D linear transformation (rotation, scaling, skewing).
45
+ */
31
46
  exports.mat2 = __importStar(require("./mat2"));
47
+ /**
48
+ * Represents 2D affine transformation (translation, rotation, scaling, skewing), omitting reduction thrid row which is always set to `[0, 0, 1]`. The order of six elements is the same as CSS transform matrix.
49
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/matrix
50
+ */
32
51
  exports.mat2d = __importStar(require("./mat2d"));
52
+ /**
53
+ * Rpresents 2D homogeneous transformation (translation, rotation, scaling, skewing, perspective).
54
+ */
33
55
  exports.mat3 = __importStar(require("./mat3"));
56
+ /**
57
+ * Represents 3D affine transformation (translation, rotation, scaling, skewing).
58
+ */
34
59
  exports.mat4 = __importStar(require("./mat4"));
60
+ /**
61
+ * Represents rotation in 3D space.
62
+ */
35
63
  exports.quat = __importStar(require("./quat"));
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtREFBa0M7QUFFbEMsK0NBQThCO0FBRzlCLCtDQUE4QjtBQUc5QiwrQ0FBOEI7QUFHOUIsK0NBQThCO0FBRzlCLGlEQUFnQztBQUdoQywrQ0FBOEI7QUFHOUIsK0NBQThCO0FBRzlCLCtDQUE4QiJ9
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7R0FFRztBQUNILG1EQUFrQztBQUVsQzs7R0FFRztBQUNILCtDQUE4QjtBQUc5Qjs7R0FFRztBQUNILCtDQUE4QjtBQUc5Qjs7R0FFRztBQUNILCtDQUE4QjtBQUc5Qjs7R0FFRztBQUNILCtDQUE4QjtBQUc5Qjs7O0dBR0c7QUFDSCxpREFBZ0M7QUFHaEM7O0dBRUc7QUFDSCwrQ0FBOEI7QUFHOUI7O0dBRUc7QUFDSCwrQ0FBOEI7QUFHOUI7O0dBRUc7QUFDSCwrQ0FBOEIifQ==
package/lib/cjs/mat2.d.ts CHANGED
@@ -1,16 +1,31 @@
1
1
  import { Vec2 } from './vec2';
2
+ /**
3
+ * Represents 2D transformation exclude translation
4
+ */
2
5
  export type Mat2 = Readonly<MutableMat2>;
6
+ /**
7
+ * Mutable version of {@link Mat2}
8
+ */
3
9
  export type MutableMat2 = [number, number, number, number];
10
+ /**
11
+ * Creates a new matrix from given elements
12
+ * @category Generators
13
+ */
4
14
  export declare function of(m00: number, m01: number, m10: number, m11: number): Mat2;
5
15
  /**
6
16
  * Creates a mutable clone of given mat2
17
+ * @category Generators
7
18
  */
8
19
  export declare function clone(a: Mat2): MutableMat2;
9
20
  /**
10
- * The identity matrix of mat2
11
- *
21
+ * The identity matrix of mat2.
22
+ * @category Constants
12
23
  */
13
24
  export declare const identity: Mat2;
25
+ /**
26
+ * The mat2d filled with zeros.
27
+ * @category Constants
28
+ */
14
29
  export declare const zero: Mat2;
15
30
  /**
16
31
  * Transpose the values of a mat2
@@ -43,7 +58,7 @@ export declare function rotate(a: Mat2, rad: number): Mat2;
43
58
  /**
44
59
  * Scales the mat2 by the dimensions in the given vec2
45
60
  **/
46
- export declare function scale(a: Mat2, v: Vec2): Mat2;
61
+ export declare function scale(a: Mat2, v: Vec2 | number): Mat2;
47
62
  /**
48
63
  * Apply skew to the mat2d by the given angles
49
64
  * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skew
@@ -51,15 +66,18 @@ export declare function scale(a: Mat2, v: Vec2): Mat2;
51
66
  export declare function skew(m: Mat2, ax: number, ay: number): Mat2;
52
67
  /**
53
68
  * Creates a matrix from a given angle
69
+ * @category Generators
54
70
  */
55
71
  export declare function fromRotation(rad: number): Mat2;
56
72
  /**
57
73
  * Creates a matrix from a vector scaling
74
+ * @category Generators
58
75
  */
59
76
  export declare function fromScaling(v: Vec2): Mat2;
60
77
  /**
61
78
  * Creates a matrix from a vector skew
62
79
  * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skew
80
+ * @category Generators
63
81
  */
64
82
  export declare function fromSkew(ax: number, ay: number): Mat2;
65
83
  /**
@@ -75,7 +93,11 @@ export declare function add(...ms: Mat2[]): Mat2;
75
93
  */
76
94
  export declare function subtract(...ms: Mat2[]): Mat2;
77
95
  /**
78
- * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
96
+ * Subtracts b from a
97
+ */
98
+ export declare function delta(a: Mat2, b: Mat2): Mat2;
99
+ /**
100
+ * Returns whether or not the matrices have exactly the same elements in the same position (when compared with `===`)
79
101
  */
80
102
  export declare function exactEquals(a: Mat2, b: Mat2): boolean;
81
103
  /**
@@ -83,16 +105,11 @@ export declare function exactEquals(a: Mat2, b: Mat2): boolean;
83
105
  */
84
106
  export declare function equals(a: Mat2, b: Mat2): boolean;
85
107
  /**
86
- * Multiply each element of the matrix by a scalar.
87
- *
88
- * @param a the matrix to scale
89
- * @param s amount to scale the matrix's elements by
108
+ * Alias for {@link subtract}
90
109
  */
91
- export declare function multiplyScalar(a: Mat2, s: number): Mat2;
110
+ export declare const sub: typeof subtract;
92
111
  /**
93
- Adds given mat2's after multiplying each element of the second operand by a scalar value.
112
+ * Alias for {@link multiply}
94
113
  */
95
- export declare function multiplyScalarAndAdd(a: Mat2, b: Mat2, scale: number): Mat2;
96
- export declare const sub: typeof subtract;
97
114
  export declare const mul: typeof multiply;
98
115
  //# sourceMappingURL=mat2.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mat2.d.ts","sourceRoot":"","sources":["../../src/mat2.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAE3B,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;AACxC,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAE1D,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3E;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,WAAW,CAE1C;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,IAAkC,CAAA;AAEzD,eAAO,MAAM,IAAI,EAAE,IAAkC,CAAA;AAErD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAMvC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAgB3C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAIrC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,UAElC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAmB5C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAMjD;AAED;;IAEI;AACJ,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAK5C;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI9C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAEzC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CASrD;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,UAE3B;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAavC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAa5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,WAE3C;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,WAatC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAO1E;AAED,eAAO,MAAM,GAAG,iBAAW,CAAA;AAC3B,eAAO,MAAM,GAAG,iBAAW,CAAA"}
1
+ {"version":3,"file":"mat2.d.ts","sourceRoot":"","sources":["../../src/mat2.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;AAExC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;AAE1D;;;GAGG;AACH,wBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3E;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,WAAW,CAE1C;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,IAAkC,CAAA;AAEzD;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,IAAkC,CAAA;AAErD;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAMvC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAgB3C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAIrC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,UAElC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAmB5C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAMjD;AAED;;IAEI;AACJ,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAKrD;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAE1D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI9C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAEzC;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CASrD;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,UAE3B;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAavC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAa5C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAE5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,WAE3C;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,WAatC;AAED;;GAEG;AACH,eAAO,MAAM,GAAG,iBAAW,CAAA;AAE3B;;GAEG;AACH,eAAO,MAAM,GAAG,iBAAW,CAAA"}
package/lib/cjs/mat2.js CHANGED
@@ -23,24 +23,33 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.mul = exports.sub = exports.multiplyScalarAndAdd = exports.multiplyScalar = exports.equals = exports.exactEquals = exports.subtract = exports.add = exports.frob = exports.fromSkew = exports.fromScaling = exports.fromRotation = exports.skew = exports.scale = exports.rotate = exports.multiply = exports.determinant = exports.adjoint = exports.invert = exports.transpose = exports.zero = exports.identity = exports.clone = exports.of = void 0;
26
+ exports.mul = exports.sub = exports.equals = exports.exactEquals = exports.delta = exports.subtract = exports.add = exports.frob = exports.fromSkew = exports.fromScaling = exports.fromRotation = exports.skew = exports.scale = exports.rotate = exports.multiply = exports.determinant = exports.adjoint = exports.invert = exports.transpose = exports.zero = exports.identity = exports.clone = exports.of = void 0;
27
27
  const Common = __importStar(require("./common"));
28
+ /**
29
+ * Creates a new matrix from given elements
30
+ * @category Generators
31
+ */
28
32
  function of(m00, m01, m10, m11) {
29
33
  return [m00, m01, m10, m11];
30
34
  }
31
35
  exports.of = of;
32
36
  /**
33
37
  * Creates a mutable clone of given mat2
38
+ * @category Generators
34
39
  */
35
40
  function clone(a) {
36
41
  return [...a];
37
42
  }
38
43
  exports.clone = clone;
39
44
  /**
40
- * The identity matrix of mat2
41
- *
45
+ * The identity matrix of mat2.
46
+ * @category Constants
42
47
  */
43
48
  exports.identity = Object.freeze([1, 0, 0, 1]);
49
+ /**
50
+ * The mat2d filled with zeros.
51
+ * @category Constants
52
+ */
44
53
  exports.zero = Object.freeze([0, 0, 0, 0]);
45
54
  /**
46
55
  * Transpose the values of a mat2
@@ -130,7 +139,7 @@ exports.rotate = rotate;
130
139
  **/
131
140
  function scale(a, v) {
132
141
  const [a0, a1, a2, a3] = a;
133
- const [v0, v1] = v;
142
+ const [v0, v1] = typeof v === 'number' ? [v, v] : v;
134
143
  return [a0 * v0, a1 * v0, a2 * v1, a3 * v1];
135
144
  }
136
145
  exports.scale = scale;
@@ -144,6 +153,7 @@ function skew(m, ax, ay) {
144
153
  exports.skew = skew;
145
154
  /**
146
155
  * Creates a matrix from a given angle
156
+ * @category Generators
147
157
  */
148
158
  function fromRotation(rad) {
149
159
  const s = Math.sin(rad);
@@ -153,6 +163,7 @@ function fromRotation(rad) {
153
163
  exports.fromRotation = fromRotation;
154
164
  /**
155
165
  * Creates a matrix from a vector scaling
166
+ * @category Generators
156
167
  */
157
168
  function fromScaling(v) {
158
169
  return [v[0], 0, 0, v[1]];
@@ -161,6 +172,7 @@ exports.fromScaling = fromScaling;
161
172
  /**
162
173
  * Creates a matrix from a vector skew
163
174
  * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skew
175
+ * @category Generators
164
176
  */
165
177
  function fromSkew(ax, ay) {
166
178
  const x = Math.tan(ax);
@@ -216,7 +228,14 @@ function subtract(...ms) {
216
228
  }
217
229
  exports.subtract = subtract;
218
230
  /**
219
- * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
231
+ * Subtracts b from a
232
+ */
233
+ function delta(a, b) {
234
+ return [b[0] - a[0], b[1] - a[1], b[2] - a[2], b[3] - a[3]];
235
+ }
236
+ exports.delta = delta;
237
+ /**
238
+ * Returns whether or not the matrices have exactly the same elements in the same position (when compared with `===`)
220
239
  */
221
240
  function exactEquals(a, b) {
222
241
  return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];
@@ -239,27 +258,11 @@ function equals(a, b) {
239
258
  }
240
259
  exports.equals = equals;
241
260
  /**
242
- * Multiply each element of the matrix by a scalar.
243
- *
244
- * @param a the matrix to scale
245
- * @param s amount to scale the matrix's elements by
261
+ * Alias for {@link subtract}
246
262
  */
247
- function multiplyScalar(a, s) {
248
- return [a[0] * s, a[1] * s, a[2] * s, a[3] * s];
249
- }
250
- exports.multiplyScalar = multiplyScalar;
263
+ exports.sub = subtract;
251
264
  /**
252
- Adds given mat2's after multiplying each element of the second operand by a scalar value.
265
+ * Alias for {@link multiply}
253
266
  */
254
- function multiplyScalarAndAdd(a, b, scale) {
255
- return [
256
- a[0] + b[0] * scale,
257
- a[1] + b[1] * scale,
258
- a[2] + b[2] * scale,
259
- a[3] + b[3] * scale,
260
- ];
261
- }
262
- exports.multiplyScalarAndAdd = multiplyScalarAndAdd;
263
- exports.sub = subtract;
264
267
  exports.mul = multiply;
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Mi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXQyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQWtDO0FBTWxDLFNBQWdCLEVBQUUsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ3BFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUM1QixDQUFDO0FBRkQsZ0JBRUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLEtBQUssQ0FBQyxDQUFPO0lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0FBQ2QsQ0FBQztBQUZELHNCQUVDO0FBRUQ7OztHQUdHO0FBQ1UsUUFBQSxRQUFRLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFNUMsUUFBQSxJQUFJLEdBQVMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFckQ7O0dBRUc7QUFDSCxTQUFnQixTQUFTLENBQUMsQ0FBTztJQUNoQyxrQkFBa0I7SUFDbEIsT0FBTztRQUNOLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDVixDQUFBO0FBQ0YsQ0FBQztBQU5ELDhCQU1DO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixNQUFNLENBQUMsQ0FBTztJQUM3QixNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTFCLDRCQUE0QjtJQUM1QixNQUFN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
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Mi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXQyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsaURBQWtDO0FBYWxDOzs7R0FHRztBQUNILFNBQWdCLEVBQUUsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ3BFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtBQUM1QixDQUFDO0FBRkQsZ0JBRUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixLQUFLLENBQUMsQ0FBTztJQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtBQUNkLENBQUM7QUFGRCxzQkFFQztBQUVEOzs7R0FHRztBQUNVLFFBQUEsUUFBUSxHQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRXpEOzs7R0FHRztBQUNVLFFBQUEsSUFBSSxHQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRXJEOztHQUVHO0FBQ0gsU0FBZ0IsU0FBUyxDQUFDLENBQU87SUFDaEMsa0JBQWtCO0lBQ2xCLE9BQU87UUFDTixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNWLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ1YsQ0FBQTtBQUNGLENBQUM7QUFORCw4QkFNQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsTUFBTSxDQUFDLENBQU87SUFDN0IsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FB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
@@ -19,11 +19,20 @@ import type { Vec2 } from './vec2';
19
19
  */
20
20
  export type Mat2d = readonly [number, number, number, number, number, number];
21
21
  export type MutableMat2d = [number, number, number, number, number, number];
22
+ /**
23
+ * Creates a new matrix from given elements
24
+ * @category Generators
25
+ */
22
26
  export declare function of(a: number, b: number, c: number, d: number, tx: number, ty: number): Mat2d;
23
27
  /**
24
28
  * The identity matrix of mat2d
29
+ * @category Constants
25
30
  */
26
31
  export declare const identity: Mat2d;
32
+ /**
33
+ * The mat2d matrix filled with zeros.
34
+ * @category Constants
35
+ */
27
36
  export declare const zero: Mat2d;
28
37
  /**
29
38
  * Inverts a mat2d
@@ -58,19 +67,23 @@ export declare function skew(m: Mat2d, rads: Vec2, origin: Vec2): Mat2d;
58
67
  /**
59
68
  * Creates a matrix from a given angle
60
69
  * This is equivalent to (but much faster than):
70
+ * @category Generators
61
71
  */
62
72
  export declare function fromRotation(rad: number, origin?: Vec2): Mat2d;
63
73
  /**
64
74
  * Creates a matrix from a vector scaling
75
+ * @category Generators
65
76
  */
66
77
  export declare function fromScaling(v: Vec2 | number, origin?: Vec2): Mat2d;
67
78
  /**
68
79
  * Creates a matrix from a vector translation
80
+ * @category Generators
69
81
  */
70
82
  export declare function fromTranslation(v: Vec2 | number): Mat2d;
71
83
  /**
72
84
  * Creates a matrix from a vector skew
73
85
  * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skew
86
+ * @category Generators
74
87
  */
75
88
  export declare function fromSkew(angles: Vec2, origin?: Vec2): Mat2d;
76
89
  export declare function fixedPoint(m: Mat2d): Vec2 | null;
@@ -86,6 +99,10 @@ export declare function add(...ms: Mat2d[]): Mat2d;
86
99
  * Subtracts matrix b from matrix a
87
100
  */
88
101
  export declare function subtract(...ms: Mat2d[]): Mat2d;
102
+ /**
103
+ * Subtracts b from a
104
+ */
105
+ export declare function delta(a: Mat2d, b: Mat2d): Mat2d;
89
106
  /**
90
107
  * Multiply each element of the matrix by a scalar.
91
108
  */
@@ -96,16 +113,19 @@ export declare function multiplyScalar(a: Mat2d, s: number): Mat2d;
96
113
  export declare function multiplyScalarAndAdd(a: Mat2d, b: Mat2d, scale: number): Mat2d;
97
114
  /**
98
115
  * Creates a matrix that maps from the given points to another. If the third point is not given, the orthogonal matrix is returned.
116
+ * ```text
99
117
  * f-s f'-s'
100
118
  * |/ ---M--> |/
101
119
  * t t'
120
+ * ```
121
+ * @category Generators
102
122
  * @param first a pair of first point
103
123
  * @param second a pair of second point
104
124
  * @param third a pair of third point
105
125
  */
106
126
  export declare function fromPoints(first: [Vec2, Vec2], second: [Vec2, Vec2], third?: [Vec2, Vec2]): Mat2d | null;
107
127
  /**
108
- * Returns whether or not the matrices have exactly the same elements in the same position (when compared with ===)
128
+ * Returns whether or not the matrices have exactly the same elements in the same position (when compared with `===`)
109
129
  */
110
130
  export declare function exactEquals(a: Mat2d, b: Mat2d): boolean;
111
131
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mat2d.d.ts","sourceRoot":"","sources":["../../src/mat2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mat2d.d.ts","sourceRoot":"","sources":["../../src/mat2d.ts"],"names":[],"mappings":"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"}