Skip to content

Incular

Build

Build native desktop apps in Rust with a declarative, retained UI framework.

Incular combines composable widgets, reactive state, and a retained rendering pipeline. Describe your interface in Rust, connect it to application state, and let Incular update and render the parts that change. Its shared Winit desktop host and WGPU renderer run on Windows, Linux, and macOS.

What you can build

  • Reactive interfaces: Signal, Memo, Effect, and Action for state, derived values, side effects, and asynchronous operations.
  • Rich desktop UI: flexible layout, text and text editing, images, scrolling lists, forms, and custom canvas painting.
  • Interactive experiences: pointer gestures, keyboard input, focus management, transitions, and animation.
  • Accessible applications: platform-neutral semantics projected into native accessibility systems.
  • Layered design systems: neutral widgets with optional themed Controls and Material components.
  • Full application flows: routing, overlays, restoration, windows, and native desktop services.
  • Runtime diagnostics: opt-in instrumentation and a standalone DevTools application.

A first window

use 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(())
}

Try Incular

You’ll need Rust 1.89 or newer, a desktop environment, and a compatible GPU driver. Platform-specific setup is covered in the installation guide.

git clone https://github.com/FabortLabs/incular.git
cd incular
cargo run -p incular --example hello

The checkout includes a gallery of examples, from controls and animation to navigation and custom rendering.

Documentation

Feature flags

Feature Purpose Default
desktop Native desktop runner and WGPU backend Yes
controls Themed Incular controls Yes
material Material presentation; enables controls Yes
devtools Diagnostics transport and runtime instrumentation No

The main incular::prelude contains the neutral framework API. Import themed controls from incular::controls_prelude and Material components from incular::material_prelude.

Contributing

Incular is actively developed and pre-1.0. Contributions and feedback are welcome; see the contribution guide, code of conduct, and security policy.

Licensed under Apache-2.0.

About

Declarative, retained-mode UI framework for building reactive native desktop apps in Rust with WGPU on Windows, Linux, and macOS.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages