refactor(docs): update editor status and welcome screen logic in documentation

- Revised the editor status section to reflect the current state of various editors, including stability notes and testing requirements.
- Clarified the welcome screen visibility logic in the documentation, emphasizing its behavior when no ROM is loaded and the conditions for manual control.
- Enhanced the overall structure and clarity of the development guide to better inform contributors about the project's status and UI management practices.

Benefits:
- Provides a clearer understanding of the current capabilities and testing needs of the editors.
- Improves documentation accuracy regarding UI behavior, aiding developers in troubleshooting and feature implementation.
This commit is contained in:
scawful
2025-10-15 16:45:41 -04:00
parent 3c0964d251
commit 49c59191ac
8 changed files with 335 additions and 250 deletions

View File

@@ -2,13 +2,14 @@
**Last Updated: October 4, 2025**
This document outlines the development roadmap for yaze. The project has achieved stability in its core editors and testing infrastructure. The focus now shifts to completing advanced AI features, polishing UI/UX, and expanding editor capabilities.
This roadmap tracks upcoming releases and major ongoing initiatives.
## Current Focus: AI & Editor Polish
## Current Focus
With the core systems stable, the immediate priority is to finish the overworld editor features, fix dungeon object rendering, finalize the Tile16 editor, enhance the `z3ed` AI agent, and improve the user experience.
---
- Finish overworld editor parity (sprite workflows, performance tuning).
- Resolve dungeon object rendering and tile painting gaps.
- Close out Tile16 palette inconsistencies.
- Harden the `z3ed` automation paths before expanding functionality.
## 0.4.0 (Next Major Release) - SDL3 Modernization & Core Improvements
@@ -16,50 +17,49 @@ With the core systems stable, the immediate priority is to finish the overworld
**Type:** Major Breaking Release
**Timeline:** 6-8 weeks
### 🎯 Primary Goals
### Primary Goals
1. **SDL3 Migration** - Modernize graphics/audio/input backend
2. **Dependency Reorganization** - Consolidate `src/lib/` + `third_party/``external/`
3. **Backend Abstraction** - Clean separation of graphics/audio/input backends
4. **Editor Polish** - Complete remaining UX improvements
1. SDL3 migration across graphics, audio, and input
2. Dependency reorganization (`src/lib/` + `third_party/``external/`)
3. Backend abstraction layer for renderer/audio/input
4. Editor polish and UX clean-up
### Phase 1: Infrastructure (Week 1-2)
- **Dependency Consolidation**: Merge `src/lib/` and `third_party/` into unified `external/` directory
- **CMake Modernization**: Update all build files, submodules, and CI workflows
- **Build Validation**: Ensure all platforms (Windows/macOS/Linux) build cleanly
- Merge `src/lib/` and `third_party/` into `external/`
- Update CMake, submodules, and CI presets
- Validate builds on Windows, macOS, Linux
### Phase 2: SDL3 Core Migration (Week 3-4)
- **SDL3 Update**: Migrate from SDL2 to SDL3 with GPU-based rendering
- **Graphics Backend**: Create abstraction layer (`GraphicsBackend` interface)
- **Basic Rendering**: Get window creation and basic editor rendering working
- **ImGui Integration**: Update ImGui SDL3 backend integration
- Switch to SDL3 with GPU-based rendering
- Introduce `GraphicsBackend` abstraction
- Restore window creation and baseline editor rendering
- Update the ImGui SDL3 backend
### Phase 3: Complete SDL3 Integration (Week 5-6)
- **All Editors**: Port all 6 editors (Overworld, Dungeon, Graphics, Palette, Screen, Music) to new backend
- **Audio Backend**: Implement SDL3 audio backend for emulator
- **Input Backend**: Implement SDL3 input backend with improved gamepad support
- **Performance**: Optimize rendering performance, benchmark against v0.3.x
- Port editors (Overworld, Dungeon, Graphics, Palette, Screen, Music) to the new backend
- Implement SDL3 audio backend for the emulator
- Implement SDL3 input backend with improved gamepad support
- Benchmark and tune rendering performance
### Phase 4: Editor Features & UX (Week 7-8)
- **Tile16 Palette System**: Resolve color consistency issues in source tile view
- **Overworld Sprite Editing**: Complete sprite add/remove/move workflow
- **Dungeon Editor UI**: Add human-readable room labels and improved tab management
- **Performance**: Implement lazy loading for rooms (~2.6s → <1s load time)
- Resolve Tile16 palette inconsistencies
- Complete overworld sprite add/remove/move workflow
- Improve dungeon editor labels and tab management
- Add lazy loading for rooms to cut load times
### Phase 5: AI Agent Enhancements (Throughout)
- **Vim Mode**: Implemented vim-style line editing in simple-chat
- **Autocomplete**: Added intelligent command completion with fuzzy matching
- **Live LLM Hardening**: Finalize Gemini function-calling and proactive v3 prompts
- **AI-Driven Editing**: Integrate AI with GUI test harness for automated edits
- **Expand Toolset**: Add tools for dialogue, music data, sprite properties
- Vim-style editing in `simple-chat` (complete)
- Autocomplete engine with fuzzy matching (complete)
- Harden live LLM integration (Gemini function-calling, prompts)
- Attach AI workflows to GUI regression harness
- Extend tool coverage for dialogue, music, sprite data
### Success Criteria
- [ ] All platforms build and run with SDL3
- [ ] No performance regression vs v0.3.x
- [ ] All editors functional with new backend
- [ ] Emulator audio/input working
- [ ] Documentation updated
- [ ] Migration guide complete
- SDL3 builds pass on Windows, macOS, Linux
- No performance regression versus v0.3.x
- Editors function on the new backend
- Emulator audio/input verified
- Documentation and migration guide updated
**Breaking Changes:**
- SDL2 → SDL3 (requires recompilation)
@@ -91,15 +91,14 @@ With the core systems stable, the immediate priority is to finish the overworld
## Recently Completed (v0.3.3 - October 6, 2025)
- **Vim Mode for CLI**: Full vim-style modal editing in `simple-chat` with normal/insert modes, navigation (hjkl, w/b), editing (dd, yy, p), history, and autocomplete
- **Autocomplete System**: Intelligent command completion engine with fuzzy matching, context-aware suggestions, and real-time dropdown in FTXUI chat
- **Enhanced TUI**: Integrated autocomplete UI components with proper header files and CMake compilation
- Vim mode for `simple-chat`: modal editing, navigation, history, autocomplete
- Autocomplete engine with fuzzy matching and FTXUI dropdown
- TUI enhancements: integrated autocomplete UI components and CMake wiring
## Recently Completed (v0.3.2)
- **Dungeon Editor Stability**: Fixed all critical crashes in the test suite by migrating to `TestRomManager`. The editor's core logic is now stable and production-ready.
- **Windows Stability**: Resolved stack overflow crashes and file dialog issues, bringing Windows builds to parity with macOS/Linux.
- **`z3ed` Learn Command**: Fully implemented the `learn` command, allowing the AI to persist user preferences, ROM patterns, and conversation history.
- **Gemini Native Function Calling**: Upgraded from manual `curl` requests to the official Gemini function calling API for improved reliability.
- **Tile16 Editor Refactor**: Fixed critical crashes, implemented a new three-column layout, and added dynamic zoom controls.
- Dungeon editor: migrated to `TestRomManager`, resolved crash backlog
- Windows build: fixed stack overflows and file dialog regressions
- `z3ed learn`: added persistent storage for AI preferences and ROM metadata
- Gemini integration: switched to native function calling API
- Tile16 editor: refactored layout, added dynamic zoom controls