                                      has (:objects cfg)
                                      polys (apply concat (vals (:seen-polys wld)))]
                                  (sab/html [:div {:style {:backgroundColor "blue"
-                                                          :width           container-w
-                                                          :height          container-h
+                                                          :width           (+ container-w 20)
+                                                          :height          (+ container-h 20)
                                                           :position        "relative"
-                                                          :overflow        "auto"}
+                                                          :overflow        "scroll"}
                                                   :onScroll
                                                          (fn [scroll-evt]
                                                            (let [n (.-target scroll-evt)]

        f (.createFactory js/React c)]
    f))

(defn num-changer [world label key]
  (sab/html
    [:label {} label]
    [:input {:type     "number"
             :key      key
             :value    (key @world)
             :onChange (fn [evt]
                         (update-world! world
                                        (fn [w]
                                          (println "set" key "from" (key w) "to" (.-value (.-target evt)))
                                          (assoc w key (.-value (.-target evt))))))}]))

(defn edit-controls [world]
  (sab/html (num-changer world "World Width" :width)
            (num-changer world "World Height" :height)
            (num-changer world "Scroll X" :scroll-x)
            (num-changer world "Scroll Y" :scroll-y)
            (num-changer world "Camera Width" :camera-width)
            (num-changer world "Camera Height" :camera-height)))

(defn rererender [target]
  (let [w @world

                   :walls (:walls new-world)
                   :seen-polys {}
                   :explored #{}
                   :seen-configs #{}
                   :width (:width desc)
                   :height (:height desc)
                   :scroll-x (if (>= (:scroll-x w) (:width desc))
                               (:width desc)
                               (:scroll-x w))
                   :scroll-y (if (>= (:scroll-y w) (:height desc))
                               (:height desc)
                               (:scroll-y desc)))
        w (update w
                  :configs
                  (fn [cfgs]
