I know. Worst UI ever and no docs. Well at least it doesn't crash much. I just had to get the goddamn thing out. Polish and documentation will come later. It may not be the best way to do it but it's the way I'm doing it.
Keep at it, I really like it and while the UI is...difficult, it makes sense to keep it simple while you focus on core behavior.
One big hitch: if you create a new empty grammar, there's no way to get back ot he old one unless you've exported first, and attempting to close at this point causes a hang (win7/64, latest JDK).
A simple link to the source material you're working with for the grammar concepts would go a long way towards fixing the documentation gap in the meantime.
Honestly, if you just switched the letters for full words, it probably wouldn't be that hard to figure out.
Actually, this really confuses me. Aside from the single letters, the UI is actually very soft and pretty in a way. What compelled you to not use full words?
The full words take up so much room and I was afraid it was gonna get bulky. I still have a few buttons to add. I DID put nice descriptive tooltiptext on everything.
Besides the UX issue of not being able to return from an empty grammar, a few small things I've noticed:
* Is there a reason for leaving empty padding around the bounds of the generated PNG's
* Vector export doesn't seem to work (I tried by having it set as the only selection as well as having it in addition to the PNG option)
I put the padding around the exported PNGs because sometimes a bit of stroke can overlap the edge of the image so I wanted some wiggle room. One of many temporary shortcuts in the design to be cleaned up later.
The stream is boots up into is pretty cool. I have no idea how to program it though. Some documentation might be nice. How is it stochastic for example?