                           animation-observable]
   (-> node-tap-observable
       (suppress-while-animating animation-observable)
-      (.subscribe #(js/alert "FOO"))))
+      (.subscribe (fn [node]
+                    (if (= (:projection @current-state) :fisheye)
+                      (zoom-in-to-pos! current-state (:pos node)))))))
 
 ;; Exported function to do magic
 

          (.append "line")
          (.attr "class" "link")
          (.style "stroke" "#C9CBCB")
          (.style "stroke-width" 3))
      (-> link-selection
          maybe-transition
          (.attr "x1" #(-> % :source positions :x))

  (if (= (:projection state) :fisheye) fisheye-projectors zoom-out-projectors))

;; D3 magic

(defn add-tap-listener [elem callback]
  (let [manager (js/Hammer.Manager. elem)]
    (.add manager (js/Hammer.Tap.))
    (.on manager "tap" callback)))

(defn sync-graph! [state & {:keys [animate?]}]
  (let [{:keys [svg
