   (main))
 
 (def default-world-desc
-  {:walls   #{{:type :white :x 0 :y 0 :w 256 :h 8}
-              {:type :white :x 0 :y 8 :w 8 :h 16}
-              {:type :white :x 96 :y 8 :w 8 :h 16}
-              {:type :white :x 160 :y 8 :w 8 :h 16}}
-   :objects #{{:id    :ga
-               :type  :goomba
-               :state :right
-               :x     8 :y 8}
-              {:id    :gb
-               :type  :goomba
-               :state :right
-               :x     32 :y 8}
-              {:id    :gc
-               :type  :goomba
-               :state :right
-               :x     12 :y 35}
-              {:id    :gd
-               :type  :goomba
-               :state :right
-               :x     64 :y 8}
-              {:id    :ge
-               :type  :goomba
-               :state :right
-               :x     96 :y 32}
-              {:id    :m
-               :type  :mario
-               :state :idle-right
-               :x     200 :y 8}}})
+  {:width         320
+   :height        240
+   :camera-width  320
+   :camera-height 120
+   :walls         #{{:type :white :x 0 :y 0 :w 256 :h 8}
+                    {:type :white :x 0 :y 8 :w 8 :h 16}
+                    {:type :white :x 96 :y 8 :w 8 :h 16}
+                    {:type :white :x 160 :y 8 :w 8 :h 16}}
+   :objects       #{{:id    :ga
+                     :type  :goomba
+                     :state :right
+                     :x     8 :y 8}
+                    {:id    :gb
+                     :type  :goomba
+                     :state :right
+                     :x     32 :y 8}
+                    {:id    :gc
+                     :type  :goomba
+                     :state :right
+                     :x     12 :y 35}
+                    {:id    :gd
+                     :type  :goomba
+                     :state :right
+                     :x     64 :y 8}
+                    {:id    :ge
+                     :type  :goomba
+                     :state :right
+                     :x     96 :y 32}
+                    {:id    :m
+                     :type  :mario
+                     :state :idle-right
+                     :x     200 :y 8}}})
 
 (set! heval/frame-length (/ 1 30))
 (set! heval/time-units-per-frame 10000)

              (not= (:now w)
                    (:now last-world)))
      (set! last-world @world)
      (js/React.render (world-widget world nil) target)))
  (.requestAnimationFrame js/window #(rererender target)))
                  :configs         []
                  :seen-configs    #{}
                  :seen-polys      {}
                  :scroll-x        (:scroll-x world-desc)
                  :scroll-y        (:scroll-y world-desc)
                  :camera-width    (:camera-width world-desc)
                  :camera-height   (:camera-height world-desc)
                  :width           (:width world-desc)
                  :height          (:height world-desc)
                  :walls           walls})))

(defn reset-tr-caches! []
