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):

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

  1. Z-lock (if the option is active)
  2. Environment objects consistency (collision and/or inclusion in obstacles, voids and eventual container)
  3. Collision check with the rest of the assemblage
  4. 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)