@woosh/meep-engine 2.119.82 → 2.119.84

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 (42) hide show
  1. package/editor/tools/v2/TransformControlsGizmo.js +2 -2
  2. package/editor/tools/v2/TransformControlsPlane.js +5 -1
  3. package/package.json +1 -1
  4. package/src/core/binary/uint8_to_float.d.ts.map +1 -1
  5. package/src/core/binary/uint8_to_float.js +1 -0
  6. package/src/core/collection/heap/Uint32Heap.d.ts +12 -2
  7. package/src/core/collection/heap/Uint32Heap.d.ts.map +1 -1
  8. package/src/core/collection/heap/Uint32Heap.js +11 -0
  9. package/src/core/color/Color.d.ts.map +1 -1
  10. package/src/core/color/Color.js +40 -44
  11. package/src/core/color/hsv/hsv2rgb.d.ts.map +1 -1
  12. package/src/core/color/hsv/hsv2rgb.js +2 -41
  13. package/src/core/color/hsv/hsv2rgb_float.d.ts +13 -0
  14. package/src/core/color/hsv/hsv2rgb_float.d.ts.map +1 -0
  15. package/src/core/color/hsv/hsv2rgb_float.js +56 -0
  16. package/src/core/geom/2d/aabb/AABB2.d.ts.map +1 -1
  17. package/src/core/geom/2d/aabb/AABB2.js +46 -9
  18. package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
  19. package/src/core/geom/3d/aabb/AABB3.js +48 -1
  20. package/src/core/geom/3d/compose_matrix4_array.d.ts +17 -4
  21. package/src/core/geom/3d/compose_matrix4_array.d.ts.map +1 -1
  22. package/src/core/geom/3d/compose_matrix4_array.js +3 -3
  23. package/src/core/geom/3d/mat4/allocate_m4.d.ts +1 -1
  24. package/src/core/geom/3d/mat4/allocate_m4.d.ts.map +1 -1
  25. package/src/core/geom/3d/mat4/allocate_m4.js +7 -33
  26. package/src/core/geom/ConicRay.d.ts +2 -2
  27. package/src/core/geom/ConicRay.d.ts.map +1 -1
  28. package/src/core/geom/ConicRay.js +14 -5
  29. package/src/core/geom/Quaternion.d.ts.map +1 -1
  30. package/src/core/geom/Quaternion.js +7 -7
  31. package/src/core/geom/Vector3.d.ts.map +1 -1
  32. package/src/core/geom/Vector3.js +4 -4
  33. package/src/core/math/epsilonEquals.d.ts.map +1 -1
  34. package/src/core/math/epsilonEquals.js +1 -0
  35. package/src/core/model/ObservedString.d.ts +64 -17
  36. package/src/engine/ecs/animation/AnimationClip.d.ts +1 -1
  37. package/src/engine/ecs/name/Name.d.ts +0 -5
  38. package/src/engine/ecs/name/Name.d.ts.map +1 -1
  39. package/src/engine/ecs/transform/Transform.d.ts +178 -56
  40. package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts.map +1 -1
  41. package/src/engine/graphics/ecs/light/Light.d.ts.map +1 -1
  42. package/src/engine/graphics/ecs/light/Light.js +9 -4
