           calc-xy (fn [addr] (let [[c0 c1] (get coords addr)]
                                [(* addr-width c0 (/ (+ addr-width addr-gap) addr-width))
                                 (* top-height c1)]))
-          h ["<div style='height:" (apply max (map #(count (:outs %)) (vals @addrs))) "em;'>"
+          h ["<div style='height:" (apply max (map #(count (:outs %))
+                                                   (vals @addrs))) "em;'>"
              (mapv (fn [[addr addr-v]]
                      (let [[addr-x addr-y] (calc-xy addr)]
                        ["<div class='addr' style='top:" addr-y "px; left:" addr-x "px;'>"

              (rest prev-msgs)
              moving
              (conj out (render-msg prev-msg "msg-exit"
                                    ["top:" (max 40 (- dist (* line-height (count out)) 70)) "px;"])))
       :else
       (recur (rest curr-msgs)
              prev-msgs

(defn world-vis-init [el-prefix init-event-delay]
  (let [cmd-inject-ch (chan)
        cmd-ch (replay-cmd-ch cmd-inject-ch (keys cbfg.world.lane/cmd-handlers)
                              (fn [ev]
                                {:op (.-id (.-target ev))
                                 :x (js/parseInt (get-el-value "x"))
                                 :y (js/parseInt (get-el-value "y"))
                                 :delay (js/parseInt (get-el-value "delay"))
                                 :fence (= (get-el-value "fence") "1")
                                 :lane (get-el-value "lane")
                                 :client (get-el-value "client")
                                 :color (get-el-value "color")
                                 :sleep (js/parseInt (get-el-value "sleep"))}))
        render-state (atom {})
        num-clients 3]
    (vis-init (fn [world vis-chs]
