Development
A detailed changelog can be found here: changelog.txt
A roadmap 'working draft' can be found here: roadmap.txt
A detailed changelog can be found here: changelog.txt
A roadmap 'working draft' can be found here: roadmap.txt
Structure Synth is written in C++ using Qt 4.3 and OpenGL
The main application consists of a GUI with a small embedded editor with syntax highlighting and an integrated 3D viewer (using the Mini OpenGL Engine in the Syntopia Core).
This Eisenstein Engine takes the input script and converts it into a model: this includes preprocessing (stripping comments and including other files), parsing (a simple recursive descent parser), rule name resolving and rule model construction.
The builder executes the rules defined in the model and calls the renderer as needed. The rendering uses an abstract interface, which should make it easy to extend with new renderers (e.g. PovRay output)
The rule model is an object-oriented representation of the rule set: i.e. classes for rules (primitive, custom, and ambiguous rules), transformations, and transformation loops.
Syntopia Core set of reusable building blocks.
Qt provides a lot of nice functionality (GUI Widgets, nice strings with regular expressions, XML, HTTP, …), but a few other standard classes are almost always needed when building new applications.
This small application framework consists of:
Possible extensions could be modules like Serialization, Persistence and a Help Browser.