tested-webgpu-unavailableacceptedLive capture forced forceWebGL probe: tested=true, webgpu=false; capture-summary.json records the unavailable-WebGPU teaching path.
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.
browser-fallback-harnesssha256:2c70688f1b3c7de4a118000dad52b1c3b5033faf133b4026c7e50b0b954a0398sha256:013cb38db6a97ec86cbf7d03620fb0d6b9e0b8eefd7b439538dd6947b69352a3sha256:348d7584a398e339bdf08ac952ded6eb67b5ed813416a6fe3ba445615164b63acontractCorrectnessPASSGPUAttributionNOT_CLAIMEDhardwarePerformanceNOT_CLAIMEDrenderLifecycleNOT_APPLICABLENo same-lab evidence image is promoted for this report. The page intentionally shows status and proof requirements instead of substitute art.
tested-webgpu-unavailableacceptedLive capture forced forceWebGL probe: tested=true, webgpu=false; capture-summary.json records the unavailable-WebGPU teaching path.
explicit-user-requestacceptedCapture clicks explicit-request control; before/after metrics prove activation only after authorization.
default-blockeracceptedUnit fixtures prove the default result blocks without an explicit request.
live-backend-probeacceptedcapture-summary.json target.tested=true and target.webgpu=false from forceWebGL probe during lab-owned capture.
one-degradation-axisacceptedFixture validation enforces exactly one changed degradation axis per ordered decision step.
independent-loss-and-timingacceptedVisible loss and CPU-fixture timing have independent provenance; GPU timing remains insufficient without timestamps.
isolated-force-webgl-branchacceptedAfter explicit request, compatibilityRuntime.isWebGPUBackend===false and branch screenshots/pixel hashes are recorded.
| Field | Published value |
|---|---|
| Primary route | /demos/browser-fallback-harness/ |
| Cameras | comparison |
| Seeds | 0x00000000 |
| Modes | plan |
| Capture time | Not present in the promoted report data |
| Adapter identity | Not promoted |
| Raw readback hashes | Not promoted |
| Kind | Id | Startup state | Status |
|---|---|---|---|
| scenario | blocked-default | {"scenario":"blocked-default"} | accepted |
| scenario | native-budget-reduction | {"scenario":"native-budget-reduction"} | accepted |
| scenario | precomputed-static | {"scenario":"precomputed-static"} | accepted |
| scenario | cpu-offline | {"scenario":"cpu-offline"} | accepted |
| scenario | feature-removed | {"scenario":"feature-removed"} | accepted |
| scenario | maintained-legacy | {"scenario":"maintained-legacy"} | accepted |
| scenario | invariant-loss-comparison | {"scenario":"invariant-loss-comparison"} | accepted |
| mechanism | explicit-activation-gate | {"scenario":"blocked-default"} | accepted |
| mechanism | ordered-degradation-trace | {"scenario":"maintained-legacy"} | accepted |
| mechanism | bounded-water-loss-oracle | {"scenario":"invariant-loss-comparison"} | accepted |
| mechanism | invariant-ledger | {"scenario":"invariant-loss-comparison"} | accepted |
| mechanism | force-webgl-branch-isolation | {"scenario":"maintained-legacy"} | accepted |
| mechanism | maintenance-acceptance | {"scenario":"maintained-legacy"} | accepted |
No renderer quality tiers apply to this primary.