This report summarizes feature status and persistence behavior across the desktop app (yaze), z3ed CLI, and the web/WASM preview, and maps those features to current automated test coverage. Status levels follow the desktop rubric: Stable = reliable core workflows, Beta = usable but incomplete, WIP = core operations missing. As of v0.6.2, app data is consolidated under ~/.yaze on desktop/CLI and /.yaze in the web build (IDBFS), with legacy migrations from AppData/Library/XDG.
| Feature | State | Save/Load & Persistence |
|---|---|---|
| Project files (.yaze) | Stable | Project metadata stored in the .yaze file; recent project list persisted. |
| ROM load/save | Stable | ROM loaded from disk; save writes ROM; timestamped backups when enabled. |
| Overworld Editor | Beta | Overworld edits persist to ROM; version-gated for vanilla/v2/v3. Tile16 palette inconsistencies, paste not tracked in undo, sprite workflow incomplete. |
| Dungeon Editor | Beta | Room objects/tiles/palettes persist to ROM; shared undo/redo. 12+ unknown object types, visual discrepancies in specific objects, object preview stubbed. |
| Palette Editor | Beta | Palette changes persist to ROM; JSON import/export not implemented. |
| Graphics Editor | Beta | Tile/sheet edits persist to ROM; undo/redo via UndoManager. |
| Sprite Editor | Beta | Sprite viewing works; editing and test coverage are limited. |
| Message Editor | Stable | Text edits persist to ROM. |
| Screen Editor | WIP | Undo/Redo/Cut/Copy/Paste all unimplemented. |
| Memory Editor | WIP | Hex viewing works; search unimplemented. |
| Assembly/Asar | Beta | Patches apply to ROM; project file editor is incomplete. |
| Emulator | Beta | Runtime-only; save-state format exists but UI is not fully wired. |
| Music Editor | Beta | Playback and editing work; clipboard operations unimplemented. |
| Agent UI | Experimental | Chat history, profiles, and sessions stored under ~/.yaze/agent. |
| Settings/Shortcuts | Beta | Settings + shortcuts UI wired; persistence stored in ~/.yaze layouts/workspaces. |
| Panel Layouts/Workspaces | Beta | Layout presets stored under ~/.yaze/layouts and ~/.yaze/workspaces. |
| Feature | State | Save/Load & Persistence |
|---|---|---|
| ROM read/write/validate | Stable | Operates directly on ROM file. |
| ROM snapshots/restore | Stable | Snapshot/restore ROM state in project-local .yaze/snapshots. |
| Doctor suite | Stable | Diagnostics; optional fix output to file. |
| Editor automation | Stable | Writes changes to ROM. |
| Test discovery/run/status | Stable | Structured output; no ROM required. |
| Agent workflows | Stable | Proposals/policies/sandboxes stored under ~/.yaze/*. |
| TUI/REPL | Stable | Interactive sessions; REPL supports session save/load. |
| AI providers | Stable | Ollama/Gemini/OpenAI/Anthropic with keys or local server. |
| Feature | State | Save/Load & Persistence |
|---|---|---|
| ROM load | Working | Drag/drop or picker; stored in /.yaze/roms (IndexedDB). |
| Auto-save | Preview | Auto-save to browser storage when working. |
| Download ROM | Working | Download modified ROM to disk. |
| Overworld/Dungeon/Palette/Graphics/Sprite/Message | Preview | Editing incomplete; persists via browser storage + download. |
| Hex Editor | Working | Direct ROM editing; persisted in browser storage. |
| Asar patching | Preview | Basic assembly patching. |
| Emulator | Not available | No emulator in web build. |
| Collaboration | Experimental | Requires server; persistence depends on server storage configuration. |
| AI features | Preview | Requires AI-enabled collaboration server. |
~/.yaze with migration from legacy paths.~/.yaze; snapshots/restore for ROM state./.yaze in IndexedDB; download for durable backups; browser storage can be cleared.yaze_test (unit/integration), yaze_test_gui, yaze_test_experimental, yaze_test_rom_dependent, yaze_test_benchmark, z3ed --self-test.stable, gui, headless_gui, z3ed, rom_dependent, experimental, benchmark.test/unit/, test/integration/, test/e2e/, test/platform/wasm_*, src/web/tests/wasm_debug_api_tests.js..yaze migration and path normalization lack targeted regression coverage.palette_group_panel.cc:529,534)music_bank.cc:925,996)screen_editor.h:46-52)workspace_manager.cc:18,26,34)window_backend_test.cc - 38 lines)room_object.h need verificationasar_wrapper.cc:330,501)1) [DONE] Add GUI smoke tests for Graphics, Sprite, Message, and Music editors. 2) [DONE] Add emulator save-state UI smoke coverage (workflow tests pending). 3) [TODO] Add settings/layout serialization tests (workspace presets + shortcuts). 4) [TODO] Add .yaze migration and path normalization tests (desktop + CLI). 5) [TODO] Expand CLI command coverage for doctor and editor automation commands. 6) [DONE] Promote WASM debug API checks into CI (automated browser run). 7) [TODO] Add ROM-dependent tests for version-gated overworld saves and dungeon persistence. 8) [TODO] Add web storage regression checks (IDBFS sync + file manager flows).
9) [TODO] Add palette JSON round-trip tests (test/unit/palette_json_test.cc) 10) [TODO] Add workspace layout serialization tests (test/integration/workspace_test.cc) 11) [TODO] Add BRR codec unit tests (test/unit/brr_codec_test.cc) 12) [TODO] Add music bank save tests (test/integration/music_bank_test.cc) 13) [TODO] Expand platform backend tests for SDL2/SDL3 feature parity