* Update GitHub Actions
- actions-rs is unmaintained.
- See: https://github.com/actions-rs/toolchain/issues/216
- Enable rust-cache
- Cargo.lock was removed in #63 but it's necessary for reproducible builds in CI.
- The lock file is ignored by dependents.
- Our separate `pixels-ci-rust-version` repo also ignores it, so CI will still be able to tell us if the crate build ever breaks due to unlocked dependencies.
- See the `rust-version` job in ci.yml.
* Add a conways game of life example
* Rustfmt conway example
* Respond to review feedback (p_width/p_height)
* Use line_drawing instead of manual bresenham
* Optimize count_neibs
* Remove inline(never) leftover from when profiling
* Bring back wrapping behavior (without regressing perf)
* Fix missing bounds check
* WIP: Invader AI
- Adds debug mode for visualizing bounding boxes
- Adds rectangle and line drawing (for debug mode)
- Invaders move as a close approximation to the original game
- TODO: Demonstrates that the blit function needs to ignore black pixels (or "transparency")
- TODO: The invader movement code is really bad
* clippy and fmt
* Refactor Invader movement
* Support "transparency" in blit function
* Scale player movement to 60 pixels per second, regardless of frame rate.
* Add assertions in blit to prevent drawing out of bounds
* Add bullets, shoot with space
* Add lasers, and improve the bullet animation a little bit
* fmt