{
  "generator": "make_samples.py",
  "method": "nearest-neighbour sample of the browser crop box; the browser resampler differs",
  "png_readback_method": "reopen, validate signature and chunk CRCs, decompress IDAT, compare every decoded row with the generated canvas",
  "source": {
    "file": "source-grid-851x315.png",
    "width": 851,
    "height": 315,
    "area_px": 268065,
    "bytes": 6139,
    "sha256": "dd6fe3a288779cb7a447561fef840934f729276221e0a4c4d1e3ef0329056fd2",
    "readback": {
      "width": 851,
      "height": 315,
      "bit_depth": 8,
      "colour_type": "RGBA",
      "chunks": 3,
      "chunk_crc_ok": true,
      "raster_sha256": "f5fe034ef86d1dd3f21395e47221069e80b33b7c6acfcdb9ce3cbe0fbc60dcf4",
      "file_bytes": 6139,
      "pixel_match": true
    },
    "markers": [
      {
        "name": "top-left",
        "x": 24,
        "y": 24,
        "width": 64,
        "height": 64,
        "feature": 1
      },
      {
        "name": "frame-a",
        "x": 560,
        "y": 24,
        "width": 64,
        "height": 64,
        "feature": 2
      },
      {
        "name": "frame-b",
        "x": 763,
        "y": 24,
        "width": 64,
        "height": 64,
        "feature": 3
      }
    ]
  },
  "frames": [
    {
      "name": "desktop",
      "width": 560,
      "height": 315,
      "kept_of_851": 0.6580493537015276
    },
    {
      "name": "mobile",
      "width": 756,
      "height": 315,
      "kept_of_851": 0.8883666274970623
    }
  ],
  "avatar_mask": {
    "radius_px": 40,
    "centre": [
      0,
      315
    ],
    "box_px": 1600,
    "continuous_area_px": 1256.64,
    "pixel_count": 1256,
    "source_marker_pixels": 1296
  },
  "exports": [
    {
      "frame": "desktop",
      "canvas": [
        560,
        315
      ],
      "file": "exports/desktop-560x315-left.png",
      "bytes": 4157,
      "sha256": "506671333e1c32f9cee70b9137c1d3eb0f355ce86c1db850e830631d6f05436a",
      "scale": 1.0,
      "focus": "left",
      "source_x": 0.0,
      "source_y": 0.0,
      "source_region": [
        560.0,
        315.0
      ],
      "crop_area_px": 91665.0,
      "crop_share": 0.3419506462984724,
      "kept_share_of_width": 0.6580493537015276,
      "visible_marker_pixels": {
        "top-left": 4096,
        "frame-a": 0,
        "frame-b": 0
      },
      "avatar_marker_pixels": 1296,
      "avatar_mask_pixels_over_marker": 0,
      "png_readback": {
        "width": 560,
        "height": 315,
        "bit_depth": 8,
        "colour_type": "RGBA",
        "chunks": 3,
        "chunk_crc_ok": true,
        "raster_sha256": "cd67a0e10592a5bd8c5ca4295c2f3816a6b9d85f7f10121354787a384efe08f8",
        "file_bytes": 4157,
        "pixel_match": true
      },
      "preview": "previews-320/desktop-560x315-left.png",
      "preview_pixels": [
        320,
        180
      ],
      "preview_bytes": 1579,
      "preview_sha256": "686e0bb385259d1ad7d846a5b6fec2c6cc20396a8fec19e6ea08942f85d1478f",
      "preview_png_readback": {
        "width": 320,
        "height": 180,
        "bit_depth": 8,
        "colour_type": "RGBA",
        "chunks": 3,
        "chunk_crc_ok": true,
        "raster_sha256": "4782c05fb6f235db3799efcecb620d7dacace917301d87c72106a6d4c914b27b",
        "file_bytes": 1579,
        "pixel_match": true
      }
    },
    {
      "frame": "desktop",
      "canvas": [
        560,
        315
      ],
      "file": "exports/desktop-560x315-right.png",
      "bytes": 4226,
      "sha256": "b62c385f459c8eff57e4e63d7e657049ae127f78d121387ddaf50652d24ddd46",
      "scale": 1.0,
      "focus": "right",
      "source_x": 291.0,
      "source_y": 0.0,
      "source_region": [
        560.0,
        315.0
      ],
      "crop_area_px": 91665.0,
      "crop_share": 0.3419506462984724,
      "kept_share_of_width": 0.6580493537015276,
      "visible_marker_pixels": {
        "top-left": 0,
        "frame-a": 4096,
        "frame-b": 4096
      },
      "avatar_marker_pixels": 0,
      "avatar_mask_pixels_over_marker": 0,
      "png_readback": {
        "width": 560,
        "height": 315,
        "bit_depth": 8,
        "colour_type": "RGBA",
        "chunks": 3,
        "chunk_crc_ok": true,
        "raster_sha256": "bb7a68e75124ed317b91a42ce45872dae976cebd32a8e7a0ef4d41c1265c94ff",
        "file_bytes": 4226,
        "pixel_match": true
      },
      "preview": "previews-320/desktop-560x315-right.png",
      "preview_pixels": [
        320,
        180
      ],
      "preview_bytes": 1566,
      "preview_sha256": "bfc2e43065e8d1e265a924facc8b9da105580cd856e62b86a0a48322b63690a0",
      "preview_png_readback": {
        "width": 320,
        "height": 180,
        "bit_depth": 8,
        "colour_type": "RGBA",
        "chunks": 3,
        "chunk_crc_ok": true,
        "raster_sha256": "9d50ed5a8f731416736580e15853654b9e347f5f4b25556510bd6e709470f100",
        "file_bytes": 1566,
        "pixel_match": true
      }
    },
    {
      "frame": "mobile",
      "canvas": [
        756,
        315
      ],
      "file": "exports/mobile-756x315-left.png",
      "bytes": 5386,
      "sha256": "5f2bf97957d00815cacda8c8271474edc94025df6b74abeff685f0931bb04213",
      "scale": 1.0,
      "focus": "left",
      "source_x": 0.0,
      "source_y": 0.0,
      "source_region": [
        756.0,
        315.0
      ],
      "crop_area_px": 29925.0,
      "crop_share": 0.11163337250293771,
      "kept_share_of_width": 0.8883666274970623,
      "visible_marker_pixels": {
        "top-left": 4096,
        "frame-a": 4096,
        "frame-b": 0
      },
      "avatar_marker_pixels": 1296,
      "avatar_mask_pixels_over_marker": 1074,
      "png_readback": {
        "width": 756,
        "height": 315,
        "bit_depth": 8,
        "colour_type": "RGBA",
        "chunks": 3,
        "chunk_crc_ok": true,
        "raster_sha256": "ad1aeae8013c40832a206838aea55845ea85e973877c9e24a3e27b7272f7af63",
        "file_bytes": 5386,
        "pixel_match": true
      },
      "preview": "previews-320/mobile-756x315-left.png",
      "preview_pixels": [
        320,
        133
      ],
      "preview_bytes": 1179,
      "preview_sha256": "f8502ed6df3a8f4a833003e3dee5ad701e2cb410a46488c5d19eb064cba84e13",
      "preview_png_readback": {
        "width": 320,
        "height": 133,
        "bit_depth": 8,
        "colour_type": "RGBA",
        "chunks": 3,
        "chunk_crc_ok": true,
        "raster_sha256": "82dc7ad508384954ebd48360bdb8ed47d6fcd9ca55966c061fcecc37adfdbbd4",
        "file_bytes": 1179,
        "pixel_match": true
      }
    },
    {
      "frame": "mobile",
      "canvas": [
        756,
        315
      ],
      "file": "exports/mobile-756x315-right.png",
      "bytes": 5495,
      "sha256": "25219b2e116cf44e3f84bdb89e7113aa3ee6abb3e1135b0880b3be9f89219639",
      "scale": 1.0,
      "focus": "right",
      "source_x": 95.0,
      "source_y": 0.0,
      "source_region": [
        756.0,
        315.0
      ],
      "crop_area_px": 29925.0,
      "crop_share": 0.11163337250293771,
      "kept_share_of_width": 0.8883666274970623,
      "visible_marker_pixels": {
        "top-left": 0,
        "frame-a": 4096,
        "frame-b": 4096
      },
      "avatar_marker_pixels": 0,
      "avatar_mask_pixels_over_marker": 0,
      "png_readback": {
        "width": 756,
        "height": 315,
        "bit_depth": 8,
        "colour_type": "RGBA",
        "chunks": 3,
        "chunk_crc_ok": true,
        "raster_sha256": "c8fd9048c6ba350229cd70e580cafa97d820acc4f85cdb21e8882f3e8c131bf9",
        "file_bytes": 5495,
        "pixel_match": true
      },
      "preview": "previews-320/mobile-756x315-right.png",
      "preview_pixels": [
        320,
        133
      ],
      "preview_bytes": 1230,
      "preview_sha256": "a8fd282a63480c49be29e79c6abe6fdd3a8f66181b3a77b025a7b938509f160f",
      "preview_png_readback": {
        "width": 320,
        "height": 133,
        "bit_depth": 8,
        "colour_type": "RGBA",
        "chunks": 3,
        "chunk_crc_ok": true,
        "raster_sha256": "d3a53b9f432354f08a6a47a901f95314d83a754add04f5a24016e2875a756948",
        "file_bytes": 1230,
        "pixel_match": true
      }
    }
  ],
  "previews": [
    {
      "file": "previews-320/desktop-560x315-left.png",
      "width": 320,
      "height": 180,
      "bytes": 1579
    },
    {
      "file": "previews-320/desktop-560x315-right.png",
      "width": 320,
      "height": 180,
      "bytes": 1566
    },
    {
      "file": "previews-320/mobile-756x315-left.png",
      "width": 320,
      "height": 133,
      "bytes": 1179
    },
    {
      "file": "previews-320/mobile-756x315-right.png",
      "width": 320,
      "height": 133,
      "bytes": 1230
    }
  ],
  "negative_controls": {
    "wrong_canvas": {
      "file": "negative/wrong-desktop-559x315.png",
      "width": 559,
      "height": 315,
      "bytes": 4151,
      "matches_expected": false
    },
    "shifted_mobile": {
      "file": "negative/shifted-mobile-756.png",
      "width": 756,
      "height": 315,
      "bytes": 5419,
      "matches_expected": false
    }
  },
  "desktop_left_sha256": "506671333e1c32f9cee70b9137c1d3eb0f355ce86c1db850e830631d6f05436a"
}
