@math.gl/core 4.0.0-alpha.1 → 4.0.0-alpha.3

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 (145) hide show
  1. package/dist/classes/base/math-array.d.ts +2 -1
  2. package/dist/classes/base/math-array.d.ts.map +1 -1
  3. package/dist/classes/base/math-array.js +5 -1
  4. package/dist/classes/base/math-array.js.map +1 -1
  5. package/dist/classes/base/matrix.d.ts +2 -2
  6. package/dist/classes/base/matrix.d.ts.map +1 -1
  7. package/dist/classes/base/matrix.js +2 -2
  8. package/dist/classes/base/matrix.js.map +1 -1
  9. package/dist/classes/base/vector.d.ts +2 -2
  10. package/dist/classes/base/vector.d.ts.map +1 -1
  11. package/dist/classes/base/vector.js +3 -3
  12. package/dist/classes/base/vector.js.map +1 -1
  13. package/dist/classes/euler.d.ts +3 -3
  14. package/dist/classes/euler.d.ts.map +1 -1
  15. package/dist/classes/euler.js +4 -4
  16. package/dist/classes/euler.js.map +1 -1
  17. package/dist/classes/matrix3.d.ts +5 -2
  18. package/dist/classes/matrix3.d.ts.map +1 -1
  19. package/dist/classes/matrix3.js +17 -17
  20. package/dist/classes/matrix3.js.map +1 -1
  21. package/dist/classes/matrix4.d.ts +2 -2
  22. package/dist/classes/matrix4.d.ts.map +1 -1
  23. package/dist/classes/matrix4.js +25 -25
  24. package/dist/classes/matrix4.js.map +1 -1
  25. package/dist/classes/pose.d.ts +5 -5
  26. package/dist/classes/pose.d.ts.map +1 -1
  27. package/dist/classes/pose.js +4 -4
  28. package/dist/classes/pose.js.map +1 -1
  29. package/dist/classes/quaternion.d.ts +2 -2
  30. package/dist/classes/quaternion.d.ts.map +1 -1
  31. package/dist/classes/quaternion.js +25 -25
  32. package/dist/classes/quaternion.js.map +1 -1
  33. package/dist/classes/spherical-coordinates.d.ts +4 -4
  34. package/dist/classes/spherical-coordinates.d.ts.map +1 -1
  35. package/dist/classes/spherical-coordinates.js +3 -3
  36. package/dist/classes/spherical-coordinates.js.map +1 -1
  37. package/dist/classes/vector2.d.ts +2 -2
  38. package/dist/classes/vector2.d.ts.map +1 -1
  39. package/dist/classes/vector2.js +7 -7
  40. package/dist/classes/vector2.js.map +1 -1
  41. package/dist/classes/vector3.d.ts +2 -2
  42. package/dist/classes/vector3.d.ts.map +1 -1
  43. package/dist/classes/vector3.js +11 -11
  44. package/dist/classes/vector3.js.map +1 -1
  45. package/dist/classes/vector4.d.ts +3 -3
  46. package/dist/classes/vector4.d.ts.map +1 -1
  47. package/dist/classes/vector4.js +5 -5
  48. package/dist/classes/vector4.js.map +1 -1
  49. package/dist/gl-matrix/common.d.ts +38 -0
  50. package/dist/gl-matrix/common.d.ts.map +1 -0
  51. package/dist/gl-matrix/common.js +19 -0
  52. package/dist/gl-matrix/common.js.map +1 -0
  53. package/dist/gl-matrix/mat3.d.ts +295 -0
  54. package/dist/gl-matrix/mat3.d.ts.map +1 -0
  55. package/dist/gl-matrix/mat3.js +489 -0
  56. package/dist/gl-matrix/mat3.js.map +1 -0
  57. package/dist/gl-matrix/mat4.d.ts +577 -0
  58. package/dist/gl-matrix/mat4.d.ts.map +1 -0
  59. package/dist/gl-matrix/mat4.js +1455 -0
  60. package/dist/gl-matrix/mat4.js.map +1 -0
  61. package/dist/gl-matrix/quat.d.ts +357 -0
  62. package/dist/gl-matrix/quat.d.ts.map +1 -0
  63. package/dist/gl-matrix/quat.js +315 -0
  64. package/dist/gl-matrix/quat.js.map +1 -0
  65. package/dist/gl-matrix/vec2.d.ts +373 -0
  66. package/dist/gl-matrix/vec2.d.ts.map +1 -0
  67. package/dist/gl-matrix/vec2.js +257 -0
  68. package/dist/gl-matrix/vec2.js.map +1 -0
  69. package/dist/gl-matrix/vec3.d.ts +416 -0
  70. package/dist/gl-matrix/vec3.d.ts.map +1 -0
  71. package/dist/gl-matrix/vec3.js +384 -0
  72. package/dist/gl-matrix/vec3.js.map +1 -0
  73. package/dist/gl-matrix/vec4.d.ts +340 -0
  74. package/dist/gl-matrix/vec4.d.ts.map +1 -0
  75. package/dist/gl-matrix/vec4.js +334 -0
  76. package/dist/gl-matrix/vec4.js.map +1 -0
  77. package/dist/gl-matrix/wip/index.d.ts +5 -0
  78. package/dist/gl-matrix/wip/index.d.ts.map +1 -0
  79. package/dist/gl-matrix/wip/index.js +12 -0
  80. package/dist/gl-matrix/wip/index.js.map +1 -0
  81. package/dist/gl-matrix/wip/mat2.d.ts +229 -0
  82. package/dist/gl-matrix/wip/mat2.d.ts.map +1 -0
  83. package/dist/gl-matrix/wip/mat2.js +208 -0
  84. package/dist/gl-matrix/wip/mat2.js.map +1 -0
  85. package/dist/gl-matrix/wip/mat2d.d.ts +244 -0
  86. package/dist/gl-matrix/wip/mat2d.d.ts.map +1 -0
  87. package/dist/gl-matrix/wip/mat2d.js +251 -0
  88. package/dist/gl-matrix/wip/mat2d.js.map +1 -0
  89. package/dist/gl-matrix/wip/quat2.d.ts +352 -0
  90. package/dist/gl-matrix/wip/quat2.d.ts.map +1 -0
  91. package/dist/gl-matrix/wip/quat2.js +482 -0
  92. package/dist/gl-matrix/wip/quat2.js.map +1 -0
  93. package/dist/gl-matrix/wip/types.d.js +2 -0
  94. package/dist/gl-matrix/wip/types.d.js.map +1 -0
  95. package/dist/index.cjs +1614 -150
  96. package/dist/index.d.ts +15 -14
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +15 -14
  99. package/dist/index.js.map +1 -1
  100. package/dist/lib/assert.d.ts +1 -1
  101. package/dist/lib/assert.d.ts.map +1 -1
  102. package/dist/lib/assert.js +1 -1
  103. package/dist/lib/assert.js.map +1 -1
  104. package/dist/lib/common.d.ts +11 -6
  105. package/dist/lib/common.d.ts.map +1 -1
  106. package/dist/lib/common.js +8 -2
  107. package/dist/lib/common.js.map +1 -1
  108. package/dist/lib/math-utils.d.ts +24 -27
  109. package/dist/lib/math-utils.d.ts.map +1 -1
  110. package/dist/lib/math-utils.js +24 -26
  111. package/dist/lib/math-utils.js.map +1 -1
  112. package/dist/lib/validators.js +1 -1
  113. package/dist/lib/validators.js.map +1 -1
  114. package/package.json +3 -4
  115. package/src/classes/base/math-array.ts +6 -2
  116. package/src/classes/base/matrix.ts +6 -3
  117. package/src/classes/base/vector.ts +3 -3
  118. package/src/classes/euler.ts +5 -4
  119. package/src/classes/matrix3.ts +32 -23
  120. package/src/classes/matrix4.ts +45 -31
  121. package/src/classes/pose.ts +4 -4
  122. package/src/classes/quaternion.ts +48 -28
  123. package/src/classes/spherical-coordinates.ts +3 -3
  124. package/src/classes/vector2.ts +13 -10
  125. package/src/classes/vector3.ts +25 -12
  126. package/src/classes/vector4.ts +10 -8
  127. package/src/gl-matrix/common.js +58 -0
  128. package/src/gl-matrix/mat3.js +842 -0
  129. package/src/gl-matrix/mat4.js +2169 -0
  130. package/src/gl-matrix/quat.ts +789 -0
  131. package/src/gl-matrix/vec2.js +629 -0
  132. package/src/gl-matrix/vec3.js +827 -0
  133. package/src/gl-matrix/vec4.js +675 -0
  134. package/src/gl-matrix/wip/index.js +15 -0
  135. package/src/gl-matrix/wip/mat2.js +442 -0
  136. package/src/gl-matrix/wip/mat2d.js +505 -0
  137. package/src/gl-matrix/wip/quat2.ts +886 -0
  138. package/src/gl-matrix/wip/types.d.ts +93 -0
  139. package/src/index.ts +16 -14
  140. package/src/lib/assert.ts +1 -1
  141. package/src/lib/common.ts +29 -13
  142. package/src/lib/math-utils.ts +24 -26
  143. package/src/lib/validators.ts +1 -1
  144. package/dist/docs/README.md +0 -0
  145. package/src/docs/README.md +0 -0
