3D Renderer
There are existing 3D Renderers. The ones that are often used in conjunction with Python related projects is Plotly. However, not all the feature functionality that Plotly has to offer is available in its SVG based implementation is also available in its WebGL based implementation. For reference, WebGL and WebGPU are the libraries that enable fast rendering in the browser. Another common library for visualizing data is matplotlib, which can be used for recording videos of 3D data. However, I wanted something dynamic, simple and animatable.
Suggested Solutions
The top results when searching for Software that does just that are not easily accessible via the browser. ChatGPT suggested Potree, 3D Tiles and Sketchfab and while those are usable to render 3D points, they did not include the functionality I needed.
So I created my own.

A 3D Renderer Tool for Animations
The web rendering site I created is based on DeckGL. DeckGL was open-sourced by Uber and is great as a higher level abstraction layer of WebGL.
The current implementation can be found here.
WebAssembly - Clustering and Convex Hull creation
To show clusters forming in the data I used WebAssembly in Rust. WebAssembly can run significantly faster on complex tasks and clustering thousands or millions of points is quite resource intensive. The main thread sends the request to WebAssembly using Web Workers within a React hook. Web Workers allow the creation of separate threads, which keeps the UI responsive.
The worker forwards the request to WebAssembly.
The clustering works with either two or three dimensional data. Once the clusters are formed, a convex hull is created. A convex hull is the smallest polygon that encloses all given points with straight line segments, in this case all points in a cluster. This is different from a concave hull, which can include inward-curving segments. Wasm-bindgen was used to generate bindings.
The final result is a hook that can simply be called from any React component.