Hey, thank you for such long and detailed feedback.
I can explain a little bit about the undo if you would like to have a little look behind the curtain:
It is like this both as a design choice, but also it has a technical factor. Basically, I don't expect many mistakes to be made more than ~5 moves before, as the game usually doesn't let you progress further if you made a mistake that long ago. This is however not true in the later parts of the game, where indeed you might've made a mistake ~20 moves ago. That being said, with the whole world being connected and continuous I can't just let player restart a level. In that case what would they even restart? Current cube that they are inside of? It can't be this way because the cube affects other cubes(worlds), so reseting just one doesn't really work. This could also lead to exploits where you can re-arange stuff inside of a cube, get out of it and then restart the level for it to fall into a position that it started at, which might not be available anymore due to some moves done.
Long story short: Due to the technical implementation and some design decissions, you can undo to the very start of the game which I think is super cool, but you have to do it move by move.