@woosh/meep-engine 2.121.8 → 2.121.11

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 (41) hide show
  1. package/package.json +1 -1
  2. package/src/core/binary/to_half_float_uint16.d.ts +1 -2
  3. package/src/core/binary/to_half_float_uint16.d.ts.map +1 -1
  4. package/src/core/binary/to_half_float_uint16.js +1 -2
  5. package/src/core/geom/ConicRay.d.ts +8 -0
  6. package/src/core/geom/ConicRay.d.ts.map +1 -1
  7. package/src/core/geom/ConicRay.js +11 -0
  8. package/src/core/geom/Quaternion.d.ts.map +1 -1
  9. package/src/core/geom/Quaternion.js +102 -49
  10. package/src/core/geom/Vector1.d.ts.map +1 -1
  11. package/src/core/geom/Vector1.js +11 -8
  12. package/src/core/geom/Vector2.d.ts.map +1 -1
  13. package/src/core/geom/Vector2.js +89 -59
  14. package/src/core/geom/Vector3.d.ts.map +1 -1
  15. package/src/core/geom/Vector3.js +108 -68
  16. package/src/core/geom/Vector4.d.ts +230 -40
  17. package/src/core/geom/Vector4.d.ts.map +1 -1
  18. package/src/core/geom/Vector4.js +36 -1
  19. package/src/core/geom/packing/max-rect/cutArea.d.ts.map +1 -1
  20. package/src/core/geom/packing/max-rect/cutArea.js +7 -8
  21. package/src/core/geom/packing/miniball/Miniball.d.ts +188 -11
  22. package/src/core/geom/packing/miniball/PointSet.d.ts +46 -3
  23. package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
  24. package/src/core/geom/vec3/v3_slerp.js +2 -0
  25. package/src/core/math/EPSILON.d.ts.map +1 -1
  26. package/src/core/math/EPSILON.js +1 -1
  27. package/src/engine/ecs/EntityManager.d.ts +181 -35
  28. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  29. package/src/engine/ecs/EntityManager.js +11 -9
  30. package/src/engine/graphics/ecs/trail2d/Trail2D.d.ts +6 -1
  31. package/src/engine/graphics/ecs/trail2d/Trail2D.d.ts.map +1 -1
  32. package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere.d.ts +1 -1
  33. package/src/engine/graphics/impostors/octahedral/bake/compute_bounding_sphere.d.ts.map +1 -1
  34. package/src/engine/graphics/texture/sampler/sampler2d_to_f16.d.ts.map +1 -1
  35. package/src/generation/markers/transform/MarkerNodeTransformRotateRandom.js +1 -1
  36. package/editor/tools/GridPaintTool.d.ts +0 -17
  37. package/editor/tools/GridPaintTool.d.ts.map +0 -1
  38. package/editor/tools/SelectionTool.d.ts +0 -27
  39. package/editor/tools/SelectionTool.d.ts.map +0 -1
  40. package/editor/tools/TopDownCameraControlTool.d.ts +0 -13
  41. package/editor/tools/TopDownCameraControlTool.d.ts.map +0 -1
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.8",
8
+ "version": "2.121.11",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -1,6 +1,5 @@
1
1
  /**
2
- * Borrowed from three.js DataUtils
3
- * Converts float32 to float16 (stored as uint16 value).
2
+ * Converts float32 to float16 (encoded as uint16 value).
4
3
  * @param {number} val
5
4
  * @returns {number}
6
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"to_half_float_uint16.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/to_half_float_uint16.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,0CAHW,MAAM,GACJ,MAAM,CA2DlB"}
1
+ {"version":3,"file":"to_half_float_uint16.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/to_half_float_uint16.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,0CAHW,MAAM,GACJ,MAAM,CA2DlB"}
@@ -2,8 +2,7 @@ const _floatView = new Float32Array(1);
2
2
  const _int32View = new Int32Array(_floatView.buffer);
3
3
 
4
4
  /**
5
- * Borrowed from three.js DataUtils
6
- * Converts float32 to float16 (stored as uint16 value).
5
+ * Converts float32 to float16 (encoded as uint16 value).
7
6
  * @param {number} val
8
7
  * @returns {number}
9
8
  */
