@woosh/meep-engine 2.129.4 → 2.130.0
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/collection/queue/Deque.d.ts +4 -0
- package/src/core/model/node-graph/node/NodeInstancePortReference.d.ts.map +1 -1
- package/src/core/model/node-graph/node/NodeInstancePortReference.js +2 -0
- package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.js +28 -19
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.js +1 -1
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts +2 -2
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.js +9 -9
- package/src/engine/ecs/storage/binary/collection/BinaryCollectionSerializer.js +3 -3
- package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter.js +3 -3
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.
|
|
8
|
+
"version": "2.130.0",
|
|
9
9
|
"main": "build/meep.module.js",
|
|
10
10
|
"module": "build/meep.module.js",
|
|
11
11
|
"exports": {
|
|
@@ -19,6 +19,8 @@ export class Deque<T> {
|
|
|
19
19
|
|
|
20
20
|
getLast(): T | undefined
|
|
21
21
|
|
|
22
|
+
getElementByIndex(index: number): T | undefined
|
|
23
|
+
|
|
22
24
|
pop(): T
|
|
23
25
|
|
|
24
26
|
add(e: T): void
|
|
@@ -30,4 +32,6 @@ export class Deque<T> {
|
|
|
30
32
|
addLast(e: T): void
|
|
31
33
|
|
|
32
34
|
removeLast(): T
|
|
35
|
+
|
|
36
|
+
toArray(result?:T[], result_offset?:number):T[]
|
|
33
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeInstancePortReference.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/node-graph/node/NodeInstancePortReference.js"],"names":[],"mappings":"AASA;;GAEG;AACH;
|
|
1
|
+
{"version":3,"file":"NodeInstancePortReference.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/node-graph/node/NodeInstancePortReference.js"],"names":[],"mappings":"AASA;;GAEG;AACH;IAkFI;;;;;OAKG;IACH,iDAFa,yBAAyB,CAUrC;IA9FD;;;OAGG;IACH,aAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,gCAAgB;IAEhB;;;OAGG;IACH,oBAAY;IAEZ;;;;;OAKG;IACH,sBAFU,YAAY,CAEL;IAEjB;;;OAGG;IACH,mCAEC;IAED;;;OAGG;IACH,kCAEC;IAED;;;;;OAKG;IACH,kBAFY,OAAO,CAIlB;IAED;;;;;OAKG;IACH,oCAHW,MAAM,GACJ,OAAO,CAqBnB;IAmBD;;;;OAIG;IACH,8CAWC;IAED;;;OAGG;IACH,QAFY,MAAM,CAOjB;IAED;;;;OAIG;IACH,cAHW,yBAAyB,GACvB,OAAO,CAMnB;IAED,mBAEC;IAGL;;;OAGG;IACH,sCAFU,OAAO,CAE8C;CAN9D"}
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH;IAEI;;;;;;;OAOG;IACH,0BAAa;IAEb;;;;;;OAMG;IACH,mBAFU,MAAM,CAEJ;IAEZ;;;;;OAKG;IACH,iCAEC;IAED;;;;;OAKG;IACH,iBAEC;IAED;;;;;;OAMG;IACH,uCAFW,CAAC,QAIX;IAED;;;;;;OAMG;IACH,yCAFW,CAAC,QAIX;IAGL;;;OAGG;IACH,4CAFU,OAAO,CAE0D;CAN1E"}
|
|
@@ -1,15 +1,41 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Defines how to serialize and deserialize an instance of a given class
|
|
2
|
+
* Defines how to serialize and deserialize an instance of a given class.
|
|
3
|
+
* This class is intended to be overridden.
|
|
3
4
|
*
|
|
4
5
|
* @template T
|
|
5
6
|
*
|
|
7
|
+
* @example
|
|
8
|
+
* class BookSerializer extends BinaryClassSerializationAdapter{
|
|
9
|
+
* klass = Book
|
|
10
|
+
* version = 0
|
|
11
|
+
*
|
|
12
|
+
* serialize(buffer: BinaryBuffer, book: Book){
|
|
13
|
+
*
|
|
14
|
+
* buffer.writeUTF8String(book.title);
|
|
15
|
+
* buffer.writeUint32(book.page_count);
|
|
16
|
+
* buffer.writeUTF8String(book.text);
|
|
17
|
+
*
|
|
18
|
+
* }
|
|
19
|
+
*
|
|
20
|
+
* deserialize(buffer: BinaryBuffer, book: Book){
|
|
21
|
+
*
|
|
22
|
+
* book.title = buffer.readUTF8String();
|
|
23
|
+
* book.page_count = buffer.readUint32();
|
|
24
|
+
* book.text = buffer.readUTF8String();
|
|
25
|
+
*
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
6
29
|
* @author Alex Goldring
|
|
7
30
|
* @copyright Company Named Limited (c) 2025
|
|
8
31
|
*/
|
|
9
32
|
export class BinaryClassSerializationAdapter {
|
|
10
33
|
|
|
11
34
|
/**
|
|
12
|
-
* Class that this adapter handles
|
|
35
|
+
* Class that this adapter handles.
|
|
36
|
+
* NOTE: misspelling of the word "class" is intentional, in JavaScript "class" is a reserved word.
|
|
37
|
+
* @example
|
|
38
|
+
* klass = Vector3
|
|
13
39
|
* @protected
|
|
14
40
|
* @type {Class<T>}
|
|
15
41
|
*/
|
|
@@ -24,23 +50,6 @@ export class BinaryClassSerializationAdapter {
|
|
|
24
50
|
*/
|
|
25
51
|
version = 0;
|
|
26
52
|
|
|
27
|
-
/**
|
|
28
|
-
* @deprecated use {@link this.klass}
|
|
29
|
-
* @returns {Class<T>}
|
|
30
|
-
*/
|
|
31
|
-
getClass() {
|
|
32
|
-
return this.klass;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* @deprecated use {@link this.version}
|
|
37
|
-
*
|
|
38
|
-
* @returns {number}
|
|
39
|
-
*/
|
|
40
|
-
getVersion() {
|
|
41
|
-
return this.version;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
53
|
/**
|
|
45
54
|
* Invoked externally as part of the serialization lifecycle.
|
|
46
55
|
* Guaranteed to be invoked before the first usage of the adapter.
|
|
@@ -100,9 +100,9 @@ export class BinaryCollectionDeSerializer {
|
|
|
100
100
|
getElementClass(): Class<T> | null;
|
|
101
101
|
/**
|
|
102
102
|
*
|
|
103
|
-
* @param {function(string,Class, BinaryClassSerializationAdapter):[]} [adapterOptionsSupplier]
|
|
103
|
+
* @param {function(name:string, klass: Class, adapter:BinaryClassSerializationAdapter):[]} [adapterOptionsSupplier]
|
|
104
104
|
*/
|
|
105
|
-
initialize({ adapterOptionsSupplier }?: (arg0:
|
|
105
|
+
initialize({ adapterOptionsSupplier }?: (arg0: void) => string): void;
|
|
106
106
|
finalize(): void;
|
|
107
107
|
/**
|
|
108
108
|
* @private
|
|
@@ -1 +1 @@
|
|
|
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,yDAKC;IAED;;;OAGG;IACH,2CAEC;IAED;;;OAGG;IACH,kBAFW,YAAY,QAOtB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,WAAS,IAAI,CAUzB;IAED;;;OAGG;IACH
|
|
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,yDAKC;IAED;;;OAGG;IACH,2CAEC;IAED;;;OAGG;IACH,kBAFW,YAAY,QAOtB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,MAAM,CAIlB;IAED;;;OAGG;IACH,mBAFa,WAAS,IAAI,CAUzB;IAED;;;OAGG;IACH,wDAFyB,MAAM,QAgF9B;IAED,iBAWC;IAED;;;OAGG;IACH,uBAeC;IAED;;;OAGG;IACH;;aAF6B,MAAM;MA8DlC;CAEJ;6BAvV4B,4CAA4C"}
|
|
@@ -155,12 +155,12 @@ export class BinaryCollectionDeSerializer {
|
|
|
155
155
|
return null;
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
return adapter.
|
|
158
|
+
return adapter.klass;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
/**
|
|
162
162
|
*
|
|
163
|
-
* @param {function(string,Class, BinaryClassSerializationAdapter):[]} [adapterOptionsSupplier]
|
|
163
|
+
* @param {function(name:string, klass: Class, adapter:BinaryClassSerializationAdapter):[]} [adapterOptionsSupplier]
|
|
164
164
|
*/
|
|
165
165
|
initialize({ adapterOptionsSupplier = returnEmptyArray } = {}) {
|
|
166
166
|
assert.isFunction(adapterOptionsSupplier, 'adapterOptionsSupplier');
|
|
@@ -186,7 +186,7 @@ export class BinaryCollectionDeSerializer {
|
|
|
186
186
|
|
|
187
187
|
this.adapter = adapter;
|
|
188
188
|
|
|
189
|
-
const adapterOptions = adapterOptionsSupplier(className, adapter.
|
|
189
|
+
const adapterOptions = adapterOptionsSupplier(className, adapter.klass, adapter);
|
|
190
190
|
|
|
191
191
|
assert.isArray(adapterOptions, 'adapterOptions');
|
|
192
192
|
|
|
@@ -212,18 +212,18 @@ export class BinaryCollectionDeSerializer {
|
|
|
212
212
|
this.elementIndex = 0;
|
|
213
213
|
|
|
214
214
|
//check if data needs to be upgraded
|
|
215
|
-
if (version > adapter.
|
|
216
|
-
throw new Error(`${className} data version is ${version}, which is greater than the registered serialization adapter version(=${adapter.
|
|
215
|
+
if (version > adapter.version) {
|
|
216
|
+
throw new Error(`${className} data version is ${version}, which is greater than the registered serialization adapter version(=${(adapter.version)})`);
|
|
217
217
|
}
|
|
218
218
|
|
|
219
|
-
if (version < adapter.
|
|
219
|
+
if (version < adapter.version) {
|
|
220
220
|
this.__upgradeRequired = true;
|
|
221
221
|
|
|
222
222
|
//data needs to be upgraded
|
|
223
|
-
const upgradersChain = registry.getUpgradersChain(className, version, adapter.
|
|
223
|
+
const upgradersChain = registry.getUpgradersChain(className, version, adapter.version);
|
|
224
224
|
|
|
225
225
|
if (upgradersChain === null) {
|
|
226
|
-
throw new Error(`No upgrade chain exists for class '${className}' from version ${version} to current adapter version ${adapter.
|
|
226
|
+
throw new Error(`No upgrade chain exists for class '${className}' from version ${version} to current adapter version ${(adapter.version)}`);
|
|
227
227
|
}
|
|
228
228
|
|
|
229
229
|
this.upgraders = upgradersChain;
|
|
@@ -267,7 +267,7 @@ export class BinaryCollectionDeSerializer {
|
|
|
267
267
|
buffer = executeBinaryClassUpgraderChain(this.upgraders, buffer, this.__upgradeBuffer0, this.__upgradeBuffer1);
|
|
268
268
|
}
|
|
269
269
|
|
|
270
|
-
const Klass = this.adapter.
|
|
270
|
+
const Klass = this.adapter.klass;
|
|
271
271
|
|
|
272
272
|
const value = new Klass();
|
|
273
273
|
|
|
@@ -135,7 +135,7 @@ export class BinaryCollectionSerializer {
|
|
|
135
135
|
|
|
136
136
|
this.adapter = adapter;
|
|
137
137
|
|
|
138
|
-
const adapterOptions = adapterOptionsSupplier(className, adapter.
|
|
138
|
+
const adapterOptions = adapterOptionsSupplier(className, adapter.klass, adapter);
|
|
139
139
|
|
|
140
140
|
assert.isArray(adapterOptions, 'adapterOptions');
|
|
141
141
|
|
|
@@ -160,7 +160,7 @@ export class BinaryCollectionSerializer {
|
|
|
160
160
|
|
|
161
161
|
this.startAddress = buffer.position;
|
|
162
162
|
|
|
163
|
-
const componentType = adapter.
|
|
163
|
+
const componentType = adapter.klass;
|
|
164
164
|
|
|
165
165
|
//determine if dictionary can be used
|
|
166
166
|
this.__dictionaryEnabled = typeof componentType.prototype.hash === "function"
|
|
@@ -182,7 +182,7 @@ export class BinaryCollectionSerializer {
|
|
|
182
182
|
const headerValues = [];
|
|
183
183
|
|
|
184
184
|
headerValues[BinaryCollectionHeaderLayout.Dictionary] = this.__dictionaryEnabled ? 1 : 0;
|
|
185
|
-
headerValues[BinaryCollectionHeaderLayout.Version] = this.adapter.
|
|
185
|
+
headerValues[BinaryCollectionHeaderLayout.Version] = this.adapter.version;
|
|
186
186
|
|
|
187
187
|
const header = BinaryCollectionHeaderCodec.encode.apply(null, headerValues);
|
|
188
188
|
|
|
@@ -74,7 +74,7 @@ export class BinaryObjectSerializationAdapter {
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
buffer.writeUTF8String(className);
|
|
77
|
-
buffer.writeUintVar(adapter.
|
|
77
|
+
buffer.writeUintVar(adapter.version);
|
|
78
78
|
|
|
79
79
|
adapter.initialize(this);
|
|
80
80
|
|
|
@@ -103,7 +103,7 @@ export class BinaryObjectSerializationAdapter {
|
|
|
103
103
|
//serialization format version
|
|
104
104
|
const version = buffer.readUintVar();
|
|
105
105
|
|
|
106
|
-
const adapterVersion = adapter.
|
|
106
|
+
const adapterVersion = adapter.version;
|
|
107
107
|
|
|
108
108
|
if (version !== adapterVersion) {
|
|
109
109
|
//upgrade is required
|
|
@@ -117,7 +117,7 @@ export class BinaryObjectSerializationAdapter {
|
|
|
117
117
|
buffer = executeBinaryClassUpgraderChain(upgradersChain, buffer, this.__upgradeBuffer0, this.__upgradeBuffer1);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
const Klass = adapter.
|
|
120
|
+
const Klass = adapter.klass;
|
|
121
121
|
|
|
122
122
|
const value = new Klass();
|
|
123
123
|
|