Commit Graph
31 Commits
Author SHA1 Message Date
ud18010andClaude Opus 4.8 c4c7ab0e23 ModelTranslator: extend seam angle sweep to 15deg for QR smooth meshes
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 20:30:03 +08:00
ud18010andClaude Opus 4.8 3ae981e40d ModelTranslator: adaptive ray distance pure functions
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 17:06:09 +08:00
ud18010andClaude Opus 4.8 b84dd1c53e ModelTranslator: expose --qr-input-cap, adapt CLI test to new argv
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 15:02:25 +08:00
ud18010andClaude Opus 4.8 bb6f32b1c1 ModelTranslator: QR tolerance soft-gate + precollapse target policy
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 14:58:25 +08:00
ud18010andClaude Opus 4.8 0481f10b8c ModelTranslator: QR watertightness gate + quad default
根因(真机排查):QuadRemesher 引擎在激进减面下非确定性地从封闭流形
输入打出孔洞/非流形边(实测同一输入约 85% 次数破碎),即"破碎面"。

修复:QR 导回后比对输入拓扑,若比输入新增开边(孔洞)/非流形边即判破损、
弃用 QR 回退 collapse(topology_acceptable 纯策略+单测;_edge_defects 计数)。
顺带修复水密门在导入后拒绝时未恢复 obj 选中态,导致 collapse 回退时
export use_selection 选不到对象、只导出 4KB 空 FBX 的 bug。

含用户改动:--reducer 默认改为 quad(配合水密门,破碎自动回退,安全),
及其 CLI 默认值测试。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 10:10:45 +08:00
ud18010andClaude Opus 4.8 44060ac3cb ModelTranslator: polish QR backend (docstring, gitignore out_*, progress tests)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 17:32:42 +08:00
ud18010andClaude Opus 4.8 b8eb40f3e4 ModelTranslator: QR use ExactQuadCount, authoritative QR_ENGINE override
真机验证发现 ExactQuadCount=0 自适应在高细节硬表面模型上面数暴涨
(well1500 目标2500->11500 quads)并连带 seam 展开重叠爆炸;改用 exact=True
尊重目标数后 well1500 得 5940 面/591 UV岛(优于 collapse 745)。
find_qr_engine 改为权威覆盖:QR_ENGINE 无效即 None,不再静默自动发现,
使强制回退可测、覆盖契约成立。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 17:26:49 +08:00
ud18010andClaude Opus 4.8 e7dcf71d35 ModelTranslator: fix QR engine docstring, add glob discovery test
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 16:44:47 +08:00
ud18010andClaude Opus 4.8 55654e8d33 ModelTranslator: add QR bridge pure logic
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 16:40:36 +08:00
ud18010andClaude Opus 4.8 b02877a2cf ModelTranslator: uv_gate_ok/pick_best_candidate 加 overlap_tol 参数
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 12:28:53 +08:00
ud18010andClaude Opus 4.8 a19e342bf4 ModelTranslator: 新增 uv_preview.render_uv_png——PIL 绘 UV 线框 PNG
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 11:37:19 +08:00
ud18010andClaude Opus 4.8 788122b271 ModelTranslator: 新增 pick_best_candidate——过门且岛数最少者择优
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-21 11:13:23 +08:00
ud18010 8a3e47b7cd ModelTranslator: 移除 RizomUV 链路——减面默认 seam+UVPM4 排布 2026-07-20 14:20:14 +08:00
ud18010andClaude Haiku 4.5 9fe93f3c92 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>
2026-07-20 12:23:55 +08:00
ud18010 4e948ffc50 ModelTranslator: uvpm_mode_label——UVPM4 排布生效的 UV 模式标注 2026-07-20 12:20:58 +08:00
ud18010 b257fdb780 ModelTranslator: 烘焙固定 -t 1——Blender 5.0 多线程 selected-to-active 射线求交竞争崩溃(store 复现+单线程验证) 2026-07-20 09:41:51 +08:00
ud18010andClaude Opus 4.8 455ab48273 ModelTranslator: --rizom 显式路径独占生效——无效直接报错不回落默认安装
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 09:35:26 +08:00
ud18010 78a17e0f92 ModelTranslator: Pack 空 Coverages 守卫——RizomUV 未授权静默空跑转为明确报错回退 2026-07-20 09:29:56 +08:00
ud18010 4033159b1f ModelTranslator: RizomUV 间歇 IPC 失败换新实例重试一次(实测 Cut 偶发 2000ms not responding) 2026-07-17 17:18:56 +08:00
ud18010andClaude Opus 4.8 5de3c17155 ModelTranslator: Quit/RunRizomUV 走超时通道防挂死 + _call 分支单测(审查修复)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 17:16:00 +08:00
ud18010 9b22b270cc ModelTranslator: 修注册表 rizomuv 值无后缀致发现失效——拼回真实 exe(审查修复) 2026-07-17 16:43:24 +08:00
ud18010 53e4898a76 ModelTranslator: rizom_unwrap exe 发现(CLI>env>注册表>默认,官方 README 口径) 2026-07-17 16:31:54 +08:00
ud18010 24084a6675 ModelTranslator: 质量门抽纯函数 uv_gate_ok + 减面 none 模式(rizom 管线前置) 2026-07-17 16:23:14 +08:00
ud18010 71416aa12a ModelTranslator: UV 岛数/翻转/利用率纯逻辑(TDD) 2026-07-16 11:51:45 +08:00
ud18010 7c3b86a995 ModelTranslator: 烘焙射线距离/命名/包围盒校验纯逻辑(TDD) 2026-07-16 10:44:33 +08:00
ud18010 8ede09f859 ModelTranslator: 减面 ratio/容差纯逻辑(TDD) 2026-07-16 10:36:01 +08:00
ud18010andClaude Opus 4.8 c682ab4ebe ModelTranslator: 修复 base 贴图双重 sRGB 编码变亮(well10k 内嵌贴图案例)
实测 blender 5.0:Image.pixels 对 8-bit 图返回原始字节值(不做色彩变换),
sRGB PNG 读出已是编码值,再 linear->sRGB 就双重 gamma(均值 0.33->0.60)。
现仅对线性来源编码:float 图(EXR)与 Principled 常量色。
端到端验证:well10k 重转后 base 与源贴图平均差 0.0013。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 20:54:21 +08:00
ud18010andClaude Opus 4.8 60c83a3765 ModelTranslator: base 贴图写 PNG 前做 linear->sRGB 编码
Blender Image.pixels 对 sRGB 贴图返回线性值,直接写 Non-Color PNG 会偏暗;
现按 Unity sRGB 导入预期编码 RGB,alpha(AO/透明)保持原值。附单元测试。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 20:28:33 +08:00
ud18010 0b068dbaa0 ModelTranslator: dedupe sanitized material names, set alphaIsTransparency for alpha-test textures 2026-07-15 12:00:50 +08:00
ud18010 7934ef957a ModelTranslator: sphere-map normal encode with round-trip test 2026-07-15 11:06:16 +08:00
ud18010 7c46c061b1 ModelTranslator: Unity asset templates (texture/material/model meta) with GUID reuse 2026-07-15 10:58:33 +08:00