# Roadmap **Last Updated: November 29, 2025** This roadmap tracks upcoming releases and major ongoing initiatives. ## Current Focus (v0.5.0) - **SDL3 Migration**: Switch to SDL3 with GPU-based rendering, port editors to new backend - **Plugin Architecture**: Initial framework for community extensions - **Editor Polish**: Tile16 palette fixes, overworld sprite workflow, dungeon editor improvements - **Emulator Input/Render**: PPU catch-up, dungeon preview render service, and input persistence ### WASM Web Port Status **Status**: Technically complete but **EXPERIMENTAL/PREVIEW** - ✅ Build system, file loading, basic editors functional; GH Pages deploy path hardened (web-build caching/branch gating, updated `src/web/` structure). - ✅ New browser UI: command palette, file manager, pixel inspector, panelized shell UI, theme definitions, touch gesture support, and expanded debug hooks. - ✅ Async queue/serialization guard to avoid Asyncify crashes; browser `yaze_agent` build enabled with web AI providers. - ⚠️ Editors are incomplete/preview quality - not production-ready; emulator audio/plugins/advanced editing still missing; WASM FS/persistence hardening in progress (another agent). - **Recommendation**: Desktop build for serious ROM hacking - **Documentation**: See `docs/public/usage/web-app.md` ## 0.4.0 (Current Release) - Music Editor & UI Polish **Status:** Released **Type:** Feature Release **Released:** November 2025 ### Highlights #### Music Editor (New!) - ✅ Complete SPC music editing with tracker and piano roll views - ✅ Authentic N-SPC audio preview with ADSR envelopes - ✅ Instrument and sample editors with bank management - ✅ Piano roll with playback cursor, note editing, and velocity control - ✅ ASM export/import for custom music integration - ✅ Per-song tracker windows (like dungeon room cards) - ✅ Layout system integration with staggered default positions ### Completed ✅ #### Music Editor Infrastructure - ✅ SPC parser and music bank loader - ✅ N-SPC pitch table for authentic note playback - ✅ Single call site audio initialization (EnsureAudioReady) - ✅ DSP interpolation type control (Linear/Hermite/Cosine/Cubic) - ✅ Playback position tracking with cursor visualization - ✅ Segment seeking and preview callbacks #### SDL3 Backend Infrastructure (Groundwork) - ✅ IWindowBackend/IAudioBackend/IInputBackend/IRenderer interfaces (commit a5dc884612) - ✅ 17 new abstraction files in `src/app/platform/` #### WASM Web Port (Experimental) - ✅ Emscripten build preset (`wasm-release`) - ✅ Web shell with ROM upload/download - ✅ IndexedDB file system integration - ✅ Progressive loading with WasmLoadingManager - ✅ Real-time collaboration (WebSocket-based multi-user editing) - ✅ Offline support via service workers - ✅ WebAudio for SPC700 playback - ✅ CI workflow for automated builds and GitHub Pages deployment - ✅ Public documentation (web-app.md) with preview status - ⚠️ **Note**: Infrastructure complete but editors are preview/incomplete quality #### EditorManager Refactoring - ✅ Delegated architecture (8 specialized managers) - ✅ UICoordinator, MenuOrchestrator, PopupManager, SessionCoordinator - ✅ EditorCardRegistry, LayoutManager, ShortcutConfigurator - ✅ 34 editor cards with X-button close - ✅ 10 editor-specific DockBuilder layouts - ✅ Multi-session support #### AI Agent Infrastructure - ✅ Tools directory integration and discoverability - ✅ Meta-tools (tools-list/describe/search) - ✅ ToolSchemas for LLM documentation - ✅ AgentContext for state management - ✅ Batch execution support - ✅ ValidationTool + RomDiffTool - ✅ Semantic Inspection API Phase 1 #### AI Agent UX & Browser Support - ✅ Dedicated chat/proposals panels, agent sessions, and configuration UI with session-aware chat history, safer provider handling, and YAML autodetect. - ✅ `yaze_agent` builds enabled in the browser shell with web AI providers wired through the WASM build. #### WASM Web UX & Stability - ✅ Command palette, file manager, pixel inspector, panelized shell UI, theme definitions, touch gestures, and debug overlays added to the web app. - ✅ Async queue/serialization guard to prevent Asyncify crashes; WASM control API and message queue refactors to harden async flows. - ✅ Web architecture/card layout documentation added; web-build workflow updated for new `src/web/` structure and GH Pages caching/branch gating. #### Editor Layout & Menu Refactor - ✅ Activity bar/right panel rebuild with menu assets moved under the menu namespace; layout presets documented and popup/toast managers reorganized under UI. - ✅ Project file/editor refactors and card registry cleanup to reduce coupling; JSON abstraction helper added for consistent serialization. #### Testing - ✅ New integration/unit coverage for Tile16 editor workflows and music parsing/playback (SPC parser, music bank, editor integration). ### In Progress 🟡 #### Emulator & SDL3 Readiness - 🟡 PPU JIT catch-up integration - 🟡 Shared render service for dungeon object preview - 🟡 Input persistence (keyboard config, ImGui capture flag) - 🟡 Semantic API for AI agents (Phase 2 planned) - 🟡 State injection improvements - 🟡 SDL3 readiness report plus entry-point/flag cleanup (owned by another agent) #### Music Editor Overhaul - 🟡 Tracker + piano roll + instrument/sample editors are in-flight; stabilize playback/export paths and polish UI/shortcuts. #### Tile16 Editor & Project Persistence - 🟡 Finalize pending-change workflow UX, palette handling, and overworld context menus; align project metadata/JSON refactor with WASM FS persistence work (ai-infra-architect). #### Editor Fixes - 🟡 Dungeon object rendering regression (under investigation) ### Remaining Work (Deferred to 0.5.0) #### Editor Polish - Resolve remaining Tile16 palette inconsistencies - Complete overworld sprite workflow - Improve dungeon editor labels and tab management - Add lazy loading for rooms ### CI/CD & Release Health - Release workflow repairs (cache key/cleanup, Windows crash handler) merged - Web-build workflow updated for new `src/web/` layout with caching/branch gating - CI workflows consolidated with standardized Doxygen 1.10 install --- ## 0.5.0 - SDL3 Migration & Feature Expansion **Status:** Planning **Type:** Major Breaking Release ### SDL3 Core Migration (Postponed from 0.4.0) - Switch to SDL3 with GPU-based rendering - Port editors to new backend - Implement SDL3 audio/input backends - Benchmark and tune performance ### Feature Expansion - **Plugin Architecture**: Initial framework for community extensions - **Advanced Graphics Editing**: Edit and re-import full graphics sheets - **`z3ed` AI Agent Enhancements**: - Collaborative sessions with shared AI proposals - Multi-modal input with screenshot context for Gemini - Visual Analysis Tool (Phase 5 ready for implementation) ### Breaking Changes (Planned) - SDL2 → SDL3 (requires recompilation) - API changes in graphics backend (for extensions) --- ## 0.6.X - Content & Integration - **Advanced Content Editors**: - Enhanced Hex Editor with search and data interpretation - Advanced message editor with font preview - **Documentation Overhaul**: - Auto-generated C++ API documentation - Comprehensive user guide for ROM hackers --- ## Recently Completed ### v0.4.0 (November 2025) - **Music Editor** - Complete SPC music editing with tracker and piano roll views, authentic N-SPC audio preview, instrument/sample editors - Piano roll with playback cursor, note editing, velocity/duration control - Per-song tracker windows with layout system integration - Single call site audio initialization (EnsureAudioReady) - DSP interpolation type control for audio quality - AI agent UX revamp (dedicated chat/proposals, session-aware chat, provider safeguards) - WASM web app stabilization and hardened web-build workflow - Tile16 workflow and project persistence upgrades - Editor menu/layout refactor with ActivityBar + layout presets ### v0.3.9 (November 2025) - WASM web port with real-time collaboration (experimental/preview) - SDL3 backend infrastructure - EditorManager refactoring (90% feature parity) - AI agent tools Phases 1-4 - CI optimization (PR runs ~5-10 min, was 15-20) - Test suite gating (optional tests OFF by default) - Documentation cleanup and public web app guide ### v0.3.3 (October 2025) - Vim mode for `simple-chat`: modal editing, navigation, history, autocomplete - Autocomplete engine with fuzzy matching and FTXUI dropdown - TUI enhancements: integrated autocomplete UI components ### v0.3.2 - Dungeon editor: migrated to `TestRomManager`, resolved crash backlog - Windows build: fixed stack overflows and file dialog regressions - `z3ed learn`: persistent storage for AI preferences and ROM metadata - Gemini integration: native function calling API - Tile16 editor: refactored layout, dynamic zoom controls