incomplete

WebGPU Material Slot Compiler

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-material-slot-compiler
Kind
Canonical Lab
Owning skill
Procedural Buildings and Cities
Execution
rendering
Three.js
0.185.1
Source hash
sha256:dd6b7dfc24b0553b4562b465dcfd3dcf5a10c6741d76da60e2f70ceb8355e500
Published bundle hash
sha256:7354717cd511bff93c96511b87d47edcaae1f105e8ea41379d9343ec6eb298d9
Build revision
sha256:d929feed6bb69df4ba0bca7a58c723f6c257d003c20d1e9417d25ccb25e4ecf9
Renderer
WebGPURenderer
Backend
WebGPU
Evidence contract
v2
Tracked release bundle
Absent

Claim verdicts

visualCorrectnessPASS
mechanismCorrectnessPASS
performanceComplianceINSUFFICIENT_EVIDENCE
gpuAttributionINSUFFICIENT_EVIDENCE
lifecycleStabilityINSUFFICIENT_EVIDENCE

Promoted same-lab media

Required capability and runtime proof

Capabilities

native-webgpuaccepted

Native browser capture: capture-session.json records nativeWebGPU=true / isWebGPUBackend=true after createBuildingLabController().

Runtime proof

renderer-initaccepted

createBuildingLabController awaits renderer.init() before proof state; capture-session records initialized native WebGPU metrics.

backend-is-webgpuaccepted

capture-session runtime.metrics.backend=WebGPU and isWebGPUBackend=true.

mechanism-reachableaccepted

capture-hook loaded material-slot-compilation and module-geometry modes; diagnostics.mosaic and final readbacks differ by hash.

aligned-readbackaccepted

MRT/presentation capturePixels uses integer 256-byte-aligned row stride; capture-session transport-readbacks ledger bound.

compiled-resource-ledgeraccepted

describeResources + submissionReconciliation recorded in capture-session metrics with measured draw reconciliation.

Capture state

FieldPublished value
Primary route/demos/webgpu-material-slot-compiler/
Camerasnear, design, far
Seeds0x00000001, 0x9e3779b9
Modesmassing-grammar, exposed-edge-analysis, facade-ownership, module-geometry, material-slot-compilation, city-chunks-and-lod
Capture timeNot present in the promoted report data
Adapter identity{"source":"exact retained renderer.backend.device reference after renderer.init()","backendType":"WebGPUBackend","deviceType":"GPUDevice","deviceLabel":"","deviceIdentityVerified":true,"lossPromiseObservedOnActualDevice":true,"rendererDeviceGeneration":1}
Raw readback hashesNot present in the promoted preview summary

Fixed routes

KindIdStartup stateStatus
scenariosingle-tower{"scenario":"single-tower"}undefined
scenariocompound-footprint{"scenario":"compound-footprint"}undefined
scenariocourtyard{"scenario":"courtyard"}undefined
scenariotwin-towers-bridge{"scenario":"twin-towers-bridge"}undefined
scenariohigh-ornament{"scenario":"high-ornament"}undefined
scenariodistant-skyline{"scenario":"distant-skyline"}undefined
mechanismmassing-grammar{"mode":"massing-grammar"}undefined
mechanismexposed-edge-analysis{"mode":"exposed-edge-analysis"}undefined
mechanismfacade-ownership{"mode":"facade-ownership"}undefined
mechanismmodule-geometry{"mode":"module-geometry"}undefined
mechanismmaterial-slot-compilation{"mode":"material-slot-compilation"}undefined
mechanismcity-chunks-and-lod{"mode":"city-chunks-and-lod"}undefined
tierhero{"tier":"hero"}incomplete
tiercity{"tier":"city"}incomplete
tierdistant{"tier":"distant"}incomplete

Locked tier contracts

hero · incomplete
{
  "targetClass": "close-inspection-building",
  "frameTargetMs": null,
  "resolutionPolicy": {
    "dprCap": 2
  },
  "mechanismLimits": {
    "facadeFloorStride": 1,
    "archRadialSegments": 10,
    "ornament": true,
    "representation": "merged-or-editable-batched"
  },
  "resourceLimits": {
    "materialSlots": 8
  },
  "degradationFromPrevious": [],
  "preservedInvariants": [
    "mass grammar",
    "exposed-edge ownership",
    "structural closure",
    "physical UV scale",
    "material slots"
  ]
}
city · incomplete
{
  "targetClass": "city-chunk",
  "frameTargetMs": null,
  "resolutionPolicy": {
    "dprCap": 1.5
  },
  "mechanismLimits": {
    "facadeFloorStride": 2,
    "archRadialSegments": 6,
    "ornament": false,
    "representation": "chunked-material-slots"
  },
  "resourceLimits": {
    "materialSlots": 8
  },
  "degradationFromPrevious": [
    "reduced facade sampling",
    "removed one-off ornament rewrites"
  ],
  "preservedInvariants": [
    "mass grammar",
    "exposed-edge ownership",
    "structural closure",
    "physical UV scale",
    "material slots"
  ]
}
distant · incomplete
{
  "targetClass": "skyline-sector",
  "frameTargetMs": null,
  "resolutionPolicy": {
    "dprCap": 1
  },
  "mechanismLimits": {
    "facadeFloorStride": 4,
    "archRadialSegments": 6,
    "ornament": false,
    "representation": "runtime-compiled-merged-material-slots"
  },
  "resourceLimits": {
    "materialSlots": 8
  },
  "degradationFromPrevious": [
    "replaced sub-pixel window modules with facade panels",
    "coarsened roof detail"
  ],
  "preservedInvariants": [
    "primary silhouette",
    "mass grammar",
    "exposed-edge ownership",
    "structural closure",
    "material slots"
  ]
}

Limitations

  • Native WebGPU MRT/presentation readbacks and seed/camera variants captured.
  • Lab remains incomplete until every mechanism/tier route is release-accepted; no GPU timing claim.