Tinderbox currently supports nested notes. The layout of these notes can best be controlled when “zooming” (hoisting?) into the containing note, rearranging notes within one level of the hierarchy.
Limitations of how this works today -
- accidental clicks on the parent container (while “zoomed out”) may touch one of the child notes, which can lead to a displacement of that child note (undo to the rescue)
- manipulation of layout (working as designed) requires a context switch (drill down)
- visibility of child notes is determined by changing the boundaries of the parent container (as well as the attribute that sets the global zoom/shrink factor applied to child notes displayed from a higher level of the hierarchy)
- adding child notes creates an initial positioning (x y coordinates) of the child note that is almost always wrong, as the drag & drop addition does not allow a precise positioning of the new child note within its parent (among its siblings at the same level)
- shifting the “view port” into contained notes for a parent is somewhat finicky and does not have an automatic “zoom to show all” or similar feature (that I could find?)
Alternative implementation considerations -
OmniGraffle allows for “subgraphs” that tied to the notion of a hierarchical outline. “Hoist” behavior occurs by selection of elements at a child level (which unlocks all elements on that level so that they can be changed). Subgraphs (per-level groupings) can be collapsed (to where only the title, where available is shown) and expanded as needed.
Tinderbox agents and attributes could potentially allow for dynamic graphs expanding upon the OmniGraffle concept by governing visibility based on logical expressions. In addition, both user determined layout as well as an automatic 'grid bag" behavior could be offered for larger groupings of nested notes.
Overall. the result would expand upon the current treemap view by combining its global perspective with the power of the more expressive map view capabilities?