          width 20
          angle (* (js/Math.atan2 x_d y_d)
                   (/ -180 js/Math.PI))]
-     [:rect
-      {:class "laser"
-       :x (- x_2 (/ width 2)) :y y_2
-       :width width :height height
-       :transform (str "rotate(" angle" " x_2 " " y_2 ")")
-       :fill "url(#laser-shot)"}])))
+     [:g
+      [:rect
+       {:class "laser"
+        :x (- x_2 (/ width 2)) :y y_2
+        :width width :height height
+        :transform (str "rotate(" angle" " x_2 " " y_2 ")")
+        :fill "url(#laser-shot)"}]])))
 
 
 (defn player-view [{:keys [name position text]} owner]

                    :position [12 0]}]
         :message "gamestate"}))


(defmulti handle-action :type)

(defmethod handle-action :direction ;; laser
  [action]
  )

(defmethod handle-action :sequence    ;; droid
  [action])

(defmethod handle-action :coordinates ;; mortar
  [action])

(defmethod handle-action :default [_]
  ;; Do nothing.

                    :cx x
                    :cy y
                    :r (/ TILE-SIZE 2)}]])))))

(defmulti action-view :type)
(defmethod action-view "laser"
  [{:keys [start stop]}]
  (laser-shot start stop))
(defmethod action-view "droid"
  [action]
  (html [:g]))
(defmethod action-view "mortar"
  [action]
  (html [:g]))
(defmethod action-view :default [_]
  (html [:g]))

(defn world-view [state owner]
  (reify
