MingaEditor.Renderer.RejectionState (Minga v0.1.0)

Copy Markdown View Source

Terminal frontend failure and one-shot adapted-retry evidence.

Summary

Functions

Records producer-local evidence bound to one rejected transaction and adapted intent.

Returns whether an intent is byte-for-byte the same semantic intent that failed terminally.

Clears terminal visibility and adaptation evidence after a material state change.

Returns empty rejection state.

Records a terminal failure while retaining the rejected semantic intent.

Types

adaptation()

@type adaptation() :: %{
  generation: non_neg_integer(),
  frame_seq: non_neg_integer(),
  dimension: MingaEditor.Frontend.ResourcePolicy.dimension(),
  rejected_value: pos_integer(),
  adapted_value: pos_integer(),
  intent: MingaEditor.RenderPipeline.Intent.t()
}

t()

@type t() :: %MingaEditor.Renderer.RejectionState{
  adaptation: adaptation() | nil,
  terminal: terminal() | nil
}

terminal()

@type terminal() :: %{
  generation: non_neg_integer(),
  frame_seq: non_neg_integer(),
  last_good_frame_seq: non_neg_integer(),
  reason: atom(),
  intent: MingaEditor.RenderPipeline.Intent.t()
}

Functions

adapt(state, generation, frame_seq, descriptor, intent)

Records producer-local evidence bound to one rejected transaction and adapted intent.

blocks?(rejection_state, intent)

@spec blocks?(t(), MingaEditor.RenderPipeline.Intent.t()) :: boolean()

Returns whether an intent is byte-for-byte the same semantic intent that failed terminally.

clear(rejection_state)

@spec clear(t()) :: t()

Clears terminal visibility and adaptation evidence after a material state change.

new()

@spec new() :: t()

Returns empty rejection state.

terminal(state, generation, frame_seq, last_good, reason, intent)

Records a terminal failure while retaining the rejected semantic intent.