You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jul 23, 2019. It is now read-only.
I'm not sure whether this is a "can be addressed later" issue or a "should be considered in early designs" issue, hence this.
One of the distinctive features of advanced editors e.g. vim is the history tree, that is, recognising that undo/edit history is sometimes not linear and handling that natively. Atom doesn't do that, but perhaps XRay could? It can still be presented as linear by default.
This might also be a consideration with a multi-player editor, i.e. should each user have their own history, the global history, or some mixture of the two?
Anyway, is this something you've thought about or will be?
The text was updated successfully, but these errors were encountered:
The core data structure powering xray is a CRDT where every fragment in the tree represents an insertion that some local or remote user has made in the past. By its very nature, this data structure allows to undo and redo the effect of any insertion, independently of when such insertion was made (i.e., the history can be non-linear). As a result, we can support a non-linear history in the local scenario as well as a per-user (or global, or a mix of both) history in the multi-user scenario.
So, to answer your question, I think architecturally this leaves the door open to support all kinds of cool history navigation. We haven't really sketched out what a coherent user experience for non-linear navigation would look like, but it's definitely something that we have thought about doing in the past. Considering that the data structure already supports such use cases by design, I wouldn't exclude that a more advanced non-linear history UX could also be provided by an extension as opposed to offering it by default in core.
I'm not sure whether this is a "can be addressed later" issue or a "should be considered in early designs" issue, hence this.
One of the distinctive features of advanced editors e.g. vim is the history tree, that is, recognising that undo/edit history is sometimes not linear and handling that natively. Atom doesn't do that, but perhaps XRay could? It can still be presented as linear by default.
This might also be a consideration with a multi-player editor, i.e. should each user have their own history, the global history, or some mixture of the two?
Anyway, is this something you've thought about or will be?
The text was updated successfully, but these errors were encountered: