project-blinc/Blinc
{ "createdAt": "2022-04-10T12:56:50Z", "defaultBranch": "main", "description": "A declarative, reactive UI system with first-class state machines, spring physics animations, and GPU-accelerated rendering", "fullName": "project-blinc/Blinc", "homepage": "http://blinc.rs/", "language": "Rust", "name": "Blinc", "pushedAt": "2026-06-18T14:49:10Z", "stargazersCount": 468, "topics": [ "application", "declarative-ui", "dsl", "framework", "gpu", "render", "ui", "ui-framework", "uikit", "user-interface", "ux" ], "updatedAt": "2026-06-18T23:35:08Z", "url": "https://github.com/project-blinc/Blinc"}![Blinc UI]!(glass_music_player.png)
A GPU-accelerated, cross-platform UI framework for building desktop, mobile, and web applications from a single Rust codebase.
Highlights
Section titled “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
Section titled “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
Section titled “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
Section titled “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]!(Skills.md): concise, example-driven reference for AI code agents.
Crates
Section titled “Crates”| Crate | Description | |
|---|---|---|
| Core | [blinc_app]!(crates/blinc_app) | App framework, windowed + web runners |
| [blinc_core]!(crates/blinc_core) | Signals, state machines, types | |
| [blinc_layout]!(crates/blinc_layout) | Flexbox layout, element builders, widgets | |
| [blinc_gpu]!(crates/blinc_gpu) | SDF rendering, glass, shaders | |
| Rendering | [blinc_text]!(crates/blinc_text) | Text shaping, glyph atlas |
| [blinc_svg]!(crates/blinc_svg) | SVG parsing + rasterization | |
| [blinc_image]!(crates/blinc_image) | Image decoding, lazy loading | |
| [blinc_paint]!(crates/blinc_paint) | Canvas/paint API | |
| Animation | [blinc_animation]!(crates/blinc_animation) | Springs, keyframes, timelines |
| [blinc_theme]!(crates/blinc_theme) | Design tokens, light/dark mode | |
| Components | [blinc_cn]!(crates/blinc_cn) | 40+ shadcn/ui-style components |
| [blinc_icons]!(crates/blinc_icons) | Lucide icon set | |
| Platform | [blinc_platform]!(crates/blinc_platform) | Cross-platform traits |
| [blinc_platform_desktop]!(extensions/blinc_platform_desktop) | Desktop (winit) | |
| [blinc_platform_android]!(extensions/blinc_platform_android) | Android (NDK) | |
| [blinc_platform_ios]!(extensions/blinc_platform_ios) | iOS (UIKit/Metal) | |
| [blinc_platform_web]!(extensions/blinc_platform_web) | Web (WebGPU/WASM) |
Roadmap
Section titled “Roadmap”See [ROADMAP.md]!(ROADMAP.md) for detailed milestones. Current focus:
- Missing widgets (date/time/color picker, data grid)
- Zyntax DSL:
.blincdomain specific language for UI definitions, with support for live editing and hot reload in the future - Accessibility (screen reader, keyboard navigation)
- Developer tooling (hot reload, visual inspector)
Community
Section titled “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
Section titled “License”Apache License 2.0 - see [LICENSE]!(LICENSE)