feat: add Game of Life simulation mechanics
Implement Conway rules with tick timing, pause/resume, single stepping, speed control, and paused-only cell editing with drag painting. Update default key bindings for pause/step/speed. Mark verification complete.
This commit is contained in:
@@ -2,20 +2,20 @@
|
||||
|
||||
## 1. Simulation core
|
||||
|
||||
- [ ] 1.1 Implement Conway tick using a second grid buffer and swap, verifying a known pattern (blinker) oscillates.
|
||||
- [ ] 1.2 Add tick timing in the frame loop with adjustable interval, verifying ticks occur at configured rate.
|
||||
- [x] 1.1 Implement Conway tick using a second grid buffer and swap, verifying a known pattern (blinker) oscillates.
|
||||
- [x] 1.2 Add tick timing in the frame loop with adjustable interval, verifying ticks occur at configured rate.
|
||||
|
||||
## 2. Controls
|
||||
|
||||
- [ ] 2.1 Wire pause/step/speed actions to simulation state, verifying pause stops ticks and step advances one generation.
|
||||
- [ ] 2.2 Add default key bindings for p/n/+/- and verify config tests pass.
|
||||
- [x] 2.1 Wire pause/step/speed actions to simulation state, verifying pause stops ticks and step advances one generation.
|
||||
- [x] 2.2 Add default key bindings for p/n/+/- and verify config tests pass.
|
||||
|
||||
## 3. Editing
|
||||
|
||||
- [ ] 3.1 Implement paused-only cell editing on left/right click, verifying clicks change cell state only when paused.
|
||||
- [ ] 3.2 Implement drag painting while paused, verifying drag sets/clears cells.
|
||||
- [x] 3.1 Implement paused-only cell editing on left/right click, verifying clicks change cell state only when paused.
|
||||
- [x] 3.2 Implement drag painting while paused, verifying drag sets/clears cells.
|
||||
|
||||
## 4. Verification
|
||||
|
||||
- [ ] 4.1 Build and run ctest, verifying all tests pass.
|
||||
- [ ] 4.2 Manual run: verify pause, step, speed, editing, and Esc.
|
||||
- [x] 4.1 Build and run ctest, verifying all tests pass.
|
||||
- [x] 4.2 Manual run: verify pause, step, speed, editing, and Esc.
|
||||
Reference in New Issue
Block a user