Terminal backend backed by Ghostty.TTY.
This backend manages terminal presentation concerns around a render stream: alternate screen entry, cursor visibility, initial clearing, output writes, and optional raw keyboard input through an internal terminal session.
Summary
Types
@type state() :: %{ device: IO.device(), terminal_session: GenServer.server() | nil, alternate_screen?: boolean(), hide_cursor?: boolean() }