forked from 1b-agent/opencadstudio-upstream
perf(scene): make geometry edits incremental
Avoid full document, cache, and GPU rebuilds for entity deltas so add, delete, history, selection, and live polyline edits stay responsive on large drawings.
This commit is contained in:
1 parent
73b8dbe9d4
commit
05b044f367
32 files changed
+1936
-516
No files matched your search
+3
-6
@@ -410,12 +410,9 @@ impl Scene {
|
||||
}
|
||||
}
|
||||
|
||||
let copied_groups = self.copy_complete_groups(&handle_map);
|
||||
if copied_groups > 0 && self.is_recording_undo() {
|
||||
// Group copies add Group objects / dictionary entries, which a pure
|
||||
// entity delta cannot restore.
|
||||
self.poison_undo_recording();
|
||||
}
|
||||
// Complete group copies record their new Group objects and dictionary
|
||||
// entry as targeted object deltas inside copy_complete_groups.
|
||||
self.copy_complete_groups(&handle_map);
|
||||
// The copies are new handles (natural memo misses, tessellated fresh)
|
||||
// and reference only already-cached blocks — no block defn changes.
|
||||
// Report them as additions so derived caches patch in exactly the copies.
|
||||
|
||||
Reference in new issue
Block a user