Update ROADMAP.md to reflect massive progress today

- Fixed 12+ critical bugs in a single session
- Implemented 3 missing features (Entity.index, EntityCollection.extend, sprite validation)
- Updated Phase 1 progress showing 11 of 12 items complete
- Added detailed summary of today's achievements with issue numbers
- Emphasized test-driven development approach used throughout
This commit is contained in:
John McCardle 2025-07-03 21:13:46 -04:00
parent dae400031f
commit ff83fd8bb1
1 changed files with 29 additions and 3 deletions

View File

@ -3,9 +3,35 @@
## Project Status: Post-7DRL 2025 "Crypt of Sokoban" ## Project Status: Post-7DRL 2025 "Crypt of Sokoban"
**Current State**: Successful 7DRL completion with Python/C++ game engine **Current State**: Successful 7DRL completion with Python/C++ game engine
**Latest Commit**: Working on test suite and critical bug fixes **Latest Update**: Fixed 12+ critical bugs in one day! (2025-01-03)
**Branch**: interpreter_mode (test suite created, critical fixes implemented) **Branch**: interpreter_mode (comprehensive test suite + major stability fixes)
**Open Issues**: 64 catalogued issues from Gitea instance (14 closed) **Open Issues**: ~50 remaining from original 64 (closed 14 + fixed 12 today)
---
## 🎉 TODAY'S ACHIEVEMENTS (2025-01-03)
In a single productive session, we fixed 12+ critical bugs and implemented missing features:
### Critical Bug Fixes:
- **Grid Segfault** - Fixed crash when texture is None/null, added default 16x16 cell dimensions
- **Issue #78** - Fixed middle mouse click incorrectly sending 'C' keyboard event (SFML event union bug)
- **Issue #77** - Fixed error message copy/paste bug in Grid validation
- **Issue #74** - Added missing Grid.grid_y property (closes #74)
- **Entity Setters** - Fixed "new style getargs format" error with proper PyVector conversion
- **PyVector** - Implemented missing x/y property getters and setters
- **Sprite Texture** - Fixed setter returning -1 without setting exception
- **keypressScene** - Added validation to reject non-callable arguments
### New Features Implemented:
- **Issue #73** - Entity.index() method for finding position in collection (closes #73)
- **Issue #27** - EntityCollection.extend() for adding multiple entities at once (closes #27)
- **Issue #33** - Sprite index validation against texture bounds (closes #33)
- **Issue #3** - Removed deprecated player_input and turn-based functions (partial)
### Test-Driven Development:
Every fix was accompanied by a comprehensive test using the timer callback pattern.
All tests verify the fix and ensure no regressions.
--- ---