Files
craft-libs/crates/crs/Cargo.toml
Dylan M. Taylor a4b57d47b9 Add craft-crs: Camera Raw crs: settings in XMP, read and written, from PhotoCraft (#996)
* Add craft-crs: Camera Raw crs: settings in XMP, read and written, from PhotoCraft

The format half of PhotoCraft's Camera Raw settings files (crates/io/src/camera_raw_xmp.rs at
abeb16c96): the crs: settings of an XMP packet as written, Camera Raw's number and curve point
text, the crop and its orientation, a writer, and the toolkit marker. Which setting drives
which control stays in the app.

* craft-crs: structures carry their element and are written back

Local corrections and other structured settings were dropped, and an rdf:Seq of descriptions
read as empty strings. A structure now holds its crs: element, a sequence is only plain text
items, descriptions inside a structure are not read as top-level settings, and to_xmp writes
structures back.

* craft-crs: read packets through craft-metadata's XMP reader

One XMP reader for every crate: Settings::parse goes through craft_metadata::parse_xmp and
Settings::from_xmp takes its XmpData. Settings are kept by name (the reader's map has no file
order), structures are craft-metadata's XmpValue and are written back as rdf:parseType
Resource elements and rdf:Seq arrays. toolkit stays a bounded first-start-tag scan, as the
reader does not return x:xmptk.
2026-11-11 20:19:00 -05:00

17 lines
484 B
TOML

[package]
name = "craft-crs"
description = "Adobe Camera Raw settings (the crs: namespace of an XMP packet or .xmp sidecar): the settings as written, numbers, curve points and the crop, read and written."
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
repository.workspace = true
[lints]
workspace = true
[dependencies]
craft-metadata = { workspace = true }
craft-xml = { workspace = true }
thiserror = { workspace = true }