Skip to main content

GpuPaintFn

Type Alias GpuPaintFn 

Source
pub type GpuPaintFn = Arc<dyn Fn(&Device, &Queue, &mut CommandEncoder, &TextureView, PaintRect, (u32, u32)) + Send + Sync>;
Expand description

Callback de pintura GPU directo, sin vello intermedio. Recibe el device/queue ya construidos por el runtime más un CommandEncoder y la TextureView del frame (la intermediate Rgba8Unorm de WinitSurface), todo durante el paint del nodo.

El caller abre su propio begin_render_pass con LoadOp::Load para no sobrescribir lo que ya pintó vello, dibuja sus primitivas y cierra el pass. El runtime se encarga de dispatchear (queue.submit) el encoder ya con todas las pasadas de todos los nodos acumuladas — es un solo submit por frame.

Orden de pintura en Fase 1: todos los gpu_painter corren DESPUÉS de la pasada completa de vello (fill, image, painter, text) sobre el mounted tree. Entre sí mantienen el orden DFS pre-orden. Si una app necesita pintar texto encima del render GPU directo, la forma idiomática es ponerlo en App::view_overlay, que se renderiza como una segunda Scene de vello encima de todo.

Pensado para apps con volumen masivo de primitivos (cosmos starfield Gaia, tinkuy particle viewer, nakui viewport, pineal denso) — el hook que paga el costo de mantener pipelines WGSL propias en llimphi-raster (ver 02_ruway/llimphi/SDD.md §“Roadmap — GPU directo wgpu”).

Aliased Type§

pub struct GpuPaintFn { /* private fields */ }