[workspace] members = [ "crates/blacksite_surface", "crates/content_pipeline", "crates/game", "crates/game_hot", "crates/shared", "crates/editor", "crates/protocol", "crates/sim", "crates/settings", "crates/scene", "xtask", ] resolver = "2" [workspace.package] version = "0.1.0" edition = "2021" license = "MIT OR Apache-2.0" [workspace.dependencies] avian3d = { version = "0.7", default-features = false, features = [ "3d", "f32", "parry-f32", "bevy_scene", "collider-from-mesh", "serialize", ] } bevy = { version = "0.19", features = [ "serialize", "basis-universal", "ktx2", "jpeg", "vorbis", "wav", "mp3", "flac", ] } bevy_core_pipeline = "0.19" bevy_solari = "0.19" blacksite_surface = { path = "crates/blacksite_surface" } content_pipeline = { path = "crates/content_pipeline" } bevy_ufbx = "0.18.1-rc.1" bevy_egui = "0.40" bevy-inspector-egui = "0.37" egui_dock = { version = "0.19.1", features = ["serde"] } egui_phosphor_icons = { version = "0.3.1", default-features = false } transform-gizmo-bevy = "0.9" serde = { version = "1", features = ["derive"] } nav_glam = { package = "glam", version = "=0.30.10", features = ["serde"] } polyanya = { version = "=0.16.1", default-features = false, features = ["recast", "serde"] } rerecast = { version = "=0.3.2", default-features = false, features = ["std", "serialize"] } shared = { path = "crates/shared" } game = { path = "crates/game" } game_hot = { path = "crates/game_hot" } protocol = { path = "crates/protocol" } sim = { path = "crates/sim" } settings = { path = "crates/settings" } scene = { path = "crates/scene" } [patch.crates-io] # Blacksite Surface ABI and deformation-safety integration for Solari. bevy_solari = { path = "third_party/bevy_solari" } # Local Bevy 0.19 compatibility patch until upstream publishes a matching FBX loader. bevy_ufbx = { path = "third_party/bevy_ufbx" } # Lossless RON editing fixes used by transactional prefab source edits. ron-edit = { path = "third_party/ron-edit" } # Atmosphere-aware mesh view bind groups (WYSIWYG editor + transform gizmos). transform-gizmo-bevy = { path = "third_party/transform-gizmo-bevy" } # Compile our own crate with light optimizations, but fully optimize dependencies # (the bevy/wgpu stack) so debug builds are not unbearably slow. [profile.dev] opt-level = 1 rpath = true [profile.dev.package."*"] opt-level = 3 # Tests keep source line information without retaining full multi-gigabyte Bevy # debug images or incremental caches. The dev profile remains fully debuggable. [profile.test] opt-level = 1 debug = "line-tables-only" incremental = false [profile.test.package."*"] opt-level = 3 # A snappy release profile for shipping builds. [profile.release] lto = "thin" codegen-units = 1 strip = "symbols" # Export profiles keep runtime optimization and compact binaries without forcing # release LTO into normal editor iteration. [profile.package-dev] inherits = "release" lto = false codegen-units = 16 strip = "symbols" [profile.package-qa] inherits = "release" lto = false codegen-units = 8 debug = "line-tables-only" strip = "none"