# 镜 1 v7.16 脚本 + 画图建议

> 49s 对比片 · 镜 1（00:00–00:07） · 2026-11-12 · v7.16
> 本轮只出脚本与绘图规范，**不启动动效渲染**。
> 结构示意图：https://xybcloud.online/share/oex-v713-spec/01_structure_elevation.png

---

## 0. 先说清上一版错在哪

对照 `01_front.png` 逐行清点，gpt-image-2 把托盘数量画成了：

| 分区 | 应有 | 上一版实际 |
|---|---|---|
| 上计算舱 | 10 台 | **6 台** |
| 中段交换舱 | 9 台 | **7 台** |
| 下计算舱 | 8 台 | **5 台** |
| 顶部交换单元 | 2 台 | 2 台（对） |
| 电源模块 | 2×4 ×2 层 | 2×4 ×2 层（对） |

原因不是提示词没写数字，而是**让图生图模型去“数格子”**：整帧送进去后，模型按画面平衡重排了托盘密度。凡是靠模型自己排布的结构件，数量都不可控。

**结论：计数件必须程序化装配，AI 只负责材质、环境、光。** 这是本轮画图建议的核心。

---

## 1. 镜 1 新结构（7.0s / 175 帧 / 25fps）

叙事线：**整体前后差异 → 闪亮 Cable Tray 的计算节点、交换节点与柜后线缆 → 闪亮 OEX 的计算节点与柜后交换竖板 → 两种架构，两条路径。**

| 段 | 时间 | 帧 | 画面 | 动效 | 上屏 |
|---|---|---|---|---|---|
| A 整体 | 0.00–1.00 | 0–25 | 双柜正面全景（左 Cable Tray / 右 OEX，同高 640px、柜底齐 y=812） | 0.00–0.24 冷白基线自左向右画出、两柜淡入；0.24–0.70 正面停留，左右柜反向视差 ±12px；0.70–0.96 快速转柜背（交叉淡化 0.16s + ±22px 视差 + 水平拖影 16px）；0.96–1.00 背面定格 | 标签亮起；底部 `同一机柜尺度 · 前后形态对照` |
| B Cable Tray | 1.00–3.30 | 25–82 | 左柜近景：正面六分区 → 柜背（托盘已抽出，只见 4 舱满墙铜缆） | **1.00–1.24 用 6 帧交叉淡化从柜背切回正面**（不再硬切）；1.24–2.10 竖光带自上而下扫过整个柜面：经过 10 台计算托盘时冷白描边亮起，经过中段 9 台交换托盘时改为古铜 `#8A6A3A` 描边 + 冷白细芯，两侧导轨同步亮；2.10–2.26 定格；2.26–2.70 转到柜背；2.70–3.06 4 个竖向舱自左向右依次亮（每舱 0.09s），舱内铜丝高光扫过；3.06–3.30 定格 | 字幕：1.30–1.92 `计算托盘 / Compute trays`；1.96–2.56 `交换托盘 / Switch trays`；2.66–3.26 `柜后铜缆 / Rear copper bundles` |
| C OEX | 3.30–5.10 | 82–128 | 右柜近景：正面 → 柜背 | 3.30–3.48 交叉淡化切右柜正面；3.48–4.04 竖光带自上而下扫过 16+1 行计算节点；4.04–4.20 定格；4.20–4.56 转到柜背；4.56–4.86 横光带自左向右扫过 8 块交换竖板；4.86–5.10 定格、空腔扫暗 | 字幕：3.54–4.14 `计算节点 / Compute nodes`；4.48–5.08 `交换竖板 / Switch blades` |
| D 收口 | 5.10–7.00 | 128–175 | 双柜全景 ghost（背面实景 + 正面 40% 叠影） | 5.10–5.40 拉回；5.40–5.96 左冷白长路径（前托盘 → 柜后束 → 交换托盘）、右琥珀短路径（节点尾端 → 竖板 90°）各闪一次；5.20–5.54 结论卡淡入；5.96–7.00 定格 | 结论卡 `两种架构，两条路径 / Two architectures. Two paths.`；两侧标签副行保留「前部托盘 · 柜后线缆互联」「前部托盘 · 后部竖板 90° 直连」 |

**可选变体**：若觉得 A 段 0.7s 内转背面太赶，可在 A 段只留正面，把「前后差异」交给 B/C 的柜背段与 D 的 ghost 段读出；总时长不变。

**时长建议**：已按 7.0s / 175 帧执行；全片 49.0s（`7/6/6/8/5/6/5/6`），镜 2 保持 6s；每段字幕 0.60–0.62s 可读。

