    :view-size (math-vec width height)
    :camera-pos (math-vec 0 0)
    :nodes []
-   :edges []})
+   :edges []
+   :projection :fisheye}) ; Can be :fisheye or :zoom-out
 
 (defn swap-state! [current-state f & args]
   (apply swap! current-state f args)

      (.filter #(< % 0.5))
      (.subscribe #(js/alert "TODO: zoom out"))))

;; Exported function to do magic

(defn ^:export inhabit [selector]


(defn move-camera! [current-state d]
  (update-state! current-state :camera-pos add-vec d))

(defn set-projection! [current-state projection]
  (swap! current-state assoc :projection projection)
  (sync-graph! @current-state :animate true))

;; Layout

