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.