Logo FSBarV1_Archived

HeadlessRenderer Module

Off-screen render pipeline for the Viewer tab. Reads the current `SessionManager` game state + `HubStateStore` camera + `HubStateStore.VizConfig` every tick, calls `SceneBuilder.buildSceneHeadlessView`, rasterizes into an off-screen SKSurface (raster backend — the GPU backend segfaults in this environment per CLAUDE.md), encodes PNG/JPEG, and fans out to per-subscriber bounded channels (capacity 16, DropOldest).

Types

Type Description

T

Functions and values

Function or value Description

create sessions store overlays events settings

Full Usage: create sessions store overlays events settings

Parameters:
Returns: T

Allocate a new renderer. Retains the session manager, state store, overlay store, and event sink. Per-frame composite emits a `HubEvent.DiagnosticsLine Warning` on the supplied sink when the overlay-pass elapsed time exceeds the SC-002 5 ms budget (feature 041 FR-006a / R2). The frame still ships unchanged.

sessions : SessionManager
store : T
overlays : T
events : IHubEventSink
settings : unit -> HubSettings
Returns: T

renderOnce arg1 format viewportWidth viewportHeight jpegQuality

Full Usage: renderOnce arg1 format viewportWidth viewportHeight jpegQuality

Parameters:
    arg0 : T
    format : ImageFormat
    viewportWidth : int
    viewportHeight : int
    jpegQuality : int

Returns: RenderFrameMessage

Synchronously render + encode a single frame at the caller's requested viewport. Used by the `GetRenderFrame` unary RPC. When no session is active, returns a placeholder frame with `IsPlaceholder = true`.

arg0 : T
format : ImageFormat
viewportWidth : int
viewportHeight : int
jpegQuality : int
Returns: RenderFrameMessage

subscribe arg1 arg2

Full Usage: subscribe arg1 arg2

Parameters:
Returns: SubscribeOutcome

Subscribe a new client. Returns `Subscribed` with a `RenderSubscription` whose `Channel` receives one `RenderFrameMessage` per render tick. When `HubSettings.MaxRenderFrameSubscribers` is reached returns `SubscribeRejected "max subscribers reached"`.

arg0 : T
arg1 : RenderSubscriptionRequest
Returns: SubscribeOutcome

subscriberCount arg1

Full Usage: subscriberCount arg1

Parameters:
    arg0 : T

Returns: int

Current active-subscription count. Exposed for tests + diagnostics.

arg0 : T
Returns: int

Type something to start searching.