2.2 KiB
0010: Removing a panel detaches its session before termination
Status: accepted for implementation.
A workspace panel is a view attachment, not the lifetime owner of a PTY, agent, browser, or remote session. The normal remove action is therefore Detach panel. It removes the panel from the visible layout, keeps its stable pane and session identities, preserves output and decision state, and exposes the item in a Detached sessions tray. Reattaching it is a Configure-capability operation and must not launch a second process.
Termination is a separate Execute-capability operation. It is presented as Terminate session, never as an ambiguous close icon, and will require a confirmation that names the process, target machine, and any dirty or waiting state. Detaching the selected panel chooses its next attached sibling, falling back to the previous sibling. A workspace retains at least one attached panel.
The add affordance has two product paths: quick activation creates the user's default panel beside the selection, while its menu offers Terminal, Browser, Markdown, Review, and Reattach running session. The deterministic UI spike uses six fixed fixtures, starts with five attached, and reattaches the first detached fixture when Add panel is activated. That fixture limit is test scaffolding, not a product limit.
The typed command plane retains detached pane definitions separately from the
layout tree. ClosePane(Detach) moves a definition into that registry,
AttachPane restores it without a launch intent, and ClosePane(Terminate)
requires Execute authority whether the pane is attached or detached. The future
runtime registry remains the process owner throughout these layout transitions.
This interaction vocabulary was informed by behavior study of cmux at
fc36aea87e3b4152637597443d7aa7c22e4ec9f8 and Orca at
02a7742406a5a84fb372d6255d5a4367421990bd. cmux is GPL-3.0-or-later and was
used only to study workspace/split shortcuts and close-versus-detached process
behavior. Orca is MIT-licensed and was used to study worktree-first navigation,
durable terminal state, and mixed surface density. No implementation code or
visual asset was copied from either project.