Then & There archive

This ZIP contains locally saved scans and Bundle revision history. It contains
private photographs, recorded audio, and transcripts. Store or share it carefully.
It is not evidence of cloud backup. Pending drafts and discarded drafts in local
trash are not included; restore and save them first when you want to export them.

Open images, audio, and TXT files in standard desktop applications. JSON records
which scan owns each file, the exact inherited Bundle context, digitisation time,
the crop/rotation recipe, and SHA-256 checksums. Original image/audio and machine
transcript bytes are preserved; typed corrections have a separate text file.
Separated photos retain their parent scan ID and region signature. Each owns a
copy of its inherited audio/transcript context. An ordinary rectangular child
owns the full corrected collage as its source plus a crop recipe. When shaped
processing cannot be replayed from four corners, the faithful render is flattened
into both source and rendered assets with a full-frame recipe; its parent source
hash, original bounds, and render identity remain in provenance. Manual irregular
selections use a compact transparent PNG and preserve their canonical 3–32 vertex
polygon. Elliptical detector renders keep their JPEG matte recipe.
The parent can be removed without making its separated photos unreadable. Local
operation receipts and incomplete separation workspaces are not exported.
When a physical print back was scanned, its scan record names the front scan in
backOfScanId. The archive header repeats each front/back pair in photoBacks for
easy inspection; the relationship itself is inside the SHA-256-listed scan manifest.
Front and back remain independent media packages, so each keeps its own image,
audio and transcript while sharing the front's exact pinned Bundle context.
Bundle requirePhotoBacks defaults to false for older archives. When enabled, all
original physical fronts require a captured, accepted back before finishing;
separated collage children share the physical parent's back requirement.
OCR text is stored separately from narration transcripts. Machine OCR results and
typed OCR corrections use distinct checksummed text assets, and every superseded
result remains in the scan manifest history. A complete OCR result may contain no
text; failed and unavailable results remain distinguishable in JSON.
Represented-photo date text remains separate from digitisation time. Partial,
approximate, ranged and unknown dates remain editable JSON text and do not create
image metadata. A full Gregorian day accepted for an individual photo creates a
checksummed XMP sidecar with Photoshop DateCreated; source and rendered image
bytes remain unchanged. Bundle dates are suggestions until accepted per photo.
The app does not manufacture an exact historical date or infer identities from names.

To restore, open the app Library, scroll to the archive controls, choose
"Import archive ZIP", then select this Then & There ZIP from Files. Import validates
every listed file and refuses conflicting content; existing media is never
overwritten. Import accepts at most 10,000 entries and 4 GiB of compressed or
declared uncompressed content; export streams the complete verified saved archive
without the former 128 MiB ceiling.
Archive format: narrated-photo-scanner-poc, schemaVersion 2 (reads version 1). This is a POC format,
not the production specification's full archive v1. Full Collection/Session,
embedded EXIF/IPTC, VTT, cloud verification, deletion history, and power-loss
durability are not claimed.
