So, I needed a sort of a grouping behaviour. When you create a mesh, and a part of it has shared normals and a smooth look, but when you merge two shapes with smooth parts you don’t want them to collect their smooth parts into a bigger one because the borders will have these feathery normal look to them. So, at runtime, I basically just acquire an address from the heap, which acts as my groupID during the process, and only items that hold the same address will have their vertices and normals shared.
When I am decimating the mesh, I do not care about the groups at all and allow the polygons to merge. They will just pick one or the other to be a part of, because it they have been merged, it means that they reside on the same plane, with all the common attributes, and it does not really matter what group they belong to.
Renamed a few items to be more generic. Finding a good name is always a struggle.