Goal
Explore future per-block interactive controls on command/output blocks, similar to modern block-oriented terminals. Design/research tracking only — no implementation or exact control set committed here.
Behavior
- Controls are hidden by default.
- Reveal on hover or keyboard focus of the block.
- Controls sit on the right edge of the block where width allows.
Potential actions (not a final list)
- Rerun
- Edit & rerun
- Copy command
- Copy output
- Copy both
- Inspect
- Find/search within output
- Filter output
- Bookmark/pin
Every action must have a keyboard equivalent — controls are not mouse-only.
Shift-selection safety
Shift+mouse is native terminal text-selection (see the passive-hover work merged for #20 / PR #82, which established Shift-suppression for hover/click). Any future block-action affordance must respect the same rule: Shift+click/drag must always fall through to native text selection and must never reveal, focus, or trigger a block action.
Related
v0.4 interaction decision
Potential actions include rerun, edit & rerun, copy command/output/both, inspect, find/filter output, and bookmark/pin. Controls remain hidden until passive hover or keyboard focus and align right when space permits. Every mouse action needs a keyboard equivalent. Shift is native terminal-selection mode: Shift+click/drag must never reveal or activate actions, expand/collapse blocks, or interrupt selection. Preserve the v0.3 passive-hover invariant.
Roadmap update: action set and block bounds
Actions to cover:
Block bounds come from the transcript presenter (#122), which also defines Chat block bounds (#124): in Chat, controls attach to the command or output block that owns the row. Block actions share an action registry with the command palette (#146), so every action is also reachable by keyboard.
Goal
Explore future per-block interactive controls on command/output blocks, similar to modern block-oriented terminals. Design/research tracking only — no implementation or exact control set committed here.
Behavior
Potential actions (not a final list)
Every action must have a keyboard equivalent — controls are not mouse-only.
Shift-selection safety
Shift+mouse is native terminal text-selection (see the passive-hover work merged for #20 / PR #82, which established Shift-suppression for hover/click). Any future block-action affordance must respect the same rule: Shift+click/drag must always fall through to native text selection and must never reveal, focus, or trigger a block action.
Related
v0.4 interaction decision
Potential actions include rerun, edit & rerun, copy command/output/both, inspect, find/filter output, and bookmark/pin. Controls remain hidden until passive hover or keyboard focus and align right when space permits. Every mouse action needs a keyboard equivalent. Shift is native terminal-selection mode: Shift+click/drag must never reveal or activate actions, expand/collapse blocks, or interrupt selection. Preserve the v0.3 passive-hover invariant.
Roadmap update: action set and block bounds
Actions to cover:
Block bounds come from the transcript presenter (#122), which also defines Chat block bounds (#124): in Chat, controls attach to the command or output block that owns the row. Block actions share an action registry with the command palette (#146), so every action is also reachable by keyboard.