/// Utility function to linearly map an input value to an output
pub fn map_linear(val: f32, range_in: (f32, f32), range_out: (f32, f32)) -> f32 {
// todo: You may be able to optimize calls to this by having the ranges pre-store
// todo the total range vals.
let portion = (val - range_in.0) / (range_in.1 - range_in.0);
portion * (range_out.1 - range_out.0) + range_out.0
}