{
  "schemaVersion": 1,
  "studyId": "pattern-repeat-spacing-2026-09-16",
  "question": "With a fixed 4 CSS-pixel dot and fixed colors, how do 16, 24, 32, and 48 CSS-pixel repeat intervals fit across the measured wide and narrow fields?",
  "recordedAt": "2026-09-16T21:10:06.361Z",
  "runtime": {
    "browser": "Google Chrome 153.0.8010.48",
    "platform": "darwin",
    "architecture": "arm64",
    "runner": "scripts/run-spacing-rhythm-study.mjs"
  },
  "method": {
    "independentVariable": "Square CSS background repeat interval",
    "dependentMeasures": [
      "Computed background-size",
      "content-box width",
      "full horizontal repeats",
      "right-edge remainder"
    ],
    "constants": [
      "4 CSS-pixel dot diameter",
      "#452c43 ink",
      "#fbf1ed paper",
      "0px 0px background position",
      "1 CSS-pixel field border",
      "device scale factor 1"
    ]
  },
  "runs": [
    {
      "id": "desktop",
      "label": "Desktop control",
      "screenshot": "/evidence/pattern-repeat-spacing/desktop.png",
      "viewport": {
        "widthCssPx": 1280,
        "heightCssPx": 813,
        "devicePixelRatio": 1
      },
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.0.0 Safari/537.36",
      "controlledVariables": {
        "dotDiameterCssPx": 4,
        "ink": "#452c43",
        "paper": "#fbf1ed",
        "backgroundPosition": "0px 0px",
        "fieldBorderCssPx": 1
      },
      "samples": [
        {
          "intervalCssPx": 16,
          "dotDiameterCssPx": 4,
          "contentWidthCssPx": 718,
          "fieldHeightCssPx": 70,
          "computedBackgroundSize": "16px 16px",
          "fullHorizontalRepeats": 44,
          "rightEdgeRemainderCssPx": 14
        },
        {
          "intervalCssPx": 24,
          "dotDiameterCssPx": 4,
          "contentWidthCssPx": 718,
          "fieldHeightCssPx": 70,
          "computedBackgroundSize": "24px 24px",
          "fullHorizontalRepeats": 29,
          "rightEdgeRemainderCssPx": 22
        },
        {
          "intervalCssPx": 32,
          "dotDiameterCssPx": 4,
          "contentWidthCssPx": 718,
          "fieldHeightCssPx": 70,
          "computedBackgroundSize": "32px 32px",
          "fullHorizontalRepeats": 22,
          "rightEdgeRemainderCssPx": 14
        },
        {
          "intervalCssPx": 48,
          "dotDiameterCssPx": 4,
          "contentWidthCssPx": 718,
          "fieldHeightCssPx": 70,
          "computedBackgroundSize": "48px 48px",
          "fullHorizontalRepeats": 14,
          "rightEdgeRemainderCssPx": 46
        }
      ]
    },
    {
      "id": "narrow",
      "label": "Narrow control",
      "screenshot": "/evidence/pattern-repeat-spacing/narrow.png",
      "viewport": {
        "widthCssPx": 500,
        "heightCssPx": 757,
        "devicePixelRatio": 1
      },
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.0.0 Safari/537.36",
      "controlledVariables": {
        "dotDiameterCssPx": 4,
        "ink": "#452c43",
        "paper": "#fbf1ed",
        "backgroundPosition": "0px 0px",
        "fieldBorderCssPx": 1
      },
      "samples": [
        {
          "intervalCssPx": 16,
          "dotDiameterCssPx": 4,
          "contentWidthCssPx": 458,
          "fieldHeightCssPx": 56,
          "computedBackgroundSize": "16px 16px",
          "fullHorizontalRepeats": 28,
          "rightEdgeRemainderCssPx": 10
        },
        {
          "intervalCssPx": 24,
          "dotDiameterCssPx": 4,
          "contentWidthCssPx": 458,
          "fieldHeightCssPx": 56,
          "computedBackgroundSize": "24px 24px",
          "fullHorizontalRepeats": 19,
          "rightEdgeRemainderCssPx": 2
        },
        {
          "intervalCssPx": 32,
          "dotDiameterCssPx": 4,
          "contentWidthCssPx": 458,
          "fieldHeightCssPx": 56,
          "computedBackgroundSize": "32px 32px",
          "fullHorizontalRepeats": 14,
          "rightEdgeRemainderCssPx": 10
        },
        {
          "intervalCssPx": 48,
          "dotDiameterCssPx": 4,
          "contentWidthCssPx": 458,
          "fieldHeightCssPx": 56,
          "computedBackgroundSize": "48px 48px",
          "fullHorizontalRepeats": 9,
          "rightEdgeRemainderCssPx": 26
        }
      ]
    }
  ],
  "limitations": [
    "This records one Chrome build on one macOS machine; it is not a cross-browser comparison.",
    "The repeat count and edge remainder describe geometry, not perceived quality, accessibility, or reader preference.",
    "Screenshots document raster output at device scale factor 1 and can look different after image resizing or display scaling."
  ],
  "version": {
    "label": "1.0.0",
    "published": "2026-09-16",
    "corrections": []
  }
}
