My family is of carpenters. So, that is my bias. However, if you want challenge, hear me out.
The first thing that bugs me is that you start cutting in the middle of the board. You would want to drill a hole first. Which brings me to a few ideas:
- Give the player tools. In fact, unlocking tools can be a reward, and thus extrinsic incentive.
- Let the player use whichever tool they have access to, however they want.
- Have a score of how good the result is.
The basic tools would be a saw and a drill. You may add a (woodworking) chisel as beginner tool. And you can add variations of the saw and drill.
If we sort cutting tools by how tight curves they can make, we have: table saw, handsaw, hacksaw, and jigsaw coping saw. By the way, that is also from fast cutting to slow cutting. And from more lost material (i.e. a wider cut line) to less.
Upgrades for the drill line are also possible: Bit brace to hand drill (wheel brace), to electric hand drill (by the way, have a look at the drill bits for door nob holes).
But in general you have things that cut (which need to begin on an edge), things that make round holes, and the chisel would make narrow rectangular holes.
So, the player have some assortment of tools. How do we make them work so the player can use them however they want?
Well, polygons. You start with a rectangular board. Represent that as a 2D polygon for our operations. And from a 2D polygon you can make a mesh by triangulating it, making two offset copies in 3D, and then adding a triangle strip for the edge. And while working with 2D polygons, we can do polygon subtraction to make the cuts and (approximately round) holes.
Note: in real life practice there is always some lost material, regardless of tool, which becomes shavings - no mentioned tool would make shavings - and sawdust (which reminds me: particle effects). Thus I suggest subtracted polygons.
Now that the player have tools, and can use them however they want… You need to score them!
First of all, the goal is to cut the piece, and the piece would be a target polygon. This is my suggestion: expand the target polygon by some margin, then subtract it with whatever is left of the board. If there is something left, the player is not done. You can add score as the remaining area decreases.
However, I suggest to remove score as the player cuts more than they should. That is, if you intersect the board with the target polygon and measure the area, if it is any less than the target polygon area, that would remove score.
I think you would need a failing condition too. At every cut or hole the player does, there should always be only one piece that intersects with the target polygon. If there are two pieces that intersect with the target polygon, it means that the player has made a cut that split the target polygon in two. Thus, the piece would be unusable. It should be a failing state. Start over with a new board.
And there you go: you have challenge, with a failing condition and a scoring system. Perhaps there would be a way to replay to try to get a better score. And you have one possible avenue for rewards in unlocking tools.
Addendum
As suggested in comments, when the piece is cut in two, you could pick the bigger one, and don't fail if the smaller one small enough. This is something that would require a lot of testing to get right. How small is small is small enough? Would there be sensible areas (some parts of the piece that need to engage other pieces)? How do you communicate that to the player?
If you think you can make it work, feel free to go for it. However, if the goal is to be less punishing, I'm going to suggest an alternative: have an undo option. That would be easier to communicate and to test.
Simplest implementation will be an stack of recent states, so you push a state every cut, and you pop on undo.
Perhaps the player can only undo failing moves. Which is what I would go with if the goal is to be less punishing. However, perhaps the player can undo indefinitely. Or perhaps it works like a consumable. You could make undo cost money. For example, pretend it just means the character took another board and did fast forward every move. In fact, if there is in-game time, it could cost that too. Or you could make it an abstract consumable the player buys… But know that players will stockpile that, and it does not necessarily make for fun mechanic. On that note, "watch this ad to undo" isn't a fun mechanic either.