# dioxus-ratatui Ratatui renderer for Dioxus — build reactive terminal UIs with Dioxus components. **Early development** — API will change. ## Quick Start ```rust use dioxus::prelude::*; fn main() { dioxus_ratatui::launch(App); } fn App() -> Element { rsx! { div { h1 { "Hello from Dioxus + Ratatui!" } p { "Press 'q' or Ctrl+C to quit." } } } } ``` ## Architecture Dioxus VirtualDom sends mutations via `WriteMutations` trait. The bridge maintains a retained tree of `TuiNode` structs. Each frame, Ratatui walks the tree and renders widgets. ``` Dioxus VirtualDom → WriteMutations → TuiTree → Ratatui Frame → Terminal ``` ## Supported Elements | Element | Widget | Status | |---|---|---| | `div` | Block container | v0.1 | | `p`, `span` | Paragraph | v0.1 | | `h1`-`h3` | Bold paragraph | v0.1 | | `hr` | Horizontal line | v0.1 | ## Layout Children of `div` elements are stacked vertically by default. Ratatui constraints are derived from element attributes via the layout module. ## License Apache 2.0