Files
workinf_Blender_Wasm/docs/status/M10-14.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.6 KiB

M10-14 Status

status: done task: Validate source hash, frame range, byte budget and version for every Physics cache family updated: 2026-08-16 America/New_York

Scope

Every Physics family cache now uses cache schema 1 and binds its family, desktop or server bake origin, Blender 5.2 version, source blend/settings/input/cache SHA-256, frame range, total byte length and per-frame byte offset/length/SHA-256. COMPLETE caches require every frame; PARTIAL caches may omit frames but remain strictly ordered and byte-contiguous. Per-frame and total cache budgets match the existing bounded Simulation cache policy.

verifyPhysicsCachePayload hashes the actual current blend, full cache payload and every frame before consumption. Family/source/version/range/budget drift fails closed. This task validates cache identity and bytes; it does not implement a Blender family decoder or change the existing cache playback capability block.

Evidence

  • node --test web/tests/unit/physics-cache-family.test.mjs: 3/3. All seven families and both desktop/server sources pass; source/payload drift and family/schema/version/ range/budget/undeclared-field failures return stable codes.
  • WEB_TEST_PORT=5533 npm --prefix web run test:physics-cache-family: unit 3/3 and Chromium Worker 1/1, matching the M10-14 golden.
  • M10-13 probe Chromium 1/1, Physics Main reader, M10-05 Simulation cache identity unit 5/5 + Chromium 1/1, typecheck, lint, production build (74 modules), and git diff --check: passed.

Implementation Hashes

  • web/protocol/error.ts: 6972a144bdc61c2a4270c88df2d86c75640bb5f24b5ac3b7f9a02d69d3c500fd
  • web/protocol/physics-simulation.ts: b02b820503d79cd26b0323a4d2033e79d0eeb3032befd26fafe5eab55634584c
  • web/app/src/workers/physics-simulation-test.worker.ts: 453c6e9e683b9da0ef7ce4bd0e4e430b97102d80ddb9b14cc9d075319b37d818
  • web/tests/unit/physics-cache-family.test.mjs: e1c6f07ec58ce4c4c987bd8a36f270497ae3a0f521d6ed27d7f199debeeaccb2
  • web/app/src/workers/physics-cache-family-test.worker.ts: 8af676506cc0ff1501816431d92d82ca15316b40095d617ecb664b9608e209e0
  • web/tests/e2e/physics-cache-family.spec.ts: 6a2788587f6692bf5bf19d76400810fa277a6985d1a6ecc1b8d1adb85c609249
  • tests/golden/M10-14/physics-cache-family.json: b220d1fd73f307213078ce3cbd6212544f97ade84a45d54847f107cef69d302d
  • web/package.json: 9baeb319d8c740f67f3e7615942c78f920e7a56b0d654a5a8f47d68de7243eb4

Rollback

Restore the former Physics cache binding, remove the two new cache hash error codes, unit/Worker/E2E/golden/package command and this status file, then restore M10 to 13/15. Keep M10-13 solver probing and the existing GN Simulation cache schema 2.