Skip to content

Add Terminal UI Layer with Ratatui #41

Description

@Mkalbani

Description

Replace the plain stdout CLI with a rich terminal user interface built on ratatui (formerly tui-rs). The current text output is functional but flat — players deserve a proper game feel with bordered panels, colour-coded difficulty indicators, progress bars for scoring, animated timers, and highlighted hint text. This module wraps the existing CLI module with a full TUI rendering layer while keeping the core logic modules untouched.

Acceptance Criteria

  • ratatui and crossterm are added as dependencies in Cargo.toml
  • A tui module exists at src/tui/mod.rs and replaces main.rs as the rendering entry point
  • Puzzle view renders title, description, difficulty badge, and remaining hints in bordered panels
  • A live countdown timer renders as a progress bar that updates every second
  • Score display updates in real time as hints are used and time elapses
  • Colour coding is applied: green for solved, red for failed, yellow for in-progress
  • Keyboard shortcuts are displayed in a persistent footer bar
  • The existing CLI module is preserved as a --no-tui fallback flag for headless environments
  • Manual testing confirms the TUI renders correctly in standard 80x24 and wider terminals

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardThird CampaignCampaign: Third Campaign

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions