Skip to content

Building parts#748

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

Building parts#748
louis-e merged 9 commits into
mainfrom
building-parts

Conversation

@louis-e

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

Copy link
Copy Markdown
Owner

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

github-actions Bot commented Feb 9, 2026

Copy link
Copy Markdown

⏱️ 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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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.

Comment thread src/data_processing.rs
@louis-e louis-e requested a review from Copilot February 9, 2026 22:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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.

Comment thread src/element_processing/historic.rs Outdated
Comment thread src/osm_parser.rs Outdated
Comment thread src/data_processing.rs

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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.

Comment thread src/osm_parser.rs Outdated
Comment thread src/element_processing/buildings.rs Outdated
Comment thread src/element_processing/historic.rs Outdated
Comment thread src/element_processing/historic.rs
Comment thread src/data_processing.rs

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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.

Comment thread src/element_processing/historic.rs
Comment thread src/data_processing.rs
Comment thread src/osm_parser.rs Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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.

Comment thread src/data_processing.rs
Comment thread src/floodfill_cache.rs Outdated
Comment thread src/element_processing/historic.rs
@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