accepted

Native WebGPU validation harness

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.

Lab id
webgpu-validation-harness
Kind
Canonical Lab
Owning skill
Visual Validation
Execution
rendering
Three.js
0.185.1
Source hash
sha256:c099d8c03b07280a4553e1ea687d4ca092809fba4efc5c67429b954c242359c7
Published bundle hash
sha256:95d5d07960dc5c166603d6f3fa0170f5b8a586a506e30b642b16877022554031
Build revision
sha256:d929feed6bb69df4ba0bca7a58c723f6c257d003c20d1e9417d25ccb25e4ecf9
Renderer
WebGPURenderer
Backend
WebGPU
Evidence contract
v2
Tracked release bundle
Present

Claim verdicts

visualCorrectnessPASS
mechanismCorrectnessPASS
performanceCompliancePASS
gpuAttributionPASS
lifecycleStabilityPASS
visualErrorPASS

Promoted same-lab media

Required capability and runtime proof

Capabilities

native-webgpuaccepted

renderer.backend.isWebGPUBackend after await renderer.init()

render-target-readbackaccepted

RGBA8 capture target copied through an aligned WebGPU row layout

Runtime proof

renderer-initaccepted

Native browser subject initialization and backend gate

backend-is-webgpuaccepted

Every correctness and physical route records renderer.backend.isWebGPUBackend === true after await renderer.init()

mechanism-reachableaccepted

Runtime graph inspection and all 19 immutable route locks prove the selected mechanism is reachable from the active output

render-or-compute-workaccepted

Measured scene and output submissions, native render-target pixels, and hardware timestamp populations prove executed GPU work

aligned-readbackaccepted

Retained transport and normalized readbacks record exact integer row strides, 256-byte alignment, byte lengths, and PNG hashes

mrt-readbackaccepted

Actual output, normal, and emissive render-target readback

schema-v2accepted

Fourteen semantic JSON artifacts plus required real images

lifecycleaccepted

50-100 create/render/resize/mode/tier/dispose cycles

Capture state

FieldPublished value
Primary route/demos/webgpu-validation-harness/
Camerasnear, design, far
Seeds0x00000001, 0x9e3779b9
Modesfinal, no-post, normal, emissive
Capture timeNot present in the promoted report data
Adapter identityNot promoted
Raw readback hashesNot present in the promoted preview summary

Fixed routes

KindIdStartup stateStatus
scenariobrowser-capture{"scenario":"browser-capture"}accepted
scenariopipeline-graph-inspector{"scenario":"pipeline-graph-inspector"}accepted
scenarioresource-ledger{"scenario":"resource-ledger"}accepted
scenariotiming-and-governor{"scenario":"timing-and-governor"}accepted
scenariolifecycle-and-leaks{"scenario":"lifecycle-and-leaks"}accepted
scenariovisual-error-metrics{"scenario":"visual-error-metrics"}accepted
scenariomutation-gallery{"scenario":"mutation-gallery"}accepted
scenarioartifact-inspector{"scenario":"artifact-inspector"}accepted
mechanismaligned-readback{"scenario":"browser-capture","mode":"final"}accepted
mechanismclaim-verdicts{"scenario":"artifact-inspector","mode":"emissive"}accepted
mechanismgpu-timestamps{"scenario":"timing-and-governor","mode":"final"}accepted
mechanismresource-inventory{"scenario":"resource-ledger","mode":"normal"}accepted
mechanismvisual-errors{"scenario":"visual-error-metrics","mode":"normal"}accepted
mechanismlifecycle-trend{"scenario":"lifecycle-and-leaks","mode":"final"}accepted
tierschema-fixture{"tier":"schema-fixture"}accepted
tierwebgpu-correctness{"tier":"webgpu-correctness"}accepted
tiertarget-performance{"tier":"target-performance"}accepted
tiergovernor-stress{"tier":"governor-stress"}accepted
tierrelease{"tier":"release"}accepted

Locked tier contracts

schema-fixture · 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"
  ]
}
webgpu-correctness · accepted
{
  "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"
  ]
}
target-performance · accepted
{
  "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"
  ]
}
governor-stress · accepted
{
  "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"
  ]
}
release · accepted
{
  "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"
  ]
}

Limitations

  • Tracked release projection binds the approved correctness, physical-route, and performance lanes to the current source closure.
  • Promoted gallery images are the retained standard correctness readbacks from the accepted release bundle.
  • Opaque renderer-internal residency remains unclaimed beyond lab-owned resource ledgers.