Rendering and creative tools
WMMD
A layered Rust engine for MMD: PMX/VMD playback, three physics backends, and a wgpu toon renderer designed to be embedded in editors, AR hosts, VJ tools, and offline renderers.
WMMD is a hostable MikuMikuDance runtime and rendering backend written in Rust. It investigates a modern technical foundation for MMD creation while respecting the workflows and creative freedom that made the community possible.
The same codebase powers a desktop editor today and is designed to be embedded elsewhere: VJ tools, AR and VR runtimes, game engines, mocap pipelines, and offline renderers.
What works today
- PMX/PMD model loading and VMD animation playback, with texture analysis and material inference.
- Full MMD physics — spring bones, rigid bodies, and joints — on a Bullet backend by default, with a pure-Rust fallback, a clean-room PGS solver, and an experimental XPBD cloth engine.
- An IK solver with VMD IK on/off track support.
- A wgpu toon renderer: forward pass, WBOIT transparency, SSAO and optional ray-traced AO, IBL, ESM soft shadows, and bloom — plus an EEVEE-like second backend carrying depth of field and motion blur.
- Headless offscreen rendering with golden-image snapshot tests, and a pluggable host layer.
Current framing
The project is under active research and development. It is not publicly released, and this page does not claim otherwise; the work is recorded here as architecture notes and verified capability rather than as a product announcement.
Technical notes
The engineering is documented in the Lab:
- WMMD architecture: a hostable MMD runtime — the crate layering and the dependency invariants that make embedding possible.
- Three physics backends behind one interface — Bullet as the MMD-faithful reference, and why a reference matters more than a fast solver.
- A toon pipeline verified by golden images — the GPU passes, the two-pass host loop, and snapshot-based correctness.