# Image Import ## Description Import photos from Photo Library or Files app. ## Acceptance Criteria - [ ] Import button opens `PHPickerViewController` - [ ] Limited photo library access supported (no full access required) - [ ] Selected photo loaded into editor - [ ] PHAsset `localIdentifier` stored for Photos-sourced images - [ ] Files app import supported via document picker - [ ] File-imported images embedded in project data - [ ] Supported formats: JPEG, PNG, HEIC - [ ] Large images (>12MP) handled with appropriate warnings - [ ] Loading indicator shown during import - [ ] Import errors handled gracefully with user feedback - [ ] Privacy: no photo library write permission requested at import time ## Technical Notes - Use `PHPickerViewController` (not `UIImagePickerController`) for modern API - Configure picker: `filter: .images`, `selectionLimit: 1` - For Files: use `UIDocumentPickerViewController` with `UTType.image` - Store original at full resolution, generate preview separately ## Edge Cases - User cancels picker: return to previous state, no error - Corrupted/unreadable image: show "Unable to load image" error - Very large image (48MP+): warn about potential memory issues - Permission denied: show guidance to enable in Settings