@sadhaka/loom-engine 0.15.0 → 0.20.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/dist/audio/cue-catalog.d.ts +5 -1
- package/dist/audio/cue-catalog.d.ts.map +1 -1
- package/dist/audio/cue-catalog.js +14 -9
- package/dist/audio/cue-catalog.js.map +1 -1
- package/dist/director/director-bridge.d.ts +5 -0
- package/dist/director/director-bridge.d.ts.map +1 -1
- package/dist/director/director-bridge.js.map +1 -1
- package/dist/director/director-system.d.ts.map +1 -1
- package/dist/director/director-system.js +4 -1
- package/dist/director/director-system.js.map +1 -1
- package/dist/director/mock-director-bridge.d.ts.map +1 -1
- package/dist/director/mock-director-bridge.js +5 -0
- package/dist/director/mock-director-bridge.js.map +1 -1
- package/dist/director/sse-director-bridge.d.ts +20 -0
- package/dist/director/sse-director-bridge.d.ts.map +1 -1
- package/dist/director/sse-director-bridge.js +251 -66
- package/dist/director/sse-director-bridge.js.map +1 -1
- package/dist/director/zone/zone-boss-entity-system.d.ts +9 -0
- package/dist/director/zone/zone-boss-entity-system.d.ts.map +1 -0
- package/dist/director/zone/zone-boss-entity-system.js +114 -0
- package/dist/director/zone/zone-boss-entity-system.js.map +1 -0
- package/dist/director/zone/zone-boss-entity.d.ts +30 -0
- package/dist/director/zone/zone-boss-entity.d.ts.map +1 -0
- package/dist/director/zone/zone-boss-entity.js +103 -0
- package/dist/director/zone/zone-boss-entity.js.map +1 -0
- package/dist/director/zone/zone-event-system.d.ts.map +1 -1
- package/dist/director/zone/zone-event-system.js +6 -2
- package/dist/director/zone/zone-event-system.js.map +1 -1
- package/dist/engine.d.ts +1 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +6 -0
- package/dist/engine.js.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/plugins/client-registry.d.ts +61 -0
- package/dist/plugins/client-registry.d.ts.map +1 -0
- package/dist/plugins/client-registry.js +994 -0
- package/dist/plugins/client-registry.js.map +1 -0
- package/dist/plugins/index.d.ts +5 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +20 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/types.d.ts +105 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +112 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/runtime/entropy.d.ts +22 -0
- package/dist/runtime/entropy.d.ts.map +1 -0
- package/dist/runtime/entropy.js +122 -0
- package/dist/runtime/entropy.js.map +1 -0
- package/dist/systems/attack-system.d.ts.map +1 -1
- package/dist/systems/attack-system.js +6 -2
- package/dist/systems/attack-system.js.map +1 -1
- package/dist/systems/damage-system.d.ts.map +1 -1
- package/dist/systems/damage-system.js +6 -1
- package/dist/systems/damage-system.js.map +1 -1
- package/dist/systems/particle-emitter-system.d.ts.map +1 -1
- package/dist/systems/particle-emitter-system.js +20 -6
- package/dist/systems/particle-emitter-system.js.map +1 -1
- package/dist/systems/peer-presence-system.d.ts.map +1 -1
- package/dist/systems/peer-presence-system.js +6 -1
- package/dist/systems/peer-presence-system.js.map +1 -1
- package/dist/systems/projectile-system.d.ts.map +1 -1
- package/dist/systems/projectile-system.js +5 -1
- package/dist/systems/projectile-system.js.map +1 -1
- package/dist/systems/pursue-system.d.ts.map +1 -1
- package/dist/systems/pursue-system.js +5 -1
- package/dist/systems/pursue-system.js.map +1 -1
- package/dist/systems/ranged-attack-system.d.ts.map +1 -1
- package/dist/systems/ranged-attack-system.js +5 -1
- package/dist/systems/ranged-attack-system.js.map +1 -1
- package/package.json +2 -2
|
@@ -18,6 +18,9 @@ export type CuePlayOptions = Partial<PositionalPlayOptions> & {
|
|
|
18
18
|
x?: number;
|
|
19
19
|
y?: number;
|
|
20
20
|
};
|
|
21
|
+
export interface CueCatalogOptions {
|
|
22
|
+
now?: () => number;
|
|
23
|
+
}
|
|
21
24
|
export declare class CueCatalog {
|
|
22
25
|
private audioBus;
|
|
23
26
|
private spatialBus;
|
|
@@ -25,8 +28,9 @@ export declare class CueCatalog {
|
|
|
25
28
|
private cues;
|
|
26
29
|
private cooldowns;
|
|
27
30
|
private liveHandles;
|
|
31
|
+
private nowMs;
|
|
28
32
|
private constructor();
|
|
29
|
-
static create(audioBus: AudioBus, spatialBus: SpatialAudioBus, cache: AudioAssetCache): CueCatalog;
|
|
33
|
+
static create(audioBus: AudioBus, spatialBus: SpatialAudioBus, cache: AudioAssetCache, options?: CueCatalogOptions): CueCatalog;
|
|
30
34
|
register(name: string, def: CueDefinition): void;
|
|
31
35
|
unregister(name: string): void;
|
|
32
36
|
has(name: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cue-catalog.d.ts","sourceRoot":"","sources":["../../src/audio/cue-catalog.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAMhC,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,mBAAmB,GACpB,CAAC;AAEF,MAAM,WAAW,aAAa;IAE5B,KAAK,EAAE,MAAM,CAAC;IAEd,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;IAIhD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GACxB,OAAO,CAAC,qBAAqB,CAAC,GAC5B;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"cue-catalog.d.ts","sourceRoot":"","sources":["../../src/audio/cue-catalog.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAMhC,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,mBAAmB,GACpB,CAAC;AAEF,MAAM,WAAW,aAAa;IAE5B,KAAK,EAAE,MAAM,CAAC;IAEd,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;IAIhD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GACxB,OAAO,CAAC,qBAAqB,CAAC,GAC5B;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAsB7D,MAAM,WAAW,iBAAiB;IAIhC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,IAAI,CAAyC;IACrD,OAAO,CAAC,SAAS,CAAyC;IAG1D,OAAO,CAAC,WAAW,CAAoD;IACvE,OAAO,CAAC,KAAK,CAAe;IAE5B,OAAO;IAYP,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,eAAe,EAC3B,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,UAAU;IAKb,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI;IAOhD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,aAAa,CAAC,MAAM,CAAC;IAQ7B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,mBAAmB,GAAG,IAAI;IA2FxE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAc3B,OAAO,CAAC,UAAU;CAGnB;AAKD,eAAO,MAAM,oBAAoB,gBAAgB,CAAC"}
|
|
@@ -16,10 +16,12 @@
|
|
|
16
16
|
// catalog tracks live SpatialSourceHandles per cue name and exposes
|
|
17
17
|
// stopAll to kill them on a single command (e.g. "boss died, stop the
|
|
18
18
|
// loop"). Non-spatial one-shots are not tracked - they end on their own.
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
//
|
|
22
|
-
|
|
19
|
+
// Default time source. Real implementation uses performance.now() /
|
|
20
|
+
// Date.now(). For deterministic replays, callers pass a `now` override
|
|
21
|
+
// through CueCatalog.create({ now }) - typically a closure that reads
|
|
22
|
+
// TimeResource.elapsed * 1000 from the world. With no override the
|
|
23
|
+
// catalog behaves like prior versions.
|
|
24
|
+
function defaultNowMs() {
|
|
23
25
|
if (typeof performance !== 'undefined' && typeof performance.now === 'function') {
|
|
24
26
|
return performance.now();
|
|
25
27
|
}
|
|
@@ -34,13 +36,16 @@ export class CueCatalog {
|
|
|
34
36
|
// Live spatial source handles per cue name. Cleared on stopAll(name).
|
|
35
37
|
// Non-spatial one-shots are NOT tracked - they end naturally.
|
|
36
38
|
liveHandles = new Map();
|
|
37
|
-
|
|
39
|
+
nowMs;
|
|
40
|
+
constructor(audioBus, spatialBus, cache, now) {
|
|
38
41
|
this.audioBus = audioBus;
|
|
39
42
|
this.spatialBus = spatialBus;
|
|
40
43
|
this.cache = cache;
|
|
44
|
+
this.nowMs = now;
|
|
41
45
|
}
|
|
42
|
-
static create(audioBus, spatialBus, cache) {
|
|
43
|
-
|
|
46
|
+
static create(audioBus, spatialBus, cache, options) {
|
|
47
|
+
var now = options && typeof options.now === 'function' ? options.now : defaultNowMs;
|
|
48
|
+
return new CueCatalog(audioBus, spatialBus, cache, now);
|
|
44
49
|
}
|
|
45
50
|
register(name, def) {
|
|
46
51
|
this.cues.set(name, def);
|
|
@@ -74,7 +79,7 @@ export class CueCatalog {
|
|
|
74
79
|
// soon after the prior successful play.
|
|
75
80
|
if (def.cooldownMs !== undefined && def.cooldownMs > 0) {
|
|
76
81
|
var entry = this.cooldowns.get(name) ?? { lastPlayMs: -Infinity };
|
|
77
|
-
var t = nowMs();
|
|
82
|
+
var t = this.nowMs();
|
|
78
83
|
if (t - entry.lastPlayMs < def.cooldownMs) {
|
|
79
84
|
return null;
|
|
80
85
|
}
|
|
@@ -176,7 +181,7 @@ export class CueCatalog {
|
|
|
176
181
|
setForName.clear();
|
|
177
182
|
}
|
|
178
183
|
markPlayed(name) {
|
|
179
|
-
this.cooldowns.set(name, { lastPlayMs: nowMs() });
|
|
184
|
+
this.cooldowns.set(name, { lastPlayMs: this.nowMs() });
|
|
180
185
|
}
|
|
181
186
|
}
|
|
182
187
|
// Resource key for the world's resource registry. Engine consumers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cue-catalog.js","sourceRoot":"","sources":["../../src/audio/cue-catalog.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,oEAAoE;AACpE,wEAAwE;AACxE,oCAAoC;AACpC,EAAE;AACF,wEAAwE;AACxE,sEAAsE;AACtE,qEAAqE;AACrE,6BAA6B;AAC7B,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,sEAAsE;AACtE,yEAAyE;AAuCzE,
|
|
1
|
+
{"version":3,"file":"cue-catalog.js","sourceRoot":"","sources":["../../src/audio/cue-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,11 @@ export interface DirectorBridgeStats {
|
|
|
7
7
|
outOfOrderEvents: number;
|
|
8
8
|
serverDropsP1: number;
|
|
9
9
|
serverDropsP2: number;
|
|
10
|
+
lastConnectedAtMs: number;
|
|
11
|
+
lastDisconnectedAtMs: number;
|
|
12
|
+
totalConnectsCount: number;
|
|
13
|
+
totalDisconnectsCount: number;
|
|
14
|
+
currentReconnectAttempt: number;
|
|
10
15
|
}
|
|
11
16
|
export interface IDirectorBridge {
|
|
12
17
|
start(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"director-bridge.d.ts","sourceRoot":"","sources":["../../src/director/director-bridge.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,YAAY,GACZ,WAAW,GACX,cAAc,GACd,mBAAmB,GACnB,QAAQ,CAAC;AAEb,MAAM,WAAW,mBAAmB;IAElC,cAAc,EAAE,MAAM,CAAC;IAEvB,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,EAAE,MAAM,CAAC;IAEpB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"director-bridge.d.ts","sourceRoot":"","sources":["../../src/director/director-bridge.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAC5B,MAAM,GACN,YAAY,GACZ,WAAW,GACX,cAAc,GACd,mBAAmB,GACnB,QAAQ,CAAC;AAEb,MAAM,WAAW,mBAAmB;IAElC,cAAc,EAAE,MAAM,CAAC;IAEvB,UAAU,EAAE,MAAM,CAAC;IAEnB,WAAW,EAAE,MAAM,CAAC;IAEpB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IAKtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,IAAI,oBAAoB,CAAC;IAC/B,WAAW,IAAI,OAAO,CAAC;IACvB,cAAc,IAAI,MAAM,CAAC;IACzB,UAAU,IAAI,aAAa,EAAE,CAAC;IAC9B,KAAK,IAAI,QAAQ,CAAC,mBAAmB,CAAC,CAAC;CACxC;AAGD,eAAO,MAAM,wBAAwB,oBAAoB,CAAC;AAC1D,eAAO,MAAM,qBAAqB,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"director-bridge.js","sourceRoot":"","sources":["../../src/director/director-bridge.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,4BAA4B;AAC5B,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,wEAAwE;AACxE,kEAAkE;AAClE,EAAE;AACF,oEAAoE;AACpE,qEAAqE;AACrE,qCAAqC;AACrC,EAAE;AACF,wBAAwB;AACxB,+DAA+D;AAC/D,qDAAqD;AACrD,oEAAoE;AACpE,+EAA+E;AAC/E,4EAA4E;
|
|
1
|
+
{"version":3,"file":"director-bridge.js","sourceRoot":"","sources":["../../src/director/director-bridge.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,4BAA4B;AAC5B,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,wEAAwE;AACxE,kEAAkE;AAClE,EAAE;AACF,oEAAoE;AACpE,qEAAqE;AACrE,qCAAqC;AACrC,EAAE;AACF,wBAAwB;AACxB,+DAA+D;AAC/D,qDAAqD;AACrD,oEAAoE;AACpE,+EAA+E;AAC/E,4EAA4E;AA6C5E,iBAAiB;AACjB,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;AAC1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"director-system.d.ts","sourceRoot":"","sources":["../../src/director/director-system.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAazC,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,gBAAgB;IAE/B,MAAM,EAAE,aAAa,EAAE,CAAC;IAExB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAG1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,QAAQ,EAAE,QAAQ,CAAC;IAEnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,qBAAqB,iBAAiB,CAAC;AAIpD,wBAAgB,sBAAsB,IAAI,gBAAgB,CAUzD;AAwBD,qBAAa,cAAe,YAAW,MAAM;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAc;IAEnC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"director-system.d.ts","sourceRoot":"","sources":["../../src/director/director-system.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAazC,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,gBAAgB;IAE/B,MAAM,EAAE,aAAa,EAAE,CAAC;IAExB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,CAAC;IAG1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,QAAQ,EAAE,QAAQ,CAAC;IAEnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,qBAAqB,iBAAiB,CAAC;AAIpD,wBAAgB,sBAAsB,IAAI,gBAAgB,CAUzD;AAwBD,qBAAa,cAAe,YAAW,MAAM;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAc;IAEnC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;CA2BxC"}
|
|
@@ -86,7 +86,10 @@ export class DirectorSystem {
|
|
|
86
86
|
const time = world.resources.get(RESOURCE_TIME);
|
|
87
87
|
if (!bridge || !knotCtx || !log)
|
|
88
88
|
return;
|
|
89
|
-
|
|
89
|
+
// Deterministic clock - TimeResource only. Same coordinate as
|
|
90
|
+
// ZoneEventSystem (which now also drops the performance.now()
|
|
91
|
+
// pollution) so beginFade / tickFade stay in sync across replays.
|
|
92
|
+
const nowMs = time ? time.elapsed * 1000 : 0;
|
|
90
93
|
// 1. Drain queued events.
|
|
91
94
|
const events = bridge.pollEvents();
|
|
92
95
|
if (events.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"director-system.js","sourceRoot":"","sources":["../../src/director/director-system.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,kEAAkE;AAClE,aAAa;AACb,EAAE;AACF,kEAAkE;AAClE,qCAAqC;AACrC,oEAAoE;AACpE,6DAA6D;AAC7D,iEAAiE;AACjE,+DAA+D;AAC/D,4CAA4C;AAC5C,EAAE;AACF,uBAAuB;AACvB,iEAAiE;AACjE,qCAAqC;AACrC,mEAAmE;AACnE,gEAAgE;AAChE,qEAAqE;AACrE,EAAE;AACF,6CAA6C;AAC7C,EAAE;AACF,kEAAkE;AAClE,yCAAyC;AACzC,uEAAuE;AACvE,qEAAqE;AACrE,uEAAuE;AACvE,iEAAiE;AACjE,6DAA6D;AAC7D,qEAAqE;AACrE,0DAA0D;AAC1D,oEAAoE;AACpE,+DAA+D;AAC/D,gDAAgD;AAChD,0DAA0D;AAC1D,kDAAkD;AAClD,sEAAsE;AACtE,oCAAoC;AACpC,qEAAqE;AACrE,0CAA0C;AAC1C,EAAE;AACF,mEAAmE;AACnE,iEAAiE;AACjE,iEAAiE;AACjE,sEAAsE;AAItE,OAAO,EAEL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,oBAAoB,EAGpB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAwBzB,MAAM,CAAC,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAEpD,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,MAAM,EAAE,EAAE;QACV,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,CAAC;QACpB,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,IAAI;QACvB,QAAQ,EAAE,OAAO;QACjB,aAAa,EAAE,CAAC;KACjB,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,6CAA6C;AAC7C,EAAE;AACF,mEAAmE;AACnE,2CAA2C;AAC3C,wEAAwE;AACxE,2DAA2D;AAC3D,oEAAoE;AACpE,+CAA+C;AAC/C,EAAE;AACF,wEAAwE;AACxE,wEAAwE;AACxE,wDAAwD;AACxD,MAAM,YAAY,GAA0E;IAC1F,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAG,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAG,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;IAClD,GAAG,EAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;CACnD,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,MAAM,OAAO,cAAc;IAChB,IAAI,GAAW,UAAU,CAAC;IAEnC,MAAM,CAAC,KAAY,EAAE,GAAW;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAkB,wBAAwB,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAsB,qBAAqB,CAAC,CAAC;QAChF,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAmB,qBAAqB,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAe,aAAa,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG;YAAE,OAAO;QAExC,MAAM,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"director-system.js","sourceRoot":"","sources":["../../src/director/director-system.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-director-bridge.d.ts","sourceRoot":"","sources":["../../src/director/mock-director-bridge.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,kBAAmB,YAAW,eAAe;IACxD,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"mock-director-bridge.d.ts","sourceRoot":"","sources":["../../src/director/mock-director-bridge.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,kBAAmB,YAAW,eAAe;IACxD,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,UAAU,CAYhB;IAEF,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ,MAAM,IAAI,oBAAoB;IAI9B,WAAW,IAAI,OAAO;IAItB,cAAc,IAAI,MAAM;IAIxB,UAAU,IAAI,aAAa,EAAE;IAO7B,KAAK,IAAI,QAAQ,CAAC,mBAAmB,CAAC;IAStC,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAWnC,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,IAAI;IAQtD,OAAO,IAAI,MAAM;CAGlB"}
|
|
@@ -19,6 +19,11 @@ export class MockDirectorBridge {
|
|
|
19
19
|
outOfOrderEvents: 0,
|
|
20
20
|
serverDropsP1: 0,
|
|
21
21
|
serverDropsP2: 0,
|
|
22
|
+
lastConnectedAtMs: 0,
|
|
23
|
+
lastDisconnectedAtMs: 0,
|
|
24
|
+
totalConnectsCount: 0,
|
|
25
|
+
totalDisconnectsCount: 0,
|
|
26
|
+
currentReconnectAttempt: 0,
|
|
22
27
|
};
|
|
23
28
|
start() {
|
|
24
29
|
this.statusValue = 'connected';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock-director-bridge.js","sourceRoot":"","sources":["../../src/director/mock-director-bridge.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,oEAAoE;AACpE,kEAAkE;AAClE,qEAAqE;AACrE,uBAAuB;AACvB,EAAE;AACF,wEAAwE;AACxE,iEAAiE;AACjE,sEAAsE;AACtE,yBAAyB;AASzB,MAAM,OAAO,kBAAkB;IACrB,KAAK,GAAoB,EAAE,CAAC;IAC5B,WAAW,GAAyB,MAAM,CAAC;IAC3C,UAAU,GAAwB;QACxC,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,gBAAgB,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"mock-director-bridge.js","sourceRoot":"","sources":["../../src/director/mock-director-bridge.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,oEAAoE;AACpE,kEAAkE;AAClE,qEAAqE;AACrE,uBAAuB;AACvB,EAAE;AACF,wEAAwE;AACxE,iEAAiE;AACjE,sEAAsE;AACtE,yBAAyB;AASzB,MAAM,OAAO,kBAAkB;IACrB,KAAK,GAAoB,EAAE,CAAC;IAC5B,WAAW,GAAyB,MAAM,CAAC;IAC3C,UAAU,GAAwB;QACxC,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;QACd,gBAAgB,EAAE,CAAC;QACnB,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;QAChB,iBAAiB,EAAE,CAAC;QACpB,oBAAoB,EAAE,CAAC;QACvB,kBAAkB,EAAE,CAAC;QACrB,qBAAqB,EAAE,CAAC;QACxB,uBAAuB,EAAE,CAAC;KAC3B,CAAC;IAEF,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,IAAI;QACF,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC;IAC1C,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;IACrC,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,0CAA0C;IAE1C,kEAAkE;IAClE,kEAAkE;IAClE,aAAa;IACb,OAAO,CAAC,KAAoB;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,UAAU,CAAC,MAAoC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC;gBAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -7,6 +7,13 @@ export interface SSEDirectorBridgeOptions {
|
|
|
7
7
|
dropP2?: boolean;
|
|
8
8
|
eventSourceFactory?: (url: string) => EventSource;
|
|
9
9
|
initialLastEventId?: number;
|
|
10
|
+
baseBackoffMs?: number;
|
|
11
|
+
maxBackoffMs?: number;
|
|
12
|
+
setTimeoutFn?: (fn: () => void, ms: number) => unknown;
|
|
13
|
+
clearTimeoutFn?: (handle: unknown) => void;
|
|
14
|
+
randomFn?: () => number;
|
|
15
|
+
nowFn?: () => number;
|
|
16
|
+
statusEventTarget?: EventTarget | null;
|
|
10
17
|
}
|
|
11
18
|
export declare class SSEDirectorBridge implements IDirectorBridge {
|
|
12
19
|
private readonly baseUrl;
|
|
@@ -14,6 +21,13 @@ export declare class SSEDirectorBridge implements IDirectorBridge {
|
|
|
14
21
|
private readonly fps;
|
|
15
22
|
private readonly dropP2;
|
|
16
23
|
private readonly eventSourceFactory;
|
|
24
|
+
private readonly baseBackoffMs;
|
|
25
|
+
private readonly maxBackoffMs;
|
|
26
|
+
private readonly setTimeoutFn;
|
|
27
|
+
private readonly clearTimeoutFn;
|
|
28
|
+
private readonly randomFn;
|
|
29
|
+
private readonly nowFn;
|
|
30
|
+
private readonly statusEventTarget;
|
|
17
31
|
private es;
|
|
18
32
|
private queue;
|
|
19
33
|
private statusValue;
|
|
@@ -22,6 +36,9 @@ export declare class SSEDirectorBridge implements IDirectorBridge {
|
|
|
22
36
|
private reorderTimeoutHandle;
|
|
23
37
|
private static readonly REORDER_BUFFER_MAX;
|
|
24
38
|
private static readonly REORDER_TIMEOUT_MS;
|
|
39
|
+
private reconnectAttempt;
|
|
40
|
+
private reconnectTimeoutHandle;
|
|
41
|
+
private running;
|
|
25
42
|
constructor(opts: SSEDirectorBridgeOptions);
|
|
26
43
|
start(): void;
|
|
27
44
|
stop(): void;
|
|
@@ -32,11 +49,14 @@ export declare class SSEDirectorBridge implements IDirectorBridge {
|
|
|
32
49
|
stats(): Readonly<DirectorBridgeStats>;
|
|
33
50
|
private buildUrl;
|
|
34
51
|
private openConnection;
|
|
52
|
+
private scheduleReconnect;
|
|
53
|
+
private cancelReconnect;
|
|
35
54
|
private closeConnection;
|
|
36
55
|
private handleRaw;
|
|
37
56
|
private armReorderTimeout;
|
|
38
57
|
private drainReorderBuffer;
|
|
39
58
|
private flushReorderBufferAsIs;
|
|
40
59
|
private clearReorderBuffer;
|
|
60
|
+
private transitionTo;
|
|
41
61
|
}
|
|
42
62
|
//# sourceMappingURL=sse-director-bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse-director-bridge.d.ts","sourceRoot":"","sources":["../../src/director/sse-director-bridge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sse-director-bridge.d.ts","sourceRoot":"","sources":["../../src/director/sse-director-bridge.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAc9B,MAAM,WAAW,wBAAwB;IAKvC,OAAO,EAAE,MAAM,CAAC;IAEhB,WAAW,EAAE,MAAM,CAAC;IAEpB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,OAAO,CAAC;IAGjB,kBAAkB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,WAAW,CAAC;IAOlD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACvD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAG3C,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IAExB,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IAGrB,iBAAiB,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACxC;AAED,qBAAa,iBAAkB,YAAW,eAAe;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+B;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0C;IACvE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IAEvD,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,UAAU,CAYhB;IAIF,OAAO,CAAC,aAAa,CAAyC;IAC9D,OAAO,CAAC,oBAAoB,CAAiB;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IAGjD,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,sBAAsB,CAAiB;IAG/C,OAAO,CAAC,OAAO,CAAkB;gBAErB,IAAI,EAAE,wBAAwB;IAwC1C,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,IAAI;IAQZ,MAAM,IAAI,oBAAoB;IAI9B,WAAW,IAAI,OAAO;IAItB,cAAc,IAAI,MAAM;IAIxB,UAAU,IAAI,aAAa,EAAE;IAO7B,KAAK,IAAI,QAAQ,CAAC,mBAAmB,CAAC;IAMtC,OAAO,CAAC,QAAQ;IAoBhB,OAAO,CAAC,cAAc;IAsFtB,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,SAAS;IA2DjB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,YAAY;CAerB"}
|