← Labs

Stable demo

WASM light engine (wgpu)

Runnable lab: wasm-bindgen engine identity + native WebGPU/WGSL triangle on the visitor GPU.

What is being tested?
A Rust→WASM control plane plus a minimal WebGPU draw path, isolated from the Three.js marketing hero.
Why does it matter?
Compute-oriented labs need a systems stack; hero design velocity should not depend on that stack.
What is currently working?
Published `/labs/wgpu-engine/pkg` WASM; live demo loads engine_name() and draws a WebGPU triangle with reduced-motion / no-WebGPU fallbacks.
What remains incomplete?
Full Rust `wgpu` device init and compute shaders not yet wired; current draw path uses browser WebGPU + WGSL beside the WASM control plane.
Constraints
WebGPU availability varies; must not become a hard dependency for site navigation.

Stack

  • Rust
  • wasm-bindgen
  • WebGPU
  • WGSL

Implementation

This lab ships a Rust → WASM control plane (engine_name()) plus a browser WebGPU/WGSL triangle drawn on the visitor GPU. It stays off the marketing hero so engine iteration does not block SEO or first paint.

Source crate: labs/wgpu-engine/. Published artifacts: /labs/wgpu-engine/pkg. Rebuild with wasm-pack build --target web.

Live demo · Rust WASM + WebGPU

Loading…

Initializing WASM package and WebGPU device…

Source / repository (opens in a new tab)

Related: Selected work · Rust wgpu vs Three.js