---
id: v4-2259-capture-output-matrix
title: "V4-2259：V3+V4 双设备 Aspect Ratio + 拍摄×输出（旋转/黑边）输出矩阵"
doc_type: handoff
status: QA
target_release: "8.4"
last_updated: 2026-06-23
sources:
  - { type: jira, ref: "V4-2259", url: "https://tvunetworks.atlassian.net/browse/V4-2259" }
  - { type: jira, ref: "FB-8926", url: "https://tvunetworks.atlassian.net/browse/FB-8926" }
  - { type: jira, ref: "FB-9619", url: "https://tvunetworks.atlassian.net/browse/FB-9619" }
figma:
  file: 0054ib0nLmt27bC3QlGDl7
  nodes:
    - { id: "8790:2", label: "V4-2259 Video Orientation page (V4 / Pocket)", url: "https://www.figma.com/design/0054ib0nLmt27bC3QlGDl7/Touch-Screen-v7.7---8.0--20240220?node-id=8790-2" }
    - { id: "8805:2", label: "PRD (canonical 6-section)", url: "https://www.figma.com/design/0054ib0nLmt27bC3QlGDl7/Touch-Screen-v7.7---8.0--20240220?node-id=8805-2" }
---

<!-- mockup-handoff -->
# Handoff — V4-2259：V3+V4 双设备 Aspect Ratio + 拍摄×输出（旋转/黑边）输出矩阵

> **Jira**: V4-2259 — Portrait mode support while ensuring full resolution · https://tvunetworks.atlassian.net/browse/V4-2259
> **Figma**: `0054ib0nLmt27bC3QlGDl7`（LCD Touch Screen v7.7/8.0）· page `8790:2`
> **日期**: 2026-06-23 · consumer 无 git repo，落 `TVU Pack/docs/`
> **状态**: 经 owner 两轮纠偏 + 一次 design-walkthrough 修复后定稿；Gate B + Jira/Slack 交付待 owner。

---

## 1. 纠正后的特性模型（唯一真源 — 经 owner 多轮确认）

> **⚠ SCOPE 修正（2026-06-24，supersede 下文所有"V3+V4 双设备"）**：特性**仅 V4（TM1100 · 软件 8.4，父 Epic V4-1676）+ Pocket 设备**——竖屏拍摄 = 用 Pocket 拍摄 = 只 V4 支持；**V3（TM1000）无 Pocket、根本没有竖屏拍摄，特性不适用**。已删 Section ② 的 V3 页 `9126:1394` + V3 标签，Section ② 改名 `… (global) · V4 / Pocket`，PRD/UX 卡/矩阵卡**所有 V3 文字已彻底移除**（含"V3 无 Pocket"解释句，owner 要求零 V3）；版本号 V8.0+ 全部改为**软件 8.4**（父 Epic V4-1676 RPS One Software 8.4）。

Aspect Ratio(16:9 / 9:16) 控件在 **Video Encode 设置页**、**全局**（非按路）、**仅 V4（TM1100 · 软件 8.4，父 Epic V4-1676）+ Pocket**；**经页面 OK 按钮应用，无独立确认弹窗**（OK 即确认）。

**物理拍摄方向 × 输出比例 → 结果 = Home 预览 = Receiver 接收（WYSIWYG）**，共 **3 个有效情形**：
| 拍摄 | 输出 | 结果画面 |
|---|---|---|
| **横屏拍摄** | **仅 16:9** | 自然横画面正立（**不支持切竖屏**）|
| **竖屏拍摄** | 16:9 横屏展示 | 画面**顺时针转 90° 填满**、**全分辨率、无黑边**（侧躺；接收端/播放器转回正立）|
| **竖屏拍摄** | 9:16 竖屏展示 | 正立、**两边留黑边**（pillarbox）|

> **关键纠偏（避免重蹈）**：① 效果图 = **输出画帧**（不是 LCD 屏换内容比例）；② 竖屏展示(9:16) **有黑边**（早期"去黑边"表述只对 16:9 旋转填满成立）；③ 横拍**不**支持 9:16（早期"4 组合"错，实为 3 情形）；④ 切换**无确认弹窗**（设置页 OK 即确认，早期"confirm on switch"错）。

## 2. 最终节点状态（page 8790:2）

| 区 | 物 | 节点 | 状态 |
|---|---|---|---|
| **Section ②** `8883:186`（`… Aspect Ratio (global) · V3 + V4`）| V4 Encode 页 | `8878:2` | 既有，Aspect Ratio 行 8878:88（16:9/9:16）|
| | **V3 Encode 页** | `9126:1394`（**owner 自建**，V4 风格 chrome、9:16 选中）| canonical；我上轮的 9102:2 已被 owner 移除（无重复）|
| | Encoding-placement UX 卡 | `8882:2` | 已改：OK 应用无弹窗 / 横拍仅16:9 / 竖拍16:9无黑边 vs 9:16黑边 / 双设备 |
| **Section ③** `9100:228`（`… Output Effects — Portrait capture on the Home preview (= Receiver)`，1160×2090）| **4 个真实 Home 视图**演示效果（owner 要求用 1路/4路 Home 看，非抽象照片）| 竖拍→16:9转90°：1路 `9140:1014` + 4路 `9140:1175`（tile 内竖图转90°满铺、无黑边）· 竖拍→9:16黑边：1路 `9145:235` + 4路 `9145:367`（tile 内竖图正立居中 + 两边黑边 pillarbox）| 抽象照片帧 9113:138/140/141 已删替换 |
| | 标签/注 | 标题 9113:142 + WYSIWYG+baseline 注 9134:160 + 列头 9144:227/228 + 行标签 9144:229 / 9147:295 | **横拍→16:9 用现有 baseline（8833:2 4路 / 4594:764 1路）不重画**，注里参照 Section ①；标签去 → glyph |
| | 输出矩阵 UX 卡（M23 六段）| `9120:138` | 已改：3 情形 / 去黑边分两情形 / 去 confirm / Home=Receiver |
| **Section ①** `8790:3`（`Shared — overview & decision`）| **PRD** | `8805:2`（6 段节点 9130:159-164）| canonical 6 段：需求来源/背景/现状/功能需求(R1-R3)/验收/优先级排期。**需求来源列全 4 Jira**：FB-8926(客户FR主来源)+FB-9619(关联缺陷:朝向没传到RX,二度关联经FB-8926)+V4-2259(实现任务)+V4-1676(父Epic)，每个 issue key 带 `setRangeHyperlink` 真链+cyan accent(M23.8)。功能需求/验收/需求来源走 **A-逐行**(每条 EN 紧跟 ZH,非分块)，h34/EN30/ZH22 + itemSpacing28，hug 1567 压回 Section ① |
| | home 16:9 baseline + 卡 | `8833:2` / `8834:2` | 在 Section ① |
| | Jira 组件 | `8792:10` | 既有 |
| | ~~确认弹窗 8803:2 + UX 卡 8806:10~~ | — | **已删**（OK 按钮即确认，弹窗冗余；可经 version history 恢复）|

