normalized
Folds an out-of-world x back into the primary world copy.
x uses Math.floorMod, not %: Kotlin's remainder keeps the sign of the dividend, so a west-copy tile (x = -1) stayed at -1 instead of folding to the east edge, and the edge-blending neighbour lookup in XweatherEncodedTileSource — whose whole purpose is "handle world wraparound (x < 0 or x max)" — missed every tile across the antimeridian.
y deliberately keeps plain %. Mercator does not wrap vertically, so a y outside the grid is genuinely off-map (getNeighbors produces y = -1 above the top row); folding it would silently substitute a tile from the opposite pole.