From e5a4920716af1aab99dd87b68153621343e273b6 Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Wed, 13 Apr 2022 14:33:44 +0200 Subject: [PATCH] Extract `fj-viewer` from `fj-app` --- Cargo.lock | 30 +++++++++----- Cargo.toml | 2 + fj-app/Cargo.toml | 17 ++------ fj-app/src/main.rs | 8 +--- fj-viewer/Cargo.toml | 39 ++++++++++++++++++ {fj-app => fj-viewer}/src/camera.rs | 0 .../src/graphics/config_ui.rs | 0 .../src/graphics/draw_config.rs | 0 .../src/graphics/drawables.rs | 0 .../src/graphics/fonts/B612-Bold.ttf | Bin .../src/graphics/fonts/B612-BoldItalic.ttf | Bin .../src/graphics/fonts/B612-Italic.ttf | Bin .../src/graphics/fonts/B612-Regular.ttf | Bin .../src/graphics/fonts/B612Mono-Bold.ttf | Bin .../graphics/fonts/B612Mono-BoldItalic.ttf | Bin .../src/graphics/fonts/B612Mono-Italic.ttf | Bin .../src/graphics/fonts/B612Mono-Regular.ttf | Bin .../src/graphics/fonts/OFL.txt | 0 .../src/graphics/geometries.rs | 0 {fj-app => fj-viewer}/src/graphics/mod.rs | 0 .../src/graphics/pipelines.rs | 0 .../src/graphics/renderer.rs | 0 .../src/graphics/shader.wgsl | 0 {fj-app => fj-viewer}/src/graphics/shaders.rs | 0 .../src/graphics/transform.rs | 0 .../src/graphics/uniforms.rs | 0 .../src/graphics/vertices.rs | 0 {fj-app => fj-viewer}/src/input/handler.rs | 0 {fj-app => fj-viewer}/src/input/mod.rs | 0 {fj-app => fj-viewer}/src/input/movement.rs | 0 {fj-app => fj-viewer}/src/input/rotation.rs | 0 {fj-app => fj-viewer}/src/input/zoom.rs | 0 fj-viewer/src/lib.rs | 5 +++ {fj-app => fj-viewer}/src/run.rs | 0 {fj-app => fj-viewer}/src/window.rs | 0 35 files changed, 72 insertions(+), 29 deletions(-) create mode 100644 fj-viewer/Cargo.toml rename {fj-app => fj-viewer}/src/camera.rs (100%) rename {fj-app => fj-viewer}/src/graphics/config_ui.rs (100%) rename {fj-app => fj-viewer}/src/graphics/draw_config.rs (100%) rename {fj-app => fj-viewer}/src/graphics/drawables.rs (100%) rename {fj-app => fj-viewer}/src/graphics/fonts/B612-Bold.ttf (100%) rename {fj-app => fj-viewer}/src/graphics/fonts/B612-BoldItalic.ttf (100%) rename {fj-app => fj-viewer}/src/graphics/fonts/B612-Italic.ttf (100%) rename {fj-app => fj-viewer}/src/graphics/fonts/B612-Regular.ttf (100%) rename {fj-app => fj-viewer}/src/graphics/fonts/B612Mono-Bold.ttf (100%) rename {fj-app => fj-viewer}/src/graphics/fonts/B612Mono-BoldItalic.ttf (100%) rename {fj-app => fj-viewer}/src/graphics/fonts/B612Mono-Italic.ttf (100%) rename {fj-app => fj-viewer}/src/graphics/fonts/B612Mono-Regular.ttf (100%) rename {fj-app => fj-viewer}/src/graphics/fonts/OFL.txt (100%) rename {fj-app => fj-viewer}/src/graphics/geometries.rs (100%) rename {fj-app => fj-viewer}/src/graphics/mod.rs (100%) rename {fj-app => fj-viewer}/src/graphics/pipelines.rs (100%) rename {fj-app => fj-viewer}/src/graphics/renderer.rs (100%) rename {fj-app => fj-viewer}/src/graphics/shader.wgsl (100%) rename {fj-app => fj-viewer}/src/graphics/shaders.rs (100%) rename {fj-app => fj-viewer}/src/graphics/transform.rs (100%) rename {fj-app => fj-viewer}/src/graphics/uniforms.rs (100%) rename {fj-app => fj-viewer}/src/graphics/vertices.rs (100%) rename {fj-app => fj-viewer}/src/input/handler.rs (100%) rename {fj-app => fj-viewer}/src/input/mod.rs (100%) rename {fj-app => fj-viewer}/src/input/movement.rs (100%) rename {fj-app => fj-viewer}/src/input/rotation.rs (100%) rename {fj-app => fj-viewer}/src/input/zoom.rs (100%) create mode 100644 fj-viewer/src/lib.rs rename {fj-app => fj-viewer}/src/run.rs (100%) rename {fj-app => fj-viewer}/src/window.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index e5611164b..660d0fb11 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -694,26 +694,17 @@ name = "fj-app" version = "0.5.0" dependencies = [ "anyhow", - "bytemuck", "clap", "figment", "fj", "fj-export", "fj-host", - "fj-interop", "fj-kernel", "fj-math", "fj-operations", - "futures", - "nalgebra", - "parry3d-f64", + "fj-viewer", "serde", - "thiserror", - "tracing", "tracing-subscriber", - "wgpu", - "wgpu_glyph", - "winit", ] [[package]] @@ -786,6 +777,25 @@ dependencies = [ "parry3d-f64", ] +[[package]] +name = "fj-viewer" +version = "0.5.0" +dependencies = [ + "bytemuck", + "fj-host", + "fj-interop", + "fj-math", + "fj-operations", + "futures", + "nalgebra", + "parry3d-f64", + "thiserror", + "tracing", + "wgpu", + "wgpu_glyph", + "winit", +] + [[package]] name = "flate2" version = "1.0.22" diff --git a/Cargo.toml b/Cargo.toml index 8cff3f60c..846e2fa61 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,7 @@ members = [ "fj-kernel", "fj-math", "fj-operations", + "fj-viewer", "models/cuboid", "models/group", @@ -25,4 +26,5 @@ default-members = [ "fj-kernel", "fj-math", "fj-operations", + "fj-viewer", ] diff --git a/fj-app/Cargo.toml b/fj-app/Cargo.toml index 63ad7538c..6fad6b3cd 100644 --- a/fj-app/Cargo.toml +++ b/fj-app/Cargo.toml @@ -13,15 +13,6 @@ categories = ["mathematics", "rendering"] [dependencies] anyhow = "1.0.56" -bytemuck = "1.9.1" -futures = "0.3.21" -nalgebra = "0.30.0" -parry3d-f64 = "0.8.0" -thiserror = "1.0.30" -tracing = "0.1.33" -wgpu = "0.12.0" -wgpu_glyph = "0.16.0" -winit = "0.26.1" [dependencies.clap] version = "3.1.8" @@ -43,10 +34,6 @@ path = "../fj-export" version = "0.5.0" path = "../fj-host" -[dependencies.fj-interop] -version = "0.5.0" -path = "../fj-interop" - [dependencies.fj-kernel] version = "0.5.0" path = "../fj-kernel" @@ -59,6 +46,10 @@ path = "../fj-math" version = "0.5.0" path = "../fj-operations" +[dependencies.fj-viewer] +version = "0.5.0" +path = "../fj-viewer" + [dependencies.serde] version = "1.0.136" features = ["derive"] diff --git a/fj-app/src/main.rs b/fj-app/src/main.rs index 7241a6376..a252070c8 100644 --- a/fj-app/src/main.rs +++ b/fj-app/src/main.rs @@ -1,10 +1,5 @@ mod args; -mod camera; mod config; -mod graphics; -mod input; -mod run; -mod window; use std::path::PathBuf; @@ -12,10 +7,11 @@ use anyhow::anyhow; use fj_export::export; use fj_host::{Model, Parameters}; use fj_operations::shape_processor::ShapeProcessor; +use fj_viewer::run::run; use tracing_subscriber::fmt::format; use tracing_subscriber::EnvFilter; -use crate::{args::Args, config::Config, run::run}; +use crate::{args::Args, config::Config}; fn main() -> anyhow::Result<()> { // Respect `RUST_LOG`. If that's not defined or erroneous, log warnings and diff --git a/fj-viewer/Cargo.toml b/fj-viewer/Cargo.toml new file mode 100644 index 000000000..f3bbde29c --- /dev/null +++ b/fj-viewer/Cargo.toml @@ -0,0 +1,39 @@ +[package] +name = "fj-viewer" +version = "0.5.0" +edition = "2021" + +description = "The world needs another CAD program." +readme = "../README.md" +repository = "https://github.com/hannobraun/fornjot" +license = "0BSD" +keywords = ["cad", "programmatic", "code-cad"] +categories = ["rendering"] + + +[dependencies] +bytemuck = "1.9.1" +futures = "0.3.21" +nalgebra = "0.30.0" +parry3d-f64 = "0.8.0" +thiserror = "1.0.30" +tracing = "0.1.33" +wgpu = "0.12.0" +wgpu_glyph = "0.16.0" +winit = "0.26.1" + +[dependencies.fj-host] +version = "0.5.0" +path = "../fj-host" + +[dependencies.fj-interop] +version = "0.5.0" +path = "../fj-interop" + +[dependencies.fj-math] +version = "0.5.0" +path = "../fj-math" + +[dependencies.fj-operations] +version = "0.5.0" +path = "../fj-operations" diff --git a/fj-app/src/camera.rs b/fj-viewer/src/camera.rs similarity index 100% rename from fj-app/src/camera.rs rename to fj-viewer/src/camera.rs diff --git a/fj-app/src/graphics/config_ui.rs b/fj-viewer/src/graphics/config_ui.rs similarity index 100% rename from fj-app/src/graphics/config_ui.rs rename to fj-viewer/src/graphics/config_ui.rs diff --git a/fj-app/src/graphics/draw_config.rs b/fj-viewer/src/graphics/draw_config.rs similarity index 100% rename from fj-app/src/graphics/draw_config.rs rename to fj-viewer/src/graphics/draw_config.rs diff --git a/fj-app/src/graphics/drawables.rs b/fj-viewer/src/graphics/drawables.rs similarity index 100% rename from fj-app/src/graphics/drawables.rs rename to fj-viewer/src/graphics/drawables.rs diff --git a/fj-app/src/graphics/fonts/B612-Bold.ttf b/fj-viewer/src/graphics/fonts/B612-Bold.ttf similarity index 100% rename from fj-app/src/graphics/fonts/B612-Bold.ttf rename to fj-viewer/src/graphics/fonts/B612-Bold.ttf diff --git a/fj-app/src/graphics/fonts/B612-BoldItalic.ttf b/fj-viewer/src/graphics/fonts/B612-BoldItalic.ttf similarity index 100% rename from fj-app/src/graphics/fonts/B612-BoldItalic.ttf rename to fj-viewer/src/graphics/fonts/B612-BoldItalic.ttf diff --git a/fj-app/src/graphics/fonts/B612-Italic.ttf b/fj-viewer/src/graphics/fonts/B612-Italic.ttf similarity index 100% rename from fj-app/src/graphics/fonts/B612-Italic.ttf rename to fj-viewer/src/graphics/fonts/B612-Italic.ttf diff --git a/fj-app/src/graphics/fonts/B612-Regular.ttf b/fj-viewer/src/graphics/fonts/B612-Regular.ttf similarity index 100% rename from fj-app/src/graphics/fonts/B612-Regular.ttf rename to fj-viewer/src/graphics/fonts/B612-Regular.ttf diff --git a/fj-app/src/graphics/fonts/B612Mono-Bold.ttf b/fj-viewer/src/graphics/fonts/B612Mono-Bold.ttf similarity index 100% rename from fj-app/src/graphics/fonts/B612Mono-Bold.ttf rename to fj-viewer/src/graphics/fonts/B612Mono-Bold.ttf diff --git a/fj-app/src/graphics/fonts/B612Mono-BoldItalic.ttf b/fj-viewer/src/graphics/fonts/B612Mono-BoldItalic.ttf similarity index 100% rename from fj-app/src/graphics/fonts/B612Mono-BoldItalic.ttf rename to fj-viewer/src/graphics/fonts/B612Mono-BoldItalic.ttf diff --git a/fj-app/src/graphics/fonts/B612Mono-Italic.ttf b/fj-viewer/src/graphics/fonts/B612Mono-Italic.ttf similarity index 100% rename from fj-app/src/graphics/fonts/B612Mono-Italic.ttf rename to fj-viewer/src/graphics/fonts/B612Mono-Italic.ttf diff --git a/fj-app/src/graphics/fonts/B612Mono-Regular.ttf b/fj-viewer/src/graphics/fonts/B612Mono-Regular.ttf similarity index 100% rename from fj-app/src/graphics/fonts/B612Mono-Regular.ttf rename to fj-viewer/src/graphics/fonts/B612Mono-Regular.ttf diff --git a/fj-app/src/graphics/fonts/OFL.txt b/fj-viewer/src/graphics/fonts/OFL.txt similarity index 100% rename from fj-app/src/graphics/fonts/OFL.txt rename to fj-viewer/src/graphics/fonts/OFL.txt diff --git a/fj-app/src/graphics/geometries.rs b/fj-viewer/src/graphics/geometries.rs similarity index 100% rename from fj-app/src/graphics/geometries.rs rename to fj-viewer/src/graphics/geometries.rs diff --git a/fj-app/src/graphics/mod.rs b/fj-viewer/src/graphics/mod.rs similarity index 100% rename from fj-app/src/graphics/mod.rs rename to fj-viewer/src/graphics/mod.rs diff --git a/fj-app/src/graphics/pipelines.rs b/fj-viewer/src/graphics/pipelines.rs similarity index 100% rename from fj-app/src/graphics/pipelines.rs rename to fj-viewer/src/graphics/pipelines.rs diff --git a/fj-app/src/graphics/renderer.rs b/fj-viewer/src/graphics/renderer.rs similarity index 100% rename from fj-app/src/graphics/renderer.rs rename to fj-viewer/src/graphics/renderer.rs diff --git a/fj-app/src/graphics/shader.wgsl b/fj-viewer/src/graphics/shader.wgsl similarity index 100% rename from fj-app/src/graphics/shader.wgsl rename to fj-viewer/src/graphics/shader.wgsl diff --git a/fj-app/src/graphics/shaders.rs b/fj-viewer/src/graphics/shaders.rs similarity index 100% rename from fj-app/src/graphics/shaders.rs rename to fj-viewer/src/graphics/shaders.rs diff --git a/fj-app/src/graphics/transform.rs b/fj-viewer/src/graphics/transform.rs similarity index 100% rename from fj-app/src/graphics/transform.rs rename to fj-viewer/src/graphics/transform.rs diff --git a/fj-app/src/graphics/uniforms.rs b/fj-viewer/src/graphics/uniforms.rs similarity index 100% rename from fj-app/src/graphics/uniforms.rs rename to fj-viewer/src/graphics/uniforms.rs diff --git a/fj-app/src/graphics/vertices.rs b/fj-viewer/src/graphics/vertices.rs similarity index 100% rename from fj-app/src/graphics/vertices.rs rename to fj-viewer/src/graphics/vertices.rs diff --git a/fj-app/src/input/handler.rs b/fj-viewer/src/input/handler.rs similarity index 100% rename from fj-app/src/input/handler.rs rename to fj-viewer/src/input/handler.rs diff --git a/fj-app/src/input/mod.rs b/fj-viewer/src/input/mod.rs similarity index 100% rename from fj-app/src/input/mod.rs rename to fj-viewer/src/input/mod.rs diff --git a/fj-app/src/input/movement.rs b/fj-viewer/src/input/movement.rs similarity index 100% rename from fj-app/src/input/movement.rs rename to fj-viewer/src/input/movement.rs diff --git a/fj-app/src/input/rotation.rs b/fj-viewer/src/input/rotation.rs similarity index 100% rename from fj-app/src/input/rotation.rs rename to fj-viewer/src/input/rotation.rs diff --git a/fj-app/src/input/zoom.rs b/fj-viewer/src/input/zoom.rs similarity index 100% rename from fj-app/src/input/zoom.rs rename to fj-viewer/src/input/zoom.rs diff --git a/fj-viewer/src/lib.rs b/fj-viewer/src/lib.rs new file mode 100644 index 000000000..672937437 --- /dev/null +++ b/fj-viewer/src/lib.rs @@ -0,0 +1,5 @@ +pub mod camera; +pub mod graphics; +pub mod input; +pub mod run; +pub mod window; diff --git a/fj-app/src/run.rs b/fj-viewer/src/run.rs similarity index 100% rename from fj-app/src/run.rs rename to fj-viewer/src/run.rs diff --git a/fj-app/src/window.rs b/fj-viewer/src/window.rs similarity index 100% rename from fj-app/src/window.rs rename to fj-viewer/src/window.rs