Skip to content

Repository files navigation

Raw Nine Studio

Raw Nine Studio is an experimental native macOS RAW photo editor built to explore Apple's Core Image RAW 9 pipeline.

I'm a photographer and was curious what Apple's RAW 9 improvements could mean for people building serious alternatives to established RAW editors. I started by discussing the WWDC announcement with a coding agent, then kept guiding it from research into architecture, implementation, visual design, testing, and a working macOS application.

This repository is the result of that investigation. The agent wrote and revised much of the code, while I directed the product goals, challenged assumptions, requested Lightroom-style workflows, and shaped the editor around the parts of photography software that interest me.

What it explores

  • Core Image RAW decoding with RAW 9 when supported
  • Non-destructive editing recipes and persisted .rawnine projects
  • Global RAW controls, curves, HSL, color grading, masks, crop, and retouching
  • On-device Vision subject, foreground, and person masks
  • Scene-linear and display-referred color processing with HDR preservation
  • Metal Core Image kernels, asynchronous rendering, and preview/export parity
  • Lightroom-inspired controls, direct canvas manipulation, typed values, and transactional undo

This is a research project and usable prototype, not a promise of production parity with Lightroom or Capture One. RAW 9 itself requires a compatible Apple OS and camera; the editor falls back to other Core Image RAW decoder versions when necessary.

Run it

Requirements:

  • macOS 15 or newer
  • Xcode with the macOS SDK
  • XcodeGen (brew install xcodegen)
Scripts/generate-project.sh
open RawNineStudio.xcodeproj

Select the shared RawNineStudio scheme and press Command-R.

Or build and launch from Terminal:

Scripts/run-app.sh

Build and test

DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer xcrun swift build
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer xcrun swift test

Build a Release app bundle:

SIGNING=none Scripts/build-app.sh

The output is written to:

.build/xcode/DerivedData/Build/Products/Release/RawNineStudio.app

Project structure

  • Sources/RawNineCore — RAW processing, editing, rendering, persistence, and validation
  • Sources/RawNineCanvasGeometry — testable canvas and control geometry
  • Sources/RawNineStudioApp — native SwiftUI/AppKit application
  • Tests — synthetic image, recipe, rendering, validation, and interaction tests
  • project.yml — source of truth for the generated Xcode project

The Core Image Metal library is generated from Sources/RawNineCore/Metal/RawNineKernels.ci.metal with:

Scripts/build-metal-kernels.sh

Attribution

Built through an iterative collaboration between Josh Rehders and GitHub Copilot CLI. The project began as a personal photographic investigation into Apple's Core Image RAW 9 improvements.

License

MIT

About

An agent-guided macOS RAW editor exploring Apple Core Image RAW 9.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages