gioser

tawasuyu/llimphi

Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.

Rust 614Markdown 274TOML 149RON 310606 Definitions

⎇ c1b11b2c01d7623a4f346519b9d1ec435be30b95 README.md Markdown · 49 lines · 2.1 KB History raw

docs: GIF del ejemplo counter en el README dd126bad6 · Sergio ·

1# llimphi
2
3> Native UI framework: HAL · raster · layout · text · theme · ui — plus widgets and modules.
4
5`llimphi` is a sovereign, retained-mode UI framework with an Elm-style loop (`input → update → view → layout → raster → present`). Declarative pipeline over `vello` + `wgpu` + `taffy` + `parley`, with `Dark/Light/Aurora/Sunset` themes and a multi-platform HAL (Wayland · X11 · Win32 · Android · Wawa bare-metal). It powers a full Rust application suite; this repository is the framework extracted to stand on its own.
6
7<p align="center">
8  <img src="docs/counter.gif" alt="counter example — the full Elm loop in ~124 LOC" width="480">
9  <br>
10  <sub><code>cargo run -p llimphi-ui --example counter</code></sub>
11</p>
12
13**Usage manual:** [MANUAL.md](MANUAL.md) — full reference (Elm loop, `View<Msg>` DSL, the ~44 widgets and 10 modules, GPU path, gotchas) for humans and AI. Design rationale and roadmap: [SDD.md](SDD.md).
14
15Philosophy: **widgets aren't designed against mockups; they're designed with what `vello` and `taffy` can do.**
16
17## Quick start
18
19```sh
20git clone https://gitea.gioser.net/sergio/llimphi.git
21cd llimphi
22cargo run -p llimphi-ui --example counter   # ~124 LOC: the full Elm loop on screen
23```
24
25## Install
26
27```toml
28[dependencies]
29llimphi-ui    = { git = "https://gitea.gioser.net/sergio/llimphi.git" }
30llimphi-theme = { git = "https://gitea.gioser.net/sergio/llimphi.git" }
31# widgets are one crate each — pull only what you use:
32llimphi-widget-button = { git = "https://gitea.gioser.net/sergio/llimphi.git" }
33```
34
35## Compatibility
36
37- **Linux/Wayland** — primary backend.
38- **Linux/X11** — via XWayland.
39- **macOS / Windows** — `winit` + `wgpu`.
40- **Android** — HAL via `android` crates.
41- **Wawa bare-metal** — alternative framebuffer HAL.
42
43Crates listed in [README.md](README.md) (framework, widgets, modules, android).
44
45## Considerations
46
47- **Single API: declarative `View<Msg>`.** No imperative, no foreign vDOM.
48- **Same scene tree on Wayland and Wawa**: HAL abstracts the surface.
49- Widgets are **purely visual**; modules encapsulate state + behavior.

README.md

llimphi

Native UI framework: HAL · raster · layout · text · theme · ui — plus widgets and modules.

llimphi is a sovereign, retained-mode UI framework with an Elm-style loop (input → update → view → layout → raster → present). Declarative pipeline over vello + wgpu + taffy + parley, with Dark/Light/Aurora/Sunset themes and a multi-platform HAL (Wayland · X11 · Win32 · Android · Wawa bare-metal). It powers a full Rust application suite; this repository is the framework extracted to stand on its own.

<p align="center"> <img src="docs/counter.gif" alt="counter example — the full Elm loop in ~124 LOC" width="480"> <br> <sub><code>cargo run -p llimphi-ui --example counter</code></sub> </p>

Usage manual: MANUAL.md — full reference (Elm loop, View<Msg> DSL, the ~44 widgets and 10 modules, GPU path, gotchas) for humans and AI. Design rationale and roadmap: SDD.md.

Philosophy: widgets aren't designed against mockups; they're designed with what vello and taffy can do.

Quick start

git clone https://gitea.gioser.net/sergio/llimphi.git
cd llimphi
cargo run -p llimphi-ui --example counter   # ~124 LOC: the full Elm loop on screen

Install

[dependencies]
llimphi-ui    = { git = "https://gitea.gioser.net/sergio/llimphi.git" }
llimphi-theme = { git = "https://gitea.gioser.net/sergio/llimphi.git" }
# widgets are one crate each — pull only what you use:
llimphi-widget-button = { git = "https://gitea.gioser.net/sergio/llimphi.git" }

Compatibility

Crates listed in README.md (framework, widgets, modules, android).

Considerations