I added some animation and a graph to @grandpasp's project make the process and resulting data easier to interpret. Click the version of the test you want to run. If it is your first time, go with the animated version. When the test is done and the graph is drawn, the anomalies are highlighted. Click an anomaly to zoom in on it.
✦ ✦ ✦ What is this? ✦ ✦ ✦ When you use the <touching color (...)?> block, it does not check if the color the sprite is touching is exactly the same as the one you are looking for - it checks if it is "close enough". More specifically, it only checks the 5 top bits for red and green, and 4 top bits for blue. For example, if the sprite is touching black (rgb(0,0,0)), checking for rgb(7,7,15) would return true. And if the sprite is touching rgb(7,7,15), checking for rgb(0,0,0) would return true as well. This project scans all 256 shades of red, green and blue, recording the lowest and highest color values that returns true for each shade. And then it draws a graph that makes the pattern easy to grasp. However, @grandpasp discovered that there are three anomalies. The shades 120, 168 and 240 do not follow the pattern. The reason for this is as of yet a mystery. ✦ ✦ ✦ Related links ✦ ✦ ✦ Although this project demonstrates that you cannot get exact results when scanning colors directly, @Geotale and his friends (see his project notes) came up with a very clever workaround that is also incredibly fast: https://scratch.mit.edu/projects/643721525/ Then @griffpatch made a really great tutorial based on that: https://youtu.be/3lz1nylUHiY ✦ ✦ ✦ Credits ✦ ✦ ✦ Thanks to @grandpasp for the original project Test Color Scan: https://scratch.mit.edu/projects/819120962 The background for that project is the following discussion: https://scratch.mit.edu/projects/788484442/#comments-324247396