close: tui runtime extraction
This commit is contained in:
parent
a24d026b0e
commit
ca9e1840cf
|
|
@ -2,12 +2,12 @@
|
||||||
id: 20260531-074258-tui-extract-single-pod-runtime
|
id: 20260531-074258-tui-extract-single-pod-runtime
|
||||||
slug: tui-extract-single-pod-runtime
|
slug: tui-extract-single-pod-runtime
|
||||||
title: TUI: extract single-Pod runtime loop from main.rs
|
title: TUI: extract single-Pod runtime loop from main.rs
|
||||||
status: open
|
status: closed
|
||||||
kind: task
|
kind: task
|
||||||
priority: P2
|
priority: P2
|
||||||
labels: [tui, cleanup]
|
labels: [tui, cleanup]
|
||||||
created_at: 2026-05-31T07:42:58Z
|
created_at: 2026-05-31T07:42:58Z
|
||||||
updated_at: 2026-05-31T13:56:32Z
|
updated_at: 2026-05-31T13:57:02Z
|
||||||
assignee: null
|
assignee: null
|
||||||
legacy_ticket: null
|
legacy_ticket: null
|
||||||
---
|
---
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
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.rs` as the TUI library façade/high-level dispatcher with module declarations, `LaunchOptions`, `LaunchMode`, and `launch(...)`.
|
||||||
|
- Preserved public `tui::launch`, `LaunchOptions`, and `LaunchMode` behavior for the `insomnia` crate.
|
||||||
|
- 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-20260531` approved implementation commit `4d89718`.
|
||||||
|
- Reviewer noted one non-blocking follow-up: the thin `run_multi` bridge now lives in `single_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 --check`
|
||||||
|
- `cargo test -p tui`
|
||||||
|
- `cargo check -p tui -p insomnia` (passed with existing dead-code warnings)
|
||||||
|
- `./tickets.sh doctor`
|
||||||
|
- `git diff --check`
|
||||||
|
- `wc -l crates/tui/src/lib.rs crates/tui/src/single_pod.rs` showed `lib.rs` at 117 lines and `single_pod.rs` at 1765 lines.
|
||||||
|
|
@ -88,4 +88,32 @@ Validation adequacy:
|
||||||
- Reviewer reran `cargo fmt --check`, `cargo test -p tui`, `cargo check -p tui -p insomnia`, `./tickets.sh doctor`, and `git diff --check HEAD^ HEAD`; all passed with existing dead-code warnings.
|
- Reviewer reran `cargo fmt --check`, `cargo test -p tui`, `cargo check -p tui -p insomnia`, `./tickets.sh doctor`, and `git diff --check HEAD^ HEAD`; all passed with existing dead-code warnings.
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- event: close author: hare at: 2026-05-31T13:57:02Z status: closed -->
|
||||||
|
|
||||||
|
## Closed
|
||||||
|
|
||||||
|
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.rs` as the TUI library façade/high-level dispatcher with module declarations, `LaunchOptions`, `LaunchMode`, and `launch(...)`.
|
||||||
|
- Preserved public `tui::launch`, `LaunchOptions`, and `LaunchMode` behavior for the `insomnia` crate.
|
||||||
|
- 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-20260531` approved implementation commit `4d89718`.
|
||||||
|
- Reviewer noted one non-blocking follow-up: the thin `run_multi` bridge now lives in `single_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 --check`
|
||||||
|
- `cargo test -p tui`
|
||||||
|
- `cargo check -p tui -p insomnia` (passed with existing dead-code warnings)
|
||||||
|
- `./tickets.sh doctor`
|
||||||
|
- `git diff --check`
|
||||||
|
- `wc -l crates/tui/src/lib.rs crates/tui/src/single_pod.rs` showed `lib.rs` at 117 lines and `single_pod.rs` at 1765 lines.
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
Loading…
Reference in New Issue
Block a user