I feel things work most intuitively if the undo/redo functions simply navigate the history, but do not themselves form part of the history.
Re:Resolving the Great Undo-Redo Quandary
by unholiness on Friday November 11, 2022 @10:25AM
(#33561949)
That's how every other undo works. The whole GRUQ is caused by undos not themselves forming a part of history...
Re:Resolving the Great Undo-Redo Quandary
by TuringTest on Friday November 11, 2022 @11:25AM
(#33562770)
That's it. You can think of an undo operation U at time (t) as a new simple command that rolls back the content to a previous version (t-x). If you undo that U operation, it's a new command U' that restores content again to version (t).
The history sequence would then be:
(t) --U-> (t-x) --U'-> (t)
And if you add (A) some new content (c) when in state (t-x), it becomes command , which can itself be undone with commands U'' (to remove A), U''' (to remove U):
(t) --U-> (t-x) --A-> (t+c) --U''--> (t-x) --U'''--> (t)
Re:Resolving the Great Undo-Redo Quandary
by hackmiester on Friday November 11, 2022 @11:31AM
(#33562856)
>every other undo
Ahhhhh, some time you should try a little app called Adobe Photoshop.
That means silently killing off potentially large amounts of editing history every time you edit after an undo. That's the problem this article is about.
I was thinking maybe you ignore it for the first 10 seconds or even better until the cursor changes to a new position, thqt way quick rewinds work in the moment. But later on you can restore the state with undos factored in.
Never considered that.