public static Vector3 EyePosition(this TransformSnapshot self, float eyeDistance)
 {
     return(VectorR.MoveStraight(
                position: self.Position,
                rotation: self.Rotation,
                distance: eyeDistance,
                forward: false));
 }
        public static TransformSnapshot New(Vector3 eyePosition, Quaternion eyeRotation, float eyeDistance)
        {
            Vector3 position = VectorR.MoveStraight(
                position: eyePosition,
                rotation: eyeRotation,
                distance: eyeDistance,
                forward: true);
            Quaternion rotation = eyeRotation;

            return(new TransformSnapshot(position, rotation));
        }