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.