55 using AssetId = std::string;
87 static tenno::shared_ptr<T> new_asset(
const AssetId&
id,
88 typename T::Builder& builder);
90 static tenno::shared_ptr<T> get(
const AssetId&
id);
92 static bool reload(
const AssetId&
id);
100 static void hotreload_activate();
101 static void hotreload_deactivate();
103 static void hotreload_update();
107 static std::unordered_map<AssetId, Asset<Model>> models;
108 static std::unordered_map<AssetId, Asset<Texture>> textures;
109 static std::unordered_map<AssetId, Asset<Material>> materials;
110 static std::unordered_map<AssetId, Asset<Shader>> shaders;
111 static std::unordered_map<AssetId, Asset<Font>> fonts;
112 static std::unordered_map<AssetId, AssetOwned<Scene>> scenes;
113 static std::unordered_map<AssetId, AssetOwned<SoundAsset>> sound_assets;
121 static bool hotreload_active;
128 static tenno::jthread hotreload_thread;
129 static tenno::mutex hotreload_pending_mutex;
130 static tenno::vector<HotReloadItem> hotreload_pending;
131 static std::unordered_map<std::filesystem::path,