@predy-js/math 0.3.0-beta.9 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export * from './mat3';
2
2
  export * from './mat4';
3
- export * from './vec2';
4
3
  export * from './vec3';
5
4
  export * from './vec4';
6
5
  export * from './vec';
package/dist/index.js CHANGED
@@ -138,30 +138,6 @@ function mat3Scale(out, a, v) {
138
138
  out[8] = a[8];
139
139
  return out;
140
140
  }
141
- function transposeMat3(out, e) {
142
- if (!e || out === e) {
143
- let t;
144
- t = out[1];
145
- out[1] = out[3];
146
- out[3] = t;
147
- t = out[2];
148
- out[2] = out[6];
149
- out[6] = t;
150
- t = out[5];
151
- out[5] = out[7];
152
- out[7] = t;
153
- }
154
- else {
155
- const a01 = e[1], a02 = e[2], a12 = e[5];
156
- out[1] = e[3];
157
- out[2] = e[6];
158
- out[3] = a01;
159
- out[5] = e[7];
160
- out[6] = a02;
161
- out[7] = a12;
162
- }
163
- return out;
164
- }
165
141
 
166
142
  const d2r$1 = Math.PI / 180;
167
143
  const matrixRotation = new Float32Array(9);
@@ -643,144 +619,6 @@ function mat4identity(out) {
643
619
  out[14] = 0;
644
620
  out[15] = 1;
645
621
  }
646
- function transposeMat4(out, e) {
647
- if (!e || out === e) {
648
- let t;
649
- t = out[1];
650
- out[1] = out[4];
651
- out[4] = t;
652
- t = out[2];
653
- out[2] = out[8];
654
- out[8] = t;
655
- t = out[3];
656
- out[3] = out[12];
657
- out[12] = t;
658
- //
659
- t = out[6];
660
- out[6] = out[9];
661
- out[9] = t;
662
- t = out[7];
663
- out[7] = out[13];
664
- out[13] = t;
665
- t = out[11];
666
- out[11] = out[14];
667
- out[14] = t;
668
- }
669
- else {
670
- out[0] = e[0];
671
- out[1] = e[4];
672
- out[2] = e[8];
673
- out[3] = e[12];
674
- out[4] = e[1];
675
- out[5] = e[5];
676
- out[6] = e[9];
677
- out[7] = e[13];
678
- out[8] = e[2];
679
- out[9] = e[6];
680
- out[10] = e[10];
681
- out[11] = e[14];
682
- out[12] = e[3];
683
- out[13] = e[7];
684
- out[14] = e[11];
685
- out[15] = e[15];
686
- }
687
- return out;
688
- }
689
- function getMat4Transform(te) {
690
- // Extract the translation
691
- const translation = [te[12], te[13], te[14]];
692
- // Extract the scale
693
- const sx = Math.hypot(te[0], te[1], te[2]);
694
- const sy = Math.hypot(te[4], te[5], te[6]);
695
- const sz = Math.hypot(te[8], te[9], te[10]);
696
- const scale = [sx, sy, sz];
697
- // Remove the scale from the matrix
698
- const matrix = [
699
- te[0] / sx, te[1] / sx, te[2] / sx, 0,
700
- te[4] / sy, te[5] / sy, te[6] / sy, 0,
701
- te[8] / sz, te[9] / sz, te[10] / sz, 0,
702
- 0, 0, 0, 1,
703
- ];
704
- // Extract the rotation as a quaternion
705
- const m11 = matrix[0];
706
- const m12 = matrix[4];
707
- const m13 = matrix[8];
708
- const m21 = matrix[1];
709
- const m22 = matrix[5];
710
- const m23 = matrix[9];
711
- const m31 = matrix[2];
712
- const m32 = matrix[6];
713
- const m33 = matrix[10];
714
- const trace = m11 + m22 + m33;
715
- let s;
716
- let x;
717
- let y;
718
- let z;
719
- let w;
720
- if (trace > 0) {
721
- s = 0.5 / Math.sqrt(trace + 1.0);
722
- w = 0.25 / s;
723
- x = (m32 - m23) * s;
724
- y = (m13 - m31) * s;
725
- z = (m21 - m12) * s;
726
- }
727
- else if (m11 > m22 && m11 > m33) {
728
- s = 2.0 * Math.sqrt(1.0 + m11 - m22 - m33);
729
- w = (m32 - m23) / s;
730
- x = 0.25 * s;
731
- y = (m12 + m21) / s;
732
- z = (m13 + m31) / s;
733
- }
734
- else if (m22 > m33) {
735
- s = 2.0 * Math.sqrt(1.0 + m22 - m11 - m33);
736
- w = (m13 - m31) / s;
737
- x = (m12 + m21) / s;
738
- y = 0.25 * s;
739
- z = (m23 + m32) / s;
740
- }
741
- else {
742
- s = 2.0 * Math.sqrt(1.0 + m33 - m11 - m22);
743
- w = (m21 - m12) / s;
744
- x = (m13 + m31) / s;
745
- y = (m23 + m32) / s;
746
- z = 0.25 * s;
747
- }
748
- const rotation = [x, y, z, w];
749
- return { translation, rotation, scale };
750
- }
751
-
752
- // create vec2
753
- function vec2Create(v2) {
754
- if (v2) {
755
- return [v2[0], v2[1]];
756
- }
757
- return [0, 0];
758
- }
759
- // vec2 add vec2
760
- function vec2AddVec2(out, a, b) {
761
- out[0] = a[0] + b[0];
762
- out[1] = a[1] + b[1];
763
- return out;
764
- }
765
- // vec2 sub vec2
766
- function vec2SubVec2(out, a, b) {
767
- out[0] = a[0] - b[0];
768
- out[1] = a[1] - b[1];
769
- return out;
770
- }
771
- // vec2 mul vec2
772
- function vec2MulVec2(out, a, b) {
773
- out[0] = a[0] * b[0];
774
- out[1] = a[1] * b[1];
775
- return out;
776
- }
777
- // vec2 transform by mat3
778
- function vec2MulMat3(out, a, m) {
779
- const x = a[0], y = a[1];
780
- out[0] = x * m[0] + y * m[3] + m[6];
781
- out[1] = x * m[1] + y * m[4] + m[7];
782
- return out;
783
- }
784
622
 
