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
@@ -161,7 +161,11 @@ impl Scene {
|
||||
let Some(EntityType::Viewport(vp)) = self.document.get_entity(handle) else {
|
||||
continue;
|
||||
};
|
||||
if !vp.status.is_on {
|
||||
if !vp.status.is_on
|
||||
|| vp.common.invisible
|
||||
|| self.entity_temporarily_hidden(handle)
|
||||
|| self.layer_hidden(&vp.common.layer)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
let h = vp.common.handle;
|
||||
@@ -317,7 +321,10 @@ impl Scene {
|
||||
crate::scene::annotative::entity_for_active_context(&self.document, source);
|
||||
let entity = contextual.as_ref();
|
||||
let c = entity.common();
|
||||
if c.invisible || layer_hidden(&c.layer) {
|
||||
if c.invisible
|
||||
|| self.entity_temporarily_hidden(handle)
|
||||
|| layer_hidden(&c.layer)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if !self.belongs_to_visible_block(handle, c.owner_handle, layout_block) {
|
||||
@@ -382,7 +389,9 @@ impl Scene {
|
||||
let EntityType::Wipeout(wo) = entity else {
|
||||
continue;
|
||||
};
|
||||
if wo.common.invisible {
|
||||
if wo.common.invisible
|
||||
|| self.entity_temporarily_hidden(wo.common.handle)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if self
|
||||
|
||||
Reference in new issue
Block a user