# 工艺与分镜协议

## 工艺先于动画

在已有说明、注释或简短工作草图中完成下列信息即可；不要求为一次任务创建一套计划文档。

| 字段 | 要回答的问题 |
| --- | --- |
| 成品与边界 | 最终是芯片、实验室电池、封装器件还是量产组件？哪些上游材料视为已采购？ |
| 路线 | 哪一种结构、材料体系、成膜/加工方法？有哪些同名但不兼容的替代路线？ |
| 材料图 | 每步接受什么状态、产生什么状态？支线在哪里汇合？哪些步骤只检测、不改变样品？ |
| 证据 | 哪个来源支持哪个条件、顺序、结构或机制？哪些是动画假设？ |
| 表现 | 本章是实物、剖面还是机理放大？观众必须看见什么变化？ |
| 时间 | 实际工艺时间是什么？动画用多少讲解秒数？是否需要多个子阶段？ |

“测试”可能输入和输出同一个材料状态；观察结果与材料制造状态不同。
制备一杯试剂是独立支线，不应假装电池片在这一步变成了溶液。
需要两路输入时在汇合工序列出二者，例如合格裸片 + 蚀刻天线 → 已键合 inlay。

## 从证据到分镜

以来源记录约束关键事实：标题/URL、定位到 Methods 或章节、适用对象、支持的具体条件。
不要把一种电池结构的电极材料与另一种路线的退火、钝化和涂布参数混为“标准流程”。
若示例需要简化，写清省略的作用而不是发明完成步骤；例如省略加热器内部控制逻辑，
仍保留加热面与样品接触、升温/保温/冷却的状态关系。

一张有效工序卡通常包含：

```text
对象：已形成无机骨架的基底
输入：无机骨架 + 已配制的有机盐溶液
动作：夹持定位 → 动态滴加 → 旋转铺展 → 反应转化
可见变化：溶液覆盖、润湿、薄膜色彩变化；不要仅旋转相机
输出：待退火的转化薄膜
机位：设备视角看夹持和滴加，再用明确标注的剖面解释渗入
依据：所选论文的单结器件制作章节
表现边界：薄膜放大、转速视觉减速、动画时间压缩
```

## 模板机器可读约定

模板用 `process-data.js` 保存**一次定义**的元数据：

```javascript
window.PROCESS_MANIFEST = {
  "version": 1,
  "id": "film-example",
  "title": "薄膜工艺示意",
  "route": "虚构教学路线",
  "scope": "演示工序组织与回放，不是实验配方",
  "sources": [],
  "materials": [
    {"id":"blank","label":"基底","initial":true},
    {"id":"coated","label":"带薄膜基底","initial":false}
  ],
  "stages": [{
    "id":"coating","key":"薄膜形成","title":"在基底表面形成薄膜",
    "en":"FILM FORMATION","duration_seconds":14,
    "description":"这是虚构教学示例。",
    "inputs":["blank"],"outputs":["coated"],
    "phases":[{"at":0,"label":"定位"},{"at":0.2,"label":"形成"},{"at":0.9,"label":"完成"}],
    "camera":{"position":[7,5,9],"target":[0,1,0]},
    "representation":{"mode":"section","note":"薄膜厚度放大"},
    "evidence":{"kind":"illustrative","source_ids":[]},
    "parameters":[{"name":"参数性质","value":"示意","kind":"illustrative"}]
  }]
};
```

实际任务需要调整字段值和几何动作，不只修改标题。`scene.js`/主题代码从此元数据生成
播放器配置；不要另写第二份工序顺序、标题、时长或参数表。
`process-data.js` 的赋值右侧保持标准 JSON，便于工具解析，不混入函数或注释。

- `version` 当前为 1；未知字段允许保留，未知主版本应明确报错。
- 工序、材料和来源使用稳定且互不重复的组内 ID；修改标题不会改变身份。
- `duration_seconds` 是动画时长。真实实验时长放在有来源的参数里，不能混用。
- `inputs` 只能引用初始材料或此前某步产出的材料；图顺序必须可执行。
- 同一个材料状态可以重复检查。已有 ID 的含义不能在下游偷偷变成另一种物质。
- `phases` 从 0 开始，`at` 严格递增且小于 1；边界属于新阶段，1 表示末态。
- `evidence.kind` 与参数 `kind` 为 `reference`、`illustrative` 或 `simulated`。
  `reference` 绑定存在于 `sources` 的 ID；曲线模型使用 `simulated`，不冒充研究数据。
- `representation.mode` 为 `physical`、`section` 或 `mechanism`。剖面和机理需要说明
  放大、剖切或省略。`physical` 也可以说明转速减速等表现处理，不等于工程标定。

这些字段是模板的最小约定，不是新网络 API；已有项目可以映射自己的数据结构。
当确有不同视角需求时增加字段，不预先建立任意动作脚本语言或全能节点编辑器。
