The pack
renderer
function renderer(options: RendererOptions = {}): Pack<{ renderer: RendererApi; gpu: WebGpuApi; gl: WebGl2Api; preloader: PreloaderApi }>
One composed backend and one game bundle; tests real devices, prefers WebGPU and falls back to WebGL2.
Types
RendererApi
interface RendererApi
Device selection and diagnostics.
readonly status: 'pending' | 'testing' | 'ready' | 'unsupported' | 'headless' | 'disposed'— Current startup state.readonly backend: 'webgpu' | 'webgl2' | null— The selected backend, or null before selection/failure/headless.readonly ready: boolean— Whether the selected backend is ready to render.readonly error: string | null— Friendly startup error, if no suitable renderer can start.readonly failures: ReadonlyArray<RendererFailure>— Failed device probes, useful for support diagnostics.prefer(backend: RendererPreference): void— Override selection before game.start(), for a settings screen or backend test.
RendererFailure
interface RendererFailure
Diagnostic retained for an unavailable candidate.
backend: 'webgpu' | 'webgl2'— API attempted.reason: string— Technical reason.
RendererOptions
interface RendererOptions
Automatic renderer configuration.
backend?: RendererPreference— Prefer WebGPU with WebGL2 fallback, or explicitly select a backend for testing.
RendererPreference
type RendererPreference = 'auto' | 'webgpu' | 'webgl2'
Supported rendering APIs and the default preference order.


