52 lines
2.6 KiB
Markdown
52 lines
2.6 KiB
Markdown
# 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-display` passed 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_MISMATCH` under 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.
|