1.4 KiB
1.4 KiB
Extracted the current single-Pod TUI runtime/event-loop implementation out of crates/tui/src/lib.rs.
Implementation:
- Added
crates/tui/src/single_pod.rs. - Moved single-Pod attach/spawn/resume orchestration, fullscreen terminal helpers, event loop/drain logic, key/mouse handling, compact/rewind/queue/interrupt handling, and related tests into
single_pod.rs. - Left
lib.rsas the TUI library façade/high-level dispatcher with module declarations,LaunchOptions,LaunchMode, andlaunch(...). - Preserved public
tui::launch,LaunchOptions, andLaunchModebehavior for theinsomniacrate. - Did not split
multi_pod.rs, move render helpers, redesign keybindings, rewrite App state, or change Pod protocol/profile/manifest semantics.
Review:
- External reviewer
tui-runtime-reviewer-20260531approved implementation commit4d89718. - Reviewer noted one non-blocking follow-up: the thin
run_multibridge now lives insingle_pod.rs; acceptable for this extraction, but could move to a small launch/runtime coordination module if dashboard orchestration grows.
Validation after merge:
cargo fmt --checkcargo test -p tuicargo check -p tui -p insomnia(passed with existing dead-code warnings)./tickets.sh doctorgit diff --checkwc -l crates/tui/src/lib.rs crates/tui/src/single_pod.rsshowedlib.rsat 117 lines andsingle_pod.rsat 1765 lines.