 (defn start-game-loop
   "Manage transitions between player moves, ai moves, and generic game events"
   []
-  (let [game-on-xf (fn [_] (not (turn/game-over? @current-turn)))
-        is-human-xf (fn [_] (not (is-ai? @current-player)))
-        player-events (chan 1 (comp (filter game-on-xf) (filter is-human-xf)))
+  (let [is-human-xf (fn [_] (not (is-ai? @current-player)))
+        player-events (chan 1 (filter is-human-xf))
         game-events (chan 1)]
     (go
       (while true

          player-events ([coord] (play-game-turn! coord))
          (async/timeout ai-move-delay) ([_] (if (is-ai? @current-player) (handle-ai!)))
          )))

    {:player-events player-events
     :game-events game-events}))


(def current-turn (reaction (game/current-turn (:game @app-state))))
(def current-board (reaction (turn/get-board @current-turn)))
(def current-player (reaction (turn/get-player @current-turn)))
(def help-toggled? (reaction (:help @app-state)))


;; -----------------------------------------
