initial commit

Signed-off-by: Sienna Meridian Satterwhite <sienna@r3t.io>
This commit is contained in:
2025-11-15 23:42:12 +00:00
commit 2bad250a04
47 changed files with 14645 additions and 0 deletions

1
crates/client/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/target

43
crates/client/Cargo.toml Normal file
View File

@@ -0,0 +1,43 @@
[package]
name = "client"
version = "0.1.0"
edition.workspace = true
[[bin]]
name = "client"
path = "src/main.rs"
[dependencies]
# Bevy
bevy = { version = "0.17", default-features = false, features = [
"bevy_winit",
"bevy_render",
"bevy_core_pipeline",
"bevy_sprite",
"bevy_ui",
"bevy_text",
"png",
"x11",
] }
# Iroh - P2P networking and gossip
iroh = { workspace = true }
iroh-gossip = { workspace = true }
# Async runtime
tokio = { version = "1", features = ["full"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Error handling
thiserror = "2.0"
anyhow = "1.0"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Local dependencies
lib = { path = "../lib" }

14
crates/client/src/lib.rs Normal file
View File

@@ -0,0 +1,14 @@
pub fn add(left: u64, right: u64) -> u64 {
left + right
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}

24
crates/client/src/main.rs Normal file
View File

@@ -0,0 +1,24 @@
use bevy::prelude::*;
use tracing::info;
fn main() {
tracing_subscriber::fmt()
.with_env_filter(tracing_subscriber::EnvFilter::from_default_env())
.init();
// Start Bevy app
App::new()
.add_plugins(DefaultPlugins)
.add_systems(Startup, setup)
.add_systems(Update, sync_system)
.run();
}
fn setup(mut commands: Commands) {
commands.spawn(Camera2d);
info!("Client started");
}
fn sync_system() {
// TODO: Implement gossip sync for client
}