iter53-收尾:迭代53产出物: 实现报告+反哺点清单10条+独立验收审计(通过);并master(fd9c8ad9 QA harness 定案登记+营地背景层两批,零交集)
This commit is contained in:
1 parent
76a7067440
commit
c89e59febb
8 files changed
+350
-46
No files matched your search
@@ -392,12 +392,12 @@
|
|||||||
- **情绪与色域**:承载 §2.8——全作最暖:烛光黄 `#F6C667` × 木色 `#8A5A34`(§7.2),中等饱和,无棋盘式高对比。
|
- **情绪与色域**:承载 §2.8——全作最暖:烛光黄 `#F6C667` × 木色 `#8A5A34`(§7.2),中等饱和,无棋盘式高对比。
|
||||||
- **场景构成**:一张可点击的营地场景图(1280×800,与工程档同幅面)。远景=天空与远山;中景=**独立成层的木围墙**(密排竖木桩、桩顶削尖、不透缝无横木)与**半开的营地大门**;近景=中央篝火、左侧锻炉铁砧、右侧帐篷与宝箱、帐篷旁的笔记本,另有木桩与挂在围墙上的布告板。**中景带自底部往上约 2/3 处起**;**近景物件可覆盖围墙,唯一例外=中间门洞必须留空、不被任何物件遮挡**。七个可点物件的功能绑定归 `camp.md`,本节只定画法。
|
- **场景构成**:一张可点击的营地场景图(1280×800,与工程档同幅面)。远景=天空与远山;中景=**独立成层的木围墙**(密排竖木桩、桩顶削尖、不透缝无横木)与**半开的营地大门**;近景=中央篝火、左侧锻炉铁砧、右侧帐篷与宝箱、帐篷旁的笔记本,另有木桩与挂在围墙上的布告板。**中景带自底部往上约 2/3 处起**;**近景物件可覆盖围墙,唯一例外=中间门洞必须留空、不被任何物件遮挡**。七个可点物件的功能绑定归 `camp.md`,本节只定画法。
|
||||||
- **图层拆分(10 张)**:场景按「远景/中景/近景要素各自成层」拆——`scene_camp_bg` 背景层(z0,不透明全幅)=天空+远山+整片地面+门洞内一条通向远处的小路;`scene_camp_wall` 围墙层(z1,透明底)=横贯全宽密排木桩墙(左右两段)+两根略高的门柱,**门洞处留透明缺口**透出背景层的小路;`scene_camp_board` 布告板(z2)、`scene_camp_gate` 门扇(z3)、`scene_camp_dummy` 木桩/`scene_camp_forge` 锻炉/`scene_camp_tent` 帐篷(z4)、`scene_camp_chest` 宝箱/`scene_camp_notebook` 笔记本(z5)、`scene_camp_campfire` 篝火(z6,最前)=八个物件层,各透明底单件一张。**帐篷**为承载件、不可点。围墙独立成层的好处:桩高可单独锁死、门洞做透明缺口、背景层不混入暖木色。提示词与坐标 = `camp-scene-prompts.md`,消费常量 = `asset-path-map`。
|
- **图层拆分(10 张)**:场景按「远景/中景/近景要素各自成层」拆——`scene_camp_bg` 背景层(z0,不透明全幅)=天空+远山+整片地面+门洞内一条通向远处的小路;`scene_camp_wall` 围墙层(z1,透明底)=横贯全宽密排木桩墙(左右两段)+两根略高的门柱,**门洞处留透明缺口**透出背景层的小路;`scene_camp_board` 布告板(z2)、`scene_camp_gate` 门扇(z3)、`scene_camp_dummy` 木桩/`scene_camp_forge` 锻炉/`scene_camp_tent` 帐篷(z4)、`scene_camp_chest` 宝箱/`scene_camp_notebook` 笔记本(z5)、`scene_camp_campfire` 篝火(z6,最前)=八个物件层,各透明底单件一张。**帐篷**为承载件、不可点。围墙独立成层的好处:桩高可单独锁死、门洞做透明缺口、背景层不混入暖木色。提示词与坐标 = `camp-scene-prompts.md`,消费常量 = `asset-path-map`。
|
||||||
- **交付形态**:**背景层 1 张(不透明全幅)+ 围墙层 1 张 + 八个物件层 = 10 张**,其中 9 张透明底、1 张不透明全幅 + 一份坐标表(贴图矩形/命中矩形/z 序)。**篝火例外**:命中矩形只取下半(火堆),上半(火焰)只作特效展示。围墙层落盘按细条裁,不做全幅(全幅约 3.9 MB 显存,细条约 0.35 MB);**实装落盘矩形 `(0, 261, 1280, 49)`、底锚 y310**(Y 压缩按桩身 43px 终稿锁定值精确,落带内〔规划带 (0,240,1280,70)〕;备选 A′〔带高 70/桩身 62〕存档 artwork 同目录)。
|
- **交付形态**:**背景层 1 张(不透明全幅)+ 围墙层 1 张 + 八个物件层 = 10 张**,其中 9 张透明底、1 张不透明全幅 + 一份坐标表(贴图矩形/命中矩形/z 序)。背景层由**远景片 `bg_far`(2560×734)与地面片 `bg_floor`(2560×866)两片出图、按 y734 拼成一张**——整张一次出图时模型把远山挤到画面下半部,被围墙挡住后完全消失(实测三张里两张山体上缘落在墙顶以下)。接缝整条落在围墙背后,画面无接缝。**篝火例外**:命中矩形只取下半(火堆),上半(火焰)只作特效展示。围墙层落盘按细条裁,不做全幅(全幅约 3.9 MB 显存,细条约 0.35 MB);**实装落盘矩形 `(0, 203, 1280, 164)`、底锚 y367**(桩身 150px、门柱 164px 终稿锁定值,落带内〔围墙带 (0,203,1280,164)〕)。
|
||||||
- **色彩与氛围依据**:营地场景的冷暖分工(冷的大面积后退、暖的小面积前进)、空气透视三档与大面积用色规则 = `reports/提案-营地色彩与氛围脚本-2026-10-23.md`。本节不复述色值;新增环境色按 §4.1 场景环境子板条款登记(每屏一套、≤32 色、过 §4.2 语义检查与 RGB 三通道差 ≥8/255 两道门)。
|
- **色彩与氛围依据**:营地场景的冷暖分工(冷的大面积后退、暖的小面积前进)、空气透视三档与大面积用色规则 = `reports/提案-营地色彩与氛围脚本-2026-10-23.md`。本节不复述色值;新增环境色按 §4.1 场景环境子板条款登记(每屏一套、≤32 色、过 §4.2 语义检查与 RGB 三通道差 ≥8/255 两道门)。
|
||||||
- **交互四态(零新素材,全部程序化)**:悬停=**轮廓亮边 + 浮动**(浮动须整像素吸附);按下=位移 1px;**禁用/未解锁=降明度 + 去饱和**(§2 已缩窄至情绪域,状态表达不受限),**仅锻炉(锻造工坊)与宝箱(秘宝匣)两件会有此态**;已解锁=常态。
|
- **交互四态(零新素材,全部程序化)**:悬停=**轮廓亮边 + 浮动**(浮动须整像素吸附);按下=位移 1px;**禁用/未解锁=降明度 + 去饱和**(§2 已缩窄至情绪域,状态表达不受限),**仅锻炉(锻造工坊)与宝箱(秘宝匣)两件会有此态**;已解锁=常态。
|
||||||
- **钥石余额**:常驻画面顶部的一行小 HUD 栏(高 48px,**浮层覆盖,不挤压画面**)。
|
- **钥石余额**:常驻画面顶部的一行小 HUD 栏(高 48px,**浮层覆盖,不挤压画面**)。
|
||||||
- **事实源边界**:解锁条件/价格/存档写入归元进度 GDD 与 `MetaProgression`;素材命名与路径归 `asset-path-map`;清单登记归 `art-assets-checklist` §3.5。
|
- **事实源边界**:解锁条件/价格/存档写入归元进度 GDD 与 `MetaProgression`;素材命名与路径归 `asset-path-map`;清单登记归 `art-assets-checklist` §3.5。
|
||||||
- **已裁(2026-11-01 用户裁)**:① **营地环境子板色值**——不前置拍板:量化场景实际用色后按 §4.1 场景环境子板条款登记(每屏一套、≤32 色、过 §4.2 语义检查与 RGB 三通道差 ≥8/255 两道门);② **门扇与门洞的高宽比例**——门扇 240×220 追认现值,坐标按门洞 x520–760 对齐(`camp-scene-prompts.md` §2.3);③ **帐篷的落地尺寸**——300×170 追认现值(各素材第一张样本稿已过审为终稿,重定即触发重出,不裁)。
|
- **已裁(2026-11-01 用户裁)**:① **营地环境子板色值**——不前置拍板:量化场景实际用色后按 §4.1 场景环境子板条款登记(每屏一套、≤32 色、过 §4.2 语义检查与 RGB 三通道差 ≥8/255 两道门);② **门扇与门洞的高宽比例**——门扇贴图 240×138(锁定 240×147),随门洞 y283–367 压扁重画,坐标按门洞 x520–760 对齐;③ **帐篷的落地尺寸**——251×170 落位 (982, 335),上端遮住围墙下部。
|
||||||
|
|
||||||
### 6.3 三关图类型色板候选(board_type 换挡方向)
|
### 6.3 三关图类型色板候选(board_type 换挡方向)
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# 营地场景 · 分层生图提示词卡 v1.5
|
# 营地场景 · 分层生图提示词卡 v1.5
|
||||||
|
|
||||||
> **性质**:营地场景图(1280×800,一张可点击场景图 + 十张分层:背景层 1 + 围墙层 1 + 八个物件层)的出图执行侧文件。**场景级资产,与角色级 [art-prompts](art-prompts.md) 并列,两文件互不覆盖**。
|
> **性质**:营地场景图(1280×800,一张可点击场景图 + 十张分层:背景层 1 + 围墙层 1 + 八个物件层)的出图执行侧文件。**场景级资产,与角色级 [art-prompts](art-prompts.md) 并列,两文件互不覆盖**。
|
||||||
> **依据**:色彩与氛围 = `reports/提案-营地色彩与氛围脚本-2026-10-23.md`(本卡不复述色值);坐标与层序 = `artwork/2026-10-23-营地场景/布局草案-1280x800.html`;物件命名与消费链 = [asset-path-map](asset-path-map.md);画法与交付形态 = [art-bible](art-bible.md) §6.2。冲突时色彩以色彩脚本为准,画法以 art-bible 为准。
|
> **依据**:色彩与氛围 = `reports/提案-营地色彩与氛围脚本-2026-10-23.md`(本卡不复述色值);坐标与层序 = 本卡 §2.3(运行期单一事实源 = `game/data/tables/camp_scene_layout.tres`);物件命名与消费链 = [asset-path-map](asset-path-map.md);画法与交付形态 = [art-bible](art-bible.md) §6.2。冲突时色彩以色彩脚本为准,画法以 art-bible 为准。
|
||||||
> **边界**:只管营地场景图的分层出图。角色、图标、格面走 art-prompts.md 与脚本管线,不需要提示词。
|
> **边界**:只管营地场景图的分层出图。角色、图标、格面走 art-prompts.md 与脚本管线,不需要提示词。
|
||||||
> **建立**:2026-10-25 · 状态:十条提示词成文(背景层 1 + 围墙层 1 + 八个物件层),出图通道由作者自定
|
> **建立**:2026-10-25 · 状态:十条提示词成文(背景层 1 + 围墙层 1 + 八个物件层);2026-11-05 按地平线 y367 重排,背景层与围墙层待按 §4 新判据重出,门扇随门洞压扁重画
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
3. **后处理**:脚本管线代跑——去底转透明、降采样到终稿尺寸(整数倍)、色板量化、四联底测试条。**背景层不去底(全幅不透明)**;围墙层与八个物件层去底转透明。后处理工具清单与用法见 [art-pipeline-tools](art-pipeline-tools.md)。
|
3. **后处理**:脚本管线代跑——去底转透明、降采样到终稿尺寸(整数倍)、色板量化、四联底测试条。**背景层不去底(全幅不透明)**;围墙层与八个物件层去底转透明。后处理工具清单与用法见 [art-pipeline-tools](art-pipeline-tools.md)。
|
||||||
4. **转正**:终稿转入切片资产目录,按坐标表接线。
|
4. **转正**:终稿转入切片资产目录,按坐标表接线。
|
||||||
|
|
||||||
**出图顺序(先锁后产,不能跳)**:概念脚本 → **本卡提示词** → 贴风格参考图**先出背景层 `scene_camp_bg` 1 张** → 作者确认风格前缀 → 才扩产围墙层 `scene_camp_wall` 与八个物件层(共 9 张)。
|
**出图顺序(先锁后产,不能跳)**:概念脚本 → **本卡提示词** → 贴风格参考图**先出远景片 `bg_far` 1 张** → 作者确认风格前缀 → 才出地面片 `bg_floor`、围墙层与八个物件层。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -43,22 +43,57 @@ Style reference: the attached images are this game's own finished pixel art and
|
|||||||
|
|
||||||
### 2.1 背景层(`scene_camp_bg`,不可点,不透明全幅)
|
### 2.1 背景层(`scene_camp_bg`,不可点,不透明全幅)
|
||||||
|
|
||||||
**出图画布**:2560×1600(终稿 1280×800 的 2 倍,保证整数倍降采样)
|
**产出方式**:分两片出图,后处理按 y734 拼成一张 2560×1600。接缝整条落在围墙层(406–734)背后,画面里看不见。
|
||||||
**画什么**:天空、远山、整片地面、门洞位置一条通向远处的小路
|
|
||||||
**不画什么**:木围墙、门柱、门扇、七个物件、角色、接地阴影——围墙与门柱是 §2.2 的独立层,门洞是它的透明缺口;小路在本层画好、透出来即可
|
| 片 | 出图画布 | 终稿落位 | 内容 |
|
||||||
|
|---|---|---|---|
|
||||||
|
| 远景片 `bg_far` | 2560×734(3.5:1 超宽) | (0, 0, 1280, 367) | 天空+远山+草地+小路 |
|
||||||
|
| 地面片 `bg_floor` | 2560×866(3:1 超宽) | (0, 367, 1280, 433) | 营地内踩实裸土 |
|
||||||
|
|
||||||
|
**为什么分两片**:整张一次出图时,模型按「构图好看」分配天地比例,山被挤到画面下半部——三张实测里两张的山体整段落在围墙后面(山体上缘 y280/y227,墙顶 217),远山等于消失。拆开后远景片的全部高度都归天空+山+草地,山才可能长到围墙之上。
|
||||||
|
|
||||||
|
#### 2.1.1 远景片(`bg_far`)
|
||||||
|
|
||||||
|
**画布比例**:3.5:1 超宽。通道支持直接出 2560×734;不支持则按 3:2 出图后纵向压到 3.5:1,构图比例不变
|
||||||
|
**分带(按画面高度)**:
|
||||||
|
- 天空 0–14%
|
||||||
|
- 远山 14–55%(**山体占 41%,硬指标**)
|
||||||
|
- 草地 55–100%
|
||||||
|
- 小路在草地内:从底边向上收窄,到山脚为止,**不越过山脚、不上探到天空**
|
||||||
|
**画什么**:天空、2–3 层远山、成片草地、草地中央一条土路
|
||||||
|
**不画什么**:围墙、门柱、门扇、物件、角色、营地内地面(那是 §2.1.2);山与草地之间禁出现平直硬边
|
||||||
|
|
||||||
```
|
```
|
||||||
Pixel art style. True pixel art game background layer drawn with chunky square pixels, strict pixel grid alignment, hard edges, no anti-aliasing, no gradients, flat colors only, a limited palette of about 24 colors, retro 16-bit look, Aseprite style, all ages, flat side view, orthographic, no perspective distortion. Wide horizontal composition, 16:10 aspect ratio. This is the FAR BACKGROUND LAYER ONLY of a small adventurer camp: sky, distant hills and the whole ground. It must contain no palisade wall, no gate posts, no camp objects, no gate leaves, no characters and no drop shadows, because all of those are drawn as separate transparent layers on top of this one. COLOR SCRIPT — cool recedes, warm advances: the sky, the hills and the ground are all COOL, pale, desaturated and low in contrast; there is no warm accent anywhere in this layer, warm color belongs only to the separate object layers drawn on top. ATMOSPHERIC DEPTH: every plane that is farther away is lighter, closer to the value of the sky, cooler, lower in contrast and simpler in detail, while the nearest plane is the darkest and highest in contrast. SKY (top of frame): the lightest thing in the picture, flat pale cool off-white with a faint blue-grey tint, no yellow or cream tone, no sun anywhere; the very top strip of the frame, about one sixteenth of the frame height, stays completely calm and empty, reserved as clear space with nothing in it; at most one or two extremely simple flat low-contrast clouds. FAR DISTANCE: two or three layers of low rolling hill silhouettes in pale cool blue-grey, each farther layer lighter, cooler and lower in contrast than the one in front, fading towards the value of the sky, no trees, no individual foliage. HILLS TO GROUND: the hills fade gradually and smoothly down into the ground, with NO visible horizon line and NO distant ground band — the transition must not read as a separate horizontal stripe of a different color. GATE PATH: in the middle of the frame, between x=1040 and x=1520, one clearly visible dirt path runs from the ground at two thirds of the frame height measured from the bottom edge away into the distance between the hills, narrowing as it recedes, painted in a muted desaturated grey-brown earth tone, never golden or warm yellow; this path shows through the empty gate opening of the wall layer above. FOREGROUND GROUND: the darkest area of the picture, dry packed bare earth in a neutral desaturated grey-brown, never golden, amber or warm yellow, hard flat color blocks, hard edges, no gradient, no grass, no grass tufts, no weeds and no plants of any kind. The foreground ground is completely empty apart from the dirt path: no objects, no icons, no badges, no markers, no decorations of any kind. 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; drop shadows, contact shadows or any shadow band; 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, a separate horizontal distant ground band or any distant grass strip below the hills; trees, forests or foliage in the distance; grass, grass tufts, weeds or plants in the foreground; a palisade wall, wooden fence, fence posts, gate posts or any wall structure; any warm, golden, amber or yellow cast on the sky, on the hills or on the ground; any camp object, furniture, crate, barrel, fire, tent or tool; any gate leaf, door panel or hinge; any purple or magenta anywhere; any text, letters, numbers, watermark, signature or logo; any frame, border, panel, arrow or UI element; any icon, badge, item tile, emblem, sign, marker or symbol anywhere in the frame; any characters, people, creatures or animals.
|
Pixel art style. True pixel art game background, chunky square pixels, strict pixel grid, hard edges, no anti-aliasing, flat colors, limited palette about 20 colors, retro 16-bit look, Aseprite style, flat side view, orthographic, ULTRA WIDE horizontal composition, aspect ratio 3.5 to 1. This is the far view seen from inside a small adventurer camp, looking out. It contains ONLY three bands stacked top to bottom, plus one path. BAND 1 — SKY, from the top edge down to 14 percent of the frame height: pale cool off-white with a faint blue-grey tint, flat and empty, at most one or two extremely simple flat clouds, no sun. BAND 2 — DISTANT HILLS, from 14 percent down to 55 percent of the frame height: two or three overlapping layers of rolling hills in pale cool blue-grey-green, each farther layer lighter, cooler and lower in contrast. THE HILLS MUST FILL THIS ENTIRE BAND — the highest ridgeline reaches up to 14 to 20 percent of the frame height and the hill mass continues down to 55 percent; a low ridge hugging the bottom of the frame is WRONG. Silhouette edges are stepped in pixel blocks, no outline, no rim light. BAND 3 — MEADOW, from 55 percent down to the bottom edge: cool pale grey-green grass, flat and low contrast, marked only by a few simple flat grass tufts, no trees, no bushes. PATH — one dirt path in the meadow only: it starts at the bottom edge of the frame in the middle, about one fifth of the frame width there, runs straight up and narrows until it meets the hill foot at 55 percent, where it disappears; it must not go above the hill foot and must not reach the sky. COLOR: everything cool, pale, desaturated, low contrast, no warm, golden, amber or yellow anywhere. DO NOT ADD: any palisade wall, fence, gate, gate posts, tent, campfire, crate, barrel, prop, character, animal; any hard straight horizontal seam between sky, hills and meadow — the hill foot dissolves into the meadow through stepped intermediate tones; any outline or rim; trees, forests or dense vegetation; antialiasing, gradients, dithering, painterly strokes, 3D, realistic shading, glossy light, bloom, vignette, dark corners, night, sunset, sun; any text, letters, number, watermark, signature, logo, frame, border, UI element, icon, badge.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### 2.1.2 地面片(`bg_floor`)
|
||||||
|
|
||||||
|
**画布比例**:3:1 超宽
|
||||||
|
**内容**:营地内的踩实裸土,铺满整幅
|
||||||
|
**硬指标**:**中线与左右两侧同色——没有任何路、小径、车辙**;明度 30%–45%;色相与远景片草地明显区分
|
||||||
|
**不画什么**:草、植被、大石块、物件、天空、地平线、围墙、接缝线
|
||||||
|
|
||||||
|
```
|
||||||
|
Pixel art style. True pixel art game ground texture, chunky square pixels, strict pixel grid, hard edges, no anti-aliasing, flat colors, limited palette about 12 colors, retro 16-bit look, Aseprite style, ULTRA WIDE horizontal composition, aspect ratio 3 to 1. This is the trodden floor INSIDE a small adventurer camp — bare packed dry earth filling the whole frame edge to edge, seen at a shallow angle from slightly above. MATERIAL: desaturated warm grey-brown, medium value, roughly 30 to 45 percent luminance, never dark, never muddy. TEXTURE: deliberate pixel clusters only — short paired scuff marks that read as dragged footprints, small scattered pebbles, beaten patches where feet have worn the ground smooth, occasional faint drag marks; density rises slightly toward the bottom edge and the middle stays calm and open. CRITICAL, NO PATH: there is no road, no trail, no track, no wheel rut and no worn strip anywhere in this image — the middle of the frame must look the same as the left and right edges, nothing leads anywhere. DO NOT ADD: grass, vegetation, plants, flowers, moss, lichen; rocks larger than a pebble; crates, sticks, bones, debris piles, tools; water, puddles; shadows of objects; sky, horizon, hills, wall, fence, gate, building; any line, seam, border or edge inside the frame; antialiasing, gradients, dithering, painterly strokes, 3D, realistic shading, glossy light, bloom, vignette, dark corners, warm golden cast; any text, letters, number, watermark, signature, logo, frame, border, UI element, icon, badge.
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2.1.3 拼接与后处理
|
||||||
|
|
||||||
|
1. 两片各缩放到终稿尺寸:远景片 1280×367、地面片 1280×433
|
||||||
|
2. 按 y367 上下拼接成 1280×800
|
||||||
|
3. 量化到营地环境子板(≤32 色)
|
||||||
|
4. 需要 2× 档时整数倍放大到 2560×1600
|
||||||
|
5. 接缝不做过渡处理——它整条落在围墙(203–367)背后
|
||||||
|
|
||||||
### 2.2 围墙层(`scene_camp_wall`,不可点,透明底)
|
### 2.2 围墙层(`scene_camp_wall`,不可点,透明底)
|
||||||
|
|
||||||
**出图画布**:2560×1600(与背景层同画布,门洞 x 坐标直接对齐);墙横贯画在出图 y480–620 这条**窄带**内,其余为纯色底 `#F2F2F2`。落盘由 S4 后处理裁成终稿外接矩形 `(0, 240, 1280, 70)` / 出图 `(0, 480, 2560, 140)` 的细条,**不做全幅 1280×800 落盘**(全幅约 3.9 MB 显存,细条约 0.35 MB)。
|
**出图画布**:2560×1600(与背景层同画布,门洞 x 坐标直接对齐);墙横贯画在出图 y406–734 这条带内(桩身 y434–734,门柱 y406–734),其余为纯色底 `#F2F2F2`。落盘由 S4 后处理裁成终稿外接矩形 `(0, 203, 1280, 164)` / 出图 `(0, 406, 2560, 328)` 的细条,**不做全幅 1280×800 落盘**(全幅约 3.9 MB 显存,细条约 0.35 MB)。
|
||||||
**画什么**:横贯全宽的密排竖木桩墙(左右两段)+ 两根略高的门柱,门洞处完全透明
|
**画什么**:横贯全宽的密排竖木桩墙(左右两段,桩身终稿 150 高)+ 两根略高的门柱(终稿 164 高),门洞处完全透明
|
||||||
**不画什么**:天空、远山、地面、小路、门扇、七个物件、角色;门洞内不画任何东西,透出背景层的小路
|
**不画什么**:天空、远山、地面、小路、门扇、七个物件、角色;门洞内不画任何东西,透出背景层的小路
|
||||||
|
|
||||||
```
|
```
|
||||||
Pixel art style. True pixel art game layer drawn with chunky square pixels, strict pixel grid alignment, hard edges, no anti-aliasing, no gradients, flat colors only, a limited palette of about 24 colors, retro 16-bit look, Aseprite style, all ages, flat side view, orthographic, no perspective distortion. Wide horizontal composition, 16:10 aspect ratio. This is the PALISADE WALL LAYER ONLY of a small adventurer camp, drawn on a plain flat uniform light grey #F2F2F2 background for easy keying. A wooden palisade wall runs straight across the full width of the frame, seen from the front, built from closely spaced vertical logs standing side by side with no gaps between them, every log cut to a sharp point at the top, a solid barrier with no horizontal rails, no see-through gaps, no ranch-style post-and-rail fence. The wall is SHORT and LOW: including the pointed tips the whole band occupies only about one eighteenth of the total frame height, a thin horizontal strip, NOT a tall barrier; the logs stand only about one eighteenth of the total frame height above their base line. In the middle of the wall one wide gap holds two thick gate posts slightly taller than the wall, and the entire opening between them is completely EMPTY — plain flat uniform light grey #F2F2F2 showing through, no logs, no path, no ground, no scenery inside the opening, because the dirt path and the hills belong to the background layer below and the gate leaves are a separate object layer. The wall is painted in a muted greyed wood brown, with a thin warm cream outline around the whole silhouette, flat shading. 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; drop shadows or contact shadows; blur or compression artifacts; a vignette or dark corners; any sky, hills, ground, grass, dirt path or scenery of any kind; any gate leaf, door panel or hinge; any camp object, furniture, crate, barrel, fire, tent or tool; any characters, people, creatures or animals; any purple or magenta anywhere; any text, letters, numbers, watermark, signature or logo; any frame, border, panel, arrow or UI element.
|
Pixel art style. True pixel art game layer drawn with chunky square pixels, strict pixel grid alignment, hard edges, no anti-aliasing, no gradients, flat colors only, a limited palette of about 24 colors, retro 16-bit look, Aseprite style, all ages, flat side view, orthographic, no perspective distortion. Wide horizontal composition, 16:10 aspect ratio. This is the PALISADE WALL LAYER ONLY of a small adventurer camp, drawn on a plain flat uniform light grey #F2F2F2 background for easy keying. A wooden palisade wall runs straight across the full width of the frame, seen from the front, built from closely spaced vertical logs standing side by side with no gaps between them, every log cut to a sharp point at the top, a solid barrier with no horizontal rails, no see-through gaps, no ranch-style post-and-rail fence. The wall stands on the ground line at y=734 of 1600. The LOG BODIES, pointed tips included, rise 300 pixels above that base line — about nineteen percent of the total frame height — so it reads as a real barrier with presence, clearly taller than the gate opening cut into it, not a thin decorative strip. In the middle of the wall one wide gap holds two thick gate posts standing 28 pixels taller than the logs, and the entire opening between them is completely EMPTY — plain flat uniform light grey #F2F2F2 showing through, spanning x=1040 to x=1520 and rising from the base line y=734 up to y=566, no logs, no path, no ground, no scenery inside the opening, because the dirt path and the hills belong to the background layer below and the gate leaves are a separate object layer. The wall is painted in a muted greyed wood brown, with a thin warm cream outline around the whole silhouette, flat shading. 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; drop shadows or contact shadows; blur or compression artifacts; a vignette or dark corners; any sky, hills, ground, grass, dirt path or scenery of any kind; any gate leaf, door panel or hinge; any camp object, furniture, crate, barrel, fire, tent or tool; any characters, people, creatures or animals; any purple or magenta anywhere; any text, letters, numbers, watermark, signature or logo; any frame, border, panel, arrow or UI element.
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2.3 出图画布上的坐标(终稿 ×2)
|
### 2.3 出图画布上的坐标(终稿 ×2)
|
||||||
@@ -66,11 +101,17 @@ Pixel art style. True pixel art game layer drawn with chunky square pixels, stri
|
|||||||
| 元素 | 终稿 1280×800 | 出图画布 2560×1600 |
|
| 元素 | 终稿 1280×800 | 出图画布 2560×1600 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| 顶栏 HUD 保留带 | y ≤ 48 | **y ≤ 96**(保持空旷) |
|
| 顶栏 HUD 保留带 | y ≤ 48 | **y ≤ 96**(保持空旷) |
|
||||||
| 背景层 `scene_camp_bg` | 全幅 1280×800 | 全幅 2560×1600 |
|
| 远景片 `bg_far` | y 0–367(高 367) | y 0–734(高 734,3.5:1) |
|
||||||
| 围墙带(wall 层桩身) | y 267–310(**高 43px**) | y 534–620(**高 86px**) |
|
| 地面片 `bg_floor` | y 367–800(高 433) | y 734–1600(高 866,3:1) |
|
||||||
| 门柱(wall 层,略高) | y 240–310;x 500–520 / 760–780 | y 480–620;x 1000–1040 / 1520–1560 |
|
| 两片接缝 | **y 367**(落在围墙 203–367 背后) | **y 734**(落在围墙 406–734 背后) |
|
||||||
| 门洞(wall 层透明缺口) | x 520–760 | x 1040–1520 |
|
| 地平线(山脚/草地起点) | y 与两片接缝重合,墙背后不可见 | 同左 |
|
||||||
| 门洞内小路(画在 bg 层) | x 520–760,自 y310 向上收窄至远山 | x 1040–1520,自 y620 向上收窄至远山 |
|
| 远山带 | y 51–202(画面 14%–55%,山体 41%) | y 103–403 |
|
||||||
|
| 草地带 | y 202–367 | y 403–734 |
|
||||||
|
| 围墙层外接矩形 | y 203–367(高 164) | y 406–734(高 328) |
|
||||||
|
| 围墙带(wall 层桩身) | y 217–367(**高 150px**) | y 434–734(**高 300px**) |
|
||||||
|
| 门柱(wall 层,略高) | y 203–367(高 164);x 500–520 / 760–780 | y 406–734;x 1000–1040 / 1520–1560 |
|
||||||
|
| 门洞(wall 层透明缺口) | y 283–367(高 84);x 520–760 | y 566–734(高 168);x 1040–1520 |
|
||||||
|
| 门洞内小路(画在远景片草地内) | x 520–760 穿门洞,自接缝 y367 向上收窄,到山脚 y202 消失 | x 1040–1520,自 y734 向上收窄,到 y403 消失 |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -97,7 +138,7 @@ Do not add any of the following: realistic, photorealistic or 3D rendering; pain
|
|||||||
| 件 | z 序 | 终稿矩形 | 出图画布 | 正文 |
|
| 件 | z 序 | 终稿矩形 | 出图画布 | 正文 |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| 布告板 | 2 | 130×140 | 260×280 | §3.1 |
|
| 布告板 | 2 | 130×140 | 260×280 | §3.1 |
|
||||||
| 门扇 | 3 | 240×220 | 480×440 | §3.2 |
|
| 门扇 | 3 | 240×147 | 480×294 | §3.2 |
|
||||||
| 木桩 | 4 | 120×180 | 240×360 | §3.3 |
|
| 木桩 | 4 | 120×180 | 240×360 | §3.3 |
|
||||||
| 锻炉·铁砧 | 4 | 240×240 | 480×480 | §3.4 |
|
| 锻炉·铁砧 | 4 | 240×240 | 480×480 | §3.4 |
|
||||||
| 帐篷 | 4(不可点) | 300×170 | 600×340 | §3.5 |
|
| 帐篷 | 4(不可点) | 300×170 | 600×340 | §3.5 |
|
||||||
@@ -105,7 +146,7 @@ Do not add any of the following: realistic, photorealistic or 3D rendering; pain
|
|||||||
| 笔记本 | 5 | 100×80 | 200×160 | §3.7 |
|
| 笔记本 | 5 | 100×80 | 200×160 | §3.7 |
|
||||||
| 篝火 | 6 | 160×160 | 320×320 | §3.8 |
|
| 篝火 | 6 | 160×160 | 320×320 | §3.8 |
|
||||||
|
|
||||||
**落位实测(锁定矩形 contain)**:布告板 130×121/门扇 240×211/木桩 120×180/锻炉 240×193/帐篷 251×170/宝箱 106×90/笔记本 100×66/篝火 160×149——贴图锚定=底中心(帐篷/锻炉/宝箱/篝火/笔记本)+顶锚(门扇悬挂/布告板挂墙);命中矩形按锁定值。换算式登记(源 2× 档→落位尺寸)存 artwork 工作区。
|
**落位尺寸(2026-11-05 用户裁地平线 y367 重排后)**:布告板 130×121/门扇 240×138/木桩 120×180/锻炉 240×193/帐篷 251×170/宝箱 106×90/笔记本 100×66/篝火 160×149——贴图锚定=底中心(帐篷/锻炉/宝箱/篝火/笔记本)+顶锚(门扇悬挂/布告板挂墙);命中矩形按锁定值。八件只改落位,门扇另随门洞压扁重画(原 240×211 → 240×138),其余七件沿用现有终稿。
|
||||||
|
|
||||||
**3.1 布告板(→ 图鉴)**
|
**3.1 布告板(→ 图鉴)**
|
||||||
```
|
```
|
||||||
@@ -114,7 +155,7 @@ A wooden notice board hung on a wall, with two or three blank pinned papers, no
|
|||||||
|
|
||||||
**3.2 门扇(→ 冒险)**
|
**3.2 门扇(→ 冒险)**
|
||||||
```
|
```
|
||||||
Two wooden gate leaves hanging from their hinges, half open and tilted outward, each made of thick planks with a cross brace and dark iron fittings, seen from the front, the pair shown together as one single object; wood brown #8A5A34 planks, dark iron fittings.
|
Two wooden gate leaves hanging from their hinges, half open and tilted outward, each made of thick planks with a cross brace and dark iron fittings, seen from the front, the pair shown together as one single object; the pair together fills a WIDE LOW rectangle about 240 wide by 138 tall, so the leaves read as broad rather than tall, each leaf roughly twice as wide as it is high; wood brown #8A5A34 planks, dark iron fittings.
|
||||||
```
|
```
|
||||||
|
|
||||||
**3.3 木桩(→ 天赋树)**
|
**3.3 木桩(→ 天赋树)**
|
||||||
@@ -151,17 +192,32 @@ A campfire made of a ring of grey stones around crossed stacked logs with a warm
|
|||||||
|
|
||||||
## 4. 验收(机检 + 目检)
|
## 4. 验收(机检 + 目检)
|
||||||
|
|
||||||
**背景层 `scene_camp_bg`**
|
**远景片 `bg_far`**
|
||||||
- 黄度 =(R+G)/2−B 分区取样:天空 ≤20、远山 ≤20、地面 ≤35
|
- 黄度 =(R+G)/2−B 分区取样:天空 ≤20、远山 ≤20、草地 ≤35
|
||||||
- 冷色像素占比 ≥55%;本层不应出现任何暖色高饱和像素
|
- 冷色像素占比 ≥55%;禁出现任何暖色高饱和像素
|
||||||
- 目检:顶部约 1/16 完全空旷;**无地平线、无远景地面带**(远山自然渐隐过渡到地面);不含围墙、门柱、门扇、物件、角色
|
- 机检:**山体上缘 ≤ 画面高度 15%**(这是硬指标——山体上缘落得越低,被围墙挡住后越是什么都看不见)
|
||||||
- 目检/机检:门洞 x1040–1520 处**有一条清晰可辨、向远处收窄的土路**(非纯色块),透出「出去即冒险」
|
- 机检:**山体占画面高度 ≥40%**(山体上缘到山脚)
|
||||||
- 机检/目检:全幅**无任何独立物件/图标/徽章/标记**(前景地面除小路外全空);参考做法=中下方块区独立色数应≈邻区
|
- 机检:草地上限 ≤ 画面高度 55%
|
||||||
|
- 机检:山脚与草地交界处,上下各 8px 窄带的行均色差 ≤6/255(禁平直硬边;旧稿 y321 处约 37/255)
|
||||||
|
- 目检:顶部天空空旷、无太阳、云不超过两朵扁平简笔
|
||||||
|
- 目检:小路只在草地内,从底边向上收窄到山脚为止,**不越过山脚、不上探到天空**
|
||||||
|
- 目检:无围墙、门柱、门扇、物件、角色
|
||||||
|
|
||||||
|
**地面片 `bg_floor`**
|
||||||
|
- 明度 **L 0.30–0.45**(相对亮度);整片低于 0.30 即判红(旧稿偏暗、观感发闷)
|
||||||
|
- 机检:画面中线 200px 带与左右各 250px 带的平均色差 ≤6/255(**营地内无路带**)
|
||||||
|
- 机检:与远景片草地的平均色 (R−B) 差 ≥10/255(两种材质色相可辨)
|
||||||
|
- 目检:禁出现草、植被、大石块、物件、水面;细节读作拖拽脚印/碎石/踩踏斑块,不是满屏噪点
|
||||||
|
|
||||||
|
**整图(两片拼接后)**
|
||||||
|
- 接缝 y367 落在围墙 203–367 背后,**画面里看不见接缝**
|
||||||
|
- 单张 ≤32 色(量化后)
|
||||||
|
- 全幅无任何独立物件/图标/徽章/标记
|
||||||
|
|
||||||
**围墙层 `scene_camp_wall`**
|
**围墙层 `scene_camp_wall`**
|
||||||
- 透明底 `#F2F2F2` 可去底、奶油描边闭合
|
- 透明底 `#F2F2F2` 可去底、奶油描边闭合
|
||||||
- **桩身高度 = 出图 y534–620(终稿 43px);门柱略高 y480–620。桩身超出围墙带下沿 y620 达 5px 以上即判红**
|
- **桩身 = 出图 y434–734(终稿 150px);门柱 y406–734(终稿 164px);外接矩形 (0,406,2560,328)。桩身超出下沿 y734 达 5px 以上即判红**
|
||||||
- 目检:密排竖木桩、桩顶削尖、不透缝、无横木;门洞 x1040–1520 **完全透明**(透出 bg 小路)、无门扇
|
- 目检:密排竖木桩、桩顶削尖、不透缝、无横木;门洞 y566–734 / x1040–1520 **完全透明**(透出 bg 小路)、无门扇;桩身高度须明显大于门洞高度
|
||||||
- 单张色数 ≤32(量化后)、缩放为整数倍无拉伸痕迹
|
- 单张色数 ≤32(量化后)、缩放为整数倍无拉伸痕迹
|
||||||
|
|
||||||
> **量化与缩放实况注记**:围墙层与八件已按营地主色板 **32 色重量化回写**(art-bible §4.1 子板行——违例对 0);落位缩放实况=源 2× 档经后处理换算为锁定矩形 contain(×0.1934–0.4404 非整数倍),「整数倍无拉伸痕迹」判据的机检面以落位实测尺寸与目检兜底执行。
|
> **量化与缩放实况注记**:围墙层与八件已按营地主色板 **32 色重量化回写**(art-bible §4.1 子板行——违例对 0);落位缩放实况=源 2× 档经后处理换算为锁定矩形 contain(×0.1934–0.4404 非整数倍),「整数倍无拉伸痕迹」判据的机检面以落位实测尺寸与目检兜底执行。
|
||||||
@@ -175,10 +231,16 @@ A campfire made of a ring of grey stones around crossed stacked logs with a warm
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 5. 已裁(2026-11-01 用户裁;不再阻塞坐标表与定稿)
|
## 5. 已裁(2026-11-05 用户裁;不再阻塞坐标表与定稿)
|
||||||
|
|
||||||
1. **帐篷尺寸**:300×170 追认现值(各素材第一张样本稿已过审为终稿;重定即按比例重出、不裁)
|
1. **地平线与整体分带**:地平线定在终稿 y367(出图 y734);地面 433px、可见远景 217px(27%);围墙、门、布告板随之上调
|
||||||
2. **门扇高宽**:240×220 追认现值,坐标按门洞 x520–760 对齐(§2.3);围墙带桩身高 43px、门扇叠在门洞上的叠放关系随此锁定
|
2. **围墙高度**:桩身 150(出图 300)、门柱 164(出图 328)、门洞 84(出图 168);墙高须大于门洞高
|
||||||
3. **布告板位置**:采纳建议值 `(845, 268, 130, 140)` 挂回围墙带;终值随坐标表(`camp_scene_layout.tres`)落盘
|
3. **门扇尺寸**:贴图 240×138(锁定 240×147),随门洞压扁重画,坐标按门洞 x520–760 对齐
|
||||||
4. **描边颜色**:奶油色追认——去底脚本「奶油描边膨胀 3px 当屏障」的技术前提随现值锁定(§1 注记同源);改深灰褐须换去底方案全量重出,不裁
|
4. **帐篷**:251×170 沿用现终稿,落位 (982, 335),遮住墙下部 32px(覆盖围墙可接受)
|
||||||
5. **营地环境子板色值**:不前置拍板——量化场景实际用色后按 art-bible §4.1 两道门登记(语义检查+RGB 三通道差 ≥8/255),本卡仍不复述色值
|
5. **笔记本**:随帐篷跟随,落在帐篷左下方外侧、两者不重叠——`x = 帐篷 x − 112`、`y = 帐篷底 + 10`
|
||||||
|
6. **宝箱离底**:贴图底 y744,距画面底 56px;其余物件同步上移 46px
|
||||||
|
7. **地面分两区**:营地外(y734 以上)=冷调灰绿草地+一条向远山收窄的土路;营地内(y734 至画面底)=踩实裸土、与草地异色相、无草无路无车辙;两区分界被围墙层完全遮住
|
||||||
|
8. **背景层分两片出图**:远景片 `bg_far`(2560×734,天空 14%/远山 41%/草地 45%+小路)+ 地面片 `bg_floor`(2560×866 踩实裸土),后处理按 y734 拼成一张 2560×1600;接缝落在围墙 406–734 背后。分片理由=整张出图时模型把山挤到画面下半部,实测三张里两张山体整段被围墙遮没
|
||||||
|
9. **布告板位置**:(845, 224, 130, 140),底 345 落在墙内,不再悬空
|
||||||
|
10. **描边颜色**:奶油色追认——去底脚本「奶油描边膨胀 3px 当屏障」的技术前提随现值锁定(§1 注记同源);改深灰褐须换去底方案全量重出,不裁
|
||||||
|
11. **营地环境子板色值**:不前置拍板——量化场景实际用色后按 art-bible §4.1 两道门登记(语义检查+RGB 三通道差 ≥8/255),本卡仍不复述色值
|
||||||
@@ -20,13 +20,13 @@
|
|||||||
| 木桩 | 天赋树 | |
|
| 木桩 | 天赋树 | |
|
||||||
| 布告板 | 奖励格图鉴 | 内容冻结未激活,点进看占位——**不是禁用态** |
|
| 布告板 | 奖励格图鉴 | 内容冻结未激活,点进看占位——**不是禁用态** |
|
||||||
| 篝火 | 离开营地回主菜单 | **必须二次确认**;命中区只含火堆、不含火焰 |
|
| 篝火 | 离开营地回主菜单 | **必须二次确认**;命中区只含火堆、不含火焰 |
|
||||||
| 帐篷 | — | 承载件,**不可点**;落地尺寸与占位范围待作者重定(待裁口径见 art-bible §6.2) |
|
| 帐篷 | — | 承载件,**不可点**;251×170 落位 (982, 335),上端遮住围墙下部;笔记本在其左下方外侧、两者不重叠 |
|
||||||
|
|
||||||
纵深=远景天空与远山/中景木围墙与营地大门/近景篝火与左右物件(作者纵深稿)。中景围墙是横贯全宽的密排竖木桩墙——木桩一根挨一根无缝、桩顶削尖、无横木,只在中段留缺口给大门。
|
纵深=远景天空与远山/中景木围墙与营地大门/近景篝火与左右物件(作者纵深稿)。中景围墙是横贯全宽的密排竖木桩墙——木桩一根挨一根无缝、桩顶削尖、无横木,只在中段留缺口给大门。
|
||||||
|
|
||||||
**场景按要素分层(10 张)**:远景天空/远山/整片地面/门洞内的小路合成 `scene_camp_bg` 背景层(z0,不透明全幅);中景木围墙独立成 `scene_camp_wall` 围墙层(z1,透明底,门洞处留透明缺口);其余八个物件层各一张、由上往下叠。门洞是围墙层的透明缺口,透出背景层画的**一条通向远处的小路**,不可填死。
|
**场景按要素分层(10 张)**:远景天空/远山/整片地面/门洞内的小路合成 `scene_camp_bg` 背景层(z0,不透明全幅);中景木围墙独立成 `scene_camp_wall` 围墙层(z1,透明底,门洞处留透明缺口);其余八个物件层各一张、由上往下叠。门洞是围墙层的透明缺口,透出背景层画的**一条通向远处的小路**,不可填死。
|
||||||
|
|
||||||
**中景带自画面底部往上约 2/3 处起**;近景物件允许压住围墙(围墙不可点,z 序在近景物件之下),**唯一例外=中间门洞必须留空、不被任何物件遮挡**。围墙形态、门扇比例与帐篷尺寸的现行口径归 [art-bible](../../art/art-bible.md) §6.2,本 spec 不再复述。
|
**地平线在终稿 y367**(自画面底部往上约 46%),其上是天空与远山、其下整片地面;**中景围墙带 y203–367**,桩身 150、门柱 164;近景物件允许压住围墙(围墙不可点,z 序在近景物件之下),**唯一例外=中间门洞必须留空、不被任何物件遮挡**。围墙形态、门扇比例与帐篷尺寸的现行口径归 [art-bible](../../art/art-bible.md) §6.2,本 spec 不再复述。
|
||||||
|
|
||||||
坐标草案与分层验收判据见 [camp-scene-prompts](../../art/camp-scene-prompts.md) §2.3/§4(10 张口径现行事实源);2026-10-22 美术方案讨论沿革查 git 提交史。
|
坐标草案与分层验收判据见 [camp-scene-prompts](../../art/camp-scene-prompts.md) §2.3/§4(10 张口径现行事实源);2026-10-22 美术方案讨论沿革查 git 提交史。
|
||||||
|
|
||||||
|
|||||||
+21
-10
@@ -1,15 +1,9 @@
|
|||||||
# 试玩问题记录
|
# 试玩问题记录
|
||||||
|
|
||||||
- 一开始不能让角色的成长系数太高.比如在没经过升级之前,你的成长系数是跟不上关卡怪物难度提升的;但是后续能力解锁之后,成长系数才能匹配得上
|
|
||||||
|
|
||||||
- UI优化,第二第三关的棋盘看着太累了;不知道是因为亮度还是对比度的原因,看着非常费劲,非常不舒服;
|
- UI优化,第二第三关的棋盘看着太累了;不知道是因为亮度还是对比度的原因,看着非常费劲,非常不舒服;
|
||||||
|
|
||||||
- 第一关的第二个节点数值有问题
|
- 第一关的第二个节点数值有问题
|
||||||
|
|
||||||
- 现在的立绘太丑了,像素化的粒度太低了,导致根本看不清立绘; 看是否可以改回用较为高清的图片?
|
|
||||||
还有一个问题是大小的问题.我们或许可以调整一下不同怪物的大小,因为现在地精的图片看起来比熊地精还要大,这并不合理;
|
|
||||||
|
|
||||||
|
|
||||||
- 修改地图的奖励类型
|
- 修改地图的奖励类型
|
||||||
战斗节点增加不同的地图类型,比如有些图踩雷受到更多的伤害,有些图标雷可以造成更多的伤害,有些图伤害会减半需要凑更多清图奖励(这些都是暂时的设定)
|
战斗节点增加不同的地图类型,比如有些图踩雷受到更多的伤害,有些图标雷可以造成更多的伤害,有些图伤害会减半需要凑更多清图奖励(这些都是暂时的设定)
|
||||||
|
|
||||||
@@ -22,10 +16,27 @@
|
|||||||
|
|
||||||
- 3选1奖励中有一个refresh,任何说明都没有,就一个refresh, 明显的一个问题物品,但是却没有处理;
|
- 3选1奖励中有一个refresh,任何说明都没有,就一个refresh, 明显的一个问题物品,但是却没有处理;
|
||||||
|
|
||||||
- "奇物门票" 这他妈是专场门票,而且你他妈应该有一个更好的名称,而不是直接"门票"; 我真是操了你妈;
|
|
||||||
而且里面的解释非常弱智
|
|
||||||
|
|
||||||
- 确认选择按钮旁边有一个"免费选择,点刷新不消耗AP" 我真是操你妈了,要你这种傻逼解释;
|
- 确认选择按钮旁边有一个"免费选择,点刷新不消耗AP" 我真是操你妈了,要你这种傻逼解释;
|
||||||
你他妈这是游戏的UI吗?设计像你妈坨屎;
|
你他妈这是游戏的UI吗?设计像你妈坨屎;
|
||||||
|
|
||||||
- 封印回响这个专长描述也是错误的,怎么是本轮AC+1呢
|
- 封印回响这个专长描述也是错误的,怎么是本轮AC+1呢
|
||||||
|
|
||||||
|
## 2026-11-04 营地相关问题记录
|
||||||
|
|
||||||
|
1. 背景图存在着很多问题上半部分的内容太长了,我们应该预留更多的地面细节给我们的可点击的地方;
|
||||||
|
但是现在远景占据了太多的位置;
|
||||||
|
远景应该压缩到只有1/3的高度(现在占据了2/3)
|
||||||
|
近景的地面太朴素且太暗了;
|
||||||
|
|
||||||
|
远景压缩之后,围墙,门,告示板记得也同步上调;
|
||||||
|
|
||||||
|
2. 围墙贴图没对齐就算了, 过于矮? 高度应该>门
|
||||||
|
3. 物品太靠下了; 整体可以往上调, 让最下面的宝箱和最底下保持着一个32px的距离
|
||||||
|
4. 钥石说好是一条顶栏的,为什么现在是搞了一个类似浮动框的形式展示?
|
||||||
|
|
||||||
|
为什么我设计定义的东西你没有进行实现,而且还自作主张地做了一个没有经过我同意的展示方式
|
||||||
|
5. 点击大门开始新冒险,直接回到了开始菜单界面;
|
||||||
|
你是否真的做过完整的测试?
|
||||||
|
我这句话问了都白问,因为你做了完整的测试的话,就不可能会这么简单的逻辑闭环都没有完成
|
||||||
|
6. 开始新冒险的是和否反过来了.否在左边,是在右边; 完全的反直觉; 完全的弱智
|
||||||
|
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
# 迭代 53 反哺点清单(2026-11-05)
|
||||||
|
|
||||||
|
- 接收方:[待办清单](../待办清单.md)(反哺点裁决后由文档批/工程批写入并把本清单条目清掉)。
|
||||||
|
- 依据:`reports/iter53-实现报告-2026-11-05.md`;两卡「关联文档同步面」逐条落点如下。
|
||||||
|
|
||||||
|
| # | 落点(哪个文件哪一节) | 改成什么 | 依据 |
|
||||||
|
|---|---|---|---|
|
||||||
|
| 1 | `design/gdd/systems/跨局循环/锻造工坊.md` §满级特效扩展位——重甲反震候选条 | 实现前提句补一句:反弹伤害需新开消费点(本批摘 `spike` 词表位后彻底无位,候选=「需新代码」档) | 卡② §6 第 2 行;damage_controller.gd 摘除后 `open_ticket` reflect 通道为唯一反弹面且零现役表行 |
|
||||||
|
| 2 | `design/gdd/systems/战斗循环/增益状态.md`/`伤害与护甲.md` | 零命中备案——两文档叙述「按序改写族」的句子未挂退役件名,无需改动 | 卡② §6 机械面核对读数(40 名扫描两文件零命中) |
|
||||||
|
| 3 | `design/gdd/systems/冒险循环/奇物.md`、`systems/战斗循环/地图战斗资源.md`、`design/gdd/术语表.md`、`00-游戏概念.md`、`03-内容规模.md` | 各文仍提退役内容名的句子逐处换机制名(清退口径同卡② T3:只换名不换职责) | 卡② §5 去向表;40 名扫描命中所在(GDD 面不在本批可写域) |
|
||||||
|
| 4 | 结算明细标签是否入表(文案硬编码 `reward_grant.gd:226`) | 规范裁决点:玩家可见明细文案归属——维持代码硬编码 or 入数据表行;裁决后改对应规范文档 | 卡② §5 去向表末条;本批已把标签换代为「挖掘惩罚减半(%d→%d)」 |
|
||||||
|
| 5 | `tools/gate_platform.sh` `gate_run_timeout` | 修 Windows 恒 124 缺陷:`kf` 改「先赋路径、`rm -f` 后置守卫」(probe_gate.sh run_suite 同款正确写法);连带修 `golden_baseline_refresh.sh` 的 guard 子Shell kill 短路(7 分钟等待症状) | iter53 实现报告「遗留读数义务与发现呈报」第 1 条;实证=直接调用 4 秒返回 124、refresh 两次 7m1s |
|
||||||
|
| 6 | `game/tests/golden/mac/` | mac 侧补冻关卡视口两 Shot 基线(跑 `golden_baseline_refresh.sh --lmap`) | 渲染闸 lmap 段缺基线记 SKIP;windows 已冻结(6394abf7),mac 冻结后两平台同盯 |
|
||||||
|
| 7 | `game/tests/golden/README.md` §时效判定纪律 | 「基线冻结于 2026-09-30」句补 lmap 两 Shot 冻结日(2026-11-05)与两 Shot 面口径指针 | 本批 golden/README 台账已改现持清单,冻结纪律节的时间句留待文档批随批换代 |
|
||||||
|
| 8 | `game/tests/README.md` 能力行 :163(关卡画面视口平移) | 代表用例名 `_probe_clamp_bounds` 回表为落地名 `_probe_clamp_bounds_and_columns`(实现按卡 §8 对照表外的更 descriptive 名落地,回表归写卡段) | 验收审计 D1(建议级):名实回表义务 |
|
||||||
|
| 9 | 探针直读申报口径(test-conventions §8.2/§8.4 受控例外注记) | 「探针直读视口子件结构(`get_child(0)` 画布位、按名取指引子件 FadeL/FadeR/PanHint)」补进探针直读惯例的申报面注记 | 验收审计 D2(观察级):直读有注释理由、零风险,补成文口径 |
|
||||||
|
| 10 | `reports/iter53-实现报告-2026-11-05.md` 决定 3 | 已随本清单同批订正(case⑰→⑱ 笔误)——归档备查,无文档批动作 | 验收审计 D3 |
|
||||||
|
|
||||||
|
## 零反哺备案
|
||||||
|
|
||||||
|
- 卡① `design/gdd/ux/level-map.md`:实现未发现 spec 缺口——布局决策 5 行为四条+像素级判据①–④+AC 260–271 全部有绿读数承载(实现报告对照表 R1–R9+golden 段)。
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
# 迭代 53 实现报告(2026-11-05)
|
||||||
|
|
||||||
|
- 接收方:[待办清单](../待办清单.md)条目「超预算图策略升级路径——等比缩放与滚动视口两案待裁」(卡①卷轴视口批)+「damage_controller 按序改写族——内容孤儿机制与退役名注释层」(卡②改写族清退批)。
|
||||||
|
- 需求卡片:`reports/需求卡片-卷轴视口批-2026-11-05.md`(验收档:中)+`reports/需求卡片-改写族孤儿机制与退役名清退批-2026-11-05.md`(验收档:中)。
|
||||||
|
- 独立验收审计:`reports/iter53-验收审计-2026-11-05.md`(未参与实现的会话执行;两卡均按中档深度)。
|
||||||
|
- 执行形态:整迭代单工作区(`g-plan2-iter53`,两卡均未声明可并行),卡序=卷轴视口 → 改写族清退。
|
||||||
|
|
||||||
|
## 各卡状态
|
||||||
|
|
||||||
|
| 卡 | 状态 | T 卡 | 凭据摘要 |
|
||||||
|
|---|---|---|---|
|
||||||
|
| 卡①卷轴视口批 | 完成(T0–T4 全收口+golden 扩项冻结) | T0 基线读数在案/T1–T3 实现波提交 c1043902/T4 指针反转 4e87a012/golden 扩项 6394abf7 | 新探针 26 断言全绿+探针族全绿+冒烟 15/0+S13 基线内 7 新增 0+渲染闸全绿(lmap 双图 changed=0.00%) |
|
||||||
|
| 卡②改写族清退批 | 完成(T0–T5 全收口) | T0 基线读数在案/T1 b5c21e3a/T2 1bd50304/T3+T4 并笔 ed793e8c | 三套件+四套窄测 exit=0+对拍六组逐字节 diff=0+四探针负域全拒+契约 1 三条 grep 全零+40 名注释面清零 |
|
||||||
|
|
||||||
|
## 卡① 实际改动—验收对照表
|
||||||
|
|
||||||
|
| 需求点 | 改动(文件:行) | 验收测试(落点+尾缀) | 层级 | 真实入口 | 判据绑定面 | 结果 |
|
||||||
|
|---|---|---|---|---|---|---|
|
||||||
|
| R1 浅图整幅居中无裁切 | level_map_screen.gd 三段页承载+level_map_viewport.gd `_axis_center_offset` 居中分支 | `level_map_viewport_probe.gd:71/74/76`〔卷轴批 V1〕 | 探针 | `open_choices` 真实停点(L1 固定种子直构 runner) | 画布≤窗居中 offset 定位+画布矩形 encloses 于视口 | 绿 |
|
||||||
|
| R2 停点切换当前节点居中 x=640±2 | level_map_viewport.gd `reanchor`+screen `_viewport_anchor`/open_choices 接线 | `level_map_viewport_probe.gd:221`〔卷轴批 V2〕 | 探针 | 断点停点重建+真实 `open_choices` | 当前节点画布投影=视口中线±2 | 绿 |
|
||||||
|
| R3 拖拽平移 | screen `_on_canvas_motion` 拖拽态逐帧 `pan_by`(含激活帧位移) | `level_map_viewport_probe.gd:137`〔卷轴批 V3〕 | 探针 | `push_drag_at` 合成沿走 `push_input` | 视线位移=拖拽位移(40px 逐位) | 绿 |
|
||||||
|
| R4 滚轮横滚 | screen `_wheel_pan_step` 映射(下/右=前进向) | `level_map_viewport_probe.gd:114/116/120`〔卷轴批 V4〕 | 探针 | `push_wheel_at` 合成滚轮沿 | 单档 ±60 逐位+窗内不钉边界 | 绿 |
|
||||||
|
| R5 clamp 包络与首末列可达 | level_map_viewport.gd `_axis_pan_offset`/`is_clamped_at_edge` | `level_map_viewport_probe.gd:88/102/158/160/161/167/168`〔卷轴批 V5〕 | 探针 | 超包络拖拽沿两极 | 中线恒在夹紧域+两极 edge=true+首末列中心入屏+入口组包围盒锚点 | 绿 |
|
||||||
|
| R6 拖拽不触发选路 | screen `_on_canvas_click` 拖拽抬杆不提交 | `level_map_viewport_probe.gd:200/201/206`〔卷轴批 V6〕 | 探针 | 拖拽沿/完整点击沿起止候选上方 | `route_chosen` 零发射+屏未关;完整点击仍提交=1 | 绿 |
|
||||||
|
| R7 平滑滚动与减动效瞬切 | level_map_viewport.gd `reanchor(smooth)` tween `UiKit.motion(0.3)`+`ArmedTimer.motion_still` 跳终态 | `level_map_viewport_probe.gd:245/249/258`〔卷轴批 V7〕 | 探针 | 可见屏停点切换+`UiKit.motion_scale` 置位 | 平滑有 tween 中间帧(同向在途)+减动效即达 | 绿 |
|
||||||
|
| R8 指引件可见性与几何 | level_map_viewport.gd `_build_guidance`/`_sync_guidance` | `level_map_viewport_probe.gd:271–287`〔卷轴批 V8〕 | 探针 | 深图真实停点+浅图复验 | 渐隐带 70px+chip 240×30 居中可见;浅图隐藏 | 绿 |
|
||||||
|
| R9 schema 头注指针反转(非行为) | level_gen_params.gd:3-4/:66 头注 | 静态判据:grep「调参表」残留=0、「参数契约节」指向=2;`--check-only` 零错 | 静态 | — | 全仓无「域并单点=调参表」残留 | 绿 |
|
||||||
|
| golden 两 Shot 面(2026-11-05 用户裁) | level_map_shot_probe.gd+golden/windows/lmap_entry·lmap_boss+render_gate.sh 对拍段 | 渲染闸「关卡视口 golden 逐像素」段(changed=0.00% 双绿);重采集确定性=0.00% | golden | 窗口化真实渲染+固定种子 | 两 Shot 逐像素 ≤16 差/≤2% | 绿 |
|
||||||
|
|
||||||
|
非行为改动行:无(R9 之外全部行为面;`.uid` 边车随新件入库)。
|
||||||
|
|
||||||
|
## 卡② 实际改动—验收对照表
|
||||||
|
|
||||||
|
| # | 需求点 | 改动(文件:行) | 验收测试(落点+尾缀) | 层级 | 真实入口 | 判据绑定面 | 结果 |
|
||||||
|
|---|---|---|---|---|---|---|---|
|
||||||
|
| R1 | 摘四段不可达改写分支 | damage_controller.gd(原 :297-302/:305-309/:310-314/:316-323/:350-353/:367-372/:623 全摘+spike_ready 键摘) | `damage_controller_test.gd`(exit=0);`roll_multiplier_test.gd`(exit=0);`round_flow_skill_pool_test.gd`(exit=0);dump_battle 六组改前改后逐字节比对 diff=0 | 单元+集成 | `BattleOrchestrator.begin_battle()` 全链 | step_row 流逐位=改前基线(L{1,2}×S{42,779401,779501});静态=契约 1 三条 grep 全零+摘后 `spike_ready` 零残留。观测面局限申报:零现役注册行使分支不可达,禁注入表行取证(卡 §8 申报在案) | 绿 |
|
||||||
|
| R2 | EFFECT_KINDS 摘 spike | effect_engine.gd:30 | `effect_kind_retired_test.gd:89`「effect_kind_retired_test/③词表闭面:kind=spike 出域拒绝」 | 单元(负面,独立进程) | `ConfigDB.load_tables()` → `validate_trigger_row` | do.kind=spike 行被拒+error 诊断在案+退出码 1(负面期望码) | 绿 |
|
||||||
|
| R3 | DO_KEYS 摘 trade_hit/trade_atk | effect_engine.gd:82 | `effect_kind_retired_test.gd:92`「effect_kind_retired_test/④do 键闭面:trade_hit 出域拒绝」 | 单元(负面,独立进程) | 同上 | 带 trade_hit 键 do 字典被拒+退出码 1 | 绿 |
|
||||||
|
| R4 | 注释面退役名清零(13 文件) | T3 35 处注释改写(对照卡 3.3 表逐处) | 静态判据:40 名全扫仅剩卡 §5 留底 3 行(treasure_items_test:31/33/35 StubDB 夹具名);宿主套件逐位不变(四套窄测 exit=0) | 静态(闸件扫描) | 宿主套件回归(改写面不进运行期) | 注释面命中 0+套件绿 | 绿 |
|
||||||
|
| R5 | 减半明细行去退役件名 | reward_grant.gd:226(标签→「挖掘惩罚减半(%d→%d)」+effect_id→nest_halve) | `meta_progression_forge_test.gd:694/697/699/700`(断言串随动,非空+等值+不含旧词强度不降) | 集成(信号采集) | 锻造锋线满级特效 → begin_battle → mine_hit 减半路径 → step_row | display_name==「挖掘惩罚减半(6→3)」+power 减半数值与发射次数逐字不变+grep nest_counter=0 | 绿 |
|
||||||
|
| R6 | 空集拒绝 reason 去退役件名 | reward_grant.gd:189(→「中立移除:…」) | 静态判据:grep 爆破工兵包 reward_grant.gd=0;`table_structure_guard_test.gd` exit=0 | 静态+单元 | 通道校验面(零现役行不可达) | grep 零命中+通道校验绿。观测面局限申报:reason 不可达,禁造行取证 | 绿 |
|
||||||
|
| R7 | 反弹明细标签去退役件名 | grant_segment.gd:166(标签→「反弹伤害」+归因串→attune_nest_halve;channel=="reflect" 判据与开单参数字典逐字不动) | 静态判据:grep 惊巢反制 game/=0、attune_nest_counter=0;`round_flow_skill_pool_test.gd` exit=0 | 静态+集成 | mine_hit 订阅施加链(reflect 行族零表行,今天不可达) | grep 零命中+发射面零变化回归。观测面局限申报:禁造行取证 | 绿 |
|
||||||
|
| R8 | sim 恒 false 匹配删除 | level_autoplay.gd(原 :415 注释+:421 contains(雷区图谱) 条件删,highlight==seal_hit 单判据保留) | 静态判据:grep 雷区图谱 game/=0;sim 驱动链套件绿(四套窄测含 autoplay 消费面 exit=0) | 静态+单元 | autoplay 驱动链(测量面) | grep 零命中+套件绿。观测面局限申报:恒 false 条件不可达 | 绿 |
|
||||||
|
|
||||||
|
非行为改动行:T3 注释面 35 处(由 R4 行覆盖);契约 3 约束下 :226/:166 仅标签与归因串文本变动、取值/位序/载荷键逐字未动(R1 对拍 diff=0 为其逐位证据)。
|
||||||
|
|
||||||
|
## 读数义务对账(卡内 T 卡产出)
|
||||||
|
|
||||||
|
- **卡①T0**:S13 基线无 `level_map_screen` 键(记「无键、按工具默认」);ui_struct_probe PASS 全屏结构断言零红;screen_flow_probe PASS;冒烟 15 项 0 失败。
|
||||||
|
- **卡①T4 复跑**:S13 基线内 7 条、新增 0(`_on_canvas_input` 重构触发的 max-branches 新违规已拆 `_on_canvas_motion`/`_on_canvas_click`/`_wheel_pan_step` 归零);ui_struct_probe/screen_flow_probe 复跑绿(探针族全绿内含)。
|
||||||
|
- **卡②T0**:契约 1 三条 grep——`game/data/tables/` 内 spike/armor_rewrite/discount_shift/trade_hit/trade_atk 全零(对照记录=feats.tres:855 clamp_bonus 现役一行);tree_rules 面零;effect_kinds 面 cell_removal 表面零(仅 schema 在册:treasure_item_table.gd:20/:26,本批不摘通道)。S13 四文件无登记键(damage_controller/effect_engine/reward_grant/level_autoplay 均按工具默认)。改前对拍基线六组落盘(L{1,2}×S{42,779401,779501})。改前断言串=「惊巢反制——危险格挖掘惩罚减半(6→3)」(:693/:698-701 现行文本抄录在案)。
|
||||||
|
- **卡②T5**:改后对拍六组 diff=0;40 名全扫终读数=3 行留底夹具;R5–R8 静态 grep 全零;负域套件 exit=1(期望码)四探针全拒。
|
||||||
|
- **存量触面 S13 对照**:damage_controller(分支数/函数长度随摘除下降,无新增键);effect_engine(常量字面量变短,方法数/成员数不变);reward_grant/level_autoplay(删文本与恒 false 条件)——S13 终读数=基线内 7、新增 0、恶化 0。
|
||||||
|
|
||||||
|
## 实机目检总清单(登记不阻塞)
|
||||||
|
|
||||||
|
| 目检项 | 来源卡 | 承载 |
|
||||||
|
|---|---|---|
|
||||||
|
| 深度 13+ 图拖拽可达首末列、推进跟随方向感、chip 不碍选路 | 卡① | 窗口化实跑截图已冻结(golden/windows/lmap_entry·lmap_boss);真人试玩复核登记体验验证清单(归批后收尾) |
|
||||||
|
| 结算明细行减半标签「挖掘惩罚减半(6→3)」一眼可读、无退役件名突兀感 | 卡② | 实现报告登记;真人目检归体验验证清单(归批后收尾) |
|
||||||
|
|
||||||
|
## 实现决定记录(超白名单/超卡片明列面逐条备案)
|
||||||
|
|
||||||
|
1. **拖拽态成员落屏侧**(卡①§11 把 `_drag_active`/`_drag_accum` 枚举进视口件成员,§6 职责边界却写明视口件「只管裁切/offset/clamp/跟随」、拖拽判定留画布)——取 §6 职责边界优先:拖拽判定状态随输入处理落 screen(`_drag_active`/`_drag_press_pos`),视口件成员 6 个(≤8 达标)、公开方法 5 个(≤20 达标)。撤销方式=成员迁视口件+canvas 经方法驱动(纯结构搬移)。
|
||||||
|
2. **open_choices 平滑判据=有无当前节点**(卡①§6 写「reanchor(false) 首锚」、T2 写「停点切换/回图接 reanchor(true)」,open_choices 同时承载两路径)——合并读法:入口停点(current_node_id<0)即达=首锚,其余停点/兑付回图平滑=跟随。R2/R7 断言均经此路径。
|
||||||
|
3. **提交沿移至抬杆**(原提交在按下沿;布局决策 5 阈值区分语义下按下时无法预知是否成拖拽,R6 要求拖拽沿零发射)——完整点击(按下→未超阈值抬杆)提交、拖拽抬杆不提交;ui_input_probe case⑫/⑱ 补 release 沿适配(验收审计 D3 订正:原呈报误写⑰,实际落点两处)(判据语义「图上真实点击提交选路」不变,输入形态更完整)。
|
||||||
|
4. **滚轮步进 60px、渐隐带色 BG_ROOT 不透明端 0.9、chip 底 HP_BAR_BACK/描边 STONE/文字 WARM、缓动 TRANS_CUBIC+EASE_OUT**——卡 §12 白名单 4/5/3 授权面内定值。
|
||||||
|
5. **视口件 NOTIFICATION_RESIZED 即席重锚**——首开布局晚于 open_choices 锚定(隐藏子树容器排序首可见帧才传播,4.7 行为;实证=探针首跑 y 锚偏 88px),resize 即席 `reanchor(false)` 收敛;同时是窗口尺寸变化的正确行为。
|
||||||
|
6. **_fit_canvas 画布尺寸同帧收敛**(`canvas.size = _content_size` 显式置)——视口锚点数学与 `_layout` 同源读画布尺寸,容器延迟收敛不等锚点。
|
||||||
|
7. **mouse_exited 清拖距跟踪器**——按下即武装的跟踪器在丢失 release 沿(alt-tab 等)后残留会把后续 motion 误判为拖拽激活(ui_input_probe case⑰⑧ press-only 实证);非拖拽态离画布即解除。
|
||||||
|
8. **卡②探针①注入 do.kind="spike"**(卡 T2 括注 kind=modify_ticket+mode=spike 形态)——括注形态无拒绝通道(`validate_trigger_row` 无 mode 值域检查,mode 属载荷字段非词表),按断言名「词表闭面:kind=spike 出域拒绝」与 R2 判据绑定面(effect_kinds 出域文案)的机制注入 kind 形态。
|
||||||
|
9. **golden 两 Shot 面口径**(卡①现状事实写「本批不触渲染闸对拍」、批纪律 iter 4.4+test-conventions §8.2 要求扩项)——呈裁用户,2026-11-05 裁「只处理最初始的和最终的:关卡最开始+关卡 Boss 节点,中间过程不对拍」,按两 Shot 面扩项冻结。
|
||||||
|
10. **卡② T3 与 T4 并笔提交**——卡 §10 白名单授权面。
|
||||||
|
|
||||||
|
## 遗留读数义务与发现呈报
|
||||||
|
|
||||||
|
1. **闸件缺陷呈报(工程批)**:`tools/gate_platform.sh` 的 `gate_run_timeout` 用 `mktemp` 造超时标志文件——mktemp 即建文件,末尾 `[ -f "$kf" ]` 在 Windows(Git Bash)恒真→**恒返回 124**。被各闸「判定锚工件而非退出码」口径掩住(菜单/棋盘 golden 段与本批 lmap 段均工件锚定,不受影响);`tools/golden_baseline_refresh.sh` 的 7 分钟等待症状(guard 子Shell `sleep 420` 未被 kill 短路)同根。修法=改 `kf="$TMP/..." ; rm -f "$kf"`(run_suite 同款,probe_gate.sh 已是正确写法)。本批不代修(闸件改动归工程批)。
|
||||||
|
2. **mac 端关卡视口基线冻结义务**:`golden/mac/` 缺 lmap_entry/lmap_boss——渲染闸缺基线记 SKIP 不判红(windows 已锚即盯),mac 冻结归 mac 侧跑 `golden_baseline_refresh.sh --lmap`。
|
||||||
|
3. **效果通道与事件词的零现役普查**——已在待办清单在册(卡② §5 去向),本批不扩。
|
||||||
|
4. 卡① level-map.md 同步面:实现未发现 spec 缺口(布局决策 5 行为四条+像素级判据+AC 全部有绿读数承载),零反哺。
|
||||||
@@ -0,0 +1,122 @@
|
|||||||
|
# 迭代 53 验收审计(2026-11-05)
|
||||||
|
|
||||||
|
- 审计员:独立会话子代理——未参与本迭代任何实现、设计或写卡工作,只读证据做审计。
|
||||||
|
- 审计对象:迭代 53 两张需求卡片——卡①卷轴视口批(`reports/需求卡片-卷轴视口批-2026-11-05.md`)+卡②改写族孤儿机制与退役名清退批(`reports/需求卡片-改写族孤儿机制与退役名清退批-2026-11-05.md`)+卡① golden 扩项(2026-11-05 用户裁两 Shot 面)。
|
||||||
|
- 实现报告:`reports/iter53-实现报告-2026-11-05.md`(两卡「实际改动—验收对照表」为逐行核对基准)。
|
||||||
|
- 验收档与实际执行深度:两卡均申报「中」档;本次按 test-conventions §8.7 中档执行——对照表逐行全量核对(两卡 R 行逐行)、判据绑定面抽查(超出下限)、测试削弱检查逐处、直查例外核对逐条、判据出处抽查 6 处。**最窄测试复跑=省略,该格写「合回后 CI 现查补记」**(合并尚未发生——本审计为合并前置闸,远端 CI 现查读数待合回落地后按 `tools/ci_check.sh <合并提交>` 补记;静态 grep/文件核对类检查由审计员当场重跑,不属省略面)。
|
||||||
|
- 基线提交:`709d9a85..8b4399ad`(iter53 分支;7 笔实现笔 c1043902/4e87a012/b5c21e3a/1bd50304/ed793e8c/6394abf7/78e08234 + 1 笔并 master 8b4399ad)。工作树存在本机 Godot 导入元数据漂移(若干 `*.png.import` 未提交改动),不属提交面审计对象。
|
||||||
|
- 审计动作面:`git diff 709d9a85..HEAD` 全量过目(37 文件);测试/探针/闸件改动逐 hunk 核对;契约 1 五词 grep、40 名退役名全扫、契约 5 残留 grep 由审计员当场重跑。
|
||||||
|
|
||||||
|
## 卡① 卷轴视口批(验收档:中|执行深度:中档)
|
||||||
|
|
||||||
|
### 对照表逐行核对(全量)
|
||||||
|
|
||||||
|
| 行 | 结论 | 依据(文件:行) |
|
||||||
|
|---|---|---|
|
||||||
|
| R1 浅图整幅居中无裁切 | 通过 | 断言在案且尾缀可 grep:`game/probe/level_map_viewport_probe.gd:71/74/76`〔卷轴批 V1〕;承载改造落地 `level_map_viewport.gd:30-36`(setup/clip_contents)+`level_map_screen.gd:134-145`(CenterContainer→视口件);真实入口=`open_choices` 真实停点(探针 :62-64,L1 固定种子直构 runner,start_level_external 注入)。运行读数=实现者「绿」在案;合回后 CI 现查补记 |
|
||||||
|
| R2 停点切换当前节点居中 x=640±2 | 通过 | 断言 `level_map_viewport_probe.gd:221`〔卷轴批 V2〕;断言钉屏空间投影(当前节点屏幕 x 对视口中心 ±2)——比卡面所写 `viewport_center_canvas_pos()` 调用更外层的真实观测,与 level-map.md:101/:154 判据①「居屏中线 x=640±2」同义,非削弱(观察 4);真实入口=断点停点重建+真实 `open_choices`(探针 :216-217)→ screen `reanchor` 接线 `level_map_screen.gd:312-315`+锚点提供方 :483-516。合回后 CI 现查补记 |
|
||||||
|
| R3 拖拽平移 | 通过 | 断言 `level_map_viewport_probe.gd:137`〔卷轴批 V3〕;真实输入沿=`ProbeUiUtil.push_drag_at`(`game/probe/probe_ui_util.gd:146-166`,press→motion×4→release 全经 `push_input`)打真实画布 `_gui_input`(`level_map_screen.gd:381-403` 拖拽态逐帧 `pan_by`)——**未绕过改动点**(探针全文零 `pan_by` 直调,grep 证);判据=视线位移=拖拽位移 40px 逐位。合回后 CI 现查补记 |
|
||||||
|
| R4 滚轮横滚 | 通过 | 断言 `level_map_viewport_probe.gd:114/116/120`〔卷轴批 V4〕;`push_wheel_at`(probe_ui_util.gd:168-176)经 `push_input`;映射 `_wheel_pan_step`(level_map_screen.gd:426-433,下/右=+60 前进向,代拍板白名单 5 授权)。合回后 CI 现查补记 |
|
||||||
|
| R5 clamp 包络与首末列可达 | 通过 | 断言 `level_map_viewport_probe.gd:88/102/158/160/161/167/168`〔卷轴批 V5〕;判据绑定 `viewport_center_canvas_pos()` 夹紧域(level_map_viewport.gd:76-77/:97-100/:111-114)+`is_clamped_at_edge()` 两极翻转(:81-86)+极值列入屏(:161-169,等价 spec 判据④);真实入口=超包络拖拽沿两极。合回后 CI 现查补记 |
|
||||||
|
| R6 拖拽不触发选路 | 通过 | 断言 `level_map_viewport_probe.gd:200/201/206`〔卷轴批 V6〕;**拖拽沿确从候选节点上方起沿**(:193 `gpos`=候选屏幕投影,:197 `push_drag_at(self, gpos, …)` 起点即候选);判据绑 `route_chosen` 发射面零计数(screen `route_chosen.emit` :465)+屏未关+阈值另一侧完整点击提交=1(:203-206,点击沿 press+release 成对经 push_input)。合回后 CI 现查补记 |
|
||||||
|
| R7 平滑滚动与减动效瞬切 | 通过 | 断言 `level_map_viewport_probe.gd:245/249/258`〔卷轴批 V7〕;tween 单段缓动 TRANS_CUBIC-EASE_OUT UiKit.motion(0.3)(level_map_viewport.gd:57-59);减动效走 `ArmedTimer.motion_still()`(armed_timer.gd:16-17=motion_scale<1)跳终态——探针置 `UiKit.motion_scale=0.5` 即设置面单点(settings_overlay.gd:96 同驱),判据同向在途+即达。合回后 CI 现查补记 |
|
||||||
|
| R8 指引件可见性与几何 | 通过 | 断言 `level_map_viewport_probe.gd:272-278`+浅图隐藏 :289〔卷轴批 V8〕;几何常量 FADE_BAND_W=70(level_map_viewport.gd:10)、CHIP_SIZE 240×30(:11)直挂 spec 判据②③;可见性=`_sync_guidance` 画布超窗判据(:181-191)。合回后 CI 现查补记 |
|
||||||
|
| R9 schema 头注指针反转(非行为) | 通过(静态重跑) | `level_gen_params.gd:3-4`+:70 反转落地;审计员重跑 grep:该文件「调参表」残留=0、「参数契约节」指向=2、`--check-only` 读数实现者在案。全仓唯一「调参表」残留=variation_table.gd:41(地形变异 v1.2 owner,不同文件不同域,不属本卡清退面) |
|
||||||
|
| golden 两 Shot 面(用户裁) | 通过 | `game/probe/level_map_shot_probe.gd`(PASS 签名 :36+落盘 fail-fast :89-91)+`game/tests/golden/windows/lmap_entry.png`/`lmap_boss.png` 已入库(6394abf7,Bin 215164/211513 字节)+`tools/render_gate.sh:168-197` 对拍段(PASS 签名+双图非零工件锚定+平台缺基线 SKIP 不判红)+`tools/golden_baseline_refresh.sh` --lmap 模式(:59-85,素材齐盘守卫)+`game/tests/golden/README.md` 台账随动;mac 缺基线义务已呈报(实现报告遗留 2+反哺点 6)。运行读数(changed=0.00% 双绿)=实现者在案;合回后 CI 现查补记 |
|
||||||
|
|
||||||
|
卡①补充核对:26 断言计数属实(探针 26 处 `_check`+尾缀〔卷轴批 V1..V8〕27 行含 1 处缺位告警);`tools/probe_gate.sh:137-141` 注册新探针;ui_struct_probe 本批零改动(未触其结构断言面,卡①削弱申报该项落空=无事);实现报告实现决定 1-7(拖拽态落屏侧/open_choices 平滑判据/提交沿移抬杆/代拍板白名单定值/resize 即席重锚/_fit_canvas 同帧/mouse_exited 清跟踪器)均有代码承载且不越卡 §12 白名单;7 笔实现笔无一触碰 `design/`/两份根清单/`game/tests/README.md`(逐笔 name-only 核对)。
|
||||||
|
|
||||||
|
### 判据绑定面抽查(本卡抽 4 行,超中档下限 2 行)
|
||||||
|
|
||||||
|
- R6(如上)——`route_chosen` 零发射+屏未关+完整点击仍提交,三面钉在「拖拽不提交/点击提交」的特有提交面上。
|
||||||
|
- R2(如上)——当前节点屏空间投影=视口中线 ±2。
|
||||||
|
- R5(如上)——夹紧域+两极 edge 翻转+极值列入屏。
|
||||||
|
- R3(如上)——拖拽位移与视线位移逐位一致,且全程走引擎输入管线。
|
||||||
|
|
||||||
|
### 直查例外核对(逐条)
|
||||||
|
|
||||||
|
| 直查行 | 申报状态 | 结论 |
|
||||||
|
|---|---|---|
|
||||||
|
| `level_map_viewport_probe.gd:67` `vp.get_child(0)`(取视口画布子件) | 探针内注释已给理由(「画布=视口首子件——setup 注入序」,:61),对照表/实现报告**未单列申报口径** | 缺漏(建议级,见末节 D2)——断言对象即承载结构本身,无公开可观测面可钉,风险零 |
|
||||||
|
| `level_map_viewport_probe.gd:266-268/:287-288` 按名取 FadeL/FadeR/PanHint | 同上——探针内注释在案,对照表未单列 | 缺漏(建议级,并入 D2)——R8 断言对象即指引子件结构本身 |
|
||||||
|
| screen 侧私有成员 | 新探针**未直读**任何 screen 私有成员(`_drag_active`/`_drag_press_pos` 零探针触达);既有「探针直读冻结」惯例面(level_map_screen.gd:39/:57-64)未扩 | 通过 |
|
||||||
|
|
||||||
|
## 卡② 改写族孤儿机制与退役名清退批(验收档:中|执行深度:中档)
|
||||||
|
|
||||||
|
### 对照表逐行核对(全量)
|
||||||
|
|
||||||
|
| # | 结论 | 依据(文件:行) |
|
||||||
|
|---|---|---|
|
||||||
|
| R1 摘四段不可达改写分支 | 通过(静态面重跑一致;运行读数合回后 CI 现查补记) | diff 逐段核对:`damage_controller.gd` 命中侧交换/免掷覆盖/spike 置位/移档调用/增伤侧/spike 倍乘/`_discount_shift_up` 整函数全摘;`_ctx_rewrites` 返回键集={roll_read,threshold,crit,discount,clamp_hits}(:301-303)、`_hero_attack_ctx` 摘 spike_ready(:278-281)——与卡 T1 收窄键集逐字一致;armor_roll 发射点保留不接收返回值(:289-290,卡 3.6 口径);spike_ready/ar_hits/shift 残留 grep=0(审计员重跑)。六组逐字节对拍 diff=0 与三套件 exit=0=实现者读数在案;dump_battle 六组参数面(seed 42 默认+参数覆盖,dump_battle.gd:13/:21)核对成立 |
|
||||||
|
| R2 EFFECT_KINDS 摘 spike | 通过 | `effect_engine.gd:30` 词表摘名;断言 `effect_kind_retired_test.gd:89`「③词表闭面:kind=spike 出域拒绝」在案,沿既有 `_assert_rejected`/`_inject` 骨架(卡 T2 明示沿用);注入形态偏差(do.kind=spike,非卡 T2 括注 kind=modify_ticket+mode=spike)=实现决定 8 申报在案且经审计员核实——`validate_trigger_row`(effect_engine.gd:382-396)确无 mode 值域检查,括注形态无拒绝通道,实现口径与断言名/R2 判据绑定面(词表出域)一致。运行读数(负域套件 exit=1 四探针全拒)合回后 CI 现查补记 |
|
||||||
|
| R3 DO_KEYS 摘 trade_hit/trade_atk | 通过 | `effect_engine.gd:80-82` 摘两键;断言 `effect_kind_retired_test.gd:92`「④do 键闭面:trade_hit 出域拒绝」在案。运行读数合回后 CI 现查补记 |
|
||||||
|
| R4 注释面退役名清零 | 通过(40 名全扫审计员重跑) | 审计员自解析 `design/content-archive/道具退役素材库.md` 两表 40 名(41 减现役淬毒刃纹)重扫 `game/` 全域 .gd/.tres/.md/.tscn:命中仅 3 行=`treasure_items_test.gd:31/33/35` StubDB 夹具名——与卡 §5 留底申报逐行一致;契约 2 抽 4 处(grant_segment.gd:232「完美布防→封印全中倍率」、damage_controller.gd:109「猎巢人→nest_count 订阅消费面」、reward_grant.gd:130「掘进蓄能→付费积点账本」、grant_segment.gd:359「雷区图谱→标中雷追加」)——职责陈述(做什么/按什么序/取值从哪来)逐处保留,只换名;宿主套件绿=实现者读数,合回后 CI 现查补记 |
|
||||||
|
| R5 减半明细行去退役件名 | 通过 | `reward_grant.gd:226` 标签→「挖掘惩罚减半(%d→%d)」+effect_id→nest_halve;断言随动 `meta_progression_forge_test.gd:694/697/699-700`,强度三件(nc_hit 非空+等值「挖掘惩罚减半(6→3)」+零「挖雷」)与改前逐项对齐(基线 709d9a85:693-701 核对);grep nest_counter=0(审计员重跑)。合回后 CI 现查补记 |
|
||||||
|
| R6 空集拒绝 reason 去退役件名 | 通过(静态重跑) | `reward_grant.gd:189` reason 前缀→「中立移除:…」,`{"ok": false}` 形态未动(diff 核对);grep 爆破工兵包 game/=0(审计员重跑);观测面局限申报(reason 不可达、禁造行)在卡 §8/对照表一致在案 |
|
||||||
|
| R7 反弹明细标签去退役件名 | 通过(静态重跑) | `grant_segment.gd:165-166` 标签→「反弹伤害」+归因串→attune_nest_halve;**契约 3 逐字核对成立**:`channel=="reflect"` 判据、开单参数字典(channel/base_value/target_rule/ri/origin_cell)、`reward_grant.submit` 调用全未动(diff 对照基线 709d9a85:164-170);grep 惊巢反制/attune_nest_counter=0(审计员重跑)。运行读数合回后 CI 现查补记 |
|
||||||
|
| R8 sim 恒 false 匹配删除 | 通过(静态重跑) | `level_autoplay.gd:414-418` highlight=="seal_hit" 单判据保留、contains(雷区图谱) 条件与 :415 注释随删;grep 雷区图谱 game/=0(审计员重跑)。套件绿=实现者读数,合回后 CI 现查补记 |
|
||||||
|
|
||||||
|
卡②补充核对(契约逐条):契约 1 三条 grep 审计员重跑全零——tables 五词 0、tree_rules 面 0、cell_removal 表面 0 仅 schema 在册(treasure_item_table.gd:20/:26);`feats.tres:855` clamp_bonus 现役一行对照记录与实现报告 T0 一致,表内现存 mode 值(queue/round/battle/clamp_bonus/refresh)零退役四模式。契约 5 禁留空壳——spike_ready/ar_hits/shift/_discount_shift_up 残留 grep 全零(审计员重跑)。契约 6 实现批禁写文档——7 笔实现笔 name-only 核对零触 design//待办清单/体验验证清单/game/tests/README.md。契约 7 零新增数值——diff 内零 .tres 表值改动。反哺点清单 7 条落点齐(含「明细标签是否入表」裁决点+增益状态/伤害与护甲零命中备案)。
|
||||||
|
|
||||||
|
### 判据绑定面抽查(本卡抽 3 行)
|
||||||
|
|
||||||
|
- R2/R3(如上)——负域探针钉「退役词/键注入行→load_tables 拒绝+error 诊断≥1+进程退出码 1」;归属由夹具结构保证(copy_tables 全量现役表+唯一异常探针行)。观察 5:卡面写的「error 载荷含 effect_kinds 出域文案」未做逐字断言——沿用卡 T2 明示的既有骨架语义,非削弱。
|
||||||
|
- R5(如上)——step_row display_name 等值断言+非空+零旧词,判据绑减半路径特有发射面。
|
||||||
|
- R1 静态面(如上)——收窄键集逐字核对+摘除残留 grep,钉在「分支消亡」这一改动特有提交面。
|
||||||
|
|
||||||
|
### 测试削弱检查(逐处,两卡合并过目)
|
||||||
|
|
||||||
|
`git diff 709d9a85..HEAD -- game/tests/ game/probe/` 全量 hunk 过目,共 5 文件:
|
||||||
|
|
||||||
|
1. `effect_kind_retired_test.gd`:**纯新增**(两探针常量+两次 `_assert_rejected` 调用+PASS 文案随动);既有探针①②与 quit 语义零改动;`run_all.gd:195` 在册条目 expect=1/negative=true 未动。无削弱。
|
||||||
|
2. `meta_progression_forge_test.gd`:恰 4 处期望串随 R5 换代(:694 匹配串/:697 描述/:699-700 等值串)+2 行注释(卡 3.3 表申报面)——断言强度逐项不降(非空+等值+不含旧词全保留),与卡 §8 削弱申报逐字吻合。无申报外削弱。
|
||||||
|
3. `variant_placement_test.gd`:1 行注释(偏运硬币→订阅行,卡 3.3 表 :239 申报面),断言零改动。无削弱。
|
||||||
|
4. `ui_input_probe.gd`:+16 行=case⑫断言段(图上命中提交沿)+case⑱ 雾段(雾下点击零提交)各补 release 沿——实现报告决定 3 申报在案;判据语义核对:雾段=零提交不变(且改为完整点击沿后更强)、命中段=提交沿随新语义移至抬杆(单 press 沿在新语义下不再是提交沿,不适配则必红——必要适配非放宽)。**呈报笔误**:申报写「case⑫⑰⑧」,实际落点两处、无 ⑰(case⑰ 未开格类型微光走 `_push_click` 既有成对沿,无需适配)(建议级 D3)。
|
||||||
|
5. `ui_struct_probe.gd`:零改动——卡①「适配须保持语义」条款无事可核,非缺漏。
|
||||||
|
|
||||||
|
无申报外的断言删除、阈值放宽、扫描面缩小、换下层直调。
|
||||||
|
|
||||||
|
### 判据出处抽查(6 处,超下限 4 处)
|
||||||
|
|
||||||
|
| 断言预期值 | 规格出处 | 独立可写出性 |
|
||||||
|
|---|---|---|
|
||||||
|
| 居中 ±2(探针 R2 :221) | level-map.md:101「屏中线 x=640±2」/:154 判据①/:269 | 能——规格句直接给出 640±2 |
|
||||||
|
| 渐隐带 70px(探针 R8 :273-274) | level-map.md:104/:154 判据②「屏缘两侧各 70px 渐隐带」 | 能 |
|
||||||
|
| chip 240×30(探针 R8 :275-276) | level-map.md:104/:154 判据③「240×30、圆角 6」 | 能 |
|
||||||
|
| 「挖掘惩罚减半(6→3)」(forge 测试 :699-700) | 卡② §8 R5 判据明文+reward_grant.gd:226 契约 3 边界;6→3 可由测试构造独立推出(heal 行 power=6×halve 50% ceil=3) | 能——预期值在卡内先行锁定,非镜像实现 |
|
||||||
|
| 拖拽阈值 8px(DRAG_THRESHOLD,level_map_screen.gd:34) | 卡① §12 白名单 2「8px 附近 provisional 区间内定值」授权;spec :103 明示阈值实现期定值 | 能——授权面在卡,值属 provisional 自主面 |
|
||||||
|
| golden 两 Shot 面 | 2026-11-05 用户裁决(实现报告决定 9 在案):只对拍关卡最开始+Boss 节点 | 能——裁决记录在实现报告与 golden/README 台账双在案 |
|
||||||
|
|
||||||
|
六处均非「预期值只在实现里出现」的同义反复。
|
||||||
|
|
||||||
|
## 附加核对
|
||||||
|
|
||||||
|
- 能力行名实(game/tests/README.md:162-164 三行)::162 跟随行(_probe_follow_anchor/_probe_smooth_scroll_reduced_motion)与 :164 指引行(_probe_guidance_chrome)名实一致;**:163 平移行的 `_probe_clamp_bounds` 与落地名 `_probe_clamp_bounds_and_columns` 不一致**(建议级 D1——卡① §5「批末收尾核对表上名与落地一致(改名则回表)」未回表,反哺点清单亦未收录;实现批禁写 README,正确通道=回写卡段/反哺点)。
|
||||||
|
- 负面套件在册:`game/tests/run_all.gd:195` effect_kind_retired_test expect=1/negative=true 登记在位,卡② T2 未动在册条目——一致。
|
||||||
|
- S13 基线读数:`tools/gdstyle_baseline.txt` 恰 7 条且无本批触面键(level_map_screen/damage_controller/effect_engine/reward_grant/level_autoplay 均无键)——与实现报告 T0/T4 读数一致。
|
||||||
|
- 闸件缺陷呈报核实(实现报告遗留 1):`tools/gate_platform.sh:37` `kf="$(mktemp …)"` 即建文件+:48 `[ -f "$kf" ]` 恒真→恒 124,呈报描述与代码相符;probe_gate.sh:97 `kf="$TMP/killed.$RANDOM"`(先赋路径不预建)为正确写法参照——呈报属实;该缺陷修法归工程批,本审计不裁定(不在验收对象内,已入反哺点 5)。
|
||||||
|
|
||||||
|
## 缺漏与观察清单
|
||||||
|
|
||||||
|
阻断级:无。
|
||||||
|
|
||||||
|
建议级(不阻断合并,归批后收尾/文档批):
|
||||||
|
|
||||||
|
- D1:能力清单 `game/tests/README.md:163` 代表用例名 `_probe_clamp_bounds` ≠ 落地名 `_probe_clamp_bounds_and_columns`(卡① §5 名实核对义务未回表;反哺点清单漏收)。
|
||||||
|
- D2:新探针对宿主内部结构的直查(`level_map_viewport_probe.gd:67` get_child(0)+:266-268/:287-288 按名取指引子件)未按 test-conventions §8.7 第 4 条在对照表逐条申报口径;探针内注释已给理由(断言对象=承载结构本身,无公开观测面),screen 侧既有「探针直读冻结」惯例未被动用、新私有成员零直读,风险零。
|
||||||
|
- D3:实现报告/提交信息写「ui_input_probe case⑫⑰⑧ 补 release 沿」,实际落点为 case⑫断言段+case⑱雾段两处、无 ⑰——呈报笔误,判据语义已核保持。
|
||||||
|
|
||||||
|
观察(记录在案,不构成缺漏):
|
||||||
|
|
||||||
|
- O1:R2 判据绑定面用屏空间投影而非卡面所写 `viewport_center_canvas_pos()` 调用——更外层真实观测,与 spec 判据①同义,非削弱;连带 `game/tests/README.md:162` 读面句与实况有轻微出入。
|
||||||
|
- O2:卡② R2/R3 负域探针未逐字断言错误文案(沿用卡 T2 明示骨架语义;归属由夹具唯一异常行结构保证)。
|
||||||
|
- O3:卡① T1 写「探针宿主沿组合根真实屏」、卡 §8 对照表写「场景探针实例化本屏」——卡内两处口径不一,实现取对照表口径且在对照表真实入口格如实呈现;`push_input` 真实输入管线口径照守(禁合成投喂的实质红线未破)。
|
||||||
|
- O4:探针宿主直构 runner(start_level_external)属 test-conventions §5.4 自动化测试直构口径,探针头注已申报。
|
||||||
|
|
||||||
|
## 审计结论
|
||||||
|
|
||||||
|
**通过**(可合并;合并落地后按中档梯度以 `tools/ci_check.sh <合并提交>` 现查读数补记「最窄复跑」格——零触发或不可判不作绿证)。
|
||||||
|
|
||||||
|
- 卡①卷轴视口批(验收档:中):对照表 10 行全通过;绑定面抽查 4 行钉面成立;削弱零申报外;判据出处 4+ 处独立可写出;缺漏 3 项均建议级(D1 能力行名实回表、D2 直查申报口径补记、D3 呈报笔误)。
|
||||||
|
- 卡②改写族清退批(验收档:中):对照表 8 行全通过;契约 1/2/3/5/6/7 审计员重跑/逐处核对全部成立;削弱恰为申报内 4 处期望串且强度不降;40 名扫描与卡 §5 留底逐行一致;无阻断项。
|
||||||
|
- golden 扩项:两 Shot 面用户裁决在案、基线入库、闸件对拍段与台账齐;mac 冻结义务已呈报(反哺点 6)。
|
||||||
@@ -257,3 +257,11 @@
|
|||||||
**改动面**:游戏代码
|
**改动面**:游戏代码
|
||||||
|
|
||||||
**状态**:待执行
|
**状态**:待执行
|
||||||
|
|
||||||
|
#### QA 覆盖总览面板与自动试玩扩展——自动发现测试验证缺漏(2026-11-05 登记,来源=会话提及)
|
||||||
|
|
||||||
|
**实况**:方案全文=`D:\code\qa-harness-discussion\QA-Harness讨论结果-中间报告.md`(三批定案,全部三关试点):①探针存量 emit 真输入化(~40 处站点,承接上条)②B 覆盖总览面板+本体枚举器(六源回执明细化+能力清单提取+HTML 双击即开+游戏内容↔测试验证对账)③C 自动试玩扩展(auto_player 扩全动线全功能,异常上报含机器自填归因)。裁决在案勿重提:A 执行覆盖矩阵不做、D 缺口闸不做、变异测试禁入、归因登记不立独立制度。
|
||||||
|
|
||||||
|
**改动面**:游戏代码+工具代码+文档
|
||||||
|
|
||||||
|
**状态**:待执行
|
||||||
Reference in new issue
Block a user