A picture's XMP GPS is never read, and which block answers for it is unmeasured #233
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
#222 measured which block answers for every property the fixture's XMP packet and Exif block both carry. The packet carries no GPS, so latitude, longitude and altitude are the one group whose order is still inferred.
What we do
crates/ephyra-images/src/exif.rsreads GPS from the Exif/TIFF block alone;read_xmpreads none of it. A picture carryingexif:GPSLatitudein its XMP packet and no GPS in its block therefore files no location here, where upstream'sImageTag.Latitudereads through the combined tag and would answer from the packet.Verifying
The same way #222 was settled: give the contested picture in
xtask/src/reference/assets.rsa GPS triple in its packet and a different one — or none — in its block, regenerate withcargo xtask reference gen-library-kinds, and let thereadblock show which upstream files. The comparison test then holds it.The same fixture can settle
xmp:Rating, which the measurement left untested: upstream filed no rating at all although the Exif block carried one, so that tag is now read by nothing, and whether the packet's rating would have answered is unknown.Found reviewing #222.
Measured, and landed on
mainatec3a4ee8. The answer is that no change was needed, and now it is written down as measured rather than inferred.The contested picture's Exif block was stripped of its GPS directory and its packet given a location and a rating of 2, against the block's 3. Upstream then filed:
Both are negative results a fixture could have faked by carrying nothing, so it is worth saying the packet does parse: the rating proves it.
crates/ephyra-images/src/exif.rsalready behaved this way, so only its module documentation changed — from "unmeasured" to what the key shows. The comparison test holds it, and fails if upstream ever moves.