ModelTranslator: uvgate 回退标注改前缀匹配——兼容 +uvpm 后缀

- 新增 seam_fallback_label 纯函数:前缀匹配转换 seam* → seam_fallback*,保留后缀
- main() 调用改为函数式,避免等值判断失效
- 测试覆盖:plain seam、seam+uvpm、smart_fallback 透传

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
ud18010
2026-07-20 12:23:55 +08:00
co-authored by Claude Haiku 4.5
parent 4e948ffc50
commit 9fe93f3c92
2 changed files with 31 additions and 2 deletions
@@ -0,0 +1,23 @@
import os
import sys
import unittest
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
import bl_uvgate as bg
class TestSeamFallbackLabel(unittest.TestCase):
def test_plain_seam(self):
self.assertEqual(bg.seam_fallback_label("seam"), "seam_fallback")
def test_seam_with_uvpm_suffix(self):
self.assertEqual(bg.seam_fallback_label("seam+uvpm"), "seam_fallback+uvpm")
def test_smart_fallback_untouched(self):
self.assertEqual(bg.seam_fallback_label("smart_fallback"), "smart_fallback")
self.assertEqual(bg.seam_fallback_label("smart_fallback+uvpm"),
"smart_fallback+uvpm")
if __name__ == "__main__":
unittest.main()