Installation
Toolchain, features, checkout setup, and example galleries.
Toolchain
- Rust 1.89+ (library MSRV; packaging rehearsal uses a newer Cargo)
- Desktop window system + compatible GPU driver
git, a C toolchain for native dependencies
Windows
Use the MSVC Rust toolchain and install Visual Studio Build Tools with the
Desktop development with C++ workload and a Windows SDK. Run cargo from
a terminal where the MSVC linker is available.
macOS
Install the Xcode command-line tools with xcode-select --install, then use
the Rust toolchain for your Mac's architecture.
Linux
On Ubuntu/Debian, install the native development packages used by the desktop host before building:
sudo apt-get update
sudo apt-get install -y build-essential pkg-config libfontconfig1-dev libx11-dev libxi-dev libxrandr-dev libxcursor-dev libxinerama-dev libxkbcommon-dev libwayland-dev libudev-dev libdbus-1-devUse an X11 or Wayland desktop session. File dialogs require an available XDG Desktop Portal and a desktop-specific portal backend; notifications and other desktop services depend on the corresponding session services.
From crates.io (after 0.1.0)
[dependencies]
incular = "0.1"Minimal (neutral widgets only, no desktop/controls/material):
[dependencies]
incular = { version = "0.1", default-features = false }Opt into diagnostics:
[dependencies]
incular = { version = "0.1", features = ["devtools"] }Feature flags
| Feature | Purpose | Default |
|---|---|---|
desktop | Native runner + every WGPU backend | Yes |
desktop-host | Native runner; pair with at least one backend below | Via desktop |
dx12, metal, vulkan, gl | WGPU backends; each enables desktop-host, ignored where unavailable | Via desktop |
controls | Incular controls and visual slots | Yes |
material | Material presentation; enables controls | Yes |
devtools | Diagnostics transport + instrumentation | No |
hot-reload | Live code patching in debug builds under dx serve --hot-patch | No |
default-features = false selects the neutral surface; it does not promise
no_std. Import neutral types from incular::prelude, Controls from
incular::controls_prelude, Material from incular::material_prelude. Full
module map: API overview.
From a checkout (before publication)
git clone https://github.com/FabortLabs/incular.git
cd incular
cargo run -p incular --example hello
cargo run -p incular --example counterOnly hello ships inside the registry archive. The galleries under
examples/ (counter, canvas_layers, navigation_showcase, material_gallery,
reactive, restoration, slivers, and 30+ more) need a checkout and use
repository-local simulation helpers.
Verifying your setup
cargo run -p incular --example hello # window + centered text
cargo run -p incular --example counter # reactive state + buttonIf the window opens, your toolchain, window system, and GPU driver all work. Next: Quick Start.