I will rephrase it a bit.
for these spatial queries we don't want to run lots of per-document haversin checks. so its important to categorize "rectangles" (subtrees) as "completely OUTSIDE of query range" so that we don't have to inspect any points in them.
does not matter if its GeoPointField impl (which makes a tree out of the term dictionary) or LatLonPoint impl (which uses BKD tree). in either cases it acts like a 2D tree and subtrees are "rectangles".
Today, we only return "completely OUTSIDE of query range" if the incoming "rectangle" is completely outside of circle's bounding box This is very coarse: it means all the points in "BOUNDING_BOX MINUS CIRCLE" (imagine the corner areas of the bounding box: these are large areas and not relevant), we are slowly inspecting them one by one. Now with the patch, generally speaking we only do the slow inspection for areas crossing the actual edge of the circle, versus a much larger area.