This PR adds a new feature to undo all progress since the game was in a solvable state -- that is, before any mistakes were made. This is in response to issue #43. This can be used if you realize you made a mistake but don't want to restart the whole puzzle.
This is implemented by first solving the puzzle, then undoing each action one-by-one, checking each step if there are any numbers entered that don't match the solved state.
Scenarios Tested
Verified undoing to known good state after entering an incorrect number.
Verified undoing to before a mistake when there is no mistake does not change the board.
Verified undoing to before a mistake does not restart the puzzle but keeps the in-progress state (notes are still present, existing numbers are still present).
This PR adds a new feature to undo all progress since the game was in a solvable state -- that is, before any mistakes were made. This is in response to issue #43. This can be used if you realize you made a mistake but don't want to restart the whole puzzle.
This is implemented by first solving the puzzle, then undoing each action one-by-one, checking each step if there are any numbers entered that don't match the solved state.
Scenarios Tested