Are you planning to render grass on rooftops? Because landuse=grass drawn on a building doesn't render as well as roof:material=grass.
Osmose doesn't like when I map landuse=grass + layer=1 on a building so I don't know how to deal with the issue.
https://en.wikipedia.org/wiki/Green_roof
I would not consider landuse=grass as useful tagging, since the land is already used by the building or its purpose. Another case where landcover would be useful.
The most accepted way to tag this would be roof:material=grass as mentioned: https://taginfo.openstreetmap.org/tags/roof%3Amaterial=grass - though this still should be documented as an option at https://wiki.openstreetmap.org/wiki/Key:roof:material
Roof can be covered with many materials different materials, including sod (grass) in some cases. This style does not currently attempt to render different roof materials: instead almost all buildings have a similar rendering so that they can be easily recognized. If we are going to distinguish different buildings, it would be more useful to show difference based on major characteristics such as a distinctive rendering for construction status and building=roof or building=greenhouse.
The goal of the style is to produce a map, not to reproduce how things look in an aerial image, so we wouldn't render grass roofs unless we were generally rendering roof material somehow.
As pointed out above, if we wanted to render more building information there's stuff that would be a higher priority than roof material.
roof:material seems wrong for grass. My local library has a rooftop garden to help cool the building and I wouldn't tag it with roof:material=plants. The material of the roof is wood, metal, or whatever is under the garden, between it and the beams. Personally, I'd maybe go with something like the surface tag instead. roof:surface has 33 uses.
E.g. building:material=plaster says that the finish on the wall is plaster, it does not say if the wall is brick-and-mortar or concrete cast. Similarly for roof, material=tarpaper or tiles does not describe the carpenting underneath.
It still has to relate to the "material of the roof" in some way though doesnt it? Like if I lay a carpet rug over a roof, it doesn't suddenly become made out of carpet. So roof:material=carpet wouldn't be appropriate. Its "roof material", not "material on the roof." Maybe grass is different then a carpet, but I don't see how.
Roof:material is a tag for 3D buildings and this is the outer layer which you can see on aerial imagery.
Most helpful comment
The goal of the style is to produce a map, not to reproduce how things look in an aerial image, so we wouldn't render grass roofs unless we were generally rendering roof material somehow.
As pointed out above, if we wanted to render more building information there's stuff that would be a higher priority than roof material.