Skip to content

Auto-gable more building types, add roof synonyms, weeds on dirt - #973

Merged
louis-e merged 1 commit into
mainfrom
feat/roof-tags-and-dirt-vegetation
Apr 23, 2026
Merged

louis-e merged 1 commit into
mainfrom
feat/roof-tags-and-dirt-vegetation

Conversation

@louis-e

@louis-e louis-e commented Apr 23, 2026

Copy link
Copy Markdown
Owner

OSM taginfo shows ~2% of tagged roofs use shapes (pitched, saltbox, lean_to, side_hipped) that silently fell through to Flat. Map them to their existing closest shape. Extend qualifies_for_auto_gabled_roof so detached/semidetached_house/terrace/bungalow/villa/cabin/hut and farm- building types get a pitched roof by default instead of flat.

Add sparse grass/oak-leaf/dead-bush decoration on coarse-dirt patches: in LC_BARE terrain (targeted at COARSE_DIRT specifically, scree stays bare) and on vineyard/brownfield/landfill landuse. Kept rare so the land still reads as arid/disturbed rather than meadow.

OSM taginfo shows ~2% of tagged roofs use shapes (pitched, saltbox,
lean_to, side_hipped) that silently fell through to Flat. Map them to
their existing closest shape. Extend qualifies_for_auto_gabled_roof so
detached/semidetached_house/terrace/bungalow/villa/cabin/hut and farm-
building types get a pitched roof by default instead of flat.

Add sparse grass/oak-leaf/dead-bush decoration on coarse-dirt patches:
in LC_BARE terrain (targeted at COARSE_DIRT specifically, scree stays
bare) and on vineyard/brownfield/landfill landuse. Kept rare so the
land still reads as arid/disturbed rather than meadow.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Copilot AI review requested due to automatic review settings April 23, 2026 18:44
@github-actions

Copy link
Copy Markdown

⏱️ Benchmark run finished in 0m 58s
🏗️ Generation time: 27s (excl. data fetching)
🧠 Peak memory usage: 1869 MB

📈 Compared against baseline: 30s
🧮 Delta: 28s
🔢 Commit: a36f386

🟢 Generation time is unchanged.

📅 Last benchmark: 2026-04-23 18:47:01 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

This PR improves realism and tag coverage in world generation by (1) handling common OSM roof-shape synonyms so more buildings get an appropriate non-flat roof, (2) expanding which building types auto-default to pitched roofs when no roof tag is present, and (3) adding sparse “weeds/regrowth” decorations on coarse-dirt surfaces in select bare/landuse contexts.

Changes:

  • Map additional roof:shape values/synonyms (e.g., pitched, saltbox, lean_to, side_hipped) to existing supported roof types instead of falling back to Flat.
  • Expand qualifies_for_auto_gabled_roof to include more residential and agricultural building types.
  • Add rare grass/leaves/dead-bush decoration on coarse dirt in LC_BARE and in vineyard/brownfield/landfill landuse areas.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
src/ground_generation.rs Adds sparse vegetation placement on coarse-dirt patches within natural bare land-cover, while keeping other bare surfaces mostly undecorated.
src/element_processing/landuse.rs Adds rare weeds/regrowth decoration on coarse-dirt for vineyard/brownfield/landfill landuse areas.
src/element_processing/buildings.rs Extends roof:shape parsing with additional synonyms and broadens auto-gabled eligibility for more building types.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/element_processing/buildings.rs
@louis-e
louis-e merged commit bae5d14 into main Apr 23, 2026
7 checks passed
@louis-e
louis-e deleted the feat/roof-tags-and-dirt-vegetation branch April 24, 2026 00:22
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