@@ -76,6 +76,14 @@ export class ConicRay {
76
76
  * @param {Vector3} result
77
77
  */
78
78
  sampleRandomDirection(random: Function, result: Vector3): void;
79
+ /**
80
+ * @readonly
81
+ * @type {boolean}
82
+ */
83
+ readonly isConicRay: boolean;
84
+ }
85
+ export namespace ConicRay {
86
+ let typeName: string;
79
87
  }
80
88
  import Vector3 from "./Vector3.js";
81
89
  //# sourceMappingURL=ConicRay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConicRay.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/ConicRay.js"],"names":[],"mappings":"AAQA;;;;GAIG;AACH;IAkLI;;;;;;;OAOG;IACH,sBANW,MAAM,KACN,MAAM,KACN,MAAM,cACN,MAAM,GACJ,QAAQ,CAkBpB;IAxMD;;;;OAIG;IACH,oBAFU,OAAO,CAEgB;IAEjC;;;;OAIG;IACH,OAFU,MAAM,CAEN;IAEV;;;MAKC;IAED,0BAGC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAKtB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAQtB;IAED;;;;OAIG;IACH,cAHW,QAAQ,GACN,OAAO,CAMnB;IAED;;;;;OAKG;IACH,qBAJW,QAAQ,cACR,MAAM,GACJ,OAAO,CAKnB;IAED;;;OAGG;IACH,QAFY,MAAM,CAOjB;IAED;;;OAGG;IACH,YAFW,QAAQ,QAKlB;IAED;;;;OAIG;IACH,4BAHW,OAAO,GACL,OAAO,CAMnB;IAED;;;;;OAKG;IACH,gDAFW,OAAO,QAsEjB;CA2BJ;oBAnNmB,cAAc"}
1
+ {"version":3,"file":"ConicRay.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/ConicRay.js"],"names":[],"mappings":"AAQA;;;;GAIG;AACH;IAkLI;;;;;;;OAOG;IACH,sBANW,MAAM,KACN,MAAM,KACN,MAAM,cACN,MAAM,GACJ,QAAQ,CAkBpB;IAxMD;;;;OAIG;IACH,oBAFU,OAAO,CAEgB;IAEjC;;;;OAIG;IACH,OAFU,MAAM,CAEN;IAEV;;;MAKC;IAED,0BAGC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAKtB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAQtB;IAED;;;;OAIG;IACH,cAHW,QAAQ,GACN,OAAO,CAMnB;IAED;;;;;OAKG;IACH,qBAJW,QAAQ,cACR,MAAM,GACJ,OAAO,CAKnB;IAED;;;OAGG;IACH,QAFY,MAAM,CAOjB;IAED;;;OAGG;IACH,YAFW,QAAQ,QAKlB;IAED;;;;OAIG;IACH,4BAHW,OAAO,GACL,OAAO,CAMnB;IAED;;;;;OAKG;IACH,gDAFW,OAAO,QAsEjB;IA6BL;;;OAGG;IACH,qBAFU,OAAO,CAEY;CAN5B;;kBAUS,MAAM;;oBA7NI,cAAc"}
@@ -216,3 +216,14 @@ export class ConicRay {
216
216
  }
217
217
  }
218
218
 
219
+ /**
220
+ * @readonly
221
+ * @type {boolean}
222
+ */
223
+ ConicRay.prototype.isConicRay = true;
224
+
225
+ /**
226
+ * @readonly
227
+ * @type {string}
228
+ */
229
+ ConicRay.typeName = "ConicRay";
@@ -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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"}
@@ -6,8 +6,6 @@ import { EPSILON } from "../math/EPSILON.js";
6
6
  import { epsilonEquals } from "../math/epsilonEquals.js";
