# 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.51"
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]
audio = ["dep:kira"]
base = [
    "egui",
    "gamepad",
    "physics",
]
chrome = [
    "tracing",
    "dep:tracing-chrome",
]
default = [
    "engine",
    "wgpu",
]
egui = [
    "dep:egui",
    "dep:egui_extras",
    "dep:egui-winit",
    "dep:egui-wgpu",
    "dep:egui_tiles",
]
engine = [
    "picking",
    "dep:bincode",
    "dep:bitflags",
    "dep:bytemuck",
    "dep:dirs",
    "dep:fontdue",
    "dep:freecs",
    "dep:getrandom",
    "dep:gltf",
    "dep:half",
    "dep:tracing",
    "dep:mint",
    "dep:nalgebra",
    "dep:nalgebra-glm",
    "dep:noise",
    "dep:petgraph",
    "dep:rand",
    "dep:raw-window-handle",
    "dep:rfd",
    "dep:serde_json",
    "dep:strum",
    "dep:thiserror",
    "dep:uuid",
    "dep:web-time",
    "dep:winit",
    "dep:tracing-subscriber",
    "dep:image",
    "dep:tokio",
    "dep:console_error_panic_hook",
    "dep:tracing-web",
    "dep:futures",
    "dep:js-sys",
    "dep:wasm-bindgen",
    "dep:wasm-bindgen-futures",
    "dep:web-sys",
    "dep:ehttp",
]
fbx = []
full = [
    "engine",
    "wgpu",
    "egui",
    "audio",
    "physics",
    "gamepad",
    "navmesh",
    "scripting",
]
gamepad = ["dep:gilrs"]
lattice = []
navmesh = [
    "dep:rerecast",
    "dep:glam",
]
openxr = [
    "dep:openxr",
    "dep:ash",
    "dep:wgpu-hal",
    "dep:gpu-allocator",
    "wgpu/vulkan",
]
physics = ["dep:rapier3d"]
picking = []
plugin_runtime = [
    "dep:wasmtime",
    "dep:wasmtime-wasi",
    "dep:anyhow",
]
plugins = []
scripting = ["dep:rhai"]
shell = ["egui"]
steam = [
    "dep:steamworks",
    "dep:steamworks-sys",
]
tracing = ["dep:tracing-appender"]
tracy = [
    "tracing",
    "dep:tracing-tracy",
]
wgpu = [
    "dep:wgpu",
    "wgpu/wgsl",
    "wgpu/dx12",
    "wgpu/metal",
    "wgpu/vulkan",
    "wgpu/webgpu",
]
windows-app-icon = [
    "dep:winresource",
    "dep:ico",
    "dep:image",
]

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

[dependencies.base64]
version = "0.22"

[dependencies.bincode]
version = "1.3"
optional = true

[dependencies.bitflags]
version = "2.10.0"
features = ["serde"]
optional = true

[dependencies.bytemuck]
version = "1.24.0"
optional = true

[dependencies.egui]
version = "0.33.3"
features = [
    "bytemuck",
    "default_fonts",
]
optional = true
default-features = false

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

[dependencies.egui_extras]
version = "0.33.3"
features = ["all_loaders"]
optional = true
default-features = false

[dependencies.egui_tiles]
version = "0.14"
optional = true

[dependencies.ehttp]
version = "0.6"
optional = true

[dependencies.fontdue]
version = "0.9"
optional = true

[dependencies.freecs]
version = "1.3.4"
optional = true

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

[dependencies.gilrs]
version = "0.11.0"
optional = true

[dependencies.glam]
version = "0.30"
optional = true

[dependencies.gltf]
version = "1.4.1"
features = [
    "KHR_lights_punctual",
    "names",
    "KHR_materials_pbrSpecularGlossiness",
    "KHR_materials_transmission",
    "KHR_materials_volume",
    "KHR_materials_ior",
    "KHR_materials_specular",
    "KHR_materials_emissive_strength",
    "import",
]
optional = true

[dependencies.half]
version = "2.7.1"
optional = true

[dependencies.kira]
version = "0.11.0"
optional = true

[dependencies.mint]
version = "0.5"
optional = true

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

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

[dependencies.noise]
version = "0.9"
optional = true

[dependencies.petgraph]
version = "0.8"
features = ["serde-1"]
optional = true

[dependencies.postcard]
version = "1.1"
features = ["alloc"]

[dependencies.rand]
version = "0.9"
optional = true

[dependencies.rapier3d]
version = "0.30"
features = [
    "debug-render",
    "serde-serialize",
]
optional = true

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

[dependencies.rerecast]
version = "0.2"
features = ["std"]
optional = true
default-features = false

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

[dependencies.serde_json]
version = "1.0"
optional = true

[dependencies.strum]
version = "0.27"
features = ["derive"]
optional = true

[dependencies.thiserror]
version = "2.0"
optional = true

[dependencies.tracing]
version = "0.1"
optional = true

[dependencies.uuid]
version = "1.0"
features = ["v4"]
optional = true

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

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

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

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

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

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

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

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

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

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

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

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rhai]
version = "1.23"
features = ["sync"]
optional = true

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

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.steamworks-sys]
version = "0.12"
optional = true

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

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tracing-appender]
version = "0.2"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tracing-chrome]
version = "0.7"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tracing-tracy]
version = "0.11"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.ufbx]
version = "0.10"

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

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wasmtime-wasi]
version = "40.0"
optional = true

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

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

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

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

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

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

[target.'cfg(target_arch = "wasm32")'.dependencies.rhai]
version = "1.23"
features = [
    "sync",
    "wasm-bindgen",
]
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.tracing-web]
version = "0.1"
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.uuid]
version = "1.0"
features = [
    "v4",
    "js",
]
optional = true

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

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

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

[target."cfg(windows)".dependencies.ico]
version = "0.5"
optional = true

[target."cfg(windows)".dependencies.winresource]
version = "0.1"
optional = true
