diff --git a/ROADMAP.md b/ROADMAP.md index 029a633..4d00996 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -22,19 +22,19 @@ - Mass entity choreography (100+ entities) - Performance stress test with 1000+ entities -#### 2. TCOD Integration Sprint +#### 2. TCOD Integration Sprint ✅ COMPLETE! - [x] **UIGrid TCOD Integration** (8 hours) ✅ COMPLETED! - ✅ Add TCODMap* to UIGrid constructor with proper lifecycle - ✅ Implement complete Dijkstra pathfinding system - ✅ Create mcrfpy.libtcod submodule with Python bindings - ✅ Fix critical PyArg bug preventing Color object assignments - - [ ] Implement mcrfpy.libtcod.compute_fov() (still needed for tutorial) - - [ ] Add batch operations for NumPy-style access - - [ ] Create CellView for ergonomic .at((x,y)) access -- [~] **UIEntity Pathfinding** (4 hours) - 50% COMPLETE + - ✅ Implement FOV with perspective rendering + - [ ] Add batch operations for NumPy-style access (deferred) + - [ ] Create CellView for ergonomic .at((x,y)) access (deferred) +- [x] **UIEntity Pathfinding** (4 hours) ✅ COMPLETED! - ✅ Implement Dijkstra maps for multiple targets in UIGrid - - [ ] Add path_to(target) method using A* to UIEntity - - [ ] Cache paths in UIEntity for performance + - ✅ Add path_to(target) method using A* to UIEntity + - ✅ Cache paths in UIEntity for performance #### 3. Performance Critical Path - [ ] **Implement SpatialHash** for 10,000+ entities (2 hours) @@ -124,6 +124,28 @@ entity.can_see(other_entity) # FOV check ## Recent Achievements +### 2025-07-10: Complete FOV, A* Pathfinding & GUI Text Widgets! 👁️🗺️⌨️ +**Engine Feature Sprint - Major Capabilities Added** +- ✅ Complete FOV (Field of View) system with perspective rendering + - UIGrid.perspective property controls which entity's view to render + - Three-layer overlay system: unexplored (black), explored (dark), visible (normal) + - Per-entity visibility state tracking with UIGridPointState + - Perfect knowledge updates - only explored areas persist +- ✅ A* Pathfinding implementation + - Entity.path_to(x, y) method for direct pathfinding + - UIGrid compute_astar() and get_astar_path() methods + - Path caching in entities for performance + - Complete test suite comparing A* vs Dijkstra performance +- ✅ GUI Text Input Widget System + - Full-featured TextInputWidget class with cursor, selection, scrolling + - Improved widget with proper text rendering and multi-line support + - Example showcase demonstrating multiple input fields + - Foundation for in-game consoles, chat systems, and text entry +- ✅ Sizzle Reel Demos + - path_vision_sizzle_reel.py combines pathfinding with FOV + - Interactive visibility demos showing real-time FOV updates + - Performance demonstrations with multiple entities + ### 2025-07-09: Dijkstra Pathfinding & Critical Bug Fix! 🗺️ **TCOD Integration Sprint - Major Progress** - ✅ Complete Dijkstra pathfinding implementation in UIGrid