    Debug.pnt.reset().add( e.detail, 0xff0000, 2 );
            fnIK( e.detail );        
        });
    
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    App.render();
});
//#endregion

// #region HELPERS

function lerp( a, b, t ){ return a * (1-t) + b * t; }
function toRad( v ){ return v * 0.01745329251; }

function lawcosSSS( aLen, bLen, cLen ){
    // Law of Cosines - SSS : cos(C) = (a^2 + b^2 - c^2) / 2ab
    // The Angle between A and B with C being the opposite length of the angle.
  