Repository navigation
RAW and Interop
Cullimingo is not a RAW developer — it never demosaics for you. To stay fast, it extracts the embedded JPEG preview that cameras write into every RAW file, using LibRaw through C/C++ FFI (no Rust). That preview is what you see in the grid and loupe, and what a RAW export writes out.
Thumbnails are decoded and resized off the UI isolate through libvips, into a two-tier disk cache keyed by content hash + mtime + orientation. The UI isolate never blocks on decode.
Both libraries are loaded at runtime (libraw, libvips), preferring copies
bundled inside the packaged app over Homebrew/system paths.
Cullimingo reads and writes XMP sidecars so your marks travel to and from Capture One and Lightroom:
| Mark | Round-trips via XMP? |
|---|---|
| Star rating (1–5) | ✅ yes — standard xmp:Rating
|
| Colour label | ✅ yes — standard colour label |
| Keywords | ✅ yes |
| Pick / reject flag |
Pick/reject has no interoperable XMP representation (Lightroom's flags don't
survive the trip), so Cullimingo stores it under a private cullimingo:
namespace in the sidecar. Your picks are preserved, but other apps won't show
them.
Embedded XMP inside the file is read too. A re-sync adopts edits made elsewhere and flags conflicts where your marks and the sidecar disagree, rather than silently overwriting either side.
Writing a mark merges into the sidecar instead of replacing it: only
Cullimingo's own fields change, so Lightroom develop settings, crops, GPS and
hierarchical keywords living in the same .xmp pass through untouched (and the
write is atomic — temp file + rename). Reading is just as forgiving: ratings
and labels written by exiftool or digiKam are picked up whether they're stored
as XMP attributes or elements, and even when split across several
rdf:Description blocks. A rotation made in Lightroom (tiff:Orientation) is
adopted on the next sync rather than being overwritten.
- Drag originals straight to Finder.
- Send to / pull client ratings back from a ContactSheet gallery.
Export look ≠ Capture One / Lightroom look — Cullimingo writes the embedded preview, not a developed render, so don't expect a colour match with your RAW developer.