                               (gpt/point v v))
                             scalev)]
               (-> shape
+                  (assoc ::click-draw? false)
                   (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-min-width (case (:type shape)
                                   :text 20
                                   5)
                 shape-min-height (case (:type shape)
                                    :text 16
                                    5)
                 shape (-> shape
                           geom/transform-shape
                           (dissoc ::initialized?))                 ]
             ;; Add & select the created shape to the workspace
             (rx/of dw/deselect-all
                    (dw/add-shape shape)))))))))

                          #(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]]
