Incular logoIncular
Introduction

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-dev

Use 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

FeaturePurposeDefault
desktopNative runner + every WGPU backendYes
desktop-hostNative runner; pair with at least one backend belowVia desktop
dx12, metal, vulkan, glWGPU backends; each enables desktop-host, ignored where unavailableVia desktop
controlsIncular controls and visual slotsYes
materialMaterial presentation; enables controlsYes
devtoolsDiagnostics transport + instrumentationNo
hot-reloadLive code patching in debug builds under dx serve --hot-patchNo

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 counter

Only 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 + button

If the window opens, your toolchain, window system, and GPU driver all work. Next: Quick Start.

On this page