**镜头纪律**：全镜不绕圈、不甩镜；只有「正面机位 ↔ 背面机位」两个站位的交叉淡化，靠视差与拖影读成环绕。每次切站后 0.15s 内不做缩放。

**打光**：左柜冷白侧光（#DCE6F5）压银白框与托盘上沿；右柜琥珀边光（#F59E0B）只扫柜体右缘与交换竖板边缘，不染托盘面。

---

## 2. 上屏文字与口径

- 结论卡只在 D 段出现（3.72s 起），不再全程在位。
- 标签：`Cable Tray（线缆托盘）` / `OEX 正交超节点`；**扫亮段只留标题行，副行隐藏**，解释句交给底部字幕，避免同句两处出现。
- **不上屏**：托盘数 10/9/8、节点数 16+1、线缆根数、连接点数、任何长度。
- 柜后铜缆只写量级词 **「数千根无源铜缆」**；`5,000+` 仅作绘制密度目标，不进画面文字。
- 片内、图内零「出处 / 白皮书 / 章节号」；零厂商名、机型名、logo（PPT 原图侧板上的厂商 logo 必须在重画时去掉）。

### 2.1 扫亮字幕（本次新增）

**样式**：底部居中，中文 40px 粗体（白 + 3px 深描边）、英文 20px（`#E2E9F3`）在下；中文下方 4px 处一条 72px 宽的 2px 强调线（Cable Tray 段 `#76A5E0`，OEX 段 `#F59E0B`）；文字下方压一块柔性暗色渐变（alpha 120、模糊 24px），保证扫过亮铜缆/亮银板时仍可读。位置：中文基线 y≈896，英文 y≈938，水平居中 x=960。

**节奏**：在光带抵达该件前 0.04s 淡入（0.10s），光带离开后 0.12s 淡出；同一时间只出现一条字幕，换句交叉淡化 ≤0.04s。**主行统一 4 字**：镜 1 有 7s，10–12 字在 0.6s 内读不完，解释交给英文副行。

| # | 时间 | 时长 | 光带扫过 | 字幕（中，4 字） | Subtitle (EN) |
|---|---|---|---|---|---|
| 1 | 1.30–1.92 | 0.62s | Cable Tray 上/下计算舱 | 计算托盘 | Compute trays |
| 2 | 1.96–2.56 | 0.60s | Cable Tray 中段交换舱 | 交换托盘 | Switch trays |
| 3 | 2.66–3.26 | 0.60s | Cable Tray 柜背 4 舱铜缆 | 柜后铜缆 | Rear copper bundles |
| 4 | 3.54–4.14 | 0.60s | OEX 16+1 计算节点 | 计算节点 | Compute nodes |
| 5 | 4.48–5.08 | 0.60s | OEX 8 块交换竖板 | 交换竖板 | Switch blades |

> 字幕与顶部标签标题同屏时，顶部标签副行必须关闭；A 段（0.30–0.95s）仍用 y=836 的一行说明 `同一机柜尺度 · 前后形态对照`，不启用大字幕。字幕不早于 1.30s，避开 A→B 的 6 帧交叉淡化；D 段结论卡出现时不出字幕。

---

## 3. Cable Tray 正面绘图规范（严格计数）

**画布**：柜高 640px（成片内），正立面；建议 2× 超采样后降采样。面宽:柜高 ≈ 1:2.4。

**分区表（y 从柜顶 0 起）**

| 分区 | 内容 | 数量 | y 范围 | 高度 |
|---|---|---|---|---|
| ① 顶部交换框 | 银白圆角框内 2 台交换单元 | 2 | 8–48 | 40 |
| ② 上电源层 | 2 行 × 4 列电源模块 | 8 | 54–106 | 52 |
| ③ 上计算舱 | 银白圆角框内 1U 计算托盘 | **10** | 112–280 | 168 |
| ④ 中段交换舱 | 素净面板交换托盘 + 两侧亮导轨 | **9** | 284–432 | 148 |
| ⑤ 下计算舱 | 第二个银白圆角框内 1U 计算托盘 | **8** | 436–572 | 136 |
| ⑥ 下电源层 | 2 行 × 4 列电源模块 | 8 | 578–630 | 52 |

**逐件画法**

