FA-79130 / Image orientation metadata / Member archive
Baking adds an Orientation tag to files that never had one · case 05
Metadata diffs show a new Orientation key on images that were stored without it.
Case contract
After pixels have been baked upright, rewrite the metadata dictionary. When the (valid) Orientation is 5..8, exchange PixelXDimension/PixelYDimension, ImageWidth/ImageLength and XResolution/YResolution, moving a lone member of a pair to its partner key. Invalid or missing Orientation values mean no swap. Orientation is set to 1 only if the key exists; XMP:Orientation, if present, becomes the string "1"; ThumbOrientation is removed because the thumbnail is regenerated. Return sorted [key, value] pairs.
Why this case matters
Camera, phone and scanner images carry an orientation hint separately from the stored pixels; galleries, thumbnailers, editors and upload pipelines must interpret it consistently or photos appear sideways, mirrored or doubly rotated.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: orientation key normalisation 0 | [["ImageLength", 1172], ["ImageWidth", 3622], ["Orientation", 1], ["PixelXDimension", 2095], ["PixelYDimension", 4143], ["XResolution", 182]] | [["ImageLength", 1172], ["ImageWidth", 3622], ["PixelXDimension", 2095], ["PixelYDimension", 4143], ["XResolution", 182]] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