diff --git a/CHANGELOG.md b/CHANGELOG.md index 70158388..6bd63200 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## Unreleased +## VortexStepMethod v5.0.0 2026-09-07 ### Added @@ -24,6 +24,22 @@ - Reynolds is stated once: `reynolds(set, wing)` takes the air from `solver_settings` and the reference speed and chord from `airfoil:`. +### Changed + +- BREAKING: `shrink_wrap` traces the rolling ball exactly — pivoting it around + the cloud and offsetting the polygon through the points it touches + (`pivot_contour`) — instead of thresholding and marching-squares-tracing a + distance field, so there is no grid resolution left to set. `ShrinkWrap`'s + `cell_size` is accordingly named `min_clearance`, still accepted under the old + name, and floors `clearance` only for an open single-membrane cloud; a closed + loop keeps its true `clearance`, so `clearance=0` hugs the input and leaves + its sharp trailing edge sharp. The wrap sits at exactly `clearance` from the + cloud instead of a cell over it, so a V3 canopy's aft strip comes out + `2 * clearance` thick where the grid gave `3.5 * cell_size`. + `min_concave_radius` stops costing anything, having padded the grid in both + directions before: one V3 slice at radius 0.4 drops from 173 ms to 10 ms, and + at the default radius from 15 ms to 3 ms. + ## VortexStepMethod v4.3.1 2026-09-01 ### Changed @@ -327,19 +343,6 @@ `reduce(vcat, …)` over a generator, which was quadratic in the row count: ~21× faster on a 16 MB surface table (2.49 s → 0.12 s), benefiting every existing dataset. -- `shrink_wrap` traces the rolling ball exactly — pivoting it around the cloud - and offsetting the polygon through the points it touches (`pivot_contour`) — - instead of thresholding and marching-squares-tracing a distance field, so - there is no grid resolution left to set. `ShrinkWrap`'s `cell_size` is - accordingly named `min_clearance`, still accepted under the old name, and - floors `clearance` only - for an open single-membrane cloud; a closed loop keeps its true `clearance`, so - `clearance=0` hugs the input and leaves its sharp trailing edge sharp. The wrap - sits at exactly `clearance` from the cloud instead of a cell over it, so a V3 - canopy's aft strip comes out `2 * clearance` thick where the grid gave - `3.5 * cell_size`. `min_concave_radius` stops costing anything, - having padded the grid in both directions before: one V3 slice at radius 0.4 - drops from 173 ms to 10 ms, and at the default radius from 15 ms to 3 ms. - `is_show=true` draws into a window named after the plot title instead of into whichever window the backend last used, so a script showing several plots gets one window each and re-running it redraws them in place. `show_plot` takes the diff --git a/Project.toml b/Project.toml index 9940fc2d..1e97079e 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "VortexStepMethod" uuid = "ed3cd733-9f0f-46a9-93e0-89b8d4998dd9" authors = ["1-Bart-1 ", "Oriol Cayon and contributors"] -version = "4.3.1" +version = "5.0.0" [workspace] projects = ["examples", "docs", "test"]