380 lines
8.4 KiB
Markdown
380 lines
8.4 KiB
Markdown
# Future Improvements & Long-Term Vision
|
|
|
|
**Last Updated:** October 10, 2025
|
|
**Status:** Living Document
|
|
|
|
This document outlines potential improvements, experimental features, and long-term vision for yaze. Items here are aspirational and may or may not be implemented depending on community needs, technical feasibility, and development resources.
|
|
|
|
---
|
|
|
|
## Architecture & Performance
|
|
|
|
### Emulator Core Improvements
|
|
See `docs/E6-emulator-improvements.md` for detailed emulator improvement roadmap.
|
|
|
|
**Priority Items:**
|
|
- **APU Timing Fix**: Cycle-accurate SPC700 execution for reliable music playback
|
|
- **CPU Cycle Accuracy**: Variable instruction timing for better game compatibility
|
|
- **PPU Scanline Renderer**: Replace pixel-based renderer for 20%+ performance boost
|
|
- **Audio Buffering**: Lock-free ring buffer to eliminate stuttering
|
|
|
|
### Plugin Architecture (v0.5.x+)
|
|
Enable community extensions and custom tools.
|
|
|
|
**Features:**
|
|
- C API for plugin development
|
|
- Hot-reload capability for rapid iteration
|
|
- Plugin registry and discovery system
|
|
- Example plugins (custom exporters, automation tools)
|
|
|
|
**Benefits:**
|
|
- Community can extend without core changes
|
|
- Experimentation without bloating core
|
|
- Custom workflow tools per project needs
|
|
|
|
### Multi-Threading Improvements
|
|
Parallelize heavy operations for better performance.
|
|
|
|
**Opportunities:**
|
|
- Background ROM loading
|
|
- Parallel graphics decompression
|
|
- Asynchronous file I/O
|
|
- Worker thread pool for batch operations
|
|
|
|
---
|
|
|
|
## Graphics & Rendering
|
|
|
|
### Advanced Graphics Editing
|
|
Full graphics sheet import/export workflow.
|
|
|
|
**Features:**
|
|
- Import modified PNG graphics sheets
|
|
- Automatic palette extraction and optimization
|
|
- Tile deduplication and compression
|
|
- Preview impact on ROM size
|
|
|
|
**Use Cases:**
|
|
- Complete graphics overhauls
|
|
- HD texture packs (with downscaling)
|
|
- Art asset pipelines
|
|
|
|
### Alternative Rendering Backends
|
|
Support beyond SDL3 for specialized use cases.
|
|
|
|
**Potential Backends:**
|
|
- **OpenGL**: Maximum compatibility, explicit control
|
|
- **Vulkan**: High-performance, low-overhead (Linux/Windows)
|
|
- **Metal**: Native macOS/iOS performance
|
|
- **WebGPU**: Browser-based editor
|
|
|
|
**Benefits:**
|
|
- Platform-specific optimization
|
|
- Testing without hardware dependencies
|
|
- Future-proofing for new platforms
|
|
|
|
### High-DPI / 4K Support
|
|
Perfect rendering on modern displays.
|
|
|
|
**Improvements:**
|
|
- Retina/4K-aware canvas rendering
|
|
- Scalable UI elements
|
|
- Crisp text at any zoom level
|
|
- Per-monitor DPI awareness
|
|
|
|
---
|
|
|
|
## AI & Automation
|
|
|
|
### Multi-Modal AI Input
|
|
Enhance `z3ed` with visual understanding.
|
|
|
|
**Features:**
|
|
- Screenshot → context for AI
|
|
- "Fix this room" with image reference
|
|
- Visual diff analysis
|
|
- Automatic sprite positioning from mockups
|
|
|
|
### Collaborative AI Sessions
|
|
Shared AI context in multiplayer editing.
|
|
|
|
**Features:**
|
|
- Shared AI conversation history
|
|
- AI-suggested edits visible to all users
|
|
- Collaborative problem-solving
|
|
- Role-based AI permissions
|
|
|
|
### Automation & Scripting
|
|
Python/Lua scripting for batch operations.
|
|
|
|
**Use Cases:**
|
|
- Batch room modifications
|
|
- Automated testing scripts
|
|
- Custom validation rules
|
|
- Import/export pipelines
|
|
|
|
---
|
|
|
|
## Content Editors
|
|
|
|
### Music Editor UI
|
|
Visual interface for sound and music editing.
|
|
|
|
**Features:**
|
|
- Visual SPC700 music track editor
|
|
- Sound effect browser and editor
|
|
- Import custom SPC files
|
|
- Live preview while editing
|
|
|
|
### Dialogue Editor
|
|
Comprehensive text editing system.
|
|
|
|
**Features:**
|
|
- Visual dialogue tree editor
|
|
- Text search across all dialogues
|
|
- Translation workflow support
|
|
- Character count warnings
|
|
- Preview in-game font rendering
|
|
|
|
### Event Editor
|
|
Visual scripting for game events.
|
|
|
|
**Features:**
|
|
- Node-based event editor
|
|
- Trigger condition builder
|
|
- Preview event flow
|
|
- Debug event sequences
|
|
|
|
### Hex Editor Enhancements
|
|
Power-user tool for low-level editing.
|
|
|
|
**Features:**
|
|
- Structure definitions (parse ROM data types)
|
|
- Search by data pattern
|
|
- Diff view between ROM versions
|
|
- Bookmark system for addresses
|
|
- Disassembly view integration
|
|
|
|
---
|
|
|
|
## Collaboration & Networking
|
|
|
|
### Real-Time Collaboration Improvements
|
|
Enhanced multi-user editing.
|
|
|
|
**Features:**
|
|
- Conflict resolution strategies
|
|
- User presence indicators (cursor position)
|
|
- Chat integration
|
|
- Permission system (read-only, edit, admin)
|
|
- Rollback/version control
|
|
|
|
### Cloud ROM Storage
|
|
Optional cloud backup and sync.
|
|
|
|
**Features:**
|
|
- Encrypted cloud storage
|
|
- Automatic backups
|
|
- Cross-device sync
|
|
- Shared project workspaces
|
|
- Version history
|
|
|
|
---
|
|
|
|
## Platform Support
|
|
|
|
### Web Assembly Build
|
|
Browser-based yaze editor.
|
|
|
|
**Benefits:**
|
|
- No installation required
|
|
- Cross-platform by default
|
|
- Shareable projects via URL
|
|
- Integrated with cloud storage
|
|
|
|
**Challenges:**
|
|
- File system access limitations
|
|
- Performance considerations
|
|
- WebGPU renderer requirement
|
|
|
|
### Mobile Support (iOS/Android)
|
|
Touch-optimized editor for tablets.
|
|
|
|
**Features:**
|
|
- Touch-friendly UI
|
|
- Stylus support
|
|
- Cloud sync with desktop
|
|
- Read-only preview mode for phones
|
|
|
|
**Use Cases:**
|
|
- Tablet editing on the go
|
|
- Reference/preview on phone
|
|
- Show ROM to players on mobile
|
|
|
|
---
|
|
|
|
## Quality of Life
|
|
|
|
### Undo/Redo System Enhancement
|
|
More granular and reliable undo.
|
|
|
|
**Improvements:**
|
|
- Per-editor undo stacks
|
|
- Undo history viewer
|
|
- Branching undo (tree structure)
|
|
- Persistent undo across sessions
|
|
|
|
### Project Templates
|
|
Quick-start templates for common ROM hacks.
|
|
|
|
**Templates:**
|
|
- Vanilla+ (minimal changes)
|
|
- Graphics overhaul
|
|
- Randomizer base
|
|
- Custom story framework
|
|
|
|
### Asset Library
|
|
Shared library of community assets.
|
|
|
|
**Features:**
|
|
- Import community sprites/graphics
|
|
- Share custom rooms/dungeons
|
|
- Tag-based search
|
|
- Rating and comments
|
|
- License tracking
|
|
|
|
### Accessibility
|
|
Make yaze usable by everyone.
|
|
|
|
**Features:**
|
|
- Screen reader support
|
|
- Keyboard-only navigation
|
|
- Colorblind-friendly palettes
|
|
- High-contrast themes
|
|
- Adjustable font sizes
|
|
|
|
---
|
|
|
|
## Testing & Quality
|
|
|
|
### Automated Regression Testing
|
|
Catch bugs before they ship.
|
|
|
|
**Features:**
|
|
- Automated UI testing framework
|
|
- Visual regression tests (screenshot diffs)
|
|
- Performance regression detection
|
|
- Automated ROM patching tests
|
|
|
|
### ROM Validation
|
|
Ensure ROM hacks are valid.
|
|
|
|
**Features:**
|
|
- Detect common errors (invalid pointers, etc.)
|
|
- Warn about compatibility issues
|
|
- Suggest fixes for problems
|
|
- Export validation report
|
|
|
|
### Continuous Integration Enhancements
|
|
Better CI/CD pipeline.
|
|
|
|
**Improvements:**
|
|
- Build artifacts for every commit
|
|
- Automated performance benchmarks
|
|
- Coverage reports
|
|
- Security scanning
|
|
|
|
---
|
|
|
|
## Documentation & Community
|
|
|
|
### API Documentation Generator
|
|
Auto-generated API docs from code.
|
|
|
|
**Features:**
|
|
- Doxygen → web docs pipeline
|
|
- Example code snippets
|
|
- Interactive API explorer
|
|
- Versioned documentation
|
|
|
|
### Video Tutorial System
|
|
In-app video tutorials.
|
|
|
|
**Features:**
|
|
- Embedded tutorial videos
|
|
- Step-by-step guided walkthroughs
|
|
- Context-sensitive help
|
|
- Community-contributed tutorials
|
|
|
|
### ROM Hacking Wiki Integration
|
|
Link editor to wiki documentation.
|
|
|
|
**Features:**
|
|
- Context-sensitive wiki links
|
|
- Inline documentation for ROM structures
|
|
- Community knowledge base
|
|
- Translation support
|
|
|
|
---
|
|
|
|
## Experimental / Research
|
|
|
|
### Machine Learning Integration
|
|
AI-assisted ROM hacking.
|
|
|
|
**Possibilities:**
|
|
- Auto-generate room layouts
|
|
- Suggest difficulty curves
|
|
- Detect similar room patterns
|
|
- Generate sprite variations
|
|
|
|
### VR/AR Visualization
|
|
Visualize SNES data in 3D.
|
|
|
|
**Use Cases:**
|
|
- 3D preview of overworld
|
|
- Virtual dungeon walkthrough
|
|
- Spatial room editing
|
|
|
|
### Symbolic Execution
|
|
Advanced debugging technique.
|
|
|
|
**Features:**
|
|
- Explore all code paths
|
|
- Find unreachable code
|
|
- Detect potential bugs
|
|
- Generate test cases
|
|
|
|
---
|
|
|
|
## Implementation Priority
|
|
|
|
These improvements are **not scheduled** and exist here as ideas for future development. Priority will be determined by:
|
|
|
|
1. **Community demand** - What users actually need
|
|
2. **Technical feasibility** - What's possible with current architecture
|
|
3. **Development resources** - Available time and expertise
|
|
4. **Strategic fit** - Alignment with project vision
|
|
|
|
---
|
|
|
|
## Contributing Ideas
|
|
|
|
Have an idea for a future improvement?
|
|
|
|
- Open a GitHub Discussion in the "Ideas" category
|
|
- Describe the problem it solves
|
|
- Outline potential implementation approach
|
|
- Consider technical challenges
|
|
|
|
The best ideas are:
|
|
- **Specific**: Clear problem statement
|
|
- **Valuable**: Solves real user pain points
|
|
- **Feasible**: Realistic implementation
|
|
- **Scoped**: Can be broken into phases
|
|
|
|
---
|
|
|
|
**Note:** This is a living document. Ideas may be promoted to the active roadmap (`I1-roadmap.md`) or removed as project priorities evolve.
|
|
|