@woosh/meep-engine 2.121.1 → 2.121.2

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/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.121.1",
8
+ "version": "2.121.2",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -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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"}
@@ -2,7 +2,6 @@ import { assert } from "../assert.js";
2
2
  import Signal from "../events/signal/Signal.js";
3
3
  import { EPSILON } from "../math/EPSILON.js";
4
4
  import { epsilonEquals } from "../math/epsilonEquals.js";
5
- import { lerp } from "../math/lerp.js";
6
5
  import { sign } from "../math/sign.js";
7
6
  import { computeHashFloat } from "../primitives/numbers/computeHashFloat.js";
8
7
  import { v3_angle_between } from "./vec3/v3_angle_between.js";
@@ -587,11 +586,7 @@ class Vector3 {
587
586
  * @returns {Vector3}
588
587
  */
589
588
  lerp(other, fraction) {
590
- const x = lerp(this.x, other.x, fraction);
591
- const y = lerp(this.y, other.y, fraction);
592
- const z = lerp(this.z, other.z, fraction);
593
-
594
- return this.set(x, y, z);
589
+ return this.lerpVectors(this, other, fraction);
595
590
  }
596
591
 
597
592
  /**
@@ -599,9 +594,22 @@ class Vector3 {
599
594
  * @param {Vector3} a
600
595
  * @param {Vector3} b
601
596
  * @param {number} fraction
597
+ * @returns {this}
602
598
  */
603
599
  lerpVectors(a, b, fraction) {
604
600
  v3_lerp(this, a.x, a.y, a.z, b.x, b.y, b.z, fraction);
601
+
602
+ return this;
603
+ }
604
+
605
+ /**
606
+ *
607
+ * @param {Vector3} other
608
+ * @param {number} fraction
609
+ * @return {this}
610
+ */
611
+ slerp(other, fraction) {
612
+ return this.slerpVectors(this, other, fraction);
605
613
  }
606
614
 
607
615
  /**
@@ -609,19 +617,13 @@ class Vector3 {
609
617
  * @param {Vector3} a
610
618
  * @param {Vector3} b
611
619
  * @param {number} fraction
620
+ * @returns {this}
612
621
  */
613
622
  slerpVectors(a, b, fraction) {
614
623
  v3_slerp(this, a.x, a.y, a.z, b.x, b.y, b.z, fraction);
624
+ return this;
615
625
  }
616
626
 
617
- /**
618
- *
619
- * @param {THREE.Matrix4} matrix4
620
- * @deprecated use {@link @applyMatrix4} directly instead, pass `mat.elements`
621
- */
622
- applyMatrix4_three(matrix4) {
623
- this.applyMatrix4(matrix4.elements);
624
- }
625
627
 
626
628
  /**
627
629
  *
@@ -665,31 +667,6 @@ class Vector3 {
665
667
  );
666
668
  }
667
669
 
668
- /**
669
- * @deprecated use non-three.js version instead
670
- * @param {THREE.Matrix4} m
671
- */
672
- transformDirection_three(m) {
673
-
674
- // input: THREE.Matrix4 affine matrix
675
- // vector interpreted as a direction
676
-
677
- const e = m.elements;
678
-
679
- this.applyDirectionMatrix4(e);
680
- }
681
-
682
- /**
683
- * @deprecated use non-three.js version instead
684
- * @param {THREE.Matrix3} m
685
- * @returns {Vector3}
686
- */
687
- applyMatrix3_three(m) {
688
- this.applyMatrix3(m.elements);
689
-
690
- return this;
691
- }
692
-
693
670
  /**
694
671
  *
695
672
  * @param {number[]|Float32Array} mat
@@ -706,13 +683,6 @@ class Vector3 {
706
683
  this.set(_x, _y, _z);
707
684
  }
708
685
 
709
- /**
710
- * @deprecated use non-three.js version instead
711
- * @param {THREE.Matrix4} matrix4
712
- */
713
- threejs_setFromMatrixPosition(matrix4) {
714
- this.setFromMatrixPosition(matrix4.elements);
715
- }
716
686
 
717
687
  /**
718
688
  *
@@ -867,7 +837,11 @@ class Vector3 {
867
837
  }
868
838
 
869
839
  toJSON() {
870
- return { x: this.x, y: this.y, z: this.z };
840
+ return {
841
+ x: this.x,
842
+ y: this.y,
843
+ z: this.z
844
+ };
871
845
  }
872
846
 
873
847
  /**
@@ -1018,6 +992,42 @@ class Vector3 {
1018
992
  static fromScalar(value) {
1019
993
  return new Vector3(value, value, value);
1020
994
  }
995
+
996
+
997
+ /**
998
+ *
999
+ * @param {THREE.Matrix4} matrix4
1000
+ * @deprecated use {@link @applyMatrix4} directly instead, pass `mat.elements`
1001
+ */
1002
+ applyMatrix4_three(matrix4) {
1003
+ throw new Error("use applyMatrix4 instead")
1004
+ }
1005
+
1006
+ /**
1007
+ * @deprecated use non-three.js version instead
1008
+ * @param {THREE.Matrix4} m
1009
+ */
1010
+ transformDirection_three(m) {
1011
+ throw new Error("use applyDirectionMatrix4 instead")
1012
+ }
1013
+
1014
+ /**
1015
+ * @deprecated use non-three.js version instead
1016
+ * @param {THREE.Matrix3} m
1017
+ * @returns {Vector3}
1018
+ */
1019
+ applyMatrix3_three(m) {
1020
+ throw new Error("use applyMatrix3 instead")
1021
+ }
1022
+
1023
+ /**
1024
+ * @deprecated use non-three.js version instead
1025
+ * @param {THREE.Matrix4} matrix4
1026
+ */
1027
+ threejs_setFromMatrixPosition(matrix4) {
1028
+ throw new Error("use setFromMatrixPosition instead")
1029
+ }
1030
+
1021
1031
  }
