//! Unified asset thumbnail pipeline (texture fast-path + model studio).

use bevy::prelude::*;

mod cache;
mod job;
mod sources;
mod studio;

pub use cache::{
    draw_asset_cell_with, invalidate_on_catalog_refresh, kind_icon, prefetch_asset_thumbnails,
    prefetch_folder_thumbnails, AssetThumbnailCache, AssetThumbnailsPlugin, ThumbnailCacheSnapshot,
    ThumbnailState,
};
pub use job::{ThumbnailJob, ThumbnailJobSource};
pub use sources::{
    gltf_skinned_primitive_labels, FbxThumbnailSource, GltfThumbnailSource, ThumbnailModelSource,
};
pub use studio::{
    model_file_exists, model_scene_asset_path, ThumbnailStudio, ThumbnailStudioPlugin,
};

pub struct ThumbnailsPlugin;

impl Plugin for ThumbnailsPlugin {
    fn build(&self, app: &mut App) {
        app.add_plugins((AssetThumbnailsPlugin, ThumbnailStudioPlugin));
    }
}
