GetScreenToWorld2D computes from every field of a Camera2D - offset, target, rotation and zoom - so a wrong field order produces a wrong coordinate rather than the same numbers back. That is the standard the texture lane arrived at the hard way: a struct round trip is symmetric and passes for any layout.