[package]
name = "prpr"
version = { workspace = true }
edition = { workspace = true }
license = { workspace = true }

[lints]
workspace = true

[lib]

[features]
default = ["log"]
video = ["dep:prpr-avc"]
log = ["dep:tracing-subscriber", "dep:colored"]

[dependencies]
anyhow = { workspace = true }
async-trait = { workspace = true }
base64 = { workspace = true }
bitflags = { workspace = true, features = ["serde"] }
byteorder = "1.5.0"
cfg-if = "1.0.4"
chardetng = "0.1.17"
chrono = { workspace = true, features = ["serde"] }
color-thief = "0.2.2"
colored = { version = "3.1.1", optional = true }
concat-string = "1.0.1"
csv = "1.4.0"
fastblur = "0.1.1"
fluent = { workspace = true }
fluent-syntax = { workspace = true }
glyph_brush = "0.7.12"
hex = { workspace = true }
hmac = "0.12.1"
image = { workspace = true, default-features = false, features = [
	"bmp",
	"gif",
	"jpeg",
	"png",
	"rayon",
	"webp",
] }
inputbox = { workspace = true }
intl-memoizer = "0.5.3"
libc = "0.2.183"
lru = { workspace = true }
lyon = { workspace = true }
miniz_oxide = "0.9.1"
nalgebra = { workspace = true }
obfstr = "0.4.4"
once_cell = { workspace = true }
ordered-float = "5.1.0"
phf = { version = "0.13.1", features = ["macros"] }
rand = { workspace = true }
regex = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
sha2 = { workspace = true }
subtle = "2.6.1"
symphonia = { version = "0.5", features = [
	"flac",
	"mp3",
	"ogg",
	"vorbis",
	"wav",
	"pcm",
] }
sys-locale = { workspace = true }
tempfile = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { version = "0.3.23", features = ["env-filter"], optional = true }
unic-langid = { version = "0.9.6", features = ["macros"] }
uuid = { workspace = true, features = ["v4"] }
zip = { workspace = true, default-features = false, features = ["deflate"] }

macroquad = { workspace = true, default-features = false }
miniquad = { workspace = true }
prpr-avc = { workspace = true, optional = true }
prpr-l10n = { workspace = true }

[target.'cfg(not(any(target_os = "android", target_os = "ios", target_env = "ohos")))'.dependencies]
open = "5.3.3"
rfd = { workspace = true }

[target.'cfg(target_os = "ios")'.dependencies]
objc2 = { workspace = true }
objc2-foundation = { workspace = true }
objc2-ui-kit = { workspace = true, features = ["objc2-uniform-type-identifiers"] }
objc2-uniform-type-identifiers = { workspace = true }

[target.'cfg(target_os = "android")'.dependencies]
jni = "0.22.4"
ndk-context = "0.1"
sasa = { workspace = true, default-features = false, features = ["oboe"] }

[target.'cfg(target_env = "ohos")'.dependencies]
sasa = { workspace = true, default-features = false, features = ["ohos"] }

[target.'cfg(not(any(target_os = "android", target_env = "ohos")))'.dependencies]
sasa = { workspace = true, default-features = true }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { workspace = true, features = ["rt-multi-thread", "fs"] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
tokio = { workspace = true }
web-sys = { version = "0.3", features = [
	"Location",
	"Performance",
	"UrlSearchParams",
	"Window",
] }
js-sys = "*"
wasm-bindgen = "*"
wasm-bindgen-futures = "0.4"

[build-dependencies]
walkdir = { workspace = true }

[dev-dependencies]
walkdir = { workspace = true }
