Playing around with a faux hash system for file naming.
Each bit of work is saved as a file whose name is a hash of the file. The file also contains the previous state of the document in the form of a =[2s4TiZ7dE..] link to the previous state. The new file could contain only the modified key/values (for this we need to add a formal way of eliminating a key/value). This would happen automatically in an Xray editing view since only the edits are created by the user interaction.
Here are a few pretend hashes (numbered sequentially to make it easier on me).