A bounded, version-qualified buffer line view for rendering.
Unlike the historical render snapshot this value never contains a
Minga.Buffer.Document. lines contains only the range requested from the
buffer process. Renderer callers first atomically consume the ChangeLog and
then fetch a range at that exact version; a concurrent edit returns :stale.
Summary
Types
@type t() :: %Minga.Buffer.RenderSnapshot{ buffer_type: Minga.Buffer.State.buffer_type(), change_sequence: non_neg_integer(), cursor: Minga.Buffer.Document.position(), decorations: Minga.Core.Decorations.t(), dirty: boolean(), file_path: String.t() | nil, filetype: atom(), first_line: non_neg_integer(), 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() }