diff --git a/reports/2026-11-09-交接-棋盘材质与浮空数字修正.md b/reports/2026-11-09-交接-棋盘材质与浮空数字修正.md new file mode 100644 index 00000000..74e2684b --- /dev/null +++ b/reports/2026-11-09-交接-棋盘材质与浮空数字修正.md @@ -0,0 +1,123 @@ +# 交接:棋盘材质回退与浮空数字修正(2026-11-09) + +> 性质:会话交接过程稿,供下一次会话接着干;结论被吸收后按「中间产物吸收即死」退役。 +> 状态:**未提交、未合回**;三关材质预览已生成,**等用户目检确认**。 +> 主工作区:`D:/code/g-plan2`(本文件所在,本会话只写了本件与 `reports/2026-11-09-棋盘材质预览.html`) +> 改动工作区:`D:/code/g-plan2-board-material-fix`(分支 `board-material-fix`,全部改动未提交) +> 迭代实现工作区:`D:/code/g-plan2-iter57`(分支 `iter57`,本会话未触碰) + +--- + +## 1. 本会话所做工作的当前状态 + +### 1.1 起点与已定结论 + +- 迭代 57「棋盘瓦片与立体表现重做」实现中断。原因:需求卡片把用户过审的 C 方向(连续岩顶图/连续地面贴图+浮空数字)写成了「程序化材质」;用户从未裁过程序化材质。 +- 2026-11-09 用户裁定:回到原本方式——**贴图材质+程序化结构**。已按此改卡、改文档、出材质与预览。 +- 材质与结构分工:岩顶/地面 = 无缝贴图(按整板全局坐标一次铺图,禁逐格重置);崖面/临空边缘/受光棱/内阴影/投影/层序 = 程序化绘制。 + +### 1.2 已完成(全部在 `board-material-fix` 工作区,未提交) + +**需求卡片**:`reports/需求卡片-棋盘瓦片与立体表现重做批-2026-11-07.md` + +- §2 上游已裁:明确用户裁的是画面外观,不含程序化材质;材质=无缝贴图、结构=程序化。 +- §4-2、§5:改回贴图口径;新增 T-A(6 张材质制作与验收);T3 增材质加载与材质/结构分界测试;T6 保留「6 张新材质在库、旧 `terrain_*` 63 件退役」;T7 预览图作渲染测试黄金基线。 +- §16 增两行:第七轮(材质实现回退)、第八轮(浮空数字几何);卡片状态行同步;估时 9.5→11.0 个工作日(T-A 0.5/T3 2.5/T7 1.5)。 +- 第八轮新增硬口径(本次预览暴露、实现会重犯): + - 字高 21 = **字形墨高**(不含描边);渲染字号取使墨高=21 的值(现行融合像素字体 27 号 → 墨高 21),`FONT_H` 仍记 21 作墨高/矩形高。 + - `draw_string`/`draw_string_outline` 的 `pos` 是**基线**,一律传 `rect.position + Vector2(0, FONT_H)`(矩形底边),禁把矩形顶当绘制原点。 + - `_label_rect` 行 y 用**步距 `(格边+2)`**,禁按 `c.y × 格边`(逐行漂移 2px)。 + - 引导线 2px 双色自格顶 −12 连续落到 +4,线底接阴影圆上缘;圆 10×6、圆心格顶 +7、小人之下。 + +**设计文档**(同工作区) + +- `design/art/art-bible.md`:版本 v3.51→v3.52;§8.1 改「岩顶/地面材质取无缝贴图,崖面、临空边缘、投影等结构件程序化绘制」;§1.4 第一验收项改「正式地形贴图资产开工前」;§8.5「材质归模型、结构归程序」保留不动。 +- `design/art/asset-path-map.md`:`board/` 行改为 6 张 `board_rock_.png`/`board_ground_.png`+`seal_mark.png`;旧 `terrain_*` 63 件退役。 +- `design/art/art-assets-checklist.md`:「棋盘改程序化材质」→「棋盘改贴图材质」;§3.3 状态改贴图+程序化结构。 +- `design/ux/battle.md`、`design/gdd/08-Alpha版本标准.md`、`待办清单.md`:art-bible 引用 v3.51→v3.52。 + +**材质与预览**(`D:/code/g-plan2/artwork/`,该目录 gitignored) + +- `2026-11-09-棋盘方案C回收/`:从归档会话找回的 C 方向原稿 13 张 PNG+5 份 HTML(用户当时过审的画面依据)。 +- `2026-11-09-棋盘材质候选/`: + - 6 张候选无缝材质:`board_rock_{dungeon,underdark,deep_underdark}.png`、`board_ground_{...}.png`;均 128×128、≤32 色。 + - 三关整板预览:`board_preview2_{dungeon,underdark,deep_underdark}.png` 与合并图 `board_preview2_three_levels.png`(12×8、格边 46、间距 2、LIFT 20、ESHIFT 5,画布 630×438)。 + - 生成器:`render_preview3.py`(旧版 `render_preview.py`/`render_preview2.py` 留作对照)。 +- 浮空数字已修正:线—圆连续;数字墨底距格顶 15、墨高 21;阴影圆 10×6 在格顶+7;数字与引导线最顶、阴影圆在小人之下。三关预览已按此重生成。 + +**渲染黄金基线**(`board-material-fix/game/tests/golden/`,未提交的新文件) + +- `board_material_L1.png`、`_zoom2`、`_digit6`、`_hero4`、`_top4`:从 `artwork/2026-11-09-棋盘方案C回收/` 复制,作为 T7 的目检黄金基线。 +- 注意:这 5 张是**C 方向原稿**,不是本次 `board_preview2_*` 材质稿。新材料稿是否另立黄金基线,等用户确认后再定。 + +**验证读数** + +- `python tools/pipeline_gate.py`(`board-material-fix` 工作区):PASS(37 条目 / 57 行 / 2 链 / 4 卡全过)。 +- 本会话未改游戏代码,未跑游戏测试、探针、渲染闸。 + +### 1.3 明确未做 + +- 未 `git commit`、未 `git merge`、未 `git push`(用户 2026-11-09 明确要求)。 +- 未把 6 张材质拷入 `game/assets/art/board/`,未生成 `.import`(asset-ingest 等用户确认预览)。 +- 未改 `iter57` 工作区的任何代码;其已知缺陷见 §4。 +- 未重制三关 golden 基线,未跑渲染闸。 + +--- + +## 2. 预览 HTML + +- 文件:`reports/2026-11-09-棋盘材质预览.html`(主工作区) +- 自包含:三关整板预览、2 张数字/引导线/阴影圆细部(4×)、6 张 128×128 材质,全部 base64 内嵌;双击即可打开。 +- SHA256:`61df9a23d094a294cb652c636a780a2bf6b72f1b7a656eee9ed39451fe928949` +- 内容对应的磁盘产物:`artwork/2026-11-09-棋盘材质候选/board_preview2_three_levels.png` 等。 + +--- + +## 3. 关键几何(预览、卡片、art-bible §3.2 已对齐) + +| 项 | 值 | +|---|---| +| 格边/间距/步距 | 46 / 2 / 48 | +| 岩顶抬升 | LIFT 20、ESHIFT 5;顶面 rect = 格矩形左上偏移 (−5,−20)、边长 46 | +| 浮空数字 | 墨高 21、字底距格顶 15、视觉顶距格顶 38;2px 深墨描边 `#1A140E`+1px 浮空投影;字芯暖白 `#F0E2C8` | +| 引导线 | 2px 双色竖线,左深 `#1A140E`/右浅 `#E8D3AB`;自格顶 −12 连续落到 +4 | +| 阴影圆 | 10×6,圆心 = 横向格心、格顶 +7;四层同心椭圆 α 40/70/105/140,尺寸 100/80/60/40% | +| 层序 | 地面 → 投影 → 阴影圆(小人之下)→ 按脚底 y 排序的深度对象(岩体/小人)→ 顶面贴花与交互(随所属格件分档)→ 浮空数字+引导线(最顶) | +| 预览构图 | 12×8、外白边 28;墙格掩码与绘制细节见 `render_preview3.py` | + +--- + +## 4. 下次会话的待办顺序 + +1. **用户目检预览**(`reports/2026-11-09-棋盘材质预览.html`):材质、构图、浮空数字/引导线/阴影圆。未点头前不动游戏资产。 +2. 用户确认后:按 asset-ingest 把 6 张材质录入 `game/assets/art/board/`,生成 `.import`,补 art-bible 条款与素材状态清单。 +3. 恢复迭代 57(`iter57` 工作区)T-A/T3/T7: + - T3:材质经 `UiKit.load_tex` 加载,`_tex_rock`/`_tex_ground` 按整板 UV 铺图;新增 `_test_material_assets_present`、`_test_material_vs_structure`。 + - T6:确认旧 `terrain_*` 63 件退役、6 张新材质在库。 + - T7:`board_shot_probe` 12×8/46 复刻样张;三关 golden 换代;渲染闸复闸。 +4. **修 `iter57` 浮空层四处实现缺陷**(本会话已定位,未改代码): + - `board_float_layer.gd:65,67,68`:`draw_string`/`draw_string_outline` 的 pos 传的是 `rect.position`(矩形顶),实为基线 → 数字整体上浮 21px、与引导线分离;改传 `rect.position + Vector2(0, FONT_H)`。 + - `board_float_layer.gd:83`:`_label_rect` 的 y 用 `* _cell`,未用步距 → 每行漂移 2px;改 `* (_cell + 2)`(与 `_draw` 的线、`board_label_shadow_layer` 的圆同式)。 + - `board_float_layer.gd:8`:`FONT_H=21` 当作字号传入,实际墨高 17;按卡片第八轮口径改用使墨高=21 的渲染字号(现行字体 27),`FONT_H` 保留 21 作墨高/矩形高。 + - `board_float_layer.gd:73-74`:深色线画在 `gx−2..gx−1`、浅色线画在 `gx..gx+1`,中间空 1px;改为深色 `gx−1`、浅色 `gx`,形成连续 2px。 +5. 三关实机截图目检:数字与线相接、线底接圆、无长线悬空;顶行数字不裁切;小人遮阴影圆、不遮数字与线。 +6. 独立验收审计(`test-conventions §8.7`)→ 合回(`git merge --no-ff`,pre-merge 钩子跑前置检查)→ 远端 CI 按需现查。 + +--- + +## 5. 文件清单(本次涉及) + +| 文件 | 状态 | +|---|---| +| `board-material-fix/reports/需求卡片-棋盘瓦片与立体表现重做批-2026-11-07.md` | 已改,未提交 | +| `board-material-fix/design/art/art-bible.md` | 已改(v3.52),未提交 | +| `board-material-fix/design/art/asset-path-map.md` | 已改,未提交 | +| `board-material-fix/design/art/art-assets-checklist.md` | 已改,未提交 | +| `board-material-fix/design/ux/battle.md` | 已改(版本引用),未提交 | +| `board-material-fix/design/gdd/08-Alpha版本标准.md` | 已改(版本引用),未提交 | +| `board-material-fix/待办清单.md` | 已改(版本引用),未提交 | +| `board-material-fix/game/tests/golden/board_material_L1*.png`(5 张) | 新增,未提交 | +| `artwork/2026-11-09-棋盘方案C回收/`(13 PNG+5 HTML) | 已找回,gitignored | +| `artwork/2026-11-09-棋盘材质候选/`(6 材质+预览+生成器) | 已生成,gitignored | +| `reports/2026-11-09-棋盘材质预览.html` | 本件配套,未提交 | +| `reports/2026-11-09-交接-棋盘材质与浮空数字修正.md` | 本件,未提交 | diff --git a/reports/2026-11-09-棋盘材质预览.html b/reports/2026-11-09-棋盘材质预览.html new file mode 100644 index 00000000..c97dec20 --- /dev/null +++ b/reports/2026-11-09-棋盘材质预览.html @@ -0,0 +1,18 @@ +
+

