Unified UI framework for VT Code: design system, theme registry, and TUI framework.
vtcode-ui consolidates the design system, theme registry, and terminal UI framework into a single crate. It provides the public UI-facing API surface for downstream consumers while keeping host-specific integrations inside vtcode-core.
| Area | Path | Description |
|---|---|---|
| Design system | design/ |
Color conversion, style bridging, layout, diff, panel primitives |
| Theme registry | theme/ |
ThemeStyles, runtime state, syntax theme resolution |
| TUI framework | tui/ |
Session, widgets, runner, markdown rendering, config |
- Color conversion utilities (RGB, HSL, hex)
- Style bridging between terminal and application styles
- Layout primitives for TUI composition
- Diff visualization components
ThemeStyles— runtime theme state management- Syntax highlighting theme resolution
- Theme preview functionality
- Default and custom theme support
tui/core_tui/— full terminal session lifecycletui/ui/— reusable widgets (markdown, interactive list)tui/config/constants/— TUI-specific defaults- Snapshot tests in
tui/core_tui/widgets/snapshots/
The crate is re-exported at the root for backward compatibility:
pub use design::*;
pub use theme::*;- Internal crate (
publish = false) — not published to crates.io - Depends on
vtcode-commonsforanstyle_utils(gated behindtuifeature) crosstermdependency enablesevent-streamandosc52features
- Architecture Guide — TUI architecture section
vtcode-core::ui::tui— canonical runtime type surface