{
  "kind": "lusion-astronaut-scroll-scene-browser-verification",
  "schemaVersion": 1,
  "verifiedAt": "2026-08-05T17:03:58.689Z",
  "browser": "Google Chrome via Playwright",
  "result": "PASS",
  "url": "http://127.0.0.1:4339/lusion-home-schema2.html",
  "assertions": {
    "allWidthsReady": true,
    "boundedOwnerAndStickyStage": true,
    "scrollProgressIsMonotonic": true,
    "scrollOwnsCameraObjectAndShader": true,
    "canvasStaysInsideStage": true,
    "dprCapsHold": true,
    "noOverflow": true,
    "sourceSpecificContentIsMarked": true,
    "projectCollectionPreserved": true,
    "photoReplayRemainsRemoved": true,
    "responsiveRoundTripHolds": true,
    "reducedMotionUsesDomFallback": true,
    "webglUnavailableUsesDomFallback": true,
    "runtimeErrorZero": true
  },
  "matrix": [
    {
      "width": 390,
      "initial": {
        "readiness": "ready",
        "state": "ready",
        "loopState": "static",
        "pauseReason": "out-of-view",
        "progress": 0,
        "target": 0,
        "cameraZ": 7.5,
        "astronautZ": 0,
        "rotationY": -0.62,
        "shaderProgress": 0,
        "dpr": 1,
        "renderSize": "390x844",
        "ownerTop": 5448,
        "ownerHeight": 2701,
        "assetScope": "shared-scroll-scene-contract",
        "contentScope": "lusion-observation-proxy",
        "meshContract": "procedural-observation-proxy",
        "shaderContract": "scroll-progress-plus-time",
        "documentWidth": 390,
        "viewportWidth": 390,
        "documentHeight": 8149,
        "projectCount": 10,
        "legacyFrameRequests": 0,
        "ownerRect": {
          "top": 5448,
          "bottom": 8148.796875,
          "width": 390,
          "height": 2700.796875
        },
        "stageRect": {
          "top": 5448,
          "bottom": 6292,
          "width": 390,
          "height": 844
        },
        "canvasRect": {
          "top": 5448,
          "bottom": 6292,
          "width": 390,
          "height": 844
        }
      },
      "checkpoints": [
        {
          "name": "enter",
          "fraction": 0.02,
          "readiness": "ready",
          "state": "ready",
          "loopState": "running",
          "pauseReason": "none",
          "progress": 0.0193,
          "target": 0.0199,
          "cameraZ": 7.172,
          "astronautZ": -0.203,
          "rotationY": -0.587,
          "shaderProgress": 0.0193,
          "dpr": 1,
          "renderSize": "390x844",
          "ownerTop": 5448,
          "ownerHeight": 2701,
          "assetScope": "shared-scroll-scene-contract",
          "contentScope": "lusion-observation-proxy",
          "meshContract": "procedural-observation-proxy",
          "shaderContract": "scroll-progress-plus-time",
          "documentWidth": 390,
          "viewportWidth": 390,
          "documentHeight": 8149,
          "projectCount": 10,
          "legacyFrameRequests": 0,
          "ownerRect": {
            "top": -37,
            "bottom": 2663.796875,
            "width": 390,
            "height": 2700.796875
          },
          "stageRect": {
            "top": 0,
            "bottom": 844,
            "width": 390,
            "height": 844
          },
          "canvasRect": {
            "top": 0,
            "bottom": 844,
            "width": 390,
            "height": 844
          }
        },
        {
          "name": "middle",
          "fraction": 0.5,
          "readiness": "ready",
          "state": "ready",
          "loopState": "running",
          "pauseReason": "none",
          "progress": 0.4831,
          "target": 0.5003,
          "cameraZ": -0.712,
          "astronautZ": -5.072,
          "rotationY": 0.201,
          "shaderProgress": 0.4831,
          "dpr": 1,
          "renderSize": "390x844",
          "ownerTop": 5448,
          "ownerHeight": 2701,
          "assetScope": "shared-scroll-scene-contract",
          "contentScope": "lusion-observation-proxy",
          "meshContract": "procedural-observation-proxy",
          "shaderContract": "scroll-progress-plus-time",
          "documentWidth": 390,
          "viewportWidth": 390,
          "documentHeight": 8149,
          "projectCount": 10,
          "legacyFrameRequests": 0,
          "ownerRect": {
            "top": -929,
            "bottom": 1771.796875,
            "width": 390,
            "height": 2700.796875
          },
          "stageRect": {
            "top": 0,
            "bottom": 844,
            "width": 390,
            "height": 844
          },
          "canvasRect": {
            "top": 0,
            "bottom": 844,
            "width": 390,
            "height": 844
          }
        },
        {
          "name": "exit",
          "fraction": 0.98,
          "readiness": "ready",
          "state": "ready",
          "loopState": "running",
          "pauseReason": "none",
          "progress": 0.9643,
          "target": 0.9802,
          "cameraZ": -8.893,
          "astronautZ": -10.125,
          "rotationY": 1.019,
          "shaderProgress": 0.9643,
          "dpr": 1,
          "renderSize": "390x844",
          "ownerTop": 5448,
          "ownerHeight": 2701,
          "assetScope": "shared-scroll-scene-contract",
          "contentScope": "lusion-observation-proxy",
          "meshContract": "procedural-observation-proxy",
          "shaderContract": "scroll-progress-plus-time",
          "documentWidth": 390,
          "viewportWidth": 390,
          "documentHeight": 8149,
          "projectCount": 10,
          "legacyFrameRequests": 0,
          "ownerRect": {
            "top": -1820,
            "bottom": 880.796875,
            "width": 390,
            "height": 2700.796875
          },
          "stageRect": {
            "top": 0,
            "bottom": 844,
            "width": 390,
            "height": 844
          },
          "canvasRect": {
            "top": 0,
            "bottom": 844,
            "width": 390,
            "height": 844
          }
        }
      ],
      "roundTrip": null,
      "runtimeErrors": []
    },
    {
      "width": 768,
      "initial": {
        "readiness": "ready",
        "state": "ready",
        "loopState": "static",
        "pauseReason": "out-of-view",
        "progress": 0,
        "target": 0,
        "cameraZ": 7.5,
        "astronautZ": 0,
        "rotationY": -0.62,
        "shaderProgress": 0,
        "dpr": 1,
        "renderSize": "768x900",
        "ownerTop": 8349,
        "ownerHeight": 2880,
        "assetScope": "shared-scroll-scene-contract",
        "contentScope": "lusion-observation-proxy",
        "meshContract": "procedural-observation-proxy",
        "shaderContract": "scroll-progress-plus-time",
        "documentWidth": 768,
        "viewportWidth": 768,
        "documentHeight": 11229,
        "projectCount": 10,
        "legacyFrameRequests": 0,
        "ownerRect": {
          "top": 8349,
          "bottom": 11229,
          "width": 768,
          "height": 2880
        },
        "stageRect": {
          "top": 8349,
          "bottom": 9249,
          "width": 768,
          "height": 900
        },
        "canvasRect": {
          "top": 8349,
          "bottom": 9249,
          "width": 768,
          "height": 900
        }
      },
      "checkpoints": [
        {
          "name": "enter",
          "fraction": 0.02,
          "readiness": "ready",
          "state": "ready",
          "loopState": "running",
          "pauseReason": "none",
          "progress": 0.0196,
          "target": 0.0202,
          "cameraZ": 7.166,
          "astronautZ": -0.206,
          "rotationY": -0.587,
          "shaderProgress": 0.0196,
          "dpr": 1,
          "renderSize": "768x900",
          "ownerTop": 8349,
          "ownerHeight": 2880,
          "assetScope": "shared-scroll-scene-contract",
          "contentScope": "lusion-observation-proxy",
          "meshContract": "procedural-observation-proxy",
          "shaderContract": "scroll-progress-plus-time",
          "documentWidth": 768,
          "viewportWidth": 768,
          "documentHeight": 11229,
          "projectCount": 10,
          "legacyFrameRequests": 0,
          "ownerRect": {
            "top": -40,
            "bottom": 2840,
            "width": 768,
            "height": 2880
          },
          "stageRect": {
            "top": 0,
            "bottom": 900,
            "width": 768,
            "height": 900
          },
          "canvasRect": {
            "top": 0,
            "bottom": 900,
            "width": 768,
            "height": 900
          }
        },
        {
          "name": "middle",
          "fraction": 0.5,
          "readiness": "ready",
          "state": "ready",
          "loopState": "running",
          "pauseReason": "none",
          "progress": 0.4828,
          "target": 0.5,
          "cameraZ": -0.707,
          "astronautZ": -5.069,
          "rotationY": 0.201,
          "shaderProgress": 0.4828,
          "dpr": 1,
          "renderSize": "768x900",
          "ownerTop": 8349,
          "ownerHeight": 2880,
          "assetScope": "shared-scroll-scene-contract",
          "contentScope": "lusion-observation-proxy",
          "meshContract": "procedural-observation-proxy",
          "shaderContract": "scroll-progress-plus-time",
          "documentWidth": 768,
          "viewportWidth": 768,
          "documentHeight": 11229,
          "projectCount": 10,
          "legacyFrameRequests": 0,
          "ownerRect": {
            "top": -990,
            "bottom": 1890,
            "width": 768,
            "height": 2880
          },
          "stageRect": {
            "top": 0,
            "bottom": 900,
            "width": 768,
            "height": 900
          },
          "canvasRect": {
            "top": 0,
            "bottom": 900,
            "width": 768,
            "height": 900
          }
        },
        {
          "name": "exit",
          "fraction": 0.98,
          "readiness": "ready",
          "state": "ready",
          "loopState": "running",
          "pauseReason": "none",
          "progress": 0.9621,
          "target": 0.9798,
          "cameraZ": -8.856,
          "astronautZ": -10.102,
          "rotationY": 1.016,
          "shaderProgress": 0.9621,
          "dpr": 1,
          "renderSize": "768x900",
          "ownerTop": 8349,
          "ownerHeight": 2880,
          "assetScope": "shared-scroll-scene-contract",
          "contentScope": "lusion-observation-proxy",
          "meshContract": "procedural-observation-proxy",
          "shaderContract": "scroll-progress-plus-time",
          "documentWidth": 768,
          "viewportWidth": 768,
          "documentHeight": 11229,
          "projectCount": 10,
          "legacyFrameRequests": 0,
          "ownerRect": {
            "top": -1940,
            "bottom": 940,
            "width": 768,
            "height": 2880
          },
          "stageRect": {
            "top": 0,
            "bottom": 900,
            "width": 768,
            "height": 900
          },
          "canvasRect": {
            "top": 0,
            "bottom": 900,
            "width": 768,
            "height": 900
          }
        }
      ],
      "roundTrip": null,
      "runtimeErrors": []
    },
    {
      "width": 1280,
      "initial": {
        "readiness": "ready",
        "state": "ready",
        "loopState": "static",
        "pauseReason": "out-of-view",
        "progress": 0,
        "target": 0,
        "cameraZ": 7.5,
        "astronautZ": 0,
        "rotationY": -0.62,
        "shaderProgress": 0,
        "dpr": 1,
        "renderSize": "1280x900",
        "ownerTop": 5601,
        "ownerHeight": 2880,
        "assetScope": "shared-scroll-scene-contract",
        "contentScope": "lusion-observation-proxy",
        "meshContract": "procedural-observation-proxy",
        "shaderContract": "scroll-progress-plus-time",
        "documentWidth": 1280,
        "viewportWidth": 1280,
        "documentHeight": 8481,
        "projectCount": 10,
        "legacyFrameRequests": 0,
        "ownerRect": {
          "top": 5601,
          "bottom": 8481,
          "width": 1280,
          "height": 2880
        },
        "stageRect": {
          "top": 5601,
          "bottom": 6501,
          "width": 1280,
          "height": 900
        },
        "canvasRect": {
          "top": 5601,
          "bottom": 6501,
          "width": 1280,
          "height": 900
        }
      },
      "checkpoints": [
        {
          "name": "enter",
          "fraction": 0.02,
          "readiness": "ready",
          "state": "ready",
          "loopState": "running",
          "pauseReason": "none",
          "progress": 0.0196,
          "target": 0.0202,
          "cameraZ": 7.166,
          "astronautZ": -0.206,
          "rotationY": -0.587,
          "shaderProgress": 0.0196,
          "dpr": 1,
          "renderSize": "1280x900",
          "ownerTop": 5601,
          "ownerHeight": 2880,
          "assetScope": "shared-scroll-scene-contract",
          "contentScope": "lusion-observation-proxy",
          "meshContract": "procedural-observation-proxy",
          "shaderContract": "scroll-progress-plus-time",
          "documentWidth": 1280,
          "viewportWidth": 1280,
          "documentHeight": 8481,
          "projectCount": 10,
          "legacyFrameRequests": 0,
          "ownerRect": {
            "top": -40,
            "bottom": 2840,
            "width": 1280,
            "height": 2880
          },
          "stageRect": {
            "top": 0,
            "bottom": 900,
            "width": 1280,
            "height": 900
          },
          "canvasRect": {
            "top": 0,
            "bottom": 900,
            "width": 1280,
            "height": 900
          }
        },
        {
          "name": "middle",
          "fraction": 0.5,
          "readiness": "ready",
          "state": "ready",
          "loopState": "running",
          "pauseReason": "none",
          "progress": 0.4828,
          "target": 0.5,
          "cameraZ": -0.707,
          "astronautZ": -5.069,
          "rotationY": 0.201,
          "shaderProgress": 0.4828,
          "dpr": 1,
          "renderSize": "1280x900",
          "ownerTop": 5601,
          "ownerHeight": 2880,
          "assetScope": "shared-scroll-scene-contract",
          "contentScope": "lusion-observation-proxy",
          "meshContract": "procedural-observation-proxy",
          "shaderContract": "scroll-progress-plus-time",
          "documentWidth": 1280,
          "viewportWidth": 1280,
          "documentHeight": 8481,
          "projectCount": 10,
          "legacyFrameRequests": 0,
          "ownerRect": {
            "top": -990,
            "bottom": 1890,
            "width": 1280,
            "height": 2880
          },
          "stageRect": {
            "top": 0,
            "bottom": 900,
            "width": 1280,
            "height": 900
          },
          "canvasRect": {
            "top": 0,
            "bottom": 900,
            "width": 1280,
            "height": 900
          }
        },
        {
          "name": "exit",
          "fraction": 0.98,
          "readiness": "ready",
          "state": "ready",
          "loopState": "running",
          "pauseReason": "none",
          "progress": 0.9624,
          "target": 0.9798,
          "cameraZ": -8.86,
          "astronautZ": -10.105,
          "rotationY": 1.016,
          "shaderProgress": 0.9624,
          "dpr": 1,
          "renderSize": "1280x900",
          "ownerTop": 5601,
          "ownerHeight": 2880,
          "assetScope": "shared-scroll-scene-contract",
          "contentScope": "lusion-observation-proxy",
          "meshContract": "procedural-observation-proxy",
          "shaderContract": "scroll-progress-plus-time",
          "documentWidth": 1280,
          "viewportWidth": 1280,
          "documentHeight": 8481,
          "projectCount": 10,
          "legacyFrameRequests": 0,
          "ownerRect": {
            "top": -1940,
            "bottom": 940,
            "width": 1280,
            "height": 2880
          },
          "stageRect": {
            "top": 0,
            "bottom": 900,
            "width": 1280,
            "height": 900
          },
          "canvasRect": {
            "top": 0,
            "bottom": 900,
            "width": 1280,
            "height": 900
          }
        }
      ],
      "roundTrip": {
        "readiness": "ready",
        "state": "ready",
        "loopState": "running",
        "pauseReason": "none",
        "progress": 0.85,
        "target": 0.8323,
        "cameraZ": -6.949,
        "astronautZ": -8.925,
        "rotationY": 0.825,
        "shaderProgress": 0.85,
        "dpr": 1,
        "renderSize": "1280x900",
        "ownerTop": 5601,
        "ownerHeight": 2880,
        "assetScope": "shared-scroll-scene-contract",
        "contentScope": "lusion-observation-proxy",
        "meshContract": "procedural-observation-proxy",
        "shaderContract": "scroll-progress-plus-time",
        "documentWidth": 1280,
        "viewportWidth": 1280,
        "documentHeight": 8481,
        "projectCount": 10,
        "legacyFrameRequests": 0,
        "ownerRect": {
          "top": -1648,
          "bottom": 1232,
          "width": 1280,
          "height": 2880
        },
        "stageRect": {
          "top": 0,
          "bottom": 900,
          "width": 1280,
          "height": 900
        },
        "canvasRect": {
          "top": 0,
          "bottom": 900,
          "width": 1280,
          "height": 900
        }
      },
      "runtimeErrors": []
    }
  ],
  "fallbackMatrix": {
    "reducedMotion": {
      "reason": "reduced-motion",
      "fallbackVisible": true,
      "canvasHidden": true,
      "runtimeErrors": []
    },
    "webglUnavailable": {
      "reason": "initialization-failed",
      "fallbackVisible": true,
      "canvasHidden": true,
      "runtimeErrors": []
    }
  },
  "artifacts": [
    "output/playwright/lusion-astronaut-scroll-1280-enter.png",
    "output/playwright/lusion-astronaut-scroll-1280-middle.png",
    "output/playwright/lusion-astronaut-scroll-1280-exit.png"
  ],
  "revise": [
    "original astronaut mesh and shader source",
    "source camera constants and long-form pacing",
    "real-device mobile GPU and thermal profile"
  ]
}
