native-webgpuacceptedrenderer.backend.isWebGPUBackend after 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.
structured-ash-growthsha256:1ecd4ae09ca0243df7e0406982ed0b0329554bdebe1823896b481dcb8fe37a40sha256:f60ffca04495abdc713bf8410eff5075d25eb101895b0ec940e13493448eff9bsha256:348d7584a398e339bdf08ac952ded6eb67b5ed813416a6fe3ba445615164b63avisualCorrectnessPASSmechanismCorrectnessPASSperformanceComplianceNOT_CLAIMEDgpuAttributionNOT_CLAIMEDlifecycleStabilityPASSvisualErrorPASS
native-webgpuacceptedrenderer.backend.isWebGPUBackend after renderer.init
storage-instancingacceptedAshForestTransform and AshForestTintPhase storage attributes
render-target-readbackacceptedAccepted publishable release-bundle covers render-target-readback for structured-ash-growth.
exact-ash-contractacceptedverify-ash-contract.js
shadow-parityacceptedAccepted publishable release-bundle covers shadow-parity for structured-ash-growth.
renderer-initacceptedAccepted publishable release-bundle covers renderer-init for structured-ash-growth.
backend-is-webgpuacceptedAccepted publishable release-bundle covers backend-is-webgpu for structured-ash-growth.
mechanism-reachableacceptedAccepted publishable release-bundle covers mechanism-reachable for structured-ash-growth.
render-or-compute-workacceptedAccepted publishable release-bundle covers render-or-compute-work for structured-ash-growth.
aligned-readbackacceptedAccepted publishable release-bundle covers aligned-readback for structured-ash-growth.
| Field | Published value |
|---|---|
| Primary route | /demos/structured-ash-growth/ |
| Cameras | near, design, far |
| Seeds | 0x00008dea |
| Modes | final, branch-levels, continuations, child-slots, angular-slots, leaf-origins, bark-uv-checker, wind-displacement |
| 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 | ash-contract | {"scenario":"ash-contract"} | accepted |
| scenario | ash-forest | {"scenario":"ash-forest"} | accepted |
| scenario | structured-growth | {"scenario":"structured-growth"} | accepted |
| scenario | leaf-origins-and-normals | {"scenario":"leaf-origins-and-normals"} | accepted |
| scenario | forest-storage-and-lod | {"scenario":"forest-storage-and-lod"} | accepted |
| scenario | vegetation-shadow-parity | {"scenario":"vegetation-shadow-parity"} | accepted |
| mechanism | structured-growth | {"scenario":"structured-growth","mode":"final"} | accepted |
| mechanism | leaf-origins-and-normals | {"scenario":"leaf-origins-and-normals","mode":"leaf-origins"} | accepted |
| mechanism | forest-storage-and-lod | {"scenario":"forest-storage-and-lod","mode":"final"} | accepted |
| mechanism | vegetation-shadow-parity | {"scenario":"vegetation-shadow-parity","mode":"wind-displacement"} | accepted |
| tier | growth/hero | {"tier":"growth/hero"} | accepted |
| tier | growth/forest | {"tier":"growth/forest"} | accepted |
| tier | growth/background | {"tier":"growth/background"} | accepted |
{
"targetClass": "Foreground Ash fidelity contract; target performance unmeasured",
"frameTargetMs": null,
"resolutionPolicy": {
"dprCap": {
"value": 2,
"unit": "ratio",
"label": "Authored",
"source": "growth hero route"
}
},
"mechanismLimits": {
"foregroundTrees": {
"value": 1,
"unit": "trees",
"label": "Gated",
"source": "Ash named fixture"
}
},
"resourceLimits": {
"branchVertices": {
"value": 6639,
"unit": "vertices",
"label": "Gated",
"source": "Ash legacy-fidelity contract"
},
"leafVertices": {
"value": 21760,
"unit": "vertices",
"label": "Gated",
"source": "Ash legacy-fidelity contract"
}
},
"degradationFromPrevious": [],
"preservedInvariants": [
"exact Ash topology",
"terminal continuations",
"rooted leaf wind",
"single tone/output owner"
]
}{
"targetClass": "Storage-instanced named forest fixture; target performance unmeasured",
"frameTargetMs": null,
"resolutionPolicy": {
"dprCap": {
"value": 1.5,
"unit": "ratio",
"label": "Authored",
"source": "growth forest route"
}
},
"mechanismLimits": {
"backgroundTrees": {
"value": 100,
"unit": "trees",
"label": "Gated",
"source": "Ash named fixture"
},
"lodBands": {
"value": 2,
"unit": "bands",
"label": "Authored",
"source": "storage forest compiler"
}
},
"resourceLimits": {
"drawCount": {
"value": 4,
"unit": "draws",
"label": "Gated",
"source": "two material draws per LOD band"
},
"instanceStorage": {
"value": 3200,
"unit": "bytes",
"label": "Derived",
"source": "100*2 vec4*16 bytes"
}
},
"degradationFromPrevious": [
"instance shared topology",
"split background into two LOD bands"
],
"preservedInvariants": [
"Ash topology",
"storage-backed transforms and phase",
"rooted wind",
"four forest draws"
]
}{
"targetClass": "Background-only storage forest fixture; target performance unmeasured",
"frameTargetMs": null,
"resolutionPolicy": {
"dprCap": {
"value": 1,
"unit": "ratio",
"label": "Authored",
"source": "growth background route"
}
},
"mechanismLimits": {
"foregroundTrees": {
"value": 0,
"unit": "trees",
"label": "Derived",
"source": "background route visibility"
},
"backgroundTrees": {
"value": 100,
"unit": "trees",
"label": "Gated",
"source": "Ash named fixture"
}
},
"resourceLimits": {
"drawCount": {
"value": 4,
"unit": "draws",
"label": "Gated",
"source": "two material draws per LOD band"
}
},
"degradationFromPrevious": [
"remove foreground tree submission"
],
"preservedInvariants": [
"storage-backed transforms and phase",
"rooted wind",
"four forest draws"
]
}