Technical Deep Dives
Technical articles about RawCull’s implementation, architecture, and advanced concepts.
Swift Concurrency in RawCull
Thursday, March 26, 2026 in Technical Deep Dives
Categories:
Swift Concurrency in RawCull A summarized document about Concurrency in RawCull. 1 Why Concurrency Matters in RawCull RawCull is a macOS photo-culling application that works with Sony A1 ARW raw files. A single RAW file from the A1 can be 50–80 MB. …
Sony MakerNote Parser
Wednesday, March 25, 2026 in Technical Deep Dives
Categories:
Sony MakerNote Parser — Focus Point Extraction Files covered: RawCull/Enum/SonyMakerNoteParser.swift RawCull/Model/ViewModels/FocusPointsModel.swift RawCull/Actors/ScanFiles.swift RawCull/Views/FocusPoints/FocusOverlayView.swift Overview RawCull …
Scan and Thumbnial Pipeline
Wednesday, March 25, 2026 in Technical Deep Dives
Categories:
RawCull — Scan and Thumbnail Pipeline This document describes the complete execution flow from the moment a user opens a catalog folder to the point where all thumbnails are visible in the grid. It covers the actors involved, the data flow between …
Threads
Wednesday, March 25, 2026 in Technical Deep Dives
Categories:
Concurrency Monitoring — ScanFiles Analysis The cooperative thread pool Swift’s runtime manages a pool of threads capped at roughly the number of CPU cores. Apple Silicon M-series typically has 8–12 performance cores. The output shows a peak of …
Sharpness Scoring
Wednesday, March 25, 2026 in Technical Deep Dives
Categories:
Updated Sharpness Scoring in RawCull This document describes how RawCull computes sharpness scores, what each parameter does, and a boundary-value test procedure for validating parameter behaviour. This applies to version 1.3.7 of RawCull How the …
Concurrency model
Tuesday, March 17, 2026 in Technical Deep Dives
Categories:
Concurrency Model — RawCull Files covered: RawCull/Model/ViewModels/RawCullViewModel.swift RawCull/Views/RawCullSidebarMainView/extension+RawCullView.swift RawCull/Actors/ScanFiles.swift RawCull/Actors/ScanAndCreateThumbnails.swift …
Thumbnails
Tuesday, March 17, 2026 in Technical Deep Dives
Categories:
Thumbnails and Previews — RawCull RawCull handles Sony ARW files through two distinct image paths: Generated thumbnails — fast, sized-down previews for browsing and culling, extracted with ImageIO and cached in RAM and on disk Embedded JPEG previews …
Memory Cache
Tuesday, March 17, 2026 in Technical Deep Dives
Categories:
Cache System — RawCull RawCull uses a three-layer cache to avoid repeated RAW decoding. Decoding an ARW file on demand is expensive — the three-layer approach ensures that most requests are served from RAM or disk rather than from source. Layers …
Synchronous Code
Thursday, February 19, 2026 in Technical Deep Dives
Categories:
A Guide to Handling Heavy Synchronous Code in Swift Concurrency This post explains why CPU-intensive synchronous code (such as image decoding via ImageIO) must be dispatched off the Swift Concurrency thread pool, and shows the correct patterns …
Security-Scoped URLs
Thursday, February 05, 2026 in Technical Deep Dives
Categories:
Security-scoped URLs are a cornerstone of macOS App Sandbox security. RawCull uses them to gain persistent, user-approved access to source and destination folders while remaining fully sandbox-compliant. This article walks through exactly how the …