smoothify 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {smoothify-0.3.0 → smoothify-0.3.1}/CHANGELOG.md +6 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/PKG-INFO +1 -1
- {smoothify-0.3.0 → smoothify-0.3.1}/examples/Water_Smoothed.gpkg +0 -0
- smoothify-0.3.1/examples/real_world_water_example.ipynb +773 -0
- smoothify-0.3.1/examples/usage_examples.ipynb +837 -0
- smoothify-0.3.1/fuzz/__init__.py +27 -0
- smoothify-0.3.1/fuzz/generators.py +193 -0
- smoothify-0.3.1/fuzz/oracle.py +93 -0
- smoothify-0.3.1/fuzz/runner.py +177 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/pytest.ini +1 -0
- smoothify-0.3.1/scripts/fuzz_run.py +143 -0
- smoothify-0.3.1/scripts/fuzz_visualize.py +89 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/smoothify/_version.py +3 -3
- {smoothify-0.3.0 → smoothify-0.3.1}/smoothify/smoothify_core.py +35 -14
- {smoothify-0.3.0 → smoothify-0.3.1}/smoothify.egg-info/PKG-INFO +1 -1
- {smoothify-0.3.0 → smoothify-0.3.1}/smoothify.egg-info/SOURCES.txt +8 -0
- smoothify-0.3.1/tests/test_fuzz.py +54 -0
- smoothify-0.3.1/tests/test_self_intersecting_variant.py +86 -0
- smoothify-0.3.0/examples/real_world_water_example.ipynb +0 -773
- smoothify-0.3.0/examples/usage_examples.ipynb +0 -837
- {smoothify-0.3.0 → smoothify-0.3.1}/.github/workflows/ci.yml +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/.github/workflows/publish.yml +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/.gitignore +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/.pre-commit-config.yaml +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/.python-version +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/.vscode/settings.json +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/LICENSE +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/README.md +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/RELEASING.md +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/benchmarks/bench_water.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/examples/Water.gpkg +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/examples/merge_holes_examples.ipynb +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/examples/smoothify_vs_shapely_comparison.ipynb +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/images/example_1_polygon.png +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/images/example_2_linestring.png +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/images/example_3_iterations.png +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/images/example_4_merging.png +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/images/generate_example_images.ipynb +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/images/generate_pipeline_graphic.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/images/generate_readme_image.ipynb +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/images/pipeline_steps.png +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/images/smoothify_hero.png +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/images/smoothify_logo.png +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/pyproject.toml +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/setup.cfg +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/smoothify/__init__.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/smoothify/coordinator.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/smoothify/geometry_ops.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/smoothify/py.typed +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/smoothify.egg-info/dependency_links.txt +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/smoothify.egg-info/requires.txt +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/smoothify.egg-info/top_level.txt +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/README.md +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/__init__.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/conftest.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_all_geometry_types.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_area_tolerance.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_auto_segment_length.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_chaikin.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_congruence_dedup.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_convexity_artifacts.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_corner_rounding.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_data/convex_pixel_rectangle.gpkg +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_data/naip_owm_water_bodies.geojson +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_edge_cases_coverage.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_geometry_types.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_invalid_polygon.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_merge_holes.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_real_world_data.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_smoothify_api.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_smoothify_core.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_synthetic_blob_fuzz.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/test_water_quality_sweep.py +0 -0
- {smoothify-0.3.0 → smoothify-0.3.1}/tests/visual_tests.ipynb +0 -0
|
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.3.1] - 2026-06-15
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
- Fixed an `AssertionError` crash (`Resulting geometry must be Polygon or LineString. Got <GeometryCollection>`) when smoothing certain valid thin/staircase polygons only a few `segment_length`s across. A rotated start-point variant could self-intersect after simplify + Chaikin where it rounds a neck about one `segment_length` wide; `make_valid()` then repaired that variant into a polygon *plus* a zero-area line filament at the pinch, and `unary_union` kept the 1-D debris, so the variant union became a `GeometryCollection` the rest of the pipeline could not handle. Zero-area debris is now stripped from each repaired variant before the union, so the result stays a clean, valid `Polygon`.
|
|
11
|
+
- Improved the sharp-concave-fold repair (introduced in 0.3.0) for thin features that shed significant area during smoothing. The closing (dilate-erode) seal now operates on the area-preserved result and restores area again afterwards, instead of sealing the area-deficient pre-buffer variant union — which the area-preservation buffer could then re-expand into the same cusp. This reduces residual folds on narrow arms.
|
|
12
|
+
|
|
7
13
|
## [0.3.0] - 2026-06-12
|
|
8
14
|
|
|
9
15
|
### Changed
|
|
Binary file
|