Great stuff, Blake.   Just in case people need a little more info on how normalize() and clamp() work here is a reduced demo with some comments   // normalize will return a value between 0 and 1 function normalize(value, min, max) {   return (value - min) / (max - min); } // 40 is half-way between 30 and 50 // value, min, max console.log(normalize(40, 30, 50)); // return 0.5 //clamp forces a value into a range function clamp(value, min, max) {   return value < min ? min : (value &
    • Like
    6