Skip to content

Replace black_concrete roads with scattered gray_concrete_powder/cyan_terracotta mix#887

Merged
louis-e merged 8 commits into
mainfrom
feature/road-surface-mix
Apr 6, 2026
Merged

Replace black_concrete roads with scattered gray_concrete_powder/cyan_terracotta mix#887
louis-e merged 8 commits into
mainfrom
feature/road-surface-mix

Conversation

@louis-e

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

Copy link
Copy Markdown
Owner

Use a deterministic coordinate-based hash to randomly scatter two block types for road surfaces instead of uniform black_concrete. Update all protection lists across tree, natural, landuse, amenities, and ground generation to recognize the new road blocks.
Adds more visual variation for skyscrapers.

…_terracotta mix

Use a deterministic coordinate-based hash to randomly scatter two block types
for road surfaces instead of uniform black_concrete. Update all protection
lists across tree, natural, landuse, amenities, and ground generation to
recognize the new road blocks.
Copilot AI review requested due to automatic review settings April 6, 2026 00:02

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 replaces uniform black_concrete road surfaces with a deterministic, coordinate-hashed mix of gray_concrete_powder and cyan_terracotta, and updates “protected block” whitelists/blacklists across terrain and element passes so the new road blocks aren’t overwritten by vegetation/landuse/natural generation.

Changes:

  • Added deterministic road_block(x, z) selection for highway road surfaces (mixing GRAY_CONCRETE_POWDER / CYAN_TERRACOTTA).
  • Expanded protected/road-detection block lists in ground cleanup, tree placement, natural, landuse, and amenities to include the new road blocks.
  • Added new block IDs/names/constants for gray_concrete_powder and cyan_terracotta.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/element_processing/highways.rs Implements deterministic mixed road surface selection and updates overwrite protection logic.
src/ground_generation.rs Prevents stray vegetation cleanup from missing the new road surface blocks.
src/element_processing/tree.rs Ensures tree placement avoids the new road blocks.
src/element_processing/natural.rs Prevents natural-area generation from overwriting the new road blocks.
src/element_processing/landuse.rs Prevents landuse ground generation from overwriting the new road blocks.
src/element_processing/amenities.rs Updates amenity placement overwrite rules to recognize the new road blocks.
src/block_definitions.rs Adds new block IDs and constants for GRAY_CONCRETE_POWDER and CYAN_TERRACOTTA.

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

Comment thread src/element_processing/highways.rs
Comment thread src/element_processing/highways.rs Outdated
Comment thread src/element_processing/highways.rs Outdated
Comment thread src/element_processing/highways.rs Outdated
Comment thread src/block_definitions.rs
louis-e added 2 commits April 6, 2026 02:46
- Floor-level ledge bands: horizontal slab projections at each floor
  separation row, complementing the existing vertical fins
- Foundation course: continuous accent block band at ground level
- Lobby base (70%): solid wall block for the first floor cycle instead
  of glass, reading as a podium
- Enhanced parapet: accent slab cap with corner posts for a defined
  roofline crown
- Move is_zebra_crossing outside inner loop (perf) and remove
  String allocation in tag comparison
- Add BLACK_CONCRETE back to road surface blacklist to prevent
  overwriting asphalt areas and parking driving lanes
- Add BLACK_CONCRETE to generate_siding check to protect all
  paved surfaces
- Add Bedrock block mappings for gray_concrete_powder (concretePowder
  with color state) and cyan_terracotta (stained_hardened_clay with
  color state) to fix Bedrock edition export

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 9 out of 9 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/bedrock_block_map.rs
Comment thread src/element_processing/highways.rs
Comment thread src/element_processing/highways.rs Outdated
- Add unit tests for gray_concrete_powder and cyan_terracotta Bedrock
  block mappings to catch palette serialization regressions
- Use bitwise AND (h & 1) instead of modulo in road_block() for
  idiomatic bit checking
- Deduplicate effective_block computation by hoisting it before the
  use_absolute_y branch in the main road surface drawing path

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 9 out of 9 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/element_processing/highways.rs Outdated
Comment thread src/element_processing/highways.rs
Comment thread src/element_processing/buildings.rs
Comment thread src/element_processing/buildings.rs Outdated
Comment thread src/element_processing/buildings.rs
louis-e added 2 commits April 6, 2026 13:51
- Add BLACK_CONCRETE to zebra crossing whitelist so stripes render on
  asphalt area surfaces and older generated roads
- Remove AIR-only whitelist from parapet corner posts so they reliably
  overwrite the cap slab placed just before them
- Swap lobby base priority above floor separation band so the ground
  floor of modern skyscrapers is solid wall block throughout

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 9 out of 9 changed files in this pull request and generated 1 comment.


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

Comment thread src/element_processing/buildings.rs
louis-e and others added 2 commits April 6, 2026 13:58
- Use empty blacklist Some(&[]) instead of None for corner posts so
  they actually overwrite the cap slab (None/None = no-op when a
  block already exists)
- Remove is_zebra_crossing duplicate re-introduced by merge from main
@louis-e louis-e merged commit 1787b55 into main Apr 6, 2026
2 checks passed
@louis-e louis-e deleted the feature/road-surface-mix branch April 6, 2026 12:03
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