An MGS-styled, PSX-aesthetic 3D printer simulator built with Bevy: G-code playback, thermal simulation, and real Marlin firmware emulated in-browser on an ATmega2560 (RAMPS 1.4) via avr8js.
Demo
rextrude_clip.mp4
Quickstart
Native:
cargo run -p app # base build, no system deps cargo run -p app --features audio # needs libasound2-dev (ALSA) on Linux
Web (wasm):
npm ci --prefix emu cd app && trunk serve # audio feature enabled via Trunk.toml (WebAudio)
Project layout
| Path | What |
|---|---|
app/ |
Bevy application (native + wasm entry point) |
crates/motion |
Motion/kinematics simulation |
crates/gcode-sim |
G-code parsing and playback |
emu/ |
avr8js Marlin firmware emulation harness (TypeScript) |
tools/ |
Python asset generators — see tools/README.md |
assets/ |
G-code demos, firmware hex, textures, audio (committed) |
License
Dual-licensed under MIT (LICENSE-MIT) or Apache-2.0 (LICENSE-APACHE), at your option.