Owns connection reset, timeout recovery, and targeted window recovery.
Summary
Functions
Starts one fresh-generation retry only after consuming explicit adaptation evidence.
Forces a same-connection keyframe while retaining acknowledged presentation leases.
Renders a synchronous same-connection keyframe without abandoning presentation leases.
Resets frontend state and renders a synchronous recovery keyframe.
Starts transaction recovery from the latest semantic intent.
Recovers one missed retained window without resetting unrelated frontend state.
Types
Functions
@spec adapted(MingaEditor.Renderer.State.t(), non_neg_integer(), atom()) :: {:noreply, MingaEditor.Renderer.State.t()}
Starts one fresh-generation retry only after consuming explicit adaptation evidence.
@spec keyframe( MingaEditor.Renderer.State.t(), MingaEditor.RenderPipeline.Intent.t(), non_neg_integer(), integer() ) :: {:reply, :ok, MingaEditor.Renderer.State.t()}
Forces a same-connection keyframe while retaining acknowledged presentation leases.
@spec keyframe_sync( MingaEditor.Renderer.State.t(), MingaEditor.RenderPipeline.Intent.t(), non_neg_integer(), integer() ) :: {:reply, {:ok, MingaEditor.Renderer.RenderReceipt.t()} | {:error, Exception.t()}, MingaEditor.Renderer.State.t()}
Renders a synchronous same-connection keyframe without abandoning presentation leases.
@spec request(MingaEditor.Renderer.State.t(), non_neg_integer(), non_neg_integer()) :: {:reply, request_result(), MingaEditor.Renderer.State.t()}
@spec reset( MingaEditor.Renderer.State.t(), MingaEditor.RenderPipeline.Intent.t(), non_neg_integer(), integer() ) :: {:reply, :ok, MingaEditor.Renderer.State.t()}
@spec reset_sync( MingaEditor.Renderer.State.t(), MingaEditor.RenderPipeline.Intent.t(), non_neg_integer(), integer() ) :: {:reply, {:ok, MingaEditor.Renderer.RenderReceipt.t()} | {:error, Exception.t()}, MingaEditor.Renderer.State.t()}
Resets frontend state and renders a synchronous recovery keyframe.
@spec transaction( MingaEditor.Renderer.State.t(), MingaEditor.Renderer.FrameAttempt.t() ) :: {:noreply, MingaEditor.Renderer.State.t()}
Starts transaction recovery from the latest semantic intent.
@spec window( MingaEditor.Renderer.State.t(), MingaEditor.Renderer.FrameAttempt.t(), non_neg_integer() ) :: {:noreply, MingaEditor.Renderer.State.t()}
Recovers one missed retained window without resetting unrelated frontend state.