Skip to content

project-blinc/.github

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 

Repository files navigation

BLINC

Native User Interface and Interaction Systems

A declarative, reactive UI framework written in Rust β€” with first-class state machines, spring-physics animation, and GPU-accelerated rendering.

Website Β· Core Framework Β· crates.io Β· Apache-2.0


Blinc

Blinc is the core UI system everything here builds on. It treats interfaces as declarative, reactive descriptions of state rather than imperative trees of widgets, so your UI stays in sync with your data automatically.

  • 🧩 Declarative & reactive β€” describe what the UI should be; Blinc keeps it consistent as state changes
  • πŸ” First-class state machines β€” model interaction and view logic as explicit, inspectable states
  • 🌊 Spring-physics animation β€” natural, interruptible motion instead of fixed-duration tweens
  • ⚑ GPU-accelerated rendering β€” fast, hardware-backed drawing at the core
  • πŸ¦€ Pure Rust β€” memory-safe, portable, and dependency-light
[dependencies]
blinc_app = "0.1"

See the Blinc repository for documentation, examples, and getting-started guides.


Packages

Blinc is extended by a set of focused crates. Each one is independent β€” pull in only what your project needs.

Canvas & scene authoring

Package What it does
blinc_canvas_kit Canvas authoring toolkit: interactive scene graphs (pan, zoom, selection, grid), a 3D scene kit, and p5.js-style immediate-mode sketching over Blinc's DrawContext.
blinc_portal_ui Immediate-mode widget toolkit for canvas closures β€” render real interactive widgets and free-form painting inside a Canvas.
blinc_node_editor A metadata-driven node-graph editor toolkit built on blinc_canvas_kit. Typed ports, bezier connectors with drag-to-connect, immediate-mode content widgets inside node bodies, group chrome, theme-aware rendering, frustum-culled paint, and a signal + event API designed for reactive Blinc hosts.

Animation & assets

Package What it does
blinc_skeleton Runtime poser for Blinc 2D/3D canvases.
blinc_gltf glTF 2.0 loader for Blinc.
blinc_lottie Lottie animation player for Blinc sketches.

Input

Package What it does
blinc_input Polling-style input state for Blinc sketches and canvases.

Ecosystem

                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚    Blinc    β”‚   declarative Β· reactive Β· GPU
                        β”‚  core UI    β”‚
                        β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚                      β”‚                       β”‚
  Canvas & scene         Animation & assets          Input
  ─────────────          ──────────────────        ─────────
  canvas_kit             skeleton                   input
  portal_ui              gltf
  node_editor            lottie

Getting started

  1. Start with Blinc β€” the core framework.
  2. Add the extension crates your project needs (canvas tooling, asset loaders, input, etc.).
  3. Visit blinc.rs for guides and reference material.

Contributing

Contributions are welcome across the ecosystem. Open an issue or PR on the relevant repository, and check each project's README for setup and contribution notes.

Built with πŸ¦€ by the BLINC project Β· blinc.rs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors