[package]
name = "scenix-loader"
description = "CPU-side asset loaders for glTF, OBJ, STL, image, KTX2, and HDR data."
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
rust-version.workspace = true
readme.workspace = true

[features]
default = ["std"]
std = [
    "scenix-camera/std",
    "scenix-core/std",
    "scenix-light/std",
    "scenix-material/std",
    "scenix-math/std",
    "scenix-mesh/std",
    "scenix-scene/std",
    "scenix-texture/std",
]
http = ["dep:reqwest", "reqwest/rustls-tls"]
serde = [
    "dep:serde",
    "scenix-camera/serde",
    "scenix-core/serde",
    "scenix-light/serde",
    "scenix-material/serde",
    "scenix-math/serde",
    "scenix-mesh/serde",
    "scenix-scene/serde",
    "scenix-texture/serde",
]

[dependencies]
gltf = { workspace = true, features = ["import", "names", "utils", "base64", "image", "urlencoding", "KHR_lights_punctual", "KHR_materials_unlit"] }
image = { workspace = true, features = ["png", "jpeg", "webp", "hdr", "exr"] }
ktx2 = { workspace = true }
reqwest = { workspace = true, optional = true }
scenix-camera = { workspace = true }
scenix-core = { workspace = true }
scenix-light = { workspace = true }
scenix-material = { workspace = true }
scenix-math = { workspace = true }
scenix-mesh = { workspace = true }
scenix-scene = { workspace = true }
scenix-texture = { workspace = true }
serde = { workspace = true, optional = true }
stl_io = { workspace = true }
tobj = { workspace = true }

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

[[bench]]
name = "loader_bench"
path = "../../benches/loader_bench.rs"
harness = false

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