Justifications
Just earlier, I accidentally introduced a bug where I found the cosine distance of a bearing and a world point. Unfortunately, this was incorrect. I needed to transform the world point into the camera space first before computing the cosine distance for the purpose of filtering the point.
Also, a common thing to do is to compute this projection error as cosine distance via: 1.0 - bearing.dot(&view_point.bearing()).
Solution
We need to create a projection_error or similarly named method on the Bearing or CameraPoint. It can also be on both, so long as one simply calls the other.