{
  "date": "2026-10-31",
  "method": "Actual UI downloads; Ghostscript WASM 72dpi renders independently decoded by Pillow; PostScript lexical operator and size checks. No competing converters or receiving-app tests.",
  "valid_samples": [
    {
      "input": "curves.svg",
      "output": "curves.eps",
      "bytes": 688,
      "sha256": "e378540c54f914c474293db56db404e1d98db06a6ac0d70f94399ad1557e2e00",
      "bounding_box": "0 0 144 72",
      "hires_box": "0 0 144 72",
      "curveto": 2,
      "raster_operators": 0,
      "preview_width": 144,
      "preview_height": 72,
      "preview_bytes": 2019,
      "preview_sha256": "09d3cc88686cf72ba71b082b7072963b96b229839e0283070071f91df0c4355e"
    },
    {
      "input": "holes-transform.svg",
      "output": "holes-transform.eps",
      "bytes": 900,
      "sha256": "ed1dfc967371be470a4a51cc46f2a60fc949eb1945f765caa1723135954cd34c",
      "bounding_box": "0 0 144 72",
      "hires_box": "0 0 144 72",
      "curveto": 4,
      "raster_operators": 0,
      "preview_width": 144,
      "preview_height": 72,
      "preview_bytes": 819,
      "preview_sha256": "f39591737973bbabb77b504c30104774770e7395dc8ff0ee167fa24d3575dc8b"
    },
    {
      "input": "limit-2048.svg",
      "output": "limit-2048.eps",
      "bytes": 502,
      "sha256": "dae54649efb8f25c7788758ac3ef3aedd89474422bb7bfe4d590fbdca4a5d99f",
      "bounding_box": "0 0 2048 10",
      "hires_box": "0 0 2048 10",
      "curveto": 0,
      "raster_operators": 0,
      "preview_width": 2048,
      "preview_height": 10,
      "preview_bytes": 540,
      "preview_sha256": "a60e52a4519332b29f1dc7013da8dc3e894a774ee5484b5dace31578f331f38f"
    },
    {
      "input": "units-mm.svg",
      "output": "units-mm.eps",
      "bytes": 506,
      "sha256": "9e55c2a30e18418d028ce3ddee75f1b1d502b0084f4887540140979506128505",
      "bounding_box": "0 0 144 72",
      "hires_box": "0 0 144 72",
      "curveto": 0,
      "raster_operators": 0,
      "preview_width": 144,
      "preview_height": 72,
      "preview_bytes": 581,
      "preview_sha256": "13b8398bb61f59e697e11ac7483b6fec03dfa3259fac2a28d39cf88a3e5bfd94"
    },
    {
      "input": "units-px.svg",
      "output": "units-px.eps",
      "bytes": 506,
      "sha256": "9e55c2a30e18418d028ce3ddee75f1b1d502b0084f4887540140979506128505",
      "bounding_box": "0 0 144 72",
      "hires_box": "0 0 144 72",
      "curveto": 0,
      "raster_operators": 0,
      "preview_width": 144,
      "preview_height": 72,
      "preview_bytes": 581,
      "preview_sha256": "13b8398bb61f59e697e11ac7483b6fec03dfa3259fac2a28d39cf88a3e5bfd94"
    },
    {
      "input": "viewbox-meet.svg",
      "output": "viewbox-meet.eps",
      "bytes": 501,
      "sha256": "d0394e9c18f4c834f5c8892bc78c211386f2cf1a78380fd9a06e9f951eb90fe9",
      "bounding_box": "0 0 144 72",
      "hires_box": "0 0 144 72",
      "curveto": 0,
      "raster_operators": 0,
      "preview_width": 144,
      "preview_height": 72,
      "preview_bytes": 574,
      "preview_sha256": "474452c2b084394235cd6feda570b154864d046aa7d2072c8cdc3f830aa3a80a"
    }
  ],
  "same_units_byte_identical": true,
  "hole_and_centering_pixel_checks": true,
  "errors": [
    {
      "name": "over-2048",
      "accepted": false,
      "error": "SVG page size must be at most 2048 points per side.",
      "stale_download": false
    },
    {
      "name": "partial-opacity",
      "accepted": false,
      "error": "Partial opacity is unsupported. Use opaque vector artwork or keep SVG/PDF in a capable editor.",
      "stale_download": false
    },
    {
      "name": "gradient",
      "accepted": false,
      "error": "Unsupported <defs>. Outline text and remove images, references, gradients and effects first.",
      "stale_download": false
    },
    {
      "name": "live-text",
      "accepted": false,
      "error": "Unsupported <text>. Outline text and remove images, references, gradients and effects first.",
      "stale_download": false
    },
    {
      "name": "embedded-image",
      "accepted": false,
      "error": "Unsupported <image>. Outline text and remove images, references, gradients and effects first.",
      "stale_download": false
    },
    {
      "name": "css-style",
      "accepted": false,
      "error": "Unsupported SVG attribute style. Export plain SVG presentation attributes without CSS or effects.",
      "stale_download": false
    },
    {
      "name": "arc-command",
      "accepted": false,
      "error": "Supported path commands: M L H V C Q Z. Outline arcs and shorthand commands first.",
      "stale_download": false
    },
    {
      "name": "empty-geometry",
      "accepted": false,
      "error": "SVG contains no supported painted geometry.",
      "stale_download": false
    },
    {
      "name": "malformed",
      "accepted": false,
      "error": "Choose valid SVG XML with the SVG namespace.",
      "stale_download": false
    },
    {
      "name": "over-2mb",
      "accepted": false,
      "error": "Choose a non-empty SVG up to 2 MB.",
      "stale_download": false
    }
  ]
}
