We parse the input and output scenes into objects.
We build a mapping from input objects to output objects.
e.g.
We see that the properties of output objects can be predicted:
- The shape is always a line.
- The X position becomes 1.
- The ending position of the line, relative to the right side of the image, is 1.
Getting this input to work required enhancing the rule finding code to be able to consider different combinations of output properties as sufficient for specifying an output object. The metadata looks like this:
In our case, we use the following top-level MinimalPropertySet:
This specifies that if the following is true, that is one valid way to specify an output object:
- Either Shape or Shapes is required.
- In our case “Shapes” is known.
- Color is required.
- Position is required.
- Either Width or X2Inverse is required.
- In our case, X2Inverse is known. (and equal to 1)
- We also added X2Inverse to the list of object properties when implementing this example.
- Either Height or Y2Inverse is required.
- In our case, Height is known.




