accepted

Native WebGPU Structured Ash Growth

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
structured-ash-growth
Kind
Canonical Lab
Owning skill
Procedural Vegetation
Execution
rendering
Three.js
0.185.1
Source hash
sha256:1ecd4ae09ca0243df7e0406982ed0b0329554bdebe1823896b481dcb8fe37a40
Published bundle hash
sha256:f60ffca04495abdc713bf8410eff5075d25eb101895b0ec940e13493448eff9b
Build revision
sha256:348d7584a398e339bdf08ac952ded6eb67b5ed813416a6fe3ba445615164b63a
Renderer
Not promoted
Backend
Not promoted
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.isWebGPUBackend after renderer.init

storage-instancingaccepted

AshForestTransform and AshForestTintPhase storage attributes

Runtime proof

render-target-readbackaccepted

Accepted publishable release-bundle covers render-target-readback for structured-ash-growth.

exact-ash-contractaccepted

verify-ash-contract.js

shadow-parityaccepted

Accepted publishable release-bundle covers shadow-parity for structured-ash-growth.

renderer-initaccepted

Accepted publishable release-bundle covers renderer-init for structured-ash-growth.

backend-is-webgpuaccepted

Accepted publishable release-bundle covers backend-is-webgpu for structured-ash-growth.

mechanism-reachableaccepted

Accepted publishable release-bundle covers mechanism-reachable for structured-ash-growth.

render-or-compute-workaccepted

Accepted publishable release-bundle covers render-or-compute-work for structured-ash-growth.

aligned-readbackaccepted

Accepted publishable release-bundle covers aligned-readback for structured-ash-growth.

Capture state

FieldPublished value
Primary route/demos/structured-ash-growth/
Camerasnear, design, far
Seeds0x00008dea
Modesfinal, branch-levels, continuations, child-slots, angular-slots, leaf-origins, bark-uv-checker, wind-displacement
Capture timeNot present in the promoted report data
Adapter identityNot promoted
Raw readback hashesNot present in the promoted preview summary

Fixed routes

KindIdStartup stateStatus
scenarioash-contract{"scenario":"ash-contract"}accepted
scenarioash-forest{"scenario":"ash-forest"}accepted
scenariostructured-growth{"scenario":"structured-growth"}accepted
scenarioleaf-origins-and-normals{"scenario":"leaf-origins-and-normals"}accepted
scenarioforest-storage-and-lod{"scenario":"forest-storage-and-lod"}accepted
scenariovegetation-shadow-parity{"scenario":"vegetation-shadow-parity"}accepted
mechanismstructured-growth{"scenario":"structured-growth","mode":"final"}accepted
mechanismleaf-origins-and-normals{"scenario":"leaf-origins-and-normals","mode":"leaf-origins"}accepted
mechanismforest-storage-and-lod{"scenario":"forest-storage-and-lod","mode":"final"}accepted
mechanismvegetation-shadow-parity{"scenario":"vegetation-shadow-parity","mode":"wind-displacement"}accepted
tiergrowth/hero{"tier":"growth/hero"}accepted
tiergrowth/forest{"tier":"growth/forest"}accepted
tiergrowth/background{"tier":"growth/background"}accepted

Locked tier contracts

growth/hero · 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"
  ]
}
growth/forest · accepted
{
  "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"
  ]
}
growth/background · accepted
{
  "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"
  ]
}

Limitations

  • Performance and GPU attribution remain NOT_CLAIMED without named-hardware timestamps.
  • Evidence captures were produced from the live lab browserEntry demo surface.