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$11872/0x000000010345a840@4eb2d7aa,
//   onMouseMoveHandler = doodle.reactor.Reactor$$$Lambda$11873/0x000000010345b840@4e0538b6,
//   onTickHandler = doodle.reactor.Reactor$$$Lambda$11877/0x000000010345f040@71039823,
//   tickRate = 100 milliseconds,
//   renderHandler = repl.MdocSession$MdocApp$$Lambda$11879/0x0000000103469040@51311816,
//   stopHandler = doodle.reactor.Reactor$$$Lambda$11878/0x0000000103468840@69a52e0b
// )