Improve bottom panel TUI design
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# TUI-FL-001 evidence: stable keyboard footer
|
||||
|
||||
Validated 2026-10-27T22:59:34+02:00 on the native
|
||||
`x86_64-unknown-linux-gnu` development host with synthetic
|
||||
Ratatui/TestBackend fixtures. No production configuration, host service, or
|
||||
systemd VM was used.
|
||||
|
||||
## Behavior and review
|
||||
|
||||
The standard TUI layout now reserves four footer rows from the first draw:
|
||||
two hint rows and their borders. The client-list region therefore keeps the
|
||||
same height as selection and available actions change. Hints use a stable
|
||||
priority order and fit into two bounded rows. A first packing pass shows every
|
||||
hint when they fit; only actual overflow triggers a second pass reserving a
|
||||
visible `… more` marker on the last row. The existing `? Help` route remains
|
||||
visible in narrow list layouts. The source of context-sensitive hints and the
|
||||
keyboard action handlers were not changed. Terminals with 8 or 9 rows use the
|
||||
compact layout so the client pane retains visible content.
|
||||
|
||||
Buffer-level tests cover empty/populated/selected list geometry at 80×24,
|
||||
narrow widths 34/36/40, the compact 80×9 case, and widths 102/103 where all
|
||||
actions fit without a false omission marker. Tests check complete rendered
|
||||
labels and the marker row, not just source-side packing. Existing TUI workflow
|
||||
tests cover the unchanged action behavior.
|
||||
|
||||
An independent GPT-6-Luna/high reviewer found TUI-FL-001.2-R1 (P2, clipped
|
||||
marker on the first row) and R2 (P2, border-only list at height 9). A separate
|
||||
GPT-6-Luna/high repairer fixed both; re-review closed them. Re-review then found
|
||||
R3 (P3, unnecessary omission from reserving marker space too early). The
|
||||
repairer added a two-pass packer and a 102/103-column regression. Independent
|
||||
re-review closed R3 with no further actionable finding.
|
||||
|
||||
## Checks and identity
|
||||
|
||||
Pinned `rustc`/Cargo 1.97.1, rustfmt 1.9.0 and Clippy 0.1.97 were verified.
|
||||
The final integrated revision passed from the repository root:
|
||||
|
||||
- `cargo test --locked tui::render::tests`: 31 passed.
|
||||
- `cargo fmt --all -- --check`: exit 0.
|
||||
- `cargo clippy --locked --all-targets -- -D warnings`: exit 0.
|
||||
- `cargo test --locked`: 370 passed, 3 explicitly ignored, 0 failed, including 2 documentation tests.
|
||||
- `cargo build --locked --release`: exit 0.
|
||||
- `git diff --check`: exit 0.
|
||||
|
||||
Base commit: `4b53aad20cff6cec5d23f779702b58f0de599d44`.
|
||||
Dirty Rust input `src/tui/render.rs` SHA256:
|
||||
`ceae0bec7add49304a38f38987fdac554fc83e9d7d23695cf148f2f8404d3016`.
|
||||
Native release artifact `target/release/wireguard-admin` SHA256:
|
||||
`a16214c426b0cc9b29ec03124e965352e4f64f07c82d3ac23e4caf8e45d6273b`.
|
||||
`PLANS.md` was also dirty with this maintenance record. The M16 private-systemd
|
||||
validation gap remains separate and unverified; no Alpine or VM suite was rerun.
|
||||
|
||||
Very narrow layouts intentionally show only priority hints plus the Help
|
||||
affordance; additional shortcuts remain available through the existing Help
|
||||
screen. A physical-terminal visual check was not performed.
|
||||
Reference in New Issue
Block a user