{
  "schemaVersion": 1,
  "labId": "webgpu-cached-clipmap-shadow",
  "classification": "inspected-runtime-evidence-preview",
  "acceptanceStatus": "accepted",
  "evidenceBundleId": "correctness",
  "canonicalSource": [
    "threejs-scalable-real-time-shadows/examples/webgpu-cached-clipmap-shadow"
  ],
  "canonicalSourceHash": "sha256:cb4d3abfaab1a84e0fbef28fd523befc0f09ed465690426c58eff739e7b1171c",
  "threeRevision": "0.185.1",
  "runtime": {
    "renderer": "WebGPURenderer",
    "backend": "WebGPU",
    "isWebGPUBackend": true,
    "threeRevision": "0.185.1",
    "nativeWebGPU": true,
    "initialized": true,
    "adapterClass": "unknown",
    "adapterIdentity": {
      "source": "exact retained renderer.backend.device reference after renderer.init()",
      "backendType": "WebGPUBackend",
      "deviceType": "GPUDevice",
      "deviceLabel": "",
      "deviceIdentityVerified": true,
      "lossPromiseObservedOnActualDevice": true,
      "rendererDeviceGeneration": 1
    },
    "deviceIdentity": {
      "verified": true,
      "source": "exact retained renderer.backend.device reference after renderer.init()",
      "deviceType": "GPUDevice",
      "generation": 1
    }
  },
  "claimVerdicts": {
    "visualCorrectness": "INSUFFICIENT_EVIDENCE",
    "mechanismCorrectness": "PASS",
    "performanceCompliance": "NOT_CLAIMED",
    "gpuAttribution": "NOT_CLAIMED",
    "lifecycleStability": "PASS",
    "visualError": "PASS"
  },
  "primaryImage": "final.design.png",
  "primaryImageLabel": "Cached clipmap shadow final readback",
  "images": [
    {
      "file": "final.design.png",
      "meaning": "Primary final readback.",
      "source": "final.design.png",
      "sourceSha256": "sha256:53c2de2322e1015539b66714ee8251b122ce24f031d22a32c660050e7de5d791",
      "outputSha256": "sha256:53c2de2322e1015539b66714ee8251b122ce24f031d22a32c660050e7de5d791",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "no-post.design.png",
      "meaning": "No-post / alternate display path readback.",
      "source": "no-post.design.png",
      "sourceSha256": "sha256:7b2a850fb71de0594aba9490507fc18fa6fd74b47bce0f0ad3849f539491d9e0",
      "outputSha256": "sha256:7b2a850fb71de0594aba9490507fc18fa6fd74b47bce0f0ad3849f539491d9e0",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "diagnostics.mosaic.png",
      "meaning": "Diagnostics / mechanism display readback.",
      "source": "diagnostics.mosaic.png",
      "sourceSha256": "sha256:32d731f0a9a800f4351f1936f3919d1f6560d04254a79b8cd6ddc83c4961198c",
      "outputSha256": "sha256:32d731f0a9a800f4351f1936f3919d1f6560d04254a79b8cd6ddc83c4961198c",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    }
  ],
  "limitations": [
    "Correctness capture records native r185 WebGPUBackend with device identity proof.",
    "Physical multi-scenario shadow matrix and GPU timestamps remain incomplete.",
    "Named-adapter 60 Hz performance is NOT_CLAIMED."
  ]
}
