@lagless/core 0.0.34 → 0.0.36
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 +4 -4
- package/dist/index.d.ts +0 -11
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/di/di-container.d.ts +0 -7
- package/dist/lib/di/di-container.d.ts.map +0 -1
- package/dist/lib/di/di-decorators.d.ts +0 -4
- package/dist/lib/di/di-decorators.d.ts.map +0 -1
- package/dist/lib/di/index.d.ts +0 -3
- package/dist/lib/di/index.d.ts.map +0 -1
- package/dist/lib/ecs-config.d.ts +0 -16
- package/dist/lib/ecs-config.d.ts.map +0 -1
- package/dist/lib/ecs-runner.d.ts +0 -20
- package/dist/lib/ecs-runner.d.ts.map +0 -1
- package/dist/lib/ecs-simulation.d.ts +0 -44
- package/dist/lib/ecs-simulation.d.ts.map +0 -1
- package/dist/lib/hash-verification/abstract-hash-verification.system.d.ts +0 -32
- package/dist/lib/hash-verification/abstract-hash-verification.system.d.ts.map +0 -1
- package/dist/lib/hash-verification/create-hash-reporter.d.ts +0 -16
- package/dist/lib/hash-verification/create-hash-reporter.d.ts.map +0 -1
- package/dist/lib/hash-verification/divergence.signal.d.ts +0 -11
- package/dist/lib/hash-verification/divergence.signal.d.ts.map +0 -1
- package/dist/lib/hash-verification/index.d.ts +0 -4
- package/dist/lib/hash-verification/index.d.ts.map +0 -1
- package/dist/lib/input/abstract-input-provider.d.ts +0 -61
- package/dist/lib/input/abstract-input-provider.d.ts.map +0 -1
- package/dist/lib/input/index.d.ts +0 -8
- package/dist/lib/input/index.d.ts.map +0 -1
- package/dist/lib/input/input-provider-di-token.d.ts +0 -6
- package/dist/lib/input/input-provider-di-token.d.ts.map +0 -1
- package/dist/lib/input/input-registry.d.ts +0 -8
- package/dist/lib/input/input-registry.d.ts.map +0 -1
- package/dist/lib/input/local-input-provider.d.ts +0 -6
- package/dist/lib/input/local-input-provider.d.ts.map +0 -1
- package/dist/lib/input/replay-input-provider.d.ts +0 -12
- package/dist/lib/input/replay-input-provider.d.ts.map +0 -1
- package/dist/lib/input/rpc-history.d.ts +0 -40
- package/dist/lib/input/rpc-history.d.ts.map +0 -1
- package/dist/lib/input/rpc.d.ts +0 -8
- package/dist/lib/input/rpc.d.ts.map +0 -1
- package/dist/lib/mem/abstract-memory.interface.d.ts +0 -6
- package/dist/lib/mem/abstract-memory.interface.d.ts.map +0 -1
- package/dist/lib/mem/index.d.ts +0 -5
- package/dist/lib/mem/index.d.ts.map +0 -1
- package/dist/lib/mem/managers/components-manager.d.ts +0 -15
- package/dist/lib/mem/managers/components-manager.d.ts.map +0 -1
- package/dist/lib/mem/managers/entities-manager.d.ts +0 -31
- package/dist/lib/mem/managers/entities-manager.d.ts.map +0 -1
- package/dist/lib/mem/managers/filters-manager.d.ts +0 -17
- package/dist/lib/mem/managers/filters-manager.d.ts.map +0 -1
- package/dist/lib/mem/managers/player-resources-manager.d.ts +0 -21
- package/dist/lib/mem/managers/player-resources-manager.d.ts.map +0 -1
- package/dist/lib/mem/managers/prng-manager.d.ts +0 -36
- package/dist/lib/mem/managers/prng-manager.d.ts.map +0 -1
- package/dist/lib/mem/managers/singletons-manager.d.ts +0 -13
- package/dist/lib/mem/managers/singletons-manager.d.ts.map +0 -1
- package/dist/lib/mem/managers/tick-manager.d.ts +0 -10
- package/dist/lib/mem/managers/tick-manager.d.ts.map +0 -1
- package/dist/lib/mem/mem.d.ts +0 -28
- package/dist/lib/mem/mem.d.ts.map +0 -1
- package/dist/lib/prefab.d.ts +0 -16
- package/dist/lib/prefab.d.ts.map +0 -1
- package/dist/lib/signals/event-emitter.d.ts +0 -9
- package/dist/lib/signals/event-emitter.d.ts.map +0 -1
- package/dist/lib/signals/signal.d.ts +0 -40
- package/dist/lib/signals/signal.d.ts.map +0 -1
- package/dist/lib/signals/signals.registry.d.ts +0 -9
- package/dist/lib/signals/signals.registry.d.ts.map +0 -1
- package/dist/lib/types/abstract-filter.d.ts +0 -16
- package/dist/lib/types/abstract-filter.d.ts.map +0 -1
- package/dist/lib/types/ecs-types.d.ts +0 -109
- package/dist/lib/types/ecs-types.d.ts.map +0 -1
- package/dist/lib/types/index.d.ts +0 -3
- package/dist/lib/types/index.d.ts.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lagless/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.36",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@swc/helpers": "~0.5.11",
|
|
43
|
-
"@lagless/
|
|
44
|
-
"@lagless/
|
|
45
|
-
"@lagless/
|
|
43
|
+
"@lagless/misc": "0.0.36",
|
|
44
|
+
"@lagless/math": "0.0.36",
|
|
45
|
+
"@lagless/binary": "0.0.36"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"unplugin-swc": "^1.5.7"
|
package/dist/index.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export * from './lib/prefab.js';
|
|
2
|
-
export * from './lib/di/index.js';
|
|
3
|
-
export * from './lib/mem/index.js';
|
|
4
|
-
export * from './lib/ecs-config.js';
|
|
5
|
-
export * from './lib/ecs-runner.js';
|
|
6
|
-
export * from './lib/types/index.js';
|
|
7
|
-
export * from './lib/input/index.js';
|
|
8
|
-
export * from './lib/ecs-simulation.js';
|
|
9
|
-
export * from './lib/signals/signal.js';
|
|
10
|
-
export * from './lib/hash-verification/index.js';
|
|
11
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"di-container.d.ts","sourceRoot":"","sources":["../../../src/lib/di/di-container.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEvD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IAE9C,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IAgB5B,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI;CAGrD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"di-decorators.d.ts","sourceRoot":"","sources":["../../../src/lib/di/di-decorators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO/C,wBAAgB,SAAS,CAAC,GAAG,YAAY,EAAE,KAAK,EAAE,GAAG,cAAc,CAiElE;AAED,wBAAgB,SAAS,CAAC,GAAG,YAAY,EAAE,KAAK,EAAE,GAAG,cAAc,CAoElE"}
|
package/dist/lib/di/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/di/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
package/dist/lib/ecs-config.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export type RawSeed = Uint8Array;
|
|
2
|
-
export declare class ECSConfig {
|
|
3
|
-
readonly seed: RawSeed;
|
|
4
|
-
readonly maxEntities: number;
|
|
5
|
-
readonly maxPlayers: number;
|
|
6
|
-
readonly initialInputDelayTick: number;
|
|
7
|
-
readonly minInputDelayTick: number;
|
|
8
|
-
readonly maxInputDelayTick: number;
|
|
9
|
-
readonly fps: number;
|
|
10
|
-
readonly frameLength: number;
|
|
11
|
-
readonly snapshotRate: number;
|
|
12
|
-
readonly snapshotHistorySize: number;
|
|
13
|
-
readonly maxNudgePerFrame: number;
|
|
14
|
-
constructor(options?: Partial<ECSConfig>);
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=ecs-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ecs-config.d.ts","sourceRoot":"","sources":["../../src/lib/ecs-config.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC;AAIjC,qBAAa,SAAS;IACpB,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,qBAAqB,EAAE,MAAM,CAAC;IAC9C,SAAgB,iBAAiB,EAAE,MAAM,CAAC;IAC1C,SAAgB,iBAAiB,EAAE,MAAM,CAAC;IAC1C,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,mBAAmB,EAAE,MAAM,CAAC;IAC5C,SAAgB,gBAAgB,EAAE,MAAM,CAAC;gBAE7B,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;CAazC"}
|
package/dist/lib/ecs-runner.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Container } from './di/index.js';
|
|
2
|
-
import { ECSConfig } from './ecs-config.js';
|
|
3
|
-
import { ECSSimulation } from './ecs-simulation.js';
|
|
4
|
-
import { AbstractInputProvider } from './input/index.js';
|
|
5
|
-
import { ECSDeps, IECSSystemConstructor } from './types/index.js';
|
|
6
|
-
import { ISignalConstructor } from './signals/signal.js';
|
|
7
|
-
export declare abstract class ECSRunner {
|
|
8
|
-
readonly Config: ECSConfig;
|
|
9
|
-
readonly InputProviderInstance: AbstractInputProvider;
|
|
10
|
-
readonly Systems: Array<IECSSystemConstructor>;
|
|
11
|
-
readonly Signals: Array<ISignalConstructor>;
|
|
12
|
-
readonly Deps: ECSDeps;
|
|
13
|
-
readonly DIContainer: Container;
|
|
14
|
-
readonly Simulation: ECSSimulation;
|
|
15
|
-
protected constructor(Config: ECSConfig, InputProviderInstance: AbstractInputProvider, Systems: Array<IECSSystemConstructor>, Signals: Array<ISignalConstructor> | undefined, Deps: ECSDeps);
|
|
16
|
-
start(): void;
|
|
17
|
-
update(dt: number): void;
|
|
18
|
-
dispose(): void;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=ecs-runner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ecs-runner.d.ts","sourceRoot":"","sources":["../../src/lib/ecs-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,8BAAsB,SAAS;aAKX,MAAM,EAAE,SAAS;aACjB,qBAAqB,EAAE,qBAAqB;aAC5C,OAAO,EAAE,KAAK,CAAC,qBAAqB,CAAC;aACrC,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC;aAClC,IAAI,EAAE,OAAO;IAR/B,SAAgB,WAAW,EAAE,SAAS,CAAC;IACvC,SAAgB,UAAU,EAAE,aAAa,CAAC;IAE1C,SAAS,aACS,MAAM,EAAE,SAAS,EACjB,qBAAqB,EAAE,qBAAqB,EAC5C,OAAO,EAAE,KAAK,CAAC,qBAAqB,CAAC,EACrC,OAAO,EAAE,KAAK,CAAC,kBAAkB,CAAC,YAAK,EACvC,IAAI,EAAE,OAAO;IA2CxB,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIxB,OAAO,IAAI,IAAI;CAMvB"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Mem } from './mem/index.js';
|
|
2
|
-
import { ECSConfig } from './ecs-config.js';
|
|
3
|
-
import { SimulationClock } from '@lagless/misc';
|
|
4
|
-
import { ECSDeps, IECSSystem } from './types/index.js';
|
|
5
|
-
import { AbstractInputProvider } from './input/index.js';
|
|
6
|
-
export declare class ECSSimulation {
|
|
7
|
-
private readonly _ECSConfig;
|
|
8
|
-
private readonly _ECSDeps;
|
|
9
|
-
private readonly _inputProvider;
|
|
10
|
-
readonly mem: Mem;
|
|
11
|
-
readonly clock: SimulationClock;
|
|
12
|
-
private readonly _signalsRegistry;
|
|
13
|
-
private readonly _frameLength;
|
|
14
|
-
private readonly _snapshotRate;
|
|
15
|
-
private readonly _initialSnapshot;
|
|
16
|
-
private readonly _systems;
|
|
17
|
-
private readonly _onTickHandlers;
|
|
18
|
-
private _interpolationFactor;
|
|
19
|
-
private _snapshotHistory;
|
|
20
|
-
get tick(): number;
|
|
21
|
-
get interpolationFactor(): number;
|
|
22
|
-
constructor(_ECSConfig: ECSConfig, _ECSDeps: ECSDeps, _inputProvider: AbstractInputProvider);
|
|
23
|
-
addTickHandler(handler: (tick: number) => void): () => void;
|
|
24
|
-
removeTickHandler(handler: (tick: number) => void): void;
|
|
25
|
-
registerSystems(systems: IECSSystem[]): void;
|
|
26
|
-
initSignals(signals: import('./signals/signal.js').Signal[]): void;
|
|
27
|
-
disposeSignals(): void;
|
|
28
|
-
throwIfSystemsNotRegistered(): void;
|
|
29
|
-
get frameLength(): number;
|
|
30
|
-
start(): void;
|
|
31
|
-
/**
|
|
32
|
-
* Apply external state received from another client (late-join / reconnect).
|
|
33
|
-
* Replaces the entire simulation state, sets the tick, and resets history.
|
|
34
|
-
*/
|
|
35
|
-
applyExternalState(state: ArrayBuffer, tick: number): void;
|
|
36
|
-
update(dt: number): void;
|
|
37
|
-
private checkAndRollback;
|
|
38
|
-
private simulationTicks;
|
|
39
|
-
protected rollback(tick: number): void;
|
|
40
|
-
protected simulate(tick: number): void;
|
|
41
|
-
private storeSnapshotIfNeeded;
|
|
42
|
-
protected saveSnapshot(tick: number): void;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=ecs-simulation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ecs-simulation.d.ts","sourceRoot":"","sources":["../../src/lib/ecs-simulation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAiC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAKzD,qBAAa,aAAa;IAsBtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAvBjC,SAAgB,GAAG,EAAE,GAAG,CAAC;IACzB,SAAgB,KAAK,EAAE,eAAe,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAe;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IAErE,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,gBAAgB,CAA+B;IAEvD,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,mBAAmB,IAAI,MAAM,CAEvC;gBAGkB,UAAU,EAAE,SAAS,EACrB,QAAQ,EAAE,OAAO,EACjB,cAAc,EAAE,qBAAqB;IAWjD,cAAc,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI;IAO3D,iBAAiB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIxD,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI;IAQ5C,WAAW,CAAC,OAAO,EAAE,OAAO,qBAAqB,EAAE,MAAM,EAAE,GAAG,IAAI;IAIlE,cAAc,IAAI,IAAI;IAItB,2BAA2B,IAAI,IAAI;IAM1C,IAAW,WAAW,IAAI,MAAM,CAE/B;IAEM,KAAK,IAAI,IAAI;IAIpB;;;OAGG;IACI,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAsB1D,MAAM,CAAC,EAAE,EAAE,MAAM;IAiBxB,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,eAAe;IAcvB,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBtC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMtC,OAAO,CAAC,qBAAqB;IAY7B,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAG3C"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { IECSSystem, IAbstractInputConstructor, IPlayerResourceConstructor } from '../types/index.js';
|
|
2
|
-
import type { ECSConfig } from '../ecs-config.js';
|
|
3
|
-
import type { AbstractInputProvider } from '../input/abstract-input-provider.js';
|
|
4
|
-
import type { PlayerResources } from '../mem/managers/player-resources-manager.js';
|
|
5
|
-
import type { DivergenceSignal } from './divergence.signal.js';
|
|
6
|
-
/**
|
|
7
|
-
* Abstract base class for ECS hash verification systems.
|
|
8
|
-
*
|
|
9
|
-
* Subclass this in your game simulation and provide the concrete
|
|
10
|
-
* `_reportHashRpc` and `_playerResourceClass` from your codegen.
|
|
11
|
-
*
|
|
12
|
-
* The subclass must use `@ECSSystem()` decorator and declare constructor
|
|
13
|
-
* params for DI injection matching the base constructor signature.
|
|
14
|
-
*/
|
|
15
|
-
export declare abstract class AbstractHashVerificationSystem implements IECSSystem {
|
|
16
|
-
protected readonly _ECSConfig: ECSConfig;
|
|
17
|
-
protected readonly _InputProvider: AbstractInputProvider;
|
|
18
|
-
protected readonly _PlayerResources: PlayerResources;
|
|
19
|
-
protected readonly _DivergenceSignal: DivergenceSignal;
|
|
20
|
-
constructor(_ECSConfig: ECSConfig, _InputProvider: AbstractInputProvider, _PlayerResources: PlayerResources, _DivergenceSignal: DivergenceSignal);
|
|
21
|
-
/**
|
|
22
|
-
* The codegen-generated ReportHash input constructor.
|
|
23
|
-
* Must have `{ readonly id: number }` and conform to `IAbstractInputConstructor`.
|
|
24
|
-
*/
|
|
25
|
-
protected abstract readonly _reportHashRpc: IAbstractInputConstructor;
|
|
26
|
-
/**
|
|
27
|
-
* The codegen-generated PlayerResource class constructor.
|
|
28
|
-
*/
|
|
29
|
-
protected abstract readonly _playerResourceClass: IPlayerResourceConstructor;
|
|
30
|
-
update(tick: number): void;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=abstract-hash-verification.system.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-hash-verification.system.d.ts","sourceRoot":"","sources":["../../../src/lib/hash-verification/abstract-hash-verification.system.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAY/D;;;;;;;;GAQG;AACH,8BAAsB,8BAA+B,YAAW,UAAU;IAEtE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS;IACxC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,qBAAqB;IACxD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,eAAe;IACpD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB;gBAHnC,UAAU,EAAE,SAAS,EACrB,cAAc,EAAE,qBAAqB,EACrC,gBAAgB,EAAE,eAAe,EACjC,iBAAiB,EAAE,gBAAgB;IAGxD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IAEtE;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;IAEtE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAqClC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { ECSRunner } from '../ecs-runner.js';
|
|
2
|
-
import type { IAbstractInputConstructor, InputData } from '../types/index.js';
|
|
3
|
-
type AddRPCFn = <TInputCtor extends IAbstractInputConstructor>(InputCtor: TInputCtor, data: InputData<InstanceType<TInputCtor>>) => void;
|
|
4
|
-
export interface HashReporterConfig {
|
|
5
|
-
reportInterval: number;
|
|
6
|
-
reportHashRpc: IAbstractInputConstructor;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Creates a hash reporter function for use in `drainInputs`.
|
|
10
|
-
*
|
|
11
|
-
* The returned function should be called from your `drainInputs` callback.
|
|
12
|
-
* It periodically reports the simulation state hash via the ReportHash RPC.
|
|
13
|
-
*/
|
|
14
|
-
export declare function createHashReporter(runner: ECSRunner, config: HashReporterConfig): (addRPC: AddRPCFn) => void;
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=create-hash-reporter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-hash-reporter.d.ts","sourceRoot":"","sources":["../../../src/lib/hash-verification/create-hash-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,yBAAyB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9E,KAAK,QAAQ,GAAG,CAAC,UAAU,SAAS,yBAAyB,EAC3D,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,KACtC,IAAI,CAAC;AAEV,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,yBAAyB,CAAC;CAC1C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,IAAI,CAe5G"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Signal } from '../signals/signal.js';
|
|
2
|
-
export interface DivergenceData {
|
|
3
|
-
slotA: number;
|
|
4
|
-
slotB: number;
|
|
5
|
-
hashA: number;
|
|
6
|
-
hashB: number;
|
|
7
|
-
atTick: number;
|
|
8
|
-
}
|
|
9
|
-
export declare class DivergenceSignal extends Signal<DivergenceData> {
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=divergence.signal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"divergence.signal.d.ts","sourceRoot":"","sources":["../../../src/lib/hash-verification/divergence.signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc,CAAC;CAAG"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { DivergenceSignal, type DivergenceData } from './divergence.signal.js';
|
|
2
|
-
export { AbstractHashVerificationSystem } from './abstract-hash-verification.system.js';
|
|
3
|
-
export { createHashReporter, type HashReporterConfig } from './create-hash-reporter.js';
|
|
4
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/hash-verification/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { ECSSimulation } from '../ecs-simulation.js';
|
|
2
|
-
import { IAbstractInputConstructor } from '../types/index.js';
|
|
3
|
-
import { ECSConfig } from '../ecs-config.js';
|
|
4
|
-
import { InputRegistry } from './input-registry.js';
|
|
5
|
-
import { RPCHistory } from './rpc-history.js';
|
|
6
|
-
import { RPC } from './rpc.js';
|
|
7
|
-
export declare abstract class AbstractInputProvider {
|
|
8
|
-
readonly ecsConfig: ECSConfig;
|
|
9
|
-
protected readonly _inputRegistry: InputRegistry;
|
|
10
|
-
private _nextSeq;
|
|
11
|
-
private _nextOrdinal;
|
|
12
|
-
private readonly _inputDrainers;
|
|
13
|
-
protected _frameRPCBuffer: Array<RPC>;
|
|
14
|
-
protected _frameLength: number;
|
|
15
|
-
protected _disposed: boolean;
|
|
16
|
-
protected _currentInputDelay: number;
|
|
17
|
-
protected _simulation: ECSSimulation;
|
|
18
|
-
protected readonly _rpcHistory: RPCHistory;
|
|
19
|
-
abstract playerSlot: number;
|
|
20
|
-
abstract getInvalidateRollbackTick(): void | number;
|
|
21
|
-
constructor(ecsConfig: ECSConfig, _inputRegistry: InputRegistry);
|
|
22
|
-
get currentInputDelay(): number;
|
|
23
|
-
get rpcHistory(): RPCHistory;
|
|
24
|
-
get inputRegistry(): InputRegistry;
|
|
25
|
-
/** @internal — used only by addLocalRpc for ordinal assignment */
|
|
26
|
-
private getNextOrdinal;
|
|
27
|
-
update(): void;
|
|
28
|
-
init(simulation: ECSSimulation): void;
|
|
29
|
-
dispose(): void;
|
|
30
|
-
protected resetSequences(): void;
|
|
31
|
-
private addLocalRpc;
|
|
32
|
-
/**
|
|
33
|
-
* Add an RPC received from a remote player via the network.
|
|
34
|
-
* Used by RelayInputProvider when receiving TickInputFanout.
|
|
35
|
-
*/
|
|
36
|
-
addRemoteRpc(rpc: RPC): void;
|
|
37
|
-
/**
|
|
38
|
-
* Add multiple remote RPCs at once (batch from fanout).
|
|
39
|
-
*/
|
|
40
|
-
addRemoteRpcBatch(rpcs: ReadonlyArray<RPC>): void;
|
|
41
|
-
/**
|
|
42
|
-
* Remove a specific RPC from history.
|
|
43
|
-
* Used when server sends CancelInput.
|
|
44
|
-
*/
|
|
45
|
-
removeRpcAt(playerSlot: number, tick: number, seq: number): void;
|
|
46
|
-
/**
|
|
47
|
-
* Dynamically change the input delay (in ticks).
|
|
48
|
-
* Used by InputDelayController based on network conditions.
|
|
49
|
-
*/
|
|
50
|
-
setInputDelay(ticks: number): void;
|
|
51
|
-
drainInputs(fn: InputDrainerFn): () => void;
|
|
52
|
-
collectTickRPCs<TInputCtor extends IAbstractInputConstructor>(tick: number, InputCtor: TInputCtor): ReadonlyArray<RPC<InstanceType<TInputCtor>>>;
|
|
53
|
-
/**
|
|
54
|
-
* Get the last buffered local RPCs from this frame.
|
|
55
|
-
* Used by RelayInputProvider to send local inputs to the server.
|
|
56
|
-
*/
|
|
57
|
-
getFrameRPCBuffer(): ReadonlyArray<RPC>;
|
|
58
|
-
}
|
|
59
|
-
type InputDrainerFn = (addRPC: AbstractInputProvider['addLocalRpc']) => void;
|
|
60
|
-
export {};
|
|
61
|
-
//# sourceMappingURL=abstract-input-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-input-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/input/abstract-input-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAwB,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAK/B,8BAAsB,qBAAqB;aAiBvB,SAAS,EAAE,SAAS;IACpC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa;IAjBlD,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkC;IACjE,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,CAAM;IAC3C,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAE/B,SAAS,CAAC,SAAS,UAAS;IAC5B,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,WAAW,EAAG,aAAa,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,WAAW,aAAoB;IAElD,SAAgB,UAAU,EAAE,MAAM,CAAC;aAEnB,yBAAyB,IAAI,IAAI,GAAG,MAAM;gBAGxC,SAAS,EAAE,SAAS,EACjB,cAAc,EAAE,aAAa;IAQlD,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAED,IAAW,UAAU,IAAI,UAAU,CAElC;IAED,IAAW,aAAa,IAAI,aAAa,CAExC;IAID,kEAAkE;IAClE,OAAO,CAAC,cAAc;IAIf,MAAM,IAAI,IAAI;IAOd,IAAI,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI;IAIrC,OAAO,IAAI,IAAI;IAItB,SAAS,CAAC,cAAc,IAAI,IAAI;IAQhC,OAAO,CAAC,WAAW,CAcjB;IAIF;;;OAGG;IACI,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAKnC;;OAEG;IACI,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;IAKxD;;;OAGG;IACI,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAOvE;;;OAGG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAalC,WAAW,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,IAAI;IAQ3C,eAAe,CAAC,UAAU,SAAS,yBAAyB,EACjE,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,UAAU,GACpB,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAI/C;;;OAGG;IACI,iBAAiB,IAAI,aAAa,CAAC,GAAG,CAAC;CAG/C;AAED,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './rpc.js';
|
|
2
|
-
export * from './rpc-history.js';
|
|
3
|
-
export * from './input-registry.js';
|
|
4
|
-
export * from './local-input-provider.js';
|
|
5
|
-
export * from './abstract-input-provider.js';
|
|
6
|
-
export * from './input-provider-di-token.js';
|
|
7
|
-
export * from './replay-input-provider.js';
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/input/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-provider-di-token.d.ts","sourceRoot":"","sources":["../../../src/lib/input/input-provider-di-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,qBAAa,aAAc,SAAQ,qBAAqB;IACtC,UAAU,SAAM;IAEzB,yBAAyB;CAGjC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { IAbstractInput, IAbstractInputConstructor } from '../types/index.js';
|
|
2
|
-
export declare class InputRegistry {
|
|
3
|
-
private readonly _inputs;
|
|
4
|
-
private readonly _idToInputMap;
|
|
5
|
-
constructor(_inputs: IAbstractInputConstructor[]);
|
|
6
|
-
get(inputId: number): IAbstractInput;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=input-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-registry.d.ts","sourceRoot":"","sources":["../../../src/lib/input/input-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,qBAAa,aAAa;IAOtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;gBAGhD,OAAO,EAAE,yBAAyB,EAAE;IAYhD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;CAM5C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"local-input-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/input/local-input-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,qBAAa,kBAAmB,SAAQ,qBAAqB;IAC3C,UAAU,SAAK;IAEf,yBAAyB,IAAI,IAAI,GAAG,MAAM;CAG3D"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { AbstractInputProvider } from './abstract-input-provider.js';
|
|
2
|
-
import { ECSConfig } from '../ecs-config.js';
|
|
3
|
-
import { InputRegistry } from './input-registry.js';
|
|
4
|
-
export declare class ReplayInputProvider extends AbstractInputProvider {
|
|
5
|
-
playerSlot: number;
|
|
6
|
-
getInvalidateRollbackTick(): undefined;
|
|
7
|
-
constructor(replayData: ArrayBuffer, ecsConfig: ECSConfig, inputRegistry: InputRegistry);
|
|
8
|
-
update(): void;
|
|
9
|
-
static exportReplay(seed: Uint8Array, maxPlayers: number, fps: number, replayData: ArrayBuffer): ArrayBuffer;
|
|
10
|
-
static createFromReplay(replay: ArrayBuffer, inputRegistry: InputRegistry): ReplayInputProvider;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=replay-input-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"replay-input-provider.d.ts","sourceRoot":"","sources":["../../../src/lib/input/replay-input-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQpD,qBAAa,mBAAoB,SAAQ,qBAAqB;IAC5C,UAAU,SAAK;IAEf,yBAAyB;gBAKvC,UAAU,EAAE,WAAW,EACvB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa;IAMd,MAAM,IAAI,IAAI;WAIhB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,GAAG,WAAW;WAWrG,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,GAAG,mBAAmB;CAUvG"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { RPC } from './rpc.js';
|
|
2
|
-
import { IAbstractInputConstructor } from '../types/index.js';
|
|
3
|
-
import { InputRegistry } from './input-registry.js';
|
|
4
|
-
export declare class RPCHistory {
|
|
5
|
-
private readonly _history;
|
|
6
|
-
static excludeLocalRPCs(rpcs: ReadonlyArray<RPC>, localPlayerSlot: number): RPC[];
|
|
7
|
-
addRPC(rpc: RPC): void;
|
|
8
|
-
addBatch(rpcs: ReadonlyArray<RPC>): void;
|
|
9
|
-
/**
|
|
10
|
-
* Returns a new array of RPCs matching the given input type at the specified tick.
|
|
11
|
-
* Each call allocates a fresh array — safe to store and use across multiple calls.
|
|
12
|
-
*/
|
|
13
|
-
collectTickRPCs<TInputCtor extends IAbstractInputConstructor>(tick: number, InputCtor: TInputCtor): ReadonlyArray<RPC<InstanceType<TInputCtor>>>;
|
|
14
|
-
removePlayerInputsAtTick(playerSlot: number, tick: number, seq: number): void;
|
|
15
|
-
clear(): void;
|
|
16
|
-
get size(): number;
|
|
17
|
-
get totalRPCCount(): number;
|
|
18
|
-
debugExportAsJSON(): string;
|
|
19
|
-
/**
|
|
20
|
-
* Exports entire history to a compact binary format.
|
|
21
|
-
* @param registry - InputRegistry for serializing input data
|
|
22
|
-
* @returns ArrayBuffer containing serialized history
|
|
23
|
-
*/
|
|
24
|
-
export(registry: InputRegistry): ArrayBuffer;
|
|
25
|
-
/**
|
|
26
|
-
* Imports history from binary format, replacing current content.
|
|
27
|
-
* @param registry - InputRegistry for deserializing input data
|
|
28
|
-
* @param buffer - ArrayBuffer containing serialized history
|
|
29
|
-
*/
|
|
30
|
-
import(registry: InputRegistry, buffer: ArrayBuffer): void;
|
|
31
|
-
private prepareExportData;
|
|
32
|
-
private calculateExportSize;
|
|
33
|
-
private writeHeader;
|
|
34
|
-
private writeTickEntries;
|
|
35
|
-
private readHeader;
|
|
36
|
-
private readTickEntry;
|
|
37
|
-
/** Insert rpc into arr maintaining sorted order by (playerSlot, ordinal). */
|
|
38
|
-
private insertSorted;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=rpc-history.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-history.d.ts","sourceRoot":"","sources":["../../../src/lib/input/rpc-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAiDpD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;WAM5C,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,MAAM,GAAG,GAAG,EAAE;IAQjF,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAStB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;IA6B/C;;;OAGG;IACI,eAAe,CAAC,UAAU,SAAS,yBAAyB,EACjE,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,UAAU,GACpB,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAaxC,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAmB7E,KAAK,IAAI,IAAI;IAIpB,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,aAAa,IAAI,MAAM,CAMjC;IAMM,iBAAiB,IAAI,MAAM;IAsBlC;;;;OAIG;IACI,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW;IAgBnD;;;;OAIG;IACI,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;IAgCjE,OAAO,CAAC,iBAAiB;IA6BzB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,aAAa;IAmDrB,6EAA6E;IAC7E,OAAO,CAAC,YAAY;CAOrB"}
|
package/dist/lib/input/rpc.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { IAbstractInput, InputData, InputMeta } from '../types/index.js';
|
|
2
|
-
export declare class RPC<TInput extends IAbstractInput = IAbstractInput> {
|
|
3
|
-
readonly inputId: IAbstractInput['id'];
|
|
4
|
-
readonly meta: InputMeta;
|
|
5
|
-
readonly data: InputData<TInput>;
|
|
6
|
-
constructor(inputId: IAbstractInput['id'], meta: InputMeta, data: InputData<TInput>);
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=rpc.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/lib/input/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEzE,qBAAa,GAAG,CAAC,MAAM,SAAS,cAAc,GAAG,cAAc;aAE3C,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;aAC7B,IAAI,EAAE,SAAS;aACf,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;gBAFvB,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAC7B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;CAG1C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-memory.interface.d.ts","sourceRoot":"","sources":["../../../src/lib/mem/abstract-memory.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7D,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;CAC7C"}
|
package/dist/lib/mem/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/mem/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wCAAwC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { IAbstractMemory } from '../abstract-memory.interface.js';
|
|
2
|
-
import { ECSConfig } from '../../ecs-config.js';
|
|
3
|
-
import { ECSDeps, IComponentConstructor, IComponentInstance } from '../../types/index.js';
|
|
4
|
-
import { MemoryTracker } from '@lagless/binary';
|
|
5
|
-
export declare class ComponentsManager implements IAbstractMemory {
|
|
6
|
-
private readonly _ECSConfig;
|
|
7
|
-
private readonly _ECSDeps;
|
|
8
|
-
private readonly _componentsInstances;
|
|
9
|
-
constructor(_ECSConfig: ECSConfig, _ECSDeps: ECSDeps);
|
|
10
|
-
init(arrayBuffer: ArrayBuffer, tracker: MemoryTracker): void;
|
|
11
|
-
calculateSize(tracker: MemoryTracker): void;
|
|
12
|
-
get<Ctor extends IComponentConstructor>(ComponentConstructor: Ctor): InstanceType<Ctor>;
|
|
13
|
-
[Symbol.iterator](): MapIterator<[IComponentConstructor, IComponentInstance]>;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=components-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"components-manager.d.ts","sourceRoot":"","sources":["../../../../src/lib/mem/managers/components-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,iBAAkB,YAAW,eAAe;IAG3C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAa,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAF7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwD;gBAEhE,UAAU,EAAE,SAAS,EAAmB,QAAQ,EAAE,OAAO;IAE/E,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAO5D,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAM3C,GAAG,CAAC,IAAI,SAAS,qBAAqB,EAAE,oBAAoB,EAAE,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;IAQvF,CAAC,MAAM,CAAC,QAAQ,CAAC;CAGzB"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { FiltersManager } from './filters-manager.js';
|
|
2
|
-
import { ComponentsManager } from './components-manager.js';
|
|
3
|
-
import { IAbstractMemory } from '../abstract-memory.interface.js';
|
|
4
|
-
import { ECSConfig } from '../../ecs-config.js';
|
|
5
|
-
import { Prefab } from '../../prefab.js';
|
|
6
|
-
import { IComponentConstructor } from '../../types/index.js';
|
|
7
|
-
import { MemoryTracker } from '@lagless/binary';
|
|
8
|
-
/** Sentinel value indicating an entity slot is unused / removed. */
|
|
9
|
-
export declare const ENTITY_REMOVED_MASK = 4294967295;
|
|
10
|
-
export declare class EntitiesManager implements IAbstractMemory {
|
|
11
|
-
private readonly _ECSConfig;
|
|
12
|
-
private readonly _ComponentsMemory;
|
|
13
|
-
private readonly _FiltersMemory;
|
|
14
|
-
private _nextEntityId;
|
|
15
|
-
private _removedEntitiesLength;
|
|
16
|
-
private _removedEntities;
|
|
17
|
-
private _entitiesComponentsMasks;
|
|
18
|
-
constructor(_ECSConfig: ECSConfig, _ComponentsMemory: ComponentsManager, _FiltersMemory: FiltersManager);
|
|
19
|
-
createEntity(prefab?: Prefab): number;
|
|
20
|
-
removeEntity(entity: number): void;
|
|
21
|
-
isEntityAlive(entity: number): boolean;
|
|
22
|
-
addComponent(entity: number, ComponentConstructor: IComponentConstructor): void;
|
|
23
|
-
removeComponent(entity: number, ComponentConstructor: IComponentConstructor): void;
|
|
24
|
-
hasComponent(entity: number, ComponentConstructor: IComponentConstructor): boolean;
|
|
25
|
-
hasPrefab(entity: number, prefab: Prefab): boolean;
|
|
26
|
-
private updateFilters;
|
|
27
|
-
private popRemovedEntities;
|
|
28
|
-
init(arrayBuffer: ArrayBuffer, tracker: MemoryTracker): void;
|
|
29
|
-
calculateSize(tracker: MemoryTracker): void;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=entities-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"entities-manager.d.ts","sourceRoot":"","sources":["../../../../src/lib/mem/managers/entities-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C,qBAAa,eAAgB,YAAW,eAAe;IAOnD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc;IARjC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,sBAAsB,CAAe;IAC7C,OAAO,CAAC,gBAAgB,CAAe;IACvC,OAAO,CAAC,wBAAwB,CAAe;gBAG5B,UAAU,EAAE,SAAS,EACrB,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc;IAG1C,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IA6BrC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBlC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAKtC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,qBAAqB,GAAG,IAAI;IAK/E,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,qBAAqB,GAAG,IAAI;IAKlF,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,qBAAqB,GAAG,OAAO;IAOlF,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAUzD,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,kBAAkB;IAWnB,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAe5D,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;CAMnD"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ECSConfig } from '../../ecs-config.js';
|
|
2
|
-
import { IAbstractMemory } from '../abstract-memory.interface.js';
|
|
3
|
-
import { ECSDeps, IFilterConstructor, IFilterInstance } from '../../types/index.js';
|
|
4
|
-
import { MemoryTracker } from '@lagless/binary';
|
|
5
|
-
export declare class FiltersManager implements IAbstractMemory {
|
|
6
|
-
private readonly _ECSConfig;
|
|
7
|
-
private readonly _ECSDeps;
|
|
8
|
-
private readonly _filtersInstances;
|
|
9
|
-
constructor(_ECSConfig: ECSConfig, _ECSDeps: ECSDeps);
|
|
10
|
-
init(arrayBuffer: ArrayBuffer, tracker: MemoryTracker): void;
|
|
11
|
-
calculateSize(tracker: MemoryTracker): void;
|
|
12
|
-
get<FilterCtor extends IFilterConstructor>(FilterConstructor: FilterCtor): InstanceType<FilterCtor>;
|
|
13
|
-
[Symbol.iterator](): MapIterator<[IFilterConstructor, IFilterInstance]>;
|
|
14
|
-
removeEntityFromAllFilters(entity: number): void;
|
|
15
|
-
updateEntityInAllFilters(entity: number, componentsMask: number): void;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=filters-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filters-manager.d.ts","sourceRoot":"","sources":["../../../../src/lib/mem/managers/filters-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,cAAe,YAAW,eAAe;IAGxC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAa,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAF7E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkD;gBAEvD,UAAU,EAAE,SAAS,EAAmB,QAAQ,EAAE,OAAO;IAE/E,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAO5D,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAM3C,GAAG,CAAC,UAAU,SAAS,kBAAkB,EAAE,iBAAiB,EAAE,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAQnG,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIjB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhD,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;CAc9E"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { IAbstractMemory } from '../abstract-memory.interface.js';
|
|
2
|
-
import { ECSConfig } from '../../ecs-config.js';
|
|
3
|
-
import { ECSDeps, IPlayerResourceConstructor, IPlayerResourceInstance, ISingletonConstructor } from '../../types/index.js';
|
|
4
|
-
import { MemoryTracker } from '@lagless/binary';
|
|
5
|
-
export declare class PlayerResourcesManager implements IAbstractMemory {
|
|
6
|
-
private readonly _ECSConfig;
|
|
7
|
-
private readonly _ECSDeps;
|
|
8
|
-
private readonly _playerResourcesRegistry;
|
|
9
|
-
readonly PlayerResources: PlayerResources;
|
|
10
|
-
constructor(_ECSConfig: ECSConfig, _ECSDeps: ECSDeps);
|
|
11
|
-
init(arrayBuffer: ArrayBuffer, tracker: MemoryTracker): void;
|
|
12
|
-
calculateSize(tracker: MemoryTracker): void;
|
|
13
|
-
get<Ctor extends ISingletonConstructor>(SingletonConstructor: Ctor, playerSlot: number): InstanceType<Ctor>;
|
|
14
|
-
[Symbol.iterator](): MapIterator<[IPlayerResourceConstructor, IPlayerResourceInstance[]]>;
|
|
15
|
-
}
|
|
16
|
-
export declare class PlayerResources {
|
|
17
|
-
private readonly _playerResourcesManager;
|
|
18
|
-
constructor(_playerResourcesManager: PlayerResourcesManager);
|
|
19
|
-
get<Ctor extends IPlayerResourceConstructor>(PlayerResourceConstructor: Ctor, playerSlot: number): InstanceType<Ctor>;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=player-resources-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"player-resources-manager.d.ts","sourceRoot":"","sources":["../../../../src/lib/mem/managers/player-resources-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EACL,OAAO,EACP,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,qBAAa,sBAAuB,YAAW,eAAe;IAIhD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAa,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAH7E,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAyE;IAClH,SAAgB,eAAe,EAAE,eAAe,CAAC;gBAEpB,UAAU,EAAE,SAAS,EAAmB,QAAQ,EAAE,OAAO;IAI/E,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAW5D,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAQ3C,GAAG,CAAC,IAAI,SAAS,qBAAqB,EAAE,oBAAoB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC;IAkB3G,CAAC,MAAM,CAAC,QAAQ,CAAC;CAGzB;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAAvB,uBAAuB,EAAE,sBAAsB;IAErE,GAAG,CAAC,IAAI,SAAS,0BAA0B,EAChD,yBAAyB,EAAE,IAAI,EAC/B,UAAU,EAAE,MAAM,GACjB,YAAY,CAAC,IAAI,CAAC;CAGtB"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { MemoryTracker } from '@lagless/binary';
|
|
2
|
-
import { ECSConfig, RawSeed } from '../../ecs-config.js';
|
|
3
|
-
import { IAbstractMemory } from '../abstract-memory.interface.js';
|
|
4
|
-
export declare class PRNG {
|
|
5
|
-
private readonly _PRNGManager;
|
|
6
|
-
constructor(_PRNGManager: PRNGManager);
|
|
7
|
-
getFloat(): number;
|
|
8
|
-
getFloat53(): number;
|
|
9
|
-
getRandomInt(from: number, to: number): number;
|
|
10
|
-
getRandomIntInclusive(from: number, to: number): number;
|
|
11
|
-
}
|
|
12
|
-
export declare class PRNGManager implements IAbstractMemory {
|
|
13
|
-
private readonly _ECSConfig;
|
|
14
|
-
private _state;
|
|
15
|
-
readonly prng: PRNG;
|
|
16
|
-
private readonly _tmpSeedBuffer;
|
|
17
|
-
constructor(_ECSConfig: ECSConfig);
|
|
18
|
-
init(arrayBuffer: ArrayBuffer, tracker: MemoryTracker): void;
|
|
19
|
-
calculateSize(tracker: MemoryTracker): void;
|
|
20
|
-
/** Returns a uniform float in [0, 1). Uses 32 random bits. */
|
|
21
|
-
getFloat(): number;
|
|
22
|
-
/** Returns a float in [0, 1) using 53 bits of randomness (two 32-bit draws). */
|
|
23
|
-
getFloat53(): number;
|
|
24
|
-
/** Returns integer in [from, to) without modulo bias. */
|
|
25
|
-
getRandomInt(from: number, to: number): number;
|
|
26
|
-
/** Returns integer in [from, to] without modulo bias. */
|
|
27
|
-
getRandomIntInclusive(from: number, to: number): number;
|
|
28
|
-
/** Re-seed the PRNG from a 16-byte seed (e.g. received via ServerHello). */
|
|
29
|
-
reseed(seed: RawSeed): void;
|
|
30
|
-
/** Seed from 128 bits (Uint8Array of 16 bytes). */
|
|
31
|
-
private seed128;
|
|
32
|
-
/** Core step: returns next uint32. */
|
|
33
|
-
private nextUint32;
|
|
34
|
-
getSeedHash(): string;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=prng-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prng-manager.d.ts","sourceRoot":"","sources":["../../../../src/lib/mem/managers/prng-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIlE,qBAAa,IAAI;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,WAAW;IAE/C,QAAQ,IAAI,MAAM;IAIlB,UAAU,IAAI,MAAM;IAIpB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAI9C,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;CAG/D;AAED,qBAAa,WAAY,YAAW,eAAe;IAO/C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAN7B,OAAO,CAAC,MAAM,CAAe;IAC7B,SAAgB,IAAI,EAAE,IAAI,CAAC;IAE3B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;gBAGlC,UAAU,EAAE,SAAS;IAKjC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAU5D,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAIlD,8DAA8D;IACvD,QAAQ,IAAI,MAAM;IAKzB,gFAAgF;IACzE,UAAU,IAAI,MAAM;IAO3B,yDAAyD;IAClD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAWrD,yDAAyD;IAClD,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAQ9D,4EAA4E;IACrE,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIlC,mDAAmD;IACnD,OAAO,CAAC,OAAO;IA0Bf,sCAAsC;IACtC,OAAO,CAAC,UAAU;IAoBX,WAAW,IAAI,MAAM;CAM7B"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { MemoryTracker } from '@lagless/binary';
|
|
2
|
-
import { IAbstractMemory } from '../abstract-memory.interface.js';
|
|
3
|
-
import { ECSDeps, ISingletonConstructor, ISingletonInstance } from '../../types/index.js';
|
|
4
|
-
export declare class SingletonsManager implements IAbstractMemory {
|
|
5
|
-
private readonly _ECSDeps;
|
|
6
|
-
private readonly _singletonsInstances;
|
|
7
|
-
constructor(_ECSDeps: ECSDeps);
|
|
8
|
-
init(arrayBuffer: ArrayBuffer, tracker: MemoryTracker): void;
|
|
9
|
-
calculateSize(tracker: MemoryTracker): void;
|
|
10
|
-
get<Ctor extends ISingletonConstructor>(SingletonConstructor: Ctor): InstanceType<Ctor>;
|
|
11
|
-
[Symbol.iterator](): MapIterator<[ISingletonConstructor, ISingletonInstance]>;
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=singletons-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"singletons-manager.d.ts","sourceRoot":"","sources":["../../../../src/lib/mem/managers/singletons-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1F,qBAAa,iBAAkB,YAAW,eAAe;IAG3C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAFrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAwD;gBAEhE,QAAQ,EAAE,OAAO;IAEvC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAO5D,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAM3C,GAAG,CAAC,IAAI,SAAS,qBAAqB,EAAE,oBAAoB,EAAE,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;IAQvF,CAAC,MAAM,CAAC,QAAQ,CAAC;CAGzB"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { MemoryTracker } from '@lagless/binary';
|
|
2
|
-
import { IAbstractMemory } from '../abstract-memory.interface.js';
|
|
3
|
-
export declare class TickManager implements IAbstractMemory {
|
|
4
|
-
private _tickTypedArray;
|
|
5
|
-
get tick(): number;
|
|
6
|
-
setTick(tick: number): void;
|
|
7
|
-
init(arrayBuffer: ArrayBuffer, tracker: MemoryTracker): void;
|
|
8
|
-
calculateSize(tracker: MemoryTracker): void;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=tick-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tick-manager.d.ts","sourceRoot":"","sources":["../../../../src/lib/mem/managers/tick-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,qBAAa,WAAY,YAAW,eAAe;IACjD,OAAO,CAAC,eAAe,CAAe;IAEtC,IAAW,IAAI,IAAI,MAAM,CAExB;IAEM,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAM5D,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;CAGnD"}
|
package/dist/lib/mem/mem.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { ECSDeps } from '../types/index.js';
|
|
2
|
-
import { ECSConfig } from '../ecs-config.js';
|
|
3
|
-
import { ComponentsManager } from './managers/components-manager.js';
|
|
4
|
-
import { EntitiesManager } from './managers/entities-manager.js';
|
|
5
|
-
import { SingletonsManager } from './managers/singletons-manager.js';
|
|
6
|
-
import { FiltersManager } from './managers/filters-manager.js';
|
|
7
|
-
import { PlayerResourcesManager } from './managers/player-resources-manager.js';
|
|
8
|
-
import { TickManager } from './managers/tick-manager.js';
|
|
9
|
-
import { PRNGManager } from './managers/prng-manager.js';
|
|
10
|
-
export declare class Mem {
|
|
11
|
-
private readonly _ECSConfig;
|
|
12
|
-
private readonly _ECSDeps;
|
|
13
|
-
readonly tickManager: TickManager;
|
|
14
|
-
readonly prngManager: PRNGManager;
|
|
15
|
-
readonly componentsManager: ComponentsManager;
|
|
16
|
-
readonly singletonsManager: SingletonsManager;
|
|
17
|
-
readonly filtersManager: FiltersManager;
|
|
18
|
-
readonly entitiesManager: EntitiesManager;
|
|
19
|
-
readonly playerResourcesManager: PlayerResourcesManager;
|
|
20
|
-
private readonly _arrayBuffer;
|
|
21
|
-
private readonly _memoryManagers;
|
|
22
|
-
constructor(_ECSConfig: ECSConfig, _ECSDeps: ECSDeps);
|
|
23
|
-
exportSnapshot(): ArrayBuffer;
|
|
24
|
-
applySnapshot(arrayBuffer: ArrayBuffer): void;
|
|
25
|
-
private calculateSize;
|
|
26
|
-
getHash(): number;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=mem.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mem.d.ts","sourceRoot":"","sources":["../../../src/lib/mem/mem.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,qBAAa,GAAG;IAYF,OAAO,CAAC,QAAQ,CAAC,UAAU;IAAa,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAX7E,SAAgB,WAAW,EAAE,WAAW,CAAC;IACzC,SAAgB,WAAW,EAAE,WAAW,CAAC;IACzC,SAAgB,iBAAiB,EAAE,iBAAiB,CAAC;IACrD,SAAgB,iBAAiB,EAAE,iBAAiB,CAAC;IACrD,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,eAAe,EAAE,eAAe,CAAC;IACjD,SAAgB,sBAAsB,EAAE,sBAAsB,CAAC;IAE/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;gBAE5B,UAAU,EAAE,SAAS,EAAmB,QAAQ,EAAE,OAAO;IA8B/E,cAAc,IAAI,WAAW;IAI7B,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAQpD,OAAO,CAAC,aAAa;IAUd,OAAO,IAAI,MAAM;CAQzB"}
|
package/dist/lib/prefab.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { TypedArrayConstructor } from '@lagless/binary';
|
|
2
|
-
import { IComponentConstructor } from './types/index.js';
|
|
3
|
-
type ComponentValues<TSchema extends Record<string, TypedArrayConstructor>> = {
|
|
4
|
-
[K in keyof TSchema]: number;
|
|
5
|
-
};
|
|
6
|
-
export declare class Prefab {
|
|
7
|
-
private readonly _data;
|
|
8
|
-
with<T extends IComponentConstructor>(Component: T, values?: Partial<ComponentValues<T['schema']>>): Prefab;
|
|
9
|
-
static create(): Prefab;
|
|
10
|
-
[Symbol.iterator](): IterableIterator<[
|
|
11
|
-
IComponentConstructor,
|
|
12
|
-
Partial<ComponentValues<IComponentConstructor['schema']>> | undefined
|
|
13
|
-
]>;
|
|
14
|
-
}
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=prefab.d.ts.map
|
package/dist/lib/prefab.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prefab.d.ts","sourceRoot":"","sources":["../../src/lib/prefab.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,KAAK,eAAe,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,IAAI;KAC3E,CAAC,IAAI,MAAM,OAAO,GAAG,MAAM;CAC7B,CAAC;AAEF,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2G;IAE1H,IAAI,CAAC,CAAC,SAAS,qBAAqB,EACzC,SAAS,EAAE,CAAC,EACZ,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAC7C,MAAM;WAMK,MAAM,IAAI,MAAM;IAIvB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAC1C;QAAC,qBAAqB;QAAE,OAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS;KAAC,CAC/F;CAGF"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export type Listener<T> = (event: T) => void;
|
|
2
|
-
export declare class EventEmitter<TEvent> {
|
|
3
|
-
private readonly _listeners;
|
|
4
|
-
subscribe(listener: Listener<TEvent>): () => void;
|
|
5
|
-
emit(event: TEvent): void;
|
|
6
|
-
clear(): void;
|
|
7
|
-
get hasListeners(): boolean;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=event-emitter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../../src/lib/signals/event-emitter.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAE7C,qBAAa,YAAY,CAAC,MAAM;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAEnD,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI;IAKjD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMzB,KAAK,IAAI,IAAI;IAIpB,IAAW,YAAY,IAAI,OAAO,CAEjC;CACF"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from './event-emitter.js';
|
|
2
|
-
import { ECSConfig } from '../ecs-config.js';
|
|
3
|
-
export interface SignalEvent<TData> {
|
|
4
|
-
tick: number;
|
|
5
|
-
data: TData;
|
|
6
|
-
}
|
|
7
|
-
export interface ISignalConstructor {
|
|
8
|
-
new (...args: any[]): Signal<any>;
|
|
9
|
-
}
|
|
10
|
-
export declare abstract class Signal<TData = unknown> {
|
|
11
|
-
protected readonly _ECSConfig: ECSConfig;
|
|
12
|
-
readonly Predicted: EventEmitter<SignalEvent<TData>>;
|
|
13
|
-
readonly Verified: EventEmitter<SignalEvent<TData>>;
|
|
14
|
-
readonly Cancelled: EventEmitter<SignalEvent<TData>>;
|
|
15
|
-
private readonly _pending;
|
|
16
|
-
private readonly _awaitingVerification;
|
|
17
|
-
private readonly _maxInputDelayTick;
|
|
18
|
-
constructor(_ECSConfig: ECSConfig);
|
|
19
|
-
emit(tick: number, data: TData): void;
|
|
20
|
-
/**
|
|
21
|
-
* Проверка Verified/Cancelled (вызывается каждый тик из SignalsRegistry)
|
|
22
|
-
* @internal
|
|
23
|
-
*/
|
|
24
|
-
_onTick(currentTick: number): void;
|
|
25
|
-
/**
|
|
26
|
-
* Перед rollback — очищаем pending для тиков которые будут пересимулированы
|
|
27
|
-
* @internal
|
|
28
|
-
*/
|
|
29
|
-
_onBeforeRollback(toTick: number): void;
|
|
30
|
-
/**
|
|
31
|
-
* Очистка данных для тика после verification
|
|
32
|
-
*/
|
|
33
|
-
private _cleanupTick;
|
|
34
|
-
/**
|
|
35
|
-
* Shallow comparison данных. Override для custom сравнения.
|
|
36
|
-
*/
|
|
37
|
-
protected _dataEquals(a: TData, b: TData): boolean;
|
|
38
|
-
dispose(): void;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=signal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../../src/lib/signals/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,MAAM,WAAW,WAAW,CAAC,KAAK;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IAEjC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;CACnC;AAED,8BACsB,MAAM,CAAC,KAAK,GAAG,OAAO;IAS9B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS;IARpD,SAAgB,SAAS,mCAA0C;IACnE,SAAgB,QAAQ,mCAA0C;IAClE,SAAgB,SAAS,mCAA0C;IAEnE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA8B;IACpE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;gBAEb,UAAU,EAAE,SAAS;IAI7C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI;IA4B5C;;;OAGG;IACI,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAmCzC;;;OAGG;IACI,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAS9C;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO;IAoB3C,OAAO,IAAI,IAAI;CAOvB"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Signal } from './signal.js';
|
|
2
|
-
export declare class SignalsRegistry {
|
|
3
|
-
private readonly _signals;
|
|
4
|
-
init(signals: Signal[]): void;
|
|
5
|
-
onTick(currentTick: number): void;
|
|
6
|
-
onBeforeRollback(toTick: number): void;
|
|
7
|
-
dispose(): void;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=signals.registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signals.registry.d.ts","sourceRoot":"","sources":["../../../src/lib/signals/signals.registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IAElC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAS7B,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAMjC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMtC,OAAO,IAAI,IAAI;CAMvB"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { MemoryTracker } from '@lagless/binary';
|
|
2
|
-
export declare abstract class AbstractFilter {
|
|
3
|
-
private readonly _maxEntities;
|
|
4
|
-
abstract readonly includeMask: number;
|
|
5
|
-
abstract readonly excludeMask: number;
|
|
6
|
-
protected readonly _length: Uint32Array;
|
|
7
|
-
protected readonly _entities: Uint32Array;
|
|
8
|
-
constructor(_maxEntities: number, buffer: ArrayBuffer, memoryTracker: MemoryTracker);
|
|
9
|
-
static calculateSize(maxEntities: number, memoryTracker: MemoryTracker): void;
|
|
10
|
-
get length(): number;
|
|
11
|
-
protected set length(value: number);
|
|
12
|
-
addEntityToFilter(entity: number): void;
|
|
13
|
-
removeEntityFromFilter(entity: number): void;
|
|
14
|
-
[Symbol.iterator](): IterableIterator<number>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=abstract-filter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-filter.d.ts","sourceRoot":"","sources":["../../../src/lib/types/abstract-filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,8BAAsB,cAAc;IAOtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IANzC,kBAAyB,WAAW,EAAE,MAAM,CAAC;IAC7C,kBAAyB,WAAW,EAAE,MAAM,CAAC;IAE7C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IACxC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;gBAEb,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa;WAOtF,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa;IAK7E,IAAW,MAAM,IAIW,MAAM,CAFjC;IAED,SAAS,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,EAKjC;IAEM,iBAAiB,CAAC,MAAM,EAAE,MAAM;IAUhC,sBAAsB,CAAC,MAAM,EAAE,MAAM;IAoBpC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC;CAKtD"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { InputFieldDefinition, MemoryTracker, TypedArray, TypedArrayConstructor } from '@lagless/binary';
|
|
2
|
-
import { AbstractFilter } from './abstract-filter.js';
|
|
3
|
-
export interface FieldDefinition {
|
|
4
|
-
type: string;
|
|
5
|
-
isArray: boolean;
|
|
6
|
-
arrayLength?: number;
|
|
7
|
-
}
|
|
8
|
-
export interface ComponentDefinition {
|
|
9
|
-
name: string;
|
|
10
|
-
id: number;
|
|
11
|
-
fields: Record<string, FieldDefinition>;
|
|
12
|
-
}
|
|
13
|
-
export interface IComponentConstructor {
|
|
14
|
-
name: string;
|
|
15
|
-
ID: number;
|
|
16
|
-
schema: Record<string, TypedArrayConstructor>;
|
|
17
|
-
calculateSize(maxEntities: number, memTracker: MemoryTracker): void;
|
|
18
|
-
new (maxEntities: number, buffer: ArrayBuffer, memTracker: MemoryTracker): IComponentInstance;
|
|
19
|
-
}
|
|
20
|
-
export interface IComponentInstance {
|
|
21
|
-
unsafe: Record<string, TypedArray>;
|
|
22
|
-
}
|
|
23
|
-
export interface SingletonDefinition {
|
|
24
|
-
name: string;
|
|
25
|
-
fields: Record<string, FieldDefinition>;
|
|
26
|
-
}
|
|
27
|
-
export interface ISingletonConstructor {
|
|
28
|
-
name: string;
|
|
29
|
-
schema: Record<string, TypedArrayConstructor>;
|
|
30
|
-
calculateSize(memTracker: MemoryTracker): void;
|
|
31
|
-
new (buffer: ArrayBuffer, memTracker: MemoryTracker): ISingletonInstance;
|
|
32
|
-
}
|
|
33
|
-
export interface ISingletonInstance {
|
|
34
|
-
safe?: Record<string, number>;
|
|
35
|
-
unsafe: Record<string, TypedArray>;
|
|
36
|
-
}
|
|
37
|
-
export interface PlayerResourceDefinition {
|
|
38
|
-
name: string;
|
|
39
|
-
fields: Record<string, FieldDefinition>;
|
|
40
|
-
}
|
|
41
|
-
export interface IPlayerResourceConstructor {
|
|
42
|
-
name: string;
|
|
43
|
-
schema: Record<string, TypedArrayConstructor>;
|
|
44
|
-
calculateSize(memTracker: MemoryTracker): void;
|
|
45
|
-
new (buffer: ArrayBuffer, memTracker: MemoryTracker): ISingletonInstance;
|
|
46
|
-
}
|
|
47
|
-
export interface IPlayerResourceInstance {
|
|
48
|
-
unsafe: Record<string, TypedArray>;
|
|
49
|
-
}
|
|
50
|
-
export interface FilterDefinition {
|
|
51
|
-
name: string;
|
|
52
|
-
include: ComponentDefinition[];
|
|
53
|
-
exclude: ComponentDefinition[];
|
|
54
|
-
}
|
|
55
|
-
export interface IFilterConstructor {
|
|
56
|
-
name: string;
|
|
57
|
-
include: IComponentConstructor[];
|
|
58
|
-
exclude: IComponentConstructor[];
|
|
59
|
-
calculateSize(maxEntities: number, memTracker: MemoryTracker): void;
|
|
60
|
-
new (maxEntities: number, buffer: ArrayBuffer, memTracker: MemoryTracker): IFilterInstance;
|
|
61
|
-
}
|
|
62
|
-
export interface IFilterInstance extends AbstractFilter {
|
|
63
|
-
includeMask: number;
|
|
64
|
-
excludeMask: number;
|
|
65
|
-
[Symbol.iterator](): IterableIterator<number>;
|
|
66
|
-
}
|
|
67
|
-
export interface IInputDefinition {
|
|
68
|
-
name: string;
|
|
69
|
-
id: number;
|
|
70
|
-
fields: Array<InputFieldDefinition>;
|
|
71
|
-
}
|
|
72
|
-
export interface IAbstractInputConstructor {
|
|
73
|
-
readonly id: number;
|
|
74
|
-
new (): IAbstractInput;
|
|
75
|
-
}
|
|
76
|
-
export interface IAbstractInput {
|
|
77
|
-
readonly id: number;
|
|
78
|
-
readonly byteLength: number;
|
|
79
|
-
readonly fields: ReadonlyArray<InputFieldDefinition>;
|
|
80
|
-
readonly schema: Record<string, TypedArray | number>;
|
|
81
|
-
}
|
|
82
|
-
export type InputMeta = {
|
|
83
|
-
tick: number;
|
|
84
|
-
seq: number;
|
|
85
|
-
ordinal: number;
|
|
86
|
-
playerSlot: number;
|
|
87
|
-
};
|
|
88
|
-
export type InputData<TInput extends IAbstractInput> = TInput['schema'];
|
|
89
|
-
export interface IECSSystem {
|
|
90
|
-
update(tick: number): void;
|
|
91
|
-
}
|
|
92
|
-
export interface IECSSystemConstructor {
|
|
93
|
-
new (...args: any[]): IECSSystem;
|
|
94
|
-
}
|
|
95
|
-
export interface ECSSchema {
|
|
96
|
-
components: ComponentDefinition[];
|
|
97
|
-
singletons: SingletonDefinition[];
|
|
98
|
-
playerResources: PlayerResourceDefinition[];
|
|
99
|
-
filters: FilterDefinition[];
|
|
100
|
-
inputs: IInputDefinition[];
|
|
101
|
-
}
|
|
102
|
-
export interface ECSDeps {
|
|
103
|
-
components: IComponentConstructor[];
|
|
104
|
-
singletons: ISingletonConstructor[];
|
|
105
|
-
playerResources: IPlayerResourceConstructor[];
|
|
106
|
-
filters: IFilterConstructor[];
|
|
107
|
-
inputs: IAbstractInputConstructor[];
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=ecs-types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ecs-types.d.ts","sourceRoot":"","sources":["../../../src/lib/types/ecs-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
|