I’d like to see better optimization of of how the tool moves around on the workpiece and the order in which shapes are cut. I’ve noticed a lot of wasted time with G0 moves when it could just complete an entire area before moving. Here is an example:
When the textured areas are being carved, it is constantly moving back and forth between the two areas wasting a huge amount of time.
There is a proof of concept here: https://xyzbots.com:4000/gcode-optimizer/ for addressing the traveling salesman problem. It works by optimizing the distance between G0 moves. It results in an optimized tool path like so:
NOTE: DON"T USE THIS IN PRODUCTION! Using this as is will screw up the order of how your project is carved. Instead of doing it depth by depth it will sometimes do the full plunge.
So I understand that inventables can’t just use the algorithm as is. But at least certain parts of the carve could be grouped together and then optimized.