Give roofs their actual shapes #13

Closed
opened 2026-10-17 20:40:03 +00:00 by sermuns · 2 comments
Owner

Every roof in the world is a flat cap: mesh::roof_tris fans the
footprint at collision::building_roof_height, and the shell has no roof form at
all. The extract has 329 roof:shape tags:

182  flat        86  gabled       40  skillion     13  hipped
  3  gambrel      3  saltbox      1  many         1  quadruple_saltbox

86 gabled and 40 skillion roofs are currently drawn as flat lids, which is most
of the visible silhouette of every OSM shell outside the MazeMap footprints.

roof:shape plus the footprint's longest edge gives the ridge direction and
form; roof:height (14 ways, mostly 5 and 2) gives the rise, and falls back to
a fraction of the footprint's short side when absent.

MazeMap buildings have no roof:shape and keep their flat cap -- only the OSM
shells this touches.

Needs a decision about collision: a gabled roof is not a walkable surface. The
flat cap should stay as the collision surface and the gable drawn over it, rather
than making the walker climb.


Related

  • #14 the same tags, colour rather than shape
  • #51 the tag census this came from
Every roof in the world is a flat cap: `mesh::roof_tris` fans the footprint at `collision::building_roof_height`, and the shell has no roof form at all. The extract has **329 `roof:shape` tags**: ``` 182 flat 86 gabled 40 skillion 13 hipped 3 gambrel 3 saltbox 1 many 1 quadruple_saltbox ``` 86 gabled and 40 skillion roofs are currently drawn as flat lids, which is most of the visible silhouette of every OSM shell outside the MazeMap footprints. `roof:shape` plus the footprint's longest edge gives the ridge direction and form; `roof:height` (14 ways, mostly 5 and 2) gives the rise, and falls back to a fraction of the footprint's short side when absent. MazeMap buildings have no `roof:shape` and keep their flat cap -- only the OSM shells this touches. Needs a decision about collision: a gabled roof is not a walkable surface. The flat cap should stay as the collision surface and the gable drawn over it, rather than making the walker climb. --- **Related** - #14 the same tags, colour rather than shape - #51 the tag census this came from
Author
Owner

Roof shapes are the biggest silhouette win per line of code in the list. Using the footprint's longest edge for the ridge, falling back to a fraction of the short side, and keeping the flat cap as collision is the right set of compromises. Pair it with #14 since they parse the same tags.

Roof shapes are the biggest silhouette win per line of code in the list. Using the footprint's longest edge for the ridge, falling back to a fraction of the short side, and keeping the flat cap as collision is the right set of compromises. Pair it with #14 since they parse the same tags.
Author
Owner

Implemented in 2d7ddc5 on roof-shapes-colours (not yet merged to main): roof:shape, roof:height and roof:direction are parsed and gabled, skillion, hipped, gambrel and saltbox roofs are drawn over the flat collision cap.

Implemented in 2d7ddc5 on `roof-shapes-colours` (not yet merged to `main`): `roof:shape`, `roof:height` and `roof:direction` are parsed and gabled, skillion, hipped, gambrel and saltbox roofs are drawn over the flat collision cap.
Sign in to join this conversation.
No description provided.