initial commit
Signed-off-by: Sienna Meridian Satterwhite <sienna@r3t.io>
This commit is contained in:
1
crates/client/.gitignore
vendored
Normal file
1
crates/client/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/target
|
||||
43
crates/client/Cargo.toml
Normal file
43
crates/client/Cargo.toml
Normal 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
14
crates/client/src/lib.rs
Normal 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
24
crates/client/src/main.rs
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user