I suspect that as a visualizer for an emulator, Bevy would be a reasonable fit. You could use Bevy UI or build your own for the emulator interface. You might want to build a custom shader to display emulator outputs. You could also consider doing a custom renderer in Bevy if you see the need. Theres also always the option of dropping down a level and using a graphics api like wgpu (which is the "low level" api we use under the hood that allows us to target Vulkan / DX12 / Metal / OpenGL / WebGL2)