Local AI Cat module
Device Snap Capture (timestamped multi-source screenshots + transcript)
Current shipping, testing, and product context for this part of Local AI Cat.
Status
Where it stands
- Platforms
- macOS
- Release channels
- Alpha
- Distribution
- Not currently distributed
- AlphamacOS
Description
What it does
macOS / Alpha only. docs/planning/GOAL-device-snap-capture.md. SnapCaptureKit's pure target owns the multi-source SnapSessionWriter/README/clipboard-path, SnapSessionController, SnapCaptureSource seam, and additive transcription event contract. Its macOS SnapCapturePlatform target owns SnapCaptureCoordinator, SnapWindowCaptureSource (SCScreenshotManager), SnapDeviceCaptureSource, the device preview manager/windows, and the DEBUG -snap_device_spike runner over SnapDeviceCaptureKit's CoreMediaIO/AVFoundation DAL implementation. SnapCaptureLaunchParticipant is the sole owner of device enumeration and transcription-observer startup/teardown; the old QuickCaptureFeatureController direct lifecycle call is gone and singleton resolution stays lazy. The existing `.quickCapture` Utilities UIContribution retains the same order/action but is now catalogued to snap-capture while requiring the shared Quick Capture host. Snapshot behavior and paths are unchanged. PENDING: live DAL verification that a trusted/unlocked cabled iPhone supplies its screen rather than camera, plus S3 overlay ergonomics. Camera prompt occurs on device-window open; Screen Recording permission occurs on window/display capture.
Headless Local API
Drive it over the loopback API
Logging / observability: provisional grade L0 — structured=0 print=9 sentry=0.
- discover
- not applicable
- execute
- not applicable
- observe
- not applicable
- configure
- not applicable
- cancel/stop
- not applicable
- reset
- not applicable
No API capabilities are declared for this module yet.
No Local API operation paths are matched to this module yet.
Media
See it in action
Backlog / improvements
What comes next
No improvements are listed for this module yet.
History
How it got here
No change history has been published for this module yet.

