Skip to content

Rebels-in-the-sky TUI layout#3

Draft
asp2131 wants to merge 1 commit into
masterfrom
cursor/rebels-in-the-sky-tui-layout-e476
Draft

Rebels-in-the-sky TUI layout#3
asp2131 wants to merge 1 commit into
masterfrom
cursor/rebels-in-the-sky-tui-layout-e476

Conversation

@asp2131
Copy link
Copy Markdown
Owner

@asp2131 asp2131 commented Mar 1, 2026

Revamps the entire TUI structure and layout with a "rebels-in-the-sky" theme and introduces dynamic visual effects for an enhanced user experience.

The initial attempt to integrate tachyonfx directly for visual effects encountered compatibility issues with ratatui 0.29. To fulfill the requirement for dynamic effects, a custom, lightweight effects engine was implemented directly using ratatui's buffer API, allowing for complex animations and transitions across all UI screens.


Open in Web Open in Cursor 

…onfx effects

Major UI/UX overhaul:

- Add tachyonfx v0.25.0 dependency for terminal shader effects
- Create custom effects module (effects.rs) with fade, sweep, coalesce,
  dissolve, and pulse glow effects using ratatui 0.29 buffer API
- New EffectState manager for composable, timed visual transitions

Splash Screen:
- Animated starfield background with twinkling stars (STARFIELD)
- K8s wheel spinner animation alongside subtitle
- Decorative separator between subtitle and menu
- Menu items prefixed with ▸ indicator
- Visual progress bar with block characters (█/░) when progress exists
- Fade-from-black and sweep-right effects on first render
- Italic quote styling

Learning Screen:
- 4-zone vertical layout: header(4), body(flex), actions(3), command(4)
- Header with animated heartbeat pulse (◉/●), K8s wheel icon (☸),
  readiness bar with ▐/▌ enclosures, bold percentage
- Step panel with ◆ Objective indicator, ⏱ timebox display,
  ▾ Runbook section header, bordered with BORDER_ACTIVE style
- Terminal feed with bordered panel, ◈ hint indicator
- 5-button action row: Verify, Hint, Suggest, Next, Prev
  with Unicode icons (⚡ ◈ ▸ → ←) and keyboard hotkeys
- Blinking cursor (█) in command bar
- Header sweep and screen fade-in effects on first render

Cluster View:
- Full ASCII art K8s cluster diagram with box-drawing characters
- Control plane section: API, ETCD, SCHED with heartbeat indicators
- Split connector from control plane to node
- Node box with pod status icons: ☸ running, ◌◔◑◕ pending spinner,
  ✖ crashloop blinking, color-coded per status
- Service endpoint and Ingress rows at bottom
- Tiered degradation: full/compact/micro based on terminal height

Popup System:
- Dark background fill (BG_DARK) behind popup overlays
- PANEL_BG styling on popup blocks
- Step complete: ✓ prefix, ▸ next command indicators
- Help: ☸ branding, │ column separators between cmd and description
- Verify fail: ✖ prefix, ▸ message indicator
- Tutorial: ● ○ progress dots instead of [1/3] notation

Style System:
- New constants: BG_DARK, BG_PANEL, BG_ACCENT colors
- BORDER_ACTIVE, PANEL_BG, ACCENT_BG styles
- GLOW_CYAN, GLOW_GREEN, GLOW_AMBER glow styles
- STAR_DIM, STAR_BRIGHT for starfield animation

Architecture:
- UiFrame now supports pending effects via push_effect/drain_pending
- into_registry returns (CallbackRegistry, Vec<PendingEffect>) tuple
- UiScreen owns EffectState, processes effects after widget render
- Full dark background (Rgb(14,18,28)) applied to entire terminal area
- Applied clippy auto-fixes across codebase

Co-authored-by: Akintunde Pounds <asp2131@users.noreply.github.com>
@cursor
Copy link
Copy Markdown

cursor Bot commented Mar 1, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

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.

2 participants