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>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
# 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](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).
|
||||
|
||||
Philosophy: **widgets aren't designed against mockups; they're designed with what `vello` and `taffy` can do.**
|
||||
|
||||
## Quick start
|
||||
|
||||
```sh
|
||||
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
|
||||
|
||||
```toml
|
||||
[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 / Windows** — `winit` + `wgpu`.
|
||||
- **Android** — HAL via `android` crates.
|
||||
- **Wawa bare-metal** — alternative framebuffer HAL.
|
||||
|
||||
Crates listed in [README.md](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.
|
||||
Reference in New Issue
Block a user