Class: GameWorkerManager
Defined in: src/worker/GameWorkerManager.ts:26
Optional integration point for offloading Pixi'VN's own heavy, pure (no DOM/PixiJS/audio) computations to a Worker the game project registers. Pixi'VN never creates a Worker itself and works exactly as before if none is registered - this is opt-in, not a requirement, so projects that can't or don't want to use Workers (SSR, certain embeds, ...) are unaffected.
The game project owns the Worker instance (so it controls the bundler-specific new Worker(new URL(...), { type: "module" }) call, any CSP/nonce concerns, and whether it exists
at all) and just needs its onmessage wired to handleGameWorkerMessage - see that
function's doc comment for the worker-side half of this.
Constructors
Constructor
> new GameWorkerManager(): GameWorkerManager
Returns
GameWorkerManager
Accessors
isAvailable
Get Signature
> get static isAvailable(): boolean
Defined in: src/worker/GameWorkerManager.ts:31
Returns
boolean
Methods
clone()
> static clone<T>(value): Promise<T>
Defined in: src/worker/GameWorkerManager.ts:108
Deep-clones value (JSON round-trip, matching createExportableElement) on the registered worker.
Type Parameters
T
T extends object
Parameters
value
T
Returns
Promise<T>
custom()
> static custom<TResult>(kind, payload): Promise<TResult>
Defined in: src/worker/GameWorkerManager.ts:118
Runs the handler a third-party library registered for kind (see
registerGameWorkerHandler) on the registered worker, passing it payload. Lets a
library built on top of Pixi'VN share this same worker instead of needing one of its own -
see that function's doc comment for the worker-side half of this.
Type Parameters
TResult
TResult = unknown
Parameters
kind
string
payload
unknown
Returns
Promise<TResult>
diff()
> static diff(before, after): Promise<Difference[]>
Defined in: src/worker/GameWorkerManager.ts:103
Computes the microdiff difference between before and after on the registered worker.
Parameters
before
object
after
object
Returns
Promise<Difference[]>
register()
> static register(worker): void
Defined in: src/worker/GameWorkerManager.ts:40
Registers the Worker Pixi'VN may use for eligible heavy computations. Replaces any previously registered worker (its still-pending requests are rejected, never left hanging).
Parameters
worker
Worker
Returns
void
restoreDiff()
> static restoreDiff<T>(state, diff): Promise<T>
Defined in: src/worker/GameWorkerManager.ts:98
Applies diff to state on the registered worker (see restoreDiffChanges).
Type Parameters
T
T extends object
Parameters
state
T
diff
Difference[]
Returns
Promise<T>
unregister()
> static unregister(): void
Defined in: src/worker/GameWorkerManager.ts:47
Stops using the registered worker (does not terminate it - the caller owns its lifecycle).
Returns
void