pub(crate) async fn preset_history_save(
presets: Vec<PresetFile>,
roots: Option<Vec<String>>,
) -> Result<PresetScanSnapshot, String>pub(crate) async fn preset_history_save(
presets: Vec<PresetFile>,
roots: Option<Vec<String>>,
) -> Result<PresetScanSnapshot, String>