Thanks for your interest in PixelCNC! It's great to hear whenever someone is able to put it to good use :)
A few different users have inquired about a tool library/persistence type feature and so it has definitely been in the "adding-for-sure" section of the planned features list, for a few months now in fact. The situation is coming up with a clean and yet simple-to-implement means of achieving the desired result. There are still other big features that are going to take a bit of effort to get done so finding a solution for achieving a tool library system that is the easiest to do without totally sacrificing usability and intuitiveness is the goal.
I've been wrestling with a few ideas and for a while nothing seemed like it would work great in all situations, particularly when the user loads a project that has its own tool definitions which deviate from their library. At that point it seemed that having a legitimate tool library that the user can add/remove/edit the tools in is necessary. From there users can create a new project and either just directly load their library as a whole into their project, or individual tools into the project's tool slots. If they need to define a new tool that isn't in their library they can simply define it within their project and on the tool parameters panel.
The situation is that the tool library would consist of a list of tool definitions stored in their config file. When you're in the tools mode of PixelCNC you could click on a slot and there would be two buttons that appear on the tool slot itself: Load Tool and Save Tool. Clicking the load tool button would just pop up a dialog or menu of the user's saved tools which they could select a tool from to fill the project's tool slot. Alternatively, when they select the tool slot they'd still be able to define a tool on the right pane where the tool definition parameters are, after hitting apply to put the defined tool in the selected slot they could then click the Save Tool button and select a slot in their library to save the tool to - either an empty blank one or overwrite an existing one.
Lastly, there would be a button at the top of the tools list "Load Saved Tools" which would just fill the project's tool list with all of the saved tools. The only limitation to this system, as a whole, would be a finite number of tools that could be saved to the library - unless I took it a step further and had "primary" and "secondary" tools in the library, for power users (hehe). The primary tools would be the tools that a project's tool slots gets filled with when the user clicks "Load Saved Tools" to automatically fill the project's tool slots. The secondary tools would be backup, and they could swap those around with the primary tools as needed. The primary tools list would have the same number of tool slots as projects (10 tools) but the secondary tools list would be larger, if not unlimited. Just an idea.
I think that I'll be going with just having a tool library that is the same size as a project's tools list though, because it seems like it would make 99% of users happy that would prefer some kind of tool librar.y/persistence feature. It also is something I should be able to hammer out within a day, so that's a plus too.
Right now I'm hacking away at the new layer/canvas system and so far I have being able to load multiple images and position/scale/rotate them while changing how they are each blended into the final 'canvas' off which toolpaths are generated. Next up I'm going to get support for models working, so that users can load a 3D model into PixelCNC and actually see the geometry and rotate it around to whatever orientation and have it blend with the other layers. Somewhere in there I will get the tool library system setup too and then get another update out. After that I'll be adding more layer types for drawing 2D paths and placing OTF/TTF based text off which various contours and modeling operations can be generated. Then I have a handful of new cool new operations/toolpaths to add as well that I'm itching to get running and test out.
It's getting really exciting now! Thanks again for the feedback :)