Link of the puzzle:
I did this to try debuging my last testcase:
Well, it didn’t help much but I thought it could be fun to share.
It’s worth mentioning that JBM did a video version that you can find here:
(My bug was that I checked if the distance d of a collision was > 0 to avoid collision on the current wall but it was a dumb move. I replaced by d > 0.000001 and it worked like a charm.)