@@ -0,0 +1,93 @@
1
+ // @ts-nocheck
2
+ /* eslint-disable */
3
+
4
+ interface IndexedCollection extends Iterable<number> {
5
+ readonly length: number;
6
+ [index: number]: number;
7
+ }
8
+
9
+ // prettier-ignore
10
+ declare type mat2 =
11
+ | [number, number,
12
+ number, number]
13
+ | IndexedCollection;
14
+
15
+ // prettier-ignore
16
+ declare type mat2d =
17
+ | [number, number,
18
+ number, number,
19
+ number, number]
20
+ | IndexedCollection;
21
+
22
+ // prettier-ignore
23
+ declare type mat3 =
24
+ | [number, number, number,
25
+ number, number, number,
26
+ number, number, number]
27
+ | IndexedCollection;
28
+
29
+ // prettier-ignore
30
+ declare type mat4 =
31
+ | [number, number, number, number,
32
+ number, number, number, number,
33
+ number, number, number, number,
34
+ number, number, number, number]
35
+ | IndexedCollection;
36
+
37
+ declare type quat = [number, number, number, number] | IndexedCollection;
38
+
39
+ // prettier-ignore
40
+ declare type quat2 =
41
+ | [number, number, number, number,
42
+ number, number, number, number]
43
+ | IndexedCollection;
44
+
45
+ declare type vec2 = [number, number] | IndexedCollection;
46
+ declare type vec3 = [number, number, number] | IndexedCollection;
47
+ declare type vec4 = [number, number, number, number] | IndexedCollection;
48
+
49
+ // prettier-ignore
50
+ declare type ReadonlyMat2 =
51
+ | readonly [
52
+ number, number,
53
+ number, number
54
+ ]
55
+ | IndexedCollection;
56
+
57
+ // prettier-ignore
58
+ declare type ReadonlyMat2d =
59
+ | readonly [
60
+ number, number,
61
+ number, number,
62
+ number, number
63
+ ]
64
+ | IndexedCollection;
65
+
66
+ // prettier-ignore
67
+ declare type ReadonlyMat3 =
68
+ | readonly [
69
+ number, number, number,
70
+ number, number, number,
71
+ number, number, number
72
+ ]
73
+ | IndexedCollection;
74
+
75
+ // prettier-ignore
76
+ declare type ReadonlyMat4 =
77
+ | readonly [
78
+ number, number, number, number,
79
+ number, number, number, number,
80
+ number, number, number, number,
81
+ number, number, number, number
82
+ ]
83
+ | IndexedCollection;
84
+
85
+ declare type ReadonlyQuat = readonly [number, number, number, number] | IndexedCollection;
86
+
87
+ declare type ReadonlyQuat2 =
88
+ | readonly [number, number, number, number, number, number, number, number]
89
+ | IndexedCollection;
90
+
91
+ declare type ReadonlyVec2 = readonly [number, number] | IndexedCollection;
92
+ declare type ReadonlyVec3 = readonly [number, number, number] | IndexedCollection;
93
+ declare type ReadonlyVec4 = readonly [number, number, number, number] | IndexedCollection;
package/src/index.ts CHANGED
@@ -3,23 +3,25 @@
3
3
  // types
