feat: persist layout between sessions

This commit is contained in:
galister
2024-04-25 08:53:54 +09:00
parent 5afb5ed4ab
commit c70833b86a
9 changed files with 65 additions and 44 deletions

View File

@@ -535,7 +535,6 @@ impl Pointer {
Some(snap_upright(*anchor, Vec3A::Y).inverse() * overlay.state.transform);
if let Some(grab_data) = self.interaction.grabbed.as_ref() {
let mut state_dirty = false;
if overlay.state.curvature != grab_data.old_curvature {
if let Some(val) = overlay.state.curvature {
config.curve_values.arc_ins(overlay.state.name.clone(), val);
@@ -543,13 +542,14 @@ impl Pointer {
let ref_name = overlay.state.name.as_ref();
config.curve_values.arc_rm(ref_name);
}
state_dirty = true;
}
if state_dirty {
match save_state(config) {
Ok(_) => log::debug!("Saved state"),
Err(e) => log::error!("Failed to save state: {:?}", e),
}
config.transform_values.arc_ins(
overlay.state.name.clone(),
overlay.state.saved_transform.unwrap(),
);
match save_state(config) {
Ok(_) => log::debug!("Saved state"),
Err(e) => log::error!("Failed to save state: {:?}", e),
}
}