merge(营地美术设计段提案补全): 分层元素表 + S1提示词v2 + 协作纪律 + 过期处订正(文档域闸 --docs 全绿)

This commit is contained in:
DKChan committed 2026-10-23 04:07:48 +08:00
commit b02af15bfa
1 file changed
+113 -16
@@ -12,7 +12,7 @@
|---|---|
| **① 现状差在哪** | 营地场景图**一张都不存在**(现役是四柜台覆盖层,程序化占位)。卡④ 已因美术轨凭据缺(P1–P5 未销号)退回美术设计段,卡⑤ 排在它后面,营地五卡是 Alpha 例外项——**没有图,卡④⑤ 一行代码都开不了**。 |
| **② 建议做什么** | 走**项目既有远程生图管线(主角/八敌同条路)出图 + 既有后处理管线收口**,交付形态定为 **「1 张背景层 + 7 张物件层 + 1 份坐标表」**(不是一张整图叠七个矩形热区)。出图顺序:先 2–3 张低分辨率**方向稿**让作者选划方向,判完方向才分层精制。 |
| **③ 为什么选它** | 七物件要**悬停/按下/禁用/已解锁四态**:整图 + 矩形热区做不出「贴合物件形状的高亮」和「单个物件灰掉」,要补就得给每个物件抠一张透明遮罩——那其实还是分层,只是遮罩不公开成素材。远程生图管线的**返工成本最低**(换提示词=换一张,八敌已量产验证),且有拼表制(一张图画多个素材再裁开)能硬压风格一致;CC0 找不齐七个指定物件同套,插画级周期最长。 |
| **③ 为什么选它** | 七物件要**悬停/按下/禁用/已解锁四态**:整图 + 矩形热区做不出「贴合物件形状的高亮」和「单个物件灰掉」,要补就得给每个物件抠一张透明遮罩——那其实还是分层,只是遮罩不公开成素材。渠道 **B(插画级新产,✦ 渠道作者自跑远程生图管线)** 的**返工成本最低**(换提示词=换一张,八敌已量产验证);♻ CC0 凑不齐七件同套素材,且多来源像素密度不齐。**不是三选一**:A/B 是「产出什么」,远程生图管线是「怎么产出」。 |
| **④ 怎么验证** | 机检三件:色板(`tools/palette_check.py --baseline`)、像素件(`tools/standee_asset_check.py`)、几何(七命中矩形两两不重叠 + 中心点落在物件不透明像素上,实现批写成探针断言)。风格一致、构图好看、七件一眼找得到——这三项机检判不了,**归作者目检**。 |
---
@@ -97,7 +97,7 @@
- **篝火**(近景居中、可能遮挡):它是**最该分离**的一件——① 它是 z 序最前的近景件,分离后遮挡由代码 z 序管,背景不会被它烧进去;② 它绑「离开营地」这个高代价动作,命中区要单独定(建议与躯干等宽、不含火焰上部飘动区,防误点);③ 火焰是将来唯一可能带动效的件,分离后加帧只动它一张。
- 过渡规格先出**静态一张**;若作者要火焰动效,后补 2–4 帧(同方向稿续写锁定形态),属后续画质档,本次非目标。
- **大门**(中景、与围栏连体):**背景层画全门柱与门洞**,大门物件层只画**门扇**叠在门洞上。这样分层边界天然(门柱内框 = 对位锚),且不会出现「背景缺个洞」的空洞问题。
- 请作者裁:门扇画成**关闭态**还是**半开态**(半开更暗示「可以出发」,但门洞要透出更多远景)。
- **已裁(2026-10-22):门扇=半开**,门洞内**画一条通向远处的小路**(暗示「出去即冒险」)。两扇门同属一张 `scene_camp_gate.png`,接缝一起落在同一命中矩形内。
### 2.4 分了层,AI 能不能保证七个物件与背景风格一致
@@ -163,14 +163,14 @@
| 步 | 做什么 | 谁做 | 产出物 | 完成判据 |
|---|---|---|---|---|
| **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 档),只为定方向 |
| **S0 布局稿** ✅**已销号 2026-10-22** | 按纵深稿把七件摆到 1280×800 上 | Agent 出稿 → **作者已裁** | 坐标表=本文 **§2.5 坐标草案 v3** | v3 经作者目检通过;改动须显式提出 |
| **S1 方向稿**(下一步) | 开 **3 个独立对话**,贴项目自家定稿素材作风格锚,出**整图构图候选**(背景+七件全画,不分层) | 作者出图 | `artwork/2026-10-23-营地场景/direction/v1.png v2.png v3.png` | 每张登记**模型名 + 分辨率 + seed + 对话/日期**(缺登记不入遴选);分辨率取平台**最大 16:10**(不小于 1024×640);提示词=**§13** |
| **S2 选划方向** | 作者目检三张,选一张并点名要改什么 | **作者** | 选划记录(选了哪张 / 改什么 / 淘汰另两张的理由) | 作者一句裁定 |
| **S3 分层出图** | 按定稿构图出:① 背景 1 张(1280×800 幅面)② 物件拼表 1–2 张(七件同图,浅灰 `#F2F2F2` 均匀底,便于抠图);每件 2–3 版候选 | 作者出图 | `.../layers/bg_v1-3.png`、`.../layers/props_v1-3.png` | 同 S1 登记义务;拼表图物件的任何像素不越出自己的区域、无边框无文字 |
| **S3 分层出图** | 按定稿构图出:① 背景 1 张(1280×800 幅面)② 物件拼表 1–2 张(七件同图,浅灰 `#F2F2F2` 均匀底,便于抠图);每件 2–3 版候选 | 作者出图 | `.../layers/bg_v1-3.png`、`.../layers/props_v1-3.png` | 同 S1 登记义务;拼表图物件的任何像素不越出自己的区域、无边框无文字;**提示词待 S2 后另起** |
| **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/` 子目录 |
| **S7 落盘与挂链** | 终稿拷入 `game/assets/art/scene/`;代码侧先加 `UiKit.TEX_CAMP_*` 常量再接线(终稿文件名 = 代码消费名) | 实现批(**本次不做**) | 8 张终稿 + 常量 + 坐标表落码 | 反哺点中的**文档部分已于 2026-10-23 执行完毕**(见 §11:art-bible §6.2/§7.5/§2.8/§2/§4.1 改版、camp.md 整体改版、asset-path-map §3 增 `scene/`);剩余为代码侧常量与落码 |
**出图分辨率纪律(像素硬规则)**:源档按**终稿的整数倍**出(建议 2×:背景 2560×1600 → 降采样到 1280×800;物件件按布局尺寸 ×2 出),降采样走最近邻(放大缩小不做平滑插值,保硬像素边)。**禁止非整数倍降采样**——甲类(语义件/环境结构件)严格整数倍。
@@ -196,6 +196,8 @@
装载一律 `UiKit.load_tex`(素材不入 git,缺位要有回退),**禁 preload**(asset-path-map §2)。
> **状态(2026-10-23)**:本节命名与 `game/assets/art/scene/` 子目录**已随文档批写入 `asset-path-map` §3**(commit `47907625`),本节与该文件互为一致;常量 `TEX_CAMP_*` 仍待实现批落码。
---
## 5. 样张验收判据(QA 回头照这张表判)
@@ -237,9 +239,10 @@
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),与已定裁定冲突。**生成提示词后续专门讨论时重新起草**,届时按当时已定稿的裁定写。
6. **篝火「命中矩形」的具体数值** —— 规则已定(只取下半=火堆,上半=火焰只展示),**数值归实现批按成图裁切定**
7. ✅ **P5 落文的文档部分已于 2026-10-23 执行完毕**(§11,commit `47907625`):camp.md 整份重写、art-bible §2/§2.8/§4.1/§6.2/§7.5/§7.6 改版。**剩余=代码侧**(`UiKit.TEX_CAMP_*` 常量与落码)
8. ✅ ~~**§8 提示词草稿**~~ → **已由 §13 取代**:旧稿被删(与已定裁定冲突),**新提示词 v2 已按全部定稿裁定重新起草**。
9. **下一步=S1 出方向稿**(作者跑生图)→ S2 作者选划 → 反馈改词 → 再出。当前等作者的预览图。
---
@@ -266,9 +269,11 @@
**已作废的推导(留痕)**:曾按「占屏高百分比」比照 SNES《超级马里奥世界》(40/224=17.9%)与 Deltarune 幻想主机(16/144=11.1%),推出顶栏 96px——**作者否决**:取样太古老、像素尺度不同、无参考价值。改用近代像素 Roguelike/幸存者 like 后作废该结论(详见上表 ⑤)。
## 11. 既有条款修订清单(2026-10-22 核定,待文档批执行)
## 11. 既有条款修订清单(2026-10-22 核定,**2026-10-23 已执行**)
> 本轮讨论的裁定与 `design/` 既有条款冲突者共 **10 项**。作者令:**逐条定改法 → 随本会话文档一并修改并提交**(走 worktree,不碰主区)。下表逐条过、逐条填。
> **执行结果**:worktree `D:/code/g-plan2-camp-art-doc`(分支 `camp-art-doc-20261023`)→ commit `569db112` → **`git merge --no-ff` 合回 master = `47907625`**;**文档域闸 `tools/run_all_gates.sh --docs` 全绿**(闸况与基线一致、无新增红;过程中修掉 1 处死链:`HUD框架` 指路 camp.md 应为 `../../ux/camp.md`)。主工作区 status CLEAN。
>
> 本轮讨论的裁定与 `design/` 既有条款冲突者共 **10 项**(另加 GDD 侧「柜台」用词 9 处,以及补扫出的 `元进度.md` 5 处、`HUD框架.md` 2 处)。作者令:**逐条定改法 → 随本会话文档一并修改并提交**(走 worktree,不碰主区)。下表为**改法记录**,条文已按此改完。
| # | 条款 | 改法(作者 2026-10-22 裁) | 状态 |
|---|---|---|---|
@@ -414,9 +419,101 @@
---
## 7. 本次没做的事(边界留痕)
## 12. 营地场景 · 分层元素描述表(2026-10-23)
- 未出图、未跑生图管线、未跑任何测试(测试两入口铁规:本次非迭代 loop、非用户点名)。
- 未改 `game/` 任何文件、未写需求卡片、未编迭代号、未改 `design/` 任何文件。
- art-bible §6.2/§7.5/§2.8 的旧「三柜台」条款**本次未改**——按卡④ P5,落文归文档批(反哺点清单驱动),改版草案待本次方案定稿后另开文档批。
- 旧条「每购得一件永久强化,对应柜台亮起一格暖光」随三柜台形态失效,已列反哺点候选,不在本方案内设计替代形态。
> 用途:跳过外部参照物后的**替代输入**——先把"脑里的画面"落成文字,既是给作者确认,也是写提示词的直接依据。远景/中景/近景三层齐全。
**时间**:**白天(晴朗)**——推导依据:① 美术基调「明亮轻快」;② §2 明度禁令缩窄后**情绪/氛围仍禁压暗**,夜间必然压暗即违规;③ 篝火作营地炊火,白天点着成立,不冲突「全作最暖」。
**天空元素**:**不画太阳**(§3.4 焦点预算:首焦唯一,背景禁构成完整凸形、禁抢焦);允许 **1–2 朵极简扁平云**,低对比,只为天空留层次。
### A. 背景层(1 张,1280×800,不透明全幅)
**层次分带**:远景=画面上部;**中景自底部往上约 2/3 处起**(≈ y 267);再往下全部是近景。
| 层次 | 元素 | 形态描述 | 画面位置 |
|---|---|---|---|
| 远景 | 天空 | 平涂,暖白偏米黄,上浅下略暖;**顶部 48px 保持空旷**(顶栏覆盖);无太阳,可有 1–2 朵极简扁平云 | y 0–200 |
| 远景 | 远山 | 2–3 层低矮起伏**剪影**,越远越淡(明度走**世界底层档**);**不画远树**——树形并入山轮廓 | y 180–260 |
| 远景 | 远景地面 | 远山脚下延伸到围栏背后的一片草地/土坡平涂色块;**不单独画地平线**(围栏横贯后不存在可见的地平线) | y 250–480 |
| **中景** | **木围栏** | 横贯全宽的矮木栅:等距木桩 + 两道横木;**中段留缺口**给大门 | y ≈ 480–520;缺口 x 520–760 |
| **中景** | **大门(门柱 + 门洞)** | 缺口两侧各一根粗木柱,柱顶略高出围栏;门洞内透出远景,一条向远处收缩的土路(暗示"出去即冒险") | 门柱 x ≈ 500–520 / 760–780;门洞 y 300–500 |
| 近景 | 地面 | 干土与踩踏过的草;硬边色块,无渐变 | y 480–800 |
### B. 物件层(8 张,透明 PNG)
| 层次 | 物件 | 形态描述(识别特征) | 位置/大小(v3 坐标) | 可点 |
|---|---|---|---|---|
| **中景** | 大门**门扇** | **两扇半开**的木门,向外敞开一条缝;厚木板 + 横撑 + 深色铁件(门柱与门洞在背景层) | `(520,250,240,220)` | 是 → 冒险 |
| **中景** | 布告板 | 挂**在围栏上**的木板,钉 2–3 张**空白**纸,纸角微翘 | `(845,330,130,140)` | 是 → 图鉴 |
| 近景 | 锻炉·铁砧 | 石砌炉体 + 短烟囱,炉口透橙光;炉前一具深色铁砧(矮墩 + 平顶 + 一角外伸);**主体落在近景地面**,顶部略高于中景分带线 | `(40,420,240,240)` | 是 → 锻造工坊(**可能禁用态**) |
| 近景 | 木桩 | 单根木柱立在地面,中段缠草绳/布垫,顶端略圆 | `(340,520,120,180)` | 是 → 天赋树 |
| 近景 | 篝火 | 灰石围成一圈,中间交叉架柴;上方橙黄火焰(**上半=火焰只展示,不可点**) | `(560,560,160,160)` | 是(**仅下半火堆**)→ 离开营地 |
| 近景 | 床铺 | 矮木架床 + 草垫 + 折好的毯子,床头略高 | `(958,520,300,170)` | **否**(承载件) |
| 近景 | 宝箱 | 闭合的木箱,深色铁箍包边,正面一个小锁扣 | `(1085,700,130,90)` | 是 → 秘宝匣(**可能禁用态**) |
| 近景 | 笔记本 | 摊开的小册子,平放在靠床头的位置,露出纸页 | `(818,690,100,80)` | 是 → 生涯记录 |
> **中景只有两样东西:木围栏(背景层)+ 营地大门(门柱门洞在背景层,门扇是物件层)**,另加挂在围栏上的布告板(物件层)。其余全部属于近景。
### C. 全画面通用约束
- **视角**:正侧平视(orthographic),所有物件同一侧角,**无透视变形**
- **光照**:均匀,无长投影;每个物件正下方**只一个小的深色接地影**(不是情绪压暗)
- **色域骨架**:烛光黄 `#F6C667`/木色 `#8A5A34`/掩尘 `#C9AF83`/裸土 `#B39A78`;天空、草、火焰等归**营地环境子板**(§9⑥ 乙口径)
- **禁用**:无文字/字母/数字/水印;无边框;无角色与生物;无紫或洋红;无渐变、无抗锯齿;无暗角渐晕
---
## 13. S1 方向稿 · 生图提示词 v2(2026-10-23 定稿,取代已删的旧 §8)
> 依据=§12 分层元素描述表(已确认)。**整段可贴,不需拼装、不需读其他文件。**
```
Pixel art style. True pixel art game scene drawn with chunky square pixels, strict pixel grid alignment, hard edges, no anti-aliasing, no gradients, flat colors only, a limited warm palette of about 24 colors, retro 16-bit look, Aseprite style, bright cheerful daytime fantasy, cozy and warm, all ages, flat side view, orthographic, no perspective distortion, every object drawn from the same side angle. Wide horizontal composition, 16:10 aspect ratio, showing a small adventurer camp on a grassy plain in clear daylight. SKY (top of frame): flat warm off-white sky, slightly warmer toward the bottom; the very top strip of the frame must stay calm and empty with nothing in it; no sun anywhere; at most one or two extremely simple flat low-contrast clouds. FAR DISTANCE: two or three layers of low rolling hill silhouettes, each layer paler than the one in front, no trees, no individual foliage, no visible horizon line — below the hills a flat band of distant grass and earth continues downward and is hidden behind the fence. MIDDLE GROUND (starting about two thirds up from the bottom edge): a low wooden fence running across the whole width of the frame, made of evenly spaced wooden posts and two horizontal rails, with one wide gap in the middle; in that gap stand two thick wooden gate posts slightly taller than the fence, and between them an opening showing a dirt path running away into the distance; in that opening hang two wooden gate leaves, half open, tilted outward, each made of thick planks with a cross brace and dark iron fittings. FOREGROUND GROUND: dry dirt and trodden grass, flat color blocks, hard edges, no gradient. Seven separate objects stand on this ground, each fully inside the frame, never cut off by the edges, never touching or overlapping another object, with clear empty ground visible all around it: on the left side, a stone forge with a short chimney and a warm orange glow in its mouth, and in front of it a dark iron anvil on a low block, the largest object on the left, its left edge close to the left border; to its right and slightly lower, a single wooden training post wrapped with a straw rope pad around its middle; at the bottom center, a campfire made of a ring of grey stones around crossed stacked logs with a warm orange-yellow flame above them; on the right side, a low wooden bed frame with a straw mattress and a folded blanket, the largest object on the right, its right edge close to the right border; below and slightly in front of the bed, a small closed wooden treasure chest with dark iron bands and a small lock plate; to the left of the chest, at the foot of the bed, a small open journal lying flat on the ground, the smallest object in the scene; hung on the fence on the right, a wooden notice board with two or three blank pinned papers, no writing on them. Warm color scheme throughout: candlelight yellow #F6C667 for firelight and highlights, wood brown #8A5A34 for every wooden structure, warm tan stone #C9AF83 for the forge and stones, dry warm earth brown #B39A78 for the ground, medium saturation, low contrast, even daylight, no long shadows, and only one small dark oval contact shadow directly beneath each object. Every object has a thin warm cream outline separating it from what is behind it. Do not add any of the following: realistic, photorealistic or 3D rendering; painterly brushwork, smooth anti-aliased lines, gradient or dithered shading, glossy highlights; black or heavy dark outlines; blur or compression artifacts; a vignette, dark corners, or any mood darkening; night, dusk, moon, stars, sunset or sunrise light; a sun or any light source drawn in the sky; a visible horizon line; trees, forests or foliage in the distance; any purple or magenta anywhere; any text, letters, numbers, watermark, signature or logo on any surface or paper; any frame, border, panel, arrow or UI element; any characters, people, creatures or animals; any object not listed above; any object overlapping, touching or hiding another object.
```
### 出图设置(平台侧,不在提示词里)
| 项 | 设什么 |
|---|---|
| 张数 | **3 张,各开一个独立对话**(同对话续写=修图,不是变体) |
| 分辨率 | 平台能选的**最大 16:10**(理想 1536×960 或 1280×800;不小于 1024×640) |
| seed | 可取则取 |
| 参考图 | 贴**项目自己的定稿素材**(主角立绘/瓦片纹理)作风格锚 —— 见下方追加句 |
| 登记 | 每张记 **模型名 + 分辨率 + seed + 对话/日期**,随图存 `artwork/2026-10-23-营地场景/direction/`;缺登记不入遴选 |
### 贴参考图时的追加句
```
Style reference: the attached image is this game's own finished pixel art — match only its rendering style, the same pixel density, flat shading, thin warm cream outline and warm limited palette. It is a style reference only: do not copy its character, gear or props, and do not put any character into the scene.
```
---
## 14. 本轮确立的协作纪律(2026-10-22~23,作者逐条立)
> 这些是**本轮会话里立下的工作方式**,此前只存在于会话与记忆中,现固化于此,供后续批与后续会话照做。
1. **会话不留存**:每次新会话只读得到文件。**一切决定必须落文档**,不能"说过了就算"。
2. **无证据的推荐值不采纳**:给任何推荐值前先自检是否有项目文档/代码出处。**证据在会话里举给作者判断即可,不写进文档**(作者原话:「证据是用来干什么的?是给我判断用的…你写到文档里面给谁看」)。
3. **布局口径(作者原话)**:说「两边太空、往两边移」=**只把最左、最右那两个组件推向边缘**;**不靠边的绝不允许贴边**,它们按离中心的距离成比例外移(最外移 80、第二圈 40、中轴 0),**组件尺寸不变**,拉开的是间隔。
4. **作者说了算**:改既有规矩时,Agent 的义务=**指出该裁定破了哪条既有规矩 + 登记反哺点**,由文档批改条款;**不反对、也不私下改规矩**。
5. **焦点纪律**:本次会话的目标=营地场景图「**美术素材怎么生成**」。凡**不影响出图、不影响分层、不影响提示词**的实现侧事项(如五界面承载形态、叠层规则、屏壳改造),**在文档里引用该域、不预设值**,绝不端到作者面前当"待定项"。
6. **能推导的直接定**:能从已定设计推出来的,**直接定值、报作者同意**;只有上下文里确实没定过的才问。不要把所有未决事项一股脑端上去。
7. **陈旧概念一律删净**:重新设计就是要替换掉旧的;凡与新设计冲突的旧说法(如「三柜台/柜台」),**全部删干净、用新设计取代**,不逐条问"删还是改"。
8. **方向稿先行**(卡④ Q8=甲):2~3 张低成本方向稿供选划,判完方向才精制。**外部参照物非必需**——风格锚用**项目自己的定稿素材**(比任何外部图都准),构图用纵深稿 + 坐标表。
---
## 7. 本次做了什么 / 没做什么(边界留痕 · 2026-10-23 更新)
**做了**:
- 出图提示词 v2(§13)与分层元素描述表(§12)
- **文档批已执行并合回 master**:15 个文件,commit `47907625`;文档域闸 `--docs` 全绿(§11)
- 待办清单登记「营地五界面窗口化批」(优先级=绝对)
- 参照物(首轮 6 张)已判定不合格并整目录删除
**没做**:
- 未出图、未跑生图管线(等作者跑 S1)
- 未改 `game/` 任何文件、未写需求卡片、未编迭代号
- 未做代码侧:`UiKit.TEX_CAMP_*` 常量与落码(归实现批)
- 旧条「每购得一件永久强化,对应柜台亮起一格暖光」随形态失效,**已随 §6.2 重写一并删除**(不再是候选事项)