@woosh/meep-engine 2.121.8 → 2.121.9
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 +1 -1
- package/src/core/geom/ConicRay.d.ts +8 -0
- package/src/core/geom/ConicRay.d.ts.map +1 -1
- package/src/core/geom/ConicRay.js +11 -0
- package/src/core/geom/Quaternion.d.ts.map +1 -1
- package/src/core/geom/Quaternion.js +66 -28
- package/src/core/geom/Vector1.d.ts.map +1 -1
- package/src/core/geom/Vector1.js +11 -8
- package/src/core/geom/Vector2.d.ts.map +1 -1
- package/src/core/geom/Vector2.js +18 -14
- package/src/core/geom/Vector3.d.ts.map +1 -1
- package/src/core/geom/Vector3.js +1 -1
- package/src/core/geom/Vector4.d.ts.map +1 -1
- package/src/core/geom/Vector4.js +12 -1
- package/src/engine/ecs/EntityManager.d.ts +181 -35
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +11 -9
- package/src/engine/graphics/texture/sampler/sampler2d_to_f16.d.ts.map +1 -1
package/package.json
CHANGED
|
@@ -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;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Quaternion.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Quaternion.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Quaternion.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Quaternion.js"],"names":[],"mappings":"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"}
|
|
@@ -22,8 +22,10 @@ const cos = Math.cos;
|
|
|
22
22
|
/**
|
|
23
23
|
* Rotation representation in 3d space
|
|
24
24
|
* @see https://en.wikipedia.org/wiki/Quaternion
|
|
25
|
+
* @copyright "Company Named Limited" (c) 2025
|
|
26
|
+
* @author Alexander Goldring
|
|
25
27
|
*/
|
|
26
|
-
class Quaternion {
|
|
28
|
+
export class Quaternion {
|
|
27
29
|
/**
|
|
28
30
|
*
|
|
29
31
|
* @param {number} [x=0]
|
|
@@ -33,6 +35,10 @@ class Quaternion {
|
|
|
33
35
|
* @constructor
|
|
34
36
|
*/
|
|
35
37
|
constructor(x = 0, y = 0, z = 0, w = 1) {
|
|
38
|
+
assert.isNumber(x, 'x');
|
|
39
|
+
assert.isNumber(y, 'y');
|
|
40
|
+
assert.isNumber(z, 'z');
|
|
41
|
+
assert.isNumber(w, 'w');
|
|
36
42
|
|
|
37
43
|
/**
|
|
38
44
|
*
|
|
@@ -56,6 +62,9 @@ class Quaternion {
|
|
|
56
62
|
this.w = w;
|
|
57
63
|
|
|
58
64
|
/**
|
|
65
|
+
* Fired when value of the quaternion changes
|
|
66
|
+
* Signature of the signal data is as follows:
|
|
67
|
+
* (new_x, new_y, new_z, new_w, old_x, old_y, old_z, old_w)
|
|
59
68
|
* @readonly
|
|
60
69
|
* @type {Signal<number, number, number, number, number, number, number, number>}
|
|
61
70
|
*/
|
|
@@ -110,7 +119,8 @@ class Quaternion {
|
|
|
110
119
|
|
|
111
120
|
|
|
112
121
|
/**
|
|
113
|
-
*
|
|
122
|
+
* Orient quaternion on a `forward` vector, with the spin matching `up` vector
|
|
123
|
+
* Useful for `lookAt` operations, such as for camera or inverse kinematics
|
|
114
124
|
* @param {number} fx forward vector
|
|
115
125
|
* @param {number} fy forward vector
|
|
116
126
|
* @param {number} fz forward vector
|
|
@@ -118,7 +128,11 @@ class Quaternion {
|
|
|
118
128
|
* @param {number} uy up vector
|
|
119
129
|
* @param {number} uz up vector
|
|
120
130
|
*/
|
|
121
|
-
_lookRotation(
|
|
131
|
+
_lookRotation(
|
|
132
|
+
fx, fy, fz,
|
|
133
|
+
ux, uy, uz
|
|
134
|
+
) {
|
|
135
|
+
|
|
122
136
|
scratch_v3_a.set(fx, fy, fz);
|
|
123
137
|
scratch_v3_a.normalize();
|
|
124
138
|
|
|
@@ -169,17 +183,20 @@ class Quaternion {
|
|
|
169
183
|
|
|
170
184
|
/**
|
|
171
185
|
*
|
|
172
|
-
* @param {Vector3}
|
|
173
|
-
* @param {Vector3} [
|
|
174
|
-
*
|
|
186
|
+
* @param {Vector3} forward
|
|
187
|
+
* @param {Vector3} [up=Vector3.up]
|
|
175
188
|
*/
|
|
176
|
-
lookRotation(
|
|
189
|
+
lookRotation(forward, up = Vector3.up) {
|
|
190
|
+
|
|
191
|
+
this._lookRotation(
|
|
192
|
+
forward.x, forward.y, forward.z,
|
|
193
|
+
up.x, up.y, up.z
|
|
194
|
+
);
|
|
177
195
|
|
|
178
|
-
this._lookRotation(vForward.x, vForward.y, vForward.z, vUp.x, vUp.y, vUp.z);
|
|
179
196
|
}
|
|
180
197
|
|
|
181
198
|
/**
|
|
182
|
-
*
|
|
199
|
+
* Vector dot product in 4 dimensions
|
|
183
200
|
* @param {Quaternion} other
|
|
184
201
|
* @return {number}
|
|
185
202
|
*/
|
|
@@ -272,7 +289,7 @@ class Quaternion {
|
|
|
272
289
|
* @param {number} angle
|
|
273
290
|
*/
|
|
274
291
|
fromAxisAngle(axis, angle) {
|
|
275
|
-
assert.defined(axis,'axis');
|
|
292
|
+
assert.defined(axis, 'axis');
|
|
276
293
|
|
|
277
294
|
this._fromAxisAngle(axis.x, axis.y, axis.z, angle);
|
|
278
295
|
}
|
|
@@ -524,7 +541,7 @@ class Quaternion {
|
|
|
524
541
|
* @param {function():number} random
|
|
525
542
|
*/
|
|
526
543
|
setRandom(random) {
|
|
527
|
-
assert.isFunction(random,'random');
|
|
544
|
+
assert.isFunction(random, 'random');
|
|
528
545
|
|
|
529
546
|
this.set(random(), random(), random(), random());
|
|
530
547
|
|
|
@@ -539,7 +556,12 @@ class Quaternion {
|
|
|
539
556
|
* @param {String} [order] a combination of capital letters X,Y,Z. Examples: XYZ, YXZ
|
|
540
557
|
* @returns {Quaternion}
|
|
541
558
|
*/
|
|
542
|
-
__setFromEuler(
|
|
559
|
+
__setFromEuler(
|
|
560
|
+
x,
|
|
561
|
+
y,
|
|
562
|
+
z,
|
|
563
|
+
order = 'XYZ'
|
|
564
|
+
) {
|
|
543
565
|
|
|
544
566
|
// http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
545
567
|
|
|
@@ -701,7 +723,7 @@ class Quaternion {
|
|
|
701
723
|
}
|
|
702
724
|
|
|
703
725
|
/**
|
|
704
|
-
*
|
|
726
|
+
* YXZ order
|
|
705
727
|
* @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
|
|
706
728
|
* @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
707
729
|
* @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
|
|
@@ -732,7 +754,7 @@ class Quaternion {
|
|
|
732
754
|
}
|
|
733
755
|
|
|
734
756
|
/**
|
|
735
|
-
*
|
|
757
|
+
* ZXY order
|
|
736
758
|
* @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
|
|
737
759
|
* @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
738
760
|
* @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
|
|
@@ -763,7 +785,7 @@ class Quaternion {
|
|
|
763
785
|
}
|
|
764
786
|
|
|
765
787
|
/**
|
|
766
|
-
*
|
|
788
|
+
* ZYX order
|
|
767
789
|
* @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
|
|
768
790
|
* @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
769
791
|
* @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
|
|
@@ -794,7 +816,7 @@ class Quaternion {
|
|
|
794
816
|
}
|
|
795
817
|
|
|
796
818
|
/**
|
|
797
|
-
*
|
|
819
|
+
* YZX order
|
|
798
820
|
* @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
|
|
799
821
|
* @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
800
822
|
* @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
|
|
@@ -825,7 +847,7 @@ class Quaternion {
|
|
|
825
847
|
}
|
|
826
848
|
|
|
827
849
|
/**
|
|
828
|
-
*
|
|
850
|
+
* XZY order
|
|
829
851
|
* @source: https://stackoverflow.com/questions/12088610/conversion-between-euler-quaternion-like-in-unity3d-engine
|
|
830
852
|
* @see http://www.mathworks.com/matlabcentral/fileexchange/20696-function-to-convert-between-dcm-euler-angles-quaternions-and-euler-vectors/content/SpinCalc.m
|
|
831
853
|
* @see https://github.com/mrdoob/three.js/blob/510705cde208b165fd87946b0f8504a1cd6dbe83/src/math/Quaternion.js#L206
|
|
@@ -1067,7 +1089,7 @@ class Quaternion {
|
|
|
1067
1089
|
const w = lerp(first.w, second.w, t);
|
|
1068
1090
|
|
|
1069
1091
|
|
|
1070
|
-
|
|
1092
|
+
return this.set(x, y, z, w);
|
|
1071
1093
|
}
|
|
1072
1094
|
|
|
1073
1095
|
/**
|
|
@@ -1174,7 +1196,8 @@ class Quaternion {
|
|
|
1174
1196
|
}
|
|
1175
1197
|
|
|
1176
1198
|
/**
|
|
1177
|
-
*
|
|
1199
|
+
* Set current value of the quaternion
|
|
1200
|
+
* You *MUST* use this method in order for {@link Quaternion#onChanged} signal to be fired
|
|
1178
1201
|
* @param {number} x
|
|
1179
1202
|
* @param {number} y
|
|
1180
1203
|
* @param {number} z
|
|
@@ -1343,7 +1366,7 @@ class Quaternion {
|
|
|
1343
1366
|
|
|
1344
1367
|
/**
|
|
1345
1368
|
*
|
|
1346
|
-
* @returns {number}
|
|
1369
|
+
* @returns {number} integer hash
|
|
1347
1370
|
*/
|
|
1348
1371
|
hash() {
|
|
1349
1372
|
// fast and dumb hash, just spread bits a bit and XOR them
|
|
@@ -1354,7 +1377,7 @@ class Quaternion {
|
|
|
1354
1377
|
}
|
|
1355
1378
|
|
|
1356
1379
|
/**
|
|
1357
|
-
*
|
|
1380
|
+
* Check for approximate equality between two quaternions
|
|
1358
1381
|
* @param {Quaternion} other
|
|
1359
1382
|
* @param {number} [tolerance]
|
|
1360
1383
|
* @return {boolean}
|
|
@@ -1371,7 +1394,6 @@ class Quaternion {
|
|
|
1371
1394
|
* @param {number} w
|
|
1372
1395
|
* @param {number} [tolerance]
|
|
1373
1396
|
* @return {boolean}
|
|
1374
|
-
* @private
|
|
1375
1397
|
*/
|
|
1376
1398
|
_roughlyEquals(x, y, z, w, tolerance = EPSILON) {
|
|
1377
1399
|
return epsilonEquals(this.x, x, tolerance)
|
|
@@ -1381,19 +1403,22 @@ class Quaternion {
|
|
|
1381
1403
|
}
|
|
1382
1404
|
|
|
1383
1405
|
/**
|
|
1384
|
-
*
|
|
1406
|
+
* Randomly orient current quaternion
|
|
1385
1407
|
* @param {function():number} [random]
|
|
1386
1408
|
* @return {Quaternion}
|
|
1387
1409
|
*/
|
|
1388
1410
|
random(random = Math.random) {
|
|
1411
|
+
// Based on http://planning.cs.uiuc.edu/node198.html
|
|
1389
1412
|
const u1 = random();
|
|
1390
1413
|
|
|
1391
1414
|
const sqrt1u1 = Math.sqrt(1 - u1);
|
|
1392
1415
|
const sqrtu1 = Math.sqrt(u1);
|
|
1393
1416
|
|
|
1394
|
-
const
|
|
1417
|
+
const PI2 = 2 * Math.PI;
|
|
1418
|
+
|
|
1419
|
+
const u2 = PI2 * random();
|
|
1395
1420
|
|
|
1396
|
-
const u3 =
|
|
1421
|
+
const u3 = PI2 * random();
|
|
1397
1422
|
|
|
1398
1423
|
return this.set(
|
|
1399
1424
|
sqrt1u1 * cos(u2),
|
|
@@ -1408,8 +1433,8 @@ class Quaternion {
|
|
|
1408
1433
|
}
|
|
1409
1434
|
|
|
1410
1435
|
/**
|
|
1411
|
-
*
|
|
1412
|
-
* @param {function} random random number generator function
|
|
1436
|
+
* Create a randomly oriented quaternion
|
|
1437
|
+
* @param {function} [random] random number generator function
|
|
1413
1438
|
* @returns {Quaternion}
|
|
1414
1439
|
*/
|
|
1415
1440
|
static random(random = Math.random) {
|
|
@@ -1421,7 +1446,8 @@ class Quaternion {
|
|
|
1421
1446
|
}
|
|
1422
1447
|
|
|
1423
1448
|
/**
|
|
1424
|
-
*
|
|
1449
|
+
* Convenience constructor
|
|
1450
|
+
* Used XYZ angle order (see {@link fromEulerAnglesXYZ})
|
|
1425
1451
|
* @param {number} x in radians
|
|
1426
1452
|
* @param {number} y in radians
|
|
1427
1453
|
* @param {number} z in radians
|
|
@@ -1472,5 +1498,17 @@ Quaternion.prototype.fromEulerAngles = Quaternion.prototype.fromEulerAnglesXYZ;
|
|
|
1472
1498
|
*/
|
|
1473
1499
|
Quaternion.identity = Object.freeze(new Quaternion(0, 0, 0, 1));
|
|
1474
1500
|
|
|
1501
|
+
/**
|
|
1502
|
+
* Shortcut for type checking
|
|
1503
|
+
* @readonly
|
|
1504
|
+
* @type {boolean}
|
|
1505
|
+
*/
|
|
1506
|
+
Quaternion.prototype.isQuaternion = true;
|
|
1507
|
+
|
|
1508
|
+
/**
|
|
1509
|
+
* @readonly
|
|
1510
|
+
* @type {string}
|
|
1511
|
+
*/
|
|
1512
|
+
Quaternion.typeName = 'Quaternion';
|
|
1475
1513
|
|
|
1476
1514
|
export default Quaternion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vector1.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector1.js"],"names":[],"mappings":";
|
|
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"}
|
package/src/core/geom/Vector1.js
CHANGED
|
@@ -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
|
-
|
|
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":";
|
|
1
|
+
{"version":3,"file":"Vector2.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector2.js"],"names":[],"mappings":"AAcA;;;GAGG;AACH;IACI;;;;;OAKG;IACH,gBAJW,MAAM,MACN,MAAM,EAuBhB;IAbG;;;OAGG;IACH,GAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,GAFU,MAAM,CAEN;IAEV,0DAA6B;IAGjC;;;;OAIG;IACH,iBAHW,MAAM,EAAE,GAAC,YAAY,WACrB,MAAM,QAOhB;IAED;;;;OAIG;IACH,eAHW,MAAM,EAAE,GAAC,YAAY,WACrB,MAAM,QAKhB;IAED,iBAMC;IAED;;;;;OAKG;IACH,OAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAqBnB;IAED;;;;OAIG;IACH,aAHW,MAAM,KACN,MAAM,QAYhB;IAED;;;;OAIG;IACH,QAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,QAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;;OAKG;IACH,QAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,WAHW,OAAO,GACL,OAAO,CAInB;IAED;;;;OAIG;IACH,cAHW,OAAO,KACP,OAAO,QAIjB;IAED;;;OAGG;IACH,SAFa,OAAO,CAInB;IAED;;;OAGG;IACH,QAFa,OAAO,CAInB;IAED;;OAEG;IACH,cAIC;IAED;;;OAGG;IACH,OAFa,OAAO,CAInB;IAED;;;;;OAKG;IACH,QAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,WAHW,OAAO,GACL,OAAO,CAInB;IAED;;;;OAIG;IACH,cAHW,OAAO,GACL,OAAO,CAInB;IAED;;;;OAIG;IACH,gBAHW,OAAO,GACL,OAAO,CAInB;IAED;;;;;OAKG;IACH,aAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,WAHW,OAAO,GACL,OAAO,CAMnB;IAED;;;;OAIG;IACH,WAHW,OAAO,GACL,MAAM,CAIlB;IAED;;;;OAIG;IACH,YAHW,OAAO,GACL,OAAO,CAInB;IAED;;;OAGG;IACH,SAFa,OAAO,CAInB;IAED;;;OAGG;IACH,UAFa,OAAO,CAInB;IAED;;;;;OAKG;IACH,QAJW,MAAM,KACN,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,WAHW,OAAO,GACL,OAAO,CAInB;IAED;;;OAGG;IACH,gCAEC;IAED;;;OAGG;IACH,eAFW,MAAM,QAIhB;IAED;;;OAGG;IACH,kBAFW,MAAM,QAIhB;IAED;;;;OAIG;IACH,6BAFa,OAAO,CAOnB;IAED;;;MAEC;IAED,0BAOC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAKtB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAOtB;IAED;;;OAGG;IACH,8BAFW,YAAY,QAKtB;IAED;;;OAGG;IACH,gCAFW,YAAY,QAOtB;IAED;;;OAGG;IACH,UAFa,OAAO,CAInB;IAED;;;;;;OAMG;IACH,uEAIC;IAED;;;;OAIG;IACH,8CAIC;IAED;;;;OAIG;IACH,iDAIC;IAED;;;;OAIG;IACH,qBAHW,OAAO,GACL,MAAM,CAIlB;IAED;;;;;OAKG;IACH,kBAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAMlB;IAED;;;;;OAKG;IACH,eAJW,OAAO,KACP,OAAO,YACP,MAAM,QAOhB;IAED;;;OAGG;IACH,sBAFW,MAAM,EAAE,QAUlB;IAED;;;;OAIG;IACH,kBAHW,OAAO,GACL,MAAM,CAIlB;IAED;;;;;OAKG;IACH,eAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAIlB;IAED;;;;OAIG;IACH,2BAHW,OAAO,GACL,MAAM,CAOlB;IAED;;OAEG;IACH,UAFa,MAAM,CAIlB;IAED;;OAEG;IACH,kBAWC;IAGD;;;OAGG;IACH,QAFa,MAAM,CAOlB;IAED;;;OAGG;IACH,cAFW,MAAM,QAahB;IAED;;;;;OAKG;IACH,uCAHW,GAAC,GACC,OAAO,CAQnB;IAED,mBAEC;IAED;;;;OAIG;IACH,cAHW,OAAO,GACL,OAAO,CAInB;IAED;;;;;OAKG;IACH,qBAJW,OAAO,cACP,MAAM,GACL,OAAO,CAIlB;IAED;;;;;;OAMG;IACH,kBALW,MAAM,KACN,MAAM,cACN,MAAM,GACL,OAAO,CAKlB;IAUD,iBAEC;IAVD,gBAEC;IAUD,iBAEC;IAVD,gBAEC;IAsDL;;OAEG;IACH,sBAjnBe,MAAM,EAAE,GAAC,YAAY,WACrB,MAAM,UAgnBS;IAE9B;;OAEG;IACH,uBAloBe,MAAM,EAAE,GAAC,YAAY,WACrB,MAAM,UAioBU;IAG/B;;;OAGG;IACH,oBAFU,OAAO,CAEU;IA1DvB,sDAKC;CACJ;;mBAIS,OAAO;qBAMP,OAAO;qBAMP,OAAO;sBAMP,OAAO;qBAMP,OAAO;oBAKP,OAAO;;yBAsBP,MAAM;;;mBA5rBG,4BAA4B;4BAQnB,uBAAuB"}
|
package/src/core/geom/Vector2.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Alex Goldring
|
|
3
|
-
* @copyright Alex Goldring 14/02/14.
|
|
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";
|
|
@@ -17,7 +12,11 @@ import { v2_dot } from "./vec2/v2_dot.js";
|
|
|
17
12
|
import { v2_length } from "./vec2/v2_length.js";
|
|
18
13
|
import { v2_length_sqr } from "./vec2/v2_length_sqr.js";
|
|
19
14
|
|
|
20
|
-
|
|
15
|
+
/**
|
|
16
|
+
* @author Alex Goldring
|
|
17
|
+
* @copyright Alex Goldring 14/02/14.
|
|
18
|
+
*/
|
|
19
|
+
export class Vector2 {
|
|
21
20
|
/**
|
|
22
21
|
*
|
|
23
22
|
* @param {number} [x=0]
|
|
@@ -682,14 +681,6 @@ Vector2.zero = Object.freeze(new Vector2(0, 0));
|
|
|
682
681
|
*/
|
|
683
682
|
Vector2.one = Object.freeze(new Vector2(1, 1));
|
|
684
683
|
|
|
685
|
-
/**
|
|
686
|
-
* @readonly
|
|
687
|
-
* @type {boolean}
|
|
688
|
-
*/
|
|
689
|
-
Vector2.prototype.isVector2 = true;
|
|
690
|
-
|
|
691
|
-
Vector2._distance = v2_distance;
|
|
692
|
-
|
|
693
684
|
/**
|
|
694
685
|
* @deprecated use {@link Vector2#toArray} instead
|
|
695
686
|
*/
|
|
@@ -699,5 +690,18 @@ Vector2.prototype.writeToArray = Vector2.prototype.toArray;
|
|
|
699
690
|
* @deprecated use {@link Vector2#fromArray} instead
|
|
700
691
|
*/
|
|
701
692
|
Vector2.prototype.readFromArray = Vector2.prototype.fromArray;
|
|
693
|
+
Vector2._distance = v2_distance;
|
|
694
|
+
|
|
695
|
+
/**
|
|
696
|
+
* @readonly
|
|
697
|
+
* @type {boolean}
|
|
698
|
+
*/
|
|
699
|
+
Vector2.prototype.isVector2 = true;
|
|
700
|
+
/**
|
|
701
|
+
* @readonly
|
|
702
|
+
* @type {string}
|
|
703
|
+
*/
|
|
704
|
+
Vector2.typeName = "Vector2";
|
|
705
|
+
|
|
702
706
|
|
|
703
707
|
export default Vector2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":"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"}
|
package/src/core/geom/Vector3.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vector4.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector4.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Vector4.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector4.js"],"names":[],"mappings":"AAMA;IAiaI;;;;;;OAMG;IACH,gBALW,OAAO,MACP,OAAO,qBAEP,OAAO,QASjB;IA9aD;;;;;;;;OAQG;IACH,gBAPW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,EAiBhB;IANG,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IAEV,eAA6B;IAWjC;;;OAGG;IACH,SAFW,MAAM,EAIhB;IAdD;;;OAGG;IACH,SAFa,MAAM,CAIlB;IAkBD;;;OAGG;IACH,SAFW,MAAM,EAIhB;IAdD;;;OAGG;IACH,SAFa,MAAM,CAIlB;IAkBD;;;OAGG;IACH,SAFW,MAAM,EAIhB;IAdD;;;OAGG;IACH,SAFa,MAAM,CAIlB;IAkBD;;;OAGG;IACH,SAFW,MAAM,EAIhB;IAdD;;;OAGG;IACH,SAFa,MAAM,CAIlB;IAUD;;;;OAIG;IACH,qBAHW,MAAM,EAAE,WACR,MAAM,QAShB;IAED;;;;OAIG;IACH,oBAHW,MAAM,EAAE,WACR,MAAM,QAOhB;IAED;;;;;;;OAOG;IACH,iDAFa,OAAO,CAkCnB;IAED;;;OAGG;IACH,oBAFW,OAAO,QAQjB;IAED;;;;OAIG;IACH,+BAFa,OAAO,CAOnB;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,kBAlBW,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,MACN,MAAM,GACJ,OAAO,CAoBnB;IAED;;;;OAIG;IACH,WAHW,OAAO,GACL,MAAM,CAIlB;IAED;;;;OAIG;IACH,SAHW,OAAO,GAAC,OAAO,GACb,OAAO,CASnB;IAED;;;;OAIG;IACH,qBAHW,OAAO,GACL,OAAO,CAUnB;IAED;;;;OAIG;IACH,WAHW,OAAO,GACL,OAAO,CAInB;IAED;;;OAGG;IACH,SAFa,OAAO,CAQnB;IAED;;;OAGG;IACH,mBAFW,UAAU,QAyBpB;IAED;;;;OAIG;IACH,aAHW,OAAO,GACL,OAAO,CAInB;IAED;;;OAGG;IACH,QAFY,MAAM,CASjB;IAED;;;;OAIG;IACH,gBAJW,OAAO,MACP,OAAO,mBAKjB;IAED;;;OAGG;IACH,gBAFW,MAAM,EAAE,QAOlB;IAED;;OAEG;IACH,WAFa,MAAM,EAAE,CAQpB;IAED;;;;OAIG;IACH,mBAHW,MAAM,EAAE,UACR,MAAM,QAIhB;IAED;;;;;MAOC;IAED,0BAEC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAOtB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAStB;IA4BL;;;OAGG;IACH,oBAFU,OAAO,CAEU;IA9BvB,sDAOC;CAiBJ;;kBAUS,MAAM"}
|
package/src/core/geom/Vector4.js
CHANGED
|
@@ -4,7 +4,7 @@ import { Signal } from "../events/signal/Signal.js";
|
|
|
4
4
|
import { lerp } from "../math/lerp.js";
|
|
5
5
|
import { computeHashFloat } from "../primitives/numbers/computeHashFloat.js";
|
|
6
6
|
|
|
7
|
-
class Vector4 {
|
|
7
|
+
export class Vector4 {
|
|
8
8
|
/**
|
|
9
9
|
*
|
|
10
10
|
* @param {number} [x=0]
|
|
@@ -438,5 +438,16 @@ class Vector4 {
|
|
|
438
438
|
}
|
|
439
439
|
}
|
|
440
440
|
|
|
441
|
+
/**
|
|
442
|
+
* @readonly
|
|
443
|
+
* @type {boolean}
|
|
444
|
+
*/
|
|
445
|
+
Vector4.prototype.isVector4 = true;
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* @readonly
|
|
449
|
+
* @type {string}
|
|
450
|
+
*/
|
|
451
|
+
Vector4.typeName = "Vector4";
|
|
441
452
|
|
|
442
453
|
export default Vector4;
|
|
@@ -1,35 +1,181 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
1
|
+
export type EntityManagerState = number;
|
|
2
|
+
export namespace EntityManagerState {
|
|
3
|
+
let Initial: number;
|
|
4
|
+
let Starting: number;
|
|
5
|
+
let Running: number;
|
|
6
|
+
let Failed: number;
|
|
7
|
+
let Stopping: number;
|
|
8
|
+
let Stopped: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Brings together {@link System}s and an {@link EntityComponentDataset}
|
|
12
|
+
* Main entry point into the simulation process
|
|
13
|
+
*/
|
|
14
|
+
export class EntityManager {
|
|
15
|
+
/**
|
|
16
|
+
* @readonly
|
|
17
|
+
* @type {System[]}
|
|
18
|
+
*/
|
|
19
|
+
readonly systems: System<any, any, any, any, any>[];
|
|
20
|
+
/**
|
|
21
|
+
* @readonly
|
|
22
|
+
* @private
|
|
23
|
+
* @type {System[]}
|
|
24
|
+
*/
|
|
25
|
+
private readonly systemsExecutionOrder;
|
|
26
|
+
/**
|
|
27
|
+
* @readonly
|
|
28
|
+
* @private
|
|
29
|
+
* @type {EntityObserver[]}
|
|
30
|
+
*/
|
|
31
|
+
private readonly systemObservers;
|
|
32
|
+
/**
|
|
33
|
+
* @readonly
|
|
34
|
+
*/
|
|
35
|
+
readonly on: {
|
|
36
|
+
systemStarted: Signal<any, any, any, any, any, any, any, any>;
|
|
37
|
+
systemStopped: Signal<any, any, any, any, any, any, any, any>;
|
|
38
|
+
/**
|
|
39
|
+
* @type {Signal<System>}
|
|
40
|
+
*/
|
|
41
|
+
systemAdded: Signal<System<any, any, any, any, any>>;
|
|
42
|
+
systemRemoved: Signal<any, any, any, any, any, any, any, any>;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* @type {EntityManagerState}
|
|
47
|
+
*/
|
|
48
|
+
state: EntityManagerState;
|
|
49
|
+
/**
|
|
50
|
+
* Track remainders of simulation time for fixed step
|
|
51
|
+
* Needed for accurate time keeping
|
|
52
|
+
* @private
|
|
53
|
+
* @readonly
|
|
54
|
+
* @type {Map<System, number>}
|
|
55
|
+
*/
|
|
56
|
+
private readonly systemAccumulatedFixedStepTime;
|
|
57
|
+
/**
|
|
58
|
+
* Value used to execute {@link System#fixedUpdate}
|
|
59
|
+
* In seconds
|
|
60
|
+
* @type {number}
|
|
61
|
+
*/
|
|
62
|
+
fixedUpdateStepSize: number;
|
|
63
|
+
/**
|
|
64
|
+
* How long can any given system run it's fixedUpdate, per simulation update
|
|
65
|
+
* This is value allows us to avoid cases where fixedUpdate takes longer that its time step and causes a runaway freeze
|
|
66
|
+
* In milliseconds
|
|
67
|
+
* @type {number}
|
|
68
|
+
*/
|
|
69
|
+
fixedUpdatePerSystemExecutionTimeLimit: number;
|
|
70
|
+
/**
|
|
71
|
+
*
|
|
72
|
+
* @type {EntityComponentDataset}
|
|
73
|
+
*/
|
|
74
|
+
dataset: EntityComponentDataset;
|
|
75
|
+
/**
|
|
76
|
+
* Whenever a system is added or removed, optimal execution plan changes, this flag tells us to rebuild the current plan
|
|
77
|
+
* see {@link #systemsExecutionOrder}
|
|
78
|
+
* @type {boolean}
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
private __execution_order_needs_update;
|
|
82
|
+
/**
|
|
83
|
+
* Rebuild execution order
|
|
84
|
+
* @private
|
|
85
|
+
*/
|
|
86
|
+
private updateExecutionOrder;
|
|
87
|
+
detachDataSet(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Get list of all components referenced by active systems
|
|
90
|
+
* @returns {Class[]}
|
|
91
|
+
*/
|
|
92
|
+
getComponentTypeMap(): Class[];
|
|
93
|
+
/**
|
|
94
|
+
*
|
|
95
|
+
* @param {EntityComponentDataset} dataset
|
|
96
|
+
* @throws {Error} if another dataset is attached
|
|
97
|
+
* @throws {Error} if dataset is incompatible with current system set
|
|
98
|
+
*/
|
|
99
|
+
attachDataSet(dataset: EntityComponentDataset): void;
|
|
100
|
+
/**
|
|
101
|
+
* @template T
|
|
102
|
+
* @param {Class<T>} systemClass
|
|
103
|
+
* @returns {boolean}
|
|
104
|
+
*/
|
|
105
|
+
hasSystem<T>(systemClass: Class<T>): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* @template T
|
|
108
|
+
* @param {Class<T>} systemClass
|
|
109
|
+
* @returns {T|null}
|
|
110
|
+
*/
|
|
111
|
+
getSystem<T>(systemClass: Class<T>): T | null;
|
|
112
|
+
/**
|
|
113
|
+
* @deprecated use {@link EntityComponentDataset.getComponentClassByName} instead
|
|
114
|
+
* @template T
|
|
115
|
+
* @param {string} className
|
|
116
|
+
* @returns {null|Class<T>}
|
|
117
|
+
*/
|
|
118
|
+
getComponentClassByName<T>(className: string): null | Class<T>;
|
|
119
|
+
/**
|
|
120
|
+
* Advance simulation forward by a specified amount of time
|
|
121
|
+
* @param {number} timeDelta in seconds
|
|
122
|
+
*/
|
|
123
|
+
simulate(timeDelta: number): void;
|
|
124
|
+
/**
|
|
125
|
+
* If the {@link EntityManager} is already started, the system will be started automatically before being added
|
|
126
|
+
* @param {System} system
|
|
127
|
+
* @returns {Promise}
|
|
128
|
+
* @throws {IllegalStateException}
|
|
129
|
+
*/
|
|
130
|
+
addSystem(system: System<any, any, any, any, any>): Promise<any>;
|
|
131
|
+
/**
|
|
132
|
+
*
|
|
133
|
+
* @param {System} system
|
|
134
|
+
* @returns {Promise<boolean>}
|
|
135
|
+
*/
|
|
136
|
+
removeSystem(system: System<any, any, any, any, any>): Promise<boolean>;
|
|
137
|
+
/**
|
|
138
|
+
* @private
|
|
139
|
+
* @param {System} system
|
|
140
|
+
* @param {function(system: System)} successCallback
|
|
141
|
+
* @param {function(reason:*)} errorCallback
|
|
142
|
+
*/
|
|
143
|
+
private stopSystem;
|
|
144
|
+
/**
|
|
145
|
+
* @private
|
|
146
|
+
* @param {System} system
|
|
147
|
+
* @param {function(system: System)} successCallback
|
|
148
|
+
* @param {function(reason:*)} errorCallback
|
|
149
|
+
*/
|
|
150
|
+
private startSystem;
|
|
151
|
+
/**
|
|
152
|
+
* This method is asynchronous by nature, it has to wait for each individual system to finish its own statup.
|
|
153
|
+
* Make sure to register callback in order to be notified when the startup has finished
|
|
154
|
+
* @param {function} [readyCallback] executed once entity manager successfully completes startup
|
|
155
|
+
* @param {function} [errorCallback] executed if entity manager encounters an error during startup
|
|
156
|
+
*/
|
|
157
|
+
startup(readyCallback?: Function, errorCallback?: Function): void;
|
|
158
|
+
/**
|
|
159
|
+
*
|
|
160
|
+
* @param {Class} systemClass
|
|
161
|
+
* @returns {Promise.<System>}
|
|
162
|
+
*/
|
|
163
|
+
promiseSystem(systemClass: Class): Promise<System<any, any, any, any, any>>;
|
|
164
|
+
/**
|
|
165
|
+
*
|
|
166
|
+
* @param {Class} systemClass
|
|
167
|
+
* @param {SystemState} state
|
|
168
|
+
* @returns {Promise.<System>}
|
|
169
|
+
*/
|
|
170
|
+
promiseSystemInState(systemClass: Class, state: SystemState): Promise<System<any, any, any, any, any>>;
|
|
171
|
+
/**
|
|
172
|
+
* This method is asynchronous by nature, it will not be done until each individual system has finished its shutdown
|
|
173
|
+
* Make sure to use callback to be notified when the shutdown has completed
|
|
174
|
+
* @param {function} [readyCallback] Called when shutdown finishes successfully. defaults to no-operation
|
|
175
|
+
* @param {function} [errorCallback] Called when an error occurs during shutdown process. defaults to console error output
|
|
176
|
+
*/
|
|
177
|
+
shutdown(readyCallback?: Function, errorCallback?: Function): void;
|
|
178
|
+
}
|
|
179
|
+
import { System } from "./System.js";
|
|
180
|
+
import Signal from "../../core/events/signal/Signal.js";
|
|
181
|
+
//# sourceMappingURL=EntityManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityManager.js"],"names":[],"mappings":"iCAeU,MAAM;;;;;;;;;AAWhB;;;GAGG;AACH;IAEI;;;OAGG;IACH,kBAFU,iCAAQ,CAEL;IAEb;;;;OAIG;IACH,uCAA2B;IAE3B;;;;OAIG;IACH,iCAAqB;IAErB;;OAEG;IACH;;;QAGI;;WAEG;qBADO,MAAM,iCAAQ;;MAI1B;IAEF;;;OAGG;IACH,OAFU,kBAAkB,CAEO;IAEnC;;;;;;OAMG;IACH,gDAA2C;IAE3C;;;;OAIG;IACH,qBAFU,MAAM,CAEY;IAE5B;;;;;OAKG;IACH,wCAFU,MAAM,CAE4B;IAE5C;;;OAGG;IACH,SAFU,sBAAsB,CAEjB;IAEf;;;;;OAKG;IACH,uCAAsC;IAEtC;;;OAGG;IACH,6BA8EC;IAED,sBAcC;IAED;;;OAGG;IACH,uBAFa,KAAK,EAAE,CAuBnB;IAED;;;;;OAKG;IACH,uBAJW,sBAAsB,QA0BhC;IAED;;;;OAIG;IACH,UAJa,CAAC,eACH,KAAK,CAAC,CAAC,CAAC,GACN,OAAO,CAInB;IAED;;;;OAIG;IACH,UAJa,CAAC,eACH,KAAK,CAAC,CAAC,CAAC,GACN,CAAC,GAAC,IAAI,CAgBlB;IAED;;;;;OAKG;IACH,wBAJa,CAAC,aACH,MAAM,GACJ,IAAI,GAAC,KAAK,CAAC,CAAC,CAAC,CAezB;IAGD;;;OAGG;IACH,oBAFW,MAAM,QAkEhB;IAED;;;;;OAKG;IACH,iEA0EC;IAED;;;;OAIG;IACH,uDAFa,OAAO,CAAC,OAAO,CAAC,CAyC5B;IAED;;;;;OAKG;IACH,mBA6BC;IAED;;;;;OAKG;IACH,oBAwCC;IAED
|
|
1
|
+
{"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityManager.js"],"names":[],"mappings":"iCAeU,MAAM;;;;;;;;;AAWhB;;;GAGG;AACH;IAEI;;;OAGG;IACH,kBAFU,iCAAQ,CAEL;IAEb;;;;OAIG;IACH,uCAA2B;IAE3B;;;;OAIG;IACH,iCAAqB;IAErB;;OAEG;IACH;;;QAGI;;WAEG;qBADO,MAAM,iCAAQ;;MAI1B;IAEF;;;OAGG;IACH,OAFU,kBAAkB,CAEO;IAEnC;;;;;;OAMG;IACH,gDAA2C;IAE3C;;;;OAIG;IACH,qBAFU,MAAM,CAEY;IAE5B;;;;;OAKG;IACH,wCAFU,MAAM,CAE4B;IAE5C;;;OAGG;IACH,SAFU,sBAAsB,CAEjB;IAEf;;;;;OAKG;IACH,uCAAsC;IAEtC;;;OAGG;IACH,6BA8EC;IAED,sBAcC;IAED;;;OAGG;IACH,uBAFa,KAAK,EAAE,CAuBnB;IAED;;;;;OAKG;IACH,uBAJW,sBAAsB,QA0BhC;IAED;;;;OAIG;IACH,UAJa,CAAC,eACH,KAAK,CAAC,CAAC,CAAC,GACN,OAAO,CAInB;IAED;;;;OAIG;IACH,UAJa,CAAC,eACH,KAAK,CAAC,CAAC,CAAC,GACN,CAAC,GAAC,IAAI,CAgBlB;IAED;;;;;OAKG;IACH,wBAJa,CAAC,aACH,MAAM,GACJ,IAAI,GAAC,KAAK,CAAC,CAAC,CAAC,CAezB;IAGD;;;OAGG;IACH,oBAFW,MAAM,QAkEhB;IAED;;;;;OAKG;IACH,iEA0EC;IAED;;;;OAIG;IACH,uDAFa,OAAO,CAAC,OAAO,CAAC,CAyC5B;IAED;;;;;OAKG;IACH,mBA6BC;IAED;;;;;OAKG;IACH,oBAwCC;IAED;;;;;OAKG;IACH,kEAwEC;IAED;;;;OAIG;IACH,2BAHW,KAAK,GACH,OAAO,iCAAS,CA0B5B;IAED;;;;;OAKG;IACH,kCAJW,KAAK,SACL,WAAW,GACT,OAAO,iCAAS,CAsB5B;IAED;;;;;OAKG;IACH,mEAsEC;CACJ;uBAxyBmC,aAAa;mBAP9B,oCAAoC"}
|
|
@@ -600,11 +600,12 @@ export class EntityManager {
|
|
|
600
600
|
}
|
|
601
601
|
|
|
602
602
|
/**
|
|
603
|
-
*
|
|
604
|
-
*
|
|
605
|
-
* @param {function}
|
|
603
|
+
* This method is asynchronous by nature, it has to wait for each individual system to finish its own statup.
|
|
604
|
+
* Make sure to register callback in order to be notified when the startup has finished
|
|
605
|
+
* @param {function} [readyCallback] executed once entity manager successfully completes startup
|
|
606
|
+
* @param {function} [errorCallback] executed if entity manager encounters an error during startup
|
|
606
607
|
*/
|
|
607
|
-
startup(readyCallback, errorCallback) {
|
|
608
|
+
startup(readyCallback = noop, errorCallback = console.error) {
|
|
608
609
|
if (this.state === EntityManagerState.Starting) {
|
|
609
610
|
throw new IllegalStateException(`System is currently in starting state`);
|
|
610
611
|
}
|
|
@@ -738,12 +739,13 @@ export class EntityManager {
|
|
|
738
739
|
}
|
|
739
740
|
|
|
740
741
|
/**
|
|
741
|
-
*
|
|
742
|
-
*
|
|
743
|
-
* @param {function}
|
|
742
|
+
* This method is asynchronous by nature, it will not be done until each individual system has finished its shutdown
|
|
743
|
+
* Make sure to use callback to be notified when the shutdown has completed
|
|
744
|
+
* @param {function} [readyCallback] Called when shutdown finishes successfully. defaults to no-operation
|
|
745
|
+
* @param {function} [errorCallback] Called when an error occurs during shutdown process. defaults to console error output
|
|
744
746
|
*/
|
|
745
|
-
shutdown(readyCallback, errorCallback) {
|
|
746
|
-
if(this.state !== EntityManagerState.Running){
|
|
747
|
+
shutdown(readyCallback = noop, errorCallback= console.error) {
|
|
748
|
+
if (this.state !== EntityManagerState.Running) {
|
|
747
749
|
throw new IllegalStateException(`System is wrong state, expected '${EntityManagerState.Running}'`);
|
|
748
750
|
}
|
|
749
751
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sampler2d_to_f16.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/sampler2d_to_f16.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sampler2d_to_f16.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/sampler2d_to_f16.js"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wCAHW,SAAS,GACP,SAAS,CAcrB;0BAnByB,gBAAgB"}
|