# `Minga.RenderModel`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga/render_model.ex#L1)

Top-level visible model for one rendered frame.

Products such as `MingaEditor` derive this struct from their own state, then frontend adapters translate it to protocol commands. The struct is pure data and lives in core so adapters can consume one visible truth instead of parallel window, chrome, cursor, and side-channel payloads.

# `t`

```elixir
@type t() :: %Minga.RenderModel{
  cursor: Minga.RenderModel.Cursor.t(),
  title: String.t() | nil,
  ui: Minga.RenderModel.UI.t(),
  window_bg: non_neg_integer() | nil,
  windows: [Minga.RenderModel.Window.t()]
}
```

# `new`

```elixir
@spec new(
  [Minga.RenderModel.Window.t()],
  Minga.RenderModel.UI.t(),
  Minga.RenderModel.Cursor.t(),
  String.t() | nil,
  non_neg_integer() | nil
) :: t()
```

Creates a top-level frame render model.

---

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