From 0e8fb47973cba03251f41331e89594447e40488d Mon Sep 17 00:00:00 2001 From: Mark Date: Tue, 2 Jan 2024 22:11:33 -0800 Subject: [PATCH] Workspace cleanup --- Cargo.lock | 23 ++++------- Cargo.toml | 42 ++++++++++---------- crates/behavior/Cargo.toml | 18 ++++++--- crates/constants/Cargo.toml | 12 +++++- crates/content/Cargo.toml | 26 +++++++----- crates/galactica/Cargo.toml | 31 +++++++++++++++ {src => crates/galactica/src}/camera.rs | 0 {src => crates/galactica/src}/game.rs | 12 ++++-- {src => crates/galactica/src}/inputstatus.rs | 0 {src => crates/galactica/src}/main.rs | 0 crates/gameobject/Cargo.toml | 23 ++++++----- crates/render/Cargo.toml | 34 +++++++++------- crates/ui/Cargo.toml | 22 ++++++---- crates/world/Cargo.toml | 28 ++++++++----- 14 files changed, 172 insertions(+), 99 deletions(-) create mode 100644 crates/galactica/Cargo.toml rename {src => crates/galactica/src}/camera.rs (100%) rename {src => crates/galactica/src}/game.rs (98%) rename {src => crates/galactica/src}/inputstatus.rs (100%) rename {src => crates/galactica/src}/main.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index eb841d6..7aebf28 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -579,7 +579,6 @@ version = "0.1.0" dependencies = [ "anyhow", "cgmath", - "crossbeam", "galactica-behavior", "galactica-constants", "galactica-content", @@ -587,19 +586,14 @@ dependencies = [ "galactica-render", "galactica-ui", "galactica-world", - "image", - "nalgebra", "pollster", - "rand", - "rapier2d", - "walkdir", "wgpu", "winit", ] [[package]] name = "galactica-behavior" -version = "0.0.0" +version = "0.1.0" dependencies = [ "cgmath", "galactica-content", @@ -608,11 +602,11 @@ dependencies = [ [[package]] name = "galactica-constants" -version = "0.0.0" +version = "0.1.0" [[package]] name = "galactica-content" -version = "0.0.0" +version = "0.1.0" dependencies = [ "anyhow", "cgmath", @@ -625,20 +619,17 @@ dependencies = [ [[package]] name = "galactica-gameobject" -version = "0.0.0" +version = "0.1.0" dependencies = [ "cgmath", - "crossbeam", "galactica-content", "galactica-render", - "nalgebra", "rand", - "rapier2d", ] [[package]] name = "galactica-render" -version = "0.0.0" +version = "0.1.0" dependencies = [ "anyhow", "bytemuck", @@ -653,7 +644,7 @@ dependencies = [ [[package]] name = "galactica-ui" -version = "0.0.0" +version = "0.1.0" dependencies = [ "cgmath", "galactica-content", @@ -664,7 +655,7 @@ dependencies = [ [[package]] name = "galactica-world" -version = "0.0.0" +version = "0.1.0" dependencies = [ "cgmath", "crossbeam", diff --git a/Cargo.toml b/Cargo.toml index e5b6779..59a3a08 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,8 +1,3 @@ -[package] -name = "galactica" -version = "0.1.0" -edition = "2021" - [profile.dev] opt-level = 0 debug = true @@ -26,42 +21,45 @@ panic = "abort" incremental = false rpath = false - [workspace] -members = [ - "crates/content", - "crates/render", - "crates/constants", - "crates/world", - "crates/behavior", - "crates/gameobject", - "crates/ui", -] +members = ["crates/*"] +default-members = ["crates/galactica"] +resolver = "2" +[workspace.package] +keywords = [] +version = "0.1.0" +edition = "2021" +rust-version = "1.70" +categories = [] +authors = [] +homepage = "" +repository = "" +license = "" -[dependencies] -# Internal crates +[workspace.dependencies] + +galactica-constants = { path = "crates/constants" } galactica-content = { path = "crates/content" } galactica-render = { path = "crates/render" } -galactica-constants = { path = "crates/constants" } galactica-world = { path = "crates/world" } galactica-behavior = { path = "crates/behavior" } galactica-gameobject = { path = "crates/gameobject" } galactica-ui = { path = "crates/ui" } +galactica = { path = "crates/galactica" } -# Files image = { version = "0.24", features = ["png"] } -# Graphics +serde = { version = "1.0.193", features = ["derive"] } winit = "0.28" wgpu = "0.18" -# Physics +bytemuck = { version = "1.12", features = ["derive"] } rapier2d = { version = "0.17.2" } nalgebra = "0.32.3" crossbeam = "0.8.3" -# Misc helpers pollster = "0.3" anyhow = "1.0" # TODO: migrate to nalgebra cgmath = "0.18.0" rand = "0.8.5" walkdir = "2.4.0" +toml = "0.8.8" diff --git a/crates/behavior/Cargo.toml b/crates/behavior/Cargo.toml index c3b18c0..9dd7479 100644 --- a/crates/behavior/Cargo.toml +++ b/crates/behavior/Cargo.toml @@ -1,9 +1,17 @@ [package] name = "galactica-behavior" -version = "0.0.0" -edition = "2021" +description = "AI behaviors for Galaictica" +categories = { workspace = true } +keywords = { workspace = true } +version = { workspace = true } +rust-version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } +license = { workspace = true } [dependencies] -galactica-content = { path = "../content" } -galactica-world = { path = "../world" } -cgmath = "0.18.0" +galactica-content = { workspace = true } +galactica-world = { workspace = true } +cgmath = { workspace = true } diff --git a/crates/constants/Cargo.toml b/crates/constants/Cargo.toml index 5af002e..f6d53ae 100644 --- a/crates/constants/Cargo.toml +++ b/crates/constants/Cargo.toml @@ -1,4 +1,12 @@ [package] name = "galactica-constants" -version = "0.0.0" -edition = "2021" +description = "Compile-time parameters for Galactica" +categories = { workspace = true } +keywords = { workspace = true } +version = { workspace = true } +rust-version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } +license = { workspace = true } diff --git a/crates/content/Cargo.toml b/crates/content/Cargo.toml index 14e05d3..a9028c3 100644 --- a/crates/content/Cargo.toml +++ b/crates/content/Cargo.toml @@ -1,13 +1,21 @@ [package] name = "galactica-content" -version = "0.0.0" -edition = "2021" +description = "Galactica's game content parser" +categories = { workspace = true } +keywords = { workspace = true } +version = { workspace = true } +rust-version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } +license = { workspace = true } [dependencies] -toml = "0.8.8" -serde = { version = "1.0.193", features = ["derive"] } -anyhow = "1.0" -cgmath = "0.18.0" -walkdir = "2.4.0" -nalgebra = "0.32.3" -image = { version = "0.24", features = ["png"] } +serde = { workspace = true } +toml = { workspace = true } +anyhow = { workspace = true } +cgmath = { workspace = true } +walkdir = { workspace = true } +nalgebra = { workspace = true } +image = { workspace = true } diff --git a/crates/galactica/Cargo.toml b/crates/galactica/Cargo.toml new file mode 100644 index 0000000..3d7f0d5 --- /dev/null +++ b/crates/galactica/Cargo.toml @@ -0,0 +1,31 @@ +[[bin]] +name = "galactic" +path = "src/main.rs" + +[package] +name = "galactica" +description = "TODO" +categories = { workspace = true } +keywords = { workspace = true } +version = { workspace = true } +rust-version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } +license = { workspace = true } + +[dependencies] +galactica-content = { workspace = true } +galactica-render = { workspace = true } +galactica-constants = { workspace = true } +galactica-world = { workspace = true } +galactica-behavior = { workspace = true } +galactica-gameobject = { workspace = true } +galactica-ui = { workspace = true } + +winit = { workspace = true } +wgpu = { workspace = true } +pollster = { workspace = true } +anyhow = { workspace = true } +cgmath = { workspace = true } diff --git a/src/camera.rs b/crates/galactica/src/camera.rs similarity index 100% rename from src/camera.rs rename to crates/galactica/src/camera.rs diff --git a/src/game.rs b/crates/galactica/src/game.rs similarity index 98% rename from src/game.rs rename to crates/galactica/src/game.rs index 0c85ed8..9369088 100644 --- a/src/game.rs +++ b/crates/galactica/src/game.rs @@ -4,9 +4,11 @@ use std::time::Instant; use winit::event::{ElementState, MouseButton, MouseScrollDelta, TouchPhase, VirtualKeyCode}; use crate::camera::Camera; -use crate::{content, inputstatus::InputStatus}; +use crate::inputstatus::InputStatus; + use galactica_behavior::{behavior, ShipBehavior}; use galactica_constants; +use galactica_content as content; use galactica_gameobject as object; use galactica_render::{ObjectSprite, ParticleBuilder, UiSprite}; use galactica_ui as ui; @@ -16,15 +18,17 @@ pub struct Game { pub input: InputStatus, pub last_update: Instant, pub player: ShipPhysicsHandle, - pub system: object::System, - pub camera: Camera, paused: bool, pub time_scale: f32, - world: World, shipbehaviors: Vec>, playerbehavior: behavior::Player, + content: content::Content, + + pub system: object::System, + pub camera: Camera, + world: World, pub start_instant: Instant, // TODO: clean this up diff --git a/src/inputstatus.rs b/crates/galactica/src/inputstatus.rs similarity index 100% rename from src/inputstatus.rs rename to crates/galactica/src/inputstatus.rs diff --git a/src/main.rs b/crates/galactica/src/main.rs similarity index 100% rename from src/main.rs rename to crates/galactica/src/main.rs diff --git a/crates/gameobject/Cargo.toml b/crates/gameobject/Cargo.toml index c0f2c8b..d537096 100644 --- a/crates/gameobject/Cargo.toml +++ b/crates/gameobject/Cargo.toml @@ -1,14 +1,19 @@ [package] name = "galactica-gameobject" -version = "0.0.0" -edition = "2021" +description = "Galactica's game data manager" +categories = { workspace = true } +keywords = { workspace = true } +version = { workspace = true } +rust-version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } +license = { workspace = true } [dependencies] -galactica-render = { path = "../render" } -galactica-content = { path = "../content" } +galactica-render = { workspace = true } +galactica-content = { workspace = true } -rapier2d = { version = "0.17.2" } -nalgebra = "0.32.3" -crossbeam = "0.8.3" -cgmath = "0.18.0" -rand = "0.8.5" +cgmath = { workspace = true } +rand = { workspace = true } diff --git a/crates/render/Cargo.toml b/crates/render/Cargo.toml index d90cc89..13bd5bd 100644 --- a/crates/render/Cargo.toml +++ b/crates/render/Cargo.toml @@ -1,20 +1,24 @@ [package] name = "galactica-render" -version = "0.0.0" -edition = "2021" +description = "Galactica's rendering backend" +categories = { workspace = true } +keywords = { workspace = true } +version = { workspace = true } +rust-version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } +license = { workspace = true } [dependencies] -# Internal crates -galactica-content = { path = "../content" } -galactica-constants = { path = "../constants" } +galactica-content = { workspace = true } +galactica-constants = { workspace = true } -# Misc helpers -anyhow = "1.0" -cgmath = "0.18.0" -rand = "0.8.5" -# Files -image = { version = "0.24", features = ["png"] } -# Graphics -winit = "0.28" -wgpu = "0.18" -bytemuck = { version = "1.12", features = ["derive"] } +anyhow = { workspace = true } +cgmath = { workspace = true } +rand = { workspace = true } +image = { workspace = true } +winit = { workspace = true } +wgpu = { workspace = true } +bytemuck = { workspace = true } diff --git a/crates/ui/Cargo.toml b/crates/ui/Cargo.toml index 6266d63..f6ae438 100644 --- a/crates/ui/Cargo.toml +++ b/crates/ui/Cargo.toml @@ -1,11 +1,19 @@ [package] name = "galactica-ui" -version = "0.0.0" -edition = "2021" +description = "UI routines for Galactica" +categories = { workspace = true } +keywords = { workspace = true } +version = { workspace = true } +rust-version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } +license = { workspace = true } [dependencies] -galactica-content = { path = "../content" } -galactica-world = { path = "../world" } -galactica-render = { path = "../render" } -galactica-gameobject = { path = "../gameobject" } -cgmath = "0.18.0" +galactica-content = { workspace = true } +galactica-world = { workspace = true } +galactica-render = { workspace = true } +galactica-gameobject = { workspace = true } +cgmath = { workspace = true } diff --git a/crates/world/Cargo.toml b/crates/world/Cargo.toml index e30b966..cd0ff2e 100644 --- a/crates/world/Cargo.toml +++ b/crates/world/Cargo.toml @@ -1,15 +1,23 @@ [package] name = "galactica-world" -version = "0.0.0" -edition = "2021" +description = "World interactions for Galactica" +categories = { workspace = true } +keywords = { workspace = true } +version = { workspace = true } +rust-version = { workspace = true } +authors = { workspace = true } +edition = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } +license = { workspace = true } [dependencies] -galactica-render = { path = "../render" } -galactica-content = { path = "../content" } -galactica-gameobject = { path = "../gameobject" } +galactica-render = { workspace = true } +galactica-content = { workspace = true } +galactica-gameobject = { workspace = true } -rapier2d = { version = "0.17.2" } -nalgebra = "0.32.3" -crossbeam = "0.8.3" -cgmath = "0.18.0" -rand = "0.8.5" +rapier2d = { workspace = true } +nalgebra = { workspace = true } +crossbeam = { workspace = true } +cgmath = { workspace = true } +rand = { workspace = true }