# Project Rules — TM1100 LCD Mockup (TVU Pack)

**日期**：2026-06-04　**状态**：生效　**适用**：TVU Pack 的 TM1100 LCD 触摸屏（480×320）mockup

> 这些是 **TVU Pack / LCD 项目级**约定，**不回流** tvu-design-system 真源（LCD 是这些约定的特定载体）。通用 mockup 规则（M0–M47、M-COLOR、M-INTEGRITY、M23 双语、Section 包裹、library-first 等）仍以 tvu-design-system `mockup-conventions.md` / `design-process.md` 为准——本文件只记 LCD 特有的、真源未覆盖的 3 条。来源：V4-2318 复盘（`docs/retrospects/2026-06-04-v4-2318-mockup-retrospect-internal-share.md` §6B）。

---

## L1 · LCD 双背景色结构（硬规则）

LCD 所有页面 + 弹窗**必须**双背景色：
- **导航条(header) + 底部按钮区** = chrome 色 `#252525`（rgb 0.145）
- **页面内容区** = 内容色 `#313131`（rgb 0.192）
- 内容左右只对**内容元素**内缩 12px；**背景色块满宽**（不内缩）。

**适用弹窗**：确认框也算页面内容 → header(chrome) + content-panel(内容色, 满宽) + 底部按钮区(chrome)。
**参考帧**：原生确认 6443:16784、Settings 5802:1074。
**Why**：用户两次强调为 LCD "非常重要、每个任务都遵循"的规则；首版误用 web 式做法被纠正。

## L2 · LCD 高影响操作 = 原生确认（M41 的 LCD 例外）

tvu-design-system **M41** 规定危险操作 confirm = web「全屏 scrim(≤0.5) + 居中单 dialog + TVU Notification 组件」。**LCD 不适用 M41 的 scrim 形态**：
- LCD 原生确认 = **整屏接管页**：绿面包屑 header + 内容区(左对齐标题+灰正文) + **右下/底部 `Cancel / [action]` 按钮**，**无 scrim、无 blur、无居中浮层卡片**。
- 按钮用本地 `LCD Button` 组件 / `update` 实例（深底+绿边框），不自画。
- **N 个变体**（如 6 条模式互切确认）：交付用 **1 锁样帧 + 一张文案表**（from→to / 标题 / 正文 / Action / Impact），dev 做**一个参数化弹窗组件**按表代入，不逐个画 Frame。
**参考**：Confirm 帧 8622:232、文案表 8664:233。

## L3 · Disable 内部模块时的远程访问兜底（domain）

当内部 WiFi/Hotspot 模块设为 **Disable**（或任何使本地热点/配置入口失效的态）：
- 本地二维码/扫码入口**置灰**（不可达），**不能只是消失**——要让用户看出"本地不可用"。
- **必须**给出远程兜底提示：经 **Command Center** 管理设备（注：本项目已去掉 WebRemote，统一只说 Command Center）。
**Why**：否则用户禁用后无法判断还能否管理设备。

---

## 附：合规自查（非新规则，属 tvu-design-system 既有规则的执行）

V4-2318 多数返工源于**未严格自查既有规则**，非规则缺失。建/改 mockup 后按真源 acceptance 自查：
- **Section**：建/改交付物后，确认所有件（Jira/PRD/mockup/UX卡/连线/状态标签）在**一个 Section** 内；section 不自动 hug → 用 `resizeWithoutConstraints` 设尺寸后 **probe 验四周留白 + 无 child 在外**（mockup-conventions §811 + design-process ①）。**编辑早于某规则的旧交付物时，顺带升级到现行规范。**
- **双语 ZH**：ZH = EN 段**相同颜色** + opacity 0.45，**不要硬编码颜色**（mockup-conventions line 500/516）。
- **caption/label 避让**：label+UI 帧打成 **GROUP**（无 canvas 名标签）或留足间距，避免放大时撞 Figma frame 名（mockup-conventions line 418）。
- **库优先**：按钮等用 `LCD Button` variant，不自画（M30/M32）。
