Having seen some of the other posts here about various display rendering possibilities, something that could be really helpful for developers is supporting D3D11/D3D12/D3D11on12 APIs in WASM, with the gauge callback providing a struct to the necessary object pointers (In D3D11, the ID3D11Device, ID3D11DeviceContext, and ID3D11RenderTargetView for the active texture the WASM callback is connected to. In D3D12 it would be the ID3D12Device, ID3D12CommandQueue, and ID3D12Resource for the active texture. These D3D12 objects can then be used to create D3D11On12 objects for DX11's API's ease of use). I understand XBox won't allow for runtime compiling of shaders, but does allow pre-compiled shaders according to an Asobo dev I spoke to a few years ago. This would open up considerable capability for highly complex glass displays like Proline Fusions and other displays, as well as easier back support for developers that have their own proprietary DX based display rendering libraries.
NanoVG has its limitations as does GDI+, especially for batch rendering of numerous display elements (most often on maps, but can also provide more efficient rendering for tape and rose displays as well as text), and both only allow for 2D displays rather than custom 3D displays. Also, drawing complex items like terrain displays is highly inefficient and performance intensive when done with CPU based APIs compared to shader based.