@woosh/meep-engine 2.120.0 → 2.120.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/README.md +1 -1
- package/package.json +1 -1
- package/src/core/binary/FLOAT32_MAX.d.ts +2 -0
- package/src/core/binary/FLOAT32_MAX.d.ts.map +1 -0
- package/src/core/binary/FLOAT32_MAX.js +1 -0
- package/src/core/collection/RingBuffer.d.ts +2 -3
- package/src/core/collection/RingBuffer.d.ts.map +1 -1
- package/src/core/collection/RingBuffer.js +9 -4
- package/src/core/color/Color.d.ts.map +1 -1
- package/src/core/color/Color.js +15 -1
- package/src/core/geom/2d/circle/Circle.d.ts +7 -5
- package/src/core/geom/2d/circle/Circle.d.ts.map +1 -1
- package/src/core/geom/2d/circle/Circle.js +7 -5
- package/src/core/geom/2d/circle/circle_area.d.ts +7 -0
- package/src/core/geom/2d/circle/circle_area.d.ts.map +1 -0
- package/src/core/geom/2d/circle/circle_area.js +8 -0
- package/src/core/geom/Quaternion.d.ts.map +1 -1
- package/src/core/geom/Quaternion.js +57 -23
- package/src/core/geom/Vector4.d.ts.map +1 -1
- package/src/core/geom/Vector4.js +32 -0
- package/src/core/geom/mat2/M2_IDENTITY.d.ts +6 -0
- package/src/core/geom/mat2/M2_IDENTITY.d.ts.map +1 -0
- package/src/core/geom/mat2/M2_IDENTITY.js +8 -0
- package/src/core/geom/mat2/m2_is_diagonal.d.ts +8 -0
- package/src/core/geom/mat2/m2_is_diagonal.d.ts.map +1 -0
- package/src/core/geom/mat2/m2_is_diagonal.js +9 -0
- package/src/core/geom/mat2/m2_is_orthogonal.d.ts +8 -0
- package/src/core/geom/mat2/m2_is_orthogonal.d.ts.map +1 -0
- package/src/core/geom/mat2/m2_is_orthogonal.js +23 -0
- package/src/core/geom/mat2/m2_transpose.d.ts +9 -0
- package/src/core/geom/mat2/m2_transpose.d.ts.map +1 -0
- package/src/core/geom/mat2/m2_transpose.js +17 -0
- package/src/core/graph/graph_compute_adjacency_matrix.d.ts +7 -5
- package/src/core/graph/graph_compute_adjacency_matrix.d.ts.map +1 -1
- package/src/core/graph/graph_compute_adjacency_matrix.js +11 -5
- package/src/core/graph/graph_compute_distance_matrix.d.ts.map +1 -1
- package/src/core/graph/graph_compute_distance_matrix.js +30 -56
- package/src/core/graph/graph_compute_laplacian_matrix.d.ts +6 -6
- package/src/core/graph/graph_compute_laplacian_matrix.js +6 -6
- package/src/core/json/abstractJSONDeserializer.d.ts.map +1 -1
- package/src/core/json/abstractJSONDeserializer.js +7 -1
- package/src/core/math/bell_membership_function.d.ts.map +1 -1
- package/src/core/math/bell_membership_function.js +6 -1
- package/src/core/math/linalg/m2/m2_polar_decomp.d.ts +19 -0
- package/src/core/math/linalg/m2/m2_polar_decomp.d.ts.map +1 -0
- package/src/core/math/linalg/m2/m2_polar_decomp.js +27 -0
- package/src/core/math/linalg/m2/m2_polar_decomp_noS.d.ts +15 -0
- package/src/core/math/linalg/m2/m2_polar_decomp_noS.d.ts.map +1 -0
- package/src/core/math/linalg/m2/m2_polar_decomp_noS.js +32 -0
- package/src/core/math/linalg/m2/m2_svd.d.ts +19 -0
- package/src/core/math/linalg/m2/m2_svd.d.ts.map +1 -0
- package/src/core/math/linalg/m2/m2_svd.js +96 -0
- package/src/core/math/linalg/solve_linear_system_GEPP_2x2.d.ts +1 -1
- package/src/core/math/linalg/solve_linear_system_GEPP_2x2.js +1 -1
- package/src/core/model/node-graph/node/NodeDescription.d.ts.map +1 -1
- package/src/core/model/node-graph/node/NodeDescription.js +14 -0
- package/src/core/model/node-graph/type/DataType.d.ts.map +1 -1
- package/src/core/model/node-graph/type/DataType.js +4 -0
- package/src/core/process/WatchDog.d.ts +41 -12
- package/src/core/process/WatchDog.d.ts.map +1 -1
- package/src/core/process/WatchDog.js +47 -16
- package/src/engine/development/performance/RingBufferMetric.d.ts +1 -1
- package/src/engine/development/performance/RingBufferMetric.d.ts.map +1 -1
- package/src/engine/ecs/Entity.js +2 -2
- package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
- package/src/engine/ecs/EntityComponentDataset.js +31 -13
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +10 -1
- package/src/engine/ecs/EntityObserver.d.ts.map +1 -1
- package/src/engine/ecs/EntityObserver.js +2 -10
- package/src/engine/ecs/EntityReference.d.ts +10 -2
- package/src/engine/ecs/EntityReference.d.ts.map +1 -1
- package/src/engine/ecs/EntityReference.js +24 -6
- package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationAdapter.js +3 -3
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationUpgrader_0_1.d.ts +4 -0
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationUpgrader_0_1.d.ts.map +1 -0
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationUpgrader_0_1.js +24 -0
- package/src/engine/ecs/terrain/ecs/splat/SplatMapping.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/splat/SplatMapping.js +3 -9
- package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts.map +1 -1
- package/src/engine/ecs/terrain/overlay/TerrainOverlay.js +14 -8
- package/src/engine/ecs/transform/Transform.d.ts +5 -1
- package/src/engine/ecs/transform/Transform.d.ts.map +1 -1
- package/src/engine/ecs/transform/Transform.js +5 -1
- package/src/engine/graphics/texture/sampler/Sampler2D.d.ts +349 -50
- package/src/engine/intelligence/behavior/ecs/DieBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/ecs/DieBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/DieBehavior.js +4 -0
- package/src/engine/intelligence/behavior/ecs/KillBehavior.d.ts +17 -0
- package/src/engine/intelligence/behavior/ecs/KillBehavior.d.ts.map +1 -0
- package/src/engine/intelligence/behavior/ecs/KillBehavior.js +47 -0
- package/src/engine/intelligence/blackboard/BlackboardStack.d.ts +1 -1
- package/src/engine/intelligence/blackboard/BlackboardStack.js +1 -1
- package/src/engine/navigation/ecs/path_following/PathFollowerSerializationAdapter.d.ts.map +1 -1
- package/src/engine/navigation/ecs/path_following/PathFollowerSerializationAdapter.js +3 -1
- package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_2_3.d.ts.map +1 -1
- package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_2_3.js +3 -7
- package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_3_4.d.ts +5 -0
- package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_3_4.d.ts.map +1 -0
- package/src/engine/navigation/ecs/path_following/PathFollowerSerializationUpgrader_3_4.js +19 -0
- package/src/engine/physics/mls-mpm/MLS_MPM.d.ts +1 -1
- package/src/engine/physics/mls-mpm/MLS_MPM.d.ts.map +1 -1
- package/src/engine/physics/mls-mpm/MLS_MPM.js +9 -114
- package/src/engine/physics/mls-mpm/README.md +5 -0
- package/src/generation/grid/generation/GridTaskDensityMarkerDistribution.d.ts +7 -6
- package/src/generation/grid/generation/GridTaskDensityMarkerDistribution.d.ts.map +1 -1
- package/src/generation/grid/generation/GridTaskDensityMarkerDistribution.js +51 -43
- package/editor/actions/concrete/ModifyPatchSampler2DAction.d.ts +0 -48
- package/editor/actions/concrete/ModifyPatchTextureArray2DAction.d.ts.map +0 -1
- package/editor/actions/concrete/PaintTerrainOverlayAction.d.ts.map +0 -1
- package/editor/actions/concrete/PatchTerrainHeightAction.d.ts.map +0 -1
- package/editor/actions/concrete/SelectionAddAction.d.ts.map +0 -1
- package/editor/actions/concrete/SelectionClearAction.d.ts.map +0 -1
- package/editor/actions/concrete/SelectionRemoveAction.d.ts.map +0 -1
- package/editor/actions/concrete/TransformModifyAction.d.ts.map +0 -1
- package/editor/actions/concrete/WriteGridValueAction.d.ts.map +0 -1
- package/src/engine/ecs/read_entity_reference.d.ts +0 -9
- package/src/engine/ecs/read_entity_reference.d.ts.map +0 -1
- package/src/engine/ecs/read_entity_reference.js +0 -15
- package/src/engine/physics/ammo/Body.js +0 -103
- package/src/engine/physics/ammo/PhysicsWorker.d.ts +0 -72
- package/src/engine/physics/ammo/PhysicsWorker.d.ts.map +0 -1
- package/src/engine/physics/ammo/PhysicsWorker.js +0 -437
- package/src/engine/physics/ammo/World.d.ts +0 -68
- package/src/engine/physics/ammo/World.d.ts.map +0 -1
- package/src/engine/physics/ammo/World.js +0 -336
- package/src/engine/physics/ammo/shapes/BoxShape.d.ts +0 -10
- package/src/engine/physics/ammo/shapes/BoxShape.d.ts.map +0 -1
- package/src/engine/physics/ammo/shapes/BoxShape.js +0 -11
- package/src/engine/physics/ammo/shapes/CapsuleShape.d.ts +0 -9
- package/src/engine/physics/ammo/shapes/CapsuleShape.d.ts.map +0 -1
- package/src/engine/physics/ammo/shapes/CapsuleShape.js +0 -10
- package/src/engine/physics/ammo/shapes/MeshShape.d.ts +0 -8
- package/src/engine/physics/ammo/shapes/MeshShape.d.ts.map +0 -1
- package/src/engine/physics/ammo/shapes/MeshShape.js +0 -9
- package/src/engine/physics/ammo/shapes/PlaneShape.d.ts +0 -11
- package/src/engine/physics/ammo/shapes/PlaneShape.d.ts.map +0 -1
- package/src/engine/physics/ammo/shapes/PlaneShape.js +0 -14
- package/src/engine/physics/ammo/shapes/Shape.d.ts +0 -7
- package/src/engine/physics/ammo/shapes/Shape.d.ts.map +0 -1
- package/src/engine/physics/ammo/shapes/Shape.js +0 -9
- package/src/engine/physics/ammo/shapes/SphereShape.d.ts +0 -8
- package/src/engine/physics/ammo/shapes/SphereShape.d.ts.map +0 -1
- package/src/engine/physics/ammo/shapes/SphereShape.js +0 -9
- package/src/engine/physics/cannon/CannonJSPhysicsSystem.d.ts +0 -15
- package/src/engine/physics/cannon/CannonJSPhysicsSystem.d.ts.map +0 -1
- package/src/engine/physics/cannon/CannonJSPhysicsSystem.js +0 -196
|
@@ -1,39 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A watchdog timer that executes a callback function if `kick()` is not called within a specified timeout period.
|
|
3
|
+
*/
|
|
1
4
|
export class WatchDog {
|
|
2
5
|
/**
|
|
3
6
|
*
|
|
4
|
-
* @param {function} action
|
|
5
|
-
* @param {*} [actionContext]
|
|
7
|
+
* @param {function} action Callback function to execute on timeout
|
|
8
|
+
* @param {*} [actionContext] `this` context for the callback function.
|
|
6
9
|
* @constructor
|
|
7
10
|
*/
|
|
8
11
|
constructor(action: Function, actionContext?: any);
|
|
9
|
-
|
|
12
|
+
/**
|
|
13
|
+
* @private
|
|
14
|
+
* @type {number}
|
|
15
|
+
*/
|
|
16
|
+
private timeoutId;
|
|
17
|
+
/**
|
|
18
|
+
* Timeout duration in milliseconds
|
|
19
|
+
* @type {number}
|
|
20
|
+
*/
|
|
10
21
|
timeout: number;
|
|
11
|
-
__timeLastKicked: number;
|
|
12
22
|
/**
|
|
13
23
|
*
|
|
14
|
-
* @type {
|
|
24
|
+
* @type {number}
|
|
25
|
+
* @private
|
|
26
|
+
*/
|
|
27
|
+
private __timeLastKicked;
|
|
28
|
+
/**
|
|
29
|
+
* Callback function to be executed when the watchdog timer expires.
|
|
30
|
+
* @type {function}
|
|
15
31
|
*/
|
|
16
32
|
action: Function;
|
|
17
33
|
/**
|
|
18
|
-
*
|
|
34
|
+
* The context (`this` value) for the {@link action} callback.
|
|
19
35
|
* @type {*}
|
|
20
36
|
*/
|
|
21
37
|
actionContext: any;
|
|
22
|
-
|
|
38
|
+
/**
|
|
39
|
+
* @private
|
|
40
|
+
* Executes the callback function and clears the timer. Called when the watchdog timer expires.
|
|
41
|
+
*/
|
|
42
|
+
private bark;
|
|
43
|
+
/**
|
|
44
|
+
* Starts the watchdog timer.
|
|
45
|
+
* If the timer is already running, this does nothing.
|
|
46
|
+
*/
|
|
23
47
|
start(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Stops the watchdog timer.
|
|
50
|
+
* If the timer is not running, this does nothing.
|
|
51
|
+
*/
|
|
24
52
|
stop(): void;
|
|
25
53
|
/**
|
|
26
|
-
*
|
|
27
|
-
* @returns {boolean}
|
|
54
|
+
* Checks if the watchdog timer is currently active.
|
|
55
|
+
* @returns {boolean} `true` if the timer is running, `false` otherwise.
|
|
28
56
|
*/
|
|
29
57
|
isActive(): boolean;
|
|
30
58
|
/**
|
|
31
|
-
*
|
|
59
|
+
* Resets the watchdog timer. Throws an error if the timer is not active.
|
|
60
|
+
* @throws {Error} If the watchdog is not active.
|
|
32
61
|
*/
|
|
33
62
|
kick(): void;
|
|
34
63
|
/**
|
|
35
|
-
*
|
|
36
|
-
* @param {number} delay in milliseconds
|
|
64
|
+
* Sets the timeout duration. Does not start or restart the timer.
|
|
65
|
+
* @param {number} delay Timeout duration in milliseconds.
|
|
37
66
|
*/
|
|
38
67
|
setTimeout(delay: number): void;
|
|
39
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WatchDog.d.ts","sourceRoot":"","sources":["../../../../src/core/process/WatchDog.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WatchDog.d.ts","sourceRoot":"","sources":["../../../../src/core/process/WatchDog.js"],"names":[],"mappings":"AAEA;;GAEG;AACH;IAqBI;;;;;OAKG;IACH,8CAHW,GAAC,EAiBX;IAvCD;;;OAGG;IACH,kBAAe;IAEf;;;OAGG;IACH,SAFU,MAAM,CAEJ;IAEZ;;;;OAIG;IACH,yBAAqB;IAWjB;;;OAGG;IACH,iBAAoB;IAEpB;;;OAGG;IACH,eAFU,GAAC,CAEuB;IAEtC;;;OAGG;IACH,aAOK;IACL;;;OAGG;IACH,cASC;IAED;;;OAGG;IACH,aASC;IAED;;;OAGG;IACH,YAFa,OAAO,CAInB;IAED;;;OAGG;IACH,aAiBC;IAED;;;OAGG;IACH,kBAFW,MAAM,QAIhB;CACJ"}
|
|
@@ -1,51 +1,81 @@
|
|
|
1
|
+
import { assert } from "../assert.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A watchdog timer that executes a callback function if `kick()` is not called within a specified timeout period.
|
|
5
|
+
*/
|
|
1
6
|
export class WatchDog {
|
|
2
7
|
|
|
8
|
+
/**
|
|
9
|
+
* @private
|
|
10
|
+
* @type {number}
|
|
11
|
+
*/
|
|
3
12
|
timeoutId = -1;
|
|
4
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Timeout duration in milliseconds
|
|
16
|
+
* @type {number}
|
|
17
|
+
*/
|
|
5
18
|
timeout = 0;
|
|
6
19
|
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* @type {number}
|
|
23
|
+
* @private
|
|
24
|
+
*/
|
|
7
25
|
__timeLastKicked = 0;
|
|
8
26
|
|
|
9
27
|
/**
|
|
10
28
|
*
|
|
11
|
-
* @param {function} action
|
|
12
|
-
* @param {*} [actionContext]
|
|
29
|
+
* @param {function} action Callback function to execute on timeout
|
|
30
|
+
* @param {*} [actionContext] `this` context for the callback function.
|
|
13
31
|
* @constructor
|
|
14
32
|
*/
|
|
15
33
|
constructor(action, actionContext) {
|
|
34
|
+
assert.isFunction(action,'action');
|
|
35
|
+
|
|
16
36
|
/**
|
|
17
|
-
*
|
|
18
|
-
* @type {
|
|
37
|
+
* Callback function to be executed when the watchdog timer expires.
|
|
38
|
+
* @type {function}
|
|
19
39
|
*/
|
|
20
40
|
this.action = action;
|
|
21
41
|
|
|
22
42
|
/**
|
|
23
|
-
*
|
|
43
|
+
* The context (`this` value) for the {@link action} callback.
|
|
24
44
|
* @type {*}
|
|
25
45
|
*/
|
|
26
46
|
this.actionContext = actionContext;
|
|
27
47
|
}
|
|
28
|
-
|
|
48
|
+
/**
|
|
49
|
+
* @private
|
|
50
|
+
* Executes the callback function and clears the timer. Called when the watchdog timer expires.
|
|
51
|
+
*/
|
|
29
52
|
bark() {
|
|
30
|
-
|
|
53
|
+
|
|
31
54
|
console.warn('WatchDog.bark');
|
|
32
55
|
|
|
33
56
|
this.action.call(this.actionContext);
|
|
34
|
-
|
|
57
|
+
|
|
35
58
|
this.timeoutId = -1;
|
|
36
59
|
}
|
|
37
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Starts the watchdog timer.
|
|
62
|
+
* If the timer is already running, this does nothing.
|
|
63
|
+
*/
|
|
38
64
|
start() {
|
|
39
65
|
//console.warn(`WatchDog.start`);
|
|
40
66
|
|
|
41
67
|
if (this.isActive()) {
|
|
42
68
|
//do nothing
|
|
43
69
|
} else {
|
|
44
|
-
this.timeoutId = setTimeout(this.bark, this.timeout);
|
|
70
|
+
this.timeoutId = setTimeout(this.bark.bind(this), this.timeout);
|
|
45
71
|
this.__timeLastKicked = Date.now();
|
|
46
72
|
}
|
|
47
73
|
}
|
|
48
74
|
|
|
75
|
+
/**
|
|
76
|
+
* Stops the watchdog timer.
|
|
77
|
+
* If the timer is not running, this does nothing.
|
|
78
|
+
*/
|
|
49
79
|
stop() {
|
|
50
80
|
//console.warn(`WatchDog.stop`);
|
|
51
81
|
|
|
@@ -58,15 +88,16 @@ export class WatchDog {
|
|
|
58
88
|
}
|
|
59
89
|
|
|
60
90
|
/**
|
|
61
|
-
*
|
|
62
|
-
* @returns {boolean}
|
|
91
|
+
* Checks if the watchdog timer is currently active.
|
|
92
|
+
* @returns {boolean} `true` if the timer is running, `false` otherwise.
|
|
63
93
|
*/
|
|
64
94
|
isActive() {
|
|
65
95
|
return this.timeoutId !== -1;
|
|
66
96
|
}
|
|
67
97
|
|
|
68
98
|
/**
|
|
69
|
-
*
|
|
99
|
+
* Resets the watchdog timer. Throws an error if the timer is not active.
|
|
100
|
+
* @throws {Error} If the watchdog is not active.
|
|
70
101
|
*/
|
|
71
102
|
kick() {
|
|
72
103
|
// const timeLastKicked = this.__timeLastKicked;
|
|
@@ -81,15 +112,15 @@ export class WatchDog {
|
|
|
81
112
|
|
|
82
113
|
if (this.isActive()) {
|
|
83
114
|
clearTimeout(this.timeoutId);
|
|
84
|
-
this.timeoutId = setTimeout(this.bark, this.timeout);
|
|
115
|
+
this.timeoutId = setTimeout(this.bark.bind(this), this.timeout);
|
|
85
116
|
} else {
|
|
86
117
|
throw new Error(`WatchDog is not active`);
|
|
87
118
|
}
|
|
88
119
|
}
|
|
89
120
|
|
|
90
121
|
/**
|
|
91
|
-
*
|
|
92
|
-
* @param {number} delay in milliseconds
|
|
122
|
+
* Sets the timeout duration. Does not start or restart the timer.
|
|
123
|
+
* @param {number} delay Timeout duration in milliseconds.
|
|
93
124
|
*/
|
|
94
125
|
setTimeout(delay) {
|
|
95
126
|
this.timeout = delay;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RingBufferMetric.d.ts","sourceRoot":"","sources":["../../../../../src/engine/development/performance/RingBufferMetric.js"],"names":[],"mappings":"AAOA;IACI,2BAUC;IAPG;;;;;OAKG;IACH,wBAAkC;IAGtC;;;OAGG;IACH,aAFW,MAAM,QAIhB;IAED,
|
|
1
|
+
{"version":3,"file":"RingBufferMetric.d.ts","sourceRoot":"","sources":["../../../../../src/engine/development/performance/RingBufferMetric.js"],"names":[],"mappings":"AAOA;IACI,2BAUC;IAPG;;;;;OAKG;IACH,wBAAkC;IAGtC;;;OAGG;IACH,aAFW,MAAM,QAIhB;IAED,qBAEC;IAED,yBAEC;CAsCJ;+BAnE8B,qBAAqB"}
|
package/src/engine/ecs/Entity.js
CHANGED
|
@@ -68,7 +68,7 @@ class Entity {
|
|
|
68
68
|
components = [];
|
|
69
69
|
|
|
70
70
|
/**
|
|
71
|
-
*
|
|
71
|
+
* Listeners added before the entity is build live here
|
|
72
72
|
* @type {{name:string,listener:(function|Function), context:*}[]}
|
|
73
73
|
*/
|
|
74
74
|
#deferredListeners = [];
|
|
@@ -451,7 +451,7 @@ class Entity {
|
|
|
451
451
|
|
|
452
452
|
r.dataset = dataset;
|
|
453
453
|
|
|
454
|
-
r.reference.bind(dataset,entity);
|
|
454
|
+
r.reference.bind(dataset, entity);
|
|
455
455
|
|
|
456
456
|
return r;
|
|
457
457
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityComponentDataset.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityComponentDataset.js"],"names":[],"mappings":"AA2GA;;;;;GAKG;AACH;IAEI;;;OAGG;IACH,wBAA+B;IAE/B;;;;;OAKG;IACH,yBAAsC;IAEtC;;;OAGG;IACH,2BAAkC;IAElC;;;OAGG;IACH,yBAAsB;IAEtB;;;;OAIG;IACH,4BAAgC;IAEhC;;;;OAIG;IACH,2BAAuB;IAEvB;;;OAGG;IACH,mBAAgB;IAEhB;;;;OAIG;IACH,oBAAgB;IAEhB;;;;;;;OAOG;IACH,mBAAe;IAEf;;;OAGG;IACH,0BAFU,MAAM,CAAC,MAAM,CAAC,CAEO;IAE/B;;;OAGG;IACH,0BAFU,MAAM,CAEe;IAG/B;;;;OAIG;IACH,+BAA4B;IAE5B;;;;OAIG;IACH,kCAA+B;IAE/B;;;OAGG;IACH,kBAAe;IAGf;;;;;;OAMG;IACH,iBALa,CAAC,EAAE,CAAC,UACN,GAAG,iBACH,CAAC,GACC,OAAO,CAAC,CAAC,CAAC,CAoCtB;IAED;;;;;OAKG;IACH,sBAJW,cAAc,cACd,OAAO,GACL,OAAO,CAqDnB;IAED;;;;;OAKG;IACH,yBAJW,cAAc,cACd,OAAO,GACL,OAAO,CAuDnB;IAED;;;OAGG;IACH,kBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,yBAFa,MAAM,CAIlB;IAED;;;;;OAKG;IACH,sBAJW,MAAM,kCAoChB;IAED;;;;OAIG;IACH,
|
|
1
|
+
{"version":3,"file":"EntityComponentDataset.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityComponentDataset.js"],"names":[],"mappings":"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"}
|
|
@@ -431,22 +431,29 @@ export class EntityComponentDataset {
|
|
|
431
431
|
|
|
432
432
|
/**
|
|
433
433
|
* Get all components associated with a given entity
|
|
434
|
-
* @
|
|
435
|
-
* @
|
|
434
|
+
* @param {number} entity_id
|
|
435
|
+
* @returns {[]} all components attached to the entity, array is not compacted
|
|
436
436
|
*/
|
|
437
|
-
getAllComponents(
|
|
438
|
-
assert.
|
|
437
|
+
getAllComponents(entity_id) {
|
|
438
|
+
assert.isNonNegativeInteger(entity_id, 'entity_id');
|
|
439
|
+
assert.ok(this.entityExists(entity_id), `Entity ${entity_id} doesn't exist`);
|
|
439
440
|
|
|
440
441
|
const ret = [];
|
|
441
442
|
|
|
442
443
|
const componentTypeCount = this.componentTypeCount;
|
|
443
|
-
const
|
|
444
|
-
const
|
|
444
|
+
const occupancy_start = componentTypeCount * entity_id;
|
|
445
|
+
const occupancy_end = occupancy_start + componentTypeCount;
|
|
445
446
|
|
|
446
|
-
|
|
447
|
+
const occupancy = this.componentOccupancy;
|
|
448
|
+
|
|
449
|
+
for (
|
|
450
|
+
let i = occupancy.nextSetBit(occupancy_start);
|
|
451
|
+
i < occupancy_end && i !== -1;
|
|
452
|
+
i = occupancy.nextSetBit(i + 1)
|
|
453
|
+
) {
|
|
447
454
|
const componentIndex = i % componentTypeCount;
|
|
448
455
|
|
|
449
|
-
ret[componentIndex] = this.components[componentIndex][
|
|
456
|
+
ret[componentIndex] = this.components[componentIndex][entity_id];
|
|
450
457
|
}
|
|
451
458
|
|
|
452
459
|
return ret;
|
|
@@ -968,7 +975,7 @@ export class EntityComponentDataset {
|
|
|
968
975
|
}
|
|
969
976
|
|
|
970
977
|
/**
|
|
971
|
-
* @template
|
|
978
|
+
* @template T
|
|
972
979
|
* @param {T} klass
|
|
973
980
|
* @returns {number}
|
|
974
981
|
*/
|
|
@@ -1017,6 +1024,10 @@ export class EntityComponentDataset {
|
|
|
1017
1024
|
|
|
1018
1025
|
assert.defined(componentInstance, "componentInstance");
|
|
1019
1026
|
|
|
1027
|
+
/**
|
|
1028
|
+
*
|
|
1029
|
+
* @type {Class<C>}
|
|
1030
|
+
*/
|
|
1020
1031
|
const klass = componentInstance.constructor;
|
|
1021
1032
|
|
|
1022
1033
|
const componentTypeIndex = this.__type_to_index_map.get(klass);
|
|
@@ -1836,7 +1847,7 @@ export class EntityComponentDataset {
|
|
|
1836
1847
|
}
|
|
1837
1848
|
|
|
1838
1849
|
/**
|
|
1839
|
-
* Tells
|
|
1850
|
+
* Tells if dataset has any entities
|
|
1840
1851
|
* @returns {boolean}
|
|
1841
1852
|
*/
|
|
1842
1853
|
isEmpty() {
|
|
@@ -1846,14 +1857,21 @@ export class EntityComponentDataset {
|
|
|
1846
1857
|
/**
|
|
1847
1858
|
*
|
|
1848
1859
|
* @param {function(entityIndex:number)} visitor
|
|
1860
|
+
* @param {*} [thisArg]
|
|
1849
1861
|
*/
|
|
1850
|
-
traverseEntityIndices(visitor) {
|
|
1862
|
+
traverseEntityIndices(visitor, thisArg) {
|
|
1851
1863
|
let entityIndex;
|
|
1852
1864
|
|
|
1853
1865
|
const occupancy = this.entityOccupancy;
|
|
1854
1866
|
|
|
1855
|
-
for (
|
|
1856
|
-
|
|
1867
|
+
for (
|
|
1868
|
+
entityIndex = occupancy.nextSetBit(0);
|
|
1869
|
+
entityIndex !== -1;
|
|
1870
|
+
entityIndex = occupancy.nextSetBit(entityIndex + 1)
|
|
1871
|
+
) {
|
|
1872
|
+
|
|
1873
|
+
visitor.call(thisArg, entityIndex);
|
|
1874
|
+
|
|
1857
1875
|
}
|
|
1858
1876
|
}
|
|
1859
1877
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityManager.js"],"names":[],"mappings":";;;wBAcU,MAAM;;;;;;iCAWN,MAAM;;;;;;;;;AAWhB;IAEI;;;OAGG;IACH,kBAFU,iCAAQ,CAEL;IAEb
|
|
1
|
+
{"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityManager.js"],"names":[],"mappings":";;;wBAcU,MAAM;;;;;;iCAWN,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;;;;OAIG;IACH,gEAwEC;IAED;;;;OAIG;IACH,2BAHW,KAAK,GACH,OAAO,iCAAS,CA0B5B;IAED;;;;;OAKG;IACH,kCAJW,KAAK,SACL,WAAW,GACT,OAAO,iCAAS,CAsB5B;IAED;;;;OAIG;IACH,iEAkEC;CACJ;uBA7yBsD,aAAa;mBANjD,oCAAoC"}
|
|
@@ -34,6 +34,10 @@ export const EntityManagerState = {
|
|
|
34
34
|
Stopped: 5
|
|
35
35
|
};
|
|
36
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Brings together {@link System}s and an {@link EntityComponentDataset}
|
|
39
|
+
* Main entry point into the simulation process
|
|
40
|
+
*/
|
|
37
41
|
export class EntityManager {
|
|
38
42
|
|
|
39
43
|
/**
|
|
@@ -44,12 +48,14 @@ export class EntityManager {
|
|
|
44
48
|
|
|
45
49
|
/**
|
|
46
50
|
* @readonly
|
|
51
|
+
* @private
|
|
47
52
|
* @type {System[]}
|
|
48
53
|
*/
|
|
49
54
|
systemsExecutionOrder = [];
|
|
50
55
|
|
|
51
56
|
/**
|
|
52
57
|
* @readonly
|
|
58
|
+
* @private
|
|
53
59
|
* @type {EntityObserver[]}
|
|
54
60
|
*/
|
|
55
61
|
systemObservers = [];
|
|
@@ -74,6 +80,8 @@ export class EntityManager {
|
|
|
74
80
|
state = EntityManagerState.Initial;
|
|
75
81
|
|
|
76
82
|
/**
|
|
83
|
+
* Track remainders of simulation time for fixed step
|
|
84
|
+
* Needed for accurate time keeping
|
|
77
85
|
* @private
|
|
78
86
|
* @readonly
|
|
79
87
|
* @type {Map<System, number>}
|
|
@@ -102,7 +110,8 @@ export class EntityManager {
|
|
|
102
110
|
dataset = null;
|
|
103
111
|
|
|
104
112
|
/**
|
|
105
|
-
*
|
|
113
|
+
* Whenever a system is added or removed, optimal execution plan changes, this flag tells us to rebuild the current plan
|
|
114
|
+
* see {@link #systemsExecutionOrder}
|
|
106
115
|
* @type {boolean}
|
|
107
116
|
* @private
|
|
108
117
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityObserver.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityObserver.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityObserver.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityObserver.js"],"names":[],"mappings":"AAGA;IAoBI;;;;;;;OAOG;IACH,0FAHW,GAAC,EA+CX;IAvED;;;OAGG;IACH,eAFU,MAAM,CAEa;IAE7B;;;;OAIG;IACH,uBAFU,MAAM,EAAE,CAES;IAE3B;;;OAGG;IACH,SAFU,sBAAsB,GAAC,IAAI,CAEtB;IA0BX;;OAEG;IACH,oBAFU,MAAM,CAE2B;IAE3C;;;OAGG;IACH,kBAFU,CAAS,IAAK,eAAC,CAEgB;IAEzC;;;OAGG;IACH,gBAFU,CAAS,IAAK,eAAC,CAEW;IAEpC;;;OAGG;IACH,sBAAoC;IAEpC;;;OAGG;IACH,SAFU,GAAC,CAEW;IAG1B;;;OAGG;IACH,qCAqBC;IAED;;;OAGG;IACH,iBAFW,sBAAsB,QAIhC;IAED,mBAGC;CACJ;uBAnHsB,6BAA6B"}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* @param {Array} componentTypes
|
|
4
|
-
* @param {function(components:Array)} completedCallback "this" parameter will be set to entity ID
|
|
5
|
-
* @param {function(components:Array)} brokenCallback "this" parameter will be set to entity ID
|
|
6
|
-
* @constructor
|
|
7
|
-
* @class
|
|
8
|
-
*/
|
|
9
1
|
import { assert } from "../../core/assert.js";
|
|
10
2
|
import { BitSet } from "../../core/binary/BitSet.js";
|
|
11
3
|
|
|
@@ -32,8 +24,8 @@ export class EntityObserver {
|
|
|
32
24
|
/**
|
|
33
25
|
*
|
|
34
26
|
* @param {Array} componentTypes
|
|
35
|
-
* @param {function} completedCallback
|
|
36
|
-
* @param {function} brokenCallback
|
|
27
|
+
* @param {function(components:Array)} completedCallback
|
|
28
|
+
* @param {function(components:Array)} brokenCallback
|
|
37
29
|
* @param {*} [thisArg=undefined] will assume {@link this} value inside callbacks
|
|
38
30
|
* @constructor
|
|
39
31
|
*/
|
|
@@ -10,6 +10,13 @@ export class EntityReference {
|
|
|
10
10
|
* @return {EntityReference}
|
|
11
11
|
*/
|
|
12
12
|
static from(id: number, generation: number): EntityReference;
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @param {EntityComponentDataset} ecd
|
|
16
|
+
* @param {number} id
|
|
17
|
+
* @returns {EntityReference}
|
|
18
|
+
*/
|
|
19
|
+
static bind(ecd: EntityComponentDataset, id: number): EntityReference;
|
|
13
20
|
/**
|
|
14
21
|
* Entity ID
|
|
15
22
|
* When entity is live - this is the entity ID inside associated `EntityComponentDataset`, when the entity is not live - it's set to -1
|
|
@@ -50,9 +57,10 @@ export class EntityReference {
|
|
|
50
57
|
*/
|
|
51
58
|
verify(ecd: EntityComponentDataset): boolean;
|
|
52
59
|
/**
|
|
53
|
-
*
|
|
60
|
+
* Destroys entity bound to this reference
|
|
61
|
+
* If the reference is invalid for the given dataset - does nothing
|
|
54
62
|
* @param {EntityComponentDataset} ecd
|
|
55
|
-
* @returns {boolean}
|
|
63
|
+
* @returns {boolean} true if entity was destroyed, false otherwise
|
|
56
64
|
*/
|
|
57
65
|
destroy(ecd: EntityComponentDataset): boolean;
|
|
58
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityReference.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityReference.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;
|
|
1
|
+
{"version":3,"file":"EntityReference.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityReference.js"],"names":[],"mappings":"AAEA;;;GAGG;AACH;IAiHI;;;;;OAKG;IACH,gBAJW,MAAM,cACN,MAAM,GACL,eAAe,CAQ1B;IAED;;;;;OAKG;IACH,iBAJW,sBAAsB,MACtB,MAAM,GACJ,eAAe,CAQ3B;IAzID;;;;OAIG;IACH,IAFU,MAAM,CAET;IAEP;;;;OAIG;IACH,YAFU,MAAM,CAED;IAEf;;;OAGG;IACH,YAFW,eAAe,QAKzB;IAED;;;OAGG;IACH,SAFa,eAAe,CAQ3B;IAED;;;OAGG;IACH,QAFY,MAAM,CAIjB;IAED;;;;OAIG;IACH,cAHW,eAAe,GACd,OAAO,CAMlB;IAED;;;;OAIG;IACH,YAHW,sBAAsB,GACpB,OAAO,CAQnB;IAED;;;;;OAKG;IACH,aAHW,sBAAsB,GACpB,OAAO,CASnB;IAED;;;;OAIG;IACH,UAHW,sBAAsB,UACtB,MAAM,QAShB;IAED;;;;OAIG;IACH,SAHW,MAAM,cACN,MAAM,QAUhB;IA+BL;;;OAGG;IACH,4BAFU,OAAO,CAE0B;CAN1C;;cAWS,eAAe"}
|
|
@@ -24,7 +24,7 @@ export class EntityReference {
|
|
|
24
24
|
*
|
|
25
25
|
* @param {EntityReference} other
|
|
26
26
|
*/
|
|
27
|
-
copy(other){
|
|
27
|
+
copy(other) {
|
|
28
28
|
this.id = other.id;
|
|
29
29
|
this.generation = other.generation;
|
|
30
30
|
}
|
|
@@ -33,7 +33,7 @@ export class EntityReference {
|
|
|
33
33
|
*
|
|
34
34
|
* @returns {EntityReference}
|
|
35
35
|
*/
|
|
36
|
-
clone(){
|
|
36
|
+
clone() {
|
|
37
37
|
const r = new EntityReference();
|
|
38
38
|
|
|
39
39
|
r.copy(this);
|
|
@@ -74,9 +74,10 @@ export class EntityReference {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
77
|
+
* Destroys entity bound to this reference
|
|
78
|
+
* If the reference is invalid for the given dataset - does nothing
|
|
78
79
|
* @param {EntityComponentDataset} ecd
|
|
79
|
-
* @returns {boolean}
|
|
80
|
+
* @returns {boolean} true if entity was destroyed, false otherwise
|
|
80
81
|
*/
|
|
81
82
|
destroy(ecd) {
|
|
82
83
|
if (this.verify(ecd)) {
|
|
@@ -92,7 +93,10 @@ export class EntityReference {
|
|
|
92
93
|
* @param {EntityComponentDataset} ecd
|
|
93
94
|
* @param {number} entity
|
|
94
95
|
*/
|
|
95
|
-
bind(ecd, entity){
|
|
96
|
+
bind(ecd, entity) {
|
|
97
|
+
assert.defined(ecd, 'ecd');
|
|
98
|
+
assert.equal(ecd.isEntityComponentDataset, true, 'ecd.isEntityComponentDataset !== true');
|
|
99
|
+
|
|
96
100
|
const generation = ecd.getEntityGeneration(entity);
|
|
97
101
|
|
|
98
102
|
this.from(entity, generation);
|
|
@@ -103,7 +107,7 @@ export class EntityReference {
|
|
|
103
107
|
* @param {number} id
|
|
104
108
|
* @param {number} generation
|
|
105
109
|
*/
|
|
106
|
-
from(id, generation){
|
|
110
|
+
from(id, generation) {
|
|
107
111
|
|
|
108
112
|
assert.isNonNegativeInteger(id, 'id');
|
|
109
113
|
assert.isNonNegativeInteger(generation, 'generation');
|
|
@@ -126,6 +130,20 @@ export class EntityReference {
|
|
|
126
130
|
|
|
127
131
|
return r;
|
|
128
132
|
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
*
|
|
136
|
+
* @param {EntityComponentDataset} ecd
|
|
137
|
+
* @param {number} id
|
|
138
|
+
* @returns {EntityReference}
|
|
139
|
+
*/
|
|
140
|
+
static bind(ecd, id) {
|
|
141
|
+
const r = new EntityReference();
|
|
142
|
+
|
|
143
|
+
r.bind(ecd, id);
|
|
144
|
+
|
|
145
|
+
return r;
|
|
146
|
+
}
|
|
129
147
|
}
|
|
130
148
|
|
|
131
149
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Terrain.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/terrain/ecs/Terrain.js"],"names":[],"mappings":";AAsCA;IACI;;;OAGG;IACH,aAFU,MAAM,CAEC;IAEjB;;;OAGG;IACH,cAAU;IAEV;;;OAGG;IACH,WAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,eAFU,sBAAsB,CAEa;IAE7C;;;OAGG;IACH,mBAFU,MAAM,CAE6B;IAE7C;;;;OAIG;IACH,YAFU,MAAM,CAED;IAEf;;;OAGG;IACH,eAFU,OAAO,CAEQ;IACzB;;;OAGG;IACH,SAFU,cAAc,CAEO;IAC/B;;;OAGG;IACH,gBAFU,YAAY,CAEK;IAE3B;;;OAGG;IACH,iBAFU,aAAa,CAEM;IAE7B;;;OAGG;IACH,wBAFU,WAAW,CAEoB;IAEzC;;;OAGG;IACH,cAFU,SAAS,CAEG;IAIlB;;;OAGG;IACH,QAFU,MAAM,CAEU;IAG1B;;;OAGG;IACH,aAFU,MAAM,CAEI;IAGpB;;;OAGG;IACH,eAFU,SAAS,CAE4B;IAE/C;;;OAGG;IACH,eAFU,WAAW,CAE4G;IAejI;;OAEG;IACH,UAFU,cAAc,CAEa;IAErC;;;OAGG;IACH,eAFU,OAAO,CAEQ;IAEzB;;;;OAIG;IACH,2BAAuC;IAGvC;;;OAGG;IACH,SAFU,cAAc,CAEoB;IAE5C;;;;OAIG;IACH,gBAGE;IAMF;;;;OAIG;IACH,uBAA0B;IAE1B;;;;;OAKG;IACH,6BAAgC;IAEhC;;;;;OAKG;IACH,iCAAoC;IAEpC;;;OAGG;IACH,oBAAuB;IAEvB;;;;OAIG;IACH,6BAAgC;IAKpC;;;;OAIG;IACH,cAHW,MAAM,GAAC,YAAY,GACjB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,YAAY,GACjB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,YAAY,SACnB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,YAAY,GACjB,OAAO,CAInB;IAED;;;OAGG;IACH,eAFW,cAAc,QA4BxB;IAED;;OAEG;IACH,eAyBC;IAED,gBAIC;IAED,mBAmBC;IAED,iCA4BC;IAED,6BAEC;IAED;;;;;;OAMG;IACH,gBANW,MAAM,KACN,MAAM,6EAiBhB;IAED;;;;;;;;;;OAUG;IACH,yBATW,aAAa,WACb,MAAM,WACN,MAAM,WACN,MAAM,cACN,MAAM,cACN,MAAM,cACN,MAAM,GACJ,OAAO,CAQnB;IAED;;;;;;OAMG;IACH,gBALW,OAAO,aACP,OAAO,+CAMjB;IAED;;;;;;;OAOG;IACH,mBANW,MAAM,KACN,MAAM,6EAOhB;IAED;;;;;;OAMG;IACH,kCALW,aAAa,KACb,MAAM,KACN,MAAM,GACL,OAAO,CAIlB;IAED;;;;;OAKG;IACH,gCAJW,KAAK,CAAE,OAAO,CAAC,qDAmDzB;IAED;;;;;;OAMG;IACH,wBALW,KAAK,CAAE,OAAO,CAAC,UACf,OAAO,EAAE,qDAkBnB;IAED;;;;;OAKG;IACH,sBAJW,MAAM,KACN,MAAM,UACN,OAAO,QAgBjB;IAED;;;;OAIG;IACH,uBAHW,OAAO,UACP,OAAO,QASjB;IAED;;;OAGG;IACH,gCAsBC;IAED,uBA8BC;IAED;;;OAGG;IACH,kBAFW,IAAI,GAAC,YAAY,GAAC,MAAM,EAAE,EAMpC;IAED;;;OAGG;IACH,iBAFY,YAAY,CAIvB;IAED;;;OAGG;IACH,gBAFW,YAAY,UA2BtB;IAED;;;OAGG;IACH,iBAFa,OAAO,CAAC,IAAI,CAAC,CAKzB;IAED,4BAiBC;IAED;;;OAGG;IACH,8BAFW,YAAY,QAItB;IAED,0BAGC;IAED,oCAUC;IAED,yBAEC;IAED,2BAeC;IAED,uBAkBC;IAED;;;OAGG;IACH,oBAFW,YAAY,QAoDtB;IArBG;;;;OAIG;IACH,WAHU,OAAO,CAAC,cAAc,CAAC,CAGc;IAE/C;;;;OAIG;IACH,QAHU,OAAO,CAAC,kBAAkB,CAAC,CAGM;IAW/C;;;OAGG;IACH,aAFY,kBAAkB,CAI7B;IAED;;;OAGG;IACH,aAFa,OAAO,GAAC,IAAI,CAcxB;IAED;;;;OAIG;IACH,wBAHW,MAAM,GACL,OAAO,CAAC,WAAW,CAAC,CAqD/B;IAED;;;;OAIG;IACH;;;;eAFW,MAAM,QAmDhB;IAxBG,kBAA4B;IA0BhC
|
|
1
|
+
{"version":3,"file":"Terrain.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/terrain/ecs/Terrain.js"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import ClingToTerrain from "./ClingToTerrain.js";
|
|
|
4
4
|
export class ClingToTerrainSerializationAdapter extends BinaryClassSerializationAdapter {
|
|
5
5
|
|
|
6
6
|
klass = ClingToTerrain;
|
|
7
|
-
version =
|
|
7
|
+
version = 1;
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
*
|
|
@@ -12,8 +12,8 @@ export class ClingToTerrainSerializationAdapter extends BinaryClassSerialization
|
|
|
12
12
|
* @param {ClingToTerrain} value
|
|
13
13
|
*/
|
|
14
14
|
serialize(buffer, value) {
|
|
15
|
-
//TODO serialize rotation speed
|
|
16
15
|
buffer.writeUint8(value.normalAlign ? 1 : 0);
|
|
16
|
+
buffer.writeFloat32(value.rotationSpeed);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
/**
|
|
@@ -22,7 +22,7 @@ export class ClingToTerrainSerializationAdapter extends BinaryClassSerialization
|
|
|
22
22
|
* @param {ClingToTerrain} value
|
|
23
23
|
*/
|
|
24
24
|
deserialize(buffer, value) {
|
|
25
|
-
//TODO deserialize rotation speed
|
|
26
25
|
value.normalAlign = buffer.readUint8() !== 0;
|
|
26
|
+
value.rotationSpeed = buffer.readFloat32();
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClingToTerrainSerializationUpgrader_0_1.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationUpgrader_0_1.js"],"names":[],"mappings":"AAEA;CAqBC;oCAvBmC,gDAAgD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BinaryClassUpgrader } from "../../../storage/binary/BinaryClassUpgrader.js";
|
|
2
|
+
|
|
3
|
+
export class ClingToTerrainSerializationUpgrader_0_1 extends BinaryClassUpgrader {
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
__startVersion = 0;
|
|
7
|
+
__targetVersion = 1;
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @param {BinaryBuffer} source
|
|
13
|
+
* @param {BinaryBuffer} target
|
|
14
|
+
*/
|
|
15
|
+
upgrade(source, target) {
|
|
16
|
+
// Read the old data
|
|
17
|
+
const normalAlign = source.readUint8();
|
|
18
|
+
|
|
19
|
+
// Write the old data to the new format
|
|
20
|
+
target.writeUint8(normalAlign);
|
|
21
|
+
// Write a default value for the new field (rotationSpeed)
|
|
22
|
+
target.writeFloat32(3); // Use the default value from the ClingToTerrain class
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplatMapping.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/ecs/terrain/ecs/splat/SplatMapping.js"],"names":[],"mappings":"AAaA;;GAEG;AACH;IAEQ;;;OAGG;IACH,MAFU,OAAO,CAEY;IAE7B;;;OAGG;IACH,OAFU,MAAM,CAEF;IAOd;;;OAGG;IACH,eAFU,kBAAkB,CAEiE;IAO7F;;;;OAIG;IACH,iBAFU,WAAW,CAEoE;IAG7F;;;;MAQC;IAED;;;;;;aA6BC;IAED;;;;;OAKG;IACH,8BAJW,SAAS,SACT,MAAM,YACN,MAAM,
|
|
1
|
+
{"version":3,"file":"SplatMapping.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/ecs/terrain/ecs/splat/SplatMapping.js"],"names":[],"mappings":"AAaA;;GAEG;AACH;IAEQ;;;OAGG;IACH,MAFU,OAAO,CAEY;IAE7B;;;OAGG;IACH,OAFU,MAAM,CAEF;IAOd;;;OAGG;IACH,eAFU,kBAAkB,CAEiE;IAO7F;;;;OAIG;IACH,iBAFU,WAAW,CAEoE;IAG7F;;;;MAQC;IAED;;;;;;aA6BC;IAED;;;;;OAKG;IACH,8BAJW,SAAS,SACT,MAAM,YACN,MAAM,QA0BhB;IAED;;;;;OAKG;IACH,gCAJW,SAAS,SACT,MAAM,YACN,MAAM,QA2BhB;IAED;;;;;;;OAOG;IACH,wBANW,UAAU,gBACV,MAAM,gBACN,MAAM,eACN,MAAM,gBACN,MAAM,QA2ChB;IAED;;;;;;;OAOG;IACH,4BANW,UAAU,WACV,MAAM,WACN,MAAM,SACN,MAAM,UACN,MAAM,QAuChB;IAED;;;;;;OAMG;IACH,gBALW,MAAM,KACN,MAAM,iBACN,MAAM,GACJ,MAAM,CAKlB;IAED;;;;OAIG;IACH,6BAHW,MAAM,GACJ,SAAS,CAcrB;IAED;;OAEG;IACH,kBAFa,iBAAiB,GAAC,UAAU,CAIxC;IAED;;;OAGG;IACH,oBAFa,iBAAiB,GAAC,UAAU,CAIxC;IAED;;;OAGG;IACH,uBAFY,SAAS,CAIpB;IAED;;;OAGG;IACH,YAFY,IAAI,EAAE,CAKjB;IAED;;;;OAIG;IACH,gCAHW,UAAU,GACR,IAAI,CAmDhB;IAED,gBAGC;IAED;;;;OAIG;IACH,yBAHW,MAAM,GACJ,OAAO,CAuCnB;IAED;;;;OAIG;IACH,8BAHW,MAAM,SACN,MAAM,QAqBhB;IAED,uBAiBC;IAED;;;;;;OAMG;IACH,cALW,MAAM,UACN,MAAM,SACN,MAAM,cACN,OAAO,QAsDjB;CACJ;oBA9gBmB,qCAAqC;mCALiD,OAAO;4BAAP,OAAO;0BAUvF,mDAAmD"}
|