Great question. To answer this, I implemented a D3 plugin for fisheye distortion . This is roughly based on previous work in Flare and Sigma.js, which in turn are based on the work of Sarkar and Brown, “Graphic Fish Species of Species,” CHI'92.
Here's a quick demo with the Misérables dataset. View the source code. I will record later today when I have time.
Note: this uses a static power layout; the layout is calculated at startup and does not change. I think this is probably what you want in combination with fisheye distortion, otherwise the distortion will compete with your ability to dynamically move nodes. But theoretically, you can combine them if this is what you want.
source share