The images the bot analyzes are sometimes from White player’s point of view and sometimes from Black player’s point of view, and the bot has to somehow guess that to correctly analyze the position.
Previously, it was using a very simple heuristic - it was looking at the placement of the kings deciding that White moves up the board when White King is on a lower rank than the Black King. This heuristic works well in the opening and middle game phases, but it very often gives wrong results in the endgames.
Many people was complaining when the bot was wrong about the board orientation, and for a good reason!
So finally, the bot recognizes board orientations as we humans do - by reading the board coordinates!
What if there are no coordinates on the board?
If there are no coordinates on the board, or there are very hard to read, it looks at number pawns blocking each other on the same file. This heuristic is pretty accurate. Finally, if there are no enough pawns to determine that, it looks at the kings position as it was doing originally.
What about the browser extensions?
This change also applies to chessvision.ai browser extension, both for Chrome and Firefox. So now when the extension is used an board orientation mode is set to “predict”, it will read the board coordinates and decide based on that.