feat(ai-art): 路径C窗户字汇表(含阳台标准件修正)及首图验证
- 修正阳台标准件prompt:两扇→三对6扇+物理依据(正投影/轴测两件) - 重生成阳台2件并核验;4标准件(卧室窗/厨卫窄窗/阳台正投影/阳台轴测)全合格 - 新增窗户字汇表(_build_parts_sheet.py 拼接3正投影件+中英标签) - 路径C组装prompt + codex完整prompt + codex Mac指南 - 工具:_gen_standard_parts.py / _run_pathc_fuse.py - 路径C首图(apiyi三图融合,阳台6扇一次对,风格统一无割裂)
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
路径C组装:apiyi 三图融合(风格 + 外立面 + 窗户字汇表)→ 单元南立面。
|
||||
在 Python 内部用绝对路径调 cmd_fuse,避开 Windows shell 传中文路径给 Python argv 的 GBK 乱码坑。
|
||||
|
||||
注意:image_gen.py 的 cmd_fuse 当前硬编码 size=1024x1024(方图)。
|
||||
路径C首图先用方图验证「三图融合能否成功 + 窗户准确度」;
|
||||
若窗户对、只是横向比例挤,再改 cmd_fuse 支持 size 出 1536x1024 横图。
|
||||
"""
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
# 注意:不在这里重定向 stdout/stderr —— image_gen.py 开头已做 TextIOWrapper(UTF-8) 重定向,
|
||||
# 重复包装同一个 buffer 会导致底层文件被提前关闭("I/O operation on closed file")。
|
||||
|
||||
HERE = Path(__file__).resolve().parent # tools/
|
||||
RESEARCH = HERE.parent # ai-art-research/
|
||||
sys.path.insert(0, str(HERE))
|
||||
from image_gen import get_client, cmd_fuse
|
||||
|
||||
STYLE = RESEARCH / "参考图" / "游戏截图" / "深夏时光" / "深夏时光-下午-街景.png"
|
||||
CONTENT = [
|
||||
RESEARCH / "参考图" / "真实场景" / "东井村" / "QQ20260616-174350.png",
|
||||
RESEARCH / "生成结果" / "窗户标准件" / "标准件合集图.png",
|
||||
]
|
||||
PROMPT_FILE = RESEARCH / "prompts" / "居民楼-单元南立面-路径C-窗户字汇表-v1.txt"
|
||||
|
||||
for p in [STYLE] + CONTENT + [PROMPT_FILE]:
|
||||
if not p.exists():
|
||||
print(f"❌ 缺失: {p}")
|
||||
sys.exit(1)
|
||||
|
||||
prompt = PROMPT_FILE.read_text(encoding="utf-8")
|
||||
client = get_client()
|
||||
|
||||
# cmd_fuse 上传顺序 = [style, *content],与 prompt 里 图1=风格/图2=外立面/图3=窗户表 的编号一致
|
||||
cmd_fuse(
|
||||
client,
|
||||
style_path=str(STYLE),
|
||||
content_paths=[str(c) for c in CONTENT],
|
||||
prompt=prompt,
|
||||
model=None,
|
||||
subdir="路径C组装",
|
||||
)
|
||||
Reference in New Issue
Block a user