           {:step 1 :center value}) 
       1 (let [center (:center current-state)
               radius (geom/distance value center)
-              _ (println "center: " center " radius: " radius)
               inversion (complex/inversion center radius)]
           {:step 2
            :center center

                             (dt/point value)]))
          {:step 1 :p1 value}) 
      1 (let [p1 (:p1 current-state)
              line (dt/line [p1 value])
              _ (println "line: " line)]
          (go (>! out [:draw :triangle draw-chan]))
          {:step 2 :p1 p1 :p2 value})
      2 (let [p1 (:p1 current-state)
              p2 (:p2 current-state)
              triangle (dt/triangle p1 p2 value)
              _ (println "triangle: " triangle)]
          (go (>! out triangle)
              (>! out [:draw :triangle draw-chan]))
          {:step 0}))))

            current-state)
        2 (let [p1 (:p1 current-state)
                p2 (:p2 current-state)
                p3 value
                base (geom/altitude p1 p2 value)]
            (draw-line p1 p2 draw-chan #{:extended} :red)
            (draw-line p2 p3 draw-chan nil :green)
            (draw-line p3 p1 draw-chan nil :blue)
            (draw-line p3 base draw-chan nil :yellow)
            current-state)))
    :click
    (condp = (:step current-state)
