Small widgets. Big ideas.
Compose a little. Create a lot. Build rich interfaces from focused, reusable widgets that fit together naturally.
Explore the widgetsA native Rust UI framework for the way you think. Compose your interface. Connect your state.
Bring something new to life.
cargo run -p incular --example helloFrom a local checkout to your first native window.
Your ideas already have enough moving parts.
Your UI framework should bring them together.
Compose a little. Create a lot. Build rich interfaces from focused, reusable widgets that fit together naturally.
Explore the widgetsConnect your UI to reactive signals. When state changes, Incular rebuilds the parts of your interface that depend on it.
Meet reactive stateYour layout, your logic, your language. Keep your application in Rust, with native windows and a WGPU rendering pipeline.
See how it worksuse incular::prelude::*;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let app = Application::new(|_cx| {
Container::builder()
.padding(EdgeInsets::all(24.0))
.alignment(Alignment::CENTER)
.child(Text::new("Hello, Incular!"))
.build()
.into()
})?;
incular::run(app)?;
Ok(())
}
Create a native application with a centered text widget.
These snippets introduce the API. From a local checkout, run the complete hello example in a native window:
cargo run -p incular --example helloStart small. Make it yours. See where it takes you.