User reports NS axis mirror with current swap. Try the original formula (canvasY = (lng + halfLong + 0.5)*TILE_SIZE) without swapping. UNPACK_FLIP_Y_WEBGL stays true so text still reads right-side up; just see if the user's visual expectations match this simpler arrangement.