From: Jacob Peck <[email protected]>
 To: [email protected] 
 Sent: Friday, February 12, 2016 8:40 AM
 Subject: Re: Leo reimagined: a tree/dag/view for every attribute!!!
   
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?

My take after Edward's last comment, is there's *one* new attribute, 
'view_mode' or whatever, and a different set of connections between nodes for 
each *value* of that attribute. Values might be "base_tree", "scroll_bug", 
"todo", etc. depending on what you're trying to focus on.
Cheers -Terry


 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 
<[email protected]> 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 [email protected].
 To post to this group, send email to [email protected].
 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 [email protected].
To post to this group, send email to [email protected].
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 [email protected].
To post to this group, send email to [email protected].
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