# 重写验收与 Agent 交接

> 2026-09-21 更新：以下 801 组对照属于首次独立重写的历史验收。本轮图片与中英文优化的覆盖范围、测试和来源记录见 [共享规范](../shared/README.md)；图片、文案及部分中文标题字数已按新要求调整。

完成 47 / 47 个独立重写，原有 Moments、Burst、Dimension、Morph、Helix 重写保持原样。每项交付新实现与 `PROMPT.md`，入口见 [预览目录](reproductions.html)、[提示词汇总](PROMPTS.md) 和 [完成清单](REWRITE-PLAN.md)。

## 对照结果

以 2026-09-19 开始重写时的当前本地案例为冻结基线。本轮验证的是重写前后效果和交互一致性，不是重新对照 motionin.design 线上版本。47 个原案例的入口文件 SHA-256 均与 `REWRITE-PLAN.json` 记录一致；新实现不依赖冻结基线目录。

47 项的桌面（1440×1000）和手机（390×844）场景检查通过，共保存 801 组基线/重写截图。检查按案例覆盖首屏、动画阶段、鼠标/触控、键盘、详情或窗口，以及游戏碰撞、对白和场景切换；涉及 Canvas/WebGL 的案例还比对像素哈希、几何或着色器参数。所有新案例 JavaScript 语法检查通过。

受控时间用于同步动画，随机场景使用相同测试种子；视频截图固定帧。测试夹具只在验证脚本中注入，生产页面保留正常时间、随机和视频播放。801 组截图不代表每个瞬间都逐像素相同：Rotunda 的 GSAP 深度存在亚像素误差；Atelier、Desk 95、Isle、Pantheon 的部分截图受到 CSS 合成线程淡入、模糊或背景交叉渐变采样影响，具体状态和几何检查仍通过。Stream Showcase 的 YouTube 嵌入使用本地测试响应，已验证剧集切换、URL 与 iframe 生命周期，未验证真实远程播放。

本地证据保存在 `artifacts/rewrite-validation/<slug>/report.json` 与相应截图，汇总为 `artifacts/rewrite-validation/summary.json`；这些产物被 Git 忽略。冻结基线在 `artifacts/rewrite-baseline/`，重新运行对照需要保留它。

## 本机预览与复验

在仓库根目录启动服务：

```sh
python3 -m http.server 5190 --bind 127.0.0.1
```

打开 `http://127.0.0.1:5190/rewrite/reproductions.html`。验证脚本使用 `prism-drift/node_modules/playwright` 和本机 Google Chrome，同样在仓库根目录运行，例如：

```sh
node rewrite/scripts/check-preserved-case.mjs momentum-slider
node rewrite/scripts/check-preserved-case.mjs drag-gallery
node rewrite/scripts/check-formation.mjs
node rewrite/scripts/check-overworld.mjs
```

其余案例对应 `rewrite/scripts/check-<slug>.mjs`。脚本失败时查看断言、该项报告和截图，不要仅凭清单中的完成标记判断新修改已通过。

## 给其他 Agent 的交接方式

从 [提示词汇总](PROMPTS.md) 选择一项，将该项完整 `PROMPT.md` 作为任务提示词，并提供文档列出的素材、静态模板、数据文件和第三方库。文档中的相对路径以该提示词所在目录为基准。部分案例允许复用静态 CSS/HTML 和 JSON，所以仅复制提示词文字、不给相关素材，不能保证得到相同视觉。

可在提示词前加入：

> 请按以下规格独立实现该案例。使用指定素材、字体、尺寸、动画公式、时序和交互状态，不读取旧 JavaScript。先实现，再按文末桌面/手机验收场景对照；保留规格明确描述的现有行为。

每份文档包含对应案例的视觉与实现参数、输入状态和验收步骤；已有静态控件或尚未实现的行为也已注明，避免 Agent 自行补功能而改变效果。
