To define the polygon curve carve tool for development, I started by analysing the workings of Houdini's native Carve SOP. Firstly, there's quite a significant difference in the way it handles polygons v nurbs curves. In short the poly curve carving implementation is basically a case of removing and positioning points, where as with nurbs it's quite a different story, involving a number of high order concepts, eg. Knot insertion, corner cutting, interpolation etc.
I generally begin by nutting out the implementation detail, when developing any tool. This process helps break down a problem into manageable pieces and involves lots of sketching, working through scenarios to build an idea of how the carve tool in this case should operate.