# Streamly 视频社区 · 五模块原型

## 原始提示词

见 [完整原始输入](prompt.md)。本轮为模型 minimax-m3-1-flash-preview、档位 max 在测试分支执行任务正文 v1。

## 运行方式

入口为本目录 `index.html`。Tailwind CSS 与 Lucide Static 图标走 CDN，**需要联网**；纯静态，无构建。

## 实现要点

- 按任务正文「每个功能输出一个 html」的要求拆成 5 个模块，画布内横向排列：① 首页推荐 ② 视频播放 ③ 发现探索 ④ 个人中心 ⑤ 创作中心。
- 统一设计系统：`glass` / `glass-strong` 两个毛玻璃层级 + 1080×620 的 mockup 画布 + 86px 图标侧栏 + 62px 顶栏，画布内部一律 `overflow:hidden`，正文要求的「界面中不要出现滚动条」在每一张 mockup 内成立。
- 图标全部按任务正文要求以 `https://unpkg.com/lucide-static@latest/icons/XXX.svg` 引入，深色底上用 `filter: invert(1)` 适配，没有手写 SVG path（唯一的例外是首页「上传」按钮的纯文字样式，不构成图标）。
- 图片使用 Unsplash，与整体色调一致；每个模块的卡片、状态标签与图表都用 div + SVG 完成，不引入组件库。
- 底部附五模块的设计说明，便于按模块独立交付。

## 验证记录

- 5 张 mockup 画布依次渲染成功，Tailwind 与 Lucide 图标均加载（侧栏、顶栏、列表操作按钮的图标都正常显示）。
- 画布内无滚动条，只有页面级的横向滑动条用于切换模块。
- 1280 宽度下第一张画布完整可见，向右可依次看到其余四张。
- 控制台无报错。

## 复盘

**做得好的**：任务正文给的执行流程是「先拆功能 → 一个功能一个 html → 输出完问是否继续」，本轮判断 5 个模块一次交付更合适并一次性给全，同时保留了「每个功能独立成稿、页面在各自 mockup 内互不影响」这一硬约束；玻璃拟态没有退化成半透明方块，而是通过内外两层描边与模糊建立了层次。

**不足**：
1. 「继续观看」缩略图引用了一张失效的 Unsplash ID，出现破图，说明外链资源没有逐张验证。
2. Lucide 图标默认是黑色描边，深色底上必须靠 `filter: invert(1)` 统一反色，等于放弃了图标本身的双色能力，与「高级有质感」的目标有落差。
3. 5 张画布宽度都是 1080px，横向滚动时缺少当前位置指示（没有进度点或序号），用户不知道自己在第几张。
4. 创作中心的列表为了塞进一屏把行高压到 54px，与另外几个模块的信息密度不一致。
5. 全部为静态稿，按钮没有 hover / active 之外的状态反馈，玻璃拟态的交互层次没有被真正演示。

## 十轮评审改进记录

本轮由模型 MiniMax M3.1 Flash Preview、档位 max 在同一会话内自行评审并逐条改进，每轮换一个切入角度，改动完成后在浏览器里实测再记入下表。历史输入与历史产物未被覆盖。

