https://floooh.github.io/images/vscode-wasm-wasi-3.webp
There are a lot of advantages when you can tightly couple the UI with the guts of the emulator (e.g. everything in the UI automatically shows the current emulator state at full display refresh rate without having to worry about UI update and rendering performance or doing complicated "data binding", just point the UI to the memory locations of the "live data", and everything updates automatically).
PS: the Spectrum Analyzer is actually using emulators from that same 'chips project' (https://github.com/floooh/chips). Props for the shoutout :)
Here in the "sister project" there are some re-used windows from my debugger ui visible (https://colourclash.co.uk/cpc-analyser/), which I think is very cool because it shows how existing Dear ImGui code can be used as UI components (for instance I also re-used the hex editor from here: https://github.com/ocornut/imgui_club/tree/main/imgui_memory...)