Files
lightcraft/crates/engine
Alex ChambersandClaude Opus 5.5 3e176be41a LR-META-EXIF-FULL: review fixes for HEIF metadata (#693)
- 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>
2026-10-12 11:47:59 +02:00
..
2026-10-11 12:40:55 +00:00