Last reviewed: 2026-09-14 for the v0.8.0 development line.
This is the canonical readiness matrix for Yaze's user-facing editors. A status describes the complete workflow, not the size of the implementation:
No editor yet has an automated test for the entire GUI path from a user edit, through File > Save ROM, to closing and reopening the disk file in the same editor. Existing editor, serializer, and ROM readback tests provide good partial coverage, but they do not replace that acceptance path.
| Editor | Readiness | Durable workflow today | Main limitation before promotion |
|---|---|---|---|
| Dungeon | Tester ready | Edit a room, use File > Save ROM, close, and reopen a copied ROM. | Known object-rendering and layering exceptions remain; add full GUI-to-disk readback. |
| Overworld | Tester ready | Edit a map or entity, use File > Save ROM, close, and reopen a copied ROM. | Add full GUI-to-disk readback and a dedicated user guide. |
| Message | Tester ready | Edit valid message text, use File > Save ROM, close, and reopen a copied ROM. | Add full GUI-to-disk readback and a dedicated user guide. |
| Palette | Conditional | First use the Palette panel's Save to ROM, then use File > Save ROM, close, and reopen. | Integrate Palette with coordinated save or prove and clearly retain the two-step contract. |
| Assembly | Conditional | Save File writes the active ASM source. Applying an Asar patch is a separate, explicit ROM operation. | Add dirty-close, source-reopen, and separately fenced patch-application tests. |
| Sprite | Conditional | Custom .zsm files can be edited and saved. Vanilla sprites are for viewing here; room sprite placement belongs in Dungeon. | Remove or disable incomplete vanilla edit controls and prove .zsm roundtrip. |
| Settings | Conditional | Settings and layouts use application configuration files, not ROM save. Restart and verify each changed setting. | Add Settings-panel-to-disk-to-restart coverage. |
| Graphics | View only | Viewing and preview are useful. Do not make a persistence test edit. | A pending sheet edit deliberately blocks Save ROM until the serializer is safe. |
| Screen | View only | Inspect dungeon maps, inventory, title, and world-map screens. | Any pending Screen edit deliberately blocks coordinated save; writers need domain-by-domain readback proof. |
| Music | View only | Browse and play loaded music. Do not rely on ROM persistence. | Music is not in coordinated save; instrument and sample writers are unimplemented. |
| Hex / Memory | View only | Use only for expert inspection in tester builds. | Raw-buffer editing lacks an editor dirty state, undo, and a tested save contract. |
| Emulator | Experimental | Runtime inspection and play testing only. | Save-state UI and conditional breakpoint behavior are incomplete. |
| Agent | Experimental | Build- and provider-specific chat/tool exploration. | Availability depends on build flags and provider configuration; it is not a ROM-save participant. |
EditorManager::SaveRom() is the application-level persistence boundary. For loaded editors it coordinates:
Important exceptions:
Use these terms when updating this report or a pull request:
| Evidence | What it proves |
|---|---|
| Component test | A model, parser, widget policy, or serializer behaves under a focused test. |
| Direct ROM readback | A writer's bytes can be reopened and decoded, often without the application editor. |
| App-path test | An editor object or EditorManager participates in the tested save path. |
| GUI smoke | A panel opens or expected text appears; it does not prove editing or persistence. |
| Manual acceptance | A packaged app completes a named workflow on a named platform. |
Tests named *_save_test.cc or “E2E” are not automatically application-path tests. Several construct a ROM/data writer directly and then write bytes to a temporary file. Keep that evidence, but do not use it to claim GUI save parity.
ScratchPad.dat workflow is implemented.AsarWrapper. Its library and CLI patch paths currently return 0, so that result field is not ROM-identity evidence yet.z3ed provides scriptable ROM inspection, guarded writes, validation, snapshots, doctor commands, and agent workflows. Its command-specific status is documented in the z3ed CLI guide. CLI serializer tests do not promote the corresponding desktop editor automatically.
The web build is a preview with browser-storage and download workflows. It does not include the emulator and is not a substitute for native editor acceptance. See the Web App guide.
Promote an editor only when the durable workflow is explicit and the evidence matches the claim. Record exact commands and the tested commit in the pull request or release checklist; avoid embedding volatile test counts here.