diff --git a/docs/epics/epic-13-resolution.md b/docs/epics/epic-13-resolution.md index 7f062a4b..223516cd 100644 --- a/docs/epics/epic-13-resolution.md +++ b/docs/epics/epic-13-resolution.md @@ -107,9 +107,19 @@ files created: --- -### task 4 — mosaic tui +### task 4 — tui (mosaic → tamboui) -implemented a new `apps/tui` Gradle module with a Mosaic-based interactive terminal UI. +implemented a new `apps/tui` Gradle module with an interactive terminal UI. +originally built on Mosaic 0.18; migrated to tamboui 0.2.1-SNAPSHOT after the +event-loop refactor (`b95135e`) split renderer-agnostic subsystems out. the +migration replaced the hand-assembled string frames with a real cell buffer, +widget catalog, and layout engine; domain core (`state/`, `reducer/`, `ws/`, +`input/`) was untouched. layout now matches the epic-13 reference mockup: +each panel sits in a titled `ROUNDED` `Block`, status row shows ●/○ + +provider + session count, session rows uppercase status with an "awaiting +approval" override, and the keybinds row pins to the bottom. see spec at +`docs/specs/2026-05-17-tamboui-migration.md`; commits `b267982` +(migration) and `46951ea` (visual polish). architecture: - single WS listener coroutine updates `mutableStateOf(TuiState)` — no polling