client/webserver/site/src/js/doc.js
/*
   * animate runs the supplied function, which should be a "progress" function
   * accepting one argument. The progress function will be called repeatedly
   * with the argument varying from 0.0 to 1.0. The exact path that animate
   * takes from 0.0 to 1.0 will vary depending on the choice of easing
   * algorithm. See the Easing object for the available easing algo choices. The
   * default easing algorithm is linear.
   */
animate runs the supplied function, which should be a "progress" function
accepting one argument. The progress function will be called repeatedly
with the argument varying from 0.0 to 1.0. The exact path that animate
takes from 0.0 to 1.0 will vary depending on the choice of easing
algorithm. See the Easing object for the available easing algo choices. The
default easing algorithm is linear.
animate runs the supplied function which should be a " progress " function accepting one argument . The progress function will be called repeatedly with the argument varying from 0 . 0 to 1 . 0 . The exact path that animate takes from 0 . 0 to 1 . 0 will vary depending on the choice of easing algorithm . See the Easing object for the available easing algo choices . The default easing algorithm is linear .
static async animate (duration, f, easingAlgo) {
    const easer = easingAlgo ? Easing[easingAlgo] : Easing.linear
    const start = new Date().getTime()
    const end = start + duration
    const range = end - start
    const frameDuration = 1000 / FPS
    var now = start
    while (now < end) {
      f(easer((now - start) / range))
      await sleep(frameDuration)
      now = new Date().getTime()
    }
    f(1)
  }
static async animate ( duration , f , easingAlgo ) { const easer = easingAlgo ? Easing [ easingAlgo ] : Easing . linear const start = new Date ( ) . getTime ( ) const end = start + duration const range = end - start const frameDuration = 1000 / FPS var now = start while ( now < end ) { f ( easer ( ( now - start ) / range ) ) await sleep ( frameDuration ) now = new Date ( ) . getTime ( ) } f ( 1 ) }
animate runs the supplied function, which should be a "progress" function
 accepting one argument.
animate runs the supplied function which should be a " progress " function accepting one argument .