diff --git a/design/art/art-assets-checklist.md b/design/art/art-assets-checklist.md index 3bbb6569..9cebcf56 100644 --- a/design/art/art-assets-checklist.md +++ b/design/art/art-assets-checklist.md @@ -128,10 +128,11 @@ - **风格/规格**:♻ 素材站复用优先——通用增益/减益图标包改色为墨族,按 §4.6.1 极性列统一叠极性视觉(有利=金族满框/有害=红族缺框,art-bible §4.6 通道分配全键族通用),过复用闸四道(灰度可辨=色弱冗余通道);⚙ 兜底程序化。一键一纹样、映射按 effect_id 全局恒定禁换图(图标键契约)。 - **现状**:已接入(2026-09-24,定稿九枚入 HUD 状态槽,合并 71ae51c;色板量化豁免=用户逐键验收的自产件,非外采)。 -### 3.5 营地与元进度件(2026-09-23 新登记,此前清单漏登记) +### 3.5 营地场景图(2026-10-22 重写;原「营地与元进度件·三柜台」条目作废) -- **要什么**:钥石顶栏图标、永久强化条目图标(营地三柜台货架件)、柜台场景贴图(属性锻造/秘宝匣/奖励格图鉴)。 -- **来源/规格**:图标类 ♻ 通用钥匙/强化图标改色过闸;柜台场景贴图 ♻ 木石材质件拼装或 ✦ 插画级(烛光黄 `#F6C667` + 木色 `#8A5A34`,art-bible §4.4);排期归 UI 贴图重构批(营地现为程序化占位,状态记录 121⑧ 口径)。 +- **要什么**:营地场景图 9 张——`scene_camp_bg`(背景)+ `scene_camp_gate / forge / chest / notebook / dummy / board / campfire`(七个可点物件)+ `scene_camp_bed`(承载件)。钥石顶栏图标沿用现役 `icon_keystone`。 +- **来源/规格**:**✦ 插画级**(作者自跑远程生图管线);烛光黄 `#F6C667` + 木色 `#8A5A34`(art-bible §6.2);2× 源档出图、最近邻降采样到 1280×800;后处理=抠底/降采样/色板量化/描边统一。**每张出图须登记模型名+分辨率+seed+对话/日期**。 +- **排期**:营地交互重做**美术自立批**(不占迭代位;UI 贴图重构批已搁置)。终稿落 `game/assets/art/scene/`,消费常量 `UiKit.TEX_CAMP_*`。 - **现状**:全占位。 ### 3.6 字体(数字像素字 + 中文像素字)(2026-09-23 新登记,此前清单漏登记) @@ -172,7 +173,7 @@ └─> 敌人卡形态裁决 ✅已完成(2026-09-20 拍板全站桩,卡片式退役) 徽章(3.1)/节点图(3.2)/效果图标(3.4) —— 独立线,可随时插队 ♻ 复用件(3.2/3.4/3.5/3.6/演出粒子) —— 不依赖样张,可随时插队(入包闸 = §0 复用四道) -字体(3.6)接入归表现批;营地件(3.5)归 UI 贴图重构批 +字体(3.6)接入归表现批;营地场景图(3.5)归营地交互重做美术自立批 分辨率档位 ✅已定案(1280×800 + 1920×1080,2026-09-22 用户确认);art-bible §8 资产规范 ✅已成文(2026-09-23)——像素基准/画布/命名/帧数候选值就位,终值归样张批冻结 ``` diff --git a/design/art/art-bible.md b/design/art/art-bible.md index 3c13e9e8..82beadfc 100644 --- a/design/art/art-bible.md +++ b/design/art/art-bible.md @@ -71,7 +71,7 @@ > 本节服从第 1 节宣言「明快的地牢,轻快的扫荡,仔细的推理」。能量值为全作统一 0–10 刻度:0 静谧 → 10 沸腾。 > -> **明度分层(硬规则,2026-09-29 v3.0 替代「明度恒定」)**:明度按视觉层分带——**信息面层**(数字/UI 数据/预告/语义标识)最高、**世界中层**(格底顶面/角色/物件)居中、**世界底层**(背景/纵深/远景/已开空间)可更低;层间明度差服务空间纵深与光照(Moonlighter 式洞穴层次)。**禁令保留**:明度变化仍禁止用于**状态表达与情绪表达**——状态区分只允许**色相、饱和、运动、元素**四手段;roguelike 失败重开,世界无光暗记忆;Darkest Dungeon 式压暗仍在 §9.2 反面清单。**允许域**:空间纵深、光照氛围、形体塑造(砖缘立体面既有例外上升为通则)。类型微光的明度梯度(§4.2)属信息面层内梯度,不扰世界层明度档。 +> **明度分层(硬规则,2026-09-29 v3.0 替代「明度恒定」)**:明度按视觉层分带——**信息面层**(数字/UI 数据/预告/语义标识)最高、**世界中层**(格底顶面/角色/物件)居中、**世界底层**(背景/纵深/远景/已开空间)可更低;层间明度差服务空间纵深与光照(Moonlighter 式洞穴层次)。**禁令保留(2026-10-22 缩窄至情绪域)**:明度变化禁止用于**情绪表达**——画面不得靠压暗/渐晕阴沉下来;roguelike 失败重开,世界无光暗记忆;Darkest Dungeon 式压暗仍在 §9.2 反面清单。**状态表达不受本禁令约束**:状态可用明度、色相、饱和、运动、元素任一手段承载。roguelike 失败重开,世界无光暗记忆;Darkest Dungeon 式压暗仍在 §9.2 反面清单。**允许域**:空间纵深、光照氛围、形体塑造(砖缘立体面既有例外上升为通则)。类型微光的明度梯度(§4.2)属信息面层内梯度,不扰世界层明度档。 ### 2.1 挖掘阶段(核心状态,占时最长) @@ -135,7 +135,7 @@ - **色彩性格**:全作最暖:烛光黄与木色,中等饱和,无棋盘式高对比 - **氛围形容词**:温暖、笃实、归属 - **能量**:3/10 -- **承载元素**:营地三柜台(属性锻造/秘宝匣/奖励格图鉴)在烛光下一字排开——场景构成、柜台亮光与钥石呈现位连同系统语义边界一并见 §6.2 +- **承载元素**:**一张可点击的营地场景图**——远景天空与远山,中景围栏与半开的营地大门,近景中央的篝火,左侧锻炉铁砧,右侧床铺与宝箱、床边的笔记本,另有木桩与挂在围栏上的布告板;点画面里的物件进入对应界面(冒险/锻造工坊/秘宝匣/生涯记录/天赋树/图鉴/离开营地)。钥石余额常驻画面顶部的一行小 HUD 栏。场景构成、七物件绑定与呈现位见 §6.2 ### 状态间区分度自检 @@ -204,6 +204,8 @@ **色板增量纪律(2026-10-06 P2 对账批新增;数值状态 = **待定现用**)**:全作色板硬上限 **48 色**(现行 ≈45,余量 3——2026-10-14 迭代 26 新入 GOLD_BRIGHT/HERO_BLUE_BRIGHT/SLOT_BACKDROP_SOFT 三枚 UI 亮档/柔和档 token,均已过 §4.2 语义检查〔不占语义色段〕与 RGB 三通道差 ≥8/255 两道门;审计"色板逼近失控线"的封口条款);新色入板须同时过两道门:①§4.2 语义检查(不占语义色段/禁入带);②**与既有任一色的 RGB 三通道差 ≥8/255**——反例即审计实证:#3A2E22 ↔ #362B20 三通道差均 <5,肉眼不可辨,同板共存只增噪。不过门即触发「换色合并」(把意图色并进最近既有色),**禁加色绕行**;加色义务顺带登记于本表修订。**「待定现用」态释义(2026-10-06 用户立第三态)**:数值**现行即执法**(色板检查器按此拦,§8.3)——非候选(不存在"等冻结"空窗)、非死规(后续需求引入时可变);调整走本节修订并登记,改值 = 修订不是违约。 +- **色板分层(2026-10-22 作者裁)**:色板分两层管理——① **语义/UI token 板**:全作共享,硬上限 **48 色**,管 UI 语义色、墨色、材质色,跨屏恒定;② **场景环境子板**:**每屏一套,≤32 色,允许跨屏不共享**(环境色=天空、地面、植被、石材、火焰等随场景走的颜色)。新增环境色仍须过两道门(§4.2 语义检查 + 与既有任一色 RGB 三通道差 ≥8/255),但**不占用 48 token 额度**;不过门照旧走「换色合并」,**禁加色绕行**。单张 PNG 的像素域色数上限 **≤32 色**另由 `standee_asset_check` 执法(像素域口径,与本表 token 口径互不干扰)。额度不足时呈报作者,由作者决定压缩或合并既有色。 + ### 4.2 语义色彩规则 > **适用域(2026-09-29 v3.0 立)**:本节「X 只说 Y」约束**信息层**(格内信息/UI 数据/预告/语义标识)与**语义物件**(GP=收益金、血条=危险红等);**纯环境氛围**(背景/装饰变体/远景/非语义物件)不受色相独占约束,改受 §3.4 焦点预算与低饱和后退约束(不抢读即可用色)。禁入带 300°–345°:信息层与语义物件禁入不变;环境层可入但限低饱和(高饱和紫赤仍 Boss 独占,§2.6)。 @@ -364,8 +366,11 @@ ### 6.2 营地场景 - **情绪与色域**:承载 §2.8——全作最暖:烛光黄 `#F6C667` × 木色 `#8A5A34`(§7.2),中等饱和,无棋盘式高对比。 -- **场景构成**:营地三柜台(属性锻造/秘宝匣/奖励格图鉴)在烛光下一字排开,钥石余额常驻顶栏;柜台 = 石板圆角容器(§7.1)+ 木石材质贴图;每购得一件永久强化,对应柜台亮起一格暖光——亮起只走饱和/色相手段,不动明度(§2)。 -- **事实源边界**:柜台与钥石的系统语义(解锁条件/价格/存档写入)归元进度 GDD 与 `MetaProgression`,本节只定画法;贴图与图标资产归清单 §3.5;现行以程序化占位承载(占位完成条款见 §7.1)。 +- **场景构成**:一张可点击的营地场景图(1280×800,与工程档同幅面)。远景=天空与远山;中景=木围栏与**半开的营地大门**(门洞内一条通向远处的小路);近景=中央篝火、左侧锻炉铁砧、右侧床铺与宝箱、床边的笔记本,另有木桩与挂在围栏上的布告板。七个可点物件的功能绑定归 `camp.md`,本节只定画法。 +- **交付形态**:**背景 1 层 + 七个物件各 1 层**(床铺为承载件、不可点),共 8 张透明 PNG + 一份坐标表(贴图矩形/命中矩形/z 序)。**篝火例外**:命中矩形只取下半(火堆),上半(火焰)只作特效展示。 +- **交互四态(零新素材,全部程序化)**:悬停=**轮廓亮边 + 浮动**(浮动须整像素吸附);按下=位移 1px;**禁用/未解锁=降明度 + 去饱和**(§2 已缩窄至情绪域,状态表达不受限),**仅锻炉(锻造工坊)与宝箱(秘宝匣)两件会有此态**;已解锁=常态。 +- **钥石余额**:常驻画面顶部的一行小 HUD 栏(高 48px,**浮层覆盖,不挤压画面**)。 +- **事实源边界**:解锁条件/价格/存档写入归元进度 GDD 与 `MetaProgression`;素材命名与路径归 `asset-path-map`;清单登记归 `art-assets-checklist` §3.5。 ### 6.3 三关图类型色板候选(board_type 换挡方向) @@ -433,7 +438,7 @@ ### 7.5 营地界面 -- 三柜台界面画法 = §6.2 场景构成 + §7.2 最暖色域;柜台货架件 = 永久强化条目图标 + 价格(图标归清单 §3.5);钥石余额常驻顶栏(呈现位与系统语义边界见 §6.2);界面视觉终稿以表现层样张过审为前置(§1.4 整屏样张闸),现行以程序化占位承载(占位完成条款见 §7.1)。 +- 营地界面=**一张可点击的场景图 + 七物件点选**:点画面里的物件进入对应界面(冒险/锻造工坊/秘宝匣/生涯记录/天赋树/图鉴/离开营地)。场景图的画法、分层与四态见 §6.2;色域走 §7.2 最暖一档;钥石余额常驻顶部一行小 HUD 栏。界面视觉终稿以表现层样张过审为前置(§1.4 整屏样张闸)。 ### 7.6 引擎原生控件与按钮状态规格(2026-10-14 迭代 25/26 反哺写入——原无条款,两批实现=临时权威,本批按呈报转正) @@ -444,7 +449,7 @@ - **五态齐全**:全站按钮(普通/主/危险三厂)必须五态非空——常态 / 悬停 / 按下 / 禁用 / 键盘焦点;任一态缺档即违本条(旧态:悬停填常态图=无反馈、禁用错配按压图、焦点全站空白)。 - **悬停 = 常态图 + modulate 提亮**(乙案):提亮档 `Color(1.06,1.06,1.06)`,零素材;主钮承 `CANDLE.lightened(0.06)` 同纪律。 - **按下 = 本族下沉**:石纹钮 `button_stone_pressed` 九宫格;危险钮补本族 pressed 深档(深红 `darkened(0.18)`——旧承石纹按压图错配退役)。 -- **禁用 = 本族底 + α0.45 幽灵化**(甲案):flat 两厂 bg+border 同 α 全幽灵化,取代旧「disabled=按压图」错配;文字禁用色同档。 +- **禁用 = 本族底 + α0.45 幽灵化**(甲案):flat 两厂 bg+border 同 α 全幽灵化,取代旧「disabled=按压图」错配;文字禁用色同档。 (注:本条管 **UI 按钮**;营地场景图里的**物件**禁用态另按 §6.2——降明度 + 去饱和,不走 α 幽灵化。) - **键盘焦点 = INK 2px 内缩 1px 环**(甲案):负 expand margin 实现内缩;引擎 focus 样式盒叠加绘制、不遮钮底(「三类钮底可辨性实比」设计语言成立);逐实例 override、**主题层零新增词条**(冒烟双红线在闸)。 - 新增按钮位须同批过五态清单;验收 = §1.4 样张 + 冒烟五态断言。 diff --git a/design/art/art-status-checklist.md b/design/art/art-status-checklist.md index e85c4f33..8eb3794c 100644 --- a/design/art/art-status-checklist.md +++ b/design/art/art-status-checklist.md @@ -29,7 +29,7 @@ | 关卡节点图图标组 | ◐ | [art-assets-checklist](art-assets-checklist.md) §3.2(正式 UI 设计未成文) | | 雷/封印印记/数字砖面全套 | ◐ | [art-bible](art-bible.md) §1.4/§3.2(前置:格子样张) | | 增益状态效果图标 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) §6.2 | | 字体(数字像素字 + 中文像素字) | ◐ | [art-bible](art-bible.md) §4.4 | ## P3 演出类(样张后排期) diff --git a/design/art/asset-path-map.md b/design/art/asset-path-map.md index 6173e83d..f71652af 100644 --- a/design/art/asset-path-map.md +++ b/design/art/asset-path-map.md @@ -27,6 +27,7 @@ |---|---|---| | `character/` | 角色棋盘帧 + B 区立绘 | character_hero_idle/walk(棋盘 32×32 朝左基准)、character_hero_portrait(B 区立绘 46×48)+ character_enemy_<键> 八敌 | | `fx/` | 特效帧 | shovel_swing_f0/f1/f2(挥铲三帧,握把锚 (18,12)) | +| `scene/` | **场景图**(背景层 + 可点物件层;2026-10-22 新增,营地场景图首批) | `scene_camp_bg`(背景)+ `scene_camp_gate / forge / chest / notebook / dummy / board / campfire`(七个可点物件)+ `scene_camp_bed`(承载件,不可点) | | `board/` | 砖面/封印印记(三关换皮 + 封印印记件;2026-10-06 对账更正——旧 `board_floor/wall/pillar_dungeon_*` 命名退役) | terrain_floor__.png(三关地面系)、seal_mark.png | ## 4. 坐标/朝向等工程侧约定备查 diff --git a/design/gdd/01-核心循环.md b/design/gdd/01-核心循环.md index 8b3b7a80..f6263441 100644 --- a/design/gdd/01-核心循环.md +++ b/design/gdd/01-核心循环.md @@ -153,7 +153,7 @@ | 层 | 档位语义 | 落地口 | |---|---|---| -| 秘宝 | 档位越高,解锁条件越苛刻(通关数/Boss 击杀/生涯里程碑谓词);装配面同调位分档(槽位可装 ≤ 槽位档位的件,向下兼容) | `unlock_requires` 字段 + 工坊柜台 + 里程碑分档发槽 | +| 秘宝 | 档位越高,解锁条件越苛刻(通关数/Boss 击杀/生涯里程碑谓词);装配面同调位分档(槽位可装 ≤ 槽位档位的件,向下兼容) | `unlock_requires` 字段 + 锻造工坊界面 + 里程碑分档发槽 | | 奇物 | 档位越高,出现概率越低(配额与权重) | 令牌池配额;专长 rarity 接 Boss 三选一按档配比/加权(约束见下) | | 地图战斗资源 | 档位=概率位 + 保底上限(T1-T4 四档池) | [地图战斗资源](systems/战斗循环/地图战斗资源.md)「四档概率结构与保底」节 | diff --git a/design/gdd/02-系统清单.md b/design/gdd/02-系统清单.md index 6cc119d1..32f9c1da 100644 --- a/design/gdd/02-系统清单.md +++ b/design/gdd/02-系统清单.md @@ -79,7 +79,7 @@ | `level-map.md` | 关卡画面 UX spec:选路枢纽独立屏三停点布局、GP 常驻徽章、底栏状态栏 | 定稿版·独立屏+视觉终稿已冻结 | | `node-reward.md` | 节点奖励屏 UX spec:奖励节点提升三选一选择面、六种令牌池与刷新双源(与商店货架同库;通关三选一候选=纯专长,见 level-clear) | v2.5·令牌池在役 | | `settlement-summary.md` | 结算总结 UX spec:战斗总结结算(战斗胜利面)与冒险总结结算(冒险终结面)——两面分节的纯呈现轻量 spec | v1.2·纯呈现已实装面成文 | -| `camp.md` | 营地覆盖层 UX spec:三柜台呈现、钥石余额、退役/封存件状态语义(存档级/局外呈现面) | v1.1 | +| `camp.md` | 营地场景 UX spec:可点击场景图与七物件点选、钥石余额、各功能界面入口(存档级/局外呈现面) | v1.1 | | `shop.md` | 商店覆盖层 UX spec:令牌级货架(与三选一同池)、GP 余额与付费刷新、购买/离开(中循环节点兑付呈现面) | v1.1 | ## 子系统命名对照表(中文规范名 ↔ 英文代号) diff --git a/design/gdd/03-内容规模.md b/design/gdd/03-内容规模.md index 823315c1..0c876931 100644 --- a/design/gdd/03-内容规模.md +++ b/design/gdd/03-内容规模.md @@ -56,7 +56,7 @@ MVP 不加新状态;扩容走 `status_effects.tres` 加行 + [增益状态](sy **一套元进度配置**(`data/tables/meta.tres`,现行行数读表为准):属性锻造商品三行(生命上限 / 基础攻击 / 护甲等级的 flat 档与几何定价参数)、Boss 钥石两档三行(首杀 / 重复杀)、秘宝匣阈值六行、区间平移换算率三行(数值占位 0 = 未标定合法态)。 -数值全部 provisional(骨架先行、数值后置)——机制归[元进度](systems/跨局循环/元进度.md),数值标定随元进度设计批配读数。扩柜台或改定价结构走 `meta.tres` 加行 + [元进度](systems/跨局循环/元进度.md)补行。 +数值全部 provisional(骨架先行、数值后置)——机制归[元进度](systems/跨局循环/元进度.md),数值标定随元进度设计批配读数。扩锻造路线或改定价结构走 `meta.tres` 加行 + [元进度](systems/跨局循环/元进度.md)补行。 ## 暂不做 / 后续再说 diff --git a/design/gdd/05-不做清单.md b/design/gdd/05-不做清单.md index 3fab7430..b666755d 100644 --- a/design/gdd/05-不做清单.md +++ b/design/gdd/05-不做清单.md @@ -19,7 +19,7 @@ - **多波战斗**:Peglin 对比报告(2026-09-12)裁下的后置项。单场多波是战斗编排级的改动,波间状态保留规则也要重新定义,排 Alpha 期评估。 - **遗物 / 构筑协同**:同批裁下。先做协同设计再谈加密度,没有协同的纯堆量只会稀释每件道具的存在感。 - **战后回复**:同批裁下。要做得绑定敌方攻击力下调,单独加回复会直接破坏现有数值预期。 -- **元进度(钥石解锁 / 跨局成长)**:排 Alpha,首批已落地(营地三柜台 / 钥石 / 跨局注入)。铺量与标定仍是之后的事。 +- **元进度(钥石解锁 / 跨局成长)**:排 Alpha,首批已落地(营地 / 钥石 / 跨局注入)。铺量与标定仍是之后的事。 - **反雪球机制**:MVP 不做。等 Alpha 拿到真实测试数据,再决定要不要治滚雪球、怎么治。 - **正式音频、教学引导、战斗动画演出、设置与本地化**:MVP 内的打磨项,一律排后。先验证核心循环,再谈好听好看。 - **连刷 / 换图资金跨战斗携带**:现行规则是每场战斗清零,防滚雪球。是否解禁连刷策略,等实测数据说话。 diff --git a/design/gdd/08-Alpha版本标准.md b/design/gdd/08-Alpha版本标准.md index a314984b..e1dc80d2 100644 --- a/design/gdd/08-Alpha版本标准.md +++ b/design/gdd/08-Alpha版本标准.md @@ -103,7 +103,7 @@ Alpha 内以玩法循环本身的内容与表现为主(棋盘、关卡、战 | 主菜单 | —— | 在役(迭代 33 卡②三入口化:进入存档/设置/退出游戏——入口拓扑=进入存档→选档界面→进档/新档→营地覆盖层→〔迭代 34 卡④〕营地场景图与生涯笔记本;2026-10-22 用户裁换代〔反哺 #13〕) | | 开始覆盖层 | —— | 在役 | | 选档界面(3 存档位) | —— | 在役(迭代 33 卡③——空槽新档/有档进档/删档二次确认+摘要三项;2026-10-22 用户裁增行〔反哺 #8〕) | -| 营地(天赋树 / 锻造工坊 / 秘宝匣 / 图鉴) | [camp](ux/camp.md) | 在役(锻造柜台占位面板注已解除;柜台贴图占位随营地交互重做列入 Alpha,见下行) | +| 营地(天赋树 / 锻造工坊 / 秘宝匣 / 图鉴) | [camp](ux/camp.md) | 在役(场景图与七物件点选随营地交互重做列入 Alpha,见下行) | | 营地交互重做(五卡:存档制数据层/主菜单三入口/选档界面/营地场景图/Esc 浮窗与营地顶栏) | [camp](ux/camp.md)+[需求澄清](../../reports/需求澄清-营地交互重做-2026-10-18.md) | 部分实装(卡①②③ 已随迭代 33 实装合回,2026-10-22;卡④营地场景图 2026-10-21 用户令退回美术设计段、挂三个用户侧前置未销号:美术渠道 A/B、点选反馈设计稿、参照物;卡⑤ Esc 浮窗随卡④ 代码波同行、未编排。2026-10-21 用户裁:五卡整体列入 Alpha。出口=五卡各自验收标准通过+营地屏用户目检通过) | | 生涯页 | [生涯](systems/跨局循环/生涯.md) | 在役(期一) | | 关卡地图屏 | [level-map](ux/level-map.md) | 在役 | @@ -197,7 +197,7 @@ Alpha 内以玩法循环本身的内容与表现为主(棋盘、关卡、战 | 第四关 | 排 Beta;全库无设计承载,N>3 走扩展批流程([03-内容规模](03-内容规模.md)) | | 生涯期二(历史冒险回看)与期三(图鉴) | 排 Beta;Alpha 只保留期一([生涯](systems/跨局循环/生涯.md)) | | 素材升档重产 | 排 Beta;原始动机已由八敌逐键定档解决,剩余提灯候选随 Beta 资产批重议([待办清单](../../待办清单.md)) | -| 元进度件贴图终稿 | 排 Beta;元进度图标在 Alpha 保留占位,不碍在役判定([美术资产清单](../art/art-assets-checklist.md))——营地柜台贴图已随营地交互重做列入 Alpha(见「三 · 界面」表) | +| 元进度件贴图终稿 | 排 Beta;元进度图标在 Alpha 保留占位,不碍在役判定([美术资产清单](../art/art-assets-checklist.md))——营地场景图已随营地交互重做列入 Alpha(见「三 · 界面」表) | --- diff --git a/design/gdd/systems/表现与支撑/HUD框架.md b/design/gdd/systems/表现与支撑/HUD框架.md index 50570a4c..3fe65aaf 100644 --- a/design/gdd/systems/表现与支撑/HUD框架.md +++ b/design/gdd/systems/表现与支撑/HUD框架.md @@ -170,9 +170,9 @@ HUD框架站在玩家与全部玩法系统之间:挖掘期它是输入的翻 **实施状态(2026-10-03 迭代 11 第④批已入库)**:迷雾遮蔽+菱形灯光区跟随+暗淡记忆态上线,探针断言顺带扩(ui_input_probe case⑮)。四裁决逐条对账——①案甲视野迷雾立项(纯呈现层):迷雾开关分层验证可用(呈现态布尔,off 态=无迷雾基线),同板同动作序列与 MC 逐项比对逐位一致;②暗淡记忆态:区外已开格灰显+数字可读,明度按 [art-bible](../../../art/art-bible.md) §6.5 写入文档值(记忆板 #3A3A3A/记忆墨 #C4C4C4,provisional);③灯光半径=微光环 8 格同圈:LIGHT_RADIUS=8 参数化(曼哈顿菱形,常量);④提灯 +2、微光不扩:FOG_LANTERN_BONUS=+2(落码常量实名——本条旧记 LIGHT_RADIUS_LANTERN_BONUS 系文档侧拟名,随卡④入库对齐),类型微光仍贴身 8 邻格零改动。**〔2026-10-05 迭代14⑤接线注记〕公共接线面已就位**——`board_view.set_fog_lantern(enabled)`(true=半径 8+2、false=复原 0;写入即 refresh 重算雾态),半径算式消费 `_fog_lantern` 迷雾批已在位;ui_input_probe case⑮ 增接线断言(开=dist 9 格转可见+lantern=2/关=复原)。**〔2026-10-08 迭代 19 卡④入库注记〕载体到位+接线闭环=功能可达**——载体=秘宝·同调位新行 `fog_lantern`「魔法提灯」(treasure_items.tres 表尾追加,desc「灯光区半径+2」,slot_cost 1、营地秘宝匣同调装配获渠,行字段=用户「按推荐」全收);生产路径=runner set_attunement→enc.attunement→begin_battle 注入 orchestrator 装配集→公共只读出口 `attune_has`→组合根呈现桥 `main._sync_fog_lantern` 每战首轮装配链**显式重算含否**(🔴 复原语义=禁战斗结束隐式复原——卸装/未装配写 0,断点续玩/跨关天然正确);未装配=false 写 0=缺省零扰动基线逐位不变。顺带测试:case⑮ 载体级段(装配→lantern=2+dist R+1 转可见+卸装复原)+smoke 行字段/同调目录投影(九件→十件)/装配贯通断言+存档回归 Part 6+单测 fog_lantern_wiring(run_all 17→18 套)。原「提灯载体归 aux_items 新行随 Alpha 信息件重定批」登记去向就此注销(改道留痕=需求卡片-提灯载体道具批-2026-10-07 §一)。验收线(本篇「验收标准」视野迷雾行)逐条转正式验收:区内完整渲染/区外已开格灰显可读/区外未开格不可见/灯光区随移动跟随/两态结算逐位一致;实机目检人闸(迷雾观感/记忆态可读性/移动跟随流畅度)随出口闸。黑暗区域渲染规格承载 = art-bible §6.5(v3.5)。 -### 营地覆盖层:四柜台并排(程序占位——视觉终稿归营地视觉批) +### 营地:可点击场景图(旧四柜台并排形态已随卡④改版取代) -营地覆盖层自 2026-10-12(迭代 21 落地)为**四柜台并排**布局:①树淬炼(树脊柱界面形态,营地主界面)②锻造工坊(钥匙门+点亮展开工作间)③秘宝匣(钥匙门+目录与同调装配)④奖励格图鉴(常开无门槛)——宽度不足横向滚动兜底;全部程序占位视觉(占位纪律延续,2026-10-11 用户令),**视觉与布局终稿归 HUD 营地视觉批**(未立项)。结构现行事实源 = [天赋树](../跨局循环/天赋树.md)「营地=树:统一模型」节(2026-10-13 迭代 21 反哺⑤写入文档登记——本篇原无营地柜台登记面,顺带补缺)。 +营地形态**已换代为一张可点击的场景图 + 七物件点选**(2026-10-22 卡④美术设计段定稿,现行权威=[camp](camp.md));2026-10-12(迭代 21 落地)起至换代前的旧形态为**四柜台并排**布局:①树淬炼(树脊柱界面形态,营地主界面)②锻造工坊(钥匙门+点亮展开工作间)③秘宝匣(钥匙门+目录与同调装配)④奖励格图鉴(常开无门槛)——宽度不足横向滚动兜底;全部程序占位视觉(占位纪律延续,2026-10-11 用户令),**视觉与布局终稿归 HUD 营地视觉批**(未立项)。结构现行事实源 = [天赋树](../跨局循环/天赋树.md)「营地=树:统一模型」节(2026-10-13 迭代 21 反哺⑤写入文档登记——本篇原无营地柜台登记面,顺带补缺)。 ### 可访问性基线:看得清、不闪、纯鼠标玩得通 diff --git a/design/gdd/systems/跨局循环/元进度.md b/design/gdd/systems/跨局循环/元进度.md index 2839218c..9c493d7e 100644 --- a/design/gdd/systems/跨局循环/元进度.md +++ b/design/gdd/systems/跨局循环/元进度.md @@ -20,7 +20,7 @@ | 负责 | 说明 | |---|---| | 钥石(存档级) | 钥石入存档、永不丢失;换强化花了多少、还剩多少 | -| 营地三柜台 | 属性锻造 / 秘宝匣 / 奖励格图鉴——永久强化的全部内容承载(见核心规则) | +| 营地功能界面 | 锻造工坊 / 秘宝匣 / 奖励格图鉴——永久强化的全部内容承载(见核心规则) | | Boss 重复击杀的钥石产出规则 | 首杀全量、重复杀固定小额(数值读表) | | 换算率表 | 永久强化对难度带影响的折算登记(区间平移换算率,见核心规则) | | 永久强化的跨局生效 | 解锁结果在开始新冒险时注入下一局(冒险开始参数面 + 覆盖值通道) | @@ -35,7 +35,7 @@ | 换算率表数值行与配置表承载 | [数据配置](../表现与支撑/数据配置.md)——本系统登记键结构、设计批回填数值 | | 营地界面、钥石余额与解锁呈现 | [HUD 框架](../表现与支撑/HUD框架.md)——本批只拍交互框架(双入口),视觉与实现随对方 | | 难度区间模型本身 | [难度曲线与Boss](../冒险循环/难度曲线与Boss.md)——本文只经区间平移换算率接入 | -| 奖励格图鉴的格子内容设计 | [地图战斗资源](../战斗循环/地图战斗资源.md)(差异化批,排 Alpha)——本文只登记柜台结构位 | +| 奖励格图鉴的格子内容设计 | [地图战斗资源](../战斗循环/地图战斗资源.md)(差异化批,排 Alpha)——本文只登记功能界面结构位 | ## 在核心循环中的位置 @@ -55,25 +55,25 @@ **重复获取规则(2026-09-18 用户拍板)**:同一 Boss **首次击杀给大额**,之后的重复击杀只给**固定小额**——不设递减曲线,存档只记首杀标记位。设计意图:深度关的产出优势是长线驱动(配合定价几何递增,见下),重复刷老关仍有小额意义但不构成无上限的产出泵。两档数值与两渠道量级配比归元进度设计批配读数投值,行值读表。 -### 营地三柜台:永久强化的内容承载 +### 营地功能界面:永久强化的内容承载 -玩家结束一次冒险回到存档内的营地,用钥石在三柜台消费(2026-09-18 用户拍板): +玩家结束一次冒险回到存档内的营地,用钥石在营地各功能界面消费(2026-09-18 用户拍板): -| 柜台 | 内容 | 解锁渠道 | +| 功能界面 | 内容 | 解锁渠道 | |---|---|---| | 属性锻造 | 生命上限、基础攻击、护甲等级——三档可重复升级的属性强化 | 钥石直购 | -| 秘宝匣 | 秘宝解锁与同调装配——**件的目录与效果权威定义在[秘宝](秘宝.md)「目录(重设计 v1)」**(12 件三档〔2026-10-11 裁回能器删/换装券撤/第四只手删〕;旧目录全退役只作素材库) | 解锁=混合制(基础件钥石购买/特定件条件解锁——见秘宝.md「道具从哪来」;装配只在冒险开始前配置,冒险中零更换途径〔2026-10-11 终裁〕);**迭代 22 实装批落地(2026-10-12)**:购买钮(余额不足禁用态)+条件解锁进度呈现+分档装配呈现(名后缀·档位/未解锁禁装)+空目录合法态;柜台数据投影=`treasure_shop_status`(解锁态/条件进度/价格单点);旧道具工坊渠道面(行族/词表/解锁函数)已顺带退役;钥石定价与阈值 provisional 归调参批 | +| 秘宝匣 | 秘宝解锁与同调装配——**件的目录与效果权威定义在[秘宝](秘宝.md)「目录(重设计 v1)」**(12 件三档〔2026-10-11 裁回能器删/换装券撤/第四只手删〕;旧目录全退役只作素材库) | 解锁=混合制(基础件钥石购买/特定件条件解锁——见秘宝.md「道具从哪来」;装配只在冒险开始前配置,冒险中零更换途径〔2026-10-11 终裁〕);**迭代 22 实装批落地(2026-10-12)**:购买钮(余额不足禁用态)+条件解锁进度呈现+分档装配呈现(名后缀·档位/未解锁禁装)+空目录合法态;界面数据投影=`treasure_shop_status`(解锁态/条件进度/价格单点);旧道具工坊渠道面(行族/词表/解锁函数)已顺带退役;钥石定价与阈值 provisional 归调参批 | | 奖励格图鉴 | 特殊奖励格的解锁——更强效果的格面 | 结构位现定;格子内容排 Alpha,随[地图战斗资源](../战斗循环/地图战斗资源.md)差异化批落地 | -属性锻造的树形节点结构已随迭代 12 落地在役——**结构/节点/数值的现行事实源 = [天赋树](天赋树.md),本文不复制树侧内容、只作指路**;本柜台三档直线强化与树淬炼 flat 在注入面叠加生效(注入口径见下文「跨局注入」节)。 +属性锻造的树形节点结构已随迭代 12 落地在役——**结构/节点/数值的现行事实源 = [天赋树](天赋树.md),本文不复制树侧内容、只作指路**;本界面三档直线强化与树淬炼 flat 在注入面叠加生效(注入口径见下文「跨局注入」节)。 属性锻造的攻击、护甲两档已按[锻造工坊](锻造工坊.md) v0.6(成文时名「武器锻造」,2026-10-11 更名)设计定案转为武器与护甲的独立等级路线——**行族本体随迭代 21 T5 退役、路线为新建行族,已随迭代 23 实装入库(2026-10-12,新表 `forge.tres`)**。营地钥石入口族换代(2026-10-13 v1.18 迭代 23 反哺写入):buy_forge 随 forge_products 退役删除后,本柜台钥石消费写口 = **forge_buy_level(逐级锻造价)/ forge_buy_unlock(一次性解锁价)/ forge_select_weapon·armor(免费选中)**——写口唯一经 MetaProgression 锻造写口族(契约 9 写口单点,UI 只发意图);钥石定价历史考古参数 20 钥石/150% 公比见 `meta.tres:82-84` 退役批注,provisional 投值终值归 M4。 **营地统一(2026-10-11 天赋树设计会话裁案甲;2026-10-13 v1.20 迭代 21 反哺写入——「落地前维持现役」过渡态终结)**:树=营地本体,本属性锻造柜台已随迭代 21 退役、属性升级唯一入口=树脊柱淬炼节点(四柜台并排已实装,2026-10-12 入库)。**完整模型(四柜台并排/钥匙工作间/图鉴常开)唯一事实源 = [天赋树](天赋树.md)「营地=树:统一模型」节——本文只登记本柜台在系统内的去留,不复制树侧内容。** -**投值语言锁定(2026-09-18 数值语言拍板)**:三柜台属性强化一律 **flat 整数加减**("每级 +1 基础攻击"式,而非"+50% 攻击"式)——避开百分比词条被数值成长稀释的先例陷阱、守住数字可读性锚;具体每级数值仍归元进度设计批投值。 +**投值语言锁定(2026-09-18 数值语言拍板)**:营地属性强化一律 **flat 整数加减**("每级 +1 基础攻击"式,而非"+50% 攻击"式)——避开百分比词条被数值成长稀释的先例陷阱、守住数字可读性锚;具体每级数值仍归元进度设计批投值。 -三条柜台纪律:**定价曲线一律几何递增**(每级费用按公比上浮——原则已拍板,起步价与公比数字归设计批配读数),与产出逻辑配套:深层关钥石产出多、后级强化贵,逼玩家往深处走。~~秘宝匣首版只挂通关次数渠道~~(历史排期裁决已消解:秘宝匣现役=钥石直购+条件解锁混合制,迭代 22 落地,2026-10-12)。**存档义务随柜台产生**:钥石余额、永久强化等级表、每关通关次数表、Boss 首杀标记位——四件已逐域登记在 registry `save_file` 条目(内容 owner = 元进度,承载 owner = [存档序列化](../表现与支撑/存档序列化.md))。 +各界面定价纪律:**定价曲线一律几何递增**(每级费用按公比上浮——原则已拍板,起步价与公比数字归设计批配读数),与产出逻辑配套:深层关钥石产出多、后级强化贵,逼玩家往深处走。~~秘宝匣首版只挂通关次数渠道~~(历史排期裁决已消解:秘宝匣现役=钥石直购+条件解锁混合制,迭代 22 落地,2026-10-12)。**存档义务随柜台产生**:钥石余额、永久强化等级表、每关通关次数表、Boss 首杀标记位——四件已逐域登记在 registry `save_file` 条目(内容 owner = 元进度,承载 owner = [存档序列化](../表现与支撑/存档序列化.md))。 护甲等级进首版属性柜台是 2026-09-18 拍板(用户选 A),其代价条款见下方换算率节的强条目登记。 @@ -129,7 +129,7 @@ MVP 不要求本系统的闭环([不做清单](../../05-不做清单.md)整体 | 优先级 | 内容 | 后置原因 | |---|---|---| -| P1 | 三柜台内容铺量与定价数字 | 柜台结构已定稿;清单明细、几何定价的起步价与公比、Boss 两档产出数值,随设计批配读数投值 | +| P1 | 营地功能界面内容铺量与定价数字 | 界面结构已定稿;清单明细、几何定价的起步价与公比、Boss 两档产出数值,随设计批配读数投值 | | P1 | 秘宝匣钥石直购价 | **已投 provisional 占位**(普通档 10/优秀档 25 钥石,迭代 22 落地,2026-10-12);终值归调参批(原「首版只挂通关次数渠道」排期态随混合制落地消解) | | P1 | 奖励格图鉴的格子内容 | 排 Alpha,随[地图战斗资源](../战斗循环/地图战斗资源.md)差异化批 | | P1 | 换算率表数值行标定 | **已完成**(2026-09-23 换算率标定批——首版三行投值 6/9/1,护甲行强条目重测顺带履行并修复护甲断链)(原系笔误孤例,registry 与 meta.tres 均为 6/9/1——2026-09-30 勘误) | diff --git a/design/gdd/ux/camp.md b/design/gdd/ux/camp.md index f372e7eb..f586d726 100644 --- a/design/gdd/ux/camp.md +++ b/design/gdd/ux/camp.md @@ -1,35 +1,44 @@ -# 营地覆盖层 UX spec(camp) +# 营地场景 UX spec(camp) -> 状态:v1.6(2026-10-22 迭代 33 反哺写入批:营地入口拓扑按三入口化实态换代;spec 基线=2026-09-30 审计拍板点 4A 用户裁决落文〔乙案新建 ux spec+元进度配套更改〕;视觉终稿已随迭代 9 9A 段落码,本 spec 成文其呈现规则) -> 事实源:`game/presentation/views/camp_overlay_view.gd`(CampOverlay——9A 视觉终稿后实态) -> 机制权威:[元进度](../systems/跨局循环/元进度.md)(营地三柜台/钥石/永久强化——营地=界面壳、机制主语=永久强化) -> 相邻:[settlement-summary.md](settlement-summary.md)(最近冒险摘要数据同源)/ [level-map.md](level-map.md)(主菜单语境) +> 状态:v2.0(2026-10-22 营地交互重做美术设计段;取代旧「四柜台覆盖层」形态) +> 事实源:本 spec(呈现)+ [元进度](../systems/跨局循环/元进度.md)(机制) +> 美术画法:[art-bible](../../art/art-bible.md) §6.2/§7.5;素材命名与路径:[asset-path-map](../../art/asset-path-map.md) +> 相邻:[level-map.md](level-map.md)(主菜单语境) ## 定位 -营地是存档内消费钥石的枢纽场所(界面壳,非机制实体——裁定见元进度):主菜单「进入存档」→选档界面→进档/新档进入(迭代 33 卡②/卡③三入口化后,主菜单不再有营地独立钮),玩家在此用钥石换永久强化、查看秘宝匣解锁与最近冒险。本 spec 只锁呈现;机制(定价/解锁/入账)全部归元进度。**循环层级:存档级(大循环/局外)呈现面**——本层只在存档语境可达(经选档界面进档/新档进入),冒险进行中不可达。 +营地=存档内的局外枢纽(存档语境可达,冒险进行中不可达)。形态=**一张可点击的营地场景图**:画面里有篝火、锻炉、床铺等物件,点物件进对应界面。**不是按钮列表式 UI。** -## 布局与交互 +## 场景构成与七物件绑定 -- 石纹全屏底(样张 v2 冻结件,浅 dim 透出)+ 顶栏铭牌与钥石徽(余额常驻)。 -- 三柜台列:属性锻造(三档行:等级/价格/购买钮)、秘宝匣(**迭代 22 实装态呈现,2026-10-12**——见下方「秘宝匣柜台呈现细则」节)、奖励格图鉴(结构位)。 -- 树面板(图鉴柜台下段,现役程序占位):营地内天赋树的节点购买与 Fork A/B 面切换承载——系统现行事实源=[天赋树](../systems/跨局循环/天赋树.md)(33 节点在役),呈现终稿归 [HUD框架](../systems/表现与支撑/HUD框架.md);信号 `tree_buy_requested` / `tree_fork_toggled`。(本行 2026-10-09 补登——树侧跨文档遗留项清偿:此前本 spec 零树面板登记。) -- 底栏:关闭钮 + 操作注记;最近冒险收底栏条带(逐行只读读数)。 -- 购买意图 `buy_requested(attr)` 经组合根转发 MetaProgression(纯视图 setter 面——零核心写调用、零系统资源写入持有);购买成功 `refresh_camp` 就地重刷(零重建回流)。 -- 开合与开始层互斥:打开本层前由组合根隐藏开始层(遮挡纪律 2.3——开始覆盖层非模态且树序在后)。 +| 物件 | 进入 | 备注 | +|---|---|---| +| 大门(半开,门洞内一条通向远处的小路) | 冒险 | 点大门永远先出确认:有未完冒险=三出口(继续上一段/开始新冒险/取消);无=是否开始新冒险 | +| 锻炉·铁砧 | 锻造工坊 | **未解锁=禁用态**(降明度+去饱和) | +| 宝箱 | 秘宝匣 | **未解锁=禁用态**(同上) | +| 床铺旁笔记本 | 生涯记录 | 生涯页返回钮文案**禁含「营地」字样**(`ui_struct_probe.gd` nojump 禁词表) | +| 木桩 | 天赋树 | | +| 布告板 | 奖励格图鉴 | 内容冻结未激活,点进看占位——**不是禁用态** | +| 篝火 | 离开营地回主菜单 | **必须二次确认**;命中区只含火堆、不含火焰 | +| 床铺 | — | 承载件,**不可点** | + +纵深=远景天空与远山/中景围栏与大门/近景篝火与左右物件(作者纵深稿)。坐标草案与验收判据见 [提案](../../../reports/提案-营地场景图美术生成方案-2026-10-22.md) §2.5/§5。 + +## 点选反馈(根态) + +悬停=**轮廓亮边 + 浮动**(浮动须整像素吸附)+物件**名牌**(物件下方 8px 居中,FS_HINT 14,对比 ≥4.5:1);按下=位移 1px;禁用=降明度+去饱和;已解锁=常态。**四态零新素材**(全部程序化)。 +命中区:七件两两不相交、不越出画面、**不侵入顶栏禁区(y ≤ 48)**。 + +## 顶栏 + +钥石余额常驻画面顶部一行小 HUD 栏(高 48px、全宽窄条、**浮层覆盖在场景图上层,不挤压画面**)。刷新入口=营地刷新单口(卡⑤同口挂接)。 + +## 叠层与开合 + +各界面开合走模态栈单口,层序入 `LAYER_CONTRACT`。**承载形态(独立全屏页 vs 单一内页切换)与叠层规则归卡④ §9 代拍板域,本 spec 不预设值**;派生规则:独立全屏页=场景根隐藏/单一内页切换=场景根留底(「缩放虚化」为第三形态,禁批内自选)。ESC 浮窗(返回主菜单/设置/退出游戏)归卡⑤。 ## 口径 -- 呈现数据源 = MetaProgression 只读投影经组合根喂入;本层不持有系统资源、不算价。 -- 退役/封存件呈现语义已随旧目录整体退役消解(探宝罗盘/显影尘/地穴全图卷等状态行已删——迭代 22 旧 12 行删除后目录内零 deferred/retired 态,2026-10-12); -- 双入口框架(存档内入口〔经选档界面,迭代 33 卡②/卡③换代——原主菜单独立入口〕+局内状态面板只读入口〔2026-10-13 由「暂停层」改名——游戏非实时无暂停语义〕)的需求面归元进度「解锁双入口框架」节;状态面板入口已实装(2026-10-06 迭代 17 卡③〔时名暂停层〕——实机目检待用户,待办清单登记条在册),其呈现面不归本 spec。 - -## 秘宝匣柜台呈现细则(迭代 22 实装态,2026-10-12) - -秘宝匣柜台=解锁面+同调装配段两部分(数据投影=`treasure_shop_status` 单点): - -- **解锁面**:逐件一行——钥石购买件带**购买钮**(余额不足=禁用态不隐藏;已解锁=钮消失转已解锁态);条件解锁件带**条件进度呈现**(计数键现值/阈值,如「通关 2/3」);件名后缀·档位(普通/优秀/稀有);悬停浮窗=行 `desc` 直读。 -- **装配段**(同调装配):装配行带**档位标签**(件档≤格档约束的可见面);未解锁件**禁装**(列表不可选);满位禁选;每件固定占 1 格。 -- **空目录合法态**:白板档(12 件全未解锁)柜台零可装行=合法态非缺陷(装配面空目录断言 V18 在役)。 -- **状态面板只读概览**:局内状态面板秘宝匣段=12 行只读清单(解锁态+装配态概览,零写入口——装配只在营地)。 -- 机制权威=元进度/秘宝.md;本节只锁呈现规则。 +- 呈现数据源=MetaProgression 只读投影经组合根喂入;本层不持有系统资源、不算价。 +- 「最近冒险」条带已撤下(卡④ Q4=甲),逐局历史回看归生涯。 +- 秘宝匣界面内部呈现(解锁面+同调装配段)保留为附录,待该界面立独立 spec 后迁出。 diff --git a/design/gdd/ux/level-clear.md b/design/gdd/ux/level-clear.md index a8b8417b..def7223d 100644 --- a/design/gdd/ux/level-clear.md +++ b/design/gdd/ux/level-clear.md @@ -61,7 +61,7 @@ 3. **兑付反馈**(确认后):选中件效果一行(如「攻击 +1」)+ 另两件已丢弃提示 4. ~~同调位替换子交互~~(已随渠道退役:秘宝件自迭代 11① 起不再入三选一池、通关候选 = 纯专长,本屏无道具件候选——替换子交互不于本屏触发;同调装配归营地) -**禁入清单**(两铁律推导):战斗小循环数据(结算明细、状态效果——留在战斗屏);GP(呈现位已拍板 = 战斗总结结算 + 关卡画面常驻);**钥石增量与累计**(迭代 10 起归战斗总结结算增量行 + 冒险总结结算收束明细——本屏零钥石元素);营地柜台全量;冒险摘要五件事(末关时由相邻域冒险结算屏承载);已达上限件(不出现在候选)。 +**禁入清单**(两铁律推导):战斗小循环数据(结算明细、状态效果——留在战斗屏);GP(呈现位已拍板 = 战斗总结结算 + 关卡画面常驻);**钥石增量与累计**(迭代 10 起归战斗总结结算增量行 + 冒险总结结算收束明细——本屏零钥石元素);营地界面全量;冒险摘要五件事(末关时由相邻域冒险结算屏承载);已达上限件(不出现在候选)。 ## States & Variants diff --git a/design/gdd/术语表.md b/design/gdd/术语表.md index 779e5b7f..4fcf5511 100644 --- a/design/gdd/术语表.md +++ b/design/gdd/术语表.md @@ -40,7 +40,7 @@ |---|---| | 秘宝 | 营地装配、整局冒险生效的角色机能件(见[秘宝](systems/跨局循环/秘宝.md)) | | 同调位 | 玩家出征前携带秘宝的装配槽(0 起步、基础 3 格) | -| 秘宝匣 | 营地柜台之一:秘宝的解锁(钥石购买/条件解锁)与同调装配面 | +| 秘宝匣 | 营地功能界面之一(场景图里点**宝箱**进入):秘宝的解锁(钥石购买/条件解锁)与同调装配面 | | 主动件 / 被动件 | 需要花充能主动使用的秘宝 / 装配后整局持续生效的秘宝 | | 自动兑付 | 无使用动作的秘宝效果兑付形态:满足条件(如试炼镐每开 8 个安全格)自动生效,无玩家发起入口(2026-10-12 用户裁——原「积点兑换钮」手动形态退役) | | 真视使用计数 | 真视类工具累计使用次数的生涯终身计数(存档域 `vision_used`)——信标网络的解锁行为条件(2026-10-12 迭代 22 新增) | @@ -53,7 +53,7 @@ | 术语 | 定义 | |---|---| -| 锻造工坊 | 营地四柜台之一:武器/护甲各三条锻造路线的升级与出场选择面,钥石单币消费(系统名 v0.3 由「武器锻造」更名;见[锻造工坊](systems/跨局循环/锻造工坊.md)) | +| 锻造工坊 | 营地功能界面之一(场景图里点**锻炉·铁砧**进入):武器/护甲各三条锻造路线的升级与出场选择面,钥石单币消费(系统名 v0.3 由「武器锻造」更名;见[锻造工坊](systems/跨局循环/锻造工坊.md)) | | 武器锻造区 / 护甲锻造区 | 锻造工坊工作间内两区,机制层面零顺序门槛(8a 裁定的区名) | | 锻造路线 | 单件武器/单型甲的等级路线(每件独立等级、独立保留);行名统一「件名 + 锻造」= 长剑锻造 / 长枪锻造 / 法杖锻造、轻甲锻造 / 重甲锻造 / 魔法护甲锻造 | | 魔法护甲 | 三型甲之一(= 现役甲域 ward,基础 AC 最低、被普通攻击克);「魔法甲」系笔误、非别名,不单独登记 | diff --git a/reports/提案-营地场景图美术生成方案-2026-10-22.md b/reports/提案-营地场景图美术生成方案-2026-10-22.md new file mode 100644 index 00000000..31a38d38 --- /dev/null +++ b/reports/提案-营地场景图美术生成方案-2026-10-22.md @@ -0,0 +1,422 @@ +# 提案:营地场景图美术生成方案(渠道 · 分层 · 工作流 · 样张验收判据) + +> 性质:设计讨论段过程稿(2026-10-22 美术方案讨论产出)。**只讨论生成方案,不出图、不写需求卡片、不改 `game/`、不编迭代**——美术线是用户自立批(铁律 2),方向稿与「过/不过」的目检结论由作者出。 +> 输入事实源:`reports/需求卡片-营地场景图新建批-2026-10-18.md`(卡④ v2.3,已退回美术设计段)、`reports/需求澄清-营地交互重做-2026-10-18.md`(目标体验原话/纵深稿/10 条交互裁决)、`design/art/art-bible.md` §6.2/§7.5/§4.1/§4.2/§8.3、`design/art/asset-path-map.md`、`design/art/art-prompts.md` §0/§4bis、`design/art/remote-gen-prompts.md`。 +> 待作者带的输入:①参照物(作者原话「后续找一下」)②渠道一句话裁定 ③每轮方向稿「过/不过」的目检结论。 + +--- + +## 0. 四问速览(只读这一段也能定) + +| 问 | 答 | +|---|---| +| **① 现状差在哪** | 营地场景图**一张都不存在**(现役是四柜台覆盖层,程序化占位)。卡④ 已因美术轨凭据缺(P1–P5 未销号)退回美术设计段,卡⑤ 排在它后面,营地五卡是 Alpha 例外项——**没有图,卡④⑤ 一行代码都开不了**。 | +| **② 建议做什么** | 走**项目既有远程生图管线(主角/八敌同条路)出图 + 既有后处理管线收口**,交付形态定为 **「1 张背景层 + 7 张物件层 + 1 份坐标表」**(不是一张整图叠七个矩形热区)。出图顺序:先 2–3 张低分辨率**方向稿**让作者选划方向,判完方向才分层精制。 | +| **③ 为什么选它** | 七物件要**悬停/按下/禁用/已解锁四态**:整图 + 矩形热区做不出「贴合物件形状的高亮」和「单个物件灰掉」,要补就得给每个物件抠一张透明遮罩——那其实还是分层,只是遮罩不公开成素材。远程生图管线的**返工成本最低**(换提示词=换一张,八敌已量产验证),且有拼表制(一张图画多个素材再裁开)能硬压风格一致;CC0 找不齐七个指定物件同套,插画级周期最长。 | +| **④ 怎么验证** | 机检三件:色板(`tools/palette_check.py --baseline`)、像素件(`tools/standee_asset_check.py`)、几何(七命中矩形两两不重叠 + 中心点落在物件不透明像素上,实现批写成探针断言)。风格一致、构图好看、七件一眼找得到——这三项机检判不了,**归作者目检**。 | + +--- + +## 1. 议题 1 · 生成渠道怎么选 + +### 1.1 三条路摆开 + +> **口径更正(2026-10-22,Agent 自纠)**:草案曾把 B 误标为「人工/外包」——**错**。项目原文(卡④ `:282`)定义 **B = 插画级新产 = 按纵深稿从零新画一张**;执行方仍是**作者自跑远程生图管线**(`art-assets-checklist.md:14` 图例:✦ = 用户自跑,产出「角色、插画级素材」)。 +> 因此真实结构是:**A vs B =「产出什么」的二选一**(改现有 vs 从零画),**远程生图管线是「怎么产出」的执行通道**,不是与之并列的第三条路。下表保留三行以便对照,但裁定实质是 A / B 二选一(详见 1.3)。 + +| 案 | 怎么干活(逐天的真实动作) | 构图控制力 | 成本/周期 | 贴合已定色域的代价 | 返工风险 | +|---|---|---|---|---|---| +| **A · CC0 素材改色复用**(♻ 渠道) | 去 Kenney / OpenGameArt / itch.io 免费包找现成像素场景件(营火、砧台、宝箱、床、木牌、栅栏门等);选中后过「复用四道闸」(`art-assets-checklist.md:22`):① 色板量化到 §4.1 的 48 色 token、不保留原包杂色 ② 吸色检查无 HSV 300°–345° ③ 去色相仍可辨、不与语义件混 ④ 授权干净(CC0 优先,CC-BY 须署名,授权不明不用);过闸后按 v3 坐标拼上画面 | **最弱**——要凑齐八个指定物件的同一套素材几乎不可能,落点是东拼西凑 | 找素材耗时不可控(看似零绘成本,实际耗在筛选与授权核对) | **高**——多来源拼的图,像素密度、描边粗细、光照方向各不相同,改色+统一描边的工作量接近重画 | **中偏高**:发现风格不齐或构图不贴纵深稿,只能换源重找,前功尽弃 | +| **B · 插画级新产**(✦ 渠道 · 卡④ 原案) | 以已接受的布局稿 + 纵深稿作参考锚,开远程生图对话 → 出构图候选 → 选一张 → 分层出图 → 抠底 / 降采样 / 色板量化 / 描边统一 → 合成校验 → 样张呈裁。**全链路=本提案 §3 的 S0–S7**,执行人始终是作者自己 | **最强**——七件位置与纵深完全由布局稿+提示词控制 | 重出一张很便宜(换提示词=换一张);拖周期的是反复横评,不是绘制本身 | **低**——提示词锁主色(烛光黄 `#F6C667` / 木色 `#8A5A34`)+后处理色板量化收口 | **最低**——候选多、迭代便宜 | +| **C · 方向稿先行的混合时序**(B 的低风险写法) | 与 B 同一条管线,只是分两段:**先出 2–3 张低分辨率方向稿**给作者选划 → 判完方向才分层精制。**C 不是与 B 并列的第三条路,它就是 B 的执行时序** | 同 B | 同 B(因先用便宜稿定方向,总额外轮次更少) | 同 B | 最低 | + +### 1.2 我的推荐:选 B(插画级新产),用 C 的时序去走(不替作者拍板,只摊代价) + +> 原推荐写作「C 为主 + 混合收口」,口径更正后重新表述:**产出方式的裁定是 A / B 二选一,推荐 B;C 只是 B 的执行时序(先出可被否决的便宜方向稿),不构成第三选项。** + +**推荐 B**,三条理由按权重排: + +1. **它和本项目的具体缺口对得上**:缺口是「七个可点击物件的独立透明件 + 一张背景」,不是「一张漂亮插画」。远程生图一次出一张、想要几张出几张,天然适配分层交付;♻ 渠道卡在「找不齐一套八件的同一套 CC0 素材」。 +2. **返工风险最低是硬道理**:重出一张很便宜(换提示词=换一张),所以「先用过渡规格跑通交互、画质后升」这个口径才成立。 +3. **后处理管线已齐**:抠底→最近邻降采样→色板量化→描边,这条链在八敌批跑通过(art-prompts §0 五步第 4 步);换渠道等于这条链作废重搭。 + +**混合怎么混**(= C 时序,B 的内部工序):AI 出构图候选 → 作者选划方向 → 按定稿构图出「背景 1 张 + 物件拼表 1–2 张」→ 脚本后处理(抠底/降采样/量化/描边统一)→ 按坐标表合成校验 → 样张呈裁。**人工只出现在两处:作者选方向、作者判样张**。 + +**⚠ 选 B 时要连带处理的一件事(卡④ Q6 甲原文冲突,须作者确认)**:Q6 甲的裁定原文是「**Q1 裁 A 时**用过渡尺寸档=现役 1280 工程档+烛光黄 `#F6C667`/木色 `#8A5A34`」;**若 Q1 裁 B,按该裁定原文「过渡口径不成立」**——须走乙案「等样张批规格清单产出才开 T1」,或由作者**另行裁定一次过渡规格**。而本次讨论的输入条件里把「过渡规格=1280 工程档」列为已定硬约束,两者口径冲突,**属呈报项,不自行取一侧**:请作者确认过渡规格是否无条件适用。 + +**一句话裁定**:`A` 还是 `B`(推荐 **B · 插画级新产**,并按 C 的「方向稿先行」时序执行)。裁完即可进 §3 的 S1(S0 已销号)。 +**同时请顺便确认**:① 过渡规格是否无条件适用(见上方 ⚠ Q6 甲冲突);② 参照物是否阻塞 S1(等参照 vs 先用布局稿当锚)。 + +--- + +## 2. 议题 2 · 要不要分层、怎么分(核心) + +### 2.1 先判「一张整图 + 七个矩形热区」够不够 + +结论:**不够**,四态里有三态做不出来。 + +| 四态 | 整图 + 矩形热区能做到吗 | 说明 | +|---|---|---| +| 悬停高亮 | ❌ 只能整体提亮整图,或画一个**矩形框**——矩形框正是作者点名拒绝的「各种框框」形态;若要贴合物件形状提亮,必须有一张**该物件的透明遮罩** | 「要遮罩」就等于分层,只是遮罩不公开成素材,反而更难维护 | +| 按下 | ❌ 同上(位移/压暗也要遮罩,否则整图一起动) | | +| 禁用 / 未解锁 | ❌ 灰掉单个物件 → 同样要遮罩 | | +| 已解锁 | ✅ 不需要额外素材 | | + +**不分层还会发生什么**(逐条摊开): + +1. **改构图 = 整图重出**:七件的相对位置被一张图锁死。分层后调位置只改坐标表(背景空档由背景层自己承担)。 +2. **物件没法复用**:图鉴提示里想放宝箱小图标、顶栏想放钥石徽 → 得另出一套小件。分层后同一张 PNG 直接缩着用。 +3. **命中区与剪影对不齐**:矩形热区必然误吞(点大门旁边的空地也进冒险),只能逐个手工调矩形,且物件形状越不规则误差越大。 +4. **遮挡关系写死在像素里**:现在篝火压在近景是画出来的,将来要在它后面加东西、或者把火焰做成动效,都得整图重出。 +5. **四态演示无法提前给作者看**:分层后可以在出图阶段就合成「常态/悬停/按下/禁用」四联图给作者判;整图方案要等代码写完才看得见反馈。 + +### 2.2 结论:分层,共 8 张 + 1 份坐标表 + +**交付形态 = 1 张背景层 + 7 张物件层 + 1 份坐标表**(8 张 PNG)。 + +| 层 | 文件名(草案) | 内容 | z 序 | 是否透明底 | +|---|---|---|---|---| +| L0 | `scene_camp_bg.png` | 远景天空 + 地面 + 中景围栏(**含门柱与门洞**,门洞内画通往远处的路)+ 远景植被/山;**不含七个可点物件的本体** | 0 | 否(全幅不透明) | +| L1 | `scene_camp_board.png` | 布告板/悬赏板(挂在中景围栏上)→ 图鉴 | 1 | 是 | +| L2 | `scene_camp_gate.png` | 大门门扇(叠在 L0 门洞上)→ 冒险 | 2 | 是 | +| L3 | `scene_camp_dummy.png` | 木桩 → 天赋树 | 3 | 是 | +| L4 | `scene_camp_forge.png` | 锻炉·铁砧 → 锻造工坊 | 3 | 是 | +| L5 | `scene_camp_bed.png` | 床铺 →(承载笔记本,本体不可点) | 3 | 是 | +| L6 | `scene_camp_chest.png` | 宝箱 → 秘宝匣 | 4 | 是 | +| L7 | `scene_camp_notebook.png` | 床铺旁笔记本 → 生涯记录 | 4 | 是 | +| L8 | `scene_camp_campfire.png` | 篝火 → 离开营地/回主菜单 | 5(最前) | 是 | + +> **七个可点物件 = L1/L2/L3/L4/L6/L7/L8 七张**(床铺 L5 是承载件,不可点;笔记本挂它旁边)。 +> **四态不落素材**(2026-10-22 作者裁后改写):**悬停 = 给轮廓加亮边(描边发光)+ 浮动**,**不是整体提亮**——亮边由物件层 alpha 外扩 1px 派生,零手绘;按下 = 位移 1px(平移不是缩放,不触甲类整数倍缩放规则);**禁用/未解锁 = 变暗并调成灰度**(见 §9 ⑨,**作者特许破除 §2 明度禁令**,须登反哺点);已解锁 = 常态。 +> **若作者要「描边发光」式高亮**:不需要新出图——由物件层的透明通道自动外扩 1px 派生一张描边图(脚本生成,零生成成本)。这条正好回答「不分层就做不了描边」。 + +### 2.3 篝火与大门要不要区别对待 + +**要,两件各有各的特殊处,但都不是「不分离」的理由**: + +- **篝火**(近景居中、可能遮挡):它是**最该分离**的一件——① 它是 z 序最前的近景件,分离后遮挡由代码 z 序管,背景不会被它烧进去;② 它绑「离开营地」这个高代价动作,命中区要单独定(建议与躯干等宽、不含火焰上部飘动区,防误点);③ 火焰是将来唯一可能带动效的件,分离后加帧只动它一张。 + - 过渡规格先出**静态一张**;若作者要火焰动效,后补 2–4 帧(同方向稿续写锁定形态),属后续画质档,本次非目标。 +- **大门**(中景、与围栏连体):**背景层画全门柱与门洞**,大门物件层只画**门扇**叠在门洞上。这样分层边界天然(门柱内框 = 对位锚),且不会出现「背景缺个洞」的空洞问题。 + - 请作者裁:门扇画成**关闭态**还是**半开态**(半开更暗示「可以出发」,但门洞要透出更多远景)。 + +### 2.4 分了层,AI 能不能保证七个物件与背景风格一致 + +**单靠「同一对话续写」不行**——项目实证:同对话续写 = 对上一张图的**编辑模式**(会被当成增量修图),变体必须各开新对话。所以续写恰恰是风格漂移的来源,不是解法。 + +**靠三道,按硬度排序**: + +1. **硬办法 · 拼表制(首选)**:**一张图里画完全部物件**,出完按网格裁开。同一张图内不可能出现两种像素密度、两种描边——风格一致性由「同源」保证,不靠模型自觉。这是本项目瓦片批已验证的制式(2×2 拼表一张出全族)。 + - 适配到本件:七件尺寸差异大,用**不等分网格 + 每件一个标注框**的排版(提示词写明「七个独立物件,各自占据一个矩形区域,区域之间留统一浅灰间隔,物件的任何像素不得越出自己的区域,不得画任何边框/标签/文字」)。 + - 兜底:若拼表连续失败(模型坚持画框/串位),退回**一张一跑**,改靠第 2、3 道收口。 +2. **软办法 · 风格参考图**:出图时贴**已定稿的项目素材**(主角立绘/已定档敌人/瓦片纹理任择)并带既有句式「只是风格参考,只对齐像素密度、平涂、亮暖白描边与暖色限制调色板,不许抄服装道具配件」。目标是把**像素密度与描边**锚到既有世界观上。 +3. **兜底 · 后处理统一**:抠底 → 最近邻降采样到统一像素密度 → 色板量化到同一套板 → 描边统一(缺描边的件由脚本按 alpha 外扩补一圈亮暖白描边)。三道做完,风格差异被压到只剩造型差异(造型差异是好事,七个物件本来就该长得不一样)。 + +### 2.5 分层的代价:位置谁定、对位怎么保证 + +| 代价项 | 谁定 | 怎么保证 | +|---|---|---| +| **七件摆哪儿** | **作者定方向**(纵深稿已给:中景围栏+大门、近景中间篝火、左锻炉铁砧、右床铺与宝箱),Agent 出**灰块布局稿**(1280×800,七个编号矩形 + z 序标注)供作者调 | 布局稿 = 唯一坐标事实源,后续所有出图都贴它作参考锚 | +| **对位精度** | 出图后由**脚本按坐标表合成** | 合成图与方向稿并排,逐件锚点误差 **≤2px**;物件层边缘**无 1px 半透明毛边**(硬边/无抗锯齿纪律) | +| **坐标表格式** | 实现批定(建议走代码常量单点,与 `UiKit.TEX_*` 同处;或 `.tres` 落 `data/tables/`,按数值单一事实源口径) | 表必须含四列:**物件键 / 贴图锚点 (x,y) / 命中矩形 (x,y,w,h) / z 序** | +| **背景空档** | 背景层自己承担 | 背景层画全(含门洞、地面、围栏完整),物件层只是叠上去,移走任何一件背景都不露洞 | + +**坐标草案 v3(2026-10-22 · 作者已接受)** + +口径(用户 2026-10-22 亲自定):**只有最左、最右两件往边上推;不靠边的那些不许贴边**——它们按「离画面中心的距离」成比例往外挪一点点(最外挪 ~80,第二圈 ~40,中轴 0)。**物件尺寸一律不变**,拉开的是它们之间的**间隔**。 + +做法:**以中心线 x=640 为原点等比外扩,k=1.20**,只改 x、不动 y 与尺寸。v2「所有物件一律贴边」的做法已被否决作废(把非边缘件也拽到边上,无故且无意义)。 + +| 物件 | 层 | v1 基线 x | **v3 命中矩形 (x, y, w, h)** | 外移量 | z 序 | 可点 | +|---|---|---|---|---|---|---| +| 锻炉·铁砧(最左) | L4 | 120 | **`(40, 420, 240, 240)`** | −80 | 3 | 是 → 锻造工坊 | +| 木桩 | L3 | 380 | **`(340, 520, 120, 180)`** | −40 | 3 | 是 → 天赋树 | +| 篝火 | L8 | 560 | **`(560, 560, 160, 160)`** | 0 | 5 | 是 → 离开营地 | +| 大门(门扇) | L2 | 520 | **`(520, 250, 240, 220)`** | 0 | 2 | 是 → 冒险 | +| 布告板 | L1 | 800 | **`(845, 330, 130, 140)`** | +45 | 1 | 是 → 图鉴 | +| 笔记本 | L7 | 770 | **`(818, 690, 100, 80)`** | +48 | 4 | 是 → 生涯记录 | +| 床铺 | L5 | 880 | **`(958, 520, 300, 170)`** | +78 | 3 | **否**(承载件) | +| 宝箱 | L6 | 1000 | **`(1085, 700, 130, 90)`** | +85 | 4 | 是 → 秘宝匣 | + +配套约束(2026-10-22 更新):顶栏 HUD 保留带 = **`y ≤ 48`**(§9 ⑤⑦:一行量、浮层覆盖),八矩形全部落在其下方;中景围栏横贯约 `y ≈ 500`(画在背景层);**八个命中矩形两两不相交**(已逐对校验;y 方向分离的有:大门/篝火、布告板/床铺、床铺/宝箱);间隙最小的两处 = 笔记本右缘↔床铺左缘 40px、锻炉右缘↔木桩左缘 60px。 + +**⚠ 唯一例外件(2026-10-22 作者裁)**:**篝火的「贴图矩形 ≠ 命中矩形」**——整张 `scene_camp_campfire.png` 仍画火堆+火焰,**命中矩形只取下半(火堆),上半=火焰只作特效展示、不可点**(防误点「离开营地」)。这是八个件里唯一两栏不一致的,**实现批坐标表必须用两列表达**(贴图矩形 / 命中矩形),其余七件两栏相同。具体分界数值**等成图后按实际画面切**(现在定死无意义)。火焰动效本次不做(作者令),过渡档=静态一张;将来要动效只需给这一层补帧(分层的收益)。 + +### 2.6 分层后,探针与断言怎么验「物件在正确的位置上」 + +分三层验,**前两层是机检主力,第三层是兜底**: + +1. **几何断言(零渲染,最便宜)**——七件命中矩形两两不相交;每个矩形不越出 1280×800;不侵入顶栏 HUD 保留带(`y ≤ 48`,§9 ⑤⑦);最小命中尺寸 ≥ 64×64(小件笔记本允许 ≥48×48,并允许命中区大于贴图本身,外扩补齐);**篝火用命中矩形(火堆)判定,不用贴图矩形**。 +2. **alpha 采样断言(这一条是「位置正确」的可机检近似)**——取每个命中矩形的中心点,断言该点在**对应物件层**上是不透明像素、在**其它六个物件层**上是透明像素。物件贴图摆错位置、坐标表抄错行、z 序写反,这条都会红。 +3. **可达性断言(功能主力)**——七件逐一合成点击,断言进入对应界面(契约 2,卡④ V2);这一条验的是「点得到」,前两条验的是「图摆对了」。 + +**变异验证**(新增断言必须验证过它会红):把某个物件的坐标表改错一行 → 第 2 条断言红;把某物件的命中区删掉 → 第 3 条红。注入 → 见红 → 精确还原 → 记录。 + +### 2.7 一句话结论 + +**分层,8 张(1 背景 + 7 可点物件 + 床铺承载件共 8 张图),配一份四列坐标表;四态全部走程序化(提亮/位移/幽灵化),零四态素材;风格一致靠拼表制硬压 + 风格参考图 + 后处理统一三道。** + +--- + +## 3. 议题 3 · 生成工作流(从空白到样张过审) + +> 「谁做」列:作者 = 用户本人;Agent = 我(脚本/文档);管线 = 远程对话式生图(作者自跑)。 + +| 步 | 做什么 | 谁做 | 产出物 | 完成判据 | +|---|---|---|---|---| +| **S0 布局稿** | 按纵深稿把七件摆到 1280×800 上,出灰块布局图 + 坐标表草案(含顶栏保留带) | Agent 出稿 → **作者裁位置** | `artwork/2026-10-22-营地场景/layout/camp_layout_v1.png` + 坐标表(Markdown 表) | 作者一句「就按这个摆」;七件矩形互不重叠、都在画面内 | +| **S1 方向稿** | 开 2–3 个**独立对话**,贴布局稿作参考锚,出**整图构图候选**(背景+七件全画,不分层) | 作者出图 | `.../direction/v1.png v2.png v3.png` | 每张登记**模型名 + 分辨率 + seed + 对话/日期**(缺登记不入遴选);低分辨率快出(如 1024 档),只为定方向 | +| **S2 选划方向** | 作者目检三张,选一张并点名要改什么 | **作者** | 选划记录(选了哪张 / 改什么 / 淘汰另两张的理由) | 作者一句裁定 | +| **S3 分层出图** | 按定稿构图出:① 背景 1 张(1280×800 幅面)② 物件拼表 1–2 张(七件同图,浅灰 `#F2F2F2` 均匀底,便于抠图);每件 2–3 版候选 | 作者出图 | `.../layers/bg_v1-3.png`、`.../layers/props_v1-3.png` | 同 S1 登记义务;拼表图物件的任何像素不越出自己的区域、无边框无文字 | +| **S4 后处理** | 抠底转透明 → 最近邻降采样到统一像素密度 → 色板量化到既有板 → 描边统一 → 按布局尺寸裁成 8 张 | Agent(脚本管线) | `.../layers/out/*.png`(8 张透明 PNG)+ 机检读数 | `palette_check.py <目录> --baseline <基线目录>` 无新增色红灯;`standee_asset_check.py` 单张 32 色、无非整数缩放痕迹、描边亮度达标 | +| **S5 合成校验** | 按坐标表把 8 张合到 1280×800,与 S2 选中的方向稿并排;另出**四态演示图**(常态/悬停/按下/禁用四联) | Agent | `.../composite_check.png` + `.../states_preview.png` | 逐件锚点误差 ≤2px;七命中矩形两两不重叠(脚本先跑一遍);四态四联一眼可辨 | +| **S6 样张过审** | 作者目检合成图与四态演示 | **作者** | 一句「过/不过 + 改什么」 | 过 = 进 S7;不过 = 回 S3(改提示词重出)或回 S1(方向错了) | +| **S7 落盘与挂链** | 终稿拷入 `game/assets/art/scene/`(新子目录,需同步 `asset-path-map` §3);代码侧先加 `UiKit.TEX_CAMP_*` 常量再接线(终稿文件名 = 代码消费名) | 实现批(**本次不做**) | 8 张终稿 + 常量 + 坐标表落码 | 反哺点登记:art-bible §6.2/§7.5/§2.8 改版、camp.md 整体改版、asset-path-map §3 增 `scene/` 子目录 | + +**出图分辨率纪律(像素硬规则)**:源档按**终稿的整数倍**出(建议 2×:背景 2560×1600 → 降采样到 1280×800;物件件按布局尺寸 ×2 出),降采样走最近邻(放大缩小不做平滑插值,保硬像素边)。**禁止非整数倍降采样**——甲类(语义件/环境结构件)严格整数倍。 + +**参考物到位后的处置**:作者找到参照物 → 与纵深稿对表;结构性冲突(比如参照的营地根本没有围栏/大门)→ **呈报订正构图,不在批内私改**(卡④ L3 条)。 + +--- + +## 4. 命名与消费链(先定消费名,防断链) + +命名按 art-bible §8.3:`<域>_<对象键>_<状态|变体>.png`,全小写 snake_case。新增语义子目录 `scene/`(现有仅 board/character/fx/ui)。 + +| 消费常量(草案,实现批落 `UiKit`) | 资源路径 | 可点 | +|---|---|---| +| `TEX_CAMP_BG` | `res://assets/art/scene/scene_camp_bg.png` | 否 | +| `TEX_CAMP_GATE` | `res://assets/art/scene/scene_camp_gate.png` | 是 → 冒险 | +| `TEX_CAMP_FORGE` | `res://assets/art/scene/scene_camp_forge.png` | 是 → 锻造工坊 | +| `TEX_CAMP_CHEST` | `res://assets/art/scene/scene_camp_chest.png` | 是 → 秘宝匣 | +| `TEX_CAMP_NOTEBOOK` | `res://assets/art/scene/scene_camp_notebook.png` | 是 → 生涯记录 | +| `TEX_CAMP_DUMMY` | `res://assets/art/scene/scene_camp_dummy.png` | 是 → 天赋树 | +| `TEX_CAMP_BOARD` | `res://assets/art/scene/scene_camp_board.png` | 是 → 图鉴(占位态) | +| `TEX_CAMP_CAMPFIRE` | `res://assets/art/scene/scene_camp_campfire.png` | 是 → 离开营地 | +| `TEX_CAMP_BED` | `res://assets/art/scene/scene_camp_bed.png` | 否(承载件) | + +装载一律 `UiKit.load_tex`(素材不入 git,缺位要有回退),**禁 preload**(asset-path-map §2)。 + +--- + +## 5. 样张验收判据(QA 回头照这张表判) + +| # | 判据 | 怎么判 | +|---|---|---| +| **Y1 色数** | ①**单张 PNG ≤32 色**(像素域硬闸,不变);②色板按 **§9⑥ 乙口径**:语义/UI token 48 不动,**每屏一套环境子板 ≤32 色、允许跨屏不共享** | `palette_check.py <目录> --baseline <基线目录>` + `standee_asset_check.py`;超了走「换色合并」,**禁加色绕行** | +| **Y2 色域** | 吸色全扫 **无 HSV 300°–345°**(禁紫/洋红);主色域 = 烛光黄 `#F6C667` × 木色 `#8A5A34` 暖色相,中等饱和(饱和 ≤0.55) | 脚本吸色统计;建议暖色相像素占比判据由作者定一档 | +| **Y3 新色双门** | 新增色仍过两门:① 不占语义色段(红只说危险/金只说收益/蓝只说己方)② 与既有任一色 RGB 三通道差 ≥8/255。**注**:按乙口径,新增的**环境色**归所属屏的环境子板,**不再挤占 48 token 额度** | `palette_check.py` | +| **Y4 明度档** | 三档带成立:信息面层(顶栏 HUD/提示名牌)> 世界中层(七物件)> 世界底层(地面/远景),层间灰度可分;**明度序在渲染合成空间(伽马)排档**——按 CIE L* 线性排会把序排反(本项目实测教训) | 截图转灰度抽测 + 作者目检 | +| **Y5 像素纪律** | 纹理过滤 Nearest;像素网格对齐、**硬边、无渐变、无抗锯齿**(放大 4× 目检无中间过渡色);无 1px 半透明毛边 | `standee_asset_check.py` + 放大目检 | +| **Y6 物件可辨性** | 转灰度后七件剪影**两两可辨**(不混);每件在 1280×800 上最小外接矩形 ≥64×64(笔记本可 ≥40×40,命中区外扩补到 ≥48×48);七件均带亮暖白描边(§5.1 轮廓通道,禁黑描边) | 灰度图目检 + 脚本量外接矩形 | +| **Y7 可点区域** | 七命中矩形**两两不相交**;不越出画面;**不侵入顶栏保留带(y ≤ 48)**;最小 64×64;中心点落在对应物件的不透明像素上且**不落在其它六件上**;**篝火按「命中矩形(火堆)」而非贴图矩形判定** | 脚本几何断言(实现批落探针) | +| **Y8 对位** | 合成图与 S2 选中方向稿逐件锚点误差 **≤2px**;移走任一物件背景不露洞 | 并排对比 + 脚本差分 | +| **Y9 风格一致** | 八张图 1× 像素密度一致(放大后色块大小相同)、描边同色同粗、色域同源 | 八件并排目检(机检不判气质) | +| **Y10 文字与结构** | 顶栏/HUD/提示名牌文字对直接底 **≥4.5:1**(大字 ≥3:1);围栏/门柱/石板等结构**必须是画出来的结构件**,禁以渐变/滤镜伪造(§8.5) | 对比度实测 + 放大目检 | + +**不机检、归作者目检的三项**:构图气质(纵深稿味道对不对)、七件一眼找得到(可辨性终审)、四态反馈手感。 + +--- + +## 6. 待裁清单状态(2026-10-22 更新) + +**已销号**: + +1. ✅ **渠道** = B 插画级新产(§1.2)|卡④ P1 销号 +2. ✅ **规格口径** = 沿用 `art-bible` §8.1/§8.2 既有裁决,营地不单开例外(§1.2 ⚠ 条) +3. ✅ **参照物** = 讨论阶段不需要,S1 开工前由我提醒(§9 ⑧) +4. ✅ **门扇形态** = 半开(§9 ①) +5. ✅ **篝火命中区** = 只含火堆不含火焰;火焰动效本次不谈(§9 ②) +6. ✅ **顶栏** = 一行量、高 48px、浮层覆盖、素材仍 1280×800(§9 ⑤⑦) +7. ✅ **S0 布局坐标** = v3 已目检接受(§2.5)——后续改动须显式提出,会连带改对位/命中区断言 +8. ✅ **色板口径** = 乙 · 分层(§9 ⑥) + +**仍待裁 / 待补**: + +1. ~~顶栏形态~~ ✅ 已定=全宽窄条 48px(§9 ⑦) +2. ~~名牌文案七条~~ ✅ 已定(§9 ③) +3. ~~门洞远景画不画小路~~ ✅ 已定=画(§9 ①) +4. ~~色板加不加新色~~ ✅ 已定=允许加;额度不足时呈报作者压缩(§9 ⑩) +5. ~~禁用态给不给~~ ✅ 已定=给,仅锻炉与宝箱,表现=变暗+灰度(§9 ⑨) +6. **篝火「命中矩形」的具体数值** —— 规则已定(只取下半),**数值归实现批按成图裁切定** +7. **P5 落文**:`camp.md` 与 `art-bible` §6.2/§7.5/§2.8 改版 + **§2 明度禁令的例外条款(因 §9 ⑨)** —— 后续文档批,不在本讨论段动 +8. ~~**§8 提示词草稿**~~ **已整段删除(2026-10-22 作者令)**:该草稿写于多项裁定之前(门扇写的是闭合、顶部留空按 64),与已定裁定冲突。**生成提示词后续专门讨论时重新起草**,届时按当时已定稿的裁定写。 + +--- + +## 9. 讨论裁定记录(2026-10-22) + +> **性质**:讨论段决定,尚未落实任何素材与代码。**作者 2026-10-22 令=先写进本文档、暂不提交**,待本轮议题全部结束后统一处置(会话内容不留存,只认文件)。 +> 已并入上文的:渠道=B(§1)、规格=沿用既有口径(§1.2)、坐标=v3(§2.5)、篝火贴图/命中两分(§2.5 末)。 + +| # | 裁定 | 连带影响 / 待办 | +|---|---|---| +| ① | **门扇=半开** | 与既有结构一致(背景画门柱+门洞、门扇叠在洞上)。**已定(2026-10-22)**:门洞=营地大门的门洞(半开门扇透出处),**画一条通向远处的小路**,暗示「出去即冒险」 | +| ② | **篝火命中区只含火堆、不含火焰** | 篝火=唯一「贴图矩形 ≠ 命中矩形」的件,坐标表须两列表表达;**火焰动效本次不谈**(作者令),过渡档=静态一张 | +| ③ | **悬停反馈=轮廓亮边 + 浮动 + 名牌**(2026-10-22 作者更正:**不是整体提亮**,是给轮廓加亮边) | 亮边=按物件层 alpha 外扩 1px 派生(零手绘、零新素材);**浮动⚠必须整像素吸附**(每帧 `round()`,否则 Nearest 下边缘抖/糊,须写成验收项),幅度 **±2px、周期约 0.5s**(作者认可);**名牌**=物件**下方 8px 水平居中**(作者认可),字号走 §7.4 tooltip 档 14px、对比 ≥4.5:1、不压物件本体;**文案七条**:开始冒险/锻造工坊/秘宝匣/生涯记录/天赋树/奖励格图鉴/离开营地(取自现役界面名) | +| ⑨ | **禁用态=变暗 + 调灰度**(2026-10-22 作者裁) | ⚠ **作者特许破除 `art-bible` §2 明度禁令**(原「不动明度」、§6.2「亮起只走饱和/色相」)与 §7.6 按钮禁用态(α0.45 幽灵化)——**本项须登记为反哺点,由文档批改条款,不私下改规矩**。适用范围:**只有锻炉(锻造工坊)与宝箱(秘宝匣)两件**会进入禁用态(依据 `camp_overlay_view.gd:111`「🔒 锻造工坊未开放」、`:25-31` 两柜台锁定态行);**其余五件恒可点**;布告板(图鉴)是内容冻结未激活,**不是锁定**,不做禁用态 | +| ⑩ | **色板:允许新增颜色**(2026-10-22 作者裁) | 过渡档**不再一律压回既有色板**;按 §9⑥ 乙口径加**环境色**(归每屏环境子板)。**额度不够时呈报作者**,由作者决定如何压缩既有色 | +| ④ | **篝火「离开营地」必须二次确认** | ⚠ **改判**:推翻卡④ §9-4 既有代拍板(原「默认直回」),须登记为反哺点;实现复用**删档二次确认**的既有形态(澄清⑤裁决 3),零新控件 | + +| ⑤ | **顶部信息只保留「一行的量」;顶栏高度=48px**(2026-10-22 作者裁,重要) | 内容 = 钥石图标 32px(64 源 ×0.5 显示档,asset-path-map §2)+ 余额文字一行(FS_BODY 16);**不加第二行、不放大按钮**。48 = 32 + 上下各 8,8/16 整数倍、图标在条内居中(备选 44=与现役 AP 条同高,未采用)。作废的 64/96/80/72 见本节末留痕 | +| ⑥ | **色板=乙 · 分层口径**(2026-10-22 作者裁) | 语义/UI token 48 不动;**新增「每屏环境子板」:每屏一套 ≤32 色、允许跨屏不共享**;单张 PNG ≤32 色这条不变。落实需走文档批改 `art-bible` §4.1 措辞(反哺点) | +| ⑦ | **顶栏=浮层覆盖在画面上层,形态=全宽窄条,高 48px,素材仍 1280×800,不挤压、不缩放、不变形**(2026-10-22 作者裁) | v3 坐标零影响(最高物件大门 y=250)。禁区判定:全宽 `y ≤ 48` | +| ⑧ | **参照物=讨论阶段不需要**(2026-10-22 作者裁) | 由 Agent 在「开始生成美术素材(S1)」**之前**提醒作者;不是本讨论阶段的阻塞项 | + +**待办**:~~§8 提示词草稿~~ **已整段删除**(2026-10-22 作者令:草稿与已定裁定冲突,后续专门讨论生成时重新起草)。 + +**已作废的推导(留痕)**:曾按「占屏高百分比」比照 SNES《超级马里奥世界》(40/224=17.9%)与 Deltarune 幻想主机(16/144=11.1%),推出顶栏 96px——**作者否决**:取样太古老、像素尺度不同、无参考价值。改用近代像素 Roguelike/幸存者 like 后作废该结论(详见上表 ⑤)。 + +## 11. 既有条款修订清单(2026-10-22 核定,待文档批执行) + +> 本轮讨论的裁定与 `design/` 既有条款冲突者共 **10 项**。作者令:**逐条定改法 → 随本会话文档一并修改并提交**(走 worktree,不碰主区)。下表逐条过、逐条填。 + +| # | 条款 | 改法(作者 2026-10-22 裁) | 状态 | +|---|---|---|---| +| 1 | `art-bible` §2 头注明度禁令 | **缩窄范围**:删去「状态表达」这个禁止项,只保留「情绪表达」;**不设例外条款** | ✅ 措辞已定,见下 | +| 2 | `art-bible` §2.8 菜单与元进度 | **删旧写新**:「营地三柜台一字排开」整句换成七物件可点场景图 | ✅ 措辞已定,见下 | +| 3 | `art-bible` §4.1 色板 | **新增一款**(原文不动):色板分层=语义/UI token 48 + 每屏环境子板 ≤32 | ✅ 措辞已定,见下 | +| 4 | `art-bible` §6.2 营地场景 | **整条重写**:七物件场景图 + 分层 + 四态 + 顶栏 | ✅ 措辞已定,见下 | +| 5 | `art-bible` §7.5 营地界面 | **整条重写** | ✅ 措辞已定,见下 | +| 6 | `art-bible` §7.6(一)禁用态 | **加一句注**:本条管 UI 按钮,场景物件另按 §6.2 | ✅ 措辞已定,见下 | +| 7 | `camp.md` | **整份重写**(场景图 + 七物件点选 + 顶栏 + 叠层) | ✅ 措辞已定,见下 | +| 8 | `asset-path-map` §3 | **加一行**:新增 `scene/` 子目录 | ✅ 措辞已定,见下 | +| 9 | `art-assets-checklist` §3.5(含 :175) | **整条重写**为营地场景图 | ✅ 措辞已定,见下 | +| 10 | `art-status-checklist`:32 | 条目名改「营地场景图」,依据改指 §6.2 | ✅ 措辞已定,见下 | +| 附 | GDD 侧「柜台」用词 9 处 | **直接更正为新的营地说法**(作者令:不必逐条裁) | ✅ 措辞已定,见下 | + +### 第 1 条 · `art-bible` §2 头注 + +**现行**:「`禁令保留`:明度变化仍禁止用于**状态表达与情绪表达**——状态区分只允许**色相、饱和、运动、元素**四手段;roguelike 失败重开,世界无光暗记忆;Darkest Dungeon 式压暗仍在 §9.2 反面清单。」 + +**改为**:「`禁令保留(2026-10-22 缩窄至情绪域)`:明度变化禁止用于**情绪表达**——画面不得靠压暗/渐晕阴沉下来;roguelike 失败重开,世界无光暗记忆;Darkest Dungeon 式压暗仍在 §9.2 反面清单。**状态表达不受本禁令约束**:状态可用明度、色相、饱和、运动、元素任一手段承载。」 + +(同段其余不动:明度三档带分层、空间纵深/光照氛围/形体塑造允许域、§4.2 类型微光明度梯度一句,全部原样保留。) + +**影响核查**:现有冒烟断言里编码「禁用态 α0.45」的只有 UI 按钮(`smoke_all.gd:6526/6551/6563`,归 §7.6),**没有**任何断言编码「明度禁用于状态」→ 本条改动不牵动现役断言。 + +### 第 2 条 · `art-bible` §2.8 菜单与元进度(目标措辞) + +**现行(最后一行)**:`承载元素`:营地三柜台(属性锻造/秘宝匣/奖励格图鉴)在烛光下一字排开——场景构成、柜台亮光与钥石呈现位连同系统语义边界一并见 §6.2 + +**改为**:`承载元素`:**一张可点击的营地场景图**——远景天空与远山,中景围栏与半开的营地大门,近景中央的篝火,左侧锻炉铁砧,右侧床铺与宝箱、床边的笔记本,另有木桩与挂在围栏上的布告板;点画面里的物件进入对应界面(冒险/锻造工坊/秘宝匣/生涯记录/天赋树/图鉴/离开营地)。钥石余额常驻画面顶部的一行小 HUD 栏。场景构成、七物件绑定与呈现位见 §6.2 + +(本条其余四行——主情绪「可靠的营地感」、色彩性格「全作最暖烛光黄与木色」、氛围形容词、能量 3/10——**全部保留不动**。) + +### 第 3 条 · `art-bible` §4.1 色板(新增一款,原文不动) + +在 §4.1「色板增量纪律」之后**新增**一款(原文全部保留): + +> **色板分层(2026-10-22 作者裁)**:色板分两层管理——① **语义/UI token 板**:全作共享,硬上限 **48 色**,管 UI 语义色、墨色、材质色,跨屏恒定;② **场景环境子板**:**每屏一套,≤32 色,允许跨屏不共享**(环境色=天空、地面、植被、石材、火焰等随场景走的颜色)。新增环境色仍须过两道门(§4.2 语义检查 + 与既有任一色 RGB 三通道差 ≥8/255),但**不占用 48 token 额度**;不过门照旧走「换色合并」,**禁加色绕行**。单张 PNG 的像素域色数上限 **≤32 色**另由 `standee_asset_check` 执法(像素域口径,与本表 token 口径互不干扰)。额度不足时呈报作者,由作者决定压缩或合并既有色。 + +### 第 4 条 · `art-bible` §6.2 营地场景(整条重写) + +**现行**:三柜台一字排开 + 柜台=石板圆角容器 + 「亮起只走饱和/色相,不动明度」+ 事实源边界。 + +**改为**: + +> ### 6.2 营地场景 +> - **情绪与色域**:承载 §2.8——全作最暖:烛光黄 `#F6C667` × 木色 `#8A5A34`(§7.2),中等饱和,无棋盘式高对比。 +> - **场景构成**:一张可点击的营地场景图(1280×800,与工程档同幅面)。远景=天空与远山;中景=木围栏与**半开的营地大门**(门洞内一条通向远处的小路);近景=中央篝火、左侧锻炉铁砧、右侧床铺与宝箱、床边的笔记本,另有木桩与挂在围栏上的布告板。七个可点物件的功能绑定归 `camp.md`,本节只定画法。 +> - **交付形态**:**背景 1 层 + 七个物件各 1 层**(床铺为承载件、不可点),共 8 张透明 PNG + 一份坐标表(贴图矩形/命中矩形/z 序)。**篝火例外**:命中矩形只取下半(火堆),上半(火焰)只作特效展示。 +> - **交互四态(零新素材,全部程序化)**:悬停=**轮廓亮边 + 浮动**(浮动须整像素吸附);按下=位移 1px;**禁用/未解锁=降明度 + 去饱和**(§2 已缩窄至情绪域,状态表达不受限),**仅锻炉(锻造工坊)与宝箱(秘宝匣)两件会有此态**;已解锁=常态。 +> - **钥石余额**:常驻画面顶部的一行小 HUD 栏(高 48px,**浮层覆盖,不挤压画面**)。 +> - **事实源边界**:解锁条件/价格/存档写入归元进度 GDD 与 `MetaProgression`;素材命名与路径归 `asset-path-map`;清单登记归 `art-assets-checklist` §3.5。 + +### 第 5 条 · `art-bible` §7.5 营地界面(整条重写) + +> - 营地界面=**一张可点击的场景图 + 七物件点选**:点画面里的物件进入对应界面(冒险/锻造工坊/秘宝匣/生涯记录/天赋树/图鉴/离开营地)。场景图的画法、分层与四态见 §6.2;色域走 §7.2 最暖一档;钥石余额常驻顶部一行小 HUD 栏。界面视觉终稿以表现层样张过审为前置(§1.4 整屏样张闸)。 + +### 第 6 条 · `art-bible` §7.6(一)按钮禁用态(加一句注,原文不动) + +在「禁用 = 本族底 + α0.45 幽灵化(甲案)」条目末**追加**: + +> (注:本条管 **UI 按钮**;营地场景图里的**物件**禁用态另按 §6.2——降明度 + 去饱和,不走 α 幽灵化。) + +### GDD 侧「柜台」用词清理(一并改,共 9 处) + +| 文件:行 | 现行 | 改为 | +|---|---|---| +| `术语表.md:43` | 秘宝匣|营地**柜台之一**:… | 秘宝匣|营地**功能界面之一**(场景图里点**宝箱**进入):… | +| `术语表.md:56` | 锻造工坊|营地**四柜台之一**:… | 锻造工坊|营地**功能界面之一**(场景图里点**锻炉·铁砧**进入):…(顺带消除 43/56 条"三柜台 vs 四柜台"自相矛盾) | +| `02-系统清单.md:82` | camp.md|营地覆盖层 UX spec:**三柜台呈现**、钥石余额… | camp.md|营地 UX spec:**可点击场景图与七物件点选**、钥石余额、各功能界面入口… | +| `08-Alpha版本标准.md:106` | 营地(天赋树/锻造工坊/秘宝匣/图鉴)…锻造**柜台**占位面板注已解除;**柜台贴图**占位… | 营地(**场景图** + 天赋树/锻造工坊/秘宝匣/图鉴/生涯)…**场景图与七物件点选**随营地交互重做列入 Alpha… | +| `08-Alpha版本标准.md:200` | …**营地柜台贴图**已随营地交互重做列入 Alpha | …**营地场景图**已随营地交互重做列入 Alpha | +| `05-不做清单.md:22` | …首批已落地(营地**三柜台**/钥石/跨局注入) | …首批已落地(**营地**/钥石/跨局注入) | +| `01-核心循环.md:156` | …`unlock_requires` 字段 + **工坊柜台** + 里程碑分档发槽 | …`unlock_requires` 字段 + **锻造工坊界面** + 里程碑分档发槽 | +| `03-内容规模.md:59` | 扩**柜台**或改定价结构走… | 扩**锻造路线**或改定价结构走… | +| `ux/level-clear.md:64` | …**营地柜台全量** | …**营地界面全量**(禁入语义不变) | + +(`architecture/code-architecture.json:122` 与 `.html:5273-5284` 的「商品卡·三柜台」是**脚本生成的架构图节点副标签**,随实现批代码变更重生成,不在本次文档批改。) + +### 第 7 条 · `camp.md`(整份重写) + +**现行**:通篇是「四柜台覆盖层 + 石纹全屏底 + 三柜台列 + 底栏关闭钮 + 秘宝匣柜台呈现细则」。整体作废,替换为: + +```markdown +# 营地场景 UX spec(camp) + +> 状态:v2.0(2026-10-22 营地交互重做美术设计段;取代旧「四柜台覆盖层」形态) +> 事实源:本 spec(呈现)+ [元进度](../systems/跨局循环/元进度.md)(机制) +> 美术画法:[art-bible](../art/art-bible.md) §6.2/§7.5;素材命名与路径:[asset-path-map](../art/asset-path-map.md) +> 相邻:[level-map.md](level-map.md)(主菜单语境) + +## 定位 +营地=存档内的局外枢纽(存档语境可达,冒险进行中不可达)。形态=**一张可点击的营地场景图**:画面里有篝火、锻炉、床铺等物件,点物件进对应界面。**不是按钮列表式 UI。** + +## 场景构成与七物件绑定 +| 物件 | 进入 | 备注 | +|---|---|---| +| 大门(半开,门洞内一条通向远处的小路) | 冒险 | 点大门永远先出确认:有未完冒险=三出口(继续上一段/开始新冒险/取消);无=是否开始新冒险 | +| 锻炉·铁砧 | 锻造工坊 | **未解锁=禁用态**(降明度+去饱和) | +| 宝箱 | 秘宝匣 | **未解锁=禁用态**(同上) | +| 床铺旁笔记本 | 生涯记录 | 生涯页返回钮文案**禁含「营地」字样**(`ui_struct_probe.gd` nojump 禁词表) | +| 木桩 | 天赋树 | | +| 布告板 | 奖励格图鉴 | 内容冻结未激活,点进看占位——**不是禁用态** | +| 篝火 | 离开营地回主菜单 | **必须二次确认**;命中区只含火堆、不含火焰 | +| 床铺 | — | 承载件,**不可点** | + +纵深=远景天空与远山/中景围栏与大门/近景篝火与左右物件(作者纵深稿)。 + +## 点选反馈(根态) +悬停=**轮廓亮边 + 浮动**(浮动须整像素吸附)+物件**名牌**(物件下方 8px 居中,FS_HINT 14,对比 ≥4.5:1);按下=位移 1px;禁用=降明度+去饱和;已解锁=常态。**四态零新素材**(全部程序化)。 +命中区:七件两两不相交、不越出画面、**不侵入顶栏禁区(y ≤ 48)**。 + +## 顶栏 +钥石余额常驻画面顶部一行小 HUD 栏(高 48px、全宽窄条、**浮层覆盖在场景图上层,不挤压画面**)。刷新入口=营地刷新单口(卡⑤同口挂接)。 + +## 叠层与开合 +各界面开合走模态栈单口,层序入 `LAYER_CONTRACT`。**承载形态(独立全屏页 vs 单一内页切换)与叠层规则归卡④ §9 代拍板域,本 spec 不预设值**;派生规则:独立全屏页=场景根隐藏/单一内页切换=场景根留底(「缩放虚化」为第三形态,禁批内自选)。ESC 浮窗(返回主菜单/设置/退出游戏)归卡⑤。 + +## 口径 +- 呈现数据源=MetaProgression 只读投影经组合根喂入;本层不持有系统资源、不算价。 +- 「最近冒险」条带已撤下(卡④ Q4=甲),逐局历史回看归生涯。 +- 旧「秘宝匣柜台呈现细则」随形态作废;秘宝匣界面内部呈现(解锁面+同调装配段)保留原条款,迁本文件附录暂管,待该界面立独立 spec 后迁出。 +``` + +### 第 8 条 · `asset-path-map` §3(加一行) + +| 子目录 | 内容 | 现役 | +|---|---|---| +| `scene/` | **场景图**(背景层 + 可点物件层;2026-10-22 新增,营地场景图首批) | `scene_camp_bg`/`_gate`/`_forge`/`_chest`/`_notebook`/`_dummy`/`_board`/`_campfire`/`_bed`(九张,床铺=承载件不可点) | + +### 第 9 条 · `art-assets-checklist` §3.5(整条重写,含 :175 子句) + +> ### 3.5 营地场景图(2026-10-22 重写;原「营地与元进度件·三柜台」条目作废) +> - **要什么**:营地场景图 9 张——`scene_camp_bg`(背景)+ `scene_camp_gate / forge / chest / notebook / dummy / board / campfire`(七个可点物件)+ `scene_camp_bed`(承载件)。钥石顶栏图标沿用现役 `icon_keystone`。 +> - **来源/规格**:**✦ 插画级**(作者自跑远程生图管线);烛光黄 `#F6C667` + 木色 `#8A5A34`(art-bible §6.2);2× 源档出图、最近邻降采样到 1280×800;后处理=抠底/降采样/色板量化/描边统一。**每张出图须登记模型名+分辨率+seed+对话/日期**。 +> - **排期**:营地交互重做**美术自立批**(不占迭代位;UI 贴图重构批已搁置)。终稿落 `game/assets/art/scene/`,消费常量 `UiKit.TEX_CAMP_*`。 + +(`:175` 原句「营地件(3.5)归 UI 贴图重构批」→ 改为「营地场景图(3.5)归营地交互重做美术自立批」。) + +### 第 10 条 · `art-status-checklist`:32 + +`| 营地与元进度件 | ◐ | art-bible §4.4 |` → `| 营地场景图 | ◐ | art-bible §6.2 |` + +--- + +## 7. 本次没做的事(边界留痕) + +- 未出图、未跑生图管线、未跑任何测试(测试两入口铁规:本次非迭代 loop、非用户点名)。 +- 未改 `game/` 任何文件、未写需求卡片、未编迭代号、未改 `design/` 任何文件。 +- art-bible §6.2/§7.5/§2.8 的旧「三柜台」条款**本次未改**——按卡④ P5,落文归文档批(反哺点清单驱动),改版草案待本次方案定稿后另开文档批。 +- 旧条「每购得一件永久强化,对应柜台亮起一格暖光」随三柜台形态失效,已列反哺点候选,不在本方案内设计替代形态。 diff --git a/待办清单.md b/待办清单.md index bdb3ed07..92baffbc 100644 --- a/待办清单.md +++ b/待办清单.md @@ -2,6 +2,18 @@ 本清单是流水线的唯一登记处:要做的事先在此登记一条,随流水线段推进改状态,做完整条删除;各系统文档的「待办」节只留一行指路存根,不再自建条目。条目格式(标题=登记元数据,正文=现状/缺口/归属/状态四属性)与状态机以 [doc-conventions §12.1](design/engineering/doc-conventions.md) 为权威。 +#### 营地五界面窗口化批——营地功能页点开后的呈现形态(2026-10-22 登记,来源=会话提及,设计面=文档轨,优先级=**绝对**) + +**现状**:营地场景图(卡④)把旧四柜台换成「一张可点击的场景图」,从场景图点进去的**五个功能界面**——锻造工坊/秘宝匣/天赋树(树淬炼)/奖励格图鉴/生涯记录——其**呈现形态尚未定稿**:是各开独立全屏页(生涯先例),还是作为**窗口**打开(场景根留底)。**作者 2026-10-22 明示意图=窗口打开,不是全屏页**。该形态原属卡④ §9 代拍板白名单第 2 条(非用户裁、且「缩放虚化」第三形态禁批内自选),故单独立批,不在美术设计段定值。 + +**依赖(单向)**:**强依赖卡④**(场景图素材定稿 + 五界面入口改挂)完成;卡④不依赖本条 ⇒ 排序在卡④之后。**与「营地美术素材怎么生成」无关联**(不影响出图/分层/提示词)。 + +**缺口**:① 窗口形态与叠层规则定稿(独立全屏页=场景根隐藏/单一内页切换=场景根留底);② **窗口化=场景根留底 ⇒ 会引出「背景要不要压暗/虚化」**,而该点撞上 art-bible §2(2026-10-22 缩窄后**仍禁情绪表达**,背景压暗属氛围表达仍在禁区)与卡④「缩放虚化禁批内自选」——**须在该批开工前一并裁掉**;③ 五界面各自的返回/关闭钮(卡④ v1.1 已承诺各带一个)。 + +**归属**:卡④ §9 代拍板域 → 独立成批(呈现层 + 文档轨);窗口形态与叠层规则写入 `LAYER_CONTRACT` 与 [camp](design/gdd/ux/camp.md)「叠层与开合」节 + +**状态**:待文档设计 + #### 验收闭合规则——下一次迭代实测评估(2026-10-21 登记,来源=审计发现,设计面=工程直入) **现状**:2026-10-21 已改工作流技能与规约——[测试规范](design/engineering/test-conventions.md) 新增 §9(改动—验收对照表、真实入口、撤销证明、禁削弱、独立验收审计),[AGENTS.md](AGENTS.md) 硬性红线新增「验收闭合」,`req-card`/`iter`/`batch-closure` 三份技能同步,[流水线闸](tools/pipeline_gate.py) 新增 C3 卡片结构检查。规则文本已落地,还没在真实迭代上跑过。 @@ -565,7 +577,7 @@ - 卡④:reports/需求卡片-营地场景图新建批-2026-10-18.md(v2.3,**2026-10-21 用户令退回美术设计段,非有效卡**,美术设计闭合后重立卡,见缺口) - 卡⑤:reports/需求卡片-ESC浮窗与营地顶栏批-2026-10-18.md -**缺口**:卡④(营地场景图)**已退回美术设计段**(2026-10-21 用户令)——美术轨未闭合,按 req-card 第〇步不具写卡资格,现卡 v2.3 为非有效卡,五项前置销号后方可重立卡:P1 美术渠道 A/B(**待用户裁**,推荐 A);P2 像素规格(Q6 甲过渡口径已裁,执行归用户线);P3 点选反馈设计稿(用户线,未受命开工;Agent 曾越权起草 v0.1,已按用户令撤回删除);P4 参照物(用户后续找);P5 GDD/art-bible 落文(定稿后用户发令)。销号完毕且美术定稿(样张过审+art-bible 条款版本)后卡④方可进代码实现波次。 +**缺口**:卡④(营地场景图)**已退回美术设计段**(2026-10-21 用户令)——美术轨未闭合,按 req-card 第〇步不具写卡资格,现卡 v2.3 为非有效卡,五项前置销号后方可重立卡:P1 美术渠道(**2026-10-22 已裁=B 插画级新产**,✦ 渠道作者自跑远程生图管线;规格沿用 art-bible §8.1/§8.2 既有裁决);P2 像素规格(Q6 甲过渡口径已裁,执行归用户线);P3 点选反馈设计稿(用户线,未受命开工;Agent 曾越权起草 v0.1,已按用户令撤回删除);P4 参照物(用户后续找);P5 GDD/art-bible 落文(定稿后用户发令)。销号完毕且美术定稿(样张过审+art-bible 条款版本)后卡④方可进代码实现波次。 **归属**:营地交互重做(数据层+呈现层+美术线;五卡路径见现状清单,批次归属与波次由用户按工作量另裁)