I haven't been able to figure out exactly what the cause is. Some background:
When I receive zoom events from d3js, that library calculates both a scale factor and appropriate translate values so the mouse cursor remains at the center of the zoom effect. I do not really use the scale factor to feed a tranform on the complete graph. I only do this as long as zoom events keep being fired (zoomInProgress). During that time, the cursor actually remains at the center alrigt. But once the mouse wheel stops turning, a complete render() is called, the nodes' positions are re-calculated based on the scale factor supplied by d3js and the scale() transform is removed. At this time, the hierarchy often jumps a little.
I haven't been able to figure out exactly what the cause is. Some background:
When I receive zoom events from d3js, that library calculates both a scale factor and appropriate translate values so the mouse cursor remains at the center of the zoom effect. I do not really use the scale factor to feed a tranform on the complete graph. I only do this as long as zoom events keep being fired (zoomInProgress). During that time, the cursor actually remains at the center alrigt. But once the mouse wheel stops turning, a complete render() is called, the nodes' positions are re-calculated based on the scale factor supplied by d3js and the scale() transform is removed. At this time, the hierarchy often jumps a little.