# 宇宙的幽灵信使

2026 年诺贝尔物理学奖：Francis Halzen、IceCube 与宇宙高能中微子。

最新发布：[720p v12 片尾修订版](https://jc.link2w.com/nobel_physics_2026_official_v12_720p.mp4)，1280×720、30 fps、165.767秒。
最新本地修订：`renders/nobel_physics_2026_official_v12_720p.mp4`，1280×720、30fps、165.767秒。**v12 已按用户本次明确要求发布；后续版本仍须等待用户明确要求上传。**
原版成片：`renders/nobel-physics-2026-3d.mp4`，1920×1080、30 fps、约150秒。
独立字幕：`renders/nobel-physics-2026.zh-CN.srt`。

六段 Three.js 原理演示，Gemini 3.8 Flash TTS / Kore 中文解说，原创环境器乐背景音乐。所有播放素材都已存为本地文件。API凭据不在工程中。

## 预览与渲染

需要 Node.js 22+、FFmpeg 和 Chrome：

```bash
npx hyperframes@0.8.144 preview --background
npx hyperframes@0.8.144 check
npx hyperframes@0.8.144 render --quality delivery --fps 30 --workers 2 --output renders/nobel-physics-2026-3d.mp4
```

## 修改

- `assets/scenes/*.mjs`：六个三维场景；镜头、材质、粒子与事件状态均按时间确定。
- `assets/helpers.mjs`：地球、星空、探测阵列和共用模型。
- `index.html`：动画时间线、可读标注、音频和字幕。
- `narrative.json` / `SCRIPT.md`：旁白文字。
- `timing.json`：真实音频时长与对应字幕窗口。
- `frame.md`：颜色与中文字体规范。
- `SOURCES.md`：核实来源及示意图限定。

如需重建时间线或改字幕，先修改 `narrative.json`，保证每句对应音频齐全，再运行 `python3 compose.py`。此命令会重写 `index.html`，保留三维场景源码；`polish.py` 自动修正选择器、打包中文字体。Python依赖为 numpy、fonttools 和 brotli。

如需重新生成 Gemini 音频，运行 `python3 generate_gemini.py`，通过进程输入提供 API Key；不要把凭据放进源码。会复用已存在的音频，因配额限流缺少片段时可稍后再运行。逐句独立音频允许以实际片段边界同步字幕。

## 物理与呈现

86条串×60模块=5160，含DeepCore的布局采用近似示意。修订后的原理段按相互作用、缪子发光、光波包络、光学模块记录的顺序展开。光子从各自发射位置向前传播，缪子处在包络锥前端；θ相对于缪子前进方向，不把这个单点发射角等同于包络锥张角。示例折射率约1.33，光速界限为c/n<v<c。事件图的颜色编码到达时间，动画不是真实事件重放。更多限定见来源说明。


## 官方素材增强版

加入 IceCube 官方两段动画、南极实验室与模块部署照片、官网三类事件形态图；每个引用画面标注来源，片尾汇总署名。约150秒，配音、中文字幕和BGM保留。

- `official_media.json`：媒体来源、署名、大小、SHA-256。
- `official_shots.json`：新镜头窗口。
- `assets/models/icecube_dom_schematic.blend`：Blender可编辑模型。
- `assets/models/icecube_dom_schematic.glb`：Three.js加载的导出模型。
- `build_dom_model.py`：生成DOM示意模型的Blender脚本。
- `official_revision.py`：在原时间线上加入官方素材和模型特写；可重复运行。

重新运行 `compose.py` 后，再运行 `python3 official_revision.py` 恢复增强版。CLI从0.8.140升级到0.8.141，升级后原工程检查通过。

引用素材按IceCube条款用于非商业科普，并保留署名；完整来源见SOURCES.md。

增强版输出：`renders/nobel_physics_2026_official_v2_1080p.mp4` 与 `renders/nobel_physics_2026_official_v2_720p.mp4`。

公开下载（720p）：https://jc.link2w.com/nobel_physics_2026_official_v2_720p.mp4

已实际完整下载，HTTP 200；本地、服务器与公开下载的 SHA-256 一致。720p文件13,938,872字节，1280×720、30fps、150.233秒。成片已抽取12个镜头复查，含官方动画、模型、字幕与署名。

## 1:13 动画放大修订

70.6221–78.1976 秒的官方事件动画改为 1236×608 的大窗口；相互作用发生时推近至 2.1 倍，保持约 2.25 秒，再平滑拉回探测阵列全景。变换放在不带时间属性的裁切与画面包装层，视频仍由 HyperFrames 按原始时间定位。所有视频、旁白、背景音乐和字幕的内容与时序保留。

`official_revision.py` 已同步此镜头布局与动画，以便以后重建。`renders/nobel_physics_2026_official_v3_zoom_comparison.jpg` 为 1:13 前后对照。

v3 输出：`renders/nobel_physics_2026_official_v3_720p.mp4`，1280×720、30 fps、150.233 秒，14,127,079 字节。

下载：https://jc.link2w.com/nobel_physics_2026_official_v3_720p.mp4

已检查成片中的 12 个镜头，自动运行时、布局及对比度检查均无错误。放大时画面超出裁切窗口是有意的局部取景；音轨与 v2 的 AAC 数据完全一致。服务器及完整 HTTPS 下载的 SHA-256 均与本地一致，下载返回 HTTP 200、video/mp4。验证记录见 `renders/official_v3_verification.json` 和 `renders/upload_verification_official_v3_720p.json`。


## 1:02 残留与原理顺序修订

官方探测串画面接到62.4022秒的章节切点，消除之前约0.6秒的旧阵列闪回。原理段先显示中微子进入并相互作用，相互作用后才显示缪子，再展示沿途发光与跟随缪子的后向光波包络。官方完整事件动画移至83.1514–90.8217秒并标为完整过程回看，保留局部2.1倍放大。

`logic_revision.py` 是保留工程其余内容的修订层；`official_revision.py` 重建时自动应用它。新版 Three.js 场景使用各光子的发射时刻与位置直接计算状态，避免循环重置造成过程倒退。

v4 输出：`renders/nobel_physics_2026_official_v4_720p.mp4`，1280×720、30 fps、4507帧、150.233秒，13,960,409字节。公开下载：https://jc.link2w.com/nobel_physics_2026_official_v4_720p.mp4

硬件 WebGL 渲染遇到上下文创建失败，成片改用软件逐帧导出61.800–90.833秒修订区间，再与已验证的 v3 1080p母版合成720p文件。修订区间871帧采用无损中间文件；原音轨直接复制，AAC数据与母版完全一致。未生成新的完整1080p母版。

已复查最终编码文件的12个画面，包括章节切点两侧、各原理阶段和官方回看。全片解码无错误；运行时、布局、对比度检查均无错误。服务器与完整HTTPS下载的SHA-256均与本地一致（HTTP 200、video/mp4）。验证记录见 `renders/official_v4_verification.json`、`renders/official_v4_audio_check.json`、`renders/official_v4_render_method.json` 和 `renders/upload_verification_official_v4_720p.json`。

## 1:30 前后连续衔接修订

逐段检查官方原动画后，确认衔接问题来自剪辑：90.8217秒动画结束，空阵列短暂出现，再切到另一事件图。v5在90.8217–95.0000秒保持官方动画末帧和相同取景，解释模块的到达时间t、记录光量Q；95.0000秒进入明确标为另一事件示例的官网事件图；103.6584秒进入轨迹拟合原理示意。后三步共用标题“从探测记录，到事件重建”，避免章节重启的观感。

`continuity_revision.py` 保存修订逻辑，官方增强版重建时自动应用；停格素材及来源记录在 `official_media.json`。旁白、字幕和BGM时序保持一致。

输出：`renders/nobel_physics_2026_official_v5_720p.mp4`，1280×720、30fps、4507帧、150.233秒，13,849,292字节。使用软件导出的617帧修订区间与v4无损修订段、v3的1080p母版合成，最终只进行一次720p编码；音频AAC数据与母版完全一致。没有另行生成v5完整1080p母版。

已检查实际编码文件12个关键画面，全片解码通过，运行时和布局无错误，51项文字对比度检查通过。已上传并完整下载核验，HTTP 200、video/mp4，本地、服务器、公开下载SHA-256一致。记录见 `renders/official_v5_verification.json` 与 `renders/upload_verification_official_v5_720p.json`。


## 全片复核与3D模型精修（v6）

核对六段三维场景、官方素材、字幕时序与科学来源后，修正Blender光学模块中朝下的光电倍增管半球与支撑环位置；重新导出可编辑 `.blend` 和Three.js使用的 `.glb`。原始86条探测串仍共含5160个模块，DeepCore的8条串改为上部10个、下部50个更密集的模块，并补充画面说明。横向布局和结构仍为科普示意。

中微子从源到地球改为直线路径；穿过地球的运动改为一次连续过程。相互作用镜头适当放大原子核与粒子，增强光锥可见度。事件重建画面选示部分命中模块，完整显示红到蓝的到达时间色阶，并让白色拟合轨迹、金色回溯箭头清晰可辨；明确标注非真实事件重放。保留官方照片、动画、署名和此前1:02、1:30的叙事衔接修订。

`model_refinement.py` 保存新增说明的修订层，由 `official_revision.py` 自动应用。最终输出：`renders/nobel_physics_2026_official_v6_720p.mp4`，1280×720、30fps、4507帧、150.233秒，13,609,827字节。2159帧软件导出画面通过无损中间文件，与此前已验证的修订段及v3的1080p母版合成；原AAC音轨直接复制且哈希一致。本次只生成720p成片。

最终编码文件逐秒抽取150个画面复核，另检查18个切点画面及模型前后对照；全片4507帧解码通过。21个时间点的自动检查中，运行时、布局和文字对比度均无错误。几何、渲染和复核记录分别见 `renders/official_v6_geometry_review.json`、`renders/official_v6_render_method.json`、`renders/official_v6_full_review.json` 和 `renders/official_v6_verification.json`。

新版已发布且完整HTTPS下载校验通过（HTTP 200、video/mp4）：https://jc.link2w.com/nobel_physics_2026_official_v6_720p.mp4

本地、服务器与公开下载SHA-256一致：`56fdc7de2131a602e31b35c0fdd7091d887a0e731708c23c63f3779cb3b761eb`。验证记录为 `renders/upload_verification_official_v6_720p.json`；对照图为 `renders/nobel_physics_2026_official_v6_comparison.jpg`。


## 第8秒获奖者照片与官方影片节选（v7）

获奖者肖像与7.2151秒开始的获奖字幕同步，保持至12.2369秒；原片头实景延续至照片出现，避免短暂闪回。照片来自IceCube官方获奖报道，署名Althea Dotzour / UW–Madison。

用户指定的《Uncharted Cosmos: Mapping the Universe with IceCube》加入三处：55.9067–62.4022秒用铁塔/探测阵列动画对照体积；95–103.6584秒旋转展示官方事件图后停格；135.5374–141.3706秒展示南极实验室实景。每段均署名，保留现有中文解说、字幕和BGM。铁塔明确标为尺度对照，数据画面与实景分别标识，事件图为另一事件示例。

`portrait_revision.py`、`documentary_revision.py` 是可重复应用的修订层，由 `official_revision.py` 调用。来源与裁剪区间见 `official_documentary_source.json`、`official_documentary_shots.json`、`official_media.json` 和 `SOURCES.md`。

输出为 `renders/nobel_physics_2026_official_v7_720p.mp4`，1280×720、30fps、4507帧、150.233秒，14,421,950字节。新增793帧通过无损中间文件，与已验证的v4/v5/v6修订段和v3的1080p母版合成；最终只生成720p成片。AAC音轨与母版逐字节哈希一致。

已复查最终编码文件12个关键画面和18个切点画面，全片解码通过。自动检查中运行时、布局、运动及对比度无错误；原有结构类警告及新增两个嵌套结构建议不影响呈现。验证记录见 `renders/official_v7_check.json`、`renders/official_v7_edit_review.json`、`renders/official_v7_verification.json`、`renders/official_v7_render_method.json`。

已发布并实际完整HTTPS下载验证（HTTP 200、video/mp4）：https://jc.link2w.com/nobel_physics_2026_official_v7_720p.mp4

本地、服务器与公开下载SHA-256一致：`655dddf4d609a16d2c5946c4db51eb2d3c9f97a29a4617bb462db00f84b15a38`。完整下载验证记录为 `renders/upload_verification_official_v7_720p.json`。


## v8 官方发光捕捉修订

采用用户上传官方视频117.500–122.500秒的动画，替换成片83.1514–90.8217秒。慢放呈现蓝色光锥与光学模块响应，固定大画幅保持过程可见；90.8217–95秒停留在同一末帧解释t和Q，再进入另一事件图示例。保留原解说、字幕、配乐及片头第8秒照片。来源署名嵌入画面，完整裁切记录见 `official_light_capture_source.json`，重建层为 `light_capture_revision.py`。

输出 `renders/nobel_physics_2026_official_v8_720p.mp4`：1280×720、30fps、4507帧、150.233秒。完整解码通过，AAC音轨与已核验母版完全一致；复核12个成片画面与12个切点帧。HTTP 200完整下载、本地与服务器SHA-256一致。文件 14529552 字节，SHA-256：`c8ef316d429e9fe8c01011d644493348324e73920e271791f9c25078f3b657f6`。


## v9 / 2025–2026升级进展

在141.3706–155.6039秒增加升级说明，之后接回原总结与署名。依据IceCube官网2026-02-12完成公告，使用已完成设备部署的时态；说明新型光学模块与冰层校准对中微子振荡、事件重建和历史数据的作用。引用mDOM下放照片并署名Yuya Makino / IceCube/NSF。

新增两句同音色Gemini Kore解说及同步字幕；原配音录音保留，原背景音乐按相同作曲参数延长并在新片尾淡出。独立字幕为 `renders/nobel_physics_2026_official_v9.zh-CN.srt`。重建层：`upgrade_revision.py`；插入时间：`upgrade_timing.json`；官网出处：`official_upgrade_source.json`。

1280×720，30fps，4934帧，约164.467秒，完整解码通过。已复核12个成片画面与12个切点帧；HTTP 200完整下载，本地与服务器SHA-256一致。文件15183378字节，SHA-256：`99edf1b886d5488018c633ec0030fee29980758b14a35aafd4da5b37eeeb5e47`。


## v10 / 下标、字幕与配音修订（仅本地）

63.1022–70.6221秒的反应公式采用ν<sub>μ</sub>，下标修正同步至`logic_revision.py`。147.6669秒起字幕和解说严格采用用户原文：“新型光学模块与冰层校准装置，将助力中微子振荡的精确测量，并改善新旧数据的事件重建。”由Gemini 3.8 Flash TTS / Kore重新生成，沿用原朗读节奏；句子时长8.684792秒，最后总结及片尾顺延1.3秒。独立字幕：`renders/nobel_physics_2026_official_v10.zh-CN.srt`。

CLI从0.8.141更新至0.8.143，兼容与完整检查均通过。720p、30fps、4973帧，完整解码通过，已检查12个成片画面与12个切点帧。文件15216738字节，SHA-256：`1b51477d80bec9597c77f5c0df5d9ffa6a277214a6d6c9b44fbce186ac4dcb06`。本次没有上传操作，公开服务器仍保留v9。


## v11 / 片尾期刊 logo 动画（仅本地）

159.0秒开始，在片尾右侧空白处展开一条横线；159.45秒起核技术 logo 从横线向上显现，159.60秒起 NST logo 向下显现，161.10秒全部就位并保持至片尾。素材为用户提供的 `HJS_NST_metal_front.png`，原文件完整保存在 `assets/branding/hjs_nst_metal_front.png`，分别用上下半部裁剪窗口展示，未重画或修改标志。修订层为 `journal_logo_revision.py`。

输出 `renders/nobel_physics_2026_official_v11_720p.mp4`：1280×720、30fps、4973帧、165.766667秒。15,333,249字节；SHA-256：`b153aa3e0b1b464f9f40c4426e381aab420ca81c9165cd03d5eeffab591f512a`。AAC音轨逐字节哈希与v10一致，独立字幕同样保持不变。完整解码及12个成片关键帧复核通过。

HyperFrames CLI从0.8.143更新至0.8.144，完整兼容检查通过（0错误）；裁剪窗口的有意溢出、原有工程结构提示均已复查。验证记录见 `renders/official_v11_check.json`、`renders/official_v11_edit_review.json` 和 `renders/official_v11_verification.json`。只生成本地文件，没有上传服务器。


## v12 / 删除片尾两句文字（仅本地）

删除156.9039333秒起片尾左侧的“三维原理 × 官方图像 × 真实仪器”和“完整出处与素材说明随工程附上”，保留来源署名、网址及159秒起的上下logo动画。修订同步至`official_revision.py`，重新生成时仍保持删除。

输出`renders/nobel_physics_2026_official_v12_720p.mp4`：1280×720、30fps、4973帧、165.766667秒。15,305,202字节；SHA-256：`d698044f23b349e09b92bf44c775398cd17e24c5924cdea562b03ab3ef1ea16d`。完整检查0错误；全片解码及12个成片画面复核通过。音轨与v10/v11完全一致。未上传服务器。


2026-10-10：用户明确要求上传后，v12 已发布至 `/srv/xcaddy/file/nobel_physics_2026_official_v12_720p.mp4`。公开HTTPS链接完整下载返回HTTP 200、video/mp4，15,305,202字节；服务器、本地及公开下载的SHA-256一致。记录：`renders/upload_verification_official_v12_720p.json`。
