{
  "generatedAt": "2026-08-04T17:40:02.898Z",
  "browser": "Google Chrome via Playwright channel=chrome",
  "origin": "http://127.0.0.1:4321",
  "pathname": "/three-product-viewer-next-2026-08-05/out/",
  "verdict": "PASS",
  "matrix": [
    {
      "viewport": {
        "name": "desktop",
        "width": 1280,
        "height": 900
      },
      "loading": {
        "state": "loading",
        "roleStatus": 1
      },
      "initial": {
        "state": "ready",
        "readiness": "ready",
        "history": "idle>loading>ready",
        "variants": 3,
        "meshCount": 1,
        "loopState": "running"
      },
      "interaction": {
        "during": "interacting",
        "after": "ready"
      },
      "selectedVariant": "midnight",
      "integrity": {
        "documentOverflow": 0,
        "unresolved": 0,
        "owner": {
          "width": 928,
          "height": 780
        },
        "canvas": {
          "width": 928,
          "height": 780,
          "bufferWidth": 1856,
          "bufferHeight": 1560
        },
        "ownerViolation": false,
        "dpr": 2,
        "renderWidth": 928,
        "renderHeight": 780
      },
      "offscreen": null,
      "pageErrors": [],
      "screenshot": "/output/playwright/three-product-viewer-next-2026-08-05/verification/desktop-ready.png"
    },
    {
      "viewport": {
        "name": "tablet",
        "width": 768,
        "height": 900
      },
      "loading": {
        "state": "loading",
        "roleStatus": 1
      },
      "initial": {
        "state": "ready",
        "readiness": "ready",
        "history": "idle>loading>ready",
        "variants": 3,
        "meshCount": 1,
        "loopState": "running"
      },
      "interaction": {
        "during": "interacting",
        "after": "ready"
      },
      "selectedVariant": "midnight",
      "integrity": {
        "documentOverflow": 0,
        "unresolved": 0,
        "owner": {
          "width": 438,
          "height": 780
        },
        "canvas": {
          "width": 438,
          "height": 780,
          "bufferWidth": 657,
          "bufferHeight": 1170
        },
        "ownerViolation": false,
        "dpr": 1.5,
        "renderWidth": 438,
        "renderHeight": 780
      },
      "offscreen": null,
      "pageErrors": [],
      "screenshot": "/output/playwright/three-product-viewer-next-2026-08-05/verification/tablet-ready.png"
    },
    {
      "viewport": {
        "name": "mobile",
        "width": 390,
        "height": 844
      },
      "loading": {
        "state": "loading",
        "roleStatus": 1
      },
      "initial": {
        "state": "ready",
        "readiness": "ready",
        "history": "idle>loading>ready",
        "variants": 3,
        "meshCount": 1,
        "loopState": "running"
      },
      "interaction": {
        "during": "interacting",
        "after": "ready"
      },
      "selectedVariant": "midnight",
      "integrity": {
        "documentOverflow": 0,
        "unresolved": 0,
        "owner": {
          "width": 390,
          "height": 523
        },
        "canvas": {
          "width": 390,
          "height": 523,
          "bufferWidth": 390,
          "bufferHeight": 523
        },
        "ownerViolation": false,
        "dpr": 1,
        "renderWidth": 390,
        "renderHeight": 523
      },
      "offscreen": {
        "paused": true,
        "reason": "out-of-view",
        "resumed": true
      },
      "pageErrors": [],
      "screenshot": "/output/playwright/three-product-viewer-next-2026-08-05/verification/mobile-ready.png"
    }
  ],
  "states": {
    "context": {
      "lost": "lost",
      "restored": "restored"
    },
    "error": {
      "state": "error",
      "message": "◒\n3D view unavailable\n\nProduct information remains available. fetch for \"http://127.0.0.1:4321/web3d-gltf-product-viewer-2026-08-04/assets/missing-react-shoe.glb\" responded with 404: File not found\n\nRetry 3D view"
    },
    "timeout": {
      "state": "fallback",
      "message": "◒\n3D view unavailable\n\nProduct information remains available. 3D asset did not become ready within 750 ms.\n\nRetry 3D view"
    },
    "interactionBeforeResize": {
      "during": "interacting",
      "after": "ready"
    },
    "interactionAfterResize": {
      "during": "interacting",
      "after": "ready"
    }
  },
  "assertions": {
    "runtimeErrors": 0,
    "unresolvedPrimitives": 0,
    "documentOverflow": 0,
    "canvasOwnerViolations": 0
  },
  "lifecycle": {
    "readyBeforeCycles": 3,
    "readyAfterCycles": 6,
    "disposeBeforeCycles": 4,
    "disposeAfterCycles": 7,
    "fallbackCount": 5
  },
  "responsiveRoundTrip": {
    "sequence": [
      1280,
      390,
      1280
    ],
    "mobileIntegrity": {
      "documentOverflow": 0,
      "unresolved": 0,
      "owner": {
        "width": 390,
        "height": 523
      },
      "canvas": {
        "width": 390,
        "height": 523,
        "bufferWidth": 390,
        "bufferHeight": 523
      },
      "ownerViolation": false,
      "dpr": 1,
      "renderWidth": 390,
      "renderHeight": 523
    },
    "desktopIntegrity": {
      "documentOverflow": 0,
      "unresolved": 0,
      "owner": {
        "width": 928,
        "height": 780
      },
      "canvas": {
        "width": 928,
        "height": 780,
        "bufferWidth": 1856,
        "bufferHeight": 1560
      },
      "ownerViolation": false,
      "dpr": 2,
      "renderWidth": 928,
      "renderHeight": 780
    }
  },
  "reducedMotion": {
    "loopState": "static",
    "frameDelta": 0
  },
  "runtimeErrors": []
}
