- Delete obsolete .gitea/workflows/nix.yml and rust.yml.
- Rename packages.yml to tests.yml.
- Add jobs check, nix, linux, aur with proper needs ordering.
- Update docs for new unified workflow.
- Remove bash and docker from flake.nix buildInputs.
Introduce support structures (roof supports) and a stress system that
propagates from bases through tunnels, causing collapses when stress
reaches 100 %. Add auto‑support feature with toggleable tasks, new
keybindings (Tasks, AutoSupports, Stress), and a support‑building tab.
Implement collapsed tunnels, support work progress, and related UI
rendering (stress view, auto‑support indicators). Extend board resize
logic, update game state structs, and adjust keybinding actions. Update
documentation (README, AGENTS, CODE_MAP, PROGRESS, TESTING) to reflect
new features. Add flake.nix dependencies (bash, gitea‑actions‑runner,
docker). Add extensive tests for tunnel stress, support building,
auto‑supports, and related mechanics.
- Define `pname` once and inherit it in the package definition.
- Change description to “TUI underground RTS”.
- Set `mainProgram` to `pname` for consistency.
Export `block_title` and `helpers` with `pub mod` for external use.
Add Nix improvements: version check hook, update script, install check.
Include post‑install step to copy soundtracks and rename binary.
Extend meta with platforms, mainProgram, and maintainer handling.
Update docs to show required imports for block title helpers.
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`.