{
  "project": "simocracy-v2",
  "run": "gathering-resize-parity",
  "date": "2026-04-24",
  "simocracyCommit": "880a955",
  "target": "local production build at http://127.0.0.1:3000",
  "result": "pass",
  "change": {
    "file": "components/events/gathering-world.tsx",
    "summary": "GatheringWorld now uses the same mount/window-resize measurement strategy as FtC SF TowerWorld: getBoundingClientRect() on the world wrapper, initial fallback 960x540, update canvas backing dimensions to the measured wrapper width/height."
  },
  "measurements": [
    {
      "viewport": "1440x900",
      "ftcSf": {
        "canvas": { "x": 0, "y": 56, "width": 1440, "height": 844, "bottom": 900, "attrWidth": 1440, "attrHeight": 844 },
        "sidebar": { "x": 720, "y": 56, "width": 720, "height": 844, "bottom": 900 }
      },
      "gathering": {
        "canvas": { "x": 0, "y": 56, "width": 1440, "height": 844, "bottom": 900, "attrWidth": 1440, "attrHeight": 844 },
        "sidebar": { "x": 720, "y": 56, "width": 720, "height": 844, "bottom": 900 }
      },
      "matches": true
    },
    {
      "viewport": "1024x760",
      "ftcSf": {
        "canvas": { "x": 0, "y": 56, "width": 1024, "height": 704, "bottom": 760, "attrWidth": 1024, "attrHeight": 704 },
        "sidebar": { "x": 512, "y": 56, "width": 512, "height": 704, "bottom": 760 }
      },
      "gathering": {
        "canvas": { "x": 0, "y": 56, "width": 1024, "height": 704, "bottom": 760, "attrWidth": 1024, "attrHeight": 704 },
        "sidebar": { "x": 512, "y": 56, "width": 512, "height": 704, "bottom": 760 }
      },
      "matches": true
    },
    {
      "viewport": "720x760",
      "ftcSf": {
        "canvas": { "x": 0, "y": 56, "width": 720, "height": 704, "bottom": 760, "attrWidth": 720, "attrHeight": 704 },
        "sidebar": { "x": 0, "y": 56, "width": 720, "height": 704, "bottom": 760 }
      },
      "gathering": {
        "canvas": { "x": 0, "y": 56, "width": 720, "height": 704, "bottom": 760, "attrWidth": 720, "attrHeight": 704 },
        "sidebar": { "x": 0, "y": 56, "width": 720, "height": 704, "bottom": 760 }
      },
      "matches": true
    }
  ],
  "checks": [
    "npx tsc --noEmit passed",
    "npx eslint components/events/gathering-world.tsx passed",
    "npm run build passed",
    "full npm run lint still fails due existing repo-wide backlog unrelated to this change"
  ]
}
