Yesterday, sitting in the bathtub, I saw a principle that simplifies 
everything:

*Visualization is the heart of what we want*

To emulate the look of a jupyter notebook *we need only aggregate the 
rendered output of several nodes into a single VR pane*.  This is kinda 
what VR2 does.  It can and should be improved.

So the VR plugins are key to future work. *Conceptually, it's as simple as 
that*. The implementation is worth *any *amount of work, perhaps even 
including #565: Use pygments for syntax coloring 
<https://github.com/leo-editor/leo-editor/issues/565>.

The rst3 command also relates to visualization. We should be on the lookout 
for ways to improve it too.

*Leo's services support visualization*

Leo's services are already far richer than org mode, vim, emacs or jupyter:

- Leo's DOM (outline DAG) and API (programming interface).
- Leo's directives.
- Leo's plugins, especially todo.py, mod_scripting (@button), 
valuespace.py, etc.
- Leo's code, especially syntax coloring.
- Leo's commands, like abbreviations, etc.

To this list we probably need to add *only one more tool*: access to 
jupyter kernels.

It should be possible to do *better* than jupyter/ipython in several ways.  
For example, instead of ipython's numbered in/out cells, we could use 
descriptive strings:

@render # render previous computation
@render experiment-1 # render the results of @language python 
name=experiment-1
@render topic-->simulations-->simulation-2 # Use outline structure.
@render topic.simulations.simulation-2 #Ditto.

Maybe @out would be better than @render.

*Summary*

There is no need for grand new visions/manifestos for Leo. 

1. Leo's separate VR pane eliminates the need for the clumsy cell-type 
dropdown box in the jupyter notebook. Leo provides both the raw source and 
the rendered source at all times. All we need to do is render multiple 
outline nodes in the VR pane.  This is kinda what the VR2 plugin already 
does, but (iirc) less support for jupyter content.

2. Leo's valuespace plugin already provides live, ipython-like objects.

3. The following projects come to mind:

- Improve the VR plugins so the rendered output of a *tree *of Leo nodes 
looks like a jupyter notebook.
- Add convenient access to jupyter kernels.
- Add or enhance directives to support org-mode features.
- Add or enhance directives to split body text into different *rendering *
regions.
- Be on the lookout for features that might improve the rst3 command.
- Improve support for the valuespace plugin.
- Finish/improve plugins supporting org-mode tables, etc.
- Better visualization of attributes, the "hidden" part of Leo nodes.

This Aha arose indirectly from the realization that Leo's existing org-mode 
importer is good enough.

All comments welcome.

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.
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