Watch
1
0
Fork
You've already forked SouveraineOS
0
SouveraineOS/docs/substrate/tuie-polish-backlog.md
Fimeg e480809c70 docs: rescue the agent-substrate tree out of a gitignored directory
219 files, 2.0 MB, untracked in souveraine/docs and existing nowhere else.
The volume is at 100% with no snapshots.
2026-07-26 12:11:50 -04:00

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.