Skip to content

feat(tui): full-screen layout, clearer graphs, layout/nav polish (v1.3.0) - #104

Merged
R7rainz merged 2 commits into
masterfrom
feat/tui-fullscreen-ui
Jul 13, 2026
Merged

R7rainz merged 2 commits into
masterfrom
feat/tui-fullscreen-ui

Conversation

@R7rainz

@R7rainz R7rainz commented Jul 13, 2026

Copy link
Copy Markdown
Owner

Reworks the TUI front-end so it behaves like a real full-screen dashboard (btop-style). Addresses the reported issues: doesn't open in a full terminal window, graphs aren't clear, and layout / navigation.

Full-screen (like btop)

  • launch.tsx switches to the alternate screen buffer + hides the cursor on start, restoring both on exit (finally + process exit/SIGTERM) — the dashboard owns the whole window and your scrollback stays untouched. Gated on isTTY (never garbles a pipe).
  • The root fills the terminal height and reflows on resize (subscribes to stdout "resize").
  • Min-size guard: below 72×18 it shows a "terminal too small" hint instead of breaking.

Layout (no more garble)

Previously, content that didn't fit got compressed into overlapping/garbled text. Now the header/tabs/footer are pinned (flexShrink: 0) and only the body flexes and clips (overflow: hidden) — content never compresses. Panels stretch to fill the height; the least-important section (SLA) clips first on a short terminal. The footer truncates instead of wrapping to a second line.

Clearer graphs

brailleChart now draws an interpolated, connected line (fills the vertical run between adjacent samples) instead of scattered dots — a continuous curve. LatencyGraph gained a │ y-axis with max / mid / min labels.

Navigation

←/→ now also cycle views (alongside Tab and 1–4).

Verification

Typecheck + build + mock smoke green. Driven headlessly at 24 rows (the cramped worst case): header, connected graph, NOW/PERCENTILES and footer all render cleanly with no compression; Overview fills the height. Larger terminals only get more room (less clipping). Bumped to 1.3.0.

🤖 Generated with Claude Code

R7rainz and others added 2 commits July 13, 2026 11:27
…3.0)

Overhaul the TUI front-end so it behaves like a real full-screen dashboard
(btop-style) instead of a fixed inline block.

Full-screen:
- launch.tsx switches to the alternate screen buffer + hides the cursor on
  start and restores on exit (finally + process exit/SIGTERM), so the dashboard
  owns the whole window and leaves scrollback untouched.
- root Box fills the terminal height; the layout reflows on resize (subscribes
  to stdout "resize"); a "terminal too small" guard below 72×18.

Layout:
- pin the header/tabs/footer with flexShrink 0 and let the body flex + clip
  (overflow hidden) so content never compresses into garbled/overlapping text;
  panels stretch to fill the height; least-important section (SLA) clips first
  on short terminals. Footer truncates instead of wrapping.

Graphs:
- brailleChart now draws an interpolated, connected line (fills vertical runs
  between samples) instead of scattered dots — far clearer; LatencyGraph gains a
  │ y-axis with max / mid / min labels.

Nav: ←/→ also cycle views (alongside Tab and 1–4).

Verified headlessly at 24 rows (worst case): header/graph/footer clean, no
compression; overview + monitors detail render correctly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@R7rainz
R7rainz merged commit b7b0c34 into master Jul 13, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant