[package] name = "libmarathon" version = "0.1.2" edition.workspace = true description = "A peer-to-peer game engine development kit with CRDT-based state synchronization" license = "MIT" repository = "https://github.com/r3t-studios/marathon" homepage = "https://github.com/r3t-studios/marathon" readme = "../../README.md" keywords = ["gamedev", "p2p", "crdt", "multiplayer", "bevy"] categories = ["game-engines", "network-programming"] [dependencies] anyhow.workspace = true bevy.workspace = true rkyv.workspace = true # Bevy subcrates required by vendored rendering (bevy_render, bevy_core_pipeline, bevy_pbr) bevy_app = "0.17.2" bevy_asset = "0.17.2" bevy_camera = "0.17.2" bevy_color = "0.17.2" bevy_derive = "0.17.2" bevy_diagnostic = "0.17.2" bevy_ecs = "0.17.2" bevy_encase_derive = "0.17.2" bevy_image = "0.17.2" bevy_light = "0.17.2" bevy_math = "0.17.2" bevy_mesh = "0.17.2" bevy_platform = { version = "0.17.2", default-features = false } bevy_reflect = "0.17.2" libmarathon-macros = { version = "0.1.1", path = "../macros" } bevy_shader = "0.17.2" bevy_tasks = "0.17.2" bevy_time = "0.17.2" bevy_transform = "0.17.2" bevy_utils = "0.17.2" bevy_window = "0.17.2" # Additional dependencies required by vendored rendering crates wgpu = { version = "26", default-features = false, features = ["dx12", "metal"] } naga = { version = "26", features = ["wgsl-in"] } downcast-rs = { version = "2", default-features = false, features = ["std"] } derive_more = { version = "2", default-features = false, features = ["from"] } image = { version = "0.25.2", default-features = false } bitflags = { version = "2.3", features = ["bytemuck"] } fixedbitset = "0.5" radsort = "0.1" nonmax = "0.5" smallvec = { version = "1", default-features = false } indexmap = "2.0" async-channel = "2.3" offset-allocator = "0.2" variadics_please = "1.1" static_assertions = "1.1" blake3 = "1.5" blocking = "1.6" hex.workspace = true bytemuck = { version = "1.14", features = ["derive"] } bytes.workspace = true chrono.workspace = true crdts.workspace = true crossbeam-channel.workspace = true dirs = "5.0" egui.workspace = true encase = { version = "0.11", features = ["glam"] } futures-lite.workspace = true glam.workspace = true inventory.workspace = true iroh = { workspace = true, features = ["discovery-local-network"] } iroh-gossip.workspace = true pkarr = "5.0" itertools = "0.14" rand.workspace = true rusqlite.workspace = true rustc-hash = "2.1" serde.workspace = true serde_json.workspace = true sha2 = "0.10" thiserror.workspace = true tokio.workspace = true tokio-util.workspace = true toml.workspace = true tracing.workspace = true uuid.workspace = true wgpu-types = "26.0" winit.workspace = true [target.'cfg(target_os = "ios")'.dependencies] tracing-oslog = "0.3" [dev-dependencies] tokio.workspace = true iroh = { workspace = true, features = ["discovery-local-network"] } iroh-gossip.workspace = true futures-lite.workspace = true tempfile.workspace = true proptest = "1.4" criterion = "0.5" [features] # Feature to skip expensive networking operations in tests fast_tests = [] [[bench]] name = "write_buffer" harness = false [[bench]] name = "vector_clock" harness = false