            :dt 1 :last-report-time 0 :simulation-time 0}                      
           (initialize))))
 
+
 #_(defn start-nogui [iteration-step-size]
   (let [dt iteration-step-size
         max-t 25]

               (= (:translate-mode state) :x) {:shift-x (+ (:shift-x state) displacement)}               
               (= (:translate-mode state) :y) {:shift-y (+ (:shift-y state) displacement)}               
               (= (:translate-mode state) :z) {:shift-z (+ (:shift-z state) displacement)})))))
   
(defn key-press
  "Update the state in response to a keypress."
  [key state]
  (cond
   (= "q" key) (assoc state
                      :rotate-mode :x)
   (= "w" key) (assoc state

  #_(println button)
  state)


;; ## Start a brevis instance

(defn start-gui [initialize update]
  "Start the simulation with a GUI."
  (app/start
   {:reshape reshape, :init init, :mouse-drag mouse-drag, :key-press key-press :mouse-wheel mouse-wheel, :update update, :display display
    :key-release key-release
    ;:mouse-move    (fn [[[dx dy] [x y]] state] (println )
    ;:mouse-up       (fn [[x y] button state] (println button) state)
    ;:mouse-click   (fn [[x y] button state] (println button) state)
