@vworlds/vecs 1.0.16 → 1.0.17
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/dist/index.d.ts +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/util/id_pool.d.ts +8 -1
- package/dist/util/id_pool.js +53 -25
- package/dist/util/id_pool.js.map +1 -1
- package/dist/world/world.pipeline.js +1 -0
- package/dist/world/world.pipeline.js.map +1 -1
- package/dist/world/world.pools.js +5 -1
- package/dist/world/world.pools.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -14,4 +14,4 @@ export { Term, TermEventKind, type TermConsumer } from "./terms/term.js";
|
|
|
14
14
|
export { IntervalTickSource, RateTickSource, type ITickSource } from "./timer.js";
|
|
15
15
|
export { ArrayMap } from "./util/array_map.js";
|
|
16
16
|
export { Bitset } from "./util/bitset.js";
|
|
17
|
-
export { type IdPoolConfig } from "./util/id_pool.js";
|
|
17
|
+
export { DEFAULT_ID_REUSE_WAIT_FRAMES, type IdPoolConfig } from "./util/id_pool.js";
|
package/dist/index.js
CHANGED
|
@@ -13,4 +13,5 @@ export { Term } from "./terms/term.js";
|
|
|
13
13
|
export { IntervalTickSource, RateTickSource } from "./timer.js";
|
|
14
14
|
export { ArrayMap } from "./util/array_map.js";
|
|
15
15
|
export { Bitset } from "./util/bitset.js";
|
|
16
|
+
export { DEFAULT_ID_REUSE_WAIT_FRAMES } from "./util/id_pool.js";
|
|
16
17
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoB,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,KAAK,EACL,YAAY,EACZ,KAAK,EACL,IAAI,GAYL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAqB,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,aAAa,EACb,SAAS,GAKV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAoB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,IAAI,EAAoC,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAoB,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAoB,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,KAAK,EACL,YAAY,EACZ,KAAK,EACL,IAAI,GAYL,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,EAAqB,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,aAAa,EACb,SAAS,GAKV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAoB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,IAAI,EAAoC,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAoB,MAAM,YAAY,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,4BAA4B,EAAqB,MAAM,mBAAmB,CAAC"}
|
package/dist/package.json
CHANGED
package/dist/util/id_pool.d.ts
CHANGED
|
@@ -2,22 +2,29 @@ export interface IdPoolConfig {
|
|
|
2
2
|
name: string;
|
|
3
3
|
min: number;
|
|
4
4
|
max?: number;
|
|
5
|
+
reuseWaitFrames?: number;
|
|
5
6
|
}
|
|
7
|
+
export declare const DEFAULT_ID_REUSE_WAIT_FRAMES = 16;
|
|
6
8
|
export declare class IdPool {
|
|
7
9
|
readonly name: string;
|
|
8
10
|
readonly min: number;
|
|
9
11
|
readonly max: number | undefined;
|
|
12
|
+
readonly reuseWaitFrames: number;
|
|
10
13
|
private _bits;
|
|
11
14
|
private _freeBelowNext;
|
|
12
15
|
private _lowest;
|
|
13
16
|
private _minFreeWord;
|
|
14
17
|
private _next;
|
|
15
|
-
|
|
18
|
+
private readonly _waitBuckets;
|
|
19
|
+
private _waitCursor;
|
|
20
|
+
constructor(name: string, min: number, max: number | undefined, reuseWaitFrames?: number);
|
|
21
|
+
advanceFrame(): void;
|
|
16
22
|
alloc(): number;
|
|
17
23
|
free(id: number): void;
|
|
18
24
|
owns(id: number): boolean;
|
|
19
25
|
peek(): number;
|
|
20
26
|
reserve(id: number): void;
|
|
21
27
|
private _growBits;
|
|
28
|
+
private _free;
|
|
22
29
|
}
|
|
23
30
|
export declare function validateIdPoolConfigs(configs: readonly IdPoolConfig[]): void;
|
package/dist/util/id_pool.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
+
export const DEFAULT_ID_REUSE_WAIT_FRAMES = 16;
|
|
1
2
|
export class IdPool {
|
|
2
|
-
constructor(name, min, max) {
|
|
3
|
+
constructor(name, min, max, reuseWaitFrames = DEFAULT_ID_REUSE_WAIT_FRAMES) {
|
|
3
4
|
this.name = name;
|
|
4
5
|
this.min = min;
|
|
5
6
|
this.max = max;
|
|
7
|
+
this.reuseWaitFrames = reuseWaitFrames;
|
|
6
8
|
// Occupancy bitmap: bit `(id - min)` is 1 iff `id` is currently reserved.
|
|
7
9
|
// Stored as a growable plain-number array (V8 keeps these as SMIs / packed
|
|
8
10
|
// double-tagged words, which gives the fastest random-access read/write).
|
|
9
11
|
this._bits = [];
|
|
10
|
-
// Number of
|
|
12
|
+
// Number of reusable ids strictly below `_next`. When zero, alloc can skip
|
|
11
13
|
// the bitmap scan entirely and just hand out the next never-used id.
|
|
12
14
|
this._freeBelowNext = 0;
|
|
13
15
|
// Cached "lowest free id below `_next`", or -1 when not known. The
|
|
@@ -18,7 +20,23 @@ export class IdPool {
|
|
|
18
20
|
// bit below `_next`. Pure hint - alloc walks forward from here. Bumped
|
|
19
21
|
// up when alloc fills a word to all-ones and pulled back down by free.
|
|
20
22
|
this._minFreeWord = 0;
|
|
23
|
+
this._waitCursor = 0;
|
|
24
|
+
if (!Number.isSafeInteger(reuseWaitFrames) || reuseWaitFrames < 0) {
|
|
25
|
+
throw new Error(`Id pool '${name}' reuseWaitFrames must be a non-negative integer`);
|
|
26
|
+
}
|
|
21
27
|
this._next = min;
|
|
28
|
+
this._waitBuckets = Array.from({ length: reuseWaitFrames }, () => []);
|
|
29
|
+
}
|
|
30
|
+
advanceFrame() {
|
|
31
|
+
if (this.reuseWaitFrames === 0) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this._waitCursor = (this._waitCursor + 1) % this.reuseWaitFrames;
|
|
35
|
+
const bucket = this._waitBuckets[this._waitCursor];
|
|
36
|
+
for (let i = 0; i < bucket.length; i++) {
|
|
37
|
+
this._free(bucket[i]);
|
|
38
|
+
}
|
|
39
|
+
bucket.length = 0;
|
|
22
40
|
}
|
|
23
41
|
alloc() {
|
|
24
42
|
const cached = this._lowest;
|
|
@@ -65,31 +83,11 @@ export class IdPool {
|
|
|
65
83
|
if (!this.owns(id)) {
|
|
66
84
|
throw new Error(`Id ${id} does not belong to pool '${this.name}'`);
|
|
67
85
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (word >= this._bits.length) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
const mask = 1 << offset;
|
|
74
|
-
const cur = this._bits[word];
|
|
75
|
-
if ((cur & mask) === 0) {
|
|
86
|
+
if (this.reuseWaitFrames === 0) {
|
|
87
|
+
this._free(id);
|
|
76
88
|
return;
|
|
77
89
|
}
|
|
78
|
-
this.
|
|
79
|
-
if (id < this._next) {
|
|
80
|
-
this._freeBelowNext++;
|
|
81
|
-
if (word < this._minFreeWord) {
|
|
82
|
-
this._minFreeWord = word;
|
|
83
|
-
}
|
|
84
|
-
// Cache slot: track the lowest free id we've seen. If a lower id was
|
|
85
|
-
// already cached, push it back into the "anonymous" bitmap pool and
|
|
86
|
-
// promote `id`. Otherwise, if no lower-than-id is cached, take the
|
|
87
|
-
// slot.
|
|
88
|
-
const lowest = this._lowest;
|
|
89
|
-
if (lowest === -1 || id < lowest) {
|
|
90
|
-
this._lowest = id;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
90
|
+
this._waitBuckets[this._waitCursor].push(id);
|
|
93
91
|
}
|
|
94
92
|
owns(id) {
|
|
95
93
|
return id >= this.min && (this.max === undefined || id <= this.max);
|
|
@@ -145,6 +143,32 @@ export class IdPool {
|
|
|
145
143
|
bits.push(0);
|
|
146
144
|
}
|
|
147
145
|
}
|
|
146
|
+
_free(id) {
|
|
147
|
+
const offset = id - this.min;
|
|
148
|
+
const word = offset >>> 5;
|
|
149
|
+
if (word >= this._bits.length) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const mask = 1 << offset;
|
|
153
|
+
const cur = this._bits[word];
|
|
154
|
+
if ((cur & mask) === 0) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
this._bits[word] = cur & ~mask;
|
|
158
|
+
if (id < this._next) {
|
|
159
|
+
this._freeBelowNext++;
|
|
160
|
+
if (word < this._minFreeWord) {
|
|
161
|
+
this._minFreeWord = word;
|
|
162
|
+
}
|
|
163
|
+
// Cache slot: track the lowest free id we've seen. If a lower id was
|
|
164
|
+
// already cached, it stays visible in the bitmap pool and will be found
|
|
165
|
+
// by the normal free-id scan after the cached id is allocated.
|
|
166
|
+
const lowest = this._lowest;
|
|
167
|
+
if (lowest === -1 || id < lowest) {
|
|
168
|
+
this._lowest = id;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
148
172
|
}
|
|
149
173
|
function ctz32(x) {
|
|
150
174
|
// For x with at least one set bit, returns the index of the lowest set bit.
|
|
@@ -169,6 +193,10 @@ export function validateIdPoolConfigs(configs) {
|
|
|
169
193
|
if (config.min !== expectedMin) {
|
|
170
194
|
throw new Error(`Id pools must cover 1..Infinity without holes`);
|
|
171
195
|
}
|
|
196
|
+
if (config.reuseWaitFrames !== undefined &&
|
|
197
|
+
(!Number.isSafeInteger(config.reuseWaitFrames) || config.reuseWaitFrames < 0)) {
|
|
198
|
+
throw new Error(`Id pool '${config.name}' reuseWaitFrames must be a non-negative integer`);
|
|
199
|
+
}
|
|
172
200
|
if (config.max === undefined) {
|
|
173
201
|
openEndedCount++;
|
|
174
202
|
if (index !== configs.length - 1) {
|
package/dist/util/id_pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id_pool.js","sourceRoot":"","sources":["../../src/util/id_pool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"id_pool.js","sourceRoot":"","sources":["../../src/util/id_pool.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAE/C,MAAM,OAAO,MAAM;IAwBjB,YACkB,IAAY,EACZ,GAAW,EACX,GAAuB,EACvB,kBAAkB,4BAA4B;QAH9C,SAAI,GAAJ,IAAI,CAAQ;QACZ,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAoB;QACvB,oBAAe,GAAf,eAAe,CAA+B;QA3BhE,0EAA0E;QAC1E,2EAA2E;QAC3E,0EAA0E;QAClE,UAAK,GAAa,EAAE,CAAC;QAC7B,2EAA2E;QAC3E,qEAAqE;QAC7D,mBAAc,GAAG,CAAC,CAAC;QAC3B,mEAAmE;QACnE,uEAAuE;QACvE,mCAAmC;QAC3B,YAAO,GAAG,CAAC,CAAC,CAAC;QACrB,yEAAyE;QACzE,uEAAuE;QACvE,uEAAuE;QAC/D,iBAAY,GAAG,CAAC,CAAC;QAOjB,gBAAW,GAAG,CAAC,CAAC;QAQtB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,kDAAkD,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC;IAEM,YAAY;QACjB,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAEM,KAAK;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;YACpD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,IAAI,EAAE,CAAC;YACT,CAAC;YACD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,CAAC;QACpC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACpB,OAAO,GAAG,KAAK,SAAS,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,EAAE,EAAE,CAAC;QACP,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC;IACzD,CAAC;IAEM,IAAI,CAAC,EAAU;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,6BAA6B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAEM,IAAI,CAAC,EAAU;QACpB,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACzB,IAAI,EAAE,CAAC;YACT,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACpB,OAAO,GAAG,KAAK,SAAS,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;YACtC,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC;YACzB,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,EAAE,EAAE,CAAC;QACP,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,gBAAgB,CAAC,CAAC;IACzD,CAAC;IAEM,OAAO,CAAC,EAAU;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,6BAA6B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9B,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,MAAc;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,OAAO,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC;QAC/B,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,CAAC;YACD,qEAAqE;YACrE,wEAAwE;YACxE,+DAA+D;YAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAS,KAAK,CAAC,CAAS;IACtB,4EAA4E;IAC5E,mEAAmE;IACnE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgC;IACpE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAChC,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,IAAI,oCAAoC,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,IACE,MAAM,CAAC,eAAe,KAAK,SAAS;YACpC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,EAC7E,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,IAAI,kDAAkD,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,cAAc,EAAE,CAAC;YACjB,IAAI,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,IAAI,kCAAkC,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,MAAM,CAAC,IAAI,sBAAsB,CAAC,CAAC;QACjE,CAAC;QACD,WAAW,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.pipeline.js","sourceRoot":"","sources":["../../src/world/world.pipeline.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"world.pipeline.js","sourceRoot":"","sources":["../../src/world/world.pipeline.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export class Pools extends Base {
|
|
|
16
16
|
const idPools = options.idPools ?? DEFAULT_POOLS;
|
|
17
17
|
validateIdPoolConfigs(idPools);
|
|
18
18
|
this._poolConfigs.push(...idPools.map((pool) => ({ ...pool })));
|
|
19
|
-
this._pools.push(...this._poolConfigs.map((pool) => new IdPool(pool.name, pool.min, pool.max)));
|
|
19
|
+
this._pools.push(...this._poolConfigs.map((pool) => new IdPool(pool.name, pool.min, pool.max, pool.reuseWaitFrames)));
|
|
20
20
|
this._cacheNamedPools();
|
|
21
21
|
}
|
|
22
22
|
get pools() {
|
|
@@ -32,6 +32,10 @@ export class Pools extends Base {
|
|
|
32
32
|
this._modulePool = this._poolByName("module");
|
|
33
33
|
this._entityPool = this._poolByName("entity");
|
|
34
34
|
}
|
|
35
|
+
/** @internal Advance every id pool waitlist by one frame. */
|
|
36
|
+
_advanceIdPoolFrame() {
|
|
37
|
+
this._pools.forEach((pool) => pool.advanceFrame());
|
|
38
|
+
}
|
|
35
39
|
/** @internal Look up a configured id pool by name. */
|
|
36
40
|
_poolByName(name) {
|
|
37
41
|
const pool = this._pools.find((candidate) => candidate.name === name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"world.pools.js","sourceRoot":"","sources":["../../src/world/world.pools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,IAAI,EAAqB,MAAM,iBAAiB,CAAC;AAE1D,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,aAAa,GAA4B;IACpD,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;IACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE;CAC9B,CAAC;AAEF,MAAM,OAAO,KAAM,SAAQ,IAAI;IAY7B,YAAmB,UAAwB,EAAE;QAC3C,KAAK,EAAE,CAAC;QAZV,sDAAsD;QACnC,iBAAY,GAAmB,EAAE,CAAC;QACrD,kEAAkE;QAC/C,WAAM,GAAa,EAAE,CAAC;QAUvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC;QACjD,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"world.pools.js","sourceRoot":"","sources":["../../src/world/world.pools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,IAAI,EAAqB,MAAM,iBAAiB,CAAC;AAE1D,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB,MAAM,CAAC,MAAM,aAAa,GAA4B;IACpD,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;IACvC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;IACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE;CAC9B,CAAC;AAEF,MAAM,OAAO,KAAM,SAAQ,IAAI;IAY7B,YAAmB,UAAwB,EAAE;QAC3C,KAAK,EAAE,CAAC;QAZV,sDAAsD;QACnC,iBAAY,GAAmB,EAAE,CAAC;QACrD,kEAAkE;QAC/C,WAAM,GAAa,EAAE,CAAC;QAUvC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC;QACjD,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CACtB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,CAC1E,CACF,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,iFAAiF;IAC1E,WAAW,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,8DAA8D;IACpD,gBAAgB;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,6DAA6D;IACnD,mBAAmB;QAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,sDAAsD;IAC5C,WAAW,CAAC,IAAY;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAiD;IACvC,QAAQ,CAAC,GAAW;QAC5B,IAAI,GAAG,KAAK,YAAY,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sEAAsE;IAC5D,WAAW,CAAC,GAAW;QAC/B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;CACF"}
|