Internal state for the Port Manager GenServer.
Tracks the Zig renderer port, subscribers, readiness, and terminal dimensions.
Summary
Types
@type port_mode() :: :spawn | :connected
Port connection mode.
:spawn— BEAM is the parent; Port.Manager spawns the GUI as a child process (dev mode, TUI, Burrito).:connected— BEAM is the child; the GUI parent already set up stdin/stdout pipes. Port.Manager connects to fd 0/1 instead of spawning.
@type t() :: %MingaEditor.Frontend.Manager.State{ capabilities: MingaEditor.Frontend.Capabilities.t(), output_failure_ms: non_neg_integer(), output_pressure: MingaEditor.Frontend.Manager.OutputPressure.t(), output_retry_ms: pos_integer(), port: port() | nil, port_commander: port_commander(), port_mode: port_mode(), ready: boolean(), renderer_path: String.t(), subscribers: [pid()], terminal_size: {width :: pos_integer(), height :: pos_integer()} | nil, tty_path: String.t() | nil }