saccade 0.1.2

Visual-regression CLI for renderers and graphics code, built on NVIDIA FLIP
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.88"
name = "saccade"
version = "0.1.2"
build = "build.rs"
exclude = ["report/**"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Visual-regression CLI for renderers and graphics code, built on NVIDIA FLIP"
readme = "README.md"
keywords = [
    "visual-regression",
    "flip",
    "rendering",
    "image-diff",
    "ci",
]
categories = [
    "graphics",
    "development-tools::testing",
    "command-line-utilities",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Tavrin/saccade"

[features]
ai = ["saccade-core/ai"]
default = [
    "parallel",
    "graphics",
    "ai",
    "workbench",
    "mcp",
    "evaluation",
]
evaluation = [
    "ai",
    "saccade-core/evaluation",
]
graphics = [
    "saccade-core/graphics",
    "dep:colorvideovdp",
]
mcp = []
parallel = ["saccade-core/parallel"]
prechecks = ["saccade-core/prechecks"]
schema = ["saccade-core/schema"]
workbench = ["saccade-core/workbench"]

[[bin]]
name = "saccade"
path = "src/main.rs"

[[test]]
name = "agent_contract"
path = "tests/agent_contract.rs"
required-features = ["mcp"]

[[test]]
name = "agent_native"
path = "tests/agent_native.rs"
required-features = ["mcp"]

[[test]]
name = "approve_decisions"
path = "tests/approve_decisions.rs"

[[test]]
name = "cli_exit_codes"
path = "tests/cli_exit_codes.rs"

[[test]]
name = "engine_ingest"
path = "tests/engine_ingest.rs"

[[test]]
name = "evidence_contract"
path = "tests/evidence_contract.rs"

[[test]]
name = "f1_compat"
path = "tests/f1_compat.rs"

[[test]]
name = "f1_contract"
path = "tests/f1_contract.rs"
required-features = [
    "ai",
    "mcp",
]

[[test]]
name = "f2_doctor"
path = "tests/f2_doctor.rs"

[[test]]
name = "feature_boundaries"
path = "tests/feature_boundaries.rs"

[[test]]
name = "git_bisect"
path = "tests/git_bisect.rs"

[[test]]
name = "identity"
path = "tests/identity.rs"

[[test]]
name = "ingest_playwright"
path = "tests/ingest_playwright.rs"

[[test]]
name = "intent"
path = "tests/intent.rs"

[[test]]
name = "judge_contract"
path = "tests/judge_contract.rs"
required-features = [
    "evaluation",
    "workbench",
    "mcp",
    "graphics",
]

[[test]]
name = "local_requests"
path = "tests/local_requests.rs"

[[test]]
name = "meta_sidecar"
path = "tests/meta_sidecar.rs"

[[test]]
name = "perf_comparability"
path = "tests/perf_comparability.rs"
required-features = ["graphics"]

[[test]]
name = "perf_evidence"
path = "tests/perf_evidence.rs"
required-features = [
    "graphics",
    "workbench",
    "mcp",
]

[[test]]
name = "precheck_contract"
path = "tests/precheck_contract.rs"
required-features = [
    "prechecks",
    "mcp",
]

[[test]]
name = "prove"
path = "tests/prove.rs"

[[test]]
name = "r11_review"
path = "tests/r11_review.rs"

[[test]]
name = "r13_docs"
path = "tests/r13_docs.rs"

[[test]]
name = "r8_reports"
path = "tests/r8_reports.rs"

[[test]]
name = "review_contract"
path = "tests/review_contract.rs"
required-features = [
    "evaluation",
    "mcp",
]

[[test]]
name = "runs_cli"
path = "tests/runs_cli.rs"
required-features = ["mcp"]

[[test]]
name = "s6_contract"
path = "tests/s6_contract.rs"
required-features = [
    "graphics",
    "workbench",
    "mcp",
]

[[test]]
name = "safety"
path = "tests/safety.rs"

[[test]]
name = "v1_action"
path = "tests/v1_action.rs"

[[test]]
name = "v1_contract"
path = "tests/v1_contract.rs"
required-features = [
    "graphics",
    "mcp",
]

[dependencies.clap]
version = "4"
features = ["derive"]

[dependencies.colorvideovdp]
version = "0.1.1"
features = ["parallel"]
optional = true
default-features = false

[dependencies.fs2]
version = "0.4.3"

[dependencies.globset]
version = "0.4"

[dependencies.image]
version = "0.25"
features = [
    "png",
    "jpeg",
    "exr",
    "hdr",
]
default-features = false

[dependencies.saccade-core]
version = "0.1.2"
default-features = false

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"
features = ["float_roundtrip"]

[dependencies.sha2]
version = "0.10"

[dependencies.tempfile]
version = "3"

[dev-dependencies.jsonschema]
version = "0.30"
default-features = false

[dev-dependencies.tempfile]
version = "3"

[lints.clippy]
expect_used = "warn"
unwrap_used = "warn"

[lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"