You’re right, that’s a big contradiction there. I would be happy if it could be cleared up.
My preference would be to follow the this section, and to remove the conflicting paragraph. The idea described in that paragraph used to be popular in the very early days of 3D and is actually still supported by OSM2World, but is nowadays obsolete in my opinion.
the volume rendering is afaik the rendering of building:levels, heights and so on. And imho its right to ignore.
for example a building:part with 10 levels will break the roof of a building with height 5 levels. There should be ignored the building:level from the building on the place, where the part is.
similar is colour. if part has colour green, then should (it) not be coloured with red from the building.
We’re rendering building outline mainly for backward compatibility. It would be best (easier to understand at least) to not render it if it contains a part, put that would break some buildings which were mapped some years ago.
Right now, we’re removing all the parts from the outline (2D wise) before rendering what’s left of the outline, which is kinda hard to grasp, so not rendering the outline at all would be easier to understand. however, the inherit section is also misleading, applying the roof shape to all parts is confusing sometime, and useful for simple models (with 2 or 3 parts)
I agree with Cactusbone that building outlines would ideally be ignored entirely when rendering. It would be great if we could move the Simple 3D Buildings into that direction, even though the backwards compatibility for old buildings will likely have to remain for quite a while.
As for the open questions:
I believe we should only describe correct tagging in the wiki: All building parts must be fully included in a building. How applications treat invalid input data does not need to be specified.
This is how I’m currently handling it, so you’ll hear no objection from me.
As mentioned above, I would rather ignore all outlines for rendering. I feel that the building:parts tag, in particular, should be discouraged as it does not really offer useful information and is badly named.