AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
WebGPU 3D Engine for real-time 3D anime character MMD model rendering
Translation pending
Developer toolsTypeScript · JavaScriptGitHub @AmyangXYZOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Zero-dependency WebGPU MMD renderer
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Zero-runtime-dependency WebGPU engine for real-time MMD/PMX rendering — renderer, animation, IK, physics, and a multi-effect VFX system, all in TypeScript.
One piece of the Reze MMD family, covering the whole MMD workflow on the web:Read the full README ↗Zero-runtime-dependency WebGPU engine for real-time MMD/PMX rendering — renderer, animation, IK, physics, and a multi-effect VFX system, all in TypeScript.
One piece of the Reze MMD family, covering the whole MMD workflow on the web:
| reze-engine | This repo — the WebGPU foundation, anime-character rendering and physics |
| reze-design | Scene design, rendering and sharing |
| reze-studio | Animation editing on a professional timeline and curve editor |
| MiKaPo | Real-time motion capture in the browser, exporting straight to VMD |
| reze-rig | Retarget FBX animations to MMD VMD format, Mixamo and Unity tested |
npm install reze-engine
Models and motion
RENDERING_LAYER_DEFAULT and the cast on RENDERING_LAYER_CHARACTER too, so a directional light given to setLights on the default layer is the stage's daylight while the sun, keyed to the character layer, stays the cast's — and setModelAmbient and setModelFill give one model its own ambient and fill, so a room ported from a game is lit by its own day while the cast keeps the scene's keysetModelParentKeys keys that parent over the scene, for a prop handed over, put down, or thrown and left to gravityRendering
.hdr): the sky renders through the same view transform as the scene and lights the cast via spherical-harmonic irradiance — the sun keeps the toon ramp — and a Lit surface reflects it along the reflection vector at a level its smoothness picks, on Unity's mip curve. On a stage a reflection probe stands in, as Unity's does: the stage captured from its middle, GGX-prefiltered and box-projected to its bounds, so a polished floor mirrors the room and a metal mirrors the skysetModelDissolve takes a character apart in her own material — a per-triangle threshold burn with a glowing front, run identically by the colour pass, depth prepass, shadow map and outline hull, so nothing of her is left standing; setModelPhysicsWhileHidden keeps a hidden model's cloth moving, so a costume swapped in arrives already in motion; setModelCastShadow takes one model out of the shadow map while it still receives everyone else'sEffects
setEffectSchedule gives an effect any number of windows, each with its own clock starting at zero and its own blend in and out, while #param lines declare the dials a host shows — turning one writes a uniform rather than recompiling.lrc lyrics with their words rasterised for the shader to draw, and per-pixel object/material idsPipeline
renderFrame at any resolution) reproduces the live scene exactlyengine/tools/validate-wgsl.mjs) before releaseimport { Engine } from "reze-engine"
const engine = new Engine(canvas)
await engine.init()
const model = await engine.loadModel("reze", "/models/reze/reze.pmx")
await engine.autoStyleGroups("reze")
await model.loadVmd("dance", "/animations/dance.vmd")
model.show("dance")
model.play()
engine.runRenderLoop()
autoStyleGroups reads the model's own material names and gives each group a
shader graph, so hair, eyes and skin come out looking like MMD with no shading
code of your own.
One frame, top to bottom. The CPU describes the scene once and the GPU runs it: culling and effect simulation in compute, shadows and the floor mirror feeding a scene pass that draws MMD the way MMD artists expect — author order, outlines, the eye/hair stencil — then bloom, film tone mapping, and depth of field finish the image.
MIT