Fix connected constraint grip previews and preserve anchored endpoints

This commit is contained in:
Hakan Seven committed 2026-09-15 23:26:58 +03:00
1 parent bfd0c30329
commit cdf8bfe3ad
7 files changed
+367 -163

No files matched your search

+17 -1
View File
@@ -2879,6 +2879,22 @@ impl Scene {
driven_refs: &[parametric_constraints::ParametricRef],
retain_size: bool,
retained_originals: &[(Handle, EntityType)],
) {
self.bump_entities_with_solve_policy(changes, driven_refs, retain_size, retained_originals, true);
}
/// Refresh display and associations after a solved grip or exact history restore.
pub(crate) fn bump_entities_after_parametric_solve(&mut self, changes: &[(Handle, ChangeKind)]) {
self.bump_entities_with_solve_policy(changes, &[], false, &[], false);
}
fn bump_entities_with_solve_policy(
&mut self,
changes: &[(Handle, ChangeKind)],
driven_refs: &[parametric_constraints::ParametricRef],
retain_size: bool,
retained_originals: &[(Handle, EntityType)],
solve_parametric: bool,
) {
if changes.iter().any(|(handle, kind)| {
matches!(kind, ChangeKind::Removed)
@@ -2912,7 +2928,7 @@ impl Scene {
changes.push(change);
}
}
if !self.parametric_constraints.is_empty() {
if solve_parametric && !self.parametric_constraints.is_empty() {
for change in self.refresh_parametric_constraints_with_originals(
&changes,
driven_refs,