Resident ready Static companion
kari_mikumao WMMD

MMD engine · Rust and wgpu

WMMD

A hostable MMD runtime and rendering backend in Rust — designed to be embedded in editors, AR and VR hosts, VJ tools, and offline renderers.

WMMD / CAPABILITY BOARDRESEARCH IN PROGRESS

PMX / VMD

Working

Model loading, animation playback, texture and material analysis

Physics

Working

Spring bones, rigid bodies, joints — Bullet by default, three alternate backends

Rendering

Working

Toon forward pass, WBOIT, SSAO, IBL, ESM shadows, bloom

Animation / IK

Working

IK solver with VMD IK on/off tracks, morph pipeline

Clock and audio

In active development

Master clock and timecode lock working; audio-as-clock outstanding

Cinematic post

Experimental

Depth of field with autofocus and tile-based motion blur in the EEVEE-like backend

XR and stereo

Planned

Multi-view camera contract for VR and AR hosts

External control

Planned

OSC to command bridge, video output, and mocap input for live performance
01 / Intent

The same codebase drives a desktop editor and is designed to be hosted elsewhere. That constraint shapes everything: no layer assumes it owns the window, the GPU, or the clock. It is research in progress, not a claimed public release.

02 / Layering

The workspace is layered so dependencies point one way, and the boundaries are written down as invariants rather than conventions. Breaking one is treated as a bug.

  • wmmd-render · backend-agnostic interface, no GPU dependency
  • wmmd-render-wgpu · every GPU pass, never owns the swapchain
  • wmmd-runtime · CPU simulation, never loads files
  • wmmd-asset · PMX/PMD, VMD, texture and material analysis
  • wmmd-clock and wmmd-audio · standalone, zero cross-crate deps
03 / Verification

Rendering is checked headlessly against approved reference frames, physics has its own verifier, and a fix reproduced with one model must be expressed generally — no per-model special cases in shipped code.

Development reports

Evidence instead of release claims.

Systems · Active research

WMMD architecture: a hostable MMD runtime

Why the engine is split into layered Rust crates with hard dependency invariants, so the same code can drive an editor, an AR host, or an offline renderer.

  • wmmd
  • architecture
  • rust
  • mmd