Renderer process wrapper.
All frame, acknowledgement, timeout, and recovery workflows live in focused handler modules. This module exposes the process API and keeps OTP callbacks as routing-only clauses.
Summary
Functions
Returns current recovery generation and acknowledged frame sequence.
Queues the latest semantic frame intent for asynchronous rendering.
Returns a specification to start this module under a supervisor.
Routes a typed frontend frame status to the renderer.
Records one-shot adaptation evidence bound to an outstanding rejected transaction.
Runs one frame synchronously inside this renderer process.
Returns true while rendering or awaiting frontend credit.
Requests recovery of the outstanding renderer transaction.
Abandons the old frontend connection and renders a fresh keyframe.
Resets frontend state and renders a synchronous recovery keyframe.
Returns the visible terminal frontend failure, if one has stopped frame credit.
Types
@type t() :: MingaEditor.Renderer.State.t()
Functions
@spec acknowledgement_state(GenServer.server()) :: {non_neg_integer(), non_neg_integer()}
Returns current recovery generation and acknowledged frame sequence.
@spec cast_snapshot( GenServer.server(), MingaEditor.RenderPipeline.Input.t() | MingaEditor.RenderPipeline.Intent.t(), non_neg_integer() ) :: :ok
Queues the latest semantic frame intent for asynchronous rendering.
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec frame_status(GenServer.server(), MingaEditor.Frontend.Protocol.input_event()) :: :ok
Routes a typed frontend frame status to the renderer.
@spec record_adaptation( GenServer.server(), non_neg_integer(), non_neg_integer(), MingaEditor.Frontend.ResourcePolicy.dimension(), integer(), integer(), MingaEditor.RenderPipeline.Intent.t() ) :: :ok | :error
Records one-shot adaptation evidence bound to an outstanding rejected transaction.
@spec render_sync( GenServer.server(), MingaEditor.RenderPipeline.Input.t() | MingaEditor.RenderPipeline.Intent.t(), non_neg_integer() ) :: {:ok, MingaEditor.Renderer.RenderReceipt.t()} | {:error, Exception.t()}
Runs one frame synchronously inside this renderer process.
@spec rendering?(GenServer.server()) :: boolean()
Returns true while rendering or awaiting frontend credit.
@spec request_recovery(GenServer.server()) :: :ok
Requests recovery of the outstanding renderer transaction.
@spec reset_connection( GenServer.server(), MingaEditor.RenderPipeline.Input.t() | MingaEditor.RenderPipeline.Intent.t(), non_neg_integer() ) :: :ok
Abandons the old frontend connection and renders a fresh keyframe.
@spec reset_sync( GenServer.server(), MingaEditor.RenderPipeline.Intent.t(), non_neg_integer() ) :: {:ok, MingaEditor.Renderer.RenderReceipt.t()} | {:error, Exception.t()}
Resets frontend state and renders a synchronous recovery keyframe.
@spec start_link(keyword()) :: GenServer.on_start()
@spec terminal_failure(GenServer.server()) :: MingaEditor.Renderer.RejectionState.terminal() | nil
Returns the visible terminal frontend failure, if one has stopped frame credit.