Easing Functions

Take a look at the following animation.

val bubble =
  Reactor.linearRamp(0, 200)
    .withRender(r => Image.circle(r))
// bubble: Reactor[Double] = Reactor(
//   initial = 0.0,
//   onMouseClickHandler = doodle.reactor.Reactor$$$Lambda$15887/0x000000010400d040@770c4e39,
//   onMouseMoveHandler = doodle.reactor.Reactor$$$Lambda$15888/0x000000010400d840@13630acc,
//   onTickHandler = doodle.reactor.Reactor$$$Lambda$15892/0x0000000104011040@9b805a8,
//   tickRate = 100 milliseconds,
//   renderHandler = repl.MdocSession$MdocApp$$Lambda$15894/0x0000000104012840@2ab43752,
//   stopHandler = doodle.reactor.Reactor$$$Lambda$15893/0x0000000104012040@3863971e
// )