219 files, 2.0 MB, untracked in souveraine/docs and existing nowhere else. The volume is at 100% with no snapshots.
2 KiB
tuie TUI polish backlog
Items deferred from the tuie migration. Not urgent — save for future sessions.
Cockpit (5)
Wire the cockpit widget into ChatScreen. The widget exists but isn't connected. Old ratatui had a two-pane Split (thinking | subconscious) that appeared when subsurface activity was live. Needs:
- Add Cockpit as an optional child of ChatScreen's layout
- Toggle with Tab or a keybind
- Feed it cockpit entries from ChatState
Settings PageLayout (3)
Settings currently uses a plain Stack. tuie-demo's PageLayout has push/pop with focus save/restore. Adopting it would give proper back-button navigation for sub-pages (e.g. push a provider config page, pop back with focus restored).
Portrait cover crop (2)
Old ratatui code center-cropped portraits to 2:3 aspect ratio before display (portrait_cover_crop() in src/ui/app/mod.rs:1090). Our tuie Image widget just does cover fill. Adding the crop step before ImageSource::from_encoded() would guarantee faces stay centered.
Agents grid (4)
Currently a vertical list of bordered cards. The old ratatui code had a card grid with loaded portrait thumbnails. tuie has a Grid widget. Each card could include a small portrait thumbnail + name. More work than the list but visually richer.
GlobalChords wrapper (3)
tuie-demo wraps the root widget in GlobalChords which intercepts keys with chord!(...) macros and checks queue.is_unhandled() before acting. Our TuieApp does global key handling manually in override_on_input. Adopting GlobalChords would make hotkey configuration cleaner and match the upstream pattern.
Expression images / RGP 3D (deferred)
Old multi-tier pipeline: RGP 3D -> kitty/sixel protocol -> expression cache -> card images -> half-block fallback. Complex, deferred indefinitely.
Phase 5 cleanup (deferred)
Delete ~5,700 lines of old ratatui code in src/ui/app/*.rs, src/ui/chat/{render,cockpit,footer,overlays,wrap}.rs, src/ui/settings/{draw,key_handling}.rs. Don't touch until chat is fully working and the new TUI is the primary path.