[package]
name = "{{ crate_name }}"
version = "1.0.0"
authors = ["Your Name <your.email@example.com>"]
edition = "2021"

[features]
shader_hotreload = ["prgpu/shader_hotreload"]

[lib]
# `cdylib` for the AE/PPr plug-in, `rlib` so external bench / test targets can
# link against the library and reach into `kernel::*` symbols.
crate-type = ["cdylib", "rlib"]

[dependencies]
# prgpu owns the Slang shader pipeline (cpu + gpu dispatch, mip chain, CPU
# tile rayon pool, timing, logging). The `timing` feature just toggles the
# `timing::log_snapshot()` spans; enable it in debug to get per-frame perf.
prgpu = { version = "0.1.13", features = ["timing"] }
# Exaecut fork of virtualritz/after-effects (upstream 0.4) published as
# `exaecut-*` on crates.io. `[lib] name` inside each crate preserves the
# canonical `use after_effects::...` / `use premiere::...` paths so effect
# source code stays identical whether it consumes the fork or the upstream.
exaecut-after-effects = "0.5"
exaecut-premiere = "0.5"

# Small utilities used by the lib.rs template:
#   webbrowser: opens the Feedback URL from the Feedback button
webbrowser = "1.0"
bytemuck = "1.23"

[build-dependencies]
exaecut-pipl = "0.2"
prgpu = { version = "0.1.13", features = ["build"] }

[dev-dependencies]
criterion = { version = "0.8", default-features = false, features = ["cargo_bench_support", "html_reports"] }
prgpu = { version = "0.1.13", features = ["timing", "bench", "testing"] }
image = { version = "0.25", default-features = false, features = ["png", "jpeg"] }

[[bench]]
name = "{{ crate_name }}_cpu"
path = "benches/effect_cpu.rs"
harness = false

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = [
    "cfg(shader_hotreload)",
    "cfg(does_dialog)",
    "cfg(with_premiere)",
    "cfg(threaded_rendering)",
] }
