We should be able to revert back to any position that the debugger is in.
In past prototypes, we have called this concept "savepoints", "bookmarks", or "checkpoints".
Savepoints have coordinates of <event loop input, breakpoint, debugger walk>.
The algorithm is:
0. During normal replay, keep records of how many times a breakpoint is hit per event loop input.
1. replay to the preceding event loop input and pause playback
2. enable the debugger and set the preceding breakpoint which was hit
3. unpause playback, then that breakpoint
4. replay the series of debugger commands that led to the terminal state.
This feature may be split into smaller bugs. It requires no new backend support.
This could possibly be messed up by promises not working when the inspected page is paused.
Closing web replay-related bugs until we resume working on the feature again.