I am looking to create a web-based viewer for some large 3D datasets (5+ GB). After looking through the Kitware product line-up and some forum posts. I was thinking about using vtk.js coupled with a paraview-web server for server side rendering, similar to this example:
Additionally, I would like multiple users to view and interact with the same 3D data together. Something similar to what the Paraview collaboration tool allows for. Would something like this be possible and if so, what would be the best way to go about this?
Indeed ParaViewWeb+vtk.js is a good bundle to achieve what you aim to do for both large-remote rendering and collaboration.
Also I will add that you may want to start with trame to get the gist of it in a quick and easy manner. Then if you really need to, you can create your own client side and connect to that same trame server that you built in your exploration time. (Nowadays, I don’t even build the JS side and fully rely on trame to build full feature applications in plain Python)
Regarding the collaboration, usually with PVW/trame we have 1 process running VTK or ParaView per user to ensure isolation. But in your case, you want several clients to connect to that same server process. In order to achieve that, you just need to share the same sessionURL across clients when deployed for multi-clients.
Also keep in mind that VTK on the backend could be enough unless you aim to run things with MPI.