docs: 八敌立绘逐键定档 + 方案二排版批(美术线自立批讨论稿定稿,纯文档 + 管线脚本常量)
源委=P0 收口讨论批(2026-10-06,用户令「讨论期只改文档」)——派生自 3549 次 可读性实测(24 糊/32 可读/48 清楚/64 细节完整)与用户三体型约束(钩爪恐魔>灰矮人、 灰矮人<熊地精、食人魔酋长>熊地精)+ 定档总图用户确认。 ① 八敌站桩源档由「全敌共用 48」改逐键定档(tools/pixelize_candidates.py 新增 STANDEE_TIER_H:地精36/巨蜘蛛38/灰矮人46/钩爪恐魔58/熊地精62/食人魔酋长74/ 蛛化卓尔90/灰矮人石君王94;主角 48 不变,显示一律 ×2 整数 NEAREST=72–188)。 旧 f_enemy=48/max_h 系数退役(它把普通怪压到 21–24px、全员低于可读门槛); SIZES 明确降级为「中间分辨率表」(决定中间图多细,不决定最终体量),并纠注 ogre_chief=192 系分辨率选择非 Boss 档归属。派生管线 = pixel-1 紧裁 → 等比缩 至各自档高 → dom_block_resize 块内众数降采样(禁走 recon / 重跑 remove_bg)。 ② 排版改方案二:B 区 252→270(≈1/3 屏)/ C·D 548→530,扫雷盘 438×438 原尺寸 不缩、格子不变(压缩由面板空档吸收);站桩内部重排=立绘双脚落石台上缘、血条 +状态/名字行落底排全场一线;大体档(drider/duergar_king)头部探出盒顶压进光 柱区,血条仍落底、意图徽标压胸;「血条悬浮头顶 + 盒内居中」排式退役。 ③ 体量语义修订(character-design §5.2):强度先验 → 生物体型,小块精英与大体普 通怪并存;§5.1 新增主角描边例外(深褐 40,19,13,浅砖面对比更高);§5.5 登记 钩爪恐魔「宽≥高」豁免(58 高窄条长臂束状剪影,待样张批复验)。 ④ 定值单点纪律(art-bible §8 头注):数字定值只落 §4.1 主色板 + §8.2,其余章指 路禁复述;§4.1 新增色板 48 色上限 + 新色须与既有任一色 RGB 三通道差 ≥8。 ⑤ §8.3 归档纪律(图片不入 git / 过程稿归档+对象存储 / 主文档禁引 artwork 散路径) + 三检查器挂点(色板检查器 / 路径核对器 / standee_asset_check 硬闸升级规格)。 ⑥ 方向:=ission:24 rectifikace 地形色值对齐 §4.1(岩石 #8B755B→#C9AF83、地面 #564232→#B39A78,两处提示词同步);生图渠道改为「远程对话式正主 + 本地 ComfyUI 备选」;地形瓦片改拼表制正主(三步法),分张降为回退路径。 ⑦ 对账更正:asset-path-map 废路径 production/mockups → artwork/mockups; art-status-checklist 格子样张 ⬜→✅、受击反馈/弹道 ⬜→◐(共 ✅4/◐8/⬜3)。 ⑧ 06 新登记四条:站桩帧动画(Alpha 定版闸前)/ 主角描边素材侧复核 / 3349 草稿 dry-run 整理 / 口号型条款机检化(三档标注格式已拍板)。 纯文档 + 1 个 Python 常量表改动,未出图未动引擎代码;重产与实装归后续任务书批。 doc 三闸/冒烟未跑(讨论批:非 loop 批且用户未点名,两入口铁规)。
This commit is contained in:
1 parent
a2b7c215ae
commit
0aa85ddb87
9 files changed
+131
-48
No files matched your search
+18
-4
@@ -1,11 +1,12 @@
|
|||||||
# 美术圣经(Art Bible)— Dungeon Sweeper
|
# 美术圣经(Art Bible)— Dungeon Sweeper
|
||||||
|
|
||||||
> 项目:Dungeon Sweeper(扫雷 × 自动战斗 闯关 Roguelike)· 状态:**第 1–9 节定稿**(§6 环境/§7 UI/§8 资产规范/§9 参考与反参考已于 2026-09-23 v1.8 按 D1/D2/D4/D5 框架成文;D3=§5 角色已于 v1.6 落地、v1.7 抽离独立文档;框架 2026-09-22 用户拍板,原登记于中间产物修订指导,经裁决不入库,明细归台账 125);历次修订明细见文末版本历史(现行为 v3.6)
|
> 项目:Dungeon Sweeper(扫雷 × 自动战斗 闯关 Roguelike)· 状态:**第 1–9 节定稿**(§6 环境/§7 UI/§8 资产规范/§9 参考与反参考已于 2026-09-23 v1.8 按 D1/D2/D4/D5 框架成文;D3=§5 角色已于 v1.6 落地、v1.7 抽离独立文档;框架 2026-09-22 用户拍板,原登记于中间产物修订指导,经裁决不入库,明细归台账 125);历次修订明细见文末版本历史(现行为 v3.11)
|
||||||
>
|
>
|
||||||
> **Art Director Sign-Off (AD-ART-BIBLE)**:历次批均 SKIPPED(v1.8 §6–9 补全亦 SKIPPED)— Lean/Solo mode(非 PHASE-GATE;§6–9 已成文,full 门禁签核时机待用户表态)
|
> **Art Director Sign-Off (AD-ART-BIBLE)**:历次批均 SKIPPED(v1.8 §6–9 补全亦 SKIPPED)— Lean/Solo mode(非 PHASE-GATE;§6–9 已成文,full 门禁签核时机待用户表态)
|
||||||
> 风格基调(2026-09-10 用户定稿):地牢题材但**非暗黑风**——轻快明亮的幻想冒险风,全年龄;像素风;角色 2~3 头身
|
> 风格基调(2026-09-10 用户定稿):地牢题材但**非暗黑风**——轻快明亮的幻想冒险风,全年龄;像素风;角色 2~3 头身
|
||||||
> 参考池(用户审阅选定,三者相融):**Into the Breach**(网格信息分层;雷图棋盘呈现基准 = 其战棋地块质感 × 正俯视角,见 §3.2)× **Moonlighter**(明亮像素地牢质感)× **Peglin**(明快全年龄地牢色彩);参考截图存于 `design/art/references/`(三款×2 张,与点名池一一对应;gungeon 两张经 2026-09-22 裁决退场;正面取/弃与反面条款已成文 §9,反面图证待素材生成后另批增补)
|
> 参考池(用户审阅选定,三者相融):**Into the Breach**(网格信息分层;雷图棋盘呈现基准 = 其战棋地块质感 × 正俯视角,见 §3.2)× **Moonlighter**(明亮像素地牢质感)× **Peglin**(明快全年龄地牢色彩);参考截图存于 `design/art/references/`(三款×2 张,与点名池一一对应;gungeon 两张经 2026-09-22 裁决退场;正面取/弃与反面条款已成文 §9,反面图证待素材生成后另批增补)
|
||||||
> 约束(2026-09-10 用户强调):本圣经是**纯表现层文档**——明亮轻快是美术风格,不是玩法成分。圣经不得引入、暗示或预设任何玩法语义,不改变任何 GDD 已锁机制;凡表现层需要玩法钩子才能表达之处(如完美排雷检测、Boss 预警),一律标注「待 GDD 定夺」,圣经只规定"若有,则如何呈现"。GDD 机制与圣经冲突时,机制语义以 GDD 为准,呈现方案以本圣经为准
|
> 约束(2026-09-10 用户强调):本圣经是**纯表现层文档**——明亮轻快是美术风格,不是玩法成分。圣经不得引入、暗示或预设任何玩法语义,不改变任何 GDD 已锁机制;凡表现层需要玩法钩子才能表达之处(如完美排雷检测、Boss 预警),一律标注「待 GDD 定夺」,圣经只规定"若有,则如何呈现"。GDD 机制与圣经冲突时,机制语义以 GDD 为准,呈现方案以本圣经为准
|
||||||
|
> **条款验收标注纪律(2026-10-06 P2-4 用户拍板,全文书写规范)**:条款尾部按三档标注验收方式——**`←机检: <断言>`**(脚本可自动判定)/ **`←目检: <判据>`**(机器测不了,但看什么、算过有明确判据)/ **`←方向性`**(气质与方向原则,不承担验收);**新条款一律按此书写**,存量口号型条款分章补标(约 55%,06 挂账「口号型条款机检化批」分章推进、每章交付抽验);数值类条款推荐「**待定现用**」态(现行即执法、修订走登记,释义见 §4.1)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -200,6 +201,8 @@
|
|||||||
|
|
||||||
**对比硬指标(可测;2026-09-29 v3.0 改写)**:数字可读性由**格底明度分档**承载——棋盘数字亮墨 **L≥0.55**(候选)对**已开格底 L 0.20–0.32**(候选)⇒ 直画对比 **≥4.5:1 恒成立**(WCAG AA,样张 v3 逐组合抽测冻结);**色牌后备**:色牌素色恒定 **L≥0.70**、牌上数字深墨 **L≤0.027** ⇒ 任意牌墨组合 ≥4.5:1(实测样例:#33261B/#F5EAD3 = 12.3:1)。未开格底槽(含全部图类型)相对亮度 **L≥0.30**(墙顶面受光档)、HSV 饱和 **≤0.55**、避 Boss 禁入色相带;已开格底走世界底层档(上见)。物件识别不依赖格底(§5.1 轮廓通道),旗面、金色不作识别依赖。←原二;地形变异 AC-9
|
**对比硬指标(可测;2026-09-29 v3.0 改写)**:数字可读性由**格底明度分档**承载——棋盘数字亮墨 **L≥0.55**(候选)对**已开格底 L 0.20–0.32**(候选)⇒ 直画对比 **≥4.5:1 恒成立**(WCAG AA,样张 v3 逐组合抽测冻结);**色牌后备**:色牌素色恒定 **L≥0.70**、牌上数字深墨 **L≤0.027** ⇒ 任意牌墨组合 ≥4.5:1(实测样例:#33261B/#F5EAD3 = 12.3:1)。未开格底槽(含全部图类型)相对亮度 **L≥0.30**(墙顶面受光档)、HSV 饱和 **≤0.55**、避 Boss 禁入色相带;已开格底走世界底层档(上见)。物件识别不依赖格底(§5.1 轮廓通道),旗面、金色不作识别依赖。←原二;地形变异 AC-9
|
||||||
|
|
||||||
|
**色板增量纪律(2026-10-06 P2 对账批新增;数值状态 = **待定现用**)**:全作色板硬上限 **48 色**(现行 ≈42,余量 6——审计"色板逼近失控线"的封口条款);新色入板须同时过两道门:①§4.2 语义检查(不占语义色段/禁入带);②**与既有任一色的 RGB 三通道差 ≥8/255**——反例即审计实证:#3A2E22 ↔ #362B20 三通道差均 <5,肉眼不可辨,同板共存只增噪。不过门即触发「换色合并」(把意图色并进最近既有色),**禁加色绕行**;加色义务随批登记于本表修订。**「待定现用」态释义(2026-10-06 用户立第三态)**:数值**现行即执法**(色板检查器按此拦,§8.3)——非候选(不存在"等冻结"空窗)、非死规(后续需求引入时可变);调整走本节修订并登记,改值 = 修订不是违约。
|
||||||
|
|
||||||
### 4.2 语义色彩规则
|
### 4.2 语义色彩规则
|
||||||
|
|
||||||
> **适用域(2026-09-29 v3.0 立)**:本节「X 只说 Y」约束**信息层**(格内信息/UI 数据/预告/语义标识)与**语义物件**(金币=收益金、血条=危险红等);**纯环境氛围**(背景/装饰变体/远景/非语义物件)不受色相独占约束,改受 §3.4 焦点预算与低饱和后退约束(不抢读即可用色)。禁入带 300°–345°:信息层与语义物件禁入不变;环境层可入但限低饱和(高饱和紫赤仍 Boss 独占,§2.6)。
|
> **适用域(2026-09-29 v3.0 立)**:本节「X 只说 Y」约束**信息层**(格内信息/UI 数据/预告/语义标识)与**语义物件**(金币=收益金、血条=危险红等);**纯环境氛围**(背景/装饰变体/远景/非语义物件)不受色相独占约束,改受 §3.4 焦点预算与低饱和后退约束(不抢读即可用色)。禁入带 300°–345°:信息层与语义物件禁入不变;环境层可入但限低饱和(高饱和紫赤仍 Boss 独占,§2.6)。
|
||||||
@@ -300,6 +303,7 @@
|
|||||||
- 库存常读条义务与兑付/库存语义见《地图战斗资源》。
|
- 库存常读条义务与兑付/库存语义见《地图战斗资源》。
|
||||||
- 格面预读按**家族类型**微光呈现(§4.6.3;呈现粒度决策见《地图战斗资源》极性提案 R1)。
|
- 格面预读按**家族类型**微光呈现(§4.6.3;呈现粒度决策见《地图战斗资源》极性提案 R1)。
|
||||||
- **2026-09-22 勘误**:修订指导底稿曾记 gp 组键名为 gp_gain/gp_loss,以 `reward.tres` 实际键 **gp_coin/gp_lose** 为准(配置是事实源)。
|
- **2026-09-22 勘误**:修订指导底稿曾记 gp 组键名为 gp_gain/gp_loss,以 `reward.tres` 实际键 **gp_coin/gp_lose** 为准(配置是事实源)。
|
||||||
|
- **资产契约(2026-10-06 P1-2 批——审计「19 枚格面徽章 0 张」缺口收口;状态图标 §4.6.1 模式复刻「键→文件名→尺寸」;尺寸候选,样张批冻结)**:19 枚 = `ui/icons/reward_<reward_id>.png`(键 = 本表 reward_id,正向/负向/清图槽同模式),源 40×40、显示 20px(格面小记号级)/40px(明细面)双档候选;极性视觉按本表「极性视觉」列(金族满框/红族缺框 = 形状+色彩双通道纪律)。**契约立前此族 0 张为已知缺口**(审计 P1-2),程序化占位在役;出图工单归 art-assets-checklist/PRD,交付后 art-status-checklist 随批 ✅。
|
||||||
|
|
||||||
#### 4.6.3 格面类型图标键(九类——地图战斗资源现行实态;键契约冻结,终稿归样张批)
|
#### 4.6.3 格面类型图标键(九类——地图战斗资源现行实态;键契约冻结,终稿归样张批)
|
||||||
|
|
||||||
@@ -318,6 +322,7 @@
|
|||||||
- **呈现约束(2026-09-28 角嵌退役批更新)**:未开格呈现**类型微光单通道**(五组色带,§4.2「类型微光色带」,色相+明度双码;样张 v2 定稿 2026-09-28;可见范围与时机见《HUD框架》「未开格类型微光」节);不呈现极性、不呈现雷/安(信息口径见该正主节);样张批微光组间互辨抽测含明度档互辨(误读率指标出处见《地图战斗资源》极性提案)。
|
- **呈现约束(2026-09-28 角嵌退役批更新)**:未开格呈现**类型微光单通道**(五组色带,§4.2「类型微光色带」,色相+明度双码;样张 v2 定稿 2026-09-28;可见范围与时机见《HUD框架》「未开格类型微光」节);不呈现极性、不呈现雷/安(信息口径见该正主节);样张批微光组间互辨抽测含明度档互辨(误读率指标出处见《地图战斗资源》极性提案)。
|
||||||
- **状态声明**:键集九值封闭(attack/defense/heal/blast/weaken/pierce/magic/action/gp,与 RewardTable 现行 cell_type 词表一致),扩键走本节修订。
|
- **状态声明**:键集九值封闭(attack/defense/heal/blast/weaken/pierce/magic/action/gp,与 RewardTable 现行 cell_type 词表一致),扩键走本节修订。
|
||||||
- 与 §4.6.1 的关系:同语义域的键(attack↔attack_up 等)可共族设计,键分立、纹样须可区分(格面小记号级对槽内图标级)。
|
- 与 §4.6.1 的关系:同语义域的键(attack↔attack_up 等)可共族设计,键分立、纹样须可区分(格面小记号级对槽内图标级)。
|
||||||
|
- **资产契约(2026-10-06 P1-2 批——审计「6 类地形变异纹带 0 张」缺口收口;尺寸候选,样张批冻结)**:纹带族 = `board/band_<variant_id>.png`(键 = 变异类型 id,键集事实源 = [地形变异](../gdd/systems/排雷循环/地形变异.md)「变异框架与类型清单」region 六行〔荆棘丛/藤蔓缠绕/岩浆/烬覆/落石/矿尘〕+ registry `variant_pool_gate`;通配 global 型〔贫矿脉〕无格子布置域、**不在纹带族**),源 64×64 四边无缝(叠于已开格底)、显示 1× = 格边长。呈现锚 = 「变异格未开时无预告呈现(遭遇式)」——纹带是**已开变异格**的标识层(地形变异 GDD「视觉标识归表现层升级批」的素材承载),半透明叠加、不得侵入数字字形占位区(§4.1 砖心留白同理)。程序化纹带在役 = 占位(◐);出图工单归 PRD,交付后 art-status-checklist 随批 ✅。
|
||||||
|
|
||||||
#### 4.6.4 敌种线索键(映射键 = enemy_id;键集事实源归敌人系统 GDD 与 registry/enemy 表,2026-09-22 核)
|
#### 4.6.4 敌种线索键(映射键 = enemy_id;键集事实源归敌人系统 GDD 与 registry/enemy 表,2026-09-22 核)
|
||||||
|
|
||||||
@@ -353,7 +358,7 @@
|
|||||||
- **舞台正面目标(2026-09-29 v3.0 新增——原条只有负面约束,病根 6)**:B 区 = **地窟看台**——立绘脚下地台/落影承载(世界中层),背景环境层低饱和后退、明度走世界底层档,允许光源氛围(洞顶光柱/暖光晕候选);角色不得直接贴平色底。规格与终值归整屏样张闸(§1.4)冻结。
|
- **舞台正面目标(2026-09-29 v3.0 新增——原条只有负面约束,病根 6)**:B 区 = **地窟看台**——立绘脚下地台/落影承载(世界中层),背景环境层低饱和后退、明度走世界底层档,允许光源氛围(洞顶光柱/暖光晕候选);角色不得直接贴平色底。规格与终值归整屏样张闸(§1.4)冻结。
|
||||||
- **明度分层适用(2026-09-29 v3.0 改条)**:背景氛围的情绪表达仍不得以压暗/渐晕实现(§2 禁令);空间纵深与洞穴感走明度分层允许域——世界底层档、光照氛围、色相饱和与形体承载(§3.2 同款逻辑)。
|
- **明度分层适用(2026-09-29 v3.0 改条)**:背景氛围的情绪表达仍不得以压暗/渐晕实现(§2 禁令);空间纵深与洞穴感走明度分层允许域——世界底层档、光照氛围、色相饱和与形体承载(§3.2 同款逻辑)。
|
||||||
- **图类型联动**:背景 tint 走 §4.3 `wall_ambient` 槽,随三关换挡(方向候选见 §6.3);紫赤仅 Boss 战允许短暂进入背景氛围纹样(§2.6 色相独占的舞台侧延伸,高饱和独占不变),非 Boss 战高饱和紫赤禁入。
|
- **图类型联动**:背景 tint 走 §4.3 `wall_ambient` 槽,随三关换挡(方向候选见 §6.3);紫赤仅 Boss 战允许短暂进入背景氛围纹样(§2.6 色相独占的舞台侧延伸,高饱和独占不变),非 Boss 战高饱和紫赤禁入。
|
||||||
- **资产渠道**:✦ 插画级(演出类场景贴图,清单 §4 联动登记);战斗一屏样张(§1.4 清单 1.2)含背景出样。
|
- **资产渠道**:✦ 插画级(演出类场景贴图,清单 §4 联动登记);战斗一屏样张(§1.4 清单 1.2)含背景出样。**资产契约(2026-10-06 P1-2 批——审计「B 区舞台背景插画 0 张」缺口收口;尺寸候选,样张批冻结)**:基准一张 = `stage/stage_bg.png`(源 1280×270,B 区全高含明细带底;三关换挡走 §4.3 `wall_ambient` tint 槽,不按板出三张——换皮成本复用棋盘同款逻辑),显示 1×;呈现约束按本节各条(低对比后退/明度世界底层档/光柱氛围保留)。程序化平色+光柱在役 = 占位(◐);插画工单归 PRD,交付后 art-status-checklist 随批 ✅。
|
||||||
|
|
||||||
### 6.2 营地场景
|
### 6.2 营地场景
|
||||||
|
|
||||||
@@ -435,6 +440,8 @@
|
|||||||
|
|
||||||
> **白话**:这一章是给所有出图者(人与脚本)的技术底线——多大的画布、什么格式、怎么命名。屏级格边长定值的裁决权在 battle.md;本节锁资产侧:分辨率档位、像素基准与缩放纪律、导出与命名、帧数规格。生产工单视图 = art-assets-checklist。
|
> **白话**:这一章是给所有出图者(人与脚本)的技术底线——多大的画布、什么格式、怎么命名。屏级格边长定值的裁决权在 battle.md;本节锁资产侧:分辨率档位、像素基准与缩放纪律、导出与命名、帧数规格。生产工单视图 = art-assets-checklist。
|
||||||
|
|
||||||
|
> **定值单点纪律(2026-10-06 审计 §07-1 落规)**:全文数字定值只落在**两张表**——**§4.1 主色板**(全部色值+明度/饱和边界)与 **§8.2**(画布/体量/立绘源档/圆角率/缩放);其余章节一律**指路、禁复述数字**(修订改值只动单点处);character-design §5.5 为档位**语义**表(普通/精英/Boss + 例外),数值权威 = §8.2;存量双写复述随整备批(06 挂账)逐步收编。
|
||||||
|
|
||||||
### 8.1 分辨率档位与格边长口径
|
### 8.1 分辨率档位与格边长口径
|
||||||
|
|
||||||
- **两档定案**:1280×800(基座)+ 1920×1080,窗口不可调;后续调整走修订。
|
- **两档定案**:1280×800(基座)+ 1920×1080,窗口不可调;后续调整走修订。
|
||||||
@@ -452,11 +459,13 @@
|
|||||||
- **主角人设原图 = 48×72**(1× 基准,暂定;与站姿降采样可读性验证一致);
|
- **主角人设原图 = 48×72**(1× 基准,暂定;与站姿降采样可读性验证一致);
|
||||||
- **主角战斗状态图(含 B 区站桩侧向)= 48×72**(同上暂定;v1.9 待决注记「主角立绘档空缺」由此收口);
|
- **主角战斗状态图(含 B 区站桩侧向)= 48×72**(同上暂定;v1.9 待决注记「主角立绘档空缺」由此收口);
|
||||||
- **棋盘小人 = 32×32 二头身派生版(暂定,允许更小)**——独立资产,自人设定稿压缩派生(人物设计档 §5.4),不吞数字位、占位 ≤ 0.75× 格边长;36px 板 × 32px 源的占比摩擦(v1.9 待决注记①)沿「独立小源档」路线随格边长终值在样张批定终值;
|
- **棋盘小人 = 32×32 二头身派生版(暂定,允许更小)**——独立资产,自人设定稿压缩派生(人物设计档 §5.4),不吞数字位、占位 ≤ 0.75× 格边长;36px 板 × 32px 源的占比摩擦(v1.9 待决注记①)沿「独立小源档」路线随格边长终值在样张批定终值;
|
||||||
- **敌种站桩立绘三档 = 48/64/96px 级(候选)**——对应体量三档:普通怪(小)/精英(中)/Boss(大),体量单调递增(§5.1);终值归战斗一屏样张批。
|
- **站桩立绘源档 = 八敌逐键定档(2026-10-06 定档批,用户确认定档总图;原三档 48/64/96 候选与 v3.0 档位上调方向候选一并收口)**:主角 48 不变;八敌源档高 = goblin 36 / giant_spider 38 / duergar 46 / hook_horror 58 / bugbear 62 / ogre_chief 74 / drider 90 / duergar_king 94,显示一律 **×2 整数档(NEAREST)** = 72–188。定档依据 = 生物体型三约束(用户拍板:钩爪恐魔>灰矮人、灰矮人<熊地精、食人魔>熊地精——体量=物种体型,非强度线性映射,人物设计档 §5.2 随批修订);可读性实测门槛 = 源高 ≥32(24 糊/32 可读/48 清楚/64 细节完整),全阶梯 36–94 达标;派生管线 = pixel-1.png 紧裁 → 等比缩至档高 → dom_block_resize 块内众数降采样(tools/pixelize_candidates.py `STANDEE_TIER_H`,`SIZES` 降格为管线上游中间分辨率表);存在感问题(v3.0 病根 6)经方案二整屏对比(B 区 270/立绘显示上限 188)解决。
|
||||||
- **档位上调方向(2026-09-29 v3.0 新增候选,病根 6)**:1280×800 屏上角色存在感不足(主角占屏高约 9%,Moonlighter 约 15%)——升档方向候选:主角立绘 48×72 → **64×96 档**、敌立绘三档 48/64/96 → **64/96/128 档**评估;B 区站桩槽与舞台规范(§6.1)随动。返工面 = 主角三态 + 八敌种(fixer 像素化管线已实战,重产成本可控);**评估与终值归整屏样张闸(§1.4)**,本批只立方向、不重产资产。
|
- **站桩立绘排版 = 方案二(2026-10-06 用户拍板)**:① 区高 B 区 270(≈1/3)/C 区 530(≈2/3),**扫雷盘 438×438 原尺寸不缩、格子不变**(区高事实源 battle.md 区表;压缩由 C 区面板空档吸收);② 站桩内部重排——立绘双脚落石台上缘(弃盒内居中)、**血条+状态/名字行落底排**(立绘→血条→状态 顺序,全场血条对齐一线;血条嵌石板位、台缘线留作地面线、落影保留接地感),状态空时该行退化为名字行;③ 大体档(显示 >150px 级:drider/duergar_king)头部探出盒顶压进光柱区,血条仍落底;意图徽标悬浮头顶上方(探顶档压胸);④ 原「血条悬浮头顶+立绘盒内居中」排式退役——盒顶固定 y 与盒内居中在高盒下拉开血条-立绘空洞(2026-10-06 用户点名否决)。
|
||||||
|
|
||||||
### 8.3 导出格式与命名规范
|
### 8.3 导出格式与命名规范
|
||||||
|
|
||||||
|
- **归档纪律(2026-10-06 P0-1 用户口径落文)**:图片素材**不入 git 版本管理**——仓库只保留运行时引用资产(game/assets);生成链路原始产物(AI 原图/中间产物/候选版本)归档至 `archive/` 并择机上对象存储备份;主文档(圣经/GDD/清单)**禁引用 artwork/ 散文件路径**——定稿成图以 game/assets 为唯一事实源,过程稿引用一律用归档包路径或描述性出处。
|
||||||
|
- **入包与对账检查器(2026-10-06 P2 固化挂点——本批只立挂点,实现随 PRD 工具批)**:①**色板检查器**——扫描新素材色板,报新增色/近色告警/超 §4.1 上限(48)拦截,挂素材流入包步(asset-path-map §2 第 3 步);②**路径核对器**——扫描 asset-path-map 声明的全部路径,悬空/退役未清即报,随大批与审计例行跑(2026-10-06 三处悬空即此类失守);③**standee_asset_check 硬闸升级规格**(审计 §07-2/3)——按 §8.2 逐键定档校验体量与档高(现「宽 1–75」虚设区间退役)、像素域色数 ≤32、无非整数倍缩放痕迹、描边亮度达标(亮描边明度档,§8.2 描边层级);把 v3.6「高定宽随」教训变成代码闸而非文字。
|
||||||
- **交付格式**:PNG 透明底;动画 = 序列帧或引擎精灵表(SpriteFrames),帧尺寸恒定、横向等宽排列(候选)。
|
- **交付格式**:PNG 透明底;动画 = 序列帧或引擎精灵表(SpriteFrames),帧尺寸恒定、横向等宽排列(候选)。
|
||||||
- **命名规范(候选草案)**:`<域>_<对象键>_<状态|变体>[_<序号>].png`,全小写 snake_case;**对象键 = 数据表主键**(effect_id/reward_id/cell_type/enemy_id——图标键契约 §4.6 的文件侧延伸:资产文件名键 = 图标键,全局恒定禁运行时换图);图类型变体后缀 = board_type 键(`_dungeon`/`_underdark`/`_deep_underdark`);候选评审件与终稿分目录(`candidates/` 承载评审件)。
|
- **命名规范(候选草案)**:`<域>_<对象键>_<状态|变体>[_<序号>].png`,全小写 snake_case;**对象键 = 数据表主键**(effect_id/reward_id/cell_type/enemy_id——图标键契约 §4.6 的文件侧延伸:资产文件名键 = 图标键,全局恒定禁运行时换图);图类型变体后缀 = board_type 键(`_dungeon`/`_underdark`/`_deep_underdark`);候选评审件与终稿分目录(`candidates/` 承载评审件)。
|
||||||
|
|
||||||
@@ -504,6 +513,11 @@
|
|||||||
|
|
||||||
## 版本历史
|
## 版本历史
|
||||||
|
|
||||||
|
- **v3.11(2026-10-06)文档层三小活收尾(审计 §07 吸收对账后剩余项)**:①**§8 头注新增「定值单点纪律」**(审计 §07-1 落规——数字定值只落 §4.1 主色板 + §8.2 两张表,其余章节指路禁复述;character-design §5.5 数值指路 §8.2);②**§8.3 检查器挂点补 standee_asset_check 硬闸升级规格**(审计 §07-2/3——按 §8.2 逐键定档校验/色数 ≤32/无非整数缩放痕迹/描边亮度达标,现「宽 1–75」虚设区间退役,实现归 PRD 工具批);③连带 = art-status-checklist 状态图标行悬空路径(candidates/status-icons-2026-09-23/)按归档纪律改描述性出处;审计 §07-3 体量分区数字表建议**改判作废**(已被「生物体型+逐键定档」语义取代)。
|
||||||
|
- **v3.10(2026-10-06)两拍板落文批(P2 收尾)**:①**§4.1 色板数值改「待定现用」态**(用户立第三态,非候选非死规——现行即执法、需求引入时走修订并登记;释义随条);②**头注新增「条款验收标注纪律」**——全文条款尾部三档标注(←机检/←目检/←方向性,用户拍板「符合工作流程」),新条款按此书写,存量口号型分章补标(06 挂账批执行);③连带 = 06「口号型条款机检化批」状态补格式已拍板注记。
|
||||||
|
- **v3.9(2026-10-06)P2 清理项文档处置批(审计 04 节四项;零素材新增)**:①**§4.1 新增色板增量纪律**——硬上限 48 色(现行 ≈42)+新色双门(§4.2 语义检查 / 与既有色 RGB 三通道差 ≥8/255,反例 #3A2E22↔#362B20 差 <5),不过门走「换色合并」禁加色绕行;数值候选待样张批冻结。②asset-path-map.md 三处悬空/过时更正——candidates 目录注「按需创建非作废」、废路径 production/mockups/** 改 `artwork/mockups/**`(实存)、board/ 现役改 terrain_floor_<board_type>_<n> + flag_seal(旧 board_floor/wall 退役)。③P2-1 草稿整理批(3349 个)与 P2-4 口号型条款机检化批登记 06 待办(前者执行须 dry-run 先行)。④待决项 A/B/C 前批已全部收口,本批零遗留。
|
||||||
|
- **v3.8(2026-10-06)零定义资产族契约批(P1-2,用户拍板「写进圣经、不另立文件」)**:零素材新增,纯契约登记——①§4.6.2 奖励徽章 19 枚资产契约(`ui/icons/reward_<reward_id>.png`,源 40×40,显示 20/40 双档候选);②§4.6.3 新增地形变异纹带族资产契约(`board/band_<variant_id>.png`,键集事实源 = 地形变异 GDD region 六行,源 64×64 无缝,已开变异格标识层);③§6.1 舞台背景插画资产契约(`stage/stage_bg.png` 基准一张 1280×270,三关换挡走 wall_ambient tint 槽不出三张)。三族照抄状态图标「键→文件名→尺寸」模式(§4.6.1 全链唯一完全合规族,审计点名可复制);程序化占位在役,出图工单归 PRD;art-status-checklist 看板随交付 ✅。
|
||||||
|
- **v3.7(2026-10-06)立绘八敌定档批+方案二排版落文+归档纪律(P0 收口讨论批;工作流程铁律 = 讨论期只动文档,代码实装另批走 PRD→迭代)**:①**§8.2 画布基准——站桩立绘源档八敌逐键定档**(goblin 36/giant_spider 38/duergar 46/hook_horror 58/bugbear 62/ogre_chief 74/drider 90/duergar_king 94,×2 整数显示;原三档 48/64/96 候选与 v3.0 档位上调方向候选一并收口;依据 = 用户三体型约束+定档总图确认;可读性门槛源高 ≥32 实测;派生管线 = pixel-1→紧裁→dom_block_resize);②**§8.2 缩放纪律——站桩立绘排版 = 方案二**(B 区 270 ≈1/3/C 区 530 ≈2/3/扫雷盘 438 不缩;立绘底锚落台+血条状态落底排全场对齐+大体档探顶;原「血条悬浮头顶」退役——高盒空洞用户点名否决);③**§8.3 归档纪律**(P0-1 用户口径:图片不入 git/归档+对象存储/主文档禁引用 artwork 散路径);④连带 = character-design.md §5.2 体量语义修订(强度先验→生物体型)+§5.5 源档注记+钩爪恐魔宽≥高豁免登记、battle.md 区表/组件/线框/空态/修订记录随批。
|
||||||
- **v3.6(2026-10-04)站桩槽「高定宽随」条款落规(UI 重设计原型审计教训)**:§8.2 缩放纪律新增**站桩立绘槽位=高定宽随**条——槽位只定高度的整数倍档、宽度随源图宽高比自适应,禁统一方框强拉(纵横倍率恒等;实例=原型 88×92 方框把 23×48 地精横拉 3.83×/纵拉 1.92×、26×48 熊地精 3.38×/1.92× 压扁,46×48 主角近方恰等比独活;三层成因=窄条源图/方框一刀切/非整数倍 pixelated 发花);**乙类非整数豁免口径收窄注记=只覆盖等比缩放,不含纵横异倍变形**。同批原型侧修复=站槽 height:96 width:auto(48px 源 2×)+开始屏背景怪/大立绘/庆祝像/旗/图标显示尺寸整数倍对齐。文档核查=battle.md/HUD框架 均无强制方框条文(缺口是规则本身缺位,本批补)
|
- **v3.6(2026-10-04)站桩槽「高定宽随」条款落规(UI 重设计原型审计教训)**:§8.2 缩放纪律新增**站桩立绘槽位=高定宽随**条——槽位只定高度的整数倍档、宽度随源图宽高比自适应,禁统一方框强拉(纵横倍率恒等;实例=原型 88×92 方框把 23×48 地精横拉 3.83×/纵拉 1.92×、26×48 熊地精 3.38×/1.92× 压扁,46×48 主角近方恰等比独活;三层成因=窄条源图/方框一刀切/非整数倍 pixelated 发花);**乙类非整数豁免口径收窄注记=只覆盖等比缩放,不含纵横异倍变形**。同批原型侧修复=站槽 height:96 width:auto(48px 源 2×)+开始屏背景怪/大立绘/庆祝像/旗/图标显示尺寸整数倍对齐。文档核查=battle.md/HUD框架 均无强制方框条文(缺口是规则本身缺位,本批补)
|
||||||
- **v3.5(2026-10-03)视野迷雾黑暗区域渲染规格批(迭代 11 第④批实施批 T1;上位裁决=《HUD框架》「视野迷雾」节 v0.13,正主已定论照抄)**:新增 §6.5——菱形灯光区=曼哈顿距离 ≤LIGHT_RADIUS(基准 8,表值/常量参数化;两圈分立注=类型微光仍贴身 8 邻格不随灯光区扩;提灯 +2 插值位预留不接效果);区外未开格全黑不渲染(照抄正主「全黑不渲染」,非高遮蔽档,三档信息阶梯理由在节内);区外已开格暗淡记忆态(记忆板 #3A3A3A/记忆墨 #C4C4C4 provisional,数字 ≥4.5:1,三通道可辨判据在案,色牌格退牌归板,旗印记随未开格全黑隐没);过渡边=硬边逐格二值(禁渐变晕边);结算期去饱和叠加互斥口径(记忆态为终态档);§2 光照氛围允许域自查注记在节内;§6 开篇枚举行补「棋盘视野迷雾遮蔽」一词。纯呈现层零素材新增(程序化遮罩/调制),微光语义零改动,明度值 provisional(样张/实机自检锚,代拍板白名单内)
|
- **v3.5(2026-10-03)视野迷雾黑暗区域渲染规格批(迭代 11 第④批实施批 T1;上位裁决=《HUD框架》「视野迷雾」节 v0.13,正主已定论照抄)**:新增 §6.5——菱形灯光区=曼哈顿距离 ≤LIGHT_RADIUS(基准 8,表值/常量参数化;两圈分立注=类型微光仍贴身 8 邻格不随灯光区扩;提灯 +2 插值位预留不接效果);区外未开格全黑不渲染(照抄正主「全黑不渲染」,非高遮蔽档,三档信息阶梯理由在节内);区外已开格暗淡记忆态(记忆板 #3A3A3A/记忆墨 #C4C4C4 provisional,数字 ≥4.5:1,三通道可辨判据在案,色牌格退牌归板,旗印记随未开格全黑隐没);过渡边=硬边逐格二值(禁渐变晕边);结算期去饱和叠加互斥口径(记忆态为终态档);§2 光照氛围允许域自查注记在节内;§6 开篇枚举行补「棋盘视野迷雾遮蔽」一词。纯呈现层零素材新增(程序化遮罩/调制),微光语义零改动,明度值 provisional(样张/实机自检锚,代拍板白名单内)
|
||||||
- **v3.4(2026-10-01)数字呈现三态修订(甲案深墨族方案渲染帧取证证伪后改版)**:v3.3 的「L2/L3 切深墨族直画」经 board_shot_probe 渲染帧取证证伪——underdark 系地板双峰纹理(近黑斑 p10 0.011+近白筋 p90 0.40+)上深墨直画融黑斑隐形(用户实机复测「还是看不清」实证),任何墨族直画不可救;改**三态**:dungeon 亮族直画(门 p90≥4.5/均值≥2.5)/中暗板深墨直画(门 p90≥4.5/均值≥3.0)/双峰板**色牌垫底**(素牌+深墨 12:1,v2 色牌形制复役);机检三关呈现模式断言 19/19;目视验证面=board_shot_probe 渲染帧取证入流程(机检≠看得清)。§1.4 样张闸第四验收项判读随三态口径件注记。
|
- **v3.4(2026-10-01)数字呈现三态修订(甲案深墨族方案渲染帧取证证伪后改版)**:v3.3 的「L2/L3 切深墨族直画」经 board_shot_probe 渲染帧取证证伪——underdark 系地板双峰纹理(近黑斑 p10 0.011+近白筋 p90 0.40+)上深墨直画融黑斑隐形(用户实机复测「还是看不清」实证),任何墨族直画不可救;改**三态**:dungeon 亮族直画(门 p90≥4.5/均值≥2.5)/中暗板深墨直画(门 p90≥4.5/均值≥3.0)/双峰板**色牌垫底**(素牌+深墨 12:1,v2 色牌形制复役);机检三关呈现模式断言 19/19;目视验证面=board_shot_probe 渲染帧取证入流程(机检≠看得清)。§1.4 样张闸第四验收项判读随三态口径件注记。
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
> **性质**:纯看板——每条素材只记三件事:**素材名 × 是否完成 × 需求文档指针**。要什么、怎么做、验收标准一概不记:需求规格归 [art-assets-checklist.md](art-assets-checklist.md),风格/规范定义处归各 owner 文档(第三列)。
|
> **性质**:纯看板——每条素材只记三件事:**素材名 × 是否完成 × 需求文档指针**。要什么、怎么做、验收标准一概不记:需求规格归 [art-assets-checklist.md](art-assets-checklist.md),风格/规范定义处归各 owner 文档(第三列)。
|
||||||
> **更新纪律**:随批只改「状态」列;做完不删行,改 ✅。条目编号与 art-assets-checklist.md 的 P0–P3 一一对应。
|
> **更新纪律**:随批只改「状态」列;做完不删行,改 ✅。条目编号与 art-assets-checklist.md 的 P0–P3 一一对应。
|
||||||
> **建档**:2026-09-24,状态列为当日快照。
|
> **建档**:2026-09-24,状态列为当日快照。**2026-10-06 P1-3 对账批**:按实机在役状态与圣经 v3.7 冻结记录全量复核更新(审计发现看板反超条目已对齐;对账后 = ✅ 4 / ◐ 8 / ⬜ 3,共 15 条)。
|
||||||
|
|
||||||
**状态图例**:⬜ 未开始 | ◐ 占位在役(程序化占位,够试玩不达标) | ◑ 候选已出待审 | ✅ 已交付
|
**状态图例**:⬜ 未开始 | ◐ 占位在役(程序化占位,够试玩不达标) | ◑ 候选已出待审 | ✅ 已交付
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
| 素材 | 状态 | 需求文档 |
|
| 素材 | 状态 | 需求文档 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 格子样张 | ⬜ | [art-bible](art-bible.md) §1.4 |
|
| 格子样张 | ✅ 样张 v3 冻结(2026-09-30 机检 17/17 全绿,art-bible §1.4 v3.2 记录;v2/v3 两次冻结通过;产物 `artwork/mockups/sample-batch-v3-final-2026-09-30.png`) | [art-bible](art-bible.md) §1.4 |
|
||||||
| 战斗一屏样张 | ⬜ | [战斗表现](../gdd/systems/战斗循环/战斗表现.md)(一屏样张验收标准)+ [art-bible](art-bible.md) §5.1 |
|
| 战斗一屏样张 | ⬜ | [战斗表现](../gdd/systems/战斗循环/战斗表现.md)(一屏样张验收标准)+ [art-bible](art-bible.md) §5.1 |
|
||||||
|
|
||||||
## P1 角色级(样张通过后开工)
|
## P1 角色级(样张通过后开工)
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
| 素材 | 状态 | 需求文档 |
|
| 素材 | 状态 | 需求文档 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 主角战斗小人(待机/攻击/受击三态) | ✅ B区站桩三态全接(2026-09-29 迭代 6 T3:normal/attack/hit 48px 档入包+挂事件切换+结算回 idle,短驻自回;棋盘 1.5×/脚锚25%/椭圆影在役不变;hit 态源=new-hit.pxo 已程序导出) | [character-design](character-design.md) + [comfyui-prompts](comfyui-prompts.md) §2 |
|
| 主角战斗小人(待机/攻击/受击三态) | ✅ B区站桩三态全接(2026-09-29 迭代 6 T3:normal/attack/hit 48px 档入包+挂事件切换+结算回 idle,短驻自回;棋盘 1.5×/脚锚25%/椭圆影在役不变;hit 态源=new-hit.pxo 已程序导出) | [character-design](character-design.md) + [comfyui-prompts](comfyui-prompts.md) §2 |
|
||||||
| 八敌种形象(L2 熊地精=bugbear 复用,不单列) | ✅ B区站桩八敌真图服役(2026-09-29 迭代 6 T1/T2:pixel-1 源→48px 档统一比例/底中锚/众数投票降采样,character_enemy_<键>.png 按常量入位,字形回退退役为缺位兜底;素材不入 git 本地在盘) | [art-bible](art-bible.md) §5 + [comfyui-prompts](comfyui-prompts.md) §3 |
|
| 八敌种形象(L2 熊地精=bugbear 复用,不单列) | ✅ B区站桩八敌真图服役(2026-09-29 迭代 6 T1/T2:pixel-1 源→48px 档统一比例/底中锚/众数投票降采样,character_enemy_<键>.png 按常量入位,字形回退退役为缺位兜底;素材不入 git 本地在盘)。**2026-10-06 v3.7 定档批注记**:八敌源档已定(36–94,art-bible §8.2),旧统一 48 档在役过渡,新档重产落位归 PRD(tools/pixelize_candidates.py `STANDEE_TIER_H` 已改,产出与定档总图一致) | [art-bible](art-bible.md) §5 + [comfyui-prompts](comfyui-prompts.md) §3 |
|
||||||
| 意图准备动画三档 | ◐ | [art-bible](art-bible.md) §4.6.4 |
|
| 意图准备动画三档 | ◐ | [art-bible](art-bible.md) §4.6.4 |
|
||||||
|
|
||||||
## P2 图标与格面(可与样张并行)
|
## P2 图标与格面(可与样张并行)
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
| 格面资源徽章 19 枚 | ◐ | [art-bible](art-bible.md) §4.6 |
|
| 格面资源徽章 19 枚 | ◐ | [art-bible](art-bible.md) §4.6 |
|
||||||
| 关卡节点图图标组 | ◐ | [art-assets-checklist](art-assets-checklist.md) §3.2(正式 UI 设计未成文) |
|
| 关卡节点图图标组 | ◐ | [art-assets-checklist](art-assets-checklist.md) §3.2(正式 UI 设计未成文) |
|
||||||
| 雷/旗/数字砖面全套 | ◐ | [art-bible](art-bible.md) §1.4/§3.2(前置:格子样张) |
|
| 雷/旗/数字砖面全套 | ◐ | [art-bible](art-bible.md) §1.4/§3.2(前置:格子样张) |
|
||||||
| 增益状态效果图标 9 枚 | ✅ 已接入(2026-09-24 台账 156) | [art-bible](art-bible.md) §4.6.1(候选:`candidates/status-icons-2026-09-23/`) |
|
| 增益状态效果图标 9 枚 | ✅ 已接入(2026-09-24 台账 156) | [art-bible](art-bible.md) §4.6.1(候选原稿:状态图标批 2026-09-23 远程出图,归 candidates 档——路径描述性引用,归档纪律见 art-bible §8.3) |
|
||||||
| 营地与元进度件 | ◐ | [art-bible](art-bible.md) §4.4 |
|
| 营地与元进度件 | ◐ | [art-bible](art-bible.md) §4.4 |
|
||||||
| 字体(数字像素字 + 中文像素字) | ◐ | [art-bible](art-bible.md) §4.4 |
|
| 字体(数字像素字 + 中文像素字) | ◐ | [art-bible](art-bible.md) §4.4 |
|
||||||
|
|
||||||
@@ -36,10 +36,10 @@
|
|||||||
|
|
||||||
| 素材 | 状态 | 需求文档 |
|
| 素材 | 状态 | 需求文档 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 受击反馈 / 死亡表现 / 顺位标记 | ⬜ | [战斗表现](../gdd/systems/战斗循环/战斗表现.md) |
|
| 受击反馈 / 死亡表现 / 顺位标记 | ◐ 程序化演出在役(受击闪白+打击火花、灰化+碎裂退场〔禁瞬消〕、顺位徽标 ①②③ 程序绘制——2026-09-29 迭代 6 T4/T5;帧级素材未产,§8.4 帧数规格候选) | [战斗表现](../gdd/systems/战斗循环/战斗表现.md) |
|
||||||
| 连锁坍塌显形演出 | ⬜ | [art-assets-checklist](art-assets-checklist.md) §4 |
|
| 连锁坍塌显形演出 | ⬜ | [art-assets-checklist](art-assets-checklist.md) §4 |
|
||||||
| 封印特效(插旗动作=封印,两件:施印特效+印记常显) | ⬜ | [art-bible](art-bible.md) §3.2 + [art-assets-checklist](art-assets-checklist.md) §4 |
|
| 封印特效(插旗动作=封印,两件:施印特效+印记常显) | ⬜ | [art-bible](art-bible.md) §3.2 + [art-assets-checklist](art-assets-checklist.md) §4 |
|
||||||
| 弹道 / 退场等动画密度 | ⬜ | [art-assets-checklist](art-assets-checklist.md) §4(战斗表现输入清单) |
|
| 弹道 / 退场等动画密度 | ◐ 程序化弹道在役(play_projectile 0.16s+0.19s 到达拍调度,2026-09-29 迭代 6;密度终稿归战斗表现批) | [art-assets-checklist](art-assets-checklist.md) §4(战斗表现输入清单) |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,10 @@
|
|||||||
|
|
||||||
| 路径 | 角色 | 入 git | 游戏运行时引用 |
|
| 路径 | 角色 | 入 git | 游戏运行时引用 |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| `design/art/candidates/**` | 设计侧源档(母版 PNG/.pxo/GIF/对比图/验收留底)——**素材的原产地与档案库,游戏禁直接引用** | 否(`.gitignore` 三行规则;`*.md` 指引例外) | **禁**(res:// 路径禁指 candidates) |
|
| `design/art/candidates/**` | 设计侧源档(母版 PNG/.pxo/GIF/对比图/验收留底)——**素材的原产地与档案库,游戏禁直接引用**。**目录按需创建**(首批候选入库时建,2026-10-06 对账注:当前两 worktree 均未建立,非路径作废) | 否(`.gitignore` 三行规则;`*.md` 指引例外) | **禁**(res:// 路径禁指 candidates) |
|
||||||
| `game/assets/art/**` | **游戏运行时素材唯一落地处**(res://assets/art/...)——定稿素材从 candidates 拷贝入此,改名按圣经 §8.3 | 否(untracked,勿 git add;worktree 间需脚本拷贝同步) | **唯一合法引用源** |
|
| `game/assets/art/**` | **游戏运行时素材唯一落地处**(res://assets/art/...)——定稿素材从 candidates 拷贝入此,改名按圣经 §8.3 | 否(untracked,勿 git add;worktree 间需脚本拷贝同步) | **唯一合法引用源** |
|
||||||
| `game/assets/ui/icons/**` | UI 图标(状态图标批特例——唯一已提交入 git 的素材目录) | **是**(2026-09-24 批特例) | 是 |
|
| `game/assets/ui/icons/**` | UI 图标(状态图标批特例——唯一已提交入 git 的素材目录) | **是**(2026-09-24 批特例) | 是 |
|
||||||
| `production/mockups/**` | 混合样张/版式对比图(设计评审产物,非游戏素材) | 否 | 禁 |
|
| `artwork/mockups/**` | 混合样张/版式对比图(设计评审产物,非游戏素材;样张 v3、关卡地图样张等实存于此)——2026-10-06 对账更正:原写的 `production/mockups/**` 系废路径 | 否 | 禁 |
|
||||||
|
|
||||||
## 2. 素材流(新素材批标准路径)
|
## 2. 素材流(新素材批标准路径)
|
||||||
|
|
||||||
@@ -19,14 +19,15 @@
|
|||||||
3. **入包**:拷贝 → `game/assets/art/<语义子目录>/`,改名 `§8.3` 域键式(如 `character_hero_portrait.png`)
|
3. **入包**:拷贝 → `game/assets/art/<语义子目录>/`,改名 `§8.3` 域键式(如 `character_hero_portrait.png`)
|
||||||
4. **接线**:代码 `res://assets/art/...` 引用(路径常量单点归 `UiKit.TEX_*`);装载一律 `UiKit.load_tex`(exists 守卫——素材不入 git,缺位树回退),**禁 preload**
|
4. **接线**:代码 `res://assets/art/...` 引用(路径常量单点归 `UiKit.TEX_*`);装载一律 `UiKit.load_tex`(exists 守卫——素材不入 git,缺位树回退),**禁 preload**
|
||||||
5. **提交**:只提交代码/文档;PNG 与 `.import`(全局忽略)均不入 git
|
5. **提交**:只提交代码/文档;PNG 与 `.import`(全局忽略)均不入 git
|
||||||
|
6. **整理(2026-10-06 P2-1 固化段——脚本链第四段:生成→验证→整理→入包)**:定稿入包后当批清 candidates 子目录——保留**定稿源 + 最相邻候选 2 版**(默认策略,可按资产调整),其余打包归 `archive/`;非素材残留(.url/.ogg/.ai/.swf 等)剔出;批量执行一律 **dry-run 清单先行**,经用户确认再动文件(2026-10-06 用户惯例)
|
||||||
|
|
||||||
## 3. game/assets/art 语义子目录
|
## 3. game/assets/art 语义子目录
|
||||||
|
|
||||||
| 子目录 | 内容 | 现役 |
|
| 子目录 | 内容 | 现役 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `character/` | 角色棋盘帧 + B 区立绘 | character_hero_idle/walk(棋盘 32×32 朝左基准)、character_hero_portrait(B 区立绘 48×48) |
|
| `character/` | 角色棋盘帧 + B 区立绘 | character_hero_idle/walk(棋盘 32×32 朝左基准)、character_hero_portrait(B 区立绘 46×48)+ character_enemy_<键> 八敌 |
|
||||||
| `fx/` | 特效帧 | shovel_swing_f0/f1/f2(挥铲三帧,握把锚 (18,12)) |
|
| `fx/` | 特效帧 | shovel_swing_f0/f1/f2(挥铲三帧,握把锚 (18,12)) |
|
||||||
| `board/` | 砖面/墙/地板(beast-cave 复用包,地砖复用批) | board_floor/wall/pillar_dungeon_* |
|
| `board/` | 砖面/旗印记(三关换皮 + 封印旗;2026-10-06 对账更正——旧 `board_floor/wall/pillar_dungeon_*` 命名退役) | terrain_floor_<board_type>_<n>.png(三关地面系)、flag_seal.png |
|
||||||
|
|
||||||
## 4. 坐标/朝向等工程侧约定备查
|
## 4. 坐标/朝向等工程侧约定备查
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,8 @@
|
|||||||
|
|
||||||
硬规则:**所有角色自带轮廓通道**——亮色描边(暖白族,禁黑描边)+落影底盘,识别不依赖所在背景。敌人不占格,剪影不得借格底色成立;同一套剪影因此在棋盘、结算画面与任一战斗舞台通用,不为战斗表现未决的舞台问题付重画成本。←已锁事实;「禁黑描边」= 2026-09-20 提示词卡实践随批固化
|
硬规则:**所有角色自带轮廓通道**——亮色描边(暖白族,禁黑描边)+落影底盘,识别不依赖所在背景。敌人不占格,剪影不得借格底色成立;同一套剪影因此在棋盘、结算画面与任一战斗舞台通用,不为战斗表现未决的舞台问题付重画成本。←已锁事实;「禁黑描边」= 2026-09-20 提示词卡实践随批固化
|
||||||
|
|
||||||
|
**主角描边例外(2026-10-06 待决项 B 用户拍板——显式例外,非漂移)**:主角四态硬描边 = **深褐 `(40,19,13)`**,不入暖白族——深描边在浅砖面格底上对比更高、主角更突出;暖白达标率 0–28% 属例外内允许(敌人仍暖白族,实测达标 27–69%,不变)。素材不随本条修改;样张批(圣经 §1.4)终审复核例外成立性,复核义务登记 06 待办。
|
||||||
|
|
||||||
四类角色 archetype 以高宽比/轮廓凹凸数/锐角数一眼区分(道具点——唯一非生物剪影——留在圣经 §3.1):
|
四类角色 archetype 以高宽比/轮廓凹凸数/锐角数一眼区分(道具点——唯一非生物剪影——留在圣经 §3.1):
|
||||||
|
|
||||||
- **小人**:窄、直立、对称,凹凸 ≤2;剪影在 2~3 头身两档下均成立(比例见 §5.2);格内占位最窄,不吞数字位。←原一;圣经 §2.1
|
- **小人**:窄、直立、对称,凹凸 ≤2;剪影在 2~3 头身两档下均成立(比例见 §5.2);格内占位最窄,不吞数字位。←原一;圣经 §2.1
|
||||||
@@ -19,7 +21,7 @@
|
|||||||
## 5.2 头身比与体量档位
|
## 5.2 头身比与体量档位
|
||||||
|
|
||||||
- **头身比**:全角色 2~3 头身(chibi)两档——小人剪影须在两档下均成立(§5.1);敌种按 archetype 取档,同一敌种恒定一档(enemy_id 键恒定纪律,圣经 §4.6.4)。←风格基调 2026-09-10
|
- **头身比**:全角色 2~3 头身(chibi)两档——小人剪影须在两档下均成立(§5.1);敌种按 archetype 取档,同一敌种恒定一档(enemy_id 键恒定纪律,圣经 §4.6.4)。←风格基调 2026-09-10
|
||||||
- **体量档位 = 强度先验通道**(圣经 §4.6.4):普通 < 精英 < Boss 体量单调递增,"大个子多半有重击"读法成立即可;图像不报数,精确数值只在结算明细。
|
- **体量档位 = 生物体型通道(2026-10-06 用户三约束修订,原「强度先验·普通 < 精英 < Boss 单调递增」读法退役)**:体量按**物种天性**定,禁按强度档位线性映射——小体型精英与大体型普通怪并存(锁定实例:钩爪恐魔 > 灰矮人、灰矮人 < 熊地精、食人魔酋长 > 熊地精);「大个子多半有重击」的强度先验读法改由意图徽标(§5.6)与甲档(§5.3)承担,体量不再报强度;图像不报数,精确数值只在结算明细。
|
||||||
- 像素画布/精灵尺寸**不在本节**——归圣经 §8 资产规范(D1,另批);本节只锁比例关系与档位次序。
|
- 像素画布/精灵尺寸**不在本节**——归圣经 §8 资产规范(D1,另批);本节只锁比例关系与档位次序。
|
||||||
|
|
||||||
## 5.3 护甲类型视觉区分(候选方案,样张批冻结)
|
## 5.3 护甲类型视觉区分(候选方案,样张批冻结)
|
||||||
@@ -65,6 +67,8 @@
|
|||||||
- **主色域 = 物种本色**,不受圣经 §4.2 语义色禁则约束(该禁则管格面与 UI 的逻辑色,角色身体主色豁免——提示词卡 2026-09-20 成例);**两例外**:禁入带 300°–345° 全角色禁入(仅 drider/duergar_king 两 Boss 独占)、蓝族禁入敌方主色(§5.4 同款)。
|
- **主色域 = 物种本色**,不受圣经 §4.2 语义色禁则约束(该禁则管格面与 UI 的逻辑色,角色身体主色豁免——提示词卡 2026-09-20 成例);**两例外**:禁入带 300°–345° 全角色禁入(仅 drider/duergar_king 两 Boss 独占)、蓝族禁入敌方主色(§5.4 同款)。
|
||||||
- **L2 熊地精 = bugbear 复用**(第二关三行,显示名熊地精系,非独立键):同剪影**换色板不换形**(色板替换走脚本管线——原则三"先换色板"的角色侧应用);变体主色避小人蓝族与禁入带。
|
- **L2 熊地精 = bugbear 复用**(第二关三行,显示名熊地精系,非独立键):同剪影**换色板不换形**(色板替换走脚本管线——原则三"先换色板"的角色侧应用);变体主色避小人蓝族与禁入带。
|
||||||
- 每敌种出 2–3 版候选(清单 §2.2);受击反馈/死亡表现/顺位标记三类呈现下限见圣经 §4.6.4 资产需求行。
|
- 每敌种出 2–3 版候选(清单 §2.2);受击反馈/死亡表现/顺位标记三类呈现下限见圣经 §4.6.4 资产需求行。
|
||||||
|
- **立绘源档高(2026-10-06 定档批;定值单点 = 圣经 §8.2 立绘源档表,本档指路不复述)**:八敌 36–94 逐键定档 + 主角 48 不变、显示一律 ×2 整数档(NEAREST)——**数值权威一律圣经 §8.2**(定值单点纪律,圣经 §8 头注);定档经用户三体型约束校验(§5.2)与定档总图确认;派生管线与排版规范同归圣经 §8.2。
|
||||||
|
- **钩爪恐魔「宽≥高」豁免登记(2026-10-06,待样张批终审)**:定档源 58 高窄条束状剪影(长臂圆钩),宽高比 <1,与 §5.1 普通怪「近圆墩形宽≥高」冲突——按体量=生物天性(§5.2 修订)登记豁免:以长臂束状轮廓为识别锚,不强行压成墩形;样张批(圣经 §1.4)终审复验灰度剪影可辨性。
|
||||||
|
|
||||||
## 5.6 意图准备动画三档(2026-09-18 用户拍板,规格承载节)
|
## 5.6 意图准备动画三档(2026-09-18 用户拍板,规格承载节)
|
||||||
|
|
||||||
@@ -79,6 +83,8 @@
|
|||||||
|
|
||||||
## 版本历史
|
## 版本历史
|
||||||
|
|
||||||
|
- **v1.9(2026-10-06)主角描边例外条款批(审计报告待决项 B 用户拍板)**:§5.1 新增**主角描边例外**条——主角四态硬描边 = 深褐 `(40,19,13)` 显式例外(浅砖面对比更高/主角更突出),敌人维持暖白族;系描边不一致的定性收口(不一致源自早期生成素材,按用户口径以约束条款认可为有意设计,素材不改);样张批终审复核义务登记 06 待办。
|
||||||
|
- **v1.8(2026-10-06)体量语义修订+立绘源档定档批(P0 收口讨论批;工作流程铁律 = 只动文档,代码实装另批走 PRD→迭代)**:①**§5.2 体量档位改「生物体型通道」**——原「强度先验·普通 < 精英 < Boss 单调递增」读法退役,依据 = 用户三体型约束(钩爪恐魔>灰矮人/灰矮人<熊地精/食人魔>熊地精,小体型精英与大体型普通怪并存);强度先验读法改由意图徽标(§5.6)与甲档(§5.3)承担;②**§5.5 新增立绘源档高注记**(八敌 36–94 定档、主角 48 不变、显示 ×2 整数档;圣经 §8.2 v3.7 同批)+**钩爪恐魔「宽≥高」豁免登记**(58 高窄条束状剪影,待样张批终审)。
|
||||||
- **v1.7(2026-09-28)人设旗脱钩批**(用户三拍板:①背包旗与棋盘封印色脱钩——封印色沿革〔旗朱 #C63D22→封印紫 2026-09-26→封印黑 2026-09-28〕仅作用于棋盘格封印旗,封印黑仅棋盘格,人设旗回归旗朱红 `#C63D22`;②旗形三角→矩形,以 normal/hit 定稿成图为基准;③兜帽=披肩式披于颈肩非垂背):§5.4 形象锚/背包旗条随批。
|
- **v1.7(2026-09-28)人设旗脱钩批**(用户三拍板:①背包旗与棋盘封印色脱钩——封印色沿革〔旗朱 #C63D22→封印紫 2026-09-26→封印黑 2026-09-28〕仅作用于棋盘格封印旗,封印黑仅棋盘格,人设旗回归旗朱红 `#C63D22`;②旗形三角→矩形,以 normal/hit 定稿成图为基准;③兜帽=披肩式披于颈肩非垂背):§5.4 形象锚/背包旗条随批。
|
||||||
- **v1.6(2026-09-25)甲档核对回填批**(圣经×关卡/世界观对齐扫描发现;用户拍板「按最新设定」:食人魔裸身、卓尔魔法甲符纹):§5.5 三行甲档回填 `enemy.tres` 数据实态(2026-09-18 甲重配批后未回填的过期账)——bugbear 魔法护甲→轻甲(粗陋皮条无甲板无符纹)、ogre_chief 重甲→轻甲(弃冷灰金属甲板,改甲面覆盖率≈0 的裸身皮条/骨饰)、drider 重甲→魔法护甲(加符纹饰带);§5.5 头注事实源措辞随改;提示词卡 v2.8 熊地精/食人魔/卓尔三卡随批。giant_spider/hook_horror 的几丁质天然甲壳纪律不变(不计甲档,§5.3)。同日封印术语批:§5.4 插旗条附「插旗动作呈现名 = 封印」注记(详见 art-bible v2.7)。
|
- **v1.6(2026-09-25)甲档核对回填批**(圣经×关卡/世界观对齐扫描发现;用户拍板「按最新设定」:食人魔裸身、卓尔魔法甲符纹):§5.5 三行甲档回填 `enemy.tres` 数据实态(2026-09-18 甲重配批后未回填的过期账)——bugbear 魔法护甲→轻甲(粗陋皮条无甲板无符纹)、ogre_chief 重甲→轻甲(弃冷灰金属甲板,改甲面覆盖率≈0 的裸身皮条/骨饰)、drider 重甲→魔法护甲(加符纹饰带);§5.5 头注事实源措辞随改;提示词卡 v2.8 熊地精/食人魔/卓尔三卡随批。giant_spider/hook_horror 的几丁质天然甲壳纪律不变(不计甲档,§5.3)。同日封印术语批:§5.4 插旗条附「插旗动作呈现名 = 封印」注记(详见 art-bible v2.7)。
|
||||||
- **v1.5(2026-09-23)配装修订批**(用户四拍板:①弃全蓝配色——蓝只保留在兜帽等明显处,上衣改暖米白、长裤改深棕工装,与掩尘棋盘协调;②兜帽不戴头上、取下披于肩上,露棕色短发与脸;③待机姿势改"铲插立地上、一手扶铲柄";④旗子加大到比头大、插在背包一侧,可被头部分遮挡):§5.4 形象锚/配色条/铲条/背包旗条/护目镜条随批;提示词卡 v2.6 三卡随批。线上 API 试生成渠道由用户自跑(本地 ComfyUI 通道同日停用)。
|
- **v1.5(2026-09-23)配装修订批**(用户四拍板:①弃全蓝配色——蓝只保留在兜帽等明显处,上衣改暖米白、长裤改深棕工装,与掩尘棋盘协调;②兜帽不戴头上、取下披于肩上,露棕色短发与脸;③待机姿势改"铲插立地上、一手扶铲柄";④旗子加大到比头大、插在背包一侧,可被头部分遮挡):§5.4 形象锚/配色条/铲条/背包旗条/护目镜条随批;提示词卡 v2.6 三卡随批。线上 API 试生成渠道由用户自跑(本地 ComfyUI 通道同日停用)。
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
## 0. 使用流程(五步)
|
## 0. 使用流程(五步)
|
||||||
|
|
||||||
1. **出图**:按下面卡片把正向/负向提示词粘进线上 API 的提示词栏,每个资产出 **2–3 版候选**(建议固定 3 个 seed 连拍,便于横评)。
|
1. **出图**:按下面卡片把正向/负向提示词粘进生图渠道的提示词栏(**渠道 = 远程对话式生图为主,本地 ComfyUI 为备选**——2026-10-06 拍板;对话操作纪律见 [remote-gen-prompts](remote-gen-prompts.md)),每个资产出 **2–3 版候选**(建议固定 3 个 seed 连拍,便于横评)。
|
||||||
2. **入库**:候选原图(带底)放 `design/art/candidates/<资产名>/`,文件名 `v1.png / v2.png / v3.png`。这个目录只存候选,不进引擎。
|
2. **入库**:候选原图(带底)放 `design/art/candidates/<资产名>/`,文件名 `v1.png / v2.png / v3.png`。这个目录只存候选,不进引擎。
|
||||||
3. **裁决**:你按 §4 验收速查预筛,挑出每一资产的入围候选拍板。
|
3. **裁决**:你按 §4 验收速查预筛,挑出每一资产的入围候选拍板。
|
||||||
4. **后处理**:喊我一声,脚本管线代跑——去底转透明、最近邻降采样到目标尺寸、色板量化、四联底测试条(掩尘底/裸土底/暗底/灰度)。
|
4. **后处理**:喊我一声,脚本管线代跑——去底转透明、最近邻降采样到目标尺寸、色板量化、四联底测试条(掩尘底/裸土底/暗底/灰度)。
|
||||||
@@ -259,27 +259,27 @@ Pixel art style. true pixel art game sprite drawn on a tiny 48x72 pixel canvas,
|
|||||||
**对话式生图控制纪律(2026-09-25/26 实证)**:
|
**对话式生图控制纪律(2026-09-25/26 实证)**:
|
||||||
1. 同对话续写=对上一张图的**编辑模式**——变体必须各开新对话;同一对话里"same as X but ..."会被当成对最近一张的增量编辑。
|
1. 同对话续写=对上一张图的**编辑模式**——变体必须各开新对话;同一对话里"same as X but ..."会被当成对最近一张的增量编辑。
|
||||||
2. 英文 prompt 服从度明显高于中文(Gemini/Nano Banana 语料结构使然),提示词一律英文。
|
2. 英文 prompt 服从度明显高于中文(Gemini/Nano Banana 语料结构使然),提示词一律英文。
|
||||||
3. 拼表(一张图多枚)必诱使模型给每枚画框——纯填充纹理一律**一张一跑**。
|
3. **地形瓦片出图制式 = 拼表制正主(2026-10-06 用户拍板,操作单见 remote-gen-prompts §3)**——一张整图容纳全部瓦片变体,后处理裁切取用:风格统一、一张管住全族。画框风险的缓解 = ①出图贴程序占位样图作参考(模型有具体锚定就不乱画框)②裁切时每格内缩 2–3% 切掉边框③统一降采样(结构归程序)。**分张(一张一跑)降为回退路径**:仅当拼表连续画框失败时改用。〔实证教训保留:2026-09-25/26 裸拼表(无参考图)必诱画框——教训归因于缺参考锚定,非拼表制本身〕
|
||||||
4. 差异特征写第一句并给否定约束(如碎石斑变体须写明 `no cracks, no dark lines`);尺寸不写死(模型自定,原图越大裁切余量越足,后处理统一降采样)。
|
4. 差异特征写第一句并给否定约束(如碎石斑变体须写明 `no cracks, no dark lines`);尺寸不写死(模型自定,原图越大裁切余量越足,后处理统一降采样)。
|
||||||
|
|
||||||
**①墙顶基面(无缝岩石)**:
|
**①墙顶基面(无缝岩石)**:
|
||||||
```
|
```
|
||||||
Seamless tileable pixel art texture of warm tan rock surface, top-down, for a dungeon board game. Flat 2D texture only — not an object, no perspective. Pattern fills the entire square evenly and wraps perfectly at all four edges. Absolutely no border, no frame, no bevel, no edge highlight, no vignette, no cast shadow. Uniform directionless lighting. Subtle darker seams between stone patches and small lighter facets, warm tan-brown palette around #8B755B. Clean retro pixel art look, limited palette, no gradients, no text, square image.
|
Seamless tileable pixel art texture of warm tan rock surface, top-down, for a dungeon board game. Flat 2D texture only — not an object, no perspective. Pattern fills the entire square evenly and wraps perfectly at all four edges. Absolutely no border, no frame, no bevel, no edge highlight, no vignette, no cast shadow. Uniform directionless lighting. Subtle darker seams between stone patches and small lighter facets, warm tan-brown palette around #C9AF83. Clean retro pixel art look, limited palette, no gradients, no text, square image.
|
||||||
```
|
```
|
||||||
|
|
||||||
**②墙顶纹理变体 A(裂纹)**:
|
**②墙顶纹理变体 A(裂纹)**:
|
||||||
```
|
```
|
||||||
Same as the rock surface texture but with a few thin darker crack lines scattered across it. Seamless tileable pixel art texture of warm tan rock, top-down, flat 2D texture only, wraps perfectly at all four edges, no border, no frame, no bevel, no edge highlight, no vignette, uniform directionless lighting, warm tan-brown palette around #8B755B, clean retro pixel art, limited palette, no gradients, no text, square image.
|
Same as the rock surface texture but with a few thin darker crack lines scattered across it. Seamless tileable pixel art texture of warm tan rock, top-down, flat 2D texture only, wraps perfectly at all four edges, no border, no frame, no bevel, no edge highlight, no vignette, uniform directionless lighting, warm tan-brown palette around #C9AF83, clean retro pixel art, limited palette, no gradients, no text, square image.
|
||||||
```
|
```
|
||||||
|
|
||||||
**③墙顶纹理变体 B(碎石斑)**:
|
**③墙顶纹理变体 B(碎石斑)**:
|
||||||
```
|
```
|
||||||
Same as the rock surface texture but with a few tiny lighter stone speckles sparsely scattered. Seamless tileable pixel art texture of warm tan rock, top-down, flat 2D texture only, wraps perfectly at all four edges, no border, no frame, no bevel, no edge highlight, no vignette, uniform directionless lighting, warm tan-brown palette around #8B755B, clean retro pixel art, limited palette, no gradients, no text, square image.
|
Same as the rock surface texture but with a few tiny lighter stone speckles sparsely scattered. Seamless tileable pixel art texture of warm tan rock, top-down, flat 2D texture only, wraps perfectly at all four edges, no border, no frame, no bevel, no edge highlight, no vignette, uniform directionless lighting, warm tan-brown palette around #C9AF83, clean retro pixel art, limited palette, no gradients, no text, square image.
|
||||||
```
|
```
|
||||||
|
|
||||||
**④地面(无缝泥土,必须明显暗于墙顶)**:
|
**④地面(无缝泥土,必须明显暗于墙顶)**:
|
||||||
```
|
```
|
||||||
Seamless tileable pixel art texture of dry dirt ground, top-down, for a dungeon board game. Flat 2D texture only — not an object, no perspective. Pattern fills the entire square evenly and wraps perfectly at all four edges. No border, no frame, no edge highlight, no vignette, no cast shadow, uniform directionless lighting. Dark warm brown palette around #564232 — clearly darker than tan rock. A few thin cracks and tiny pebble speckles, sparse. Clean retro pixel art look, limited palette, no gradients, no text, square image.
|
Seamless tileable pixel art texture of dry dirt ground, top-down, for a dungeon board game. Flat 2D texture only — not an object, no perspective. Pattern fills the entire square evenly and wraps perfectly at all four edges. No border, no frame, no edge highlight, no vignette, no cast shadow, uniform directionless lighting. Dark warm brown palette around #B39A78 — clearly darker than tan rock. A few thin cracks and tiny pebble speckles, sparse. Clean retro pixel art look, limited palette, no gradients, no text, square image.
|
||||||
```
|
```
|
||||||
|
|
||||||
后处理(程序侧,生成器 `_tools/gen_terrain_walls.py`,归档 zip 内):周期对齐无缝裁剪→BOX 降采样 32×32→环绕混合→量化(12 色)→结构件合成;②③亦可由①程序加纹理级裂纹/浅斑替代(2026-09-26 实证更稳)。
|
后处理(程序侧,生成器 `_tools/gen_terrain_walls.py`,归档 zip 内):周期对齐无缝裁剪→BOX 降采样 32×32→环绕混合→量化(12 色)→结构件合成;②③亦可由①程序加纹理级裂纹/浅斑替代(2026-09-26 实证更稳)。
|
||||||
@@ -292,6 +292,9 @@ Seamless tileable pixel art texture of dry dirt ground, top-down, for a dungeon
|
|||||||
|
|
||||||
## 版本历史
|
## 版本历史
|
||||||
|
|
||||||
|
- **v3.1(2026-10-06)渠道定位+拼表制正主批(用户拍板)**:①**渠道定位更正——远程对话式生图为主、本地 ComfyUI 为备选**(v2.7「彻底关闭」为当时口径,现行更正为备选;§0 使用流程随改);②**§4bis 纪律 3 改制**——地形瓦片出图 = 拼表制正主(三步流程:程序占位样图参考 → 整图生成 → 裁切+统一降采样;操作单 remote-gen-prompts §3),分张降为回退路径(裸拼表画框实证教训归因于缺参考锚定,非拼表制本身);③与 remote-gen-prompts 分工写明:本文件 = 词库正文、remote-gen = 对话操作单,正文不双处维护。
|
||||||
|
- **v3.0(2026-10-06)地形色值对齐批(审计 P1-1,用户拍板色值正主 = 圣经 §4.1)**:§4bis 四张地形卡色值漂移修正——岩石系 `#8B755B`→**`#C9AF83`(掩尘/未开格)**、地面系 `#564232`→**`#B39A78`(裸土/已开格)**;remote-gen-prompts.md 2×2 拼图卡同批对齐。提示词侧色值自此以圣经 §4.1 为唯一正主。
|
||||||
|
|
||||||
- **v2.9(2026-09-26)地形填充纹理节批**(高墙批收官,用户拍板):新增 §4bis——地形类首张卡(墙顶基面/裂纹/碎石斑/地面四张自包含英文卡)+对话式生图控制纪律四条(编辑模式/英文优先/分张跑/否定约束);分工纪律转写 art-bible §8.5「生产分工」(模型只出无缝填充纹理,结构件程序化)。
|
- **v2.9(2026-09-26)地形填充纹理节批**(高墙批收官,用户拍板):新增 §4bis——地形类首张卡(墙顶基面/裂纹/碎石斑/地面四张自包含英文卡)+对话式生图控制纪律四条(编辑模式/英文优先/分张跑/否定约束);分工纪律转写 art-bible §8.5「生产分工」(模型只出无缝填充纹理,结构件程序化)。
|
||||||
|
|
||||||
- **v2.8(2026-09-25)敌种甲档回填批**(圣经×关卡/世界观对齐扫描发现,规格上游 character-design.md v1.6 同批;用户拍板「按最新设定」):三卡随 `enemy.tres` 甲档实态修订——①熊地精 3.2 两版(A/B)正向:魔法甲「暖白符纹饰带」措辞退役,改轻甲「粗陋皮条+裸蓬毛无甲板」;②食人魔酋长 3.3:标题重甲→轻甲,正向「冷灰金属肩胸甲板」改「皮条骨饰+裸厚皮无甲板」,规格注随改;③蛛化卓尔精灵 3.5:标题重甲→魔法护甲,正向加「卓尔上体暖白秘法符纹饰带」(蛛腹几丁质保留、属天然甲壳),规格注随改。duergar/duergar_king 重甲卡与数据一致不动。
|
- **v2.8(2026-09-25)敌种甲档回填批**(圣经×关卡/世界观对齐扫描发现,规格上游 character-design.md v1.6 同批;用户拍板「按最新设定」):三卡随 `enemy.tres` 甲档实态修订——①熊地精 3.2 两版(A/B)正向:魔法甲「暖白符纹饰带」措辞退役,改轻甲「粗陋皮条+裸蓬毛无甲板」;②食人魔酋长 3.3:标题重甲→轻甲,正向「冷灰金属肩胸甲板」改「皮条骨饰+裸厚皮无甲板」,规格注随改;③蛛化卓尔精灵 3.5:标题重甲→魔法护甲,正向加「卓尔上体暖白秘法符纹饰带」(蛛腹几丁质保留、属天然甲壳),规格注随改。duergar/duergar_king 重甲卡与数据一致不动。
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# 远程生图提示词单(ChatGPT / Gemini 对话式)
|
# 远程生图提示词单(对话式生图操作单)
|
||||||
|
|
||||||
|
> **渠道定位(2026-10-06 拍板)**:生图渠道 = **远程对话式生图为主,本地 ComfyUI 为备选**(v2.7「彻底关闭」系当时口径,现行更正为备选);本文件是**对话操作单**(怎么开对话/贴什么参考图/怎么续写),提示词正文词库归 [comfyui-prompts](comfyui-prompts.md)——分工:词库改词库、操作单改流程,同一段正文不双处维护。
|
||||||
|
> **出图登记义务(2026-10-06 P1-1 复现性)**:每张产出登记 **模型名 + 分辨率 + seed(可取则取)+ 对话/日期**,随候选原图同存 `design/art/candidates/<资产名>/`;缺登记的候选不入正稿遴选。
|
||||||
> 开新对话出图:同一角色 2–3 版候选各开新对话(同对话续写=修图);同角色换姿势在同对话续写。分辨率开大档;候选原图存 `design/art/candidates/<资产名>/`。
|
> 开新对话出图:同一角色 2–3 版候选各开新对话(同对话续写=修图);同角色换姿势在同对话续写。分辨率开大档;候选原图存 `design/art/candidates/<资产名>/`。
|
||||||
|
|
||||||
## 1. 主角战斗立绘
|
## 1. 主角战斗立绘
|
||||||
@@ -76,8 +78,11 @@ Pixel art style. true pixel art game sprite drawn on a tiny 48x72 pixel canvas,
|
|||||||
|
|
||||||
## 3. 瓦片纹理
|
## 3. 瓦片纹理
|
||||||
|
|
||||||
开新对话发整段,出 2×2 四格(左上墙顶/右上裂纹/左下碎石斑/右下地面),按 50% 坐标切图、每格内缩 2–3%。成片瓦片 21 枚由程序从切出的材质合成(词表:design/research/board-tile-vocab-plan-a-2026-09-26.md)。
|
**制式 = 拼表制正主(2026-10-06 用户拍板)——三步流程**:
|
||||||
|
1. **程序占位出样图**:现行程序化格面(占位在役)截一张作参考样图;
|
||||||
|
2. **整图生成**:开新对话,贴样图 + 发下方整段,一张 2×2 出全部瓦片变体(风格统一、一张管全族);
|
||||||
|
3. **裁切取用**:按 50% 坐标切图、每格内缩 2–3% 切掉可能的边框 → 统一降采样 → 成片瓦片 21 枚由程序从切出的材质合成(词表:design/research/board-tile-vocab-plan-a-2026-09-26.md)。
|
||||||
|
|
||||||
```
|
```
|
||||||
Seamless tileable pixel art texture sheet for a dungeon board game, arranged as a clean 2x2 grid of four equal square quadrants filling the entire image edge to edge, with no gaps, no dividing lines, no borders, no frames, no grid lines, no labels and no text. Top-left quadrant: warm tan rock surface with subtle darker seams between stone patches and small lighter facets. Top-right quadrant: the same warm tan rock surface but with a few thin darker crack lines scattered across it. Bottom-left quadrant: the same warm tan rock surface but with a few tiny lighter stone speckles sparsely scattered. Bottom-right quadrant: dry dirt ground in a dark warm brown palette around #564232, clearly darker than the tan rock, with a few thin cracks and tiny pebble speckles, sparse. Every quadrant is a flat 2D top-down texture — not an object, no perspective — and each quadrant must wrap seamlessly at its own four edges. Uniform directionless lighting across all four quadrants, no vignette, no cast shadow, no bevel, no edge highlight anywhere. Warm tan-brown palette around #8B755B for the three rock quadrants. Clean retro pixel art look, limited palette, no gradients, no text, square image.
|
Seamless tileable pixel art texture sheet for a dungeon board game, arranged as a clean 2x2 grid of four equal square quadrants filling the entire image edge to edge, with no gaps, no dividing lines, no borders, no frames, no grid lines, no labels and no text. Top-left quadrant: warm tan rock surface with subtle darker seams between stone patches and small lighter facets. Top-right quadrant: the same warm tan rock surface but with a few thin darker crack lines scattered across it. Bottom-left quadrant: the same warm tan rock surface but with a few tiny lighter stone speckles sparsely scattered. Bottom-right quadrant: dry dirt ground in a dark warm brown palette around #B39A78, clearly darker than the tan rock, with a few thin cracks and tiny pebble speckles, sparse. Every quadrant is a flat 2D top-down texture — not an object, no perspective — and each quadrant must wrap seamlessly at its own four edges. Uniform directionless lighting across all four quadrants, no vignette, no cast shadow, no bevel, no edge highlight anywhere. Warm tan-brown palette around #C9AF83 for the three rock quadrants. Clean retro pixel art look, limited palette, no gradients, no text, square image.
|
||||||
```
|
```
|
||||||
+33
-1
@@ -310,7 +310,39 @@
|
|||||||
|
|
||||||
**归属**:[art-bible](../art/art-bible.md) §8.2 · 资产管线批
|
**归属**:[art-bible](../art/art-bible.md) §8.2 · 资产管线批
|
||||||
|
|
||||||
**状态**:**已裁决案乙(2026-09-30 迭代 9 三裁决,用户「按推荐来」)**——本迭代不升档,先收 Alpha 真人读数再定(B 区舞台落影已改善存在感;T10 黄金图基准本迭代内建成不被作废);升档批=M-4 候选位,届时提灯点亮解禁候选一并重议;A4 尺寸基线冻结(立绘 46×48/小人源 32×32)维持有效。**2026-10-04 用户令:暂不做、先忽略**(真人读数虽已收,用户裁不编入当前迭代表、挂起不讨论;重启=用户点名)
|
**状态**:**已裁决案乙(2026-09-30 迭代 9 三裁决,用户「按推荐来」)**——本迭代不升档,先收 Alpha 真人读数再定(B 区舞台落影已改善存在感;T10 黄金图基准本迭代内建成不被作废);升档批=M-4 候选位,届时提灯点亮解禁候选一并重议;A4 尺寸基线冻结(立绘 46×48/小人源 32×32)维持有效。**2026-10-04 用户令:暂不做、先忽略**(真人读数虽已收,用户裁不编入当前迭代表、挂起不讨论;重启=用户点名)。**2026-10-06 方案二批收口注记**:v3.0 的「档位上调方向候选」已被 art-bible v3.7 八敌逐键定档(源档 36–94、显示 ×2 整数)**实质收口**——存在感问题改经方案二(B 区 270/立绘显示上限 188/血条状态落底排)解决,不再走 64/96/128 升档路线;本条剩余挂起项 = 提灯点亮解禁候选(重启=用户点名或 M-4 升档批)。
|
||||||
|
|
||||||
|
#### 站桩帧动画——Alpha 定版闸前完成(2026-10-06 P0-3 延后登记,用户拍板)
|
||||||
|
|
||||||
|
**现状**:审计报告 P0-3——定稿立绘零帧动画;现行动画全部程序化(死亡碎裂/受击闪白/意图徽标弹入 = 程序 tween,非帧资产),用户裁定**动画是较往后的优化,Alpha 版本定版时间点之前完成即可**——当前 Alpha 开发期达成「看上去可游玩」即可。路线未拍板,审计报告三路线供重启时裁决:①**拆件驱动**(报告推荐:定稿立绘切部件〔头/躯干/臂/腿/武器〕+ 节点层级 tween 驱动——零身份漂移、帧数无限、内存小;项目已有先例 = shovel_swing 三帧 + 程序化死亡碎裂)②AI 关键姿势 + 人工修 + 程序补帧 ③全 AI 逐帧(不推荐:身份漂移/像素抖动)。前置依赖 = 「立绘→派生形态」管线(等比整数缩放 + 降色 ≤32 + 脚底基线对齐 + 命名合规)——该管线同时是棋盘小人重出与八敌档位重算的前提。
|
||||||
|
|
||||||
|
**归属**:[art-bible](../art/art-bible.md) §8.4 帧数规格 · 战斗表现批
|
||||||
|
|
||||||
|
**状态**:延后(**重启闸 = Alpha 定版批**;重启时先拍路线,再立规格与资产工单)
|
||||||
|
|
||||||
|
#### 主角描边素材侧复核(2026-10-06 待决项 B 登记注记)
|
||||||
|
|
||||||
|
**现状**:待决项 B 已按用户拍板走**文档例外条款**(character-design.md §5.1 v1.9:主角四态硬描边 = 深褐 `(40,19,13)` 显式例外,浅砖面对比更高;**素材不随批修改**)。本条仅为复核钩子:样张批(圣经 §1.4)终审时若发现深描边例外不成立(对比优势不实/与敌方同屏割裂感可感),素材侧修订(描边统一暖白族)**须先经本条重启**再开工,不得直接动图。
|
||||||
|
|
||||||
|
**归属**:[character-design](../art/character-design.md) §5.1 · 样张批
|
||||||
|
|
||||||
|
**状态**:登记备查(重启 = 样张批终审触发)
|
||||||
|
|
||||||
|
#### 在途草稿整理批——3349 个失管草稿(2026-10-06 审计 P2-1 登记)
|
||||||
|
|
||||||
|
**现状**:审计 P2-1——`artwork/ui-reuse-2026-09-23/` 独占 3043 个草稿(91%),vN 命名率 0%,冗余 41 文件,残留非素材文件(.url ×8 / .ogg ×6 / .ai ×2 / .swf ×1);根因 = 脚本链覆盖「生成→验证」但**缺「草稿整理」段**。整理涉及**批量文件移动/删除**,按用户惯例须先 dry-run 呈报清单、经确认再分批执行。
|
||||||
|
|
||||||
|
**归属**:[art-bible](../art/art-bible.md) §8.3 归档纪律(原则已落文)· 资产管线批(工具+文件操作)
|
||||||
|
|
||||||
|
**状态**:待办(执行窗口随实现批;开工 = 用户点名,先 dry-run)
|
||||||
|
|
||||||
|
#### 圣经口号型条款机检化批(2026-10-06 审计 P2-4 登记)
|
||||||
|
|
||||||
|
**现状**:审计 P2-4——圣经约 55% 条款属口号型(如「暖倾向无压抑」「同一圆角率」无值),与可机检条款混排。目标 = 逐条审查标注「可机检/目检/口号」三档分行,口号型逐步改写为带值或带判据条款。工程量 = 全文级(541 行逐条),非一轮能毕。**2026-10-06 三档标注格式已拍板**(←机检/←目检/←方向性,规范见 art-bible 头注「条款验收标注纪律」;数值类推荐「待定现用」态)——本批执行 = 按此格式分章补标,每章交付用户抽验。
|
||||||
|
|
||||||
|
**归属**:[art-bible](../art/art-bible.md) 全文 · 样张批前置整备
|
||||||
|
|
||||||
|
**状态**:挂账(随整屏样张闸前整备批启动;分章推进,每章一个章节,格式已定)
|
||||||
|
|
||||||
### 教学引导
|
### 教学引导
|
||||||
|
|
||||||
|
|||||||
+12
-12
@@ -119,9 +119,9 @@
|
|||||||
|
|
||||||
| 区 | 位置与尺寸 | 内容 |
|
| 区 | 位置与尺寸 | 内容 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **B 战斗画面** | 全宽 × 252px | 主角站桩立绘(左)+ 兑现演出区(中)+ 敌人站桩立绘 ×1–3(右)——**全站桩形态(2026-09-20 用户拍板,敌人卡形态待办裁决收口):主角与敌人均为无框立绘+底座,零卡片**;主角与敌人站桩 = **HP 与状态效果的唯一展示面(2026-09-26 信息归属拍板)**;底部结算明细带(24px 摘要 / 结算期 84px 实时流);顶部中央轮次·阶段指示 |
|
| **B 战斗画面** | 全宽 × 270px(2026-10-06 方案二拍板:演出 ≈1/3 屏,原 252) | 主角站桩立绘(左)+ 兑现演出区(中)+ 敌人站桩立绘 ×1–3(右)——**全站桩形态(2026-09-20 用户拍板,敌人卡形态待办裁决收口):主角与敌人均为无框立绘+底座,零卡片**;主角与敌人站桩 = **HP 与状态效果的唯一展示面(2026-09-26 信息归属拍板)**;底部结算明细带(24px 摘要 / 结算期 84px 实时流);顶部中央轮次·阶段指示 |
|
||||||
| **C 角色信息** | 左下 240px × 548px | 攻击值(含修正显示)、护甲 AC;秘宝槽(预留)、奇物列表(预留)——HP 条/RAP 池/状态效果槽/立绘占位/钱包行退役(2026-09-26 信息归属拍板:HP 与状态唯一展示面 = B 区站桩;RAP 迁 D 区 AP 条;GP/钥石迁出战斗屏) |
|
| **C 角色信息** | 左下 240px × 530px(2026-10-06 方案二:548→530) | 攻击值(含修正显示)、护甲 AC;秘宝槽(预留)、奇物列表(预留)——HP 条/RAP 池/状态效果槽/立绘占位/钱包行退役(2026-09-26 信息归属拍板:HP 与状态唯一展示面 = B 区站桩;RAP 迁 D 区 AP 条;GP/钥石迁出战斗屏) |
|
||||||
| **D 扫雷图** | 中下 ~1036px × 548px(原右下面板删除后横向加宽,吸收其宽度) | 顶部 AP 条(44px:左——AP 点阵 + 停手按钮;中——RAP 点阵+数字〔自 C 区迁入,贴弃图刷新按钮,2026-09-26 拍板〕;右——图例按钮 + 弃图刷新按钮〔雷图右上角,2026-09-12 拍板〕);棋盘主体(居中,格 36–45px 见方);toast 槽(上缘内侧) |
|
| **D 扫雷图** | 中下 ~1036px × 530px(2026-10-06 方案二:548→530——压缩全部由面板空档吸收,**棋盘 438×438 原尺寸不缩、格子不变**;原右下面板删除后横向加宽,吸收其宽度) | 顶部 AP 条(44px:左——AP 点阵 + 停手按钮;中——RAP 点阵+数字〔自 C 区迁入,贴弃图刷新按钮,2026-09-26 拍板〕;右——图例按钮 + 弃图刷新按钮〔雷图右上角,2026-09-12 拍板〕);棋盘主体(居中,格 36–45px 见方);toast 槽(上缘内侧) |
|
||||||
|
|
||||||
> 布局为 B/C/D 三区——关卡进度条不在战斗屏(节点链进度常驻关卡画面,见 Navigation Position;字母不重编沿用 B/C/D)。
|
> 布局为 B/C/D 三区——关卡进度条不在战斗屏(节点链进度常驻关卡画面,见 Navigation Position;字母不重编沿用 B/C/D)。
|
||||||
|
|
||||||
@@ -140,8 +140,8 @@
|
|||||||
|
|
||||||
| 区 | 组件 | 类型 | 内容 | 交互 | 现有 demo 组件 |
|
| 区 | 组件 | 类型 | 内容 | 交互 | 现有 demo 组件 |
|
||||||
|---|---|---|---|---|---|
|
|---|---|---|---|---|---|
|
||||||
| B | 主角站桩立绘 | 站桩(无框立绘+底座) | HP 条悬浮头顶、状态效果小图标一排挂血条正下方(形状+色相双通道、层数角标)——**HP 与状态效果的唯一展示面(2026-09-26 信息归属拍板,原 C 区状态槽职责〔悬停 tooltip 来源+语义+剩余结算次数〕并入本组件)**;攻击值等规划数据仍归 C 区数据框(2026-09-20 全站桩拍板,英雄卡退役) | 悬停状态小图标看 tooltip | HUDView 拆分改造 |
|
| B | 主角站桩立绘 | 站桩(无框立绘+落影) | HP 条落底盘(2026-10-06 方案二拍板:站桩排式 = **立绘→血条→状态**,全场血条对齐一线;血条嵌石板位、台缘线留作地面线;原「悬浮头顶」退役——高盒下血条-立绘空洞,用户点名否决)、状态效果小图标一排挂血条正下方(形状+色相双通道、层数角标;空态不占位退化为空行)——**HP 与状态效果的唯一展示面(2026-09-26 信息归属拍板,原 C 区状态槽职责〔悬停 tooltip 来源+语义+剩余结算次数〕并入本组件)**;攻击值等规划数据仍归 C 区数据框(2026-09-20 全站桩拍板,英雄卡退役) | 悬停状态小图标看 tooltip | HUDView 拆分改造 |
|
||||||
| B | 敌人站桩立绘 ×1–3 | 站桩(无框立绘+底座) | 血条+顺位徽标悬浮头顶、状态小图标挂血条正下方(敌方 side-wide 增益各立绘同值呈现——蓄力/硬化/削弱/暴走/警觉;伏击层数通道随 2026-09-20 八型批退役——数据源 = 战斗结算流水经增益状态投影,敌人系统×4④;2026-09-16 敌人技能池批改型:行为环点拆除〔proposal §2.4〕,意图占位 = 本拍摇定结果的动画占位——普通攻击零表示 / 特殊技类型级提示,敌方增益〔蓄力/硬化〕入状态图标行);死亡灰化加碎裂退场直接演在立绘上(2026-09-20 全站桩拍板,敌人卡退役);底座下名字行 = 纯名字 + 护甲类型图标(形状+色相双通道),AC 数值不展示——2026-09-26 终裁(用户口径:HP 信息已足够,攻防数值不直接写上;护甲类型图标保留克制对策可读性——类型可读、数值隐藏) | 只读 | 新建 |
|
| B | 敌人站桩立绘 ×1–3 | 站桩(无框立绘+落影) | 血条+顺位徽标落底盘(同主角排式,2026-10-06 方案二;**大体档〔显示 >150px 级:drider/duergar_king〕头部探出盒顶压进光柱区,血条仍落底**)、状态小图标挂血条正下方(敌方 side-wide 增益各立绘同值呈现——蓄力/硬化/削弱/暴走/警觉;伏击层数通道随 2026-09-20 八型批退役——数据源 = 战斗结算流水经增益状态投影,敌人系统×4④;2026-09-16 敌人技能池批改型:行为环点拆除〔proposal §2.4〕,意图占位 = 本拍摇定结果的动画占位——普通攻击零表示 / 特殊技类型级提示,**意图徽标悬浮头顶上方,探顶档压胸**,敌方增益〔蓄力/硬化〕入状态图标行);死亡灰化加碎裂退场直接演在立绘上(2026-09-20 全站桩拍板,敌人卡退役);血条下名字行 = 纯名字 + 护甲类型图标(形状+色相双通道,与状态图标同行共存,状态空时为纯名字;原「底座下」随石板退位改落底排),AC 数值不展示——2026-09-26 终裁(用户口径:HP 信息已足够,攻防数值不直接写上;护甲类型图标保留克制对策可读性——类型可读、数值隐藏) | 只读 | 新建 |
|
||||||
| B | 轮次·阶段指示 | 标签 | "第 N 轮 · 挖掘中/结算中"(终局定格「战斗结束」;Boss 变体附 Boss 名) | 只读 | 新建 |
|
| B | 轮次·阶段指示 | 标签 | "第 N 轮 · 挖掘中/结算中"(终局定格「战斗结束」;Boss 变体附 Boss 名) | 只读 | 新建 |
|
||||||
| B | 结算明细带 | 滚动列表 | 结算期逐行流水([战斗结算](../systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 9 类行协议);挖掘期收起为上轮摘要 1 行 | 点击展开明细回看 overlay(2026-10-04 P-C7 退役——带保留单行摘要,回看归「生涯」) | battle_log_view.gd 改造 |
|
| B | 结算明细带 | 滚动列表 | 结算期逐行流水([战斗结算](../systems/战斗循环/战斗结算.md#明细流水每一行都能指回你刚才的哪一步棋) 9 类行协议);挖掘期收起为上轮摘要 1 行 | 点击展开明细回看 overlay(2026-10-04 P-C7 退役——带保留单行摘要,回看归「生涯」) | battle_log_view.gd 改造 |
|
||||||
| B | 结算明细回看 | 模态 overlay | 完整流水逐行(现行 9 类行协议;未生效类行聚合计数) | 关闭 | battle_log_view.gd 改造 |
|
| B | 结算明细回看 | 模态 overlay | 完整流水逐行(现行 9 类行协议;未生效类行聚合计数) | 关闭 | battle_log_view.gd 改造 |
|
||||||
@@ -167,7 +167,7 @@
|
|||||||
- **上游修订(2026-09-12 已落稿,OQ11)**:① 行动经济 `request_refresh` Active 相位受理 + 每轮上限 2 次(Waiting 代理退役)② 排雷玩法装板受理域增 Active·仅刷新路径 ③ 编排 owner = **战斗结算 `refresh_board`**(行动经济扣费 → 排雷玩法 retire → 棋盘生成 generate → 排雷玩法 install → 地图战斗资源 roll_board 恰一次;无结算段、无 round_end——战斗结算编排唯一性原则保持)④ 旧板旗随旧板**作废**(零兑付、旗 AP 不返还——排雷玩法 EC11 全量重置承载;确认微交互须显式提示)。**经济预警**:当场刷新无结算发生,原「敌方时间税」自惩失效——行动经济 OQ3 弃图率/刷新率预警阈值联动复核。
|
- **上游修订(2026-09-12 已落稿,OQ11)**:① 行动经济 `request_refresh` Active 相位受理 + 每轮上限 2 次(Waiting 代理退役)② 排雷玩法装板受理域增 Active·仅刷新路径 ③ 编排 owner = **战斗结算 `refresh_board`**(行动经济扣费 → 排雷玩法 retire → 棋盘生成 generate → 排雷玩法 install → 地图战斗资源 roll_board 恰一次;无结算段、无 round_end——战斗结算编排唯一性原则保持)④ 旧板旗随旧板**作废**(零兑付、旗 AP 不返还——排雷玩法 EC11 全量重置承载;确认微交互须显式提示)。**经济预警**:当场刷新无结算发生,原「敌方时间税」自惩失效——行动经济 OQ3 弃图率/刷新率预警阈值联动复核。
|
||||||
- 备选(已否决):结算期决策提示(Waiting 内联)——结算期不做刷新决策(用户拍板);挖掘期预承诺 stop+reroll 复合——决策即终轮,不符「换图继续挖」语义。
|
- 备选(已否决):结算期决策提示(Waiting 内联)——结算期不做刷新决策(用户拍板);挖掘期预承诺 stop+reroll 复合——决策即终轮,不符「换图继续挖」语义。
|
||||||
|
|
||||||
**敌人意图线索映射目录(敌人系统×4① 成文占位,2026-09-12;2026-09-16 敌人技能池批改型注记:行为环三态〔攻击/蓄力/重击〕预告随行为环退役——现行数据面 = 敌人系统三档可见性规格〔普攻零表示 / 特殊技类型级动画〔攻击系/增益系两型〕/ 暴击掷点层无前置〕,池与权重不公开;下表 grub/ambusher 三态清单留档作废,终稿资产目录随战斗表现样张批重立)**:
|
**敌人意图线索映射目录(敌人系统×4① 成文占位,2026-09-12;2026-09-16 敌人技能池批改型注记:行为环三态〔攻击/蓄力/重击〕预告随行为环退役——现行数据面 = 敌人系统三档可见性规格〔普攻零表示 / 特殊技类型级动画〔攻击系/增益系两型〕/ 暴击掷点层无前置〕,池与权重不公开;下表 grub/ambusher 三态清单留档作废,终稿资产目录随战斗表现样张批重立;**命名双轨收口注记 2026-10-06**:grub/ambusher 两键本身已随敌人系统八型批退役——现行键集 = 八敌 registry〔goblin/bugbear/ogre_chief/giant_spider/drider/duergar/hook_horror/duergar_king〕,本表键名仅为历史留痕、不得作为现行 enemy_id 引用)**:
|
||||||
|
|
||||||
| enemy_id | 视觉状态(意图线索) | 强度档位编码 | 环长编码 |
|
| enemy_id | 视觉状态(意图线索) | 强度档位编码 | 环长编码 |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
@@ -186,12 +186,11 @@
|
|||||||
|
|
||||||
```
|
```
|
||||||
1280 × 800 ────────────────────────────────────────────────────────────────────
|
1280 × 800 ────────────────────────────────────────────────────────────────────
|
||||||
┌─[B] 战斗画面 252px ──────────────────────────────────────────────────────────┐
|
┌─[B] 战斗画面 270px ──────────────────────────────────────────────────────────┐
|
||||||
│ HP▓▓▓▓░ ①HP▓▓▓░ ②HP▓▓░░ │
|
|
||||||
│ ⬆2 🛡1 [⚔特殊技] (普攻·零表示) │
|
|
||||||
│ /小人\ 第 3 轮 · 挖掘中 伏×2 伏×2 │
|
│ /小人\ 第 3 轮 · 挖掘中 伏×2 伏×2 │
|
||||||
│ (底座) [ 兑现演出区 ] /蛆虫\ /蛆虫\ │
|
│ (落影) [ 兑现演出区 ] /蛆虫\ /蛆虫\ │
|
||||||
│ ↑状态图标挂血条正下方 (结算期: 光带→弹道→受击) (底座) (底座) │
|
│ HP▓▓▓▓░ (结算期: 光带→弹道→受击) ①HP▓▓▓░ ②HP▓▓░░ │
|
||||||
|
│ ⬆2 🛡1 ←血条状态落底排·全场对齐(状态空 = 名字行)〔意图徽标悬浮头顶上方〕 │
|
||||||
│ ├─ 结算明细带 ────────────────────────────────────────────────────────────┤ │
|
│ ├─ 结算明细带 ────────────────────────────────────────────────────────────┤ │
|
||||||
│ │ ▸上轮: 主角攻击3→蛆虫-3 | 攻击+50%(1结算) | 警觉+1×2 … [展开明细▾] │ │ # 2026-09-17 数值压缩批:UI 示意文本同步(atk 7→3〔地精格数÷3 + L1 锚行;UX 示意按当前地精行值读〕、伏击 +3 → +1/层,幅度参考 data/tables/)
|
│ │ ▸上轮: 主角攻击3→蛆虫-3 | 攻击+50%(1结算) | 警觉+1×2 … [展开明细▾] │ │ # 2026-09-17 数值压缩批:UI 示意文本同步(atk 7→3〔地精格数÷3 + L1 锚行;UX 示意按当前地精行值读〕、伏击 +3 → +1/层,幅度参考 data/tables/)
|
||||||
│ └────────────────────────────────────────────────────────────────────────┘ │
|
│ └────────────────────────────────────────────────────────────────────────┘ │
|
||||||
@@ -226,7 +225,7 @@
|
|||||||
| **胜利终局** | verdict=win | 金蜡封落于**扫雷图区中央**(§2.4 字面锚定),全屏暖白金 overlay;判定行 + 「下一节点」;明细回看入口;状态图标行全清可见反馈(增益状态×4④——B 区主角站桩图标逐枚化光收回 + 微文案「状态随战斗结束消散」,防「我的 buff 哪去了」误读) |
|
| **胜利终局** | verdict=win | 金蜡封落于**扫雷图区中央**(§2.4 字面锚定),全屏暖白金 overlay;判定行 + 「下一节点」;明细回看入口;状态图标行全清可见反馈(增益状态×4④——B 区主角站桩图标逐枚化光收回 + 微文案「状态随战斗结束消散」,防「我的 buff 哪去了」误读) |
|
||||||
| **失败终局** | verdict=lose(hero hp=0,战斗段短路) | 明度不变的暮蓝 #5A6C8C 氛围 overlay(全作唯一暮蓝档);小人坐砖掸灰、插过的旗逐面化光点收回(§2.5);判定行 + 明细回看(学习用途)+「返回」;状态图标行全清可见反馈(增益状态×4④,同胜利) |
|
| **失败终局** | verdict=lose(hero hp=0,战斗段短路) | 明度不变的暮蓝 #5A6C8C 氛围 overlay(全作唯一暮蓝档);小人坐砖掸灰、插过的旗逐面化光点收回(§2.5);判定行 + 明细回看(学习用途)+「返回」;状态图标行全清可见反馈(增益状态×4④,同胜利) |
|
||||||
| **Boss 遭遇变体** | encounter=boss(遗迹守卫) | 战斗开始一次性演出:紫赤 #8F2F6A 影子爬过棋盘(§2.6);敌人立绘体量最大+锐角剪影;阶段指示附 Boss 名 |
|
| **Boss 遭遇变体** | encounter=boss(遗迹守卫) | 战斗开始一次性演出:紫赤 #8F2F6A 影子爬过棋盘(§2.6);敌人立绘体量最大+锐角剪影;阶段指示附 Boss 名 |
|
||||||
| **空态:无状态效果** | 增益状态 EC12 | 状态小图标行隐藏(B 区主角站桩血条下图标行零图标时不占位);原「C 区状态槽隐藏、HP/攻击/RAP 上移补位」裁决随 C 区槽退役(2026-09-26 信息归属拍板)作废;图例面板载空态说明(增益状态×① 成文项) |
|
| **空态:无状态效果** | 增益状态 EC12 | 状态小图标行隐藏(B 区主角站桩血条下图标行零图标时不占位;落底排〔2026-10-06 方案二〕后该行退化为名字行——主角无名字行则整行空置);原「C 区状态槽隐藏、HP/攻击/RAP 上移补位」裁决随 C 区槽退役(2026-09-26 信息归属拍板)作废;图例面板载空态说明(增益状态×① 成文项) |
|
||||||
| **调试变体** | 测试模式 | TunePanel 入口(demo 保留,正式侧元进度退役);Playtest 诊断按钮(卡死转储) |
|
| **调试变体** | 测试模式 | TunePanel 入口(demo 保留,正式侧元进度退役);Playtest 诊断按钮(卡死转储) |
|
||||||
|
|
||||||
**拒绝/作废子态**(排雷玩法×6⑥、行动经济双源——每次拒绝玩家可感知):
|
**拒绝/作废子态**(排雷玩法×6⑥、行动经济双源——每次拒绝玩家可感知):
|
||||||
@@ -445,3 +444,4 @@
|
|||||||
| 2026-09-26 | **敌方 AC 展示终裁收口(用户 2026-09-26 终裁)**:敌方 AC 数值全屏退役(任何区不直接展示)、护甲类型改图标方式展示(形状+色相双通道,终稿图标资产归美术批)、敌人站桩底座下名字行退回纯名字+护甲类型图标;旧「克制对策可读性义务」降级承载——类型保留、数值退役。终裁理由(用户口径):HP 信息已足够,攻防数值不直接写上;护甲类型图标保留克制对策可读性。同步改写:信息归属树敌人站桩行、Component Inventory 敌人站桩立绘行、OQ13。**代码实装说明**:`standee_view.gd` 改造(站桩名字行去 AC 数值 + 护甲类型图标化)由并行代码批执行,本批只做文档同步 |
|
| 2026-09-26 | **敌方 AC 展示终裁收口(用户 2026-09-26 终裁)**:敌方 AC 数值全屏退役(任何区不直接展示)、护甲类型改图标方式展示(形状+色相双通道,终稿图标资产归美术批)、敌人站桩底座下名字行退回纯名字+护甲类型图标;旧「克制对策可读性义务」降级承载——类型保留、数值退役。终裁理由(用户口径):HP 信息已足够,攻防数值不直接写上;护甲类型图标保留克制对策可读性。同步改写:信息归属树敌人站桩行、Component Inventory 敌人站桩立绘行、OQ13。**代码实装说明**:`standee_view.gd` 改造(站桩名字行去 AC 数值 + 护甲类型图标化)由并行代码批执行,本批只做文档同步 |
|
||||||
| 2026-09-27 | **UX 文档欠账处置批(用户四项拍板:player-journey 不建 / accessibility 不另立改指 HUD框架 / node-reward 改挂秘宝内容重定批 / level-clear 建档 design/gdd/ux/level-clear.md)**:① 删 §Player Context ⚠️ player-journey 未建注记,OQ1 改收口注记;② §Accessibility 头、§Transitions 减动效行、OQ2 改指 HUD框架「可访问性基线」节 + 设置与本地化待设计清单 #1(tools/doc_link_known.txt 欠账行随之清空);③ 导航残留修正——§Navigation Position 图胜利分支、§Entry/Exit 离开表、§Interaction Map 胜利 overlay 行改按现行代码实态(胜利后返回关卡画面选路;节点覆盖层 = 关卡画面域、落地奖励/恢复节点时开出;胜利/失败 overlay 组件锚 battle_end_overlay.gd)——原「胜利 → 节点奖励/恢复覆盖层」系停点前移批前残留;④ OQ3 过期陈述更正(interaction-patterns.md 2026-09-12 已建成)、OQ8 改收口注记。本批只动文档面,代码零改动 |
|
| 2026-09-27 | **UX 文档欠账处置批(用户四项拍板:player-journey 不建 / accessibility 不另立改指 HUD框架 / node-reward 改挂秘宝内容重定批 / level-clear 建档 design/gdd/ux/level-clear.md)**:① 删 §Player Context ⚠️ player-journey 未建注记,OQ1 改收口注记;② §Accessibility 头、§Transitions 减动效行、OQ2 改指 HUD框架「可访问性基线」节 + 设置与本地化待设计清单 #1(tools/doc_link_known.txt 欠账行随之清空);③ 导航残留修正——§Navigation Position 图胜利分支、§Entry/Exit 离开表、§Interaction Map 胜利 overlay 行改按现行代码实态(胜利后返回关卡画面选路;节点覆盖层 = 关卡画面域、落地奖励/恢复节点时开出;胜利/失败 overlay 组件锚 battle_end_overlay.gd)——原「胜利 → 节点奖励/恢复覆盖层」系停点前移批前残留;④ OQ3 过期陈述更正(interaction-patterns.md 2026-09-12 已建成)、OQ8 改收口注记。本批只动文档面,代码零改动 |
|
||||||
| 2026-09-27 | 关卡画面 UX spec 建档联动(关卡画面 UX 批):§Navigation Position 上游屏/下游屏行挂 [level-map.md](level-map.md) 屏级 spec 指针——关卡画面(选路覆盖层常驻形态)的布局/组件/交互/状态规格自此有独立权威文档。零机制改动 |
|
| 2026-09-27 | 关卡画面 UX spec 建档联动(关卡画面 UX 批):§Navigation Position 上游屏/下游屏行挂 [level-map.md](level-map.md) 屏级 spec 指针——关卡画面(选路覆盖层常驻形态)的布局/组件/交互/状态规格自此有独立权威文档。零机制改动 |
|
||||||
|
| 2026-10-06 | **方案二·立绘定档与站桩落底排批(用户拍板;工作流程铁律 2026-10-06 = 讨论期只动文档,代码实装另批走 PRD→迭代)**:① B 区 252→270(演出 ≈1/3 屏)/ C 区 548→530(**棋盘 438×438 原尺寸不缩、格子不变**,压缩全部由面板空档吸收)——布局表 B/C/D 三行随改;② 站桩排式重排:**立绘→血条→状态 落底排**(全场血条对齐一线;血条嵌石板位、台缘线留作地面线、落影保留),原「血条悬浮头顶」退役(高盒下血条-立绘空洞,用户点名否决)——Component Inventory 主角/敌人站桩两行随改;③ 大体档(显示 >150px 级:drider/duergar_king)头部探出盒顶压光柱区,血条仍落底;意图徽标上移头顶上方(探顶档压胸);④ 空态行措辞随改;⑤ ASCII 线框图 B 区重绘。立绘八敌源档定档归 art-bible §8.2(v3.7)与 character-design.md §5.5(体量=生物体型修订) |
|
||||||
@@ -25,9 +25,26 @@ from PIL import Image, ImageFilter
|
|||||||
|
|
||||||
FIXER_EXE_DEFAULT = r"D:\code\pixel-art-fixer\rust\target\release\pixelfixer.exe"
|
FIXER_EXE_DEFAULT = r"D:\code\pixel-art-fixer\rust\target\release\pixelfixer.exe"
|
||||||
FIXER_EXE = FIXER_EXE_DEFAULT # --fixer-exe 可覆写(__main__ 解析)
|
FIXER_EXE = FIXER_EXE_DEFAULT # --fixer-exe 可覆写(__main__ 解析)
|
||||||
STANDEE_SLOT_H = 48 # 站桩槽位源档高(×2 整数放大=盒高 96——圣经 §8.2)
|
STANDEE_SLOT_H = 48 # 主角站桩源档高(×2 整数放大=盒高 96——圣经 §8.2)
|
||||||
STANDEE_SLOT_W_MAX = 75 # 盒宽 150 的一半(超宽才按宽收,现八敌+主角均不触)
|
STANDEE_SLOT_W_MAX = 75 # 盒宽 150 的一半(超宽才按宽收,现八敌+主角均不触)
|
||||||
|
|
||||||
|
# 八敌站桩源档高 = 生物体型,不是强度档位(2026-10-06 用户裁定)
|
||||||
|
# 口径:体量按「这只生物本来多大」定;强度改由别的通道承载(Boss 的紫赤色相独占、
|
||||||
|
# 精英的垂直延伸、HUD 意图徽标)。因此下表与 §5.5 的普通/精英/Boss 档位**不对齐**——
|
||||||
|
# 例如钩爪恐魔是普通怪却比精英灰矮人大,灰矮人是精英却比普通/精英熊地精小。
|
||||||
|
# 数值经实测校准(视觉体量 = 不透明像素面积,不看高度——蜘蛛宽扁,按高度排会失真):
|
||||||
|
# 地精 828 < 灰矮人 1014 < 巨蜘蛛 1390 < 钩爪恐魔 1538
|
||||||
|
# < 熊地精 2145 < 食人魔酋长 2886 < 蛛化卓尔精灵 3513 < 灰矮人石君王 4385
|
||||||
|
STANDEE_TIER_H = {
|
||||||
|
"goblin": 36, "giant_spider": 38,
|
||||||
|
"duergar": 46, "hook_horror": 58,
|
||||||
|
"bugbear": 62, "ogre_chief": 74,
|
||||||
|
"drider": 90, "duergar_king": 94,
|
||||||
|
}
|
||||||
|
|
||||||
|
# 中间产物(pixel-1)的生成分辨率——只决定中间图有多细,**不决定最终体量**。
|
||||||
|
# 最终体量归 STANDEE_TIER_H。这里取得比最终档高越大,后续降采样越干净。
|
||||||
|
# 注意:ogre_chief 取 192 是分辨率选择(要给它更高的中间精度),不是把它归为 Boss 档。
|
||||||
SIZES = {"goblin": 96, "giant_spider": 96, "hook_horror": 96,
|
SIZES = {"goblin": 96, "giant_spider": 96, "hook_horror": 96,
|
||||||
"bugbear": 128, "duergar": 128,
|
"bugbear": 128, "duergar": 128,
|
||||||
"ogre_chief": 192, "drider": 192, "duergar_king": 192}
|
"ogre_chief": 192, "drider": 192, "duergar_king": 192}
|
||||||
@@ -440,10 +457,15 @@ def dom_block_resize(im, nw, nh):
|
|||||||
|
|
||||||
|
|
||||||
def build_standee48(batch_root, out_dir, extra_hero_states=("attack", "hit")):
|
def build_standee48(batch_root, out_dir, extra_hero_states=("attack", "hit")):
|
||||||
"""九张 48px 站桩槽位档:源=八敌 pixel-1+主角 normal_1x(extra_hero_states 追加 attack/hit,T3 起默认)。
|
"""出八敌 + 主角的站桩源档。源 = 八敌 pixel-1 + 主角 normal_1x(追加 attack/hit,T3 起默认)。
|
||||||
|
|
||||||
口径(代拍板待追认): 敌八种统一比例(最大体量归 48 高,相对体量语义=字形回退 ▂▆█ 同构);
|
口径(2026-10-06 用户裁定,取代旧的「统一比例」):
|
||||||
主角自适比例(48/56);NEAREST 零插值;内容 bbox 裁边后底中锚贴 (w,48) 透明画布。
|
1. 八敌各自按 STANDEE_TIER_H 定高——那是生物体型,不是强度档位。
|
||||||
|
旧口径是「全敌共用 48/最大值」一个系数,结果普通怪只剩 21–24px,
|
||||||
|
全部低于可读门槛(实测门槛约 32px,48px 舒适),钩爪恐魔被压成一团糊。
|
||||||
|
2. 主角仍按 STANDEE_SLOT_H(48)定高。
|
||||||
|
3. 画布高度 = 该角色自己的档高(不再是统一 48);内容裁透明边后底中锚贴底缘。
|
||||||
|
4. 降采样走 dom_block_resize(块内众数投票,零插值)。
|
||||||
"""
|
"""
|
||||||
os.makedirs(out_dir, exist_ok=True)
|
os.makedirs(out_dir, exist_ok=True)
|
||||||
enemy_srcs = {}
|
enemy_srcs = {}
|
||||||
@@ -460,23 +482,23 @@ def build_standee48(batch_root, out_dir, extra_hero_states=("attack", "hit")):
|
|||||||
if os.path.isfile(sp):
|
if os.path.isfile(sp):
|
||||||
jobs.append(("hero_%s" % st, Image.open(sp).convert("RGBA"),
|
jobs.append(("hero_%s" % st, Image.open(sp).convert("RGBA"),
|
||||||
"character_hero_%s.png" % st))
|
"character_hero_%s.png" % st))
|
||||||
max_h = max(im.height for _, im, _ in jobs)
|
|
||||||
f_enemy = STANDEE_SLOT_H / float(max_h) # 敌统一比例(体量语义)
|
|
||||||
made = []
|
made = []
|
||||||
for key, im, out_name in jobs:
|
for key, im, out_name in jobs:
|
||||||
l, t, r, b = _bbox_alpha(im)
|
l, t, r, b = _bbox_alpha(im)
|
||||||
im = im.crop((l, t, r, b))
|
im = im.crop((l, t, r, b))
|
||||||
f = f_enemy if key != "hero_normal" and not key.startswith("hero_") else STANDEE_SLOT_H / float(im.height)
|
is_hero = key == "hero_normal" or key.startswith("hero_")
|
||||||
|
slot_h = STANDEE_SLOT_H if is_hero else STANDEE_TIER_H.get(key, STANDEE_SLOT_H)
|
||||||
|
f = slot_h / float(im.height)
|
||||||
nw, nh = max(1, int(round(im.width * f))), max(1, int(round(im.height * f)))
|
nw, nh = max(1, int(round(im.width * f))), max(1, int(round(im.height * f)))
|
||||||
if nw > STANDEE_SLOT_W_MAX: # 超宽兜底(现无触)——按宽收再贴底
|
if nw > STANDEE_SLOT_W_MAX: # 超宽兜底(现无触)——按宽收再贴底
|
||||||
k2 = STANDEE_SLOT_W_MAX / float(nw)
|
k2 = STANDEE_SLOT_W_MAX / float(nw)
|
||||||
nw, nh = STANDEE_SLOT_W_MAX, max(1, int(round(nh * k2)))
|
nw, nh = STANDEE_SLOT_W_MAX, max(1, int(round(nh * k2)))
|
||||||
body = dom_block_resize(im, nw, min(nh, STANDEE_SLOT_H))
|
body = dom_block_resize(im, nw, min(nh, slot_h))
|
||||||
canvas = Image.new("RGBA", (nw, STANDEE_SLOT_H), (0, 0, 0, 0))
|
canvas = Image.new("RGBA", (nw, slot_h), (0, 0, 0, 0))
|
||||||
canvas.alpha_composite(body, (0, STANDEE_SLOT_H - body.height)) # 底中锚:脚贴画布底缘
|
canvas.alpha_composite(body, (0, slot_h - body.height)) # 底中锚:脚贴画布底缘
|
||||||
outp = os.path.join(out_dir, out_name)
|
outp = os.path.join(out_dir, out_name)
|
||||||
canvas.save(outp)
|
canvas.save(outp)
|
||||||
print("standee48 %-14s %sx%s -> %s" % (key, nw, STANDEE_SLOT_H, outp))
|
print("standee %-14s %sx%s -> %s" % (key, nw, slot_h, outp))
|
||||||
made.append(outp)
|
made.append(outp)
|
||||||
return made
|
return made
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user