diff --git a/docs-design/夜市风格版-批次二/README.md b/docs-design/夜市风格版-批次二/README.md new file mode 100644 index 00000000..61cba750 --- /dev/null +++ b/docs-design/夜市风格版-批次二/README.md @@ -0,0 +1,44 @@ +# 夜市风格版 · 批次二「暖夜霓虹」(2026-07-07) + +《夜市一条街》美术候选 A·「暖夜霓虹」手绘烟火的风格版样张,12 帧关键帧,mmx image-01 产出。依据:创始人 2026-07-07 拍定候选 A(夜市书 §5 原文为准:深蓝夜幕做底、暖黄摊灯与霓虹招牌做光源层、手绘厚涂、蒸汽粒子常驻;首屏视觉锚=一盏摊灯下冒热气的招牌锅);批次口径见选型材料档 §8(2026-07-06)。**锚包独立新建,不共用山海 r1**;方法与脚本复用批次一(docs-design/山海风格版-批次一/),其 7 条工艺发现在本锚包内建生效。 + +## 目录 + +``` +anchor-pack.json 暖夜霓虹风格锚包 v1 + 工艺修订 r1/r2/r3(修订依据见各 note 字段;参考图槽位暂空=眼验锁锚后从本批自产样张回填 3–5 张,只许自产图) +shots.json 镜头单 12 条(书 §5 关键帧口径,seed 固定 81xxx 段) +manifest.jsonl 逐次外呼台账(gen-call/reject/screen 三类,prompt/参数/耗时/成败/淘汰原因/判定全留痕),追加式不可变 +images/nightmarket/ 12 张定稿样张(11 达锚 + nm-cust-03 对照证据) +rejects/ 8 张淘汰版(留证,原因在 manifest) +拼板图-夜市暖夜霓虹12帧.png 眼验入口 +良率与成本-批次二.md 一页数(含眼验三选一提示) +scripts/ 批跑与拼板脚本(自批次一复制适配) +``` + +## 复跑命令(均在本目录执行) + +```bash +# 生图批跑:全量(跳过已存在,可断点续跑)/ 单镜头重摇 / 定向补词 +node scripts/gen-batch.mjs +node scripts/gen-batch.mjs --only nm-scene-night-01 --seed-bump 100000 --force +node scripts/gen-batch.mjs --only nm-ui-01 --subject-extra ",定向补词" --force + +# 拼板图(末两参=格宽/格高,竖屏样张建议 390 560) +python3 scripts/contact-sheet.py shots.json images nightmarket 拼板图-夜市暖夜霓虹12帧.png 4 "标题" 390 560 +``` + +依赖:mmx CLI(已配 key)、node 22、python3 + pillow;中文字体源 = 霞鹜文楷 Regular(SIL OFL,会话 scratchpad `deps/`,复跑时任一 OFL 中文字体均可)。 + +## 本批坐实的工艺事实(夜市批产前必读;与批次一 7 条叠加生效,待收口蒸馏回 `.agents/`) + +1. **场景语义词不能进 shared**(批次一发现②的彻底化):「深蓝夜幕做底/摊灯霓虹光源层/市井烟火气」拼进 sprite prompt 即命令画街景——r2 把场景身份词整体下沉 bleed 组,shared 只留纯技法词(厚涂/笔触/色彩/体裁/反写实);sprite 族感改由「受光面暖黄、暗部偏深蓝、轮廓一线霓虹反光」把色板烤进主体打光,实证成立(cust-01 r2 / cust-02 / 菜品三张)。 +2. **招牌乱字是"夜市街道"题材在 image-01 上的系统性伴生物**(对应国风线的印章题跋,更重):4 摇 3 seed、后缀顶格/主体词「无笔画符号」/远景虚化全试尽,不可词避。批产解法三选一交创始人随眼验裁:产线除字工序(inpaint/裁切,角落与平坦区易清)/ 升档 B 通道(更强指令遵循+多参考图,对症)/ 设计面接受远景乱字作纹理(390×844 显示尺寸下远景招牌本读作纹理,近景大字不可接受)。 +3. **bleed 组硬编码夜幕会压死白天命题**:日景 r0 出成夜景。r3 新增 `bleedDay` 日间变体组(浅蓝天空/暖阳/灯串未亮/霓虹熄灭只剩灯管轮廓),镜头 `type: "bleed-day"` 取用;资产表 3 场景×日/夜/雨 的日间批产同吃此组,昼夜族感由纯技法 shared 承担。 +4. **少年/儿童类系统性漂卡通,词面不可破**:学生镜头 3 摇 3 败(日漫少女→3D 渲染卡通→哑光卡通儿童),反 Q 版/年龄上调/哑光词全试尽。顾客 30 类批产中的少年类=专项攻关(如只写职业衣着不写年龄的成人化措辞)或升档 B 判据实证之一;本批第 3 摇以**对照证据**身份收编入拼板(标注勿当基线)。 +5. **UI 无字纪律的成立路径=把「面板按钮全部留空白」写进主体词**:ui-01 出图面板/按钮全空白(背景街景乱字属发现 2 系统项),恰好示范批产形态「无字框件+程序排字」(批次一发现⑥同路)。 +6. **汽/汤类菜品 sprite 会自带手绘蒸汽**,与「蒸汽走程序化粒子」工艺纪律有出入(小笼包/牛肉面两张实证):样张层面加分保留;批产时按锁锚结论定——剔词保净图(粒子系统补汽)或保留作静态点缀。 +7. **竖屏 390×844 的 2x=780×1688 是非法尺寸**(image-01 要求 [512,2048] 且 8 的倍数):就近取 784×1688,比例偏差 0.5%,产线裁切吸收。 + +## 眼验入口(创始人) + +打开 **`拼板图-夜市暖夜霓虹12帧.png`**,重点与三选一提示见 `良率与成本-批次二.md` 末节;结论三选一:**锁锚开批产 / 调锚重产(≤2 轮)/ 升档 B 通道重产**——乱字解法(发现 2)与少年类路线(发现 4)请随结论一并给。 diff --git a/docs-design/夜市风格版-批次二/anchor-pack.json b/docs-design/夜市风格版-批次二/anchor-pack.json new file mode 100644 index 00000000..8a285943 --- /dev/null +++ b/docs-design/夜市风格版-批次二/anchor-pack.json @@ -0,0 +1,26 @@ +{ + "version": "v1(2026-07-07 批次二执行席建,依据创始人 2026-07-07 拍定夜市美术=候选A·暖夜霓虹,夜市书 §5 原文为准)+ 工艺修订 r1(2026-07-07 探针后)", + "noteR1": "工艺修订 r1 依据两张配方探针实证(见 rejects/ 与 manifest.jsonl):①夜景探针构图级乱字(两侧大字招牌全为 AI 乱字+右下水印行)——满幅后缀强化为『所有招牌灯箱幌子全部空白发光面/抽象光带、无任何字迹、角落无签名落款』;②顾客探针 sprite 净底全失效(整幅街景入画)且人物照片写实——根因=sprite 词组混入场景物『摊灯』强 prime 街景、主体词带『夜市』,r1 改为光质描述(暖色光)并明令『无街道摊位灯具招牌』,加『风格化手绘角色,非写实人像』;③shared 补厚涂强度词(探针偏赛璐璐平涂)。色板与锚概念(书 §5 候选A)一字未动。", + "noteR2": "工艺修订 r2 依据 r1 复产实证:sprite 净底再次全失效,根因在 shared 本身——『深蓝夜幕做底色/暖黄摊灯与霓虹招牌做光源层/市井烟火气』是场景语义,拼进 sprite prompt 即命令画街景。批次一发现②(背景指令只进 bleed)须彻底化:场景身份词整体从 shared 下沉到 bleed 组,shared 只留纯技法词(厚涂/笔触/色彩/体裁/反写实);sprite 组以『受光面暖黄、暗部深蓝、轮廓一线霓虹反光』把候选A色板烤进主体打光,不借场景物。另:夜景乱字两连发同位(招牌大字+右下水印行),判为本题材系统性伴生物,词条已顶格,余量走重摇择优+产线除字,如实记账。", + "noteR3": "工艺修订 r3 依据 day-01 首摇实证:场景词下沉 bleed 组后,bleed 硬编码夜幕光源层,白天命题被夜词压死(出图为夜景)。新增 bleedDay 日间变体组(浅蓝天空/暖阳/灯串未亮/霓虹熄灭只剩灯管轮廓),镜头 type=bleed-day 取之;shared 纯技法词天然跨昼夜,风格一致性由技法与色板纪律承担——资产表 3 场景×日/夜/雨 的日间批产同吃此组。", + "note": "夜市独立锚包,不共用山海 r1(材料档 §8 裁定)。styleWords 单源;批次一工艺发现直接内建:①image-01 无负向参数,负向要求全部烤进正向词与后缀;②perGame 词拆 sprite/bleed 两组,背景指令只进 bleed;③本风格的『乱字伴生物』=招牌/灯箱/菜单上的 AI 乱字(对应国风线的印章题跋),霓虹招牌一律只作抽象光带与发光色块、禁可读文字;④UI 类走无字框件+程序排字。参考图槽位暂空=本批样张眼验定稿后从自产图锁 3–5 张(只许自产图)。", + "palette": { + "夜幕底": ["深蓝夜幕 #1C2B4E", "墨蓝深空 #101B33", "青灰蓝中间调 #33456B"], + "暖光层": ["摊灯暖黄 #F6B84B", "灯串琥珀 #E98A3C"], + "霓虹层": ["霓虹粉 #F45C8C", "霓虹青 #3ED4C8"], + "点缀": ["蒸汽暖白 #F5EFE2"] + }, + "promptPrefix": "手绘厚涂风格的城市夜市游戏美术插画:", + "styleWordsShared": "暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感", + "perGame": { + "nightmarket": { + "sprite": "单体游戏图元立绘,居中特写,造型概括简练,厚涂笔触塑造体积感,暖黄色光从斜上方打亮主体,暗部偏深蓝色调,轮廓边缘带一线霓虹色反光,主体轮廓清晰饱满,缩小后依然可辨的鲜明剪影,风格化手绘造型,非写实人像", + "bleed": "深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,大排档灯串层叠发光,蒸笼白汽与食物热气氤氲升腾,塑料凳与市井摊位细节,市井烟火气与人情味,夜市街道纵深", + "bleedDay": "明亮的白天,天空浅蓝清澈,午后暖阳斜照街道,摊棚木桌与叠放的塑料凳细节,灯串垂挂未点亮,霓虹招牌熄灭后只剩彩色灯管轮廓,市井生活气息,街道纵深" + } + }, + "spriteSuffix": "灯光效果只体现在主体自身的受光面,不向背景扩散。画面里没有街道、摊位、灯具、招牌、桌椅与任何场景物件。干净的纯浅米色空白背景,背景上没有任何图案、纹样、光斑、灯光、烟雾、蒸汽,主体之外空无一物,主体完整居中,无裁切,边缘干净利落,画面中不出现任何文字", + "fullBleedSuffix": "满幅构图。画面中所有招牌、灯箱、幌子、横幅全部是空白的纯色发光面或抽象霓虹光带,上面没有任何字迹与图案。画面中不出现任何可读文字、汉字、字母、数字、印章与水印,画面角落没有签名与落款", + "negativeWords": "照片写实/3D渲染/现代都市摄影感/日漫赛璐璐/欧美卡通/像素风/招牌菜单乱字/文字字母数字/水印logo签名/模糊低质(image-01 无负向参数,此表已烤进正向 styleWords 与后缀,供升档 B 通道与人检对照)", + "cleanRoom": "市井烟火意象全部原创组合(大排档灯串、蒸笼白汽、塑料凳等通用生活元素);prompt 禁出现任何游戏/影视/动漫作品名与其专有名词,禁真实商号与品牌名;不引用任何现存游戏或影视美术" +} diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-cust-01.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-cust-01.jpg new file mode 100644 index 00000000..17da4b1c Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-cust-01.jpg differ diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-cust-02.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-cust-02.jpg new file mode 100644 index 00000000..f1c86c1c Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-cust-02.jpg differ diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-cust-03.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-cust-03.jpg new file mode 100644 index 00000000..29d2d734 Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-cust-03.jpg differ diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-dish-01.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-dish-01.jpg new file mode 100644 index 00000000..3a10b4cb Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-dish-01.jpg differ diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-dish-02.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-dish-02.jpg new file mode 100644 index 00000000..31bf0f41 Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-dish-02.jpg differ diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-dish-03.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-dish-03.jpg new file mode 100644 index 00000000..a1a33d16 Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-dish-03.jpg differ diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-owner-01.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-owner-01.jpg new file mode 100644 index 00000000..e67a5982 Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-owner-01.jpg differ diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-day-01.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-day-01.jpg new file mode 100644 index 00000000..885ca720 Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-day-01.jpg differ diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-night-01.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-night-01.jpg new file mode 100644 index 00000000..08e1e7d9 Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-night-01.jpg differ diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-peak-01.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-peak-01.jpg new file mode 100644 index 00000000..e4230381 Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-peak-01.jpg differ diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-rain-01.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-rain-01.jpg new file mode 100644 index 00000000..7b7102bf Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-scene-rain-01.jpg differ diff --git a/docs-design/夜市风格版-批次二/images/nightmarket/nm-ui-01.jpg b/docs-design/夜市风格版-批次二/images/nightmarket/nm-ui-01.jpg new file mode 100644 index 00000000..faa97159 Binary files /dev/null and b/docs-design/夜市风格版-批次二/images/nightmarket/nm-ui-01.jpg differ diff --git a/docs-design/夜市风格版-批次二/manifest.jsonl b/docs-design/夜市风格版-批次二/manifest.jsonl new file mode 100644 index 00000000..a1831866 --- /dev/null +++ b/docs-design/夜市风格版-批次二/manifest.jsonl @@ -0,0 +1,40 @@ +{"ts":"2026-07-07T07:28:58.097Z","kind":"gen-call","id":"nm-scene-night-01","game":"nightmarket","type":"bleed","w":784,"h":1688,"seed":81002,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:竖构图夜市街道开市夜景,深蓝夜幕下整条街的暖黄灯串亮起,摊位霓虹光带层叠闪耀,蒸笼白汽从各个摊口升腾,三两食客坐在塑料凳上吃喝,街道纵深灯火连绵。暖夜霓虹夜市烟火风格,深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,手绘厚涂颜料质感,厚重可见的笔触,光影层次丰富,市井烟火气与人情味,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。深蓝夜幕铺底,大排档灯串与霓虹招牌层叠发光,蒸笼白汽与食物热气氤氲升腾,塑料凳与市井摊位细节,夜市街道纵深。满幅构图,招牌、灯箱与幌子只作发光色块与抽象霓虹光带,画面中不出现任何可读文字、字母、数字与水印","status":"ok","durationMs":61298} +{"ts":"2026-07-07T07:29:56.545Z","kind":"gen-call","id":"nm-cust-01","game":"nightmarket","type":"sprite","w":1024,"h":1024,"seed":81011,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:夜市顾客·下班的年轻上班族女青年,单肩挎包,手里捏着一串竹签小吃,踮脚张望摊位的期待神情,全身站姿。暖夜霓虹夜市烟火风格,深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,手绘厚涂颜料质感,厚重可见的笔触,光影层次丰富,市井烟火气与人情味,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。单体图元居中特写,暖黄摊灯光从斜上方打亮主体,主体轮廓清晰饱满,厚涂笔触塑造体积感,缩小后依然可辨的鲜明剪影。灯光效果只体现在主体自身的受光面,不向背景扩散。干净的纯浅米色空白背景,背景上没有任何图案、纹样、光斑、灯光、烟雾、蒸汽,主体之外空无一物,主体完整居中,无裁切,边缘干净利落,画面中不出现任何文字","status":"ok","durationMs":57410} +{"ts":"2026-07-07T07:32:40.000Z","kind":"reject","id":"nm-scene-night-01","file":"rejects/nm-scene-night-01-r0.jpg","reason":"构图级乱字:左右大字招牌全为AI乱字+右下角一整行水印式乱字(氛围/色板/蒸汽本身正中候选A锚)","disposition":"锚包r1强化满幅后缀(招牌全空白发光面+角落无落款)后同seed重产"} +{"ts":"2026-07-07T07:32:40.000Z","kind":"reject","id":"nm-cust-01","file":"rejects/nm-cust-01-r0.jpg","reason":"sprite净底纪律全失效(整幅夜市街景入画)+人物照片写实非风格化图元;根因=sprite词组混入场景物『摊灯』+主体词带『夜市』强prime街景","disposition":"锚包r1重写sprite词组(光质化/明令无场景物/非写实人像)+主体词去『夜市』后同seed重产"} +{"ts":"2026-07-07T07:33:53.075Z","kind":"gen-call","id":"nm-scene-night-01","game":"nightmarket","type":"bleed","w":784,"h":1688,"seed":81002,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:竖构图夜市街道开市夜景,深蓝夜幕下整条街的暖黄灯串亮起,摊位霓虹光带层叠闪耀,蒸笼白汽从各个摊口升腾,三两食客坐在塑料凳上吃喝,街道纵深灯火连绵。暖夜霓虹夜市烟火风格,深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,手绘厚涂颜料质感,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,市井烟火气与人情味,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。深蓝夜幕铺底,大排档灯串与霓虹招牌层叠发光,蒸笼白汽与食物热气氤氲升腾,塑料凳与市井摊位细节,夜市街道纵深。满幅构图。画面中所有招牌、灯箱、幌子、横幅全部是空白的纯色发光面或抽象霓虹光带,上面没有任何字迹与图案。画面中不出现任何可读文字、汉字、字母、数字、印章与水印,画面角落没有签名与落款","status":"ok","durationMs":72933} +{"ts":"2026-07-07T07:34:45.827Z","kind":"gen-call","id":"nm-cust-01","game":"nightmarket","type":"sprite","w":1024,"h":1024,"seed":81011,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:顾客图元·下班的年轻上班族女青年,单肩挎包,手里捏着一串竹签小吃,踮脚张望的期待神情,全身站姿。暖夜霓虹夜市烟火风格,深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,手绘厚涂颜料质感,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,市井烟火气与人情味,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。单体游戏图元立绘,居中特写,造型概括简练,厚涂笔触塑造体积感,暖色光从斜上方打亮主体,主体轮廓清晰饱满,缩小后依然可辨的鲜明剪影,风格化手绘造型,非写实人像。灯光效果只体现在主体自身的受光面,不向背景扩散。画面里没有街道、摊位、灯具、招牌、桌椅与任何场景物件。干净的纯浅米色空白背景,背景上没有任何图案、纹样、光斑、灯光、烟雾、蒸汽,主体之外空无一物,主体完整居中,无裁切,边缘干净利落,画面中不出现任何文字","status":"ok","durationMs":51704} +{"ts":"2026-07-07T07:37:08.000Z","kind":"reject","id":"nm-scene-night-01","file":"rejects/nm-scene-night-01-r1.jpg","reason":"r1 后仍构图级乱字(左侧大字灯箱+右下同位置水印行,两连发同位=系统性伴生物);氛围面(蒸汽/湿地反光/暖冷分层)已达锚","disposition":"r2 同词换 seed 重摇构图择优"} +{"ts":"2026-07-07T07:37:08.000Z","kind":"reject","id":"nm-cust-01","file":"rejects/nm-cust-01-r1.jpg","reason":"净底再次全失效——根因定位:shared 风格词自带场景语义(夜幕做底/摊灯霓虹光源层)拼进 sprite 即命令画街景;风格化方向已修中(不再照片写实)","disposition":"r2 场景词整体下沉 bleed 组、色板烤进主体打光后同 seed 重产"} +{"ts":"2026-07-07T07:37:44.884Z","kind":"gen-call","id":"nm-cust-01","game":"nightmarket","type":"sprite","w":1024,"h":1024,"seed":81011,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:顾客图元·下班的年轻上班族女青年,单肩挎包,手里捏着一串竹签小吃,踮脚张望的期待神情,全身站姿。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。单体游戏图元立绘,居中特写,造型概括简练,厚涂笔触塑造体积感,暖黄色光从斜上方打亮主体,暗部偏深蓝色调,轮廓边缘带一线霓虹色反光,主体轮廓清晰饱满,缩小后依然可辨的鲜明剪影,风格化手绘造型,非写实人像。灯光效果只体现在主体自身的受光面,不向背景扩散。画面里没有街道、摊位、灯具、招牌、桌椅与任何场景物件。干净的纯浅米色空白背景,背景上没有任何图案、纹样、光斑、灯光、烟雾、蒸汽,主体之外空无一物,主体完整居中,无裁切,边缘干净利落,画面中不出现任何文字","status":"ok","durationMs":36324} +{"ts":"2026-07-07T07:38:20.113Z","kind":"gen-call","id":"nm-scene-night-01","game":"nightmarket","type":"bleed","w":784,"h":1688,"seed":181002,"seedBump":100000,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:竖构图夜市街道开市夜景,深蓝夜幕下整条街的暖黄灯串亮起,摊位霓虹光带层叠闪耀,蒸笼白汽从各个摊口升腾,三两食客坐在塑料凳上吃喝,街道纵深灯火连绵。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,大排档灯串层叠发光,蒸笼白汽与食物热气氤氲升腾,塑料凳与市井摊位细节,市井烟火气与人情味,夜市街道纵深。满幅构图。画面中所有招牌、灯箱、幌子、横幅全部是空白的纯色发光面或抽象霓虹光带,上面没有任何字迹与图案。画面中不出现任何可读文字、汉字、字母、数字、印章与水印,画面角落没有签名与落款","status":"ok","durationMs":34072} +{"ts":"2026-07-07T07:39:58.000Z","kind":"reject","id":"nm-scene-night-01","file":"rejects/nm-scene-night-01-r2.jpg","reason":"换seed第3摇仍构图级乱字(左橙色大字灯箱+右霓虹书法字),三连发坐实系统性;疑『可读文字』语义空子(乱字≠可读)","disposition":"第4摇=主体词层面改『无任何笔画符号的纯色发光面+远景招牌虚化光斑』,此摇为场景族(日/高峰/雨同吃)锚级攻关"} +{"ts":"2026-07-07T07:41:05.386Z","kind":"gen-call","id":"nm-scene-night-01","game":"nightmarket","type":"bleed","w":784,"h":1688,"seed":281002,"seedBump":200000,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:竖构图夜市街道开市夜景,深蓝夜幕下整条街的暖黄灯串亮起,摊位霓虹光带层叠闪耀,蒸笼白汽从各个摊口升腾,三两食客坐在塑料凳上吃喝,街道纵深灯火连绵,近景与中景的招牌灯箱全部是无字的纯色发光面,面上没有任何笔画、符号与图案,远景招牌全部虚化成模糊的彩色光斑。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,大排档灯串层叠发光,蒸笼白汽与食物热气氤氲升腾,塑料凳与市井摊位细节,市井烟火气与人情味,夜市街道纵深。满幅构图。画面中所有招牌、灯箱、幌子、横幅全部是空白的纯色发光面或抽象霓虹光带,上面没有任何字迹与图案。画面中不出现任何可读文字、汉字、字母、数字、印章与水印,画面角落没有签名与落款","status":"ok","durationMs":66733} +{"ts":"2026-07-07T07:42:02.000Z","kind":"screen","id":"nm-scene-night-01","verdict":"收编(第4摇,seed 281002)","knownIssue":"招牌乱字仍在(左大字灯箱/右上红字)——4摇3seed词面战术(后缀顶格/主体词无笔画符号/远景虚化)全试尽,判定为本题材在image-01上系统性伴生物;批产解法=产线除字/升档B/设计面接受远景乱字作纹理,三选一记入README","note":"氛围四摇最佳:灯串/蒸汽/石板路/暖冷分层/厚涂感全到位,右下水印行消失"} +{"ts":"2026-07-07T07:43:18.268Z","kind":"gen-call","id":"nm-scene-day-01","game":"nightmarket","type":"bleed","w":784,"h":1688,"seed":81001,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:竖构图夜市街道的白天备市时分,午后暖阳斜照,摊主们支起摊棚擦洗蒸笼备料,灯串未亮垂挂在棚架间,塑料凳叠放在摊边,街道向远处纵深延伸,安静而有生活气的市井白日,近景与中景的招牌灯箱全部是无字的纯色发光面,面上没有任何笔画、符号与图案,远景招牌全部虚化成模糊的彩色光斑。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,大排档灯串层叠发光,蒸笼白汽与食物热气氤氲升腾,塑料凳与市井摊位细节,市井烟火气与人情味,夜市街道纵深。满幅构图。画面中所有招牌、灯箱、幌子、横幅全部是空白的纯色发光面或抽象霓虹光带,上面没有任何字迹与图案。画面中不出现任何可读文字、汉字、字母、数字、印章与水印,画面角落没有签名与落款","status":"ok","durationMs":75848} +{"ts":"2026-07-07T07:43:55.190Z","kind":"gen-call","id":"nm-scene-peak-01","game":"nightmarket","type":"bleed","w":784,"h":1688,"seed":81003,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:竖构图夜市街道深夜高峰时分,人潮涌动摩肩接踵,每个摊位都排着队,灯串霓虹与炉火全开亮成一片暖光海,热气蒸汽弥漫升腾,人声鼎沸的热闹顶点,近景与中景的招牌灯箱全部是无字的纯色发光面,面上没有任何笔画、符号与图案,远景招牌全部虚化成模糊的彩色光斑。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,大排档灯串层叠发光,蒸笼白汽与食物热气氤氲升腾,塑料凳与市井摊位细节,市井烟火气与人情味,夜市街道纵深。满幅构图。画面中所有招牌、灯箱、幌子、横幅全部是空白的纯色发光面或抽象霓虹光带,上面没有任何字迹与图案。画面中不出现任何可读文字、汉字、字母、数字、印章与水印,画面角落没有签名与落款","status":"ok","durationMs":35892} +{"ts":"2026-07-07T07:44:32.466Z","kind":"gen-call","id":"nm-scene-rain-01","game":"nightmarket","type":"bleed","w":784,"h":1688,"seed":81004,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:竖构图夜市街道的雨夜,细雨斜织,湿漉漉的地面倒映着暖黄灯串与霓虹光带,摊棚和雨伞下食客围坐,蒸汽混着雨雾氤氲,静谧而温暖的雨夜市井,近景与中景的招牌灯箱全部是无字的纯色发光面,面上没有任何笔画、符号与图案,远景招牌全部虚化成模糊的彩色光斑。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,大排档灯串层叠发光,蒸笼白汽与食物热气氤氲升腾,塑料凳与市井摊位细节,市井烟火气与人情味,夜市街道纵深。满幅构图。画面中所有招牌、灯箱、幌子、横幅全部是空白的纯色发光面或抽象霓虹光带,上面没有任何字迹与图案。画面中不出现任何可读文字、汉字、字母、数字、印章与水印,画面角落没有签名与落款","status":"ok","durationMs":36225} +{"ts":"2026-07-07T07:45:24.241Z","kind":"gen-call","id":"nm-owner-01","game":"nightmarket","type":"bleed","w":1024,"h":1280,"seed":81005,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:近景特写:夜市摊主大叔在一盏暖黄摊灯正下方双手揭开竹蒸笼盖,浓白蒸汽扑面升腾而起,摊台上一口咕嘟冒着热气的招牌大锅,深蓝夜色作远景,摊主系着围裙肩搭毛巾,笑容憨厚温暖。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,大排档灯串层叠发光,蒸笼白汽与食物热气氤氲升腾,塑料凳与市井摊位细节,市井烟火气与人情味,夜市街道纵深。满幅构图。画面中所有招牌、灯箱、幌子、横幅全部是空白的纯色发光面或抽象霓虹光带,上面没有任何字迹与图案。画面中不出现任何可读文字、汉字、字母、数字、印章与水印,画面角落没有签名与落款","status":"ok","durationMs":31026} +{"ts":"2026-07-07T07:45:53.443Z","kind":"gen-call","id":"nm-cust-02","game":"nightmarket","type":"sprite","w":1024,"h":1024,"seed":81012,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:顾客图元·遛弯的老街坊大爷,白背心蒲扇,手里提着塑料袋,悠闲踱步的惬意神情,全身站姿。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。单体游戏图元立绘,居中特写,造型概括简练,厚涂笔触塑造体积感,暖黄色光从斜上方打亮主体,暗部偏深蓝色调,轮廓边缘带一线霓虹色反光,主体轮廓清晰饱满,缩小后依然可辨的鲜明剪影,风格化手绘造型,非写实人像。灯光效果只体现在主体自身的受光面,不向背景扩散。画面里没有街道、摊位、灯具、招牌、桌椅与任何场景物件。干净的纯浅米色空白背景,背景上没有任何图案、纹样、光斑、灯光、烟雾、蒸汽,主体之外空无一物,主体完整居中,无裁切,边缘干净利落,画面中不出现任何文字","status":"ok","durationMs":28157} +{"ts":"2026-07-07T07:46:20.448Z","kind":"gen-call","id":"nm-cust-03","game":"nightmarket","type":"sprite","w":1024,"h":1024,"seed":81013,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:顾客图元·背书包穿校服的学生,身体微微前倾探头张望,馋嘴期待的神情,全身站姿。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。单体游戏图元立绘,居中特写,造型概括简练,厚涂笔触塑造体积感,暖黄色光从斜上方打亮主体,暗部偏深蓝色调,轮廓边缘带一线霓虹色反光,主体轮廓清晰饱满,缩小后依然可辨的鲜明剪影,风格化手绘造型,非写实人像。灯光效果只体现在主体自身的受光面,不向背景扩散。画面里没有街道、摊位、灯具、招牌、桌椅与任何场景物件。干净的纯浅米色空白背景,背景上没有任何图案、纹样、光斑、灯光、烟雾、蒸汽,主体之外空无一物,主体完整居中,无裁切,边缘干净利落,画面中不出现任何文字","status":"ok","durationMs":25944} +{"ts":"2026-07-07T07:46:47.433Z","kind":"gen-call","id":"nm-dish-01","game":"nightmarket","type":"sprite","w":1024,"h":1024,"seed":81021,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:菜品图元·一屉打开盖的竹蒸笼,里面整齐码着白胖的小笼包,面皮褶皱细腻,竹篾纹理温润。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。单体游戏图元立绘,居中特写,造型概括简练,厚涂笔触塑造体积感,暖黄色光从斜上方打亮主体,暗部偏深蓝色调,轮廓边缘带一线霓虹色反光,主体轮廓清晰饱满,缩小后依然可辨的鲜明剪影,风格化手绘造型,非写实人像。灯光效果只体现在主体自身的受光面,不向背景扩散。画面里没有街道、摊位、灯具、招牌、桌椅与任何场景物件。干净的纯浅米色空白背景,背景上没有任何图案、纹样、光斑、灯光、烟雾、蒸汽,主体之外空无一物,主体完整居中,无裁切,边缘干净利落,画面中不出现任何文字","status":"ok","durationMs":25937} +{"ts":"2026-07-07T07:47:12.355Z","kind":"gen-call","id":"nm-dish-02","game":"nightmarket","type":"sprite","w":1024,"h":1024,"seed":81022,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:菜品图元·三串炭烤肉串架在小铁盘上,烤得油亮焦香,撒着辣椒面与白芝麻。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。单体游戏图元立绘,居中特写,造型概括简练,厚涂笔触塑造体积感,暖黄色光从斜上方打亮主体,暗部偏深蓝色调,轮廓边缘带一线霓虹色反光,主体轮廓清晰饱满,缩小后依然可辨的鲜明剪影,风格化手绘造型,非写实人像。灯光效果只体现在主体自身的受光面,不向背景扩散。画面里没有街道、摊位、灯具、招牌、桌椅与任何场景物件。干净的纯浅米色空白背景,背景上没有任何图案、纹样、光斑、灯光、烟雾、蒸汽,主体之外空无一物,主体完整居中,无裁切,边缘干净利落,画面中不出现任何文字","status":"ok","durationMs":23894} +{"ts":"2026-07-07T07:47:37.472Z","kind":"gen-call","id":"nm-dish-03","game":"nightmarket","type":"sprite","w":1024,"h":1024,"seed":81023,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:菜品图元·一只青花瓷碗盛着红汤牛肉面,面条筋道,卧着牛肉片与一撮青菜,一双筷子架在碗沿。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。单体游戏图元立绘,居中特写,造型概括简练,厚涂笔触塑造体积感,暖黄色光从斜上方打亮主体,暗部偏深蓝色调,轮廓边缘带一线霓虹色反光,主体轮廓清晰饱满,缩小后依然可辨的鲜明剪影,风格化手绘造型,非写实人像。灯光效果只体现在主体自身的受光面,不向背景扩散。画面里没有街道、摊位、灯具、招牌、桌椅与任何场景物件。干净的纯浅米色空白背景,背景上没有任何图案、纹样、光斑、灯光、烟雾、蒸汽,主体之外空无一物,主体完整居中,无裁切,边缘干净利落,画面中不出现任何文字","status":"ok","durationMs":24068} +{"ts":"2026-07-07T08:03:16.414Z","kind":"gen-call","id":"nm-ui-01","game":"nightmarket","type":"bleed","w":1024,"h":1024,"seed":81031,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:游戏界面主题一角:木质摊招风格的界面面板与两枚圆角按钮,暖黄灯串缠绕面板边框,霓虹光带描边点缀,深蓝夜幕底纹,厚涂质感的界面组件套件,面板与按钮上全部留空白,不出现任何文字符号。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,大排档灯串层叠发光,蒸笼白汽与食物热气氤氲升腾,塑料凳与市井摊位细节,市井烟火气与人情味,夜市街道纵深。满幅构图。画面中所有招牌、灯箱、幌子、横幅全部是空白的纯色发光面或抽象霓虹光带,上面没有任何字迹与图案。画面中不出现任何可读文字、汉字、字母、数字、印章与水印,画面角落没有签名与落款","status":"fail","error":"timeout-150s","durationMs":937899} +{"ts":"2026-07-07T08:04:13.731Z","kind":"gen-call","id":"nm-ui-01","game":"nightmarket","type":"bleed","w":1024,"h":1024,"seed":81031,"seedBump":0,"attempt":2,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:游戏界面主题一角:木质摊招风格的界面面板与两枚圆角按钮,暖黄灯串缠绕面板边框,霓虹光带描边点缀,深蓝夜幕底纹,厚涂质感的界面组件套件,面板与按钮上全部留空白,不出现任何文字符号。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。深蓝夜幕做底色,暖黄摊灯与霓虹招牌做光源层,大排档灯串层叠发光,蒸笼白汽与食物热气氤氲升腾,塑料凳与市井摊位细节,市井烟火气与人情味,夜市街道纵深。满幅构图。画面中所有招牌、灯箱、幌子、横幅全部是空白的纯色发光面或抽象霓虹光带,上面没有任何字迹与图案。画面中不出现任何可读文字、汉字、字母、数字、印章与水印,画面角落没有签名与落款","status":"ok","durationMs":52222} +{"ts":"2026-07-07T08:06:22.000Z","kind":"reject","id":"nm-scene-day-01","file":"rejects/nm-scene-day-01-r0.jpg","reason":"命题失败:白天备市出成夜景——r2 场景词下沉后 bleed 组硬编码『深蓝夜幕光源层』压死白天主体词;乱字同系统项","disposition":"锚包 r3 新增 bleedDay 日间变体组+镜头 type=bleed-day 后重产"} +{"ts":"2026-07-07T08:06:22.000Z","kind":"screen","id":"nm-scene-peak-01","verdict":"收编(首摇)","knownIssue":"招牌乱字(系统项,见 night-01 判定)","note":"人潮暖光海+星夜云层,高峰命题达锚;首过"} +{"ts":"2026-07-07T08:06:22.000Z","kind":"screen","id":"nm-scene-rain-01","verdict":"收编(首摇)","knownIssue":"左上角一行水印式乱字(平坦夜空区,产线除字/裁切易清)+中景招牌乱字(系统项)","note":"湿地反光+伞群+雨丝+蒸汽,全批氛围最强一张;首过"} +{"ts":"2026-07-07T08:06:56.342Z","kind":"gen-call","id":"nm-scene-day-01","game":"nightmarket","type":"bleed-day","w":784,"h":1688,"seed":81001,"seedBump":0,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:竖构图市井小吃街的白天备市时分,摊主们支起摊棚擦洗蒸笼备料,塑料凳叠放在摊边,街道向远处纵深延伸,安静而有生活气的市井白日。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。明亮的白天,天空浅蓝清澈,午后暖阳斜照街道,摊棚木桌与叠放的塑料凳细节,灯串垂挂未点亮,霓虹招牌熄灭后只剩彩色灯管轮廓,市井生活气息,街道纵深。满幅构图。画面中所有招牌、灯箱、幌子、横幅全部是空白的纯色发光面或抽象霓虹光带,上面没有任何字迹与图案。画面中不出现任何可读文字、汉字、字母、数字、印章与水印,画面角落没有签名与落款","status":"ok","durationMs":33955} +{"ts":"2026-07-07T08:09:33.000Z","kind":"reject","id":"nm-cust-03","file":"rejects/nm-cust-03-r0.jpg","reason":"风格破族:『校服学生』强prime日漫先验,出成Q版大头身,与cust-01/02厚涂写意人物不同族;另背景漂浮黄色斑点(除杂级)。对顾客30类批产的预警:少年题材易漂日漫","disposition":"换seed+反Q版反日漫补词重摇"} +{"ts":"2026-07-07T08:09:33.000Z","kind":"screen","id":"nm-scene-day-01","verdict":"收编(r3 bleedDay 首摇)","knownIssue":"右侧一块霓虹灯箱未熄且带乱字(系统项)","note":"晴空白日/叠蒸笼/红蓝黄塑料凳全到位,日间变体组一发修中"} +{"ts":"2026-07-07T08:09:33.000Z","kind":"screen","id":"nm-owner-01","verdict":"收编(首摇)","knownIssue":"底部一行小乱字+围裙乱字(暗区,产线易清)","note":"首屏视觉锚成立:暖黄摊灯正下+蒸笼白汽爆腾+深蓝夜底霓虹虚景+黑铁招牌锅"} +{"ts":"2026-07-07T08:09:33.000Z","kind":"screen","id":"nm-cust-02","verdict":"收编(首摇首过)","knownIssue":"地面投影(色键可分离)","note":"白背心蒲扇塑料袋全中;暖黄受光+青蓝暗部=色板烤进打光,图元族标杆"} +{"ts":"2026-07-07T08:09:33.000Z","kind":"screen","id":"nm-dish-01","verdict":"收编(首摇)","knownIssue":"右下签名式乱涂(可清);画了手绘蒸汽——与『蒸汽走程序粒子』工艺纪律有出入,样张层面加分,批产时剔词","note":"竹蒸笼厚涂质感+紫蓝影+青霓虹反光一线"} +{"ts":"2026-07-07T08:09:33.000Z","kind":"screen","id":"nm-dish-02","verdict":"收编(首摇首过)","knownIssue":"周边酱点飞溅(除杂级)","note":"蓝盘粉边呼应霓虹色板,净底可键"} +{"ts":"2026-07-07T08:09:33.000Z","kind":"screen","id":"nm-dish-03","verdict":"收编(首摇首过)","knownIssue":"左上少量黄色斑点(除杂级)+手绘蒸汽同dish-01注","note":"青花碗红汤,96×96缩放剪影可读性最佳"} +{"ts":"2026-07-07T08:09:33.000Z","kind":"screen","id":"nm-ui-01","verdict":"收编(首摇)","knownIssue":"背景街景招牌乱字(系统项)","note":"出成实景摊招式面板:空白暖底大板+灯串描边+青绿按钮对+霓虹檐条——面板按钮全空白,恰好示范『无字框件+程序排字』批产形态"} +{"ts":"2026-07-07T08:10:05.690Z","kind":"gen-call","id":"nm-cust-03","game":"nightmarket","type":"sprite","w":1024,"h":1024,"seed":181013,"seedBump":100000,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:顾客图元·背书包穿校服的学生,身体微微前倾探头张望,馋嘴期待的神情,全身站姿,少年身形比例自然,非Q版,非大头身,非日漫风格,与成年人物同一种手绘厚涂画风。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。单体游戏图元立绘,居中特写,造型概括简练,厚涂笔触塑造体积感,暖黄色光从斜上方打亮主体,暗部偏深蓝色调,轮廓边缘带一线霓虹色反光,主体轮廓清晰饱满,缩小后依然可辨的鲜明剪影,风格化手绘造型,非写实人像。灯光效果只体现在主体自身的受光面,不向背景扩散。画面里没有街道、摊位、灯具、招牌、桌椅与任何场景物件。干净的纯浅米色空白背景,背景上没有任何图案、纹样、光斑、灯光、烟雾、蒸汽,主体之外空无一物,主体完整居中,无裁切,边缘干净利落,画面中不出现任何文字","status":"ok","durationMs":32271} +{"ts":"2026-07-07T08:11:44.000Z","kind":"reject","id":"nm-cust-03","file":"rejects/nm-cust-03-r1.jpg","reason":"仍破族:反Q版词后从日漫少女变3D渲染味卡通男孩,头身比与光滑质感仍不合厚涂写意族——儿童/学生题材强拉卡通先验二连实证","disposition":"最后一摇:年龄上调十六七岁高中生(比例逃逸儿童先验)+哑光厚涂反光滑词;不过族则如实记『学生类未过族』带最佳版收口"} +{"ts":"2026-07-07T08:12:11.679Z","kind":"gen-call","id":"nm-cust-03","game":"nightmarket","type":"sprite","w":1024,"h":1024,"seed":281013,"seedBump":200000,"attempt":1,"model":"image-01","prompt":"手绘厚涂风格的城市夜市游戏美术插画:顾客图元·背书包穿校服的学生,身体微微前倾探头张望,馋嘴期待的神情,全身站姿。这是一个十六七岁的高中生,身高与身体比例接近成年人,五官用写意笔触概括,哑光颜料质感,非光滑渲染,与成年人物完全同一种手绘厚涂画风。暖夜霓虹风格的手绘厚涂游戏美术,浓稠颜料层叠堆迭的厚涂笔触,笔触肌理清晰可见,光影层次丰富,温暖浓郁的色彩,二维手绘游戏插画,绝非照片,非写实,非3D渲染,高级美术质感。单体游戏图元立绘,居中特写,造型概括简练,厚涂笔触塑造体积感,暖黄色光从斜上方打亮主体,暗部偏深蓝色调,轮廓边缘带一线霓虹色反光,主体轮廓清晰饱满,缩小后依然可辨的鲜明剪影,风格化手绘造型,非写实人像。灯光效果只体现在主体自身的受光面,不向背景扩散。画面里没有街道、摊位、灯具、招牌、桌椅与任何场景物件。干净的纯浅米色空白背景,背景上没有任何图案、纹样、光斑、灯光、烟雾、蒸汽,主体之外空无一物,主体完整居中,无裁切,边缘干净利落,画面中不出现任何文字","status":"ok","durationMs":26894} +{"ts":"2026-07-07T08:14:02.000Z","kind":"screen","id":"nm-cust-03","verdict":"收编作对照证据(第3摇,不入锁锚基线)","knownIssue":"学生/少年类三摇三败系统性漂卡通(日漫少女→3D渲染卡通→哑光卡通儿童),年龄上调/反Q版/哑光词全试尽——判定词面不可破,批产顾客库少年类=专项攻关或升档B判据实证之一","note":"第3摇技法面最接近(哑光厚涂平涂),败在头身比与卡通脸"} diff --git a/docs-design/夜市风格版-批次二/rejects/nm-cust-01-r0.jpg b/docs-design/夜市风格版-批次二/rejects/nm-cust-01-r0.jpg new file mode 100644 index 00000000..5b7d4f99 Binary files /dev/null and b/docs-design/夜市风格版-批次二/rejects/nm-cust-01-r0.jpg differ diff --git a/docs-design/夜市风格版-批次二/rejects/nm-cust-01-r1.jpg b/docs-design/夜市风格版-批次二/rejects/nm-cust-01-r1.jpg new file mode 100644 index 00000000..6eb4002b Binary files /dev/null and b/docs-design/夜市风格版-批次二/rejects/nm-cust-01-r1.jpg differ diff --git a/docs-design/夜市风格版-批次二/rejects/nm-cust-03-r0.jpg b/docs-design/夜市风格版-批次二/rejects/nm-cust-03-r0.jpg new file mode 100644 index 00000000..0427d759 Binary files /dev/null and b/docs-design/夜市风格版-批次二/rejects/nm-cust-03-r0.jpg differ diff --git a/docs-design/夜市风格版-批次二/rejects/nm-cust-03-r1.jpg b/docs-design/夜市风格版-批次二/rejects/nm-cust-03-r1.jpg new file mode 100644 index 00000000..337ab093 Binary files /dev/null and b/docs-design/夜市风格版-批次二/rejects/nm-cust-03-r1.jpg differ diff --git a/docs-design/夜市风格版-批次二/rejects/nm-scene-day-01-r0.jpg b/docs-design/夜市风格版-批次二/rejects/nm-scene-day-01-r0.jpg new file mode 100644 index 00000000..458e6816 Binary files /dev/null and b/docs-design/夜市风格版-批次二/rejects/nm-scene-day-01-r0.jpg differ diff --git a/docs-design/夜市风格版-批次二/rejects/nm-scene-night-01-r0.jpg b/docs-design/夜市风格版-批次二/rejects/nm-scene-night-01-r0.jpg new file mode 100644 index 00000000..27c9b2f9 Binary files /dev/null and b/docs-design/夜市风格版-批次二/rejects/nm-scene-night-01-r0.jpg differ diff --git a/docs-design/夜市风格版-批次二/rejects/nm-scene-night-01-r1.jpg b/docs-design/夜市风格版-批次二/rejects/nm-scene-night-01-r1.jpg new file mode 100644 index 00000000..1f918f58 Binary files /dev/null and b/docs-design/夜市风格版-批次二/rejects/nm-scene-night-01-r1.jpg differ diff --git a/docs-design/夜市风格版-批次二/rejects/nm-scene-night-01-r2.jpg b/docs-design/夜市风格版-批次二/rejects/nm-scene-night-01-r2.jpg new file mode 100644 index 00000000..f30a895a Binary files /dev/null and b/docs-design/夜市风格版-批次二/rejects/nm-scene-night-01-r2.jpg differ diff --git a/docs-design/夜市风格版-批次二/scripts/contact-sheet.py b/docs-design/夜市风格版-批次二/scripts/contact-sheet.py new file mode 100644 index 00000000..81b227ff --- /dev/null +++ b/docs-design/夜市风格版-批次二/scripts/contact-sheet.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +# 拼板图(contact sheet):批次样张 → 单张大图,创始人直接打开逐张眼验(复用批次一脚本,加可选格尺寸参数) +# 用法: python3 contact-sheet.py <输出.png> [列数] [标题] [格宽] [格高] +# python3 contact-sheet.py --files <输出.png> <标题> <标签=路径>... (任意文件模式) +# 排序按 shots.json 镜头单原序;每格附镜头 id 标签;中文标题用霞鹜文楷(OFL,scratchpad 依赖)。 +import sys, os, json +from PIL import Image, ImageDraw, ImageFont + +FONT_TTF = '/private/tmp/claude-501/-Users-lili-Project-games-development-ai/69248bd4-16ac-4906-aea1-4157edf7b10f/scratchpad/deps/LXGWWenKai-Regular.ttf' + +def load_font(size): + try: return ImageFont.truetype(FONT_TTF, size) + except Exception: return ImageFont.load_default() + +def make_sheet(items, out_path, cols, title, tile_w=360, tile_h=420): + label_h, title_h, gap = 30, 56, 8 + rows = (len(items) + cols - 1) // cols + W = cols * (tile_w + gap) + gap + H = title_h + rows * (tile_h + label_h + gap) + gap + sheet = Image.new('RGB', (W, H), (16, 27, 51)) # 墨蓝深空底,配暖夜霓虹批次 + d = ImageDraw.Draw(sheet) + d.text((gap + 4, 12), title, fill=(246, 184, 75), font=load_font(30)) + f_label = load_font(20) + for i, (label, path) in enumerate(items): + r, c = divmod(i, cols) + x = gap + c * (tile_w + gap) + y = title_h + r * (tile_h + label_h + gap) + try: + im = Image.open(path).convert('RGB') + except Exception as e: + d.text((x, y), f'{label}: 打开失败 {e}', fill=(200, 80, 80), font=f_label); continue + im.thumbnail((tile_w, tile_h)) + ox, oy = x + (tile_w - im.width) // 2, y + (tile_h - im.height) // 2 + sheet.paste(im, (ox, oy)) + d.rectangle([x, y + tile_h, x + tile_w, y + tile_h + label_h], fill=(12, 20, 38)) + d.text((x + 6, y + tile_h + 4), label, fill=(220, 220, 210), font=f_label) + sheet.save(out_path) + print(f'拼板完成:{out_path} ({W}x{H}, {len(items)} 格, {os.path.getsize(out_path)//1024}KB)') + +if __name__ == '__main__': + if sys.argv[1] == '--files': + out, title = sys.argv[2], sys.argv[3] + items = [(kv.split('=', 1)[0], kv.split('=', 1)[1]) for kv in sys.argv[4:]] + make_sheet(items, out, cols=min(4, max(1, len(items))), title=title) + else: + shots_p, img_root, game, out = sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4] + cols = int(sys.argv[5]) if len(sys.argv) > 5 else 6 + title = sys.argv[6] if len(sys.argv) > 6 else f'风格版批次二 · {game}' + tile_w = int(sys.argv[7]) if len(sys.argv) > 7 else 360 + tile_h = int(sys.argv[8]) if len(sys.argv) > 8 else 420 + shots = [s for s in json.load(open(shots_p, encoding='utf-8'))['shots'] if s['game'] == game] + items = [] + for s in shots: + hit = None + for ext in ('.jpg', '.jpeg', '.png', '.webp'): + p = os.path.join(img_root, game, s['id'] + ext) + if os.path.exists(p): hit = p; break + if hit: items.append((s['id'], hit)) + else: print(f"警告:缺 {s['id']}") + make_sheet(items, out, cols=cols, title=title) diff --git a/docs-design/夜市风格版-批次二/scripts/gen-batch.mjs b/docs-design/夜市风格版-批次二/scripts/gen-batch.mjs new file mode 100644 index 00000000..93325975 --- /dev/null +++ b/docs-design/夜市风格版-批次二/scripts/gen-batch.mjs @@ -0,0 +1,109 @@ +#!/usr/bin/env node +// 风格版批次二(夜市·暖夜霓虹)· mmx 生图批跑脚本(复用批次一方法,零依赖,直接调本机 mmx CLI) +// 用法: +// node gen-batch.mjs # 全量(跳过 images/ 下已存在的镜头,可断点续跑) +// node gen-batch.mjs --only nm-scene-night-01,nm-cust-01 # 只跑指定镜头 +// node gen-batch.mjs --only nm-cust-01 --seed-bump 100000 --force # 重摇(换 seed 重产,覆盖) +// node gen-batch.mjs --only nm-ui-01 --subject-extra ",额外约束词" --force # 定向补词重产 +// 纪律: +// - prompt = 镜头 subject + 锚包 styleWordsShared + perGame + (sprite|bleed) 后缀,拼接即所发,原样入账; +// - 每次外呼 150s 超时,失败退避重试(内容过滤 exit=10 不重试,配额 exit=4 全批中止); +// - 每次调用(无论成败)追加一行 ../manifest.jsonl —— 逐张 prompt/参数/耗时/状态可审计; +// - 串行 + 1s 间隔,防限流;成本按官方口径 $0.0035/张 估记(实测口径另见台账)。 +import { readFileSync, existsSync, mkdirSync, renameSync, appendFileSync, readdirSync, rmSync } from 'node:fs'; +import { spawnSync } from 'node:child_process'; +import { dirname, join, resolve, extname } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), '..'); +const MANIFEST = join(ROOT, 'manifest.jsonl'); +const TMP = join(process.env.TMPDIR || '/tmp', 'yeshi-batch2-gen'); +mkdirSync(TMP, { recursive: true }); + +// ---- 参数解析 ---- +const args = process.argv.slice(2); +const getArg = (name) => { const i = args.indexOf(name); return i >= 0 ? args[i + 1] : undefined; }; +const onlyIds = getArg('--only')?.split(',').map(s => s.trim()).filter(Boolean); +const onlyGame = getArg('--game'); +const seedBump = Number(getArg('--seed-bump') || 0); +const subjectExtra = getArg('--subject-extra') || ''; +const force = args.includes('--force'); + +// ---- 读锚包与镜头单 ---- +const anchor = JSON.parse(readFileSync(join(ROOT, 'anchor-pack.json'), 'utf8')); +const { shots } = JSON.parse(readFileSync(join(ROOT, 'shots.json'), 'utf8')); + +// prompt 拼装(批次一 r1 口径直接内建):领句定体裁 + 主体 + 共用风格锚 + 按 sprite/bleed/bleed-day 取分组词 + 工艺后缀 +// r3:新增 bleed-day 日间变体组——bleed 组硬编码夜幕光源层,白天命题会被夜词压死(day-01 首摇实证) +function buildPrompt(shot) { + const kind = shot.type === 'sprite' ? 'sprite' : (shot.type === 'bleed-day' ? 'bleedDay' : 'bleed'); + const per = anchor.perGame[shot.game][kind]; + const suffix = shot.type === 'sprite' ? anchor.spriteSuffix : anchor.fullBleedSuffix; + return `${anchor.promptPrefix}${shot.subject}${subjectExtra}。${anchor.styleWordsShared}。${per}。${suffix}`; +} + +// 追加台账一行(逐次调用,成败都记) +function ledger(entry) { + appendFileSync(MANIFEST, JSON.stringify({ ts: new Date().toISOString(), ...entry }) + '\n'); +} + +// 调 mmx 一次(150s 超时);返回 { ok, file?, error?, ms, exit } +function callMmx(shot, prompt, seedUsed) { + // 清理该镜头的临时残留,防串档 + for (const f of readdirSync(TMP)) if (f.startsWith(shot.id)) rmSync(join(TMP, f)); + const t0 = Date.now(); + const r = spawnSync('mmx', [ + 'image', 'generate', + '--prompt', prompt, + '--width', String(shot.w), '--height', String(shot.h), + '--seed', String(seedUsed), + '--out-dir', TMP, '--out-prefix', shot.id, + '--quiet', '--non-interactive', + ], { timeout: 150_000, encoding: 'utf8' }); + const ms = Date.now() - t0; + if (r.error?.code === 'ETIMEDOUT' || r.signal) return { ok: false, error: 'timeout-150s', ms, exit: 5 }; + if (r.status !== 0) return { ok: false, error: (r.stderr || r.stdout || '').trim().slice(0, 300) || `exit=${r.status}`, ms, exit: r.status ?? 1 }; + // --quiet + --out-dir 模式:stdout 为保存路径;兜底扫临时目录 + const saved = (r.stdout || '').split('\n').map(s => s.trim()).find(s => s && existsSync(s)) + || readdirSync(TMP).filter(f => f.startsWith(shot.id)).map(f => join(TMP, f))[0]; + if (!saved) return { ok: false, error: 'exit=0 但未找到产物文件', ms, exit: 1 }; + return { ok: true, file: saved, ms, exit: 0 }; +} + +// ---- 主循环:串行 ---- +const todo = shots.filter(s => (!onlyIds || onlyIds.includes(s.id)) && (!onlyGame || s.game === onlyGame)); +let done = 0, skipped = 0, failed = 0, calls = 0; +for (const shot of todo) { + const outDir = join(ROOT, 'images', shot.game); + mkdirSync(outDir, { recursive: true }); + const existing = readdirSync(outDir).find(f => f.startsWith(shot.id + '.')); + if (existing && !force) { skipped++; continue; } + + const prompt = buildPrompt(shot); + const seedUsed = shot.seed + seedBump; + let result = null; + for (let attempt = 1; attempt <= 3; attempt++) { + result = callMmx(shot, prompt, seedUsed); + calls++; + ledger({ kind: 'gen-call', id: shot.id, game: shot.game, type: shot.type, w: shot.w, h: shot.h, + seed: seedUsed, seedBump, attempt, model: 'image-01', prompt, + status: result.ok ? 'ok' : 'fail', error: result.error, durationMs: result.ms }); + if (result.ok) break; + if (result.exit === 10) { console.error(`[${shot.id}] 内容过滤(exit=10),不重试`); break; } + if (result.exit === 4) { console.error(`[${shot.id}] 配额超限(exit=4),全批中止`); process.exit(4); } + if (attempt < 3) { const wait = attempt * 5000; console.error(`[${shot.id}] 第${attempt}次失败(${result.error}),${wait / 1000}s 后重试`); spawnSync('sleep', [String(wait / 1000)]); } + } + if (result.ok) { + const ext = extname(result.file) || '.png'; + const dest = join(outDir, shot.id + ext.toLowerCase()); + renameSync(result.file, dest); + done++; + console.log(`[${shot.id}] OK ${Math.round(result.ms / 1000)}s -> ${dest}`); + } else { + failed++; + console.error(`[${shot.id}] FAILED: ${result.error}`); + } + spawnSync('sleep', ['1']); // 限流间隔 +} +console.log(`\n批跑完成:成 ${done} / 跳过 ${skipped} / 败 ${failed};本次外呼 ${calls} 次(≈$${(calls * 0.0035).toFixed(3)} 官方口径)`); +process.exit(failed > 0 ? 1 : 0); diff --git a/docs-design/夜市风格版-批次二/shots.json b/docs-design/夜市风格版-批次二/shots.json new file mode 100644 index 00000000..df3ee542 --- /dev/null +++ b/docs-design/夜市风格版-批次二/shots.json @@ -0,0 +1,17 @@ +{ + "note": "风格版批次二镜头单(夜市·暖夜霓虹,书 §5 关键帧口径:主场景日/夜/高峰/雨天+摊主揭蒸笼首屏锚+顾客3类+菜品3件+UI一角)。type: sprite=纯浅底可抠 / bleed=满幅。prompt 只写主体,gen-batch.mjs 运行时拼接 anchor-pack(shared+perGame+suffix)。场景竖屏 784×1688=390×844 的 2x 就近合法值(image-01 要求 8 的倍数,780 不合法);seed 固定可复现。", + "shots": [ + { "id": "nm-scene-day-01", "game": "nightmarket", "type": "bleed-day", "w": 784, "h": 1688, "seed": 81001, "subject": "竖构图市井小吃街的白天备市时分,摊主们支起摊棚擦洗蒸笼备料,塑料凳叠放在摊边,街道向远处纵深延伸,安静而有生活气的市井白日" }, + { "id": "nm-scene-night-01", "game": "nightmarket", "type": "bleed", "w": 784, "h": 1688, "seed": 81002, "subject": "竖构图夜市街道开市夜景,深蓝夜幕下整条街的暖黄灯串亮起,摊位霓虹光带层叠闪耀,蒸笼白汽从各个摊口升腾,三两食客坐在塑料凳上吃喝,街道纵深灯火连绵" }, + { "id": "nm-scene-peak-01", "game": "nightmarket", "type": "bleed", "w": 784, "h": 1688, "seed": 81003, "subject": "竖构图夜市街道深夜高峰时分,人潮涌动摩肩接踵,每个摊位都排着队,灯串霓虹与炉火全开亮成一片暖光海,热气蒸汽弥漫升腾,人声鼎沸的热闹顶点" }, + { "id": "nm-scene-rain-01", "game": "nightmarket", "type": "bleed", "w": 784, "h": 1688, "seed": 81004, "subject": "竖构图夜市街道的雨夜,细雨斜织,湿漉漉的地面倒映着暖黄灯串与霓虹光带,摊棚和雨伞下食客围坐,蒸汽混着雨雾氤氲,静谧而温暖的雨夜市井" }, + { "id": "nm-owner-01", "game": "nightmarket", "type": "bleed", "w": 1024, "h": 1280, "seed": 81005, "subject": "近景特写:夜市摊主大叔在一盏暖黄摊灯正下方双手揭开竹蒸笼盖,浓白蒸汽扑面升腾而起,摊台上一口咕嘟冒着热气的招牌大锅,深蓝夜色作远景,摊主系着围裙肩搭毛巾,笑容憨厚温暖" }, + { "id": "nm-cust-01", "game": "nightmarket", "type": "sprite", "w": 1024, "h": 1024, "seed": 81011, "subject": "顾客图元·下班的年轻上班族女青年,单肩挎包,手里捏着一串竹签小吃,踮脚张望的期待神情,全身站姿" }, + { "id": "nm-cust-02", "game": "nightmarket", "type": "sprite", "w": 1024, "h": 1024, "seed": 81012, "subject": "顾客图元·遛弯的老街坊大爷,白背心蒲扇,手里提着塑料袋,悠闲踱步的惬意神情,全身站姿" }, + { "id": "nm-cust-03", "game": "nightmarket", "type": "sprite", "w": 1024, "h": 1024, "seed": 81013, "subject": "顾客图元·背书包穿校服的学生,身体微微前倾探头张望,馋嘴期待的神情,全身站姿" }, + { "id": "nm-dish-01", "game": "nightmarket", "type": "sprite", "w": 1024, "h": 1024, "seed": 81021, "subject": "菜品图元·一屉打开盖的竹蒸笼,里面整齐码着白胖的小笼包,面皮褶皱细腻,竹篾纹理温润" }, + { "id": "nm-dish-02", "game": "nightmarket", "type": "sprite", "w": 1024, "h": 1024, "seed": 81022, "subject": "菜品图元·三串炭烤肉串架在小铁盘上,烤得油亮焦香,撒着辣椒面与白芝麻" }, + { "id": "nm-dish-03", "game": "nightmarket", "type": "sprite", "w": 1024, "h": 1024, "seed": 81023, "subject": "菜品图元·一只青花瓷碗盛着红汤牛肉面,面条筋道,卧着牛肉片与一撮青菜,一双筷子架在碗沿" }, + { "id": "nm-ui-01", "game": "nightmarket", "type": "bleed", "w": 1024, "h": 1024, "seed": 81031, "subject": "游戏界面主题一角:木质摊招风格的界面面板与两枚圆角按钮,暖黄灯串缠绕面板边框,霓虹光带描边点缀,深蓝夜幕底纹,厚涂质感的界面组件套件,面板与按钮上全部留空白,不出现任何文字符号" } + ] +} diff --git a/docs-design/夜市风格版-批次二/拼板图-夜市暖夜霓虹12帧.png b/docs-design/夜市风格版-批次二/拼板图-夜市暖夜霓虹12帧.png new file mode 100644 index 00000000..2f2637c9 Binary files /dev/null and b/docs-design/夜市风格版-批次二/拼板图-夜市暖夜霓虹12帧.png differ diff --git a/docs-design/夜市风格版-批次二/良率与成本-批次二.md b/docs-design/夜市风格版-批次二/良率与成本-批次二.md new file mode 100644 index 00000000..89a121e1 --- /dev/null +++ b/docs-design/夜市风格版-批次二/良率与成本-批次二.md @@ -0,0 +1,45 @@ +# 良率与成本 · 批次二一页数(2026-07-07,数字全部由 manifest.jsonl 汇总) + +## 交付面 + +| 项 | 数 | +|---|---| +| 定稿样张 | **12/12**(镜头单全覆盖:场景日/夜/高峰/雨 4 + 摊主揭蒸笼首屏锚 1 + 顾客 3 + 菜品 3 + UI 一角 1) | +| 其中达锚收编 | **11**;另 1 张(nm-cust-03 学生)= **对照证据**,族不齐、不入锁锚基线(详见 README 发现 4) | +| 拼板图 | 1 张(12 帧,4 列) | +| 淘汰留证 | rejects/ 8 张,逐张原因在 manifest(kind=reject) | +| 锚包 | v1 + 工艺修订 r1/r2/r3(修订依据全在 anchor-pack.json note 字段) | + +## 良率(候选 A 已知风险=生图一致性要求最高,如实记账) + +| 口径 | 数 | 批次一对照 | +|---|---|---| +| 首过率(首次成图即收编) | **8/12 = 67%** | 81% | +| 质量重摇镜头 | 4 个(夜景 ×4 摇 / 白领顾客 ×3 / 日景 ×2 / 学生 ×3 止损) | 8 个 | +| 重摇后填满率 | 12/12(学生第 3 摇以对照证据收口,非达锚) | 42/42 | +| 总物料效率(达锚定稿/质量摇次) | 11/20 = **55%**(含对照 12/20 = 60%) | 74% | +| 升档 B 判据(连续两批首过 <40%) | 未触发(67%) | 远未触及 | +| **词面不可破项** | **2 项**:招牌乱字(4 摇 3 seed 全试尽)、少年类漂卡通(3 摇 3 败)——B 档(多参考图+更强指令遵循)对症升级的实证点 | 1 项(跨帧身份漂移) | + +首过率与物料效率低于批次一,方向符合夜市书 §5 对候选 A 的预判(「生图一致性要求最高,风格词纪律与人在环筛选成本大」);本批把一致性成本从"预判"变成了可比数字。 + +## 成本 + +| 口径 | 数 | +|---|---| +| 外呼总数 | 21 次(成 20 / 瞬时超时重试 1〔ui-01 首呼 150s timeout,重试即成,非质量摇〕) | +| 官方口径($0.0035/张) | $0.074 ≈ **¥0.53** | +| 仓内实测口径(¥0.033/件) | ≈ ¥0.69 | +| 单张达锚定稿摊薄 | ≈ ¥0.05–0.06 | +| 预算位 | 上限 ¥100(工单口径),用 **<1%** | + +## 淘汰 8 张的原因分布 + +构图级乱字 3(夜景 r0/r1/r2:大字招牌 AI 乱字+右下水印行,4 摇后判定系统性伴生物,第 4 摇氛围最佳者收编并标注)· sprite 净底失效 2(白领顾客 r0/r1:根因=场景语义词在 shared,r2 下沉后修中)· 命题失败 1(日景 r0 出成夜景:bleed 组夜幕词压死白天主体,r3 增 bleedDay 组修中)· 风格破族 2(学生 r0 日漫 Q 版 / r1 3D 渲染卡通;第 3 摇仍卡通但技法最近,收编作对照)。 + +收编 11 张中的角落级已知项(未淘汰、批产产线可清):夜景/高峰/日景中景招牌乱字(系统项)、雨夜左上水印行(平坦夜空区)、摊主底部小乱字行+围裙乱字、小笼包右下签名式乱涂、图元背景零星斑点(色键+连通域除杂同批次一先例)。 + +## 眼验入口(创始人) + +打开 `拼板图-夜市暖夜霓虹12帧.png` 逐张看,结论三选一:**锁锚开批产 / 调锚重产(≤2 轮)/ 升档 B 通道重产**。 +建议重点看:①四张场景的"暖夜蓝金"族感与厚涂质感是否达顶级线预期(日景自然偏亮,靠技法词承族);②摊主揭蒸笼这帧作首屏视觉锚够不够"想截图";③**乱字容忍度**——夜/高峰/雨的招牌乱字与角落水印行,三条批产解法(产线除字工序/升档 B/设计面接受远景乱字作纹理)选哪条,与三选一结论一并给;④cust-03 学生 = 族不齐对照证据(勿当基线看),少年类批产需专项攻关或升档 B。