diff --git a/CHANGELOG.md b/CHANGELOG.md index 5ed65ee1..bf517163 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,12 @@ -# 0.4.4 (unpublished) +# 0.5.0 +This is a large release with a bunch of small features, reorganization, and one +big new crate (`fidget-wgpu`, re-exported as `fidget::wgpu`). The goal of +`fidget::wgpu` is to perform all pixel-processing operations on the GPU, +including both rasterization (function evaluation) and shading. Right now, the +crate has building blocks for voxel rendering; pixel rendering is coming in a +subsequent release. Expect the APIs to change shape as I actually try to use +them in an application. + - Big reorganization of `fidget::raster` - `render2d` and `render3d` modules are renamed to `pixel` and `voxel`, respectively @@ -41,7 +49,8 @@ - Add `fidget-wgpu` crate - This is even more experimental than the rest of Fidget! - There are two user-facing modules: `voxel` does voxel rasterization (depth - + normal), and `effects` does raster effects (e.g. shading) + and normal), and `effects` does raster effects (e.g. shading) + - More to come (e.g. RGB evaluation and pixel / 2D rasterization) - Add `VarMap::iter` to iterate over `(var, index)` tuples - Simplified `Shape`, which was doing too much - It no longer has its own transform matrix; bring your own to the diff --git a/Cargo.lock b/Cargo.lock index d61aa2ae..57ee496a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1518,7 +1518,7 @@ dependencies = [ [[package]] name = "fidget" -version = "0.4.4" +version = "0.5.0" dependencies = [ "criterion", "document-features", @@ -1540,7 +1540,7 @@ dependencies = [ [[package]] name = "fidget-bytecode" -version = "0.4.4" +version = "0.5.0" dependencies = [ "fidget-core", "serde", @@ -1572,7 +1572,7 @@ dependencies = [ [[package]] name = "fidget-core" -version = "0.4.4" +version = "0.5.0" dependencies = [ "facet", "getrandom 0.2.17", @@ -1590,7 +1590,7 @@ dependencies = [ [[package]] name = "fidget-gui" -version = "0.4.4" +version = "0.5.0" dependencies = [ "fidget-core", "nalgebra", @@ -1600,7 +1600,7 @@ dependencies = [ [[package]] name = "fidget-jit" -version = "0.4.4" +version = "0.5.0" dependencies = [ "arrayvec", "dynasmrt", @@ -1613,7 +1613,7 @@ dependencies = [ [[package]] name = "fidget-mesh" -version = "0.4.4" +version = "0.5.0" dependencies = [ "arrayvec", "fidget-core", @@ -1626,7 +1626,7 @@ dependencies = [ [[package]] name = "fidget-raster" -version = "0.4.4" +version = "0.5.0" dependencies = [ "fidget-core", "nalgebra", @@ -1640,7 +1640,7 @@ dependencies = [ [[package]] name = "fidget-rhai" -version = "0.4.4" +version = "0.5.0" dependencies = [ "enum-map", "facet", @@ -1654,7 +1654,7 @@ dependencies = [ [[package]] name = "fidget-shapes" -version = "0.4.4" +version = "0.5.0" dependencies = [ "enum-map", "facet", @@ -1667,7 +1667,7 @@ dependencies = [ [[package]] name = "fidget-solver" -version = "0.4.4" +version = "0.5.0" dependencies = [ "approx", "fidget-core", @@ -1697,7 +1697,7 @@ dependencies = [ [[package]] name = "fidget-wgpu" -version = "0.4.4" +version = "0.5.0" dependencies = [ "fidget-bytecode", "fidget-core", diff --git a/Cargo.toml b/Cargo.toml index 6d0c289a..88495a64 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -87,14 +87,14 @@ zerocopy = { version = "0.8", features = ["derive"] } # Local crates fidget = { path = "fidget", default-features = false } -fidget-core = { path = "fidget-core", version = "=0.4.4" } -fidget-bytecode = { path = "fidget-bytecode", version = "=0.4.4" } -fidget-gui = { path = "fidget-gui", version = "=0.4.4" } -fidget-jit = { path = "fidget-jit", version = "=0.4.4" } -fidget-mesh = { path = "fidget-mesh", version = "=0.4.4" } -fidget-raster = { path = "fidget-raster", version = "=0.4.4" } -fidget-rhai = { path = "fidget-rhai", version = "=0.4.4" } -fidget-shapes = { path = "fidget-shapes", version = "=0.4.4" } -fidget-solver = { path = "fidget-solver", version = "=0.4.4" } -fidget-wgpu = { path = "fidget-wgpu", version = "=0.4.4" } +fidget-core = { path = "fidget-core", version = "=0.5.0" } +fidget-bytecode = { path = "fidget-bytecode", version = "=0.5.0" } +fidget-gui = { path = "fidget-gui", version = "=0.5.0" } +fidget-jit = { path = "fidget-jit", version = "=0.5.0" } +fidget-mesh = { path = "fidget-mesh", version = "=0.5.0" } +fidget-raster = { path = "fidget-raster", version = "=0.5.0" } +fidget-rhai = { path = "fidget-rhai", version = "=0.5.0" } +fidget-shapes = { path = "fidget-shapes", version = "=0.5.0" } +fidget-solver = { path = "fidget-solver", version = "=0.5.0" } +fidget-wgpu = { path = "fidget-wgpu", version = "=0.5.0" } workspace-hack = { path = "workspace-hack", version = "0.1" } diff --git a/demos/web-editor/crate/Cargo.lock b/demos/web-editor/crate/Cargo.lock index 3c3ad434..1e9123c3 100644 --- a/demos/web-editor/crate/Cargo.lock +++ b/demos/web-editor/crate/Cargo.lock @@ -577,7 +577,7 @@ dependencies = [ [[package]] name = "fidget" -version = "0.4.4" +version = "0.5.0" dependencies = [ "document-features", "fidget-bytecode", @@ -595,7 +595,7 @@ dependencies = [ [[package]] name = "fidget-bytecode" -version = "0.4.4" +version = "0.5.0" dependencies = [ "fidget-core", "serde", @@ -607,7 +607,7 @@ dependencies = [ [[package]] name = "fidget-core" -version = "0.4.4" +version = "0.5.0" dependencies = [ "facet", "getrandom 0.2.17", @@ -625,7 +625,7 @@ dependencies = [ [[package]] name = "fidget-gui" -version = "0.4.4" +version = "0.5.0" dependencies = [ "fidget-core", "nalgebra", @@ -635,7 +635,7 @@ dependencies = [ [[package]] name = "fidget-jit" -version = "0.4.4" +version = "0.5.0" dependencies = [ "arrayvec", "dynasmrt", @@ -648,7 +648,7 @@ dependencies = [ [[package]] name = "fidget-mesh" -version = "0.4.4" +version = "0.5.0" dependencies = [ "arrayvec", "fidget-core", @@ -661,7 +661,7 @@ dependencies = [ [[package]] name = "fidget-raster" -version = "0.4.4" +version = "0.5.0" dependencies = [ "fidget-core", "nalgebra", @@ -675,7 +675,7 @@ dependencies = [ [[package]] name = "fidget-rhai" -version = "0.4.4" +version = "0.5.0" dependencies = [ "enum-map", "facet", @@ -689,7 +689,7 @@ dependencies = [ [[package]] name = "fidget-shapes" -version = "0.4.4" +version = "0.5.0" dependencies = [ "enum-map", "facet", @@ -702,7 +702,7 @@ dependencies = [ [[package]] name = "fidget-solver" -version = "0.4.4" +version = "0.5.0" dependencies = [ "fidget-core", "nalgebra", @@ -724,7 +724,7 @@ dependencies = [ [[package]] name = "fidget-wgpu" -version = "0.4.4" +version = "0.5.0" dependencies = [ "fidget-bytecode", "fidget-core", diff --git a/fidget-bytecode/Cargo.toml b/fidget-bytecode/Cargo.toml index 607b6fe0..1a176a29 100644 --- a/fidget-bytecode/Cargo.toml +++ b/fidget-bytecode/Cargo.toml @@ -2,7 +2,7 @@ name = "fidget-bytecode" description = "Bytecode representation for Fidget expression tapes" readme = "README.md" -version = "0.4.4" +version = "0.5.0" edition.workspace = true license.workspace = true diff --git a/fidget-core/Cargo.toml b/fidget-core/Cargo.toml index 9b8c30f6..0679431a 100644 --- a/fidget-core/Cargo.toml +++ b/fidget-core/Cargo.toml @@ -2,7 +2,7 @@ name = "fidget-core" description = "Core infrastructure for Fidget" readme = "README.md" -version = "0.4.4" +version = "0.5.0" edition.workspace = true license.workspace = true diff --git a/fidget-gui/Cargo.toml b/fidget-gui/Cargo.toml index 437aa355..f48b6131 100644 --- a/fidget-gui/Cargo.toml +++ b/fidget-gui/Cargo.toml @@ -2,7 +2,7 @@ name = "fidget-gui" description = "Platform-independent GUI abstractions for Fidget" readme = "README.md" -version = "0.4.4" +version = "0.5.0" edition.workspace = true license.workspace = true diff --git a/fidget-jit/Cargo.toml b/fidget-jit/Cargo.toml index cb8a6360..ab29bcc1 100644 --- a/fidget-jit/Cargo.toml +++ b/fidget-jit/Cargo.toml @@ -2,7 +2,7 @@ name = "fidget-jit" description = "Native JIT compiler for Fidget" readme = "README.md" -version = "0.4.4" +version = "0.5.0" edition.workspace = true license.workspace = true diff --git a/fidget-mesh/Cargo.toml b/fidget-mesh/Cargo.toml index 30f48f51..8b2f5725 100644 --- a/fidget-mesh/Cargo.toml +++ b/fidget-mesh/Cargo.toml @@ -2,7 +2,7 @@ name = "fidget-mesh" description = "Meshing of complex closed-form implicit surfaces" readme = "README.md" -version = "0.4.4" +version = "0.5.0" edition.workspace = true license.workspace = true diff --git a/fidget-raster/Cargo.toml b/fidget-raster/Cargo.toml index 51681213..616470a9 100644 --- a/fidget-raster/Cargo.toml +++ b/fidget-raster/Cargo.toml @@ -2,7 +2,7 @@ name = "fidget-raster" description = "Bitmap and heightmap rendering for Fidget" readme = "README.md" -version = "0.4.4" +version = "0.5.0" edition.workspace = true license.workspace = true diff --git a/fidget-rhai/Cargo.toml b/fidget-rhai/Cargo.toml index 8b7fe1aa..77a66dab 100644 --- a/fidget-rhai/Cargo.toml +++ b/fidget-rhai/Cargo.toml @@ -2,7 +2,7 @@ name = "fidget-rhai" description = "Rhai script evaluation for complex closed-form implicit surfaces" readme = "README.md" -version = "0.4.4" +version = "0.5.0" edition.workspace = true license.workspace = true diff --git a/fidget-shapes/Cargo.toml b/fidget-shapes/Cargo.toml index 40b8dd3e..d202700b 100644 --- a/fidget-shapes/Cargo.toml +++ b/fidget-shapes/Cargo.toml @@ -2,7 +2,7 @@ name = "fidget-shapes" description = "Shapes and transforms for use with Fidget" readme = "README.md" -version = "0.4.4" +version = "0.5.0" edition.workspace = true license.workspace = true diff --git a/fidget-solver/Cargo.toml b/fidget-solver/Cargo.toml index 5e7982e6..06ce5e87 100644 --- a/fidget-solver/Cargo.toml +++ b/fidget-solver/Cargo.toml @@ -2,7 +2,7 @@ name = "fidget-solver" description = "Constraint solver using Fidget as a backend" readme = "README.md" -version = "0.4.4" +version = "0.5.0" edition.workspace = true license.workspace = true diff --git a/fidget-wgpu/Cargo.toml b/fidget-wgpu/Cargo.toml index 21565d4d..c5f9adc5 100644 --- a/fidget-wgpu/Cargo.toml +++ b/fidget-wgpu/Cargo.toml @@ -2,7 +2,7 @@ name = "fidget-wgpu" description = "WGPU backend for Fidget" readme = "README.md" -version = "0.4.4" +version = "0.5.0" edition.workspace = true license.workspace = true diff --git a/fidget/Cargo.toml b/fidget/Cargo.toml index 10640939..dfeb1886 100644 --- a/fidget/Cargo.toml +++ b/fidget/Cargo.toml @@ -2,7 +2,7 @@ name = "fidget" description = "Infrastructure for complex closed-form implicit surfaces" readme = "../README.md" -version = "0.4.4" +version = "0.5.0" edition.workspace = true license.workspace = true