Commit b43ce4b for stable-diffusion.cpp

commit b43ce4badd8130e743be3096024f4fac5b05719e
Author: leejet <leejet714@gmail.com>
Date:   Mon Nov 9 02:11:28 2026 +0800

    fix: preserve Krea2 text-fusion names in Kohya LoRAs (#2301)

diff --git a/src/name_conversion.cpp b/src/name_conversion.cpp
index 738723f..6bcd483 100644
--- a/src/name_conversion.cpp
+++ b/src/name_conversion.cpp
@@ -1403,8 +1403,8 @@ std::string convert_pmid_v2_name(const std::string& name) {
     return name;
 }

-std::string convert_sep_to_dot(std::string name) {
-    const std::vector<std::string> protected_tokens = {
+std::string convert_sep_to_dot(std::string name, SDVersion version) {
+    std::vector<std::string> protected_tokens = {
         "self_attn",
         "out_proj",
         "q_proj",
@@ -1480,6 +1480,11 @@ std::string convert_sep_to_dot(std::string name) {
         "output_proj",
         "token_refiner",
     };
+    if (sd_version_is_krea2(version)) {
+        protected_tokens.push_back("text_fusion");
+        protected_tokens.push_back("layerwise_blocks");
+        protected_tokens.push_back("refiner_blocks");
+    }

     // record the positions of underscores that should NOT be replaced
     std::unordered_set<size_t> protected_positions;
@@ -1729,7 +1734,7 @@ std::string convert_tensor_name(std::string name, SDVersion version) {
         // LOG_VERBOSE("name %s %d", name.c_str(), version);

         if (sd_version_is_unet(version) || is_underline || is_lycoris_underline) {
-            name = convert_sep_to_dot(name);
+            name = convert_sep_to_dot(name, version);
         }
     }