-
-
Notifications
You must be signed in to change notification settings - Fork 14
Installation
Blinc requires:
- Rust 1.70+ (for stable async and other features)
- A GPU with Vulkan, Metal, or DX12 support
Add blinc_app to your Cargo.toml:
[dependencies]
blinc_app = { version = "0.1", features = ["windowed"] }The windowed feature enables desktop windowing support. For headless rendering (e.g., server-side), omit this feature.
| Feature | Description |
|---|---|
windowed |
Desktop window support via winit (default) |
android |
Android platform support |
Create a simple test application:
// src/main.rs
use blinc_app::prelude::*;
use blinc_app::windowed::{WindowedApp, WindowedContext};
fn main() -> Result<()> {
WindowedApp::run(WindowConfig::default(), |ctx| {
div()
.w(ctx.width)
.h(ctx.height)
.bg(Color::rgba(0.1, 0.1, 0.15, 1.0))
.flex_center()
.child(text("Blinc is working!").size(32.0).color(Color::WHITE))
})
}Run with:
cargo runYou should see a window with "Blinc is working!" displayed in the center.
For a better development experience, add these to your Cargo.toml:
[dev-dependencies]
tracing-subscriber = "0.3"Then initialize logging in your app:
fn main() -> Result<()> {
tracing_subscriber::fmt()
.with_max_level(tracing::Level::INFO)
.init();
WindowedApp::run(/* ... */)
}No additional setup required. Blinc uses Metal for GPU rendering.
Ensure you have up-to-date GPU drivers. Blinc uses DX12 by default, falling back to Vulkan.
Install Vulkan development libraries:
# Ubuntu/Debian
sudo apt install libvulkan-dev
# Fedora
sudo dnf install vulkan-devel
# Arch
sudo pacman -S vulkan-icd-loaderSee the Android platform guide for cross-compilation setup.
Getting Started
Mobile Development
Example Gallery
- Example Gallery
- Canvas Element
- Canvas Kit Interactive
- Carousel Demo - Selector API Showcase
- Chrome-Style Tabs
- blinc_cn Components
- Code Element
- Complex SVG
- CSS Debug
- CSS Visual Features
- Layer Effects
- Emoji and HTML Entities
- @flow Shader
- Fluid Surface
- Skeleton animation with glTF +
blinc_canvas_kit. DrawContext::run_gpu_passend-to-end demo.- Image CSS Styling
- Image Layer Test
- Keyframe Animation Canvas
- Markdown Editor
- 3D Mesh Demo — renders the Khronos glTF
DamagedHelmetsample model - Motion Demo
- Music Player Glass Card
- Node-editor demo — pre-wired graph with three node types, typed
- Notch Menu Bar
- Overflow Fade
- Overlay System
- Pointer Query
- Rich Text Element
- Rich Text Editor
- Scroll Container
- Semantic @flow
- Sortable
- Stateful API + Signal-bound modifiers demo.
- End-to-end 3D demo wiring Blinc's SceneKit3D renderer up to
- Unified Styling API
- SVG Animation
- Table Builder
- Tabler Icons
- Minimal text positioning test
- Text Input Widgets
- KHR_texture_transform
- Theme System
- Timeline Animation
- Typography
- Video Player
- Wet Glass
- Windowed Application
Web Development
Core Concepts
Animation
Components
Component Library (blinc_cn)
Widgets
- Buttons & Inputs
- Text & Rich Text
- Code Editor
- Scroll Containers
- Virtualized List
- Canvas Drawing
- Images & SVG
- Audio & Video
- Markdown Rendering
Canvas Kit
Advanced
- Routing & Navigation
- Multi-Window
- System Integration
- Element Query API
- Overlay System
- Custom State Machines
- Pointer Query
- Performance Tips
- Flow Shaders
- 3D Rendering
- Custom GPU Passes
- Hot-reload (experimental)
Architecture
Contributing