The design and implementation of an Open Source animation tool.

July 13, 2007

Saving and Undo

Since most of the meat of the project is spread across a large number of separate asset files, I'm not sure it makes sense to have a global "save" or "undo". Probably, each tab in the editor pane should keep its own undo history while it is open.

Changes in each editor pane should be visible elsewhere immediately (at least within the same Moing session), but won't actually be committed to disk until that particular tab is saved (if you close a tab without saving, you'll be given a choice between saving or reverting).

If you close Moing with tabs unsaved, there should only be a single save/revert/cancel prompt covering all the tabs together; presenting 20 such confirmation dialogs if you have 20 modified tabs open would simply be obnoxious. (If you need finer-grained control, you can always hit cancel and close some tabs individually before exiting).

Should there be some kind of global or persistent undo history? Perhaps. But I think that if we eventually provide it, it should come in the form of integration with an SCM, probably git.

No comments: