nightshade 0.6.39

A cross-platform data-oriented game engine.
Documentation
[dependencies.base64]
version = "0.22"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[features]
chrome = ["tracing", "dep:tracing-chrome"]
default = ["engine", "wgpu"]
editor-plugin-guest = []
editor-plugin-host = ["dep:egui", "dep:egui_tiles"]
engine = ["dep:bincode", "dep:bitflags", "dep:bytemuck", "dep:egui", "dep:egui_extras", "dep:fontdue", "dep:freecs", "dep:getrandom", "dep:gilrs", "dep:gltf", "dep:half", "dep:kira", "dep:tracing", "dep:mint", "dep:nalgebra", "dep:nalgebra-glm", "dep:petgraph", "dep:rand", "dep:noise", "dep:rapier3d", "dep:raw-window-handle", "dep:serde_json", "dep:thiserror", "dep:web-time", "dep:winit", "dep:tracing-subscriber", "dep:egui-winit", "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"]
openxr = ["engine", "dep:openxr", "dep:ash", "dep:wgpu-hal", "dep:gpu-allocator", "wgpu/vulkan"]
plugin_runtime = ["engine", "dep:wasmtime", "dep:wasmtime-wasi", "dep:anyhow"]
plugins = []
scripting = ["engine", "dep:rhai"]
steam = ["engine", "dep:steamworks", "dep:steamworks-sys"]
tracing = ["engine", "dep:tracing-appender"]
tracy = ["tracing", "dep:tracing-tracy"]
wgpu = ["engine", "dep:wgpu", "dep:egui-wgpu", "wgpu/dx12", "wgpu/metal", "wgpu/vulkan", "wgpu/webgpu"]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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