mapbox / mapbox-gl-style-spec

76 stars 38 forks source link

[BREAKING] Remove fill-extrude-height and fill-extrude-base; move to a separate fill-extrusion type #554

Closed lbud closed 7 years ago

lbud commented 8 years ago

We're going to remove the fill-extrude-height and fill-extrude-base properties and instead create a separate fill-extrusion type.

Unfortunately this is a breaking change, but it's the right way to maintain flexibility for future 3D types in the spec and to keep certain logical patterns in our renderers.

As it stands, fill layers and extruded fill layers have the following differences:

Moreover, creating separate layer types will leave room for flexibility in deciding how to handle extruded texture compositing.

This will be a reversion to the way we originally designed extrusions in https://github.com/mapbox/mapbox-gl-style-spec/issues/456. (In happy news, this actually will make it easier to implement extrusions in gl-native once it supports property functions, since I more or less did it this way this summer…)

This change will go into effect ASAP so as to minimize the damage. fill-extrude-height and fill-extrude-base were introduced in Mapbox GL JS v0.26.0; they will be removed in favor of a fill-extrusion type in Mapbox GL JS v0.27.0, to be released next week. Layers created with these properties will render the same but will just require a bit of layer property renaming <- rendering will change due to https://github.com/mapbox/mapbox-gl-js/issues/3385 (extrusion heights will now be specified in meters instead of magicnumbers).

cc @mapbox/gl @mapbox/labs @mapbox/cartography-cats @mapbox/support

🙏

To do:

* There are some Mapbox demos floating around (embedded in blog posts, etc) that use fill-extrude-height/fill-extrude-base and link to either a prior dev build or v0.26.0; I think it's fine if those stay as they are.

jfirebaugh commented 8 years ago

☝️ That's a lot of linked issues! Thanks for hitting this @lbud.

ryanbaumann commented 8 years ago

@lbud this is awesome fix before extrusions are heavily adopted. Thank you!