Skip to content

Building parts#748

Merged
louis-e merged 9 commits intomainfrom
building-parts
Feb 10, 2026
Merged

Building parts#748
louis-e merged 9 commits intomainfrom
building-parts

Conversation

@louis-e
Copy link
Owner

@louis-e louis-e commented Feb 9, 2026

No description provided.

…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)
Copilot AI review requested due to automatic review settings February 9, 2026 21:56
@github-actions
Copy link

github-actions bot commented Feb 9, 2026

⏱️ Benchmark run finished in 0m 30s
🧠 Peak memory usage: 963 MB

📈 Compared against baseline: 30s
🧮 Delta: 0s
🔢 Commit: 5cf9da6

🟢 Generation time is unchanged.

📅 Last benchmark: 2026-02-09 21:59:58 UTC

You can retrigger the benchmark by commenting retrigger-benchmark.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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::Part and parse type=building relations.
  • Suppress rendering of building outline ways when a type=building relation contains part members (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.

@louis-e louis-e requested a review from Copilot February 9, 2026 22:14
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@louis-e louis-e merged commit 38adb1f into main Feb 10, 2026
2 checks passed
@louis-e louis-e deleted the building-parts branch February 10, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants