I have been polishing the <Lopecode Tour> for subm...
# share-your-work
t
I have been polishing the Lopecode Tour for submission to Substrates 2026 workshop. Its a single-file self-serializing document/IDE environment. I presented this to FoC quite a while ago, but its been revised a lot. The major change is introduction of programmatic Agentic AI which critiques the notebook itself, lol. Its been quite helpful at finding grammar mistakes. There is a default demo endpoint for the AI which will allow gpt5-mini for free, subject to a rate limit, so you can try it. But also there have been zillions of glitch fixes and stabilizations, in particular the internal URL navigation works much better and the tour exploit this by popping open side panels to learn more about particular subjects. So the Tour is the initial map. Also I think I now have full coverage of Observable 1.0 syntax. I have support for import statements, including internal hyperlinking across them. Currently the tour sits at 2.9MB which I think is ok for a programming system. AI prompt tuning is ongoing, but it can now create new modules and write into them successfully. I use Lopecode's self serialization to open iframe clones of itself to do testing with AI in complex notebooks.
❤️ 3
k
Nice! Getting better all the time! Minor bug report: it doesn't adapt to window resizing. I saved a local copy and opened it in a small browser window (Librewolf). Then I made the window full-screen, but the the rectangle used by Lopecode for rendering remained the same.
I am impressed by the possibility to use Lopecode locally without a network connection (I just tested this). I have read long explanations in the TiddlyWiki community saying this is not possible any more with modern browsers. Are they wrong? Or is Lopecode using even newer mechanisms that weren't there in the TiddlyWiki heydays?
w
So gpt5-mini is good for checking grammar?
t
Have you got a link? Quite possibly by the "modern" keyword they might mean since native modules came about? The key tech is https://github.com/guybedford/es-module-shims which is transitively rewriting all the native statement "import" statements to the libraries internal "importShim" on the fly, with that in place you have total control over dependency resolution I fixed the resize thing. Thanks for testing it on Librewolf!
👍 1
So gpt5-mini is good for checking grammar?
Better than me for sure.
k
Thanks @Tom Larkworthy, resizing works fine now! All the TiddlyWiki discussions are in TiddlyWikis, so it's hard to give direct links. The issues are not about JavaScript (TW uses nothing else but JS scripts embedded in HTML), but with browser security features and restrictions on local file system access. Now that I think of it, what they want to do is save an edited file in-place, much like a document in a native app. What Lopecode offers is downloading a copy of the current state, so it's up to the user to manage different versions of the file. Maybe there is no more to it.
Suggestion: replace "_if you change name (edit link), the change cascades" by "if you change name (edit link) and press the 'run button' above the editor, the change cascades"._
Also: say somewhere that a "cell" is defined by an assignment to a variable.
And forking to a tab is really nice for experimentation!
The rotation floppy disk on the "fork" widget shows your age 😉
😂 1
I see both "Feeling of Computing" and "Future of Coding" in different places. Maybe we deserve a cell "FoC" in this work, so that we can changes names more easily 😉
After reading from top to bottom (with decreasing level of understanding because JS and its ecosystem is not my specialty), I tried to dive into some code. I picked the module explorer. Below the sun-style diagram, the edit button. Of, it's just "visualizeModules()". Must be from the input "visualModules". Click on that and... an empty tab opens, and stays empty.
Same for many, but not all, inputs. Clicking on their names opens nothing, or just an empty tab.
👍 1
t
yeah filed https://github.com/tomlarkworthy/lopecode/issues/125. So that's a bug in the editor-5 component which has not been polished like the tour and is lagging the new navigation functionality, but yeah, its actually important to understand how things connect...
yeah saving in place on the file system is hard. I will try to keep changes remembered across sessions via replay on local storage.
👍 1
I fixed a bunch of the internal link cases, but some are tricky so I leave the bug open. The main internal cell links now work, some imports, and even the builtins, but few stragglers. Thanks for the push Konrad!
👍 1
BTW its supposed to be git friendly so you can see the bug fix here https://github.com/tomlarkworthy/lopecode/commit/d3d7149c3f0f92d8859108f96b0cf2c96d473aea
❤️ 1