mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-24 09:57:08 -06:00
PhotoCraft reads GIMP's .xcf (and .xcf.gz) files, read only, through a new reader in photocraft-io written from the public XCF specification: versions 0 to 26, uncompressed, RLE and zlib tiles, 8/16/32-bit integer and 16/32/64-bit float precisions (linear precisions get a linear profile), pixel layers at any position, groups by item path with pass-through, layer masks applied or disabled, opacity, visibility, locks, colour tags, the 2.10 and legacy blend modes mapped to Photoshop's (modes without an equivalent open as Normal with a note), the ICC profile, resolution, guides, the comment, extra channels and the saved selection; indexed images open as RGB. Text, vector and link layers open as their pixels; layer effects, paths and floating selections are reported. Fixtures are written by GIMP 3.2 itself (scripts/xcf_fixtures.py), each with GIMP's merged rendering as a PNG. In gamma-encoded blend and composite spaces our composite matches GIMP within 0.5/255; GIMP's linear-light default, its Clip to backdrop and its clamp-after-alpha for unbounded modes are documented and measured in docs/xcf.md.