@@ -554,7 +554,7 @@ class TransformControlsGizmo extends GizmoNode {
554
554
 
555
555
  _tempQuaternion.setFromEuler(_tempEuler.set(0, Math.PI / 2, 0));
556
556
  _alignVector.copy(this.rotationAxis);
557
- handle.transform.rotation.setFromRotationMatrix(_lookAtMatrix.lookAt(_zeroVector, _alignVector, _unitY));
557
+ handle.transform.rotation.setFromRotationMatrix(_lookAtMatrix.lookAt(_zeroVector, _alignVector, _unitY).elements);
558
558
  handle.transform.rotation.multiply(_tempQuaternion);
559
559
  handle.visible = this.dragging;
560
560
 
@@ -699,7 +699,7 @@ class TransformControlsGizmo extends GizmoNode {
699
699
 
700
700
  if (handle.name.search('E') !== -1) {
701
701
 
702
- handle.transform.rotation.setFromRotationMatrix(_lookAtMatrix.lookAt(this.eye, _zeroVector, _unitY));
702
+ handle.transform.rotation.setFromRotationMatrix(_lookAtMatrix.lookAt(this.eye, _zeroVector, _unitY).elements);
703
703
 
704
704
  }
705
705
 
@@ -42,6 +42,10 @@ export class TransformControlsPlane extends GizmoNode {
42
42
 
43
43
  let space = this.space;
44
44
 
45
+ /**
46
+ *
47
+ * @type {Transform}
48
+ */
45
49
  const transform = this.transform;
46
50
 
47
51
  transform.position.copy(this.worldPosition);
@@ -108,7 +112,7 @@ export class TransformControlsPlane extends GizmoNode {
108
112
 
109
113
  _tempMatrix.lookAt(_tempVector.set(0, 0, 0), _dirVector, _alignVector);
110
114
 
111
- transform.rotation.setFromRotationMatrix(_tempMatrix);
115
+ transform.rotation.setFromRotationMatrix(_tempMatrix.elements);
112
116
 
113
117
  }
114
118
 
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "description": "Fully featured ECS game engine written in JavaScript",
6
6
  "type": "module",
7
7
  "author": "Alexander Goldring",
8
- "version": "2.119.82",
8
+ "version": "2.119.84",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -1 +1 @@
1
- {"version":3,"file":"uint8_to_float.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/uint8_to_float.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,kCAHW,MAAM,GACJ,MAAM,CAOlB"}
1
+ {"version":3,"file":"uint8_to_float.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/uint8_to_float.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,kCAHW,MAAM,GACJ,MAAM,CAQlB"}
@@ -6,6 +6,7 @@ import { assert } from "../assert.js";
6
6
  * @returns {number}
7
7
  */
8
8
  export function uint8_to_float(v) {
9
+ assert.isNumber(v, 'v');
9
10
  assert.lessThanOrEqual(v, 255);
10
11
  assert.greaterThanOrEqual(v, 0);
11
12
 
@@ -22,8 +22,18 @@ export class Uint32Heap {
22
22
  * @private
23
23
  */
24
24
  private __data_float32;
25
- __capacity: number;
26
- __size: number;
25
+ /**
26
+ *
27
+ * @type {number}
28
+ * @private
29
+ */
30
+ private __capacity;
31
+ /**
32
+ *
33
+ * @type {number}
34
+ * @private
35
+ */
36
+ private __size;
27
37
  /**
28
38
  *
29
39
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"Uint32Heap.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/heap/Uint32Heap.js"],"names":[],"mappings":"AAiDA;;;;GAIG;AACH;IACI;;;OAGG;IACH,+BAFW,MAAM,EAuBhB;IAlBG,2BAA0E;IAE1E;;;;OAIG;IACH,sBAAwD;IAExD;;;;OAIG;IACH,uBAA0D;IAE1D,mBAAkC;IAClC,eAAe;IAGnB;;;OAGG;IACH,wBAsBC;IAED;;;;;OAKG;IACH,gBAOC;IAED;;;;;OAKG;IACH,aAiBC;IAED;;;OAGG;IACH,kBA6BC;IAED;;;;OAIG;IACH,gBAeC;IAED;;;OAGG;IACH,mBAEC;IAED;;;OAGG;IACH,uBAEC;IAED;;;OAGG;IACH,qBAEC;IAED;;;OAGG;IACH,YAFa,OAAO,CAInB;IAED,mBAEC;IAED,kBAoBC;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACJ,MAAM,CAmBlB;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,OAAO,CAInB;IAED;;OAEG;IACH,cAEC;IAED;;;;OAIG;IACH,WAHW,MAAM,GACJ,OAAO,CAWnB;IAED;;;OAGG;IACH,yBAFW,MAAM,QAehB;IAED;;;;OAIG;IACH,iBAHW,MAAM,SACN,MAAM,QAUhB;IAED;;;;OAIG;IACH,+BAHW,MAAM,SACN,MAAM,QAiBhB;IAED;;;;OAIG;IACH,cAHW,MAAM,GACJ,MAAM,CAYlB;IAGD;;;;OAIG;IACH,qBAHW,MAAM,SACN,MAAM,QAUhB;IAED;;;;OAIG;IACH,WAHW,MAAM,SACN,MAAM,QA0BhB;CAGJ"}
1
+ {"version":3,"file":"Uint32Heap.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/heap/Uint32Heap.js"],"names":[],"mappings":"AAiDA;;;;GAIG;AACH;IACI;;;OAGG;IACH,+BAFW,MAAM,EAkChB;IA7BG,2BAA0E;IAE1E;;;;OAIG;IACH,sBAAwD;IAExD;;;;OAIG;IACH,uBAA0D;IAE1D;;;;OAIG;IACH,mBAAkC;IAElC;;;;OAIG;IACH,eAAe;IAGnB;;;OAGG;IACH,wBAsBC;IAED;;;;;OAKG;IACH,gBAOC;IAED;;;;;OAKG;IACH,aAiBC;IAED;;;OAGG;IACH,kBA6BC;IAED;;;;OAIG;IACH,gBAeC;IAED;;;OAGG;IACH,mBAEC;IAED;;;OAGG;IACH,uBAEC;IAED;;;OAGG;IACH,qBAEC;IAED;;;OAGG;IACH,YAFa,OAAO,CAInB;IAED,mBAEC;IAED,kBAoBC;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACJ,MAAM,CAmBlB;IAED;;;;OAIG;IACH,aAHW,MAAM,GACJ,OAAO,CAInB;IAED;;OAEG;IACH,cAEC;IAED;;;;OAIG;IACH,WAHW,MAAM,GACJ,OAAO,CAWnB;IAED;;;OAGG;IACH,yBAFW,MAAM,QAehB;IAED;;;;OAIG;IACH,iBAHW,MAAM,SACN,MAAM,QAUhB;IAED;;;;OAIG;IACH,+BAHW,MAAM,SACN,MAAM,QAiBhB;IAED;;;;OAIG;IACH,cAHW,MAAM,GACJ,MAAM,CAYlB;IAGD;;;;OAIG;IACH,qBAHW,MAAM,SACN,MAAM,QAUhB;IAED;;;;OAIG;IACH,WAHW,MAAM,SACN,MAAM,QA0BhB;CAGJ"}
@@ -76,7 +76,18 @@ export class Uint32Heap {
76
76
  */
77
77
  this.__data_float32 = new Float32Array(this.__data_buffer);
78
78
 
79
+ /**
80
+ *
81
+ * @type {number}
82
+ * @private
83
+ */
79
84
  this.__capacity = initial_capacity;
85
+
86
+ /**
87
+ *
88
+ * @type {number}
89
+ * @private
90
+ */
80
91
  this.__size = 0;
81
92
  }
82
93
 
@@ -1 +1 @@
1
- {"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../../../src/core/color/Color.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../../../src/core/color/Color.js"],"names":[],"mappings":"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"}
@@ -2,12 +2,13 @@ import { assert } from "../assert.js";
2
2
  import { float_to_uint8 } from "../binary/float_to_uint8.js";
3
3
  import { uint8_to_float } from "../binary/uint8_to_float.js";
4
4
  import Signal from "../events/signal/Signal.js";
5
- import { clamp01 } from "../math/clamp01.js";
6
5
  import { lerp } from "../math/lerp.js";
7
6
  import { max2 } from "../math/max2.js";
8
7
  import { min2 } from "../math/min2.js";
9
8
  import { min3 } from "../math/min3.js";
10
9
  import { rgb2hex } from "./hex/rgb2hex.js";
10
+
11
+ import { hsv2rgb_float } from "./hsv/hsv2rgb_float.js";
11
12
  import { rgb2hsv } from "./hsv/rgb2hsv.js";
12
13
  import { parse_color } from "./parse_color.js";
13
14
  import { rgb2uint24 } from "./rgb2uint24.js";
@@ -131,6 +132,40 @@ export class Color {
131
132
  this.a = v;
132
133
  }
133
134
 
135
+ // XYZW accessors
136
+
137
+ /**
138
+ *
139
+ * @returns {number}
140
+ */
141
+ get x() {
142
+ return this.r;
143
+ }
144
+
145
+ /**
146
+ *
147
+ * @returns {number}
148
+ */
149
+ get y() {
150
+ return this.g;
151
+ }
152
+
153
+ /**
154
+ *
155
+ * @returns {number}
156
+ */
157
+ get z() {
158
+ return this.b;
159
+ }
160
+
161
+ /**
162
+ *
163
+ * @returns {number}
164
+ */
165
+ get w() {
166
+ return this.a;
167
+ }
168
+
134
169
  /**
135
170
  * Pretending to be an array
136
171
  * @return {number}
@@ -152,9 +187,9 @@ export class Color {
152
187
 
153
188
  /**
154
189
  *
155
- * @param {number} r [0..255]
156
- * @param {number} g [0..255]
157
- * @param {number} b [0..255]
190
+ * @param {number} r in range of 0..255
191
+ * @param {number} g in range of 0..255
192
+ * @param {number} b in range of 0..255
158
193
  */
159
194
  setRGBUint8(r, g, b) {
160
195
  this.setRGB(
@@ -378,46 +413,7 @@ export class Color {
378
413
  * @param {number} v 0..1
379
414
  */
380
415
  setHSV(h, s, v) {
381
- let _h = h;
382
-
383
- if (_h < 0) {
384
- // move into positive range
385
- _h = _h + Math.ceil(Math.abs(_h));
386
- }
387
-
388
- _h = _h % 1
389
-
390
- const _s = clamp01(s);
391
- const _v = clamp01(v);
392
-
393
- let r, g, b;
394
-
395
- const i = Math.floor(_h * 6);
396
- const f = _h * 6 - i;
397
- const p = _v * (1 - _s);
398
- const q = _v * (1 - f * _s);
399
- const t = _v * (1 - (1 - f) * _s);
400
-
401
- switch (i % 6) {
402
- case 0:
403
- r = _v, g = t, b = p;
404
- break;
405
- case 1:
406
- r = q, g = _v, b = p;
407
- break;
408
- case 2:
409
- r = p, g = _v, b = t;
410
- break;
411
- case 3:
412
- r = p, g = q, b = _v;
413
- break;
414
- case 4:
415
- r = t, g = p, b = _v;
416
- break;
417
- case 5:
418
- r = _v, g = p, b = q;
419
- break;
420
- }
416
+ const { r, g, b } = hsv2rgb_float(h, s, v);
421
417
 
422
418
  this.setRGB(r, g, b);
423
419
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hsv2rgb.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/hsv/hsv2rgb.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,2BALW,MAAM,KACN,MAAM,KACN,MAAM;OACA,MAAM;OAAK,MAAM;OAAK,MAAM;EAkD5C"}
1
+ {"version":3,"file":"hsv2rgb.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/hsv/hsv2rgb.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,2BALW,MAAM,KACN,MAAM,KACN,MAAM;OACA,MAAM;OAAK,MAAM;OAAK,MAAM;EAW5C"}
@@ -1,5 +1,5 @@
1
1
  import { float_to_uint8 } from "../../binary/float_to_uint8.js";
2
- import { clamp01 } from "../../math/clamp01.js";
2
+ import { hsv2rgb_float } from "./hsv2rgb_float.js";
3
3
 
4
4
  /**
5
5
  *
@@ -10,47 +10,8 @@ import { clamp01 } from "../../math/clamp01.js";
10
10
  */
11
11
  export function hsv2rgb(h, s, v) {
12
12
 
13
- let _h = h;
13
+ const {r,g,b} = hsv2rgb_float(h,s,v);
14
14
 
15
- if (_h < 0) {
16
- _h = _h + Math.ceil(Math.abs(_h));
17
- }
18
-
19
- _h = _h % 1;
20
-
21
- const _s = clamp01(s);
22
- const _v = clamp01(v);
23
-
24
- let r, g, b, i, f, p, q, t;
25
-
26
- i = Math.floor(_h * 6);
27
-
28
- f = _h * 6 - i;
29
-
30
- p = _v * (1 - _s);
31
- q = _v * (1 - f * _s);
32
- t = _v * (1 - (1 - f) * _s);
33
-
34
- switch (i % 6) {
35
- case 0:
36
- r = _v, g = t, b = p;
37
- break;
38
- case 1:
39
- r = q, g = _v, b = p;
40
- break;
41
- case 2:
42
- r = p, g = _v, b = t;
43
- break;
44
- case 3:
45
- r = p, g = q, b = _v;
46
- break;
47
- case 4:
48
- r = t, g = p, b = _v;
49
- break;
50
- case 5:
51
- r = _v, g = p, b = q;
52
- break;
53
- }
54
15
  return {
55
16
  r: float_to_uint8(r),
56
17
  g: float_to_uint8(g),
@@ -0,0 +1,13 @@
1
+ /**
2
+ *
3
+ * @param {number} h from 0 to 1
4
+ * @param {number} s from 0 to 1
5
+ * @param {number} v from 0 to 1
6
+ * @returns {{r: number, g: number, b: number}} output in range 0..1
7
+ */
8
+ export function hsv2rgb_float(h: number, s: number, v: number): {
9
+ r: number;
10
+ g: number;
11
+ b: number;
12
+ };
13
+ //# sourceMappingURL=hsv2rgb_float.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hsv2rgb_float.d.ts","sourceRoot":"","sources":["../../../../../src/core/color/hsv/hsv2rgb_float.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,iCALW,MAAM,KACN,MAAM,KACN,MAAM;OACA,MAAM;OAAK,MAAM;OAAK,MAAM;EAgD5C"}
@@ -0,0 +1,56 @@
1
+ import { clamp01 } from "../../math/clamp01.js";
2
+
3
+ /**
4
+ *
5
+ * @param {number} h from 0 to 1
6
+ * @param {number} s from 0 to 1
7
+ * @param {number} v from 0 to 1
8
+ * @returns {{r: number, g: number, b: number}} output in range 0..1
9
+ */
10
+ export function hsv2rgb_float(h, s, v) {
11
+ let _h = h;
12
+
13
+ if (_h < 0) {
14
+ _h = _h + Math.ceil(Math.abs(_h));
15
+ }
16
+
17
+ _h = _h % 1;
18
+
19
+ const _s = clamp01(s);
20
+ const _v = clamp01(v);
21
+
22
+ let r, g, b, i, f, p, q, t;
23
+
24
+ i = Math.floor(_h * 6);
25
+
26
+ f = _h * 6 - i;
27
+
28
+ p = _v * (1 - _s);
29
+ q = _v * (1 - f * _s);
30
+ t = _v * (1 - (1 - f) * _s);
31
+
32
+ switch (i % 6) {
33
+ case 0:
34
+ r = _v, g = t, b = p;
35
+ break;
36
+ case 1:
37
+ r = q, g = _v, b = p;
38
+ break;
39
+ case 2:
40
+ r = p, g = _v, b = t;
41
+ break;
42
+ case 3:
43
+ r = p, g = q, b = _v;
44
+ break;
45
+ case 4:
46
+ r = t, g = p, b = _v;
47
+ break;
48
+ case 5:
49
+ r = _v, g = p, b = q;
50
+ break;
51
+ }
52
+
53
+ return {
54
+ r, g, b
55
+ }
56
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"AABB2.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/aabb/AABB2.js"],"names":[],"mappings":";AAYA;;;GAGG;AACH;IACI;;;;;;OAMG;IACH,gEA+BC;IApBG;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IACZ;;;OAGG;IACH,WAAY;IAGhB;;;OAGG;IACH,gBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,iBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,WAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,aAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QA8BlB;IAED;;;OAGG;IACH,sBAFW,MAAM,QAShB;IAED;;;;;OAKG;IACH,sBAJW,KAAK,UACL,KAAK,GACH,OAAO,CAcnB;IAED;;;;OAIG;IACH,qBAHW,KAAK,GACH,OAAO,CAcnB;IAED;;;;;;;OAOG;IACH,0EAMC;IAED;;;;OAIG;IACH,qBAHW,MAAM,KACN,MAAM,QAKhB;IAED;;;;;;OAMG;IACH,0BALW,OAAO,MACP,OAAO,UACP,OAAO,GACL,OAAO,CA0BnB;IAED;;;;OAIG;IACH,kCAHW,OAAO,UACP,OAAO,QAmBjB;IAED;;;;OAIG;IACH,wBAHW,KAAK,GACH,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,sBANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CA4BlB;IAED;;;OAGG;IACH,eAFa,MAAM,CASlB;IAED;;;OAGG;IACH,sBAFY,MAAM,CAYjB;IAED;;;;;OAKG;IACH,iBAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,mBAFW,KAAK,QAIf;IAED;;;OAGG;IACH,mBAFW,OAAO,WAOjB;IAED;;;;OAIG;IACH,QAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,QAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,sBAEC;IAED;;;OAGG;IACH,sBAGC;IAED;;;OAGG;IACH,YAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,aAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,qBAEC;IAED;;;;;;;OAOG;IACH,0DAiBC;IAED;;;;OAIG;IACH,eAHW,MAAM,KACN,MAAM,QAOhB;IAED;;;;OAIG;IACH,aAHW,MAAM,UACN,MAAM,QAOhB;IAED;;;OAGG;IACH,SAFa,KAAK,CAIjB;IAED;;;;OAIG;IACH,YAHW,KAAK,GACH,KAAK,CAIjB;IAED;;;;OAIG;IACH,cAHW,KAAK,GACH,OAAO,CAOnB;IAED;;;;;;OAMG;IACH,UALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAQhB;IAED;;;;;;OAMG;IACH,uBALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAsBhB;IAED;;OAEG;IACH,oCAEC;IAED,mBAEC;IAED;;;;;MAOC;IAED,0BAEC;IAED;;;;OAIG;IACH,iBAJW,MAAM,EAAE,GAAC,YAAY,WACrB,MAAM,GACJ,MAAM,EAAE,GAAC,YAAY,CAUjC;CACJ;;;qBAqCS,KAAK;qBAML,KAAK;;oBA/nBK,kBAAkB;AAulBtC;;;;;;;GAOG;AACH,gDANW,KAAK,MACL,KAAK,MACL,OAAO,MACP,OAAO,GACL,OAAO,CAsBnB"}
1
+ {"version":3,"file":"AABB2.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/2d/aabb/AABB2.js"],"names":[],"mappings":";AAYA;;;GAGG;AACH;IACI;;;;;;OAMG;IACH,iBANW,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,EAuChB;IApBG;;;OAGG;IACH,IAFU,MAAM,CAEJ;IACZ;;;OAGG;IACH,IAFU,MAAM,CAEJ;IACZ;;;OAGG;IACH,IAFU,MAAM,CAEJ;IACZ;;;OAGG;IACH,IAFU,MAAM,CAEJ;IAGhB;;;OAGG;IACH,gBAEC;IAED;;;OAGG;IACH,gBAEC;IAED;;;OAGG;IACH,gBAEC;IAED;;;OAGG;IACH,gBAEC;IAED;;;OAGG;IACH,gBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,iBAFW,MAAM,QAQhB;IAED;;;OAGG;IACH,WAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,aAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QA8BlB;IAED;;;OAGG;IACH,sBAFW,MAAM,QAShB;IAED;;;;;OAKG;IACH,sBAJW,KAAK,UACL,KAAK,GACH,OAAO,CAcnB;IAED;;;;OAIG;IACH,qBAHW,KAAK,GACH,OAAO,CAcnB;IAED;;;;;;;OAOG;IACH,0EAMC;IAED;;;;OAIG;IACH,qBAHW,MAAM,KACN,MAAM,QAKhB;IAED;;;;;;OAMG;IACH,0BALW,OAAO,MACP,OAAO,UACP,OAAO,GACL,OAAO,CA0BnB;IAED;;;;OAIG;IACH,kCAHW,OAAO,UACP,OAAO,QAmBjB;IAED;;;;OAIG;IACH,wBAHW,KAAK,GACH,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,sBANW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,MAAM,CA4BlB;IAED;;;OAGG;IACH,eAFa,MAAM,CASlB;IAED;;;OAGG;IACH,sBAFY,MAAM,CAYjB;IAED;;;;;OAKG;IACH,iBAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,mBAFW,KAAK,QAIf;IAED;;;OAGG;IACH,mBAFW,OAAO,WAOjB;IAED;;;;OAIG;IACH,QAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,QAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,sBAEC;IAED;;;OAGG;IACH,sBAGC;IAED;;;OAGG;IACH,YAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,oBAEC;IAED;;;OAGG;IACH,aAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,qBAEC;IAED;;;;;;;OAOG;IACH,0DAiBC;IAED;;;;OAIG;IACH,eAHW,MAAM,KACN,MAAM,QAOhB;IAED;;;;OAIG;IACH,aAHW,MAAM,UACN,MAAM,QAOhB;IAED;;;OAGG;IACH,SAFa,KAAK,CAIjB;IAED;;;;OAIG;IACH,YAHW,KAAK,GACH,KAAK,CAIjB;IAED;;;;OAIG;IACH,cAHW,KAAK,GACH,OAAO,CAOnB;IAED;;;;;;OAMG;IACH,UALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAQhB;IAED;;;;;;OAMG;IACH,uBALW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,QAsBhB;IAED;;OAEG;IACH,oCAEC;IAED,mBAEC;IAED;;;;;MAOC;IAED,0BAEC;IAED;;;;OAIG;IACH,iBAJW,MAAM,EAAE,GAAC,YAAY,WACrB,MAAM,GACJ,MAAM,EAAE,GAAC,YAAY,CAUjC;CACJ;;;qBAqCS,KAAK;qBAML,KAAK;;oBApqBK,kBAAkB;AA4nBtC;;;;;;;GAOG;AACH,gDANW,KAAK,MACL,KAAK,MACL,OAAO,MACP,OAAO,GACL,OAAO,CAsBnB"}
@@ -16,13 +16,18 @@ import { aabb2_overlap_exists } from "./aabb2_overlap_exists.js";
16
16
  */
17
17
  class AABB2 {
18
18
  /**
19
- * @param {Number} [x0=0]
20
- * @param {Number} [y0=0]
21
- * @param {Number} [x1=0]
22
- * @param {Number} [y1=0]
19
+ * @param {number} [x0=0]
20
+ * @param {number} [y0=0]
21
+ * @param {number} [x1=0]
22
+ * @param {number} [y1=0]
23
23
  * @constructor
24
24
  */
25
- constructor(x0 = 0, y0 = 0, x1 = 0, y1 = 0) {
25
+ constructor(
26
+ x0 = 0,
27
+ y0 = 0,
28
+ x1 = 0,
29
+ y1 = 0
30
+ ) {
26
31
  assert.isNumber(x0, `x0`);
27
32
  assert.isNumber(y0, `y0`);
28
33
  assert.isNumber(x1, `x1`);
@@ -35,26 +40,58 @@ class AABB2 {
35
40
 
36
41
  /**
37
42
  *
38
- * @type {Number}
43
+ * @type {number}
39
44
  */
40
45
  this.x0 = x0;
41
46
  /**
42
47
  *
43
- * @type {Number}
48
+ * @type {number}
44
49
  */
45
50
  this.y0 = y0;
46
51
  /**
47
52
  *
48
- * @type {Number}
53
+ * @type {number}
49
54
  */
50
55
  this.x1 = x1;
51
56
  /**
52
57
  *
53
- * @type {Number}
58
+ * @type {number}
54
59
  */
55
60
  this.y1 = y1;
56
61
  }
57
62
 
63
+ /**
64
+ *
65
+ * @returns {number}
66
+ */
67
+ get 0(){
68
+ return this.x0;
69
+ }
70
+
71
+ /**
72
+ *
73
+ * @returns {number}
74
+ */
75
+ get 1(){
76
+ return this.y0;
77
+ }
78
+
79
+ /**
80
+ *
81
+ * @returns {number}
82
+ */
83
+ get 2(){
84
+ return this.x1;
85
+ }
86
+
87
+ /**
88
+ *
89
+ * @returns {number}
90
+ */
91
+ get 3(){
92
+ return this.y1;
93
+ }
94
+
58
95
  /**
59
96
  *
60
97
  * @param {number} size
@@ -1 +1 @@
1
- {"version":3,"file":"AABB3.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/aabb/AABB3.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AABB3.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/aabb/AABB3.js"],"names":[],"mappings":"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"}
@@ -51,53 +51,100 @@ export class AABB3 {
51
51
 
52
52
  }
53
53
 
54
+ /**
55
+ *
56
+ * @returns {number}
57
+ */
54
58
  get 0() {
55
59
  return this.x0;
56
60
  }
57
61
 
58
62
 
63
+ /**
64
+ *
65
+ * @returns {number}
66
+ */
59
67
  get 1() {
60
68
  return this.y0;
61
69
  }
62
70
 
71
+ /**
72
+ *
73
+ * @returns {number}
74
+ */
63
75
  get 2() {
64
76
  return this.z0;
65
77
  }
66
78
 
67
79
 
80
+ /**
81
+ *
82
+ * @returns {number}
83
+ */
68
84
  get 3() {
69
85
  return this.x1;
70
86
  }
71
87
 
72
-
88
+ /**
89
+ *
90
+ * @returns {number}
91
+ */
73
92
  get 4() {
74
93
  return this.y1;
75
94
  }
76
95
 
96
+ /**
97
+ *
98
+ * @returns {number}
99
+ */
77
100
  get 5() {
78
101
  return this.z1;
79
102
  }
80
103
 
104
+ /**
105
+ *
106
+ * @param {number} v
107
+ */
81
108
  set 0(v) {
82
109
  this.x0 = v;
83
110
  }
84
111
 
112
+ /**
113
+ *
114
+ * @param {number} v
115
+ */
85
116
  set 1(v) {
86
117
  this.y0 = v;
87
118
  }
88
119
 
120
+ /**
121
+ *
122
+ * @param {number} v
123
+ */
89
124
  set 2(v) {
90
125
  this.z0 = v;
91
126
  }
92
127
 
128
+ /**
129
+ *
130
+ * @param {number} v
131
+ */
93
132
  set 3(v) {
94
133
  this.x1 = v;
95
134
  }
96
135
 
136
+ /**
137
+ *
138
+ * @param {number} v
139
+ */
97
140
  set 4(v) {
98
141
  this.y1 = v;
99
142
  }
100
143
 
144
+ /**
145
+ *
146
+ * @param {number} v
147
+ */
101
148
  set 5(v) {
102
149
  this.z1 = v;
103
150
  }
@@ -1,9 +1,22 @@
1
1
  /**
2
2
  *
3
3
  * @param {number[]|Float32Array|mat4} result
4
- * @param {Vector3} position
5
- * @param {Quaternion} rotation
6
- * @param {Vector3} scale
4
+ * @param { { x:number, y:number, z:number } } position
5
+ * @param { { x:number, y:number, z:number, w:number } } rotation
6
+ * @param { { x:number, y:number, z:number } } scale
7
7
  */
8
- export function compose_matrix4_array(result: number[] | Float32Array | mat4, position: Vector3, rotation: Quaternion, scale: Vector3): void;
8
+ export function compose_matrix4_array(result: number[] | Float32Array | mat4, position: {
9
+ x: number;
10
+ y: number;
11
+ z: number;
12
+ }, rotation: {
13
+ x: number;
14
+ y: number;
15
+ z: number;
16
+ w: number;
17
+ }, scale: {
18
+ x: number;
19
+ y: number;
20
+ z: number;
21
+ }): void;
9
22
  //# sourceMappingURL=compose_matrix4_array.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose_matrix4_array.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/3d/compose_matrix4_array.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,8CALW,MAAM,EAAE,GAAC,YAAY,OAAK,iEAkDpC"}
1
+ {"version":3,"file":"compose_matrix4_array.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/3d/compose_matrix4_array.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,8CALW,MAAM,EAAE,GAAC,YAAY,OAAK;OACrB,MAAM;OAAI,MAAM;OAAI,MAAM;;OAC1B,MAAM;OAAI,MAAM;OAAI,MAAM;OAAI,MAAM;;OACpC,MAAM;OAAI,MAAM;OAAI,MAAM;SA+CzC"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  *
3
3
  * @param {number[]|Float32Array|mat4} result
4
- * @param {Vector3} position
5
- * @param {Quaternion} rotation
6
- * @param {Vector3} scale
4
+ * @param { { x:number, y:number, z:number } } position
5
+ * @param { { x:number, y:number, z:number, w:number } } rotation
6
+ * @param { { x:number, y:number, z:number } } scale
7
7
  */
8
8
  export function compose_matrix4_array(result, position, rotation, scale) {
9
9
  const x = rotation.x;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * custom Float32Array allocator, allocated memory in continuous chunks
2
+ * custom Float32Array allocator
3
3
  * @returns {Float32Array}
4
4
  */
5
5
  export function allocate_m4(): Float32Array;
@@ -1 +1 @@
1
- {"version":3,"file":"allocate_m4.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/mat4/allocate_m4.js"],"names":[],"mappings":"AAuBA;;;GAGG;AACH,+BAFa,YAAY,CAgBxB"}
1
+ {"version":3,"file":"allocate_m4.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/mat4/allocate_m4.js"],"names":[],"mappings":"AAAA;;;GAGG;AACH,+BAFa,YAAY,CAaxB"}
@@ -1,42 +1,16 @@
1
- import { MATRIX_4_IDENTITY } from "./MATRIX_4_IDENTITY.js";
2
-
3
- /**
4
- * Larger bucket sizes provide better cache locality
5
- * Larger bucket sizes also cause more hanging GC references, as if one matrix element is still held - ENTIRE bucket is still referenced
6
- * @type {number}
7
- */
8
- const TRANSFORM_ALLOCATOR_BUCKET_CAPACITY = 16;
9
-
10
- /**
11
- *
12
- * @type {ArrayBuffer|null}
13
- */
14
- let transform_bucket = null;
15
-
16
- /**
17
- *
18
- * @type {number}
19
- */
20
- let transform_bucket_cursor = TRANSFORM_ALLOCATOR_BUCKET_CAPACITY;
21
-
22
- const MATRIX_BYTE_SIZE = 4 * 16;
23
-
24
1
  /**
25
- * custom Float32Array allocator, allocated memory in continuous chunks
2
+ * custom Float32Array allocator
26
3
  * @returns {Float32Array}
27
4
  */
28
5
  export function allocate_m4() {
29
- if (transform_bucket_cursor >= TRANSFORM_ALLOCATOR_BUCKET_CAPACITY) {
30
- transform_bucket = new ArrayBuffer(TRANSFORM_ALLOCATOR_BUCKET_CAPACITY * MATRIX_BYTE_SIZE);
31
- transform_bucket_cursor = 0;
32
- }
33
-
34
- const result = new Float32Array(transform_bucket, transform_bucket_cursor * MATRIX_BYTE_SIZE, 16);
35
6
 
36
- // initialize matrix
37
- result.set(MATRIX_4_IDENTITY);
7
+ const result = new Float32Array(16);
38
8
 
39
- transform_bucket_cursor++;
9
+ // initialize to identity matrix by setting diagonal values
10
+ result[0] = 1;
11
+ result[5] = 1;
12
+ result[10] = 1;
13
+ result[15] = 1;
40
14
 
41
15
  return result;
42
16
  }
@@ -9,10 +9,10 @@ export class ConicRay {
9
9
  * @param {number} x
10
10
  * @param {number} y
11
11
  * @param {number} z
12
- * @param {number} angle
12
+ * @param {number} half_angle
13
13
  * @returns {ConicRay}
14
14
  */
15
- static fromScalars(x: number, y: number, z: number, angle: number): ConicRay;
15
+ static fromScalars(x: number, y: number, z: number, half_angle: number): ConicRay;
16
16
  /**
17
17
  * Must be normalized
18
18
  * @readonly
@@ -1 +1 @@
1
- {"version":3,"file":"ConicRay.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/ConicRay.js"],"names":[],"mappings":"AAQA;;;;GAIG;AACH;IA4KI;;;;;;;OAOG;IACH,sBANW,MAAM,KACN,MAAM,KACN,MAAM,SACN,MAAM,GACJ,QAAQ,CAWpB;IA3LD;;;;OAIG;IACH,oBAFU,OAAO,CAEgB;IAEjC;;;;OAIG;IACH,OAFU,MAAM,CAEN;IAEV;;;MAKC;IAED,0BAGC;IAED;;;OAGG;IACH,2CAGC;IAED;;;OAGG;IACH,6CAMC;IAED;;;;OAIG;IACH,cAHW,QAAQ,GACN,OAAO,CAInB;IAED;;;;;OAKG;IACH,qBAJW,QAAQ,cACR,MAAM,GACJ,OAAO,CAKnB;IAED,eAKC;IAED;;;OAGG;IACH,YAFW,QAAQ,QAKlB;IAED;;;;OAIG;IACH,4BAHW,OAAO,GACL,OAAO,CAMnB;IAED;;;;;OAKG;IACH,gDAFW,OAAO,QAsEjB;CAoBJ;oBAtMmB,cAAc"}
1
+ {"version":3,"file":"ConicRay.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/ConicRay.js"],"names":[],"mappings":"AAQA;;;;GAIG;AACH;IA8KI;;;;;;;OAOG;IACH,sBANW,MAAM,KACN,MAAM,KACN,MAAM,cACN,MAAM,GACJ,QAAQ,CAkBpB;IApMD;;;;OAIG;IACH,oBAFU,OAAO,CAEgB;IAEjC;;;;OAIG;IACH,OAFU,MAAM,CAEN;IAEV;;;MAKC;IAED,0BAGC;IAED;;;OAGG;IACH,2CAGC;IAED;;;OAGG;IACH,6CAMC;IAED;;;;OAIG;IACH,cAHW,QAAQ,GACN,OAAO,CAMnB;IAED;;;;;OAKG;IACH,qBAJW,QAAQ,cACR,MAAM,GACJ,OAAO,CAKnB;IAED,eAKC;IAED;;;OAGG;IACH,YAFW,QAAQ,QAKlB;IAED;;;;OAIG;IACH,4BAHW,OAAO,GACL,OAAO,CAMnB;IAED;;;;;OAKG;IACH,gDAFW,OAAO,QAsEjB;CA2BJ;oBA/MmB,cAAc"}
@@ -66,7 +66,9 @@ export class ConicRay {
66
66
  * @returns {boolean}
67
67
  */
68
68
  equals(other) {
69
- return this.angle === other.angle && this.direction.equals(other.direction);
69
+ return this.angle === other.angle
70
+ && this.direction.equals(other.direction)
71
+ ;
70
72
  }
71
73
 
72
74
  /**
@@ -188,16 +190,23 @@ export class ConicRay {
188
190
  * @param {number} x
189
191
  * @param {number} y
190
192
  * @param {number} z
191
- * @param {number} angle
193
+ * @param {number} half_angle
192
194
  * @returns {ConicRay}
193
195
  */
194
- static fromScalars(x, y, z, angle) {
195
- assert.greaterThanOrEqual(angle, 0, 'angle must be non-negative');
196
+ static fromScalars(
197
+ x,
198
+ y,
199
+ z,
200
+ half_angle
201
+ ) {
202
+ assert.isNumber(half_angle, 'angle');
203
+ assert.greaterThanOrEqual(half_angle, 0, 'half_angle must be non-negative');
196
204
 
197
205
  const r = new ConicRay();
198
206
 
199
- r.angle = angle;
207
+ r.angle = half_angle;
200
208
  r.direction.set(x, y, z);
209
+ r.direction.normalize();
201
210
 
202
211
  return r;
203
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Quaternion.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Quaternion.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Quaternion.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Quaternion.js"],"names":[],"mappings":"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"}
@@ -884,16 +884,16 @@ class Quaternion {
884
884
  }
885
885
 
886
886
  /**
887
- * @deprecated
888
- * @param {Matrix4} m
887
+ * @param {number[]} m4x4
889
888
  */
890
- setFromRotationMatrix(m) {
891
- const e = m.elements;
889
+ setFromRotationMatrix(m4x4) {
890
+ assert.defined(m4x4,'m4x4');
891
+ assert.isArrayLike(m4x4,'m4x4');
892
892
 
893
893
  this.__setFromRotationMatrix(
894
- e[0], e[4], e[8],
895
- e[1], e[5], e[9],
896
- e[2], e[6], e[10]
894
+ m4x4[0], m4x4[4], m4x4[8],
895
+ m4x4[1], m4x4[5], m4x4[9],
896
+ m4x4[2], m4x4[6], m4x4[10]
897
897
  );
898
898
 
899
899
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":"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"}
@@ -460,13 +460,13 @@ class Vector3 {
460
460
  }
461
461
 
462
462
  /**
463
- * @param {number} [squaredError]
463
+ * @param {number} [squared_error]
464
464
  * @return {boolean}
465
465
  */
466
- isNormalized(squaredError = 1e-5) {
467
- const lengthSq = this.lengthSqr();
466
+ isNormalized(squared_error = 1e-5) {
467
+ const length_sqr = this.lengthSqr();
468
468
 
469
- return epsilonEquals(lengthSq, 1, squaredError);
469
+ return epsilonEquals(length_sqr, 1, squared_error);
470
470
  }
471
471
 
472
472
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"epsilonEquals.d.ts","sourceRoot":"","sources":["../../../../src/core/math/epsilonEquals.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,iCALW,MAAM,KACN,MAAM,cACN,MAAM,GACJ,OAAO,CASnB"}
1
+ {"version":3,"file":"epsilonEquals.d.ts","sourceRoot":"","sources":["../../../../src/core/math/epsilonEquals.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,iCALW,MAAM,KACN,MAAM,cACN,MAAM,GACJ,OAAO,CAUnB"}
@@ -11,6 +11,7 @@ import { EPSILON } from "./EPSILON.js";
11
11
  export function epsilonEquals(a, b, tolerance = EPSILON) {
12
12
  assert.isNumber(a, 'a');
13
13
  assert.isNumber(b, 'b');
14
+
14
15
  assert.isNumber(tolerance, 'tolerance');
15
16
  assert.greaterThanOrEqual(tolerance, 0, 'tolerance must be greater than 0');
16
17
 
@@ -1,17 +1,64 @@
1
- import Signal from "../events/signal/Signal";
2
-
3
- export default class ObservedString {
4
- get onChanged(): Signal
5
-
6
- constructor(value: string)
7
-
8
- set(value: string): void
9
-
10
- copy(other: ObservedString): void
11
-
12
- equals(other: ObservedString): boolean
13
-
14
- hash(): number
15
-
16
- getValue(): string
17
- }
1
+ export default ObservedString;
2
+ declare class ObservedString extends String {
3
+ /**
4
+ *
5
+ * @param {string} [value]
6
+ * @constructor
7
+ */
8
+ constructor(value?: string);
9
+ /**
10
+ *
11
+ * @type {String}
12
+ * @private
13
+ */
14
+ private __value;
15
+ onChanged: Signal<any, any, any, any, any, any, any, any>;
16
+ /**
17
+ *
18
+ * @param {String} value
19
+ * @returns {ObservedString}
20
+ */
21
+ set(value: string): ObservedString;
22
+ /**
23
+ *
24
+ * @param {ObservedString} other
25
+ */
26
+ copy(other: ObservedString): void;
27
+ /**
28
+ *
29
+ * @param {ObservedString} other
30
+ * @returns {boolean}
31
+ */
32
+ equals(other: ObservedString): boolean;
33
+ /**
34
+ *
35
+ * @returns {String}
36
+ */
37
+ getValue(): string;
38
+ /**
39
+ *
40
+ * @param {function} f
41
+ */
42
+ process(f: Function): void;
43
+ toJSON(): string;
44
+ fromJSON(obj: any): void;
45
+ /**
46
+ *
47
+ * @param {BinaryBuffer} buffer
48
+ */
49
+ toBinaryBuffer(buffer: BinaryBuffer): void;
50
+ /**
51
+ *
52
+ * @param {BinaryBuffer} buffer
53
+ */
54
+ fromBinaryBuffer(buffer: BinaryBuffer): void;
55
+ hash(): number;
56
+ /**
57
+ * Used for optimized "instanceof" check
58
+ * @readonly
59
+ * @type {boolean}
60
+ */
61
+ readonly isObservedString: boolean;
62
+ }
63
+ import Signal from "../events/signal/Signal.js";
64
+ //# sourceMappingURL=ObservedString.d.ts.map
@@ -35,7 +35,7 @@ export class AnimationClip {
35
35
  getFlag(v: number | AnimationClipFlag): boolean;
36
36
  fromJSON(json: any): void;
37
37
  toJSON(): {
38
- name: any;
38
+ name: string;
39
39
  repeatCount: number;
40
40
  weight: any;
41
41
  timeScale: any;
@@ -1,10 +1,5 @@
1
1
  export default Name;
2
2
  declare class Name extends ObservedString {
3
- /**
4
- *
5
- * @param {string} [value]
6
- */
7
- constructor(value?: string);
8
3
  /**
9
4
  *
10
5
  * @returns {string}
@@ -1 +1 @@
1
- {"version":3,"file":"Name.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/name/Name.js"],"names":[],"mappings":";AAEA;IACI;;;OAGG;IACH,oBAFW,MAAM,EAIhB;IAED;;;OAGG;IACH,sBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,+CAFa,MAAM,CAIlB;IAED,cAMC;CACJ;;;;2BAnC0B,uCAAuC"}
1
+ {"version":3,"file":"Name.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/name/Name.js"],"names":[],"mappings":";AAEA;IASI;;;OAGG;IACH,sBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,+CAFa,MAAM,CAIlB;IAED,cAMC;CACJ;;;;2BAnC0B,uCAAuC"}
@@ -1,56 +1,178 @@
1
- import Quaternion from "../../../core/geom/Quaternion";
2
- import Vector3 from "../../../core/geom/Vector3";
3
-
4
- export class Transform {
5
- readonly position: Vector3
6
- readonly rotation: Quaternion
7
- readonly scale: Vector3
8
-
9
- readonly forward: Readonly<Vector3>
10
- readonly up: Readonly<Vector3>
11
- readonly right: Readonly<Vector3>
12
-
13
- flags: number
14
-
15
- public readonly matrix: ArrayLike<number>
16
-
17
- public lookAt(target: Vector3, up?: Vector3): void
18
-
19
- static fromJSON(json: {
20
- position?: number | { x: number, y: number, z: number },
21
- scale?: number | { x: number, y: number, z: number },
22
- rotation?: { x: number, y: number, z: number, w: number },
23
- }): Transform
24
-
25
- fromJSON(json: {
26
- position?: number | { x: number, y: number, z: number },
27
- scale?: number | { x: number, y: number, z: number },
28
- rotation?: { x: number, y: number, z: number, w: number },
29
- }): void
30
-
31
- toJSON(): any
32
-
33
- copy(other: Transform): void
34
-
35
- clone(): Transform
36
-
37
- equals(other: Transform): boolean
38
-
39
- hash(): number
40
-
41
- toMatrix4(result: ArrayLike<number>): void
42
-
43
- fromMatrix4(matrix: ArrayLike<number>): void
44
-
45
- multiplyTransforms(a: Transform, b: Transform): void
46
-
47
- makeIdentity(): void
48
-
49
- setFlag(flag: number): void
50
-
51
- getFlag(flag: number): boolean
52
-
53
- clearFlag(flag: number): void
54
-
55
- writeFlag(flag: number, value: boolean): void
56
- }
1
+ /**
2
+ * Described position/rotation/scale in 3d space
3
+ * @class
4
+ */
5
+ export class Transform {
6
+ /**
7
+ *
8
+ * @param json
9
+ * @returns {Transform}
10
+ */
11
+ static fromJSON(json: any): Transform;
12
+ /**
13
+ *
14
+ * @param {number[]|Float32Array} mat
15
+ * @returns {Transform}
16
+ */
17
+ static fromMatrix(mat: number[] | Float32Array): Transform;
18
+ /**
19
+ * @deprecated use {@link Quaternion.rotateTowards} instead
20
+ * @param {Quaternion} sourceQuaternion
21
+ * @param {Vector3} targetVector
22
+ * @param {Number} limit
23
+ */
24
+ static adjustRotation(sourceQuaternion: Quaternion, targetVector: Vector3, limit?: number): void;
25
+ /**
26
+ * @type {Vector3}
27
+ * @readonly
28
+ */
29
+ readonly position: Vector3;
30
+ /**
31
+ * @type {Quaternion}
32
+ * @readonly
33
+ */
34
+ readonly rotation: Quaternion;
35
+ /**
36
+ * @type {Vector3}
37
+ * @readonly
38
+ */
39
+ readonly scale: Vector3;
40
+ /**
41
+ * transform matrix, position, rotation and scale must match, but shear can be different
42
+ * @readonly
43
+ * @type {Float32Array}
44
+ */
45
+ readonly matrix: Float32Array;
46
+ /**
47
+ * Various bit flags, see {@link TransformFlags}
48
+ * This should generally be accessed through getFlag/setFlag instead of modifying the value directly
49
+ * @type {number}
50
+ */
51
+ flags: number;
52
+ /**
53
+ * Current "forward" direction
54
+ * NOTE that this vector is not live, meaning that if you modify transform, previously-obtained result will no longer be valid
55
+ * @returns {Vector3}
56
+ */
57
+ get forward(): Vector3;
58
+ /**
59
+ * Current "up" direction
60
+ * @return {Vector3}
61
+ */
62
+ get up(): Vector3;
63
+ /**
64
+ * Current "right" direction
65
+ * @return {Vector3}
66
+ */
67
+ get right(): Vector3;
68
+ /**
69
+ * Attach change listener
70
+ * @param {function} handler
71
+ * @param {*} [thisArg]
72
+ */
73
+ subscribe(handler: Function, thisArg?: any): void;
74
+ /**
75
+ * Disconnect change listener
76
+ * @param {function} handler
77
+ * @param {*} [thisArg]
78
+ */
79
+ unsubscribe(handler: Function, thisArg?: any): void;
80
+ /**
81
+ *
82
+ * @param {number|TransformFlags} flag
83
+ * @returns {void}
84
+ */
85
+ setFlag(flag: number | TransformFlags): void;
86
+ /**
87
+ *
88
+ * @param {number|TransformFlags} flag
89
+ * @returns {void}
90
+ */
91
+ clearFlag(flag: number | TransformFlags): void;
92
+ /**
93
+ *
94
+ * @param {number|TransformFlags} flag
95
+ * @param {boolean} value
96
+ */
97
+ writeFlag(flag: number | TransformFlags, value: boolean): void;
98
+ /**
99
+ *
100
+ * @param {number|TransformFlags} flag
101
+ * @returns {boolean}
102
+ */
103
+ getFlag(flag: number | TransformFlags): boolean;
104
+ /**
105
+ * Update {@link matrix} attribute from current position/rotation/scale
106
+ */
107
+ updateMatrix(): void;
108
+ /**
109
+ *
110
+ * @param {Vector3} target
111
+ * @param {Vector3} [up]
112
+ */
113
+ lookAt(target: Vector3, up?: Vector3): void;
114
+ fromJSON(json: any): void;
115
+ toJSON(): {
116
+ position: any;
117
+ rotation: any;
118
+ scale: any;
119
+ };
120
+ /**
121
+ *
122
+ * @param {Transform} other
123
+ */
124
+ copy(other: Transform): void;
125
+ /**
126
+ *
127
+ * @returns {Transform}
128
+ */
129
+ clone(): Transform;
130
+ /**
131
+ *
132
+ * @param {Transform} other
133
+ * @returns {boolean}
134
+ */
135
+ equals(other: Transform): boolean;
136
+ /**
137
+ *
138
+ * @returns {number}
139
+ */
140
+ hash(): number;
141
+ /**
142
+ * Multiply two transforms, result it written into this one
143
+ * @param {Transform} a
144
+ * @param {Transform} b
145
+ */
146
+ multiplyTransforms(a: Transform, b: Transform): void;
147
+ /**
148
+ *
149
+ * @param {mat4|number[]|Float32Array} matrix
150
+ */
151
+ fromMatrix4(matrix: mat4 | number[] | Float32Array): void;
152
+ /**
153
+ * Write out the current transform to a supplied container
154
+ * @param {number[]|Float32Array} result
155
+ */
156
+ toMatrix4(result: number[] | Float32Array): void;
157
+ /**
158
+ * reset transform, resulting transform is an identity matrix
159
+ * - position: [0,0,0]
160
+ * - rotation: [0,0,0,1]
161
+ * - scale: [1,1,1]
162
+ */
163
+ makeIdentity(): void;
164
+ toString(): string;
165
+ /**
166
+ * @readonly
167
+ * @type {boolean}
168
+ */
169
+ readonly isTransform: boolean;
170
+ #private;
171
+ }
172
+ export namespace Transform {
173
+ let typeName: string;
174
+ }
175
+ import Vector3 from "../../../core/geom/Vector3.js";
176
+ import Quaternion from "../../../core/geom/Quaternion.js";
177
+ import { TransformFlags } from "./TransformFlags.js";
178
+ //# sourceMappingURL=Transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransformAttachment.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/transform-attachment/TransformAttachment.js"],"names":[],"mappings":";;;AAaA;IAEI;;;;OAIG;IACH,WAFU,SAAS,CAES;IAE5B;;;OAGG;IACH,QAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,OAFU,MAAM,CAEM;IAEtB,mBAEC;IAED;;;;MAMC;IAED;;;;aAQC;IAMD;;;OAGG;IACH,4BAEC;IAVD,yBAEC;IAUD;;;;OAIG;IACH,cAHW,MAAM;QAlEjB;;;WAGG;;KA+DuC,GAC7B,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;QA3EjB;;;WAGG;;KAwEuC,GAC7B,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;QApFjB;;;WAGG;;KAiFuC,SAC/B,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM;QAjGjB;;;WAGG;;KA8FuC,GAC7B,OAAO,CAInB;CAEJ;;;;0BA3GyB,2BAA2B"}
1
+ {"version":3,"file":"TransformAttachment.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/transform-attachment/TransformAttachment.js"],"names":[],"mappings":";;;AAaA;IAEI;;;;OAIG;IACH,WAFU,SAAS,CAES;IAE5B;;;OAGG;IACH,QAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,OAFU,MAAM,CAEM;IAEtB,mBAEC;IAED;;;;;;;;MAMC;IAED;;;;aAQC;IAMD;;;OAGG;IACH,4BAEC;IAVD,yBAEC;IAUD;;;;OAIG;IACH,cAHW,MAAM;QAlEjB;;;WAGG;;KA+DuC,GAC7B,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;QA3EjB;;;WAGG;;KAwEuC,GAC7B,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM;QApFjB;;;WAGG;;KAiFuC,SAC/B,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM;QAjGjB;;;WAGG;;KA8FuC,GAC7B,OAAO,CAInB;CAEJ;;;;0BA3GyB,2BAA2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Light.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/light/Light.js"],"names":[],"mappings":"AASA;IA+DI;;;;OAIG;IACH,yBAFa,KAAK,CAQjB;IApEG;;;OAGG;IACH,wBAA4D;IAE5D;;;OAGG;IACH,OAFU,KAAK,CAEgB;IAE/B;;;OAGG;IACH,WAFU,OAAO,CAEc;IAE/B;;;OAGG;IACH,OAFU,OAAO,CAEoB;IAErC;;;OAGG;IACH,UAFU,OAAO,CAEe;IAEhC;;;OAGG;IACH,UAFU,OAAO,CAE4B;IAE7C;;;OAGG;IACH,YAFU,eAAe,CAEmB;IAE5C;;;;OAIG;IACH,sBAAyB;IAEzB;;;;OAIG;IACH,mBAAsB;IAgB1B,0BAgDC;IAED;;;;;MAqBC;CACJ;;;;;yBA1JwB,wCAAwC;sBAH3C,iCAAiC;oBACnC,kCAAkC;4BAC1B,2CAA2C;0BAE7C,gBAAgB"}
1
+ {"version":3,"file":"Light.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/light/Light.js"],"names":[],"mappings":"AASA;IA+DI;;;;OAIG;IACH,yBAFa,KAAK,CAQjB;IApEG;;;OAGG;IACH,wBAA4D;IAE5D;;;OAGG;IACH,OAFU,KAAK,CAEgB;IAE/B;;;OAGG;IACH,WAFU,OAAO,CAEc;IAE/B;;;OAGG;IACH,OAFU,OAAO,CAEoB;IAErC;;;OAGG;IACH,UAFU,OAAO,CAEe;IAEhC;;;OAGG;IACH,UAFU,OAAO,CAE4B;IAE7C;;;OAGG;IACH,YAFU,eAAe,CAEmB;IAE5C;;;;OAIG;IACH,sBAAyB;IAEzB;;;;OAIG;IACH,mBAAsB;IAgB1B,0BAqDC;IAED;;;;;MAqBC;CACJ;;;;;yBA/JwB,wCAAwC;sBAH3C,iCAAiC;oBACnC,kCAAkC;4BAC1B,2CAA2C;0BAE7C,gBAAgB"}
@@ -88,11 +88,16 @@ export class Light {
88
88
  this.type.fromJSON(json.type);
89
89
  }
90
90
 
91
- if (json.color !== undefined) {
92
- if (typeof json.color === "string") {
93
- this.color.parse(json.color);
91
+ const j_color = json.color;
92
+
93
+ if (j_color !== undefined) {
94
+ const type = typeof j_color;
95
+ if (type === "string") {
96
+ this.color.parse(j_color);
97
+ } else if (type === "object") {
98
+ this.color.fromJSON(j_color);
94
99
  } else {
95
- this.color.fromUint(json.color);
100
+ this.color.fromUint(j_color);
96
101
  }
97
102
  } else {
98
103
  // default