@woosh/meep-engine 2.126.14 → 2.126.16
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/binary/BinaryBuffer.d.ts +11 -1
- package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
- package/src/core/binary/BinaryBuffer.js +18 -8
- package/src/core/collection/array/array_push_if_unique.d.ts +4 -3
- package/src/core/collection/array/array_push_if_unique.d.ts.map +1 -1
- package/src/core/collection/array/array_push_if_unique.js +4 -3
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.d.ts +4 -0
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.d.ts.map +1 -1
- package/src/core/geom/3d/quaternion/quat_decode_from_uint32.js +4 -0
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.d.ts +4 -0
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.d.ts.map +1 -1
- package/src/core/geom/3d/quaternion/quat_encode_to_uint32.js +4 -0
- package/src/core/geom/Vector3.d.ts +2 -1
- package/src/core/geom/Vector3.d.ts.map +1 -1
- package/src/core/geom/Vector3.js +2 -1
- package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
- package/src/engine/ecs/EntityComponentDataset.js +1 -0
- package/src/engine/ecs/EntityManager.d.ts +3 -0
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +3 -0
- package/src/engine/ecs/EntityObserver.d.ts.map +1 -1
- package/src/engine/ecs/EntityObserver.js +3 -0
- package/src/engine/ecs/EntityReference.d.ts +10 -8
- package/src/engine/ecs/EntityReference.d.ts.map +1 -1
- package/src/engine/ecs/EntityReference.js +10 -8
- package/src/engine/ecs/System.d.ts.map +1 -1
- package/src/engine/ecs/System.js +3 -0
- package/src/engine/ecs/parent/ParentEntity.d.ts.map +1 -1
- package/src/engine/ecs/parent/ParentEntity.js +4 -1
- package/src/engine/ecs/storage/BinaryBufferDeSerializer.d.ts +17 -1
- package/src/engine/ecs/storage/BinaryBufferDeSerializer.d.ts.map +1 -1
- package/src/engine/ecs/storage/BinaryBufferDeSerializer.js +20 -1
- package/src/engine/ecs/storage/BinaryBufferSerializer.d.ts +17 -0
- package/src/engine/ecs/storage/BinaryBufferSerializer.d.ts.map +1 -1
- package/src/engine/ecs/storage/BinaryBufferSerializer.js +24 -0
- package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.d.ts +3 -0
- package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.js +3 -0
- package/src/engine/ecs/storage/binary/BinaryClassUpgrader.d.ts +5 -0
- package/src/engine/ecs/storage/binary/BinaryClassUpgrader.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/BinaryClassUpgrader.js +6 -0
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts +9 -5
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.js +29 -9
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts +5 -0
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js +78 -75
- package/src/engine/ecs/storage/binary/executeBinaryClassUpgraderChain.d.ts +3 -3
- package/src/engine/ecs/storage/binary/executeBinaryClassUpgraderChain.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/executeBinaryClassUpgraderChain.js +12 -6
- package/src/engine/ecs/transform/Transform.d.ts +0 -1
- package/src/engine/ecs/transform/Transform.d.ts.map +1 -1
- package/src/engine/ecs/transform/Transform.js +0 -1
- package/src/engine/graphics/texture/sampler/Sampler2D.d.ts +2 -0
- package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/Sampler2D.js +2 -0
- package/src/engine/input/devices/InputDeviceSwitch.d.ts.map +1 -1
- package/src/engine/input/devices/InputDeviceSwitch.js +3 -0
- package/src/engine/input/devices/KeyboardDevice.d.ts.map +1 -1
- package/src/engine/input/devices/KeyboardDevice.js +5 -1
- package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
- package/src/engine/input/devices/PointerDevice.js +3 -0
- package/src/engine/intelligence/behavior/Behavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/Behavior.js +3 -1
- package/src/engine/intelligence/behavior/SelectorBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/SelectorBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/SelectorBehavior.js +2 -0
- package/src/engine/intelligence/behavior/behavior_to_dot.d.ts +4 -0
- package/src/engine/intelligence/behavior/behavior_to_dot.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/behavior_to_dot.js +4 -0
- package/src/engine/intelligence/behavior/composite/CompositeBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/composite/CompositeBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/composite/CompositeBehavior.js +3 -0
- package/src/engine/intelligence/behavior/composite/ParallelBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/composite/ParallelBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/composite/ParallelBehavior.js +3 -0
- package/src/engine/intelligence/behavior/composite/SequenceBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/composite/SequenceBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/composite/SequenceBehavior.js +3 -0
- package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.js +6 -1
- package/src/engine/intelligence/behavior/decorator/IgnoreFailureBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/decorator/IgnoreFailureBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/IgnoreFailureBehavior.js +6 -1
- package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.js +3 -0
- package/src/engine/intelligence/behavior/decorator/RepeatBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/decorator/RepeatBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/RepeatBehavior.js +3 -0
- package/src/engine/intelligence/behavior/decorator/RepeatUntilFailureBehavior.d.ts +3 -0
- package/src/engine/intelligence/behavior/decorator/RepeatUntilFailureBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/RepeatUntilFailureBehavior.js +3 -0
- package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.js +6 -1
- package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +3 -0
- package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/BehaviorComponent.js +3 -0
- package/src/engine/intelligence/behavior/ecs/BehaviorSystem.d.ts +3 -0
- package/src/engine/intelligence/behavior/ecs/BehaviorSystem.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/BehaviorSystem.js +3 -0
- 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 +3 -0
- package/src/engine/intelligence/behavior/ecs/EntityBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/ecs/EntityBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/EntityBehavior.js +8 -3
- package/src/engine/intelligence/behavior/ecs/KillBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/ecs/KillBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/KillBehavior.js +2 -0
- package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/SendEventBehavior.js +2 -0
- package/src/engine/intelligence/behavior/ecs/WaitForEventBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/ecs/WaitForEventBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/ecs/WaitForEventBehavior.js +2 -0
- package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/primitive/ActionBehavior.js +2 -0
- package/src/engine/intelligence/behavior/primitive/FailingBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/primitive/FailingBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/primitive/FailingBehavior.js +5 -0
- package/src/engine/intelligence/behavior/primitive/PromiseBehavior.d.ts +5 -0
- package/src/engine/intelligence/behavior/primitive/PromiseBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/primitive/PromiseBehavior.js +5 -0
- package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.js +2 -0
- package/src/engine/intelligence/behavior/selector/WeightedElement.d.ts +2 -0
- package/src/engine/intelligence/behavior/selector/WeightedElement.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/selector/WeightedElement.js +2 -0
- package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.js +2 -0
- package/src/engine/intelligence/behavior/util/BranchBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/util/BranchBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/util/BranchBehavior.js +2 -0
- package/src/engine/intelligence/behavior/util/DelayBehavior.d.ts +3 -1
- package/src/engine/intelligence/behavior/util/DelayBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/util/DelayBehavior.js +3 -1
- package/src/engine/intelligence/behavior/util/LogMessageBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/util/LogMessageBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/util/LogMessageBehavior.js +2 -0
- package/src/engine/intelligence/behavior/util/RandomDelayBehavior.d.ts +2 -0
- package/src/engine/intelligence/behavior/util/RandomDelayBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/util/RandomDelayBehavior.js +2 -0
- package/src/engine/intelligence/blackboard/Blackboard.d.ts.map +1 -1
- package/src/engine/intelligence/blackboard/Blackboard.js +5 -1
- package/src/engine/intelligence/mcts/MonteCarlo.d.ts +2 -0
- package/src/engine/intelligence/mcts/MonteCarlo.d.ts.map +1 -1
- package/src/engine/intelligence/mcts/MonteCarlo.js +2 -0
- package/src/engine/intelligence/mcts/MoveEdge.d.ts +2 -0
- package/src/engine/intelligence/mcts/MoveEdge.d.ts.map +1 -1
- package/src/engine/intelligence/mcts/MoveEdge.js +2 -0
- package/src/engine/intelligence/mcts/StateNode.d.ts +2 -0
- package/src/engine/intelligence/mcts/StateNode.d.ts.map +1 -1
- package/src/engine/intelligence/mcts/StateNode.js +2 -0
- package/src/engine/intelligence/optimization/RandomOptimizer.d.ts +8 -8
- package/src/engine/intelligence/optimization/RandomOptimizer.d.ts.map +1 -1
- package/src/engine/intelligence/optimization/RandomOptimizer.js +37 -40
- package/src/engine/intelligence/resource/ActionSequence.d.ts +3 -1
- package/src/engine/intelligence/resource/ActionSequence.d.ts.map +1 -1
- package/src/engine/intelligence/resource/ActionSequence.js +10 -13
- package/src/engine/intelligence/resource/Resource.d.ts +2 -0
- package/src/engine/intelligence/resource/Resource.d.ts.map +1 -1
- package/src/engine/intelligence/resource/Resource.js +2 -0
- package/src/engine/intelligence/resource/ResourceAllocation.d.ts +5 -0
- package/src/engine/intelligence/resource/ResourceAllocation.d.ts.map +1 -1
- package/src/engine/intelligence/resource/ResourceAllocation.js +5 -0
- package/src/engine/intelligence/resource/ResourceAllocationBid.d.ts +4 -1
- package/src/engine/intelligence/resource/ResourceAllocationBid.d.ts.map +1 -1
- package/src/engine/intelligence/resource/ResourceAllocationBid.js +4 -1
- package/src/engine/intelligence/resource/ResourceAllocationSolver.d.ts +5 -0
- package/src/engine/intelligence/resource/ResourceAllocationSolver.d.ts.map +1 -1
- package/src/engine/intelligence/resource/ResourceAllocationSolver.js +26 -21
- package/src/engine/intelligence/resource/StrategicResourceAllocator.d.ts +16 -3
- package/src/engine/intelligence/resource/StrategicResourceAllocator.d.ts.map +1 -1
- package/src/engine/intelligence/resource/StrategicResourceAllocator.js +32 -14
- package/src/engine/intelligence/resource/TacticalModule.d.ts +2 -0
- package/src/engine/intelligence/resource/TacticalModule.d.ts.map +1 -1
- package/src/engine/intelligence/resource/TacticalModule.js +2 -0
- package/src/engine/simulation/Ticker.d.ts +3 -0
- package/src/engine/simulation/Ticker.d.ts.map +1 -1
- package/src/engine/simulation/Ticker.js +3 -0
- package/src/engine/intelligence/behavior/behavior_to_dot.prototype.d.ts +0 -2
- package/src/engine/intelligence/behavior/behavior_to_dot.prototype.d.ts.map +0 -1
- package/src/engine/intelligence/behavior/behavior_to_dot.prototype.js +0 -55
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryClassSerializationAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.js"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"BinaryClassSerializationAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH;IAEI;;;;OAIG;IACH,iBAFU,KAAK,CAEF;IAEb;;;;;;OAMG;IACH,mBAFU,MAAM,CAEJ;IAEZ;;;OAGG;IACH,SAHa,CAAC,KACD,KAAK,CAAC,CAAC,CAAC,CAIpB;IAED;;;OAGG;IACH,cAFa,MAAM,CAIlB;IAED,iCAEC;IAED;;;OAGG;IACH,iBAEC;IAED;;;OAGG;IACH,kBAHW,YAAY,oBAKtB;IAED;;;;OAIG;IACH,oBAHW,YAAY,oBAKtB;IAGL;;;OAGG;IACH,4CAFU,OAAO,CAE0D;CAN1E"}
|
|
@@ -28,5 +28,10 @@ export class BinaryClassUpgrader {
|
|
|
28
28
|
* @returns {void}
|
|
29
29
|
*/
|
|
30
30
|
upgrade(source: BinaryBuffer, target: BinaryBuffer): void;
|
|
31
|
+
/**
|
|
32
|
+
* @readonly
|
|
33
|
+
* @type {boolean}
|
|
34
|
+
*/
|
|
35
|
+
readonly isBinaryClassUpgrader: boolean;
|
|
31
36
|
}
|
|
32
37
|
//# sourceMappingURL=BinaryClassUpgrader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryClassUpgrader.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/storage/binary/BinaryClassUpgrader.js"],"names":[],"mappings":"AAAA;IAEI;;;;OAIG;IACH,0BAHU,MAAM,CAGG;IACnB;;;;OAIG;IACH,2BAHU,MAAM,CAGI;IAEpB;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,oBAFa,MAAM,CAIlB;IAED;;;;;OAKG;IACH,gBAJW,YAAY,UACZ,YAAY,GACV,IAAI,CAIhB;
|
|
1
|
+
{"version":3,"file":"BinaryClassUpgrader.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/storage/binary/BinaryClassUpgrader.js"],"names":[],"mappings":"AAAA;IAEI;;;;OAIG;IACH,0BAHU,MAAM,CAGG;IACnB;;;;OAIG;IACH,2BAHU,MAAM,CAGI;IAEpB;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,oBAFa,MAAM,CAIlB;IAED;;;;;OAKG;IACH,gBAJW,YAAY,UACZ,YAAY,GACV,IAAI,CAIhB;IAGL;;;OAGG;IACH,gCAFU,OAAO,CAEkC;CANlD"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Contains serializers for various data types as well as data upgraders which enable support for serialization format changes
|
|
3
|
+
*
|
|
4
|
+
* @author Alex Goldring
|
|
5
|
+
* @copyright Company Named Limited (c) 2025
|
|
3
6
|
*/
|
|
4
7
|
export class BinarySerializationRegistry {
|
|
5
8
|
/**
|
|
@@ -21,17 +24,18 @@ export class BinarySerializationRegistry {
|
|
|
21
24
|
registerAdapters(adapters: BinaryClassSerializationAdapter[]): void;
|
|
22
25
|
/**
|
|
23
26
|
*
|
|
24
|
-
* @param {string} [className]
|
|
25
27
|
* @param {BinaryClassSerializationAdapter} adapter
|
|
26
|
-
* @
|
|
28
|
+
* @param {string} [className] if not specified, will be taken from the {@link BinaryClassSerializationAdapter.klass.typeName}
|
|
29
|
+
* @returns {boolean} true if added, false if adapter already existed
|
|
30
|
+
* @throws {Error} if `className` could not be inferred
|
|
27
31
|
*/
|
|
28
32
|
registerAdapter(adapter: BinaryClassSerializationAdapter, className?: string): boolean;
|
|
29
33
|
/**
|
|
30
34
|
*
|
|
31
35
|
* @param {string} className
|
|
32
|
-
* @returns {BinaryClassSerializationAdapter}
|
|
36
|
+
* @returns {BinaryClassSerializationAdapter|undefined}
|
|
33
37
|
*/
|
|
34
|
-
removeAdapter(className: string): BinaryClassSerializationAdapter;
|
|
38
|
+
removeAdapter(className: string): BinaryClassSerializationAdapter | undefined;
|
|
35
39
|
/**
|
|
36
40
|
*
|
|
37
41
|
* @param {string} className
|
|
@@ -42,7 +46,7 @@ export class BinarySerializationRegistry {
|
|
|
42
46
|
*
|
|
43
47
|
* @param {string} className
|
|
44
48
|
* @param {BinaryClassUpgrader} upgrader
|
|
45
|
-
* @returns {boolean}
|
|
49
|
+
* @returns {boolean} true iff added, false if already exists
|
|
46
50
|
*/
|
|
47
51
|
registerUpgrader(className: string, upgrader: BinaryClassUpgrader): boolean;
|
|
48
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinarySerializationRegistry.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/storage/binary/BinarySerializationRegistry.js"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"BinarySerializationRegistry.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/storage/binary/BinarySerializationRegistry.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH;IAEI;;;;OAIG;IACH,2BAAsB;IACtB;;;;OAIG;IACH,6BAAwB;IAExB;;;OAGG;IACH,2BAFW,+BAA+B,EAAE,QAM3C;IAED;;;;;;OAMG;IACH,yBALW,+BAA+B,cAC/B,MAAM,GACJ,OAAO,CAkCnB;IAED;;;;OAIG;IACH,yBAHW,MAAM,GACJ,+BAA+B,GAAC,SAAS,CAYrD;IAED;;;;OAIG;IACH,sBAHW,MAAM,GACJ,+BAA+B,GAAC,SAAS,CAMrD;IAED;;;;;OAKG;IACH,4BAJW,MAAM,YACN,mBAAmB,GACjB,OAAO,CA6CnB;IAED;;;;;;OAMG;IACH,6BALW,MAAM,gBACN,MAAM,eACN,MAAM,GACJ,mBAAmB,EAAE,GAAC,IAAI,CA0DtC;IAIL;;;OAGG;IACH,wCAFU,OAAO,CAEkD;CANlE"}
|
|
@@ -3,6 +3,9 @@ import { Graph } from "../../../../core/graph/v2/Graph.js";
|
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Contains serializers for various data types as well as data upgraders which enable support for serialization format changes
|
|
6
|
+
*
|
|
7
|
+
* @author Alex Goldring
|
|
8
|
+
* @copyright Company Named Limited (c) 2025
|
|
6
9
|
*/
|
|
7
10
|
export class BinarySerializationRegistry {
|
|
8
11
|
|
|
@@ -31,9 +34,10 @@ export class BinarySerializationRegistry {
|
|
|
31
34
|
|
|
32
35
|
/**
|
|
33
36
|
*
|
|
34
|
-
* @param {string} [className]
|
|
35
37
|
* @param {BinaryClassSerializationAdapter} adapter
|
|
36
|
-
* @
|
|
38
|
+
* @param {string} [className] if not specified, will be taken from the {@link BinaryClassSerializationAdapter.klass.typeName}
|
|
39
|
+
* @returns {boolean} true if added, false if adapter already existed
|
|
40
|
+
* @throws {Error} if `className` could not be inferred
|
|
37
41
|
*/
|
|
38
42
|
registerAdapter(adapter, className) {
|
|
39
43
|
assert.defined(adapter, 'adapter');
|
|
@@ -44,15 +48,19 @@ export class BinarySerializationRegistry {
|
|
|
44
48
|
if (_className === undefined) {
|
|
45
49
|
const klass = adapter.getClass();
|
|
46
50
|
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
const typeName = klass.typeName;
|
|
52
|
+
|
|
53
|
+
if (typeof typeName === "string") {
|
|
54
|
+
_className = typeName;
|
|
49
55
|
} else {
|
|
50
56
|
throw new Error(`className not specified, could not infer class name from the class itself`);
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
59
|
|
|
60
|
+
assert.isString(_className, 'className');
|
|
61
|
+
|
|
54
62
|
if (this.serializers.has(_className)) {
|
|
55
|
-
//a serializer already exists
|
|
63
|
+
// a serializer already exists
|
|
56
64
|
|
|
57
65
|
console.warn(`Serializer for class '${_className}' already exists, ignoring request`);
|
|
58
66
|
|
|
@@ -67,9 +75,11 @@ export class BinarySerializationRegistry {
|
|
|
67
75
|
/**
|
|
68
76
|
*
|
|
69
77
|
* @param {string} className
|
|
70
|
-
* @returns {BinaryClassSerializationAdapter}
|
|
78
|
+
* @returns {BinaryClassSerializationAdapter|undefined}
|
|
71
79
|
*/
|
|
72
80
|
removeAdapter(className) {
|
|
81
|
+
assert.isString(className, 'className');
|
|
82
|
+
|
|
73
83
|
const adapter = this.serializers.get(className);
|
|
74
84
|
|
|
75
85
|
if (adapter !== undefined) {
|
|
@@ -85,6 +95,8 @@ export class BinarySerializationRegistry {
|
|
|
85
95
|
* @returns {BinaryClassSerializationAdapter|undefined}
|
|
86
96
|
*/
|
|
87
97
|
getAdapter(className) {
|
|
98
|
+
assert.isString(className, 'className');
|
|
99
|
+
|
|
88
100
|
return this.serializers.get(className);
|
|
89
101
|
}
|
|
90
102
|
|
|
@@ -92,9 +104,13 @@ export class BinarySerializationRegistry {
|
|
|
92
104
|
*
|
|
93
105
|
* @param {string} className
|
|
94
106
|
* @param {BinaryClassUpgrader} upgrader
|
|
95
|
-
* @returns {boolean}
|
|
107
|
+
* @returns {boolean} true iff added, false if already exists
|
|
96
108
|
*/
|
|
97
109
|
registerUpgrader(className, upgrader) {
|
|
110
|
+
assert.isString(className, 'className');
|
|
111
|
+
assert.defined(upgrader, 'upgrader');
|
|
112
|
+
assert.notNull(upgrader, 'upgrader');
|
|
113
|
+
assert.equal(upgrader.isBinaryClassUpgrader, true, 'upgrader.isBinaryClassUpgrader !== true');
|
|
98
114
|
|
|
99
115
|
if (upgrader.getStartVersion() === upgrader.getTargetVersion()) {
|
|
100
116
|
throw new Error(`Upgrader for '${className}' start(=${upgrader.getStartVersion()}) and target(=${upgrader.getTargetVersion()}) versions are the same, must be different`);
|
|
@@ -113,13 +129,13 @@ export class BinarySerializationRegistry {
|
|
|
113
129
|
}
|
|
114
130
|
|
|
115
131
|
if (classUpgraders.hasNode(upgrader)) {
|
|
116
|
-
//upgrader already registered
|
|
132
|
+
// upgrader already registered
|
|
117
133
|
return false;
|
|
118
134
|
}
|
|
119
135
|
|
|
120
136
|
classUpgraders.addNode(upgrader);
|
|
121
137
|
|
|
122
|
-
//find other upgraders that would connect to this upgrader
|
|
138
|
+
// find other upgraders that would connect to this upgrader
|
|
123
139
|
classUpgraders.traverseNodes(u => {
|
|
124
140
|
if (u === upgrader) {
|
|
125
141
|
return;
|
|
@@ -143,6 +159,10 @@ export class BinarySerializationRegistry {
|
|
|
143
159
|
* @returns {BinaryClassUpgrader[]|null} sequential shortest chain of upgraders or null if no valid chain exists
|
|
144
160
|
*/
|
|
145
161
|
getUpgradersChain(className, startVersion, goalVersion) {
|
|
162
|
+
assert.isString(className, 'className');
|
|
163
|
+
assert.isNumber(startVersion, 'startVersion');
|
|
164
|
+
assert.isNumber(goalVersion, 'goalVersion');
|
|
165
|
+
|
|
146
166
|
if (startVersion === goalVersion) {
|
|
147
167
|
//already at the goal version
|
|
148
168
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryCollectionDeSerializer.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BinaryCollectionDeSerializer.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js"],"names":[],"mappings":"AAkBA;;;;GAIG;AACH;IAEI;;;OAGG;IACH,iBAAgB;IAEhB;;;OAGG;IACH,eAAc;IAEd;;;;OAIG;IACH,4BAA4B;IAC5B;;;;OAIG;IACH,0BAA0B;IAE1B;;;OAGG;IACH,qBAAiB;IAEjB;;;OAGG;IACH,qBAAiB;IAEjB;;;OAGG;IACH,qBAAiB;IAEjB;;;OAGG;IACH,gBAAe;IAEf;;;OAGG;IACH,kBAAiB;IAEjB;;;;OAIG;IACH,yBAAsC;IACtC;;;;OAIG;IACH,yBAAsC;IAEtC;;;OAGG;IACH,cAAsB;IAGtB;;;OAGG;IACH,sBAFW,2BAA2B,QAOrC;IAED;;;OAGG;IACH,eAFa,2BAA2B,CAIvC;IAED;;;OAGG;IACH,kBAFW,YAAY,QAOtB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,KAAK,CAAC,CAAC,CAAC,GAAC,IAAI,CAUzB;IAED;;;OAGG;IACH,wCAFW,CAAS,IAAM,EAAN,MAAM,EAAC,IAAK,EAAL,KAAK,EAAE,IAA+B,EAA/B,+BAA+B,KAAE,EAAE,QAgFpE;IAED,iBAWC;IAED;;;OAGG;IACH,uBAeC;IAED;;;OAGG;IACH,KAHa,CAAC,KACD;QAAC,KAAK,EAAE,CAAC,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CA8DnC;CAEJ;6BAvV4B,4CAA4C"}
|
|
@@ -16,83 +16,86 @@ const State = {
|
|
|
16
16
|
Ready: 1
|
|
17
17
|
};
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @author Alex Goldring
|
|
22
|
+
* @copyright Company Named Limited (c) 2025
|
|
23
|
+
*/
|
|
20
24
|
export class BinaryCollectionDeSerializer {
|
|
21
|
-
constructor() {
|
|
22
|
-
/**
|
|
23
|
-
* @private
|
|
24
|
-
* @type {BinarySerializationRegistry}
|
|
25
|
-
*/
|
|
26
|
-
this.registry = null;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* @private
|
|
30
|
-
* @type {BinaryBuffer}
|
|
31
|
-
*/
|
|
32
|
-
this.buffer = null;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
*
|
|
36
|
-
* @type {boolean}
|
|
37
|
-
* @private
|
|
38
|
-
*/
|
|
39
|
-
this.__dictionaryEnabled = false;
|
|
40
|
-
/**
|
|
41
|
-
*
|
|
42
|
-
* @type {boolean}
|
|
43
|
-
* @private
|
|
44
|
-
*/
|
|
45
|
-
this.__upgradeRequired = false;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* @private
|
|
49
|
-
* @type {number}
|
|
50
|
-
*/
|
|
51
|
-
this.elementCount = 0;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* @private
|
|
55
|
-
* @type {number}
|
|
56
|
-
*/
|
|
57
|
-
this.elementIndex = 0;
|
|
58
25
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
26
|
+
/**
|
|
27
|
+
* @private
|
|
28
|
+
* @type {BinarySerializationRegistry}
|
|
29
|
+
*/
|
|
30
|
+
registry = null;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @private
|
|
34
|
+
* @type {BinaryBuffer}
|
|
35
|
+
*/
|
|
36
|
+
buffer = null;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
*
|
|
40
|
+
* @type {boolean}
|
|
41
|
+
* @private
|
|
42
|
+
*/
|
|
43
|
+
__dictionaryEnabled = false;
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* @type {boolean}
|
|
47
|
+
* @private
|
|
48
|
+
*/
|
|
49
|
+
__upgradeRequired = false;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @private
|
|
53
|
+
* @type {number}
|
|
54
|
+
*/
|
|
55
|
+
elementCount = 0;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @private
|
|
59
|
+
* @type {number}
|
|
60
|
+
*/
|
|
61
|
+
elementIndex = 0;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @private
|
|
65
|
+
* @type {number}
|
|
66
|
+
*/
|
|
67
|
+
startAddress = 0;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* @private
|
|
71
|
+
* @type {BinaryClassSerializationAdapter}
|
|
72
|
+
*/
|
|
73
|
+
adapter = null;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @private
|
|
77
|
+
* @type {BinaryClassUpgrader[]}
|
|
78
|
+
*/
|
|
79
|
+
upgraders = null;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
*
|
|
83
|
+
* @type {BinaryBuffer}
|
|
84
|
+
* @private
|
|
85
|
+
*/
|
|
86
|
+
__upgradeBuffer0 = new BinaryBuffer();
|
|
87
|
+
/**
|
|
88
|
+
*
|
|
89
|
+
* @type {BinaryBuffer}
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
92
|
+
__upgradeBuffer1 = new BinaryBuffer();
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* @private
|
|
96
|
+
* @type {State}
|
|
97
|
+
*/
|
|
98
|
+
state = State.Initial;
|
|
96
99
|
|
|
97
100
|
|
|
98
101
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Upgrade binary data by executing a
|
|
2
|
+
* Upgrade binary data by executing a sequence of upgraders on it
|
|
3
3
|
* @param {BinaryClassUpgrader[]} upgraders
|
|
4
|
-
* @param {BinaryBuffer} buffer
|
|
4
|
+
* @param {BinaryBuffer} buffer input data
|
|
5
5
|
* @param {BinaryBuffer} tempBuffer0
|
|
6
6
|
* @param {BinaryBuffer} tempBuffer1
|
|
7
|
-
* @return {BinaryBuffer}
|
|
7
|
+
* @return {BinaryBuffer} buffer with upgraded data, this will be either {@link tempBuffer0} or {@link tempBuffer1}
|
|
8
8
|
*/
|
|
9
9
|
export function executeBinaryClassUpgraderChain(upgraders: BinaryClassUpgrader[], buffer: BinaryBuffer, tempBuffer0: BinaryBuffer, tempBuffer1: BinaryBuffer): BinaryBuffer;
|
|
10
10
|
//# sourceMappingURL=executeBinaryClassUpgraderChain.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeBinaryClassUpgraderChain.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/storage/binary/executeBinaryClassUpgraderChain.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,2DANW,mBAAmB,EAAE,UACrB,YAAY,eACZ,YAAY,eACZ,YAAY,GACX,YAAY,
|
|
1
|
+
{"version":3,"file":"executeBinaryClassUpgraderChain.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/ecs/storage/binary/executeBinaryClassUpgraderChain.js"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,2DANW,mBAAmB,EAAE,UACrB,YAAY,eACZ,YAAY,eACZ,YAAY,GACX,YAAY,CA2CvB"}
|
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
import { assert } from "../../../../core/assert.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Upgrade binary data by executing a
|
|
4
|
+
* Upgrade binary data by executing a sequence of upgraders on it
|
|
5
5
|
* @param {BinaryClassUpgrader[]} upgraders
|
|
6
|
-
* @param {BinaryBuffer} buffer
|
|
6
|
+
* @param {BinaryBuffer} buffer input data
|
|
7
7
|
* @param {BinaryBuffer} tempBuffer0
|
|
8
8
|
* @param {BinaryBuffer} tempBuffer1
|
|
9
|
-
* @return {BinaryBuffer}
|
|
9
|
+
* @return {BinaryBuffer} buffer with upgraded data, this will be either {@link tempBuffer0} or {@link tempBuffer1}
|
|
10
10
|
*/
|
|
11
|
-
export function executeBinaryClassUpgraderChain(
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
export function executeBinaryClassUpgraderChain(
|
|
12
|
+
upgraders,
|
|
13
|
+
buffer,
|
|
14
|
+
tempBuffer0,
|
|
15
|
+
tempBuffer1
|
|
16
|
+
) {
|
|
17
|
+
assert.isArray(upgraders, 'upgraders');
|
|
18
|
+
assert.defined(buffer, 'buffer');
|
|
19
|
+
|
|
14
20
|
assert.defined(tempBuffer0);
|
|
15
21
|
assert.defined(tempBuffer1);
|
|
16
22
|
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* It has properties for position (like coordinates), rotation (how it's turned), and scale (how big it is).
|
|
5
5
|
*
|
|
6
6
|
* It also uses a "matrix" (a table of numbers) internally to efficiently store and calculate transformations, but you usually interact with the position, rotation, and scale directly.
|
|
7
|
-
* @class
|
|
8
7
|
*/
|
|
9
8
|
export class Transform {
|
|
10
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/transform/Transform.js"],"names":[],"mappings":"AAsBA
|
|
1
|
+
{"version":3,"file":"Transform.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/transform/Transform.js"],"names":[],"mappings":"AAsBA;;;;;;GAMG;AACH;IA0QI;;;;OAIG;IACH,4BAFa,SAAS,CAQrB;IAED;;;;OAIG;IACH,uBAHW,MAAM,EAAE,GAAC,YAAY,GACnB,SAAS,CAQrB;IAiFD;;;;;OAKG;IACH,wCAJW,UAAU,gBACV,OAAO,wBAajB;IAjYD;;;OAGG;IACH,mBAHU,OAAO,CAGe;IAEhC;;;;;OAKG;IACH,mBAHU,UAAU,CAGkB;IAEtC;;;OAGG;IACH,gBAHU,OAAO,CAGY;IAE7B;;;;OAIG;IACH,iBAFU,YAAY,CAEC;IAEvB;;;;OAIG;IACH,OAFU,MAAM,CAEM;IAOtB;;;;OAIG;IACH,eAFa,OAAO,CAQnB;IAED;;;OAGG;IACH,UAFY,OAAO,CAQlB;IAED;;;OAGG;IACH,aAFY,OAAO,CAQlB;IAED;;;;OAIG;IACH,uCAFW,GAAC,QAMX;IAED;;;;OAIG;IACH,yCAFW,GAAC,QAMX;IAYD;;;;OAIG;IACH,cAHW,MAAM,GAAC,cAAc,GACnB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,cAAc,GACnB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,cAAc,SACrB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,cAAc,GACnB,OAAO,CAInB;IAED;;OAEG;IACH,qBAEC;IAED;;;;OAIG;IACH,eAHW,OAAO,OACP,OAAO,QAmBjB;IAED,0BAwBC;IAED;;;;;;;;;;;;;;;;;MAMC;IAED;;;OAGG;IACH,YAFW,SAAS,QAenB;IAED;;;OAGG;IACH,SAFa,SAAS,CAQrB;IAED;;;;OAIG;IACH,cAHW,SAAS,GACP,OAAO,CAMnB;IAED;;;OAGG;IACH,QAFa,MAAM,CAKlB;IA4BD;;;;OAIG;IACH,gBAHW,SAAS,GACP,IAAI,CAIhB;IAED;;;;;OAKG;IACH,sBAJW,SAAS,KACT,SAAS,GACP,IAAI,CAShB;IAED;;;;OAIG;IACH,oBAHW,IAAI,GAAC,MAAM,EAAE,GAAC,YAAY,GACxB,IAAI,CAkBhB;IAED;;;OAGG;IACH,kBAFW,MAAM,EAAE,GAAC,YAAY,QAI/B;IAED;;;;;OAKG;IACH,qBAEC;IAED;;;OAGG;IACH,cAFa,OAAO,CAMnB;IAED,mBAEC;IA2BL;;;OAGG;IACH,sBAFU,OAAO,CAEc;;CAZ9B;;kBAIS,MAAM;;oBA9ZI,+BAA+B;uBAD5B,kCAAkC;+BAE1B,qBAAqB"}
|
|
@@ -26,7 +26,6 @@ const FLAGS_DEFAULT = TransformFlags.AutomaticChangeDetection;
|
|
|
26
26
|
* It has properties for position (like coordinates), rotation (how it's turned), and scale (how big it is).
|
|
27
27
|
*
|
|
28
28
|
* It also uses a "matrix" (a table of numbers) internally to efficiently store and calculate transformations, but you usually interact with the position, rotation, and scale directly.
|
|
29
|
-
* @class
|
|
30
29
|
*/
|
|
31
30
|
export class Transform {
|
|
32
31
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Data Texture class, providing an abstraction around 2d numerical arrays, mostly for sampling purposes
|
|
3
3
|
* Inspired by OpenGL's glsl sampler2d API
|
|
4
4
|
* @class
|
|
5
|
+
* @author Alex Goldring
|
|
6
|
+
* @copyright Company Named Limited (c) 2025
|
|
5
7
|
*/
|
|
6
8
|
export class Sampler2D {
|
|
7
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sampler2D.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/Sampler2D.js"],"names":[],"mappings":"AAqBA
|
|
1
|
+
{"version":3,"file":"Sampler2D.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/Sampler2D.js"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,8 @@ import { computeHashFloat } from "../../../../core/primitives/numbers/computeHas
|
|
|
23
23
|
* Data Texture class, providing an abstraction around 2d numerical arrays, mostly for sampling purposes
|
|
24
24
|
* Inspired by OpenGL's glsl sampler2d API
|
|
25
25
|
* @class
|
|
26
|
+
* @author Alex Goldring
|
|
27
|
+
* @copyright Company Named Limited (c) 2025
|
|
26
28
|
*/
|
|
27
29
|
export class Sampler2D {
|
|
28
30
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputDeviceSwitch.d.ts","sourceRoot":"","sources":["../../../../../src/engine/input/devices/InputDeviceSwitch.js"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"InputDeviceSwitch.d.ts","sourceRoot":"","sources":["../../../../../src/engine/input/devices/InputDeviceSwitch.js"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH;IAEI;;;;OAIG;IACH,eAFU,MAAQ,CAEC;IAEnB;;;;OAIG;IACH,aAFU,MAAQ,CAED;IAEjB;;;;OAIG;IACH,SAFU,OAAO,CAEF;IAEf;;;OAGG;IACH,aAFa,OAAO,CAInB;IAED;;;;OAIG;IACH,cAOC;IAED;;;;OAIG;IACH,gBAOC;CACJ;mBAlEkB,uCAAuC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyboardDevice.d.ts","sourceRoot":"","sources":["../../../../../src/engine/input/devices/KeyboardDevice.js"],"names":[],"mappings":";AAYA
|
|
1
|
+
{"version":3,"file":"KeyboardDevice.d.ts","sourceRoot":"","sources":["../../../../../src/engine/input/devices/KeyboardDevice.js"],"names":[],"mappings":";AAYA;;;;;;;;GAQG;AACH;IA4BI;;;OAGG;IACH,wBAHW,WAAW,GAAC,OAAO,EAgC7B;IA3DD;;OAEG;IACH;QACI;;;WAGG;cADO,MAAM,CAAC,aAAa,CAAC;QAG/B;;;WAGG;YADO,MAAM,CAAC,aAAa,CAAC;MAGjC;IAEF;;;;;;;OAOG;IACH,mBAAU;IAkBN;;;OAGG;IACH,YAFU,WAAW,CAEO;IA8FhC;;;OAGG;IACH,SAFa,IAAI,CAMhB;IAED;;;OAGG;IACH,QAFa,IAAI,CAMhB;;CAEJ;mBAvLkB,uCAAuC"}
|
|
@@ -13,7 +13,11 @@ const codeToKeyNameMap = [];
|
|
|
13
13
|
/**
|
|
14
14
|
* Provides keyboard input.
|
|
15
15
|
* Listens for key events on a DOM element and provides signals and state for key presses.
|
|
16
|
-
* NOTE: when losing focus of the application, any "pressed" keys will be automatically released.
|
|
16
|
+
* NOTE: when losing focus of the application, any "pressed" keys will be automatically released.
|
|
17
|
+
* For example, if you hold "A" and click over into another application window - A will be forcibly released with appropriate signal.
|
|
18
|
+
*
|
|
19
|
+
* @author Alex Goldring
|
|
20
|
+
* @copyright Company Named Limited (c) 2025
|
|
17
21
|
*/
|
|
18
22
|
class KeyboardDevice {
|
|
19
23
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointerDevice.d.ts","sourceRoot":"","sources":["../../../../../src/engine/input/devices/PointerDevice.js"],"names":[],"mappings":"AA2LA;;;;;GAKG;AACH,mDAJW,OAAO,SACP,UAAU,GAAC,KAAK,WAChB,OAAO,QAejB;AAED
|
|
1
|
+
{"version":3,"file":"PointerDevice.d.ts","sourceRoot":"","sources":["../../../../../src/engine/input/devices/PointerDevice.js"],"names":[],"mappings":"AA2LA;;;;;GAKG;AACH,mDAJW,OAAO,SACP,UAAU,GAAC,KAAK,WAChB,OAAO,QAejB;AAED;;;;;GAKG;AACH;IAiFI;;;;OAIG;IACH,wBAHW,WAAW,EAsBrB;IAvGD;;;;OAIG;IACH,mBAFU,OAAO,CAEQ;IAIzB;;OAEG;IACH;;;;QAII;;WAEG;aADO,MAAM,CAAC,OAAO,EAAE,CAAC,UAAU,GAAC,UAAU,CAAC,CAAC;;;;;;;;MAUpD;IAeF;;;OAGG;IACH,kBAAkB;IAElB;;;;OAIG;IACH,kBAFU,iBAAiB,EAAE,CAEL;IAExB;;;OAGG;IACH,uBAFa,iBAAiB,CAI7B;IAED;;;OAGG;IACH,wBAFa,iBAAiB,CAI7B;IAED;;;OAGG;IACH,yBAFa,iBAAiB,CAI7B;IAyGD;;;OAGG;IACH,oBAFY,OAAO,CAIlB;IAED;;;OAGG;IACH,mBAFW,OAAO,EAwBjB;IAED,kBA1BW,OAAO,CA4BjB;IAED;;;;OAIG;IACH,qCAHW,OAAO,SACP,UAAU,GAAC,KAAK,QAI1B;IAED,cA6BC;IAED,aAsBC;;CACJ;oBAnfmB,+BAA+B;mBADhC,uCAAuC;kCAOxB,wBAAwB"}
|
|
@@ -208,6 +208,9 @@ export function readPositionFromMouseEvent(result, event, source = event.target)
|
|
|
208
208
|
|
|
209
209
|
/**
|
|
210
210
|
* Abstracts Mouse and Touch interfaces as single "pointer" device.
|
|
211
|
+
*
|
|
212
|
+
* @author Alex Goldring
|
|
213
|
+
* @copyright Company Named Limited (c) 2025
|
|
211
214
|
*/
|
|
212
215
|
export class PointerDevice {
|
|
213
216
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Behavior.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/behavior/Behavior.js"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"Behavior.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/behavior/Behavior.js"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,sBAJa,GAAG;IAMZ;;;;OAIG;IACH,SAFU,GAAG,GAAC,IAAI,CAEH;IAEf;;;;OAIG;IACH,wBAFU,MAAM,CAAC,IAAI,EAAC,GAAG,CAAC,CAEG;IAE7B;;;;OAIG;IACH,sBAFU,MAAM,CAAC,IAAI,CAAC,CAEK;IAE3B;;;;OAIG;IACH,gBAHW,MAAM,GACJ,cAAc,CAI1B;IAED;;;;;OAKG;IACH,qBAFW,GAAG,QAKb;IAED;;;;OAIG;IACH,iBAGC;IAGL;;;;OAIG;IACH,qBAFU,OAAO,CAEY;CAP5B;;kBAYS,MAAM;;mBA3EG,uCAAuC;+BAC3B,qBAAqB"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { BehaviorStatus } from "./BehaviorStatus.js";
|
|
2
1
|
import Signal from "../../../core/events/signal/Signal.js";
|
|
2
|
+
import { BehaviorStatus } from "./BehaviorStatus.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Base class of behavior tree implementation
|
|
6
6
|
* @see "The Behavior Tree Starter Kit" by Alex J. Champandard and Philip Dunstan
|
|
7
7
|
* @see https://en.wikipedia.org/wiki/Behavior_tree_(artificial_intelligence,_robotics_and_control)
|
|
8
8
|
* @template CTX
|
|
9
|
+
* @author Alex Goldring
|
|
10
|
+
* @copyright Company Named Limited (c) 2025
|
|
9
11
|
*/
|
|
10
12
|
export class Behavior {
|
|
11
13
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectorBehavior.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/behavior/SelectorBehavior.js"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"SelectorBehavior.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/behavior/SelectorBehavior.js"],"names":[],"mappings":"AAIA;;;;GAIG;AACH;IAmBI;;;;OAIG;IACH,sBAHW,QAAQ,EAAE,GACR,gBAAgB,CAU5B;IA5BG;;;;OAIG;IACH,2BAA8B;IAE9B;;;;OAIG;IACH,gCAAiC;IAkBrC,0BAgCC;IAWD,+BAoBC;CACJ;kCAzGiC,kCAAkC"}
|
|
@@ -4,6 +4,8 @@ import { CompositeBehavior } from "./composite/CompositeBehavior.js";
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Will try every child behaviour in order until one succeeds or if all fail - the selector behavior will fail too
|
|
7
|
+
* @author Alex Goldring
|
|
8
|
+
* @copyright Company Named Limited (c) 2025
|
|
7
9
|
*/
|
|
8
10
|
export class SelectorBehavior extends CompositeBehavior {
|
|
9
11
|
constructor() {
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* Produces a diagram of behavior tree in DOT format, useful for debugging and exploration of complex trees
|
|
3
3
|
*
|
|
4
4
|
* @see https://en.wikipedia.org/wiki/DOT_(graph_description_language)
|
|
5
|
+
*
|
|
6
|
+
* @author Alex Goldring
|
|
7
|
+
* @copyright Company Named Limited (c) 2025
|
|
8
|
+
*
|
|
5
9
|
* @param {Behavior} behavior
|
|
6
10
|
* @returns {string}
|
|
7
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior_to_dot.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/behavior/behavior_to_dot.js"],"names":[],"mappings":"AAoOA
|
|
1
|
+
{"version":3,"file":"behavior_to_dot.d.ts","sourceRoot":"","sources":["../../../../../src/engine/intelligence/behavior/behavior_to_dot.js"],"names":[],"mappings":"AAoOA;;;;;;;;;;GAUG;AACH,0DAFa,MAAM,CA2BlB;yBAvQwB,eAAe"}
|
|
@@ -230,6 +230,10 @@ function parse_behavior(out, behavior, context) {
|
|
|
230
230
|
* Produces a diagram of behavior tree in DOT format, useful for debugging and exploration of complex trees
|
|
231
231
|
*
|
|
232
232
|
* @see https://en.wikipedia.org/wiki/DOT_(graph_description_language)
|
|
233
|
+
*
|
|
234
|
+
* @author Alex Goldring
|
|
235
|
+
* @copyright Company Named Limited (c) 2025
|
|
236
|
+
*
|
|
233
237
|
* @param {Behavior} behavior
|
|
234
238
|
* @returns {string}
|
|
235
239
|
*/
|