0
Fork 0
mirror of https://github.com/Silent1566/webhtv.git synced 2026-10-18 07:09:16 +00:00

fix(ui): 输入框圆角按 §7.1 修正为 8dp;另两项待决策把规范写精确

落实审计提出的三项待决策。原则:**规范自由的地方采用规范;规范没考虑到已记录技术约束的
地方,把规范写精确**——而不是让规范去描述现状。

① 内容卡圆角 8dp vs 规范 12dp —— 保留 8dp,把理由写进规范。
   核对 §7.1 与既有契约后发现,网格内容卡的 8dp 不是「随手的现状」,而是与焦点环几何
   耦合的取舍:环画在卡片外边界上,外边界半径 = 卡片声明半径 + 环宽/2,声明 8dp 时外边界
   为 8dp + w/2,沿角落对角线卡片弧反而更靠外,露出 1-2px 月牙。改半径必须同步重算环几何
   并重验月牙,且 TvFocusRingContractTest 已把 8dp 固化为契约。
   因此 §7.1 新增补充段:网格内容卡 = shapeSmall 8dp(明确豁免上表 12dp),大卡片/分组
   容器 = shapeMedium 12dp,并给出四步修改流程,防止下一个人「顺手」改成 12dp 而撞上月牙。
   而**输入框的 4dp 没有这个耦合**——它属 §7.1 里「标签、微小 chip」的 shapeExtraSmall 档,
   是纯粹偏离,因此按规范改为 shapeSmall 8dp(selector_dialog_input.xml 两处同步,
   否则聚焦时圆角会跳一下)。

② 播放器错误层要不要错误色 —— 不加,写成明文例外。
   §9.9 的「错误色」在应用表面上成立且已落地(webhtvColorOnWallpaperError + 实心深底
   shape_error_value,实测 8.84:1)。但播放器错误层画在 shape_widget(50% 黑)之上,
   下面叠的是**任意视频画面**——底材不可控,任何带色相的前景色都给不出对比度保证;
   要满足「错误色」就得给它不透明实心底,那会改变播放页观感。
   因此 §9.9 新增例外段,并说明 OSD 白字与 PlayerOsdController 的 0xFFFFFFFF 同属此类、
   不计为偏离——否则下一个人会去「补」错误色并降低对比度。

③ 手机分类/筛选面板用播放控制玻璃 —— 保留,把规范规则收窄到真实判据。
   §7.2 原文把玻璃限定在「播放器、图片叠加或明确的沉浸场景」,审计曾把 dialog_type/
   dialog_filter 记为越界。复核后判定不应按越界处理,因为原判据过窄:玻璃真正的风险不是
   「出现在哪个页面」,而是**透明度成为可读性的唯一保障**——§5.3 已明文如此要求;
   而分类/筛选面板是内容之上的浮层,其下是应用自身可控的表面,并且确实带了 scrim。
   因此 §7.2 把判据改为:一个面板可以用玻璃,当且仅当 ①其底材是应用可控的表面,
   或 ②它在其上叠加了足够不透明的 scrim。

新增 testMobile 的 DialogInputCornerContractTest 5 项:输入框两处都是 8dp 且不再有 4dp;
底材保持语义、无写死色;§7.1/§7.2/§9.9 的三段理由**必须留在规范里**(防止被后续
「顺手清理」删掉)。

验证:testMobile 定向测试 BUILD SUCCESSFUL(新增 5 项全绿);因 selector_dialog_input.xml
在 main 源集两端共享,额外跑了电视端 theme + Tv* 回归 BUILD SUCCESSFUL;真机
192.168.50.3:5561(mobile flavor,竖屏)在「广告拦截统计 → 拦截…」Tab 确认输入框圆角为 8dp
(改动前 4dp),无崩溃。设备已恢复电视端 flavor。

未验证:聚焦态的实际渲染(截到的是常态,由同一文件同一数值保证);§7.2 新判据未逐面板复核。
详见 docs/UI-SPEC-DECISIONS-20261013.md §4.4。

环境限制:本会话无可用 bash,check_ui_tokens.sh 与 task_guard.sh 无法执行,
按同等意图手工暂存/提交/打 tag。
This commit is contained in:
Silent1566 2026-10-13 14:31:20 +08:00
commit 6f39d5a618
4 changed files with 242 additions and 2 deletions