feat: make terminal the primary workspace surface
CI / rust (push) Successful in 2m7s

This commit is contained in:
2026-08-31 17:18:55 -07:00
parent b838d000db
commit 1204689de0
11 changed files with 643 additions and 157 deletions
+15 -3
View File
@@ -69,12 +69,24 @@ The first `lumbridge-runtime` actor now owns one `PtySession` on a dedicated
thread. Bounded command and event queues serialize input, resize, close, and
shutdown against ordered raw-byte output. The GPUI slice feeds one actor session
through the terminal engine while five surfaces retain deterministic comparison
output. Its current text adapter intentionally renders plain rows and does not
yet paint cell styles, selection, or the cursor; the next rendering slice owns
that work. This actor still runs in-process; moving the same framework-neutral
output. Its adapter groups adjacent cells into native GPUI paint runs and renders
ANSI/indexed/RGB colors, emphasis, hyperlinks, and cursor shapes. Window geometry
drives terminal rows and columns and resizes both the engine and PTY. Selection,
scrollback navigation, mouse reporting, and a lower-level terminal canvas remain.
This actor still runs in-process; moving the same framework-neutral
contract behind local authenticated IPC is the next durability step. See
decisions 0004 and 0005.
## Default workspace composition
The default desktop workspace is a vertical 3×1 composition: the top 20% holds
pane, agent, tool, context, and goal state; the middle 60% is the active terminal
or work surface; the bottom 20% is the answer, choice, chat, and approval shelf.
Six deterministic surfaces still update in the spike so performance comparisons
remain meaningful, but only the selected surface owns the large work region.
Users may deliberately split that region later; a dashboard grid is not the
calm default. See decision 0008.
We should evaluate, not blindly copy, WezTerm, Zellij, RMUX, tmux, and cmux. The
first spike must compare a reusable terminal crate with a small first-party layer.
Remaining correctness cases include OSC 8 links, Kitty