What stands out the most to me are all of the thoughtful options you provide. While watching the video (which itself is the ideal way, in my opinion, to demonstrate this) I would say to myself: "Ah. Nice feature. It would be even better if it had X." And then a few seconds later, you demonstrated X.
Only someone who's been through the process of building a tool (like a macro or application) could know all of the little features that make life easier as you use it.
Superb.
For some other time:
I think you would benefit from using a frontend framework like Svelte. It would probably save you from having to write a lot of UI code (especially everything related to state) that has already been refined and made easy-to-use by hundreds of contributors.
Thanks. I've used drameworks before, and I'm not against them. KMFAM uses Bootstrap, for instance. But this started out with the intention of being something small, that could sit in a Custom HTML Prompt all by itself. But scope creep, they name is "Hey, I wonder if ChatGPT can help me do such-and-such...".
Still, I'm retired and this has been very rewarding to write - much more so than if I had used a framework.
But Svelte itself (like React) is not quite analogous to Bootstrap.
Svelte on its own doesn't not provide any UI or styling. It only helps manage it. You would still be doing a ton of JS programming (with the help of ChatGPT). It would just "smooth out edges", reduce boilerplate code, and make managing things like variables, state, and reusable elements more concise and easier to read. Which, ideally, will make it simpler for your future self to fix bugs and add features.
If 'single', creates just one .js bundle and one .css file containing code for the entire app.
If 'inline', inlines all JavaScript and CSS of the entire app into the HTML. The result is usable without a server (i.e. you can just open the file in your browser).
So you can develop in the preferred way (using multiple components/files and imports/exports) and ultimately output either 3x files (html, css, js) or a single html file.
This post briefly describes using Svelte with KM + Custom HTML Prompt: