# FB-10040 — Disable Return Video on Boot Preference

Date: 2026-06-15
Author: Nancy
Status: To be confirmed
Workspace: /Users/nancy/Documents/AICoding/VS_Code/RPS

## Source Inputs

- Jira: FB-10040 — Add "Disable Return Video on Boot" preference checkbox to RPS Link GUI
- Existing Figma: TVU RPS 20220302, node 3893:25526, frame "Disable All Cellular/UnChecked"
- Existing module: left sidebar bottom Return Video module, node 3893:25778
- Design System references: TVU CheckBox, TVU Tooltip, dark theme tokens

## Rule Checklist

M48 done: locked spec and active rules identified.
M49 done: baseline, delta, semantic ownership, UX, simplicity, and content contract defined.
M0 done: element-to-component mapping below.
M21 done: sibling visual contract taken from existing Return Video module.
M32 done: use DS CheckBox and Tooltip instead of self-drawing new controls.
M43 done: label fits within module width; no table/cell truncation pattern is introduced.
M23/M23.10/M23.11 considered: delivery text is product-facing, no pseudocode or tangential persona content.
Delivery cleanup: local output contains only design record, prompt, and export assets.

## Task Classification

This is US-3, existing product increment: add one module-level preference to an existing RPS Link GUI module. The confirmed/stable source frame should not be overwritten. The proposed design belongs under To be confirmed.

## Sibling Visual Contract

- Module width: 500 px.
- Existing Return Video title area: 60 px high, dark title strip #0c0c0c, module background #1d1c1c.
- Existing title color: green #33ab4f, Helvetica Neue Bold 18 px.
- Existing channel rows: 28 px row height, 44 px vertical row offset, 16 px checkbox at row right.
- Existing input/control colors: #444 select fill, #666 input border, #999 OFFLINE pill, #dbdbdb secondary text.
- Product surface is dark-mode only for this operator/control surface.

## Element-to-Component Mapping

| Element | Source | Variant / token | Decision |
|---|---|---|---|
| Preference checkbox | TVU Design System check box | dark theme=on, status=off/on, enable=yes, 16 px | Use DS checkbox semantics for new module preference. |
| Help affordance | TVU Tooltip + help icon pattern | Tooltip dark theme=on, pointing=Center down | Use compact question/help icon next to label; show tooltip above/below depending available space. |
| Return Video selector | Existing RPS module | DEC 1 select remains unchanged | No change. |
| Channel 1/2 controls | Existing RPS module | Rows remain unchanged | Move down only to make room; keep per-channel checkboxes in their current row positions. |

## Proposed Layout

Place the new preference row inside Return Video, directly below the title strip and above channel 1/2 rows:

Return Video                         [DEC 1]
[ ] Disable Return Video on Boot  [?]
1  OFFLINE  [8000] kbps                         [ ]
2  OFFLINE  [8000] kbps                         [ ]

Recommended module height: 220 px, up from the current 180 px. Keep width at 500 px. Keep title strip at 60 px. Add preference row at y=78, then place channel rows at y=118 and y=162. This preserves the existing 28 px row height and avoids squeezing controls.

## States

1. Unchecked default: checkbox status=off. Current behavior remains: if Return Video Feed was ON before power cycle, it may restore ON after boot.
2. Checked: checkbox status=on. Return Video Feed must start OFF after reboot/power cycle, even if it was active at shutdown.
3. Tooltip expanded: hover/focus on help icon shows the exact help text:
   "When checked, Return Video Feed will always start as off after a power cycle or reboot, even if it was active when powered down."

## Key Design Decisions

1. Module-level placement, not row-level placement. The setting controls reboot behavior for the Return Video module as a whole, so it belongs above both channel rows rather than beside channel 1 or 2.
2. Add vertical space instead of compressing rows. The original two channel rows are already compact; increasing the module height keeps RPS readability and avoids disturbing per-channel controls.
3. Preference styling is quiet. The label uses compact secondary/body styling and the checkbox remains 16 px, so the setting is visible but does not compete with the main Return Video controls.
4. Tooltip carries the long behavior explanation. The visible label stays short; the detailed reboot semantics live in hover/focus help text.

## Acceptance Notes for PM and Engineering

- Default unchecked must preserve current boot restore behavior.
- Checked must force Return Video Feed OFF after any reboot or power cycle.
- The preference applies to the module, not a single channel.
- Persist the preference independently of transient channel ON/OFF state.
- Tooltip must be accessible by hover and keyboard focus if implemented in code.

## Export Assets

- SVG proposal: ../exports/fb-10040-rps-return-video-proposal.svg
- PNG proposal: ../exports/fb-10040-rps-return-video-proposal.png
- HTML preview: ../exports/fb-10040-rps-return-video-proposal.html

## Figma Deliverable (To be confirmed)

File: TVU RPS 20220302 (fileKey `pUE6UakxCpU6Dw9vUCtBBe`)
Page: `< FB-10040 > Disable Return Video on Boot 20260615` (node 6345:1794)
Section: FB-10040 · To be confirmed — Disable Return Video on Boot (node 6348:2)

The confirmed/stable frame (3893:25526) was not modified. The proposal clones the Return Video module (3893:25778) into the new page.

- State 1 Unchecked (default): node 6348:3 — https://www.figma.com/design/pUE6UakxCpU6Dw9vUCtBBe/TVU-RPS-20220302?node-id=6348-3
- State 2 Checked: node 6348:29 — https://www.figma.com/design/pUE6UakxCpU6Dw9vUCtBBe/TVU-RPS-20220302?node-id=6348-29
- State 3 Checked + tooltip: node 6348:55 — https://www.figma.com/design/pUE6UakxCpU6Dw9vUCtBBe/TVU-RPS-20220302?node-id=6348-55
- UX Delivery Note card: node 6365:2

Components reused (all TVU library instances): `icon/check box` (status none=unchecked, check all=checked), `icon/Message/Help 1`, `Tooltips` (dark theme=on, pointing=Center up). New preference label uses Inter Regular 14 because the product baseline font Helvetica Neue is not loadable in this Figma environment; existing product text renders via fallback. Module height 180 to 221 (auto-layout itemSpacing 24 + a 16px preference row).
