I think many of us have had a similar vision for development and development environments. I have long dreamed of this kind of omnipresent "history" integrated into every aspect of computing, but it never seemed to show up. Now you've demonstrated the power it holds.
I envisioned this and in addition "saving" as simply tagging one of these revisions. Your demo is missing a powerful demonstration of this feature, the "over the shoulder" demonstration. What is required is a "play" button. If you slide the outline slider back in time and then provide a play button which moves the slider forward after a time increment as well as visually jumps to the largest changes you can "look over the shoulder" of a developer as they develop. Even without a play button, a check "jump" box which if enabled would jump to the largest change when sliding the outline slider would be nice. Great work, there are countless possibilities here. On Monday, July 29, 2019 at 3:11:17 PM UTC-4, vitalije wrote: > > It has been a very long time since I've got this idea of combining Leo > with fossil. For all these years I felt that there was a great potential in > this mixture, but I haven't got the time to do anything about it until > recently. > > Fossil uses an extremely good algorithm to calculate the difference > between two texts. And the deltas produced by this algorithm are very > compact and nice to work with. If the input texts are texts, than the delta > is also a plain text. I have ported this algorithm from C in which fossil > is originally written, to Rust programming language. The ported code is > published on crates.io as fossil-delta > <https://crates.io/crates/fossil-delta>. Using this library, I wrote a > small web server which accepts snapshots sent from Leo periodically at idle > time and calculates the delta between the previous one and the current one, > and stores those deltas in the sqlite database. The server also serves > small web application that allows user to browse history of any recorded > Leo outline. Using two scale widgets user can choose any recorded version > of the outline shape, and history of the selected node. > > Sending snapshots from Leo is done by the plugin which keeps track of the > time passed since the last Leo command has been executed. When 5s pass > since the last executed command, Leo calculates the snapshot and if it is > different than the previous one it sends it in separate thread to the > server. The whole process is almost unnoticeable by the user. The server > stores the deltas in the database file (one database per Leo outline) which > is located in the same folder as the Leo document, and has the '.history' > appended to its name. For example: outline test.leo will have it's history > stored in the database test.leo.history in the same folder. > > Below is the link to the video demonstration (if you have read everything > above you can skip to the 3:00). There are some issues with the sound which > I couldn't fix, but there are captions in English. > > The demo <https://youtu.be/apqc1iri1hA?t=174> > > Vitalije > > PS: the outline is about 210Kb, and database with about 625 recorded > versions is about 450Kb. Those 625 versions were recorded during the 30 > hours time span. > > -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/leo-editor/254ce0d7-571a-4631-988a-43a9f368e113%40googlegroups.com.
