Advance M8-M11 parity workflows
This commit is contained in:
40
docs/status/M10-09.md
Normal file
40
docs/status/M10-09.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# M10-09 Status
|
||||
|
||||
status: done
|
||||
task: Preserve the previous usable material pipeline on compile failure
|
||||
updated: 2026-08-16 America/New_York
|
||||
|
||||
## Scope
|
||||
|
||||
`PBRMaterialPipeline` makes material replacement transactional. A successfully
|
||||
compiled candidate becomes current only after compilation; the previous material
|
||||
is disposed exactly once after replacement. A blocked candidate is disposed and
|
||||
the current material remains usable, with the failed report stored as
|
||||
`shaderCompileFailure` for diagnostics. This does not claim arbitrary Shader Node
|
||||
support or a WebGPU pipeline.
|
||||
|
||||
The Engine Worker independently rejects blocked `setShaderGraph` requests before
|
||||
the Blender Main transaction, so a failed graph cannot publish a new SceneIR
|
||||
snapshot in addition to the viewport-side rollback.
|
||||
|
||||
## Evidence
|
||||
|
||||
- `WEB_TEST_PORT=5525 npm --prefix web run test:shader-pipeline`: Chromium 1/1.
|
||||
The test confirms the failed candidate reports `SHADER_NODE_UNSUPPORTED`, keeps
|
||||
object identity and the previous compiled report, and that a later successful
|
||||
compile replaces the material.
|
||||
- `npm --prefix web run typecheck` and `npm --prefix web run lint` passed after the
|
||||
pipeline helper was added.
|
||||
- `tests/golden/M10-09/shader-pipeline.json` fixes the rollback invariants.
|
||||
|
||||
## Implementation Hashes
|
||||
|
||||
- PBR adapter: `8a9cb52c8e7b1481096017cc659d93541c21724c1203d22755e37e1e3c365250`.
|
||||
- Chromium spec: `e6771f672e885250db199cbf97a0a3866084ab9bb3f2ad25d17f5c53edaa99af`.
|
||||
- Golden: `5dbb916e512935a76dacde37242b123707897f54ab10d7b99e246f57afbc94ac`.
|
||||
|
||||
## Rollback
|
||||
|
||||
Remove `PBRMaterialPipeline`, its Chromium test/golden and this status file. Keep
|
||||
the M10-08 compile key and Engine Worker pre-transaction gate, and restore the M10
|
||||
count to 8/15.
|
||||
Reference in New Issue
Block a user