Compress ROADMAP.md and archive completed test files

- Condensed 'Today's Achievements' section for clarity
- Archived 9 completed test files from bug fixing session
- Updated task completion status for issues fixed today
- Identified 5 remaining Alpha blockers as next priority

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
John McCardle 2025-07-03 23:05:30 -04:00
parent af6a5e090b
commit 0d26d51bc3
10 changed files with 22 additions and 36 deletions

View File

@ -3,36 +3,18 @@
## 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 Update**: Fixed 12+ critical bugs in one day! (2025-01-03) **Latest Update**: Major code cleanup and 14 issues resolved (2025-01-03)
**Branch**: interpreter_mode (comprehensive test suite + major stability fixes) **Branch**: interpreter_mode (comprehensive test suite + major stability fixes)
**Open Issues**: ~48 remaining from original 64 (closed 14 + fixed 14 today) **Open Issues**: ~48 remaining from original 64 (closed 14 + fixed 14 today)
--- ---
## 🎉 TODAY'S ACHIEVEMENTS (2025-01-03) ## Recent Achievements (2025-01-03)
In a single productive session, we fixed 12+ critical bugs and implemented missing features: **Major Cleanup**: Removed deprecated registerPyAction system (-180 lines)
**Bug Fixes**: 12 critical issues including Grid segfault, Issue #78 (middle click), Entity setters
### Critical Bug Fixes: **New Features**: Entity.index() (#73), EntityCollection.extend() (#27), Sprite validation (#33)
- **Grid Segfault** - Fixed crash when texture is None/null, added default 16x16 cell dimensions **Test Coverage**: Comprehensive test suite with timer callback pattern established
- **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 (closes #3)
- **Issue #2** - Removed entire registerPyAction/registerInputAction system (closes #2)
### 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.
--- ---
@ -94,23 +76,27 @@ Created comprehensive test suite with 13 tests covering all Python-exposed metho
--- ---
## 🚧 IMMEDIATE PRIORITY: Critical Bugfixes & Iterator Completion ## 🚧 NEXT PRIORITY: Alpha Release Blockers
### 🔥 Critical Bugfixes (Complete First) ### Remaining Alpha Blockers (5 issues):
- [ ] **CRITICAL: Grid Segfault** - Grid class crashes on instantiation (blocks ALL Grid functionality) - *High Priority* 1. **#69** - Python Sequence Protocol for collections - *Extensive Overhaul*
- [ ] **#78** - Middle Mouse Click sends "C" keyboard event to scene event handler - *Confirmed Bug* 2. **#63** - Z-order rendering for UIDrawables - *Multiple Integrations*
- [ ] **#77** - Fix error message copy/paste bug (`x value out of range (0, Grid.grid_y)`) - *Isolated Fix* 3. **#59** - Animation system - *Extensive Overhaul*
- [ ] **#74** - Add missing `Grid.grid_y` property referenced in error messages - *Isolated Fix* 4. **#6** - RenderTexture concept - *Extensive Overhaul*
5. **#47** - New README.md for Alpha release - *Quick Win*
- [x] **#78** - Middle Mouse Click sends "C" keyboard event - *Fixed*
- [x] **#77** - Fix error message copy/paste bug - *Fixed*
- [x] **#74** - Add missing `Grid.grid_y` property - *Fixed*
- [ ] **#37** - Fix Windows build module import from "scripts" directory - *Isolated Fix* - [ ] **#37** - Fix Windows build module import from "scripts" directory - *Isolated Fix*
- [ ] **Entity Property Setters** - Fix "new style getargs format" error - *Multiple Fixes* - [x] **Entity Property Setters** - Fix "new style getargs format" error - *Fixed*
- [ ] **Sprite Texture Setter** - Fix "error return without exception set" - *Isolated Fix* - [x] **Sprite Texture Setter** - Fix "error return without exception set" - *Fixed*
- [ ] **keypressScene() Validation** - Add proper error handling for non-callable arguments - *Isolated Fix* - [x] **keypressScene() Validation** - Add proper error handling - *Fixed*
### 🔄 Complete Iterator System ### 🔄 Complete Iterator System
**Status**: Core iterators complete (#72 closed), Grid point iterators still pending **Status**: Core iterators complete (#72 closed), Grid point iterators still pending
- [ ] **Grid Point Iterator Implementation** - Complete the remaining grid iteration work - [ ] **Grid Point Iterator Implementation** - Complete the remaining grid iteration work
- [ ] **#73** - Add `entity.index()` method for collection removal - *Isolated Fix* - [x] **#73** - Add `entity.index()` method for collection removal - *Fixed*
- [ ] **#69** ⚠️ **Alpha Blocker** - Refactor all collections to use Python Sequence Protocol - *Extensive Overhaul* - [ ] **#69** ⚠️ **Alpha Blocker** - Refactor all collections to use Python Sequence Protocol - *Extensive Overhaul*
**Dependencies**: Grid point iterators → #73 entity.index() → #69 Sequence Protocol overhaul **Dependencies**: Grid point iterators → #73 entity.index() → #69 Sequence Protocol overhaul
@ -158,7 +144,7 @@ Created comprehensive test suite with 13 tests covering all Python-exposed metho
- [ ] **#50** - UIGrid background color field - *Isolated Fix* - [ ] **#50** - UIGrid background color field - *Isolated Fix*
- [ ] **#19** - Sprite get/set texture methods - *Multiple Integrations* - [ ] **#19** - Sprite get/set texture methods - *Multiple Integrations*
- [ ] **#17** - Move UISprite position into sf::Sprite - *Isolated Fix* - [ ] **#17** - Move UISprite position into sf::Sprite - *Isolated Fix*
- [ ] **#33** - Sprite index validation against texture range - *Isolated Fix* - [x] **#33** - Sprite index validation against texture range - *Fixed*
#### Grid/Entity System (6 issues) #### Grid/Entity System (6 issues)
- [ ] **#30** - Entity/Grid association management (.die() method) - *Extensive Overhaul* - [ ] **#30** - Entity/Grid association management (.die() method) - *Extensive Overhaul*
@ -183,7 +169,7 @@ Created comprehensive test suite with 13 tests covering all Python-exposed metho
- [ ] **#41** - `.find(name)` method for collections - *Multiple Integrations* - [ ] **#41** - `.find(name)` method for collections - *Multiple Integrations*
- [ ] **#38** - `children` arg for Frame initialization - *Isolated Fix* - [ ] **#38** - `children` arg for Frame initialization - *Isolated Fix*
- [ ] **#42** - Click callback arg for UIDrawable init - *Isolated Fix* - [ ] **#42** - Click callback arg for UIDrawable init - *Isolated Fix*
- [ ] **#27** - UIEntityCollection.extend() method - *Isolated Fix* - [x] **#27** - UIEntityCollection.extend() method - *Fixed*
- [ ] **#28** - UICollectionIter for scene ui iteration - *Isolated Fix* - [ ] **#28** - UICollectionIter for scene ui iteration - *Isolated Fix*
- [ ] **#26** - UIEntityCollectionIter implementation - *Isolated Fix* - [ ] **#26** - UIEntityCollectionIter implementation - *Isolated Fix*