二七王:补齐三处配置缺口(扣底按钮 / 出牌提示按钮槽位 / 三个 View 的布局节点)

这三处都是「精灵或按钮已在清单里定案,但配置层缺东西」,不补的话 C/D/E 阶段
写渲染代码时会发现没有布局节点,极易就地硬编码坐标(违反零裸值红线)。

1) 底栏「扣底」按钮没有精灵(清单 §2.6 列了 5 个功能按钮,只登记了 4 个)
   - 新增 BTN_BURY_CARDS(1056) / BTN_BURY_CARDS_TEXT(1057),群组 205 号段内空闲号,
     资源沿用 BTN_BOTTOM_FUNC,与其余四个按钮同构。
   - FOOTER_FUNC_BUTTONS 的 items 由 4 项扩到 5 项,扣底紧邻底牌(照 §2.6 表序)。
     扣底宽 78 是【估值】:清单未给,取同为两字按钮的「底牌」实测值,已在配置与清单里注明。
   - 扣底看【埋牌底牌】(burycards)、底牌看【底牌】(bottomcards),两批不同的牌,
     JSDoc 里补了防写反的提示(对应验收清单第 13 条)。

2) 出牌阶段「提示」按钮有精灵、无布局槽位
   - PLAY_OPERATION_BAR.items 补上 PLAY_BTN_TIP,顺序照清单 §1.7 行文:倒计时 / 出牌 / 提示。
   - 宽 180 是【估值】:清单 §6.8 自身漏了该项;与埋牌条的提示按钮同资源 BTN_TIP
     (§3.3 实测 180×63),埋牌条 items 首项亦取 180,故沿用。
   - 顺带记下一处待裁定项:本条 itemHeight 为 55(对齐 BTN_PLAY 157×55),
     而 BTN_TIP 原生高 63,高度差待设计稿定。

3) AccountView / HistoryView / MingPaiView 一个布局节点都没有
   - AccountView(§6.9a 新增):外壳 6 个节点 + 玩家栏「容器 ACC_ROW_CONTAINER +
     行节点 ACC_ROW(itemHeight 即行高,行数由 ctx.count 给出)+ 行内模板贴附到行矩形」
     + 面板外 4 按钮,共 14 个节点。行内节点求出的是相对容器的坐标,可直接喂
     SpriteCopyUtils.create(与 §5.6a 冲关牌同一用法)。
   - HistoryView / MingPaiView(§6.9c 新增):遮罩 + 容器 + 每家一排牌(fan) + 座位标签,
     各 4 个节点。照 CHONGGUAN_FAN 同构、锚点沿用 §6.7 冲关牌的三家落点;
     差别只在张数上限——出牌历史摊平后可达 28 张以上,故 maxWidth 放宽到 500、
     spacingMin 收到 -96【估值】。MING_* 只有 LEFT/RIGHT 两个 bySeat 变体(明牌不看自己)。
   - 坐标来源:大局结算.png / 冲关牌型显示.png 目视实测,w/h 取资源尺寸;
     配置与清单里均已注明「目视实测估值,待设计稿复核」。
   - 运行时才确定的字段(动态文字宽高、随行浮动的 anchorY、数字精灵宽)一律
     runtime 显式声明。

钉死断言按实际重新数并更新:精灵总数 378 → 380,布局节点总数 61 → 83。
另把 ACC_TPL_SCORE_NUM 加进 NUM_STYLE 同源校验表(与 RESULT_SCORE_NUM 同一套资源)。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-27 08:40:48 +08:00
co-authored by Claude Opus 5
parent f982460c9c
commit 8f36b61620
9 changed files with 311 additions and 44 deletions
@@ -289,13 +289,13 @@ EQW_Sprites.ChooseMainView = {
*
* 出牌操作条(群组 223,EQW_Layout.PLAY_OPERATION_BAR)
* line/horizontal, anchor center, anchorX=640 anchorY=345, itemHeight=55, spacing=35
* items:CD_SELF 75 / PLAY_BTN_SUBMIT 157
* items:CD_SELF 75 / PLAY_BTN_SUBMIT 157 / PLAY_BTN_TIP 180【估值】
*
* 20 ┌──────────────┐ y=345
* ↑ │ 出 牌 │
* CD_SELF └──────────────┘ y=400
* ↑ PLAY_BTN_SUBMIT(1710)+_TEXT(1711)
* 帧1=可出 / 帧2=灰(选中牌数为 0 时)
* 20 ┌──────────────┐ ┌────────────────┐ y=345
* ↑ │ 出 牌 │ │ 提示 │
* CD_SELF └──────────────┘ └────────────────┘ y=400
* ↑ PLAY_BTN_SUBMIT(1710)+_TEXT(1711) ↑ PLAY_BTN_TIP(1712)
* 帧1=可出 / 帧2=灰(选中牌数为 0 时) +_TEXT(1713)
*
* ┌── 手牌【单排】(Layer 102)──┐ y=455 起
*
@@ -307,10 +307,11 @@ EQW_Sprites.ChooseMainView = {
* 预校验与提示,结果不回传。
* - 【自动选中】服务端会在下发包里带「应当选中的牌」(mustcard, S-2),前端收到后自动把这些
* 牌选中上浮,玩家确认后点「出牌」即可——方向是服务端→前端的建议,不违反红线。
* - 【缺口】出牌阶段的「提示」按钮 PLAY_BTN_TIP(1712)/PLAY_BTN_TIP_TEXT(1713) 已登记精灵
* (清单 §1.7 明确「出牌阶段必须有」),但参考图 出牌.png 里未画出,
* EQW_Layout.PLAY_OPERATION_BAR 的 items 也只排了倒计时与出牌两项——
* 该按钮的位置【待设计稿】,补稿后在 items 里加一项即可,本文件不预设坐标。
* - 【2026-08-27 补齐】出牌阶段的「提示」按钮 PLAY_BTN_TIP(1712)/PLAY_BTN_TIP_TEXT(1713)
* (清单 §1.7 明确「出牌阶段必须有」)此前只登记了精灵、没有布局槽位——
* EQW_Layout.PLAY_OPERATION_BAR 的 items 只排了倒计时与出牌两项(清单 §6.8 自身也漏了它)。
* 现已按 §1.7 的行文顺序补为第 3 项,宽度取 BTN_TIP 资源原生宽 180【估值,待设计稿复核】:
* 参考图 出牌.png 里未画出该按钮,位置仍属目视推定。
*
* 资源说明:
* - 提示按钮: EQW_Images.BTN_TIP (535), 1 帧, 180×63, 蓝色渐变(埋牌/出牌两条共用同一资源)