# LCD surface canonical 规格（TVU Pack 设备端）

> **本文件是取值真源**。做法 / 判据 / 核查项类别在设计系统 [`domain-tvu.md` §M17 · §M17.1`](../../../tvu-design-system/docs/internal/domain-tvu.md)，**不要把本页的数字回流到 DS**（判据 = DS `mockup-conventions.md` §M-DISCIPLINE.SOURCE 三档：做法/判据 → DS，取值/帧 id/像素规格 → 项目 repo）。
>
> **来源**：2026-08-06 CANONICAL-F103 判定表 A1 / A2 / A4 搬迁（owner 2026-08-06 拍板落点）。原文出自 DS `domain-tvu.md` §M17.1 两条 + `mockup-conventions.md` §M23.8。
>
> **⚠️ 表内为 2026-07-29 探针实测值，改前请复测，勿信本表过期值**（DS §M17 通则：开建前先打开该 surface 的 canonical 范式帧实测取值）。

**适用文件**：Touch Screen v7.7/8.0 `0054ib0nLmt27bC3QlGDl7`（TM1100 / TM1000 V4 等 pack 机身屏）。

---

## 1. LCD 设置页 canonical 规格

**canonical 范式帧 = `8878:2`**（同文件）。

| 层 | 规格 |
|---|---|
| 页 / 内容区底色 | 页 `#252525` / content `#313131`（LCD 双背景色：导航 + 底栏一色，内容区另一色）|
| 导航条 | 高 46；返回箭头 24×24 @x16；标题 **路径式** `Settings/<页名>` 20px `#7ed321` |
| 内容容器 | 456 宽、竖向 Auto Layout、gap 0 |
| 行 | 高 **42**，pad `6/0/6/0`，gap 12，counterAxis `CENTER`，底部 1px `#252525` 分隔线 |
| 行内左 label | 16px `#ffffff`（超长 label 降到 12px 双行，见参考帧 Chroma Subsampling 行）|
| 行内右控件容器 | `layoutSizingHorizontal=FILL` + primaryAxis **`MAX`**（右对齐）+ gap 8 |
| 枚举下钻行 | 值 **`#ffffff`** + **下向三角 vector**（复刻 `8878:21`，14×7.908 `#f1f1f1`）—— **不是**右尖括号 `›`、不是圆圈按钮、不是 Unicode 字符 |
| ≤3 短选项行 | `Item/active` / `Item/normal` instance（高 32，宽随内容）|
| 数值行 | `WebUI/Form/Input&Number/Large` instance（138×36）|
| 底栏 | 高 36–50；左 `down` / `up` 各 62×36；右 **`OK` 82×36 + `Home` 84×36** |

**底栏按钮取值**（语义规则见 DS §M17.1）：

- 一律用 file-local component set **`LCD Button`** = `4518:3244`，key `6ddb4464c0b1ea41d867f75a9841c13dc9effc29`，`remote=false`
- 轴：`Type` = Back｜Home｜Primary × `Status` = Normal｜Disabled｜Live｜Stop
- `OK` = `Type=Primary` + **文本覆盖**（该变体默认文案是 `Start`）
- 禁用态 = `Status=Disabled` **真变体**，不用 opacity 凑
- ⚠️ 参考帧 `8878:2` 底栏里的 `Back` 按钮是**旧做法**，勿照抄（现行：返回上一级 = 左上角返回箭头）

## 2. LCD 选项列表 canonical 规格

**canonical 范式帧 = `5314:9520`「RVF from Receiver/ Options」**（同文件）。

| 元素 | 规格（2026-07-29 实测） |
|---|---|
| 面板 | 宽 **240**，fill `#313131`，stroke `#7ed321` **3px INSIDE**，radius 0。**高度按内容行数 × 行高算，不照抄 canonical 的 176** —— canonical 帧实测 176 只因它那份内容刚好 5 行；上限 = 物理边界（做法见 DS §M-INTEGRITY §I7）|
| 普通行 | 240×35，fill `#252525`，文字 16px `#ffffff`，左内边距 26 |
| 当前值行 | 240×**36**，fill `#252525` + 1px `#7ed321` INSIDE 边框，文字**绿色 `#7ed321`**，左侧选中标记 = 矢量三角（复刻 `5314:9566`，20×11.298 `#f1f1f1`，marker 在前、文字让位）|
| 被编辑字段行 | 加 3px `#7ed321` INSIDE 边框 + radius 2（范式 `5314:9552`）|
| 连体绿框 VECTOR | `5314:9562` `Rectangle 4 (Stroke)` —— 手画阶梯形 VECTOR，描边被 outline 成填充；**canonical 面板自身的 stroke 反而是 `visible:false`**（probe 与同步改几何的做法见 DS §M17.1 / §I7）|

**本页实测终态（V4-2333，2026-07-30 落地）**：面板 `240×211`（6 行进首屏；底 `257` < 内容区底 `274` < 底栏 y `279`），第 7 行 `2160p30` 靠 `▼▲` 翻页。口径与授权见 [2026-07-28-v4-2333-test-signal-parameters-design.md](2026-07-28-v4-2333-test-signal-parameters-design.md) **D13**。

## 3. canonical 参考帧登记

| 用途 | 帧 id | 说明 |
|---|---|---|
| LCD 设置页范式 | `8878:2` | §1 全部取值来源；底栏 `Back` 属旧做法 |
| 下向三角 vector | `8878:21` | 14×7.908 `#f1f1f1` |
| 选项列表范式 | `5314:9520` | §2 全部取值来源 |
| 被编辑字段绿框 | `5314:9552` | 3px INSIDE + radius 2 |
| 连体绿框 VECTOR | `5314:9562` | `fills[0].visible=false` + 绿 `strokes` |
| 面板本体 | `5314:9564` | 单 clone 它会漏掉字段绿框 |
| 选中标记矢量三角 | `5314:9566` | 20×11.298 `#f1f1f1` |

## 4. file-local 组件登记

LCD 设备端 UI 走 file-local 组件集，这是 DS §M32 优先级第 2 条的正常落点，**不是违规**（做法见 DS §M17.1 与 §M32 的关系说明）。

| 组件 | 文件 | id / key | 备注 |
|---|---|---|---|
| `LCD Button`（component set）| `0054ib0nLmt27bC3QlGDl7` | `4518:3244` / `6ddb4464c0b1ea41d867f75a9841c13dc9effc29` | 见 §1 底栏 |
| `Item/active` · `Item/normal` | 同上 | remote instance `1236:1012` / `1236:1014` | 高 32，宽随内容；mainComponent 默认字体为 Verdana |
| `TouchScreen/Icon/*` | 同上 | 见 [touch-screen icon worklist](../../../tvu-design-system/docs/internal/bridge-mockup-008-icon-worklist.md) | icon key 真源在 worklist |

### `Jira requirement` 组件 per-file 登记（本项目两个文件）

`Jira requirement` 是 **file-local 组件**（每个产品文件各有一份、不发布）→ `importComponentByKeyAsync` 跨文件会 fail。正确做法 = 在目标文件内 clone 一个现成 instance 再改文案（做法与 hyperlink 要求见 DS `mockup-conventions.md` §M23.8）。

| 产品文件 | fileKey | component key | 可 clone 的现成 instance |
|---|---|---|---|
| Config-T (Local UI) | `rJJjWWs51n2iFOlCIC7aYG` | `a6a34623f80b763077b53d7c31ecce046d498c2d` | （V4-1865 等页内同源 instance）|
| Touch Screen v7.7/8.0 | `0054ib0nLmt27bC3QlGDl7` | `e8604a08a31c8c17cb8aec35d7692e88965485e7`（变体 `Priority=High`；本地 mainComponent `5315:9604`）| `5356:4431`(V4-1542) / `5315:19564`(V4-1535) / `5392:17702`(V4-1543) |

## 5. surface ↔ Figma 文件映射（字体分档的落点）

字体分档**规则本身**（LCD=Verdana / web=Roboto / 注释层恒 Roboto、以及 Verdana 在 AI 编辑环境不可写这条硬约束）留在 DS `mockup-conventions.md` §字体规范，**本页不复制**，只登记本项目两个文件各属哪一档：

| Figma 文件 | fileKey | 属哪一档 |
|---|---|---|
| Touch Screen v7.7/8.0（LCD 设备端）| `0054ib0nLmt27bC3QlGDl7` | 设备端档 → EN `Verdana` |
| Config-T (Local UI)（网页端）| `rJJjWWs51n2iFOlCIC7aYG` | 网页端档 → EN `Roboto` |

两个文件里的注释 / UX 交付卡层都走通用档（`Roboto` + ZH `Noto Sans SC`），**不随产品层变**。

## 6. 提示文案（Message / Toast copy）

LCD 上所有 toast / 提示消息的文案串、组件取用、现存文案登记 → 单独一档 [lcd-message-strings.md](lcd-message-strings.md)。

Figma 孪生 = 同文件常驻页 `LCD Message & Toast Strings 20260831`（page `10166:2` / Section `10167:2`），跨需求常驻，不属任何单个 Jira 需求。新增 toast 时两边同步加行。
