- Node.js 22 or newer
- npm 11 or newer
- Rust stable toolchain via
rustup
npm install
cargo test --manifest-path crates/decoder-core/Cargo.toml
npm run dev
npm start
npm run typecheck
npm run test:renderer
npm run test:main
npm run test:e2e
cargo test --manifest-path crates/decoder-core/Cargo.toml
src/main, src/preload, src/renderer for the Electron desktop shell
crates/decoder-core for the Rust extraction and decoding engine
tests/e2e for Playwright desktop smoke tests
tests/fixtures for small committed fixture data
.fixtures-local/ for large local-only wallpaper corpora
resources/icons for app icons and desktop branding assets
- The Electron app shell lives under
src/main, src/preload, and src/renderer.
- The Rust sidecar lives under
crates/decoder-core.
- Fixture-heavy local corpora should stay out of git and belong in
.fixtures-local/.
npm start now rebuilds the Electron app and launches the production shell in one step.
- The desktop shell exposes the workshop library path in the header so you can scan a different
431960 directory without changing code.