forked from 1b-agent/opencadstudio-upstream
fix(selection): separate transient visibility
Keep object isolation out of persisted entity visibility and clear stale grips across block-editor transitions. Refs #512 Refs #517
This commit is contained in:
1 parent
7f41e1666f
commit
d5be78a187
10 files changed
+295
-106
No files matched your search
+12
-3
@@ -812,7 +812,10 @@ impl Scene {
|
||||
return true;
|
||||
};
|
||||
let c = entity.common();
|
||||
if c.invisible || layer_hidden(&c.layer) {
|
||||
if c.invisible
|
||||
|| self.entity_temporarily_hidden(handle)
|
||||
|| layer_hidden(&c.layer)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
// Per-viewport layer freeze: a content viewport that freezes
|
||||
@@ -1059,7 +1062,10 @@ impl Scene {
|
||||
let EntityType::Insert(ins) = contextual.as_ref() else {
|
||||
continue;
|
||||
};
|
||||
if ins.common.invisible || layer_hidden(&ins.common.layer) {
|
||||
if ins.common.invisible
|
||||
|| self.entity_temporarily_hidden(ins.common.handle)
|
||||
|| layer_hidden(&ins.common.layer)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// Per-viewport freeze: an INSERT on a layer frozen in this content
|
||||
@@ -1291,7 +1297,9 @@ impl Scene {
|
||||
let EntityType::Wipeout(wo) = entity else {
|
||||
continue;
|
||||
};
|
||||
if entity.common().invisible {
|
||||
if entity.common().invisible
|
||||
|| self.entity_temporarily_hidden(wo.common.handle)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// Reject block-defn-only wipeouts (owned by a BLOCK record that is
|
||||
@@ -1361,6 +1369,7 @@ impl Scene {
|
||||
};
|
||||
let c = &ins.common;
|
||||
if c.invisible
|
||||
|| self.entity_temporarily_hidden(c.handle)
|
||||
|| self
|
||||
.document
|
||||
.layers
|
||||
|
||||
Reference in new issue
Block a user