pickChevrons() spaced chevrons evenly starting from whichever ring
block the flood-fill happened to discover first - an arbitrary point
depending on where the ring was punched, with no relationship to the
ring's actual top/bottom. That let spacing land a chevron directly on
the bottom row you walk through, which a real Stargate never has.
For a vertical ring, chevron spacing is now anchored at the true
topmost block and the bottom row is excluded from the candidate list
entirely before spacing runs. Horizontal rings are unaffected - they
have no "bottom" to avoid, so they still use the full ring.