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

A highlight span with pre-resolved colors and attributes.

Spans reference display columns in the composed text. They never resolve editor-local resources such as secondary font registrations; builders pass the already-resolved `font_id` when a span needs one.

# `t`

```elixir
@type t() :: %Minga.RenderModel.Window.Span{
  attrs: non_neg_integer(),
  bg: non_neg_integer(),
  end_col: non_neg_integer(),
  fg: non_neg_integer(),
  font_id: non_neg_integer(),
  font_weight: non_neg_integer(),
  start_col: non_neg_integer()
}
```

# `from_face`

```elixir
@spec from_face(
  Minga.Core.Face.t(),
  non_neg_integer(),
  non_neg_integer(),
  non_neg_integer()
) :: t()
```

Builds a span from a `Face.t()` struct and display-column range.

# `rebase_to_visual_row`

```elixir
@spec rebase_to_visual_row(
  t(),
  non_neg_integer(),
  non_neg_integer(),
  non_neg_integer()
) :: [t()]
```

Clips a span to a source display-column range and rebases it into a visual row.

---

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