Fixes screen rotation, broken since the v5 rewrite (#507).
What's fixed
- Portrait monitors were drawn landscape: the physical size was transposed twice — the monitor model stored it already oriented while the projection chain applies the rotation again. The model now stores the intrinsic panel size (GDI value normalized against the EDID aspect; TV EDIDs lying about their size are ignored).
- Rotating a display produced a disjoint layout: the config signature ignored orientation (a v4 behavior lost in the v5 port), so rotating reloaded positions saved for the other orientation. Each orientation now keeps its own saved layout — and existing configs keep their keys, nothing to redo.
- Rotations done by the display driver (e.g. NVIDIA control panel) that leave Windows reporting "no rotation" are now inferred from the panel's EDID aspect.
- First placement of a new configuration now runs on the fully loaded state — exactly what the "place from windows layout" button does — and a saved layout is never re-compacted on rebuild.
⚠️ Requires the .NET 10 Desktop Runtime (x64).
Full Changelog: v5.4.0...v5.4.1
💜 If Little Big Mouse is useful to you, consider sponsoring the project.