diff --git a/ROADMAP.md b/ROADMAP.md index 3010063..6efe5ac 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -3,14 +3,23 @@ ## Project Status: Post-7DRL 2025 "Crypt of Sokoban" **Current State**: Successful 7DRL completion with Python/C++ game engine -**Latest Update**: Major code cleanup and 14 issues resolved (2025-01-03) -**Branch**: interpreter_mode (comprehensive test suite + major stability fixes) -**Open Issues**: ~48 remaining from original 64 (closed 14 + fixed 14 today) +**Latest Update**: Animation system complete! Issue #59 resolved (2025-07-05) +**Branch**: interpreter_mode (animation system + property interpolation for all UI classes) +**Open Issues**: ~47 remaining from original 64 (closed 15 + fixed 14 previously) --- -## Recent Achievements (2025-01-03) +## Recent Achievements +### 2025-07-05: Animation System Complete! 🎉 +**Issue #59 Resolved**: Comprehensive animation system with 30+ easing functions +- Property-based animations for all UI classes (Frame, Caption, Sprite, Grid, Entity) +- Individual color component animation (r/g/b/a) +- Sprite sequence animation and text typewriter effects +- Pure C++ execution without Python callbacks +- Delta animation support for relative values + +### 2025-01-03: Major Stability Update **Major Cleanup**: Removed deprecated registerPyAction system (-180 lines) **Bug Fixes**: 12 critical issues including Grid segfault, Issue #78 (middle click), Entity setters **New Features**: Entity.index() (#73), EntityCollection.extend() (#27), Sprite validation (#33) @@ -41,6 +50,8 @@ 2. **Honor system for scripts** - Scripts must return control to C++ render loop 3. **Shared Python state** - All --exec scripts share the same interpreter 4. **No threading complexity** - Chose simplicity over parallelism (see THREADING_FOOTGUNS.md) +5. **Animation system in pure C++** - All interpolation happens in C++ for performance +6. **Property-based animation** - Unified interface for all UI element properties #### Key Files Created: - `src/McRFPy_Automation.h/cpp` - Complete automation API implementation @@ -78,10 +89,10 @@ Created comprehensive test suite with 13 tests covering all Python-exposed metho ## 🚧 NEXT PRIORITY: Alpha Release Blockers -### Remaining Alpha Blockers (5 issues): +### Remaining Alpha Blockers (4 issues): 1. **#69** - Python Sequence Protocol for collections - *Extensive Overhaul* 2. **#63** - Z-order rendering for UIDrawables - *Multiple Integrations* -3. **#59** - Animation system - *Extensive Overhaul* +3. ~~**#59** - Animation system~~ - *Completed! (2025-07-05)* 4. **#6** - RenderTexture concept - *Extensive Overhaul* 5. ~~**#47** - New README.md for Alpha release~~ - *Completed* - [x] **#78** - Middle Mouse Click sends "C" keyboard event - *Fixed* @@ -103,12 +114,12 @@ Created comprehensive test suite with 13 tests covering all Python-exposed metho --- -## 🎯 ALPHA 0.1 RELEASE BLOCKERS (6 Issues) +## 🎯 ALPHA 0.1 RELEASE BLOCKERS (4 Remaining) ### ⚠️ Must Complete Before Alpha Release - [ ] **#69** - Collections use Python Sequence Protocol - *Extensive Overhaul* - [ ] **#63** - Z-order rendering for UIDrawables - *Multiple Integrations* -- [ ] **#59** - Animation system for arbitrary UIDrawable fields - *Extensive Overhaul* +- [x] **#59** - Animation system for arbitrary UIDrawable fields - *Completed! (2025-07-05)* - [ ] **#6** - RenderTexture concept for all UIDrawables - *Extensive Overhaul* - [x] **#47** - New README.md for Alpha release - *Completed* - [x] **#3** - Remove deprecated `McRFPy_API::player_input` - *Completed* @@ -135,7 +146,7 @@ Created comprehensive test suite with 13 tests covering all Python-exposed metho #### UI/Rendering System (12 issues) - [ ] **#63** ⚠️ **Alpha Blocker** - Z-order for UIDrawables - *Multiple Integrations* -- [ ] **#59** ⚠️ **Alpha Blocker** - Animation system - *Extensive Overhaul* +- [x] **#59** ⚠️ **Alpha Blocker** - Animation system - *Completed! (2025-07-05)* - [ ] **#6** ⚠️ **Alpha Blocker** - RenderTexture for all UIDrawables - *Extensive Overhaul* - [ ] **#10** - UIDrawable visibility/AABB system - *Extensive Overhaul* - [ ] **#8** - UIGrid RenderTexture viewport sizing - *Multiple Integrations* @@ -224,8 +235,8 @@ REMAINING IN PHASE 1: 1. Collections Sequence Protocol (#69) - Major refactor, alpha blocker 2. Z-order rendering (#63) - Essential UI improvement, alpha blocker 3. RenderTexture overhaul (#6) - Core rendering improvement, alpha blocker -4. Animation system (#59) - Major feature, alpha blocker -5. Documentation (#47, #48) - Complete alpha release docs +4. ✅ Animation system (#59) - COMPLETE! 30+ easing functions, all UI properties +5. ✅ Documentation (#47) - README.md complete, #48 dependency docs remaining ``` ### Phase 3: Engine Architecture (6-8 weeks) @@ -317,9 +328,9 @@ REMAINING IN PHASE 1: --- -*Last Updated: 2025-07-03* -*Total Open Issues: 64* (from original 78) -*Alpha Blockers: 7* -*Current Work: Python interpreter mode features (--exec flag, automation API)* -*Next Session: Continue interpreter mode or switch to critical bugfixes* +*Last Updated: 2025-07-05* +*Total Open Issues: 63* (from original 78) +*Alpha Blockers: 4* (was 7 - completed #59 Animation, #47 README, #3/#2 deprecated methods) +*Current Work: Animation system complete! Property interpolation for all UI classes* +*Next Session: Z-order rendering (#63) or Python Sequence Protocol (#69)*