Initial Commit

This commit is contained in:
2026-05-27 23:29:53 +01:00
commit fbc70f96e6
10000 changed files with 1102152 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
# Tasks: enterprise-exif
## 1. Scaffold
- [x] 1.1 `universal/media/exif/`; 100/100/100/100; guard tests; CLAUDE/README/FOLDERS.
## 2. Errors + schemas
- [x] 2.1 `src/errors/exif-error.ts` — codes.
- [x] 2.2 Zod schemas for ExifData, ImageMetadata, MetadataPatch, IccProfile.
## 3. Binary primitives
- [x] 3.1 `src/binary/reader/*` — `ByteReader`, `ByteOrder`.
- [x] 3.2 `src/binary/writer/*` — `ByteWriter`.
- [x] 3.3 `src/binary/rational/*` — rational arithmetic + property tests.
- [x] 3.4 `src/binary/crc32/*`, `src/binary/md5/*`.
## 4. IFD engine
- [x] 4.1 `src/ifd/entry/*` — entry codec + `TIFF_TYPE`.
- [x] 4.2 `src/ifd/parse/*` — `parseTiff`.
- [x] 4.3 `src/ifd/build/*` — `buildTiff`.
- [x] 4.4 Round-trip property test on random IFD trees.
## 5. Format readers/writers
- [x] 5.1 JPEG segments `src/formats/jpeg/*`.
- [x] 5.2 PNG chunks `src/formats/png/*`.
- [x] 5.3 TIFF `src/formats/tiff/*`.
- [x] 5.4 WebP chunks `src/formats/webp/*`.
- [x] 5.5 ISOBMFF/HEIC box reader + read/write `src/formats/isobmff/*`.
- [x] 5.6 RAW dispatch `src/formats/raw/dispatch/*`.
- [x] 5.7 Real-image fixture tests per format.
## 6. Core dispatch
- [x] 6.1 `src/core/detect/*` — `detectImageFormat`.
- [x] 6.2 `src/core/read/*`, `src/core/write/*`, `src/core/strip/*`.
- [x] 6.3 OTel histograms per format.
## 7. Metadata sub-systems
- [x] 7.1 GPS: convert + timestamp.
- [x] 7.2 ICC: read / write / validate / convert (classifyProfile, isSRGB, isAdobeRGB, isDisplayP3, profileDescription).
- [x] 7.3 IPTC: read / write.
- [x] 7.4 XMP: read / write + namespaces.
## 8. MakerNotes
- [x] 8.1 Dispatch + Apple bplist + Apple + Canon + Nikon (+ cipher) + Sony (+ cipher).
## 9. Differential fuzz
- [x] 9.1 Differential harness vs `exifr` on 1 000-image corpus; record discrepancies.
## 10. Docs / barrel / subpath exports / README / benchmarks
## 11. Ship gate
- [x] 11.1 Verification sequence; fold + archive (merge with main-branch `exif-migration` delta).