- **计算托盘（1U=16px）**：银灰面 `#B8C0CC`，竖向拉丝；左 22% 为两列小端口（2×6 微孔），中 55% 为密孔散热栅，右 8% 凹槽拉手；上下各 1px 深缝，顶沿 1px 高光。逐台亮度 ±3%、水平偏移 ±0.4px，避免机械对齐感。
- **交换托盘（9 台）**：深灰面 `#2A2F36`，左侧仅一组 6 个管理口，无指示灯；左右导轨 4px 亮银，贯通 9 台高度。
- **电源模块**：每块 23px 高；圆形风扇网孔（3 圈同心圆 + 中心毂），四角螺钉，右侧小拉手。
- **交换单元（2 台）**：每台 1U；2 行密排小口（每行 18–22 个）；两端银色把手；外圈银白圆角框 6px 厚、圆角 8px，上沿与左沿高光，框内 1px 暗边。
- **银白框**：拉丝铝渐变（上亮下暗），四个圆角；框内阴影 20%，让托盘“陷”进框里。

**QA 判据**：沿柜面中线取行亮度剖面，计算舱必须有 10 条、交换舱 9 条、下舱 8 条亮分隔线；少一条即不合格。

---

## 4. Cable Tray 柜背绘图规范（托盘已抽出）

**叙事**：正面托盘全部抽出后，柜背只剩框架与铜缆——这正是 Cable Tray 架构的“成本与故障点”所在。

**结构（v7.13 修订：只分 4 舱，不做水平分层）**

- 柜背开口内 **3 根竖向立柱**把空间分成 **4 个等高舱位**；顶部、底部各一根横梁，**中间不加任何水平横梁**。
- 每舱塞满缆束，**束间不留缝**，舱内几乎看不到背板；只有舱位边缘留 1–2px 暗缝。
- 最左舱外侧：一根黑色波纹液冷软管（波纹节距 8px）+ 一根白色冷却管，从柜顶贯到柜底。
- 柜背开口比正面深 1.25×，侧板向后延伸，内壁自上而下压暗 25%、底部再压 10%——读“背部外鼓”。

**密度（重点，比上一版密得多）**

- 每舱正面 **6 束 × 5 股 = 30 根可见线**；束后再叠 **2 层暗铜线**（横向偏移 2px / 4px、亮度 −25% / −45%），每舱约 90 根可见线。
- 4 舱合计约 **360 根可见线**，靠层叠与明暗表达“数千根”；数字不上屏。
- 每股线径 0.4–0.6px，白套编织 + 端部露铜，铜丝明暗交替；整舱呈“满墙白铜”而不是稀疏几束。
- 注：结构示意图（`01_structure_elevation.png`）为可读性每层只画 7 条代表线；**成片按 30 条/层装配**，示意图不代表最终密度。
- 灰色魔术贴 **每 55px 横跨整舱一道**（不是每束各扎），形成水平扎带节奏；上下两道错开 1–2px，避免机械感。
- 缆束走向：整体竖直，允许 ±1.5px 的缓慢 S 形摆动；束端在顶部/底部露出铜色编织与黑色连接器。

**参考**：`GB300-NVLink72-rack-teardown.pptx` 的柜背拆解图（竖向舱位 + 满墙白套铜缆）；**不得保留原图侧板上的厂商 logo / 机型字样**。

---

## 5. OEX 绘图规范（严格按新截图）

参考：`https://xybcloud.online/data/Screenshot_2026-11-11-17-08-51-250_com.zte.softda.jpg`（正面 / 背面 / 侧视三联图，标注 GE 交换机×2、2*2U power shelf ×2、计算节点×16+1、交换节点×8）。

### 5.1 正面（柜高 640px）

| 分区 | 内容 | 数量 | y 范围 | 高度 |
|---|---|---|---|---|
| 柜顶 | 顶框 + GE 交换单元正面盲板（3 道横向百叶） | 2 台交换单元（端口朝后，正面为盲板） | 0–105 | 105 |
| 上电源 | 2*2U power shelf ×2，每层正面一排 8 个电源模块（圆风扇网孔 + 拉手） | 2 层 | 108–200 | 92 |
| 计算舱 | 银白圆角框内计算节点（16 计算 + 1 管理置顶） | **16+1** | 205–500 | 295 |
| 下盲板 | 4 道横向百叶盲板 | 4 | 505–560 | 55 |
| 下电源 | 2*2U power shelf ×2，每层 2 个电源模块（方形凹槽 + 风扇 + 小接口） | 2 层 | 563–627 | 64 |
| 柜脚 | 黑色脚轮/底框 | — | 627–640 | 13 |

- 计算节点高 17px；银灰面，左 25% 端口区、中 50% 散热栅、右拉手；管理节点置顶、端口少、面板更素。
- **顶部没有额外风扇排**；除上下两组电源外，正面不出现风扇阵列。
- 关键纠错：上一版漏了**上 2*2U 电源**，且把顶部画成一条横向交换单元——新截图明确是「GE 交换机盲板在上、上电源在其下」。

