Files
workinf_Blender_Wasm/docs/status/M10-13.md
mes123456 0fe8d2bb56
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 M8-M11 parity workflows
2026-08-17 04:37:07 -04:00

49 lines
2.6 KiB
Markdown

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