Build from source

Building Rusting needs stable Rust 1.95 or newer. The repository's rust-toolchain.toml selects stable automatically when you use rustup.

Terminal
git clone https://github.com/HalfdanIsaksen/rusting
cd rusting
cargo run -p desktop

Development commands

Terminal
cargo test --workspace        # run all tests
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --all --check

Set RUST_LOG=debug for more log output.

Project layout

CrateResponsibility
animation_coreFrames, FPS, time conversion, IDs, colours, interpolation
timelineTracks, keyframes, stepped exposure, playback
drawingVector strokes, brushes, drawings, tessellation
sceneLayers, ordering, visibility, lock, transforms
documentThe project document and per-frame evaluation
file_formatVersioned .rusting save/load and validation
editorEditor state, commands, undo/redo
rendererwgpu device, surface, canvas and stroke rendering
exportImage and MP4 export
uiEditor panels (egui)
apps/desktopThe executable: window, event loop, wiring

Contributing

Each feature is built on its own feat/<name> branch and must pass fmt, clippy -D warnings and test before merging. See the repository for the roadmap and architecture notes.