Skip to main content

Crate eddacraft_tui

Crate eddacraft_tui 

Source
Expand description

§eddacraft-tui

Shared Ratatui component library for the eddacraft product family.

Provides a consistent set of terminal UI building blocks — themed widgets, keyboard handling, shell chrome, and a surface abstraction — so that every eddacraft TUI application shares the same look and feel.

§Quick start

use eddacraft_tui::prelude::*;

let theme = EddaCraftTheme;
// Use any widget with the theme:
// let spinner = Spinner::new(&theme).eddacraft().label("Loading...");
// render_shell(frame, area, ShellBranding::Anvil, "anvil", "Watch", "[q] quit", &theme, env!("CARGO_PKG_VERSION"));

§Modules

ModulePurpose
widgetsA growing suite of reusable Ratatui widgets (select, text input, progress, data table, tree, modal, toast, overlay, etc.)
animationLightweight shims over the internal animation runtime
pretextTwo-phase prepare/layout text engine — measure once, lay out cheaply
themeTheme trait + EddaCraftTheme implementation
keyboardKeyHandler mapping crossterm events to semantic Actions
surfaceSurface trait for multi-screen TUI applications
shellBranded header/footer chrome renderer
compatTerminal detection and minimum-size validation
test_utils (feature test-utils)Snapshot testing helpers for style-aware buffer serialisation

Modules§

animation
Thin shim over the underlying animation runtime so callers depend on eddacraft-tui rather than the third-party crate. This lets us swap the engine without breaking downstream API.
compat
Terminal detection and minimum size validation.
keyboard
prelude
pretext
Pretext layout
shell
surface
test_utilstest-utils
Shared test utilities for TUI snapshot testing.
theme
widgets