785
623
  const cos$1 = Math.cos;
786
624
  const sin$1 = Math.sin;
@@ -790,12 +628,6 @@ function vecAdd(out, a, b) {
790
628
  }
791
629
  return out;
792
630
  }
793
- function vecSub(out, a, b) {
794
- for (let i = 0, len = a.length; i < len; i++) {
795
- out[i] = a[i] - b[i];
796
- }
797
- return out;
798
- }
799
631
  function vecFill(out, number) {
800
632
  for (let i = 0, len = out.length; i < len; i++) {
801
633
  out[i] = number;
@@ -1100,7 +932,6 @@ exports.clamp = clamp;
1100
932
  exports.ensureVec3 = ensureVec3;
1101
933
  exports.getMat4TR = getMat4TR;
1102
934
  exports.getMat4TRS = getMat4TRS;
1103
- exports.getMat4Transform = getMat4Transform;
1104
935
  exports.invertMat4 = invertMat4;
1105
936
  exports.isZeroVec = isZeroVec;
1106
937
  exports.mat3FromQuat = mat3FromQuat;
@@ -1130,13 +961,6 @@ exports.quatMultiply = quatMultiply;
1130
961
  exports.quatStar = quatStar;
1131
962
  exports.rotateVec2 = rotateVec2;
1132
963
  exports.rotationFromMat3 = rotationFromMat3;
1133
- exports.transposeMat3 = transposeMat3;
1134
- exports.transposeMat4 = transposeMat4;
1135
- exports.vec2AddVec2 = vec2AddVec2;
1136
- exports.vec2Create = vec2Create;
1137
- exports.vec2MulMat3 = vec2MulMat3;
1138
- exports.vec2MulVec2 = vec2MulVec2;
1139
- exports.vec2SubVec2 = vec2SubVec2;
1140
964
  exports.vec2TransformByMat3 = vec2TransformByMat3;
1141
965
  exports.vec3AddVec3 = vec3AddVec3;
1142
966
  exports.vec3Create = vec3Create;
@@ -1159,4 +983,3 @@ exports.vecMulCombine = vecMulCombine;
1159
983
  exports.vecMulScalar = vecMulScalar;
1160
984
  exports.vecNormalize = vecNormalize;
1161
985
  exports.vecSquareDistance = vecSquareDistance;
1162
- exports.vecSub = vecSub;
package/dist/index.mjs CHANGED
@@ -134,30 +134,6 @@ function mat3Scale(out, a, v) {
134
134
  out[8] = a[8];
135
135
  return out;
136
136
  }
137
- function transposeMat3(out, e) {
138
- if (!e || out === e) {
139
- let t;
140
- t = out[1];
141
- out[1] = out[3];
142
- out[3] = t;
143
- t = out[2];
144
- out[2] = out[6];
145
- out[6] = t;
146
- t = out[5];
147
- out[5] = out[7];
148
- out[7] = t;
149
- }
150
- else {
151
- const a01 = e[1], a02 = e[2], a12 = e[5];
152
- out[1] = e[3];
153
- out[2] = e[6];
154
- out[3] = a01;
155
- out[5] = e[7];
156
- out[6] = a02;
157
- out[7] = a12;
158
- }
159
- return out;
160
- }
161
137
 
162
138
  const d2r$1 = Math.PI / 180;
163
139
  const matrixRotation = new Float32Array(9);
@@ -639,144 +615,6 @@ function mat4identity(out) {
639
615
  out[14] = 0;
640
616
  out[15] = 1;
641
617
  }
642
- function transposeMat4(out, e) {
643
- if (!e || out === e) {
644
- let t;
645
- t = out[1];
646
- out[1] = out[4];
647
- out[4] = t;
648
- t = out[2];
649
- out[2] = out[8];
650
- out[8] = t;
651
- t = out[3];
652
- out[3] = out[12];
653
- out[12] = t;
654
- //
655
- t = out[6];
656
- out[6] = out[9];
657
- out[9] = t;
658
- t = out[7];
659
- out[7] = out[13];
660
- out[13] = t;
661
- t = out[11];
662
- out[11] = out[14];
663
- out[14] = t;
664
- }
665
- else {
666
- out[0] = e[0];
667
- out[1] = e[4];
668
- out[2] = e[8];
669
- out[3] = e[12];
670
- out[4] = e[1];
671
- out[5] = e[5];
672
- out[6] = e[9];
673
- out[7] = e[13];
674
- out[8] = e[2];
675
- out[9] = e[6];
676
- out[10] = e[10];
677
- out[11] = e[14];
678
- out[12] = e[3];
679
- out[13] = e[7];
680
- out[14] = e[11];
681
- out[15] = e[15];
682
- }
683
- return out;
684
- }
685
- function getMat4Transform(te) {
686
- // Extract the translation
687
- const translation = [te[12], te[13], te[14]];
688
- // Extract the scale
689
- const sx = Math.hypot(te[0], te[1], te[2]);
690
- const sy = Math.hypot(te[4], te[5], te[6]);
691
- const sz = Math.hypot(te[8], te[9], te[10]);
692
- const scale = [sx, sy, sz];
693
- // Remove the scale from the matrix
694
- const matrix = [
695
- te[0] / sx, te[1] / sx, te[2] / sx, 0,
696
- te[4] / sy, te[5] / sy, te[6] / sy, 0,
697
- te[8] / sz, te[9] / sz, te[10] / sz, 0,
698
- 0, 0, 0, 1,
699
- ];
700
- // Extract the rotation as a quaternion
701
- const m11 = matrix[0];
702
- const m12 = matrix[4];
703
- const m13 = matrix[8];
704
- const m21 = matrix[1];
705
- const m22 = matrix[5];
706
- const m23 = matrix[9];
707
- const m31 = matrix[2];
708
- const m32 = matrix[6];
709
- const m33 = matrix[10];
710
- const trace = m11 + m22 + m33;
711
- let s;
712
- let x;
713
- let y;
714
- let z;
715
- let w;
716
- if (trace > 0) {
717
- s = 0.5 / Math.sqrt(trace + 1.0);
718
- w = 0.25 / s;
719
- x = (m32 - m23) * s;
720
- y = (m13 - m31) * s;
721
- z = (m21 - m12) * s;
722
- }
723
- else if (m11 > m22 && m11 > m33) {
724
- s = 2.0 * Math.sqrt(1.0 + m11 - m22 - m33);
725
- w = (m32 - m23) / s;
726
- x = 0.25 * s;
727
- y = (m12 + m21) / s;
728
- z = (m13 + m31) / s;
729
- }
730
- else if (m22 > m33) {
731
- s = 2.0 * Math.sqrt(1.0 + m22 - m11 - m33);
732
- w = (m13 - m31) / s;
733
- x = (m12 + m21) / s;
734
- y = 0.25 * s;
735
- z = (m23 + m32) / s;
736
- }
737
- else {
738
- s = 2.0 * Math.sqrt(1.0 + m33 - m11 - m22);
739
- w = (m21 - m12) / s;
740
- x = (m13 + m31) / s;
741
- y = (m23 + m32) / s;
742
- z = 0.25 * s;
743
- }
744
- const rotation = [x, y, z, w];
745
- return { translation, rotation, scale };
746
- }
747
-
748
- // create vec2
749
- function vec2Create(v2) {
750
- if (v2) {
751
- return [v2[0], v2[1]];
752
- }
753
- return [0, 0];
754
- }
755
- // vec2 add vec2
756
- function vec2AddVec2(out, a, b) {
757
- out[0] = a[0] + b[0];
758
- out[1] = a[1] + b[1];
759
- return out;
760
- }
761
- // vec2 sub vec2
762
- function vec2SubVec2(out, a, b) {
763
- out[0] = a[0] - b[0];
764
- out[1] = a[1] - b[1];
765
- return out;
766
- }
767
- // vec2 mul vec2
768
- function vec2MulVec2(out, a, b) {
769
- out[0] = a[0] * b[0];
770
- out[1] = a[1] * b[1];
771
- return out;
772
- }
773
- // vec2 transform by mat3
774
- function vec2MulMat3(out, a, m) {
775
- const x = a[0], y = a[1];
776
- out[0] = x * m[0] + y * m[3] + m[6];
777
- out[1] = x * m[1] + y * m[4] + m[7];
778
- return out;
779
- }
780
618
 
781
619
  const cos$1 = Math.cos;
782
620
  const sin$1 = Math.sin;
@@ -786,12 +624,6 @@ function vecAdd(out, a, b) {
786
624
  }
787
625
  return out;
788
626
  }
789
- function vecSub(out, a, b) {
790
- for (let i = 0, len = a.length; i < len; i++) {
791
- out[i] = a[i] - b[i];
792
- }
793
- return out;
794
- }
795
627
  function vecFill(out, number) {
796
628
  for (let i = 0, len = out.length; i < len; i++) {
797
629
  out[i] = number;
@@ -1091,4 +923,4 @@ function quatStar(out, quat) {
1091
923
  return out;
1092
924
  }
1093
925
 
1094
- export { NumberEpsilon, clamp, ensureVec3, getMat4TR, getMat4TRS, getMat4Transform, invertMat4, isZeroVec, mat3FromQuat, mat3FromRotation, mat3FromRotationZ, mat3MulMat3, mat3NormalFromMat4, mat3Rotate, mat3Scale, mat3Translate, mat3create, mat4Clone, mat4Determinate, mat4create, mat4fromRotationTranslationScale, mat4identity, mat4invert, mat4multiply, mat4perspective, mat4rotate, mat4scale, mat4translate, quatCreate, quatEquals, quatFromRotation, quatMultiply, quatStar, rotateVec2, rotationFromMat3, transposeMat3, transposeMat4, vec2AddVec2, vec2Create, vec2MulMat3, vec2MulVec2, vec2SubVec2, vec2TransformByMat3, vec3AddVec3, vec3Create, vec3Cross, vec3MulMat3, vec3MulMat4, vec3MulNum, vec3MulVec3, vec3RotateByMat4, vec3RotateByQuat, vec3TranslateByMat4, vec4Create, vecAdd, vecAddCombine, vecAssign, vecDot, vecFill, vecMinus, vecMulCombine, vecMulScalar, vecNormalize, vecSquareDistance, vecSub };
926
+ export { NumberEpsilon, clamp, ensureVec3, getMat4TR, getMat4TRS, invertMat4, isZeroVec, mat3FromQuat, mat3FromRotation, mat3FromRotationZ, mat3MulMat3, mat3NormalFromMat4, mat3Rotate, mat3Scale, mat3Translate, mat3create, mat4Clone, mat4Determinate, mat4create, mat4fromRotationTranslationScale, mat4identity, mat4invert, mat4multiply, mat4perspective, mat4rotate, mat4scale, mat4translate, quatCreate, quatEquals, quatFromRotation, quatMultiply, quatStar, rotateVec2, rotationFromMat3, vec2TransformByMat3, vec3AddVec3, vec3Create, vec3Cross, vec3MulMat3, vec3MulMat4, vec3MulNum, vec3MulVec3, vec3RotateByMat4, vec3RotateByQuat, vec3TranslateByMat4, vec4Create, vecAdd, vecAddCombine, vecAssign, vecDot, vecFill, vecMinus, vecMulCombine, vecMulScalar, vecNormalize, vecSquareDistance };
package/dist/mat3.d.ts CHANGED
@@ -7,4 +7,3 @@ export declare function mat3NormalFromMat4(out: mat3 | number[], a: mat4): mat3;
7
7
  export declare function mat3Translate(out: mat3, a: mat3, v: vec2): mat3;
8
8
  export declare function mat3Rotate(out: mat3, a: mat3, rad: number): mat3;
9
9
  export declare function mat3Scale(out: mat3, a: mat3, v: vec2): mat3;
10
- export declare function transposeMat3(out: mat3 | number[], e?: mat3): mat3;
package/dist/mat4.d.ts CHANGED
@@ -14,9 +14,3 @@ export declare function mat4scale(out: mat4, a: mat4, v: vec3): mat4;
14
14
  export declare function mat4rotate(out: mat4, a: mat4, rad: number, axis: vec3): mat4;
15
15
  export declare function mat4perspective(out: number[] | mat4, fovy: number, aspect: number, near: number, far: number, reverse?: boolean): mat4;
16
16
  export declare function mat4identity(out: mat4): void;
17
- export declare function transposeMat4(out: mat4 | number[], e?: mat4): mat4;
18
- export declare function getMat4Transform(te: mat4): {
19
- translation: vec3;
20
- rotation: vec4;
21
- scale: vec3;
22
- };
package/dist/vec.d.ts CHANGED
@@ -2,7 +2,6 @@ import type { vec3, vec4, vec2, mat4, mat2, mat3 } from '@predy-js/render-interf
2
2
  export type vec = number[];
3
3
  export { vec2, vec4, vec3, mat2, mat3, mat4 };
4
4
  export declare function vecAdd<T extends vec | vec3 | vec4 | vec2>(out: T | number[], a: T, b: T): T;
5
- export declare function vecSub<T extends vec | vec3 | vec4 | vec2>(out: T | number[], a: T, b: T): T;
6
5
  export declare function vecFill<T extends vec | vec3 | vec4 | vec2>(out: T | number[], number: number): T;
7
6
  export declare function vecAddCombine<T extends vec | vec3 | vec4 | vec2>(out: T | number[], a: T, b: T): T;
8
7
  export declare function vecAssign<T extends vec | vec3 | vec4 | vec2>(out: T | number[], a: T, count: number, start?: number): T;
package/dist/vec3.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { vec3, mat4, mat3 } from '@predy-js/render-interface';
2
2
  import type { vec4 } from '@predy-js/render-interface';
3
- export declare function vec3Create(v?: vec3 | number[] | Float32Array): vec3;
3
+ export declare function vec3Create(v?: vec3): vec3;
4
4
  export declare function vec3MulVec3(out: vec3, a: vec3, b: vec3): vec3;
5
5
  export declare function vec3AddVec3(out: vec3, a: vec3, b: vec3): vec3;
6
6
  export declare function vec3Cross(out: vec3, a: vec3, b: vec3): vec3;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@predy-js/math",
3
- "version": "0.3.0-beta.9",
3
+ "version": "0.3.1",
4
4
  "description": "Mars JSON Specification",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.js",
@@ -28,7 +28,7 @@
28
28
  "prepublishOnly": "npm run build"
29
29
  },
30
30
  "devDependencies": {
31
- "@predy-js/render-interface": "0.3.0-beta.9",
31
+ "@predy-js/render-interface": "0.3.1",
32
32
  "@commitlint/cli": "^13.2.1",
33
33
  "@commitlint/config-conventional": "^13.2.0",
34
34
  "@rollup/plugin-commonjs": "^21.0.3",
package/dist/vec2.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import type { vec2, mat3 } from '@predy-js/render-interface';
2
- export declare function vec2Create(v2?: vec2): number[];
3
- export declare function vec2AddVec2(out: vec2, a: vec2, b: vec2): vec2;
4
- export declare function vec2SubVec2(out: vec2, a: vec2, b: vec2): vec2;
5
- export declare function vec2MulVec2(out: vec2, a: vec2, b: vec2): vec2;
6
- export declare function vec2MulMat3(out: vec2, a: vec2, m: mat3): vec2;