                                                             (:layer/current-x layer)))
                                      :layer/ry (Math/abs (- (:layer/start-y layer)
                                                             (:layer/current-y layer)))}))))))
-              (-> state
-                  (update-in [:mouse] assoc :x x :y y :rx rx :ry ry)))]
+              (update-mouse state x y))]
       r)))
 
 ;; TODO: this shouldn't assume it's sending a mouse position

    state
    (finalize-layer state)))

(defmethod post-control-event! :mouse-depressed
  [target message [x y button] previous-state current-state]
  (let [cast! (fn [msg & [payload]]

                           :layer/current-x snap-x
                           :layer/current-y snap-y)
                (assoc-in [:mouse :down] true)
                (update-mouse x y)
                (assoc-in [:selected-eid] entity-id)
                (update-in [:entity-ids] disj entity-id))]
            r)))
