Emscripten
Emscripten uses LLVM to adapt native code, OpenGL-style graphics, filesystems, and threads to browsers and JavaScript.
Why use it
It ports existing engines and libraries to the web while reusing much of the native code and build assets.
Where it fits
Find engines, frameworks, code libraries, version control, and production automation.
What to check
Browser security, download size, thread headers, and API differences affect ports, so test real browsers.