feat: restore and persist saved camera position per layout
- On file open and layout tab switch, restore the camera from the document's saved view (*Active VPort for model space, sheet viewport for paper space) instead of fitting to wire bounds. - After any zoom/pan/rotate, write the new camera position back to the document and mark the file dirty so it is saved with the file. - Uses last_synced_camera_gen to avoid marking the file dirty on the initial camera restore. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
ed94a5b81f
commit
8f90a68930
3 changed files with 211 additions and 3 deletions
|
|
@ -42,6 +42,8 @@ pub(super) struct DocumentTab {
|
|||
pub(super) refedit_session: Option<RefEditSession>,
|
||||
/// Currently active MLeader style name.
|
||||
pub(super) active_mleader_style: String,
|
||||
/// Last camera_generation value written back to the document.
|
||||
pub(super) last_synced_camera_gen: u64,
|
||||
}
|
||||
|
||||
impl DocumentTab {
|
||||
|
|
@ -83,6 +85,7 @@ impl DocumentTab {
|
|||
paper_bg_color: None,
|
||||
refedit_session: None,
|
||||
active_mleader_style: "Standard".to_string(),
|
||||
last_synced_camera_gen: 0,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue