Fixes:
1. Front flash now properly resets after capture
- restorePreviewAfterFlash() called in photo delegate
- Preview no longer stays white after taking photo
2. Device rotation support
- updateVideoOrientation() updates capture connections
- Uses modern videoRotationAngle API (iOS 17+)
- Listens to UIDevice.orientationDidChangeNotification
3. Center Stage support for supported devices
- Detects Center Stage availability on front camera
- Toggle button in top control bar (person.crop.rectangle icon)
- Yellow highlight when enabled
- Updates availability on camera switch
Fixes:
1. Camera preview rounded corners - clipShape now applied before padding
so the preview itself has rounded corners, not the container
2. Debounced slider saves - ringSize and customColor now use debouncing
- Immediate UI update via cached values
- 300ms debounce before cloud save
- Prevents excessive save operations during slider drag
3. Simplified custom color picker to one-step
- ColorPicker styled as a circle button
- Shows current custom color always (no rainbow)
- Tapping opens iOS native color picker directly
- Color applies immediately on selection
- No Apply/Cancel sheet needed
Features:
- Custom color button in Light Color section (rainbow gradient icon)
- Tapping opens color picker sheet with:
- Live color preview
- Native iOS ColorPicker
- Tips for best ring light colors
- Custom color syncs across devices via iCloud
- Premium-gated with crown icon indicator
Storage:
- CustomColorRGB struct for Codable-compatible color storage
- RGB values stored separately in SyncedSettings
- Color converts to/from UIColor for RGB extraction
UI:
- Rainbow gradient when not selected, solid custom color when selected
- Sheet with Apply/Cancel buttons
- Color preview bar at top of picker
Changes:
1. Camera preview now fills available space (not forced square)
- Maintains proper aspect ratio for captured photos
- Controls overlay on top of preview
2. Ring size now limited based on screen dimensions
- Maximum is 1/4 of smaller screen dimension
- Prevents content from shifting off-screen
3. Removed light intensity slider
- Was causing color changes (opacity approach)
- Ring light now always at full brightness
4. Removed crown icon from main screen
- Pro upgrade moved to Settings > Pro section
- Cleaner camera interface
5. Smaller top icons
- Grid and settings buttons use .body font
- Less visual clutter
Features:
- Full-screen PostCapturePreviewView after photo/video capture
- Auto-save to Photo Library (on by default, configurable in Settings)
- Toast notification when saved
- Retake button to discard and return to camera
- Share button with native iOS Share Sheet
- Edit mode with smoothing and glow intensity sliders
- Premium tools teaser in edit view
- Video/boomerang auto-playback with loop support
Settings:
- Added 'Auto-Save' toggle in Capture section
- Syncs across devices via iCloud
Architecture:
- CapturedMedia enum for photo/video/boomerang types
- ShareSheet UIViewControllerRepresentable wrapper
- Toast system in CameraViewModel