mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-27 03:17:05 -06:00
* EXR parts: import parts, channel groups and an AOV precomp as layers file.exrParts lists what an EXR holds for a chooser - flat parts, prefixed channel groups (diffuse.R/G/B), Cryptomatte layers as information; file.openExrParts imports the chosen ones as the layers of one document (F16 lossless as F32, linear sRGB tagged), with an optional additive beauty precomp summed from the light-path AOV set (direct/indirect diffuse+specular, emission; transmission/sss/volume when present) that fails naming the missing AOVs. The codec gains decode_exr_channels for exact named channels of one part; io shares the image_surface band writer. File › Open EXR Parts… picks an EXR and opens a plain command form: a checkbox per part and channel group (labels are the data's names with size and channel count), a both/left/right view dropdown, and the precomp checkbox. Cryptomatte layers ride along as non-rendered data for the control channel. Form fields gain __labels for verbatim data-driven labels; the new strings are catalogued in all sixteen complete languages. * Regenerate parity and scorecard docs --------- Co-authored-by: Brandon Thomas <echelon@gmail.com>
49 lines
1.7 KiB
TOML
49 lines
1.7 KiB
TOML
[package]
|
|
name = "photocraft-engine"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
# Real-file corpus tests (opt-in; `cargo xtask test-corpus`). Fail when the corpus is missing.
|
|
corpus = []
|
|
|
|
[dependencies]
|
|
photocraft-geom = { workspace = true }
|
|
photocraft-color = { workspace = true }
|
|
photocraft-cms = { workspace = true }
|
|
photocraft-raster = { workspace = true }
|
|
photocraft-doc = { workspace = true }
|
|
photocraft-ops = { workspace = true }
|
|
photocraft-compose = { workspace = true }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
rayon = { workspace = true }
|
|
photocraft-paint = { workspace = true }
|
|
photocraft-algo = { workspace = true }
|
|
photocraft-text = { workspace = true }
|
|
photocraft-vector = { workspace = true }
|
|
photocraft-io = { workspace = true }
|
|
photocraft-psd = { workspace = true }
|
|
photocraft-format = { workspace = true }
|
|
photocraft-plugins = { workspace = true }
|
|
blake3 = { version = "1.8", default-features = false, features = ["pure"] }
|
|
photocraft-codecs = { workspace = true }
|
|
flate2 = { workspace = true }
|
|
# Photoshop `.kys` shortcut sets (`edit.keyboardShortcuts` `importKys`); already in the tree
|
|
# through photocraft-ui-egui and usvg.
|
|
roxmltree = "0.20"
|
|
|
|
[dev-dependencies]
|
|
photocraft-affinity = { workspace = true, features = ["synth"] }
|
|
# Synthetic camera raw files for the open tests.
|
|
photocraft-raw = { workspace = true, features = ["testgen"] }
|
|
# WebAssembly text -> binary for plug-in test modules (Apache-2.0 WITH LLVM-exception).
|
|
wat = "1.228"
|
|
# Synthetic multi-part EXR fixtures for the parts-commands tests.
|
|
exr = { version = "1.73", default-features = false }
|