棋盘材质效果预览(浮空数字已按条款重画)

+

岩顶/地面=无缝贴图;崖面/临空边缘/投影/层序=程序化结构。浮空数字:墨高 21、字底距格顶 15、2px 深墨描边+1px 浮空投影;引导线 2px 双色自格顶−12 连续落到 +4;阴影圆 10×6、圆心格顶+7,位于小人之下。

+
地牢 L1
幽暗 L2
深幽暗 L3
+

浮空数字细部(4×)

数字墨底与引导线相接,线底接住阴影圆上缘
另一格的线—圆落点(同一规则)
+

无缝材质(128×128,≤32 色)

岩顶 dungeon
岩顶 underdark
岩顶 deep_underdark
地面 dungeon
地面 underdark
地面 deep_underdark
+
\ No newline at end of file diff --git a/待办清单.md b/待办清单.md index 9e99c0b2..788be4e1 100644 --- a/待办清单.md +++ b/待办清单.md @@ -21,13 +21,6 @@ **改动面**:文档+游戏代码 **状态**:文档设计已闭合+已写卡 -#### 未决问题迁移——可选类退出格子池后 buff 频率被动上升的难度对冲杠杆(2026-11-07 登记,来源=批次移交) - -**实况**:原 architecture.md「未决问题」QQ-06(git 历史可考,架构收窄批迁出)。buff 频率 44%→59% 的对冲杠杆(敌 HP/权重/幅度三选)。 -**缺口**:还差 C3 调参裁决+切片数据复测。 -**改动面**:文档+游戏代码 -**状态**:待文档设计 - #### 可推理率承诺与生成-验证-重试管线退役(2026-11-09 登记,来源=会话提及) **实况**:设计定稿已落文——design/gdd/systems/排雷循环/棋盘生成.md v1.4(生成不做质量承诺,出板检查只留出生区无雷与开局不全开两条,白给板同流重摇;求解器只留离线 MC 测量)、design/gdd/systems/排雷循环/行动经济.md v1.8(概率锚句删除)、design/gdd/systems/跨局循环/秘宝.md v1.4(ι 公式删除留定性条款)、design/gdd/systems/冒险循环/难度曲线与Boss.md v1.7+design/gdd/03-内容规模.md+design/gdd/systems/表现与支撑/数据配置.md v1.5+体验验证清单.md ⑬ 同步改写。原 QQ-11(F2c 常数定稿)随成本闸退役注销。代码侧待退役=求解器/质量重试/成本闸/ min_safe 与 R₀ 上限闸,求解器迁 sim;game/tests/README.md 能力清单归写卡段同步。需求卡片:reports/需求卡片-可推理率退役批-2026-11-09.md(复核记录节在卡,对抗复核一轮 8 发现全处置:5 补写+3 自判)。原 QQ-13(EC5 运行期熔断)随降级出口退役由用户令注销。