The overall structure of Artificial Designer is a feature modelling system. Products are defined as sets of features.
The structure is similar to expert systems in a senses that there are two main components: a knowledge-base and a separate process which can create new knowledge (or new products in this case) from existing knowledge. Both parts are modelled after the best practices of expert human designers.
knowledge base
The knowledge base is a set of IF-THEN like relationships, which are used to compose new products. IF a product is a pullover, THEN it has an elastic neckline, IF a product is a first layer, THEN it has a soft material and so forth. Some features are more like containers than distinct details themselves. For example a jacket feature mandates that the product is an outer layer garment and opens at the front, but doesn't alter the geometry or topology directly.
implicit ontology
Feature's ontology is implied by its local grouping inside of some other feature. For example when center-front-zip is grouped with center-front-buttons - e.g. in a jacket feature - the grouping implies a shared context of different kinds of front-openings. But center-front-zip is also grouped with shoulder-seam and center-back-seam - in a top feature - where the group implies a topological context: at least one of the items is needed to ensure flattenability of an upper body garment.
The groupings don't have a name or any other explicit classification, they work purely based on the shared context. This makes filling a knowledge based with new knowledge quite flexible compared to a more explicit ontology where the relationships need to be defined.
If a group only has one feature, it indicates a mandatory relationship, for example a neckline feature can only strictly be applied to an upper body garments (IF neckline, THEN top). A list of features are alternatives that all can fill a shared 'locus' i.e. some specific context. For example a neckline can be finished with either seamless collar or raw neckline, but not with both at the same time.
discrete knowledge
One key aspect of the knowledge structure is its 'discreteness', i.e. the pieces of knowledge have relatively large intervals. For example the geometry of a garment might be influenced by a feature slim-fit, regular-fit or loose-fit; the jump from one option to the next is quite distinctive. This is closer to human style design compared to a system that accepts any arbitary scaling value for every variable.
auto-propagation
When a new feature is added to a model, it triggers a cascading effect where all of its mandatory connections will also get added. The same process then repeats recursively for these newly added features, meaning that even a single feature will always expand into a fully formed product.
For example in the above example, a feature "top" establishes a higher category of a garment, chooses a default wearing option: pullover and establishes the bare minimum required topology for all upper body garments: holes for the head, body and hands. These features further expand into, fit, materials, finishes and so forth.
The automatic expansion always leads to a fabricatable and wearable product, even from a single word. All missing information gets filled in with default values.
The process works both in forward and backward direction. If a feature "bomber" is added to a product, it expands into a open-front, outerwear, reversible, rib-collar and so forth. If the same features are inserted separately, their combination is detected as a bomber.
The end result of the process is a feature model, which in practice is just an ordered list of keywords. The model can be visualised as a graph, but the basic structure is always a flat list.
Feature contents
The content of a feature is a set of operations which are applied to the current state of a product. There are 3 basic categories of operations: topological, geometric and parametric. Topological operations alter nodes, edges and faces of a product, geometric operations alter constraints and parametric operations alter parameters such as body size, pose, used materials and trims.
Features can also contain other features.