fix: make workspace panels self contained
CI / rust (push) Successful in 2m54s

This commit is contained in:
2026-08-31 18:02:01 -07:00
parent 3f15b13312
commit 63c9cb6210
10 changed files with 297 additions and 350 deletions
@@ -1,22 +1,23 @@
# 0008: The default workspace is a primary-terminal 3×1 composition
# 0008: Every workspace panel uses a terminal-first 3×1 composition
Status: accepted for the native vertical slice.
Lumbridge defaults to three horizontal bands in one column. The top 20% exposes
pane, agent, tools, context, goal, target, and attention state. The middle 60%
is the terminal-first work region. The bottom 20% holds answers, choices, chat,
approvals, and the local-analyst boundary.
Every Lumbridge workspace panel defaults to three horizontal regions in one
column. The top 20% exposes that pane's agent, tools, context, goal, target, and
attention state. The middle 60% is that pane's terminal-first work surface. The
bottom 20% is that pane's answer, choice, chat, approval, and local-analyst
boundary.
This composition favors the region where engineers type and read for most of the
day. It keeps context and decisions visible without making every surface a small
dashboard card. The middle region may contain a responsive number of vertical
work lanes under decision 0009; the selected lane alone owns keyboard input.
This composition keeps the information needed to understand and steer a process
attached to the same visual object as its terminal. The workspace may contain a
responsive number of these panels under decision 0009; the selected panel alone
owns keyboard input.
The framework spike retains six updating surfaces even when five are offscreen.
That preserves the earlier streaming and reducer workload for performance
comparison. Hidden surfaces do not receive keyboard input merely because they
continue to update.
The framework spike retains six updating surfaces even when one is outside the
five-panel ultrawide window. That preserves the earlier streaming and reducer
workload for performance comparison. Hidden panels do not receive keyboard input
merely because they continue to update.
Window and lane geometry determine each terminal's rows and columns. The UI
Window and panel geometry determine each terminal's rows and columns. The UI
resizes the terminal engine and PTY through the bounded runtime actor; it does
not resize only the text view or infer terminal wrapping after the fact.
@@ -1,24 +1,26 @@
# 0009: The primary work region uses responsive vertical lanes
# 0009: The workspace uses responsive self-contained vertical panels
Status: accepted for the native vertical slice.
The middle 60% work region shows one vertical lane in compact windows, three at
normal desktop widths, and five when at least 2800 px remains after the sidebar.
A 3440 px ultrawide therefore presents five lanes. A sliding window over the six
The workspace shows one vertical panel in compact windows, three at normal
desktop widths, and five when at least 2800 px remains after the sidebar. A
3440 px ultrawide therefore presents five panels. A sliding window over the six
comparison panes always keeps the selected pane visible.
This is not a return to the original 2×3 dashboard. Every lane receives the full
work-region height, the surrounding context and decision bands remain stable,
and only the selected lane owns keyboard input. Clicking a lane selects it. Pane
processes and output continue independently of selection.
This is not a return to the original 2×3 dashboard and it is not one shared
20/60/20 frame sliced only through the middle. Every panel receives the full
workspace height and independently contains its own 20% context region, 60%
terminal/work surface, and 20% decision shelf. Only the selected panel owns
keyboard input. Clicking a panel selects it. Pane processes and output continue
independently of selection.
Terminal geometry is computed from the actual width of one lane, including gaps
and insets. The selected real PTY is resized through the runtime actor when the
responsive lane count or window bounds change. On the 3440×1440 reference
display the current fixed-cell spike derives approximately 71 columns by 40
rows per lane.
Terminal geometry is computed from the width of one panel and the height of its
middle 60% region, including gaps and content insets. The selected real PTY is
resized through the runtime actor when the responsive panel count or window
bounds change. On the 3440×1440 reference display the current fixed-cell spike
derives approximately 71 columns by 42 rows per panel.
The first actor slice still owns one real PTY and five deterministic comparison
surfaces. Promoting the runtime boundary from one actor to a pane-indexed session
registry is required before all five visible terminal lanes can own independent
registry is required before all five visible terminal panels can own independent
real processes.