BreezeDocs ← Back to site

Architecture

Breeze is a small Rust workspace. Its own terminal engine (breeze-vt) parses the PTY stream and a CPU renderer (breeze-ui, cosmic-text into a software surface) draws it — no GPU. A per-session state machine in breeze-core watches the agent process through a per-OS backend (breeze-platform; libproc on macOS) and drives throttling, child cleanup, and disk-paged scrollback.

INPUT & TERMINAL ENGINE OPTIMIZE & OUTPUT Keystrokes breeze-ui input (winit) PTY Output breeze-platform PTY breeze-vt + breeze-ui cosmic-text on CPU, no GPU breeze-platform per-OS, libproc on macOS breeze-core session state machine scrollback disk-paged history CPUThrottle SIGSTOP / SIGCONT ChildLifecycle kill stale caffeinate / LSP

The session state machine

Each session is always in one of four states. The state drives both the polling interval and the CPU-throttle policy:

StateMeaningThrottle
RUNNING_TOOLSAgent is executing tools / has active childrenNone — full speed
STREAMING_APIStreaming model output~10–15% duty cycle
WAITING_INPUTIdle at the prompt~2–3% duty cycle
DEEP_IDLEBackground tab / long idleFull SIGSTOP freeze
Typing instantly suspends throttling, then it decays back to the state-appropriate policy ~300 ms after the last keystroke — so the prompt never feels sticky.

Scrollback

The in-RAM scrollback is a bounded ring. As lines scroll out of it, breeze-core appends them to a per-session file on disk, so the full history stays available to scroll back through at near-zero memory.