Add once_cell 1.21.4 and a Lazy‑initialized HashMap to store OGG bytes.
Replace file reads with in‑memory Cursor decoding, fix the
SoundrackParts enum typo, and derive Hash traits for it.
Add ALSA and Rodio crates to Cargo.toml and lockfile to enable audio
playback.
Update Nix expressions to include `alsa-lib` as a build input.
Refactor input event handling into a new `app::threads` module:
- Define `AppEvent` enum and `handle_input_events` function there.
- Adjust imports in `app/app.rs` and `main.rs` accordingly.
Remove the now‑unused `handle_input_events` and `AppEvent`
definitions from
`app/app.rs`.
Extracted common quit/esc handling into `common_keybindings`. Introduced
`Group::CtrlMovement` for Ctrl‑arrow keys and updated keybinding
definitions.
Removed duplicated quit logic in main_menu and skirmish modules. Bumped
clap to 4.6.0 and updated Cargo.lock. Added range‑checked parsers for
map
size, resources, supply limit, XP modifier and skill points in the CLI.