I have started building the UI for a cam addon i am calling LibreCAM.
The idea i have had is to lay the UI out using a tabbed interface with the following windows:
I have forked your code and started to build on top of it. I have made a lot of changes to the ui and the way the plugin operates with the intention of supporting any machine type, desktop mills, regular mills, laser cutters...
I am really impressed with LibreCAD especially with the stuff for accessing the entity parameters I.e DPI::
I am hoping to have the ui and settings framework finished in a few weeks and start on the GCode stuff in the new year. I like libArea and openvoroni so I will start having a look at implementing them for tool offsets and pocketing paths.