π What's New
Collision Force
Screen.Recording.2026-06-13.at.8.03.15.AM.mov
A new GPU-accelerated collision force keeps points from overlapping β the missing counterpart to d3-force's forceCollide. Many-body repulsion acts on point centers and ignores radius, so it can't keep sized points apart; collision fills that gap.
It uses a spatial-hash grid rebuilt each tick (not naive O(nΒ²) checks), so it scales to large graphs. GPU resources are allocated lazily on first use, so graphs that never enable it pay no cost.
const config = {
simulationCollision: 0.95, // strength; 0 (default) disables it
simulationCollisionPadding: 2, // extra gap between point edges
simulationCollisionRadius: undefined, // 0/undefined β derive from size (size * 0.5)
}All three can be changed in real time while the simulation runs.
Tip: keep simulationLinkDistance larger than the combined radii of linked points, or springs pull them into an unresolvable pile.
See the new Collision and Collision Stress Test (50K points) stories for working examples.