native-webgpuacceptedrenderer.backend.isWebGPUBackend after await renderer.init()
accepted
This report separates published implementation state from accepted evidence. Every value below comes from the schema-v2 registry, the emitted source manifest, or promoted same-lab artifacts.
webgpu-validation-harnesssha256:c099d8c03b07280a4553e1ea687d4ca092809fba4efc5c67429b954c242359c7sha256:95d5d07960dc5c166603d6f3fa0170f5b8a586a506e30b642b16877022554031sha256:d929feed6bb69df4ba0bca7a58c723f6c257d003c20d1e9417d25ccb25e4ecf9visualCorrectnessPASSmechanismCorrectnessPASSperformanceCompliancePASSgpuAttributionPASSlifecycleStabilityPASSvisualErrorPASS
native-webgpuacceptedrenderer.backend.isWebGPUBackend after await renderer.init()
render-target-readbackacceptedRGBA8 capture target copied through an aligned WebGPU row layout
renderer-initacceptedNative browser subject initialization and backend gate
backend-is-webgpuacceptedEvery correctness and physical route records renderer.backend.isWebGPUBackend === true after await renderer.init()
mechanism-reachableacceptedRuntime graph inspection and all 19 immutable route locks prove the selected mechanism is reachable from the active output
render-or-compute-workacceptedMeasured scene and output submissions, native render-target pixels, and hardware timestamp populations prove executed GPU work
aligned-readbackacceptedRetained transport and normalized readbacks record exact integer row strides, 256-byte alignment, byte lengths, and PNG hashes
mrt-readbackacceptedActual output, normal, and emissive render-target readback
schema-v2acceptedFourteen semantic JSON artifacts plus required real images
lifecycleaccepted50-100 create/render/resize/mode/tier/dispose cycles
| Field | Published value |
|---|---|
| Primary route | /demos/webgpu-validation-harness/ |
| Cameras | near, design, far |
| Seeds | 0x00000001, 0x9e3779b9 |
| Modes | final, no-post, normal, emissive |
| Capture time | Not present in the promoted report data |
| Adapter identity | Not promoted |
| Raw readback hashes | Not present in the promoted preview summary |
| Kind | Id | Startup state | Status |
|---|---|---|---|
| scenario | browser-capture | {"scenario":"browser-capture"} | accepted |
| scenario | pipeline-graph-inspector | {"scenario":"pipeline-graph-inspector"} | accepted |
| scenario | resource-ledger | {"scenario":"resource-ledger"} | accepted |
| scenario | timing-and-governor | {"scenario":"timing-and-governor"} | accepted |
| scenario | lifecycle-and-leaks | {"scenario":"lifecycle-and-leaks"} | accepted |
| scenario | visual-error-metrics | {"scenario":"visual-error-metrics"} | accepted |
| scenario | mutation-gallery | {"scenario":"mutation-gallery"} | accepted |
| scenario | artifact-inspector | {"scenario":"artifact-inspector"} | accepted |
| mechanism | aligned-readback | {"scenario":"browser-capture","mode":"final"} | accepted |
| mechanism | claim-verdicts | {"scenario":"artifact-inspector","mode":"emissive"} | accepted |
| mechanism | gpu-timestamps | {"scenario":"timing-and-governor","mode":"final"} | accepted |
| mechanism | resource-inventory | {"scenario":"resource-ledger","mode":"normal"} | accepted |
| mechanism | visual-errors | {"scenario":"visual-error-metrics","mode":"normal"} | accepted |
| mechanism | lifecycle-trend | {"scenario":"lifecycle-and-leaks","mode":"final"} | accepted |
| tier | schema-fixture | {"tier":"schema-fixture"} | accepted |
| tier | webgpu-correctness | {"tier":"webgpu-correctness"} | accepted |
| tier | target-performance | {"tier":"target-performance"} | accepted |
| tier | governor-stress | {"tier":"governor-stress"} | accepted |
| tier | release | {"tier":"release"} | accepted |
{
"targetClass": "schema-transport-only",
"frameTargetMs": null,
"resolutionPolicy": {
"scenePassScale": 1,
"dprCap": 1
},
"mechanismLimits": {
"runtimeClaims": 0
},
"resourceLimits": {
"publishable": false
},
"degradationFromPrevious": [],
"preservedInvariants": [
"schema v2",
"claim separation",
"fixture quarantine"
]
}{
"targetClass": "current-adapter-correctness",
"frameTargetMs": null,
"resolutionPolicy": {
"scenePassScale": 1,
"dprCap": 2
},
"mechanismLimits": {
"mrtAttachments": 3
},
"resourceLimits": {
"lifecycleCyclesMinimum": 50,
"lifecycleCyclesMaximum": 100
},
"degradationFromPrevious": [],
"preservedInvariants": [
"native WebGPU",
"real MRT",
"aligned readback",
"one output owner"
]
}{
"targetClass": "current-adapter-performance",
"frameTargetMs": {
"value": 16.67,
"unit": "ms",
"label": "Gated",
"source": "60 Hz current-adapter release target"
},
"resolutionPolicy": {
"scenePassScale": 1,
"dprCap": 1
},
"mechanismLimits": {
"gpuTimestampsRequired": true
},
"resourceLimits": {
"sustainedTraceRequired": true
},
"degradationFromPrevious": [],
"preservedInvariants": [
"native WebGPU",
"timestamp-backed GPU attribution"
]
}{
"targetClass": "current-adapter-governor-stress",
"frameTargetMs": {
"value": 16.67,
"unit": "ms",
"label": "Gated",
"source": "60 Hz current-adapter release target"
},
"resolutionPolicy": {
"scenePassScale": 0.5,
"dprCap": 1
},
"mechanismLimits": {
"governorTraceRequired": true
},
"resourceLimits": {
"oscillationAllowed": false
},
"degradationFromPrevious": [
"scene pass resolution scale reduced to 0.5"
],
"preservedInvariants": [
"native WebGPU",
"MRT semantics",
"output ownership"
]
}{
"targetClass": "current-adapter-release-aggregation",
"frameTargetMs": null,
"resolutionPolicy": {
"scenePassScale": 1,
"dprCap": 1
},
"mechanismLimits": {
"releaseAggregation": true,
"performanceEvidenceTier": "target-performance",
"governorEvidenceTier": "governor-stress"
},
"resourceLimits": {
"lifecycleCyclesMinimum": 50,
"lifecycleCyclesMaximum": 100
},
"degradationFromPrevious": [],
"preservedInvariants": [
"native WebGPU",
"schema v2",
"real images",
"lifecycle stability"
]
}