forked from 1b-agent/opencadstudio-upstream
fix(refedit): objects created during the session join the block
REFCLOSE only wrote the temp copies made at REFEDIT entry back into the block, so anything drawn (or pasted / offset) during the session stayed behind in model space (#423). The session now captures a handle watermark at entry; on close, every current-space entity allocated at or above it joins the working set — Save folds it into the block through the same inverse transform, Discard removes it. Covers every creation path with no per-command hooks. Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
1 parent
f03288f120
commit
554921c66f
2 files changed
+54
-5
No files matched your search
@@ -55,6 +55,12 @@ pub struct RefEditSession {
|
||||
pub forward: acadrust::types::Transform,
|
||||
/// World → block-local, applied on SAVE to bring edits back.
|
||||
pub inverse: acadrust::types::Transform,
|
||||
/// Handle watermark captured before the temp copies were created: every
|
||||
/// entity allocated at or above it during the session (drawn, pasted,
|
||||
/// offset, …) belongs to the working set, so Save folds it into the block
|
||||
/// and Discard removes it (#423). Catches every creation path without
|
||||
/// per-command hooks.
|
||||
pub handle_watermark: u64,
|
||||
}
|
||||
|
||||
// ── REFEDIT pick command ───────────────────────────────────────────────────
|
||||
|
||||
Reference in new issue
Block a user