I have played around with the latest version of your plugin and noticed that you are indeed able to combine multitexture rendering of windows with the building=window node mapping technique. That’s an interesting feature, but I wonder about one aspect of this approach. (To clarify: The approach based on wall segments tagged with the number and attributes of windows is not affected.)
Namely, I assume (and it looks like it based on the debug wireframe) that you need to create additional vertices within the building to achieve this, i.e. vertices on the building’s base that do not correspond to on a node in OpenStreetMap. Inserting additional vertices like that is something I have generally tried to avoid. The reason is that two adjacent areas will not necessarily be rendered visually clean unless they precisely share vertices. If you insert an vertex into only one of them, creating a “t-junction”, this may cause gaps or other graphical glitches because of the limited precision of the rendering - particularly if you have large scenes where the floating point numbers become less dense. This might show up in cases where the building outline shares OSM nodes with an area of e.g. grass or asphalt directly connected to the building.
Do you have taken steps to avoid this or do you expect that it simply will not cause problems?
On an unrelated note, it appears that your code supports multipolygons with non-closed outer ways for the walls only if these ways are either all clockwise or all counterclockwise. Consistent winding is not normally required for multipolygon members in OSM, though. Is this a known limitation?