4
4
  export type {TypedArray, NumericArray} from '@math.gl/types';
5
5
 
6
+ export type {isTypedArray, isNumericArray} from '@math.gl/types';
7
+
6
8
  // classes
7
- export {default as Vector2} from './classes/vector2';
8
- export {default as Vector3} from './classes/vector3';
9
- export {default as Vector4} from './classes/vector4';
10
- export {default as Matrix3} from './classes/matrix3';
11
- export {default as Matrix4} from './classes/matrix4';
12
- export {default as Quaternion} from './classes/quaternion';
9
+ export {Vector2} from './classes/vector2';
10
+ export {Vector3} from './classes/vector3';
11
+ export {Vector4} from './classes/vector4';
12
+ export {Matrix3} from './classes/matrix3';
13
+ export {Matrix4} from './classes/matrix4';
14
+ export {Quaternion} from './classes/quaternion';
13
15
 
14
16
  // experimental
15
- export {default as SphericalCoordinates} from './classes/spherical-coordinates';
16
- export {default as Pose} from './classes/pose';
17
- export {default as Euler} from './classes/euler';
17
+ export {SphericalCoordinates} from './classes/spherical-coordinates';
18
+ export {Pose} from './classes/pose';
19
+ export {Euler} from './classes/euler';
18
20
 
