vidya/Cargo.toml
janis afb322fa93
rendergraph: dynamic-rendering render passes, single-pass compiler, perf
- Add BeginRendering/EndRendering commands with imported/created attachment
  views, view plumbing, and aspect-gated depth/stencil slots
- Derive and validate render-pass spans at compile time; contract spans into
  single DAG nodes before hazard analysis; hoist cross-boundary barriers to
  pass begins with in-pass policy and created-view resolution
- Replace the four-pass ordering pipeline with a single command walk
  (build_command_orderings): span derivation, validation, lifetime-only
  injection, dependency edges, and Kahn batching in one pass; batches are
  ranges into execution_order and RenderPassSpan keeps only begin/end
- Perf: node-collapsed frontier analysis, dense command/resource indexing
  (no SipHash on hot paths), inline barrier storage, exact preallocation,
  lazy Kahn ready heap, scoped barrier fast paths
- Scope buffer and image alias barriers to the incoming resource per the
  Vulkan resource-memory-aliasing rules (availability unscoped, visibility
  scoped to the new owner)
- Add criterion compile benchmarks (two_pass/{no_pass,pass}/per_{20,50,100})
2026-10-29 00:51:52 +01:00

94 lines
2.6 KiB
TOML

[package]
name = "vidya"
version = "0.1.0"
edition = "2024"
[workspace]
resolver = "2"
members = [
"crates/renderer",
"crates/renderer/renderer_macros",
"crates/window",
"crates/game",
"crates/text",
"crates/bevy_vulkan_render", "crates/renderer_device", "crates/renderer_resources", "crates/renderer_rendergraph",
]
[dependencies]
bevy_vulkan_render = { path = "crates/bevy_vulkan_render" }
bitflags.workspace = true
[dev-dependencies]
bevy = { workspace = true }
[profile.debug-release]
inherits = "release"
opt-level = 2
debug = true
[workspace.dependencies]
anyhow = "1.0.89"
criterion = "0.7"
thiserror = "2.0"
derive_more = { version = "1.0.0", features = ["deref", "debug", "deref_mut"] }
tracing = "0.1"
tracing-subscriber = {version ="0.3", features = ["env-filter"]}
glam = {version = "0.33", features = ["bytemuck"]}
rand = "0.9"
bitflags = "2.6"
thread_local = "1.1.8"
ash = "0.38.0"
ash-window = "0.13.0"
vk-mem = "0.5.0"
rectangle-pack = "0.4.2"
# vk-sync = "0.1.6"
arrayvec = "0.7.6"
tinyvec = { version = "1.8", features = ["alloc"] }
indexmap = "2"
petgraph = "0.7"
fixedbitset = "0.5"
# itertools = "0.14.0"
ahash = "0.8"
# for non-cryptographic hashing of resources like pipelines, e.g. for caching
md-5 = "0.11.0"
parking_lot = "0.12.3"
bytemuck = { version = "1.21.0", features = ["derive"] }
# tokio = "1.42"
# futures = "0.3"
smol = "2.0"
# rayon = "1.10"
winit = {version = "0.30.5", features = ["rwh_06"]}
raw-window-handle = "0.6"
egui = "0.32"
egui_winit_platform = "0.27"
bevy = { path = "/var/code/bevy-engine/bevy" }
bevy_app = { path = "/var/code/bevy-engine/bevy/crates/bevy_app" }
bevy_asset = { path = "/var/code/bevy-engine/bevy/crates/bevy_asset" }
bevy_derive = { path = "/var/code/bevy-engine/bevy/crates/bevy_derive" }
bevy_ecs = { path = "/var/code/bevy-engine/bevy/crates/bevy_ecs" }
bevy_log = { path = "/var/code/bevy-engine/bevy/crates/bevy_log" }
# bevy_math = { path = "/var/code/bevy-engine/bevy/crates/bevy_math" }
bevy_platform = { path = "/var/code/bevy-engine/bevy/crates/bevy_platform" }
bevy_reflect = { path = "/var/code/bevy-engine/bevy/crates/bevy_reflect" }
bevy_tasks = { path = "/var/code/bevy-engine/bevy/crates/bevy_tasks" }
bevy_time = { path = "/var/code/bevy-engine/bevy/crates/bevy_time" }
# bevy_transform = { path = "/var/code/bevy-engine/bevy/crates/bevy_transform" }
bevy_utils = { path = "/var/code/bevy-engine/bevy/crates/bevy_utils" }
bevy_window = { path = "/var/code/bevy-engine/bevy/crates/bevy_window" }
# bevy_winit = { path = "/var/code/bevy-engine/bevy/crates/bevy_winit" }
[[example]]
name = "bevy_integration"
path = "examples/bevy_integration.rs"