How We Verify Our OMR Sheets (Automated Geometry & Print QA)
We check the generated layout with code tests for page size, bubble positions, and spacing. These checks help find layout errors before a PDF is built. You should still print one sample and inspect it. Code checks cannot guarantee how every printer, pen, camera, or commercial scanner will handle a sheet.
1. Mathematical Non-Overlap & Boundary Verification
Our test suite (`tests/omr-layout-pdf.test.ts`) validates all question counts from 20 to 300 across 4 and 5 options, verifying that every bubble center `(cx, cy)` and radius `r` stays strictly within its column bounding box with safe inter-bubble clearance.
2. Rasterized Bitmap Pixel Inspection
We render the layout geometry to a 2× resolution RGBA bitmap and verify pixel luminance at all four 14×14 pt corner alignment marks (`TL, TR, BL, BR`) and across sample question bubble rings.
3. Pure Black-and-White Optical Contrast Policy
While our web interface uses an accessible teal theme, our PDF generator enforces pure `#000000` vector strokes on a `#FFFFFF` A4 canvas (`595.28 × 841.89 pt`) so monochrome printers and camera graders achieve clean contrast.