All data needed to render a single frame for one buffer.
Constructed atomically inside BufferProcess.handle_call/3 so the
caller gets a consistent snapshot of cursor, lines, metadata, options,
decorations, and version in a single GenServer round-trip. Previously a bare map;
promoted to a struct for compile-time field enforcement and better
type-system support.
Summary
Types
@type t() :: %Minga.Buffer.RenderSnapshot{ buffer_type: Minga.Buffer.State.buffer_type(), cursor: Minga.Buffer.Document.position(), decorations: Minga.Core.Decorations.t(), dirty: boolean(), file_path: String.t() | nil, filetype: atom(), first_line_byte_offset: non_neg_integer(), line_count: pos_integer(), lines: [String.t()], name: String.t() | nil, options: %{required(atom()) => term()}, read_only: boolean(), version: non_neg_integer() }