Question about interactive animation [Robot Arm]

Hi,
I am looking for advice on getting the right tool for animation: visualization of a robot arm in a browser, so that it can be used for education purposes. One that will be much more simpler than this three js project:

This is a demo with Bokeh, which might be somehow relevant (without active adjustments, though)
https://demo.bokeh.org/surface3d

I am looking for animating around 200k traingles total of 18 rigid bodies at 30fps.
Demo idea: Robot arm draws an ellipse. GUI sliders can change the parameters of the ellipse so that the robot adjusts its motion and keeps drawing. User can also change the camera viewpoint.

The robotics math is all set, I am looking for implementation advice. Where should I start, what is the right approach? It looks like I need Bokeh ColumnDataSource to the VisJS Graph3d library.

I am missing some technical terms for sure, but I want it to be working on a website I host myself and be able to provide independent animations to a few concurrent users.

I am coming from Matlab, where “high-performance” animations like this were done through sending transformations of solid meshes directly to GPU.

Thank you for your help and support!
Regards,
Jakub

I have to be up front and state that I think Bokeh is almost certainly not the right tool for this use case.

The VisJS example is, first and foremost, an example of writing a custom extension. It is not meant to add 3d capabilities to Bokeh in any real sense, and in fact, VisJS mostly seems like a toy library. I don’t think it will support anything close to what you show above. So you would need to write a custom extension for some more sophisticated and capable 3d JS library, which itself will be a very non-trivial amount of work.

But most problematic is simply the data size. With a Bokeh server app, to update things all that data would need to go over the network, all the time. So, many megabytes 30 times a second serialized and deserialized and then used to render. I am just skeptical in the extreme that you will get the performance you want in the end.