In this methodology, without exposing the tree, how does the user select between the two branches created after the butterfly is squashed? It seems like Google Docs does it in an intuitive way where undo / redo works normally, but there’s another time ordered history of the document to select from. Is this what the author’s approach is advocating?
state 1
* change A
state 2
* change B
state 3
* undo B
state 2
* change C (the "butterfly squashing")
state 3a
* undo C
state 2
* undo
state 3 (!)
* undo B
state 2
* undo A
state 1
The traditional editor would differ by putting you right at state 1 at (!), blocking your access to state 3.