[package]
name = "myth_assets"
description = "Asset loading and management for the Myth engine."
keywords.workspace = true
categories.workspace = true
version.workspace = true
rust-version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true

[dependencies]
myth_core      = { workspace = true }
myth_resources = { workspace = true }
myth_scene     = { workspace = true }
myth_animation = { workspace = true }

glam = { workspace = true }
slotmap = { workspace = true }
parking_lot = { workspace = true }
image = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
base64 = { workspace = true }
log = { workspace = true }
uuid = { workspace = true }
wgpu = { workspace = true }
futures = { workspace = true }
half = { workspace = true }
smallvec = { workspace = true }
bytemuck = { workspace = true }
rustc-hash = { workspace = true }
flume = { workspace = true }

# Optional
gltf = { workspace = true, optional = true }
meshopt = { workspace = true, optional = true }
ehttp = { workspace = true, optional = true }
url = { workspace = true, optional = true }

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

[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = { workspace = true }
wasm-bindgen-futures = { workspace = true }
web-sys = { workspace = true }
js-sys = { workspace = true }

[features]
default = []
gltf = ["dep:gltf"]
gltf-meshopt = ["gltf", "dep:meshopt"]
http = ["dep:ehttp", "dep:url"]

[lints]
workspace = true
