I frequently want to make large changes to a diagram while preserving the ability to see what the previous structure was. Right now, in order to do that, I need to clone the diagram, and add some suffix like "[topic-name]-refactor".
One consistent example of this is after a discourse session - wanting to preserve what we had at the end vs refactor it afterwards.
Another example is when showing the difference between two ways of organizing the same information - like entirely via a claim tree vs using structure nodes.
Solution you'd like
Probably #371 needs to be done first
Ability to create/load/delete/rename snapshots would be good, maybe a Snapshots section could be added to wherever History lives. Loading a snapshot would get all the nodes and edges from that specific point in time and populate the diagram with those - to be interacted-with view-wise as if it were the current diagram (without editing - if you want to edit, download the diagram and re-upload).
Questions
Should snapshots be taken manually, or also automatically? Could do 1 every X (100?) changes
routine snapshots don't seem necessary if there's already a history you can click through
Alternatives you've considered
Potentially adding tags to mark points in the history could also work, but it would be good to enable users to easily see all the snapshots, and not have to scroll through 100s or 1000s of non-snapshot changes.
Additional context
No response
Technical ideas and questions
One idea:
Add "created_at" and only create new records, never update
All reads need to group by UUID and get the latest one
Topic Snapshot just consists of a name, a topic id, and a time
Loading a snapshot would call GetData endpoint with a time, which pulls all records based on created_at <= time
Describe your issue
I frequently want to make large changes to a diagram while preserving the ability to see what the previous structure was. Right now, in order to do that, I need to clone the diagram, and add some suffix like "[topic-name]-refactor".
One consistent example of this is after a discourse session - wanting to preserve what we had at the end vs refactor it afterwards. Another example is when showing the difference between two ways of organizing the same information - like entirely via a claim tree vs using structure nodes.
Solution you'd like
Probably #371 needs to be done first
Ability to create/load/delete/rename snapshots would be good, maybe a Snapshots section could be added to wherever History lives. Loading a snapshot would get all the nodes and edges from that specific point in time and populate the diagram with those - to be interacted-with view-wise as if it were the current diagram (without editing - if you want to edit, download the diagram and re-upload).
Questions
Alternatives you've considered
Potentially adding tags to mark points in the history could also work, but it would be good to enable users to easily see all the snapshots, and not have to scroll through 100s or 1000s of non-snapshot changes.
Additional context
No response
Technical ideas and questions
One idea: