@LorenzoGatti I do not believe the above is correct. Going with your example, while it is true that A and B overlap on the axes of A, they do not overlap on all the axes of B. The below example illustrates a separating axis, showing that the shapes do not initially intersect.
![](https://uploads.gamedev.net/forums/monthly_2020_05/1ce9858d4f60459e87c374cca432d0c4.image.png)
I think your example neglects to do a test for for the edge normals of B (as well as the edge normals of A). As such, I still believe that my algorithm does work for any convex shape, so long as all the potentially separating axes are checked.