Files
Sergio d251eb32b6 chore: refresco desde el monorepo — vello 0.9 / wgpu 29, 120 miembros
El repo publico se habia quedado en julio: el README anunciaba vello 0.7 +
wgpu 27 (dos bumps atras) y faltaban los crates del ultimo mes.

- refresco con scripts/actualizar-standalone.py --llimphi (cargo check OK)
- llegan llimphi-cpu, llimphi-hybrid, llimphi-glifos y llimphi-wire-escena:
  los cuatro caminos a pixeles con un solo compositor
- MANUAL.md / SDD.md / LEEME.md sincronizados con el monorepo
- README: versiones al dia, install por crates.io (cargo add llimphi),
  seccion "beyond the 2D widget kit" y el indice de crates que apuntaba
  al propio README ahora apunta a MANUAL.md §19
2026-08-06 17:26:11 +00:00
..

llimphi-3d

Llimphi's base 3D pass (M0 of the 3D engine).

The minimum needed for real 3D inside a Llimphi View: a Camera3d (view/projection matrices with glam), a depth buffer of its own, and a Renderer3d that draws indexed geometry with depth testing over the frame's intermediate texture.

How it fits the Elm loop + vello + wgpu

Llimphi already rasterizes the UI with vello onto an intermediate texture and exposes View::gpu_paint_with to inject a direct GPU pass after vello (with LoadOp::Load, preserving the UI). Renderer3d::render has exactly the signature that closure needs (device, queue, encoder, target_view, (w, h), &camera), so a 3D node is:

let r3d = Arc::new(Mutex::new(Renderer3d::new(&device, fmt)));
View::empty().gpu_paint_with(move |dev, q, enc, view, rect, vp| {
    r3d.lock().unwrap().render(dev, q, enc, view, vp, &camera);
})

It is not a second engine: it runs on the same wgpu Llimphi already uses, which in turn translates to Vulkan/Metal/DX12/GL/WebGPU. See 01_yachay/dominium/MOTOR-VOXEL.md §11 for the full route (M0..M4).


Part of llimphi — see llimphi.