{
  "schemaVersion": 1,
  "labId": "webgpu-touch-history-frost",
  "classification": "inspected-runtime-evidence-preview",
  "acceptanceStatus": "accepted",
  "evidenceBundleId": "release-approved-current",
  "canonicalSource": [
    "threejs-dynamic-surface-effects/examples/webgpu-touch-history-frost/frost-surface-effect.js",
    "threejs-dynamic-surface-effects/examples/webgpu-touch-history-frost/frost-webgpu-lab.js",
    "threejs-dynamic-surface-effects/examples/webgpu-touch-history-frost/route-wrapper.js",
    "threejs-dynamic-surface-effects/examples/webgpu-touch-history-frost/main.js",
    "threejs-dynamic-surface-effects/examples/webgpu-touch-history-frost/index.html"
  ],
  "canonicalSourceHash": "sha256:03e91ff6e6dd78f32c9b32143a28ca560c1332ca6e6abede836c387430b534fe",
  "threeRevision": "0.185.1",
  "runtime": {
    "renderer": "WebGPURenderer",
    "backend": "WebGPU",
    "isWebGPUBackend": true,
    "threeRevision": "0.185.1",
    "nativeWebGPU": true,
    "initialized": true,
    "adapterClass": "hardware",
    "adapterIdentity": {
      "source": "renderer.backend.device.adapterInfo",
      "isFallbackAdapter": false,
      "info": {
        "vendor": "apple",
        "architecture": "metal-3"
      }
    },
    "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": "Touch-history Frost hardware WebGPU readback",
  "images": [
    {
      "file": "final.design.png",
      "meaning": "Final Frost composite",
      "source": "final.design.png",
      "sourceSha256": "sha256:4fddb7f7faf27042ed9d0ee454fb7dc9d10a42f2b6b1789803c5890246efccd9",
      "outputSha256": "sha256:4fddb7f7faf27042ed9d0ee454fb7dc9d10a42f2b6b1789803c5890246efccd9",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "no-post.design.png",
      "meaning": "No-frost baseline",
      "source": "no-post.design.png",
      "sourceSha256": "sha256:ef2281f199e74a704335d57e2e0416e0fac0391e09585bc06eb070f174082248",
      "outputSha256": "sha256:ef2281f199e74a704335d57e2e0416e0fac0391e09585bc06eb070f174082248",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "diagnostics.mosaic.png",
      "meaning": "History/deposit/mask mosaic",
      "source": "diagnostics.mosaic.png",
      "sourceSha256": "sha256:7e7c1bacbb62290c350488fe1956f4a0db81682df0bf46d0e36b0dc00055173c",
      "outputSha256": "sha256:7e7c1bacbb62290c350488fe1956f4a0db81682df0bf46d0e36b0dc00055173c",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "camera.near.png",
      "meaning": "Near camera",
      "source": "camera.near.png",
      "sourceSha256": "sha256:e59c0dc2cabd1cd55cdadf1b2fdbc5513348135008bdefdb42e12fcd9881afb0",
      "outputSha256": "sha256:e59c0dc2cabd1cd55cdadf1b2fdbc5513348135008bdefdb42e12fcd9881afb0",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "camera.design.png",
      "meaning": "Design camera",
      "source": "camera.design.png",
      "sourceSha256": "sha256:8dd9f2fe4831be2f6f96b2f656b6a186b9b2f7b33e79f78cf6d83fdd5d44507d",
      "outputSha256": "sha256:8dd9f2fe4831be2f6f96b2f656b6a186b9b2f7b33e79f78cf6d83fdd5d44507d",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "camera.far.png",
      "meaning": "Far camera",
      "source": "camera.far.png",
      "sourceSha256": "sha256:0022e2f876f6bfbc3eea7b4d7579f2a156647fc6d02e68e6548a65cb5fde9691",
      "outputSha256": "sha256:0022e2f876f6bfbc3eea7b4d7579f2a156647fc6d02e68e6548a65cb5fde9691",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "seed-0001.final.png",
      "meaning": "Seed 1",
      "source": "seed-0001.final.png",
      "sourceSha256": "sha256:bb10e3eb2df368a9cc0a73f3a1c21044c3fd0b52cda70c0aedb08b9d71ab556e",
      "outputSha256": "sha256:bb10e3eb2df368a9cc0a73f3a1c21044c3fd0b52cda70c0aedb08b9d71ab556e",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "seed-9e3779b9.final.png",
      "meaning": "Seed stress",
      "source": "seed-9e3779b9.final.png",
      "sourceSha256": "sha256:2b94c04964054e67530ffdf57b9fc3c310af2c5822e7ae24fcb77cc39466c7bd",
      "outputSha256": "sha256:2b94c04964054e67530ffdf57b9fc3c310af2c5822e7ae24fcb77cc39466c7bd",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "temporal.t000.png",
      "meaning": "Temporal t0",
      "source": "temporal.t000.png",
      "sourceSha256": "sha256:cc15d90e66980086e9efddd12aacee31c2e33424916b147eaed55f3a152994f7",
      "outputSha256": "sha256:cc15d90e66980086e9efddd12aacee31c2e33424916b147eaed55f3a152994f7",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    },
    {
      "file": "temporal.t001.png",
      "meaning": "Temporal t1",
      "source": "temporal.t001.png",
      "sourceSha256": "sha256:bf1535d7c3fd20ccf95a9832c45a44c7a2e52cd9eceb20b6bcc514be49fb8c2a",
      "outputSha256": "sha256:bf1535d7c3fd20ccf95a9832c45a44c7a2e52cd9eceb20b6bcc514be49fb8c2a",
      "width": 1200,
      "height": 800,
      "encoding": "png-copy"
    }
  ],
  "limitations": [
    "Correctness and hardware physical-route visual review pass on the current source closure.",
    "Named-adapter GPU timestamp timing remains NOT_CLAIMED."
  ]
}
