Perform a general cleanup of the codebase to improve maintainability.
Areas to improve:
- Magic Strings: SettingsStore uses hardcoded string keys for UserDefaults. Move these to a private enum Keys.
- ViewModel Responsibilities: RecorderViewModel handles permissions, notifications, and timer logic. Consider extracting a NotificationService and TimerService.
- Magic Numbers: RecorderViewModel.getContentSize has hardcoded fallback resolution (1920x1080).
- Error Handling: Ensure AssetWriter errors are propagated clearly to the UI.
Perform a general cleanup of the codebase to improve maintainability.
Areas to improve: