jsa-aerial / saite

Interactive document creation for exploratory graphics and visualizations. 咲いて (in bloom). Built on top of hanami vega/vega-lite library with CodeMirror and self hosted ClojureScript
MIT License
138 stars 4 forks source link

Save Saite dynamic work / note book #1

Closed jsa-aerial closed 2 years ago

jsa-aerial commented 5 years ago

Save a current 'live document' (Saite explore/work session) to file storage.

  1. Save per session with a given file name. Sessions will be able to save multiple such named snapshots. All artifacts (including session name, tab layout, tab content, visualizations, annotations (picture frames), etc. should be saved so as to be reproducible in form, content and activity.

  2. A saved document can be reloaded at any time to bring the session back to the content and actions at time of snapshot

  3. Saved documents should be simple data, supporting simple sharing and exchange.

Since Saite is a Hanami application, and all presentation aspects of a Hanami application are specified completely in terms of data (including meta information such as how to render, annotations, layouts, etc), this is looking to be a reasonably straightforward data transformation exercise. The basic idea would be to keep a 'log' of current layouts in their fully realized data representation. So, no template transformations, etc would be needed to reload a document. Loading then would simply be 'replaying' the log of data messages to recreate the DOM at time of snapshot.

jsa-aerial commented 2 years ago

This has been available for a long time now