Binary search image scanner, but the color shifts are cached individually for every shade during each pass. This is based off of griffpatch's codebase, which I found a bit cleaner and easier to adapt to my needs. This is 20% to 40% faster to run than with a 1 item global cache (griffpatch implementation), and 10% to 30% faster than with an unlimited global cache (geotale implementation) depending on the images. At least it should be, according to color check counts. Do note the "special cases" are very poorly handled currently (they are not cached due to technical limitations), so the actual speed bump may be greater in the future. Also, yes, my computer is so slow the percentage indicator is actually helpful to me xD Color test count comparison between basic cache (1 global item) and per-channel cache: pokemon = 1375999÷1753507 = 21% koala = 1592470÷2729966 = 41% castle = 1365977÷2149125 = 36% underwater = 1610587÷1120580 = -43% → I should probably cache special cases too lol pokemon 2 = 1334648÷1646991 = 18% bench = 1485909÷2225059 = 33% canyon = 1476268÷1953476 = 24%