Environment objects, Field, Rules and criteria, Z-Lock…. all of these constraint types might easily overwhelm and hinder the evaluation of outcomes (”why does THIS happen?”).
This is the hierarchy that Assembler follows when performing comparisons and computing new candidates before adding them to the assemblage (in order of priority):
- The Heuristics Set (HeS - the list of Rules for assembling objects) is the biggest constrain, as Assembler works by checking those rules regardless of how many Handles or rotations an AssemblyObject possesses. The HeS is the list of possible actions that Assembler can perform.
- Receiver Selection: a receiver AssemblyObject is first singled out according to the chosen Receiver Selection criteria, then, according to its free Handles, the related applicable Rules are filtered from the HeS and used to pick and test the corresponding Sender candidates.
- If the HeS is comprised of one rule set, that is the only one that will apply. if the HeS is a tree (each branch is a subset), and the active HeS subset is chosen using Field iWeights, Assembler will operate using the HeS subset corresponding to the iWeight of the closest Field point once the Receiver is selected
Receiver selection
A receiver value is computed for each new AO added to an Assemblage at the moment of their addition. This value is determined by the Receiver criteria: for example, in the case of scalar Field interpolated criteria, when a new AO is added, the receiver value is the average of neighbour Field points scalar values.
When searching for a receiver, the system searches for either the minimum or the maximum value of the receiver value to pick one. If more than one object have the same values, Assembler will choose the first in the available objects list.
Sender candidates selection
- Z-lock (if the option is active)
- Environment objects consistency (collision and/or inclusion in obstacles, voids and eventual container)
- Collision check with the rest of the assemblage
- the surviving candidates are passed through the selection criteria, computing their candidate factor (see Why do the order of an AssemblyObject in the Set and the order of rules in the Heuristic Set matter? and Weights)