Last reviewed: 2026-09-23 for the v0.8.0 development line; OW-1/GF-1 implementation status refreshed from consolidated source bd9f0497a on 2026-10-05. This is not packaged-release qualification.
The target is complete ALttP authoring workflows covering the capabilities of Hyrule Magic and ZScream: create or edit → preview → undo/redo → save → reopen → verify in-game. A visible panel, a serializer, or a passing synthetic test alone does not establish that workflow. There is no percentage-parity claim.
The editor capability parity plan defines the implementation sequence and acceptance requirements. The editor readiness matrix records current save boundaries and source evidence. These supersede older parity scores and broad Stable/Beta/WIP labels.
d609e6254. This is a development baseline, not a qualified 0.8.0 release.7ba7d76ce, built on the reviewed PR #256 repairs and placement fixes. Its local app build and 43 focused tests passed; it was unpublished and had not replaced the installed app at this review.a730d6557, following plan commit 5fc5af950. It adds DA-1 door/sprite/pot-item undo and DA-2 shared entity properties. App and unit-test builds succeeded; 150 selected tests across 21 suites passed with no skips, including 22 entity lifecycle and five shared inspector UI cases. Only formatting whitespace changed after that run, checked through whitespace-normalized staged content. ROM save/reopen, runtime, CI, installation, and release qualification remain pending.aeb0b1200 on codex/editor-parity-dungeon-authoring. It adds room metadata undo, named property controls, shared existing chest reward/type editing, and an atomic multiroom Clear stale action. App and unit builds passed; 475 focused tests across 36 suites passed with zero skips, including 94 new cases. Scoped Clang analyzer checks passed on the two new mutation modules. Synthetic save/decode/byte-preservation tests do not establish vanilla/Oracle application-to-disk or game-runtime qualification. Mainline and the installed application remain unchanged.478206247 on the same integration branch. Placement, deletion, and small/big conversion keep the object and contents together in one undo action. Ordinary object copy/paste preserves rewards; reorder/layer edits preserve chest correspondence. The inspector starts canvas placement and follows selected chests. Source implementation is present; focused verification: 569 tests across 37 suites passed, with zero failures and zero skips. App and unit builds passed. Scoped Clang analyzer checks passed for the two new mutation modules. The shared six-slot chest/big-key-lock limit and global 168-record table are preflighted, including other dirty and unopened rooms and exact manifest-protected chest regions. Object-stream allocation still checks at Save; full application disk/game, manual UX, CI, and packaged acceptance remain unqualified.eac49e2bd on the same branch. Delete/duplicate/cut/paste, nudge, and group drag stage objects, doors, sprites, pot items, and paired chest rewards together, with one undo action. Copy preserves the prior clipboard on failure. Shared grids preserve spacing; doors require valid wall anchors and duplicate in place. 640 focused tests across 39 suites passed with zero failures and zero skips. Save-time allocation, vanilla/Oracle application/runtime, manual UX, CI, installation, and Release qualification remain separate.be973563f on the same branch. The shared door inspector previews both endpoints, creates a missing return with Create Return Door or changes both layers with Update Pair, and uses one existing Undo/Redo action. Lazy loading preserves clean project WaterFill tiles, mask, and count, and rejects dirty partial state. Exact outer-wall slots, row/page boundaries, passage conflicts, capacity, stale previews, and ROM identity are checked. Verification: 807 tests across 44 suites — passed with zero failures and zero skips. App/unit builds: passed. Scoped analyzer: passed for the six selected implementation files and their explicit header scope. DA-3 remains partial for stairs, pits, special doors, and application/runtime qualification.bb185d1ae, following 2520aa6b0 / df1cc4f2d on the same integration branch. A versioned yaze.room document supports same-project clone and clipboard JSON exchange with explicit domain choices, preserved target destinations by default, scratch persistence preflight, stale-preview rejection, and one undo action. Water-mask assignment preserves other rooms; water-table saving retains unopened saved zones. Verification: 989 tests across 49 suites; all passed, zero failures and zero skipped. See the handoff for build/analyzer scope and commands. Portable asset packaging, project-file compatibility, native file selection, full application disk/runtime, and packaged acceptance remain unqualified. The prior 807-test result is history. Qualification repairs enforce native block storage, accept shared pot terminators, allocate preview GameData on the heap, and offer recovery without shared room properties. Interchange preserves residual chest records and normalizes physical block slots. The exit-door report was not reproduced; confirmed exit guards have regression coverage. Independent save/reopen must be rerun on this source.7d17cc2 and ZScream 0f6812d. These are source comparison pins, not a statement that the two checkouts represent every published feature.Comparison covers editing outcomes, supported ROM layouts, and persistence. Yaze does not need identical window layouts or shortcuts. Existing Hyrule Magic music editing belongs in the baseline; do not characterize music authoring as unique to Yaze without a narrower, verified comparison.
Status terms are Implemented, Partial, Missing, Blocked, and Candidate, as defined in the readiness matrix. Evidence is recorded separately as Source, Focused, ROM, Runtime, or Release.
| Workflow | Status at this review | Existing capability | Required completion |
|---|---|---|---|
| Place and resize dungeon tile objects | Candidate for the new Workbench workflow | Preview controls, physical dimensions, repeat/once placement, inserted-object selection, Place another, and uniform area resizing in 7ba7d76ce; Source + Focused evidence | Qualify on disposable vanilla and Oracle base ROMs; verify undo, save/reopen, and game behavior before release promotion. |
| Edit doors, sprites, and pot items in place | Candidate | a730d6557: shared Workbench/standalone property controls, domain-aware undo/redo, render refresh, reserved-sprite validation, and paste-selection restoration; Source + Focused evidence | ROM save/reopen, runtime, CI, and packaged acceptance remain. Inspector edits are blocked when connected-view and interaction room contexts differ. |
| Edit room properties | Candidate, Source + Focused at aeb0b1200 | Typed header/tag/layout/floor/destination edits with undo; named room choices; atomic multiroom metadata batch. | Qualify application persistence/runtime on the exact candidate. |
| Create, edit, copy, and delete dungeon chests | Candidate, Source + Focused at 478206247 | Paired object/contents operations and undo; named rewards; canvas placement/selection; ordinary object clipboard retains rewards; ordering, shared event slots, global contents capacity, and manifest preflight. | Object-stream allocation remains Save-time. Qualify vanilla/Oracle application disk persistence, game behavior, manual UX, and release acceptance. |
| Edit mixed dungeon selections | Candidate, Source + Focused at eac49e2bd | One operation and undo across objects, doors, sprites, pot items, and paired chest rewards; validated clipboard; rigid nudge/drag; rejected/no-op edits preserve data/history. | Object-stream space checks at Save; author-time manifest checks currently cover chest regions. Full application/runtime and packaged acceptance remain. |
| Author reciprocal normal-door connections | Candidate at be973563f; verification above | Shared endpoint diagram, upper/lower choice, explicit Create Return Door / Update Pair, strict target loading with WaterFill retention, stale-preview rejection, and atomic pair Undo/Redo. | Ordinary outer normal doors only; stairs, pits, special types, runtime traversal, and application save/reopen remain. Stream allocation remains Save-time. |
| Complete editing of every dungeon element | Partial | Entity editing at a730d6557, metadata at aeb0b1200, paired chests at 478206247, mixed selections at eac49e2bd, and the normal-door pair candidate extend the original audit. | Remaining authoring domains, connection families, complete room operations, and exact-candidate qualification keep DA-1 and DA-2 open. |
| Clone/import authored room data | Candidate at bb185d1ae; DA-4 remains Partial | yaze.room v1; Clone/Copy Room JSON/Import JSON; seven selectable domains, Core defaults; count/policy preview, detached capacity/write-policy preflight, source/target stale checks, and one Undo/Redo. Objects retain chest rewards and special metadata; properties include pit target plane. | Numeric asset IDs only; target destinations preserved unless explicitly included. Project-file/asset compatibility, portable resources, application disk/runtime, and packaged acceptance remain. |
| Edit overworld maps and entities | Partial | Tile editing, paste undo, persistent scratchpad, entrances, exits, items, properties, graphics groups, and state-specific sprites. Overworld::PrepareSpriteSave and Overworld::SaveSprites plan/write sprites for three states; OverworldEditor::Save applies the plan in its ROM transaction, including when map saving is disabled. | Unify entity undo; qualify application Save As/reopen and game behavior for each supported state. Unloaded or unsupported map/state ownership and positions outside the 16-pixel grid refuse saving. |
| Edit graphics and graphics groups | Candidate for guarded 3bpp pixel-sheet persistence (2bpp sheets are read-only); other workflows Partial | Pixel editing and undo through a per-session sheet store (2d8e5acaa); PNG export and import with a preview (4a1a90a99); GraphicsEditor::Save participates in coordinated save when save_graphics_sheet is enabled, writing LC-LZ2 in place or into manifest-approved graphics_sheet_regions with batch rollback and decoded readback (830915bbb); graphics-group tools and polyhedral editing. Prior Source, Focused, and ROM evidence used vanilla and Oracle base ROM copies. | The selected combined-candidate authoring checks passed (see the dated increment in the parity plan); runtime saved-sheet behavior, native window, CI, and remaining asset-exchange formats remain open. Pending sheet edits block coordinated save when the flag is disabled; enabling it does not override sheet ownership, reserved-sheet policy, pixel-index limits, or approved free-space requirements. |
| Edit screens and maps | Blocked for coordinated save with pending Screen edits | Dungeon-map, title, pause-map, and Tile16 editing surfaces; partial inventory UI | Complete and qualify each writer; naming-screen implementation is empty. Credits/ending screen authoring was not found in the reviewed surface and needs a specific audit. |
| Edit messages | Partial as a full application workflow | Parsing, preview, search, bundle/source workflows, transactional writer | GUI-to-disk save/reopen and runtime acceptance for named ROM profiles. |
| Edit palettes | Partial; coordinated saving implemented | Broad palette groups, live context preview, per-session undo, JSON exchange, and palette serialization inside File Save/Save As when Save All Palettes or Save Dungeon Palettes is enabled | Paired source-palette/pixel remapping is implemented for loader-addressed static 3bpp dungeon/Overworld targets, with one Graphics Undo and disposable Oracle Save As/reopen checks. Qualify other advertised palettes/profiles and runtime appearance. Disabled palette saving refuses pending edits. |
| Edit music, instruments, and samples | Partial; instrument/sample persistence Missing | Tracker, piano roll, playback, and song serialization | Complete instrument/sample writers, real WAV/BRR import, event clipboard, and application save integration. The sample import button currently produces placeholder data. |
| Author custom dungeon systems | Partial | Project mappings, tile workshop, Oracle collision/water tools, custom assets, source publication | Complete authoring and validation across mappings, source build, collision, visuals, and game behavior. A successful ROM save does not prove a source patch reached the game. |
| Edit global game properties and supported expansions | Partial, comparison audit required | Several relevant properties and expanded overworld formats exist | Enumerate the reference editors' settings and layout versions, map them to Yaze, and qualify each supported variant instead of assuming full compatibility. |
Full cross-editor parity is a sequence of milestones beyond 0.8.0. The formal plan owns task dependencies and completion criteria; this page is the public summary.
z3ed workflows.Synthetic draw-registry replay, real-ROM parser checks, room fingerprints, independent Mesen captures, and structural z3ed dungeon-object-validate results answer different questions. Record which evidence was collected, the exact code and ROM identity, and whether a mismatch actually fails the test. Do not call a diagnostic that only prints mismatches a parity gate.
Runtime effects such as HDMA water control and moving backgrounds may require emulator-state or structural proof beyond a static crop. Maintain explicit expected-difference baselines; unexplained new differences fail acceptance.
Use the readiness matrix to choose a bounded edit on a copied ROM. Dungeon, overworld maps/entrances/exits/items/sprites, and messages have save implementations; their whole-editor status is still Partial. Overworld sprite edits use the editor's planned writer; verify the exact ROM profile and saved state on a copy. Palette edits join File > Save ROM and Save As when Save All Palettes or Save Dungeon Palettes is enabled; the old two-step Save to ROM procedure is no longer required. Pending Screen edits block that coordinated save; pending Graphics edits block it unless graphics sheet saves are enabled (the save_graphics_sheet feature flag, per project). Music song operations use a separate path and do not establish sample or instrument persistence.
Hyrule Magic, ZScream, project source patches, and Mesen remain useful independent comparison tools. The Beta Testing guide describes bounded tester procedures; the current matrix takes precedence if an older guide describes a broader save capability.