Blacksite/Cargo.toml

119 lines
3.4 KiB
TOML

[workspace]
members = [
"crates/blacksite_surface",
"crates/content_pipeline",
"crates/editor_ui",
"crates/game",
"crates/game_hot",
"crates/material_schema",
"crates/shared",
"crates/editor",
"crates/ui_gallery",
"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"
egui = "0.34.3"
eframe = { version = "0.34.1", default-features = false, features = ["default_fonts", "glow", "wayland", "x11"] }
bevy-inspector-egui = "0.37"
egui_dock = { version = "0.19.1", features = ["serde"] }
egui_phosphor_icons = { version = "0.3.1", default-features = false, features = ["bold", "fill"] }
editor_ui = { path = "crates/editor_ui" }
material_schema = { path = "crates/material_schema" }
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"