Files
workinf_Blender_Wasm/docs/status/M12-06B.md
mes123456 380cbed4ff
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
Checkpoint web parity through Chromium input tasks
2026-08-19 10:39:03 -04:00

58 lines
3.0 KiB
Markdown

# M12-06B Status
status: done
task: compare desktop GLB topology, attributes, materials, nodes, and animations in Web
updated: 2026-08-18 America/New_York
enablingTask: true
parityStateChange: false
## Scope
The production TypeScript GLB parser now exposes a canonical bounded semantic surface for the five
M12-06A desktop fixtures. It validates referenced accessors, nodes, materials, textures, skins, and
animation samplers before returning primitive topology, sorted attributes, PBR material fields,
node hierarchy/TRS, skin bindings, and animation channels. A field-level comparator checks that Web
semantics exactly match the pinned Blender 5.2 desktop report.
Both Node and a real Chromium Worker consume the exact committed GLB bytes and verify each source
SHA-256 before comparing all five domains. The existing summary import API remains compatible. This
task does not create Blender Main data or expose GLB in the file picker; the runtime route remains
`BLOCKED_UNTIL_MAIN_PERSISTENCE` until M12-06C proves save/reopen and stable IDs.
## Evidence
- `node --test web/tests/unit/glb-desktop-import.test.mjs` passed 3/3: five exact fixture imports,
separate domain assertions, and a stable field-level PBR mismatch.
- `node tools/web/check-glb-desktop-import.mjs` passed: 5 fixtures, 5 compared domains, exact
desktop/Web canonical hashes, deterministic report regeneration, and the blocked route state.
- `CHROME_PATH=/usr/bin/google-chrome-stable WEB_TEST_PORT=5425 node_modules/.bin/playwright test
--config playwright.config.ts --workers=1 tests/e2e/glb-desktop-import.spec.ts` passed 1/1 from
the `web/` directory using Chrome 150. The Worker verified source SHA-256 and all five semantic
comparisons.
- `npm --prefix web run typecheck`, `npm --prefix web run test:status-consistency`, and
`git diff --check` passed. The package hash remains
`cfb232baa494ff59f6c8d65514a08c86332ee9354350b2a0392b6f932a7ee42c`.
## Artifact Hashes
- parent manifest: `e3554a1e739cbe3f217f6169130532365538b0c0eafbb97afc58d4d56c4287cb`
- protocol: `45d9a7912c4a59a552789a8ea0dfaff5f1849f8d213f14d238de024b77acdb0d`
- generator: `6f97527b7da04c7b4f9b09c48b9f367d1270db9f7820498d33832a80754436c2`
- checker: `804a4b5545d95d7ab1ba265469a981d0a10b71dab36f0c96283eb73b401443d2`
- unit: `6bf2a96b3e43e5fae93589ea5dcf98e7a69b10266378e442988198925286a8d8`
- Chromium Worker: `eb32049631113270fb62acb7ae9379e8ff9a03e38086db2fa309c6891cd707bf`
- Chromium test: `fa3e06419c918406f24b5a4260523bd94cfe729a84786e9434517fdfed624d45`
- Web import report: `79933888cc5aa2d1e3639ec349ca4c31d028fe89f751ebb8d4342f06d15ecfc2`
- manifest: `5275310394b34726a05b30ab67658e1381662dddf9163a97cb02f47f646a8fa4`
## Next Task
`M12-06C`: create authoritative Main data from the imported GLB, save `.blend`, reopen it, and
compare stable IDs.
## Rollback
Remove the canonical Web import surface, report generator/checker, Node/Chromium tests, report,
manifest, and this status entry. Restore M12-06A as the queue tail and move the machine queue back to
`M12-06B`. No parity ledger rollback is required.