Mithril — TUI — Minas Tirith




Purpose
🏛️
Full-screen terminal UI with ratatui: scrollable chat, sidebar, popups for @file
Files
6
LOC
1,671

Key Concept

Pure presentation layer. Delegates all logic to ChatCore and just renders the ChatAction results.

Pure Presentation Layer

The TUI does ONLY rendering. All logic is in ChatCore. The loop is:

  1. Render the current state (chat panel, input box, optional sidebar)
  2. Handle events (keypress, mouse) → produce an Action
  3. Dispatch action to ChatCore → get ChatAction back
  4. Update display state from the ChatAction

Key Features

FilePurpose
app.rsApp state for the Mithril TUI.
events.rsEvent handling for the TUI — keyboard input, resize, etc.
mod.rsMithril TUI — full terminal user interface built with ratatui.
splash.rsMithril startup splash — fullscreen dwarf mining animation.
theme.rsMithril TUI theme — dark forge aesthetic.
ui.rsUI rendering — draws the TUI layout each frame.