Files
Sergio 93253cc227 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
Regenerado con scripts/actualizar-standalone.py --llimphi. Vendoriza además
shared/{foreign-lottie,grafo}. Quedan fuera los crates acoplados al workspace
madre (wasm-*, video-plane, voxel-app/studio, allichay, plugin-host, shuma-term).
cargo check --workspace verde (112 miembros).
2026-07-25 20:57:22 +00:00

1.0 KiB

llimphi-wasm-runner

Read this in English: README.md.

Lado host de las apps WASM Tier 3.

WasmGuest carga un .wasm que sigue el ABI de llimphi-wasm-app-sdk, lo instancia con wasmi y corre su bucle Elm:

  1. wasm_init construye el Model del guest (vive en la instancia).
  2. wasm_view devuelve un WireNode serializado; lo deserializamos y lo cacheamos.
  3. wire_to_view lo materializa en un View<RunnerMsg> Llimphi real.
  4. Un click emite RunnerMsg::Guest(bytes); WasmGuest::dispatch rebota esos bytes a wasm_dispatch y refresca la vista.

El host mantiene un único Store vivo por app, así el Model persiste entre frames — exactamente el contrato Elm de Llimphi, sólo que la transición corre del otro lado de la frontera WASM.

Es el gemelo, del lado Linux, del ejecutor de apps WASM de wawa (sys_render_frame + caps por frontera física): el mismo espíritu de "abrir apps servidas/distribuidas", pero pintando con Llimphi en vez de un framebuffer crudo.


Parte de llimphi — ver llimphi.