valo_renderer/lib.rs
1//! `valo-renderer` replays a recorded display list into wgpu render passes.
2//!
3//! Hosts normally use the `valo` crate's `Context`. This crate is the GPU core
4//! that context wraps: it plans, encodes, and submits, and it owns only caches —
5//! not application content. It talks to wgpu directly; there is no second GPU
6//! abstraction.
7//!
8//! - [`HostBuffer`]: per-frame bump arena for transient uniforms and vertices.
9//! A 3-frame ring of persistent buffers means warm frames create nothing —
10//! the cost that matters most on wasm, where every create crosses into JS.
11//! - [`PipelineCache`]: grow-only map of pipeline variants (format × blend × kind).
12
13mod contours;
14mod frame;
15mod glyphs;
16mod gpu_timer;
17mod host_buffer;
18mod images;
19mod pipelines;
20mod planner;
21mod pool;
22mod ramps;
23mod raster;
24mod renderer;
25mod report;
26
27pub use glyphs::TextTiers;
28pub use host_buffer::HostBuffer;
29pub use images::{ImageDesc, ImageStore, IMAGE_FORMAT};
30pub use pipelines::{Frag, PipelineCache, PipelineKey, PipelineKind, DEPTH_FORMAT, SAMPLE_COUNT};
31pub use pool::TargetPool;
32pub use renderer::{RenderStats, RenderTarget, RendererCore};
33pub use report::{AtlasReport, MemoryReport, PoolReport, WgpuCounters};