Files
workinf_Blender_Wasm/docs/status/M11-06.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

2.8 KiB

M11-06 Status

status: done task: server render job provenance binding updated: 2026-08-17 America/New_York

Scope

web/protocol/server-render-job.ts defines schema 1 for a server render request and result. A request is accepted only when the uploaded .blend bytes match its declared source SHA-256 and byte length, the Blender build is a declared 5.2 build with a content hash, and canonical bounded render settings match settingsSha256. The request itself is bound by requestSha256.

A successful result carries the same source/revision/build/settings identity and adds output MIME, byte length, and output SHA-256, plus resultSha256. Consumers recalculate the output hash before accepting pixels. The contract does not claim a remote queue, progress, cancellation, denoise, or Freestyle implementation; those remain later M11 tasks.

Evidence

  • npm --prefix web run test:server-render-job: unit 3/3 and a real loopback server check passed.
  • The check used Blender 5.2.0 headless to open tests/files/web/m11_render_reference.blend and render a PNG from the submitted source bytes. It verified source/build/settings/output hashes and rejected source, build, settings, and output tampering.
  • Result: server-render-job-ok blender=5.2.0 source=d2bea55fe4de0b00e73a9241b4d1b0c802c2eb0e6159c0cd48e007b97b9d3963 settings=97bb832618bd27e8763722afa0d250ef74383fb355f0ff38763930f57ba1590b output=564b95cd501da2636085aeada88814c4a3b7af7b1f0188543a1863fe34dd091e bytes=3915 source-hash=1 build-hash=1 settings-hash=1 output-hash=1 tamper=4.
  • Full regression passed: typecheck, lint, Node 168/168, status consistency (12 parity blocked, 0 release blocked), release evidence (17 records, 0 missing), production build (75 modules), and git diff --check.

Implementation Hashes

  • web/protocol/server-render-job.ts: e2b5b95032b0dbcb346aa35d1a10a3b55d6c006603f16b9e72c3de45763906c5
  • web/protocol/error.ts: 747ea52fd96b3ec7ede9ce72c15f56fdc454836ba5bf924cc60198096d4986de
  • web/tests/unit/server-render-job.test.mjs: c84f86365006360f146601839d7e1394f3f7bc7fa71dcbf62d8d4e4321cdd16d
  • tools/web/check-server-render-job.mjs: 6dd49fbd1be202a88fa714b2fb81305018da6df5f9d73c95e048e3697742764e
  • tools/web/render-server-job.py: 48950b0884a52a40ae234f8bbe590a0cb89e58c4d2a2de40ea638f491d111aff
  • tests/golden/M11-06/server-render-job.json: 36f083f8da7585f850e748e6ac78fc57cd6e8d59bce03d77eee3acd2fa042ae7
  • web/package.json: 628191a76c7614393a74969bd000faa8a6302d887265d13a1ad49dcfc401c2fc

Rollback

Remove the server-render-job protocol, error codes, unit/check commands, and this status record; restore M11 to 5/14 and remove the M11-06 completed slice. Keep M11-05 routing, M11-04 reference metrics, and all earlier lighting/resource behavior unchanged.