二七王:修复出牌操作条/亮牌历史布局越界,补主牌统计条改名遗漏
- I1:Layers.js 群组 206 改名遗漏一处注释(亮牌信息条 → 主牌统计条),全仓复查确认无第二处 - I2:出牌操作条补「提示」项后 anchor:center 导致已有两项挤偏,改用 anchor:left 并反推 anchorX=446,令「出牌」按钮回到参考图实测 x≈556(求解器验证:446/556/748) - I3:HIST_FAN/MING_FAN 的 maxWidth 反推算错(旧注释「488」有误,实际总宽恒等于 maxWidth=500),导致 RIGHT 座位整排超出画布 5px;收窄为 490 使三座位求解结果落在 0-1280 内,订正注释与清单 §6.9c 对应文字 - M3:同步修正计划文档里遗留的旧名「亮牌信息条/亮牌条」 - M6:test_constants.js 补 items[].key 的三命名空间解析守卫(此前完全无守卫) - M5/M7:订正 ACC_ROW_TEXT_GRID 与扣底按钮宽度的估值依据说明 - M1/M2:清单 §6.9 子节重新排序为 6.9a→6.9b→6.9c 并统一标题层级,修正脚注星号误渲染 client/tests/run.js 与 server/games/erqiwang/test/run.js 均全绿,精灵总数(380)/ 布局节点数(83) 两个钉死断言未变。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -135,6 +135,21 @@ allNodes.forEach(entry => {
|
||||
if (missing.length) { console.log('无法解析的 attach.target:\n ' + missing.join('\n ')); }
|
||||
t.eq('attach.target 在其 targetKind 命名空间内可解析', missing, []);
|
||||
|
||||
// line + items 节点:每项 key 同样是"指向另一个命名空间对象"的标识(多为精灵键),
|
||||
// 与 attach.target 同一职责,此前完全没有守卫——写错 key 不会报错,只会在渲染时摆错精灵。
|
||||
// items 没有 targetKind 字段,按 attach.target 同样的三命名空间并集解析
|
||||
const missingItemKeys = [];
|
||||
allNodes.forEach(entry => {
|
||||
if (!entry.node.items) { return; }
|
||||
entry.node.items.forEach((it, i) => {
|
||||
if (!resolvable[it.key]) {
|
||||
missingItemKeys.push(entry.path + '.items[' + i + '] -> key 不存在: ' + it.key);
|
||||
}
|
||||
});
|
||||
});
|
||||
if (missingItemKeys.length) { console.log('无法解析的 items[].key:\n ' + missingItemKeys.join('\n ')); }
|
||||
t.eq('items[].key 在三命名空间并集内可解析', missingItemKeys, []);
|
||||
|
||||
// ---- 求解冒烟:每个布局节点都真的能被求解器算出来 ----
|
||||
// 这是配置与求解器之间契约的最强守卫——字段名写错、缺 w/h、kind 不认识、
|
||||
// bySeat 缺座位,全都会在这里当场抛错,而不是等到界面上静默摆歪。
|
||||
|
||||
Reference in New Issue
Block a user