7
7
  import { lerp } from "../math/lerp.js";
8
8
  import { computeHashFloat } from "../primitives/numbers/computeHashFloat.js";
9
- import { quat_decode_from_uint32 } from "./3d/quaternion/quat_decode_from_uint32.js";
10
- import { quat_encode_to_uint32 } from "./3d/quaternion/quat_encode_to_uint32.js";
11
9
  import { v3_dot } from "./vec3/v3_dot.js";
12
10
  import { v4_length } from "./vec4/v4_length.js";
13
11
  import Vector3 from "./Vector3.js";
@@ -22,8 +20,10 @@ const cos = Math.cos;
22
20
  /**
23
21
  * Rotation representation in 3d space
24
22
  * @see https://en.wikipedia.org/wiki/Quaternion
23
+ * @copyright "Company Named Limited" (c) 2025
24
+ * @author Alexander Goldring
25
25
  */
26
- class Quaternion {
26
+ export class Quaternion {
27
27
  /**
28
28
  *
29
29
  * @param {number} [x=0]
@@ -33,6 +33,10 @@ class Quaternion {
33
33
  * @constructor
34
34
  */
35
35
  constructor(x = 0, y = 0, z = 0, w = 1) {
36
+ assert.isNumber(x, 'x');
37
+ assert.isNumber(y, 'y');
38
+ assert.isNumber(z, 'z');
39
+ assert.isNumber(w, 'w');
36
40
 
37
41
  /**
38
42
  *
@@ -56,6 +60,9 @@ class Quaternion {
56
60
  this.w = w;
57
61
 
58
62
  /**
63
+ * Fired when value of the quaternion changes
64
+ * Signature of the signal data is as follows:
65
+ * (new_x, new_y, new_z, new_w, old_x, old_y, old_z, old_w)
59
66
  * @readonly
60
67
  * @type {Signal<number, number, number, number, number, number, number, number>}
61
68
  */
@@ -110,7 +117,8 @@ class Quaternion {
110
117
 
111
118
 
112
119
  /**
113
- *
120
+ * Orient quaternion on a `forward` vector, with the spin matching `up` vector
121
+ * Useful for `lookAt` operations, such as for camera or inverse kinematics
114
122
  * @param {number} fx forward vector
115
123
  * @param {number} fy forward vector
116
124
  * @param {number} fz forward vector
@@ -118,7 +126,11 @@ class Quaternion {
118
126
  * @param {number} uy up vector
119
127
  * @param {number} uz up vector
120
128
  */
121
- _lookRotation(fx, fy, fz, ux, uy, uz) {
129
+ _lookRotation(
130
+ fx, fy, fz,
131
+ ux, uy, uz
132
+ ) {
133
+
122
134
  scratch_v3_a.set(fx, fy, fz);
123
135
  scratch_v3_a.normalize();
124
136
 
@@ -169,17 +181,20 @@ class Quaternion {
169
181
 
170
182
  /**
171
183
  *
172
- * @param {Vector3} vForward
173
- * @param {Vector3} [vUp=Vector3.up]
174
- *
184
+ * @param {Vector3} forward
185
+ * @param {Vector3} [up=Vector3.up]
175
186
  */
176
- lookRotation(vForward, vUp = Vector3.up) {
187
+ lookRotation(forward, up = Vector3.up) {
188
+
189
+ this._lookRotation(
190
+ forward.x, forward.y, forward.z,
191
+ up.x, up.y, up.z
192
+ );
177
193
 
178
- this._lookRotation(vForward.x, vForward.y, vForward.z, vUp.x, vUp.y, vUp.z);
179
194
  }
180
195
 
181
196
  /**
182
- *
197
+ * Vector dot product in 4 dimensions
183
198
  * @param {Quaternion} other
184
199
  * @return {number}
185
200
  */
@@ -272,7 +287,7 @@ class Quaternion {
272
287
  * @param {number} angle
273
288
  */
274
289
  fromAxisAngle(axis, angle) {
275
- assert.defined(axis,'axis');
290
+ assert.defined(axis, 'axis');
276
291
 
277
292
  this._fromAxisAngle(axis.x, axis.y, axis.z, angle);
278
293
  }
@@ -520,15 +535,13 @@ class Quaternion {
520
535
  }
521
536
 
522
537
  /**
523
- *
538
+ * @deprecated use {@link random} instead
524
539
  * @param {function():number} random
525
540
  */
526
541
  setRandom(random) {
527
- assert.isFunction(random,'random');
542
+ assert.isFunction(random, 'random');
528
543
 
529
- this.set(random(), random(), random(), random());
530
-
531
- return this.normalize();
544
+ return this.random(random);
532
545
  }
533
546
 
534
547
  /**
@@ -539,7 +552,12 @@ class Quaternion {
539
552
  * @param {String} [order] a combination of capital letters X,Y,Z. Examples: XYZ, YXZ
540
553
  * @returns {Quaternion}
541
554
  */
542
- __setFromEuler(x, y, z, order = 'XYZ') {
555
+ __setFromEuler(
556
+ x,
557
+ y,
558
+ z,
559
+ order = 'XYZ'
560
+ ) {
543
561
 
544
562
  // http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
545
563
 
@@ -701,7 +719,7 @@ class Quaternion {
701
719
  }
702
720
 
703
721
  /**
704
- * XYZ order
722
+ * YXZ order
705
723
  * @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
706
724
  * @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
707
725
  * @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
@@ -732,7 +750,7 @@ class Quaternion {
732
750
  }
733
751
 
734
752
  /**
735
- * XYZ order
753
+ * ZXY order
736
754
  * @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
737
755
  * @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
738
756
  * @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
@@ -763,7 +781,7 @@ class Quaternion {
763
781
  }
764
782
 
765
783
  /**
766
- * XYZ order
784
+ * ZYX order
767
785
  * @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
768
786
  * @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
769
787
  * @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
@@ -794,7 +812,7 @@ class Quaternion {
794
812
  }
795
813
 
796
814
  /**
797
- * XYZ order
815
+ * YZX order
798
816
  * @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
799
817
  * @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
800
818
  * @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
@@ -825,7 +843,7 @@ class Quaternion {
825
843
  }
826
844
 
827
845
  /**
828
- * XYZ order
846
+ * XZY order
829
847
  * @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
830
848
  * @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
831
849
  * @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
@@ -857,12 +875,14 @@ class Quaternion {
857
875
 
858
876
  /**
859
877
  * NOTE: Vectors need to be normalized
860
- * Based on blog post: http://lolengine.net/blog/2013/09/18/beautiful-maths-quaternion-from-vectors
878
+ *
861
879
  * @param {Vector3} from
862
880
  * @param {Vector3} to
863
881
  * @returns {this}
864
882
  */
865
883
  fromUnitVectors(from, to) {
884
+ // Based on blog post: http://lolengine.net/blog/2013/09/18/beautiful-maths-quaternion-from-vectors
885
+
866
886
  assert.ok(from.isNormalized(), `from vector is not normalized, length = ${from.length()}`);
867
887
  assert.ok(to.isNormalized(), `to vector is not normalized, length = ${to.length()}`);
868
888
 
@@ -894,14 +914,13 @@ class Quaternion {
894
914
 
895
915
  scratch_v3_a.normalize();
896
916
 
897
- this.set(
917
+ return this.set(
898
918
  scratch_v3_a.x,
899
919
  scratch_v3_a.y,
900
920
  scratch_v3_a.z,
901
921
  0
902
922
  );
903
923
 
904
- return;
905
924
  }
906
925
 
907
926
  const m = Math.sqrt(2 + 2 * uv_dot);
@@ -1067,7 +1086,7 @@ class Quaternion {
1067
1086
  const w = lerp(first.w, second.w, t);
1068
1087
 
1069
1088
 
1070
- return this.set(x, y, z, w);
1089
+ return this.set(x, y, z, w);
1071
1090
  }
1072
1091
 
1073
1092
  /**
@@ -1079,6 +1098,7 @@ class Quaternion {
1079
1098
  */
1080
1099
  slerpQuaternions(from, to, t) {
1081
1100
  assert.isNumber(t, 't');
1101
+ assert.notNaN(t, 't');
1082
1102
 
1083
1103
  // see https://github.com/glampert/vectormath/blob/7105ef341303fe83b3dacd6883d9333989126069/scalar/quaternion.hpp#L90
1084
1104
 
@@ -1092,10 +1112,9 @@ class Quaternion {
1092
1112
  bz = to.z,
1093
1113
  bw = to.w;
1094
1114
 
1095
- let cos_angle, scale0, scale1;
1096
1115
 
1097
- // calc cosine
1098
- cos_angle = ax * bx + ay * by + az * bz + aw * bw;
1116
+ // calc cosine ( dot product )
1117
+ let cos_angle = ax * bx + ay * by + az * bz + aw * bw;
1099
1118
 
1100
1119
  // adjust signs (if necessary)
1101
1120
  if (cos_angle < 0.0) {
@@ -1106,6 +1125,8 @@ class Quaternion {
1106
1125
  bw = -bw;
1107
1126
  }
1108
1127
 
1128
+ let scale0, scale1;
1129
+
1109
1130
  // calculate coefficients
1110
1131
  if ((1.0 - cos_angle) > EPSILON) {
1111
1132
  // standard case (slerp)
@@ -1137,19 +1158,26 @@ class Quaternion {
1137
1158
  * @see https://github.com/toji/gl-matrix/blob/master/src/gl-matrix/quat.js
1138
1159
  * @param {Quaternion} other
1139
1160
  * @param {number} t
1161
+ * @returns {this}
1140
1162
  */
1141
1163
  slerp(other, t) {
1142
- this.slerpQuaternions(this, other, t);
1164
+ return this.slerpQuaternions(this, other, t);
1143
1165
  }
1144
1166
 
1145
1167
  /**
1146
1168
  *
1147
1169
  * @param {function(x:number,y:number,z:number,w:number)} handler
1170
+ * @param {*} [thisArg]
1171
+ * @returns {this}
1148
1172
  */
1149
- process(handler) {
1150
- handler(this.x, this.y, this.z, this.w);
1173
+ process(handler, thisArg) {
1174
+ assert.isFunction(handler, 'handler');
1151
1175
 
1152
- this.onChanged.add(handler);
1176
+ handler.call(thisArg, this.x, this.y, this.z, this.w);
1177
+
1178
+ this.onChanged.add(handler, thisArg);
1179
+
1180
+ return this;
1153
1181
  }
1154
1182
 
1155
1183
  /**
@@ -1174,7 +1202,8 @@ class Quaternion {
1174
1202
  }
1175
1203
 
1176
1204
  /**
1177
- *
1205
+ * Set current value of the quaternion
1206
+ * You *MUST* use this method in order for {@link Quaternion#onChanged} signal to be fired
1178
1207
  * @param {number} x
1179
1208
  * @param {number} y
1180
1209
  * @param {number} z
@@ -1287,7 +1316,7 @@ class Quaternion {
1287
1316
  * @param {number} value
1288
1317
  */
1289
1318
  decodeFromUint32(value) {
1290
- quat_decode_from_uint32(this, 0, value);
1319
+ throw new Error('deprecated, use `quat_decode_from_uint32` instead');
1291
1320
  }
1292
1321
 
1293
1322
  /**
@@ -1296,7 +1325,7 @@ class Quaternion {
1296
1325
  * @returns {number}
1297
1326
  */
1298
1327
  encodeToUint32() {
1299
- return quat_encode_to_uint32(this.x, this.y, this.z, this.w);
1328
+ throw new Error('deprecated, use `quat_encode_to_uint32` instead');
1300
1329
  }
1301
1330
 
1302
1331
  /**
@@ -1343,7 +1372,7 @@ class Quaternion {
1343
1372
 
1344
1373
  /**
1345
1374
  *
1346
- * @returns {number}
1375
+ * @returns {number} integer hash
1347
1376
  */
1348
1377
  hash() {
1349
1378
  // fast and dumb hash, just spread bits a bit and XOR them
@@ -1354,7 +1383,7 @@ class Quaternion {
1354
1383
  }
1355
1384
 
1356
1385
  /**
1357
- *
1386
+ * Check for approximate equality between two quaternions
1358
1387
  * @param {Quaternion} other
1359
1388
  * @param {number} [tolerance]
1360
1389
  * @return {boolean}
@@ -1371,7 +1400,6 @@ class Quaternion {
1371
1400
  * @param {number} w
1372
1401
  * @param {number} [tolerance]
1373
1402
  * @return {boolean}
1374
- * @private
1375
1403
  */
1376
1404
  _roughlyEquals(x, y, z, w, tolerance = EPSILON) {
1377
1405
  return epsilonEquals(this.x, x, tolerance)
@@ -1381,19 +1409,26 @@ class Quaternion {
1381
1409
  }
1382
1410
 
1383
1411
  /**
1384
- * Based on http://planning.cs.uiuc.edu/node198.html
1385
- * @param {function():number} [random]
1412
+ * Randomly orient current quaternion
1413
+ * @param {function():number} [random] Defaults to {@link Math.random}
1386
1414
  * @return {Quaternion}
1387
1415
  */
1388
1416
  random(random = Math.random) {
1417
+ assert.isFunction(random, 'random');
1418
+
1419
+ // Based on http://planning.cs.uiuc.edu/node198.html
1389
1420
  const u1 = random();
1390
1421
 
1422
+ assert.isNumber(u1, 'u1'); // validating random roll
1423
+
1391
1424
  const sqrt1u1 = Math.sqrt(1 - u1);
1392
1425
  const sqrtu1 = Math.sqrt(u1);
1393
1426
 
1394
- const u2 = 2 * Math.PI * random();
1427
+ const PI2 = 2 * Math.PI;
1395
1428
 
1396
- const u3 = 2 * Math.PI * random();
1429
+ const u2 = PI2 * random();
1430
+
1431
+ const u3 = PI2 * random();
1397
1432
 
1398
1433
  return this.set(
1399
1434
  sqrt1u1 * cos(u2),
@@ -1408,8 +1443,8 @@ class Quaternion {
1408
1443
  }
1409
1444
 
1410
1445
  /**
1411
- *
1412
- * @param {function} random random number generator function
1446
+ * Create a randomly oriented quaternion
1447
+ * @param {function} [random] random number generator function
1413
1448
  * @returns {Quaternion}
1414
1449
  */
1415
1450
  static random(random = Math.random) {
@@ -1421,7 +1456,8 @@ class Quaternion {
1421
1456
  }
1422
1457
 
1423
1458
  /**
1424
- *
1459
+ * Convenience constructor
1460
+ * Used XYZ angle order (see {@link fromEulerAnglesXYZ})
1425
1461
  * @param {number} x in radians
1426
1462
  * @param {number} y in radians
1427
1463
  * @param {number} z in radians
@@ -1442,14 +1478,19 @@ class Quaternion {
1442
1478
  * @param {Quaternion} to
1443
1479
  * @param {number} max_delta in radians
1444
1480
  */
1445
- static rotateTowards(result, from, to, max_delta) {
1481
+ static rotateTowards(
1482
+ result,
1483
+ from,
1484
+ to,
1485
+ max_delta
1486
+ ) {
1446
1487
  assert.isNumber(max_delta, 'max_delta');
1447
1488
  assert.notNaN(max_delta, 'max_delta');
1448
1489
 
1449
1490
  const angle = from.angleTo(to);
1450
1491
 
1451
1492
  if (angle === 0) {
1452
- // we're already where we need tobe. Also - avoid division by 0
1493
+ // we're already where we need to be. Also - avoid division by 0
1453
1494
  result.copy(to);
1454
1495
  } else {
1455
1496
  // clamp to 1, to make sure we don't overshoot
@@ -1472,5 +1513,17 @@ Quaternion.prototype.fromEulerAngles = Quaternion.prototype.fromEulerAnglesXYZ;
1472
1513
  */
1473
1514
  Quaternion.identity = Object.freeze(new Quaternion(0, 0, 0, 1));
1474
1515
 
1516
+ /**
1517
+ * Shortcut for type checking
1518
+ * @readonly
1519
+ * @type {boolean}
1520
+ */
1521
+ Quaternion.prototype.isQuaternion = true;
1522
+
1523
+ /**
1524
+ * @readonly
1525
+ * @type {string}
1526
+ */
1527
+ Quaternion.typeName = 'Quaternion';
1475
1528
 
1476
1529
  export default Quaternion;
@@ -1 +1 @@
1
- {"version":3,"file":"Vector1.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector1.js"],"names":[],"mappings":";AAWA;IA4QI;;;;;OAKG;IACH,kBAJW,OAAO,KACP,OAAO,GACN,MAAM,CAIjB;IAnRD;;;;;;OAMG;IACH,gBALW,MAAM,EAchB;IAHG,UAAU;IAEV,0DAA6B;IAWjC;;;OAGG;IACH,YAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAHW,OAAO,GACL,MAAM,CAIlB;IAED;;;;OAIG;IACH,OAHW,MAAM,GACJ,OAAO,CAgBnB;IAED;;;OAGG;IACH,aAFW,MAAM,QAOhB;IAED;;;OAGG;IACH,UAFY,OAAO,CAIlB;IAED;;;OAGG;IACH,kBAEC;IAED;;;OAGG;IACH,kBAEC;IAED;;;;OAIG;IACH,iBAFY,OAAO,CAIlB;IAED;;;OAGG;IACH,WAFW,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,OAAO,WAKzC;IAED;;;;OAIG;IACH,iBAFY,OAAO,CAIlB;IAED;;;;OAIG;IACH,WAHW,OAAO,GACL,OAAO,CAInB;IAED;;;;OAIG;IACH,gBAHW,OAAO,GACL,OAAO,CAInB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAIhB;IAED;;;;;OAKG;IACH,WAJW,MAAM,QACN,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,eAEC;IAED;;;OAGG;IACH,YAFW,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,OAAO,QAIzC;IAED;;;OAGG;IACH,SAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,cAHW,OAAO,GACL,OAAO,CAInB;IAED;;OAEG;IACH,QAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,4BAGC;IAED,iBAEC;IAED,yBAEC;IAED;;;;OAIG;IACH,qBAHW,MAAM,EAAE,WACR,MAAM,QAIhB;IAED;;;;OAIG;IACH,oBAHW,MAAM,EAAE,WACR,MAAM,QAIhB;IAED,oBAEC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAItB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAMtB;IAkBD,iBAEC;IAND,gBAEC;IAaL;;;OAGG;IACH,oBAFU,OAAO,CAEU;IAXvB,sDAIC;CACJ;;;cAaS,OAAO;aAOP,OAAO;;mBA9TE,4BAA4B"}
1
+ {"version":3,"file":"Vector1.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector1.js"],"names":[],"mappings":"AAKA;;;GAGG;AACH;IA4QI;;;;;OAKG;IACH,kBAJW,OAAO,KACP,OAAO,GACN,MAAM,CAIjB;IAnRD;;;;;;OAMG;IACH,gBALW,MAAM,EAchB;IAHG,UAAU;IAEV,0DAA6B;IAWjC;;;OAGG;IACH,YAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAHW,OAAO,GACL,MAAM,CAIlB;IAED;;;;OAIG;IACH,OAHW,MAAM,GACJ,OAAO,CAgBnB;IAED;;;OAGG;IACH,aAFW,MAAM,QAOhB;IAED;;;OAGG;IACH,UAFY,OAAO,CAIlB;IAED;;;OAGG;IACH,kBAEC;IAED;;;OAGG;IACH,kBAEC;IAED;;;;OAIG;IACH,iBAFY,OAAO,CAIlB;IAED;;;OAGG;IACH,WAFW,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,OAAO,WAKzC;IAED;;;;OAIG;IACH,iBAFY,OAAO,CAIlB;IAED;;;;OAIG;IACH,WAHW,OAAO,GACL,OAAO,CAInB;IAED;;;;OAIG;IACH,gBAHW,OAAO,GACL,OAAO,CAInB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAIhB;IAED;;;;;OAKG;IACH,WAJW,MAAM,QACN,MAAM,GACJ,OAAO,CAInB;IAED;;;OAGG;IACH,eAEC;IAED;;;OAGG;IACH,YAFW,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,OAAO,QAIzC;IAED;;;OAGG;IACH,SAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,cAHW,OAAO,GACL,OAAO,CAInB;IAED;;OAEG;IACH,QAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,4BAGC;IAED,iBAEC;IAED,yBAEC;IAED;;;;OAIG;IACH,qBAHW,MAAM,EAAE,WACR,MAAM,QAIhB;IAED;;;;OAIG;IACH,oBAHW,MAAM,EAAE,WACR,MAAM,QAIhB;IAED,oBAEC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAItB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAMtB;IAkBD,iBAEC;IAND,gBAEC;IAaL;;;OAGG;IACH,oBAFU,OAAO,CAEU;IAXvB,sDAIC;CACJ;;kBAUS,MAAM;cAON,OAAO;aAOP,OAAO;;;mBArUE,4BAA4B"}
@@ -1,15 +1,13 @@
1
- /**
2
- * @author Alex Goldring
3
- * @copyright Alex Goldring 2018
4
- */
5
-
6
1
  import { assert } from "../assert.js";
7
2
  import Signal from "../events/signal/Signal.js";
8
3
  import { clamp } from "../math/clamp.js";
9
4
  import { computeHashFloat } from "../primitives/numbers/computeHashFloat.js";
10
5
 
11
-
12
- class Vector1 extends Number {
6
+ /**
7
+ * @author Alex Goldring
8
+ * @copyright Alex Goldring 2018
9
+ */
10
+ export class Vector1 extends Number {
13
11
  /**
14
12
  *
15
13
  * @param {number} [x=0]
@@ -131,7 +129,7 @@ class Vector1 extends Number {
131
129
  * @param {Vector1|Vector2|Vector3|Vector4} other
132
130
  */
133
131
  add(other) {
134
- assert.isObject(other,"other");
132
+ assert.isObject(other, "other");
135
133
  return this._add(other.x);
136
134
  }
137
135
 
@@ -310,6 +308,10 @@ class Vector1 extends Number {
310
308
  */
311
309
  Vector1.prototype.isVector1 = true;
312
310
 
311
+ /**
312
+ * @readonly
313
+ * @type {string}
314
+ */
313
315
  Vector1.typeName = "Vector1";
314
316
 
315
317
  /**
@@ -326,4 +328,5 @@ Vector1.zero = Object.freeze(new Vector1(0));
326
328
  */
327
329
  Vector1.one = Object.freeze(new Vector1(1));
328
330
 
331
+
329
332
  export default Vector1;
@@ -1 +1 @@
1
- {"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector2.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector2.js"],"names":[],"mappings":"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"}