                              [wait-kind ch-name] wait-kind-ch-name
                              ay (actx-y actx)
                              cy (ch-y ch)]
-                         [(if (= :put wait-kind)
-                            ["<line x1='500' y1='" ay "' x2='600' y2='" cy]
-                            ["<line x1='600' y1='" cy "' x2='500' y2='" ay])
-                          "' stroke='#faa' stroke-width='1' marker-end='url(#triangle)'/>"
-                          (when ch-name
-                            ["<text class='ch-name' x='540' y='" (* 0.5 (+ ay cy))
-                             "'>" ch-name "</text>"])]))
+                         (when (not= ay cy)
+                           [(if (= :put wait-kind)
+                              ["<line x1='500' y1='" ay "' x2='600' y2='" cy]
+                              ["<line x1='600' y1='" cy "' x2='500' y2='" ay])
+                            "' stroke='#faa' stroke-width='1' marker-end='url(#triangle)'/>"
+                            (when ch-name
+                              ["<text class='ch-name' x='540' y='" (* 0.5 (+ ay cy))
+                               "'>" ch-name "</text>"])])))
                      (:wait-chs actx-info))))
            (:actxs vis))
      (mapv (fn [delta]

               ["<li id='ch-" ch-id "'>" ch-id ": " (:msgs ch-info) "</li>"]))
           (get actx-ch-ch-infos actx))
     "</ul></div>"
     ["<ul>" (mapv (fn [child-actx]
                     ["<li>" (vis-html-actx vis child-actx
                                            actx-ch-ch-infos (:closed actx-info))
                      "</li>"])
                   (sort #(compare (last %1) (last %2)) (keys children)))
      "</ul>"]
     "</div>"]))

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

               (let [childy (actx-y (:child-actx delta))
                     ay (actx-y (:actx delta))
                     cy (ch-y (:ch delta))]
                 (when (not= ay cy)
                   [(case (:delta delta)
                      :put (when (get chs (:ch delta))
                             ["<g transform='translate(500," ay ")'>"
                              "<line class='delta' x1='0' y1='0' x2='100' y2='"
                              (- cy ay) "' stroke='green'"])
                      :take (when (get chs (:ch delta))
                              ["<g transform='translate(600," cy ")'>"
                               "<line class='delta' x1='0' y1='0' x2='-100' y2='"
                               (- ay cy) "' stroke='" (if (:msg delta) "green" "black") "'"])
                      :actx-start (when (> childy line-height)
                                    ["<g transform='translate(30," ay ")'>"
                                     "<line class='delta' x1='0' y1='0' x2='30' y2='"
                                     (- childy ay) "' stroke='green'"])
                      :actx-end (when (> childy line-height)
                                  ["<g transform='translate(60," childy ")'>"
                                   "<line class='delta' x1='0' y1='0' x2='-30' y2='"
                                   (- ay childy) "' stroke='black'"])
                      nil)
                    " stroke-width='1' marker-end='url(#triangle)'/></g>"
                    (when (:ch-name delta)
                      ["<text class='ch-name' x='540' y='" (* 0.5 (+ ay cy))
                       "'>" (:ch-name delta) "</text>"])]))))
           deltas)]))

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