From bc42892d39f0422da9ac7f63816711c209bfa904 Mon Sep 17 00:00:00 2001
From: Florian RICHER <florian.richer@protonmail.com>
Date: Fri, 30 May 2025 21:54:58 +0200
Subject: [PATCH] cleanup

---
 src/core/app/context.rs           |  3 +++
 src/core/app/mod.rs               |  1 +
 src/core/scene/manager.rs         | 19 -------------------
 src/game/scenes/main_scene.rs     | 16 +++++-----------
 src/game/scenes/settings_scene.rs |  5 +++--
 5 files changed, 12 insertions(+), 32 deletions(-)

diff --git a/src/core/app/context.rs b/src/core/app/context.rs
index 1c0ccb6..ce01c7c 100644
--- a/src/core/app/context.rs
+++ b/src/core/app/context.rs
@@ -180,6 +180,7 @@ impl ApplicationContext {
         f(&renderer)
     }
 
+    /// Méthode utilitaire pour accéder au renderer de manière thread-safe
     pub fn with_renderer_mut<T, F>(&mut self, f: F) -> T
     where
         F: FnOnce(&mut VulkanoWindowRenderer) -> T,
@@ -194,6 +195,7 @@ impl ApplicationContext {
         f(renderer)
     }
 
+    /// Méthode utilitaire pour accéder au gui de manière thread-safe
     pub fn with_gui<T, F>(&self, f: F) -> T
     where
         F: FnOnce(&Gui) -> T,
@@ -202,6 +204,7 @@ impl ApplicationContext {
         f(&gui)
     }
 
+    /// Méthode utilitaire pour accéder au gui de manière thread-safe
     pub fn with_gui_mut<T, F>(&mut self, f: F) -> T
     where
         F: FnOnce(&mut Gui) -> T,
diff --git a/src/core/app/mod.rs b/src/core/app/mod.rs
index 243420b..140dee1 100644
--- a/src/core/app/mod.rs
+++ b/src/core/app/mod.rs
@@ -33,6 +33,7 @@ pub struct App {
     input_manager: Arc<Mutex<InputManager>>,
     timer: Arc<Mutex<Timer>>,
     event_loop_proxy: EventLoopProxy<UserEvent>,
+
     // Context d'application partagé par fenêtre - architecture unifiée
     app_contexts: HashMap<WindowId, Arc<Mutex<ApplicationContext>>>,
 }
diff --git a/src/core/scene/manager.rs b/src/core/scene/manager.rs
index 9ff65ac..a12892e 100644
--- a/src/core/scene/manager.rs
+++ b/src/core/scene/manager.rs
@@ -42,16 +42,9 @@ impl SceneManager {
     }
 
     pub fn current_scene_mut(&mut self) -> Option<&mut Box<dyn Scene>> {
-        log::debug!(
-            "current_scene_mut called - index: {:?}, scenes len: {}",
-            self.current_scene_index,
-            self.scenes.len()
-        );
         if let Some(index) = self.current_scene_index {
-            log::debug!("Getting scene at index {}", index);
             self.scenes.get_mut(index)
         } else {
-            log::debug!("No current scene index set");
             None
         }
     }
@@ -60,21 +53,9 @@ impl SceneManager {
         &mut self,
         app_context: &mut ApplicationContext,
     ) -> Result<(), Box<dyn Error>> {
-        log::debug!("SceneManager::load_scene_if_not_loaded called");
-        log::debug!(
-            "Current scene index: {:?}, scenes count: {}",
-            self.current_scene_index,
-            self.scenes.len()
-        );
-
         if let Some(scene) = self.current_scene_mut() {
-            log::debug!("Scene found, checking if loaded: {}", scene.loaded());
             if !scene.loaded() {
-                log::debug!("Scene not loaded, loading...");
                 scene.load(app_context)?;
-                log::debug!("Scene loaded successfully");
-            } else {
-                log::debug!("Scene already loaded");
             }
         } else {
             log::warn!("No scene found in SceneManager!");
diff --git a/src/game/scenes/main_scene.rs b/src/game/scenes/main_scene.rs
index 6461289..26e8631 100644
--- a/src/game/scenes/main_scene.rs
+++ b/src/game/scenes/main_scene.rs
@@ -47,7 +47,7 @@ impl Scene for MainScene {
         });
 
         let swapchain_image_view =
-            app_context.with_renderer_mut(|renderer| renderer.swapchain_image_view().clone());
+            app_context.with_renderer(|renderer| renderer.swapchain_image_view().clone());
 
         let square = Square::new(
             &app_context.device,
@@ -180,7 +180,7 @@ impl Scene for MainScene {
 
         {
             let swapchain_image_view =
-                app_context.with_renderer_mut(|renderer| renderer.swapchain_image_view().clone());
+                app_context.with_renderer(|renderer| renderer.swapchain_image_view().clone());
             let depth_image_view = app_context.with_renderer_mut(|renderer| {
                 renderer.get_additional_image_view(DEPTH_IMAGE_ID).clone()
             });
@@ -219,13 +219,14 @@ impl Scene for MainScene {
             before_future.then_execute(app_context.graphics_queue.clone(), command_buffer)?;
 
         let swapchain_image_view =
-            app_context.with_renderer_mut(|renderer| renderer.swapchain_image_view().clone());
+            app_context.with_renderer(|renderer| renderer.swapchain_image_view().clone());
         let input_manager_status =
             app_context.with_input_manager(|input_manager| format!("{:#?}", input_manager));
         let event_loop_proxy = app_context.event_loop_proxy.clone();
         let delta_time = app_context.get_delta_time();
         let window_id = app_context.window_id;
         let window_size = app_context.get_window_size();
+
         let render_future = app_context.with_gui_mut(|gui| {
             gui.immediate_ui(|gui| {
                 let ctx = gui.context();
@@ -270,15 +271,8 @@ impl Scene for MainScene {
                     ui.label(format!("  Pitch: {:.2}°", rotation.x.to_degrees()));
 
                     ui.separator();
+
                     ui.label(input_manager_status);
-
-                    ui.label(format!("Delta time: {:?}", delta_time));
-
-                    ui.label(format!(
-                        "Position: {:?}, Rotation: {:?}",
-                        state.camera.get_position(),
-                        state.camera.get_rotation()
-                    ));
                 });
             });
 
diff --git a/src/game/scenes/settings_scene.rs b/src/game/scenes/settings_scene.rs
index 68e842b..4d6fc53 100644
--- a/src/game/scenes/settings_scene.rs
+++ b/src/game/scenes/settings_scene.rs
@@ -59,10 +59,11 @@ impl Scene for SettingsScene {
         // Utiliser le RenderPassManager
         {
             let swapchain_image_view =
-                app_context.with_renderer_mut(|renderer| renderer.swapchain_image_view().clone());
+                app_context.with_renderer(|renderer| renderer.swapchain_image_view().clone());
             let depth_stencil_image_view = app_context.with_renderer_mut(|renderer| {
                 renderer.get_additional_image_view(DEPTH_IMAGE_ID).clone()
             });
+
             let config = RenderPassConfig::default();
             RenderPassManager::begin_standard_rendering(
                 &mut builder,
@@ -82,7 +83,7 @@ impl Scene for SettingsScene {
             before_future.then_execute(app_context.graphics_queue.clone(), command_buffer)?;
 
         let swapchain_image_view =
-            app_context.with_renderer_mut(|renderer| renderer.swapchain_image_view().clone());
+            app_context.with_renderer(|renderer| renderer.swapchain_image_view().clone());
 
         let event_loop_proxy = app_context.event_loop_proxy.clone();
         let window_id = app_context.window_id;