control point caching needs to take into account changing sets of parallel edges