2025-06-26T18:24:19Z

Dorian Taylor

Preemptively compute the Sugiyama layout on the server side (asynchronously, of course) when the subgraph in question is changed, which can be cached and shipped out whole over the wire.

Sense Atlas Front End

Store layout data computed on the client side in local storage across requests; invalidate and recompute it if the server responds with new data.

The (coarse-grained) layout for the Sugiyama visualization only has to be computed when the state of the graph (actually, subgraph) changes.

The edge-uncrossing algorithm in d3-dag (and Sugiyama in general) is known to run superlinearly (how bad?) to the edges it has to uncross.