"Inkscape bug, not Gcodetools", yes Gcodetools uses Inkscape's internal offset function. But I would not blame Inkscape for that bugs. Offset of the Bezier's curve is very very complex problem. I've not seen any program that do it without bugs, even powerful CAD's such as Rhino have problems with offset (taking in account that Rhino makes simpler offset).
Engraving has some bugs to
. There's no Inkscape function that uses variable radius offset. To find Engraving function in the code search for "def engraving", ant it lasts until the orientation function.
Here's approximate algorithm of Engraving Function:
1. Go trough all path's segments.
2. Get offset for the 4 points of the segment in t=0,0.25,0.75,1.
3. Calculate maximum radius of the circle which will lie inside the path and have center at the normal to the path at specified points. this radius is calculated using numerical methods solving one of these systems:
4. Then a new segment that goes through offsetted points is created.
Most of artifacts appear if there's a lack of nodes in the path near the corners or on the very long segments. You can find problem places turning on show additional debug graphics.
To make engraving trajectory for whole path, not only thing places set Maximum distance for engraving to large value.
To do comments in the Gcode about the tool I belive you can use "tool's change Gcode" and put all comments there. This Gcode will appear just before using current tool, or put it Gcode before path (will appear before cutting each path).
Glad to hear that you can help us to make messages better! If you have any suggestions write them down and I'll include it in to the code. Or you can include it yourself to the Bazaar pool at
https://launchpad.net/gcodetools , you'll need to have an account at Launchpad, and I'll include you to Gcodetools team so you can post to the code.
PS attach your svg for engraving I'll try to give some advises.