gioser

tawasuyu/llimphi

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

Rust 484Markdown 258TOML 131RON 38118 Definitions

⎇ main llimphi-wire-view/README.md Markdown · 19 lines · 796 B History raw

chore: refresco desde el monorepo — 27 crates nuevos (anim, lottie, svg, mesh, image, layer, test, wire-view, widgets rag-sidebar/router/lazy-list/rive-button) y sync de los 95 existentes 93253cc22 · Sergio ·

1# llimphi-wire-view
2
3Serializable IR of a subset of `View<Msg>`.
4
5A `WireNode` mirrors the shape of `llimphi_compositor::View`: a tree of boxes with
6flex direction, dimensions, padding, fill, radius, an optional text and handlers.
7The key difference: the callbacks **do not cross the WASM boundary**. Instead of
8a `Fn() -> Msg`, every interactive node carries `on_click: Option<Vec<u8>>` — the
9postcard bytes of the guest's `Msg`. The host bounces those bytes back to the
10guest's `dispatch`, which decodes them and runs its `update`. Since in Llimphi
11`on_click` is already an `Option<Msg>` by value (not a closure), the mapping is
12direct.
13
14`no_std + alloc`: the same IR serves a `no_std` guest (even a wawa app) and the
15host with std.
16
17---
18
19Part of **llimphi** — see [llimphi](../README.md).

README.md

llimphi-wire-view

Serializable IR of a subset of View<Msg>.

A WireNode mirrors the shape of llimphi_compositor::View: a tree of boxes with flex direction, dimensions, padding, fill, radius, an optional text and handlers. The key difference: the callbacks do not cross the WASM boundary. Instead of a Fn() -> Msg, every interactive node carries on_click: Option<Vec<u8>> — the postcard bytes of the guest's Msg. The host bounces those bytes back to the guest's dispatch, which decodes them and runs its update. Since in Llimphi on_click is already an Option<Msg> by value (not a closure), the mapping is direct.

no_std + alloc: the same IR serves a no_std guest (even a wawa app) and the host with std.


Part of llimphi — see llimphi.