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$14500/0x0000000103bf9040@6a3d898,
//   onMouseMoveHandler = doodle.reactor.Reactor$$$Lambda$14501/0x0000000103bfa040@3f4d5b53,
//   onTickHandler = doodle.reactor.Reactor$$$Lambda$14505/0x0000000103bfd040@42236819,
//   tickRate = 100 milliseconds,
//   renderHandler = repl.MdocSession$MdocApp$$Lambda$14507/0x0000000103bff040@2bf3a1c0,
//   stopHandler = doodle.reactor.Reactor$$$Lambda$14506/0x0000000103bfe040@5743dec0
// )