Previously, F3X always individually moved all of the parts in the selection even if they were under models. This is not optimal, if all the parts are under a single model then it suffices to make a single PivotTo call transforming the model.
Change SyncRotate/SyncMove into SyncRootTransform/SyncPartTransform which are both used by Rotate and Move. In the case where the "Local" mode is used, each part is moved indiviudally, and synced via SyncPartTransform. In the case where "Center" or "Last" is used, the set of rootmost PVInstances is moved via PivotTo and synced via SyncRootTransform.
The code specific to updating pivots has been removed, as PivotTo automatically updates WorldPivots when moving the hierarchy.
One minor behavior change here is that when using "Local" mode with the Rotate tool, the rotation of the model's pivot is no longer updated. Maintaining that behavior under this new syncing scheme added unnecessary complexity and it was probably a mistake to include that behavior in the first place when updating F3X to respect pivots.
Previously, F3X always individually moved all of the parts in the selection even if they were under models. This is not optimal, if all the parts are under a single model then it suffices to make a single PivotTo call transforming the model.
Change SyncRotate/SyncMove into SyncRootTransform/SyncPartTransform which are both used by Rotate and Move. In the case where the "Local" mode is used, each part is moved indiviudally, and synced via SyncPartTransform. In the case where "Center" or "Last" is used, the set of rootmost PVInstances is moved via PivotTo and synced via SyncRootTransform.
The code specific to updating pivots has been removed, as PivotTo automatically updates WorldPivots when moving the hierarchy.
One minor behavior change here is that when using "Local" mode with the Rotate tool, the rotation of the model's pivot is no longer updated. Maintaining that behavior under this new syncing scheme added unnecessary complexity and it was probably a mistake to include that behavior in the first place when updating F3X to respect pivots.