When I changed GROUND_TRAVEL_COS/SIN to (0, 1) (90 deg, +Z direction) in JS, the shader still used the old (0.82, 0.57) rotation (35 deg). The corridor was built along +Z but UVs were computed as if the canvas were rotated 35 deg — meaning the corridor was effectively at 35 deg from where tiles were loaded. Tiles ended up diagonally to the flight path.