Files
workinf_Blender_Wasm/docs/status/M11-04.md
mes123456 0fe8d2bb56
Some checks are pending
M6 deployable RC / quick (push) Waiting to run
M6 deployable RC / chromium (push) Blocked by required conditions
M6 deployable RC / release (push) Blocked by required conditions
Advance M8-M11 parity workflows
2026-08-17 04:37:07 -04:00

3.4 KiB

M11-04 Status

status: done task: Explainable image-error metrics between the Web realtime viewport and a Blender 5.2 reference updated: 2026-08-17 America/New_York

Scope

Schema 1 RenderImageComparisonIR compares equal-size display-referred SRGB8/ STRAIGHT RGBA frames. The report records mean absolute error, root mean squared error, P95 channel error, maximum channel error, bad-pixel ratio, reference-background foreground intersection-over-union and alpha coverage delta. Each release check keeps its measured value, threshold, direction and pass state; a mismatch returns the stable RENDER_REFERENCE_MISMATCH code. Dimensions, byte lengths, threshold ranges and a 4,194,304-pixel bound are validated before comparison.

The reference is generated by Blender 5.2 Eevee from tests/files/web/m11_render_reference.blend with a fixed camera, black rough material, World color, one-sample TAA and zero dither. The source fixture, generator and PNG are SHA-256 bound in tests/golden/M11-04/manifest.json. Re-render verification compares decoded Blender pixels exactly because PNG container bytes may differ while pixels do not.

Evidence

  • WEB_TEST_PORT=5552 npm --prefix web run test:render-reference: unit 3/3, Blender reference re-render verification passed, Chromium 3/3. Main-thread and Offscreen reports were identical: MAE 2.0433349609375, RMS 5.448994264342599, P95 4, maximum channel error 110, bad-pixel ratio 0.0047760009765625, foreground IoU 0.9853400565736072, alpha coverage delta 0.
  • Thresholds are MAE 4, RMS 12, P95 12, bad-pixel ratio 0.02, foreground IoU 0.97 and alpha coverage delta 0. A non-empty red block with the wrong composition is rejected as RENDER_REFERENCE_MISMATCH.
  • npm --prefix web run typecheck, npm --prefix web run lint, production build (75 modules), npm --prefix web run test:status-consistency and git diff --check passed.

Implementation Hashes

  • web/protocol/render-image-comparison.ts: 4345cc0d02b4482201de34292cbf5198009bf615e69c80cc00bc3e76116efec2
  • web/app/src/three-adapter/render-image-comparison.ts: ad97fd594d0d964e05d4da2bffc84a64ef737fef700045c252b5222250f1ffc7
  • web/protocol/error.ts: e8ea483466b16debaf803ff1640ade07a858a802781e3040d3547028ecb5d19f
  • tools/web/generate-m11-render-reference.py: 118c98c77d98922e72660898bfb65842e11743fc77f4124c9f5088a76cb6a94a
  • tools/web/check-render-reference.mjs: ead3500f054e98c2db4cd6596c983586a622e929bc8a587e9fbd38d94a7df7d1
  • web/tests/unit/render-image-comparison.test.mjs: f9800745760b85700e80abc5e389f44d7f7ea3b9e41e1002f4e5449bcb620f67
  • web/tests/e2e/render-reference.spec.ts: 349c7da0dfd60baec80139cced52079312bd5e892a42f000ba0b4f55c6a4a61d
  • tests/files/web/m11_render_reference.blend: d2bea55fe4de0b00e73a9241b4d1b0c802c2eb0e6159c0cd48e007b97b9d3963
  • tests/golden/M11-04/blender-eevee-reference.png: f5c22636a232bcbb0ed0f772418cb12fced18ff72f4999804197e42caa61480a
  • tests/golden/M11-04/manifest.json: e9551f86f0b9704d7be35c03f07321bec5d2481ffee4208ae766156d9c9a0135
  • web/package.json: 38ba6a722a2e0bc2c91d6edbd2b7df5e3609342e3b7ef2ec9646b9c6ce0d25a6

Rollback

Remove the M11-04 protocol, reference fixture/golden, generator/checker, unit/E2E specs and package command; restore M11 to 3/14 and remove the bounded reference slice from N-019. Keep M11-01 through M11-03 resource and lighting behavior unchanged.