An S2Builder::Graph represents a collection of snapped edges that is passed to a Layer for assembly. (Example layers include polygons, polylines, and polygon meshes.) The Graph object does not own any of its underlying data; it is simply a view of data that is stored elsewhere. You will only need this interface if you want to implement a new Layer subtype.