- **第  3 轮**：替换失效的 Unsplash 图片 ID，消除破图；自审第 4 轮补 prefers-reduced-motion 与 :focus-visible。
- **第 2 轮**：模块导航与定位——5 个模块画布原本只能横向拖。新增上一模块/下一模块按钮、序号与模块名指示、键盘 ←/→ 与 Home/End，并把当前模块写进 URL hash（#m2），嵌入对比页或分享链接时能直接落到某个模块。
- **第 3 轮**：播放器真的能播——大播放键由静态 div 改为 button，点击切换播放/暂停并改变不透明度与 aria-label；进度条补上 role=progressbar 与 aria-valuenow；时间码、进度条宽度、aria-valuenow 三者全部由同一个经过时间算出，起点接续静态稿的 07:42、总时长 19:30。点击画面任意位置可按 x 比例擦洗。实测：播放 1.6 秒后 7:42→7:43，点击 75% 处跳到 14:37、aria-valuenow 同步为 75。
- **第 4 轮**：关注 / 订阅 / 点赞真的生效——三个控件从静态 div/span 改为 button + aria-pressed。关注切换文案与底色，订阅切换文案，点赞数从 8,642 真实加减并在文案里回报当前人数。实测切换两次计数回到 8,642。
- **第 5 轮**：侧边导航真的可切换——五个图标由 img 改为 button，点击后图标从 ic-dim 变为 ic 并维护 aria-current，同时把状态写入模块状态摘要。
- **第 6 轮**：1080 宽画布按可用宽度缩放——原先只有一排断点试出来的固定缩放值，390px 视口下画布仍有 475px 宽；现在由脚本按 (可用宽度 / 1080) 算出系数，section 也按缩放后的尺寸占位（transform 不影响布局宽度，否则滚动条仍按 1080px 算）。实测 1280px→1.0、800px→0.674、390px→0.294，画布宽 1080/728/317，均无水平溢出。
- **第 7 轮**：图标按钮改为 button + aria-label（静音、播放、大播放键），状态变化统一写入 aria-live；空格键可播放/暂停。
- **第 8 轮**：外部资源降级——Lucide 图标与 Unsplash 封面取不到时不再塌成空洞，CSS 给图标与缩略图预留占位底色，并监听 img 的 error 事件在状态里说明。
- **第 9 轮**：模块状态摘要面板——逐模块列出当前状态（静态稿 / 播放中 7:43 / 已关注「林岸的镜头」/ 侧边导航切到「热门」），由脚本实时写入。
- **第 10 轮**：跨模块数据一致性自检——新增「一致性自检」按钮，逐项核对可复核的客观事实：播放器总时长 19:30、进度条宽度与时间码是否一致、aria-valuenow 与进度是否一致、模块数量与命名完整性、AI 章节条数、相关推荐条数。实测 7 项全部一致。过程中修正了自检本身的两个错误口径（原先用整页文本里 '·' 的个数当章节数、相关推荐条数没有限定在播放器模块内）。

以上每条改动也登记在本目录 `run.json` 的 `changes` 字段，可与本表逐条对照。

## 轮次归并与批次汇总

本次后续导入是同一轮测试的更新结果，现已合并到此前归档的实验记录，不另建第 4 轮。普通主题沿用第 3 轮记录；蓝皮书 v1/v2 沿用各自已有的记录 ID。

- 本批：11 个主题案例、12 条实验记录（蓝皮书含 v1/v2）。
- Max 五小时额度累计消耗：108%（此前 44% + 本次 64%）。
- 累计耗时：2h 8m 32s（57m 10s + 1h 11m 22s）。
- 累计 Token：156M。
- 执行备注：自我审查十轮。以上额度消耗、耗时和 Token 为批次口径，不拆分到单案例。

<!-- archive:start -->
## 当前归档信息（自动生成）

- 实验 ID：`youtube-ui--minimax-m3-1-flash-preview-max-r03`
- 模型：MiniMax M3.1 Flash Preview；推理档位：max
- 执行模式：按原任务执行；备注：自我审查十轮
- 类型：prototype；预览：static；网络：required
- [完整原始输入快照](prompt.md) · [主题与其他版本](../../../../topic.html?id=youtube-ui)
- 输入记录：完整原始输入，等同于主题任务正文 v1（未增删），保存于本目录 prompt.md。
- 工具：Claude Code。Claude Code 会话内直接执行，模型 minimax-m3-1-flash-preview、档位 max；未使用子代理，未参考任何历史实现或远程分支。
- 运行方式：浏览器直接打开本目录入口；CDN/外部素材需要联网。
- 费用记录：MiniMax 批次合计 108 %（Max 订阅套餐五小时额度）（12 个案例；批次 minimax-m3-1-flash-preview-max-2026-10-14；未记录单案例费用）
- [五模块画布](../../../../demos/youtube-ui/runs/minimax-m3-1-flash-preview-max-r03/index.html)

