- 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>
30 lines
1.2 KiB
Markdown
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
|