Where should new faces be inserted? (b) How should adjacent faces be updated, keeping them planar? (c) How should edge collapses be handled? (d) Example showing all features Figure 1: There are multiple challenges when a PushPull operation is performed on a face or edge. Case (a): New faces can either be inserted for all edges (left) or not at all by adjusting adjacent faces (middle). In addition, our solution can adaptively add new faces where needed (right). New faces are blue and modified adjacent faces are green. In (b-d), the left figure is the input, the middle is the degenerate result by previous approaches, and the right is our result. Non-planar or self-intersecting faces are red and edge collapses are blue dots.