                                   (util/faster-js->clj :keywordize-keys true))))})
     ch))
 
+(defn feed-verbose [vt str]
+  (let [codes (map #(.charCodeAt % 0) str)]
+    (reduce (fn [vt input]
+              (prn (-> vt :parser :state))
+              (vt/feed-one vt input)) vt codes)))
+
 (defn debug []
   (go
-    (let [check-from 24
-          v0-json (<! (fetch-json v0-url))
+    (let [v0-json (<! (fetch-json v0-url))
           v0-frames (vec (drop 1 (map #(p/acc->frame (last %)) (p/build-v0-frames v0-json))))
           v1-json (<! (fetch-json v1-url))
           v1-stdout (vec (map last (:stdout v1-json)))]
+      (print "comparing...")
       (loop [n 0
              prev-vt (vt/make-vt (:width v1-json) (:height v1-json))]
+        (when (= (mod n 100) 0)
+          (print n "/" (count v1-stdout)))
         (if-let [str (get v1-stdout n)]
           (let [vt (vt/feed-str prev-vt str)
                 prev-lines (vt/compact-lines (:lines prev-vt))

  (reset! reload-fn reload-player)
  (reload-player))

(def v0-url "/frames-21195.json")
(def v1-url "/21195.json")

(defn fetch-json [url]
  (let [ch (chan)]

;; (swap! player-state assoc :font-size "small")
;; (swap! player-state assoc :speed 1)

(defonce reload-fn (atom (fn [])))

(defn reload []
  (@reload-fn))
