@math.gl/core 4.1.0 → 4.2.0-alpha.5
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.
- package/LICENSE +51 -0
- package/dist/classes/euler.js +5 -5
- package/dist/gl-matrix/common.d.ts.map +1 -1
- package/dist/gl-matrix/mat3.d.ts +3 -3
- package/dist/gl-matrix/mat3.d.ts.map +1 -1
- package/dist/gl-matrix/mat3.js +1 -1
- package/dist/gl-matrix/mat3.js.map +1 -1
- package/dist/gl-matrix/mat4.d.ts +3 -3
- package/dist/gl-matrix/mat4.d.ts.map +1 -1
- package/dist/gl-matrix/mat4.js +1 -1
- package/dist/gl-matrix/mat4.js.map +1 -1
- package/dist/gl-matrix/quat.d.ts +1 -1
- package/dist/gl-matrix/quat.d.ts.map +1 -1
- package/dist/gl-matrix/quat.js +1 -1
- package/dist/gl-matrix/quat.js.map +1 -1
- package/dist/gl-matrix/vec2.js +1 -1
- package/dist/gl-matrix/vec2.js.map +1 -1
- package/dist/gl-matrix/vec3.d.ts +3 -3
- package/dist/gl-matrix/vec3.d.ts.map +1 -1
- package/dist/gl-matrix/vec3.js +1 -1
- package/dist/gl-matrix/vec3.js.map +1 -1
- package/dist/gl-matrix/vec4.d.ts +3 -3
- package/dist/gl-matrix/vec4.d.ts.map +1 -1
- package/dist/gl-matrix/vec4.js +1 -1
- package/dist/gl-matrix/vec4.js.map +1 -1
- package/dist/gl-matrix/wip/mat2.d.ts.map +1 -1
- package/dist/gl-matrix/wip/mat2d.d.ts.map +1 -1
- package/dist/index.cjs +201 -162
- package/dist/index.cjs.map +3 -4
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/common.d.ts +16 -0
- package/dist/lib/common.d.ts.map +1 -1
- package/dist/lib/common.js +68 -9
- package/dist/lib/common.js.map +1 -1
- package/dist/lib/math-utils.d.ts +1 -0
- package/dist/lib/math-utils.d.ts.map +1 -1
- package/dist/lib/math-utils.js +1 -0
- package/dist/lib/math-utils.js.map +1 -1
- package/dist/lib/validators.js +1 -1
- package/dist/lib/validators.js.map +1 -1
- package/package.json +3 -3
- package/src/classes/euler.ts +5 -5
- package/src/gl-matrix/mat3.ts +1 -1
- package/src/gl-matrix/mat4.ts +1 -1
- package/src/gl-matrix/quat.ts +1 -1
- package/src/gl-matrix/vec2.ts +1 -1
- package/src/gl-matrix/vec3.ts +1 -1
- package/src/gl-matrix/vec4.ts +1 -1
- package/src/index.ts +5 -0
- package/src/lib/common.ts +76 -9
- package/src/lib/gl-matrix.d.ts +10 -0
- package/src/lib/math-utils.ts +1 -0
- package/src/lib/validators.ts +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export type { TypedArray, TypedArrayConstructor, NumericArray, NumberArray, NumberArray2, NumberArray3, NumberArray4, NumberArray6, NumberArray8, NumberArray9, NumberArray12, NumberArray16 } from '@math.gl/types';
|
|
2
2
|
export type { isTypedArray, isNumberArray, isNumericArray } from '@math.gl/types';
|
|
3
|
+
export { MathArray as _MathArray } from "./classes/base/math-array.js";
|
|
4
|
+
export { Matrix as _Matrix } from "./classes/base/matrix.js";
|
|
5
|
+
export { Vector as _Vector } from "./classes/base/vector.js";
|
|
3
6
|
export { Vector2 } from "./classes/vector2.js";
|
|
4
7
|
export { Vector3 } from "./classes/vector3.js";
|
|
5
8
|
export { Vector4 } from "./classes/vector4.js";
|
|
@@ -16,7 +19,7 @@ export { Pose } from "./classes/pose.js";
|
|
|
16
19
|
export { Euler } from "./classes/euler.js";
|
|
17
20
|
export * as _MathUtils from "./lib/math-utils.js";
|
|
18
21
|
export { assert } from "./lib/assert.js";
|
|
19
|
-
export { config, configure, formatValue, isArray, clone, equals, exactEquals, toRadians, toDegrees, radians, degrees, sin, cos, tan, asin, acos, atan, clamp, lerp, withEpsilon } from "./lib/common.js";
|
|
22
|
+
export { config, configure, safeMod, normalizeAngle, formatValue, isArray, clone, equals, exactEquals, toRadians, toDegrees, radians, degrees, sin, cos, tan, asin, acos, atan, clamp, lerp, withEpsilon } from "./lib/common.js";
|
|
20
23
|
export { SphericalCoordinates as _SphericalCoordinates } from "./classes/spherical-coordinates.js";
|
|
21
24
|
export { Pose as _Pose } from "./classes/pose.js";
|
|
22
25
|
export { Euler as _Euler } from "./classes/euler.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,UAAU,EACV,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACd,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAGhF,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,UAAU,EAAC,gCAA6B;AAEhD,YAAY,EAAC,WAAW,EAAC,6BAA0B;AACnD,YAAY,EAAC,WAAW,EAAC,6BAA0B;AACnD,YAAY,EAAC,WAAW,EAAC,6BAA0B;AACnD,YAAY,EAAC,WAAW,EAAC,6BAA0B;AACnD,YAAY,EAAC,WAAW,EAAC,6BAA0B;AAGnD,OAAO,EAAC,oBAAoB,EAAC,2CAAwC;AACrE,OAAO,EAAC,IAAI,EAAC,0BAAuB;AACpC,OAAO,EAAC,KAAK,EAAC,2BAAwB;AAEtC,OAAO,KAAK,UAAU,4BAAyB;AAG/C,OAAO,EAAC,MAAM,EAAC,wBAAqB;AAEpC,OAAO,EAEL,MAAM,EACN,SAAS,EACT,WAAW,EACX,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,SAAS,EACT,SAAS,EAET,OAAO,EACP,OAAO,EACP,GAAG,EACH,GAAG,EACH,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,WAAW,EACZ,wBAAqB;AAGtB,OAAO,EAAC,oBAAoB,IAAI,qBAAqB,EAAC,2CAAwC;AAC9F,OAAO,EAAC,IAAI,IAAI,KAAK,EAAC,0BAAuB;AAC7C,OAAO,EAAC,KAAK,IAAI,MAAM,EAAC,2BAAwB;AAEhD,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,kCAAkC;AAClC,OAAO,KAAK,IAAI,4BAAyB;AACzC,4BAA4B;AAC5B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,UAAU,EACV,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACd,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAGhF,OAAO,EAAC,SAAS,IAAI,UAAU,EAAC,qCAAkC;AAClE,OAAO,EAAC,MAAM,IAAI,OAAO,EAAC,iCAA8B;AACxD,OAAO,EAAC,MAAM,IAAI,OAAO,EAAC,iCAA8B;AACxD,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,UAAU,EAAC,gCAA6B;AAEhD,YAAY,EAAC,WAAW,EAAC,6BAA0B;AACnD,YAAY,EAAC,WAAW,EAAC,6BAA0B;AACnD,YAAY,EAAC,WAAW,EAAC,6BAA0B;AACnD,YAAY,EAAC,WAAW,EAAC,6BAA0B;AACnD,YAAY,EAAC,WAAW,EAAC,6BAA0B;AAGnD,OAAO,EAAC,oBAAoB,EAAC,2CAAwC;AACrE,OAAO,EAAC,IAAI,EAAC,0BAAuB;AACpC,OAAO,EAAC,KAAK,EAAC,2BAAwB;AAEtC,OAAO,KAAK,UAAU,4BAAyB;AAG/C,OAAO,EAAC,MAAM,EAAC,wBAAqB;AAEpC,OAAO,EAEL,MAAM,EACN,SAAS,EACT,OAAO,EACP,cAAc,EACd,WAAW,EACX,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,SAAS,EACT,SAAS,EAET,OAAO,EACP,OAAO,EACP,GAAG,EACH,GAAG,EACH,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,WAAW,EACZ,wBAAqB;AAGtB,OAAO,EAAC,oBAAoB,IAAI,qBAAqB,EAAC,2CAAwC;AAC9F,OAAO,EAAC,IAAI,IAAI,KAAK,EAAC,0BAAuB;AAC7C,OAAO,EAAC,KAAK,IAAI,MAAM,EAAC,2BAAwB;AAEhD,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,kCAAkC;AAClC,OAAO,KAAK,IAAI,4BAAyB;AACzC,4BAA4B;AAC5B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
// classes
|
|
5
|
+
export { MathArray as _MathArray } from "./classes/base/math-array.js";
|
|
6
|
+
export { Matrix as _Matrix } from "./classes/base/matrix.js";
|
|
7
|
+
export { Vector as _Vector } from "./classes/base/vector.js";
|
|
5
8
|
export { Vector2 } from "./classes/vector2.js";
|
|
6
9
|
export { Vector3 } from "./classes/vector3.js";
|
|
7
10
|
export { Vector4 } from "./classes/vector4.js";
|
|
@@ -17,7 +20,7 @@ export * as _MathUtils from "./lib/math-utils.js";
|
|
|
17
20
|
export { assert } from "./lib/assert.js";
|
|
18
21
|
export {
|
|
19
22
|
// math.gl global utility methods
|
|
20
|
-
config, configure, formatValue, isArray, clone, equals, exactEquals, toRadians, toDegrees,
|
|
23
|
+
config, configure, safeMod, normalizeAngle, formatValue, isArray, clone, equals, exactEquals, toRadians, toDegrees,
|
|
21
24
|
// math.gl "GLSL"-style functions
|
|
22
25
|
radians, degrees, sin, cos, tan, asin, acos, atan, clamp, lerp, withEpsilon } from "./lib/common.js";
|
|
23
26
|
// DEPRECATED
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAoBpC,UAAU;AACV,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,UAAU,EAAC,gCAA6B;AAQhD,eAAe;AACf,OAAO,EAAC,oBAAoB,EAAC,2CAAwC;AACrE,OAAO,EAAC,IAAI,EAAC,0BAAuB;AACpC,OAAO,EAAC,KAAK,EAAC,2BAAwB;AAEtC,OAAO,KAAK,UAAU,4BAAyB;AAE/C,MAAM;AACN,OAAO,EAAC,MAAM,EAAC,wBAAqB;AAEpC,OAAO;AACL,iCAAiC;AACjC,MAAM,EACN,SAAS,EACT,WAAW,EACX,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,SAAS,EACT,SAAS;AACT,iCAAiC;AACjC,OAAO,EACP,OAAO,EACP,GAAG,EACH,GAAG,EACH,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,WAAW,EACZ,wBAAqB;AAEtB,aAAa;AACb,OAAO,EAAC,oBAAoB,IAAI,qBAAqB,EAAC,2CAAwC;AAC9F,OAAO,EAAC,IAAI,IAAI,KAAK,EAAC,0BAAuB;AAC7C,OAAO,EAAC,KAAK,IAAI,MAAM,EAAC,2BAAwB;AAEhD,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,kCAAkC;AAClC,OAAO,KAAK,IAAI,4BAAyB;AACzC,4BAA4B;AAC5B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAoBpC,UAAU;AACV,OAAO,EAAC,SAAS,IAAI,UAAU,EAAC,qCAAkC;AAClE,OAAO,EAAC,MAAM,IAAI,OAAO,EAAC,iCAA8B;AACxD,OAAO,EAAC,MAAM,IAAI,OAAO,EAAC,iCAA8B;AACxD,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,OAAO,EAAC,6BAA0B;AAC1C,OAAO,EAAC,UAAU,EAAC,gCAA6B;AAQhD,eAAe;AACf,OAAO,EAAC,oBAAoB,EAAC,2CAAwC;AACrE,OAAO,EAAC,IAAI,EAAC,0BAAuB;AACpC,OAAO,EAAC,KAAK,EAAC,2BAAwB;AAEtC,OAAO,KAAK,UAAU,4BAAyB;AAE/C,MAAM;AACN,OAAO,EAAC,MAAM,EAAC,wBAAqB;AAEpC,OAAO;AACL,iCAAiC;AACjC,MAAM,EACN,SAAS,EACT,OAAO,EACP,cAAc,EACd,WAAW,EACX,OAAO,EACP,KAAK,EACL,MAAM,EACN,WAAW,EACX,SAAS,EACT,SAAS;AACT,iCAAiC;AACjC,OAAO,EACP,OAAO,EACP,GAAG,EACH,GAAG,EACH,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,WAAW,EACZ,wBAAqB;AAEtB,aAAa;AACb,OAAO,EAAC,oBAAoB,IAAI,qBAAqB,EAAC,2CAAwC;AAC9F,OAAO,EAAC,IAAI,IAAI,KAAK,EAAC,0BAAuB;AAC7C,OAAO,EAAC,KAAK,IAAI,MAAM,EAAC,2BAAwB;AAEhD,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,kCAAkC;AAClC,OAAO,KAAK,IAAI,4BAAyB;AACzC,4BAA4B;AAC5B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB;AACzC,8BAA8B;AAC9B,OAAO,KAAK,IAAI,4BAAyB"}
|
package/dist/lib/common.d.ts
CHANGED
|
@@ -47,6 +47,22 @@ export declare function radians(degrees: NumericArray, result?: NumericArray): N
|
|
|
47
47
|
*/
|
|
48
48
|
export declare function degrees(radians: number): number;
|
|
49
49
|
export declare function degrees(radians: NumericArray, result?: NumericArray): NumericArray;
|
|
50
|
+
/**
|
|
51
|
+
* The modulo operation that also works for negative dividends.
|
|
52
|
+
*
|
|
53
|
+
* @param m The dividend.
|
|
54
|
+
* @param n The divisor.
|
|
55
|
+
* @returns The remainder.
|
|
56
|
+
*/
|
|
57
|
+
export declare function safeMod(m: number, n: number): number;
|
|
58
|
+
/**
|
|
59
|
+
* Produces an angle restricted to its equivalent in a normalized range
|
|
60
|
+
*
|
|
61
|
+
* @param angle in radians
|
|
62
|
+
* @param range 'zero-to-two-pi' - in the range 0 <= angle <= 2PI, | 'negative-pi-to-pi' - -Pi <= angle <= Pi
|
|
63
|
+
* @returns The angle in the range [0, <code>TWO_PI</code>] or [<code>-PI</code>, <code>PI</code>]..
|
|
64
|
+
*/
|
|
65
|
+
export declare function normalizeAngle(angle: number, range: 'zero-to-two-pi' | 'negative-pi-to-pi'): number;
|
|
50
66
|
/**
|
|
51
67
|
* "GLSL equivalent" of `Math.sin`: Works on single values and vectors
|
|
52
68
|
* @deprecated
|
package/dist/lib/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/lib/common.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAEjD,OAAO,KAAK,EAAC,SAAS,EAAC,sCAAmC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/lib/common.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/common.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// math.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { EPSILON14, TWO_PI, PI } from "./math-utils.js";
|
|
4
5
|
const RADIANS_TO_DEGREES = (1 / Math.PI) * 180;
|
|
5
6
|
const DEGREES_TO_RADIANS = (1 / 180) * Math.PI;
|
|
6
7
|
const DEFAULT_CONFIG = {
|
|
@@ -51,55 +52,113 @@ export function toDegrees(radians) {
|
|
|
51
52
|
return degrees(radians);
|
|
52
53
|
}
|
|
53
54
|
export function radians(degrees, result) {
|
|
54
|
-
return map(degrees,
|
|
55
|
+
return map(degrees, degrees => degrees * DEGREES_TO_RADIANS, result);
|
|
55
56
|
}
|
|
56
57
|
export function degrees(radians, result) {
|
|
57
|
-
return map(radians,
|
|
58
|
+
return map(radians, radians => radians * RADIANS_TO_DEGREES, result);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The modulo operation that also works for negative dividends.
|
|
62
|
+
*
|
|
63
|
+
* @param m The dividend.
|
|
64
|
+
* @param n The divisor.
|
|
65
|
+
* @returns The remainder.
|
|
66
|
+
*/
|
|
67
|
+
export function safeMod(m, n) {
|
|
68
|
+
if (Math.sign(m) === Math.sign(n) && Math.abs(m) < Math.abs(n)) {
|
|
69
|
+
return m;
|
|
70
|
+
}
|
|
71
|
+
return ((m % n) + n) % n;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Produces an angle restricted to its equivalent in a normalized range
|
|
75
|
+
*
|
|
76
|
+
* @param angle in radians
|
|
77
|
+
* @param range 'zero-to-two-pi' - in the range 0 <= angle <= 2PI, | 'negative-pi-to-pi' - -Pi <= angle <= Pi
|
|
78
|
+
* @returns The angle in the range [0, <code>TWO_PI</code>] or [<code>-PI</code>, <code>PI</code>]..
|
|
79
|
+
*/
|
|
80
|
+
export function normalizeAngle(angle, range) {
|
|
81
|
+
switch (range) {
|
|
82
|
+
case 'negative-pi-to-pi':
|
|
83
|
+
return negativePiToPi(angle);
|
|
84
|
+
case 'zero-to-two-pi':
|
|
85
|
+
return zeroToTwoPi(angle);
|
|
86
|
+
default:
|
|
87
|
+
return angle;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Produces an angle in the range 0 <= angle <= 2Pi which is equivalent to the provided angle.
|
|
92
|
+
*
|
|
93
|
+
* @param angle in radians
|
|
94
|
+
* @returns The angle in the range [0, <code>TWO_PI</code>].
|
|
95
|
+
*/
|
|
96
|
+
function zeroToTwoPi(angle) {
|
|
97
|
+
if (angle >= 0 && angle <= TWO_PI) {
|
|
98
|
+
return angle;
|
|
99
|
+
}
|
|
100
|
+
const remainder = safeMod(angle, TWO_PI);
|
|
101
|
+
if (Math.abs(remainder) < EPSILON14 && Math.abs(angle) > EPSILON14) {
|
|
102
|
+
return TWO_PI;
|
|
103
|
+
}
|
|
104
|
+
return remainder;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Produces an angle in the range -Pi <= angle <= Pi which is equivalent to the provided angle.
|
|
108
|
+
*
|
|
109
|
+
* @param angle in radians
|
|
110
|
+
* @returns The angle in the range [<code>-PI</code>, <code>PI</code>].
|
|
111
|
+
*/
|
|
112
|
+
function negativePiToPi(angle) {
|
|
113
|
+
if (angle >= -PI && angle <= PI) {
|
|
114
|
+
return angle;
|
|
115
|
+
}
|
|
116
|
+
return zeroToTwoPi(angle + PI) - PI;
|
|
58
117
|
}
|
|
59
118
|
/**
|
|
60
119
|
* "GLSL equivalent" of `Math.sin`: Works on single values and vectors
|
|
61
120
|
* @deprecated
|
|
62
121
|
*/
|
|
63
122
|
export function sin(radians, result) {
|
|
64
|
-
return map(radians,
|
|
123
|
+
return map(radians, angle => Math.sin(angle), result);
|
|
65
124
|
}
|
|
66
125
|
/**
|
|
67
126
|
* "GLSL equivalent" of `Math.cos`: Works on single values and vectors
|
|
68
127
|
* @deprecated
|
|
69
128
|
*/
|
|
70
129
|
export function cos(radians, result) {
|
|
71
|
-
return map(radians,
|
|
130
|
+
return map(radians, angle => Math.cos(angle), result);
|
|
72
131
|
}
|
|
73
132
|
/**
|
|
74
133
|
* "GLSL equivalent" of `Math.tan`: Works on single values and vectors
|
|
75
134
|
* @deprecated
|
|
76
135
|
*/
|
|
77
136
|
export function tan(radians, result) {
|
|
78
|
-
return map(radians,
|
|
137
|
+
return map(radians, angle => Math.tan(angle), result);
|
|
79
138
|
}
|
|
80
139
|
/**
|
|
81
140
|
* "GLSL equivalent" of `Math.asin`: Works on single values and vectors
|
|
82
141
|
* @deprecated
|
|
83
142
|
*/
|
|
84
143
|
export function asin(radians, result) {
|
|
85
|
-
return map(radians,
|
|
144
|
+
return map(radians, angle => Math.asin(angle), result);
|
|
86
145
|
}
|
|
87
146
|
/**
|
|
88
147
|
* "GLSL equivalent" of `Math.acos`: Works on single values and vectors
|
|
89
148
|
* @deprecated
|
|
90
149
|
*/
|
|
91
150
|
export function acos(radians, result) {
|
|
92
|
-
return map(radians,
|
|
151
|
+
return map(radians, angle => Math.acos(angle), result);
|
|
93
152
|
}
|
|
94
153
|
/**
|
|
95
154
|
* "GLSL equivalent" of `Math.atan`: Works on single values and vectors
|
|
96
155
|
* @deprecated
|
|
97
156
|
*/
|
|
98
157
|
export function atan(radians, result) {
|
|
99
|
-
return map(radians,
|
|
158
|
+
return map(radians, angle => Math.atan(angle), result);
|
|
100
159
|
}
|
|
101
160
|
export function clamp(value, min, max) {
|
|
102
|
-
return map(value,
|
|
161
|
+
return map(value, value => Math.max(min, Math.min(max, value)));
|
|
103
162
|
}
|
|
104
163
|
export function lerp(a, b, t) {
|
|
105
164
|
if (isArray(a)) {
|
package/dist/lib/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/lib/common.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/lib/common.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/math-utils.d.ts
CHANGED
|
@@ -21,5 +21,6 @@ export declare const EPSILON20 = 1e-20;
|
|
|
21
21
|
export declare const PI_OVER_TWO: number;
|
|
22
22
|
export declare const PI_OVER_FOUR: number;
|
|
23
23
|
export declare const PI_OVER_SIX: number;
|
|
24
|
+
export declare const PI: number;
|
|
24
25
|
export declare const TWO_PI: number;
|
|
25
26
|
//# sourceMappingURL=math-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math-utils.d.ts","sourceRoot":"","sources":["../../src/lib/math-utils.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ,MAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,QAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,SAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,UAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,WAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAE/B,eAAO,MAAM,WAAW,QAAc,CAAC;AACvC,eAAO,MAAM,YAAY,QAAc,CAAC;AACxC,eAAO,MAAM,WAAW,QAAc,CAAC;AAEvC,eAAO,MAAM,MAAM,QAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"math-utils.d.ts","sourceRoot":"","sources":["../../src/lib/math-utils.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,QAAQ,MAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,QAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,SAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,UAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,WAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,QAAQ,OAAO,CAAC;AAC7B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,SAAS,QAAQ,CAAC;AAE/B,eAAO,MAAM,WAAW,QAAc,CAAC;AACvC,eAAO,MAAM,YAAY,QAAc,CAAC;AACxC,eAAO,MAAM,WAAW,QAAc,CAAC;AAEvC,eAAO,MAAM,EAAE,QAAU,CAAC;AAC1B,eAAO,MAAM,MAAM,QAAc,CAAC"}
|
package/dist/lib/math-utils.js
CHANGED
|
@@ -26,5 +26,6 @@ export const EPSILON20 = 1e-20;
|
|
|
26
26
|
export const PI_OVER_TWO = Math.PI / 2;
|
|
27
27
|
export const PI_OVER_FOUR = Math.PI / 4;
|
|
28
28
|
export const PI_OVER_SIX = Math.PI / 6;
|
|
29
|
+
export const PI = Math.PI;
|
|
29
30
|
export const TWO_PI = Math.PI * 2;
|
|
30
31
|
//# sourceMappingURL=math-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math-utils.js","sourceRoot":"","sources":["../../src/lib/math-utils.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,qDAAqD;AACrD,iCAAiC;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAE/B,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"math-utils.js","sourceRoot":"","sources":["../../src/lib/math-utils.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,qDAAqD;AACrD,iCAAiC;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAE/B,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC"}
|
package/dist/lib/validators.js
CHANGED
|
@@ -30,7 +30,7 @@ const map = {};
|
|
|
30
30
|
export function deprecated(method, version) {
|
|
31
31
|
if (!map[method]) {
|
|
32
32
|
map[method] = true;
|
|
33
|
-
//
|
|
33
|
+
// biome-ignore lint/suspicious/noConsole: deprecations are intentionally reported to users.
|
|
34
34
|
console.warn(`${method} has been removed in version ${version}, see upgrade guide for more information`);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/lib/validators.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,MAAM,EAAC,oBAAiB;AAEhC,MAAM,UAAU,cAAc,CAAC,CAAe,EAAE,MAAc;IAC5D,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,sDAAsD;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,CAAI,EACJ,MAAc,EACd,aAAqB,EAAE;IAEvB,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,sCAAsC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,GAAG,GAA4B,EAAE,CAAC;AAExC,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,OAAe;IACxD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACjB,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACnB,
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/lib/validators.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,MAAM,EAAC,oBAAiB;AAEhC,MAAM,UAAU,cAAc,CAAC,CAAe,EAAE,MAAc;IAC5D,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,sDAAsD;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,CAAI,EACJ,MAAc,EACd,aAAqB,EAAE;IAEvB,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,sCAAsC,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,GAAG,GAA4B,EAAE,CAAC;AAExC,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,OAAe;IACxD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACjB,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;QACnB,4FAA4F;QAC5F,OAAO,CAAC,IAAI,CACV,GAAG,MAAM,gCAAgC,OAAO,0CAA0C,CAC3F,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
9
|
-
"version": "4.
|
|
9
|
+
"version": "4.2.0-alpha.5",
|
|
10
10
|
"keywords": [
|
|
11
11
|
"webgl",
|
|
12
12
|
"javascript",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"./src/lib/common.js"
|
|
46
46
|
],
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@math.gl/types": "4.
|
|
48
|
+
"@math.gl/types": "4.2.0-alpha.5"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "9c13785761867748e2edb167b5f2749dce803039"
|
|
51
51
|
}
|
package/src/classes/euler.ts
CHANGED
|
@@ -294,15 +294,15 @@ export class Euler extends MathArray {
|
|
|
294
294
|
case RotationOrder.XYZ:
|
|
295
295
|
return q.rotateX(this[0]).rotateY(this[1]).rotateZ(this[2]);
|
|
296
296
|
case RotationOrder.YXZ:
|
|
297
|
-
return q.rotateY(this[
|
|
297
|
+
return q.rotateY(this[1]).rotateX(this[0]).rotateZ(this[2]);
|
|
298
298
|
case RotationOrder.ZXY:
|
|
299
|
-
return q.rotateZ(this[
|
|
299
|
+
return q.rotateZ(this[2]).rotateX(this[0]).rotateY(this[1]);
|
|
300
300
|
case RotationOrder.ZYX:
|
|
301
|
-
return q.rotateZ(this[
|
|
301
|
+
return q.rotateZ(this[2]).rotateY(this[1]).rotateX(this[0]);
|
|
302
302
|
case RotationOrder.YZX:
|
|
303
|
-
return q.rotateY(this[
|
|
303
|
+
return q.rotateY(this[1]).rotateZ(this[2]).rotateX(this[0]);
|
|
304
304
|
case RotationOrder.XZY:
|
|
305
|
-
return q.rotateX(this[0]).rotateZ(this[
|
|
305
|
+
return q.rotateX(this[0]).rotateZ(this[2]).rotateY(this[1]);
|
|
306
306
|
default:
|
|
307
307
|
throw new Error(ERR_UNKNOWN_ORDER);
|
|
308
308
|
}
|
package/src/gl-matrix/mat3.ts
CHANGED
package/src/gl-matrix/mat4.ts
CHANGED
package/src/gl-matrix/quat.ts
CHANGED
package/src/gl-matrix/vec2.ts
CHANGED
|
@@ -16,7 +16,7 @@ import * as glMatrix from './common.js';
|
|
|
16
16
|
*/
|
|
17
17
|
export function create(): NumericArray {
|
|
18
18
|
const out = new glMatrix.ARRAY_TYPE(2);
|
|
19
|
-
if (glMatrix.ARRAY_TYPE
|
|
19
|
+
if (glMatrix.ARRAY_TYPE !== Float32Array) {
|
|
20
20
|
out[0] = 0;
|
|
21
21
|
out[1] = 0;
|
|
22
22
|
}
|
package/src/gl-matrix/vec3.ts
CHANGED
package/src/gl-matrix/vec4.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -21,6 +21,9 @@ export type {
|
|
|
21
21
|
export type {isTypedArray, isNumberArray, isNumericArray} from '@math.gl/types';
|
|
22
22
|
|
|
23
23
|
// classes
|
|
24
|
+
export {MathArray as _MathArray} from './classes/base/math-array';
|
|
25
|
+
export {Matrix as _Matrix} from './classes/base/matrix';
|
|
26
|
+
export {Vector as _Vector} from './classes/base/vector';
|
|
24
27
|
export {Vector2} from './classes/vector2';
|
|
25
28
|
export {Vector3} from './classes/vector3';
|
|
26
29
|
export {Vector4} from './classes/vector4';
|
|
@@ -48,6 +51,8 @@ export {
|
|
|
48
51
|
// math.gl global utility methods
|
|
49
52
|
config,
|
|
50
53
|
configure,
|
|
54
|
+
safeMod,
|
|
55
|
+
normalizeAngle,
|
|
51
56
|
formatValue,
|
|
52
57
|
isArray,
|
|
53
58
|
clone,
|
package/src/lib/common.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import type {NumericArray} from '@math.gl/types';
|
|
8
8
|
|
|
9
9
|
import type {MathArray} from '../classes/base/math-array';
|
|
10
|
+
import {EPSILON14, TWO_PI, PI} from './math-utils';
|
|
10
11
|
|
|
11
12
|
const RADIANS_TO_DEGREES = (1 / Math.PI) * 180;
|
|
12
13
|
const DEGREES_TO_RADIANS = (1 / 180) * Math.PI;
|
|
@@ -106,7 +107,7 @@ export function radians(
|
|
|
106
107
|
degrees: number | NumericArray,
|
|
107
108
|
result?: NumericArray
|
|
108
109
|
): number | NumericArray {
|
|
109
|
-
return map(degrees,
|
|
110
|
+
return map(degrees, degrees => degrees * DEGREES_TO_RADIANS, result);
|
|
110
111
|
}
|
|
111
112
|
|
|
112
113
|
/**
|
|
@@ -119,7 +120,73 @@ export function degrees(
|
|
|
119
120
|
radians: number | NumericArray,
|
|
120
121
|
result?: NumericArray
|
|
121
122
|
): number | NumericArray {
|
|
122
|
-
return map(radians,
|
|
123
|
+
return map(radians, radians => radians * RADIANS_TO_DEGREES, result);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* The modulo operation that also works for negative dividends.
|
|
128
|
+
*
|
|
129
|
+
* @param m The dividend.
|
|
130
|
+
* @param n The divisor.
|
|
131
|
+
* @returns The remainder.
|
|
132
|
+
*/
|
|
133
|
+
export function safeMod(m: number, n: number): number {
|
|
134
|
+
if (Math.sign(m) === Math.sign(n) && Math.abs(m) < Math.abs(n)) {
|
|
135
|
+
return m;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return ((m % n) + n) % n;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Produces an angle restricted to its equivalent in a normalized range
|
|
143
|
+
*
|
|
144
|
+
* @param angle in radians
|
|
145
|
+
* @param range 'zero-to-two-pi' - in the range 0 <= angle <= 2PI, | 'negative-pi-to-pi' - -Pi <= angle <= Pi
|
|
146
|
+
* @returns The angle in the range [0, <code>TWO_PI</code>] or [<code>-PI</code>, <code>PI</code>]..
|
|
147
|
+
*/
|
|
148
|
+
export function normalizeAngle(
|
|
149
|
+
angle: number,
|
|
150
|
+
range: 'zero-to-two-pi' | 'negative-pi-to-pi'
|
|
151
|
+
): number {
|
|
152
|
+
switch (range) {
|
|
153
|
+
case 'negative-pi-to-pi':
|
|
154
|
+
return negativePiToPi(angle);
|
|
155
|
+
case 'zero-to-two-pi':
|
|
156
|
+
return zeroToTwoPi(angle);
|
|
157
|
+
default:
|
|
158
|
+
return angle;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Produces an angle in the range 0 <= angle <= 2Pi which is equivalent to the provided angle.
|
|
164
|
+
*
|
|
165
|
+
* @param angle in radians
|
|
166
|
+
* @returns The angle in the range [0, <code>TWO_PI</code>].
|
|
167
|
+
*/
|
|
168
|
+
function zeroToTwoPi(angle: number): number {
|
|
169
|
+
if (angle >= 0 && angle <= TWO_PI) {
|
|
170
|
+
return angle;
|
|
171
|
+
}
|
|
172
|
+
const remainder = safeMod(angle, TWO_PI);
|
|
173
|
+
if (Math.abs(remainder) < EPSILON14 && Math.abs(angle) > EPSILON14) {
|
|
174
|
+
return TWO_PI;
|
|
175
|
+
}
|
|
176
|
+
return remainder;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Produces an angle in the range -Pi <= angle <= Pi which is equivalent to the provided angle.
|
|
181
|
+
*
|
|
182
|
+
* @param angle in radians
|
|
183
|
+
* @returns The angle in the range [<code>-PI</code>, <code>PI</code>].
|
|
184
|
+
*/
|
|
185
|
+
function negativePiToPi(angle: number): number {
|
|
186
|
+
if (angle >= -PI && angle <= PI) {
|
|
187
|
+
return angle;
|
|
188
|
+
}
|
|
189
|
+
return zeroToTwoPi(angle + PI) - PI;
|
|
123
190
|
}
|
|
124
191
|
|
|
125
192
|
/**
|
|
@@ -127,7 +194,7 @@ export function degrees(
|
|
|
127
194
|
* @deprecated
|
|
128
195
|
*/
|
|
129
196
|
export function sin(radians: number | NumericArray, result?: NumericArray): number | NumericArray {
|
|
130
|
-
return map(radians,
|
|
197
|
+
return map(radians, angle => Math.sin(angle), result);
|
|
131
198
|
}
|
|
132
199
|
|
|
133
200
|
/**
|
|
@@ -135,7 +202,7 @@ export function sin(radians: number | NumericArray, result?: NumericArray): numb
|
|
|
135
202
|
* @deprecated
|
|
136
203
|
*/
|
|
137
204
|
export function cos(radians: number | NumericArray, result?: NumericArray): number | NumericArray {
|
|
138
|
-
return map(radians,
|
|
205
|
+
return map(radians, angle => Math.cos(angle), result);
|
|
139
206
|
}
|
|
140
207
|
|
|
141
208
|
/**
|
|
@@ -143,7 +210,7 @@ export function cos(radians: number | NumericArray, result?: NumericArray): numb
|
|
|
143
210
|
* @deprecated
|
|
144
211
|
*/
|
|
145
212
|
export function tan(radians: number | NumericArray, result?: NumericArray): number | NumericArray {
|
|
146
|
-
return map(radians,
|
|
213
|
+
return map(radians, angle => Math.tan(angle), result);
|
|
147
214
|
}
|
|
148
215
|
|
|
149
216
|
/**
|
|
@@ -151,7 +218,7 @@ export function tan(radians: number | NumericArray, result?: NumericArray): numb
|
|
|
151
218
|
* @deprecated
|
|
152
219
|
*/
|
|
153
220
|
export function asin(radians: number | NumericArray, result?: NumericArray): number | NumericArray {
|
|
154
|
-
return map(radians,
|
|
221
|
+
return map(radians, angle => Math.asin(angle), result);
|
|
155
222
|
}
|
|
156
223
|
|
|
157
224
|
/**
|
|
@@ -159,7 +226,7 @@ export function asin(radians: number | NumericArray, result?: NumericArray): num
|
|
|
159
226
|
* @deprecated
|
|
160
227
|
*/
|
|
161
228
|
export function acos(radians: number | NumericArray, result?: NumericArray): number | NumericArray {
|
|
162
|
-
return map(radians,
|
|
229
|
+
return map(radians, angle => Math.acos(angle), result);
|
|
163
230
|
}
|
|
164
231
|
|
|
165
232
|
/**
|
|
@@ -167,7 +234,7 @@ export function acos(radians: number | NumericArray, result?: NumericArray): num
|
|
|
167
234
|
* @deprecated
|
|
168
235
|
*/
|
|
169
236
|
export function atan(radians: number | NumericArray, result?: NumericArray): number | NumericArray {
|
|
170
|
-
return map(radians,
|
|
237
|
+
return map(radians, angle => Math.atan(angle), result);
|
|
171
238
|
}
|
|
172
239
|
|
|
173
240
|
/**
|
|
@@ -181,7 +248,7 @@ export function clamp(
|
|
|
181
248
|
min: number,
|
|
182
249
|
max: number
|
|
183
250
|
): number | NumericArray {
|
|
184
|
-
return map(value,
|
|
251
|
+
return map(value, value => Math.max(min, Math.min(max, value)));
|
|
185
252
|
}
|
|
186
253
|
|
|
187
254
|
/**
|
package/src/lib/gl-matrix.d.ts
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
|
|
5
|
+
// Float16Array is declared in a separate TypeScript library. This reference affects types only.
|
|
6
|
+
// eslint-disable-next-line spaced-comment
|
|
7
|
+
/// <reference lib="es2025.float16" preserve="true" />
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Numeric arrays accepted by the local gl-matrix compatibility declarations.
|
|
11
|
+
*
|
|
12
|
+
* @remarks Includes `Float16Array`; math.gl does not provide a runtime polyfill.
|
|
13
|
+
*/
|
|
5
14
|
type NumericArray =
|
|
6
15
|
| Int8Array
|
|
7
16
|
| Uint8Array
|
|
@@ -10,6 +19,7 @@ type NumericArray =
|
|
|
10
19
|
| Int32Array
|
|
11
20
|
| Uint32Array
|
|
12
21
|
| Uint8ClampedArray
|
|
22
|
+
| Float16Array
|
|
13
23
|
| Float32Array
|
|
14
24
|
| Float64Array
|
|
15
25
|
| number[];
|
package/src/lib/math-utils.ts
CHANGED
package/src/lib/validators.ts
CHANGED
|
@@ -41,7 +41,7 @@ const map: Record<string, boolean> = {};
|
|
|
41
41
|
export function deprecated(method: string, version: string): void {
|
|
42
42
|
if (!map[method]) {
|
|
43
43
|
map[method] = true;
|
|
44
|
-
//
|
|
44
|
+
// biome-ignore lint/suspicious/noConsole: deprecations are intentionally reported to users.
|
|
45
45
|
console.warn(
|
|
46
46
|
`${method} has been removed in version ${version}, see upgrade guide for more information`
|
|
47
47
|
);
|