19
- export {default as _MathUtils} from './lib/math-utils';
21
+ export * as _MathUtils from './lib/math-utils';
20
22
 
21
23
  // lib
22
- export {default as assert} from './lib/assert';
24
+ export {assert} from './lib/assert';
23
25
 
24
26
  export {
25
27
  // math.gl global utility methods
@@ -47,6 +49,6 @@ export {
47
49
  } from './lib/common';
48
50
 
49
51
  // DEPRECATED
50
- export {default as _SphericalCoordinates} from './classes/spherical-coordinates';
51
- export {default as _Pose} from './classes/pose';
52
- export {default as _Euler} from './classes/euler';
52
+ export {SphericalCoordinates as _SphericalCoordinates} from './classes/spherical-coordinates';
53
+ export {Pose as _Pose} from './classes/pose';
54
+ export {Euler as _Euler} from './classes/euler';
package/src/lib/assert.ts CHANGED
@@ -1,4 +1,4 @@
1
- export default function assert(condition: unknown, message?: string): void {
1
+ export function assert(condition: unknown, message?: string): void {
2
2
  if (!condition) {
3
3
  throw new Error(`math.gl assertion ${message}`);
4
4
  }
package/src/lib/common.ts CHANGED
@@ -1,8 +1,11 @@
1
- // Copyright (c) 2017 Uber Technologies, Inc.
2
- // MIT License
3
- import {NumericArray} from '@math.gl/types';
1
+ // math.gl, MIT license
4
2
 
5
- import type MathArray from '../classes/base/math-array';
3
+ import type {NumericArray} from '@math.gl/types';
4
+
5
+ import type {MathArray} from '../classes/base/math-array';
6
+
7
+ const RADIANS_TO_DEGREES = (1 / Math.PI) * 180;
8
+ const DEGREES_TO_RADIANS = (1 / 180) * Math.PI;
6
9
 
7
10
  export type ConfigurationOptions = {
8
11
  EPSILON: number;
@@ -14,20 +17,32 @@ export type ConfigurationOptions = {
14
17
  _cartographicRadians?: boolean;
15
18
  };
16
19
 
17
- const RADIANS_TO_DEGREES = (1 / Math.PI) * 180;
18
- const DEGREES_TO_RADIANS = (1 / 180) * Math.PI;
19
-
20
- // TODO - remove
21
- export const config: ConfigurationOptions = {
20
+ const DEFAULT_CONFIG: Required<ConfigurationOptions> = {
22
21
  EPSILON: 1e-12,
23
22
  debug: false,
24
23
  precision: 4,
25
24
  printTypes: false,
26
25
  printDegrees: false,
27
- printRowMajor: true
26
+ printRowMajor: true,
27
+ _cartographicRadians: false
28
28
  };
29
29
 
30
- export function configure(options?: Partial<ConfigurationOptions>): ConfigurationOptions {
30
+ // We use a global field to store the config
31
+ declare global {
32
+ // eslint-disable-next-line no-var
33
+ var mathgl: {
34
+ config: Required<ConfigurationOptions>;
35
+ };
36
+ }
37
+
38
+ // Configuration is truly global as of v3.6 to ensure single config even if multiple copies of math.gl
39
+ // Multiple copies of config can be quite tricky to debug...
40
+ globalThis.mathgl = globalThis.mathgl || {config: {...DEFAULT_CONFIG}};
41
+
42
+ export const config = globalThis.mathgl.config;
43
+
44
+ export function configure(options: Partial<ConfigurationOptions>): ConfigurationOptions {
45
+ // Only copy existing keys
31
46
  Object.assign(config, options);
32
47
  return config;
33
48
  }
@@ -50,8 +65,8 @@ export function formatValue(
50
65
  /**
51
66
  * Check if value is an "array"
52
67
  * Returns `true` if value is either an array or a typed array
53
- *
54
68
  * Note: returns `false` for `ArrayBuffer` and `DataView` instances
69
+ * @note isTypedArray and isNumericArray are often more useful in TypeScript
55
70
  */
56
71
  export function isArray(value: unknown): boolean {
57
72
  return Array.isArray(value) || (ArrayBuffer.isView(value) && !(value instanceof DataView));
@@ -276,7 +291,8 @@ function round(value: number): number {
276
291
  // If the array has a clone function, calls it, otherwise returns a copy
277
292
  function duplicateArray(array: NumericArray): NumericArray {
278
293
  // @ts-expect-error We check for math.gl class methods
279
- return array.clone ? array.clone() : (new Array(array.length) as number[]);
294
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-call
295
+ return array.clone ? (array.clone() as NumericArray) : (new Array(array.length) as number[]);
280
296
  }
281
297
 
282
298
  // If the argument value is an array, applies the func element wise,
@@ -1,30 +1,28 @@
1
1
  // NOTE: Added to make Cesium-derived test cases work
2
2
  // TODO: Determine if/how to keep
3
- export default {
4
- EPSILON1: 1e-1,
5
- EPSILON2: 1e-2,
6
- EPSILON3: 1e-3,
7
- EPSILON4: 1e-4,
8
- EPSILON5: 1e-5,
9
- EPSILON6: 1e-6,
10
- EPSILON7: 1e-7,
11
- EPSILON8: 1e-8,
12
- EPSILON9: 1e-9,
13
- EPSILON10: 1e-10,
14
- EPSILON11: 1e-11,
15
- EPSILON12: 1e-12,
16
- EPSILON13: 1e-13,
17
- EPSILON14: 1e-14,
18
- EPSILON15: 1e-15,
19
- EPSILON16: 1e-16,
20
- EPSILON17: 1e-17,
21
- EPSILON18: 1e-18,
22
- EPSILON19: 1e-19,
23
- EPSILON20: 1e-20,
3
+ export const EPSILON1 = 1e-1;
4
+ export const EPSILON2 = 1e-2;
5
+ export const EPSILON3 = 1e-3;
6
+ export const EPSILON4 = 1e-4;
7
+ export const EPSILON5 = 1e-5;
8
+ export const EPSILON6 = 1e-6;
9
+ export const EPSILON7 = 1e-7;
10
+ export const EPSILON8 = 1e-8;
11
+ export const EPSILON9 = 1e-9;
12
+ export const EPSILON10 = 1e-10;
13
+ export const EPSILON11 = 1e-11;
14
+ export const EPSILON12 = 1e-12;
15
+ export const EPSILON13 = 1e-13;
16
+ export const EPSILON14 = 1e-14;
17
+ export const EPSILON15 = 1e-15;
18
+ export const EPSILON16 = 1e-16;
19
+ export const EPSILON17 = 1e-17;
20
+ export const EPSILON18 = 1e-18;
21
+ export const EPSILON19 = 1e-19;
22
+ export const EPSILON20 = 1e-20;
24
23
 
25
- PI_OVER_TWO: Math.PI / 2,
26
- PI_OVER_FOUR: Math.PI / 4,
27
- PI_OVER_SIX: Math.PI / 6,
24
+ export const PI_OVER_TWO = Math.PI / 2;
25
+ export const PI_OVER_FOUR = Math.PI / 4;
26
+ export const PI_OVER_SIX = Math.PI / 6;
28
27
 
29
- TWO_PI: Math.PI * 2
30
- };
28
+ export const TWO_PI = Math.PI * 2;
@@ -35,7 +35,7 @@ export function validateVector(v: NumberArray, length: number): boolean {
35
35
 
36
36
  export function checkNumber(value: unknown): number {
37
37
  if (!Number.isFinite(value)) {
38
- throw new Error(`Invalid number ${value}`);
38
+ throw new Error(`Invalid number ${JSON.stringify(value)}`);
39
39
  }
40
40
  return value as number;
41
41
  }
File without changes
File without changes