Compute and apply the transform delta to new clones.
the first source object (previous clone) to read current transform from
'simple' for independent component offsets, 'compound' for coupled transforms
true if an offset was applied
Record the baseline matrix for the next delta computation. Call AFTER setSelected(clones) so it runs after the selection change event.
Any selection change breaks the duplicate chain.
Tracks the transform delta after a duplicate operation to enable smart duplicate chaining — pressing Ctrl+D repeatedly places copies at consistent offsets.
Supports two modes (only position application differs):
Stores no object references — only the initial matrix and chain state. The source object's current transform is passed in at apply time.
The offset only applies when the selection has not changed since the last duplicate. Any selection change (even reselecting the same objects) breaks the chain.