export function clamp(min, input, max) { return Math.max(min, Math.min(input, max)) } export function mapRange(in_min, in_max, input, out_min, out_max) { return ( ((input - in_min) * (out_max - out_min)) / (in_max - in_min) + out_min ) } export function lerp(start, end, amt) { return (1 - amt) * start + amt * end } export function truncate(value, decimals) { return parseFloat(value.toFixed(decimals)) } export function wrapValue(value, lowBound, highBound) { const range = highBound - lowBound return ((((value - lowBound) % range) + range) % range) + lowBound }