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.