I want to create a react app, using as much browser side functionality as possible. However, it appears that vtk.js still has limitations (see vtk.js overview), thus using react with trame as an iframe seems like the best compromise. Is this assumption correct? Is VTK.js expected to reach parity with VTK python/c++? Does Trame actually have significant more functionality than vtk.js?
What are the tradeoffs between using trame vs vtk.js, and how would you evaluate them? For example, is vtk.js well-supported? What features does Trame support, but not vtk.js and vice versa?
First I would say that trame is a totally different beast than vtk.js.
Trame expect a server with a websocket connection. The server then can have access to VTK/C++ via Python to do anything you can imagine. Then trame provides widgets to expose the content of a vtkRenderWindow to the client (web browser) using various technologies depending on your needs (i.e. image delivery for remote rendering | vtk.js for local rendering | VTK.wasm for local rendering | ? …).
I would not expect vtk.js to ever catchup on all that VTK/C++ can do, but VTK.wasm could.
Depending on the scope of what you are trying to do, VTK.wasm could be a better match. But without better descriptions of your needs, it would be hard to tell.
If you want to learn more about VTK.wasm, you can look at that documentation website that is still work in progress.