This is partially just an announcement that NimGL now supports building projects with emscripten. You can try it by building my example game with the instructions in the readme. If all goes well you should see mr. jumpy penguin guy in your browser.
That being said, I think there's some kind of internal Nim issue because I can't get more complex games to run -- they experience "alignment faults" and other strange memory issues in the browser. I think it's related to using copy-by-value data structures like Table and HashSet. I made an issue with a minimal reproduction here: https://github.com/nim-lang/Nim/issues/17026
If anyone has the ability/desire please check it out. I think Nim can be really great for building wasm games because the C backend can easily hook into the existing Emscripten tools and produce really tiny binaries. Not to mention it's just a great language for making games in general :D
The main thing is that your native OpenGL + GLFW game can compile for the web with no code changes. The example project i linked to is an example of that. Emscripten just translates all the GLFW events to the equivalent browser events, and all the OpenGL calls to WebGL.
I am pretty sure wasm will be faster as well -- it will at least be parsed faster than JS. I have no idea how fast the code is when generated by Godot / Unity / etc but i'm just using thin libraries like GLFW and STB image, the perf is great so far...until i hit the alignment bug :D