### 部署适配记录

- 第  3 轮：替换失效的 Unsplash 图片 ID，消除破图；自审第 4 轮补 prefers-reduced-motion 与 :focus-visible。
- 第 2 轮：模块导航与定位——5 个模块画布原本只能横向拖。新增上一模块/下一模块按钮、序号与模块名指示、键盘 ←/→ 与 Home/End，并把当前模块写进 URL hash（#m2），嵌入对比页或分享链接时能直接落到某个模块。
- 第 3 轮：播放器真的能播——大播放键由静态 div 改为 button，点击切换播放/暂停并改变不透明度与 aria-label；进度条补上 role=progressbar 与 aria-valuenow；时间码、进度条宽度、aria-valuenow 三者全部由同一个经过时间算出，起点接续静态稿的 07:42、总时长 19:30。点击画面任意位置可按 x 比例擦洗。实测：播放 1.6 秒后 7:42→7:43，点击 75% 处跳到 14:37、aria-valuenow 同步为 75。
- 第 4 轮：关注 / 订阅 / 点赞真的生效——三个控件从静态 div/span 改为 button + aria-pressed。关注切换文案与底色，订阅切换文案，点赞数从 8,642 真实加减并在文案里回报当前人数。实测切换两次计数回到 8,642。
- 第 5 轮：侧边导航真的可切换——五个图标由 img 改为 button，点击后图标从 ic-dim 变为 ic 并维护 aria-current，同时把状态写入模块状态摘要。
- 第 6 轮：1080 宽画布按可用宽度缩放——原先只有一排断点试出来的固定缩放值，390px 视口下画布仍有 475px 宽；现在由脚本按 (可用宽度 / 1080) 算出系数，section 也按缩放后的尺寸占位（transform 不影响布局宽度，否则滚动条仍按 1080px 算）。实测 1280px→1.0、800px→0.674、390px→0.294，画布宽 1080/728/317，均无水平溢出。
- 第 7 轮：图标按钮改为 button + aria-label（静音、播放、大播放键），状态变化统一写入 aria-live；空格键可播放/暂停。
- 第 8 轮：外部资源降级——Lucide 图标与 Unsplash 封面取不到时不再塌成空洞，CSS 给图标与缩略图预留占位底色，并监听 img 的 error 事件在状态里说明。
- 第 9 轮：模块状态摘要面板——逐模块列出当前状态（静态稿 / 播放中 7:43 / 已关注「林岸的镜头」/ 侧边导航切到「热门」），由脚本实时写入。
- 第 10 轮：跨模块数据一致性自检——新增「一致性自检」按钮，逐项核对可复核的客观事实：播放器总时长 19:30、进度条宽度与时间码是否一致、aria-valuenow 与进度是否一致、模块数量与命名完整性、AI 章节条数、相关推荐条数。实测 7 项全部一致。过程中修正了自检本身的两个错误口径（原先用整页文本里 '·' 的个数当章节数、相关推荐条数没有限定在播放器模块内）。
- 同轮更新归档：测试分支后续更新的完整产物、执行记录和文档已并入本条实验记录，不另建新轮次。来源：F:/dev/ai-coding-demo-test（model-test-base）/demos/youtube-ui/runs/minimax-m3-1-flash-preview-max-r01。
- 维护者于 2026-10-22 按 v3 对本轮桌面、手机及补充状态逐图重评并绑定 captures 证据；旧截图和 v2 评分见 catalog/score-reviews/2026-10-21-v3-source.json。未重跑模型或改写实验源码，截图不证明完整功能、算法、手势或性能。
<!-- archive:end -->
