/Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/PBDTriangleMeshCollisions.h
Vertices (and Triangles) are assigned FGIAColors by flood-filling global intersection contours. ContourIndex represents which pair of global contours, up to 31 unique contour pairsthen the contour index will reused. In practice this seems to be enough unique contours. It's OK if multiple contours have the same index as long as their intersecting regions don't interact, which is unlikely. Contours come in pairs representing two regions intersecting (except for "loop" contours where a region of cloth intersects itselfthink pinch regions). These are "Colors" represented by setting the ColorBit to 0 or 1 corresponding with the given contour index.
struct FGIAColor
int32
ColorBits
int32
ContourIndexBits