CNA-BUG-234: CLAUDE.md's 'WebGPU Is Active' section still gives the current WEBGPU baseline as clear/present, Texture2D, buffer uploads and SpriteBatch, contradicting its own renderer paragraph, which describes a real 3D route with render targets
Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.
The renderer paragraph and the 'WebGPU Is Active' section of CNA's CLAUDE.md disagree about what WEBGPU implements. The section's 'current baseline' list and its 'remaining shader, state, effect, render-target ... tasks' clause date from the 2026-07-12 activation; the paragraph was refreshed on 2026-08-26, AGENTS.md's copy of the section already says WebGPU is well past the initial 2D slice, and WebGPURenderer::SupportsCapability reports multiple render targets, occlusion queries, wireframe and multi-stream vertex input. The section's caution against calling WebGPU Vulkan-level or full XNA 3D parity is not itself contradicted.
- Identifier
CNA-BUG-234- Category
- Bug
- Subsystem
- Documentation & release tooling
- Status
- Open
- Verified against
- CNA
009d40f5(009d40f5dd085c4e674d3479675fac84b12b3e0a) - Severity
- Low (a triage suggestion, not a project priority)
- Evidence basis
- Source-verified: read at TARGET, not executed
- Tests touching this area
- Yes: see Current tests
- Affected contract
- WEBGPU renderer status as described in CLAUDE.md
Expected behaviour
One description of the WEBGPU renderer's scope, consistent with the renderer and with docs/webgpu-renderer.md, which CLAUDE.md names as the capability boundary.
Actual behaviour at TARGET
CLAUDE.md's renderer paragraph: WEBGPU is 'experimental but past a 2D baseline, with a real 3D route (stock effects, instancing, render targets, MSAA, fog parity, GPU-native compressed textures, stencil ops) and Emscripten browser support'. Its 'WebGPU Is Active' section: 'The current baseline implements native surface/device setup, clear/present, Texture2D, buffer uploads and WGSL SpriteBatch. Do not describe it as Vulkan-level or full XNA 3D parity until the remaining shader, state, effect, render-target, readback and test tasks are actually complete.' AGENTS.md's version of that section was rewritten to say the renderer is well past the initial 2D slice; CLAUDE.md's was not. WebGPURenderer::SupportsCapability (WebGPURenderer.cpp) reports multiple render targets, occlusion queries and wireframe through the shared default and multi-stream vertex input explicitly, with comments naming the tasks that made them real, and WebGPU_MRT and WebGPU_OcclusionQuery are registered tests.
Source locations
CLAUDE.md— renderer selection paragraph and the 'WebGPU Is Active (Experimental)' sectionmodules/renderers/webgpu/src/WebGPURenderer.cpp— WebGPURenderer::SupportsCapabilitydocs/webgpu-renderer.md— the capability boundary CLAUDE.md defers to
Evidence
Checked by reading at 009d40f5; not executed. The instruction to not describe more than the baseline predates the 3D work the other paragraph describes.
Independent re-verification: Checked by reading at 009d40f5; not executed. The baseline bullet was written at the 2026-07-12 activation and the renderer paragraph was corrected on 2026-08-26 without touching it. The bullet's instruction is a caution against claiming Vulkan-level or full XNA 3D parity, not an instruction to describe nothing beyond the baseline, so what is stale is the baseline enumeration and the 'remaining ... tasks' clause. plan_webgpu.md counts 200 of 201 rows done, the open one being external-platform verification.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
WebGPU's own CTests cover the renderer; nothing reads CLAUDE.md.
Regression test
None applies; remove or date the stale baseline bullet and keep the pointer to plans/plan_webgpu.md's status summary.
Blast radius
Contributors and agents following the instruction file; the renderer is unaffected.
Workaround
Use docs/webgpu-renderer.md and plans/plan_webgpu.md's status summary.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- User guide
- Rendering backends: modern GPU renderers
- Deep dives
- WebGPU renderer semantics
- Known issues
- Bug index