Not sure how intensive your rendering is, but I am using VTK C++ compiled to WASM which is running the rendering and interacting on the client side browser, which is working very well. I had a Windows executable version of my application utilizing the VTK C++ libraries and I was able to reuse 95% of that code to compile to WASM and run on the clients web browser. Check out this link:
https://gitlab.kitware.com/vtk/vtk/-/tree/master/Examples/Emscripten/Cxx