[package] name = "photocraft-io" description = "Import/export between photocraft documents and PSD/PSB and flat raster formats" version.workspace = true edition.workspace = true license.workspace = true rust-version.workspace = true [lints] workspace = true [features] # Real-file corpus tests (opt-in; `cargo xtask test-corpus`). Fail when the corpus is missing. corpus = [] # HEIC/HEIF decode (forwarded to photocraft-codecs; see its `heif` feature). heif = ["photocraft-codecs/heif"] [dependencies] photocraft-geom = { workspace = true } photocraft-color = { workspace = true } photocraft-cms = { workspace = true } photocraft-raster = { workspace = true } photocraft-doc = { workspace = true } photocraft-compose = { workspace = true } photocraft-algo = { workspace = true } photocraft-psd = { workspace = true } photocraft-codecs = { workspace = true } photocraft-raw = { workspace = true } photocraft-affinity = { workspace = true } photocraft-text = { workspace = true } photocraft-paint = { workspace = true } photocraft-vector = { workspace = true } photocraft-format = { path = "../format" } craft-docpath = { workspace = true } thiserror = { workspace = true } serde_json = { workspace = true } blake3 = { version = "1.8", default-features = false, features = ["pure"] } # svg.rs inflates `.svgz` itself (with a size cap) so the XML can be checked before it is parsed; # pdn.rs inflates Paint.NET's gzip pixel chunks. flate2 = { workspace = true } # ora.rs reads OpenRaster's stack.xml (already in the tree through usvg). roxmltree = "0.20" # SVG import (svg.rs): usvg parses, resvg rasterises what the shape model can't hold. Both are # already in the tree through the UI's icon loader; text shaping needs the fonts feature set. [target.'cfg(not(target_arch = "wasm32"))'.dependencies] resvg = { version = "0.45", default-features = false, features = ["text", "system-fonts", "raster-images"] } [target.'cfg(target_arch = "wasm32")'.dependencies] resvg = { version = "0.45", default-features = false, features = ["text", "raster-images"] } [dev-dependencies] crc32fast = "1.5" photocraft-affinity = { workspace = true, features = ["synth"] } flate2 = { workspace = true } photocraft-psd = { workspace = true, features = ["testgen"] } photocraft-raw = { workspace = true, features = ["testgen"] } photocraft-testkit = { workspace = true } proptest = { workspace = true }