{
  "schemaVersion": 1,
  "labId": "webgpu-shadow-pipeline-integration",
  "classification": "inspected-runtime-evidence-preview",
  "acceptanceStatus": "accepted",
  "evidenceBundleId": "release-approved-current",
  "canonicalSource": [
    "threejs-scalable-real-time-shadows/examples/webgpu-shadow-pipeline-integration/main.js",
    "threejs-scalable-real-time-shadows/examples/webgpu-shadow-pipeline-integration/index.html",
    "threejs-scalable-real-time-shadows/examples/webgpu-cached-clipmap-shadow/canonical-lab.js",
    "threejs-scalable-real-time-shadows/examples/webgpu-cached-clipmap-shadow/cached-clipmap-shadow-node-v2.js"
  ],
  "canonicalSourceHash": "sha256:aa939380149e6a342b386e1a409c5f08636a10b6a07b5a235473f3ff04566328",
  "threeRevision": "0.185.1",
  "runtime": {
    "renderer": "WebGPURenderer",
    "backend": "WebGPUBackend",
    "isWebGPUBackend": true,
    "threeRevision": "0.185.1",
    "nativeWebGPU": true,
    "initialized": true,
    "adapterClass": "unknown",
    "adapterIdentity": {
      "source": "LabController.getMetrics",
      "backendType": "WebGPU",
      "deviceType": "unknown",
      "deviceLabel": "",
      "deviceIdentityVerified": false
    },
    "deviceIdentity": {
      "verified": true,
      "source": "exact retained renderer.backend.device reference after renderer.init()",
      "deviceType": "GPUDevice",
      "generation": 1
    }
  },
  "claimVerdicts": {
    "visualCorrectness": "PASS",
    "mechanismCorrectness": "PASS",
    "performanceCompliance": "NOT_CLAIMED",
    "gpuAttribution": "NOT_CLAIMED",
    "lifecycleStability": "PASS",
    "visualError": "PASS"
  },
  "primaryImage": "final.design.png",
  "primaryImageLabel": "Shadow pipeline integration hardware WebGPU readback",
  "images": [
    {
      "file": "final.design.png",
      "meaning": "Final shadow-pipeline composite",
      "source": "final.design.png",
      "sourceSha256": "sha256:b1c9a2f4d97875fa49035029075536053106db80d964af1eb5634bb4315d4f40",
      "outputSha256": "sha256:b1c9a2f4d97875fa49035029075536053106db80d964af1eb5634bb4315d4f40",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "no-post.design.png",
      "meaning": "Shadow contribution / no-post path",
      "source": "no-post.design.png",
      "sourceSha256": "sha256:5faa0d00bb55226162d0e703d889e24b38bb6bd04e7baf1a2efdfa4f05d31e3e",
      "outputSha256": "sha256:5faa0d00bb55226162d0e703d889e24b38bb6bd04e7baf1a2efdfa4f05d31e3e",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "diagnostics.mosaic.png",
      "meaning": "Owner-graph diagnostics",
      "source": "diagnostics.mosaic.png",
      "sourceSha256": "sha256:32d731f0a9a800f4351f1936f3919d1f6560d04254a79b8cd6ddc83c4961198c",
      "outputSha256": "sha256:32d731f0a9a800f4351f1936f3919d1f6560d04254a79b8cd6ddc83c4961198c",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "camera.near.png",
      "meaning": "Near camera",
      "source": "camera.near.png",
      "sourceSha256": "sha256:a82c94200b1f2613363c581021d2e7afe981874485c4c6aca3a0abcb7d488a87",
      "outputSha256": "sha256:a82c94200b1f2613363c581021d2e7afe981874485c4c6aca3a0abcb7d488a87",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "camera.design.png",
      "meaning": "Design camera",
      "source": "camera.design.png",
      "sourceSha256": "sha256:2ed602b475fd222b84b6d4feb47eae29dc15b4cb3ae2255f281a06ae7bdd0cc6",
      "outputSha256": "sha256:2ed602b475fd222b84b6d4feb47eae29dc15b4cb3ae2255f281a06ae7bdd0cc6",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "camera.far.png",
      "meaning": "Far camera",
      "source": "camera.far.png",
      "sourceSha256": "sha256:4b5d831d48a5328533e9f4c061ba059caa347753b6100cb72deb9d85f45139b2",
      "outputSha256": "sha256:4b5d831d48a5328533e9f4c061ba059caa347753b6100cb72deb9d85f45139b2",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "seed-0001.final.png",
      "meaning": "Seed 0x1 final",
      "source": "seed-0001.final.png",
      "sourceSha256": "sha256:53c2de2322e1015539b66714ee8251b122ce24f031d22a32c660050e7de5d791",
      "outputSha256": "sha256:53c2de2322e1015539b66714ee8251b122ce24f031d22a32c660050e7de5d791",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "seed-9e3779b9.final.png",
      "meaning": "Seed 0x9e3779b9 final",
      "source": "seed-9e3779b9.final.png",
      "sourceSha256": "sha256:a4a696f75ece62eb2736c87f4ca043d2e395510121619c211a042cc820f825e4",
      "outputSha256": "sha256:a4a696f75ece62eb2736c87f4ca043d2e395510121619c211a042cc820f825e4",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "temporal.t000.png",
      "meaning": "Temporal t0",
      "source": "temporal.t000.png",
      "sourceSha256": "sha256:718fb5ecbe91933962225d2ab87e6e31e5b43627e1bffeee4f61502e19e66577",
      "outputSha256": "sha256:718fb5ecbe91933962225d2ab87e6e31e5b43627e1bffeee4f61502e19e66577",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "temporal.t001.png",
      "meaning": "Temporal t1",
      "source": "temporal.t001.png",
      "sourceSha256": "sha256:ec9eb88e0c1874868fe6b62ac32567536b0897d47c06950c370313663b655117",
      "outputSha256": "sha256:ec9eb88e0c1874868fe6b62ac32567536b0897d47c06950c370313663b655117",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    }
  ],
  "limitations": [
    "Correctness and CDP Chrome hardware physical-route visual review pass on the current source closure.",
    "Named-adapter GPU timestamp timing remains NOT_CLAIMED."
  ]
}
