Checkpoint web parity through Chromium input tasks
This commit is contained in:
51
docs/status/M12-07F.md
Normal file
51
docs/status/M12-07F.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# M12-07F Status
|
||||
|
||||
status: done
|
||||
task: STL Web-to-desktop round-trip and material-loss report
|
||||
updated: 2026-08-18 America/New_York
|
||||
enablingTask: false
|
||||
parityStateChange: false
|
||||
|
||||
## Scope
|
||||
|
||||
The STL Web path now serializes the bounded parsed triangle result back to deterministic binary STL.
|
||||
The loss report explicitly records STL's lack of material slots as
|
||||
`STL_MATERIAL_UNSUPPORTED`; it never silently claims material preservation. A Chromium Worker output
|
||||
is imported by a fresh pinned Blender 5.2 process and compared by triangle count and facet normals.
|
||||
|
||||
## Evidence
|
||||
|
||||
- `node --test web/tests/unit/stl-export.test.mjs` passed 1/1 for binary header/table serialization
|
||||
and explicit material-loss warning.
|
||||
- `CHROME_PATH=/usr/bin/google-chrome-stable WEB_TEST_PORT=5467 node_modules/.bin/playwright test
|
||||
--config playwright.config.ts --workers=1 tests/e2e/stl-web-roundtrip.spec.ts` passed 1/1 in Chrome
|
||||
150. Browser output is 184 bytes/2 triangles; Blender reopens 2 polygons/2 triangles with exact
|
||||
normals; warning code is `STL_MATERIAL_UNSUPPORTED`.
|
||||
- `node tools/web/check-stl-web-roundtrip.mjs` passed:
|
||||
`stl-web-roundtrip-ok triangles=2 normals=exact materialLoss=1 desktopExact=true next=M12-07G`.
|
||||
- Typecheck and `git diff --check` passed. The STL material loss remains machine-visible and STL UI
|
||||
route/parity stays bounded.
|
||||
|
||||
## Artifact Hashes
|
||||
|
||||
- parent manifest: `19a9f460d1b939c9504dadd364cb87dab3b1769b0599035e2d2b51b47091e034`
|
||||
- protocol/Worker: `3b9c409de9fb3eaea34f82c1ddd466670d2b478845d8ff6af3c4e44cb4e04a52` /
|
||||
`1da8b8281cf8ebf9ccf5fd2f42da8ed5886001ab83daba8d9fcd88980257af87`
|
||||
- desktop importer: `c4cbff52ff2e7cecba7aeab47e865975955da23a0e1e8ff885ece56b894558d5`
|
||||
- unit/Chromium/checker: `f06af242df80ec26d06e92b749449cfebaf909476198ff825207cdd4b9484102` /
|
||||
`2e979dcd030f5316fcbe28e2c19b1c99fe5d111e849d3fc1d2ea316d2159032b` /
|
||||
`093de04bf80b0909eee56ea590e04e7aa4749168e2e49615c62ab39ddc0d16cf`
|
||||
- report: `0495c645b4280f6e7821f0ba02010e25d4accbc552e3cd7c58e052607799040e`
|
||||
- source fixture: `50161172cd12e4240067064db6f80e74b2df69c475e3e34154e9d0523928c1ca`
|
||||
- package: `cfb232baa494ff59f6c8d65514a08c86332ee9354350b2a0392b6f932a7ee42c`
|
||||
- manifest: `3cbbcb541ee123da0ef8916ac2ca8805680d539bbf8db3b4a8d331aec418148c`
|
||||
|
||||
## Next Task
|
||||
|
||||
`M12-07G`: PLY ASCII/binary little-endian capability declarations.
|
||||
|
||||
## Rollback
|
||||
|
||||
Remove the STL export/loss protocol, Worker, desktop importer, tests, checker, report, manifest, and
|
||||
this status entry. Restore M12-07E as the queue tail and move the machine queue back to M12-07F. No
|
||||
parity ledger rollback is required.
|
||||
Reference in New Issue
Block a user