Files
llimphi/README.md
T
sergio e65e9cc623 feat: llimphi standalone — framework UI soberano extraído del monorepo
Motor gráfico Llimphi como workspace independiente: bucle Elm
(input→update→view→layout→raster→present) sobre wgpu+vello+taffy+parley.
Núcleo (hal/raster/layout/text/ui/theme/surface/motion/icons) + ~40 widgets
+ módulos, sin dependencias al resto del monorepo. cargo check --workspace
pasa (64 crates). Puerta de entrada: cargo run -p llimphi-ui --example counter.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 04:23:42 +00:00

1.9 KiB

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.

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

  • Linux/Wayland — primary backend.
  • Linux/X11 — via XWayland.
  • macOS / Windowswinit + wgpu.
  • Android — HAL via android crates.
  • Wawa bare-metal — alternative framebuffer HAL.

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

Considerations

  • Single API: declarative View<Msg>. No imperative, no foreign vDOM.
  • Same scene tree on Wayland and Wawa: HAL abstracts the surface.
  • Widgets are purely visual; modules encapsulate state + behavior.