← All projects

Browser imaging / Private project · recording

RAW Photo Editor

Decode, adjust and export RAW photographs through a shared browser and desktop editing pipeline.

My contribution
I built the RAW decoding and editing pipeline, its programmatic interface, and the browser and Electron interfaces.
Tools & methods
WebGPU · WGSL · LibRaw/WASM · Electron
Existing editor recording showing a photograph and its adjustment controls. Playback is a demonstration, not an interactive editor or a test of this display’s HDR support.

The problem

What this project investigates

RAW editing involves large files, camera-specific decoding and colour processing. Keeping the workflow on the device avoids a server upload and lets the original photograph remain unchanged.

The build

What I built

The documented implementation combines LibRaw compiled to WebAssembly, non-destructive adjustment recipes, a WebGPU preview pipeline and gain-map JPEG export. The GUI uses the same editing API exposed to programmatic callers.

Technical choices

Decisions behind the build

Separate the recipe from the original

Adjustments are stored as an editable recipe rather than baked into the source photograph.

Decode in a worker

LibRaw compiled to WASM handles decoding away from the main interface thread.

Share the rendering pipeline

WGSL shaders support per-pixel processing. Browser and Electron shells share the pipeline; desktop adds filesystem access.

Current status

What the evidence shows

The repository includes a recording, not the editor source. The project description reports testing on Sony A7RII files. Broader camera coverage, HDR display behaviour and export compatibility were not independently verified here.

Further work & evidence gaps

The most useful additional evidence would be downloadable sample exports and a supported camera, browser and display matrix.