Skip to content

project-blinc/Blinc

Repository files navigation

Blinc

Build Status Rust Version Edition Crates.io License Blinc Book Live Demos Discord

Blinc UI

A GPU-accelerated, cross-platform UI framework for building desktop, mobile, and web applications from a single Rust codebase.

Highlights

  • GPU-Accelerated: SDF rendering, glassmorphism, spring physics, @flow custom shaders
  • Cross-Platform: Desktop (macOS/Windows/Linux), Android, iOS, Web (WebGPU)
  • Builder API: Declarative, chainable: div().flex_col().gap(16.0).child(text("Hello"))
  • 40+ Components: shadcn/ui-style library with CSS-overridable theming
  • 40+ Live Demos: Try them in your browser (WebGPU required)

Quick Start

use blinc_app::prelude::*;
use blinc_app::windowed::WindowedApp;

fn main() -> Result<()> {
    WindowedApp::run(WindowConfig::default(), |ctx| {
        div()
            .w(ctx.width).h(ctx.height)
            .bg(Color::rgb(0.1, 0.1, 0.15))
            .justify_center().items_center()
            .child(text("Hello Blinc!").size(48.0).color(Color::WHITE))
    })
}

The same build_ui function runs on desktop and web and no separate codebase.

Platform Support

Platform Status Backend
macOS Stable wgpu (Metal)
Windows Stable wgpu (DX12/Vulkan)
Linux Stable wgpu (Vulkan)
Android Stable wgpu (Vulkan)
iOS Stable wgpu (Metal)
Web (WASM) Preview wgpu (WebGPU) — Chrome 113+, Edge 113+, Firefox 141+, Safari 18+ (macOS Tahoe)
HarmonyOS In progress wgpu (Vulkan/OpenGL ES)

Documentation

Blinc Book: comprehensive guide covering layout, styling, animation, widgets, routing, media, and more.

Live Example Gallery: 40+ interactive WebGPU demos running in your browser.

API Reference: rustdoc for all crates.

Skills.md: concise, example-driven reference for AI code agents.

Crates

Crate Description
Core blinc_app App framework, windowed + web runners
blinc_core Signals, state machines, types
blinc_layout Flexbox layout, element builders, widgets
blinc_gpu SDF rendering, glass, shaders
Rendering blinc_text Text shaping, glyph atlas
blinc_svg SVG parsing + rasterization
blinc_image Image decoding, lazy loading
blinc_paint Canvas/paint API
Animation blinc_animation Springs, keyframes, timelines
blinc_theme Design tokens, light/dark mode
Components blinc_cn 40+ shadcn/ui-style components
blinc_icons Lucide icon set
Platform blinc_platform Cross-platform traits
blinc_platform_desktop Desktop (winit)
blinc_platform_android Android (NDK)
blinc_platform_ios iOS (UIKit/Metal)
blinc_platform_web Web (WebGPU/WASM)

Roadmap

See ROADMAP.md for detailed milestones. Current focus:

  1. Missing widgets (date/time/color picker, data grid)
  2. Zyntax DSL: .blinc domain specific language for UI definitions, with support for live editing and hot reload in the future
  3. Accessibility (screen reader, keyboard navigation)
  4. Developer tooling (hot reload, visual inspector)

Community

Join us on Discord: questions, showcases, design discussion, and roadmap chatter. Also feel free to open a GitHub Discussion for longer-form conversations.

License

Apache License 2.0 - see LICENSE

About

A declarative, reactive UI system with first-class state machines, spring physics animations, and GPU-accelerated rendering

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

 
 
 

Contributors