{
  "scope": "Performance repair; historical lanes and polish accounting unchanged",
  "started": "2026-09-11T09:54:44Z",
  "published": "2026-09-11T10:06:55Z",
  "seconds_to_published": 731,
  "controls_verified": "2026-09-11T10:08:27.343Z",
  "mobile_verified": "2026-09-11T10:11:03.586Z",
  "public_navigation_draw_timings_ms": {
    "moduleStart": 37.5,
    "firstRenderedFrame": 3826.2000007629395,
    "assetsReady": 4000.300001144409,
    "assetReadyFirstFrame": 5326.700000762939
  },
  "timing_semantics": "Navigation-relative performance.now timestamps. First rendered frame records draw submission, not GPU completion or first browser paint. Assets-ready frame is the first submission after assets loaded. Software renderer; not a user-device loading benchmark.",
  "source_sha256": "45566aeae6df656b57c6aca7612279cdb57d75d296fd6c6854f5bc268e4a5040",
  "previous_source_sha256": "2d7d7ef082a19aaa3df9df781f4f13185f15bb00c2b5e4f488278b10caf75046",
  "bundle": "assets/index-DE_1kj1_.js",
  "bundle_sha256": "556d2837736c4995cf5bde64f5e6c23e0c1ac54b32df5d981ea5536a00b4538c",
  "scene_url": "https://ohmyunicorn.com/labs/dream-loop/follow-up/polish/",
  "controls_ok": true,
  "mobile_ok": true,
  "performance_evidence": "comparison.json: sequential SwiftShader test, same 1280x900 viewport, adaptive resolution permitted; slower than real hardware. Hardware attempt excluded because full scene lost context.",
  "movement_evidence": "timestep.json: actual runtime movement loop with controlled 10/20/30/60 FPS time steps; not measured render FPS."
}
