iOS astrophotography for dark-sky discovery, capture sequencing, and frame stacking.
Stakka combines three product areas:
- Library stacking with project-based workflows, grouped calibration frames, TIFF export, and DSS-style comet modes
- Capture sequencing with wheel-picker camera controls and handoff into the stacking project system
- Dark-sky exploration with MapKit-based location readings and a light-pollution surface
The current codebase is beyond the original prototype, but still mid-transition. RAW/FITS import, intermediate exports, live stacking, and real light-pollution data are still in progress.
- Create, open, duplicate, and delete local stacking projects
- Organize
Light / Dark / Flat / Dark Flat / Biasframe groups - Import frames from Photos or Files
- Run
analyze -> register -> stack - Save the final result to Photos or export TIFF
standard: stars frozen, comet trailscometOnly: comet frozen, stars trailcometAndStars: comet and stars both frozen- Automatic comet estimation after registration
- Full-screen per-frame comet review and manual correction
- Sequential multi-frame capture
- Wheel-picker controls for exposure and shot count
- Expandable advanced controls
- Capture-to-project handoff into the recent stacking project
- MapKit-based dark-sky exploration
- Current-location centering
- Bortle-style mock readings
Stakka uses a domain-oriented structure:
Stakka/
├── App/
├── Domains/
│ ├── Capture/
│ ├── DarkSky/
│ ├── Library/
│ ├── Session/
│ └── Stacking/
└── Platform/
Core rules:
Appwires dependencies and root navigationDomains/*/Presentationowns SwiftUI views and view modelsDomains/*/Applicationowns orchestration and use casesDomains/*/Domainholds business models and protocolsDomains/*/Infrastructureholds framework adapters and storage
Start with docs/overview/ARCHITECTURE.md for the full system guide.
- SwiftUI
- AVFoundation
- MapKit
- PhotosUI
- CoreImage + CoreGraphics
- Vision
- Swift Concurrency
- XcodeGen
brew install xcodegen
git clone https://github.com/stvlynn/Stakka.git
cd Stakka
xcodegen generate
open Stakka.xcodeprojBuild from the command line:
xcodebuild \
-project Stakka.xcodeproj \
-scheme Stakka \
-destination 'platform=iOS Simulator,name=iPhone 15 Pro' \
buildIf that simulator is unavailable, use any installed iPhone simulator or a concrete simulator identifier.
- docs/modules/library-stacking.md
- docs/modules/image-stacking.md
- docs/modules/camera.md
- docs/modules/light-pollution.md
- docs/modules/design-system.md
- docs/guides/project-catalog.md
- docs/guides/library-workflow.md
- docs/guides/comet-mode.md
- docs/guides/capture-handoff.md
- No RAW/FITS import yet
- No calibrated or registered intermediate export yet
- No live stacking yet
- No background calibration, channel alignment, or cosmetic correction yet
- Advanced camera controls are not fully wired to device hardware
- Light-pollution data is still mocked
MIT. See LICENSE.