A single terminal cell.
:char— a codepoint integer, a grapheme binary,nil(blank), or:continuation(the second cell of a wide grapheme).:style_id— integer index into the frame's internal style table.
Single-codepoint graphemes (the common case — ASCII, Latin-1 NFC)
take the integer fast path. Multi-codepoint graphemes (NFD
diacritics, ZWJ sequences, regional-indicator flags) are stored as
binaries so the grapheme is rendered verbatim. Wide graphemes
occupy two cells: the grapheme at (row, col) and :continuation
at (row, col + 1).
You'll see cells when inspecting a render via Harlock.Test.cells/1.
Summary
Types
@type char_value() :: non_neg_integer() | String.t() | nil | :continuation
@type t() :: %Harlock.Render.Cell{char: char_value(), style_id: non_neg_integer()}
Functions
@spec blank(non_neg_integer()) :: t()
@spec new(char_value(), non_neg_integer()) :: t()