accepted

WebGPU Rain Snow And Wet Surfaces

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-rain-snow-and-wet-surfaces
Kind
Canonical Lab
Owning skill
Rain, Snow, and Wet Surfaces
Execution
rendering
Three.js
0.185.1
Source hash
sha256:6bccc892e96e099bb776969a9c27c14df04050467bfa3b6abfdd8e3b4b440de4
Published bundle hash
sha256:aa10cb43f1dbc2f345a4ae9132e19526fd9b57a08b32e645f69476e74139fa8e
Build revision
sha256:d929feed6bb69df4ba0bca7a58c723f6c257d003c20d1e9417d25ccb25e4ecf9
Renderer
WebGPURenderer
Backend
WebGPUBackend
Evidence contract
v2
Tracked release bundle
Present

Claim verdicts

visualCorrectnessPASS
mechanismCorrectnessPASS
performanceComplianceNOT_CLAIMED
gpuAttributionNOT_CLAIMED
lifecycleStabilityPASS
visualErrorPASS

Promoted same-lab media

Required capability and runtime proof

Capabilities

native-webgpuaccepted

renderer backend gate after initialization

storage-bufferaccepted

immutable and recurrent storage-backed instance resources

computeaccepted

recurrent weather and bounded impact dispatch graph

Runtime proof

renderer-initaccepted

await renderer.init() in canonical browser controller

backend-is-webgpuaccepted

renderer.backend.isWebGPUBackend === true

mechanism-reachableaccepted

fixed mechanism routes change live visibility, material graph reachability, receiver work, and compute dispatch selection

world-stable-impact-receiversaccepted

camera-independent world-cell scheduler queries registered upward/visible/unoccluded receivers before GPU event upload

runtime-seed-rebuildaccepted

setSeed replaces precipitation seed/recurrent/impact storage and scheduler state

resource-derived-diagnosticsaccepted

normal diagnostics consume the live MRT attachment; masks/events/particles consume live material or storage nodes

aligned-readbackaccepted

capturePixels derives integer 256-byte-aligned row stride

render-or-compute-workaccepted

unified-v2 approved release: correctness capture + CDP Chrome hardware physical-route review + offline visual signoff

Capture state

FieldPublished value
Primary route/demos/webgpu-rain-snow-and-wet-surfaces/
Camerasnear, design, far
Seeds0x00000001, 0x9e3779b9
Modesfinal, mask, normals, particles, events, progress, no-post, diagnostics
Capture timeNot present in the promoted report data
Adapter identity{"source":"renderer.backend after init","info":{}}
Raw readback hashesNot present in the promoted preview summary

Fixed routes

KindIdStartup stateStatus
scenariocoupled-weather{"scenario":"coupled-weather","tier":"medium"}accepted
mechanismprecipitation-volume{"mechanism":"precipitation-volume"}accepted
mechanismanalytic-vs-recurrent{"mechanism":"analytic-vs-recurrent"}accepted
mechanismwet-road-and-puddles{"mechanism":"wet-road-and-puddles"}accepted
mechanismimpact-and-splashes{"mechanism":"impact-and-splashes"}accepted
mechanismsnow-accumulation-and-caps{"mechanism":"snow-accumulation-and-caps"}accepted
mechanismweather-envelope-coupling{"mechanism":"weather-envelope-coupling"}accepted
tierhigh{"tier":"high"}accepted
tiermedium{"tier":"medium"}accepted
tierbudgeted{"tier":"budgeted"}accepted

Locked tier contracts

high · accepted
{
  "targetClass": "close-inspection",
  "frameTargetMs": null,
  "resolutionPolicy": {
    "receiverScale": 1,
    "dprCap": 2
  },
  "mechanismLimits": {
    "rainInstances": 24576,
    "snowInstances": 12288,
    "impactCapacity": 4096,
    "recurrentTurbulence": true
  },
  "resourceLimits": {
    "precipitationDraws": 2,
    "splashDraws": 1
  },
  "degradationFromPrevious": [],
  "preservedInvariants": [
    "shared-weather-object",
    "world-stable-impacts",
    "integrated-surface-state",
    "single-field-snow-normal"
  ]
}
medium · accepted
{
  "targetClass": "ordinary-inspection",
  "frameTargetMs": null,
  "resolutionPolicy": {
    "receiverScale": 0.5,
    "dprCap": 1.5
  },
  "mechanismLimits": {
    "rainInstances": 12288,
    "snowInstances": 6144,
    "impactCapacity": 2048,
    "recurrentTurbulence": false
  },
  "resourceLimits": {
    "precipitationDraws": 2,
    "splashDraws": 1
  },
  "degradationFromPrevious": [
    "halve-visible-samples",
    "disable-recurrent-turbulence"
  ],
  "preservedInvariants": [
    "shared-weather-object",
    "world-stable-impacts",
    "integrated-surface-state",
    "single-field-snow-normal"
  ]
}
budgeted · accepted
{
  "targetClass": "small-projected-footprint",
  "frameTargetMs": null,
  "resolutionPolicy": {
    "receiverScale": 0.25,
    "dprCap": 1
  },
  "mechanismLimits": {
    "rainInstances": 4096,
    "snowInstances": 2048,
    "impactCapacity": 512,
    "recurrentTurbulence": false
  },
  "resourceLimits": {
    "precipitationDraws": 2,
    "splashDraws": 1
  },
  "degradationFromPrevious": [
    "reduce-visible-samples",
    "reduce-receiver-resolution",
    "bound-impact-ring"
  ],
  "preservedInvariants": [
    "shared-weather-object",
    "world-stable-impacts",
    "integrated-surface-state",
    "single-field-snow-normal"
  ]
}

Limitations

  • Correctness and CDP Chrome hardware physical-route visual review pass on the current source closure.
  • Named-adapter GPU timestamp timing remains NOT_CLAIMED.