So you can see where you've been thinking, store a full traversal history of link-follows. This could be displayed in any number of ways, but a graph or an outline leaps to mind.
I'm not sure if this is polluting the purity of your original idea but I think the concept of a meta-level note that only exists within the graph traversal space and acts as a commentary on that traversal might be useful
I have thought about there being 'metadata' you can associate with notes within can but I'm not there yet, there's still most of the basic functionality to do first hah.
along with that came the idea of being able to attach metadata to any
object
(to steal git terminology) in the notebook. Including links, patches, histories, etc. The idea being, if you can name/namespace the thing, you can attach metadata to it. Unison does this pretty well. Any namefoo.bar
can have an "object" associated with it, while still allowingfoo.bar.baz
to exist. I think so long as this isn't treated as a hierarchy by any tools, except to determine if things have metadata attached, it should be fine. Possibly a fixedfoo.bar.meta
namespace instead, to restrict it? I've not fully thought through namespaces forcan
yet. Unison is especially interesting here because it was the original inspiration for howcan
works under the hood.Ideas about how the core notebook should work and the things it should allow I'm trying to keep in that todo list, with this around the visualisation and interaction with that core. But there's definitely some cross-over here...I'm still feeling out the boundaries. I'll likely make "namespacing" and "metadata for namespacing" tickets over on that board just so there's something to refer to (feel free to comment over there too, but it's mostly nitty-gritty right now)
added namespaces and associated a ticket around namespaces and metadata.
oh, hey - references work between
todo
projects. Didn't need to manually do that after-all. Nice.