I have also been developing a Wasm UI framework first with canvas2D and Go, but the wasm was too big, and now using Zig and WebGL. But yes, fonts/text is a pain with GPU, all that power and you'd think by now you could upload a font to the GPU and call drawText(x,y). I thought about a shader for that, or custom svg renderer, but probably months of work, and now thinking to layer a Canvas2D over the WebGL and keep the font rendering on the browser side and let it do its z compositing, but probably lose a lot of the performance benefits of a pure WebGL UI... And I already found a bottleneck trying to render animated SVG onto a texture map that results in a copy back each frame, and yet 'video' can be rendered to texture directly by blit... frustrating. Almost thinking bare metal PI fb development would be more fun :)