 (defn multi-animate!
   "Helper for concurrent animations with `animate!`.
    Returns a channel that closes when all are done."
-  [arg-pairs]
+  [& arg-pairs]
   (let [anims (->> (partition 2 arg-pairs)
                    (mapv #(apply animate! %)))]
     (go

  (set-cam! (:cam @state))

  (draw-title! (:title @state))
  (draw-js! (:js-face @state))

  (restore!))


  (text-baseline! "middle")
  (fill-style! "#222")
  (let [off 60]
    (fill-text! "JS" off off))

  (restore!))

(defn draw-js-core!
  [{:keys [x y r alpha]}]
  (save!)
  (global-alpha! alpha)
  (stroke-style! "#222")
  (doseq [[i label] (reverse (map-indexed vector ["ES3" "ES5" "ES6" "ES7" "ES8"]))]
    (let [cr (* (inc i) (/ r 5))]
      (circle! x y cr)
      (line-width! 10)
      (stroke!)
      (fill-style! "#f7df1e")
      (fill!)))
  (restore!)
  )


;;--------------------------------------------------------------------------------
;; Drawing