## 3. Design-walkthrough 冲突清单（owner 指出"走查没发现"后补跑 F1，已全修）

| # | 冲突 | 处置 |
|---|---|---|
| C1 | PRD 非 canonical 6 段（旧 3 段）+ Jira 需求未列全 | 重建 8805:2 为 6 段 ✅ |
| C2 | 全文"去黑边/no black bars"与新规则矛盾（9:16 有黑边）| PRD + 8882:2 + 9120:138 改为分两情形 ✅ |
| C3 | "4 组合含横拍→9:16"错（横拍仅16:9）| 改为 3 情形（PRD/卡/矩阵）✅ |
| C4 | 确认弹窗冗余（OK 即确认）| 删 8803:2 + 8806:10 + 全文去 confirm/idle/locked ✅ |
| C5 | 矩阵未改完（9:16 无黑边/孤儿caption/列头/布局）| reshape 黑边 + 删孤儿 9114:143 + 删旧列头 + 重排 ✅ |
| C6 | Home=Receiver(WYSIWYG) 未表达 | PRD R3 + 矩阵注 + 卡 Data Contract 加入 ✅ |
| C7 | V3/V4 sibling | owner 的 V3 已与 V4 对齐；无重复 ✅ |

## 4. Rule checklist（G4 conformance `--node 8790:2 --non-blocking`，定稿态）

```
本轮负责规则全 PASS：
  ✅ integrity (I1-I4) / ✅ overlap 0 / ✅ typography-icon (GLYPH 0 / FONT 0 无 Inter，已修 caption → glyph)
  ✅ bilingual-spacing (M23.14, 0 violations) / ✅ connector
FINDINGS = file-wide 存量 / §M49.1 owner-deferred（命中存量 8805 旧/8833 等节点为证），逐节点修破坏 sibling 一致 → 不修（见 memory lcd-file-conformance-deferred）：
  ❌ colors C1（LCD-local 图标硬编码 fill）/ ❌ library-origin（LCD 自有设备组件集，非 web DS 库）/ ❌ binding-fidelity D16（裸 fontSize/间距 off-scale）
  ⚠️ library-binding could not run（增量场景非阻塞）
```

## 5. Open / Next

- **Gate B**：待 owner review 定稿（V3/V4 设置页 + 3 情形输出矩阵 + 6 段 PRD + UX 卡）。
- **Jira/Slack 交付（6-JIRA ④，待 owner 批准草稿 + 给 accountId 再发）**：@PM `UX design (mockup) updated — please review` + Figma Section smart link（②设置页 + ③输出矩阵）+ FYI dev lead；ADF + accountId 真 mention。
- **过程教训**：本轮 owner 指出"PRD 结构 + confirm 冲突 设计走查没发现"——根因是这轮没在收尾前跑 design-walkthrough（F1）。**纪律：Jira 关联 mockup 收尾前必跑 F1，对照 canonical 6 段 PRD 结构 + 交叉核对文案 vs 真实产品规则。**（属既有规则未触发，非新规则。）
- 存量债（colors/library-origin/binding-fidelity）非本轮 scope，治理须单立任务。

---

## 6. 2026-06-24 增量补充（定稿后）

owner 要求在 UX 交付说明补一条**配置持久化行为**：画面比例改动 **实时生效 + 自动保存，设备重启后仍保留、不会丢失**。

- **落点**：矩阵卡 `9120:138` → **Interaction（交互细节）** section（节点 `9121:142`），紧接「OK 按钮应用」bullet 后追加双语 bullet（EN Roboto Regular 13 / ZH Noto Sans SC Regular 11）。
- **语义纠正**：初版误读为「需手动保存才能保留」，owner 澄清后改为「自动保存、重启不丢失」。
- **未下沉 PRD / 未复制到落点卡 8882**（避免重复维护，单点落矩阵卡 Interaction = 运行时行为 canonical home）。
- **in-file 机检**（REST token 不可用，用 use_figma 在文件内机检替代）：`I3 overflow=0`（卡 VERTICAL auto-layout 1116→1155 自适应）/ `Inter=0` / `glyph=0` / `bilingual=EN+ZH`。本轮负责规则全绿；file-wide colors/library-origin/binding-fidelity 存量债 owner-deferred（§M49.1）未触碰。
