I would like to lay out and (re)arrange my notes on an infinite canvas, similar to laying out a bunch of index cards on a table. Physically arranging and re-arranging ideas/notes is a good way to develop a sense of associations between ideas.
I imagine assigning an org-entry to a canvas in the PROPERTY drawer. Once assigned, this entry shows up on a graphical view of the canvas (e.g., similar to how org-protocol and org-roam-server currently show a directed graph). The graphical interface would allow notes to be moved around. The xy-position of each node is recorded back into the PROPERTY drawer of the org-entry, preserving the graphical layout of notes for further editing and ideation.
An entry could be assigned to different canvases. In each canvas, an entry would have a X,Y positional value. If/when two notes are assigned to the same canvas and happen to have org-ID links between them, those links could be drawn with a connector on the canvas (with a toggle to turn on/off display of links).
It feels to me like org-roam-server and org-roam-protocol could be reshaped toward this type of graphical interaction with notes.
I understand this is non-trivial, but I wanted to express the idea and see how people feel about it. I am curious to see if others have found an urge to lay out notes in this way. Also, are there packages out there that could address this idea?
EDIT: Scapple is a rudimentary example of a canvas. A far more advanced version is Tinderbox. In the initial version of
org-roam-canvas, we might imagine each entry/header is represented by a circular node, with a hover-to-preview feature (as in org-roam-server). In later versions, one could get to a point where each node could have a shape that is resizable, shows a small snippet of body text, and so on. Even more advanced features (as in Tinderbox) could include drawing links from one note to another on the canvas and have that recorded back into the entry in the org file.