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

Cursor state for one rendered frame.

The editor owns cursor semantics. The render model carries the resolved cursor position and shape so frontend adapters can encode or draw it without reaching back into editor state.

# `shape`

```elixir
@type shape() :: :block | :beam | :underline
```

# `t`

```elixir
@type t() :: %Minga.RenderModel.Cursor{
  col: non_neg_integer(),
  row: non_neg_integer(),
  shape: shape()
}
```

# `new`

```elixir
@spec new(non_neg_integer(), non_neg_integer(), shape()) :: t()
```

Creates a cursor model.

---

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