perf: optimize polygon intersection predicates - #34
Merged
pentatonick merged 15 commits intoJul 15, 2026
Conversation
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Snap cardinal azimuth components to exact zero to match Boost's degree-aware semantics. Tighten public parity coverage and remove unreachable test-only and invariant branches that distorted coverage.
Behavior-preserving cleanups across the overlay, rtree, and geographic paths, plus a small amount of new parity coverage: - replace assert_eq! on floating-point results with epsilon comparisons (float_cmp) in the concave-hull, earcut, and parity tests - use let-else in merge, merge the rtree Intersects/CoveredBy match arms, and drop needless dereferences in the WKT parser - simplify the KarneyInverse seed search: seed `best` eagerly with the first candidate instead of threading an Option through the loop - add a disjoint-component stitch_triangles parity test and document the panic condition on is_valid_with / is_valid_polygon_with
Replace the hand-maintained feature table in the root README with one generated by .github/scripts/feature_table.py, so it can no longer drift from the code. The table's rows come from `// feature-group:` comment tags on each crate's `pub use` lines; the script derives function names, no_std status (reused from the no-std table), and docs.rs links, and fails if any public free-function export is left unclassified. - add feature_table.py (regex-parses Cargo.toml so it runs on the hook's Python, matching crate_readme.py); group display order lives in a GROUP_ORDER map, group name/description stay in lib.rs next to the code - tag every table-bearing pub use across the algorithm, overlay, rtree, proj, and io crates; render 12 groups / 69 rows between markers - wire the generator into CI (git diff --exit-code) and the pre-commit hook - add a "How it stays type-agnostic" README section (blurb + collapsed deep-dive) explaining the concept-trait / tag-dispatch technique - document the generator and tagging workflow in CONTRIBUTING
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan