// the find
grovesNL/glyphon
🦅🦁 Fast, simple 2D text renderer for wgpu
glyphon is a 2D text rendering crate for wgpu that wires together cosmic-text (shaping + layout), etagere (atlas packing), and wgpu (GPU rendering) into one small, coherent package. It's for Rust developers building custom renderers, game engines, or GPU-accelerated UIs on top of wgpu who don't want to roll their own text pipeline. The dependency chain is well-chosen — each piece is best-in-class for its job.
Avoids extra render passes by fitting into existing wgpu render passes via the encapsulating-graphics-work pattern — this is the right call and a lot of text renderers get this wrong. Delegates shaping to cosmic-text, which handles bidirectional text, ligatures, and complex scripts correctly — not just Latin ASCII. Triple-licensed Apache/MIT/zlib, so it fits into essentially any project. Benchmarks exist (benches/prepare.rs, benches/state.rs), which is more than most graphics crates bother with.
Tightly coupled to wgpu's API version — wgpu breaks its API on nearly every release, and upgrading glyphon means praying the wgpu version aligns with whatever else you're using. No support for SDF-based rendering, so text at varying scales will re-rasterize rather than scale gracefully; fine for fixed-size UI, painful for zoomable canvases. README is minimal to the point of being unhelpful — there's no explanation of the TextArea/Buffer model or when you'd call prepare vs render. At 735 stars it's not widely adopted enough to have a strong community or third-party examples to lean on when you get stuck.