{
  "schemaVersion": 1,
  "labId": "webgpu-camera-rig",
  "classification": "inspected-runtime-evidence-preview",
  "acceptanceStatus": "accepted",
  "evidenceBundleId": "correctness",
  "canonicalSource": [
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/CameraDirectionController.mjs",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/CameraRelativeOrigin.mjs",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/routeState.mjs",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/main.mjs",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/browser.mjs",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/index.html",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/mechanism/scale-aware-framing/index.html",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/mechanism/handoff-and-replay/index.html",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/mechanism/pointer-orbit-and-collision/index.html",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/mechanism/floating-origin/index.html",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/mechanism/projection-and-depth/index.html",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/mechanism/shared-jitter-and-velocity/index.html",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/tier/full/index.html",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/tier/budgeted/index.html",
    "threejs-camera-controls-and-rigs/examples/webgpu-camera-rig/tier/minimum/index.html"
  ],
  "canonicalSourceHash": "sha256:5de189ce8d19010837810f2c4ffbc15213cf5a11141018d2dd71799da904c7e0",
  "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": "Camera-rig presentation readback",
  "images": [
    {
      "file": "final.design.png",
      "meaning": "Primary final readback.",
      "source": "final.design.png",
      "sourceSha256": "sha256:3274c243d181c75401328dfc062e052d77b9ee5172d5c2fe87e3de0ad25a80c5",
      "outputSha256": "sha256:3274c243d181c75401328dfc062e052d77b9ee5172d5c2fe87e3de0ad25a80c5",
      "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:c1e10646547b2abaf502e1865b04950299d51b58154374322647eea8303ec838",
      "outputSha256": "sha256:c1e10646547b2abaf502e1865b04950299d51b58154374322647eea8303ec838",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "diagnostics.mosaic.png",
      "meaning": "Diagnostics / mechanism display readback.",
      "source": "diagnostics.mosaic.png",
      "sourceSha256": "sha256:98891bf936f9a1661fbdb029d8925c8d9d23de03bf75ba05f3b9041683e50624",
      "outputSha256": "sha256:98891bf936f9a1661fbdb029d8925c8d9d23de03bf75ba05f3b9041683e50624",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    }
  ],
  "limitations": [
    "Correctness capture records native r185 WebGPUBackend with device identity proof.",
    "Named-adapter GPU timestamps and 60 Hz hardwarePerformance remain NOT_CLAIMED.",
    "Primary evidence is the correctness raw-capture-session package; full mechanism/tier matrix residual."
  ]
}
