Fix extruded solid grip preview and taper range

This commit is contained in:
ramox81 committed 2026-09-03 10:35:02 +03:00
1 parent 3ad0423393
commit ea6eb58c53
8 files changed
+87 -10

No files matched your search

+16
View File
@@ -272,6 +272,7 @@ impl Scene {
// flips the wire content id back to the base tessellation id, which
// re-uploads the base wires (without the preview) on the next frame.
self.preview_wires = vec![];
self.solid_history_preview_wires.clear();
if !self.preview_hatches.is_empty() {
self.preview_hatches = std::sync::Arc::new(Vec::new());
}
@@ -302,6 +303,21 @@ impl Scene {
.collect()
}
/// Current candidate geometry for a hot grip. Solid-history candidates
/// live outside the document until placement; ordinary entities continue
/// to use their current tessellation.
pub fn grip_wire_models_for(&self, handles: &[acadrust::Handle]) -> Vec<WireModel> {
handles
.iter()
.flat_map(|handle| {
self.solid_history_preview_wires
.get(handle)
.cloned()
.unwrap_or_else(|| self.wire_models_for(std::slice::from_ref(handle)))
})
.collect()
}
/// Split a MIRROR selection into plain ghost wires (reflected wholesale) and
/// text ghosts paired with their bounding-box centre. Lets the preview match
/// the commit for TEXT: MIRRTEXT on → true glyph mirror (full reflection, same