                   :end-tick 130
                   :start-x text-start-x :end-x (+ text-start-x text-width)
                   :start-y text-start-y :end-y (- text-start-y text-height)
-                  :source "signup-animation"
+                  :source signup-animation-source
                   :props {:layer/signup-button true}})
       (move-mouse {:start-tick 140
                    :end-tick 145

            [om.core :as om :include-macros true]
            [om.dom :as dom :include-macros true])
  (:import [goog.ui IdGenerator]))

(defn add-tick [tick-state tick tick-fn]
  (update-in tick-state [:ticks tick] (fn [f] (fn [owner]

      ;; TODO: would be nice to get this a different way :(
      (let [viewport (utils/canvas-size)]
        (when (and (< 640 (:width viewport)) ;; only if not on mobile
                   (empty? (d/datoms @(om/get-shared owner :db) :avet :layer/source signup-animation-source)))
          (run-animation owner (signup-animation document (cameras/top-right camera viewport))))))
    om/IWillUnmount
    (will-unmount [_]
