docs(plan): Task4 坐标实测订正——商店面板放不下,改用独立子面板

计划里 y=450 起的坐标基于「现有控件止于 y=440」的假设,实测为错:
面板覆盖 y=200–540,现有控件已排到 y≈479,_shop_warn 在 y=502,
panel 内仅余约 18px,而标题+4 行需约 161px。

改用方案 B(独立子面板,照既有 _setup_settings_ui 结构):与项目
「主面板 + 按钮开子面板」的既有模式一致,且零坐标风险。方案 A 撑高面板
后离视口底仅 28px,后续新增控件会再次撞墙。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-03 11:38:46 +08:00
co-authored by Claude Opus 5
parent f9486083e3
commit cc57980e63
@@ -552,6 +552,12 @@ Run: 读 `scenes/main/combat_s2.gd` 的 `_setup_shop_ui()`:281 起约 60 行
若发现现有布局没有空间放四行属性(每行约 34px,共约 140px),**停下来报告**,不要挤压现有控件或自行改布局尺寸。
> 📌 **实测订正(Task 4 执行时)**:**确实放不下**Step 2 里那组 `y=450` 起的坐标是错的。实测:商店面板 `position=(200,200) size=(600,340)`(覆盖 y=200540),现有控件已排到 y≈479`_inv_btn`/`_lang_btn`/设置按钮那一行 y=445479),`_shop_warn` 在 y=502(底部约 522)—— panel 内仅余约 18px。视口 1152×648,即便越出 panel 也不足以容纳「标题 + 4 行 × 34px ≈ 161px」。
>
> **决定:改用独立子面板**(方案 B)—— 商店面板加一个「📊 属性」按钮,点击打开独立 `CanvasLayer` 子面板,结构照既有的 `_setup_settings_ui()`。理由:① 与项目既有「主面板 + 按钮开子面板」模式一致(背包、设置都是这样),非新发明;② 零坐标风险,不动任何现有控件——方案 A 需把 panel 高度撑到 ~420,而起点 y=200、视口高 648,撑完离底仅 28px,后续任何新增控件会再次撞墙;③ 为四行内容引入滚动容器(方案 C)是过度设计且该面板无先例。
>
> 接受的代价:子面板比内联少一层可见性,而经济设计本意是让「买属性」与「买法术」争夺注意力。但多一次点击不改变取舍本身(钱是同一笔),可发现性留给将来 UI 打磨。
- [ ] **Step 2: 构建属性区**
`_setup_shop_ui()` 末尾(`_inv_btn` 之后)追加。**坐标按 Step 1 读到的实际可用区域调整**,下面的 y 值是基于「现有控件止于 y=440」的假设: