forked from 1b-agent/opencadstudio-upstream
fix(properties): repaint on linetype/lineweight/layer edits (#231 class)
Color/linetype/lineweight/layer are baked into the cached wire geometry at tessellation time, so a property edit only repaints if the handler bumps the geometry epoch. The color path did; several siblings only set tabs.dirty (a save flag) and never re-tessellated, leaving the viewport showing the stale look. Route every handle-based edit through invalidate_property_targets (mark dirty + recolor meshes + bump geometry), and full-bump the name-based LAYER COLOR change: - ribbon layer / linetype / lineweight dropdowns applied to a selection - CHPROP (color/linetype/ltscale/transparency/layer) - LAYMATCH (MatchEntityLayer) - LAYER COLOR <name> <aci> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
18fff5cf8c
commit
7f3ebde663
5 files changed
+30
-5
No files matched your search
@@ -688,6 +688,10 @@ impl OpenCADStudio {
|
||||
e.as_entity_mut().set_layer(layer.clone());
|
||||
}
|
||||
}
|
||||
// New layer changes the baked by-layer colour/linetype/
|
||||
// lineweight — re-tessellate the moved entities so they
|
||||
// repaint immediately (issue #231 class).
|
||||
self.invalidate_property_targets(i, &dest);
|
||||
self.tabs[i].dirty = true;
|
||||
self.command_line
|
||||
.push_info(&format!("Layer matched to \"{layer}\"."));
|
||||
|
||||
Reference in new issue
Block a user