lattice_host/ui/mod.rs
1//! Renderer-neutral UI types: theme, style, color.
2//!
3//! Every type here is pure data with no renderer-specific
4//! dependency. Renderer crates (`lattice-ui-tui`, future
5//! `lattice-ui-gpui`) ship adapters that convert these into
6//! their native style types (ratatui `Style` / `Color`, GPUI
7//! `Hsla`, etc.). The host owns the canonical theme; each
8//! renderer maintains a cached adapted view for hot-path reads.
9//!
10//! Phase 5.3 introduces these types as the substrate for the
11//! eventual `App.theme: host::ui::Theme` migration. The current
12//! Phase 5.3 slice adds them ALONGSIDE the existing TUI-typed
13//! `App.theme` (which keeps its current shape) -- `App.host_theme`
14//! is the canonical neutral state, and `sync_theme_from_config`
15//! writes both. Later cleanup will remove the duplication once
16//! GPUI lands and render code reads from a renderer-cached view.
17
18pub mod theme;
19pub mod theme_options;