Introduce a new CI workflow `.gitea/workflows/packages.yml` that builds
deb, rpm, AppImage, Flatpak and AUR packages on push and PR events.
Add packaging helpers (`build.sh`, `stage.sh`, spec file, PKGBUILD,
desktop entry, SVG icon) and supporting assets under `packaging/`.
Update `.gitignore` to ignore the generated `dist` directory.
Expand documentation (CODE_MAP, AGENTS, PROGRESS, TESTING and new
PACKAGING.md) to describe the packaging process and its limitations.
Adjust `src/app/threads/audio.rs` and `tests/audio.rs` imports to
support loading audio files from installed package layouts.
Install required system packages and set RUST_VERSION=1.99.1. Cache the
Rust
toolchain and Cargo registry, and run Cargo commands directly instead of
via
`nix develop`. Documentation files are updated to reflect the new
workflow.
- Document new Rust formatting standards in AGENTS, CODE_MAP, and
PROGRESS.
- Add rustfmt.toml with style 2024, 2‑space indents, 100‑char width, LF
endings.
- Apply consistent 2‑space indentation and ordering across source files.
- Minor clean‑up of imports and whitespace to match the new style.
Introduce a new MovingTask type for movement segments and extend
the Tasks enum
to include it. Add total‑step tracking and a get_total_progress default
in the
Task trait, and implement the corresponding methods for MovingTask.
Update
units to allow coordinate changes via set_coords, add stone damage
handling,
and adjust board advancement logic to use the new task system. Update
UI
code to display step and total percentages in the Tab panel. Expand
documentation (README, AGENTS, CODE_MAP, PROGRESS, TESTING) to describe
digging
and moving, and add extensive tests (including tests/digging.rs) for the
new
behaviour.
- Introduce a comprehensive test suite (cli, app, board, tasks, audio)
and a
new TESTING.md document describing test execution.
- Correct vertical offset calculation in `BoardState` to use saturating
subtraction and ceiling division.
- Clamp initial `Offset` values to the provided maximum in
`Offset::new`.
- Export `load_audio` from the audio thread module and switch to
`LoopedDecoder` for proper OGG looping.
- Update several crate versions: clap, ratatui, log, rodio, and
bitflags.
Introduce AGENTS.md as an entry point for agents, add CODE_MAP.md with a
module overview and diagrams, and create PROGRESS.md to log work
progress.
Update flake.lock to reflect dependency revisions.