Spent a few days prototyping a UI for Easy Diffusion v4. Files are at this repo.
The main focus was to get a simple but pluggable UI, that was backed by a reactive data model, and to allow splitting the codebase into individual components (with their own files). And require only a text editor and a browser to develop, i.e. no compilation or nodejs-based developer experiences.
I really want something that is easy to understand - for an outside developer and for myself (for e.g. if I'm returning to a portion of the codebase after a while). And with very little friction to start developing for it.
It uses Vue, but directly in the browser. I use vue3-sfc-loader to allow the UI to be divided into separate component files, without requiring compilation.
I got a basic tabbed interface shell working, and laid out the foundational data structures, and tested that plugins could add new tabs as well.
Next, I'm going to experiment with PrimeVue for fleshing out a simple UI. I looked at quite a few UI libraries (including classic Bootstrap), and PrimeVue seems closest to my own mindset - like if I designed a UI library, it would look a lot like PrimeVue. And it seems to have most of the components that I require.