Files
workinf_Blender_Wasm/docs/status/M10-13.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-13 Status

status: done task: Probe local Physics solvers per family and keep unsupported families bake-only updated: 2026-08-16 America/New_York

Scope

The Physics protocol now probes all seven declared families independently. A local solver becomes READY only after its runtime export exists, initialization succeeds, its thread requirement is met and its required memory fits the active WASM limit. Missing exports, initialization errors, insufficient threads or memory, and malformed probe results remain BLOCKED and route to DESKTOP_SERVER_BAKE.

The production inventory has no installed solver runtime adapter, so Rigid Body, Soft Body, Cloth, Fluid, Dynamic Paint, Particle and Hair all remain bake-only. The synthetic positive probe verifies the gate and does not declare an actual solver. Desktop family decoding, cache playback, browser bake and server job submission remain blocked for later tasks.

Evidence

  • node --test web/tests/unit/physics-solver-probe.test.mjs: 3/3. It covers the default seven-family fallback, family isolation across all four gates, and invalid environment/result fail-closed behavior.
  • WEB_TEST_PORT=5530 npm --prefix web run test:physics-solver-probe: unit 3/3 and Chromium Worker 1/1. The browser result matches the M10-13 golden and keeps every failed family on DESKTOP_SERVER_BAKE.
  • WEB_TEST_PORT=5531 npm --prefix web run test:e2e -- --grep "N-018 physics" and npm --prefix web run test:physics-main-reader: passed without changing existing metadata/cache gates or claiming a solver.
  • npm --prefix web run typecheck, npm --prefix web run lint, production build (74 modules), and git diff --check: passed.

Implementation Hashes

  • web/protocol/physics-simulation.ts: adc57a12c7f57c6b1d5f99590d3c36cefa83636aca86c780c2520f3f41148981
  • web/tests/unit/physics-solver-probe.test.mjs: e499d55770d2024c75803ce1acc1c234814c027279f2b40f42195fd480977653
  • web/app/src/workers/physics-solver-probe-test.worker.ts: fbad383de186a659440da42dcad988310ca2e483db27e30d74342c8f57a0f49a
  • web/tests/e2e/physics-solver-probe.spec.ts: 1419b98d68da9b0ab0bf41b37843442741593655e2693159d84e069f1dec3f09
  • tests/golden/M10-13/physics-solver-probe.json: bcc8f9094e2b0d8f41ef01fda0daa2a29693d188e602447d6d06358aaa751df4
  • web/package.json: 875162709315e2a8116c5d28023576a4b95fb076b79453de8b21acdbff2df9dc

Rollback

Remove the solver probe types/functions, unit/Worker/E2E/golden/package command and this status file, then restore the M10 count to 12/15. Keep the existing N-018 metadata, Main reader, Simulation cache and BTF1 playback primitive unchanged.