A native iOS still camera with a small, deliberate film vocabulary: responsive capture, camera-style lens stops, local development, and a private Lab for the resulting photographs.
- SwiftUI shell with AVFoundation capture/movie recording and UIKit camera preview.
- Rear/front camera switching, tap focus/exposure, flash modes, ramped zoom, and device-dependent lens stops.
- Four built-in recipes: 1998, Night, Cinema, and Digicam. Digicam v7 keeps colour neutral, with punchy flash contrast, coarse shadow texture, restrained warm highlights, and a subtle vignette; the film recipes add halation, chromatic aberration, optional light leaks, and date stamps.
- Photo Quality is captured into each applied recipe as a JPEG compression quality, so re-development remains reproducible after Settings change.
- Capture bytes are committed locally before development. Development is deferred off the camera/session path and can be retried.
- Photo mode and short-film mode (with synchronized microphone audio), capped at 60 seconds per clip. Developed films play in detail view and can be shared/exported to Photos.
- App-sandbox media library, optional original preservation, Favorites, share/export, deletion, thumbnail cache, recovery, and legacy
Documents/photosmigration. Legacy deletions are kept in a durable tombstone ledger; a corrupt ledger pauses migration safely. - No accounts, analytics, ads, or uploads. Camera and microphone are used only for capture; Photos export uses add-only permission.
Video processing uses a file-backed movie input and a temporally stable Core Image treatment. A generated tiny-movie test exercises successful rendering and validates a playable output in Simulator; actual capture, microphone/audio sync, thermal/pressure behavior, lens/flash behavior, and playback/export on captured media remain physical-device release gates. See release engineering.
xcodebuild -project Aperture.xcodeproj -scheme Aperture \
-sdk iphonesimulator -configuration Debug build
xcodebuild -project Aperture.xcodeproj -scheme Aperture \
-sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 16 Pro' testThe simulator can cover UI, storage/recovery/migration, recipes, and deterministic processing. Camera capture, microphone/audio sync, thermal/pressure behavior, flash, lens availability, and Photos export of captured media require a physical iPhone. See release engineering.
- Architecture
- Release engineering and device checklist
- App Store release runbook
- Roadmap
- Local Film Lab: a Mac browser tool for tuning the 1998 look with the app's renderer
- Historical research and build context
- Contributor notes