Types
KernelTopics
interface KernelTopics
From @phaser-ae/kernel
The topics the kernel itself declares (1024 records a step each, count-and-clamp beyond).
spawn: { handle: Handle }— An object was spawned; readable in the step after the one it was spawned in.kill: { handle: Handle }— An object was killed; readable in the next step, the handle still reading its last values.'anim.complete': { handle: Handle; anim: string }— An anim played its last frame: every loop of a looping one, and once for a one-shot (hold).'anim.marker': { handle: Handle; anim: string; marker: string }— An anim reached a frame with a named marker.
Overflow
type Overflow = 'drop-oldest' | 'coalesce' | 'count-and-clamp'
From @phaser-ae/kernel
What happens at capacity: drop the oldest record, replace the newest, or drop the new one. Every choice counts in pressure().dropped.
Signals
interface Signals<T extends object = KernelTopics>
From @phaser-ae/kernel
The signal bus. Emitting to or reading an undeclared topic throws in dev; in production the emit is dropped and the read is empty.
emit<K extends keyof T & string>(topic: K, record: T[K]): void— Append a record for the next step. Nothing executes.read<K extends keyof T & string>(topic: K): ReadonlyArray<T[K]>— The records delivered at the start of this step (what the previous step emitted). Read it whole each step: the next delivery replaces it.pressure(topic: keyof T & string): { count: number; capacity: number; dropped: number }— A topic's current count, capacity and the records dropped at capacity so far, for a debug overlay.
TopicDecl
interface TopicDecl
From @phaser-ae/kernel
A topic's per-step capacity and overflow rule.
capacity: number— Records held per step beforeoverflowapplies.overflow: Overflow— The rule at capacity.
