mirror of
https://github.com/storytold/lightcraft.git
synced 2026-10-28 03:57:57 -06:00
- Remove location: export checked only the photo's own EXIF, so an original HEIC whose GPS was in its thumbnail's EXIF or a second EXIF item was copied out with it. lightcraft_meta::embeds_location reads every HEIF EXIF and XMP item, and one it can't read counts as a location; other formats are checked as before. The refusal offers DNG only for raws (DNG export of a JPEG or HEIC fails). - iloc is walked once for all candidate items instead of once per candidate (a hostile 48 MB iloc with 64 items took over a second). - EXIF tied to an image the primary is made from (dimg: iden, iovl, tmap, grid inputs, followed with a seen-set) is the photo's; a pitm naming no item counts as no primary. - Full-box versions are read from the box's own payload. - meta README lists HEIF in embedded and ISO/IEC 14496-12 and 23008-12 in its sources; target-app-parity no longer cites HEIC (#693) as a file-exchange discount reason. Tests, failing before: GPS in a thumbnail's EXIF, a second EXIF item or an XMP item, and the unsure cases; a work bound counting iloc entries walked; derived primaries and a missing pitm item; a HEIC original refused under remove location; DNG offered only for raws. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>