40 lines
1.8 KiB
Markdown
40 lines
1.8 KiB
Markdown
# M10-10 Status
|
|
|
|
status: done
|
|
task: Stable capability block for unsupported Shader nodes
|
|
updated: 2026-08-16 America/New_York
|
|
|
|
## Scope
|
|
|
|
The Shader capability query now accepts arbitrary node type strings and returns a
|
|
stable `PBR-012/ARBITRARY_SHADER` block for every type outside the declared bounded
|
|
compiler set. Unsupported node names are de-duplicated and sorted, so the same
|
|
graph receives the same error regardless of input order. The block uses
|
|
`SHADER_NODE_UNSUPPORTED`, remains recoverable, and does not silently report READY.
|
|
|
|
The existing ShaderGraph validator and Engine Worker gate continue to preserve the
|
|
source graph and reject blocked `setShaderGraph` commands before any Main mutation.
|
|
This task does not expand the compiler allowlist.
|
|
|
|
## Evidence
|
|
|
|
- `WEB_TEST_PORT=5526 npm --prefix web run test:shader-capability`: Chromium 1/1.
|
|
`VORONOI` and `CUSTOM_OSL` both return the expected stable block; reversed input
|
|
order produces the identical task/capability/status/code/message result.
|
|
- `npm --prefix web run typecheck` and `npm --prefix web run lint` passed.
|
|
- `tests/golden/M10-10/shader-capability-block.json` fixes the status, error code,
|
|
recoverability and graph-preservation policy.
|
|
|
|
## Implementation Hashes
|
|
|
|
- Render capability gate: `322929e9c7b627a9e79b8a6f11d5e9b0c7c05a5754f82d41c45c1134bbaaf385`.
|
|
- Chromium spec: `6337801f10b9115ba7b53a43152ae69a324b5baa61c8e455cc61505437228cbf`.
|
|
- Golden: `b7182bb57e10d0b302b4c7dc9bc43160721a2c9414b056c86173c3b5c2501739`.
|
|
- Package: `d6d4dcaf4f5c852f884ba2064da96a8c30519c661bf4a16c59e115742aa37e8a`.
|
|
|
|
## Rollback
|
|
|
|
Restore the enum-only `ARBITRARY_SHADER` request, remove deterministic sorting,
|
|
the M10-10 Chromium test/golden and this status file, and restore the M10 count to
|
|
9/15. Keep the existing M10-07 compiler fail-closed behavior.
|