#pragma once #include #include #include #include std::string viewer_name(); enum class PreviewStatus { Idle, Loading, Ready, Error }; struct PreviewFile { std::string name; std::string renderer; std::size_t size; PreviewStatus status = PreviewStatus::Idle; bool requiresAsyncChunk() const; }; std::string extensionOf(const std::string& filename); std::optional rendererFor(const std::string& extension); std::vector createPreviewQueue(const std::vector& filenames);