I think it very unwise to start rendering indoor room features in the main style. OpenLevelUp was specially designed for this, and is able to show features per level. In a pre-rendered style like Carto, you can not show multi-level building layout properly, everything will be stacked on top of each other.
While this particular single level shopping mall example might work reasonably in the mock-up, multi-level shopping malls with differing layout on levels, will become a mess in a pre-rendered style like Carto.
What about the zoom level 16 behaviour that is currently there - thats already somewhat of a problem with the icons etc. What can be done to reduce that clutter?
My personal subjective opinion? ;-)
That would be that all shops belong at Z19/20... and even there they often collide with addresses, making the rendering of both impossible, so both renderings suffer: you neither see all addresses, nor all shops.
Even better would be a dynamic Overpass overlay that could be switched on / off at will, instead of as part of the rendering. But that would require changes to the main OpenStreetMap website...
I also agree that the cases where indoor rendering results in a better
general map are likely much fewer than those where it will lead to
confusion and inferiour rendering quality. I could imagine rendering the
"default" floor (i.e. ground floor, sometimes 1st or 1st basement floor
according to local numbering) of indoor spaces could improve generally the
map at high zoom levels. For reference, Giambattista Nolli did exactly this
in his world famous Rome city map from 1748 ( http://nolli.uoregon.edu/http://nolli-app.com ), and is still famous and referenced a lot for his
equal treatment of public space regardless of outdoor or indoor location
(BUT: we in OSM don't have an established way to distinguish indoor spaces
between semi-public and private).
How should we select the default floor? I guess we can just avoid rendering shop/amenity with level tag present and different than 0.
However I'm not sure about side effects. Amenities and shops with level=* tag may be located in the underground passages (do we want them to still be visible or not?) and possibly in other places, not only in multi-level malls.
I recommend closing this issue as it is unable to support malls with more than a single floor.
Showing only level=0 pois would break rendering in significant number of cases (underground passages, restaurants in basements, multilevel malls and as result encourage tagging for rendering by removing level tag) and would be quite strange - why show object at ground floor and not on upper floors?