[package]
edition = "2024"
rust-version = "1.89"
name = "zentone"
version = "0.1.0"
build = false
exclude = [
"CLAUDE.md",
"CONTEXT-HANDOFF.md",
"FEEDBACK.md",
".claude/",
".github/",
".workongoing",
"Cross.toml",
"justfile",
"fuzz/",
"reference-checks/",
"benchmarks/",
"GAIN-MAP-ARCHITECTURE.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "HDR to SDR tone mapping: classical curves (Reinhard, ACES, AgX, BT.2408, filmic), plus experimental adaptive and streaming tonemappers"
documentation = "https://docs.rs/zentone"
readme = "README.md"
keywords = [
"hdr",
"tonemap",
"bt2408",
"agx",
"image",
]
categories = [
"multimedia::images",
"graphics",
"no-std",
]
license = "AGPL-3.0-only OR LicenseRef-Imazen-Commercial"
repository = "https://github.com/imazen/zentone"
[features]
avx512 = [
"archmage/avx512",
"magetypes/avx512",
]
default = [
"std",
"avx512",
]
experimental = []
std = [
"linear-srgb/std",
"archmage/std",
"magetypes/std",
]
[lib]
name = "zentone"
path = "src/lib.rs"
[[example]]
name = "visual_compare"
path = "examples/visual_compare.rs"
required-features = ["experimental"]
[[test]]
name = "bruteforce_robustness"
path = "tests/bruteforce_robustness.rs"
[[test]]
name = "bt2408_vs_bt2446a"
path = "tests/bt2408_vs_bt2446a.rs"
[[test]]
name = "consumer_workflows"
path = "tests/consumer_workflows.rs"
[[test]]
name = "continuity"
path = "tests/continuity.rs"
[[test]]
name = "cross_reference"
path = "tests/cross_reference.rs"
[[test]]
name = "endpoint_audit"
path = "tests/endpoint_audit.rs"
[[test]]
name = "exhaustive_properties"
path = "tests/exhaustive_properties.rs"
[[test]]
name = "gamut_hardening"
path = "tests/gamut_hardening.rs"
[[test]]
name = "negative_input"
path = "tests/negative_input.rs"
[[test]]
name = "pipeline_verification"
path = "tests/pipeline_verification.rs"
[[test]]
name = "reference_parity"
path = "tests/reference_parity.rs"
[[test]]
name = "sdr_preservation"
path = "tests/sdr_preservation.rs"
[[test]]
name = "simd_parity"
path = "tests/simd_parity.rs"
[[test]]
name = "transfer_functions"
path = "tests/transfer_functions.rs"
[[test]]
name = "zensim_regression"
path = "tests/zensim_regression.rs"
[[bench]]
name = "pipeline_bench"
path = "benches/pipeline_bench.rs"
harness = false
required-features = ["experimental"]
[[bench]]
name = "tonemap_bench"
path = "benches/tonemap_bench.rs"
harness = false
[dependencies.archmage]
version = "0.9.22"
features = ["macros"]
default-features = false
[dependencies.libm]
version = "0.2"
default-features = false
[dependencies.linear-srgb]
version = "0.6.12"
features = ["transfer"]
default-features = false
[dependencies.magetypes]
version = "0.9.22"
default-features = false
[dev-dependencies.gainforge]
version = "0.4.1"
[dev-dependencies.image]
version = "0.25"
features = ["png"]
default-features = false
[dev-dependencies.moxcms]
version = "0.8.1"
[dev-dependencies.zensim]
version = "0.2.6"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.zenbench]
version = "0.1.6"
features = ["criterion-compat"]
[lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"
[lints.rust.unexpected_cfgs]
level = "allow"
priority = 0