zenquant 0.1.0

AQ-informed palette quantizer — perceptual masking meets color quantization
Documentation
[package]
name = "zenquant"
version = "0.1.0"
edition = "2024"
rust-version = "1.92"
license = "AGPL-3.0-or-later"
description = "AQ-informed palette quantizer — perceptual masking meets color quantization"
repository = "https://github.com/imazen/zenquant"
documentation = "https://docs.rs/zenquant"
homepage = "https://github.com/imazen/zenquant"
keywords = ["quantize", "palette", "image", "color", "dither"]
categories = ["multimedia::images", "graphics"]
readme = "README.md"

include = ["/src", "LICENSE", "README.md"]

[dependencies]
rgb = "0.8.53"
imgref = "1"
num-traits = { version = "0.2", default-features = false, features = ["libm"] }
thiserror = { version = "2", default-features = false }
linear-srgb = { version = "0.6", default-features = false }
archmage = { version = "0.9.3", default-features = false, features = ["macros"] }
magetypes = { version = "0.9.3", default-features = false }
# zenflate is no longer needed — joint uses a vendored LZ77 predictor
# zenflate = { path = "../zenflate", optional = true, default-features = false, features = ["alloc"] }

[dev-dependencies]
image = { version = "0.25", default-features = false, features = ["png", "jpeg"] }
imagequant = "4"
quantizr = "1"
flate2 = "1"
butteraugli = "0.4"
fast-ssim2 = { version = "0.6", features = ["imgref"] }
png = "0.18"
zengif = { path = "../zengif", features = ["quantizr"] }
zenwebp = { path = "../zenwebp", default-features = false, features = ["std", "pixel-types"] }
enough = "0.4"
imgref = "1"
codec-corpus = "1"
color_quant = "1"
dssim-core = { version = "3", default-features = false }
quantette = { version = "0.5", default-features = false, features = ["kmeans", "std"] }
gif = { version = "0.14", default-features = false, features = ["std"] }
zensim = { path = "../zensim/zensim", features = ["imgref"] }
zenpng = { path = "../zenpng", default-features = false }

[features]
default = ["std"]
std = ["linear-srgb/std", "archmage/std", "magetypes/std"]
# Joint deflate+quantization optimization for PNG.
# Uses a vendored LZ77 predictor — no external dependency.
joint = []
# Expose internal modules for profiling/debugging examples. Not public API.
_dev = []

[[example]]
name = "compare"

[[example]]
name = "profile_steps"
required-features = ["_dev"]

[[example]]
name = "hist_debug"
required-features = ["_dev"]

[[example]]
name = "compare_paths"

[[example]]
name = "quantizer_comparison"

[[example]]
name = "calibrate_mpe"

[[example]]
name = "calibrate_jpeg"

[[example]]
name = "calibrate_knobs"