# easings-rs This is a very simple implementation of the the easings found at https://easings.net/en. The intent is to provide easy functionality without a ton of bells and whistles. Install by placing this in the dependencies of your `Cargo.toml`: ``` easings-rs = "0.1.0" ``` There is a single enum with a variant for each easing effect documented on the above site, along with a `Linear` easing as well. They are provided as ``, such as `ElasticOut` or `SineInOut`. There is one exported function called `ease` which can called to get the easing value for a percentage progress (`f32` between 0 and 1). So, let's say you are using this in a game engine like Amethyst, and you are easing between two positions for an object: ``` #[derive(Component)] pub struct EaseEffect { pub duration_frames: u64, pub start_frame: u64, pub easing: Easing, } // ... let frames_elapsed = time.frame_number() - ease_effect.start_frame; let percent = frames_elapsed as f32 / ease_effect.duration_frames as f32; let progress = ease(ease_effect.easing, percent); *transform.translation_mut() = source + progress * (destination - source); ``` ``` ```