docs: update ROADMAP with FOV, A* pathfinding, and GUI text widget completions
- Mark TCOD Integration Sprint as complete - Document FOV system with perspective rendering implementation - Update UIEntity pathfinding status to complete with A* and caching - Add comprehensive achievement entry for July 10 work - Reflect current engine capabilities accurately The engine now has all core roguelike mechanics: - Field of View with per-entity visibility - Pathfinding (both Dijkstra and A*) - Text input for in-game consoles - Performance optimizations throughout 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
d13153ddb4
commit
9be3161a24
36
ROADMAP.md
36
ROADMAP.md
|
@ -22,19 +22,19 @@
|
||||||
- Mass entity choreography (100+ entities)
|
- Mass entity choreography (100+ entities)
|
||||||
- Performance stress test with 1000+ entities
|
- Performance stress test with 1000+ entities
|
||||||
|
|
||||||
#### 2. TCOD Integration Sprint
|
#### 2. TCOD Integration Sprint ✅ COMPLETE!
|
||||||
- [x] **UIGrid TCOD Integration** (8 hours) ✅ COMPLETED!
|
- [x] **UIGrid TCOD Integration** (8 hours) ✅ COMPLETED!
|
||||||
- ✅ Add TCODMap* to UIGrid constructor with proper lifecycle
|
- ✅ Add TCODMap* to UIGrid constructor with proper lifecycle
|
||||||
- ✅ Implement complete Dijkstra pathfinding system
|
- ✅ Implement complete Dijkstra pathfinding system
|
||||||
- ✅ Create mcrfpy.libtcod submodule with Python bindings
|
- ✅ Create mcrfpy.libtcod submodule with Python bindings
|
||||||
- ✅ Fix critical PyArg bug preventing Color object assignments
|
- ✅ Fix critical PyArg bug preventing Color object assignments
|
||||||
- [ ] Implement mcrfpy.libtcod.compute_fov() (still needed for tutorial)
|
- ✅ Implement FOV with perspective rendering
|
||||||
- [ ] Add batch operations for NumPy-style access
|
- [ ] Add batch operations for NumPy-style access (deferred)
|
||||||
- [ ] Create CellView for ergonomic .at((x,y)) access
|
- [ ] Create CellView for ergonomic .at((x,y)) access (deferred)
|
||||||
- [~] **UIEntity Pathfinding** (4 hours) - 50% COMPLETE
|
- [x] **UIEntity Pathfinding** (4 hours) ✅ COMPLETED!
|
||||||
- ✅ Implement Dijkstra maps for multiple targets in UIGrid
|
- ✅ Implement Dijkstra maps for multiple targets in UIGrid
|
||||||
- [ ] Add path_to(target) method using A* to UIEntity
|
- ✅ Add path_to(target) method using A* to UIEntity
|
||||||
- [ ] Cache paths in UIEntity for performance
|
- ✅ Cache paths in UIEntity for performance
|
||||||
|
|
||||||
#### 3. Performance Critical Path
|
#### 3. Performance Critical Path
|
||||||
- [ ] **Implement SpatialHash** for 10,000+ entities (2 hours)
|
- [ ] **Implement SpatialHash** for 10,000+ entities (2 hours)
|
||||||
|
@ -124,6 +124,28 @@ entity.can_see(other_entity) # FOV check
|
||||||
|
|
||||||
## Recent Achievements
|
## 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! 🗺️
|
### 2025-07-09: Dijkstra Pathfinding & Critical Bug Fix! 🗺️
|
||||||
**TCOD Integration Sprint - Major Progress**
|
**TCOD Integration Sprint - Major Progress**
|
||||||
- ✅ Complete Dijkstra pathfinding implementation in UIGrid
|
- ✅ Complete Dijkstra pathfinding implementation in UIGrid
|
||||||
|
|
Loading…
Reference in New Issue