forked from 1b-agent/opencadstudio-upstream
Phase 4: Viewport control and properties
- Viewport ID uniqueness: commit_entity assigns max_existing_id+1 instead of always using id=2 - Lock/On boolean toggles in Properties panel (vp_locked, vp_on) backed by status.locked / status.is_on fields - Standard scale Choice picker: 1:500 to 10:1 (also syncs view_height) - Numeric scale edit now syncs view_height when changed - Standard view Choice picker: Top/Bottom/Front/Back/Left/Right/4×Iso updates view_direction vector via apply_geom_prop - Viewport content not rendered when status.is_on is false - current_layout_block_handle_pub() added for external access Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
1 parent
523ba74c10
commit
031d2311ed
3 files changed
+174
-7
No files matched your search
+9
-1
@@ -84,6 +84,13 @@ impl Scene {
|
||||
}
|
||||
}
|
||||
|
||||
/// Public accessor for the block-record handle of the current layout.
|
||||
/// Used by external callers (e.g. `commit_entity`) that need the handle
|
||||
/// without going through private API.
|
||||
pub fn current_layout_block_handle_pub(&self) -> Handle {
|
||||
self.current_layout_block_handle()
|
||||
}
|
||||
|
||||
/// Returns the block-record handle for `current_layout`.
|
||||
fn current_layout_block_handle(&self) -> Handle {
|
||||
self.document
|
||||
@@ -382,7 +389,8 @@ impl Scene {
|
||||
None
|
||||
}
|
||||
})
|
||||
.filter(|vp| vp.id > 1 && vp.common.owner_handle == paper_block)
|
||||
// Only user viewports (id > 1) that belong to this layout AND are turned on.
|
||||
.filter(|vp| vp.id > 1 && vp.common.owner_handle == paper_block && vp.status.is_on)
|
||||
.collect();
|
||||
|
||||
if viewports.is_empty() {
|
||||
|
||||
Reference in new issue
Block a user