# Test fixtures Real screenshots of the game, used as regression data. They are the game author's work, not covered by this repo's MIT license (see `/LICENSE`). ## `map_shots/` + `map_shots_gt.json` The evaluation set for the map-grid solver (`src/fenigma/map_vision.py`), scored by `tools/eval_map_vision.py`. The JSON holds hand-transcribed cell labels at native pixel positions; its own header comment explains the format and the 9%/6% label-padding constant. Shots wider than 2400px were downscaled to 2400px, and their ground-truth coordinates rescaled with them. 2400 is `map_vision.RETRY_WORK_W`, the widest the pipeline ever works at, so nothing the code can actually read was lost. Measured after the downscale: the same 7 of 10 solve, 100% of their points land in the correct cell, residual spread unchanged. `too_hard/` holds shots that are permanent rejections; see its own README. ## `writer_shots/` Typewriter/field-log screenshots. Two uses: - Measuring false positives in the map-vs-text routing gate (`map_vision.looks_like_map` / `solve`). Over the full 122-shot set the cheap gate false-positived on 6% and `solve()` accepted **none**. - OCR regression material for `ocr.py`. Kept at NATIVE resolution deliberately: the routing gate only ever sees 1500px, but OCR needs the text legible, so these must not be downscaled. Ten shots are committed, chosen to span the capture-scale range (262px to 5366px wide) since scale is what both the gate and OCR are sensitive to. The false-positive numbers above were measured on all 122; this subset is a regression guard, not the measurement.