From 0c2cb0006c97ee7c81f8b202dd71e391f71f7e23 Mon Sep 17 00:00:00 2001 From: John McCardle Date: Sat, 7 Feb 2026 23:01:07 +0000 Subject: [PATCH] Update "Issue-Roadmap.-" --- Issue-Roadmap.-.md | 226 ++++++++++++++++++++++++++++++ Issue-Roadmap.md | 339 --------------------------------------------- 2 files changed, 226 insertions(+), 339 deletions(-) create mode 100644 Issue-Roadmap.-.md delete mode 100644 Issue-Roadmap.md diff --git a/Issue-Roadmap.-.md b/Issue-Roadmap.-.md new file mode 100644 index 0000000..9b64662 --- /dev/null +++ b/Issue-Roadmap.-.md @@ -0,0 +1,226 @@ +# Issue Roadmap + +**Status:** 32 open issues (as of February 2026) +**Organization:** Issues grouped by system and priority tier + +**Related Pages:** +- [[Strategic-Direction]] - Project priorities +- [[Design-Proposals]] - Major architectural proposals +- [[Home]] - Documentation hub + +--- + +## Overview + +McRogueFace has made substantial progress since October 2025, closing over 60 issues across performance, animation, UI hierarchy, input handling, procedural generation, and cross-platform deployment. The engine now has a mature foundation with 32 remaining open issues, most of which are tier 2-3 enhancement work rather than blocking foundation issues. + +**Priority Tiers:** +- **Tier 1: Active Development** - Current focus, critical path items +- **Tier 2: Foundation Work** - Important but not blocking near-term goals +- **Tier 3: Future Features** - Deferred until after current priorities +- **Tier 4: Deferred** - Long-term / speculative + +--- + +## Recently Completed Milestones + +The engine has been exceptionally productive since October 2025. Major systems that are now **done**: + +### Performance Foundation (All Complete) +- [#104](../issues/104) Basic profiling/metrics +- [#113](../issues/113) Batch operations for Grid +- [#115](../issues/115) SpatialHash implementation +- [#116](../issues/116) Dirty flag system +- [#144](../issues/144) Dirty flag caching +- [#146](../issues/146) FOV optimization + +### Animation System (All Complete) +- [#100](../issues/100) Rotation support +- [#119](../issues/119) Animation callbacks +- [#120](../issues/120) Animation property locking + +### Python Binding Layer (All Complete) +- [#101](../issues/101) Standardize constructor defaults +- [#109](../issues/109) mcrfpy.Vector convenience +- [#126](../issues/126) Perfect Python interface generation + +### Documentation Infrastructure (All Complete) +- [#91](../issues/91) Python type stub files (.pyi) +- [#92](../issues/92) Inline C++ documentation system (MCRF_* macros) +- [#97](../issues/97) Automated API documentation + +### UI Component Hierarchy (All Complete) +- [#102](../issues/102) Global position property +- [#118](../issues/118) Scene as drawable +- [#122](../issues/122) Parent-child UI system + +### Input System (All Complete) +- [#138](../issues/138)-[#142](../issues/142) AABB hit testing, mouse events, click/hover callbacks + +### Grid System (Major Progress) +- [#132](../issues/132) Grid children +- [#147](../issues/147)-[#150](../issues/150) Grid layer system (TileLayer, ColorLayer, WangTileLayer) + +### Procedural Generation (Complete System) +- [#192](../issues/192)-[#210](../issues/210) Full procgen toolkit: BSP, HeightMap, NoiseSource, DiscreteMap +- Tiled XML/JSON import pipeline +- LDtk import with auto-rule resolution + +### Cross-Platform (All Complete) +- [#157](../issues/157) Headless execution mode +- [#158](../issues/158) Emscripten/WASM deployment +- [#172](../issues/172)-[#173](../issues/173) Timer refactor + +### Rendering +- [#106](../issues/106) Shader support + +--- + +## Current Open Issues (32) + +### 3D System Gaps +*Tier 2 Foundation - VoxelGrid and Entity3D polish* + +| Issue | Title | Notes | +|-------|-------|-------| +| [#245](../issues/245) | screen_to_world() only intersects Y=0 plane | Limits 3D picking | +| [#244](../issues/244) | Entity3D.viewport returns None | Missing back-reference | +| [#243](../issues/243) | EntityCollection3D missing pop(), find(), extend() | API parity with 2D | +| [#242](../issues/242) | Entity3D.animate() raises NotImplementedError | Blocks 3D animation | + +--- + +### Rendering Enhancements + +| Issue | Title | Tier | +|-------|-------|------| +| [#237](../issues/237) | Multi-tile entities using composite sprites | Tier 3 | +| [#236](../issues/236) | Multi-tile entities using oversized sprites | Tier 3 | +| [#235](../issues/235) | Texture display bounds for non-uniform sprite content | Tier 3 | +| [#234](../issues/234) | Entity origin offset for oversized sprites | Tier 3 | +| [#233](../issues/233) | Enhance Entity rendering and positioning capabilities | Tier 3 | +| [#227](../issues/227) | Silent failure when RenderTexture creation fails | Tier 1 bugfix | +| [#107](../issues/107) | Particle system | Tier 3 | + +[#227](../issues/227) is the only tier 1 item here - a silent failure that should at minimum emit a warning. + +--- + +### WebAssembly / Playground + +*Tier 3 Future - WASM deployment is working; these improve developer experience* + +| Issue | Title | +|-------|-------| +| [#240](../issues/240) | Playground troubleshooting docs | +| [#239](../issues/239) | Automated WASM testing infrastructure | +| [#238](../issues/238) | Emscripten debugging infrastructure | + +--- + +### Animation + +| Issue | Title | Tier | +|-------|-------|------| +| [#218](../issues/218) | mcrfpy.Color and mcrfpy.Vector animation targets | Tier 2 | + +--- + +### Grid System + +| Issue | Title | Tier | +|-------|-------|------| +| [#152](../issues/152) | Sparse Grid Layers | Tier 3 | +| [#149](../issues/149) | Reduce UIGrid.cpp size (refactor) | Tier 3 | +| [#145](../issues/145) | TexturePool with power-of-2 bucketing | Tier 4 | +| [#124](../issues/124) | Grid Point Animation | Tier 4 | +| [#67](../issues/67) | Grid Stitching: infinite world | Tier 3 | + +--- + +### Performance + +| Issue | Title | Tier | +|-------|-------|------| +| [#117](../issues/117) | Memory Pool for Entities | Tier 3 | + +The performance foundation is complete (profiling, spatial hash, dirty flags, batch ops, FOV optimization). This remaining issue is an advanced optimization for entity-heavy scenarios. + +--- + +### LLM Agent Testbed + +*Tier 2-3 - Research and experimentation platform* + +| Issue | Title | Tier | +|-------|-------|------| +| [#156](../issues/156) | Turn-based LLM Agent Orchestration | Tier 2 | +| [#154](../issues/154) | Grounded Multi-Agent Testbed | Tier 2 | +| [#55](../issues/55) | Agent Simulation Environment | Tier 3 | + +--- + +### Platform & Distribution + +| Issue | Title | Tier | +|-------|-------|------| +| [#220](../issues/220) | Subinterpreter Support | Tier 4 | +| [#70](../issues/70) | Package without embedded interpreter | Tier 3 | +| [#62](../issues/62) | Multiple Windows | Tier 3 | +| [#54](../issues/54) | Jupyter Notebook Interface | Tier 3 | +| [#53](../issues/53) | Alternative Input Methods | Tier 2 | +| [#46](../issues/46) | Subinterpreter tests | Tier 4 | +| [#45](../issues/45) | Accessibility modes | Tier 4 | + +--- + +### Tutorial & Demo + +| Issue | Title | Tier | +|-------|-------|------| +| [#167](../issues/167) | r/roguelikedev Tutorial Series Demo Game | Tier 2 | + +--- + +## Immediate Focus: 7DRL 2026 + +**7DRL 2026 is imminent (February/March 2026).** The engine is in strong shape for a game jam entry. Current priorities: + +1. **Stability over new features** - The engine has a comprehensive feature set; focus on polish and bug fixes +2. [#227](../issues/227) **RenderTexture silent failure** - The one tier 1 bugfix that could cause hard-to-debug issues during a jam +3. **3D system polish** ([#242](../issues/242)-[#245](../issues/245)) - If 7DRL uses the 3D/voxel system, these gaps need attention +4. **Tutorial demo game** ([#167](../issues/167)) - Validates the full engine workflow + +The completed procgen system (BSP, noise, heightmaps, Tiled/LDtk import, Wang tiles) and the mature animation, input, and UI systems provide a solid foundation for rapid game development. + +--- + +## Issue Statistics + +**By Priority Tier:** +- Tier 1 (Active): 1 issue ([#227](../issues/227)) +- Tier 2 (Foundation): 8 issues +- Tier 3 (Future): 16 issues +- Tier 4 (Deferred): 4 issues +- Untiered: 3 issues (WASM tooling) + +**By System:** +- 3D System: 4 issues +- Rendering: 7 issues +- WebAssembly: 3 issues +- Animation: 1 issue +- Grid System: 5 issues +- Performance: 1 issue +- LLM Agent: 3 issues +- Platform/Distribution: 7 issues +- Tutorial/Demo: 1 issue + +--- + +**Navigation:** +- [[Home]] - Documentation hub +- [[Strategic-Direction]] - Project priorities and decision framework +- [[Design-Proposals]] - Architectural proposals +- [Gitea Issues](../issues) - Live issue tracker + +*Last updated: 2026-02-07* \ No newline at end of file diff --git a/Issue-Roadmap.md b/Issue-Roadmap.md deleted file mode 100644 index 023b2b2..0000000 --- a/Issue-Roadmap.md +++ /dev/null @@ -1,339 +0,0 @@ -# Issue Roadmap - -**Status:** 46 open issues (as of October 2025) -**Organization:** Issues grouped by system and priority tier - -**Related Pages:** -- [[Strategic-Direction]] - Project priorities -- [[Design-Proposals]] - Major architectural proposals -- [[Home]] - Documentation hub - ---- - -## Overview - -This page organizes McRogueFace's 46 open issues by system and priority. Use this to understand what's being worked on and what's planned. - -**Priority Tiers:** -- **Tier 1: Active Development** - Current focus, critical path to v1.0 -- **Tier 2: Foundation Work** - Important but not blocking v1.0 -- **Tier 3: Future Features** - Deferred until after v1.0 - ---- - -## Tier 1: Active Development (Foundation) - -### Performance & Optimization System - -**Priority:** IMMEDIATE - Critical path to v1.0 - -| Issue | Title | Status | -|-------|-------|--------| -| [#104](../issues/104) | Basic profiling/metrics | ✅ Completed Oct 2025 | -| [#116](../issues/116) | Dirty Flag System | 🔄 Next priority | -| [#115](../issues/115) | SpatialHash Implementation | 🔄 High priority | -| [#117](../issues/117) | Memory Pool for Entities | ⏳ After SpatialHash | -| [#113](../issues/113) | Batch Operations for Grid | ⏳ After dirty flags | - -**Related Wiki:** [[Performance-and-Profiling]] - -**Goal:** 60 FPS with 10,000 entities and 100x100 grid - ---- - -### Animation System - -**Priority:** HIGH - Blocks tutorial completion - -| Issue | Title | Status | -|-------|-------|--------| -| [#120](../issues/120) | Animation Property Locking | ⏳ After performance work | -| [#100](../issues/100) | Rotation Support | ⏳ API consistency needed | - -**Related Wiki:** [[Animation-System]] - -**Goal:** Consistent API suitable for tutorials - ---- - -### Grid System - -**Priority:** HIGH - Performance and features - -| Issue | Title | Status | -|-------|-------|--------| -| [#124](../issues/124) | Grid Point Animation | ⏳ Depends on animation fixes | -| [#123](../issues/123) | Grid Subgrid System | ⏳ Large world support | -| [#114](../issues/114) | CellView API | ⏳ Grid ergonomics | -| [#64](../issues/64) | TCOD GridPointState updates | ⏳ FOV integration | - -**Related Wiki:** [[Grid-System]], [[Grid-Rendering-Pipeline]], [[Grid-TCOD-Integration]] - ---- - -### Python Binding Layer - -**Priority:** HIGH - API consistency for v1.0 - -| Issue | Title | Status | -|-------|-------|--------| -| [#126](../issues/126) | Perfect Python Interface Generation | ⏳ After API stabilization | -| [#109](../issues/109) | mcrfpy.Vector Convenience | ⏳ Minor ergonomics | -| [#101](../issues/101) | Standardize Constructor Defaults | ⏳ API consistency | - -**Related Wiki:** [[Python-Binding-Layer]], [[Adding-Python-Bindings]] - ---- - -### Documentation - -**Priority:** HIGH - Needed for v1.0 release - -| Issue | Title | Status | -|-------|-------|--------| -| [#92](../issues/92) | Inline C++ Documentation System | ⏳ Infrastructure exists | -| [#91](../issues/91) | Python Type Stub Files (.pyi) | ⏳ IDE support | -| [#97](../issues/97) | Automated API Documentation | ⏳ Extract from inline docs | -| [#48](../issues/48) | Compilation Guide | ⏳ Developer onboarding | - -**Related Wiki:** [[Adding-Python-Bindings]] (inline docs section) - ---- - -## Tier 2: Foundation Work - -### UI Component Hierarchy - -**Priority:** MEDIUM - Architectural improvements - -| Issue | Title | Status | -|-------|-------|--------| -| [#122](../issues/122) | Parent-Child UI System | ⏳ UI architecture enhancement | -| [#118](../issues/118) | Scene as Drawable | ⏳ Composition pattern | -| [#102](../issues/102) | Global Position Property | ⏳ Nested UI support | -| [#10](../issues/10) | Visibility: Skip Render/Click | ⏳ Performance optimization | - -**Related Wiki:** [[UI-Component-Hierarchy]] - ---- - -### Input & Events - -**Priority:** MEDIUM - Fix bugs, improve ergonomics - -| Issue | Title | Status | -|-------|-------|--------| -| [#111](../issues/111) | Click Events Broken in Headless | 🐛 Bug - headless mode | -| [#1](../issues/1) | Resize Event for Scene | ⏳ Window management | -| [#53](../issues/53) | Alternative Input Methods | ⏳ Accessibility | - -**Related Wiki:** [[Input-and-Events]] - ---- - -### Grid Utilities - -**Priority:** MEDIUM - Quality of life - -| Issue | Title | Status | -|-------|-------|--------| -| [#20](../issues/20) | UIGrid: Replace Vector Getters/Setters | ⏳ API cleanup | -| [#16](../issues/16) | Map Data via GridPointState | ⏳ Data access pattern | -| [#15](../issues/15) | UIGridPointState Collection | ⏳ Collection pattern | - -**Related Wiki:** [[Grid-System]] - ---- - -### UI Element Management - -**Priority:** LOW - Nice to have - -| Issue | Title | Status | -|-------|-------|--------| -| [#41](../issues/41) | Use Names as Tags / .find() | ⏳ Element search | -| [#40](../issues/40) | UIDrawable Overwriting by Name | ⏳ Element management | - -**Related Wiki:** [[UI-Component-Hierarchy]] - ---- - -## Tier 3: Future Features (Post-v1.0) - -### Advanced Rendering - -**Priority:** LOW - Post-v1.0 - -| Issue | Title | Status | -|-------|-------|--------| -| [#107](../issues/107) | Particle System | ⏸️ Deferred - advanced feature | -| [#106](../issues/106) | Shader Support | ⏸️ Deferred - advanced feature | - -**Rationale:** Advanced rendering features add complexity. Focus on foundation first. - ---- - -### Distribution & Packaging - -**Priority:** MEDIUM - Post-v1.0 API freeze - -| Issue | Title | Status | -|-------|-------|--------| -| [#70](../issues/70) | Package without Embedded Interpreter | ⏸️ Deferred - needs stable API | - -**Rationale:** Wait for v1.0 API freeze before packaging work. - -See [[Strategic-Direction]] for pip packaging discussion. - ---- - -### Demo Targets - -**Priority:** LOW - Community engagement - -| Issue | Title | Status | -|-------|-------|--------| -| [#67](../issues/67) | Grid Stitching: Infinite World | ⏸️ Demo - technical showcase | -| [#62](../issues/62) | Multiple Windows | ⏸️ Demo - advanced use case | -| [#55](../issues/55) | Agent Simulation Environment | ⏸️ Demo - research use case | -| [#54](../issues/54) | Jupyter Notebook Interface | ⏸️ Demo - research/teaching | -| [#46](../issues/46) | Subinterpreter Tests | ⏸️ Demo - technical exploration | -| [#45](../issues/45) | Accessibility Modes | ⏸️ Demo - accessibility showcase | -| [#36](../issues/36) | SFML-DearImgui Usage | ⏸️ Demo - UI framework integration | - -**Rationale:** Demos are valuable for showcasing capabilities but not critical for v1.0. - ---- - -### Platform & Integration - -**Priority:** LOW - Specialized use cases - -| Issue | Title | Status | -|-------|-------|--------| -| [#125](../issues/125) | Gitea/Forgejo Issues Automation | ⏸️ Tooling - project management | -| [#75](../issues/75) | "Not Responding" with REPL | 🐛 Bug - REPL interaction | -| [#66](../issues/66) | Standardize Audio Handling | ⏸️ Audio system refactor | -| [#65](../issues/65) | Python Explorer Scene / Console | ⏸️ Developer tools | -| [#35](../issues/35) | TCOD as Built-in Module | ⏸️ Distribution enhancement | -| [#14](../issues/14) | SFML Python Library | ⏸️ Library extraction | - ---- - -## System Labels (Proposed) - -To improve organization, these system labels are recommended: - -**System Labels:** -- `system:grid` - Grid system and spatial containers -- `system:animation` - Animation and property interpolation -- `system:ui-hierarchy` - UI component hierarchy and composition -- `system:python-binding` - Python/C++ binding layer -- `system:performance` - Performance optimization and profiling -- `system:documentation` - Documentation infrastructure -- `system:rendering` - Rendering pipeline and visuals -- `system:input` - Input handling and events - -**Priority Labels:** -- `priority:tier1-active` - Current development focus -- `priority:tier2-foundation` - Important foundation work -- `priority:tier3-future` - Future/deferred features - -**Workflow Labels:** -- `workflow:needs-documentation` - Needs docs before/after implementation -- `workflow:needs-benchmark` - Needs performance testing -- `workflow:blocked-by-foundation` - Waiting on foundation fixes - -See Phase 3 of wiki migration for label creation and tagging. - ---- - -## Critical Path to v1.0 - -Based on [[Strategic-Direction]], the critical path is: - -``` -1. Performance Foundation (Oct-Nov 2025) - - Grid dirty flags (#116) - - SpatialHash (#115) - - Batch operations (#113) - ↓ -2. Animation System Overhaul (Dec 2025-Jan 2026) - - Property locking (#120) - - Rotation support (#100) - - API consistency - ↓ -3. Tutorial Completion (Feb-Mar 2026) - - Parts 7-10 on stable foundation - - Testing framework - - Documentation sprint - ↓ -4. v1.0 Release (Apr 2026) - - API freeze - - Python wheel packaging (#70) - - Public announcement -``` - -**Timeline:** 6 months to v1.0 - ---- - -## Monthly Priorities - -### October 2025 (Current) -- ✅ Profiling system (#104) - Complete -- ✅ Wiki documentation migration - In progress -- 🔄 Issue organization and labeling - -### November 2025 -- Grid dirty flags (#116) -- SpatialHash implementation (#115) -- Performance benchmarking - -### December 2025 - January 2026 -- Animation property locking (#120) -- Animation API consistency -- Rotation support (#100) - -### February - March 2026 -- Tutorial completion (parts 7-10) -- Documentation sprint (#92, #91, #97) -- Testing framework - -### April 2026 -- v1.0 API freeze -- Python wheel packaging (#70) -- Public release - ---- - -## Issue Statistics - -**By Priority Tier:** -- Tier 1 (Active): 14 issues -- Tier 2 (Foundation): 11 issues -- Tier 3 (Future): 21 issues - -**By System:** -- Performance: 5 issues -- Grid System: 8 issues -- Animation: 2 issues -- Python Binding: 3 issues -- UI Hierarchy: 4 issues -- Documentation: 4 issues -- Demo Targets: 7 issues -- Other: 13 issues - -**By Status:** -- ✅ Completed: 1 (#104) -- 🔄 In Progress: 2 (#116, #115) -- ⏳ Planned: 22 -- ⏸️ Deferred: 21 - ---- - -**Navigation:** -- [[Home]] - Documentation hub -- [[Strategic-Direction]] - Project priorities and decision framework -- [[Design-Proposals]] - Architectural proposals -- [Gitea Issues](../issues) - Live issue tracker \ No newline at end of file