 (defn start-recording []
  (let [start-time Time/time
        recording-canvas (hard/clone! :ui/recording-canvas)]
+  (setup-encoder)
   (set! (.worldCamera (a/cmpt recording-canvas Canvas)) (a/cmpt (a/object-tagged "skatecam") Camera))
   (timeline* :loop
    (wait Time/deltaTime)

       cam (a/cmpt cam-go Camera)]
  (reset! gif-cam cam)
  (reset! gif-tex render-texture)
  (if (false? @gif-encoder) (setup-encoder))
  (set! (.targetTexture cam) render-texture)
  (set! (.worldCamera (a/cmpt gif-canvas Canvas)) cam) 
  (a/hook+ cam-go :update

      (do
       (set! (.. go transform position) (.. (a/object-tagged "skatecam") transform position))
       (set! (.. go transform rotation) (.. (a/object-tagged "skatecam") transform rotation)))))))
  (add-watch data/recording? nil
   (fn [_ _ _ new-state]
    (if new-state
