Thank you for the feedback and your suggestion! A (partial) correlation network with Cytoscape.js is planned as one of my next experiments. A former colleague nudged me in that direction just a few days ago, and now you as well, so I'll probably have to build that next.
Great points! I think your point about the JS community is often overlooked. Electron et al have made desktop UI/UX considerations more salient in the JS world. Desktop-like experiences in the browser can be great.
This is usually because they are rendered in an animation loop (most three.js examples are set up like this). An example of rendering on demand only (this is even using fancy bloom post-processing): https://cybernetic.dev/helix/about
This reminds me of the recent SvelteKit Remote Functions GH discussion:
> Even in systems that prevent server functions from being declared in client code (such as "use server" in React Server Components), experienced developers can be caught out. We prefer a design that emphasises the public nature of remote functions rather than the fact that they run on the server, and avoids any confusion around lexical scope. [0]
This includes a correlation matrix with rolling correlation charts, a minimap, hierarchical clustering, time series detrending, and more. I've improved its design and performance and I'm developing new features to better contextualize the visible subsection relative to the entire dataset.
I've also rewritten the entire project in Svelte 5 (there's still a lot of cleanup to do).
I'm working on a correlation matrix with Svelte 5.
It has hierarchical clustering, rolling correlation charts, a minimap, time series data detrending, and 2D matrix virtualization (to render only visible cells to the DOM).
It has up to 130K matrix cells and correlates up to 23.5M time series data points.
https://cybernetic.dev/helix
reply