工具附录
附录 B:Episode Pack 完整母版#
本章目录
Episode Pack 是一集进入分镜、资产、配音、生成、剪辑和 QC 的唯一批准输入。它不是把剧本换成 YAML,也不是要求创作者放弃自然语言;它把文学表达与不可丢失的生产事实放在同一个有版本的包中。
本母版可裁剪,但不得删除版本、事实锁、进入/离开状态、资产依赖、风险、验收与变更记录。小项目可以放在一个 Markdown 文件,大项目可拆成数据库实体;字段语义保持一致。
B.1 包目录#
EP_E001_PACK_v12/
manifest.yaml
episode_contract.yaml
facts.yaml
states_in.yaml
beats.yaml
scenes.yaml
lines.yaml
narration.yaml
shot_requirements.yaml
sound_plan.yaml
assets.yaml
continuity.yaml
risks.yaml
acceptance.yaml
decisions.yaml
attachments/
B.2 Manifest#
episode_pack:
id: EP_E001_PACK
version: 12
status: approved
project: PRJ_NIGUANG
episode: E001
schema: episode_pack@1.4
created_at: 2026-07-05T10:00:00Z
approved_at: 2026-07-05T18:30:00Z
approved_by: [SHOWRUNNER, PRODUCER]
sources:
season_bible: SEASON_NGSG@v08
character_bible: CHAR_BIBLE@v11
continuity_snapshot: CONT_E001_IN@v06
rights_snapshot: RIGHTS_PRJ_NGSG@v05
content_hash: sha256:example
supersedes: EP_E001_PACK@v11
change_summary:
- 授权书可读时长从18帧提高到24帧
- 删除一次重复羞辱反应
Manifest 只描述包,不承载业务正文。任何下游任务都记录实际 Pack 哈希,不能只写“使用最新版”。
B.3 Episode Contract#
episode_contract:
episode: E001
target_duration_sec: 75
acceptable_range_sec: [68, 82]
business_mode: paid_unlock
episode_function:
- 建立林筠被排斥的地位
- 证明她拥有程序性入场资格
- 打开死者账户仍在付款的问题
opening_contract:
first_visible_conflict_max_sec: 3
promise_confirmation_max_sec: 8
payoff:
debt_paid: 林筠能否进入会议
debt_opened: 谁在使用父亲账户
card:
type: proof_leads_to_larger_mystery
exact_question: 已故父亲为何仍是收款人
forbidden:
- 林筠靠旁人施舍入场
- 授权书无来源出现
- 卡点切在文件尚不可读之前
B.4 事实锁#
事实锁保存本集不可由下游改写的真相。
fact_locks:
- id: FACT_E001_001
statement: 林筠持有董事长亲签授权书
source: SEASON_FACT_014
visible_to: [LINYUN]
revealed_to: [ZHOULAN, LINWEI, BOARD]
reveal_beat: E001_B05
- id: FACT_E001_002
statement: 异常付款收款人显示林筠父亲姓名
source: SEASON_FACT_021
revealed_to: [LINYUN, AUDIENCE]
reveal_beat: E001_B09
- id: FACT_E001_003
statement: 林筠此时不知道父亲是否仍活着
type: knowledge_constraint
数字、专名、关系、日期与否定必须结构化。若台词、图形或旁白与事实锁冲突,Pack 不能批准。
B.5 进入状态#
state_in:
timeline: DAY_01_16_20
location: LOC_MEETING_ENTRANCE@v05
characters:
CH_LINYUN:
zone: door_outside
wardrobe: WD_LINYUN_GREY_SUIT@v04
props:
authorization: concealed_inside_folder
old_pen: left_inner_pocket
emotion: controlled_anger_2
knows: [FACT_FATHER_DECLARED_DEAD, FACT_MEETING_TODAY]
does_not_know: [FACT_FATHER_POSSIBLY_ALIVE]
CH_LINWEI:
zone: door_inside
wardrobe: WD_LINWEI_IVORY@v03
emotion: public_confidence_3
tactic: define_linyun_as_intruder
location_state:
passage: blocked_by_guard
screen: agenda_idle
lighting: MEETING_DUSK@v02
B.6 Beat Sheet 母版#
| Beat | 目标秒 | 功能 | 触发 | 可见行动 | 观众新知 | 状态输出 | 债务 |
|---|---|---|---|---|---|---|---|
| B01 | 0–6 | 压力 | 林筠到门口 | 保安横臂 | 她被公开排斥 | passage=blocked | 她能否进入 |
| B02 | 6–15 | 框架 | 林薇开口 | 称她为闯入者 | 排斥来自身份叙事 | board_belief=outsider | 谁有资格 |
| B03 | 15–25 | 策略 | 林筠不争吵 | 录音、观察 | 她在准备证据 | evidence=concealed | 她有什么 |
| B04 | 25–39 | 证明启动 | 驱离命令 | 文件推入桌面 | 正式文件存在 | evidence=visible | 是否真实 |
| B05 | 39–50 | 反转 | 周岚核验 | 点头、保安让路 | 授权有效 | access=granted | 谁签署 |
| B06 | 50–61 | 后果 | 林筠跨门线 | 占据空位 | 权力重新分配 | power=contested | 林薇如何反击 |
| B07 | 61–75 | 新债 | 系统打开账目 | 收款人姓名出现 | 死者账户仍付款 | mystery=open | 父亲是否活着 |
每行另有稳定 Beat ID。时间是目标,不是锁死;状态输出和债务不能在不建新版本的情况下变化。
B.7 Beat Contract 详细卡#
beat:
id: E001_B04
scene: E001_SC01
state_in:
authorization: concealed
passage: blocked
objective:
CH_LINYUN: 将身份争议转成程序核验
CH_LINWEI: 在文件被看见前终止会议资格
trigger: CH_LINWEI_orders_removal
tactic: proof_without_argument
visible_action:
subject: CH_LINYUN
action: 从文件夹取出授权书并推入桌面公共区
world_direction: east_door_to_table_head
audience_gain: 她拥有正式证明
state_out:
authorization: visible_unverified
board_attention: on_document
min_duration_sec: 8
max_duration_sec: 14
assets: [PROP_AUTHORIZATION@v07, LOC_MEETING@v05]
risk: hand_document_interaction_high
fallback: approach_occlusion_result
B.8 Scene Card#
scene:
id: E001_SC01
slugline: DAY_01 / 盛华会议室门区 / 黄昏 / 连续
dramatic_question: 林筠能否迫使董事会承认她的入场资格
power_in: LINWEI_controls_access
power_out: PROCEDURE_FORCES_ACCESS
location_version: LOC_MEETING@v05
primary_axis: door_to_table_head
camera_side: south
scene_delta:
before: {access: denied, evidence: hidden, belief: outsider}
after: {access: granted, evidence: public, belief: authorized}
enters:
CH_LINYUN: door_outside
exits: []
sound_space: ROOM_MEETING_DUSK@v03
transition_in: hard_cut_from_elevator_ding
transition_out: screen_hum_J_cut
B.9 台词表#
lines:
- id: LINE_E001_014
beat: E001_B02
speaker: CH_LINWEI
text: 她没有资格进这个门。
action: 把林筠定义为外部人
subtext: 只要不让文件进入公共空间,她仍控制解释
target_duration_sec: 2.3
emphasis: [资格, 门]
interruptible_after: 资格
lipsync: visible
- id: LINE_E001_021
beat: E001_B04
speaker: CH_LINYUN
text: 资格在这里。
action: 把争论转为核验
subtext: 我不接受你的定义
target_duration_sec: 1.4
pronunciation: {}
lipsync: visible_then_offscreen_allowed
台词文本、功能、表演、时长与口型分别存储。改字时必须更新版本并重新对齐。
B.10 旁白与内心声#
没有旁白也要明确写 none,防止后期临时用解释补洞。
narration:
mode: none
rationale: 第一集依靠现场冲突建立规则
forbidden_information:
- 父亲真实状态
- 林薇私下计划
解说漫版本则按思想段记录 POV、权限、目标时长、重叠文本与画面职责。
B.11 Shot Requirements#
这里描述必须覆盖的信息,不提前替分镜师锁死所有机位。
shot_requirements:
- id: SR_E001_B01_ACCESS
must_observe:
- 门线与林筠在门外
- 保安手臂形成阻挡
- 林薇位于门内
acceptable_forms: [vertical_master, medium_two_shot]
min_readability: passage_relationship_clear_on_phone
- id: SR_E001_B04_PROOF
must_observe:
- 文件进入公共可见区
- 授权标题或签字可读
- 林薇意识到文件存在
acceptable_forms: [document_insert_plus_reaction, controlled_two_shot]
blockers: [wrong_text, mirrored_signature, hand_swap]
B.12 声音计划#
sound_plan:
dialogue_master_required: true
room_tone: ROOM_MEETING_DUSK@v03
foley_events:
- {id: SFX_E001_004, action: guard_arm_blocks, priority: low}
- {id: SFX_E001_018, action: folder_on_table, priority: medium}
- {id: SFX_E001_022, action: authorization_hits_table, priority: foreground}
music:
cue: CUE_E001_ACCESS@v04
enter: after_public_humiliation
clear_for: [LINE_E001_021, authorization_impact]
motif_state: LINYUN_TRUTH_incomplete_two_notes
silence_events:
- before_authorization_impact_ms: 300
B.13 资产依赖#
| Asset ID | 版本 | 用途 | 状态 | 权利 | 缺失动作 |
|---|---|---|---|---|---|
| CH_LINYUN | v03 | 身份 | approved | original/cleared | 无 |
| WD_LINYUN_GREY | v04 | 基础服装 | approved | project | 无 |
| LOC_MEETING | v05 | 地点 | locked | original | 无 |
| PROP_AUTHORIZATION | v07 | 英雄道具 | approved | original | 广告用途复核 |
| VOICE_LINYUN | v02 | 对白 | approved | project/zh-CN | 无 |
| MUS_LINYUN_TRUTH | v03 | 主题 | approved | sync only | 广告另清理 |
依赖表不复制资产内容,只引用 Registry。任何 pending/blocked/expired 的高风险依赖阻止 Pack 进入相应工位。
B.14 连续性快照与事件#
continuity_events:
- id: EVT_E001_001
at: E001_B01
type: spatial_block
before: passage_open
after: passage_blocked_by_guard
- id: EVT_E001_004
at: E001_B04
type: prop_reveal
prop: PROP_AUTHORIZATION
before: concealed_in_folder
after: visible_on_table
- id: EVT_E001_005
at: E001_B05
type: access_granted
before: CH_LINYUN_door_outside
after: CH_LINYUN_crosses_doorline
离开状态由事件重放得到,但 Pack 仍保存批准快照,方便下游快速读取和审计。
B.15 风险与备用路线#
risks:
- id: RISK_E001_HANDOFF
shot_requirement: SR_E001_B04_PROOF
probability: medium
impact: high
symptom: 手与文件融合或左右手交换
primary_route: static_keyframe_plus_short_slide
fallback_A: hand_approach_cut_to_document_result
fallback_B: separate_hand_plate_composite
attempt_limit: 3
decision_owner: DIRECTOR
- id: RISK_E001_TEXT
symptom: 授权书乱码
route: clean_document_plane_plus_graphic_composite
blocker: final_text_not_bound_to_FACTS_v07
B.16 验收标准#
acceptance:
story:
- 冷观众能复述授权书为何改变入场资格
- 集尾问题具体指向父亲账户
continuity:
- 林筠跨门线只发生一次且方向一致
- 授权书在B04后保持桌面可见直到被拿起
visual:
- 主角近景身份通过Identity Contract
- 证据文字在目标手机上至少可读24帧
sound:
- “资格在这里”不被音乐遮盖
- 文件落桌具有中频重量并与接触同步
commercial:
- E001偿还入场承诺后再打开父亲问题
rights:
- 所有正片用途为cleared
标准必须可观察。不要写“高级”“有电影感”“节奏舒服”作为唯一验收。
B.17 Pack 审批记录#
approval:
status: approved_with_conditions
conditions:
- PROP_AUTHORIZATION广告用途不影响正片生产,但阻断素材签发
review_evidence:
- COLD_READ_E001@v03
- TABLE_READ_E001@v04
- TIMING_ANIMATIC_E001@v06
- ASSET_PREFLIGHT_E001@v05
blockers_open: []
decisions:
- DEC_E001_031 保留保安收手反应镜头
B.18 Pack Diff 与变更请求#
pack_change:
from: EP_E001_PACK@v12
to_candidate: EP_E001_PACK@v13
request: 将林筠台词改为“这就是我的资格”
changed_entities: [LINE_E001_021]
direct_impacts: [dialogue_master, lipsync, subtitle]
possible_impacts: [music_ducking, shot_duration]
unaffected: [character_identity, location, authorization_graphic]
estimated_cost_index: 3
decision: rejected
reason: 现版更短,动作与证据共同完成含义
B.19 Pack Lint#
自动检查至少包含:ID 唯一;所有引用存在;版本为批准或允许状态;事实与台词、图形一致;角色知识不越界;进入和离开状态可重放;道具所有权无断点;Beat 总时长在范围;每个必须观察项有覆盖需求;权利阻断不被忽略;卡点有偿还合同;所有风险有 Owner。
Lint 通过不等于剧本好,只证明结构没有已知硬冲突。表演、魅力和情绪仍由人类审核。
B.20 最小 Pack 与完整 Pack#
小型试验可只保留 Manifest、Episode Contract、Facts、Beat、State、Assets、Risks 和 Acceptance;一旦进入多人、长旁白、音乐主题、多语言或商业投放,就应使用完整包。裁剪依据项目风险,不依据团队是否嫌麻烦。
B.21 常见反例#
- 文学剧本批准后,下游各自复制一份并手工改。
- 台词改变但 Pack 版本不变,口型与字幕继续引用旧音频。
- 风险只写“AI 可能失败”,没有症状、路线、上限与 Owner。
- 验收写“人物一致”,不声明角度、景别和容差。
- 资产表只列文件名,没有版本、权利与状态。
- 卡点存在,下一集 Pack 没有偿还合同。
B.22 使用检查表#
- Manifest、Schema、版本、哈希和批准人完整。
- Episode Contract 明确本集功能、偿还与新债。
- 事实锁包含数字、专名、知识和否定。
- 所有人物、道具、空间和情绪有进入状态。
- 每个 Beat 有触发、行动、新知和离开状态。
- 场景产生可验证 State Delta。
- 台词包含行动功能、时长与口型策略。
- Shot Requirements 描述“必须看见”,不把分镜锁死。
- 声音计划包含对白、空间、拟音、音乐和沉默。
- 资产依赖有版本、批准、权利与缺失动作。
- 高风险动作有替代路线和尝试上限。
- 验收标准可观察且绑定证据。
- Pack Diff 能计算下游影响。
B.23 练习与交付物#
练习一:把一页文学剧本编译为最小 Pack。练习二:故意加入知识提前、道具换手和金额冲突,运行人工 Lint。练习三:修改一句关键台词,列出声音、口型、字幕、音乐和时长影响。练习四:为一个高风险接触动作设计三条叙事等价路线。
本附录交付物:Episode Pack Directory、Manifest、Episode Contract、Fact Locks、State Snapshot、Beat Contracts、Scene Cards、Line Registry、Shot Requirements、Sound Plan、Asset Dependencies、Continuity Events、Risk/Fallback、Acceptance、Approval、Pack Diff、Lint Report。