mujou
A cross-platform Rust application that converts raster images into vector path files suitable for kinetic sand tables, pen plotters, laser cutters, and similar CNC devices. The primary use case is converting photos and images into patterns that a sand table’s steel ball can trace.
Deployed as a static WASM web app (primary target), with optional desktop and mobile builds from the same codebase. All processing runs client-side in the browser. No images leave the user’s device. No backend needed.
Documentation
Core Design
- Principles – Sans-IO philosophy, testability goals, dependencies policy
- Architecture – Layer design, crate structure, workspace layout
- Requirements – Platform targets, technology choices, toolchain
Features
- Image Processing Pipeline – Processing steps, algorithms, tunable parameters
- Output Formats – THR, G-code, SVG, DXF, PNG specifications
- UI Design – Components, layout, interaction model
Ecosystem
- Overview – Sand table manufacturers, devices, communities, and existing software
Project Management
- Development – Local development, testing, coverage
- Implementation – Phase checklist, roadmap
- Decisions – Resolved design decisions
- Naming – Name candidates, availability, thematic exploration
- Open Questions – Pending decisions, deferred items