[
  {
    "id": "cover",
    "chapter": "EDITORIAL LAB · 制作复盘",
    "title": "让科学被看见，<br>让过程可复用。",
    "body": "<div class=\"two \"><div><p class=\"lead\">一部 IceCube 科普视频的<br>工具、方法与十二版迭代</p><div class=\"cover-meta\">面向学术期刊编辑 · 科普作者<br>28 页教学汇报 / 约 25 分钟<br>2026.10</div></div><div><figure class=\"\"><img src=\"../assets/images/hero.jpg\" alt=\"案例：《宇宙的幽灵信使》 · 原始探测阵列示意\"><figcaption>案例：《宇宙的幽灵信使》 · 原始探测阵列示意</figcaption></figure></div></div>",
    "notes": "开场约40秒。今天不要求大家写三维代码，而是学会给任务、查证据、看预览和提出可执行的修改。用一个已经完成并发布的项目，展示从想法到可修改工程的全过程。先说明这是制作复盘，模型与时间尺度是科普示意。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": "cover"
  },
  {
    "id": "result",
    "chapter": "01 / 先看结果",
    "title": "一部短片，可以同时回答“是什么”和“怎么知道”。",
    "body": "<div class=\"two \"><div><p class=\"lead\">用中微子打开一扇<br>观察宇宙的窗口。</p><div class=\"stats\"><div><b>2′46″</b><span>最终时长</span></div><div><b>720p</b><span>发布规格</span></div><div><b>v12</b><span>交付版本</span></div></div><p>官方素材解释真实装置，<br>自制三维解释不可见的机制。</p></div><div><figure><video id=\"media-final-showcase\" controls playsinline preload=\"metadata\" muted poster=\"../assets/images/final-showcase-poster.jpg\" src=\"../assets/clips/final-showcase.mp4\" data-start=\"0\" data-duration=\"840\" class=\"evidence-video\"></video><figcaption>成片 1:02–1:23：相互作用、发光与捕捉 · 点击播放（无声节选）</figcaption></figure></div></div>",
    "notes": "播放约21秒节选。请听众观察：箭头是否有明确方向？次级粒子是否在相互作用之后出现？字幕是否给画面一个阅读顺序？完整版带旁白与音乐，教学节选默认无声，便于现场讲解。最终时长165.766667秒，4973帧。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "workflow",
    "chapter": "01 / 制作地图",
    "title": "先建立解释链，再安排软件分工。",
    "body": "<div class=\"pipeline\"><article><b>01</b><h3>查证</h3><p>来源与事实</p></article><article><b>02</b><h3>编写</h3><p>脚本与分镜</p></article><article><b>03</b><h3>制备</h3><p>素材与模型</p></article><article><b>04</b><h3>编排</h3><p>画面与声音</p></article><article><b>05</b><h3>复核</h3><p>科学与呈现</p></article><article><b>06</b><h3>发布</h3><p>文件与链接</p></article></div><p class=\"takeaway\">每一步都留下可检查的产物，下一次修改就有准确入口。</p>",
    "notes": "约50秒。六步对应六类交付物：证据表、脚本分镜、素材库、可编辑工程、检查记录、成片与下载验证。不要只索取一个视频文件；如果没有工程，下次改一个下标也可能需要重来。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "tools",
    "chapter": "02 / 工具分工",
    "title": "不同工具，解决不同层次的问题。",
    "body": "<div class=\"toolgrid\"><article><h3>Codex / Agent</h3><p>理解修改要求，组织文件与工具</p><span>任务协调</span></article><article><h3>Blender</h3><p>建立光学模块的结构与材质</p><span>制作 .blend / .glb</span></article><article><h3>Three.js</h3><p>显示模型、粒子、光锥和阵列</p><span>浏览器三维</span></article><article><h3>HyperFrames + GSAP</h3><p>编排镜头、文字和可定位的动画</p><span>HTML 时间线</span></article><article><h3>Gemini TTS</h3><p>生成逐句中文解说</p><span>Kore 音色</span></article><article><h3>Python + FFmpeg</h3><p>音频合成、裁切、转码与校验</p><span>媒体加工</span></article></div>",
    "notes": "约60秒。这是本项目真实使用的软件组合。HyperFrames是编排与预览环境，GSAP管理动画时间，Three.js绘制三维。Blender只承担需要细化的光学模块建模，并非每一个画面都通过Blender离线渲染。Python还用数值合成生成了原创器乐BGM。项目留下过Edge TTS脚本，但最终旁白记录为Gemini/Kore。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "skills",
    "chapter": "02 / 插件与 Skill",
    "title": "插件提供能力，Skill 提供操作规范，模板提供起点。",
    "body": "<div class=\"cards\"><article><span class=\"idx\">01</span><h3>插件 / 工具接口</h3><p>让 Agent 能访问浏览器、文件、模型服务和预览。</p></article><article><span class=\"idx\">02</span><h3>Skill / 工作流</h3><p>HyperFrames、media-use、keyframes 等指导组织、素材和动画。</p></article><article><span class=\"idx\">03</span><h3>模板 / 视觉起点</h3><p>提供版式与动效；科学论证仍由编辑与作者确认。</p></article></div><div class=\"strip\"><b>本项目的关键 Skill</b><p>hyperframes / general-video / core / keyframes / media-use / audio / CLI</p></div>",
    "notes": "约60秒。不要把插件、Skill和软件混为一谈。Skill通常是一组说明、参考文件和脚本，不等于训练了一个新模型。插件可打包Skill与工具接口。本项目不是点击一个“诺奖模板”自动成片，而是把这些能力按任务组合。原视频没有使用Remotion；它可作为另一类React团队的选项，不应列作本项目实际依赖。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "start",
    "chapter": "02 / 第一次开始",
    "title": "先让 Agent 检查环境，再做一个十秒样片。",
    "body": "<div class=\"cards\"><article><span class=\"idx\">01</span><h3>准备输入</h3><p>论文或官网链接、可公开素材、目标读者和一个核心问题。</p></article><article><span class=\"idx\">02</span><h3>确认能力</h3><p>检查浏览器、视频框架、FFmpeg；需要三维时再加入 Blender。</p></article><article><span class=\"idx\">03</span><h3>验证最小样片</h3><p>一句旁白 + 一幅机制图 + 一个字幕，先确认可读与可改。</p></article></div><blockquote class=\"prompt\">请先检查本机可用工具，为这些资料制作一个 10 秒样片。列出缺少的素材和待确认的科学问题，再扩展成完整视频。</blockquote>",
    "notes": "约50秒。这里是给新人的建议流程，不是声称最初项目精确按十秒样片执行。API凭据只经安全的本地环境或输入配置，不放进课件、提示词示例、共享工程。不要把模型名称写死；模型可用性与套餐权限要实际查询。资料页有可复制完整提示词。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "brief",
    "chapter": "03 / 编辑先做什么",
    "title": "一份明确的简报，比“做得高级一点”更有效。",
    "body": "<div class=\"brief-grid\"><article><h3>给谁看</h3><p>关心科学的非专业读者</p></article><article><h3>讲什么</h3><p>中微子怎样被冰下探测器“看见”</p></article><article><h3>讲到哪里</h3><p>贡献、检测机制与升级意义</p></article><article><h3>怎么呈现</h3><p>16:9、约2分半、字幕、旁白和配乐</p></article><article><h3>如何交付</h3><p>可编辑工程 + 720p成片；发布单独确认</p></article></div>",
    "notes": "约45秒。原项目从“最新诺奖、原理、贡献、3D、字幕、语音、BGM”开始，随后明确横屏时长、官方素材、下载和发布。长度后来因增加升级说明调整到约2分46秒，说明时长是约束但不是硬剪内容的唯一目标。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "evidence",
    "chapter": "03 / 先核实，再可视化",
    "title": "每个重要论断，都要能回到一个来源。",
    "body": "<div class=\"two \"><div><div class=\"evidence-card\"><span class=\"badge\">本项目证据链</span><h3>官方报道 → 事实</h3><p>获奖者、贡献、装置升级</p><h3>原理资料 → 关系</h3><p>相互作用、切伦科夫光、记录与重建</p><h3>画面说明 → 边界</h3><p>近似布局、尺寸非同比例、非真实事件重放</p></div></div><div><div class=\"paper\"><span>EDITORIAL CHECK</span><h3>能否只看这一帧，<br>就误解科学结论？</h3><p>数字有单位，<br>模型有“示意”说明，<br>事件示例有明确身份，<br>引用有来源与使用条件。</p></div></div></div>",
    "notes": "约60秒。出处不是装饰。将每个重点论断与页面或论文对应，标记哪些已经核实、哪些是示意选择。官方素材同样要核对许可或使用条件，保留署名并不自动取得任何用途的授权。课件保留原项目来源，并提供官方原理页面，避免依赖一条新闻解释全部机制。",
    "foot": "来源：IceCube 官方报道、Masterclass 与项目 SOURCES.md",
    "cls": ""
  },
  {
    "id": "storyboard",
    "chapter": "03 / 从脚本到分镜",
    "title": "把一段说明，改写成六个可观察的问题。",
    "body": "<div class=\"storygrid\"><figure class=\"\"><img src=\"../assets/images/portrait.jpg\" alt=\"01 谁做出了贡献？\"><figcaption>01 谁做出了贡献？</figcaption></figure><figure class=\"\"><img src=\"../assets/images/hero.jpg\" alt=\"02 探测器在哪里？\"><figcaption>02 探测器在哪里？</figcaption></figure><figure class=\"\"><img src=\"../assets/images/dom.jpg\" alt=\"03 模块怎样工作？\"><figcaption>03 模块怎样工作？</figcaption></figure><figure class=\"\"><img src=\"../assets/images/cause.jpg\" alt=\"04 蓝光怎样产生？\"><figcaption>04 蓝光怎样产生？</figcaption></figure><figure class=\"\"><img src=\"../assets/images/event.jpg\" alt=\"05 如何读出事件？\"><figcaption>05 如何读出事件？</figcaption></figure><figure class=\"\"><img src=\"../assets/images/upgrade.jpg\" alt=\"06 新设备改善什么？\"><figcaption>06 新设备改善什么？</figcaption></figure></div>",
    "notes": "约50秒。分镜不等于把脚本平均切成六段。每镜回答一个问题，并告诉观众该看什么。在真实项目里，章节数量和镜头数量不同：六段主体之内又加入了照片、官方动画、模型特写和升级片尾。这里用六个阅读问题展示可复用结构。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "assets",
    "chapter": "04 / 素材策略",
    "title": "把“真实”与“解释”分配给合适的画面。",
    "body": "<div class=\"two \"><div><figure class=\"\"><img src=\"../assets/images/upgrade.jpg\" alt=\"官方照片：模块部署 · Yuya Makino / IceCube/NSF\"><figcaption>官方照片：模块部署 · Yuya Makino / IceCube/NSF</figcaption></figure></div><div><figure class=\"\"><img src=\"../assets/images/dom.jpg\" alt=\"自制模型：结构剖示 · Blender → GLB → Three.js\"><figcaption>自制模型：结构剖示 · Blender → GLB → Three.js</figcaption></figure></div></div><p class=\"takeaway\">实景证明装置存在；示意解释内部关系。两者在同一叙事中互相补充。</p>",
    "notes": "约45秒。优先找可以核实的真实照片、官方动画和可公开模型，再决定哪些机制需要自己画。不要让AI生成的仪器照片冒充真实实验现场。本项目的3D是程序化几何与Blender建模，不能误讲成AI扩散模型直接生成了一整段物理仿真。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "model",
    "chapter": "04 / 模型制作",
    "title": "一个结构模型，可以被不同镜头重复使用。",
    "body": "<div class=\"two \"><div><div class=\"steps\"><p><b>Blender</b><span>Python 脚本搭建球壳、支撑环、朝下的光电倍增管与电子学。</span></p><p><b>GLB</b><span>把几何与材质交给浏览器。</span></p><p><b>Three.js</b><span>设置灯光、镜头、旋转与标注。</span></p></div></div><div><figure><video id=\"media-dom-structure\" controls playsinline preload=\"metadata\" muted poster=\"../assets/images/dom-structure-poster.jpg\" src=\"../assets/clips/dom-structure.mp4\" data-start=\"0\" data-duration=\"840\" class=\"evidence-video\"></video><figcaption>成片 0:43–0:49：DOM 结构 · 点击播放（无声节选）</figcaption></figure></div></div>",
    "notes": "约60秒。展示真实光学模块特写。工程中build_dom_model.py创建材料和网格，保存.blend和.glb。模型有33个网格；这是精修版几何检查的记录。强调其为科普结构示意、不是工程CAD。模型和镜头分离后，换讲解角度不用重做结构。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "causal",
    "chapter": "04 / 动画的科学责任",
    "title": "先后顺序，是物理原理的一部分。",
    "body": "<div class=\"causal\"><article><b>1</b><h3>相互作用</h3><p>中微子与冰中的物质相互作用</p></article><article><b>2</b><h3>次级粒子</h3><p>在所示通道中产生带电缪子</p></article><article><b>3</b><h3>切伦科夫光</h3><p>缪子速度超过冰中光速时发光</p></article><article><b>4</b><h3>光学记录</h3><p>模块记录到达时间与光量</p></article></div><div class=\"formula\">ν<sub>μ</sub> + N → μ⁻ + X <span>所示反应通道 · 原理示意</span></div>",
    "notes": "约60秒。这个案例是缪中微子带电流相互作用，不要把它描述成所有中微子事件的唯一形式。画面要先有入射中微子和相互作用，再出现缪子与光。光锥、箭头、到达时间都承载物理含义，顺序不是审美细节。速度条件是c/n小于v小于c，不是超越真空光速。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "audio",
    "chapter": "04 / 声音与字幕",
    "title": "让真实语音时长，决定字幕和镜头的节奏。",
    "body": "<div class=\"audioflow\"><article><b>01</b><h3>逐句生成旁白</h3><p>Gemini TTS / Kore<br>每句独立音频</p></article><article><b>02</b><h3>读取实际时长</h3><p>音频窗口 → 字幕窗口<br>为停顿留出空间</p></article><article><b>03</b><h3>合成配乐与人声</h3><p>原创程序合成 BGM<br>归一化、混音与片尾淡出</p></article></div><p class=\"takeaway\">改一句解说，就重做这一句，再同步后续字幕与画面。</p>",
    "notes": "约60秒。本项目最终使用Gemini/Kore，23句初始录音，升级部分后来单独补充和修订。BGM由Python/NumPy按和弦、正弦泛音与包络合成，并非调用了音乐生成插件。字幕基于逐句音频实测边界，没有伪造逐字时间戳。2:30附近那句替换后增加约1.3秒，后续总结和片尾同时顺延。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "official",
    "chapter": "05 / 真正有效的修改",
    "title": "当官方动画更清楚，就替换最关键的一小段。",
    "body": "<div class=\"compare\"><figure><video id=\"media-capture-before\" controls playsinline preload=\"metadata\" muted poster=\"../assets/images/capture-before-poster.jpg\" src=\"../assets/clips/capture-before.mp4\" data-start=\"0\" data-duration=\"840\" class=\"evidence-video\"></video><figcaption>修改前 v7 · 1:23 起 · 点击播放（无声节选）</figcaption></figure><figure><video id=\"media-capture-after\" controls playsinline preload=\"metadata\" muted poster=\"../assets/images/capture-after-poster.jpg\" src=\"../assets/clips/capture-after.mp4\" data-start=\"0\" data-duration=\"840\" class=\"evidence-video\"></video><figcaption>修改后 v12 · 相同时间窗 · 点击播放（无声节选）</figcaption></figure></div><p class=\"takeaway\">固定大画幅，慢放“发光 → 模块响应”，替换画面时保留讲解节奏。</p>",
    "notes": "约70秒。先播放左侧，再播放右侧。v8根据用户提供的官方影片局部替换83.1514–90.8217秒，末帧继续停留到95秒。左右是工程中真实版本，不是为了教学伪造的差异。慢放是教学处理，画面本身仍为官方示意动画，不是仪器拍到的可见光录像。",
    "foot": "节选来源：IceCube / WIPAC / UW–Madison，《Uncharted Cosmos》",
    "cls": ""
  },
  {
    "id": "zoom",
    "chapter": "05 / 修改案例 ①",
    "title": "先让观众看清相互作用发生在哪里。",
    "body": "<div class=\"compare\"><figure class=\"\"><img src=\"../assets/images/zoom-before.jpg\" alt=\"修改前 · v2 / 1:13\"><figcaption>修改前 · v2 / 1:13</figcaption></figure><figure class=\"\"><img src=\"../assets/images/zoom-after.jpg\" alt=\"修改后 · v3 / 1:13\"><figcaption>修改后 · v3 / 1:13</figcaption></figure></div><p class=\"takeaway\">有效反馈：时间点 + 观察对象 + 希望观众看见的细节。</p>",
    "notes": "约45秒。这是原项目早期v2到v3的放大对比，随后这一段又被科学顺序修订重排，因此不要把右图误称为最终版同一秒画面。编辑原话要求1:13附近放大，技术实现是扩大窗口、推近、停留，再拉回全景。画面放大不等于把整个视频伸展到失真。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "logic",
    "chapter": "05 / 修改案例 ②",
    "title": "把“哪里不顺”，改成可以检查的因果顺序。",
    "body": "<div class=\"compare\"><figure class=\"\"><img src=\"../assets/images/logic-before.jpg\" alt=\"修改前 · v3 / 1:07\"><figcaption>修改前 · v3 / 1:07</figcaption></figure><figure class=\"\"><img src=\"../assets/images/logic-after.jpg\" alt=\"修改后 · v4 / 1:07\"><figcaption>修改后 · v4 / 1:07</figcaption></figure></div><p class=\"takeaway\">把相互作用、缪子、光子、光学记录分成四步，并移除 1:02 的残余镜头。</p>",
    "notes": "约60秒。先请听众说出他看见的第一件事。早版的问题是画面可能让观众以为带电粒子或光先于相互作用出现。v4把62.4–90.8秒重排为教学顺序。检查方式是逐帧找“第一个出现的对象”，同时核对旁白正在讲什么。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "continuity",
    "chapter": "05 / 修改案例 ③",
    "title": "停留在同一事件上，再进入另一个例子。",
    "body": "<div class=\"compare\"><figure><video id=\"media-continuity-before\" controls playsinline preload=\"metadata\" muted poster=\"../assets/images/continuity-before-poster.jpg\" src=\"../assets/clips/continuity-before.mp4\" data-start=\"0\" data-duration=\"840\" class=\"evidence-video\"></video><figcaption>修改前 v4 · 1:29 前后 · 点击播放（无声节选）</figcaption></figure><figure><video id=\"media-continuity-after\" controls playsinline preload=\"metadata\" muted poster=\"../assets/images/continuity-after-poster.jpg\" src=\"../assets/clips/continuity-after.mp4\" data-start=\"0\" data-duration=\"840\" class=\"evidence-video\"></video><figcaption>修改后 v12 · 1:29 前后 · 点击播放（无声节选）</figcaption></figure></div><p class=\"takeaway\">末帧停格 → 解释 t 与 Q → 明示“另一事件示例” → 轨迹拟合。</p>",
    "notes": "约70秒。播放两个9秒片段。连续性问题不一定靠炫目的转场解决：早版先回到空阵列再换事件，使观众丢失指代。v5固定同一事件末帧解释到达时间t和光量Q，95秒切入另一个有标签的例子。最终v12沿用了这条编辑逻辑，同时更新了官方素材。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "precision",
    "chapter": "05 / 修改案例 ④",
    "title": "三维画面越逼真，越要检查结构和比例。",
    "body": "<div class=\"compare\"><figure class=\"\"><img src=\"../assets/images/dom-before.jpg\" alt=\"修改前 · v5 / DOM 模型\"><figcaption>修改前 · v5 / DOM 模型</figcaption></figure><figure class=\"\"><img src=\"../assets/images/dom-after.jpg\" alt=\"修改后 · v6 / 朝下的窗口与支撑环\"><figcaption>修改后 · v6 / 朝下的窗口与支撑环</figcaption></figure></div><p class=\"takeaway\">校对朝向、部件连接、数量与图例；保留“非精密 CAD、布局近似”的边界。</p>",
    "notes": "约60秒。精修检查不只看材质。DOM的光电倍增管窗口朝下，半球与支撑环位置需一致；78条标准串与8条DeepCore串，每串60个模块，共5160个。DeepCore分为上部10个和下部50个更密集模块。横向布置仍为示意。数量正确不能自动证明几何位置精确。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "detail",
    "chapter": "05 / 修改案例 ⑤",
    "title": "一个下标，也属于科学内容。",
    "body": "<div class=\"two \"><div><div class=\"formula large\">ν<sub>μ</sub> + N → μ⁻ + X</div><p>μ 是中微子种类的下标。<br>“看起来接近”不等于标注正确。</p><div class=\"quote-small\">同一次修订，还替换了升级说明的字幕与语音。</div></div><div><figure class=\"\"><img src=\"../assets/images/formula-after.jpg\" alt=\"v12 / 1:06 · 正确下标\"><figcaption>v12 / 1:06 · 正确下标</figcaption></figure></div></div><div class=\"exact-line\">新型光学模块与冰层校准装置，将助力中微子振荡的精确测量，并改善新旧数据的事件重建。</div>",
    "notes": "约60秒。用户直接用截图圈出错误，这是高效反馈形式。实现上用HTML的sub而非把μ缩小后手工挪位置。另一项修改要求字幕和声音完全一致，因此必须同时改文本、重做该句TTS、复查时长、移动后续片尾。源代码与重建脚本同时保存修订，避免下次重建又出现旧文本。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "brand",
    "chapter": "05 / 修改案例 ⑥",
    "title": "片尾品牌动画，要给内容留出呼吸。",
    "body": "<div class=\"two \"><div><p class=\"lead\">2:39，先出现一条横线。</p><div class=\"steps\"><p><b>向上</b><span>原图上半部：核技术</span></p><p><b>向下</b><span>原图下半部：NST</span></p><p><b>停留</b><span>完整显现后保持至片尾</span></p></div><p>v12 再删除两句多余说明，<br>保留素材来源与品牌识别。</p></div><div><figure><video id=\"media-closing-animation\" controls playsinline preload=\"metadata\" muted poster=\"../assets/images/closing-animation-poster.jpg\" src=\"../assets/clips/closing-animation.mp4\" data-start=\"0\" data-duration=\"840\" class=\"evidence-video\"></video><figcaption>v12 片尾 · 原图裁剪与遮罩动画 · 点击播放（无声节选）</figcaption></figure></div></div>",
    "notes": "约55秒。原图没有重新生成，两个logo分别放入裁剪窗口，从同一分隔线向上下平移显现。GSAP只移动窗口内层，时间线管理整体可见性。然后用户要求删除“三维原理×官方图像×真实仪器”和“完整出处与素材说明随工程附上”。这是精简而不是继续堆叠装饰。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "versions",
    "chapter": "06 / 怎样管理迭代",
    "title": "版本号记录的是决策，而不只是文件副本。",
    "body": "<div class=\"versionlist\"><article><b>v2–v3</b><h3>素材与可见度</h3><p>加入官方图像、结构模型；放大关键镜头</p></article><article><b>v4–v6</b><h3>科学与连续性</h3><p>重排因果链；停格衔接；校正模型</p></article><article><b>v7–v10</b><h3>证据与语言</h3><p>肖像、官方影片、升级说明、下标与配音</p></article><article><b>v11–v12</b><h3>品牌与精简</h3><p>双logo揭示；删去片尾冗余文字</p></article></div>",
    "notes": "约45秒。项目保留原素材、编辑脚本、镜头清单、音频时间表和验证记录。修改可以追到具体帧和文件。这里v2到v12有11个编号版本，加上初始成片，不应把它说成12次独立的完整从头制作。记录“为什么改”比只保留日期更有价值。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "feedback",
    "chapter": "06 / 怎样给修改意见",
    "title": "一次有效的反馈，应包含四个要素。",
    "body": "<div class=\"feedback\"><article><b>时间</b><p>1:30 前后</p></article><article><b>对象</b><p>同一事件与另一事件图</p></article><article><b>问题</b><p>观众可能误认成连续过程</p></article><article><b>目标</b><p>先停格解释，再明确切换</p></article></div><blockquote class=\"prompt\">请检查 1:30 前后：保持当前事件末帧，解释到达时间与光量；切入另一个事件时显式标注。保留原旁白节奏，输出前后对比供复核。</blockquote>",
    "notes": "约50秒。四要素能迁移到任何科普主题。可以附圈注截图，也可以指定一段时间窗。不要替模型规定每一个CSS像素；编辑应先表达观众应理解什么。之后查看对比和实际视频，而不只接受Agent说“已优化”。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "qa",
    "chapter": "06 / 验收标准",
    "title": "检查对象应是最终导出的文件。",
    "body": "<div class=\"cards\"><article><span class=\"idx\">01</span><h3>科学检查</h3><p>因果顺序、符号单位、模型朝向、示意边界。</p></article><article><span class=\"idx\">02</span><h3>视听检查</h3><p>字幕与声音一致；没有残帧；来源可读；切点连续。</p></article><article><span class=\"idx\">03</span><h3>交付检查</h3><p>规格、全片解码、完整下载；本地与服务器文件一致。</p></article></div><div class=\"qa-strip\"><b>本项目 v12</b><span>1280 × 720 · 30 fps · 4973 帧</span><span>完整解码通过 · 下载 SHA-256 一致</span></div>",
    "notes": "约60秒。浏览器预览正确不等于输出MP4正确。本项目显卡环境曾失败，采用软件逐帧捕获变化区间和无损中间片段，与已有1080p素材合成，最后输出720p。无声音修改时音轨直接复制并验证哈希。自动检查仍有结构建议和有意裁剪警告，零错误不等于科学已经正确；科学意义仍需人工复核。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "transfer",
    "chapter": "07 / 举一反三",
    "title": "同一套工作流，可以更换科学对象。",
    "body": "<div class=\"cards\"><article><span class=\"idx\">01</span><h3>医学 / 生物</h3><p>用真实图像说明现象，用示意动画解释机制；不把个例变成普遍疗效。</p></article><article><span class=\"idx\">02</span><h3>材料 / 化学</h3><p>把结构 → 性质 → 测量方法串起来；标明条件、单位和非同比例。</p></article><article><span class=\"idx\">03</span><h3>天文 / 仪器</h3><p>展示信号产生 → 传输 → 探测 → 重建；区分数据与艺术示意。</p></article></div><p class=\"takeaway\">复用问题结构、素材记录和审校步骤；每次重新核实科学事实。</p>",
    "notes": "约55秒。这是迁移建议，不是已完成的额外项目。选题改变时，证据必须重新核实，不能只把中微子换成另一个词。仪器类可复用“产生—传播—探测—重建”的解释链；材料类适合“结构—性能—证据”的链条。视频框架可以相同，科学审校表必须随主题改变。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "exercise",
    "chapter": "07 / 一个可执行的小练习",
    "title": "用一篇论文，先写出一个十秒镜头。",
    "body": "<div class=\"exercise\"><div class=\"paper\"><span>15 MINUTE WORKSHOP</span><h3>选一个概念，<br>设计一个可验证的变化。</h3><p>输入 → 发生什么 → 怎样观测</p></div><div><div class=\"steps\"><p><b>3 分钟</b><span>用一句话写出核心结论与出处。</span></p><p><b>5 分钟</b><span>画三格分镜：之前、变化、之后。</span></p><p><b>5 分钟</b><span>让 Agent 做样片，提出一次具体修改。</span></p><p><b>2 分钟</b><span>同伴说出他理解的因果关系。</span></p></div></div></div>",
    "notes": "约45秒介绍练习，若现场时间允许再给15分钟实操；练习时间不计入25分钟汇报。评价标准不是好看，而是同伴能否复述正确的因果链。资料页提供空白工作表和可复制提示词，方便回到编辑部继续试做。",
    "foot": "教学建议 · 现场练习可独立使用",
    "cls": ""
  },
  {
    "id": "templates",
    "chapter": "08 / 开源风格与字体",
    "title": "借用设计秩序，再形成期刊自己的视觉语言。",
    "body": "<div class=\"type-panel\"><div><span class=\"badge\">中文标题 · Noto Serif SC</span><h3 class=\"serif\">用留白，让证据清楚。</h3><span class=\"badge\">正文 · Noto Sans SC</span><p>层级明确，图例可读，变化有解释。</p></div><div><b class=\"fraunces\">Science,<br>well told.</b><p class=\"manrope\">MANROPE · 01 / 02 / 03</p></div></div><div class=\"template-row\"><span>参考：Quarto Clean</span><span>对照：Reveal.js Sunblind</span><span>本课件：HyperFrames + 自定义版式</span></div>",
    "notes": "约45秒。查找了Quarto Clean和Reveal.js themes，两者开源。借鉴Clean的简洁层级与留白，参考Sunblind的轻色调与强调线；本课件不是运行Quarto或Reveal.js模板。字体使用Google Fonts的Noto Serif SC、Noto Sans SC、Manrope和Fraunces，保留OFL许可，字形子集化以便离线携带。",
    "foot": "模板与字体出处、许可文件及使用方式见资料页",
    "cls": ""
  },
  {
    "id": "resources",
    "chapter": "08 / 带走什么",
    "title": "把工程与方法一起交付，别人才能学会。",
    "body": "<div class=\"deliverables\"><article><b>01</b><h3>HTML 课件</h3><p>方向键翻页 · P 打开讲者模式</p></article><article><b>02</b><h3>真实素材</h3><p>版本截图 · 无声对比短片 · 有声完整版</p></article><article><b>03</b><h3>教学资料</h3><p>讲者备注 · 提示词 · 工作表 · 来源与许可</p></article></div><a class=\"resource-link\" href=\"../resources.html\" target=\"_blank\">打开配套资料与可复制提示词 ↗</a>",
    "notes": "约40秒。介绍使用：方向键翻页，P开启讲者模式，观众只看演示窗口；视频点击后播放，翻页会暂停。媒体和字体均在文件包内。若直接打开index.html受到浏览器本地限制，请运行随包start.py；静态备份用于快速浏览和打印。所有服务器账号、密码、API密钥均不包含在课件包内。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": ""
  },
  {
    "id": "close",
    "chapter": "EDITORIAL LAB · 从下一篇论文开始",
    "title": "编辑决定讲清什么，<br>工具帮助把它做出来。",
    "body": "<div class=\"closing\"><p class=\"lead\">一个读者问题 · 一条证据链 · 一次可验证的变化</p><div class=\"closing-rule\"></div><p>先完成一个十秒镜头，再积累属于期刊的科普模板。</p><a class=\"resource-link\" href=\"../assets/clips/full-film-v12.mp4\" target=\"_blank\">播放完整案例（含解说与 BGM） ↗</a></div>",
    "notes": "结尾约30秒。邀请每位听众选一篇已发表且作者愿意配合的论文，下一步只试做一个镜头。工具与模板会变化，但证据、因果顺序、可读性和可追溯的修改会一直有价值。展示完整成片链接供会后观看。",
    "foot": "项目复盘 · 实际工程与版本记录",
    "cls": "closing-slide"
  }
]