2.8 KiB
M12-03E Status
status: done task: append undo/redo/save/reopen and desktop canonical comparison updated: 2026-08-17 America/New_York enablingTask: false parityStateChange: false
Scope
The M12-03D WASM Main append path is compared with the M12-03C Blender 5.2 desktop canonical report. One append transaction creates the Object/Mesh/Material/packed Image local closure and advances exactly one SceneIR revision. Undo removes all four IDs, redo restores the canonical graph, and a saved buffer reopens with the same graph and packed image pixels.
The image comparison normalizes Blender's bottom-up Image.pixels row order versus Canvas
top-down ImageData. Current SceneIR omits Image.colorSpace, so a missing field uses the desktop
canonical sRGB semantic default; an emitted colorspace must match it. All other graph, ID,
ownership, geometry, UV, material-slot, image metadata, and pixel hash fields remain exact. This
task does not claim Link, Library Override, or full N-023 IO parity.
Evidence
node ../tools/web/check-library-main-append.mjspassed the manifest, artifact hashes, canonical desktop report, and required test markers.WEB_TEST_PORT=5194 npm --prefix web run test:library-main-appendpassed the checker and Chromium 1/1. The browser test verified one transaction, four writableLOCAL_MAINmappings, one revision increment, complete Object -> Mesh -> Material -> Image closure, and exact canonical graphs after append, redo, and save/reopen.- A stale base revision returned
REVISION_CONFLICT; a local ID collision returnedASSET_MANIFEST_INVALIDwithout changing the appended revision. Undo reported no Object, Mesh, Material, or Image; redo restored the Object and canonical closure. - The canonical packed image remained a 2x2 sRGB RGBA PNG with Float32 pixel SHA-256
6f0f8c231d65149e69e6ed12d370bcfa095ef90adc202065492ea8c8ef17e45a.
Artifact Hashes
- checker:
7fba72c5a38c0877f03682b51cbaaaf6d9a5f315f2beddfdef432bc54b2f1cd2 - test:
101f67d35c2320da57459f08a59687d769234b910dbd9aaec5a668cee7e0f9f0 - package commands:
36a29c5be9bd6163b06cf3511edf77d932388fa0b75c08bdcec397e19c0ef45f - source
.blend:5b60d02926efd588a6ca300ba31414cdf37dbc48786c17b383a70319057c0606 - clean target
.blend:9b1ecbcc3d7f8079ee5469de64193ffcaa0a7b01e0f2ac340bbb18aa88734a63 - desktop report:
b1d7b8b9e832d18d69081f63981062800e0f00f0c9aec025b18274510ed76e2a - manifest:
beaa88ea0385225e712f9816072420bd8744c15da3229ddc352462abec407739
Next Task
M12-03F: desktop link fixture preserving source library and read-only ownership.
Rollback
Remove the M12-03E checker, manifest, extended Chromium test, package command, and this status
entry. Restore M12-03D to pending and move the machine queue back to M12-03D. No parity ledger
rollback is required.