From d40e0cdb000b112da54c4a65a0404697701200e9 Mon Sep 17 00:00:00 2001 From: galister <22305755+galister@users.noreply.github.com> Date: Fri, 3 Jul 2026 03:41:48 +0900 Subject: [PATCH] fix tutorial_graduated not saving --- dash-frontend/src/frontend.rs | 7 ++++--- wayvr/src/overlays/dashboard.rs | 3 ++- wlx-common/src/dash_interface.rs | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/dash-frontend/src/frontend.rs b/dash-frontend/src/frontend.rs index f8cca0ef..b80f3f75 100644 --- a/dash-frontend/src/frontend.rs +++ b/dash-frontend/src/frontend.rs @@ -21,7 +21,7 @@ use wgui::{ use wlx_common::{ async_executor::AsyncExecutor, audio, - dash_interface::{BoxDashInterface, RecenterMode}, + dash_interface::{BoxDashInterface, ConfigChangeKind, RecenterMode}, locale::WayVRLangProvider, timestep::{self, Timestep}, }; @@ -29,8 +29,8 @@ use wlx_common::{ use crate::{ assets, tab::{ - Tab, TabType, apps::TabApps, donate::TabDonate, games::TabGames, home::TabHome, monado::TabMonado, - settings::TabSettings, welcome::TabWelcome, + apps::TabApps, donate::TabDonate, games::TabGames, home::TabHome, monado::TabMonado, settings::TabSettings, + welcome::TabWelcome, Tab, TabType, }, util::{ popup_manager::{MountPopupOnceParams, PopupManager, PopupManagerParams}, @@ -550,6 +550,7 @@ impl Frontend { fn action_tutorial_graduated(&mut self, data: &mut T) { let config = self.interface.general_config(data); config.tutorial_graduated = true; + self.interface.config_changed(data, ConfigChangeKind::Other); } fn action_open_url(&mut self, url: Rc) { diff --git a/wayvr/src/overlays/dashboard.rs b/wayvr/src/overlays/dashboard.rs index 873eead1..e082eded 100644 --- a/wayvr/src/overlays/dashboard.rs +++ b/wayvr/src/overlays/dashboard.rs @@ -331,7 +331,7 @@ fn tutorial_spawn_effect(app: &mut AppState) -> anyhow::Result<()> { realign(&mut transform, hmd, 1.0); owc.active_state = Some(OverlayWindowState { - saved_transform: Some(Affine3A::from_translation(vec3(0., 0., -0.9))), + saved_transform: Some(Affine3A::from_translation(vec3(0., -0.1, -0.9))), transform, grabbable: true, interactable: true, @@ -542,6 +542,7 @@ impl DashInterface for DashInterfaceLive { .enqueue(TaskType::OpenXR(OpenXrTask::EnvironmentChanged)); } } + _ => {} } } diff --git a/wlx-common/src/dash_interface.rs b/wlx-common/src/dash_interface.rs index 34990443..f188b286 100644 --- a/wlx-common/src/dash_interface.rs +++ b/wlx-common/src/dash_interface.rs @@ -81,6 +81,8 @@ pub trait DashInterface { pub enum ConfigChangeKind { OverlayConfig, EnvironmentBlend, + /// Marks the config for saving but doesn't notify any components + Other, } pub type BoxDashInterface = Box>;