code: function smoothFn (v, o, f, snap){
        v = !v ? 0 : v;
        f = f === undefined ? 0.1 : f;
        f = Math.min(f, snap);
        if (f < 0) { f = v > o ? Math.abs(snap) : -f; }
        return f * v + (1 - f) * o;
      }
docs: Exponential smoothing. When negative: snap is used when value rises and abs(value) when falling.