Conversation
…ations - Restrict Part role parsing to type=building relations only; multipolygon relations now always render their Outer members normally (osm_parser.rs) - Suppress outline ways only for type=building relations with actual Part members, not for multipolygon building relations (data_processing.rs) - Match the same type=building guard in generate_building_from_relation so multipolygon outlines are no longer incorrectly skipped (buildings.rs) - Normalize polygon winding order in flood fill to fix undefined geo::Contains results that caused empty building interiors (floodfill.rs)
|
⏱️ Benchmark run finished in 0m 30s 📈 Compared against baseline: 30s 🟢 Generation time is unchanged. 📅 Last benchmark: 2026-02-09 21:59:58 UTC You can retrigger the benchmark by commenting |
There was a problem hiding this comment.
Pull request overview
Adds support for OSM type=building relations that contain role=part members, so building outlines can be suppressed when parts are present, and normalizes polygon winding order in flood fill to avoid geo containment warnings/issues.
Changes:
- Extend relation member role handling with a new
ProcessedMemberRole::Partand parsetype=buildingrelations. - Suppress rendering of building outline ways when a
type=buildingrelation containspartmembers (parts render as standalone ways). - Normalize polygon winding order in flood-fill containment checks via
geo::orient.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/osm_parser.rs |
Adds Part role and parses type=building relations; normalizes member role parsing (trim + lowercase, supports outline). |
src/floodfill.rs |
Orients polygons before Contains checks to avoid winding-order warnings/undefined behavior. |
src/element_processing/water_areas.rs |
Handles the new Part enum variant in relation member matching (ignored for water). |
src/element_processing/buildings.rs |
Skips rendering relation outline when type=building relations contain part members. |
src/data_processing.rs |
Pre-scans relations to suppress outline ways during way processing when building relations have parts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.