# 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.90"
name = "nightshade"
version = "0.6.21"
authors = ["Matthew Berger <matthewjordanberger@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A cross-platform data-oriented game engine."
homepage = "https://github.com/matthewjberger/nightshade"
readme = "README.md"
keywords = [
    "gamedev",
    "engine",
    "ecs",
    "wgpu",
    "webgpu",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/matthewjberger/nightshade"
resolver = "2"

[package.metadata.cargo-machete]
ignored = [
    "nalgebra",
    "getrandom",
]

[features]
default = ["wgpu"]
openxr = [
    "dep:openxr",
    "dep:ash",
    "dep:wgpu-hal",
    "dep:gpu-allocator",
    "wgpu/vulkan",
]
wgpu = [
    "dep:wgpu",
    "dep:egui-wgpu",
    "wgpu/dx12",
    "wgpu/metal",
    "wgpu/vulkan",
    "wgpu/webgpu",
]

[lib]
name = "nightshade"
path = "src/lib.rs"

[dependencies.bitflags]
version = "2.10.0"

[dependencies.bytemuck]
version = "1.24.0"

[dependencies.egui]
version = "0.33.0"
features = [
    "bytemuck",
    "default_fonts",
]
default-features = false

[dependencies.egui-wgpu]
version = "0.33.0"
features = ["winit"]
optional = true
default-features = false

[dependencies.egui_extras]
version = "0.33.0"
features = ["all_loaders"]
default-features = false

[dependencies.fontdue]
version = "0.8"

[dependencies.freecs]
version = "1.3.0"

[dependencies.getrandom]
version = "0.3"
features = ["wasm_js"]

[dependencies.gilrs]
version = "0.11.0"

[dependencies.gltf]
version = "1.4.1"
features = [
    "KHR_lights_punctual",
    "names",
    "KHR_materials_pbrSpecularGlossiness",
    "import",
]

[dependencies.half]
version = "2.4.1"

[dependencies.kira]
version = "0.10.8"

[dependencies.log]
version = "0.4.28"

[dependencies.mint]
version = "0.5"

[dependencies.nalgebra]
version = "0.34.1"
features = ["serde-serialize"]

[dependencies.nalgebra-glm]
version = "0.20.0"
features = ["convert-bytemuck"]

[dependencies.petgraph]
version = "0.6"

[dependencies.rand]
version = "0.9"

[dependencies.rapier3d]
version = "0.22.0"
features = [
    "debug-render",
    "serde-serialize",
]

[dependencies.raw-window-handle]
version = "0.6.2"

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

[dependencies.serde_json]
version = "1.0"

[dependencies.thiserror]
version = "2.0"

[dependencies.web-time]
version = "1.1.0"

[dependencies.wgpu]
version = "27.0.1"
optional = true
default-features = false

[dependencies.winit]
version = "0.30.12"
features = ["serde"]

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.ash]
version = "0.38"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.egui-winit]
version = "0.33.0"
default-features = false

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.env_logger]
version = "0.11.8"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.gpu-allocator]
version = "0.27"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.image]
version = "0.25"
features = [
    "png",
    "hdr",
]
default-features = false

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.openxr]
version = "0.19"
features = [
    "static",
    "loaded",
]
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.42.0"
features = ["rt-multi-thread"]

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wgpu-hal]
version = "27.0.4"
optional = true
default-features = false

[target.'cfg(target_arch = "wasm32")'.dependencies.console_error_panic_hook]
version = "0.1.7"

[target.'cfg(target_arch = "wasm32")'.dependencies.console_log]
version = "1.0.0"

[target.'cfg(target_arch = "wasm32")'.dependencies.egui-winit]
version = "0.33.0"
default-features = false

[target.'cfg(target_arch = "wasm32")'.dependencies.futures]
version = "0.3.31"

[target.'cfg(target_arch = "wasm32")'.dependencies.image]
version = "0.25"
features = [
    "png",
    "hdr",
]
default-features = false

[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.55"

[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = [
    "DataTransfer",
    "Document",
    "DragEvent",
    "Element",
    "Event",
    "EventTarget",
    "File",
    "FileList",
    "FileReader",
    "ProgressEvent",
    "Window",
]
