Files
CheapRetouch/specs/12-image-import.md
jared 1049057d7d Add Ralph Wiggum agent setup and project specifications
- Add project constitution with vision, principles, and autonomy settings
- Add 15 feature specifications covering full app scope
- Configure agent entry points (AGENTS.md, CLAUDE.md)
- Add build prompt and speckit command for spec creation
- Include comprehensive .gitignore for iOS development

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 23:19:41 -05:00

30 lines
1.2 KiB
Markdown

# 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