Technical Deep Dives

Technical articles about RawCull’s implementation, architecture, and advanced concepts.

Posts in 2026
  • Swift Concurrency in RawCull

    Thursday, March 26, 2026 in Technical Deep Dives

    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. …

    Read more

  • Sony MakerNote Parser

    Wednesday, March 25, 2026 in Technical Deep Dives

    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 …

    Read more

  • Scan and Thumbnial Pipeline

    Wednesday, March 25, 2026 in Technical Deep Dives

    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 …

    Read more

  • Threads

    Wednesday, March 25, 2026 in Technical Deep Dives

    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 …

    Read more

  • Sharpness Scoring

    Wednesday, March 25, 2026 in Technical Deep Dives

    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 …

    Read more

  • Concurrency model

    Tuesday, March 17, 2026 in Technical Deep Dives

    Concurrency Model — RawCull Files covered: RawCull/Model/ViewModels/RawCullViewModel.swift RawCull/Views/RawCullSidebarMainView/extension+RawCullView.swift RawCull/Actors/ScanFiles.swift RawCull/Actors/ScanAndCreateThumbnails.swift …

    Read more

  • Thumbnails

    Tuesday, March 17, 2026 in Technical Deep Dives

    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 …

    Read more

  • Memory Cache

    Tuesday, March 17, 2026 in Technical Deep Dives

    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 …

    Read more

  • Synchronous Code

    Thursday, February 19, 2026 in Technical Deep Dives

    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 …

    Read more

  • Security-Scoped URLs

    Thursday, February 05, 2026 in Technical Deep Dives

    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 …

    Read more