Arguments:

Start Indicates the start of an subcircuit list; call this before any Need actions.
Need Searches the board for an subcircuit with a matching refdes.
If found, the value and footprint are updated.
If not found, a new subcircuit is created with the given footprint and value.
Done Compares the list of subcircuits needed since the most recent Start with the list of subcircuits actually on the board. Any subcircuits that weren't listed are selected, so that the user may delete them.

Placement of new subcircuits depends on conf node import/footprint_placement/method, which is a string containing a one word instruction that is one of:

disperse place all new subcircuits at randomized coordinates around location, within a distance configured in import/footprint_placement/disperse
frame place all new subcircuits close outside of the drawing area, "framing" the design

Location is a string instruction specified by import/footprint_placement/location, the value is one of:

(empty, no value) place around the coordinates specified in coords import/footprint_placement/x and import/footprint_placement/y
center place around the center of the drawing area
mark place around the mark (or center of the drawing area if no mark present at the moment of import)

Removal of excess subcircuits (the ones present on the board but not in the new netlist) depends on conf node import/footprint_removalt/method, which is a string containing a one word instruction that is one of:

select (or empty) select excess subcircuits (an {s r} after the import removes them)
remove automatically remove excess subcircuits
list no change on excess subcircuit data on the board, but open a view list dialog enumerating them

Note: subcircuits with the nonetlist flag set or empty/missing refdes will not be taken as excess even if they are not present on the netlist.