# Package 在线生成与连续更新演示

## 运行

```powershell
node scripts/authoring/record-package-update.mjs --bins target/whitepaper-recording-binaries --character-cache target/structural-collapse-evidence/host/authoring/characters/meshy-hero --ffmpeg C:/Python312/Lib/site-packages/imageio_ffmpeg/binaries/ffmpeg-win-x86_64-v7.1.exe --out target/package-update-new-run --seconds 120 --fps 6
```

依赖见 [RECORDING_REHEARSAL.md](RECORDING_REHEARSAL.md)。这是录制时生成源码并
封装发布的确定性演练，复用 Agent 编写的花园算法；不把模板执行称为新的模型推理。

1. 两个客户端开始录制空地。
2. 脚本生成 `studio.agents.garden` V1 的普通 JSON/Luau 文件，通过校验、封装、上传、generation CAS、检查点和 tick 激活路径发布。
3. 服务器逐批生成 108 个花园构件，保存构建游标。
4. 运行中生成 V2，追加 24 个观察塔构件的算法，再走相同发布路径。
5. V2 继承原游标继续构建。服务器确认原 108 个实体 ID、位置及完整文档不变，新 24 个实体属于 V2 的精确哈希。
6. 两个原生客户端保持在线并呈现完整的 132 个构件；视频按实际采集时间对齐。

建议讲解：**“同一个 Package 可以在世界运行时升级。第一版先生成庭院，第二版继承进度并扩建观察塔，在线玩家直接看到结果。已有建筑不会因为重新发布而重复生成。”**

完整输入为 `garden-v1.input.json`、`garden-v2.input.json`；相邻 receipt/active
文件记录实际上传与生效，`timeline.jsonl` 记录各阶段。`construction-proof.json`
包含前后实体、版本归属与保留检查。原片为 `rehearsal.mp4`，上下剪辑版为
`whitepaper/construction-stacked-1.25x.mp4`，1.25 倍速。上传不等于生效；脚本
必须观察到权威 active 状态才前进。版本更新也不等于自动重写已有世界实体。

本次 `target/whitepaper-package-update-20260921-01/result.json` 为 verified。
两路实体数为 27→159、26→158；719/720 帧，左路首个采集槽有一次 cadence_late，
在剪辑区间之前。上下剪辑版约 33.01 秒，完整片与剪辑版均通过完整解码，
已查看中间阶段和最终塔楼画面。画质自动评估保留 review。
