I started this after #23 ticket and implemented it in cuttingHoles branch at the moment.
Had to chance structure a bit to implement this and did two major changes; (1) we're passing features to stacks (instead of geometries) now, which means stacks have full knowledge about the outline&holes of a building. (2) polygon and line mesh modifiers used to work on MeshData class which has a single vertex list and actually corresponds to Mesh class of Unity3D. Now with holes, we need more than one vertex list so I changed them to work on original data. Their outcome is a single vertex list which we now use to initialize MeshData.
So in short, before this all modifiers used MeshData, now some of them use feature and some others use mesh data. It's not intuitive which one uses what for now though.

I started this after #23 ticket and implemented it in cuttingHoles branch at the moment.
Had to chance structure a bit to implement this and did two major changes; (1) we're passing features to stacks (instead of geometries) now, which means stacks have full knowledge about the outline&holes of a building. (2) polygon and line mesh modifiers used to work on MeshData class which has a single vertex list and actually corresponds to Mesh class of Unity3D. Now with holes, we need more than one vertex list so I changed them to work on original data. Their outcome is a single vertex list which we now use to initialize MeshData.
So in short, before this all modifiers used MeshData, now some of them use feature and some others use mesh data. It's not intuitive which one uses what for now though.