native-webgpuacceptedNative browser capture-session: nativeWebGPU/backend WebGPU after renderer.init(); GPU FFT fixture suite pass.
incomplete
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-fft-oceansha256:d8bfba57799a06f5fb8bdaf78eb70bb58a6de29a5de8f98724aa03bf85bda91asha256:fea09ca36e3de2839b52f25a9215f7e4110136c32152bf2eecbbf48827961c58sha256:d929feed6bb69df4ba0bca7a58c723f6c257d003c20d1e9417d25ccb25e4ecf9visualCorrectnessPASSmechanismCorrectnessPASSperformanceComplianceINSUFFICIENT_EVIDENCEgpuAttributionINSUFFICIENT_EVIDENCElifecycleStabilityINSUFFICIENT_EVIDENCE
native-webgpuacceptedNative browser capture-session: nativeWebGPU/backend WebGPU after renderer.init(); GPU FFT fixture suite pass.
minimum-four-storage-texturesacceptedOcean capabilities gate requires adapter maxStorageTexturesPerShaderStage >= 4; capture initializes full cascade storage layout.
renderer-initacceptedcreateWebGPUFftOcean after await renderer.init(); capture-session records initialized native WebGPU.
backend-is-webgpuacceptedmetrics.backend=WebGPU / isWebGPUBackend=true in capture-session and renderer-info.json.
mechanism-reachableacceptedMechanism debug modes spectrum-fft/jacobian/foam/underwater captured as distinct PNG readbacks.
render-or-compute-workacceptedGPU FFT fixture suite and per-frame compute dispatches recorded; mechanism-metrics.gpuReadback.pass=true.
aligned-readbackacceptedInteger 256-byte-aligned RT transport-readbacks for final/diagnostics/seed/temporal captures.
complete-2d-fft-readbackacceptedrunBrowserGpuReadbackFixtures complete-2d-fft suite pass (textureLoad-based storage stages) recorded in mechanism-metrics.json.
per-cascade-surface-and-foam-readbackacceptedwhitecaps-and-foam.png + temporal foam frames and cascade surface materialCascades ledger from native capture.
pages-source-hashacceptedevidence-manifest.sourceHash matches demo-registry sourceHash for this capture session.
| Field | Published value |
|---|---|
| Primary route | /demos/webgpu-fft-ocean/ |
| Cameras | near, design, far, underwater |
| Seeds | 0x00000001, 0x9e3779b9 |
| Modes | final, height, displacement, slopes, jacobian, foam, normal, spectrum-fft, cascade-bands, underwater-optics, cpu-query, no-post, diagnostics |
| 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 | directional-sea | {"mode":"final","camera":"design"} | incomplete |
| mechanism | spectrum-and-fft | {"mode":"spectrum-fft","camera":"design"} | incomplete |
| mechanism | dispersion-and-cascades | {"mode":"cascade-bands","camera":"design"} | incomplete |
| mechanism | derivatives-and-jacobian | {"mode":"jacobian","camera":"near"} | incomplete |
| mechanism | whitecaps-and-foam | {"mode":"foam","camera":"near"} | incomplete |
| mechanism | above-and-below-surface | {"mode":"underwater-optics","camera":"underwater"} | incomplete |
| mechanism | cpu-query-parity | {"mode":"cpu-query","camera":"design"} | incomplete |
| tier | ultra | {"tier":"ultra"} | incomplete |
| tier | high | {"tier":"high"} | incomplete |
| tier | medium | {"tier":"medium"} | incomplete |
| tier | low | {"tier":"low"} | incomplete |
{
"targetClass": "unmeasured-current-adapter",
"frameTargetMs": null,
"resolutionPolicy": {
"fftResolution": 512,
"dpr": 1
},
"mechanismLimits": {
"cascadeCount": 3,
"packedComplexTransformCount": 4
},
"resourceLimits": {
"authoredStorageBudgetMiB": 104,
"derivedStorageBytes": 106954752
},
"degradationFromPrevious": [],
"preservedInvariants": [
"dimensional spectrum",
"Hermitian evolution",
"explicit inverse-transform convention",
"resolved-band geometry/normal parity",
"native-resolution per-cascade foam history"
]
}{
"targetClass": "unmeasured-current-adapter",
"frameTargetMs": null,
"resolutionPolicy": {
"fftResolution": 256,
"dpr": 1
},
"mechanismLimits": {
"cascadeCount": 3,
"packedComplexTransformCount": 4
},
"resourceLimits": {
"authoredStorageBudgetMiB": 28,
"derivedStorageBytes": 26738688
},
"degradationFromPrevious": [
"FFT resolution 512 to 256"
],
"preservedInvariants": [
"dimensional spectrum",
"Hermitian evolution",
"explicit inverse-transform convention",
"resolved-band geometry/normal parity",
"native-resolution per-cascade foam history"
]
}{
"targetClass": "unmeasured-current-adapter",
"frameTargetMs": null,
"resolutionPolicy": {
"fftResolution": 256,
"dpr": 1
},
"mechanismLimits": {
"cascadeCount": 2,
"packedComplexTransformCount": 4
},
"resourceLimits": {
"authoredStorageBudgetMiB": 22,
"derivedStorageBytes": 17825792
},
"degradationFromPrevious": [
"cascade count 3 to 2"
],
"preservedInvariants": [
"dimensional spectrum",
"Hermitian evolution",
"explicit inverse-transform convention",
"resolved-band geometry/normal parity",
"native-resolution per-cascade foam history"
]
}{
"targetClass": "unmeasured-current-adapter",
"frameTargetMs": null,
"resolutionPolicy": {
"fftResolution": 128,
"dpr": 1
},
"mechanismLimits": {
"cascadeCount": 1,
"packedComplexTransformCount": 4
},
"resourceLimits": {
"authoredStorageBudgetMiB": 8,
"derivedStorageBytes": 2228224
},
"degradationFromPrevious": [
"FFT resolution 256 to 128",
"cascade count 2 to 1"
],
"preservedInvariants": [
"dimensional spectrum",
"Hermitian evolution",
"explicit inverse-transform convention",
"resolved-band geometry/normal parity",
"native-resolution per-cascade foam history"
]
}