{
  "kind": "synthetic-compatibility-matrix",
  "schema": 1,
  "generatedOn": "2026-10-24",
  "license": "CC0-1.0",
  "reader": "exifr 7.1.3",
  "provenance": "Generated color grids and derived byte fixtures. No real camera or personal photo. Names, credits, serials, dates and GPS coordinates are invented test values.",
  "referenceEnvironment": {
    "node": "v22.22.2",
    "method": "readViewerImage on named byte arrays; same reader/options as viewer. Browser display and re-encoding must be tested separately."
  },
  "generators": [
    "scripts/generate-test-images.py",
    "scripts/generate-compatibility-matrix.mjs"
  ],
  "samples": [
    {
      "id": "baseline",
      "name": "baseline.jpg",
      "url": "/samples/compatibility/baseline.jpg",
      "type": "image/jpeg",
      "bytes": 1635,
      "sha256": "ddcde0a271cf267486d365354055c8f4b3974691bd99106bb1ddb8ae90091e3d",
      "expected": {
        "format": "jpeg",
        "code": "read-fields",
        "dimensions": [
          80,
          120
        ],
        "required": [
          "Artist",
          "DateTimeOriginal",
          "latitude",
          "longitude"
        ],
        "mismatch": false
      },
      "operations": {
        "reencode": true,
        "selective": true
      },
      "reference": {
        "diagnostic": {
          "format": "jpeg",
          "reader": "exifr 7.1.3",
          "mimeMismatch": false,
          "nameMismatch": false,
          "code": "read-fields"
        },
        "fieldNames": [
          "Artist",
          "DateTimeOriginal",
          "ExposureTime",
          "FNumber",
          "GPSLatitude",
          "GPSLatitudeRef",
          "GPSLongitude",
          "GPSLongitudeRef",
          "ISO",
          "JFIFVersion",
          "Make",
          "Model",
          "Orientation",
          "ResolutionUnit",
          "ThumbnailHeight",
          "ThumbnailWidth",
          "XResolution",
          "YResolution",
          "latitude",
          "longitude"
        ]
      }
    },
    {
      "id": "progressive",
      "name": "progressive.jpg",
      "url": "/samples/compatibility/progressive.jpg",
      "type": "image/jpeg",
      "bytes": 1136,
      "sha256": "3f76dc61b4aabe067f28ec05d7c80b78d3c2ce7bf6fcfb635fdbf8de6993fb4d",
      "expected": {
        "format": "jpeg",
        "code": "read-fields",
        "dimensions": [
          120,
          80
        ],
        "required": [
          "Artist",
          "DateTimeOriginal",
          "SerialNumber"
        ],
        "mismatch": false
      },
      "operations": {
        "reencode": true,
        "selective": true
      },
      "reference": {
        "diagnostic": {
          "format": "jpeg",
          "reader": "exifr 7.1.3",
          "mimeMismatch": false,
          "nameMismatch": false,
          "code": "read-fields"
        },
        "fieldNames": [
          "Artist",
          "DateTimeOriginal",
          "JFIFVersion",
          "ResolutionUnit",
          "SerialNumber",
          "ThumbnailHeight",
          "ThumbnailWidth",
          "XResolution",
          "YResolution"
        ]
      }
    },
    {
      "id": "png",
      "name": "plain.png",
      "url": "/samples/compatibility/plain.png",
      "type": "image/png",
      "bytes": 270,
      "sha256": "47751fc9981a0de7db4304a482f821721363143b12ea89c397914e4f45ff5e8a",
      "expected": {
        "format": "png",
        "code": "read-fields",
        "dimensions": [
          120,
          80
        ],
        "required": [
          "ImageWidth",
          "ImageHeight"
        ],
        "mismatch": false
      },
      "operations": {
        "reencode": true,
        "selective": false
      },
      "reference": {
        "diagnostic": {
          "format": "png",
          "reader": "exifr 7.1.3",
          "mimeMismatch": false,
          "nameMismatch": false,
          "code": "read-fields"
        },
        "fieldNames": [
          "BitDepth",
          "ColorType",
          "Compression",
          "Filter",
          "ImageHeight",
          "ImageWidth",
          "Interlace"
        ]
      }
    },
    {
      "id": "webp",
      "name": "plain.webp",
      "url": "/samples/compatibility/plain.webp",
      "type": "image/webp",
      "bytes": 180,
      "sha256": "1c4026d6c15ab1305cce2bbb7011314d7fd331253e64eab1f8eeaa3644f312d7",
      "expected": {
        "format": "webp",
        "code": "unsupported-format",
        "dimensions": [
          120,
          80
        ],
        "required": [],
        "mismatch": false
      },
      "operations": {
        "reencode": true,
        "selective": false
      },
      "reference": {
        "diagnostic": {
          "format": "webp",
          "reader": "exifr 7.1.3",
          "mimeMismatch": false,
          "nameMismatch": false,
          "code": "unsupported-format"
        },
        "fieldNames": []
      }
    },
    {
      "id": "no-fields",
      "name": "no-fields.jpg",
      "url": "/samples/compatibility/no-fields.jpg",
      "type": "image/jpeg",
      "bytes": 1267,
      "sha256": "61aff5e7cd24329de50e36a3c5e6cededf47c7d5e3334eb93c6ac98e7de51a8e",
      "expected": {
        "format": "jpeg",
        "code": "read-empty",
        "dimensions": [
          120,
          80
        ],
        "required": [],
        "mismatch": false
      },
      "operations": {
        "reencode": true,
        "selective": false
      },
      "reference": {
        "diagnostic": {
          "format": "jpeg",
          "reader": "exifr 7.1.3",
          "mimeMismatch": false,
          "nameMismatch": false,
          "code": "read-empty"
        },
        "fieldNames": []
      }
    },
    {
      "id": "mislabeled",
      "name": "mislabeled.jpg",
      "url": "/samples/compatibility/mislabeled.jpg",
      "type": "image/jpeg",
      "bytes": 270,
      "sha256": "47751fc9981a0de7db4304a482f821721363143b12ea89c397914e4f45ff5e8a",
      "expected": {
        "format": "png",
        "code": "read-fields",
        "dimensions": [
          120,
          80
        ],
        "required": [
          "ImageWidth",
          "ImageHeight"
        ],
        "mismatch": true
      },
      "operations": {
        "reencode": true,
        "selective": false
      },
      "reference": {
        "diagnostic": {
          "format": "png",
          "reader": "exifr 7.1.3",
          "mimeMismatch": true,
          "nameMismatch": true,
          "code": "read-fields"
        },
        "fieldNames": [
          "BitDepth",
          "ColorType",
          "Compression",
          "Filter",
          "ImageHeight",
          "ImageWidth",
          "Interlace"
        ]
      }
    },
    {
      "id": "empty",
      "name": "empty.jpg",
      "url": "/samples/compatibility/empty.jpg",
      "type": "image/jpeg",
      "bytes": 0,
      "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "expected": {
        "format": "unknown",
        "code": "empty-file",
        "dimensions": null,
        "required": [],
        "mismatch": false
      },
      "operations": {
        "reencode": false,
        "selective": false
      },
      "reference": {
        "diagnostic": {
          "format": "unknown",
          "reader": "exifr 7.1.3",
          "mimeMismatch": false,
          "nameMismatch": false,
          "code": "empty-file"
        },
        "fieldNames": []
      }
    },
    {
      "id": "truncated",
      "name": "truncated.jpg",
      "url": "/samples/compatibility/truncated.jpg",
      "type": "image/jpeg",
      "bytes": 180,
      "sha256": "c893f8536a2e196b16b6a8661a46841358115fa4b5f9dbc7cb2ce72ccbcbe7b9",
      "expected": {
        "format": "jpeg",
        "code": "parse-failed",
        "dimensions": null,
        "required": [],
        "mismatch": false
      },
      "operations": {
        "reencode": false,
        "selective": false
      },
      "reference": {
        "diagnostic": {
          "format": "jpeg",
          "reader": "exifr 7.1.3",
          "mimeMismatch": false,
          "nameMismatch": false,
          "code": "parse-failed"
        },
        "fieldNames": []
      }
    },
    {
      "id": "unrecognized",
      "name": "unrecognized.bin",
      "url": "/samples/compatibility/unrecognized.bin",
      "type": "application/octet-stream",
      "bytes": 57,
      "sha256": "e382d7f18a0c62f5f3d53eff7b67ce7686cd6da6324527cb642308b6466ac3ac",
      "expected": {
        "format": "unknown",
        "code": "unrecognized-format",
        "dimensions": null,
        "required": [],
        "mismatch": false
      },
      "operations": {
        "reencode": false,
        "selective": false
      },
      "reference": {
        "diagnostic": {
          "format": "unknown",
          "reader": "exifr 7.1.3",
          "mimeMismatch": false,
          "nameMismatch": false,
          "code": "unrecognized-format"
        },
        "fieldNames": []
      }
    }
  ]
}
