diff --git a/.gitignore b/.gitignore index 71fc6c5bb..b3976ad8a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,5 @@ # Cargo /target -/fj/Cargo.lock -/fj/target -/fj-host/Cargo.lock -/fj-host/target -/release-operator/target -/models/*/Cargo.lock -/models/*/target - -# Zola -/website/public # IntelliJ IDEA /.idea diff --git a/Cargo.lock b/Cargo.lock index 26488fdff..4697e0ac2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -35,6 +35,15 @@ dependencies = [ "version_check", ] +[[package]] +name = "aho-corasick" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +dependencies = [ + "memchr", +] + [[package]] name = "ansi_term" version = "0.12.1" @@ -253,6 +262,31 @@ dependencies = [ "syn", ] +[[package]] +name = "cmd_lib" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ba0f413777386d37f85afa5242f277a7b461905254c1af3c339d4af06800f62" +dependencies = [ + "cmd_lib_macros", + "faccess", + "lazy_static", + "log", + "os_pipe", +] + +[[package]] +name = "cmd_lib_macros" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e66605092ff6c6e37e0246601ae6c3f62dc1880e0599359b5f303497c112dc0" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "cocoa" version = "0.24.0" @@ -441,6 +475,13 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" +[[package]] +name = "cuboid" +version = "0.1.0" +dependencies = [ + "fj", +] + [[package]] name = "d3d12" version = "0.4.1" @@ -526,6 +567,30 @@ version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +[[package]] +name = "env_logger" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + +[[package]] +name = "faccess" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e039175679baf763ddddf4f76900b92d4dae9411ee88cf42d2f11b976b09e07c" +dependencies = [ + "bitflags", + "libc", + "winapi", +] + [[package]] name = "figment" version = "0.10.6" @@ -828,6 +893,13 @@ dependencies = [ "bitflags", ] +[[package]] +name = "group" +version = "0.1.0" +dependencies = [ + "fj", +] + [[package]] name = "hashbrown" version = "0.11.2" @@ -858,6 +930,12 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "ident_case" version = "1.0.1" @@ -918,6 +996,12 @@ dependencies = [ "web-sys", ] +[[package]] +name = "itoa" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" + [[package]] name = "jni-sys" version = "0.3.0" @@ -1396,6 +1480,16 @@ dependencies = [ "num-traits", ] +[[package]] +name = "os_pipe" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb233f06c2307e1f5ce2ecad9f8121cffbbee2c95428f44ea85222e460d0d213" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "os_str_bytes" version = "6.0.0" @@ -1722,6 +1816,8 @@ version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" dependencies = [ + "aho-corasick", + "memchr", "regex-syntax", ] @@ -1740,6 +1836,21 @@ version = "0.6.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" +[[package]] +name = "release-operator" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "cmd_lib", + "env_logger", + "log", + "regex", + "semver", + "serde", + "serde_json", +] + [[package]] name = "renderdoc-sys" version = "0.7.1" @@ -1758,6 +1869,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "ryu" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" + [[package]] name = "safe_arch" version = "0.6.0" @@ -1788,6 +1905,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "semver" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d" + [[package]] name = "serde" version = "1.0.136" @@ -1808,6 +1931,17 @@ dependencies = [ "syn", ] +[[package]] +name = "serde_json" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" +dependencies = [ + "itoa", + "ryu", + "serde", +] + [[package]] name = "sharded-slab" version = "0.1.4" @@ -1870,6 +2004,13 @@ dependencies = [ "wayland-protocols", ] +[[package]] +name = "spacer" +version = "0.1.0" +dependencies = [ + "fj", +] + [[package]] name = "spade" version = "2.0.0" @@ -1892,6 +2033,13 @@ dependencies = [ "num-traits", ] +[[package]] +name = "star" +version = "0.1.0" +dependencies = [ + "fj", +] + [[package]] name = "static_assertions" version = "1.1.0" diff --git a/Cargo.toml b/Cargo.toml index b97c17457..f25cd77d8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,54 +1,13 @@ -[package] -name = "fj-app" -version = "0.5.0" -edition = "2021" +[workspace] +resolver = "2" +members = [ + "fj", + "fj-app", -description = "The world needs another CAD program." -readme = "README.md" -repository = "https://github.com/hannobraun/fornjot" -license = "0BSD" -keywords = ["cad", "programmatic", "code-cad"] -categories = ["mathematics", "rendering"] + "models/cuboid", + "models/group", + "models/spacer", + "models/star", - -[dependencies] -anyhow = "1.0.56" -approx = "0.5.1" -bytemuck = "1.8.0" -decorum = "0.3.1" -futures = "0.3.21" -libloading = "0.7.2" -map-macro = "0.2.0" -nalgebra = "0.30.0" -notify = "5.0.0-pre.14" -num-traits = "0.2.14" -parking_lot = "0.12.0" -parry2d-f64 = "0.8.0" -parry3d-f64 = "0.8.0" -spade = "2.0.0" -thiserror = "1.0.30" -threemf = "0.2.0" -tracing = "0.1.32" -wgpu = "0.12.0" -wgpu_glyph = "0.16.0" -winit = "0.26.1" - -[dependencies.clap] -version = "3.1.6" -features = ["derive"] - -[dependencies.figment] -version = "0.10.6" -features = ["env", "toml"] - -[dependencies.fj] -version = "0.5.0" -path = "fj" - -[dependencies.serde] -version = "1.0.136" -features = ["derive"] - -[dependencies.tracing-subscriber] -version = "0.3.9" -features = ["env-filter", "fmt"] + "release-operator", +] diff --git a/fj-app/Cargo.toml b/fj-app/Cargo.toml new file mode 100644 index 000000000..56744578a --- /dev/null +++ b/fj-app/Cargo.toml @@ -0,0 +1,54 @@ +[package] +name = "fj-app" +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 = ["mathematics", "rendering"] + + +[dependencies] +anyhow = "1.0.56" +approx = "0.5.1" +bytemuck = "1.8.0" +decorum = "0.3.1" +futures = "0.3.21" +libloading = "0.7.2" +map-macro = "0.2.0" +nalgebra = "0.30.0" +notify = "5.0.0-pre.14" +num-traits = "0.2.14" +parking_lot = "0.12.0" +parry2d-f64 = "0.8.0" +parry3d-f64 = "0.8.0" +spade = "2.0.0" +thiserror = "1.0.30" +threemf = "0.2.0" +tracing = "0.1.32" +wgpu = "0.12.0" +wgpu_glyph = "0.16.0" +winit = "0.26.1" + +[dependencies.clap] +version = "3.1.6" +features = ["derive"] + +[dependencies.figment] +version = "0.10.6" +features = ["env", "toml"] + +[dependencies.fj] +version = "0.5.0" +path = "../fj" + +[dependencies.serde] +version = "1.0.136" +features = ["derive"] + +[dependencies.tracing-subscriber] +version = "0.3.9" +features = ["env-filter", "fmt"] diff --git a/src/args.rs b/fj-app/src/args.rs similarity index 100% rename from src/args.rs rename to fj-app/src/args.rs diff --git a/src/camera.rs b/fj-app/src/camera.rs similarity index 100% rename from src/camera.rs rename to fj-app/src/camera.rs diff --git a/src/config.rs b/fj-app/src/config.rs similarity index 100% rename from src/config.rs rename to fj-app/src/config.rs diff --git a/src/debug.rs b/fj-app/src/debug.rs similarity index 100% rename from src/debug.rs rename to fj-app/src/debug.rs diff --git a/src/graphics/config_ui.rs b/fj-app/src/graphics/config_ui.rs similarity index 100% rename from src/graphics/config_ui.rs rename to fj-app/src/graphics/config_ui.rs diff --git a/src/graphics/draw_config.rs b/fj-app/src/graphics/draw_config.rs similarity index 100% rename from src/graphics/draw_config.rs rename to fj-app/src/graphics/draw_config.rs diff --git a/src/graphics/drawables.rs b/fj-app/src/graphics/drawables.rs similarity index 100% rename from src/graphics/drawables.rs rename to fj-app/src/graphics/drawables.rs diff --git a/src/graphics/fonts/B612-Bold.ttf b/fj-app/src/graphics/fonts/B612-Bold.ttf similarity index 100% rename from src/graphics/fonts/B612-Bold.ttf rename to fj-app/src/graphics/fonts/B612-Bold.ttf diff --git a/src/graphics/fonts/B612-BoldItalic.ttf b/fj-app/src/graphics/fonts/B612-BoldItalic.ttf similarity index 100% rename from src/graphics/fonts/B612-BoldItalic.ttf rename to fj-app/src/graphics/fonts/B612-BoldItalic.ttf diff --git a/src/graphics/fonts/B612-Italic.ttf b/fj-app/src/graphics/fonts/B612-Italic.ttf similarity index 100% rename from src/graphics/fonts/B612-Italic.ttf rename to fj-app/src/graphics/fonts/B612-Italic.ttf diff --git a/src/graphics/fonts/B612-Regular.ttf b/fj-app/src/graphics/fonts/B612-Regular.ttf similarity index 100% rename from src/graphics/fonts/B612-Regular.ttf rename to fj-app/src/graphics/fonts/B612-Regular.ttf diff --git a/src/graphics/fonts/B612Mono-Bold.ttf b/fj-app/src/graphics/fonts/B612Mono-Bold.ttf similarity index 100% rename from src/graphics/fonts/B612Mono-Bold.ttf rename to fj-app/src/graphics/fonts/B612Mono-Bold.ttf diff --git a/src/graphics/fonts/B612Mono-BoldItalic.ttf b/fj-app/src/graphics/fonts/B612Mono-BoldItalic.ttf similarity index 100% rename from src/graphics/fonts/B612Mono-BoldItalic.ttf rename to fj-app/src/graphics/fonts/B612Mono-BoldItalic.ttf diff --git a/src/graphics/fonts/B612Mono-Italic.ttf b/fj-app/src/graphics/fonts/B612Mono-Italic.ttf similarity index 100% rename from src/graphics/fonts/B612Mono-Italic.ttf rename to fj-app/src/graphics/fonts/B612Mono-Italic.ttf diff --git a/src/graphics/fonts/B612Mono-Regular.ttf b/fj-app/src/graphics/fonts/B612Mono-Regular.ttf similarity index 100% rename from src/graphics/fonts/B612Mono-Regular.ttf rename to fj-app/src/graphics/fonts/B612Mono-Regular.ttf diff --git a/src/graphics/fonts/OFL.txt b/fj-app/src/graphics/fonts/OFL.txt similarity index 100% rename from src/graphics/fonts/OFL.txt rename to fj-app/src/graphics/fonts/OFL.txt diff --git a/src/graphics/geometries.rs b/fj-app/src/graphics/geometries.rs similarity index 100% rename from src/graphics/geometries.rs rename to fj-app/src/graphics/geometries.rs diff --git a/src/graphics/mod.rs b/fj-app/src/graphics/mod.rs similarity index 100% rename from src/graphics/mod.rs rename to fj-app/src/graphics/mod.rs diff --git a/src/graphics/pipelines.rs b/fj-app/src/graphics/pipelines.rs similarity index 100% rename from src/graphics/pipelines.rs rename to fj-app/src/graphics/pipelines.rs diff --git a/src/graphics/renderer.rs b/fj-app/src/graphics/renderer.rs similarity index 100% rename from src/graphics/renderer.rs rename to fj-app/src/graphics/renderer.rs diff --git a/src/graphics/shader.wgsl b/fj-app/src/graphics/shader.wgsl similarity index 100% rename from src/graphics/shader.wgsl rename to fj-app/src/graphics/shader.wgsl diff --git a/src/graphics/shaders.rs b/fj-app/src/graphics/shaders.rs similarity index 100% rename from src/graphics/shaders.rs rename to fj-app/src/graphics/shaders.rs diff --git a/src/graphics/transform.rs b/fj-app/src/graphics/transform.rs similarity index 100% rename from src/graphics/transform.rs rename to fj-app/src/graphics/transform.rs diff --git a/src/graphics/uniforms.rs b/fj-app/src/graphics/uniforms.rs similarity index 100% rename from src/graphics/uniforms.rs rename to fj-app/src/graphics/uniforms.rs diff --git a/src/graphics/vertices.rs b/fj-app/src/graphics/vertices.rs similarity index 100% rename from src/graphics/vertices.rs rename to fj-app/src/graphics/vertices.rs diff --git a/src/input/handler.rs b/fj-app/src/input/handler.rs similarity index 100% rename from src/input/handler.rs rename to fj-app/src/input/handler.rs diff --git a/src/input/mod.rs b/fj-app/src/input/mod.rs similarity index 100% rename from src/input/mod.rs rename to fj-app/src/input/mod.rs diff --git a/src/input/movement.rs b/fj-app/src/input/movement.rs similarity index 100% rename from src/input/movement.rs rename to fj-app/src/input/movement.rs diff --git a/src/input/rotation.rs b/fj-app/src/input/rotation.rs similarity index 100% rename from src/input/rotation.rs rename to fj-app/src/input/rotation.rs diff --git a/src/input/zoom.rs b/fj-app/src/input/zoom.rs similarity index 100% rename from src/input/zoom.rs rename to fj-app/src/input/zoom.rs diff --git a/src/kernel/algorithms/approximation.rs b/fj-app/src/kernel/algorithms/approximation.rs similarity index 100% rename from src/kernel/algorithms/approximation.rs rename to fj-app/src/kernel/algorithms/approximation.rs diff --git a/src/kernel/algorithms/mod.rs b/fj-app/src/kernel/algorithms/mod.rs similarity index 100% rename from src/kernel/algorithms/mod.rs rename to fj-app/src/kernel/algorithms/mod.rs diff --git a/src/kernel/algorithms/sweep.rs b/fj-app/src/kernel/algorithms/sweep.rs similarity index 100% rename from src/kernel/algorithms/sweep.rs rename to fj-app/src/kernel/algorithms/sweep.rs diff --git a/src/kernel/algorithms/triangulation.rs b/fj-app/src/kernel/algorithms/triangulation.rs similarity index 100% rename from src/kernel/algorithms/triangulation.rs rename to fj-app/src/kernel/algorithms/triangulation.rs diff --git a/src/kernel/geometry/curves/circle.rs b/fj-app/src/kernel/geometry/curves/circle.rs similarity index 100% rename from src/kernel/geometry/curves/circle.rs rename to fj-app/src/kernel/geometry/curves/circle.rs diff --git a/src/kernel/geometry/curves/line.rs b/fj-app/src/kernel/geometry/curves/line.rs similarity index 100% rename from src/kernel/geometry/curves/line.rs rename to fj-app/src/kernel/geometry/curves/line.rs diff --git a/src/kernel/geometry/curves/mod.rs b/fj-app/src/kernel/geometry/curves/mod.rs similarity index 100% rename from src/kernel/geometry/curves/mod.rs rename to fj-app/src/kernel/geometry/curves/mod.rs diff --git a/src/kernel/geometry/mod.rs b/fj-app/src/kernel/geometry/mod.rs similarity index 100% rename from src/kernel/geometry/mod.rs rename to fj-app/src/kernel/geometry/mod.rs diff --git a/src/kernel/geometry/points.rs b/fj-app/src/kernel/geometry/points.rs similarity index 100% rename from src/kernel/geometry/points.rs rename to fj-app/src/kernel/geometry/points.rs diff --git a/src/kernel/geometry/surfaces/mod.rs b/fj-app/src/kernel/geometry/surfaces/mod.rs similarity index 100% rename from src/kernel/geometry/surfaces/mod.rs rename to fj-app/src/kernel/geometry/surfaces/mod.rs diff --git a/src/kernel/geometry/surfaces/swept.rs b/fj-app/src/kernel/geometry/surfaces/swept.rs similarity index 100% rename from src/kernel/geometry/surfaces/swept.rs rename to fj-app/src/kernel/geometry/surfaces/swept.rs diff --git a/src/kernel/mod.rs b/fj-app/src/kernel/mod.rs similarity index 100% rename from src/kernel/mod.rs rename to fj-app/src/kernel/mod.rs diff --git a/src/kernel/shape/geometry.rs b/fj-app/src/kernel/shape/geometry.rs similarity index 100% rename from src/kernel/shape/geometry.rs rename to fj-app/src/kernel/shape/geometry.rs diff --git a/src/kernel/shape/handle.rs b/fj-app/src/kernel/shape/handle.rs similarity index 100% rename from src/kernel/shape/handle.rs rename to fj-app/src/kernel/shape/handle.rs diff --git a/src/kernel/shape/iter.rs b/fj-app/src/kernel/shape/iter.rs similarity index 100% rename from src/kernel/shape/iter.rs rename to fj-app/src/kernel/shape/iter.rs diff --git a/src/kernel/shape/mod.rs b/fj-app/src/kernel/shape/mod.rs similarity index 100% rename from src/kernel/shape/mod.rs rename to fj-app/src/kernel/shape/mod.rs diff --git a/src/kernel/shape/topology.rs b/fj-app/src/kernel/shape/topology.rs similarity index 100% rename from src/kernel/shape/topology.rs rename to fj-app/src/kernel/shape/topology.rs diff --git a/src/kernel/shape/validate.rs b/fj-app/src/kernel/shape/validate.rs similarity index 100% rename from src/kernel/shape/validate.rs rename to fj-app/src/kernel/shape/validate.rs diff --git a/src/kernel/shapes/circle.rs b/fj-app/src/kernel/shapes/circle.rs similarity index 100% rename from src/kernel/shapes/circle.rs rename to fj-app/src/kernel/shapes/circle.rs diff --git a/src/kernel/shapes/difference_2d.rs b/fj-app/src/kernel/shapes/difference_2d.rs similarity index 100% rename from src/kernel/shapes/difference_2d.rs rename to fj-app/src/kernel/shapes/difference_2d.rs diff --git a/src/kernel/shapes/group.rs b/fj-app/src/kernel/shapes/group.rs similarity index 100% rename from src/kernel/shapes/group.rs rename to fj-app/src/kernel/shapes/group.rs diff --git a/src/kernel/shapes/mod.rs b/fj-app/src/kernel/shapes/mod.rs similarity index 100% rename from src/kernel/shapes/mod.rs rename to fj-app/src/kernel/shapes/mod.rs diff --git a/src/kernel/shapes/sketch.rs b/fj-app/src/kernel/shapes/sketch.rs similarity index 100% rename from src/kernel/shapes/sketch.rs rename to fj-app/src/kernel/shapes/sketch.rs diff --git a/src/kernel/shapes/sweep.rs b/fj-app/src/kernel/shapes/sweep.rs similarity index 100% rename from src/kernel/shapes/sweep.rs rename to fj-app/src/kernel/shapes/sweep.rs diff --git a/src/kernel/shapes/transform.rs b/fj-app/src/kernel/shapes/transform.rs similarity index 100% rename from src/kernel/shapes/transform.rs rename to fj-app/src/kernel/shapes/transform.rs diff --git a/src/kernel/topology/edges.rs b/fj-app/src/kernel/topology/edges.rs similarity index 100% rename from src/kernel/topology/edges.rs rename to fj-app/src/kernel/topology/edges.rs diff --git a/src/kernel/topology/faces.rs b/fj-app/src/kernel/topology/faces.rs similarity index 100% rename from src/kernel/topology/faces.rs rename to fj-app/src/kernel/topology/faces.rs diff --git a/src/kernel/topology/mod.rs b/fj-app/src/kernel/topology/mod.rs similarity index 100% rename from src/kernel/topology/mod.rs rename to fj-app/src/kernel/topology/mod.rs diff --git a/src/kernel/topology/vertices.rs b/fj-app/src/kernel/topology/vertices.rs similarity index 100% rename from src/kernel/topology/vertices.rs rename to fj-app/src/kernel/topology/vertices.rs diff --git a/src/main.rs b/fj-app/src/main.rs similarity index 100% rename from src/main.rs rename to fj-app/src/main.rs diff --git a/src/math/aabb.rs b/fj-app/src/math/aabb.rs similarity index 100% rename from src/math/aabb.rs rename to fj-app/src/math/aabb.rs diff --git a/src/math/coordinates.rs b/fj-app/src/math/coordinates.rs similarity index 100% rename from src/math/coordinates.rs rename to fj-app/src/math/coordinates.rs diff --git a/src/math/mod.rs b/fj-app/src/math/mod.rs similarity index 100% rename from src/math/mod.rs rename to fj-app/src/math/mod.rs diff --git a/src/math/point.rs b/fj-app/src/math/point.rs similarity index 100% rename from src/math/point.rs rename to fj-app/src/math/point.rs diff --git a/src/math/scalar.rs b/fj-app/src/math/scalar.rs similarity index 100% rename from src/math/scalar.rs rename to fj-app/src/math/scalar.rs diff --git a/src/math/segment.rs b/fj-app/src/math/segment.rs similarity index 100% rename from src/math/segment.rs rename to fj-app/src/math/segment.rs diff --git a/src/math/transform.rs b/fj-app/src/math/transform.rs similarity index 100% rename from src/math/transform.rs rename to fj-app/src/math/transform.rs diff --git a/src/math/triangle.rs b/fj-app/src/math/triangle.rs similarity index 100% rename from src/math/triangle.rs rename to fj-app/src/math/triangle.rs diff --git a/src/math/vector.rs b/fj-app/src/math/vector.rs similarity index 100% rename from src/math/vector.rs rename to fj-app/src/math/vector.rs diff --git a/src/mesh.rs b/fj-app/src/mesh.rs similarity index 100% rename from src/mesh.rs rename to fj-app/src/mesh.rs diff --git a/src/model.rs b/fj-app/src/model.rs similarity index 100% rename from src/model.rs rename to fj-app/src/model.rs diff --git a/src/window.rs b/fj-app/src/window.rs similarity index 100% rename from src/window.rs rename to fj-app/src/window.rs diff --git a/fj/src/shape_3d.rs b/fj/src/shape_3d.rs index b9274089f..0491f2d27 100644 --- a/fj/src/shape_3d.rs +++ b/fj/src/shape_3d.rs @@ -16,7 +16,7 @@ pub enum Shape3d { impl From for Shape { fn from(shape: Shape3d) -> Self { - Self::Shape3d(shape.into()) + Self::Shape3d(shape) } } diff --git a/models/group/src/lib.rs b/models/group/src/lib.rs index 1c16bccec..5892eafb4 100644 --- a/models/group/src/lib.rs +++ b/models/group/src/lib.rs @@ -13,7 +13,7 @@ pub extern "C" fn model(_: &HashMap) -> fj::Shape { ]; let cube_a = fj::Sketch::from_points(vertices).sweep(1.0); - let cube_b = cube_a.clone().translate([1.5, 0., 0.5]); + let cube_b = cube_a.translate([1.5, 0., 0.5]); let group = cube_a.group(&cube_b); diff --git a/models/star/src/lib.rs b/models/star/src/lib.rs index 30b5b8ad4..8367c1544 100644 --- a/models/star/src/lib.rs +++ b/models/star/src/lib.rs @@ -50,7 +50,7 @@ pub extern "C" fn model(args: &HashMap) -> fj::Shape { inner.push([x / 2., y / 2.]); } - let outer = fj::Sketch::from_points(outer).with_color ([0, 255, 0, 200]); + let outer = fj::Sketch::from_points(outer).with_color([0, 255, 0, 200]); let inner = fj::Sketch::from_points(inner); let footprint = fj::Difference2d::from_objects(outer.into(), inner.into()); diff --git a/release-operator/Cargo.lock b/release-operator/Cargo.lock deleted file mode 100644 index ea0773ded..000000000 --- a/release-operator/Cargo.lock +++ /dev/null @@ -1,398 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "aho-corasick" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" -dependencies = [ - "memchr", -] - -[[package]] -name = "anyhow" -version = "1.0.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "clap" -version = "3.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c93436c21e4698bacadf42917db28b23017027a4deccb35dbe47a7e7840123" -dependencies = [ - "bitflags", - "clap_derive", - "indexmap", - "lazy_static", - "os_str_bytes", - "textwrap", -] - -[[package]] -name = "clap_derive" -version = "3.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16" -dependencies = [ - "heck", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "cmd_lib" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ba0f413777386d37f85afa5242f277a7b461905254c1af3c339d4af06800f62" -dependencies = [ - "cmd_lib_macros", - "faccess", - "lazy_static", - "log", - "os_pipe", -] - -[[package]] -name = "cmd_lib_macros" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e66605092ff6c6e37e0246601ae6c3f62dc1880e0599359b5f303497c112dc0" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "env_logger" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "faccess" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e039175679baf763ddddf4f76900b92d4dae9411ee88cf42d2f11b976b09e07c" -dependencies = [ - "bitflags", - "libc", - "winapi", -] - -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" - -[[package]] -name = "heck" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "indexmap" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" -dependencies = [ - "autocfg", - "hashbrown", -] - -[[package]] -name = "itoa" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.120" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5c14e80759d0939d013e6ca49930e59fc53dd8e5009132f76240c179380c09" - -[[package]] -name = "log" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "memchr" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" - -[[package]] -name = "os_pipe" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb233f06c2307e1f5ce2ecad9f8121cffbbee2c95428f44ea85222e460d0d213" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "os_str_bytes" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" -dependencies = [ - "memchr", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "quote" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "regex" -version = "1.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.6.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" - -[[package]] -name = "release-operator" -version = "0.1.0" -dependencies = [ - "anyhow", - "clap", - "cmd_lib", - "env_logger", - "log", - "regex", - "semver", - "serde", - "serde_json", -] - -[[package]] -name = "ryu" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" - -[[package]] -name = "semver" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d" - -[[package]] -name = "serde" -version = "1.0.136" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.136" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "syn" -version = "1.0.88" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd69e719f31e88618baa1eaa6ee2de5c9a1c004f1e9ecdb58e8352a13f20a01" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "termcolor" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "textwrap" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" - -[[package]] -name = "unicode-xid" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/release-operator/src/main.rs b/release-operator/src/main.rs index 9682cff24..baccd625e 100644 --- a/release-operator/src/main.rs +++ b/release-operator/src/main.rs @@ -33,7 +33,10 @@ fn main() -> anyhow::Result<()> { Release::new(args.sha, args.label).detect()?; - log::trace!("finished release-operator process, took {:?}", start.elapsed()); + log::trace!( + "finished release-operator process, took {:?}", + start.elapsed() + ); Ok(()) } diff --git a/release-operator/src/release.rs b/release-operator/src/release.rs index 8f7a2b90a..b72f6d22d 100644 --- a/release-operator/src/release.rs +++ b/release-operator/src/release.rs @@ -21,7 +21,8 @@ impl Release { return self.miss(); } - let commit: String = cmd_lib::run_fun!(git log --oneline -n 1 "${sha}")?; + let commit: String = + cmd_lib::run_fun!(git log --oneline -n 1 "${sha}")?; // A release commits need to contain a semver version number. let version = Regex::new(r"(v?\d+.\d+.\d+)")? @@ -30,7 +31,7 @@ impl Release { match version { Some(v) => self.hit(v.as_str()), - None => self.miss() + None => self.miss(), } }