Tom Larkworthy 2025-11-24 19:32:31 Been working on a different Agentic AI concept, but the Agent is under performing and coding and its not actually useful (unlike robocoop-2 which is good).
Switched to getting a nice way to remember state. Using IndexDB to persist across page refreshes and mutable FileAttachments to carry state between exports (localState).
Brought in ProseMirror to make a notion-like directly editable markdown interface (markdownInput), because its quite annoying to have to write markdown using a programming language and I want to write more in Lopecode.
Tom Larkworthy 2025-11-30 11:25:11 I forgot you can shadow Observable Runtime standard functions. So I redid the markdown editor. Its not a distinct function anymore, it overloads the md library function which means it applies to existing notebooks. It serializes modifications as code changes, so there is no difference in representation to the existing markdown.
The reason I implemented this was someone said they expected to be able to edit prose like in Notion, and I do personally feel the Observable experience is not great for the documentation part, as you have to write it in code which located in a different part of the UI to the bit your are reading, which is not natural. Inline editing feels much better. Very happy this can be achieved in userspace without any architectural changes and is backwards compatible to what has already been written.