tools: reject degenerate captures in screen_id instead of classifying them
Every statistic in screen_id is an AREA FRACTION, so a capture that is not a game frame still produces clean numbers. Measured 2026-08-26: a guard shot came back 10x710 -- a sliver -- and classified as `menu` with green=0.0000, white=0.0157. The guard passed, the fixed key sequence went out anyway, and the run loaded a TUTORIAL instead of the save's Stage 02. This is the second time this failure has been paid for. bin/screenshot's own header records the first (2026-08-18): a second window of class "xenia_canary" meant grabs came back as slivers and "a whole session's screen ids were noise". That fix hardened the CAPTURE side only, so the same failure still reached the oracles by any other path. Reject it at the point the answer is consumed too: features() now returns None below 640x360 and classify() reports `none`. Verified: the 10x710 sliver -> `none`; readyroom, flight and the briefing capture all still classify as before.
This commit is contained in:
BIN
docs/re/captures/sliver-classified-as-menu.png
Normal file
BIN
docs/re/captures/sliver-classified-as-menu.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.4 KiB |
Reference in New Issue
Block a user