1022
1032
 
1023
1033
  // Aliases
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  *
3
- * @param {Vector3} result
3
+ * @param {Vector3|{set:function(x:number,y:number,z:number)}} result
4
4
  * @param {number} a_x
5
5
  * @param {number} a_y
6
6
  * @param {number} a_z
@@ -9,5 +9,5 @@
9
9
  * @param {number} b_z
10
10
  * @param {number} fraction
11
11
  */
12
- export function v3_lerp(result: Vector3, a_x: number, a_y: number, a_z: number, b_x: number, b_y: number, b_z: number, fraction: number): void;
12
+ export function v3_lerp(result: any, a_x: number, a_y: number, a_z: number, b_x: number, b_y: number, b_z: number, fraction: number): void;
13
13
  //# sourceMappingURL=v3_lerp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"v3_lerp.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/vec3/v3_lerp.js"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,gCATW,OAAO,OACP,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,YACN,MAAM,QAchB"}
1
+ {"version":3,"file":"v3_lerp.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/vec3/v3_lerp.js"],"names":[],"mappings":"AAGA;;;;;;;;;;GAUG;AACH,0CARW,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,YACN,MAAM,QAehB"}
@@ -1,8 +1,9 @@
1
+ import { assert } from "../../assert.js";
1
2
  import { lerp } from "../../math/lerp.js";
2
3
 
3
4
  /**
4
5
  *
5
- * @param {Vector3} result
6
+ * @param {Vector3|{set:function(x:number,y:number,z:number)}} result
6
7
  * @param {number} a_x
7
8
  * @param {number} a_y
8
9
  * @param {number} a_z
@@ -17,6 +18,7 @@ export function v3_lerp(
17
18
  b_x, b_y, b_z,
18
19
  fraction
19
20
  ) {
21
+ assert.isNumber(fraction, 'fraction');
20
22
 
21
23
  const x = lerp(a_x, b_x, fraction);
22
24
  const y = lerp(a_y, b_y, fraction);
@@ -1 +1 @@
1
- {"version":3,"file":"v3_slerp.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/vec3/v3_slerp.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,iCATW,OAAO,GAAC;IAAC,GAAG,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,OAAC;CAAC,OACzC,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,YACN,MAAM,QAkChB"}
1
+ {"version":3,"file":"v3_slerp.d.ts","sourceRoot":"","sources":["../../../../../src/core/geom/vec3/v3_slerp.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,iCATW,OAAO,GAAC;IAAC,GAAG,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAC,MAAM,OAAC;CAAC,OACzC,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,OACN,MAAM,YACN,MAAM,QAsChB"}
@@ -1,3 +1,4 @@
1
+ import { assert } from "../../assert.js";
1
2
  import { v3_dot } from "./v3_dot.js";
2
3
  import { v3_lerp } from "./v3_lerp.js";
3
4
 
@@ -20,6 +21,8 @@ export function v3_slerp(
20
21
  b_x, b_y, b_z,
21
22
  fraction
22
23
  ) {
24
+ assert.isNumber(fraction, 'fraction');
25
+
23
26
  const dot = v3_dot(
24
27
  a_x, a_y, a_z,
25
28
  b_x, b_y, b_z
@@ -38,6 +41,8 @@ export function v3_slerp(
38
41
 
39
42
  const inv_sin_theta = 1 / sin_theta;
40
43
 
44
+ // TODO check for sin_theta == 0 to avoid division by 0
45
+
41
46
  const scale_0 = Math.sin((1 - fraction) * theta) * inv_sin_theta;
42
47
  const scale_1 = Math.sin((fraction) * theta) * inv_sin_theta;
43
48
 
@@ -1 +1 @@
1
- {"version":3,"file":"position_box_next_to_box.d.ts","sourceRoot":"","sources":["../../../../../../src/core/graph/layout/box/position_box_next_to_box.js"],"names":[],"mappings":"AAyJA;;;;;;GAMG;AACH,8CALW,KAAK,UACL,KAAK,UACL,KAAK,GACH,KAAK,CAoCjB;kBAlMiB,gCAAgC"}
1
+ {"version":3,"file":"position_box_next_to_box.d.ts","sourceRoot":"","sources":["../../../../../../src/core/graph/layout/box/position_box_next_to_box.js"],"names":[],"mappings":"AA8JA;;;;;;GAMG;AACH,8CALW,KAAK,UACL,KAAK,UACL,KAAK,GACH,KAAK,CAsCjB;kBAzMiB,gCAAgC"}
@@ -12,7 +12,12 @@ import { resolveAABB2Overlap } from "./resolveAABB2Overlap.js";
12
12
  * @param {AABB2} bounds
13
13
  * @returns {Vector2}
14
14
  */
