[package]
name = "starkingdoms"
description = "A game about floating through space"
edition = "2024"
version = "0.1.0"
[dependencies]
bevy = { version = "0.17", default-features = false, features = [
"bevy_asset",
"bevy_log",
"bevy_mesh",
"bevy_state",
"multi_threaded"
]}
avian2d = { version = "0.4", default-features = false, features = [
"2d",
"f32",
"default-collider",
"parry-f32",
"xpbd_joints",
"bevy_picking",
"debug-plugin",
"parallel",
"serialize",
"enhanced-determinism"
]}
bevy_common_assets = { version = "0.14", features = ["toml"] }
bevy_replicon = "0.36"
url = "2"
tracing-subscriber = "0.3"
serde = { version = "1", features = ["derive"] }
rand = "0.9"
getrandom = { version = "0.3", features = [] }
aeronet = { version = "0.17", optional = true }
aeronet_replicon = { version = "0.17", optional = true }
aeronet_websocket = { version = "0.17", optional = true }
aeronet_transport = { version = "0.17", optional = true }
ordered-float = { version = "5", features = ["serde"] }
pico-args = "0.5"
bevy_egui = { version = "0.38", optional = true }
leafwing-input-manager = { version = "0.19", optional = true }
good_lp = { version = "1.14", default-features = false, features = ["clarabel"], optional = true }
[build-dependencies]
built = { version = "0.8", features = ["git2", "chrono"] }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
ctrlc = { version = "3.5" }
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = { version = "0.2" }
tracing-wasm = "0.2"
console_error_panic_hook = "0.1"
# This is a chaotic mess of conditional compilation, but it significantly slims build times.
# So, sorry not sorry /shrug
[features]
default = []
# enabled when compiling to the native platform
platform_native = [
]
# enabled when compiling to the web platform
platform_wasm = [
"getrandom/wasm_js",
"bevy/webgl2"
]
# include code required to actually make connections over the network
# compiled out during development for compile time
network = [
"dep:aeronet",
"dep:aeronet_replicon",
"dep:aeronet_transport",
"dep:aeronet_websocket"
]
# include server code
target_server = [
]
# include networking server code
target_net_server = [
"network",
"aeronet_websocket/server",
"aeronet_replicon/server"
]
# include client code
target_client = [
"dep:leafwing-input-manager",
"dep:good_lp",
"bevy/bevy_anti_alias",
"bevy/bevy_camera",
"bevy/bevy_color",
"bevy/bevy_core_pipeline",
"bevy/bevy_gizmos",
"bevy/bevy_mesh_picking_backend",
"bevy/bevy_picking",
"bevy/bevy_post_process",
"bevy/bevy_render",
"bevy/bevy_sprite",
"bevy/bevy_sprite_picking_backend",
"bevy/bevy_picking",
"bevy/bevy_sprite_render",
"bevy/bevy_text",
"bevy/bevy_ui",
"bevy/bevy_ui_picking_backend",
"bevy/bevy_ui_render",
"bevy/bevy_window",
"bevy/bevy_winit",
"bevy/default_font",
"bevy/png",
"bevy/std",
"bevy/wayland",
"bevy/x11",
"bevy/bevy_dev_tools"
]
# include networking client code
target_net_client = [
"network",
"aeronet_websocket/client",
"aeronet_replicon/client",
]
# particle editor
target_particle_editor = [
"dep:bevy_egui"
]
# enabled in development
dev = [
"bevy/debug",
"bevy/file_watcher",
"bevy/dynamic_linking",
"bevy/sysinfo_plugin"
]
# enable hotpatching
hotpatching = [
"bevy/hotpatching"
]