{
  "pack": "zeus-performance-100y-v2",
  "version": "1.0.0",
  "freezeDate": "2026-05-06",
  "nextReviewYear": 2031,
  "horizonYear": 2076,
  "provenanceRoot": "3911a0aef0d5ffa0cd7796c7931f8353bbffcce845ae09a155e4c4a55ed1f8e2",
  "owner": {
    "name": "Vladoi Ionut",
    "email": "vladoi_ionut@yahoo.com",
    "btc": "bc1q4f7e66z87mdfj56kz0dj5hvcnpmh0qh4wuv22e"
  },
  "timestamp": "2026-06-10T18:22:41.045Z",
  "title": "Frame Budget Contract — Smooth at 60/120/240 fps",
  "purpose": "A signed contract pledging the per-frame CPU budget at every supported refresh rate. The web has rAF but no public per-route fps contract.",
  "targets": [
    {
      "fps": 60,
      "msPerFrame": 16.67,
      "scriptBudgetMs": 4,
      "styleBudgetMs": 2,
      "layoutBudgetMs": 2,
      "paintBudgetMs": 4
    },
    {
      "fps": 120,
      "msPerFrame": 8.33,
      "scriptBudgetMs": 2,
      "styleBudgetMs": 1,
      "layoutBudgetMs": 1,
      "paintBudgetMs": 2
    },
    {
      "fps": 240,
      "msPerFrame": 4.17,
      "scriptBudgetMs": 1,
      "styleBudgetMs": 0.5,
      "layoutBudgetMs": 0.5,
      "paintBudgetMs": 1
    }
  ],
  "techniques": [
    "requestAnimationFrame() callbacks return within 25% of msPerFrame.",
    "No synchronous layout reads inside rAF.",
    "CSS containment (contain: layout paint style) on every animated subtree.",
    "OffscreenCanvas or WebGPU for pixel-heavy work."
  ],
  "measurement": "Long Animation Frames API (LoAF) sampled at p99 over rolling 7-day window."
}