How 0xh4ku/snipshelf works
SnipShelf is a native macOS visual-reference shelf. Its main workflow starts with screen capture or image import, refines an image into a cutout, then saves and organizes clips for search, preview, export, and floating references. PaletteKit adds subject-aware color analysis and configurable palettes. The tree and excerpts support the main entry points and analysis links; wiring for some storage, masking, and window details is only partially sampled, so those relations are omitted where uncertain.
Main entry points: AppController.swift App controller · PaletteModel.swift Palette model · CaptureCanvas.swift Capture canvas · ShelfStore.swift Shelf store
Components 20
Capture and Cutouts
- Capture canvas
Sources/SnipShelf/CaptureCanvas.swift - Subject masking
Sources/SnipShelf/SubjectMask.swift - Image processing
Sources/SnipShelf/ImageCore.swift
Shelf and Library
- App controller
Sources/SnipShelf/AppController.swift - Clip preview
Sources/SnipShelf/PreviewView.swift - Shelf store
Sources/SnipShelf/ShelfStore.swift - Shelf collection
Sources/SnipShelf/ShelfCollection.swift - Library view
Sources/SnipShelf/LibraryView.swift - Backup and recovery
Sources/SnipShelf/ShelfBackup.swift
References
- Reference windows
Sources/SnipShelf/ReferenceWindow.swift - Reference display
Sources/SnipShelf/ReferenceView.swift
Color Analysis
- Clip palette
Sources/SnipShelf/ClipPaletteView.swift - Palette model
Sources/PaletteKit/PaletteModel.swift - Palette analysis
Sources/PaletteKit/PaletteAnalysis.swift - Palette settings
Sources/PaletteKit/PaletteSettingsView.swift - Palette strip
Sources/PaletteKit/PaletteStripView.swift - Saved preferences
Sources/PaletteKit/PaletteDefaults.swift
Other components
- Mac user
- Screen content
- Image files
Connections 24
- Mac user → App controller: starts actions
- App controller → Capture canvas: opens capture
- Screen content → Capture canvas: captured from
- Mac user → Image files: chooses images
- App controller → Image files: imports
- Capture canvas → Subject masking: refines selection
- Capture canvas → Image processing: processes image
- App controller → Shelf store: imports and saves
- App controller → Shelf collection: presents shelf
- Shelf collection → Shelf store: reads clips
- App controller → Clip preview: opens preview
- Clip preview → Image processing: loads image
- App controller → Reference windows: opens references
- Reference windows → Reference display: hosts view
- Reference display → Shelf store: reads clip data
- App controller → Backup and recovery: initiates recovery
- App controller → Palette model: requests analysis
- Clip palette → Palette model: presents colors
- Palette model → Palette analysis: analyzes image
- Palette analysis → Palette model: returns palette
- Clip palette → Palette strip: renders swatches
- Palette settings → Palette model: updates options
- Palette model → Saved preferences: loads and saves
- Palette strip → Mac user: copies HEX