I've been following your work, and we emailed a few times about diy pnp. Great work! I would love to be a beta tester, if only it was 2 or 3 months ago I would have jumped at the chance and could have made some contribution too. I just bought a Samsung CP20CV though.
Still I can contribute ideas on the sidelines based on what I get with the CP20. $400 for beta (or $1000 for release) and including the stepper is a deal! I would have jumped on that in a second.
Not sure why you would want to have a gerber converter? To get the placement centroids or just to show the artwork to the user for visual appeals? If for centroids, how would it know what is a SMT placement versus throughhole, part height, etc. I think having both a flexible txt and csv import would be suitable. (dev time better used for other features.) If the user's software cant output assembly files you probably need to look at a better PCB package. lol. Even manually entering a file wouldnt be difficult for simple circuits.
When you get to fudicial recognition. You should also be able to recognize fudicials that control certain assembly options. For example, for multi-unit panels a fudicial that determines if a single unit should be placed or not. If the fudicial is blacked out with a black marker or sticker then the system will skip that unit. Very handy! Most PCB houses will mask the fudicial for you if you make it clear on the biscuit/panel and order electrical testing.
Because this software is going to go on massively customized hardware, I think it would be nice if the machine control can be scripted. So the software is just calling subroutines, and the underlying script is doing the actual motion commands to the motion controller. This could be handy in many ways. (1) Differences between machines is implemented in script. (2) Even the underlying motion controller could be replaced and only the script changes (and some interface plugin between script and motion controller). (3) This opens up an important part of your software to be like open-source (the scripts) without opening the main binary, and I have no problem with the software not being open-source. Also, sometimes the script may call back into the main binary, to use the visual correction or fudicial recognition for example.
The scripting language could be ruby, python or many others, they all have embeddable capability like this. Or you can also roll your own PnP specific language using compiler tools like flex and bison.
What language are you writing the main binary in? Is it only windows?