From fe9fa9849dfcae2966c0c7f561772902deb3361a Mon Sep 17 00:00:00 2001 From: kami Date: Sun, 17 May 2026 14:17:17 +0400 Subject: [PATCH] docs(epic-13): note tamboui migration and visual polish in resolution --- docs/epics/epic-13-resolution.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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