From 508a69d3855515f7635d118b9bd833a73a60e845 Mon Sep 17 00:00:00 2001 From: Lucas Vas Date: Thu, 27 Aug 2026 11:24:10 -0400 Subject: [PATCH] chore: minor changes to scene and app error logging --- src/app.rs | 5 ++++- src/common/scene.rs | 11 +++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/app.rs b/src/app.rs index e1c726e..9765436 100644 --- a/src/app.rs +++ b/src/app.rs @@ -573,7 +573,10 @@ impl App { ..Default::default() }, ) - .map_err(|e| format!("Failed to create instance: {e}")) + .map_err(|e| { + let err = e.unwrap(); + format!("Failed to create instance: {err}") + }) } } diff --git a/src/common/scene.rs b/src/common/scene.rs index b0f9574..669c02d 100644 --- a/src/common/scene.rs +++ b/src/common/scene.rs @@ -1,5 +1,6 @@ use serde::{Deserialize, Serialize}; use std::collections::HashMap; +use std::env; use std::io::Read; use std::path::Path; @@ -45,16 +46,22 @@ impl Scene { let scene: Self = postcard::from_bytes(contents.as_slice()).expect("Couldn't deserialize scene"); - Self::resolve_paths(path, scene) + env::set_current_dir(path.parent().unwrap()) + .expect("couldn't set current working directory"); + + scene } pub fn from_file_json>(path: P) -> Self { let path = path.as_ref(); let file = std::fs::File::open(path).unwrap(); + env::set_current_dir(path.parent().unwrap()) + .expect("couldn't set current working directory"); + let scene: Self = serde_json::from_reader(file).unwrap(); - Self::resolve_paths(path, scene) + scene } fn resolve_paths(scene_path: &Path, mut scene: Self) -> Self {