                                      (goomba :gc 11 25 16 :falling-left ids walls)
                                      (goomba :gd 64 8 16 :left ids walls)
                                      (goomba :ge 96 32 16 :right ids walls)
-                                     (mario :m 200 8 ids walls)]
+                                     (mario :m 200 64 ids walls)]
                             obj-ids (map :id objects)
                             obj-dict (zipmap obj-ids objects)
                             ; got to let every HA enter its current (initial) state to set up state invariants like


(defn recalculate-edge [has ha index t]
  (let [edge (nth (:edges (current-state ha)) index)
        ;todo: Does this suffice? Should the transition be intersected with "the future" in any other places, eg update-scene or next-transition?
        transition (update (transition-interval has ha edge)
                           :interval (fn [intvl]
                                       (iv/intersection intvl [t Infinity])))

               (bumping-transitions id :right :falling-right nil walls others)
               (bumping-transitions id :top :left nil walls others)))))

;todo: ABSTRACT!
(defn mario [id x y others walls]
  (let [others (disj others id)
        fall-speed 8
        move-speed 24]
    (make-ha id
             {:x     x :y y
