the mode keeps its unrotated dimensions and logical_size arrives already
swapped, so without the transform a rotated output is indistinguishable
from a scaled one. degrees (0/90/180/270), flipped variants map to their
rotation, serde default keeps older serialized snapshots deserializing.
needed by rustdesk#15886 (drm capture ships a rotated scanout sideways).