15
- function computeInitialPlacement(box, target, bounds) {
15
+ function compute_initial_placement(
16
+ box,
17
+ target,
18
+ bounds
19
+ ) {
20
+
16
21
  /**
17
22
  * list of preferred directions, ordered. First direction is higher priority than the next, last is lowest priority
18
23
  * @type {Vector2[]}
@@ -158,7 +163,12 @@ function computeInitialPlacement(box, target, bounds) {
158
163
  * @param {AABB2} bounds
159
164
  * @returns {AABB2} input {@link box} parameter
160
165
  */
161
- export function position_box_next_to_box(box, target, bounds) {
166
+ export function position_box_next_to_box(
167
+ box,
168
+ target,
169
+ bounds
170
+ ) {
171
+
162
172
  const b = box.clone();
163
173
  const t = target.clone();
164
174
 
@@ -170,13 +180,14 @@ export function position_box_next_to_box(box, target, bounds) {
170
180
 
171
181
  t.locked = true;
172
182
 
173
- const initialPosition = computeInitialPlacement(b, t, bounds);
183
+ const initialPosition = compute_initial_placement(b, t, bounds);
184
+
174
185
  //set bounds to initial position
175
186
  b.set(initialPosition.x, initialPosition.y, initialPosition.x + b.width, initialPosition.y + b.height);
176
187
 
177
188
  // touch();
178
189
 
179
- function step() {
190
+ for (let i = 0; i < 5; i++) {
180
191
  //pull
181
192
  pullBoxTowardsPoint(b, initialPosition.x + b.width / 2, initialPosition.y + b.height / 2, 0.1);
182
193
 
@@ -185,10 +196,6 @@ export function position_box_next_to_box(box, target, bounds) {
185
196
  forceIntoBox(bounds, [b]);
186
197
  }
187
198
 
188
- for (let i = 0; i < 5; i++) {
189
- step();
190
- }
191
-
192
199
  box.copy(b);
193
200
 
194
201
  return box;
@@ -2,7 +2,7 @@
2
2
  * Linear interpolation between two values controlled by a given fraction
3
3
  * @param {number} a
4
4
  * @param {number} b
5
- * @param {number} fraction Floating point value between 0 and 1
5
+ * @param {number} fraction value between 0 and 1
6
6
  * @return {number}
7
7
  */
8
8
  export function lerp(a: number, b: number, fraction: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"lerp.d.ts","sourceRoot":"","sources":["../../../../src/core/math/lerp.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBALW,MAAM,KACN,MAAM,YACN,MAAM,GACL,MAAM,CAIjB"}
1
+ {"version":3,"file":"lerp.d.ts","sourceRoot":"","sources":["../../../../src/core/math/lerp.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBALW,MAAM,KACN,MAAM,YACN,MAAM,GACL,MAAM,CAKjB"}
@@ -2,9 +2,10 @@
2
2
  * Linear interpolation between two values controlled by a given fraction
3
3
  * @param {number} a
4
4
  * @param {number} b
5
- * @param {number} fraction Floating point value between 0 and 1
5
+ * @param {number} fraction value between 0 and 1
6
6
  * @return {number}
7
7
  */
8
8
  export function lerp(a, b, fraction) {
9
- return (b - a) * fraction + a;
9
+ const span = b - a;
10
+ return span * fraction + a;
10
11
  }