Files
workinf_Blender_Wasm/docs/status/M12-02H.md
mes123456 5a11045ca5
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled
Advance Blender 5.2 web parity through M12-03D
2026-08-17 17:30:27 -04:00

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-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.