{
  "generatedFrom": "capture-raw.json",
  "capturedAt": "2026-10-23T08:14:58.217Z",
  "chromeVersion": "156.0.8078.47",
  "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.0.0 Safari/537.36",
  "backend": "webgpu",
  "adapter": {
    "vendor": "google",
    "architecture": "swiftshader",
    "device": "",
    "description": "",
    "isFallbackAdapter": true
  },
  "adapterSummary": "google/swiftshader \u2014 SOFTWARE (SwiftShader)",
  "launchFlags": [
    "--enable-unsafe-webgpu",
    "--use-webgpu-adapter=swiftshader",
    "--enable-features=Vulkan",
    "--disable-vulkan-surface",
    "--use-angle=vulkan"
  ],
  "control": {
    "status": "CAPTURED",
    "backend": "webgpu",
    "simTime": 12,
    "viewport": [
      768,
      512
    ],
    "frames": 60,
    "fpsMedian": 31.94888178885219,
    "frameMsMedian": 31.300000000279397,
    "frameMsP95": 39,
    "timingNote": "CPU wall time per frame incl. compute+render+onSubmittedWorkDone, offscreen target"
  },
  "fft": {
    "status": "CAPTURED",
    "backend": "webgpu",
    "simTime": 12,
    "viewport": [
      768,
      512
    ],
    "frames": 60,
    "fpsMedian": 15.128593040825885,
    "frameMsMedian": 66.10000000009313,
    "frameMsP95": 73.60000000009313,
    "timingNote": "CPU wall time per frame incl. compute+render+onSubmittedWorkDone, offscreen target"
  },
  "diff": {
    "threshold": 16,
    "meanAbsDiff": 19.801971435546875,
    "maxAbsDiff": 255.0,
    "pctPixelsAboveThreshold": 41.172027587890625,
    "psnrDb": 14.399484338330142,
    "ssim": 0.3529940269732444,
    "metricNote": "RGB 0-255; threshold on per-pixel max channel abs diff; SSIM = mean over non-overlapping 8x8 luma windows (simplified, no Gaussian)"
  },
  "repeatability": {
    "identical": true,
    "perMode": {
      "control": true,
      "fft": true
    },
    "sha256": {
      "control": "bee7d26fd05f3cfa7c5d6f499d0a5543c71ca642d2cd48ef41b2d02119186d61",
      "fft": "76c4d6c5574a4f1feecb3b6324ea34986bdae8b586957e2f103265ab4d77fb30",
      "control_repeat": "bee7d26fd05f3cfa7c5d6f499d0a5543c71ca642d2cd48ef41b2d02119186d61",
      "fft_repeat": "76c4d6c5574a4f1feecb3b6324ea34986bdae8b586957e2f103265ab4d77fb30"
    }
  },
  "checks": {
    "webgpu_backend": "PASS",
    "capture": "PASS",
    "nonzero_difference": "PASS",
    "repeatability": "PASS",
    "webgpu_absent_shows_visible_unavailable": "PASS"
  },
  "overall": "PASS",
  "conclusion": "Under fixed presentation conditions, enabling the attributed adapted FFT cascade produced a measured visual difference. This does not establish that reused code is universally better, faster, or necessary."
}