I appreciate the in-depth explanation. I feel more enlightened on the topic at hand.
With this function you are trying to get the absolute value of the impactNormal’s Z axis and checking if that absolute value is greater then 0.8? Then you change the basis vector’s X axis based on that. You are checking to see if the Z axis of the vector is greater then 0.80. But why 0.80 in particular? Please correct me in anything that I am saying.