Skip to content

Column Split View (Chat + Terminal) #1741

@EricsenSemedo

Description

@EricsenSemedo

PRD: Column Split View (Chat + Terminal)

Problem

Currently T3 Code shows the terminal as a bottom drawer that overlays the chat. In canvas mode, this breaks the spatial model — the terminal should be part of the column layout.

Goals

  • Mod+W toggles terminal stacked below chat in the focused column
  • Niri-style column stacking: chat on top, terminal on bottom
  • Resizable split with spring-animated resize
  • Collapse/expand with smooth transitions

User Stories

  • As a user, I want to see chat and terminal simultaneously in one column
  • As a user, I want to resize the split by dragging
  • As a user, I want to collapse the terminal back to full chat with a shortcut

Requirements

  • Keybind: Mod+W (matches Niri's stack-in-column shortcut)
  • Split ratio persisted per-thread in localStorage
  • Spring-animated resize (using @react-spring/web)
  • Terminal retains state across collapse/expand
  • Default split: 60% chat / 40% terminal

Success Metrics

  • Terminal visible alongside chat without leaving canvas view
  • Resize feels smooth (spring physics, no jank)
  • Terminal state preserved across split toggles

Scope

  • In scope: Vertical split within CanvasColumn, resize handle, Mod+W keybind
  • Out of scope: Horizontal split, multiple terminals per column, drag-to-detach

Priority

Later milestone (after canvas MVP)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions