Perché d3.js v3 infrange il grafico della forza quando si implementa lo zoom quando v2 no?

Ho un layout di forza che ho creato usando d3.js

Mi piacerebbe avere sia la normale funzionalità di un layout di forza trascinabile, sia la possibilità di zoomare.

Ho praticamente copiato / incollato il codice dello zoom da questo codice ( http://jsfiddle.net/nrabinowitz/QMKm3/ ). Questo è lo stesso metodo di zoom che Mike Bostock utilizza in questo esempio ( http://bl.ocks.org/mbostock/3680957 ).

Ecco il mio codice: http://jsfiddle.net/kM4Hs/6/

Come si può vedere chiaramente nel mio, lo zoom funziona bene, ma non riesco a selezionare singoli nodes nel layout della forza e trascinarli.

Ho trovato il culpret per il fatto che entrambi gli altri autori usano d3.v2.js piuttosto che il più nuovo d3.v3.js che sto usando. Quando cambio la mia importazione in v2 funziona perfettamente. Tuttavia, nell’interesse del progresso e solo di un generale buon senso, mi piacerebbe usare la v3 se ansible.

 versus  

Due domande: perché v3 rompe il layout della forza quando la v2 non lo fa e, cosa più importante, cosa posso fare, se non altro, per risolverlo?

Grazie in anticipo!