2.6 KiB
M12-02H Status
status: done task: compare desktop/browser preview pixels and pass main-thread and Offscreen display paths updated: 2026-08-17 America/New_York enablingTask: false parityStateChange: true
Scope
The display path validates the content identity, encoded SHA-256, image header, dimensions, decoded byte budget, and compression ratio before invoking a decoder. It then decodes with disabled browser color conversion and alpha premultiplication, draws with copy composition and no smoothing, and publishes a receipt bound to the identity, content, backend, dimensions, RGBA8 hash, and alpha count.
Blender 5.2 deterministically regenerates the 8x8 SRGB/RGBA8/STRAIGHT reference. Main-thread
Canvas2D and a dedicated Worker OffscreenCanvas execute the same production display implementation
and match all 256 reference bytes. This closes only the bounded preview display slice; arbitrary
profiles, Asset Browser UI, and library operations remain outside this task.
Evidence
WEB_TEST_PORT=5600 npm --prefix web run test:asset-preview-displaypassed the evidence unit 1/1, Blender 5.2 desktop regeneration/hash checker, and Chromium main-thread/Offscreen test 1/1.- Desktop, main-thread, and Offscreen output SHA-256 was
c2ff81750b41193ce1a06d47d0ff18168a756136dbf0f2586cd0638d4bf0ef00. - Both browser paths reported 8x8, 256 RGBA8 bytes, 64 non-transparent pixels, and closed bitmap ownership. Their MAE, RMS, P95, maximum channel error, bad-pixel ratio, and alpha coverage delta were zero; foreground IoU was 1.
- A one-channel mutation returned
BLOCKED/RENDER_REFERENCE_MISMATCHunder the same metric contract.
Artifact Hashes
- display runtime:
e4a46a40291427afc185caf016b02120ea71639ab4ab4ac250a5c3de28ee8d28 - Offscreen Worker:
6322562f54b608b7eaac4ca3bc0f8d861f47bb8e9b37b3c2ae3d61163108724f - desktop checker:
d03d766e69ea0547be2c247b5d7ef8fd5ceab6b399dc996eba711fa0cac0ca54 - desktop report:
cdf841f5d27362f6df380772ada8b7b1427d051a8b46b5c2c20aab0b597c25d0 - Chromium suite:
340d386c6a854c44cd6f6207e3699f870b8ded2aada4747afd6ff1103c719520 - unit suite:
f10a05900c4d1282251f7a76e7c413a18602910f55fe8400f1713f548eba3873 - manifest:
30e6e4b6f53e07768d2ae8d853fe08a5c0782f8608320a72e41db77f6d87f2c4 - package commands:
2510242fbc0c2da787f558365733a4db6faf9f490e2594f69dc978920ed09f21
Next Task
M12-03A: inventory the data-block and dependency closures for append, link, and library override.
Rollback
Remove the display runtime, Worker, desktop checker/report, unit/Chromium suites, M12-02H manifest, package command, completed ledger slice, and this status entry. Restore M12-02H to pending and the queue to M12-02H.