返回 html-video
2026-06-04-spec-07-ppt-to-template.md
根目录 / research / 2026-06-04-spec-07-ppt-to-template.md
1 # RFC-07:PPT Skill → Hyperframes 模板 转换规范
2
3 > **Status**: Draft v0.1
4 > **Date**: 2026-06-04
5 > **Depends on**: [RFC-02 Template Metadata](./2026-05-26-spec-02-template-metadata.md)
6 > **Scope**: 把开源的 PPT / 演示设计 skill(如 huashu-design、frontend-slides)系统化地
7 > 转成可用的 hyperframes 视频模板的标准流程 —— 覆盖许可、三层署名、命名、转换质量、查重、交付。
8
9 ---
10
11 ## 为什么要这套规范
12
13 市面上**专门为 hyperframes 做的视频模板极少**,但有大量开源的 **PPT / slides 设计 skill**
14 (它们本身又是在致敬真实设计工作室的风格)。把这些静态设计 skill 转成动态视频模板,是
15 html-video 扩充模板库最现实的路径。
16
17 但这条路径有真实的诚信风险,2026-06-04 的一次 audit 暴露了三个问题(见
18 [provenance-audit](../notes/2026-06-04-provenance-audit.md)):
19
20 1. 署名链条缺层 —— 只认了 skill 作者,没认最上游真实工作室;或反过来直接挪用工作室名当模板名。
21 2. "original / no source copied" 是自我宣称,从未核实。
22 3. 连示例数据都照搬上游,且新模板与已有模板视觉撞车(漏了查重)。
23
24 本规范就是把"PPT skill → 视频模板"这件事**标准化**,让每一次转换都署名清楚、转换到位、不重复。
25
26 ---
27
28 ## 转换流程总览(6 步,每步都有硬门槛)
29
30 ```
31 ①准入&许可闸 → ②三层署名 → ③命名 → ④转换质量 → ⑤查重 → ⑥交付清单
32 ```
33
34 任何一步不过,**不入库**。
35
36 ---
37
38 ## ① 准入 & 许可闸(License Gate)
39
40 - **只收明确开源许可**:MIT / Apache-2.0 / BSD / CC-BY / CC-BY-SA。
41 - ❌ 拒收:无 LICENSE 文件、CC-BY-**NC**(禁商用,html-video 要商用)、CC-**ND**(禁演绎)、
42 All Rights Reserved、仅"可参考"无许可的。
43 - **必须拉真实 LICENSE 核实**,不信 yaml / README 的自述:
44 ```bash
45 git clone --depth 1 <upstream-url> /tmp/upstream-check
46 cat /tmp/upstream-check/LICENSE # 确认许可类型 + 真实版权人姓名
47 ```
48 - 记下 **真实版权人姓名**(不是 repo 名)。例:huashu-design 的版权人是 `alchaincyf(花叔 · 花生)`,
49 frontend-slides 是 `Zara Zhang`。
50
51 ## ② 三层署名标准(强制,本规范的核心)
52
53 设计风格往往经过两次转手才到我们手里。署名必须把**每一层都认全**:
54
55 | 层 | 是谁 | 例 |
56 |---|---|---|
57 | **L1 原始灵感** | 真实设计工作室 / 设计师 | Pentagram(Michael Bierut)/ Build studio / Takram |
58 | **L2 Skill 层** | 把 L1 提炼成可复用开源资产的作者 | huashu-design(alchaincyf 花叔)/ frontend-slides(Zara Zhang) |
59 | **L3 我们** | 转成 hyperframes 视频模板 | nexu-io |
60
61 > **为什么 L2 必须单独署名**:skill 作者做了"真实工作室 → 可复用 HTML"的一层转化,
62 > 我们是**从他们那层转过来的**,不是直接从工作室转的。跳过 L2 = 抹掉了我们实际站的肩膀。
63
64 **provenance schema(写进 `template.html-video.yaml`):**
65
66 ```yaml
67 provenance:
68 # L1 — 原始设计灵感(真实世界)
69 origin:
70 name: Pentagram (Michael Bierut)
71 kind: design-studio
72 reference: "pentagram.com / hillary clinton logo system" # 可查的指引,非必须 URL
73 # L2 — 我们实际转化自的开源 skill(必填,许可以这层为准)
74 via_skill:
75 name: huashu-design
76 author: "alchaincyf (花叔 · 花生)"
77 url: https://github.com/alchaincyf/huashu-design
78 license: MIT
79 source_file: assets/showcases/ppt/ppt-pentagram.html # 具体参照的那个文件
80 # L3 — 本模板做了什么转化
81 transformation: >
82 Static PPT page → animated hyperframes timeline (CSS/SVG @keyframes).
83 Re-colored, re-typed, original sample data. No upstream source code copied verbatim.
84 ```
85
86 `NOTICE.md` / 根 `ATTRIBUTIONS.md` 汇总所有上游 + 许可(Apache-2.0 NOTICE 要求)。
87
88 ## ③ 命名规范
89
90 - **禁止直接拿真实工作室 / 设计师名当模板 id 或显示名。**
91 - ❌ `frame-pentagram-stat`、`Takram Radar`、`Build Minimal`
92 - ✅ 用**描述设计特征**的中性名:`frame-editorial-anchor`、`frame-soft-radar`、`frame-luxe-minimal`
93 - 理由:① 避免暗示"官方授权 / 联名"的误导;② L2 上游 huashu 自己的文档就明确告诫
94 *"❌ 不要直接写 in the style of Pentagram → ✅ 用具体设计特征描述"* —— 我们更该遵守。
95 - 工作室名只出现在 `provenance.origin.name`(事实陈述:受其启发),不出现在面向用户的名字里。
96
97 ## ④ 转换质量门槛(什么算"转化",而非"换皮")
98
99 至少满足全部 3 条,才算合格的视频模板转换:
100
101 1. **必须新增动效时间线** —— 静态页 → 真实的 CSS/SVG/GSAP `@keyframes` 时间线
102 (元素分阶段入场、数字升起、图形绘制等)。这是核心增值,没有动效就不是视频模板。
103 2. **示例数据必须自有** —— ❌ 不照搬上游的占位数据(如 `95.7 / 73.8 / AIME / SWE-bench`),
104 换成 html-video / nexu 语境的自有示例。
105 3. **可辨识的再设计** —— 配色 / 字体 / 版式至少做一处有意识的再设计,不 100% 像素级照抄。
106 (若上游配色就是该工作室的标志性识别色 —— 如 Pentagram 红 —— 可保留,但要在
107 `transformation` 里说明"保留标志色"。)
108
109 ## ⑤ 内部查重(2026-06-04 漏掉的那一步)
110
111 新模板入库前,跟**同 L2 来源**的已有模板比对,防止"同一套皮做 N 个变体":
112
113 - 比对维度:字体 / 核心配色 / body 底色 / 输入 schema(`required` 字段)/ 版式骨架。
114 - 判定:
115 - 视觉语言相同 **且** 输入 schema 也几乎相同 → **重复,拒收或合并**。
116 - 视觉语言相同 **但** 用途/输入明显不同(如"单数字大字报" vs "三指标对比榜")→ 可收,
117 但必须在描述里写清差异,且**示例数据不得雷同**。
118 - 快速比对脚本思路(配色 + 字体 + required 字段)见 audit note 里的 Python 片段。
119
120 ## ⑥ 交付清单(每个模板必交)
121
122 ```
123 templates/frame-<descriptive-name>/
124 ├── template.html-video.yaml # 含 ② 的三层 provenance
125 ├── source/index.html # 含 ④ 的动效时间线 + 自有示例数据
126 ├── SKILL.md # agent 用的填参说明
127 ├── example.md # 示例输入
128 └── preview.png # 首帧静图(poster)—— studio 之外(README/官网)的展示兜底
129 ```
130
131 **关于"默认渲染效果"**:studio 预览弹窗已用 `mode:'iframe'` 实时跑 `source/index.html` 的动画,
132 **用户在 studio 里能直接看到动效**,无需额外产出 loop 视频。`preview.png` 仅用于 studio 之外
133 (GitHub README / 官网 / 分享卡片)的静态兜底。schema 预留的 `preview.loop` 字段当前不强制填,
134 未来若要在 studio 外展示动效再补。
135
136 ---
137
138 ## 落地:用本规范回头修现有模板
139
140 现有 6 个声明了 provenance 的模板需按本规范整改(见 audit note 清单):
141
142 | 现 id | L1 工作室 | L2 skill | 整改 |
143 |---|---|---|---|
144 | frame-pentagram-stat | Pentagram (Bierut) | huashu-design | 三层署名 + 重命名 + 自有示例 |
145 | frame-build-minimal | Build studio | huashu-design | 同上 |
146 | frame-takram-organic | Takram | huashu-design | 同上 |
147 | frame-bold-signal | — | frontend-slides (Zara Zhang) | 补 L2 真实作者 |
148 | frame-creative-voltage | — | frontend-slides | 同上 |
149 | frame-electric-studio | — | frontend-slides | 同上 |
150
151 整改是独立的下一步,逐个改 + 验证渲染不破。
152
153 ---
154
155 ## 附:一句话 checklist(每次转 PPT skill 时对照)
156
157 - [ ] 拉了真实 LICENSE,确认可商用 + 演绎
158 - [ ] provenance 三层都填了(origin / via_skill+真实作者 / transformation)
159 - [ ] 模板名是设计特征描述,没挪用工作室名
160 - [ ] 有真实动效时间线
161 - [ ] 示例数据是自有的,没照搬上游
162 - [ ] 跟同来源已有模板查过重,不撞车
163 - [ ] 交付物齐:yaml + source + SKILL.md + example + preview.png
164 - [ ] 根 ATTRIBUTIONS.md / NOTICE.md 已登记上游
165
165 lines MARKDOWN