       :reload-scene  input-args
       :reload-logic  (assoc scene :update-fn  input-args)
       :none          (let [[sid sphere] (->name scene-graph "sphere1")
-                           old-pos (:x (:position sphere))
-                           new-pos [(inc old-pos) 0 0]
-                           new-sphere (assoc sphere :position new-pos)
-                           new-graph (assoc scene-graph sid new-sphere)]
-                       (println scene)
-                       (assoc scene :scene-graph scene-graph))))
+                           {t :timer {y :y} :position} sphere
+                           new-pos (v3 (* 3 (.sin js/Math (/ t 10)))
+                                       y
+                                       (* 3 (.cos js/Math (/ t 10))))
+                           new-sphere (-> sphere
+                                          (assoc :position new-pos)
+                                          (assoc :timer (inc t)))
+                           new-graph (assoc scene-graph sid new-sphere)
+                           new-scene (assoc scene :scene-graph new-graph)]
+                       new-scene)))
   :clearColor (c3 0.2 0.4 0.5))
 
 (defonce scene-atom (atom scene))

      :name "sphere1"
      :segments 16 
      :diameter 2
      :position (v3 0 1 0)}
     {:component :mesh/ground
      :name "ground1"
      :width 6

   :antialias true
   :resize    true))

(defn on-jsload [] (put! engine [:reload-scene scene]))

