{
  "date": "2026-10-14",
  "method": "Synthetic PDF.js-style text items passed to the production textToMarkdown function; not a PDF parser or OCR benchmark.",
  "cases": [
    {
      "id": "broken-word",
      "items": [
        {
          "str": "A docu-",
          "transform": [
            12,
            0,
            0,
            12,
            20,
            100
          ],
          "height": 12,
          "width": 42,
          "hasEOL": true
        },
        {
          "str": "ment needs review.",
          "transform": [
            12,
            0,
            0,
            12,
            20,
            80
          ],
          "height": 12,
          "width": 108,
          "hasEOL": true
        }
      ],
      "expected": "The split word is not automatically repaired.",
      "output": "A docu-\n\nment needs review."
    },
    {
      "id": "content-order",
      "items": [
        {
          "str": "Right column first.",
          "transform": [
            12,
            0,
            0,
            12,
            200,
            100
          ],
          "height": 12,
          "width": 114,
          "hasEOL": true
        },
        {
          "str": "Left column second.",
          "transform": [
            12,
            0,
            0,
            12,
            20,
            100
          ],
          "height": 12,
          "width": 114,
          "hasEOL": true
        }
      ],
      "expected": "Extraction follows supplied content order, which can differ from visual reading order.",
      "output": "Right column first.\n\nLeft column second."
    }
  ]
}