Replace footprint(s) from the library or buffer, in-place (preserving the original subcircuit's location, rotation and metadata) and append the replacement to the back annotation changeset.

If first argument is selected, replace all selected subcircuits with the new footprint; if it is object, replace only one subcircuit, under the cursor.

If the second argument is a footprint name, load it from the library. If it is @buffer, use the subcircuit in the current buffer (there must be exactly 1 subcircuit in the buffer). If it is empty or not specified, the user is asked for a footprint.

If the third argument is dumb the location and rotation of the original subcircuit is not preserved (but all metadata and board side are preserved). A dumb replacement also omits creating back annotation.