valo

Overview

What Valo is and which package to use.

Valo is a WebGPU-native 2D render engine built with Rust and wgpu. It follows the architecture of Flutter's Impeller: no shader compilation at draw time.

Use the valo crate from Rust on native platforms or in a browser through WebAssembly. JavaScript and TypeScript applications use valo-web — Valo's own API or a Canvas2D-compatible adapter. Valo supports every platform wgpu supports, including Windows, macOS, Linux, iOS, Android, and the web.

Packages

valo-web is a thin JavaScript wrapper over the same engine. A Rust app compiled to WebAssembly imports valo directly.

Drawing is two steps: record a DisplayList, then submit it to a Context. Getting started shows that in code. Reference covers each type in order.

On this page