Ratatui
Demo
Here’s a weather app built with artbox and ratatui, showing how content automatically adapts to terminal size:

Live preview
The preview above runs a tiny wasm32-wasi binary built from artbox and rendered in the browser using @dkkoval/tui-preview.
For full controls (sliders/forms that rerun with new args), use Live Preview.
Enable the feature
artbox = { version = "0.2", features = ["ratatui"] }ArtBox widget (text)
use artbox::{Renderer, Alignment, Fill, Color};use artbox::integrations::ratatui::ArtBox as ArtBoxWidget;
let renderer = Renderer::default() .with_alignment(Alignment::Center) .with_fill(Fill::solid(Color::rgb(255, 100, 0)));
let widget = ArtBoxWidget::new(&renderer, "Hello");frame.render_widget(widget, area);SpriteBox widget
use artbox::{Sprite, SpriteVariant, SpriteLayer, SpriteSelection};use artbox::integrations::ratatui::SpriteBox;
let sprite = Sprite::new(vec![SpriteVariant::new("small", vec![SpriteLayer::new(":-)")])]);let widget = SpriteBox::new(&sprite).with_selection(SpriteSelection::Auto);frame.render_widget(widget, area);