Hi Edward,

Fascinating stuff. I'm unclear on one thing though -- what you mean by 'attribute'. Is this just some arbitrary, user-definable key that would act as a name for a particular view/colored-thread?

UI would be of paramount importance in this scheme -- there's lots of places visually and conceptually such a powerful idea could go terribly wrong. If you hide all the information that isn't immediately relevant (i.e., show only the black-thread DAG with no visual indication that there are other threads available) then you can lose a coherent view of the whole document. If instead you show all the info at all times, you /will/ overload the user, and as a result turn even more people off of Leo at first blush. A happy medium would be one active attribute, with small visual hints that others exist, with some set of convenient key-bindings to switch between them, list them, etc. I imagine a combobox much like the Chapter control would help with this immensely.

One thing that comes to mind as being potentially tricky -- how does saving external files work? Would the save command create all valid files for all valid attributes/views, or would it save only the current view? What if there are collisions -- i.e. multiple views creating the same file with different contents -- which attribute would take priority?

I thought of a potential use case, if scripts were allowed to be created in one view but called from another: the 'exec(g.findTestScript())' trick wouldn't be required to include shared code nodes any more -- simply create a new view for each script pulling in the nodes you need. In fact, this paradigm could extend to full projects, if flexible enough! The ultimate in write-once coding.

I'm genuinely intrigued by this new development.  Exciting times indeed.

-->Jake

On 2/12/2016 6:49 AM, Edward K. Ream wrote:
​​On Thu, Feb 11, 2016 at 6:20 PM, 'Terry Brown' via leo-editor <leo-editor@googlegroups.com <mailto:leo-editor@googlegroups.com>> wrote:

    Might be worth a look at the backlinks plug-in, which provides a
    mechanism and gui for superimposing a general graph on the tree.
    Graphcanvas plug-in is just another gui for the same mechanism.


​As I said in the original posting, the new scheme won't be used as a general graph.​


> Not ​
entirely sure I follow the 'attribute' part vs nodes,

​At the implementation level, v.parents and v.children ​get swapped in and out depending on which attribute is in effect for the /display/ of the outline. The drawing code stays the same! It doesn't know about the switcheroo.

​> ​
Also long ago I did demo navigation of a cyclic graph using a tree, not sure if that's relevant.

​I think that's something different, because the new idea gives, in effect, a set of layers (one per attribute). Each layer contains Leo's existing tree structure.

> ​
Also recalling the sea of nodes idea that's surfaced periodically.

​Thanks for reminding me of this!​ Iirc, this was B. H.'s (LeoUser's) suggestion. At the time he made it, I had no idea what it meant. But the Aha makes it perfectly clear. Yes, the "black" threading could be called a preferred view, but it's just as valid to think of each node as being /completely independent/ of all other nodes. Each node is an island in the sea. Each node can participate in arbitrarily many threadings/ trees.

​> ​
Interesting direction, for sure.

​To repeat what I said to Kent, the question I am presently asking myself is what my work flow would be in the new scheme. In some sense, I need a prototype, but I think pencil and paper will suffice. In fact, I am considering what keystrokes/commands I would use as an alternative to Ctrl-` (clone), etc. No conclusions yet. I won't do anything until I am /sure/ that the new scheme actually simplifies Leo for all users, including me.

Edward
--
You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to leo-editor+unsubscr...@googlegroups.com <mailto:leo-editor+unsubscr...@googlegroups.com>. To post to this group, send email to leo-editor@googlegroups.com <mailto:leo-editor@googlegroups.com>.
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to leo-editor+unsubscr...@googlegroups.com.
To post to this group, send email to leo-editor@googlegroups.com.
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to