I see this peoblem as a scheduling problem. The result heavily depends on the order the points are moved.
Currently the code provides 3 schedulers: FIFO, FILO, and mode3.
The simulation results show the trend of having infinite steps, which indicates the goal is impossible to reach.
However, there might exist a specific scheduler that could solve the problem.
If not, please add your formalized proof :)