@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
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"description": "Pure JavaScript game engine. Fully featured and production ready.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"author": "Alexander Goldring",
|
|
8
|
-
"version": "2.126.
|
|
8
|
+
"version": "2.126.16",
|
|
9
9
|
"main": "build/meep.module.js",
|
|
10
10
|
"module": "build/meep.module.js",
|
|
11
11
|
"exports": {
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Utility for reading/writing binary data
|
|
3
3
|
* Mostly useful for serialization/deserialization tasks
|
|
4
|
+
*
|
|
5
|
+
* @author Alex Goldring
|
|
6
|
+
* @copyright Company Named Limited (c) 2025
|
|
7
|
+
*
|
|
4
8
|
*/
|
|
5
9
|
export class BinaryBuffer {
|
|
6
10
|
/**
|
|
@@ -82,10 +86,16 @@ export class BinaryBuffer {
|
|
|
82
86
|
* @type {number}
|
|
83
87
|
*/
|
|
84
88
|
position: number;
|
|
89
|
+
/**
|
|
90
|
+
* @deprecated
|
|
91
|
+
*/
|
|
85
92
|
set length(v: void);
|
|
93
|
+
/**
|
|
94
|
+
* @deprecated
|
|
95
|
+
*/
|
|
86
96
|
get length(): void;
|
|
87
97
|
/**
|
|
88
|
-
*
|
|
98
|
+
* Managed by the buffer, do not modify directly
|
|
89
99
|
* @type {number}
|
|
90
100
|
*/
|
|
91
101
|
capacity: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryBuffer.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/BinaryBuffer.js"],"names":[],"mappings":"AA+BA
|
|
1
|
+
{"version":3,"file":"BinaryBuffer.d.ts","sourceRoot":"","sources":["../../../../src/core/binary/BinaryBuffer.js"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,10 @@ const DEFAULT_INITIAL_SIZE = 1024;
|
|
|
32
32
|
/**
|
|
33
33
|
* Utility for reading/writing binary data
|
|
34
34
|
* Mostly useful for serialization/deserialization tasks
|
|
35
|
+
*
|
|
36
|
+
* @author Alex Goldring
|
|
37
|
+
* @copyright Company Named Limited (c) 2025
|
|
38
|
+
*
|
|
35
39
|
*/
|
|
36
40
|
export class BinaryBuffer {
|
|
37
41
|
|
|
@@ -48,16 +52,22 @@ export class BinaryBuffer {
|
|
|
48
52
|
*/
|
|
49
53
|
position = 0;
|
|
50
54
|
|
|
55
|
+
/**
|
|
56
|
+
* @deprecated
|
|
57
|
+
*/
|
|
51
58
|
get length() {
|
|
52
59
|
throw new Error("Deprecated, use 'capacity' instead");
|
|
53
60
|
}
|
|
54
61
|
|
|
62
|
+
/**
|
|
63
|
+
* @deprecated
|
|
64
|
+
*/
|
|
55
65
|
set length(v) {
|
|
56
66
|
throw new Error("Deprecated, use 'capacity' instead");
|
|
57
67
|
}
|
|
58
68
|
|
|
59
69
|
/**
|
|
60
|
-
*
|
|
70
|
+
* Managed by the buffer, do not modify directly
|
|
61
71
|
* @type {number}
|
|
62
72
|
*/
|
|
63
73
|
capacity = DEFAULT_INITIAL_SIZE;
|
|
@@ -464,7 +474,7 @@ export class BinaryBuffer {
|
|
|
464
474
|
*/
|
|
465
475
|
writeFloat32Array(source, source_offset, length) {
|
|
466
476
|
assert.isArrayLike(source, 'source');
|
|
467
|
-
assert.greaterThanOrEqual(source.length, source_offset + length,"source underflow");
|
|
477
|
+
assert.greaterThanOrEqual(source.length, source_offset + length, "source underflow");
|
|
468
478
|
|
|
469
479
|
for (let i = 0; i < length; i++) {
|
|
470
480
|
this.writeFloat32(source[i + source_offset]);
|
|
@@ -554,7 +564,7 @@ export class BinaryBuffer {
|
|
|
554
564
|
*/
|
|
555
565
|
writeInt8Array(source, source_offset, length) {
|
|
556
566
|
assert.isArrayLike(source, 'source');
|
|
557
|
-
assert.greaterThanOrEqual(source.length, source_offset + length,"source underflow");
|
|
567
|
+
assert.greaterThanOrEqual(source.length, source_offset + length, "source underflow");
|
|
558
568
|
|
|
559
569
|
// prevent resizing mid-copy
|
|
560
570
|
this.ensureCapacity(this.position + length);
|
|
@@ -572,7 +582,7 @@ export class BinaryBuffer {
|
|
|
572
582
|
*/
|
|
573
583
|
writeInt16Array(source, source_offset, length) {
|
|
574
584
|
assert.isArrayLike(source, 'source');
|
|
575
|
-
assert.greaterThanOrEqual(source.length, source_offset + length,"source underflow");
|
|
585
|
+
assert.greaterThanOrEqual(source.length, source_offset + length, "source underflow");
|
|
576
586
|
|
|
577
587
|
// prevent resizing mid-copy
|
|
578
588
|
this.ensureCapacity(this.position + 2 * length);
|
|
@@ -590,7 +600,7 @@ export class BinaryBuffer {
|
|
|
590
600
|
*/
|
|
591
601
|
writeInt32Array(source, source_offset, length) {
|
|
592
602
|
assert.isArrayLike(source, 'source');
|
|
593
|
-
assert.greaterThanOrEqual(source.length, source_offset + length,"source underflow");
|
|
603
|
+
assert.greaterThanOrEqual(source.length, source_offset + length, "source underflow");
|
|
594
604
|
|
|
595
605
|
// prevent resizing mid-copy
|
|
596
606
|
this.ensureCapacity(this.position + 4 * length);
|
|
@@ -621,7 +631,7 @@ export class BinaryBuffer {
|
|
|
621
631
|
*/
|
|
622
632
|
writeUint8Array(source, source_offset, length) {
|
|
623
633
|
assert.isArrayLike(source, 'source');
|
|
624
|
-
assert.greaterThanOrEqual(source.length, source_offset + length,"source underflow");
|
|
634
|
+
assert.greaterThanOrEqual(source.length, source_offset + length, "source underflow");
|
|
625
635
|
for (let i = 0; i < length; i++) {
|
|
626
636
|
this.writeUint8(source[source_offset + i]);
|
|
627
637
|
}
|
|
@@ -674,7 +684,7 @@ export class BinaryBuffer {
|
|
|
674
684
|
*/
|
|
675
685
|
writeUint16Array(source, source_offset, length) {
|
|
676
686
|
assert.isArrayLike(source, 'source');
|
|
677
|
-
assert.greaterThanOrEqual(source.length, source_offset + length,"source underflow");
|
|
687
|
+
assert.greaterThanOrEqual(source.length, source_offset + length, "source underflow");
|
|
678
688
|
for (let i = 0; i < length; i++) {
|
|
679
689
|
this.writeUint16(source[source_offset + i]);
|
|
680
690
|
}
|
|
@@ -831,7 +841,7 @@ export class BinaryBuffer {
|
|
|
831
841
|
*/
|
|
832
842
|
writeUint32Array(source, source_offset, length) {
|
|
833
843
|
assert.isArrayLike(source, 'source');
|
|
834
|
-
assert.greaterThanOrEqual(source.length, source_offset + length,"source underflow");
|
|
844
|
+
assert.greaterThanOrEqual(source.length, source_offset + length, "source underflow");
|
|
835
845
|
|
|
836
846
|
// prevent resizing mid-copy
|
|
837
847
|
this.ensureCapacity(this.position + 4 * length);
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* Adds element to the end of the array, iff the element is not present in the array already
|
|
2
3
|
* @template T
|
|
3
|
-
* @param {T[]} array
|
|
4
|
-
* @param {T} element
|
|
5
|
-
* @return {boolean}
|
|
4
|
+
* @param {T[]} array where
|
|
5
|
+
* @param {T} element what to add
|
|
6
|
+
* @return {boolean} true iff added, false if array already contains this element
|
|
6
7
|
*/
|
|
7
8
|
export function array_push_if_unique<T>(array: T[], element: T): boolean;
|
|
8
9
|
//# sourceMappingURL=array_push_if_unique.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array_push_if_unique.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/array/array_push_if_unique.js"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"array_push_if_unique.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/array/array_push_if_unique.js"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,qCALa,CAAC,SACH,CAAC,EAAE,WACH,CAAC,GACA,OAAO,CAalB"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { assert } from "../../assert.js";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
+
* Adds element to the end of the array, iff the element is not present in the array already
|
|
4
5
|
* @template T
|
|
5
|
-
* @param {T[]} array
|
|
6
|
-
* @param {T} element
|
|
7
|
-
* @return {boolean}
|
|
6
|
+
* @param {T[]} array where
|
|
7
|
+
* @param {T} element what to add
|
|
8
|
+
* @return {boolean} true iff added, false if array already contains this element
|
|
8
9
|
*/
|
|
9
10
|
export function array_push_if_unique(array, element) {
|
|
10
11
|
assert.isArray(array, 'array');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quat_decode_from_uint32.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/quaternion/quat_decode_from_uint32.js"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"quat_decode_from_uint32.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/quaternion/quat_decode_from_uint32.js"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,gDAJW,MAAM,EAAE,iBACR,MAAM,SACN,MAAM,QA8ChB"}
|
|
@@ -2,6 +2,10 @@ const K = Math.SQRT1_2 / 511;
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Based on GDC talk from Bungie on destiny, compressing quaternions for animation
|
|
5
|
+
*
|
|
6
|
+
* @author Alex Goldring
|
|
7
|
+
* @copyright Company Named Limited (c) 2025
|
|
8
|
+
*
|
|
5
9
|
* @param {number[]} output
|
|
6
10
|
* @param {number} output_offset
|
|
7
11
|
* @param {number} value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quat_encode_to_uint32.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/quaternion/quat_encode_to_uint32.js"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"quat_encode_to_uint32.d.ts","sourceRoot":"","sources":["../../../../../../src/core/geom/3d/quaternion/quat_encode_to_uint32.js"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AACH,yCANW,MAAM,KACN,MAAM,KACN,MAAM,KACN,MAAM,GACJ,MAAM,CAgGlB"}
|
|
@@ -3,6 +3,10 @@ import { v4_length } from "../../vec4/v4_length.js";
|
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Based on GDC talk from Bungie on destiny, compressing quaternions for animation
|
|
6
|
+
*
|
|
7
|
+
* @author Alex Goldring
|
|
8
|
+
* @copyright Company Named Limited (c) 2025
|
|
9
|
+
*
|
|
6
10
|
* @param {number} x
|
|
7
11
|
* @param {number} y
|
|
8
12
|
* @param {number} z
|
|
@@ -417,7 +417,8 @@ export class Vector3 {
|
|
|
417
417
|
*/
|
|
418
418
|
applyMatrix4(m4: ArrayLike<number> | number[] | Float32Array): this;
|
|
419
419
|
/**
|
|
420
|
-
* Assume current vector holds a direction, transform using a matrix to produce a new directional unit vector
|
|
420
|
+
* Assume current vector holds a direction, transform using a matrix to produce a new directional unit vector.
|
|
421
|
+
* Note that the vector is normalized
|
|
421
422
|
* @param {ArrayLike<number>|number[]|Float32Array} m4
|
|
422
423
|
* @returns {this}
|
|
423
424
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Vector3.d.ts","sourceRoot":"","sources":["../../../../src/core/geom/Vector3.js"],"names":[],"mappings":"AAeA;;;;GAIG;AACH;
|
|
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
|
@@ -740,7 +740,8 @@ export class Vector3 {
|
|
|
740
740
|
}
|
|
741
741
|
|
|
742
742
|
/**
|
|
743
|
-
* Assume current vector holds a direction, transform using a matrix to produce a new directional unit vector
|
|
743
|
+
* Assume current vector holds a direction, transform using a matrix to produce a new directional unit vector.
|
|
744
|
+
* Note that the vector is normalized
|
|
744
745
|
* @param {ArrayLike<number>|number[]|Float32Array} m4
|
|
745
746
|
* @returns {this}
|
|
746
747
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityComponentDataset.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityComponentDataset.js"],"names":[],"mappings":"AAyHA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,+CAfgB,QAAQ,CAAC,MAAM;IAiB3B;;;;OAIG;IACH,wBAA+B;IAE/B;;;;;OAKG;IACH,yBAAsC;IAEtC;;;;;;;;;OASG;IACH,2BAAkC;IAElC;;;;;OAKG;IACH,yBAAsB;IAEtB;;;;OAIG;IACH,4BAAgC;IAEhC;;;;OAIG;IACH,2BAAuB;IAEvB
|
|
1
|
+
{"version":3,"file":"EntityComponentDataset.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityComponentDataset.js"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,9 @@ export namespace EntityManagerState {
|
|
|
10
10
|
/**
|
|
11
11
|
* Brings together {@link System}s and an {@link EntityComponentDataset}
|
|
12
12
|
* Main entry point into the simulation process
|
|
13
|
+
*
|
|
14
|
+
* @author Alex Goldring
|
|
15
|
+
* @copyright Company Named Limited (c) 2025
|
|
13
16
|
*/
|
|
14
17
|
export class EntityManager {
|
|
15
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityManager.js"],"names":[],"mappings":"iCAgBU,MAAM;;;;;;;;;AAWhB
|
|
1
|
+
{"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityManager.js"],"names":[],"mappings":"iCAgBU,MAAM;;;;;;;;;AAWhB;;;;;;GAMG;AACH;IAEI;;;OAGG;IACH,kBAFU,iCAAQ,CAEL;IAEb;;;;OAIG;IACH,uCAA2B;IAE3B;;;;OAIG;IACH,iCAA4B;IAE5B;;OAEG;IACH;;;QAGI;;WAEG;qBADO,MAAM,iCAAQ;;MAI1B;IAEF;;;OAGG;IACH,OAFU,kBAAkB,CAEO;IAEnC;;;;;;OAMG;IACH,gDAA2C;IAE3C;;;;;;;;;OASG;IACH,qBAFU,MAAM,CAEqB;IAErC;;;;;OAKG;IACH,wCAFU,MAAM,CAE4B;IAE5C;;;;OAIG;IACH,SAFU,sBAAsB,CAEjB;IAEf;;;;;OAKG;IACH,uCAAsC;IAEtC;;;OAGG;IACH,6BAmFC;IAED;;;OAGG;IACH,uBAFa,KAAK,EAAE,CAuBnB;IAED;;;;;OAKG;IACH,uBAJW,sBAAsB,QA4ChC;IAGD;;;OAGG;IACH,sBA2BC;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,CAkBlB;IAED;;;;;OAKG;IACH,wBAJa,CAAC,aACH,MAAM,GACJ,IAAI,GAAC,KAAK,CAAC,CAAC,CAAC,CAiBzB;IAGD;;;OAGG;IACH,oBAFW,MAAM,QAoEhB;IAED;;;;;OAKG;IACH,iEAoEC;IAED;;;;OAIG;IACH,uDAFa,OAAO,CAAC,OAAO,CAAC,CA2C5B;IAED;;;;;OAKG;IACH,mBA6BC;IAED;;;;;OAKG;IACH,oBA0DC;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;IAGL;;OAEG;IACH,yBAhpBe,sBAAsB,UAgpBA;IACrC;;OAEG;IACH,0BAAqC;CATpC;uBA92BmC,aAAa;mBAR9B,oCAAoC;uCAMhB,6BAA6B"}
|
|
@@ -28,6 +28,9 @@ export const EntityManagerState = {
|
|
|
28
28
|
/**
|
|
29
29
|
* Brings together {@link System}s and an {@link EntityComponentDataset}
|
|
30
30
|
* Main entry point into the simulation process
|
|
31
|
+
*
|
|
32
|
+
* @author Alex Goldring
|
|
33
|
+
* @copyright Company Named Limited (c) 2025
|
|
31
34
|
*/
|
|
32
35
|
export class EntityManager {
|
|
33
36
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityObserver.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityObserver.js"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"EntityObserver.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityObserver.js"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH;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,QAQhC;IAED;;;OAGG;IACH,mBAFY,OAAO,CAIlB;IAED;;OAEG;IACH,mBAQC;CACJ;uBA/IsB,6BAA6B"}
|
|
@@ -5,6 +5,9 @@ import { BitSet } from "../../core/binary/BitSet.js";
|
|
|
5
5
|
* Signaling component query.
|
|
6
6
|
* Enables definition of a component class tuple, which will then be observed; for any entity that completes the tuple - a notification will be dispatched, same for any broken tuples.
|
|
7
7
|
* see {@link EntityComponentDataset.addObserver}/{@link EntityComponentDataset.removeObserver}.
|
|
8
|
+
*
|
|
9
|
+
* @author Alex Goldring
|
|
10
|
+
* @copyright Company Named Limited (c) 2025
|
|
8
11
|
*/
|
|
9
12
|
export class EntityObserver {
|
|
10
13
|
/**
|
|
@@ -3,18 +3,20 @@
|
|
|
3
3
|
* Lets us uniquely distinguish between two entities, even those with the same ID that were created at different times
|
|
4
4
|
*
|
|
5
5
|
* @example
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* // 1. Get your EntityComponentDataset to where you manager entities.
|
|
7
|
+
* const ecd = ... ; // EntityComponentDataset
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* // 2. Create an entity (we'll get an ID).
|
|
10
|
+
* const entityId = ecd.createEntity();
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* // 3. Create an EntityReference and bind it to the entity.
|
|
13
|
+
* const entityRef = EntityReference.bind(ecd, entityId);
|
|
14
14
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* // 4. After you no longer need the entity - destroy the entity via reference.
|
|
16
|
+
* entityRef.destroy(ecd);
|
|
17
17
|
*
|
|
18
|
+
* @author Alex Goldring
|
|
19
|
+
* @copyright Company Named Limited (c) 2025
|
|
18
20
|
*/
|
|
19
21
|
export class EntityReference {
|
|
20
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityReference.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityReference.js"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"EntityReference.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityReference.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IAqHI;;;;;OAKG;IACH,gBAJW,MAAM,cACN,MAAM,GACL,eAAe,CAQ1B;IAED;;;;;OAKG;IACH,iBAJW,sBAAsB,MACtB,MAAM,GACJ,eAAe,CAQ3B;IA7ID;;;;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,CAYnB;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"}
|
|
@@ -5,18 +5,20 @@ import { assert } from "../../core/assert.js";
|
|
|
5
5
|
* Lets us uniquely distinguish between two entities, even those with the same ID that were created at different times
|
|
6
6
|
*
|
|
7
7
|
* @example
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* // 1. Get your EntityComponentDataset to where you manager entities.
|
|
9
|
+
* const ecd = ... ; // EntityComponentDataset
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* // 2. Create an entity (we'll get an ID).
|
|
12
|
+
* const entityId = ecd.createEntity();
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* // 3. Create an EntityReference and bind it to the entity.
|
|
15
|
+
* const entityRef = EntityReference.bind(ecd, entityId);
|
|
16
16
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
17
|
+
* // 4. After you no longer need the entity - destroy the entity via reference.
|
|
18
|
+
* entityRef.destroy(ecd);
|
|
19
19
|
*
|
|
20
|
+
* @author Alex Goldring
|
|
21
|
+
* @copyright Company Named Limited (c) 2025
|
|
20
22
|
*/
|
|
21
23
|
export class EntityReference {
|
|
22
24
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"System.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/System.js"],"names":[],"mappings":"AAMA
|
|
1
|
+
{"version":3,"file":"System.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/System.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,oBAxBa,CAAC;IA0BV;;;;;OAKG;IACH,yBAFU,aAAa,CAEF;IAErB;;;;OAIG;IACH,gBAFU,aAAa,CAAE,WAAW,CAAC,CAEU;IAE/C;;;;;OAKG;IACH,oBAAkB;IAElB;;;;;;;;;OASG;IACH,iBAFU,2BAA2B,EAAE,CAElB;IAGrB;;OAEG;IACH,mCAcC;IAED;;;;OAIG;IACH,sBAJa,CAAC,SACH,CAAC,GACA,MAAM,CA8BjB;IAED;;;;;;OAMG;IACH,uBAJW,aAAa,0DAOvB;IAED;;;;;;;OAOG;IACH,wBAJW,aAAa,0DAMvB;IAGD;;;;OAIG;IACH,wCAEC;IAED;;;;OAIG;IACH,0CAEC;IAED;;;;;;;;OAQG;IACH,+BAFW,sBAAsB,QAIhC;IAED;;;;;;;;OAQG;IACH,+BAFW,sBAAsB,QAIhC;IAIL;;;OAGG;IACH,mBAFU,OAAO,CAEQ;IAEzB;;;;OAIG;IACH,yBAA4B;IAG5B;;;OAGG;IACH,oBAAuB;CApBtB;;;;0BA2CS,MAAM;;;;;;;;0BA7OU,mCAAmC;qBADxC,6BAA6B"}
|
package/src/engine/ecs/System.js
CHANGED
|
@@ -12,6 +12,9 @@ import { ResourceAccessKind } from "../../core/model/ResourceAccessKind.js";
|
|
|
12
12
|
*
|
|
13
13
|
* @template C
|
|
14
14
|
*
|
|
15
|
+
* @author Alex Goldring
|
|
16
|
+
* @copyright Company Named Limited (c) 2025
|
|
17
|
+
*
|
|
15
18
|
* @example
|
|
16
19
|
* class FallDamageSystem{
|
|
17
20
|
* dependencies = [Health, Physics]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParentEntity.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/parent/ParentEntity.js"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ParentEntity.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/parent/ParentEntity.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH;IAaI;;;;OAIG;IACH,oBAHW,MAAM,GACJ,YAAY,CAQxB;IAnBG;;;;OAIG;IACH,QAFU,MAAM,CAEA;IAgBpB;;MAIC;IAED;;aAEC;CACJ;;kBAIS,MAAM;sBAKN,OAAO"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Component representing logical attachment to another entity, when parent disappears - so does the child
|
|
3
|
+
*
|
|
4
|
+
* @author Alex Goldring
|
|
5
|
+
* @copyright Company Named Limited (c) 2025
|
|
3
6
|
*/
|
|
4
7
|
export class ParentEntity {
|
|
5
8
|
/**
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
export default BinaryBufferDeSerializer;
|
|
2
2
|
/**
|
|
3
|
+
* @example
|
|
4
|
+
* const deSerializer = new BinaryBufferDeSerializer();
|
|
5
|
+
*
|
|
6
|
+
* const registry = new BinarySerializationRegistry();
|
|
7
|
+
* registry.registerAdapter(new NameSerializationAdapter());
|
|
8
|
+
*
|
|
9
|
+
* deSerializer.registry = registry;
|
|
10
|
+
*
|
|
11
|
+
* const ecd = new EntityComponentDataset();
|
|
12
|
+
*
|
|
13
|
+
* const task = deSerializer.process(buffer, {}, ecd);
|
|
14
|
+
*
|
|
15
|
+
* task.executeSync();
|
|
16
|
+
*
|
|
3
17
|
* @template CTX
|
|
18
|
+
* @author Alex Goldring
|
|
19
|
+
* @copyright Company Named Limited (c) 2025
|
|
4
20
|
*/
|
|
5
21
|
declare class BinaryBufferDeSerializer<CTX> {
|
|
6
22
|
/**
|
|
@@ -9,7 +25,7 @@ declare class BinaryBufferDeSerializer<CTX> {
|
|
|
9
25
|
*/
|
|
10
26
|
registry: BinarySerializationRegistry;
|
|
11
27
|
/**
|
|
12
|
-
*
|
|
28
|
+
* Note that this method doesn't perform serialization directly, but instead returns a {@link Task} that will do the actual serialization
|
|
13
29
|
* @param {BinaryBuffer} buffer
|
|
14
30
|
* @param {CTX} context
|
|
15
31
|
* @param {EntityComponentDataset} dataset
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryBufferDeSerializer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/storage/BinaryBufferDeSerializer.js"],"names":[],"mappings":";AAQA
|
|
1
|
+
{"version":3,"file":"BinaryBufferDeSerializer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/storage/BinaryBufferDeSerializer.js"],"names":[],"mappings":";AAQA;;;;;;;;;;;;;;;;;;GAkBG;AACH,uCAJa,GAAG;IAKZ;;;OAGG;IACH,UAFU,2BAA2B,CAErB;IAEhB;;;;;;OAMG;IACH,gBALW,YAAY,WACZ,GAAG,WACH,sBAAsB,GACpB,IAAI,CAkChB;CACJ;iBAxEgB,oCAAoC"}
|
|
@@ -7,7 +7,23 @@ import { BinaryCollectionDeSerializer } from "./binary/collection/BinaryCollecti
|
|
|
7
7
|
import { BinaryObjectSerializationAdapter } from "./binary/object/BinaryObjectSerializationAdapter.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
|
+
* @example
|
|
11
|
+
* const deSerializer = new BinaryBufferDeSerializer();
|
|
12
|
+
*
|
|
13
|
+
* const registry = new BinarySerializationRegistry();
|
|
14
|
+
* registry.registerAdapter(new NameSerializationAdapter());
|
|
15
|
+
*
|
|
16
|
+
* deSerializer.registry = registry;
|
|
17
|
+
*
|
|
18
|
+
* const ecd = new EntityComponentDataset();
|
|
19
|
+
*
|
|
20
|
+
* const task = deSerializer.process(buffer, {}, ecd);
|
|
21
|
+
*
|
|
22
|
+
* task.executeSync();
|
|
23
|
+
*
|
|
10
24
|
* @template CTX
|
|
25
|
+
* @author Alex Goldring
|
|
26
|
+
* @copyright Company Named Limited (c) 2025
|
|
11
27
|
*/
|
|
12
28
|
class BinaryBufferDeSerializer {
|
|
13
29
|
/**
|
|
@@ -17,7 +33,7 @@ class BinaryBufferDeSerializer {
|
|
|
17
33
|
registry = null;
|
|
18
34
|
|
|
19
35
|
/**
|
|
20
|
-
*
|
|
36
|
+
* Note that this method doesn't perform serialization directly, but instead returns a {@link Task} that will do the actual serialization
|
|
21
37
|
* @param {BinaryBuffer} buffer
|
|
22
38
|
* @param {CTX} context
|
|
23
39
|
* @param {EntityComponentDataset} dataset
|
|
@@ -25,6 +41,9 @@ class BinaryBufferDeSerializer {
|
|
|
25
41
|
*/
|
|
26
42
|
process(buffer, context, dataset) {
|
|
27
43
|
assert.defined(buffer, 'buffer');
|
|
44
|
+
assert.notNull(buffer, 'buffer');
|
|
45
|
+
assert.equal(buffer.isBinaryBuffer, true, "buffer.isBinaryBuffer !== true");
|
|
46
|
+
|
|
28
47
|
assert.defined(context, 'context');
|
|
29
48
|
assert.defined(dataset, 'dataset');
|
|
30
49
|
|
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
export default BinaryBufferSerializer;
|
|
2
2
|
/**
|
|
3
|
+
* @example
|
|
4
|
+
* const serializer = new BinaryBufferSerializer();
|
|
5
|
+
*
|
|
6
|
+
* const registry = new BinarySerializationRegistry();
|
|
7
|
+
* registry.registerAdapter(new NameSerializationAdapter());
|
|
8
|
+
*
|
|
9
|
+
* serializer.registry = registry;
|
|
10
|
+
*
|
|
11
|
+
* const ecd = new EntityComponentDataset();
|
|
12
|
+
* new Entity()
|
|
13
|
+
* .add(new Name("John Doe"))
|
|
14
|
+
* .build(ecd);
|
|
15
|
+
*
|
|
16
|
+
* serializer.process(buffer, ecd);
|
|
17
|
+
*
|
|
3
18
|
* @template CTX
|
|
19
|
+
* @author Alex Goldring
|
|
20
|
+
* @copyright Company Named Limited (c) 2025
|
|
4
21
|
*/
|
|
5
22
|
declare class BinaryBufferSerializer<CTX> {
|
|
6
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BinaryBufferSerializer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/storage/BinaryBufferSerializer.js"],"names":[],"mappings":";AAmDA
|
|
1
|
+
{"version":3,"file":"BinaryBufferSerializer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/storage/BinaryBufferSerializer.js"],"names":[],"mappings":";AAmDA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qCAJa,GAAG;IAKZ;;;OAGG;IACH,UAFU,2BAA2B,CAErB;IAEhB;;;OAGG;IACH,QAFU,GAAG,GAAC,IAAI,CAEJ;IAEd;;;;OAIG;IACH,gBAFW,YAAY,WADZ,sBAAsB,QAsIhC;CACJ"}
|
|
@@ -50,7 +50,24 @@ function isEntityTransient(entity, dataset, smComponentIndex, componentInstance)
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
|
+
* @example
|
|
54
|
+
* const serializer = new BinaryBufferSerializer();
|
|
55
|
+
*
|
|
56
|
+
* const registry = new BinarySerializationRegistry();
|
|
57
|
+
* registry.registerAdapter(new NameSerializationAdapter());
|
|
58
|
+
*
|
|
59
|
+
* serializer.registry = registry;
|
|
60
|
+
*
|
|
61
|
+
* const ecd = new EntityComponentDataset();
|
|
62
|
+
* new Entity()
|
|
63
|
+
* .add(new Name("John Doe"))
|
|
64
|
+
* .build(ecd);
|
|
65
|
+
*
|
|
66
|
+
* serializer.process(buffer, ecd);
|
|
67
|
+
*
|
|
53
68
|
* @template CTX
|
|
69
|
+
* @author Alex Goldring
|
|
70
|
+
* @copyright Company Named Limited (c) 2025
|
|
54
71
|
*/
|
|
55
72
|
class BinaryBufferSerializer {
|
|
56
73
|
/**
|
|
@@ -71,6 +88,13 @@ class BinaryBufferSerializer {
|
|
|
71
88
|
* @param {BinaryBuffer} buffer
|
|
72
89
|
*/
|
|
73
90
|
process(buffer, dataset) {
|
|
91
|
+
assert.defined(buffer, 'buffer');
|
|
92
|
+
assert.notNull(buffer, 'buffer');
|
|
93
|
+
assert.equal(buffer.isBinaryBuffer, true, 'buffer.isBinaryBuffer !== true');
|
|
94
|
+
|
|
95
|
+
assert.defined(dataset, 'dataset');
|
|
96
|
+
assert.notNull(dataset, 'dataset');
|
|
97
|
+
assert.equal(dataset.isEntityComponentDataset, true, 'dataset.isEntityComponentDataset !== true');
|
|
74
98
|
|
|
75
99
|
console.groupCollapsed('Serialization');
|
|
76
100
|
console.time('serializing');
|