#pragma once #include "entt.hpp" #include class ModelManager; class ShaderManager; class TextureManager; class AssetManager; // Set global context used by scene loading void SetSceneContext(entt::registry* registry, ModelManager* modelManager, ShaderManager* shaderManager, TextureManager* textureManager); void SetSceneAssetManager(AssetManager* assetManager); // Load a scene from a TOML-like file. Returns the root entity (or entt::null on failure). entt::entity LoadSceneFromFile(const std::string& path, bool clearExisting); // Save the current scene to a TOML-like file. Returns true on success. bool SaveSceneToFile(const std::string& path); // Clear all entities from the registry void ClearScene(); // Scene script path helpers void SetSceneScriptPath(const std::string& path); const std::string& GetSceneScriptPath(); bool ConsumeSceneScriptPath(std::string& outPath);