Commit Graph

2 Commits

Author SHA1 Message Date
teernisse
eb98595251 feat: TUI Phase 1 common widgets + scoring/path beads
bd-26f2: Common widgets (render_breadcrumb, render_status_bar,
render_loading, render_error_toast, render_help_overlay) + render_screen
top-level dispatch wired to LoreApp::view(). 27 widget tests.

bd-2w1p: Add half-life fields to ScoringConfig with validation.
bd-1soz: Add half_life_decay() pure function.
bd-18dn: Add normalize_query_path() for path canonicalization.

Phase 1 modules: CommandRegistry, NavigationStack, CrashContext,
TaskSupervisor, AppState with per-screen states.

172 lore-tui tests passing, clippy clean, fmt clean.
2026-02-12 16:11:41 -05:00
teernisse
d224a88738 feat: complete TUI Phase 0 — Toolchain Gate
Implements the full lore-tui crate scaffold with 6 Phase 0 modules:

- message.rs: Msg (~40 variants), Screen (12), EntityKey, AppError, InputMode
- clock.rs: Clock trait with SystemClock + FakeClock for deterministic testing
- safety.rs: Terminal sanitizer (ANSI filter), URL policy, PII/secret redaction
- db.rs: DbManager with 3 reader pool (round-robin) + dedicated writer (WAL mode)
- theme.rs: Flexoki adaptive theme (19 slots), state/event colors, label styling
- app.rs: Minimal LoreApp Model trait impl proving FrankenTUI integration

68 tests, clippy clean, fmt clean. Closes bd-3ddw, bd-c9gk, bd-2lg6,
bd-3ir1, bd-2kop, bd-5ofk, bd-2emv, bd-1cj0.
2026-02-12 15:22:38 -05:00