a2ui 0.3.1

A2UI (Agent to UI) — render JSON streaming UIs authored by AI agents (ratatui + Slint + egui + Bevy + Iced + Dioxus backends)
Documentation
[package]
name = "a2ui"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "A2UI (Agent to UI) — render JSON streaming UIs authored by AI agents (ratatui + Slint + egui + Bevy + Iced + Dioxus backends)"

[features]
default = []
# Forwarded to the tui backend. Required to build the 14_audio example.
audio = ["a2ui-tui/audio"]
# Expose the Slint backend as `a2ui::slint`. Opt-in: pulls the Slint runtime
# (heavy). Without it the umbrella only re-exports core + tui.
slint = ["dep:a2ui-slint"]
# Expose the egui backend as `a2ui::egui`. Opt-in: pulls the egui + eframe
# runtime (winit + glow). Without it the umbrella only re-exports core + tui.
egui = ["dep:a2ui-egui"]
# Expose the Bevy backend as `a2ui::bevy`. Opt-in: pulls the Bevy + text-input
# runtime (wgpu + winit). Without it the umbrella only re-exports core + tui.
bevy = ["dep:a2ui-bevy"]
# Expose the Iced backend as `a2ui::iced`. Opt-in: pulls the Iced runtime
# (wgpu + winit). Without it the umbrella only re-exports core + tui.
iced = ["dep:a2ui-iced"]
# Expose the Dioxus backend as `a2ui::dioxus`. Opt-in: pulls the Dioxus desktop
# runtime (wry WebView + tao windowing). Without it the umbrella only re-exports
# core + tui.
dioxus = ["dep:a2ui-dioxus"]

[dependencies]
a2ui-base = { workspace = true }
a2ui-tui = { workspace = true }
# Optional: the Slint backend, re-exported as `a2ui::slint` under the `slint`
# feature. The inner `backend` feature is what actually links the Slint runtime.
a2ui-slint = { workspace = true, optional = true, features = ["backend"] }
# Optional: the egui backend, re-exported as `a2ui::egui` under the `egui`
# feature. The inner `backend` feature is what actually links the egui runtime.
a2ui-egui = { workspace = true, optional = true, features = ["backend"] }
# Optional: the Bevy backend, re-exported as `a2ui::bevy` under the `bevy`
# feature. The inner `backend` feature is what actually links the Bevy runtime.
a2ui-bevy = { workspace = true, optional = true, features = ["backend"] }
# Optional: the Iced backend, re-exported as `a2ui::iced` under the `iced`
# feature. The inner `backend` feature is what actually links the Iced runtime.
a2ui-iced = { workspace = true, optional = true, features = ["backend"] }
# Optional: the Dioxus backend, re-exported as `a2ui::dioxus` under the `dioxus`
# feature. The inner `backend` feature is what actually links the Dioxus runtime.
a2ui-dioxus = { workspace = true, optional = true, features = ["backend"] }

# Examples directly use these crates (the umbrella only re-exports core+tui).
[dev-dependencies]
ratatui = { workspace = true }
crossterm = { workspace = true }
serde_json = { workspace = true }

[[example]]
name = "13_image"

[[example]]
name = "14_audio"
required-features = ["audio"]