v0.8.1: improve XMP sidecars
This commit is contained in:
@@ -20,6 +20,7 @@ For a practical step-by-step manual with recommended backup workflows, recovery
|
||||
- Failure tracking with `failures.jsonl` and `retry-failed`.
|
||||
- Deduplicated failure management with `failures list`, `failures clear`, and `retry-failed --clear-on-success`.
|
||||
- Verification, reporting, and diff commands for backup integrity.
|
||||
- Optional XMP sidecar verification with `verify --sidecar`.
|
||||
- Status command for quick backup summaries.
|
||||
- Opt-in rich XMP sidecar metadata with `--sidecar xmp`.
|
||||
- Optional Apple MapKit reverse geocoding for GPS assets on macOS 26+ with `--reverse-geocode`.
|
||||
@@ -269,6 +270,7 @@ Common flags for `export` and `backup-all`:
|
||||
- `--dry-run`: print planned exports without writing files, manifests, or logs.
|
||||
- `--json`: print a machine-readable summary to stdout.
|
||||
- `--verify`: run manifest/file verification after export.
|
||||
- `--sidecar` with `verify`: also verify expected `.xmp` sidecars.
|
||||
- `--log`: enable structured export logging.
|
||||
- `--manifest jsonl|sqlite`: choose manifest backend, default `jsonl`.
|
||||
- `--no-manifest`: disable manifest reads/writes.
|
||||
@@ -351,7 +353,13 @@ IMG_0001.HEIC -> IMG_0001.xmp
|
||||
|
||||
The XMP contains photoscli metadata such as asset ID, filenames, album, manifest path, media type, dimensions, favorite state, cloud state, export mode, version, exported timestamp, size, and creation date when available. If `--sidecar xmp` is explicitly selected and the sidecar cannot be written, that asset is treated as failed.
|
||||
|
||||
In v0.8.0, sidecars also include richer public PhotoKit metadata where available: modification date, duration, hidden state, adjustment state, media subtypes, source type, playback style, burst data, GPS coordinates, adjustment info, and structured asset resources. Add `--reverse-geocode` to include cached address fields from Apple MapKit for assets with GPS coordinates. Reverse geocoding requires macOS 26 or newer; on older macOS versions the export continues and XMP still includes GPS coordinates.
|
||||
Sidecars also include richer public PhotoKit metadata where available: modification date, duration, hidden state, adjustment state, media subtypes, source type, playback style, burst data, GPS coordinates, adjustment info, structured asset resources, standard XMP dates, EXIF GPS coordinates, favorite rating, and album/folder keywords. Add `--reverse-geocode` to include cached address fields from Apple MapKit for assets with GPS coordinates. Reverse geocoding requires macOS 26 or newer; on older macOS versions the export continues and XMP still includes GPS coordinates.
|
||||
|
||||
Verify generated sidecars with:
|
||||
|
||||
```bash
|
||||
photoscli verify --out ./backup --sidecar
|
||||
```
|
||||
|
||||
## Failure Tracking
|
||||
|
||||
@@ -464,3 +472,9 @@ Objective-C returns JSON to Go. Tests use the stub bridge and do not require rea
|
||||
- Album title lookup uses exact title matching. Use PhotoKit local identifiers when names are ambiguous.
|
||||
- iCloud-backed assets may trigger downloads and can fail due to network or account state.
|
||||
- `--min-size` and `--max-size` currently use estimated pixel count from dimensions, not encoded file size.
|
||||
|
||||
## Roadmap
|
||||
|
||||
- `0.8.x`: make XMP sidecars as rich, standard-compatible, and complete as possible from public PhotoKit metadata.
|
||||
- `0.9.0` through `0.9.5`: checksums, deep verification, manifest repair, cleanup, doctor, and backup-integrity hardening.
|
||||
- After `0.9.5`: opt-in Vision/Core ML analysis for photoscli-generated face/object/animal/scene metadata.
|
||||
|
||||
Reference in New Issue
Block a user