# `MingaEditor.RenderModel.Window.ResidentBuild`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga_editor/render_model/window/resident_build.ex#L1)

Renderer-owned delta-driven resident composition state.

# `inputs`

```elixir
@type inputs() :: %{
  line_texts: [String.t()],
  line_count: non_neg_integer(),
  compose_fp: integer(),
  highlight_fp: integer() | nil,
  reset?: boolean(),
  hydration_reason: atom() | nil,
  keyframe?: boolean(),
  retained_rows: retained_rows(),
  edit_deltas: [Minga.Buffer.EditDelta.t()],
  build_all: (-&gt; [payload()]),
  build_dirty: (MapSet.t(non_neg_integer()) -&gt;
                  %{required(non_neg_integer()) =&gt; payload()})
}
```

# `payload`

```elixir
@type payload() :: %{
  :row =&gt; Minga.RenderModel.Window.Row.t(),
  optional(atom()) =&gt; term()
}
```

# `retained_rows`

```elixir
@type retained_rows() :: %{
  optional(Minga.RenderModel.Window.Row.row_id()) =&gt;
    {non_neg_integer(), Minga.RenderModel.Window.Row.t()}
}
```

# `t`

```elixir
@type t() :: %MingaEditor.RenderModel.Window.ResidentBuild{
  compose_fp: integer() | nil,
  highlight_fp: integer() | nil,
  line_count: non_neg_integer(),
  store: MingaEditor.RenderModel.Window.ResidentStore.t()
}
```

# `run`

```elixir
@spec run(t() | nil, inputs()) :: {t(), map()}
```

---

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