SOURCE CODE: Uize.Curve.Examples (view docs)

Uize.module ({
  name:'Uize.Curve.Examples',
  builder:function () {
    return function () {
      return {
        linear:{
          curve:'Uize.Curve.linear',
          duration:'800'
        },
        'Acceleration + Deceleration - celeration (1,0)':{
          curve:'Uize.Fade.celeration (\n  1,  // acceleration phase width (0-1)\n  0   // deceleration phase width (0-1)\n)',
          duration:'800'
        },
        'Acceleration + Deceleration - celeration (.5,0)':{
          curve:'Uize.Fade.celeration (\n  .5,  // acceleration phase width (0-1)\n  0    // deceleration phase width (0-1)\n)',
          duration:'800'
        },
        'Acceleration + Deceleration - celeration (0,1)':{
          curve:'Uize.Fade.celeration (\n  0,  // acceleration phase width (0-1)\n  1   // deceleration phase width (0-1)\n)',
          duration:'800'
        },
        'Acceleration + Deceleration - celeration (0,.5)':{
          curve:'Uize.Fade.celeration (\n  0,  // acceleration phase width (0-1)\n  .5  // deceleration phase width (0-1)\n)',
          duration:'800'
        },
        'Acceleration + Deceleration - celeration (.5,.5)':{
          curve:'Uize.Fade.celeration (\n  .5,  // acceleration phase width (0-1)\n  .5   // deceleration phase width (0-1)\n)',
          duration:'800'
        },
        'Acceleration + Deceleration - celeration (.25,.25)':{
          curve:'Uize.Fade.celeration (\n  .25,  // acceleration phase width (0-1)\n  .25   // deceleration phase width (0-1)\n)',
          duration:'800'
        },
        'Acceleration + Deceleration - celeration (.75,.25)':{
          curve:'Uize.Fade.celeration (\n  .75,  // acceleration phase width (0-1)\n  .25   // deceleration phase width (0-1)\n)',
          duration:'800'
        },
        'Acceleration + Deceleration - celeration (.25,.75)':{
          curve:'Uize.Fade.celeration (\n  .25,  // acceleration phase width (0-1)\n  .75   // deceleration phase width (0-1)\n)',
          duration:'800'
        },
        'Power Easing - easeInPow (2) - quadratic':{
          curve:'Uize.Curve.easeInPow (\n  2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInPow (3) - cubic':{
          curve:'Uize.Curve.easeInPow (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInPow (4) - quartic':{
          curve:'Uize.Curve.easeInPow (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInPow (5) - quintic':{
          curve:'Uize.Curve.easeInPow (\n  5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInPow (6)':{
          curve:'Uize.Curve.easeInPow (\n  6  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInPow (12)':{
          curve:'Uize.Curve.easeInPow (\n  12  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInPow (1/2)':{
          curve:'Uize.Curve.easeInPow (\n  1/2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInPow (1/5)':{
          curve:'Uize.Curve.easeInPow (\n  1/5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeOutPow (2) - quadratic':{
          curve:'Uize.Curve.easeOutPow (\n  2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeOutPow (3) - cubic':{
          curve:'Uize.Curve.easeOutPow (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeOutPow (4) - quartic':{
          curve:'Uize.Curve.easeOutPow (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeOutPow (5) - quintic':{
          curve:'Uize.Curve.easeOutPow (\n  5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeOutPow (6)':{
          curve:'Uize.Curve.easeOutPow (\n  6  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeOutPow (12)':{
          curve:'Uize.Curve.easeOutPow (\n  12  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeOutPow (1/2)':{
          curve:'Uize.Curve.easeOutPow (\n  1/2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeOutPow (1/5)':{
          curve:'Uize.Curve.easeOutPow (\n  1/5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInOutPow (2) - quadratic':{
          curve:'Uize.Curve.easeInOutPow (\n  2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInOutPow (3) - cubic':{
          curve:'Uize.Curve.easeInOutPow (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInOutPow (4) - quartic':{
          curve:'Uize.Curve.easeInOutPow (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInOutPow (5) - quintic':{
          curve:'Uize.Curve.easeInOutPow (\n  5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInOutPow (6)':{
          curve:'Uize.Curve.easeInOutPow (\n  6  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInOutPow (12)':{
          curve:'Uize.Curve.easeInOutPow (\n  12  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInOutPow (1/2)':{
          curve:'Uize.Curve.easeInOutPow (\n  1/2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeInOutPow (1/5)':{
          curve:'Uize.Curve.easeInOutPow (\n  1/5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeMiddlePow (2) - quadratic':{
          curve:'Uize.Curve.easeMiddlePow (\n  2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeMiddlePow (3) - cubic':{
          curve:'Uize.Curve.easeMiddlePow (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeMiddlePow (4) - quartic':{
          curve:'Uize.Curve.easeMiddlePow (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeMiddlePow (5) - quintic':{
          curve:'Uize.Curve.easeMiddlePow (\n  5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeMiddlePow (6)':{
          curve:'Uize.Curve.easeMiddlePow (\n  6  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeMiddlePow (12)':{
          curve:'Uize.Curve.easeMiddlePow (\n  12  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeMiddlePow (1/2)':{
          curve:'Uize.Curve.easeMiddlePow (\n  1/2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Power Easing - easeMiddlePow (1/5)':{
          curve:'Uize.Curve.easeMiddlePow (\n  1/5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeInSweetPow (2)':{
          curve:'Uize.Curve.easeInSweetPow (\n  2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeInSweetPow (3)':{
          curve:'Uize.Curve.easeInSweetPow (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeInSweetPow (4)':{
          curve:'Uize.Curve.easeInSweetPow (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeInSweetPow (5)':{
          curve:'Uize.Curve.easeInSweetPow (\n  5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeOutSweetPow (2)':{
          curve:'Uize.Curve.easeOutSweetPow (\n  2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeOutSweetPow (3)':{
          curve:'Uize.Curve.easeOutSweetPow (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeOutSweetPow (4)':{
          curve:'Uize.Curve.easeOutSweetPow (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeOutSweetPow (5)':{
          curve:'Uize.Curve.easeOutSweetPow (\n  5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeInOutSweetPow (2)':{
          curve:'Uize.Curve.easeInOutSweetPow (\n  2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeInOutSweetPow (3)':{
          curve:'Uize.Curve.easeInOutSweetPow (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeInOutSweetPow (4)':{
          curve:'Uize.Curve.easeInOutSweetPow (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeInOutSweetPow (5)':{
          curve:'Uize.Curve.easeInOutSweetPow (\n  5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeMiddleSweetPow (2)':{
          curve:'Uize.Curve.easeMiddleSweetPow (\n  2  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeMiddleSweetPow (3)':{
          curve:'Uize.Curve.easeMiddleSweetPow (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeMiddleSweetPow (4)':{
          curve:'Uize.Curve.easeMiddleSweetPow (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sweetened Power Easing - easeMiddleSweetPow (5)':{
          curve:'Uize.Curve.easeMiddleSweetPow (\n  5  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Exponential Easing - easeInExpo':{
          curve:'Uize.Curve.easeInExpo ()',
          duration:'800'
        },
        'Exponential Easing - easeOutExpo':{
          curve:'Uize.Curve.easeOutExpo ()',
          duration:'800'
        },
        'Exponential Easing - easeInOutExpo':{
          curve:'Uize.Curve.easeInOutExpo ()',
          duration:'800'
        },
        'Exponential Easing - easeMiddleExpo':{
          curve:'Uize.Curve.easeMiddleExpo ()',
          duration:'800'
        },
        'Circular Easing - easeInCircular':{
          curve:'Uize.Curve.easeInCircular ()',
          duration:'800'
        },
        'Circular Easing - easeInCircular (3)':{
          curve:'Uize.Curve.easeInCircular (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Circular Easing - easeInCircular (4)':{
          curve:'Uize.Curve.easeInCircular (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Circular Easing - easeOutCircular':{
          curve:'Uize.Curve.easeOutCircular ()',
          duration:'800'
        },
        'Circular Easing - easeOutCircular (3)':{
          curve:'Uize.Curve.easeOutCircular (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Circular Easing - easeOutCircular (4)':{
          curve:'Uize.Curve.easeOutCircular (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Circular Easing - easeInOutCircular':{
          curve:'Uize.Curve.easeInOutCircular ()',
          duration:'800'
        },
        'Circular Easing - easeInOutCircular (3)':{
          curve:'Uize.Curve.easeInOutCircular (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Circular Easing - easeInOutCircular (4)':{
          curve:'Uize.Curve.easeInOutCircular (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Circular Easing - easeMiddleCircular':{
          curve:'Uize.Curve.easeMiddleCircular ()',
          duration:'800'
        },
        'Circular Easing - easeMiddleCircular (3)':{
          curve:'Uize.Curve.easeMiddleCircular (\n  3  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Circular Easing - easeMiddleCircular (4)':{
          curve:'Uize.Curve.easeMiddleCircular (\n  4  // power (0-Infinity)\n)',
          duration:'800'
        },
        'Sinusoidal Easing - easeInSine':{
          curve:'Uize.Curve.easeInSine ()',
          duration:'800'
        },
        'Sinusoidal Easing - easeOutSine':{
          curve:'Uize.Curve.easeOutSine ()',
          duration:'800'
        },
        'Sinusoidal Easing - easeInOutSine':{
          curve:'Uize.Curve.easeInOutSine ()',
          duration:'800'
        },
        'Sinusoidal Easing - easeMiddleSine':{
          curve:'Uize.Curve.easeMiddleSine ()',
          duration:'800'
        },
        'Back Easing w/ Overshoot - easeInBack':{
          curve:'Uize.Curve.Rubber.easeInBack ()',
          duration:'800'
        },
        'Back Easing w/ Overshoot - easeOutBack':{
          curve:'Uize.Curve.Rubber.easeOutBack ()',
          duration:'800'
        },
        'Back Easing w/ Overshoot - easeInOutBack (3)':{
          curve:'Uize.Curve.Rubber.easeInOutBack (\n  3  // overshoot\n)',
          duration:'800'
        },
        'Back Easing w/ Overshoot - easeMiddleBack (3)':{
          curve:'Uize.Curve.Rubber.easeMiddleBack (\n  3  // overshoot\n)',
          duration:'800'
        },
        'Elastic Easing - easeInElastic (.6)':{
          curve:'Uize.Curve.Rubber.easeInElastic (\n  .6  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeInElastic (.3)':{
          curve:'Uize.Curve.Rubber.easeInElastic (\n  .3  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeInElastic (.2)':{
          curve:'Uize.Curve.Rubber.easeInElastic (\n  .2  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeInElastic (.1)':{
          curve:'Uize.Curve.Rubber.easeInElastic (\n  .1  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeOutElastic (.6)':{
          curve:'Uize.Curve.Rubber.easeOutElastic (\n  .6  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeOutElastic (.3)':{
          curve:'Uize.Curve.Rubber.easeOutElastic (\n  .3  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeOutElastic (.2)':{
          curve:'Uize.Curve.Rubber.easeOutElastic (\n  .2  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeOutElastic (.1)':{
          curve:'Uize.Curve.Rubber.easeOutElastic (\n  .1  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeInOutElastic (.6)':{
          curve:'Uize.Curve.Rubber.easeInOutElastic (\n  .6  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeInOutElastic (.3)':{
          curve:'Uize.Curve.Rubber.easeInOutElastic (\n  .3  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeInOutElastic (.2)':{
          curve:'Uize.Curve.Rubber.easeInOutElastic (\n  .2  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeInOutElastic (.1)':{
          curve:'Uize.Curve.Rubber.easeInOutElastic (\n  .1  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeMiddleElastic (.6)':{
          curve:'Uize.Curve.Rubber.easeMiddleElastic (\n  .6  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeMiddleElastic (.3)':{
          curve:'Uize.Curve.Rubber.easeMiddleElastic (\n  .3  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeMiddleElastic (.2)':{
          curve:'Uize.Curve.Rubber.easeMiddleElastic (\n  .2  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Elastic Easing - easeMiddleElastic (.1)':{
          curve:'Uize.Curve.Rubber.easeMiddleElastic (\n  .1  // period (0-Infinity)\n)',
          duration:'1500'
        },
        'Bounce Easing - easeInBounce':{
          curve:'Uize.Curve.Rubber.easeInBounce ()',
          duration:'1200'
        },
        'Bounce Easing - easeInBounce - third time\'s a charm':{
          curve:'Uize.Curve.Rubber.easeInBounce (\n  3,   // bounces (2-Infinity)\n  1.3, // bounciness (-Infinity to Infinity)\n  1,   // bounce width ratio (0-Infinity)\n  Uize.Curve.easeInCircular ()\n)',
          duration:'2000'
        },
        'Bounce Easing - easeOutBounce':{
          curve:'Uize.Curve.Rubber.easeOutBounce ()',
          duration:'1200'
        },
        'Bounce Easing - easeOutBounce - more bouncy':{
          curve:'Uize.Curve.Rubber.easeOutBounce (\n  4,   // bounces (2-Infinity)\n  1.5  // bounciness (-Infinity to Infinity)\n)',
          duration:'1200'
        },
        'Bounce Easing - easeOutBounce - very bouncy':{
          curve:'Uize.Curve.Rubber.easeOutBounce (\n  4,  // bounces (2-Infinity)\n  4   // bounciness (-Infinity to Infinity)\n)',
          duration:'1200'
        },
        'Bounce Easing - easeOutBounce - super bouncy':{
          curve:'Uize.Curve.Rubber.easeOutBounce (\n  9,    // bounces (2-Infinity)\n  4,    // bounciness (-Infinity to Infinity)\n  1.25  // bounce width ratio (0-Infinity)\n)',
          duration:'2000'
        },
        'Bounce Easing - easeOutBounce - muffled':{
          curve:'Uize.Curve.Rubber.easeOutBounce (\n  3,   // bounces (2-Infinity)\n  -4,  // bounciness (-Infinity to Infinity)\n  1.7  // bounce width ratio (0-Infinity)\n)',
          duration:'800'
        },
        'Bounce Easing - easeOutBounce - fast thud':{
          curve:'Uize.Curve.Rubber.easeOutBounce (\n  6,   // bounces (2-Infinity)\n  -8,  // bounciness (-Infinity to Infinity)\n  1.5  // bounce width ratio (0-Infinity)\n)',
          duration:'800'
        },
        'Bounce Easing - easeOutBounce - violent, slowing':{
          curve:'Uize.Curve.Rubber.easeOutBounce (\n  10,  // bounces (2-Infinity)\n  4,   // bounciness (-Infinity to Infinity)\n  .6   // bounce width ratio (0-Infinity)\n)',
          duration:'3000'
        },
        'Bounce Easing - easeOutBounce - jumping bean':{
          curve:'Uize.Curve.Rubber.easeOutBounce (\n  3,    // bounces (2-Infinity)\n  2,    // bounciness (-Infinity to Infinity)\n  1.3,  // bounce width ratio (0-Infinity)\n  Uize.Curve.Rubber.easeInBounce (\n    4,   // bounces (2-Infinity)\n    2,   // bounciness (-Infinity to Infinity)\n    1.5  // bounce width ratio (0-Infinity)\n  )\n)',
          duration:'5000'
        },
        'Bounce Easing - easeInOutBounce':{
          curve:'Uize.Curve.Rubber.easeInOutBounce ()',
          duration:'1200'
        },
        'Bounce Easing - easeInOutBounce - very bouncy':{
          curve:'Uize.Curve.Rubber.easeInOutBounce (\n  5,   // bounces (2-Infinity)\n  3,   // bounciness (-Infinity to Infinity)\n  1.5  // bounce width ratio (0-Infinity)\n)',
          duration:'2200'
        },
        'Bounce Easing - easeMiddleBounce':{
          curve:'Uize.Curve.Rubber.easeMiddleBounce ()',
          duration:'1200'
        },
        'Sawtooth Curve - saw (3)':{
          curve:'Uize.Curve.saw (\n  3,  // teeth (1-Infinity)\n  .5  // linear/sawtooth blend (0-1)\n)',
          duration:'1000'
        },
        'Sawtooth Curve - saw (10)':{
          curve:'Uize.Curve.saw (\n  10,  // teeth (1-Infinity)\n  .5   // linear/sawtooth blend (0-1)\n)',
          duration:'1500'
        },
        'Sawtooth Curve - saw (10,.2)':{
          curve:'Uize.Curve.saw (\n  10,  // teeth (1-Infinity)\n  .2   // linear/sawtooth blend (0-1)\n)',
          duration:'1500'
        },
        'Sawtooth Curve - saw (10,.05)':{
          curve:'Uize.Curve.saw (\n  10,  // teeth (1-Infinity)\n  .05  // linear/sawtooth blend (0-1)\n)',
          duration:'1500'
        },
        'Curve Modifiers - quickly to middle, slowly to end':{
          curve:'Uize.Curve.Mod.blend (\n  10,  // power curve function (-Infinity to Infinity)\n  .5   // power curve function (-Infinity to Infinity)\n)',
          duration:'800'
        },
        'Curve Modifiers - quick, then slow, then quick':{
          curve:'Uize.Curve.Mod.rotate (\n  6,  // power curve function (-Infinity to Infinity)\n  .8  // blend of rotated (0-1)\n)',
          duration:'800'
        },
        'Curve Modifiers - quickly to middle, hesitate, quickly to end':{
          curve:'Uize.Curve.Mod.blend (\n  Uize.Curve.easeInSweetPow (1/6),\n  Uize.Curve.easeOutSweetPow (1/12),\n  Uize.Curve.line (\n    0,  // start value (0-1)\n    1   // end value (0-1)\n  )\n)',
          duration:'1100'
        },
        'Curve Modifiers - 2x stairs easeOutBounce (4,1.75)':{
          curve:'Uize.Curve.Mod.repeat (\n  Uize.Curve.Rubber.easeOutBounce (\n    4,    // bounces (2-Infinity)\n    1.75  // bounciness\n  ),\n  2,  // repeats (0-Infinity)\n  1   // stairs degree (0-1)\n)',
          duration:'2000'
        },
        'Curve Modifiers - 3x stairs easeInOutPow (3)':{
          curve:'Uize.Curve.Mod.repeat (\n  Uize.Curve.easeInOutPow (3),\n  3,  // repeats (0-Infinity)\n  1   // stairs degree (0-1)\n)',
          duration:'1500'
        },
        'Curve Modifiers - wobbly easeInOutPow (4)':{
          curve:'Uize.Curve.Mod.redraw (\n  Uize.Curve.easeInOutPow (4),\n  12,  // segments (1-Infinity)\n  Uize.Curve.Rubber.easeInOutBack (4)\n)',
          duration:'2000'
        },
        'Curve Modifiers - 5x stairs band (.5,.5)':{
          curve:'Uize.Curve.Mod.repeat (\n  Uize.Curve.Mod.band (\n    1,   // curve (1 == linear)\n    .5,  // band X size (0-1)\n    .5   // band X align (0-1)\n  ),\n  5,  // repeats (0-Infinity)\n  1   // stairs degree (0-1)\n)',
          duration:'2000'
        },
        'Curve Modifiers - stairs easeInOutPow (3) + easeInElastic (.1)':{
          curve:'Uize.Curve.Mod.repeat (\n  [\n    Uize.Curve.easeInOutPow (3),\n    Uize.Curve.Rubber.easeInElastic (\n      .1  // period (0-Infinity)\n    )\n  ],\n  2,  // repeats (0-Infinity)\n  1   // stairs degree (0-1)\n)',
          duration:'2000'
        },
        'Curve Modifiers - easeInOutElastic multiplied by mild easeInPow':{
          curve:'Uize.Curve.Mod.multiply (\n  Uize.Curve.Rubber.easeInOutElastic (\n    .1,  // period (0-Infinity)\n    2    // amplitude (1-Infinity)\n  ),\n  Uize.Curve.easeInPow (\n    1.2   // power (0-Infinity)\n  )\n)',
          duration:'2000'
        },
        'Curve Modifiers - easeInOut of easeInOutPow (3) + easeInElastic':{
          curve:'Uize.Curve.makeEaseInOut (\n  Uize.Curve.Mod.repeat (\n    [\n      Uize.Curve.easeInOutPow (3),\n      Uize.Curve.Rubber.easeInElastic (\n        .2,  // period (0-Infinity)\n        2    // amplitude (1-Infinity)\n      )\n    ],\n    2,  // repeats (0-Infinity)\n    1   // stairs degree (0-1)\n  )\n)',
          duration:'2000'
        },
        'Curve Modifiers - pull and release elastic':{
          curve:'Uize.Curve.Mod.repeat (\n  [\n    Uize.Curve.Mod.band (\n      Uize.Curve.easeOutPow (5),\n      1,    // band X size (0-1)\n      0,    // band X align (0-1)\n      -.3,  // band Y size (0-1)\n      0     // band X align (0-1)\n    ),\n    Uize.Curve.Rubber.easeOutElastic (\n      .1  // period (0-Infinity)\n    )\n  ],\n  2  // repeats (0-Infinity)\n)',
          duration:'2200'
        },
        'Curve Modifiers - 4x stairs elastic w/rotate':{
          curve:'Uize.Curve.Mod.repeat (\n  Uize.Curve.Rubber.easeInElastic (\n    .1  // period (0-Infinity)\n  ),\n  4,     // repeats (0-Infinity)\n  1,     // stairs degree (0-1)\n  true,  // alternating flip horizontal\n  true   // alternating flip vertical\n)',
          duration:'8000'
        },
        'Curve Modifiers - stairs easeInSweetPow (1/5) + easeOutBounce':{
          curve:'Uize.Curve.Mod.repeat (\n  [\n    Uize.Curve.easeInSweetPow (\n      1/5  // power (0-Infinity)\n    ),\n    Uize.Curve.Rubber.easeOutBounce (\n      4,  // bounces (2-Infinity)\n      2   // bounciness (-Infinity to Infinity)\n    )\n  ],\n  2,  // repeats (0-Infinity)\n  1   // stairs degree (0-1)\n)',
          duration:'1000'
        },
        'Curve Modifiers - blend easeOutElastic (.2) + easeOutElastic (.1)':{
          curve:'Uize.Curve.Mod.blend (\n  Uize.Curve.Rubber.easeOutElastic (\n    .2  // period (0-Infinity)\n  ),\n  Uize.Curve.Rubber.easeOutElastic (\n    .1  // period (0-Infinity)\n  )\n)',
          duration:'2500'
        },
        'Curve Modifiers - blend easeOutElastic (.3) + easeInElastic (.1)':{
          curve:'Uize.Curve.Mod.blend (\n  Uize.Curve.Rubber.easeOutElastic (\n    .3  // period (0-Infinity)\n  ),\n  Uize.Curve.Rubber.easeInElastic (\n    .1  // period (0-Infinity)\n  )\n)',
          duration:'1500'
        },
        'Curve Modifiers - blend easeOutElastic (.2,2) + easeInElastic (.3)':{
          curve:'Uize.Curve.Mod.blend (\n  Uize.Curve.Rubber.easeOutElastic (\n    .2,  // period (0-Infinity)\n    2    // amplitude (1-Infinity)\n  ),\n  Uize.Curve.Rubber.easeInElastic (\n    .3   // period (0-Infinity)\n  )\n)',
          duration:'1500'
        },
        'Curve Modifiers - coin settle effect':{
          curve:'Uize.Curve.Mod.bend (\n  Uize.Curve.Mod.rotate (\n    Uize.Curve.Mod.multiply (\n      Uize.Curve.easeInPow (3),\n      Uize.Curve.Mod.repeat (\n        Uize.Curve.easeInCircular (),\n        45,   // repeats (0-Infinity), odd to end at 1\n        0,    // stairs degree (0-1)\n        true  // alternating flip horizontal\n      )\n    )\n  ),\n  2  // horizontal bend (-Infinity to Infinity)\n)',
          duration:'4000'
        },
        'Curve Modifiers - gentle into gentle bounce':{
          curve:'Uize.Curve.Mod.bend (\n  Uize.Curve.Rubber.easeOutBounce (\n    10,  // bounces (2-Infinity)\n    -2,  // bounce peak curve\n    2,   // bounce width ratio (0-Infinity)\n    2.5  // bounce curve\n  ),\n  Uize.Curve.easeInOutPow (2)  // horz bend curve\n)',
          duration:'1500'
        },
        'Curve Modifiers - ultra bouncy':{
          curve:'Uize.Curve.Mod.bend (\n  Uize.Curve.Rubber.easeOutBounce (\n    20,  // bounces (2-Infinity)\n    4,   // bounce peak curve\n    1.1  // bounce width ratio (0-Infinity)\n  ),\n  1.5  // horizontal bend (-Infinity to Infinity)\n)',
          duration:'4500'
        },
        'Curve Modifiers - bounce down the stairs':{
          curve:'Uize.Curve.Mod.blend (\n  Uize.Curve.easeInPow (\n    3  // power (0-Infinity)\n  ),\n  Uize.Curve.easeOutPow (\n    1.5  // power (0-Infinity)\n  ),\n  Uize.Curve.Rubber.easeOutBounce (\n    10,  // bounces (2-Infinity)\n    4,   // bounciness (-Infinity to Infinity)\n    1.1  // bounce width ratio (0-Infinity)\n  )\n)',
          duration:'3000'
        },
        'Curve Modifiers - climbing up the stairs':{
          curve:'Uize.Curve.Mod.blend (\n  Uize.Curve.Mod.band (\n    1,   // curve function (1 == linear)\n    1,   // band X size (0-1)\n    0,   // band X align (0-1)\n    .8,  // band Y size (0-1)\n    0    // band X align (0-1)\n  ),\n  Uize.Curve.Mod.band (\n    1,   // curve function (1 == linear)\n    1,   // band X size (0-1)\n    0,   // band X align (0-1)\n    .8,  // band Y size (0-1)\n    1    // band X align (0-1)\n  ),\n  Uize.Curve.Rubber.easeOutBounce (\n    6,   // bounces (2-Infinity)\n    Uize.Curve.Mod.band (1,0,0),\n    1,   // bounce width ratio (0-Infinity)\n    -2   // bounce curve\n  )\n)',
          duration:'2500'
        },
        'Curve Modifiers - bounce between walls':{
          curve:'Uize.Curve.Mod.bend (\n  Uize.Curve.Mod.repeat (\n    1,    // curve function (1 == linear)\n    7,    // repeats (0-Infinity), odd to end at 1\n    0,    // stairs degree (0-1)\n    true  // alternating flip horizontal\n  ),\n  -4,  // horizontal bend (-Infinity to Infinity)\n  -4   // vertical bend (-Infinity to Infinity)\n)',
          duration:'1500'
        },
        'Curve Modifiers - shutters slamming':{
          curve:'Uize.Curve.Mod.bend (\n  Uize.Curve.Rubber.easeOutBounce (\n    5,   // bounces (2-Infinity)\n    -3,  // bounciness (-Infinity to Infinity)\n    .1   // bounce width ratio (0-Infinity)\n  ),\n  6  // horizontal bend (-Infinity to Infinity)\n)',
          duration:'3000'
        },
        'Curve Modifiers - twisted helix':{
          curve:'Uize.Curve.Mod.blend (\n  Uize.Curve.easeMiddleCircular (3.5),\n  Uize.Curve.easeInOutCircular (3.5),\n  Uize.Curve.Mod.repeat (\n    Uize.Curve.easeInOutCircular (7),\n    31,   // repeats (0-Infinity), odd to end at 1\n    0,    // stairs degree (0-1)\n    true  // alternating flip horizontal\n  )\n)',
          duration:'4000'
        },
        'Curve Modifiers - 7 x stairs repeat, linear + saw (5,.3)':{
          curve:'Uize.Curve.Mod.repeat (\n  [\n    Uize.Curve.linear,\n    Uize.Curve.saw (\n      5,  // teeth (1-Infinity)\n      .5  // linear/sawtooth blend (0-1)\n    )\n  ],\n  7,  // repeats (0-Infinity)\n  1   // stairs degree (0-1)\n)',
          duration:'2000'
        },
        'Curve Modifiers - graduated blend easeOutPow (4) + saw (20)':{
          curve:'Uize.Curve.Mod.blend (\n  Uize.Curve.easeOutPow (4),\n  Uize.Curve.saw (\n    20,  // teeth (1-Infinity)\n    .5   // linear/sawtooth blend (0-1)\n  ),\n  Uize.Curve.line (\n    0,  // start value (0-1)\n    1   // end value (0-1)\n  )\n)',
          duration:'2000'
        },
        'Curve Modifiers - lots of sawtooth multiplying':{
          curve:'Uize.Curve.Mod.multiply (\n  Uize.Curve.linear,\n  Uize.Curve.Mod.multiply (\n    Uize.Curve.saw (\n      3  // teeth (1-Infinity)\n    ),\n    Uize.Curve.saw (\n      21,  // teeth (1-Infinity)\n      .3   // linear/sawtooth blend (0-1)\n    )\n  )\n)',
          duration:'2000'
        },
        'Curve Modifiers - 2.5x triangular':{
          curve:'Uize.Curve.Mod.repeat (\n  1,    // curve function (1 == linear)\n  5,    // repeats (0-Infinity), odd to end at 1\n  0,    // stairs degree (0-1)\n  true  // alternating flip horizontal\n)',
          duration:'1000'
        },
        'Curve Modifiers - 10 steps in a staircase':{
          curve:'Uize.Curve.Mod.quantize (\n  1,   // curve function (1 == linear)\n  10,  // intervals (1-Infinity)\n  1    // step align\n)',
          duration:'2000'
        },
        'Curve Modifiers - bent staircase with 10 steps':{
          curve:'Uize.Curve.Mod.bend (\n  Uize.Curve.Mod.quantize (\n    1,   // curve function (1 == linear)\n    10,  // intervals (1-Infinity)\n    1    // step align\n  ),\n  2,  // horizontal bend (-Infinity to Infinity)\n  -2  // vertical bend (-Infinity to Infinity)\n)',
          duration:'2000'
        },
        'Curve Modifiers - quantized easeInPow (4) w/10 steps':{
          curve:'Uize.Curve.Mod.quantize (\n  Uize.Curve.easeInPow (4),\n  10,  // intervals (1-Infinity)\n  .5   // step align\n)',
          duration:'2000'
        },
        'Curve Modifiers - band':{
          curve:'Uize.Curve.Mod.band (\n  1,    // curve (1 == linear)\n  .25,  // band X size (0-1)\n  .5    // band X align (0-1)\n)',
          duration:'1000'
        },
        'Curve Modifiers - banded easeOutBounce':{
          curve:'Uize.Curve.Mod.band (\n  Uize.Curve.Rubber.easeOutBounce (),\n  .5,  // band X size (0-1)\n  .5   // band X align (0-1)\n)',
          duration:'1000'
        }
      };
    };
  }
});