Reconstruct a Minecraft schematic from a screenshot.
voxelens detects individual block faces in a screenshot, classifies each face
against the known Minecraft texture set, and back-projects them onto the voxel
grid to rebuild the structure as a Sponge .schem file. The goal is to automate
the last manual step in screenshot/panorama-based seed reverse-engineering.
Status: early development. See
docs/ROADMAP.mdfor the full plan, design decisions, and milestone breakdown.
crates/core Pure, WASM-compatible engine (all algorithms; no I/O). Testable in Node-free Rust.
crates/cli Native CLI: screenshot in -> .schem out, plus per-stage debug PNGs.
fixtures/ Committed test screenshots + golden outputs, documented in manifest.toml.
textures/ Block textures (gitignored; extracted from a local MC install). stand-in/ holds CI tiles.
docs/ ROADMAP and design notes.
The engine is built and tested natively first (Rust core + CLI); a WebAssembly wrapper and a browser front-end (deployed free on Cloudflare Pages) come later.
cargo test --all # run the suite (test-first: write the failing test, then fix)
cargo fmt --all # format
cargo clippy --all-targets --all-features -- -D warnings # lint (CI-enforced)A committed pre-commit hook (.githooks/pre-commit) runs the same gates as CI
— fmt --check, clippy -D warnings, and cargo test — and is skipped for
commits that touch no Rust/build files. Enable it once per clone:
git config core.hooksPath .githooksBypass in an emergency with git commit --no-verify.
MIT OR Apache-2.0. Mojang textures are not redistributed; they are loaded from a local Minecraft install at runtime.