After doing a few experiments with HTML+web based Leo outline viewers (and realizing that for a relatively large tree, the rendering needs virtualization of a subset of the visible nodes only, and that having DOM elements for ALL nodes of the outline destroys performance!)
I've decided to put docutils-ts on the side for the next few days: I'll be working on another javascript version of Leo that will be web based, but opposite to LeoJS it is NOT embedded in vscode, nor will it edit files directly on github.
It will instead allow for usage with local files on a computer or even even imported directly from a github repo or anywhere else, but will save/write files to local files on the computer.
But since being web based (i.e. in the browser) it needs permission for individual file access.
This implies that after opening a Leo file, to then import or write external files it will be required to 'right-click' on a node and choose 'write external file' / 'Refresh-from-disk' on any @<file> node you want refreshed / written. (it would not be automatic upon save/load of an outline)
(maybe I can get the permission per folder instead - we'll see)
For now It's at the tech demo stage: I've not yet reused LeoJS implementations of the proper classes (vnodes, positions, commander, etc.) It' just a dummy/dumbed-down acyclic graph engine under the hood while I finalyse the GUI implementation, keyboard+mouse interactions. (It will of course use the same LeoJS classes sources after that's done)
What's the main benefit ? -> That GUI is quick and responsive like the original Leo!
... and it's a cool weekend project!
(link and github repo coming soon)
Félix