### 5.2 柜背

- 顶部（y≈12–80）：**2 台 GE 交换单元**，背面各 2 行 × 20+ 个 GE 小口，银色笼架，每台高约 32px。
- 中部（y≈100–405）：**单排 8 块全高纵向交换竖板**（每块宽约 22–26px、高约 305px，银灰拉丝、6–8 条纵向细肋、上下各一个小闩，板间 2px 深缝）；板组紧跟 GE 单元下方起，不预留大空隙。
- 左侧（y≈100–405）：银灰歧管轨（宽约 18px）+ 4 组快接接头；红/蓝只作接头细环，不做整条彩色歧管（以新截图为准确认）。
- 竖板下方（y≈405–545）：空白 + 接线/维护区，纯黑无结构（截图里这一段只有标注括号，没有面板）。
- 下部（y≈545–630）：2 台 2U 电源背面（每台 2 个圆形风扇网孔 + 右侧接口）。
- **柜内零线缆**：竖板后方空腔纯黑，光带扫过无任何线段。

---

## 6. 画图管线建议（本轮的“怎么画”）

### 推荐：部件贴图 + 程序化装配（计数锁死；v7.14 起全片露柜镜头通用）

1. **部件贴图库（AI，一次生成、逐件验收）**
   用 gpt-image-2 只生成“单个零件”的正面微距，不带任何数字与品牌：
   - 一张 1U 计算托盘正面（左侧端口 + 中部散热栅 + 右侧拉手）
   - 一张 1U 交换托盘正面（素净面板 + 左侧管理口）
   - 一个电源模块（圆风扇网孔）
   - 一台交换单元（2 行密排小口）
   - 一段铜缆束（白套 + 露铜 + 魔术贴）
   - 一块交换竖板（纵向细肋）
   - 一根铝梁（拉丝 + 螺钉）
   每张 1024–1536px，纯色/透明底，冷白侧光 + 琥珀边光与片场一致。
2. **程序化装配（PIL / skia，2× 超采样）**
   按第 3–5 节的分区表逐台贴图：数量由循环决定，亮度/偏移做微抖动；托盘间加 1px 暗缝与环境遮蔽；银白框、导轨、螺钉、百叶用程序化渐变绘制。
3. **2.5D 合成**
   每柜按深度拆 4 层（背板 / 缆束 / 托盘 / 框体），给每层不同视差系数（0.82 / 1.00 / 1.12 / 1.00）；相机位移由层偏移模拟，加 180° 快门运动模糊、接地阴影、地面反射；相机角度限制 ±12°，超出改用左 3/4 / 正 / 右 3/4 三套预渲染角度交叉淡化。Veo 只出暗场、雾、光、地反空镜，不含机柜。
   两柜按规范位贴入（同高 640px、柜底 812、左 x=280、右 x=1340），再叠体积雾与 bloom。
4. **上屏 UI**
   `v73_ui.py` 叠标签卡 / 底部说明 / 结论卡 / 品牌角标 / 免责说明。

### 备选：整柜 AI 生成 + 逐舱替换（v7.14 已不采用）

用户已拍板全片走程序化柜体，**不再让 AI 出整柜**，此路仅作历史记录：若将来部件装配照片感不够，可先用锚点图出整柜，再把三个计算/交换舱逐舱裁掉、用程序化条带替换（接缝羽化 6px）。当前不执行。

### 明确不要做的事

- 不要再用“两台机柜 + 十个托盘”这样的整帧提示词直接生成——模型不会数数。
- 不要让 AI 画任何文字、数字、logo；部件贴图也要加 `no text / no letters / no numbers / no logos`。
- 不要把 PPT 原图直接抠进片子——原图带厂商 logo 与机型字样。

### 自动 QA

写一个 `check_counts.py`：对正面图逐舱取行亮度剖面，峰谷检测数出 10 / 9 / 8；对柜背按列取剖面数出 **4 个竖向舱**（并检查每舱 6 束 × 5 股的排列），对 OEX 正面数 17 行、背面数 8 块竖板。数量不符直接报警，不出片。

---

## 7. 交付节奏

1. **本轮**：本文件（脚本 + 绘图规范）确认。
2. **下一步**：部件贴图库（约 7 张，逐张验收）→ 装配脚本 → 正面 / 背面静帧 → 计数 QA。
3. **确认静帧后**：再出镜 1 的 6s 动效测试片（本轮不渲染）。
4. 镜 2–8 后续按同一“部件贴图 + 程序化装配”管线重出，Cable Tray 侧统一新形态。
