                           #(update-in % [:workspace-drawing :object] assoc :x x :y y))))
 
            (->> ms/mouse-position
+                (rx/filter #(> (gpt/distance % initial) 2))
                 (rx/with-latest vector ms/mouse-position-ctrl)
                 (rx/switch-map
                  (fn [[point :as current]]

                              (gpt/point v v))
                            scalev)]
              (-> shape
                  (assoc-in [:modifiers :resize-vector] scalev)
                  (assoc-in [:modifiers :resize-origin] (gpt/point x y))
                  (assoc-in [:modifiers :resize-rotation] 0))))

        (rx/concat
         (rx/of dw/clear-drawing)
         (when (::initialized? shape)
           (let [shape-click-width (case (:type shape)
                                   :text 150
                                   20)
                 shape-click-height (case (:type shape)
                                    :text 40
                                    20)
                 shape (if (::click-draw? shape)
                         (-> shape
                             (assoc-in [:modifiers :resize-vector]
                                       (gpt/point shape-click-width shape-click-height))
                             (assoc-in [:modifiers :resize-origin]
                                       (gpt/point (:x shape) (:y shape))))
                         shape)
                 shape (-> shape
                           geom/transform-shape
                           (dissoc ::initialized?
                                   ::click-draw?))]
             ;; Add & select the created shape to the workspace
             (rx/of dw/deselect-all
                    (dw/add-shape shape)))))))))
