Question for those of you most knowledgeable in NPC village mechanics:
I'm in the process of planning out a city build, where I want different districts of my city to be seperate and distinct NPC villages. I know that the default minimum village radius is 32 blocks, so to keep the districts distinct from each other, their centers need to be seperated by at least 64 blocks (plus a bit extra, for a buffer zone, just in case). And I understand how the game finds the center-point of a village, by averaging the position of the most distant doors.
But - what I can't seem to find any information on is just how that 32 block radius is calculated, particularly in the diagonal. My city probably won't be based on a strict grid system, instead following the contours of the existing landscapes as much as possible - which will likely mean districts with rounded 'corners' following hillsides and such. So knowing roughly how tightly I can keep districts together, while still remaining seperate for their individual NPC village status, is something I'd like to do in the planning stage, not in the later tearing-everything-down-and-rebuilding-10-blocks-further-away stage (which I'd love to avoid).
So, for a village radius, does the game:
Count blocks in taxicab distance to the diagonal, like the way light distances work (forming a diamond pattern)?
Actually do the calculations to get a circular pattern based on true distance to center?
Just count 32 blocks along the X and Z from center, then form a 64x64 square off those distances?