Skip to content

Improve lane markings and unify surface values#882

Closed
goteusz-maszyk wants to merge 4 commits into
louis-e:mainfrom
goteusz-maszyk:main
Closed

Improve lane markings and unify surface values#882
goteusz-maszyk wants to merge 4 commits into
louis-e:mainfrom
goteusz-maszyk:main

Conversation

@goteusz-maszyk

Copy link
Copy Markdown
Contributor

oh also add railway platforms, sorry for mixing commits
I also made the program respect more tags on highways

@goteusz-maszyk goteusz-maszyk force-pushed the main branch 2 times, most recently from 822b404 to 6403925 Compare April 5, 2026 16:58
@louis-e

louis-e commented Apr 6, 2026

Copy link
Copy Markdown
Owner

Hey hey, thanks a lot for the contribution! :) I think I'll have to take a closer look in order to make sure the lane markings look good / realistic on complex intersections as well. Will get to it soon!
2026-04-06_18 37 04

@goteusz-maszyk

Copy link
Copy Markdown
Contributor Author

hi, I fixed the conflicts but I probably broke something I didn't notice right now I'll check it tomorrow

@luigi052005

luigi052005 commented Apr 10, 2026

Copy link
Copy Markdown
Contributor

Would it be possible to use stairs to make the markings look thinner? Example images from BTE:

huge_2026-04-10_14 48 29 huge_2026-04-10_14 49 51 huge_2026-04-10_14 48 55

@goteusz-maszyk

Copy link
Copy Markdown
Contributor Author

I'll check what can be done :)

…urface handling across highways, leisure, and railways

NOTE: it compiles, but I'm not sure if everything works
NOTE: I AM NOT SURE IF EVERYTHING WORKS

# Conflicts:
#	src/element_processing/highways.rs
@louis-e

louis-e commented Apr 23, 2026

Copy link
Copy Markdown
Owner

Thanks, great result! Sorry for the delay in reviewing it :D
I picked it up in #974 to resolve the massive merge conflicts. I made sure to add you as a co-author

louis-e added a commit that referenced this pull request Apr 23, 2026
Rebases goteusz-maszyk's PR #882 onto current main, keeping main's
terrain-flattening architecture (perpendicular median, row_medians
cache, direction-aware curb outlines, road-surface-Y registration)
while integrating the PR's user-visible improvements:

- New `surfaces` module with `get_blocks_for_surface` /
  `get_blocks_for_surface_way` / `semirandom_surface`, shared by
  highways, leisure, and railways (platform=*).
- OSM `surface=*` tag now drives the road block mix (was only applied
  to pedestrian plazas before).
- OSM `width=*` tag now overrides the default block-range for a way
  (clamped to the terrain helper's sample cap).
- `lanes=*` drives inner lane-divider count; `lane_markings=no`
  disables them. Dividers are drawn per centerline bresenham point
  with a proper dash/gap state machine (fixing the solid-line
  regression in an earlier PR iteration) and their Y still rides the
  perpendicular-median-flat cross section.
- `indoor=yes` plus normalised `layer=*` are hoisted to the top of
  the highway function so street_lamp / bus_stop now rise with their
  overpass instead of sitting at ground level.
- Flat-roofed outlines stay as main's direction-aware
  `x ± (block_range+1)` / `z ± (block_range+1)` curbs — the PR's
  four-sided box outline overwrote road edges and is dropped.
- Unused `set_block_flag_absolute` helper removed; the `set_block`
  → `set_block_absolute` delegation from the PR is kept.

Squashes the PR's four commits because its follow-up fixes depended
on the initial refactor which needed heavy rework against main's
new terrain-flattening pipeline.

Co-authored-by: goteusz-maszyk <goteusz-maszyk@users.noreply.github.com>
louis-e added a commit that referenced this pull request Apr 23, 2026
Rebase #882: unify surfaces and add multi-lane markings onto main
@louis-e louis-e closed this Apr 23, 2026
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.

3 participants