# `MingaEditor.RenderPipeline.FrameIntent`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/render_pipeline/frame_intent.ex#L1)

Explicit allowlisted top-level Editor-to-Renderer frame boundary.

# `t`

```elixir
@type t() :: %MingaEditor.RenderPipeline.FrameIntent{
  backend: atom(),
  capabilities: term(),
  cursor_animate: boolean() | nil,
  diff_views: map(),
  editing_model: atom(),
  face_override_registries: map(),
  focus_tree: term(),
  force_keyframe?: boolean(),
  git_syncing: boolean(),
  gui_config_state: term(),
  highlighting: MingaEditor.State.Highlighting.t(),
  last_input_seq: non_neg_integer(),
  layout: term(),
  line_spacing: number() | nil,
  lsp: term(),
  message_store: term(),
  notifications: term(),
  parser_status: atom(),
  port_manager: GenServer.server() | nil,
  shell: module(),
  shell_id: atom(),
  shell_identity: term(),
  shell_state: term(),
  sidebar_registry: term(),
  status_bar_data: term(),
  terminal_viewport: term(),
  theme: term()
}
```

# `force_keyframe`

```elixir
@spec force_keyframe(t()) :: t()
```

Forces recovery materialization without exposing renderer cache state.

# `from_input`

```elixir
@spec from_input(MingaEditor.RenderPipeline.Input.t()) :: t()
```

Copies only the reviewed top-level semantic fields from pipeline input.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
