You can clone with
we had a action based undo / redo, which was very problematic. for every action we had to define undo and redo methods. then we switched to a time based undo / redo , which saves the graph state every two seconds. this makes it easier to write new actions and extensions, but still is not finished.
currently it save the graph state in json. it can be other things like our new simplegraph format. we should think about a good format, and the rest is almost done. the code is at:
UndoManager, UndoAction, RedoAction